Horlogerie, micro-contrôleurs et CN

  • Auteur de la discussion JCS
  • Date de début
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 209
Corsier-sur-Vevey (Vaud)
Bonsoir Jean-Claude
J'ai trouvé la cause du problème, c'est le paramétrage du moniteur, tu as:
1588965268853.png

il faut:
1588965324097.png


Bonne soirée
jpbbricole
 
JCS
JCS
Compagnon
22 Juin 2007
2 561
Cher
  • Auteur de la discussion
  • #107
Yes, ça fonctionne !

Toutefois il y a un problème avec les nombres premiers, il manque chaque fois 1 pas.
Même certains autres.

@+
JC
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 209
Corsier-sur-Vevey (Vaud)
Ok, merci, je vais regarder ça .

Bonne nuit
jpbbricole
 
JCS
JCS
Compagnon
22 Juin 2007
2 561
Cher
  • Auteur de la discussion
  • #109
Je pense que seules les divisions euclidiennes vont avoir un résultat de 20000, soit 2^5 * 5^4, actuellement, dans ton sketch. Dans le choix du nombre de pas par tour, il serait intéressant d'y joindre 3^2 et 7. Cela permet peut-être d'obtenir un plus de division euclidienne avec les divisions rencontrées.

De toutes les façons, un diviseur numérique ne pourra pas réponde parfaitement à toutes les demandes. Il faudra accepter, pour certaines divisions, une erreur d'un pas, soit 1/nombre de pas par tour. D'où l'intérêt d'avoir un nombre de pas par tour le plus grand possible afin de minimiser l'erreur. Je m'étais longuement penché sur le problème, au début de ce siècle, lorsque j'ai fabriqué ma première machine à tailler à CN : http://sulka.fr/mat/

Il est impératif que la broche revienne exactement au point zéro après un cycle.

@+
JC
 
Dernière édition:
jdg
jdg
Compagnon
14 Fev 2011
1 551
92
Bonjour,

Je pense que seules les divisions euclidiennes vont avoir un résultat de 20000, soit 2^5 * 5^4, actuellement, dans ton sketch. Dans le choix du nombre de pas par tour, il serait intéressant d'y joindre 3^2 et 7. Cela permet peut-être d'obtenir un plus de division euclidienne avec les divisions rencontrées.

De toutes les façons, un diviseur numérique ne pourra pas réponde parfaitement à toutes les demandes. Il faudra accepter, pour certaines divisions, une erreur d'un pas, soit 1/nombre de pas par tour. D'où l'intérêt d'avoir un nombre de pas par tour le plus grand possible afin de minimiser l'erreur. Je m'étais longuement penché sur le problème, au début de ce siècle, lorsque j'ai fabriqué ma première machine à tailler à CN : http://sulka.fr/mat/

Il est impératif que la broche revienne exactement au point zéro après un cycle.

@+
JC
Une piste...?...

Vitesse de rotation1 ° / sec à 50 ° / sec maximum (programmable par incréments de 1 °)
Résolution28800 pas par tour (± .006 ° par pas)
Compensation de jeuProgrammable
Moteur pas à pas400 pas par tour

Cordialement
 
jon
jon
Compagnon
13 Avr 2014
1 619
Lorient
De toutes les façons, un diviseur numérique ne pourra pas réponde parfaitement à toutes les demandes. Il faudra accepter, pour certaines divisions, une erreur d'un pas, soit 1/nombre de pas par tour. D'où l'intérêt d'avoir un nombre de pas par tour le plus grand possible afin de minimiser l'erreur. Je m'étais longuement penché sur le problème, au début de ce siècle, lorsque j'ai fabriqué ma première machine à tailler à CN : http://sulka.fr/mat/

Il est impératif que la broche revienne exactement au point zéro après un cycle.

@+
JC
Effectivement il faut que la broche revienne à 0. Une erreur d'un pas est déjà de trop.
Pour ma part, j'ai un rapport de 1/60 sur mon 70 et un moteur de 200 pas / tour. ce qui fait un total de 12000 pas par tour de broche.
soit 0.03 ° par pas. J'alimente le moteur de façon à pouvoir lui donner et SURTOUT pouvoir lui faire tenir du 1/2 pas, 1/4 de pas et 1/8 de pas soit une précision de 0.00375° J'effectue un rattrapage lorsqu'il y en a besoin.
Avec ce jeu 1/1 à 1/8 tu peux effectuer les divisions dans quasiment toutes les conditions. après il faut le gérer. bon la c'est autre chose :wink:

Amicalement.
 
JCS
JCS
Compagnon
22 Juin 2007
2 561
Cher
  • Auteur de la discussion
  • #112
Pour ma part, j'ai un rapport de 1/60 sur mon 70 et un moteur de 200 pas / tour. ce qui fait un total de 12000 pas par tour de broche.
soit 0.03 ° par pas. J'alimente le moteur de façon à pouvoir lui donner et SURTOUT pouvoir lui faire tenir du 1/2 pas, 1/4 de pas et 1/8 de pas soit une précision de 0.00375° J'effectue un rattrapage lorsqu'il y en a besoin.
Salut Jon,

En fait, il faudrait raisonner par impulsions et non pas par pas. Un moteur de 200 pas par tour a besoin de 200 impulsions pour un tour, en utilisation 1/8 de pas il lui faut 1600 impulsions pour un tour. C'est donc ces nombres qu'il faut prendre en compte pour les calculs.

Dans ton cas, tu as 12000 impulsions pour un tour de broche. Si tu souhaites tailler une roue avec laquelle tu n'obtiens pas une division entière, par exemple 15 dents, pour une roue d'échappement ( 12000 / 15 = 53,33333333 impulsions pour une dent ). Tu vas donc être obligé de tricher et de retrancher ou d'ajouter une impulsion de temps en temps. Sur une roue de 10 mm de diamètre tu as un périmètre de 31,41 mm /12000, cela fait une erreur de 0,0026175‬ mm sur quelques dents. Ce qui est tout a fait acceptable. Toutefois, si tu inclus 3 et 7 dans ton nombre d'impulsions ( rapport de division ) tu obtiens d'avantage de divisions euclidiennes possibles et si tu doubles ton rapport de division tu divises par deux ton erreur. Tu augmentes alors considérablement les performances de ta machine !

En ce qui me concerne, je travaille toujours en pas entier. J'estime que c'est dans ces conditions que le moteur fonctionne le mieux ( j'ai peut-être tord ). Par contre j'utilise une grande démultiplication via roue et vis sans fin ( dans laquelle je fais intervenir les diviseurs 3 et 7 ) et poulie et courroie crantée.

@+
JC
 
jon
jon
Compagnon
13 Avr 2014
1 619
Lorient
Salut Jon,

En fait, il faudrait raisonner par impulsions et non pas par pas. Un moteur de 200 pas par tour a besoin de 200 impulsions pour un tour, en utilisation 1/8 de pas il lui faut 1600 impulsions pour un tour. C'est donc ces nombres qu'il faut prendre en compte pour les calculs.

Dans ton cas, tu as 12000 impulsions pour un tour de broche. Si tu souhaites tailler une roue avec laquelle tu n'obtiens pas une division entière, par exemple 15 dents, pour une roue d'échappement ( 12000 / 15 = 53,33333333 impulsions pour une dent ). Tu vas donc être obligé de tricher et de retrancher ou d'ajouter une impulsion de temps en temps. Sur une roue de 10 mm de diamètre tu as un périmètre de 31,41 mm /12000, cela fait une erreur de 0,0026175‬ mm sur quelques dents. Ce qui est tout a fait acceptable. Toutefois, si tu inclus 3 et 7 dans ton nombre d'impulsions ( rapport de division ) tu obtiens d'avantage de divisions euclidiennes possibles et si tu doubles ton rapport de division tu divises par deux ton erreur. Tu augmentes alors considérablement les performances de ta machine !

En ce qui me concerne, je travaille toujours en pas entier. J'estime que c'est dans ces conditions que le moteur fonctionne le mieux ( j'ai peut-être tord ). Par contre j'utilise une grande démultiplication via roue et vis sans fin ( dans laquelle je fais intervenir les diviseurs 3 et 7 ) et poulie et courroie crantée.

@+
JC
On est d’accord on parle de la même chose. De mon côté je fonctionne en 1/8 eme de pas soit pour un tour moteur de 200 pas, 1600 micros pas. Pour un tour de broche 12000 pas ou impulsions x8 pour une résolution 1/8. Et la c’est hyper précis.

amicalement
 
JCS
JCS
Compagnon
22 Juin 2007
2 561
Cher
  • Auteur de la discussion
  • #115
@jpbbricole ,

Super ! Je l'essaie ce midi et te dis quoi, comme on dit en Belgique .

Pour un tour de broche 12000 pas ou impulsions x8 pour une résolution 1/8. Et la c’est hyper précis.
Là je ne comprends pas bien !

Pour un tour de broche il te faut 12000 impulsions ou 96000 ?

Ce serait bien de nous mettre une photo du diviseur et nous donner les rapports de divisions. Merci d'avance.

@+
JC
 
jon
jon
Compagnon
13 Avr 2014
1 619
Lorient
@JCS,
Pour l'instant pas de photos possibles tu verras très très prochainement pourquoi.
les seules photos que je mets actuellement sont ici:


Le diviseur est celui du schaublin donc rapport 1/60. Donc:
60 tours de moteur pas a pas = 1 tour de broche
1 tour de moteur = 200 pas soit les 12 000 "pas normaux" par tour de broche
Possibilité de découper 1 pas en 1/8 pour avoir des micros pas. L'alimentation doit être parfaitement stabilisée.
Ce qui fait un total effectivement de 96 000 micros pas par tour de broche. idem pour les verniers en X-Y et Z
Je gére et les pas 1/1, 1/2, 1/4 et 1/8 en live en fonction de ce que j'ai besoin de faire.
Quand ça tombe rond, parfait. S'il y a un reste, je regarde en 1/2 puis si reste, 1/4 puis si reste 1/8.
Calcul total des "micros pas perdus" puis distribution sur toute les dentures afin d'effectuer un rattrapage et arriver au 0
Amicalement.
 
JCS
JCS
Compagnon
22 Juin 2007
2 561
Cher
  • Auteur de la discussion
  • #117
@jpbbricole ,

Bravo ! Tout semble bien fonctionner. Pas de problème avec les nombres premiers.
Tu es un champion du code !

Le diviseur est celui du schaublin donc rapport 1/60. Donc:
60 tours de moteur pas a pas = 1 tour de broche
1 tour de moteur = 200 pas soit les 12 000 "pas normaux" par tour de broche
Possibilité de découper 1 pas en 1/8 pour avoir des micros pas. L'alimentation doit être parfaitement stabilisée.
Ce qui fait un total effectivement de 96 000 micros pas par tour de broche. idem pour les verniers en X-Y et Z
Je gére et les pas 1/1, 1/2, 1/4 et 1/8 en live en fonction de ce que j'ai besoin de faire.
Quand ça tombe rond, parfait. S'il y a un reste, je regarde en 1/2 puis si reste, 1/4 puis si reste 1/8.
Calcul total des "micros pas perdus" puis distribution sur toute les dentures afin d'effectuer un rattrapage et arriver au 0
Je serais curieux de connaître les séries d'impulsions que tu envoies à ton moteur pour tailler un pignon de 7 dents.
Ce doit-être une sacrée usine à gaz si tu utilises des pas entiers, des 1/2 des 1/4 et 1/8 de pas pour un tour de broche ! Le micro contrôleur doit fumer !

@+
JC
 
jon
jon
Compagnon
13 Avr 2014
1 619
Lorient
@jpbbricole ,

Bravo ! Tout semble bien fonctionner. Pas de problème avec les nombres premiers.
Tu es un champion du code !



Je serais curieux de connaître les séries d'impulsions que tu envoies à ton moteur pour tailler un pignon de 7 dents.
Ce doit-être une sacrée usine à gaz si tu utilises des pas entiers, des 1/2 des 1/4 et 1/8 de pas pour un tour de broche ! Le micro contrôleur doit fumer !

@+
JC
Ce n'est pas de l'arduino tu verras bientôt :wink:
Je me suis un peu tiré les cheveux sur l’algorithme :) Et surtout, pas d'usine à gaz :)
Pour 7 dents par exemple, obligé de jouer sur le pas 1/1 et le pas 1/8 avec rattrapage. car il manquerai 2 pas sur les 12000 si le micro-pas
n'était pas géré.

Amicalement.
 
JCS
JCS
Compagnon
22 Juin 2007
2 561
Cher
  • Auteur de la discussion
  • #119
Ce n'est pas de l'arduino tu verras bientôt
Je répondais à Jpbbricole.

Pour 7 dents par exemple, obligé de jouer sur le pas 1/1 et le pas 1/8 avec rattrapage. car il manquerai 2 pas sur les 12000 si le micro-pas
n'était pas géré.
On voit, de par ta réponse, que tu n'es pas loin de la Normandie !

Ta réponse ne me renseigne pas beaucoup, mais j'aurais essayé !

Avec le numérique seul, il est impossible de gérer les nombres premiers, entre autres, sans rajouter ou retrancher, de temps en temps, une impulsion.T'as beau utiliser des 1/32 ou 1/64 pas, c'est ainsi.

@+
JC
 
Dernière édition:
jon
jon
Compagnon
13 Avr 2014
1 619
Lorient
Je répondais à Jpbbricole.



On voit, de par ta réponse, que tu n'es pas loin de la Normandie !

Ta réponse ne me renseigne pas beaucoup, mais j'aurais essayé !

@+
JC
Nan je suis très loin de la normandie :wink: mais promis bientôt tu vas avoir réponse à tes questions l'ami :wink:
Je te mp :wink:

Amicalement.
 
Haut