Aller au contenu

GO Print

Pièges des réglages Vref A4988 ou DRV8825


stef_ladefense

Messages recommandés

Bonjour à toutes et tous,

J’entends souvent beaucoup de choses sur le réglage des drivers moteurs, bien souvent on me parle d’un réglage usine hypothétique, ou à l’oreille ou lors des nuits de pleine lune quand le vent souffle à l’ouest !

Je lis souvent « moi j’ai une Vref à 1.6V » et ça ne veut rien dire car il manque des informations capitales !
Le courant généré peut passer du simple au double ou même être hors limite si les modules ne sont pas strictement identiques !

Donc NON, le réglage de la tension de référence (Vref) sur un driver de moteur pas à pas ne se fait pas de manière empirique !
Il faut absolument connaitre plusieurs caractéristiques pour régler correctement ces bestioles.

- Coté driver, le circuit utilisé A4988 ou DRV8825 a son importance et va surtout de pair avec la valeur des résistances « Rsense » qui sont présentent sur le PCB, elles-y sont souvent sérigraphiées « S1, S2, S1X, S2X, R1, R2…», et peuvent avoir comme valeur 0.05 ohm (Marquage R050), 0.1 ohm (R100) ou 0.2 ohm (R200) donc on sort la loupe pour être sûr.

- Coté moteur, il faut chercher son courant de fonctionnement par phase (Imax) qui a été calculé par le fabriquant en fonction de ses caractéristiques.
Si ce courant n’est pas indiqué par le vendeur du moteur, on cherche chez SON fabriquant avec SA référence dans son datasheet.
Sous-alimenté, il va perdre son couple et risque même de vibrer sans pouvoir garder sa position stable.
Suralimenté, il va faire beaucoup de bruit par résonance et bien entendu surchauffer (le driver également par contre réaction).

Après une longue discussion avec un constructeur de moteur de type Nema (GE), il s'avère que le Imax d'un moteur n'est pas son Inominal, il faut donc diviser Imax par racine de 2 pour trouver Inom.
j'ai donc mis à jour le tableau en correspondance.

On calcule donc la valeur de Vref à régler avec le petit potentiomètre, la formule est donnée dans le datasheet du constructeur du driver, et est : 

on calcule Inom = Imax divisé par racine(2)

Pour un A4988 :      Inom = Vref / (8 * Rsense) donc Vref = Inom * 8 * Rsense
Pour un DRV8825 : Inom = Vref / (5 * Rsense) donc Vref = Inom * 5 * Rsense

La valeur maximale de la limitation de courant est donc définie en interne en fonction de la valeur des Rsense et de la tension de la broche Vref.

Exemples de calculs :

Un A4988 avec des Rsense de 0.05 ohm (Marquage R050) et un moteur avec un Imax à 1.8A,  Inom = 1.27A : Vref = 1.27 * 8 * 0.05 = 0.51V.
Un DRV8825 avec des Rsense de 0.1 ohm (Marquage R100) et un moteur avec un Imax à 2.1A, Inom = 1.48A : Vref = 1.48 * 5 * 0.1 = 0.74V.
Un A4988 avec des Rsense de 0.2 ohm (Marquage R200) et un moteur avec un Imax à 1.5A, Inom = 1.06A : Vref = 1.06 * 8 * 0.2 = 1.7V.

 

Important :

Le courant maximum par phase pour un A4988 est de 2A et 2.5A pour le DRV8825. Donc si vous êtes dans la limite haute de votre drivers, réduisez un peu Imax.

La température du driver peut monter à plus de 150°C si son courant arrive à son maximum admissible et il doit être de toute façon correctement refroidit par un dissipateur et si possible par un flux d’air au-delà de 1A par phase. Il passera en protection thermique et coupera le courant moteur si sa température arrive hors limite.

 

Voir les datasheets pour les courageux, dont les tableaux « Relative Current and Step Directions » et « Step Sequencing Settings ».
http://www.allegromicro.com/~/media/Files/Datasheets/A4988-Datasheet.pdf
http://www.ti.com/lit/ds/symlink/drv8825.pdf

 

Pour les TMC2xxx, il suffit de prendre Inom du tableau et de régler Vref à la même valeur. ex moteur 1.5A, Inom = 1.06A, Vref = 1.06V

attention ceci n'est valable que pour Rsense = 110mΩ

la formule donnée par Trinamic est IRMS = 325mV / (RSENSE + 20mΩ) * 1/√2 * VREF/2.5V

avec des RSENSE = R110 = 110mΩ nous simplifions puisque 325/(110+20) = 2.5 (c'est pour ça que l'on trouve les pilotes avec ces valeurs de RSENSE sur le marché)

IRMS = 2.5 * 1/√2 * VREF/2.5V
2.5 / 2.5 = 1 donc
IRMS = 1/√2 * VREF
je me débarrasse de 1/√2 en multipliant par √2 des deux cotés
√2 * IRMS = √2 * 1/√2 * VREF donc √2 * IRMS = VREF
VREF = √2 * IRMS
et nous savons que IRMS = IMAX / √2
VREF = √2 * IMAX / √2

donc VREF = IMAX

comme on prends 70% par sécurité, pour un courant de 1.5A, nous avons 1.5*0.7 = 1.05, réglage de VREF à 1.05V
et ça tombais bien, puisque en prenant 70% de sécurité, c'est comme si on divisais par √2 (0.707...) c'est une astuce d'électronicien

c'est comme si en prenant 70% de sécurité, on prenait la valeur RMS de ce courant IMAX

pour simplifier, avec 70% de sécurité, IMAX * 0.707 = IMAX  / √2 = IRMS

donc on peut régler VREF à la valeur APPARENTE de IRMS, sous entendu que ça contient déjà les 70% de sécurité.

mais ça ne fonctionne qu'avec des RSENSE à 110mΩ

vous trouverez un XLS pour ces calculs, vous pouvez y changer Rsense si ça valeur n'est pas standard.

ATTENTION les TMC sont hyper sensible à la température, ils doivent impérativement être refroidit sous un courant d'air, avec un dissipateur conséquent.

 

Bonne lecture.

Stef

le tableau corrigé pour avoir une idée de Vref en fonction des valeurs d'Imax du moteur.

image.png.c7ca75a387265722ff3b1abb892e911f.png

 

TMC_Vref_V2.xlsx

Modifié (le) par stef_ladefense
ajout TMC
  • J'aime 4
  • +1 2
  • Merci ! 8
Lien vers le commentaire
Partager sur d’autres sites

Super tuto même si je n'ai pas forcément tout compris on assimile quand même le principe de calcul et la marche à suivre.

Par contre si j'ai bien compris, sur le même modèle d'imprimante le circuit et les moteurs devrait être les mêmes donc les mêmes réglages.

Lien vers le commentaire
Partager sur d’autres sites

Nul part c'est juste que je me dis que normalement un fabricant monte sur le même modèle les mêmes moteurs, mêmes drivers et mêmes résistances

Modifié (le) par Invité
Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, db42 a dit :

Nul part c'est juste que je me dis que normalement un fabricant monte sur le même modèle les mêmes moteurs, mêmes drivers et mêmes résistances

pas systématiquement, par exemple sur les geeetech (ok c'est du chinois :)) mais tu as un peu de tout suivant leur stock de composant et je ne pense pas que ça soit les seuls qui procède comme ça

en tout cas @stef_ladefense bravo pour ce tuto, je ne manquerai pas d'y faire référence dans d'autres posts car il n'est pas toujours facile d'expliquer le pourquoi du comment... :D

Lien vers le commentaire
Partager sur d’autres sites

@pascal_lb merci beaucoup 

@@db42 j'ai déjà vu les 3 moteurs XYZ identiques et celui de l'extrudeur moins épais. après niveau drivers, j'ai vu beaucoup de chose passer, des PCB rouge, noir, blanc et qui n’était pas fabriqués par les mêmes et qui n'avaient pas les mêmes valeurs de résistances, ou mieux encore qui n'avaient pas la même révision et qui étaient aussi différents.

c'est pour ça que je prends systématiquement la loupe pour voir ce qui y trône réellement.ça ne prends que quelques secondes pour pas se tromper. 

vaste sujet de toutes façon

Lien vers le commentaire
Partager sur d’autres sites

Bonne initiative.

En revanche j'avais déjà trouvé ces meme formules et avait fait le calcule pour ma vertex k8400 et je ne tombe pas sur la même valeur que le constructeur préconise.
Imax 2,5a et r100 sur des drv8825 je dois tomber sur 2,5 de vref. Le constructeur indique 0,9. J'ai essayé de monter petit à petit et ca ne passe pas. Ca passe en protection.

Une idée du pourquoi ?


Envoyé de mon iPad en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

heureusement que tu as déjà trouvé ces formules ! je ne l'ai est pas inventées non plus ! c'est public dans les datasheets des composants.

par contre je ne comprends pas comment tu trouves 2.5V en Vref !

DRV8825 en R100 et moteur à 2.5A : Vref = 0.88V, d'ailleurs c'est dans mon tableau récapitulatif

Modifié (le) par stef_ladefense
Lien vers le commentaire
Partager sur d’autres sites

Erreur d'écriture je voulais écrire 1,25.
Mais je ne m'explique pas la valeur de 0,9 donnée par le constructeur


Envoyé de mon iPad en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Au passage quand je dis que j'avais déjà trouvé ces formules ce n'est pas pour dénigrer le travail que tu viens de faire sur ce post mais simplement pour justifier la suite.

Je te dis ça pour information car tu réagis en mode point d'exclamation...


Envoyé de mon iPad en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Le ‎03‎/‎10‎/‎2017 at 04:48, stef_ladefense a dit :

On calcule donc la valeur de Vref à régler avec le petit potentiomètre, la formule est donnée dans le datasheet du constructeur du driver, et est : 
Pour un A4988 :      Imax = Vref / (8 * Rsense) donc Vref = Imax * 8 * Rsense
Pour un DRV8825 : Imax = Vref / (5 * Rsense) donc Vref = Imax* 5 * Rsense
La valeur maximale de la limitation de courant est donc définie en interne en fonction de la valeur des Rsense et de la tension de la broche Vref.

... Important :
Le courant maximum par phase pour un A4988 est de 2A

La limite de 70% interne implique donc que le courant maximum consommé par le moteur sera l’intensité globale aux 4 moments du déphasage de 180° des deux bobines.
Donc en prenant Imax = 2A : 2A * 70 / 100 = 1.4A, * 2 = 2.8A maximum global (pour les deux phases).

 

en bonus un tableau pour avoir une idée de Vref en fonction des valeurs d'Imax.

image.png.51761b16fee892be3382959418b2eb58.png

J'ai sur ma I3 Méga V1 des A4988  avec Rsens = 0,1ohm et 5 moteurs identiques Modèle : 42 HD 4027 – 01

Nom: Nema 17 Moteur pas à pas

●taille: 42*42*40mm

●modèle: 42HD4027-01

●poids: 275 g/pc

●longueur: 40mm

●Port de fils: 6 broches femelles PH2.0

nombre de phase: 2

étape Angle: 1.8 °

Couple de maintien: 400mN. m

tension nominale: 3.3 V

courant nominal: 1.5A

●classe d'isolation: Classe B (130 °)

●Inductance par phase: 3.8mH ± 20%

●résistance par phase: 2.2 Ω±10%

 

Courant nominal: 1.5A (également noté sur étiquette moteur)  nombre de phase: 2 :

===>   Dans ta formule pour trouver Vref ( Vref = Imax * 8 * Rsense) , je dois prendre I max = 1,5A ou I max = 0,75A ?

 

 Vref = 1,5A * 8 * 0,1 Ω       ===>    ?     Vref = 1,2 V  ¬¬  

 

O.o si    Vref = 1,2 comment fonctionne un moteur avec une tension nominale: 3.3 V  ?

 

Courant nominal et courant Maxi  ?   le courant nominal indiqué dans les caractéristiques et sur l'étiquette de chaque moteur , est-il le courant Maxi pour chaque phase ? ( chaque phase étant exitée l'une après l'autre !)  et donc le Courant Maxi à utiliser dans ta formule ?

 

:$Si je règle Vref selon ta formule et ensuite je câble des TL Smoother en série en sortie de chaque steppers A4988 , je change la Vref appliquée aux moteurs pas à pas ?

 

Les TL Smoother sont des circuits intégrant que des diodes comme l'exemple sur la pièce jointe ?Tmp à détruire -Driver Smoothers avec diodes.png

 

Puis-je avoir un avis sur leurs utilisations (TL Smoother ) ?  

Y-a-il des types spéciaux en fonction de la références des steppers ?

Modifié (le) par Tfou57
Lien vers le commentaire
Partager sur d’autres sites

Alors ...

le Imax (que j'aurais pu nommer Imoteur) est le courant nominal donné par le fabriquant du moteur pour ces 2 phases, c'est le courant max avant que le moteur ne sois en surcapacité.
donc réglage du Vref sur un A4988 & R100 à 1.2V pour une régulation de courant à 1.5A.

tu confonds Vref et la tension nominal du moteur, ça n'a rien à voir ! Vref c'est une tension générée par un diviseur de tension fait à partir d'une résistance et d'un potar, cette tension est appliquée sur une broche du circuit driver (a4988, drv8825 dans le cas qui nous intéresse) et est utilisé en INTERNE pour contrôler le courant maxi appliqué au moteur.

ce type de drivers commandent le moteur en courant et non en tension, donc on ne tient compte que du courant nominal et pas de sa tention (3.3V ici).

les TL Smoother sont des diodes en tète bêche, qui ne vas pas jouer sur le courant, donc pas d'incidence sur le moteur.
je n'ai pas testé, mais je n'ai vu qu'associé au drv8825, faudrait essayer sur un A4988, appel aux testeurs éventuels :)

tu peux aller lire ici : http://www.engineerination.com/2015/02/drv8825-missing-steps.html

Modifié (le) par stef_ladefense
Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, stef_ladefense a dit :

le Imax (que j'aurais pu nommer Imoteur) est le courant nominal donné par le fabriquant du moteur pour ces 2 phases, c'est le courant max avant que le moteur ne sois en surcapacité.
donc réglage du Vref sur un A4988 & R100 à 1.2V pour une régulation de courant à 1.5A.

J’ai continué mes recherches de vérification des caractéristiques des moteurs, j’arrive grosso modo (tension légèrement différente )aux informations similaires à part pour l’intensité. Anycubic parle de courant par phase de1,5A  ( Les premières information provenait de AliExpress )

Tmp à détuire Moteur Anycubic.png

Cela change-t-il quelque chose à mon calcul de Vref =1,2v  (les 2 phases ne sont jamais alimentées ensemble) ?

 

Il y a 2 heures, stef_ladefense a dit :

Merci J’avais vu se site dans mes recherches, mais j’espérais avec un retour d’expérience d’efficacité avec des A4988 …

Modifié (le) par Tfou57
Lien vers le commentaire
Partager sur d’autres sites

je viens de regarder sur les datasheets drivers et moteurs, effectivement c'est le courant max par phase, mais ça ne change rien au calcul car c'est la limitation par phase également.
les calculs restent valable du coup.

si bien sûr que les deux phases sont alimentées ensembles, mais décalé de 180°, regarde le lien que je t'es donné, les deux sinusoïdes se coupes 4 fois (45° etc..) et la valeur maxi c'est 71% à ces moments, regardes le datasheet du A4988, tu verras les pourcentages entre 0% et 100%, mais le max des deux phases en même temps, c'est 71%.

comme je l'ai déjà dis pour les Smoother, je n'ai pas testé, et apparemment ça marche bien avec les DRV8825, les modèles à doubles diodes (8 en tout) seraient même mieux d’après les tests, reste a savoir si le A4988 à les mêmes défauts, perso je ne le vérifierais pas car je compte mettre des TMC2100 sur X et Y qui me semble bien mieux conçus.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 6 heures, stef_ladefense a dit :

.... les calculs restent valable du coup.

si bien sûr que les deux phases sont alimentées ensembles, mais décalé de 180°, regarde le lien que je t'es donné, les deux sinusoïdes se coupes 4 fois (45° etc..) et la valeur maxi c'est 71% à ces moments, regardes le datasheet du A4988, tu verras les pourcentages entre 0% et 100%, mais le max des deux phases en même temps, c'est 71%..

Merci de ta réponse, mais >:(dans ma tête tout s'embrouille O.o !  j'ai une formation "Méca" et pas "Electronique" :$

Une fois tu me parles que "les calculs restent valable du coup" puis "si bien sûr que les deux phases sont alimentées ensembles, mais décalé de 180°, ... (45° etc..), la valeur maxi c'est 71%"

donc dans ce cas I Maxi devient 1,065A  ( 71% de 1,5A )  ?

Quand y a-t-il un déphasage 0° ou 180° ?  ( sens de rotation avant et arrière ? )

Comment régler Vref pour les 2 cas ?

Il y a 6 heures, stef_ladefense a dit :

, perso je ne le vérifierais pas car je compte mettre des TMC2100 sur X et Y qui me semble bien mieux conçus.

Les TMC2100 semblent voir besoin de radiateur qui semblent bien haut pour ne pas gêner le ventilateur CPU que l'on peut uniquement reculer de 1,5mm dans le caisson de base de l'Anycubic I3 Méga

Comme novice , je ne savais pas qu'il y avait plusieurs types différents de Smoothers  à puces !    :$   Ils se ressemblent tous !   Certes avec des différences de prix ... !

Si tu publieras un tutorial détaillé  "Installer des steppers TMC2100 et des Smoothers  avec Optimisation des Vref des steppers pour les Nuls" , je crois  que je vais attendre ton tutorial et tes conclusions.

Ne n'est pas le prix des  steppers TMC2100 et des Smoothers   qui seront un frein , s'il y a un gain qualité évident sur ton I3 Méga !

:P Je te souhaite une bonne modification et optimisation des steppers de ton imprimante !    

J'attendrais ton tutorial  de qualité , et , je ne pense que je ne serais pas le seul dans ce cas !  :D

Modifié (le) par Tfou57
Lien vers le commentaire
Partager sur d’autres sites

image.png.31d6064112d552ae3cb779317d8ee8e5.png

les phases indépendamment l'une de l'autre passe par 100% du courant consommé, c'est ça que tu règles par la Vref. c'est la limite maxi par phase.
la phase 1 passe à +100% à 90° et à -100% à 270° (en vert) (le - indique une inversion de polarité)
la phase 2 passe à -100% à et à +100% à 180° (en jaune)

quand les deux sinusoïdes (déphasé de 90° et non comme je l'ai écrit plus haut de 180 ! oops !) se coupent aux 45°, 135°, 225° et 315° (en rouge); à ce moment là elles sont ensemble à 70.71% de leurs maximum.

le courant max généré par le driver est bien de 100% de ce que le moteur doit avoir par phase (1.5A ici), mais comme les deux phases ne seront jamais en même temps à 100%, mais à 70.71%  que le courant max consommé par le driver sera de 2 x 0.7071 x Imoteur : 2 x 0.7071 x 1.5 = 2.12A et non pas comme on peut le penser de 2 x 1.5A.

 

pour les TMC2100, il suffit de lui coller un dissipateur moins haut et plus large déjà, après je trouver que le refroidissement de la carte est mal foutu, quand j'aurais toutes les pièces je ferais quelques modifs, maintenant les TMC ne fonctionnent pas comme les autres drivers, voir le datasheet, mais chauffe beaucoup, mais comme le courant est RMS, il n'y a besoin de moins (Imoteur / racine de 2) ça limite un peu, mais ça chauffe entre 50 et 100°C quand même !

ce qui m’intéresse c'est de réduire le bruit des axes X et Y.

les smoothers sur les TMC ne servent à rien, seulement pour un drv8825, et on est même pas sûr qu'ils soient efficaces avec un A4988.
 

  • Triste... 1
Lien vers le commentaire
Partager sur d’autres sites

@stef_ladefense, expliqué ainsi, je crois comprendre que le calcul précédent du Vref de 1,2V est faux.

Vref = 2,12A * 8 * 0,1 Ω = 1,696 V  

Est-ce correct ainsi ?

Modifié (le) par Tfou57
Lien vers le commentaire
Partager sur d’autres sites

NON ! je l'ai noté une dizaine de fois depuis le premier post !!! on se balance des 0.71% et on utilise le courant déclarer par le fabriquant du moteur, et c'est seulement celui là qui sert dans le calcul !

ton moteur est donné pour 1.5A > Vref = 1.2V point !

alors au lieu d'essayer de réinventer la roue tu vas lire les datasheets des drivers !

Lien vers le commentaire
Partager sur d’autres sites

NON ! je l'ai noté une dizaine de fois depuis le premier post !!! on se balance des 0.71% et on utilise le courant déclarer par le fabriquant du moteur, et c'est seulement celui là qui sert dans le calcul !
ton moteur est donné pour 1.5A > Vref = 1.2V point !
alors au lieu d'essayer de réinventer la roue tu vas lire les datasheets des drivers !


D'un côté tu crée un post pour aider et tu prend même le temps de répondre à son problème et d'un autre tu es d'un désagréable au possible dans ta réponses au point où par politesse je n'écrirai pas l'adjectif qui te qualifierait.

Alors sérieux, soit t'es capable de rester cool et de répondre correctement soit tu ne l'est pas et dans ce cas ne crée même pas de post pour aider...

Merci


Envoyé de mon iPad en utilisant Tapatalk
Lien vers le commentaire
Partager sur d’autres sites

Il y a 13 heures, aurelp a dit :

D'un côté tu crée un post pour aider et tu prend même le temps de répondre à son problème et d'un autre tu es d'un désagréable au possible dans ta réponses au point où par politesse je n'écrirai pas l'adjectif qui te qualifierait.

Alors sérieux, soit t'es capable de rester cool et de répondre correctement soit tu ne l'est pas et dans ce cas ne crée même pas de post pour aider...

Merci

Merci, tout est dit !

@stef_ladefense, à l'origine , je ne pensais même pas réagir !

Modifié (le) par Tfou57
Lien vers le commentaire
Partager sur d’autres sites

En même temps je comprend l'agacement de @stef_ladefense , je l'ai même trouvé patient. Il a exposé qu'il faut utiliser la valeur max du moteur pour le réglage et tu lui demande comment il faut régler si le moteur ne consomme que 70% sur une phase plusieurs fois et sur plusieurs sujets différents. La réponse est toujours la même que ce soit 70/20 ou 50%.

Si tu demande au garagiste de régler ton injection il va régler la valeur max il ne va pas régler autrement si ton moteur est à 1500 ou 3500t/min maxi quand tu l'utilise. Ni te la régler différemment que tu roule à 70 ou 130 km/h.

Lien vers le commentaire
Partager sur d’autres sites

impoli ! où ça ? j'ai oublié quoi ? de dire bonjour ? j'ai traité quelqu'un d'orchidoclaste ou de nodocéphale ? que nenni ! j'ai répondu correctement et plusieurs fois la même chose, heureusement que je suis ni susceptible, ni limité au 1er degré et je reste toute ouïe du qualificatif que tu m'as trouvé, puisque tu t’exaspères avec mes "!", au moins ça t'occupe !

mais tu as raison je me suis énervé, et je m'en excuse !

si j'ai froissé en demandant de lire les datasheets c'est que c'est la seule source fiable d'information et que ça devrait être un réflexe à tout à chacun qui s'intéresse à un composant spécifique, alors oui c'est technique, oui c'est chiant à lire, oui c'est en anglais, mais tout est dedans.

maintenant pour moi le sujet est clôt, vous avez toutes les billes pour les utiliser correctement.

sur ce, merci aux autres, moi je vais aller aux fraises !!!

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...