Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Actionneurs > Les moteurs électriques > Les moteurs pas-à-pas

Les moteurs pas-à-pas

jeudi 26 août 2010, par Keuronde

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

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.

 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 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.

PNG - 78.9 ko
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

PNG - 68.8 ko
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


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é.

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document