Présentation et problème Décalage

Répondre
fonzie14
Messages : 54
Enregistré le : 16 févr. 2021 21:58

Présentation et problème Décalage

Message par fonzie14 »

Bonjour a tous
Tout d abord je tenais a me présenter.
Je m appelle Olivier, j habite dans le Calvados et je viens de terminer une RS CNC32 : un grand Merci a Romain pour le boulot fabuleux qui nous permet d avoir accès au monde fantastique de la CNC
Ci dessous une photo de ma CNC , terminée , que je viens également d équiper d un laser (40W)
Image
Par contre lors de mes gravures LASER , je viens de me rendre compte que j avais des decalages en X et en Y relativement important
La gravure laser est un bon revelateur des décalages du fait de nombreuses passes en Horizontal , vertical ou diagonal ( donc le moindre decalage se voit)
Pour illustrer mon propos , ci joint une gravure d un carré test de 50 x50mm , gravé en 200mm/min ( donc super lent), vitesse sans gravure a 500mm/min et avec une gravure en horizontal , verticale et diagonale

Comme vous le voyez , j ai des décalage en X quand j imprime a l horizontale, en Y lorsque j imprime a la verticale , et je cumule les 2 lorsque je grave en diagonale
Image

De facto quand je grave un lettrage , je me retrouve avec un gravure penchée et irregulière ( normalement les lettres sont droites , et non italiques , et sont régulières)
Image


J ai pas mal cherché les causes possibles sur le forum :
  • Mes courroies ont l air tendues
    je n ai pas de points durs apparents
    $1=255
Je commence a me demander si ca ne vient pas de mes drivers (TB6600 venant de chine a pas cher du tout ...)
Avez vous des idées lumineuses , car la je commence vraiment a sécher
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
mstrens
Messages : 2611
Enregistré le : 27 févr. 2018 12:58

Re: Présentation et problème Décalage

Message par mstrens »

J'ai eu un problème similaire (sans laser).
Je faisais faire des allers/retours à un axe et je regardais avec un comparateur s'il revenait toujours à la même position. Ce n'était pas le cas.
J'ai d'abord cru à des pertes de pas par exemple suite à des points durs, à une vitesse de rotation trop élevée ou à des poulies non serrées.
Je n'ai rien trouvé.
J'ai ensuite fait des tests en déconnectant le moteur de la cnc pour éliminer tout problème mécanique. J'ai attaché un bout de scotch à l'axe moteur et j'ai exécuté un Gcode qui faisait faire quelques tours au moteur puis l'arrêtait 1 seconde (pour vérifier la position du scotch) et cela une centaine de fois.
J'ai constaté un décalage (et j'entendais d'ailleurs des petits clics sur le moteur indiquant des problèmes de pas).
J'ai essayé avec diverses versions GRBL (sur arduino, stm32, ESP32) et divers moteurs et en changeant de TB6600.
J'avais toujours le problème.
J'ai fini par supposer que le problème venait des TB6600 et j'ai commandé de nouveaux drivers (Makerbase TMC2160).
J'ai eu un petit souci pour connecter ces drivers avec la carte RS-CNC32 car ils n'ont pas de pin DIR+/DIR- et PUL+/PUL- mais seulement des pins DIR, CLK (= PUL) et Gnd.
Ils exigent donc un signal référencé à la masse.
J'ai donc du ajouter un petit montage entre la carte RS_CNC32 et le driver ( un ic 74244 composé de 8 buffers).
Une fois cela fait, j'ai pu essayé le nouveau driver et j'avais encore des problèmes.
En fait, dans mon cas, ce n'était pas des pertes de pas mais des pas supplémentaires.
Le moteur se déplaçait plus que demandé. Je n'ai pu le constater que parce que le moteur était hors CNC et que le Gcode utilisé demandait toujours des déplacements dans une seule direction.
Ce genre de problème ne vient normalement que si le driver reçoit des commandes parasites sur le signal STEP.
Pour en avoir le coeur net, j'ai écrit un petit programme à exécuter sur un arduino UNO, nano ou pro mini (avec un AVR328p) qui compte le nombre d'impulsion sur une de ses pins.
En raccordant cet arduino sur la pin STEP (=CLK=PUL) du driver, j'ai constaté qu'effectivement il y avait plus d'impulsions que prévu.
Par contre si je lancais le même Gcode mais en laissant les moteurs non alimenté, alors le nombre d'impulsions était parfaitement correct.
Le problème était enfin localisé: la cause était des parasites.
J'étais très surpris de ce constat car les fils du driver au moteur étaient courts (20cm) sur le banc d'essai.
Finalement j'ai ajouté des résistances de rappel de 470 ohm entre 5V Vcc et les pins DIR et STEP de la carte GRBL et je n'ai plus de problème avec le driver Makerbase.
Je n'ai pas encore testé avec les anciens TB6600.

Tout cela pour dire que si tu es à court d'idée tu peux faire les tests suivants:
- déconnecter mécaniquement un moteur de la cnc (de manière à pouvoir le faire tourner toujours dans le même sens).
- mettre repère sur l'axe (scotch, trait au marqueur,...)
- lancer un gcode qui demande un très déplacement sur une distance telle que le moteur devrait faire un nombre entier de tour
Le fichier Gcode peut être par exemple
G91
F500
G01 X40
G4P1
G01 X40
G4P1
G01 X40
G4P1
etc...
le code G01 X40 et G4P1 doit être répété une centaine de fois pour parcourir une distance suffisante.
ajuster la distance 40 pour avoir un nombre de tour entier
G4P1 provoque un arrêt de 1 sec pour avoir le temps de voir la position intermédiaire.
- voir si les positions intermédiaires/finale sont correctes, pas assez loin (pertes de pas), trop loin (parasites).

Si la position obtenue est trop loin, tu peux éventuellement utiliser le petit programme que j'ai fait pour compter le nombre d'impulsions et vérifier que les parasites disparaissent (ou non) si le moteur n'est plus alimenté.
Le programme en question est ici:
https://github.com/mstrens/count_pulses_with_arduino

En espérant que ceci pourra aider.
mstrens
Messages : 2611
Enregistré le : 27 févr. 2018 12:58

Re: Présentation et problème Décalage

Message par mstrens »

Pour compléter le message précédent, j'ai repris des essais avec mes TB6600.
J'ai constaté qu'avec ces drivers TB6600, j'ai encore des décalages systématiques (déplacements plus longs que demandés) bien que mon module arduino qui compte le nombre de pas demandés précise bien que le nombre de pas demandés au driver est bien conforme.
J'en déduit donc que ce sont bien mes TB6600 qui sont défectueux.
fonzie14
Messages : 54
Enregistré le : 16 févr. 2021 21:58

Re: Présentation et problème Décalage

Message par fonzie14 »

un grand merci a toi
je vais regarder ca .
Je suis en train de remplacer tous mes roulements par des roulements Fushi , car je n etais pas tres content de mes no name
Une fois les problèmes mécaniques éliminés je vais m atteler au drivers en faisant tes essais

Je te tiens au courant !

un grand merci encore
fonzie14
Messages : 54
Enregistré le : 16 févr. 2021 21:58

Re: Présentation et problème Décalage

Message par fonzie14 »

Bon après changement de tous mes roulements par des 606ZZ Fushi, je me suis atteler au décalage du nombre de pas
J ai enlever la courroie de l axe Z et mis un repère blanc sur la poulie et le bati moteur

J ai lancer le code suivant

$101=200
$121=40
G91
F500
G01 X40
G4P1
G01 X40
G4P1
G01 X40
G4P1

et la le resultat est sans appel ,apres 3 tours , j ai deja un decalage de au moins 5 pas ( environ 1/8 de tour) , j ai clairement des pas en plus a chaque fois
je suis en 1/4 de step sur le driver et a 2.84A
fonzie14
Messages : 54
Enregistré le : 16 févr. 2021 21:58

Re: Présentation et problème Décalage

Message par fonzie14 »

juste une petite précision , comment fais tu pour calculer ta distance pour revenir pile poil au repère
Si je mets 40, j ai un peu plus que 3 tours ( probablement un pas en plus) ( de nouveau je suis en 800 step /rev , 1/4)
Si je mets 39 , j ai nettement moins que 3 tours (Probablement 5 ou 6 pas en moins)
mstrens
Messages : 2611
Enregistré le : 27 févr. 2018 12:58

Re: Présentation et problème Décalage

Message par mstrens »

Comme tu es en 1/4 pour les microsteps, le moteur a besoin de 800 impulsions pour faire un tour complet (200 pas X 4 micropas).
Si tu veux qu'un déplacement de 40 mm fasse un nombre entier de tours, il faut adapter la valeur du nbr de steps/mm et ce pour l'axe que tu déplaces.

Par exemple si tu utilises le driver X, il faut adapter éventuellement le paramètre GRBL $100 ($101 pour Y, ...)
Si tu mets par exemple $100 = 100 et que tu as G01 X40, GRBL génèrera 100X40 = 4000 steps. Comme c'est un multiple de 800, tu devrais bien avoir un nombre entier de tours 4000/800 = 5 tours.
fonzie14
Messages : 54
Enregistré le : 16 févr. 2021 21:58

Re: Présentation et problème Décalage

Message par fonzie14 »

Super clair !!! je cours essayer ca tout de suite !!
fonzie14
Messages : 54
Enregistré le : 16 févr. 2021 21:58

Re: Présentation et problème Décalage

Message par fonzie14 »

Bon je crois que je vais me tirer une balle

j ai donc mis mon parametre $100=100
avec X40 et un driver reglé a 800step/rev , je me retrouve avec 5 tours et... un peu plus
( c est le un peu plus qui m embete)
si bien que sur 5 commandes ( donc 5 *5 tours = 25 tours) , je me retouve avec 1/4 de tour en plus cf video ci dessous
https://drive.google.com/file/d/1yBkZsw ... sp=sharing


c est quoi qui deconne?
j ai des TB6600, et apparament je ne peux pas mettre des pull ups au 5V sur DIR et STEP
Si c est les drivers qui deconnent je veux bien en recommander d autres, mais je voudrais etre sur de tomber sur des bons cette fois ci . Des recommendations ?


Image
Image
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par fonzie14 le 24 mai 2021 22:04, modifié 1 fois.
fonzie14
Messages : 54
Enregistré le : 16 févr. 2021 21:58

Re: Présentation et problème Décalage

Message par fonzie14 »

Question subsidiaire pour ceux qui ont vu la video
Au son du moteur , diriez vous que c est normal, ou bien que le moteur saute des pas ( ou en rajoute) ... moi je ne trouve pas ca super regulier
Répondre