Commande moteur pas à pas

Bonjour,

je débute sur arduino et sur le forum.

J’ai quelques projets en tête utilisant des moteurs pas à pas.

Aussi pour me faire la main j’ai jeté mon dévolu sur

J’utilise pour tester mes moteur à vide, Universal Gcode Sender et GRBL pour ne pas avoir à écrire (mais surtout déboguer) du code dans cette étape.

Viendra bien ensuite le temps de vous solliciter sur cet aspect …

Après des essais peux probants, ça à l’air de marcher, mais pour en arriver là, j’ai dû ressortir des oubliettes mes vieux tromblons de mesure.

Alors le démon de la curiosité me dit regarde à l’oscillo la tête du courant dans le moteur. Branché sur les Rsens des phases moteurs ça donne la photo liée (0,2ms et 1A par carreau, 16 micropas) : formes étranges, quel que soit le type pas/micropas sélectionné.
Idem avec les deux moteurs et les deux drivers, et aussi permutés.

Si les positions semblent bonnes ( à vérifier de façon précise mais je verrai la mécanique plus tard), je pense que le couple avec cette conso ne va pas être bon.

Avez-vous des pistes pour que le courant ressemble à la belle sinusoïde montrée dans la fiche technique du DRV8825 ?

Merci pour vos réponses.

C'est la limitation de courant qui est la cause de ce découpage.
Petit extrait de la doc du 8825

8.3.2 Current Regulation
The current through the motor windings is regulated by a fixed-frequency PWM current regulation, or current
chopping. When an H-bridge is enabled, current rises through the winding at a rate dependent on the DC voltage
and inductance of the winding. Once the current hits the current chopping threshold, the bridge disables the
current until the beginning of the next PWM cycle.
In stepping motors, current regulation is used to vary the current in the two windings in a semi-sinusoidal fashion
to provide smooth motion.

Sur tes cartes de drivers, tu dois voir un petit potentiomètre qui permet justement de régler le seuil de coupure du courant afin de ne pas abimer les moteurs en leur applicant un courant trop fort.

Merci pour ta réponse.

J'ai déjà réglé le potentiomètre comme décrit dans la doc. I phase = 2 X Vref, ici pour 1,7A par phase, Vref = 0,85V. Sur la pièce jointe (je n'ai pas trouvé comment on insérait la photo dans le texte) on voit le courant être au maxi vers 1,7 A.

J'ai fait la tentative de diminuer le courant jusqu'au décrochage ver 0,3A, mais malgré cette diminution le courant garde toujours cette même forme (idem en l'augmentant d'ailleurs) : un quart environ de la courbe peut correspondre à ce qu'il devrait être, puis hachage à 0 pour le quart suivant et pour la dernière demi courbe le courant est positif et négatif. La vitesse d'envoi des pas ne fait pas changer non plus cette forme.

Je recherche toujours une piste. merci

C'est le fonctionnement normal du driver. Il n'y a rien à corriger.
Si le courant n'était pas limité par le hachage le moteur cramerait rapidement.
Les bobinages de ces moteurs ne font que quelques ohms. En les utilisant sous 36V, si le courant n'était pas limité il s'élèverait à plus de 10A.

mes vieux tromblons de mesure

Bonjour,
c'est peut-être ça le souci, si ton oscillo n'est pas à mémoire, tu peux avoir des signaux qui se superposent à l'écran, ce qui t'enduis en erreur

Si, pas tout jeune mais à mémoire l'oscillo.

Je reste dubitatif sur la forme de ce courant.

Je ne vais pas en faire une fixation, après tout ça marche à vide.
J'avance sur la mécanique en restant en veille active sur ce sujet.

Merci à vous.