Le contrôle des moteurs pas-à-pas

Faire tourner un moteur pas à pas unipolaire, c'est relativement facile, il suffit de faire passer le courant successivement dans chacune des phases. Le faire tourner à une certaine vitesse avec du couple, c'est une toute autre histoire. Dès qu'il tourne, un moteur à besoin d'une tension supérieure à sa tension à l'arrêt si l'on veut maintenir son intensité nominale, garante du couple.

Il existe un moyen simple de réguler le courant que l'on envoie dans un moteur unipolaire, c'est de découper le courant (continu) en tranches très fines, et de ne maintenir la tension que pendant une fraction du temps. Si l'on maintient durant la 'tranche', la tension pendant 33% du temps, le moteur se comportera comme s'il était alimenté avec une tension trois fois inférieure. Il faut évidemment que les tranches soient suffisamment fines, auquel cas le moteur n'y voit que du feu.

Cela s'appelle une régulation en PWM (Pulse Width Modulation), modulation de largeur d'impulsion en français (MLI) et c'est utilisé dans bien d'autres domaines.

Pour un moteur pas à pas, on peut même faire une régulation plus fine, en ajustant en temps réel la largeur d'impulsion, a partir d'une mesure du courant faite avec une résistance de shunt. Le couple du moteur s'en trouve sensiblement amélioré dès que l'on tourne avec une certaine vitesse, l'intensité nominale s'établissant beaucoup plus vite dans les bobinages. Avec un tel système, on peut faire avancer les moteurs unipolaires jusqu'aux environ de 10000 pas/sec. et les moteurs bipolaires à 5000 pas/sec avec environ 50% du couple nominal, mais avec une tension plusieurs fois supérieure à la tension nominale. Un moteur unipolaire 5 V pourra (et devra !) être alimenté aux alentours de 40V pour atteindre cette vitesse et maintenir un couple raisonnable. Un moteur bipolaire 2.6V devra être alimenté en 24V pour atteindre ses performances maximum.

Un moteur bipolaire ne peut tourner aussi rapidement qu'un moteur unipolaire car le courant change de sens dans chaque bobinage à chaque pas, alors qu'il se contente de repasser à zéro à chaque pas pour un moteur unipolaire.

Compte tenu de son faible coût (10 Euros), le circuit L297 de SGS-Thomson, qui incorpore le système de séquencage, le PWM et le contrôle de courant, remporte un franc succès pour les applications de puissance. Ceci d'autant plus qu'il permet le pilotage de moteurs unipolaires ou bipolaires. Il faut néanmoins lui ajouter un étage de puissance pour la sortie. Le circuit L298 (8 Euros) pour un moteur bipolaire 2 A maxi, ou 4 transistors darlington ou 4 MosFet pour un moteur unipolaire.

Les autres solutions, à base de circuits hybrides, sont absolument hors de prix. Le circuit GS-D200S coûte 95 Euros pour un circuit complet contrôleur plus étage de puissance de 2.5 A.

Datasheets électronique Contrôleurs :

L297N : Contrôleur moteur pas à pas (bipolaire ou unipolaire) avec génération PWM : 9 Euros
EDE1024 : Contrôleur moteur pas à pas bipolaire simple. Peut générer ses propres tops
TEA3717 : Contrôleur + driver 1A pour *un* bobinage d'un moteur bipolaire (3.35 Euros/pièce)
MC3479P : Contrôleur + driver 0.35A/coil moteur bipolaire, avec diode : Le plus simple en bipolaire basse puissance, 7.32 Euros
L6219 : Contrôleur + driver 0.75A/coil moteur bipolaire, avec diode : avec PWM, commande en définissant les phases, 7 Euros
FT-609 : Contrôleur moteur pas à pas liaison série, peut faire des rampes
SAA1027 : Contrôleur + driver 0.5A moteur unipolaire.
SLA7024/7026 : Contrôleur PWM + driver 1.5A/3A moteur unipolaire.
UDN2917EB : *Nouveau* Contrôleur + driver 1.5 A moteur bipolaire, avec diodes. Composant sms ou PLCC. Disponibilité ?
L6219 : 6.1 Euros

Drivers :

L293N : Double pont pour moteur bipolaire , 1A, boîtier powerDip
L298N : Double pont pour moteur bipolaire , 2A peut être doublé pour avoir 3.5 A, boîtier Multiwatt, 6 Euros
L6203 : Pont simple pour moteur bipolaire (2 pour moteur bipolaire) 4 A : 8.4 Euros
UDN2998 : *Plus produit* Double pont pour moteur bipolaire, 2A incorpore diodes, mieux que le L298, brochage plus simple (1 ligne)
ULN2803/2804 : Octuple Darlington avec diodes, 0.5A , manque portes pour faire un pont
ULN2064 : Quad darlington 1.5A, avec diodes
UDN2916 : Double pont + PWM control 0.75 A
LMD18200T : Pont simple + diodes 3A,contrôle courant, plutôt pour moteurs DC : 26 Euros
UDN2544 : Pont simple 1.8A + portes de contrôle et diodes, peut permettre contrôle moteur unipolaire direct avec 2 signaux, 4.27 Euros.
UDN3971 : Double pont pour moteur bipolaire, 2.5A, avec diodes (MosFET), chauffe peu : 14 Euros
UCN5804 : Driver + logique moteur unipolaire 1.25A, avec diodes : 9.1 Euros

Pour le contrôle d'un moteur bipolaire :

Simple, 0.35A/phase : MC3479P : 7.5 Euros
Simple, 1A/phase : 2*TEA3717 : 7 Euros
Avec PWM , 0.75 A/phase : L6219 : 6 Euros, Logique de commande par phases (2 fils)
Avec PWM , 1.5A/phase : UDN2917EB : 15 Euros
Avec PWM , 2A/phase : L297 + L298 + diodes : 20 Euros
Avec PWM , 2.5A/phase : L6208N : 18 Euros ?
Avec PWM , 3.5A/phase : L297 + 2*L298 + diodes : 28 Euros
Avec PWM , 5A/phase : L297 + 2*L6203 + diodes : 40 Euros

Pour le contrôle d'un moteur unipolaire :

Simple, 1.5A/phase : UCN5804, 10 Euros
Simple, 1.8A/phase : UDN2544, 4.5 Euros , nécessite logique spéciale sur l'ordinateur
Simple, 5A/phase : 4070 + 4027 + 4 darlington et diodes ou 4 Mosfet : 7 Euros
Avec PWM, 5A/phase : L297 + 4 Darlington et diodes ou 4 Mosfets : 18 Euros

ULN2003A Pour les sorties relais; Réseau de 7 transistor darlington 0.5 A

Il est possible de faire, moyennant une programmation très sérieuse (du fait du timing très court), un PWM sur un moteur unipolaire directement avec un ordinateur, mais il faut ajouter un système de contrôle du courant. Ce système est utilisé par Mel Bartels dans le contrôle des télescopes, pour les déplacements à grande vitesse, en parallèle avec un système de micropas pour obtenir une super précision. L'électronique est économique, mais la programmation est carrément compliquée. De plus c'est écrit en C. Et ça tourne sur PC 486, même pas Pentium.

Dans le L297, le séquençage, le PWM et un système de contrôle de courant est incorporé, d'ou en fait un circuit plus simple. Et des programmeurs nettement moins fatigués.

Usuellement, on fournit aux circuits de contrôle des moteurs pas à pas des tops qui déclenchent un pas ou un demi-pas, et on utilise un deuxième signal indiquant le sens de rotation.

Si la vitesse n'a pas d'importance (cas des machines de coupe de polystyrène), un système avec des UDN2544 serait ultra-économique et d'une taille ridicule (très peu de composants périphériques), mais il faut gérer les signaux de contrôle différemment de l'habitude (c'est à dire autre que les tops et l'inversion de sens). Rien de franchement insurmontable néanmoins, environ 4 lignes de programmation. Facile, si vous êtes l'auteur du programme. Autrement...

Pour les applications de puissance modérée, le circuit L6219, avec PWM, permet de faire tourner rapidement un petit moteur bipolaire (< 0.75 A/phase), et donc d'obtenir une puissance non négligeable. La tension d'alimentation des moteurs n'a pas besoin d'être régulée. Le coût global Circuit + moteur + Alimentation est donc probablement ce qu'on peut avoir de plus faible. Probablement suffisant pour une fraiseuse, mais avec une démultiplication convenable.

Un contrôle avec PWM permet : de contrôler le courant dans les bobinages, donc d'avoir une tension d'alimentation élevée, permettant de tourner vite : env. 5000 pas/sec. avec moteur bipolaire et 1/2 couple à pleine vitesse env. 10000 pas/sec avec moteur unipolaire (couple ?) La tension d'alimentation doit être au moins de 4 fois la tension de fonctionnement du moteur. On peut néanmoins faire tourner des moteurs 5V avec une batterie de 12V, mais c'est un peu court. Préférer dans ce cas des moteurs 2.6V.

Pour les applications ou on veut de la puissance, un contrôleur PWM est indispensable.

On peut pallier le manque de couple des moteurs unipolaires en les faisant tourner plus vite, avec une démultiplication plus élevée. Néanmoins, il faut que le programme suive (pas d'interruption intempestive). Il faut évidemment prévoir des rampes d'accélération et de décélération.

Les moteurs unipolaires, défavorisés en couple, peuvent compenser cette faiblesse en tournant plus vite.

Les autres solutions se basent sur une résistance en série avec les bobinages, pour augmenter un peu la tension lorsque le courant baisse. Cette solution atteint très rapidement ses limites, et une résistance de puissance (non inductive), chauffe et coûte plus cher qu'un transistor.

(c) Pierre ROUZEAU

Plus de détails et les plans d'une "big" machine sur le site de Pierre : http://www.otocoup.com qui devient le site technique de référence sur l'electronique de commande et les moteurs pas-à-pas. A VISITER SANS MODERATION ! - wapics