Académique Documents
Professionnel Documents
Culture Documents
Les Moteurs Pas A Pas
Les Moteurs Pas A Pas
SOMMAIRE
Les Moteurs pas pas :
Les moteurs rluctance variable
Les moteurs bipolaires
Les moteurs unipolaires
Mais quils soient dun type ou dun autre, le rsultat recherch est lavance dun
seul pas chaque impulsion que le moteur recevra, cest dire que son axe
effectuera chaque pas une rotation dun angle dtermin. Cet angle, selon le
moteur, peut varier dans de grande proportion :
il peut avoir une valeur comprise entre 0,9° et 90°. Les valeurs les plus
couramment rencontres sont :
Il va sans dire que la prcision de ces moteurs est infiniment grande et que leur
usure mcanique est pratiquement inexistante, ce qui les rend tout fait adapts au
matriel informatique :
lecteurs de disquettes
disques durs
imprimantes
La figure 1 reprsente le schma simplifi dun tel moteur pas pas. Ce dernier se
commande la faon dun modle unipolaire, en alimentant une paire de ples du
stator afin daligner les pices polaires du rotor avec les enroulements aliments.
Trois squences pour lalimentation des phases peuvent tre utilises :
en mode demi-pas :
1A
2 AC
3C
4 BC
5B
6 BD
7D
8 DA
Le circuit lectronique de commande de ce moteur est simple puisquil ne rclame,
dans sa version la plus simple, que quatre transistors utiliss en commutation
(figure 2).
On alimente :
AB
CD
BA
DC
AB
Cette troisime squence est reprsente en figure 4c. L, le moteur est command
en biphas, puis en monophas, puis en biphas, etc. On arrive ainsi doubler le
nombre de pas dun moteur et augmenter sa prcision.
nutiliser que deux transistors, mais dans ce cas, une alimentation symtrique sera
ncessaire (figure 6).
On peut considrer que ce type de moteur est identique au moteur bipolaire, une
diffrence prs :
afin dinverser le sens du courant, les enroulements sont raliss laide de deux
fils dont lune des extrmits est reli la masse (ou au plus de lalimentation).
Il suffit alors dalimenter les enroulements tour de rle afin dobtenir la rotation
de laxe du moteur, et selon la mme squence vue pour le moteur rluctance
variable.
Un moteur unipolaire prsentera, dimension quivalentes, un couple moins
important quun moteur bipolaire. La commande dun moteur pas pas unipolaire
ne ncessitera que quatre transistors NPN qui seront command tour de rle, par
exemple, laide de porte logiques.
Pour conclure cette brve description, signalons que ces moteurs (bipolaires et
unipolaires) ne peuvent prsenter des vitesses de rotation trs leves. Cette
limitation est en grande partie due la tension induite par le rotor dans le stator et
produisant une force contre-lectromotrice. Si lon dsire des vitesses suprieures,
il conviendra dutiliser les moteurs rluctance variable, dont le rotor est, comme
nous lavons dit plus haut, en fer doux non magntique, et qui ninduit donc pas de
tension dans le stator.
Il est facile, comme nous le verrons dans les pages suivantes consacres aux
montages pratiques, de raliser une commande lectronique de moteur pas pas
laide de commande de composants discrets :
Des transistors de puissances commands par des portes logiques avec un dispositif
de limitation de courant. Mais il est encore plus simple dutiliser des circuits
intgrs spcialiss, circuits ne ncessitant que quelques composants externes et
simplifiant au maximum lenvoi des squences de commande. Ils disposent en
outre de toutes les fonctions telles que le sens de rotation, le mode demi-pas, la
mise en haute impdance des sorties (moteur libre), etc.
Nous vous proposons maintenant la prsentation de quatre dentre eux, choisis
parmi les plus utiliss, et donc facilement disponibles. Cette prsentation permettra
une mise en uvre facile des circuits prsents.
Le circuit intgr TEA3717
Caractristiques gnrales :
Le circuit est destin la commande dun enroulement dun moteur pas pas
bipolaire. Il convient donc dutiliser deux circuits afin de piloter le moteur. Il
comporte en interne deux entres compatibles T.T.L., un palpeur de courant, un
monostable et un tage de sortie quatre transistors protg par des diodes.
Deux circuits seront raliser afin dobtenir une commande complte. Les entres
logiques I0 et I1 permettent de dterminer le courant du pont de sortie par
commutation des trois comparateurs internes :
I0 I1 NIVEAU DU COURANT
H H annulation du courant de sortie
L H courant faible
H L courant moyen
L L courant maximum
La valeur du courant traversant le bobinage du moteur dpend galement de la
valeur de la tension de rfrence applique sur lentre VR et de la valeur de la
rsistance RS (du palpeur de courant). Ce palpeur de courant, outre la rsistance
RS, est constitu dun filtre passe-bas et de trois comparateurs. Seul lun de ces
derniers peut tre actif dans le mme temps.
La limitation de courant fonctionne de la faon suivante :
Le courant traversant lenroulement du moteur traverse galement la rsistance RS.
Lorsque le courant a augment de telle sorte que la tension aux bornes de la
rsistance devient suprieure la tension de rfrence applique sur lune des
entres du comparateur slectionn, la sortie de ce dernier passe ltat haut ce qui
enclenche le monostable. Le courant est alors annul durant une dure fixe appele
Toff. Cette dure est donne par la formule :
Toff=0,69.Rt.Ct
2. broche 1
Connexion dune diode de clamp. Cette entre est utilise afin de protger
les sorties lorsque des pointes de tension leves apparaissent lors de la
commutation des enroulements des moteurs. Cette diode doit tre connecte
entre la broche 1 et la broche 16 (Vs)
3. broche 6 BIAS/SET
Les trois squences de commande cites plus haut peuvent tre facilement obtenues
partir de cette squence de base.
Le circuit intgr L297 possde quatre sorties de commande des tages de
puissance, ainsi que deux sorties supplmentaires dinhibition de ces tages
(lorsquil est utilis avec le L298). Ces deux sorties sont commandes par une
logique interne elle-mme dclenche par deux comparateurs.
Celui-ci permet de disposer dun courant important (2,5A) sous une tension leve
(46V). la puissance obtenue peut ainsi atteindre environ 200W, ce qui permet
lalimentation de moteurs puissants prsentant des rsistances de bobinage faibles.
Il va sans dire que dans ce cas, le circuit devra tre fix sur un dissipateur
thermique de dimensions convenables.
ANNEXES :
Spcification du L297 :
Spcification du L298 :
I) BUT DE LA MANIPULATION
Le but de la manipulation est l'tude de la commande d'un moteur pas pas asservi en
position par faisceau infrarouge. Un circuit programmable PAL sera programm au cours de
la sance pour modifier la logique de commande du moteur.
Le synoptique du montage est donn en figure 1.
Emetteur IR
Moteur pas pas
Rcepteurs IR
Figure 1
L'metteur infrarouge pouvant se dplacer sur un arc de cercle, le moteur pas pas
doit "suivre" son dplacement. En cas d'absence de cible infrarouge, le moteur se place en
phase de recherche en effectuant un balayage unique sur le demi cercle complet puis se met
en veille. Une relance manuelle du cycle de recherche est toujours possible. Deux
interrupteurs fin de course limitent le mouvement du moteur un demi cercle. Nous
Rcepteurs IR
Emetteur IR
Figure 2
La somme des nergie reues sur les rcepteurs permet de savoir si la cible est
prsente. La diffrence d'nergie reue sur chacun d'eux permet de savoir si le moteur
"pointe" ou non sur la cible. On peut ainsi agir sur la commande du moteur pour corriger sa
position et le ramener dans l'axe de l'metteur.
II.2) Caractristiques lectrique et optique des metteurs/rcepteurs
Vcc
modulateur
10kHz
TL072
2N2219
phototransistor
-Vcc
Figure 3
Figure 4
Le schma de l'metteur est donn figure 3. La longueur d'onde utilise est de 930nm.
L'mission est module en tout ou rien 10 kHz par un oscillateur NE555. Lamplificateur
oprationnel mont en suiveur avec le transistor 2N2219, permet de fixer le courant (et non
la tension !) traversant la diode mettrice SFH415.
Compte tenu de la distance metteur / rcepteur gale 8cm et lcartement des
rcepteurs (5cm) langle douverture des diodes choisi est de 35.
Le schma du rcepteur est donn en figure 5. Le phototransistor BPV11F se
comporte comme un gnrateur de courant de valeur proportionnelle lclairement reu sur
la base. Sa frquence de travail est trs limite (beaucoup plus faible que celle dune photo
diode) cause de leffet miller. Il est, par ailleurs, muni d'un filtre optique rejetant la lumire
ambiante.
phototransistor
Dtection
crte
Vdiff
Vsom
-Vcc
phototransistor
ampli de diffrence
ampli de sommation
-Vcc
Figure 6
Lexcitation est gnralement ralise par 2, 3 ou 4 enroulements. Le rotor comporte
un nombre important de dents ralisant autant de ples magntiques. Ce nombre
dtermine le pas du moteur. Celui-ci peut tre pilot par pas ou par demi pas en fonction
de la squence de commande applique aux enroulements de lexcitation.
Dans le cas dun moteur 4 enroulements, la commande par pas peut tre obtenue de
deux faons :
* alimentation tournante dun seul enroulement parmi les quatre (excitation pleine
onde ou monophase). On obtient alors les pas pairs.
Figure 7a
* alimentation tournante de deux enroulements contigus parmi les quatre (excitation
normale ou biphase). Dans ce cas, on obtient les pas impairs. Cette deuxime solution est
deux fois plus consommatrice de courant mais permet dobtenir un couple suprieur.
Figure 7b
En combinant les squences a) et b), on peut raliser une commande par demi pas pour
un positionnement plus prcis. Le sens de rotation dpend uniquement de l'ordre dans lequel
on applique la squence de commande.
III.2) Caractristiques lectriques
Le moteur utilis comporte 2 enroulements avec point milieu, soit 4 phases. Ce qui
permet de raliser 200 pas sur 360. Aliment sous 5V, chaque enroulement appelle un
courant de 800mA. L'impdance quivalente d'un enroulement est donne par : Rs 5
ohms Ls mH ( mesure de 100 Hz 1 kHz)
III.3) Caractristiques mcaniques
Les moteurs pas pas ne sont pas prvus pour tourner vite. Si la frquence de la
commande augmente, le moteur peut ne pas suivre ou "rater" des pas. Les frquences
dutilisation classiques sont de quelques centaines de Hz au plus, soit une vitesse de rotation
de 30tr/min environ.
IV) LOGIQUE DE COMMANDE
Le schma de principe est donn figure 6a.
comparateurs
Horloge
Bouton
poussoir
CLK
des rcepteurs
C
Vdiff
ampli de
diffrence
Logique et
squenceur
1
D
codage
B
T1
N
Circuit logique
programmable (PAL)
ampli de
sommation
Vsom
S
V
W
vers Transistors de
commande moteur
(PNP)
T1 vert
T2 bleu
T3 noir
T4 rouge
D
fin de
course g.
SI
fin de
course d.
sur
intensit
T4
1
0
0
T2
T3
1
0
Figure 6a
La logique de fonctionnement est la suivante :
1) Si Vsom > 2 alors A=1 : la cible est allume et localise :
Si -1<Vdif <1, arrt moteur (cible centre).
Si Vdif>1, le moteur tourne gauche (S3=0, G=1).
Si Vdif <-1, le moteur tourne droite (S3=1, D=1).
2) Si Vsom < 2 alors la cible est teinte ou masque (A=0) :
Phase de recherche =>un A/R et arrt sur le "fin de course"
gauche.
Nouvelle recherche
poussoir.
Si la cible est localise alors retour la phase 1).
3) Si sur intensit (SI=1) dans les enroulements alors extinction de toutes les phases :
Relance possible aprs coupure de l'alimentation gnrale.
Lensemble de la logique est intgr dans un composant logique programmable PAL
22V10 du constructeur LATTICE permettant une utilisation combinatoire et/ou squentielle.
Un premier bloc combinatoire gnre des variables internes (notamment : S, V, W, N).
Celles-ci sont ensuite utilises par le second pour un dcodage et le pilotage des transistors.
Le brochage complet de la PAL ainsi que les quations logiques sont donnes figure
6b.
SI
VCC
STOP
GND
T1
T2
T3
T4
S3
S2
S1
S1 F . G F . B. D F . C F . E
S 2 B. D. C . A B. D. F . A B . C. F . A D. C. F . A D. A A. F . G A. F . B. D A. F . C A. F . E
S 3 A. B. D A. F A. G . B . C . E A. G . B . F. E A. G . D. C . E A. G . D. F. E
STOP: S. I STOP (:= signifie commutation synchronise sur front montant d'horloge)
V : I .V I .V
W: W . I W . I .V W . I .V W . I .V
"excitation pleine onde" (un seul enroulement aliment la fois). Mais elle devra tre
modifie pour un pilotage en excitqtion normale. Pour une commande par demi pas, un
squenceur 8 tats est ncessaire.
Compteur 4 tats
W (MSB)
V
T1 Vert
sorties dcodes
T2 Rouge T3 Noir
Sens (S)
1
Table 1
T4 Bleu
T1 N W V
T 2 N S.W S.V W . S W .V V . S V .W V
T3 N W V
T 4 N S.W S.V W. S W.V V . S V .W V
Le schma logique complet correspondant est donn en annexe.
REMARQUES IMPORTANTES :
1) Tn=1 transistors PNP bloqusmoteur libre (mode test non asservi). La
variable N passe 1 en cas de sur intensit (par la variable interne STOP) ou en cas de
manoeuvre de l'interrupteur pour librer le moteur.
Jaune
Vert T1
Rouge T4
Blanc
Blanc
Bleu T2
S=1
S=0
Noir T3
Jaune
V) COMMANDE MOTEUR
Le schma de principe est donn ci dessous en figure 9. Hormis les transistors et
diodes roues libres, on retrouve un capteur de courant effet Hall (marque LEM, cf data sheet
en annexe) plac entre le point commun des enroulements et la masse. Il permet de mesurer le
courant passant dans ceux-ci et d'actionner une scurit en cas de sur intensit.
+5V
T
1
Vert
T
2
Bleu
Seuil scurit
en courant
Diode
roue libre
Jaune
Blanc
Capteur de
courant
effet Hall
T
4
Vers logique
de commande
T
3
Rouge
Noir
4 TIP125 PNP
Darlington
+5V
Figure 9
VI) EXPERIMENTATION
VI.1) Analyse de la partie analogique
1) Inhiber la commande moteur pour "ouvrir" l'asservissement. (interrupteur K1)
2) Mesurer au point Id (J27) le courant puls dans l'metteur. Quel est l'intrt de la
modulation tout ou rien 10kHz par rapport une mission continue?
3) Tracer la courbe Vdiff (J5) en fonction de l'angle entre l'indicateur et l'metteur IR,
le moteur tant immobile. En dduire la "plage d'accrochage" de l'asservissement. Quel est
l'intrt d'une telle structure diffrentielle ? Vrifier la commutation des signaux D (en J29) et
G (en J30) en fonction de l'angle.
4) Tracer la courbe Vsom (J6) en fonction de l'angle entre l'indicateur et l'metteur IR,
le moteur tant immobile.Vrifier la commutation du signal S (en J31)
5) Quelle est l'influence de l'appariement imparfait des deux rcepteurs ? Comment est
il compens ?
ANNEXES
ANNEXE 1 Schma gnral
SCHEMA GENERAL
P5
Vdiff
Vcc
NE555
P7
R
R
-Vcc
TL072
2N2219
Vcc
P1
phototransistor
Vcc
comparateursVcc
LM311
Vcc B
-Vcc
Vcc
P2
phototransistor
Vsom
C
-Vcc
Vcc
R
P3
74LS14
NE555
P6
Vcc
fin de
course relance cycle
gauche recherche
1k
-Vcc
"moteur libre"
Vcc
fin de
course
droit
1k
1k
CLK 1 E S
N E S
S E S
I
E S
SI
E S
A E S
B E S
C E S
D E S
E
F
GND
E S
E S
E
Vcc
+5V
T
1
Vert
moteur
Bleu
T
2
Seuil scurit
en courant
P4
Diode
roue libre
Jaune
Blanc
Capteur de
courant
effet Hall
T4
S3
S2
S1
-Vcc
P8
VCC
STOP
V (NC)
W (NC)
T1
T2
T3
T
4
Rouge
Noir
4 T IP 125 PNP
Darlington
+5V
T
3
PAL 22V10
L'angle mentionn est celui form entre l'axe optique de l'metteur et l'axe de la flche.
vers SI
Vdiff
angle
(degrs)
"1"
G
angle
"1"
D
angle
Vsom
angle
"1"
S
angle
BG
"1"
BD
E
Charge L,R
Ic
Ic h
Ic
sans diode
avec diode
Id
0,8V
Vce
Vbe
E
Vce
Figure 7
Ce type de "hacheur statique" utilise un transistor de puissance bipolaire comme lment de
commutation sur charge inductive (R, L, Ec). Durant les temps de commutation trs courts
(=s) on peut considrer que le courant dans la charge R,L est constant. On a donc :
Ic+Id=Cste=Ich
On appelle Ich1 le courant dans la charge au moment de l'amorage et Ich2 le courant au
moment de la coupure.
Phase d'amorage :
Le transistor est initialement bloqu par une tension ngative applique sur sa base. Le
courant Ich1 impos par la charge circule travers la diode D en direct.
Lorqu'on applique la tension de commande positive, on observe tout d'abord un temps
de retard pendant lequel Ic et Vce ne changent pas : ce temps correspond la charge des
capacits de transition Cbe et Cbc par le courant de base direct. La tension de base monte.
Lorsqu'elle atteint le seuil de conduction (voisin de 0,5V), le courant commence circuler
dans le collecteur. Tant que Ic n'a pas atteint la valeur Ich1, la diode D reste conductrice et par
consquent Vce reste gale E (augmente du seuil de la diode en direct Vd).
Lorsque Ic=Ich1, D cesse de conduire; la tension Vce dcroit jusqu' Vcesat 0.5V.
Il faut remarquer que pendant toute la monte de Ic, la tension Vce est maximale
et que pendant la chute de Vce le courant collecteur est gal la totalit du courant de la
charge. Les pertes l'amorage seront donc leves.
Phase de coupure :
Lorsqu'on applique la tension de blocage , le transistor reste satur pendant le temps de
"dstockage" Ts, ncessaire pour vacuer les charges emmagasines pendant la saturation. On
peut considrer Ts comme un simple temps d'allongement de la conduction.
Lorsque les charges stockes ont t vacues par le courant inverse de base, une
partie du courant Ich2 va charger la capacit de transition Cbc : Vce monte de Vce sat E;
durant cette monte, le courant "externe" du collecteur reste gal au courant de charge puisque
D ne peut pas conduire : elle reste bloque tant que Vce n'a pas atteint E. Lorsque Vce atteint
cette valeur, la diode entre en conduction et le courant de collecteur peut alors dcrotre.
L encore les pertes seront importantes, la monte de Vce se faisant courant
collecteur maximal (Ic=Ich2) et la coupure de courant se faisant tension maximale
(E+Vd).
Influence du courant de recouvrement inverse de D l'amorage :
A l'amorage, le circuit dans lequel se trouve la diode voit sa tension s'inverser de Vd
-E
brusquement. Pendant ce court instant dit de "recouvrement", le courant traversant la diode
s'inverse de faon vacuer les charges stockes en direct et provoque une surintensit
ponctuelle dans le transistor. On utilisera donc de prfrence des diodes recouvrement
rapide.
Puissance moyenne dissipe dans le transistor :
L'nergie perdue sur une priode T se dcompose de la faon suivante:
Pertes Statiques :
a) Ws : nergie perdue pendant la saturation Tsat
Ws = Vcesat . Icmoyen . Tsat
b) Wb : nergie perdue pendant le blocage Tb (avec Tsat+Tb=T)
Wb = E.Icex.Tb
o Icex = courant de fuite du transistor bloqu (
Pour un rapport cyclique donn, ces pertes sont constantes.
Pertes dynamiques :
Wt : nergie perdue pendant les commutations (amorage et coupure)
Pour un rapport cyclique donn, ces pertes augmentent avec la frquence car les temps
de commutations sont, eux, constants.
La puissance totale moyenne dissipe par le transistor lorsqu'il fonctionne une
frquence f=1/T s'exprime alors par la somme des diffrentes contributions :
Pmoy= P(S+B)+Wt.1/T
Le premier terme ne dpend que du rapport cyclique de la commande et le deuxime
augmente proportionnellement la frquence de dcoupage. La puissance moyenne doit bien
videmment rester infrieure la puissance continue maximale que peut dissiper le transistor.
Id
Ic h1
Ic h
IRR
Ic
Vce
IRR
Vbe
Ic
Ic h2
Ic h1
Vce
E+Vd
Vce sat
Amorage
Coupure
LA-25 NP
Principe de fonctionnement
Particularits :
>100kHz
Le flux magntique cr par le courant primaire IP est compens laide dune bobine secondaire, par
lintermdiaire dune cellule effet Hall associe un circuit lectronique. Le courant secondaire de
compensation est lexacte reprsentation du courant primaire.
III/ EXPLE
Contrle d'un moteur pas pas bipolaire via une ligne rs232
Les moteurs pas pas sont trs pratiques car ils permettent de faire tourner leur axe d'un angle prcis. Un
moteur pas pas bipolaire est compos de 4 fils coupls deux par deux aux bobines constituant le moteur.
Figure1: Un moteur pas pas, l'aimant au centre est attir par les lectro aimants que l'on polarise pour
obtenir chaque pas
Vulgairement, le moteur pas pas est constitu d'un aimant central et d'lectro aimant. En modifiant la
polarisation des lectro aimants ont fait effectuer l'aimant central une rotation. On peut ainsi trouver aisment
des moteurs qui ont une rsolution de 200 pas par tour. De plus, avec une lectronique approprie derrire, il est
possible d'augmenter la rsolution et de l'augmenter ainsi facilement de 8 fois (de 200 pas on pas 1600 pas par
tour).
Pour contrler un tel moteur nous aurons besoin d'un driver qui donnera de la puissance. Pour notre application
qui dans un but premier doit simplement contrler un moteur via le port srie, nous ne nous compliquerons pas la
vie et nous utiliserons simplement une puce trs courante: l293. A noter que si quelqu'un voulait utiliser non pas
un moteur bipolaire mais un moteur unipolaire, il lui faudrait utiliser un uln2003 que nous n'tudierons pas dans ce
document.
Pour contrler un moteur pas pas, voici l'enchainement des codes envoyer suivant le pas dans lequel on se
trouve :
RB4
RB3
RB2
RB1
RB0
Le but de l'application est de recevoir un nombre de pas faire effectuer par le moteur et de pouvoir contrler sa
vitesse via une ligne rs232.
La premire tape est d'initialiser le pic et le moteur, vu que l'on ne connait pas quel pas se trouve le moteur,
nous lui faisons effectuer quelque pas dans le vide, pour tre sur qu'il passe au moins une fois par le code sur
lequel il s'est arrter.
Dans ce programme dont vous pourrez trouver les sources dans les tlchargements, l'octet envoy par
l'ordinateur est spar en deux parties, le bit de poids faible donne la direction du mouvement et les 7 autres bits
donnent un nombre pair de pas effectuer. Quand les pas sont effectus, l'ordinateur reoit une confirmation par
la rception d'un 1.
Pour effectuer le bon pas, il faut absolument connaitre la position dans laquelle le moteur est. Comme vous
pouvez le remarquez sur le tableau ci-dessus, il existe 4 codes qui doivent senchainer dans un sens ou dans
lautre pour que le moteur tourne. La solution que nous avons choisie est trs simple comprendre et est
expose dans le code source du programme.
Je prfre prvenir quil existe dautres mthodes, plus simple pour arriver au mme rsultat, mais jespre que
vous men voudrez pas de mtre amuser passer par une technique plus longue.
La premire partie est de savoir dans quel pas on se trouve, pour a nous conserverons la dernire position dans
une variable. Ensuite il suffit de regarder la valeur dcimale de chaque code.
Vu que RB1 vaut 2, RB2 vaut 4, RB3 vaut 8 et RB4 vaut 16, on peut donc calculer quel valeur dcimal chaque
pas, il suffit alors dajouter ou de retirer au PORTB la valeur ncessaire pour passer au pas suivant ou prcdent
suivant la direction demande.
Pour contrler la vitesse nous passerons par un sous menu accessible depuis l'envoie du code 255 soit h'ff'.
Lorsque l'on rentre dans ce sous menu, l'ordinateur reoit une confirmation par la rception d'un '4' qui indique
l'ordinateur qu'il peut envoyer un nouvelle octet prcisant la vitesse. La vitesse n'est rien d'autre que le temps de
pause entre chaque pas. Dans un moteur pas pas, la puissance du moteur dpend fortement de la vitesse
laquelle il tourne. Une fois la vitesse envoye, (1=1s jusqu' 255= 255s), le pic renvoie un 5 en confirmation.
Pour tester l'application, vous pouvez utiliser ce programme qui permet d'envoyer ce que l'on veut sur le port
srie
http://www.docklight.de/
Telecharger le code source
Pour ceux qui souhaiterait aller plus loin avec les moteurs pas pas, je vous conseille ces articles-ci parru plus
rcemment sur roboticus.org
Le moteur pas pas bipolaire
Drive pour moteur pas pas avec microstepping via la puce A3979
/ 12
Note
Mauvais
Trs bien
vote
com_content
46
http://w w w .roboticus.org/electronique/46-un-drive-de-moteur-pas-a-pas-avec-la-puce-a3979
Nous avons vu prcdemment que pour contrler un moteur pas pas il est ncessaire de changer la polarit
des bobines pour chaque pas. De plus si on souhaite contrler en divisant les pas (microstepping) il est
ncessaire de contrler le courant circulant. Ce qui devient une tche bien difficile. Heureusement il existe des
puces qui rendent ce travail compltement transparent, il restera uniquement placer derrire un microcontroleur
qui envoie des impulsions la vitesse de rotation souhaite.
La puce A3979 d'AllegroMicro est un composant intgr dans lequel on trouve deux ponts en H pour controler un
moteur pas pas (tage de puissance).Mais galement toutes les fonctions permettant de traduire les
impulsions, de calculer les courants qui circulent dans le moteur et rguler ce dernier, ... .Un composant comme
ce dernier intgre toutes les fonctions ncessaires pour faire tourner un moteur pas pas. Il ne reste qu' placer
derrire un signal envoyant des impulsions pour commander les pas et un autre indiquant le sens de rotation pour
faire tourner le moteur.
Cette puce peut commander des moteurs jusqu' des courants de +/- 2.5A pour une tension d'alimentation
maximum de 35V. Elle peut diviser les pas des moteurs par 2, 4ou 16 fois. Nous aurons vite compris que cette
petite puce peut s'interfacer directement avec un microcontroleur et que ce dernier peut alors contrler trs
simplement un moteur pas pas. Nanmoins faut-il encore monter la puce correctement.
Schma
Les paramtres
Comme conseill dans le datasheet, nous placerons une capacit C1 de 220nF entre CP1 et CP2 pour gnrer
les tensions ncessaires au fonctionnement de la puce. La capacit C7 de 220nF permet d'amortirla commutation
des portes de sorties.
L'entre Ref permet de paramtrer le courant max qui circulera dans le moteur, le calcul n'est pour a pas
compliqu:
Dans notre cas, RS vaut 0.15Ohm. De manire viter d'envoyer par erreur un courant trop important, nous
avons brid la tension maximale qui peut tre prsente au point milieu du potentiometre R6 (10k) au travers de la
rsistance R5 (8.2k). De cette manire, Vref ne peut excder 2.75V. Soit Itrip ne peut tre plus important que
2.3A qui est infrieur 2.5A. La capacit C8 (220nF) permet de filtrer la tension continue prsente sur Vref.
Les paramtres RC1/RC2 grent la constante de temps. Plus elle est faible, plus la rgulation du courant sera
prcise mais au dtriment des pertes dans la commutation des mosfets. Dans notre cas, nous avons plac 1nF
pour C4 et C5 et 12Kohms pour R3 et R4.
Le paramtre PFD est certainement le point le plus compliqu de ce montage. Nous allons tenter de l'expliquer
simplement. Lors de la commutation des mofsets du H Bridge qui permettent de controler le moteur, l'nergie
accumule dans la bobine par le courant (reprsent en bleu dans la figure ci-dessus) doit se vider. Ceci peut se
faire de deux manires: soit au travers des diodes schottky (en rouge), manire qui reprsente le mode Fast
Decay (dcroissance rapide du courant) soit par le chemin reprsent en vert, qui est le mode slow decay en
dcalant la fermeture d'un des mosfets. Quel est le meilleur mode? On choisit le mode que l'on souhaite en
fonction de l'application, si le moteur doit tourner lentement (slow decay), ou rapidement (Fast Decay).
La puce A3979 est dote d'un systme mixte qui permet d'utiliser le mode "fast decay" pendant un temps ( partir
du moment o le courant max est atteint) dpendant de la constante RC et de la tension applique sur PFD.
Pendant l'autre partie du temps, le mode "slow decay" est utilis. Ceci a pour but d'essayer de fournir un courant
le plus sinusodal possible pour le contrle du moteur (et viter des rsonances). Idalement le paramtre PFD
doit tre ajustable. Dans notre cas, nous avons fix ce paramtre car jouer avec ce dernier est compliqu. la
valeur choisie (de 2 Volt) semble convenir notre application (R7: 3.3KOhms et R8: 2.2KOhms).
Le rglage fin du PFD permet de diminuer le bruit du moteur, mais aussi d'accroitre la prcision des pas et de
diminuer les pertes d'nergie.
Le paramtre MS1/2 permet de slectionner la division des pas:
En plaant les entres +5V ou la masse au travers d'un jumper, on configure la rsolution. Attention, il est
conseill de changer la rsolution froid (couper l'alimentation de la carte).
Les rsistances R1/b et R2/b sont les rsistances qui permettent la puce d'avoir un feedback sur le courant qui
circule dans le moteur. Sans ces rsistances il serait impossible de contrler le courant, et encore moins de
diviser les pas. Nos calculs nous ont amen placer une rsistance de 0.15Ohms, comme nous avons eu
quelques difficults trouver cette valeur, nous avons plac deux rsistances de 0.15Ohms.
Les fonctions sleep, home, enable et reset ne sont pas utilises dans notre application. Rien n'empche le lecteur
attentif de refaire son schma en intgrant ces fonctions.
Le PCB et le montage
La carte que l'on propose fait 45*36mm, elle peut s'intgrer facilement dans de nombreuses structures. La
connectique est principalement ralise au travers de borniers vissables.
Le pcb est en double couche, il faudra faire attention de garantir la connectivit lectrique entre les couches. Le
dessin, ainsi que le schma et la BOM se trouvent dans le pdf disponible en tlchargement.
Le composant A3979 est pin to pin compatible avec l'A3977, nanmoins nous avons prfr travailler avec le 79
plus rcent et qui permet une division des pas plus importante.
La puce possde un pad thermique. Pour cette raison nous avons plac sous le composant une surface de cuivre
relie la masse. Il est important de placer de la pte thermique sur ce pad thermique avant de la souder. On
remarque un ensemble de vias qui sont des vias thermiques qui permettent de communiquer la chaleur vers le
plan de masse au bottom pour accroitre la dissipation de la chaleur.
A l'exception des connecteurs, la carte est faite entirement de composants monts en surface. Cela peut faire
peur certains, mais avec l'habitude on comprend que ce mode de montage est plus agrable et plus solide.
Nous ne donnerons pas d'explication dans cet article sur la faon de souder la carte.
Il est conseill de monter tous les composants l'exception du A3979. Avant de souder ce dernier, reportez-vous
au mode d'emploi ci-dessous.
Nous retiendrons l'attention du lecteur sur les capacits C14 et C13. Il y a deux capacits mais une seule est
ncessaire. Si l'utilisateur prfre avoir les composants "connecteur" au top ou au bottom, il soudera la capacit
du cot voulu (comme elle est plus volumineuse que les autres composants).
Sur la puce A3979, nous conseillons de placer un petit dissipateur tel que celui-ci: Ref Farnell 4302175.
Mode d'emploi
La premire chose faire, avant de souder la puce A3979, est de vrifier toutes les tensions. Pour cela, vrfiez
premirement que vous avez bien 5V sur la capacit C10. Attention, ne pas ngliger la valeur de C10 et C11, il
est vraiment important pour le regulateur 5V qu'elles fassent au moins 10uF. Personellement, j'ai branch une
alimentation 24V. Sur certains moteurs pas pas on parle d'une tension par phase. Ce n'est pas utile, le moteur
est ici contrl en courant. Il est conseill de placer une tension suprieure la valeur nominale par phase du
moteur. Le drive s'occupera du reste. Si vous n'avez pour votre moteur que l'indication de la tension et la
rsistance de la bobine, la loi d'ohm est votre ami U=R*I.
Vrifiez galement la tension sur le point de mesure VRef. Il est conseill de placer le niveau souhait sur la
rsistance ajustable pour avoir le courant voulu sur votre moteur: I = Vref / 1.2 .
Coupez l'alimentation et soudez la puce A3979 et cablez le moteur comme indiqu sur le schma.
Pour la configuration de la division des pas, toujours l'effectuer hors tension. P3=MS1 et P4=MS2. Placez les
jumpers de manire respecter le tableau prsent plus haut (Vers le bord de la carte pour High et vers l'intrieur
pour Low).
L'entre Pas est l'entre TTL o les impulsions doivent tre entres. Pour raliser un premier test placez 100Hz
carr, 0-5V. L'entre Direction, placez 0V ou 5V en fonction du sens de rotation souhait.
Tout devrait bien fonctionner.
Sans vouloir faire de publicit pour le revendeur de composants, nous avons plac les rfrences vers le site
Farnell, de telle manire le lecteur pourra trouver facilement toutes les informations ncessaires chaque
composants.
Tlchargement et lien
Telecharger l'archive avec le schma, le pcb, la liste des composants ici
Le site du fabricant de la puce : AllegroMicro
Acheter tous les composants ncessaires ( titre informatif): Farnell
Introduction
Le moteur pas pas, ou encore stepper motor, est un moteur particulier pour lequel sa rotation s'effectue par
pas. C'est dire, qu' l'inverse d'un petit moteur courant continu comme on trouve dans nombreux jouets et qui
tourne sans arrt un fois aliment, le moteur pas pas tourne d'un angle spcifique chaque fois qu'il reoit une
impulsion. Mais comme nous allons le dcouvrir, ces impulsions ont besoin d'un formatage bien particulier.
Les principales caractristiques du moteur pas pas sont:
Sa rsolution: par exemple 200 pas par tour, c'est dire qu' chaque impulsion l'axe du moteur tourne de 1.8
(360/200).
Son couple de maintien (Holding torque): exprim en Nm indique la force qu'il faut appliquer sur l'axe du moteur
pour parvenir le faire tourner de faon non souhaite. Plus c'est important, plus le moteur est puissant. Le
couple en rotation est donn au travers d'un graphique prsent dans les documentations des moteurs. Ce dernier
dpend de la vitesse comme le montre l'illustration ci-dessous.
Son courant max par bobinage: de quelques mA plusieurs Ampres. En cas de dpassement, risque de brler
le moteur.
Le moteur pas pas est un moteur qui fonctionne en "boucle ouverte", c'est dire que de base dans le moteur,
pour fonctionner, il n'y a aucun retour. Si vous envoyez une impulsion pour la ralisation d'un pas (une demande
de rotation) et que pour une raison, le pas ne s'excute pas (l'axe est bloqu) vous n'aurez aucun retour. Ce que
l'on appelle un saut de pas.
Bobinage et contrle
Le tableau ci-dessous montre un exemple de bobinage d'un moteur pas pas. Nous ne nous intresserons qu'au
moteur bipolaire. Le moteur choisi dans ce cas propose deux modes de cablage en bipolaire, soit en srie, soit en
parallle. Le moteur possde ainsi 4 bobines, deux d'entre elles constituant la bobine A, les deux autres
constituant la bobine B. Un mode de cablage en srie consiste mettre les deux bobines la suite l'une de
l'autre, cela implique un courant limit mais demande une source de tension suprieur. Le cablage en parallle
implique un courant plus lev mais une tension moindre.
Le tableau Full Step montre les impulsions envoyer pour raliser un pas. Ainsi en plaant une source
d'alimentation positive sur A et B, et la source ngative sur A\ et B\, le moteur prend la position du pas 1. Si on
inverse la polarit sur la bobine A tout en conservant celle de la bobine B, le moteur va faire un saut au pas 2. et
ainsi de suite. Suivant le sens de dfilement des impulsions, on fait tourner le moteur dans le sens des aiguilles
d'une montre ou dans le sens inverse.
Sur l'illustration simplifie ci-dessus on comprend ce qui se ralise au niveau de l'axe du moteur. Pour chaque
pas on polarise de faon diffrente les deux aimants. L'axe du moteur (le rotor) est constitu d'un aimant
permanent, celui-ci s'oriente en fonction de la polarisation du stator (lments externes).
Pour les moteurs qui ont un nombre de pas lev, la technologie se complique. Dans le cas par exemple d'un
moteur pas pas de 200 pas par tour, que l'on appelle moteur pas pas hybride (car il mlange deux
techniques, celle aimant permanent et celle reluctance variable que l'on n'explique pas dans cet article), le
rotor est constitu de cinquante dents tandis que le stator est constitu de 8 ples possdant 5 dents.
Pour chaque pas, l'alignement des dents entre le stator et le rotor est diffrent. Les dents s'alignent de faon
permettre le meilleur passage du flux magntique. A chaque pas, l'orientation du flux change et le rotor tourne.
Augmenter la prcision
Comme nous avons pu le constater, l'axe du moteur pas pas tourne afin de s'orienter le mieux possible par
rapport au champs magntique. Dans les explications, jusqu' prsent, nous avons travaill avec des valeurs de
courant dans les bobinages qui sont toujours maximum. A prsent, au lieu d'appliquer le courant maximum nous
allons faire voluer les courants dans les bobinages A et B de faon avoir un pourcentage de la valeur complte
comme le montre le graphique ci-dessous. Ainsi l'axe se place dans la position o le flux passe le mieux sachant
que cette position se trouve entre deux positions de courant max:
Dans ce cas-ci, chaque pas du moteur est divis en 4. c'est dire qu'entre la position maximal du courant et la
position 0 on divise en 4 pallier. De telle manire un moteur qui ralisait 200 pas par tour en ralise 800
prsent.
Bien videmment pour contrler un moteur de cette manire il est ncessaire d'avoir une lectronique volue.
Celle que l'on va proposer sur ce site permet de diviser chaque pas du moteur jusqu' 16 fois.
Nous avons vu prcdemment que pour contrler un moteur pas pas il est ncessaire de changer la polarit
des bobines pour chaque pas. De plus si on souhaite contrler en divisant les pas (microstepping) il est
ncessaire de contrler le courant circulant. Ce qui devient une tche bien difficile. Heureusement il existe des
puces qui rendent ce travail compltement transparent, il restera uniquement placer derrire un microcontroleur
qui envoie des impulsions la vitesse de rotation souhaite.
La puce A3979 d'AllegroMicro est un composant intgr dans lequel on trouve deux ponts en H pour controler un
moteur pas pas (tage de puissance).Mais galement toutes les fonctions permettant de traduire les
impulsions, de calculer les courants qui circulent dans le moteur et rguler ce dernier, ... .Un composant comme
ce dernier intgre toutes les fonctions ncessaires pour faire tourner un moteur pas pas. Il ne reste qu' placer
derrire un signal envoyant des impulsions pour commander les pas et un autre indiquant le sens de rotation pour
faire tourner le moteur.
Cette puce peut commander des moteurs jusqu' des courants de +/- 2.5A pour une tension d'alimentation
maximum de 35V. Elle peut diviser les pas des moteurs par 2, 4ou 16 fois. Nous aurons vite compris que cette
petite puce peut s'interfacer directement avec un microcontroleur et que ce dernier peut alors contrler trs
simplement un moteur pas pas. Nanmoins faut-il encore monter la puce correctement.
Schma
Les paramtres
Comme conseill dans le datasheet, nous placerons une capacit C1 de 220nF entre CP1 et CP2 pour gnrer
les tensions ncessaires au fonctionnement de la puce. La capacit C7 de 220nF permet d'amortirla commutation
des portes de sorties.
L'entre Ref permet de paramtrer le courant max qui circulera dans le moteur, le calcul n'est pour a pas
compliqu:
Dans notre cas, RS vaut 0.15Ohm. De manire viter d'envoyer par erreur un courant trop important, nous
avons brid la tension maximale qui peut tre prsente au point milieu du potentiometre R6 (10k) au travers de la
rsistance R5 (8.2k). De cette manire, Vref ne peut excder 2.75V. Soit Itrip ne peut tre plus important que
2.3A qui est infrieur 2.5A. La capacit C8 (220nF) permet de filtrer la tension continue prsente sur Vref.
Les paramtres RC1/RC2 grent la constante de temps. Plus elle est faible, plus la rgulation du courant sera
prcise mais au dtriment des pertes dans la commutation des mosfets. Dans notre cas, nous avons plac 1nF
pour C4 et C5 et 12Kohms pour R3 et R4.
Le paramtre PFD est certainement le point le plus compliqu de ce montage. Nous allons tenter de l'expliquer
simplement. Lors de la commutation des mofsets du H Bridge qui permettent de controler le moteur, l'nergie
accumule dans la bobine par le courant (reprsent en bleu dans la figure ci-dessus) doit se vider. Ceci peut se
faire de deux manires: soit au travers des diodes schottky (en rouge), manire qui reprsente le mode Fast
Decay (dcroissance rapide du courant) soit par le chemin reprsent en vert, qui est le mode slow decay en
dcalant la fermeture d'un des mosfets. Quel est le meilleur mode? On choisit le mode que l'on souhaite en
fonction de l'application, si le moteur doit tourner lentement (slow decay), ou rapidement (Fast Decay).
La puce A3979 est dote d'un systme mixte qui permet d'utiliser le mode "fast decay" pendant un temps ( partir
du moment o le courant max est atteint) dpendant de la constante RC et de la tension applique sur PFD.
Pendant l'autre partie du temps, le mode "slow decay" est utilis. Ceci a pour but d'essayer de fournir un courant
le plus sinusodal possible pour le contrle du moteur (et viter des rsonances). Idalement le paramtre PFD
doit tre ajustable. Dans notre cas, nous avons fix ce paramtre car jouer avec ce dernier est compliqu. la
valeur choisie (de 2 Volt) semble convenir notre application (R7: 3.3KOhms et R8: 2.2KOhms).
Le rglage fin du PFD permet de diminuer le bruit du moteur, mais aussi d'accroitre la prcision des pas et de
diminuer les pertes d'nergie.
Le paramtre MS1/2 permet de slectionner la division des pas:
En plaant les entres +5V ou la masse au travers d'un jumper, on configure la rsolution. Attention, il est
conseill de changer la rsolution froid (couper l'alimentation de la carte).
Les rsistances R1/b et R2/b sont les rsistances qui permettent la puce d'avoir un feedback sur le courant qui
circule dans le moteur. Sans ces rsistances il serait impossible de contrler le courant, et encore moins de
diviser les pas. Nos calculs nous ont amen placer une rsistance de 0.15Ohms, comme nous avons eu
quelques difficults trouver cette valeur, nous avons plac deux rsistances de 0.15Ohms.
Les fonctions sleep, home, enable et reset ne sont pas utilises dans notre application. Rien n'empche le lecteur
attentif de refaire son schma en intgrant ces fonctions.
Le PCB et le montage
La carte que l'on propose fait 45*36mm, elle peut s'intgrer facilement dans de nombreuses structures. La
connectique est principalement ralise au travers de borniers vissables.
Le pcb est en double couche, il faudra faire attention de garantir la connectivit lectrique entre les couches. Le
dessin, ainsi que le schma et la BOM se trouvent dans le pdf disponible en tlchargement.
Le composant A3979 est pin to pin compatible avec l'A3977, nanmoins nous avons prfr travailler avec le 79
plus rcent et qui permet une division des pas plus importante.
La puce possde un pad thermique. Pour cette raison nous avons plac sous le composant une surface de cuivre
relie la masse. Il est important de placer de la pte thermique sur ce pad thermique avant de la souder. On
remarque un ensemble de vias qui sont des vias thermiques qui permettent de communiquer la chaleur vers le
plan de masse au bottom pour accroitre la dissipation de la chaleur.
A l'exception des connecteurs, la carte est faite entirement de composants monts en surface. Cela peut faire
peur certains, mais avec l'habitude on comprend que ce mode de montage est plus agrable et plus solide.
Nous ne donnerons pas d'explication dans cet article sur la faon de souder la carte.
Il est conseill de monter tous les composants l'exception du A3979. Avant de souder ce dernier, reportez-vous
au mode d'emploi ci-dessous.
Nous retiendrons l'attention du lecteur sur les capacits C14 et C13. Il y a deux capacits mais une seule est
ncessaire. Si l'utilisateur prfre avoir les composants "connecteur" au top ou au bottom, il soudera la capacit
du cot voulu (comme elle est plus volumineuse que les autres composants).
Sur la puce A3979, nous conseillons de placer un petit dissipateur tel que celui-ci: Ref Farnell 4302175.
Mode d'emploi
La premire chose faire, avant de souder la puce A3979, est de vrifier toutes les tensions. Pour cela, vrfiez
premirement que vous avez bien 5V sur la capacit C10. Attention, ne pas ngliger la valeur de C10 et C11, il
est vraiment important pour le regulateur 5V qu'elles fassent au moins 10uF. Personellement, j'ai branch une
alimentation 24V. Sur certains moteurs pas pas on parle d'une tension par phase. Ce n'est pas utile, le moteur
est ici contrl en courant. Il est conseill de placer une tension suprieure la valeur nominale par phase du
moteur. Le drive s'occupera du reste. Si vous n'avez pour votre moteur que l'indication de la tension et la
rsistance de la bobine, la loi d'ohm est votre ami U=R*I.
Vrifiez galement la tension sur le point de mesure VRef. Il est conseill de placer le niveau souhait sur la
rsistance ajustable pour avoir le courant voulu sur votre moteur: I = Vref / 1.2 .
Coupez l'alimentation et soudez la puce A3979 et cablez le moteur comme indiqu sur le schma.
Pour la configuration de la division des pas, toujours l'effectuer hors tension. P3=MS1 et P4=MS2. Placez les
jumpers de manire respecter le tableau prsent plus haut (Vers le bord de la carte pour High et vers l'intrieur
pour Low).
L'entre Pas est l'entre TTL o les impulsions doivent tre entres. Pour raliser un premier test placez 100Hz
carr, 0-5V. L'entre Direction, placez 0V ou 5V en fonction du sens de rotation souhait.
Tout devrait bien fonctionner.
Sans vouloir faire de publicit pour le revendeur de composants, nous avons plac les rfrences vers le site
Farnell, de telle manire le lecteur pourra trouver facilement toutes les informations ncessaires chaque
composants.
Tlchargement et lien
Telecharger l'archive avec le schma, le pcb, la liste des composants ici
Le site du fabricant de la puce : AllegroMicro