Programme pour engrenage à développante de cercle en Gcode

  • Auteur de la discussion yiab
  • Date de début
Y
yiab
Ouvrier
23 Fev 2011
288
St nazaire
  • Auteur de la discussion
  • #1
Bonjour,

J'ai donc fait un logiciel permettant de modéliser un ou deux engrenages, de faire une simulation d’engrènement, et d'en générer le Gcode.

GIR-Gcode.zip



le Gcode généré, est dédié à LinuxCnc, mais j'y ai apporté quelques aménagements au niveau de la mise en page sous Windows afin qu'il puisse être exploitable sous mach3 moyennant, peut être, quelques modifications manuelles de la part de l'utilisateur.

Ce logiciel reste un logiciel fait par un amateur avec ses bugs et ses inconvénients, parmi les bugs potentiels :

Malgré avoir mis des signatures sur l’exécutable, Windows peut considérer ce programme comme indésirable et en bloquer le chemin d’accès

Message.jpg


Ce qui m'a fait hésiter à proposer ce programme, c'est qu'il ne génère pas vraiment des courbes mais une succession de points reliés entre eux par des segments, cela dit on peut définir pratiquement autant de points que l'on veut sur la courbe de la développante, et obtenir quelque chose de très approchant.

interface1.jpg


On a une interface avec beaucoup de paramètres, mais en jouant avec les boutons de commandes, l'engrenage se créé et se modifie de manière interactive

interface2.jpg


J'ai créé un bouton "exemple" qui génère un engrenage avec 8 dents, et à partir duquel on peut générer le deuxième, cela dit je ne suis pas sûr que la forme de cet exemple que j'ai élaboré à tâtons soit correcte.

Particularité du Gcode

Le Gcode de l'engrenage est toujours positionné à zéro en x et en y, sous linuxcnc je modifie mes points d'origine des axes pour placer l'usinage, si cela posait un problème sous mach3 je ferais des modifications.

en conclusion

- S'il y avait des âmes charitables calées en programmation qui pouvaient m'aider à faire en sorte que l’accès de mon programme ne soit (quelquefois) bloqué par Windows, ou bien de permettre à l'utilisateur de le débloquer à l'aide de l'onglet propriété de l’exécutable, je lui en serais reconnaissant.

- Et si des personnes chevronnées au niveau des engrenages (chevronnées -> engrenage :oops::wink:), et passant par là pouvaient m'indiquer les paramètres corrects à définir pour les cercles de pied , primitif, et de tête, ( à moins que l'engrenage généré par la touche "exemple" soit déjà parfait) je leur en serais également reconnaissant.

Donc n'hésitez pas à commenter, comparer avec ce qui existe déjà, ce programme a surement besoin d’amélioration, toute réflexion constructive sera la bienvenue.

Amicalement

edit : C'est bien gentil tout ça, mais on ne voit rien sur mes captures d'écran !
interface3.jpg



interface4.jpg
 
Fichiers joints
Dernière édition:
P
Popino
Compagnon
23 Avr 2012
1 066
'soir brave et généreux Yiab
Je ne vois pas la case module.
A+
 
Y
yiab
Ouvrier
23 Fev 2011
288
St nazaire
  • Auteur de la discussion
  • #3
bonsoir Popino

après avoir écrit plein de bêtises j'ai trouvé ça

sur Wikipédia pour commencer module:paramètre dimensionnel générateur relatif à la périodicité des dents donc à leur taille.

et puis ça :
Le diamètre primitif d'une roue dentée est égal au nombre de dent multiplié par le module
donc D=(nb de dents) X M ou M=D/(nb de dents)

donc la case module serait egale au diametre primitif divisé par le nombres de dents

interface5.jpg


est ce que c'est çà ou bien est ce que je dis des c...
 
Dernière édition:
P
Popino
Compagnon
23 Avr 2012
1 066
Formulaire pratique... mécaniciens et outilleurs I.P. Adam page 88, pour le métrique:
Les engrenages
Les dimensions des dentures sont calculées en fonction du nb. de dents (Z) de la roue et du module (M)
Rapport du module:
-Il est = au quotient du pas circonférentiel ...en mm par le nb Pi
....

Le manuel Adam, faut l'avoir à la main. Il y a aussi l'angle de pression expliqué.
Le logiciel Heekscad, gratuit, trace aussi des pignons, jeter un coup d’œil mais j'ai du mal à exporter en DXF et pour le Gcode, je sais pas.
A + (je vais suivre)
 
P
Popino
Compagnon
23 Avr 2012
1 066
Sur tes exemples, le diam. primitif est trop proche du diam. de pied
Adam:
Denture normale:
Saillie de la dent (c.a.d. par rapport au diam. primitif) : 1 module
Creux 1.25 (c.a.d. par rapport au diam. primitif)
Hauteur totale 2.25
 
Y
yiab
Ouvrier
23 Fev 2011
288
St nazaire
  • Auteur de la discussion
  • #6
bonsoir,

donc j'ai potassé tout ça (j'ai la mécanique générale de Jacques Muller),pour me rendre compte que les diamètres primitifs de mes engrenages ne sont pas bon.

même si techniquement ils sont correct au niveau engrènement ça coince avec les modules

Je croyais que mon programme était bien avancé, mais il y a encore du boulot

donc je vais reprendre ça

Désolé
 
P
Popino
Compagnon
23 Avr 2012
1 066
Faut pas être désolé, c'est intéressant, courage.
Un exemple parlant : un pignon Module 2 de 30 dents
Dp (Diam. primitif) 60 (l'angle de pression plutôt 20° est mesuré à l'intersection avec la développante)
De (Diam. extérieur) 64
Diam. de fond de dents 55
Sinon j'ai pas tout lu pour ta cn tron, le collage a tenu?
A+
 
Y
yiab
Ouvrier
23 Fev 2011
288
St nazaire
  • Auteur de la discussion
  • #8
Bonjour

merci Popino,

Je suis menuisier (opérateur cn) de metier et fan de programmation, je n'ai donc pas la culture de la Mécanique Générale. Quand j'ai commencé à m’intéresser aux développantes, j'ai cherché un peu partout des infos, j'ai bien capté l'histoire des différents diamètres, j'ai bien compris que si je voulais que deux engrenages de dimensions différentes s’engrènent il fallait que je travaille sur l'angle de pression

Mais va savoir pourquoi ? les modules je les ai zappés, en fait une fois que j'ai réussi a modéliser deux engrenages en trifouillant les paramêtres, à faire des simulations convaincantes, à faire le gcode et à usiner des engrenages, je me suis dit que c'était bon et je n'ai pas cherché plus loin.

Cela dit je savais bien que ça ne serait pas parfait, et je comptais sur les retours pour l'améliorer, c'est vrai, je me suis senti C... sur le moment:oops:, mais aujourd'hui je me sent beaucoup moins bête qu'hier. :-D c'est comme ça qu'on avance !

Ma machine se porte bien(2 ans), en ce moment je fais une cabane pour mes puces avec des hublots des fenêtres faites avec la tron, les collages tiennent bien la machine tout métal c'est du costaud j'en suis tres content pour le bois et derivés

par contre j'ai usiné de l'alu j'ai cassé une fraise de 3 sur une passe de 2/10e, ça ne m'étais jamais arrivé au boulot avec des passes plus profondes, je me suis inspiré du système de Sebastian, j'ai ajouté une bride aux niveau de la broche pour diminuer les vibrations et depuis ça va mieux

En tous cas merci pour tes commentaires.

Je reviens dans pas longtemps.
 
Y
yiab
Ouvrier
23 Fev 2011
288
St nazaire
  • Auteur de la discussion
  • #9
Bonsoir,

J'ai avancé dans la reprise du programme, mais je me suis embarqué dans un projet (rien à voir avec la prog) qui me prend beaucoup de temps, alors ça va être plus long que prévu.

a+
 
M
moissan
Compagnon
13 Mar 2012
11 794
FR-16 angouleme
quand je vois le dessin de ton premier message tu a defini la developpante a ta façon : ça fait bien un engrenage en développante qui fonctionne mais complètement diffèrent de ce qui est normalisé

tu a defini les diametre de base des developpante egaux au diametre de base : ça produit un angle de pression bizarre et un diametre primitif bizarre aussi : donc des roue de nombre de dent different de ceux que tu a dessiné ensemble n'engreneront pas corectement

la façon de construire un engrenage normalisé est differente : diametre primitif D = module x nombre de dent

diametre de tete = D +2m
diametre de pied = D - 2,5m

et on trace la ligne de pression a 20° du point de contact des 2 diametre primitif
et on trace les cercle tangent a cette ligne de pression et ça donne les diametre de base ( qui n'ont rien a voir avec diametre de pied )

pour les grand nombre de dent le diamètre de base est plus petit que le diamètre de pied

pour les petits nombre de dent le diamètre de base est plus grand que le diametre de pied : la développante ne décrit donc pas toute la dent : le bas de la dent est une droite vers le centre : cette partie droite n'entre jamais en contact avec l'autre roue

grace a cette ligne de pression a 20° toutes les roue de même module engrenent bien ensemble quelque que soit le nombre de dent
 
M
moissan
Compagnon
13 Mar 2012
11 794
FR-16 angouleme
j'oubliait dans mon message précèdent : bravo pour ta programmation ! tu a fait le principal , tracer la développante a partir d'un cercle de base

il ne reste plus qu'a calculer le vrai diametre de base et prolonger la developpante par un rayon si le diametre de pied est plus petit

autre remarque l'angle de pression de 20° ne caracterise pas la developpante : la developpante qui part d'un cercle de base a tous les angle de pression qu'on veut suivant le diametre primitif

un engrenage normalisé a un angle de pression de 20° quand il est monté a l'entraxe normal , mais si on augmente l'entraxe la transmission reste correct et l'angle de pression augmente
 
P
Popino
Compagnon
23 Avr 2012
1 066
et on trace les cercle tangent a cette ligne de pression et ça donne les diametre de base ( qui n'ont rien a voir avec diametre de pied )
'soir
Tu peux expliquer çà avec un p'tit dessin, Moissan?
A+
 
M
moissan
Compagnon
13 Mar 2012
11 794
FR-16 angouleme
inutile que je fasse le dessin moi même , il suffit de demander a gogol
1478.jpg

c'est le cas de 2 roue a faible nombre de dent ou l'on voit le cercle de base plus grand que le diametre de pied , donc la developpante prolongé par des droites en dessous du cercle de base
 
Y
yiab
Ouvrier
23 Fev 2011
288
St nazaire
  • Auteur de la discussion
  • #14
Bonjour Moissan et Popino,

Merci pour vos commentaires

le problème dans mon prog, c'est qu'il n'y a pas de diamètre primitif en fait, ce que j'ai appelé diamètre primitif dans mon programme est en fait le diamètre de base (j'ai melangé les pinceaux)

en plus de ça je n'avais pas prévu de cercle de base (seulement pied, primitif et tête), mais comme en fait le diametre primitif est le cercle de base vous voyez le bazar :oops:

la j'ai corrigé le tir on voit ci dessous le diamètre primitif (cercle de base + 2.5m (ou rayon base + 1.25m)) donc sur cette version le diamètre primitif est calculé à partir du module, après quoi je déduis le cercle de base et le cercle de tête. pour le cercle de pied j'ai fait par défaut cercle de base moins rayon d'outil avec possibilité de modifier

neo1.jpg


un autre problème la largeur des dents, grâce au module je peux la calculer. ça n'était pas clair pour moi auparavant, j'avais égalisé la taille par rapport à un secteur angulaire (360°/nbre de dents)+ dimension de la dent qui correspond environ à la moitié de ce secteur

il faut également que je travaille sur la vitesse tangentielle des cercles primitifs des engrenages lors de la simulation d’engrènement

bref y'a du boulot, ceci dit l’engrènement sur ce que j'ai posté fonctionne (l'erreur doit etre juste quelque part) j'ai usiné des petits engrenages en forex que j'ai testé

donc pour celui ou celle qui veut se faire un système en amateur ça peut être intéressant (en attendant mieux bien sûr)

a+
 
M
moissan
Compagnon
13 Mar 2012
11 794
FR-16 angouleme
la j'ai corrigé le tir on voit ci dessous le diamètre primitif (cercle de base + 2.5m (ou rayon base + 1.25m)) donc sur cette version le diamètre primitif est calculé à partir du module, après quoi je déduis le cercle de base et le cercle de tête. pour le cercle de pied j'ai fait par défaut cercle de base moins rayon d'outil avec possibilité de modifier
non !

diametre primitif = module x nombre de dent : ce diametre n'a rien de caracteristique pour la developante , c'est juste le diametre ou il y a roulement sans glissement , et le point de passage de la ligne d'action ( quand l'engrenage est monté avec l'entraxe normal )

diametre de base = diametre primitif - 2,5 module : c'est la norme

diametre de pied : il est ou il veut en dessous ou au dessus du diametre de pied suivant le nombre de dent : on peut le calculer par un coup de trigonometrie : il ne depend pas du module : il depend juste du diametre primitif et de l'angle de pression

diametre de base = diametre primitif x cos 20°

cette formule n'est jamais donné dans les formulaire de dessin puisqu'on ne trace pas ce cercle de base dans les plans , mais c'est pourtant le principal pour tracer la developpante
 
P
Popino
Compagnon
23 Avr 2012
1 066
diametre primitif x cos 20°
Dp x 0.93969? (0.94) Pas beaucoup de différence. Et le nb de dents qui le fait varier d'après toi?
diametre de pied : il est ou il veut en dessous ou au dessus du diametre de pied
????
Bien sûr, ça aide de savoir d'où doit partir la développante et c'est vrai que j'ai pas vu dans les bouquins ce cercle de base.
Merci de préciser. Après faut faire rentrer ça dans le programme...
Yiab, on évite si possible des pignons de - de 12 ou 13 dents.
A bientôt les amis
 
M
moissan
Compagnon
13 Mar 2012
11 794
FR-16 angouleme
le nombre de dent ne fait pas varier le diametre de base : c'est le diametre de pied qui depend du nombre de dent
 
M
moissan
Compagnon
13 Mar 2012
11 794
FR-16 angouleme
pour quel nombre de dent diametre de pied = diametre de base ?
D - 2.5 m = D cos20°
D - 2,5 D / Z = D cos20°
....
Z = 2,5 / ( 1 - cos 20° )
Z = 41,45

donc il faut plus que 42 dent pour que le profil soit entièrement en developpante , avec moins de 41 dent il y a un bout de droite en dessous du cercle de base
 
P
Popino
Compagnon
23 Avr 2012
1 066
Ce cercle de base, alors? Variable en fonction du nb. de dent ou pas? (par rapport au diam. primitif) Références/ littérature?
(sans montrer les dents :mrgreen:)
A+
 
M
moissan
Compagnon
13 Mar 2012
11 794
FR-16 angouleme
ce dessin ne precise pas le nombre de dent ... pour n'importe quel angle de pression au dela d'un certain nombre de dent le diametre de base est plus petit que le diametre de pied et le profil est entièrement en developpante , mais cette limite dépend de l'angle de pression
 
Haut