Driver de puissance maison pour moteur pas à pas.

  • Auteur de la discussion mdog
  • Date de début
F

freedom2000

Compagnon
guol64 a dit:
Salut freedom,

Oui j'ai utilisé ton driver :wink: ... nickel!

Pour les radiateurs j'ai pris un radiateur de processeur par paire de LMD, le tout isolé dans un boitier d'alim de PC avec son propre ventilo.
J'ai opté pour des drivers séparés, c'est volumineux mais le flux d'air est bigrement efficace, mais j'en ai besoin je suis parti direct sur 3,8A.
J'ai récupéré un petit boitier qui s'adapte sur les PC avec 4 sondes de température et 4 variateurs pour les ventilos associés le tout affiché en façade.

Pour la réduction de courant je crois que c'est nécessaire, mais il est possible de paramétrer ça par dip-switch comme pour régléer le mode micropas: j'ai rajouté 3 entrées sur la carte au cas où. Avec 2 dip-switch on peut avoir 4 modes : 0-pas de réduction, 1-50% à 30s, 2-75% à 10s 50% à 20s et 25% à 30s, 4-75% à 1s ... comme on veut quoi.

Les drivers marchent nickel, ça c'est la bonne nouvelle, la mauvaise c'est que mes moteurs ne sont pas assez puissant pour un branchement direct sur la vis mère de mon tour (vis TZ 20x3), en fait le trainard se déplace dans un sens, mais dans l'autre l'effort est trop grand (et je suis à vide, je n'usine pas). En théorie la démultiplication par poulie devrait m'aider, je pense mettre un rapport 1 pour 3 ou 1 pour 6 pour avoir 1mm/tour ou 0.5mm/tour. Qu'en pensez-vous?

3,8A --> tu es limite limite pour tout faire sauter... Les LMD sont donnés à 3A max :-D

Envoie des photos pour les boitiers PC et les mesures de température --> ça doit être "beau"

J'ai vu que certains empilent les moteurs pour augmenter le couple.
Pour le faire tu branches le 2° moteur sur le bout d'arbre qui dépasse du premier. Tu mets deux drivers en // chacun s'occupant d'un moteur et commandés par le même signal Step et Dir.
Les deux moteurs étant parfaitement synchrones ils s'aident l'un l'autre (2 moteurs = deux fois plus de couple environ)

Pour monter la sauce sur tes moteurs tu peux aussi monter la tension jusqu'à 50 ou 55V (max)


Pour ce qui est de la réduction de courant, j'avais prévu de faire ça aussi avec des jumpers mais ils ne sont pas sur la carte µstep... Tu sais modifier le code ou tu veux que je te le fasse (si tu me dis sur quelle patte tu as mis tes jumpers c'est facile !)

Je suis bougrement tenté d'essayer le pilotage par Mach3 de la réduction de courant. L'avantage est que ça ne la déclenche que quand il y en a besoin, donc quand tout est fini d'usiner et que tous les axes ne reçoivent plus rien --> pas de risque de perte de pas. La modif me semble hyper facile à faire en mode "compatible ascendant de mon driver) et il suffit de souder un fil sur chaque PIC...

JP
 
G

guol64

Compagnon
En fait j'avais récupéré 3 moteurs (pour 10€), donc un par axe, et le fait d'empiler les moteurs (déjà la solution mécanique ne me parrait pas simple) multiplie également les drivers, autant acheter directement le moteur adéquat. Je crois que je vais quand même essayer les poulies, je devrais avoir suffisament de couple, mais je perdrais probablement de la précision dûe au déformation du système d'entrainement (par contre je ne sais pas de quel ordre, mais vu le jeu de la vis mère: près d'1mm pas de souci).

Pour modifier le code pas de problème, il faut bien apprendre un petit peu :lol: , mais je te remercie de ton aide. Je n'ai pas l'intention d'apporter ces modifs pour l'instant, je crois que c'est de l'ordre du détail tant que la machine ne fonctionne pas.

Par contre il est pas improbable que je passe rapidement sous mach3 car la gestion du tour numérique à l'air bien plus approfondie, de toute manière je laisserais le système modulable : ou mach3 ou isad4d.

Pour les photos c'est OK, mais pas dessuite car aujourd'hui ça n'a rien de beau, il y a des fils partout, mais le système est identique à celui-ci :
http://www.rueducommerce.fr/Composa...gulateur-de-vitesse-pour-ventilateur-5-25.htm

courbe moteur.JPG
Augmenter la tension serait jouable (j'ai une alim de 35V) mais en regardant les courbes mes moteurs ont quasiement autant de couple à 60V qu'à 24V à basse vitesse, ce n'est qu'après que la différence est importante, et encore pas tant que ça.
 
F

freedom2000

Compagnon
oui c'est vrai qu'augmenter la tension ne sert à augmenter le couple que pour les "hautes" vitesses.
Si ton moteur de fait pas du tout tourner la vis alors ce n'est pas la peine d'augmenter la tension (mais le courant oui)
Je pensais qu'il démarrait puis décrochait --> là augmenter la tension est bougrement efficace. Sur tes courbes à partir de 3000 pulse Per second tu gagnes un facteur 2...

JP
 
F

freedom2000

Compagnon
freedom2000 a dit:
Je suis bougrement tenté d'essayer le pilotage par Mach3 de la réduction de courant. L'avantage est que ça ne la déclenche que quand il y en a besoin, donc quand tout est fini d'usiner et que tous les axes ne reçoivent plus rien --> pas de risque de perte de pas. La modif me semble hyper facile à faire en mode "compatible ascendant de mon driver) et il suffit de souder un fil sur chaque PIC...

JP

Je viens de vérifier le signal "Current Hi/Low" que génère Mach3 --> Nickel :-D
J'avais un parcours de type "contour à plusieurs Z constant". L'axe des Z n'est donc sollicité que très peu fréquemment pendant la découpe.

Le signal "Current Hi/LOw" change d'état dès que la découpe commence et rebascule en fin de découpe (quasi immédiatement).

Ce que je vais faire est d'utiliser ce signal pour commander la réduction de courant sur laquelle je laisserai une petite tempo supplémentaire de l'ordre de 5s par exemple avant de passer à 75% de puissance puis toujours 60s après je basculerai à 40%

JP
 
G

guol64

Compagnon
Tiens je me pose une question :smt017
Tu lis pulse par seconde alors que je lisais pas par seconde donc j'avais tendance à me positionner sur la courbe en faisant la conversion en tour par seconde en divisant par 200. Celà voudrait-il dire que les micropas ont une influence sur le couple?

Si on prend la courbe des 24v à 5tr/s en pas entier (1000 step) on est à 800 mNm et on tomberait à 150mNm en 1/8 de pas (8000 step) pour la même vitesse?
 
H

horsot

Compagnon
freedom2000 a dit:
Je suis bougrement tenté d'essayer le pilotage par Mach3 de la réduction de courant.
JP

Comme toujours tu m'étonnes par tes idées remarquables... Bravo! :smt038

J'espère que tu ne m'en voudra pas si j'inclus cette fonction dans "Petit Pas"?

Xavier
 
G

guol64

Compagnon
Bon rien ne vaut la pratique : que ce soit en 1/2pas ou 1/16pas le moteur a assez de couple pour la faire tourner dans un sens mais pas dans l'autre donc le micropas ne joue que très peu sur le couple.

J'avoue que je galère sérieusement sur ISA4D :mad: , je suis a deux doigts de graver la carte de commande de mdog.
 
F

freedom2000

Compagnon
guol64 a dit:
Bon rien ne vaut la pratique : que ce soit en 1/2pas ou 1/16pas le moteur a assez de couple pour la faire tourner dans un sens mais pas dans l'autre donc le micropas ne joue que très peu sur le couple.

J'avoue que je galère sérieusement sur ISA4D :mad: , je suis a deux doigts de graver la carte de commande de mdog.

Je suis sûr de moi : pps = pulse per second :-D

Sur mes moteurs j'ai effectivement de meilleures perfos en vitesse pure (moteur à vide) quand je suis en 1/2 pas. Puis plus je monte en µpas plus la perfo s'effondre. Je pense que c'est assez logique. Les µpas ne sont pas des positions stables du moteur alors que les pleins pas et les demi pas le sont.
De plus si tes moteurs sont limite en fréquence il vaut mieux la baisser dnc se rapprocher le plus possible du plein pas --> le demi pas est pour moi le meilleur compromis.
Bien sûr si tes moteurs tiennent en 1/4 ou 1/8 ou1/16 de pas tu auras une commande plus fluide qu'en 1/2 pas.

Fais l'essai suivant :
désaccouple un moteur et teste la vitesse maxi que tu obtiens sur les différentes configurations de µpas et dis nous.

JP
 
F

freedom2000

Compagnon
horsot a dit:
freedom2000 a dit:
Je suis bougrement tenté d'essayer le pilotage par Mach3 de la réduction de courant.
JP

Comme toujours tu m'étonnes par tes idées remarquables... Bravo! :smt038

J'espère que tu ne m'en voudra pas si j'inclus cette fonction dans "Petit Pas"?

Xavier

Pas de pb bien sûr --> it's Open Source Software :-D

JP
 
F

freedom2000

Compagnon
guol64 a dit:
Si on prend la courbe des 24v à 5tr/s en pas entier (1000 step) on est à 800 mNm et on tomberait à 150mNm en 1/8 de pas (8000 step) pour la même vitesse?

Oui c'est tout à fait ça ! Il s'agit bien d'un changement de courant dans les bobines à la fréquence des pulses.
Donc la constante de temps du bobinage (L/R) joue bien à chaque changement de configuration. si L est grand cette constante est grande et le courant n'a pas le temps de s'établir totalement entre deux pulses... Il finit par perdre du couple... et décrocher :cry: Pour compenser ça il faut monter la tension.

JP
 
F

freedom2000

Compagnon
Upgrade majeur du driver : le pilotage de la réduction de courant via Mach3

Et oui, je n'ai pas pu résister je l'ai fait :-D

Le principe :
1) le signal "Current Hi/Low" de Mach3 est envoyé sur la patte 1 du port //.
Quand il est actif, il est à 5V, Mach3 demande à sortir du mode "réduction de courant".
2) on rajoute des straps sur la carte Mdog pour récupérer le pin 1 du port // sur le circuit ULN2003 (patte 1)
3) on câble l'autre côté de ce strap sur le (ou les) PICs que l'on veut voir contrôlé(s) par MAch3. L'entrée utilisée est le bit 6 du PortC (RC6 = pin 24)

et c'est tout --> donc totalement réversible (aucune piste à couper)

A noter cependant, que la sortie 1 du port n'est plus utilisable pour autre chose... (au moins tant qu'on l'utilise pour ce signal sous Mach3). Il n'y a par contre aucun risque à faire la modif sur la carte puis ne plus utiliser ce signal tout en laissant la carte modifiée (ça ne fumera pas !)

Ensuite il faut modifier le contenu des PICs. Facile --> il suffit de télécharger la dernière version du code sur mon site.

Comment ça marche :
- supposons qu'on soit "en régime établi" c'est à dire après une série de pulses. Les Dacs sont alimentés à pleine intensité
- la découpe achevée, Mach3 met à 0 le signal "Current Hi/Low"
- le PIC fait alors les opérations suivantes :

1) attente d'un nouveau pulse (signal step) --> prioritaire sur tout le reste
- si pulse on traite et on boucle en 1)
2) on regarde si le signal Mach3 est à 0
si oui : on attend 10 s et si on n'a pas reçu de pulse ou si le signal Mach3 n'est pas repassé à 5V alors on bascule à 75% de puissance
3) si pendant 20s de plus le signal Mach3 est toujours à 0 et on n'a pas reçu de pulse on passe à 40% de puissance

4) dès que Mach3 veut passer en mode découpe il fait monter le signal "Current Hi/Low" quelques milli secondes avant de lancer le train de pulses de découpe
5) quand le signal Mach3 passe à 1 (et qu'on ne reçoit pas de pulse), le PIC va recharger la dernière valeur de courant dans les LMDs ce qui garantit de repositionner le moteur exactement sur la valeur d'avant le passage en courant réduit --> pas de perte de pas et remise en pleine puissance
6) le temps de traitement de ce signal est de 8,6 µs (largement assez court pour être prêt à traiter les pulses qui vont suivre :-D ). Bon si Mach3 se mettait à déconner et à envoyer d'abord les pulses, alors on sortirait du mode "réduction de courant" directement à partir du signal Step (comme avant la modif) --> mais Mach3 fonctionne bien :-D

Voila je crois que j'ai tout dit... A si j'oubliais, le code est toujours Open source GPL et il est compatible ascendant.
Vous pouvez ne pas utiliser ce mode (variable de compilation "Mach3_idle_current_control"), le code sera alors exactement identique à celui de la version précédente.

Je termine par les avantages de ce mode de réduction de courant :
- tous les axes sont contrôlés simultanément par le même signal. Il n'y a aucun risque qu'un axe passe en courant réduit alors que les autres axes travaillent. exemple pas de perte de puissance sur l'axe Z alors qu'on fait un parcours X/Y de contour à Z constant (la broche en Z restera rigide)
- tous les axes sortent du mode réduction de courant avant de recevoir des ordres de découpe
- le passage de "courant réduit" vers "courant pleine puissance" se fait sans perte de pas.


JP

CNC_JPG_50.jpg
3 ou 4 straps à poser !!!

CNC_JPG_49.jpg
schéma de principe de la modification de a carte Mdog

CNC_JPG_48.jpg
signal "Current Hi/Low sur port 1 pin 1
forcer "Low Active"
 
Y

yogirainbow

Apprenti
Ok pour le quartz
Je me demande si la carte interpcnc est vraiment compatible avec ces drivers
Je ne sais pas comment je pourrais les tester autrement.
Il faudrait que je trouve une autrecarte ou quelqu'un qui puisse me tester une carte de puissance
 
H

horsot

Compagnon
freedom2000 a dit:
Upgrade majeur du driver : le pilotage de la réduction de courant via Mach3

JP

Une question bête? Comment tu génères ce signal dans mach3? Déjà intégré ou via un script?

En tout cas bravo, avec toi les idées sont vite mises en applications! Moi qui galère avec "Petit pas" :???:

Xavier
 
F

freedom2000

Compagnon
horsot a dit:
freedom2000 a dit:
Upgrade majeur du driver : le pilotage de la réduction de courant via Mach3

JP

Une question bête? Comment tu génères ce signal dans mach3? Déjà intégré ou via un script?

En tout cas bravo, avec toi les idées sont vite mises en applications! Moi qui galère avec "Petit pas" :???:

Xavier

Déjà intégré dans Mach3 :wink:

et dans EMC2 ? :-D

JP
 
Y

yogirainbow

Apprenti
Bonjour
Je me pose une question
Mon alim est elle régulée ou redréssée-filtrée.
Dois je mettre un condo en sortie ou pas

Merci de vos lumiere.

Par contre ca ne fonctionne toujours pas.
 
F

freedom2000

Compagnon
yogirainbow a dit:
Bonjour
Je me pose une question
Mon alim est elle régulée ou redréssée-filtrée.
Dois je mettre un condo en sortie ou pas

Merci de vos lumiere.

Par contre ca ne fonctionne toujours pas.

L'alim n'a pas à être régulée .
Une bête alim avec pont de diodes et condensateur suffit.
Le condo est indispensable, il faut que sa tension de service soit supérieure à la tension d'alim pour absorber la force contre électromotrice des moteurs. Ce condo doit être "gros" 10000 ou 20000 µF.

Si tu veux que je t'aide à débugger ta carte fais moi signe !

JP
 
Y

yogirainbow

Apprenti
Donc il faut que je trouve un condo si je comprends bien
Pour l'instant je n'en ai pas mis
A moins qu'il y en ai dans l'alim.

Pour le debuggage je veux bien
 
F

freedom2000

Compagnon
yogirainbow a dit:
Donc il faut que je trouve un condo si je comprends bien
Pour l'instant je n'en ai pas mis
A moins qu'il y en ai dans l'alim.

Pour le debuggage je veux bien

et oui ! et ils sont assez chers...

Une autre chose que tu peux faire (si tu as suffisamment confiance en tes soudures) serait d'installer Mach3 sur ton PC, de piquer directement le signal step (pour un axe) sur le port // et de le rentrer sur la bonne patte du PIC sur ta carte µstep.
A priori ça ne risque pas grand chose puisque les entrées du PIC sont à "haute impédance", donc normalement le port du PC ne risque rien. Tu pourrais alors tester sans ta carte interpcnc ce qui te permettrait de dédouaner le reste de la chaîne.
Bien sûr ce système est à proscrire pour une utilisation permanente... un étage logique de type µstep ou autre restant nécessaire...

JP
 
G

guol64

Compagnon
freedom2000 a dit:
guol64 a dit:
Bon rien ne vaut la pratique : que ce soit en 1/2pas ou 1/16pas le moteur a assez de couple pour la faire tourner dans un sens mais pas dans l'autre donc le micropas ne joue que très peu sur le couple.

J'avoue que je galère sérieusement sur ISA4D :mad: , je suis a deux doigts de graver la carte de commande de mdog.

Je suis sûr de moi : pps = pulse per second :-D

Sur mes moteurs j'ai effectivement de meilleures perfos en vitesse pure (moteur à vide) quand je suis en 1/2 pas. Puis plus je monte en µpas plus la perfo s'effondre. Je pense que c'est assez logique. Les µpas ne sont pas des positions stables du moteur alors que les pleins pas et les demi pas le sont.
De plus si tes moteurs sont limite en fréquence il vaut mieux la baisser dnc se rapprocher le plus possible du plein pas --> le demi pas est pour moi le meilleur compromis.
Bien sûr si tes moteurs tiennent en 1/4 ou 1/8 ou1/16 de pas tu auras une commande plus fluide qu'en 1/2 pas.

Fais l'essai suivant :
désaccouple un moteur et teste la vitesse maxi que tu obtiens sur les différentes configurations de µpas et dis nous.

JP

Bonjour à tous,

Bon j'ai testé les vitesses max :
1/2pas : 4300tr/mn = 14Kpas/s = 28Kstep/s
1/4pas : 3500tr/mn = 12Kpas/s = 47Kstep/s
1/8pas : 1700tr/mn = 7Kpas/s = 45Kstep/s
1/16pas : 500tr/mn = 1,5Kpas/s = 27Kstep/s

Je pense qu'en 1/4pas et 1/8pas on est limité par la carte d'interpolation : 50Khz

Et en 1/16pas la vitesse max est fausse car très dépendante de la vitesse de départ et de la rampe d'accélération (j'ai dû réduire la vitesse de départ pour ne pas décrocher au démarrage).

A priori je dirais que le 1/4 de pas semble le plus adapté à mes moteurs si j'ai besoin d'atteindre ces vitesses.

Cependant je ne suis pas persuadé que le 1/2 pas m'amène plus de couple que le 1/16 de pas lorsque je tourne à 60tr/mn, je vais tout de même refaire des essai avec des vitesse de l'ordre de 5 à 10 tr/mn.
 
F

freedom2000

Compagnon
guol64 a dit:
Bon j'ai testé les vitesses max :
1/2pas : 4300tr/mn = 14Kpas/s = 28Kstep/s
1/4pas : 3500tr/mn = 12Kpas/s = 47Kstep/s
1/8pas : 1700tr/mn = 7Kpas/s = 45Kstep/s
1/16pas : 500tr/mn = 1,5Kpas/s = 27Kstep/s

Je pense qu'en 1/4pas et 1/8pas on est limité par la carte d'interpolation : 50Khz



A priori je dirais que le 1/4 de pas semble le plus adapté à mes moteurs si j'ai besoin d'atteindre ces vitesses.

Cependant je ne suis pas persuadé que le 1/2 pas m'amène plus de couple que le 1/16 de pas lorsque je tourne à 60tr/mn, je vais tout de même refaire des essai avec des vitesse de l'ordre de 5 à 10 tr/mn.

Bon, tu as les mêmes comportements que moi !
Pour un peu on dirait qu'on a les mêmes drivers :-D

Plus sérieusement tu as raison de re essayer avec le 1/2 (ou le 1/4 de pas) à vitesse de rotation très réduite. C'est logiquement là que les moteurs auront le plus de couple (et ça j'en suis sûr !)

Pour éviter les fréquences de résonance qui font décrocher les moteurs certains utilisent des "volants d'inertie" : http://www.cnczone.com/forums/showthread.php?t=32284&page=5[url]

si vous voulez voir l'effet c'est ici :


JP
 
H

horsot

Compagnon
freedom2000 a dit:
Déjà intégré dans Mach3 :wink:

et dans EMC2 ? :-D

JP

Rien vu de tel, mais si ce n'est pas intégré, je pense que ce doit être faisable. (sans y passer 2000h de boulot :wink: )

xavier
 
Y

yogirainbow

Apprenti
Bonjour
Je vous joint une photo de mon installation
Au fond a gauche : Alim 5 volts 5 Amperes max
Au milieu : Alim 12 volts de pc pour les ventilos
A droite : Alim 48 volts 12,5 amperes pour les moteurs
reglable de 39 volts à 58 volts par résistance variable en facade

Au premier plan a gauche la carte interpcnc
Au centre la carte solo

Est ce qu'il manque quelques choses pour vous?????????????????

Merci

IMAG0075.jpg
 
F

freedom2000

Compagnon
pour le radiateur ça devrait aller ... N'oublie pas la pâte thermique :-D

C'est vrai qu'il manquait aussi le moteur... Mais Xavier l'a vu avant moi :wink:

JP
 

Sujets similaires

N
Réponses
15
Affichages
1 033
Doctor_itchy
D
D
Réponses
33
Affichages
1 388
dh42
V
Réponses
11
Affichages
895
laurent12100
L
J
Réponses
34
Affichages
2 656
nicolasdu61000
N
M
Réponses
9
Affichages
660
McIntosh732
M
Haut