Vous êtes sur la page 1sur 4

Les moteurs pas-à-pas

Extrait du PoBot
http://www.pobot.org

Les moteurs pas-à-pas


- Robopedia - Composants - Les sorties - Les moteurs électriques -

Date de mise en ligne : jeudi 26 août 2010

PoBot

Copyright © PoBot Page 1/4


Les moteurs pas-à-pas

Qu'est-ce qu'un moteur pas à pas ? Comment le piloter ? Découverte des principes généraux

Sommaire
• Moteurs unipolaires et (...)
• Problématique

Les moteurs pas-à-pas sont disponibles assez facilement dans les magasins d'électroniques, à faible prix. Ces
modèles courants sont des moteurs à aimant permanent. Ce sont ceux dont nous parlerons dans cet article.

Retrouvez une rubrique complète sur les contrôleurs de moteurs

Moteurs unipolaires et bipolaires


Les moteurs pas-à-pas à aimant permanent courant sont bi-phases : ils sont constitués de deux enroulements (deux
bobines distinctes) sur le stator, tandis que le rotor est un aimant permanent (un pôle nord et un pôle sud) .
Lorsqu'un enroulement est alimenté, il crée un champ magnétique avec lequel l'aimant permanent va tenter de
s'aligner (le sud attirant le nord et vice/versa).

En alimentant les enroulements successivement dans le bon ordre et dans le bon sens, on peut alors faire tourner le
rotor dans le sens désiré. Cette succession d'alignement est ce qu'on appelle le pas.

On distingue deux familles dans les moteurs pas-à-pas à aimant permanent que nous utilisons en robotique ludique :

• les moteurs unipolaires : le courant circule dans un seul sens dans des demi-bobines, attirant toujours le
même pôle.
• les moteurs bipolaires : le courant circule dans les deux sens dans les bobines, attirant tantôt le nord, tantôt le
sud.

Les différences de commande entre ces deux moteurs se situent donc uniquement dans l'alimentation des
enroulements, mais pas dans la séquence principale : Nord sur bobine 1, Sud sur bobine 2, Sud sur bobine 1, Nord
sur bobine 2, etc... et inversement pour le sens de rotation opposé.

Dans le cas des moteurs bipolaires, la bobine n'a que deux bornes et la tension à ses bornes sera soit positive,
négative ou nulle. Des séquences particulières peuvent être utilisées, en jouant sur l'alimentation d'une bobine tandis
que la seconde garde sa valeur : on obtient alors des demi-pas, voire des quart-de-pas.

Dans le cas des moteurs unipolaires, les bobines ont 3 bornes, une centrale (reliée à un potentiel fixe, la masse par
exemple) et une à chaque extrémité. On ne se sert que de demi-bobines à chaque fois ; chaque demi-bobine servant
à générer un champ magnétique de direction opposée à celui de l'autre demi-bobine. Les demi-bobines n'ont plus
que deux états : alimentées ou non alimentées. L'avantage des moteurs unipolaires est qu'il n'y a pas d'inversion de
sens du courant dans les bobines. Ceci sollicite moins l'électronique de puissance et rend inutile l'utilisation de
diodes de roue-libre.

Copyright © PoBot Page 2/4


Les moteurs pas-à-pas

Problématique
A priori, la seule difficulté réside dans l'ordre d'alimentation des enroulements. En fait, ce n'est pas le cas. Wikipédia
[http://fr.wikipedia.org/wiki/Moteur_pas_%C3%A0_pas] et d'autres sites décrivent bien les différents états de
commande. Ça, c'est la partie facile. Le problème se situe à un niveau bien plus petit.

1. Lorsqu'un enroulement est alimenté, le rotor commence à tourner pour s'aligner avec le champ magnétique.
2. Le mouvement du rotor crée une force contre-électromotrice. On se retrouve temporairement avec le même
modèle électrique qu'un moteur à courant continu. (Force contre-électromotrice, résistance, bobine).
3. Une fois que le rotor est aligné avec le champ, la force électromotrice disparaît.

On se retrouve avec une simple bobine et une faible résistance en série (le même modèle électrique qu'un moteur à
courant continu bloqué). Le tout alimenté avec du 9, 12 ou 24 V. La résistance est de l'ordre de 1 Ohm (3 Ohm sur
mon moteur). Avec 24 V, cela fait 8 A qui traversent notre circuit et notre moteur, et pour rien ! (Généralement, 8 A
dans un circuit => Boum ! - ça marche aussi avec 9 ou 10 A.)

La solution généralement mise en place est de mesurer le courant et de couper l'alimentation lorsque celui-ci devient
trop important. Pour comprendre le fonctionnement de la commande d'un moteur pas-à-pas bipolaire, étudions le
montage L298 + L297 donné dans les fiches techniques.

Montage L298 + L297

On va commencer par la partie droite du schéma. Le L298 contient deux ponts en H. Chacun des enroulements du
moteur pas-à-pas sont alimentés de la même manière qu'un moteurs à courant continu. Le pont en H permet de leur
imposer une tension positive, négative ou nulle. Dans ce montage, il est impératif de mettre les résistances Rs1 et
Rs2. Ces résistances permettent au L297 de protéger le moteur des surintensités.

Passons à la partie droite du schéma et essayons de comprendre le rôle de toutes les pattes du L297.

Pour la partie contrôle de moteur par le microcontrôleur :


La patte 17 CC/CCW donne le sens de rotation du moteur.
La patte 18 CLOCK fait avancer ou reculer le moteur d'un pas (ou demi-pas) à chaque front montant.
La patte 19 HALF/FULL permet de passer de choisir le mode demi-pas ou pas complet.
La patte 20 RESET remet le composant en étant initial (ABCD 0101)
La patte 11 CONTROL permet de choisir sur quelles sorties agira la protection de surintensité. (au choix sur les
INH ou les ABCD)
La patte 3 HOME, est une sortie à collecteur ouvert. La sortie passe à 1 lorsque ABCD = 0101

Copyright © PoBot Page 3/4


Les moteurs pas-à-pas

L297
Détail du L297

Pour la partie contrôle d'intensité, voici comment le composant est sensé fonctionner : Les faibles résistances Rs (de
l'ordre de 0,5 Ohm) sont mises en série avec l'enroulement, entre l'enroulement et la masse. La tension aux bornes
de cette résistance donne une image du courant traversant l'enroulement. Le L297 compare cette tension (SENS1
ou SENS2) à une tension de référence (VREF) . Si la tension aux bornes de Rs est supérieure à la tension de
référence, le composant coupe l'alimentation de la bobine.

Ce système permet donc de couper l'alimentation avant de détruire le circuit. Par contre, il faut aussi un système qui
permet de ré-alimenter la bobine lorsque nécessaire. Sur le L297, ceci est fait par un oscillateur qui réactive
l'alimentation la bobine périodiquement. Si on désire piloter plusieurs moteur pas à pas avec plusieurs L297, on peut
synchroniser ces horloges de la manière suivante : un L297 utilise son horloge et "l'envoie" aux autres L297 en
reliant les pattes SYNC en elles.

Voici les pattes utilisées :


La patte 15 Vref, entrée de la tension de référence
La patte 14 SENSE_1, capteur de courant pour la bobine 1
La patte 13 SENSE_2, capteur de courant pour la bobine 1
La patte 16 OSC, point milieu d'un filtre passe bas qui sert de base de temps à l'oscillateur.
La patte 1 SYNC, sortie de l'oscillateur.

Les fiches techniques se trouvent ici : Drivers de moteurs

Post-scriptum :

Premiers essais (14/07/2010) Sur une platine de test, un PIC pilote un ensemble L297 + L293E (équivalent du L298 mais plus facile à mettre sur
une platine d'essais). J'ai tout soudé sauf les diodes de roue libre. Je sors le L297 et le L293E de leur support, je ne mets que la tension logique
qui provient de ma liaison USB. Un petit code configure le PIC pour activer le L297 et lui fait faire un pas toutes les secondes. Au voltmètre, je test
les tensions d'entrée du L297. Les première mesure ne sont pas bonnes, je me sers des pattes du port A du PIC. Celle-ci sont configurées en
analogique par défaut, je les configure en digital (registre ADCON).

Deuxième tentative, les tensions d'entrées semblent bonnes, je coupe l'alimentation, branche le L297 et mesure la tension de sortie entre A et B
ou entre C et D. Je m'attends à voir successivement +5V, 0V, -5V, 0V. Mais, les deux mesures sont stables, à +5V. Je me doute que cela vient de
la génération du signal pour l'entrée CLOCK du L297. Dans la fiche technique, il est recommandé de mettre CLOCK à 1 et de la ramener
brièvement à 0 pour marquer un pas. Le temps minimum à 0 doit être de 1µs. Je faisais l'inverse, je maintenais l'horloge à 0 et la faisais passer à
1 pendant 1 cycle de PIC, soit 1/12 µs.

En modifiant le code de génération du créneau, on obtient la bonne séquence de tension, en branchant le L293E et le moteur j'ai pu voir le moteur
tourner brièvement.

N'ayant pas mis les diodes de roue libre, le L293E m'a laissé tombé.

Copyright © PoBot Page 4/4

Vous aimerez peut-être aussi