You are on page 1of 5

CommandePWMdesmoteurs

Commentfairevarierlavitessed'unmoteur?

Rappels:
Un moteur courant continu aliment par une tension U
peut tre modlis par une rsistance r en srie avec une En rgime tabli, l'intensit i est constante
(donc di/dt =0) et
E = U - r.I
inductance L, E tant la force lectromotrice du moteur:
Consquences sur la vitesse W
w=

La vitesse de rotation w en rd/s dpend de


la tension U et de i
Pour modifier la vitesse de rotation d'un
moteur, il faut faire varier la fem E en
agissant sur:

U = E + ri + L
De plus, on sait par les lois de l'lectromagntisme que :
E= k.w
La force lectromotrice est proportionnelle la vitesse
Cp=k.i
Le couple est proportionnel l'intensit
Solution 1: Variation de vitesse par potentiomtre
C'est la solution qui parait la plus
simple.
On limite le courant en augmentant
la rsistance.
On agit alors essentiellement sur le
couple.
La fem E = U - (r+P).I diminue
galement ce qui se traduit par une
variation de vitesse.

- la tension U Commande en tension


- le courant I => Commande du couple

exemple: r = 1 P= 10 et U = 12V
Si l'on veut diviser la vitesse par 2
soit E 5V
On a: 5 = 12 - 11.I => I = 0.5A
Le couple est galement divis par 2.
La puissance totale est Pt = U.I = 6W
La puissance dissipe par le potentiomtre
est dans ce cas est Pp=ri2= 2.5W!
=> rendement 60%!

Conclusion : Solution pas terrible (baisse du


couple, de la puissance, du rendement)

Solution 2: La commande PWM ou MLI


(Pulse width modulation)(Modulation en Largeur
d'Impulsions)
Cela consiste
alimenter le moteur
avec une tension en
crneaux.
La tension moyenne
dpend alors du
rapport cyclique .
La vitesse varie en
fonction de cette
tension moyenne.

Lerapportcycliqueestexprimen%

PourquoilacommandePWMestelleintressante ?
Il y a deux avantages piloter la vitesse d'un moteur en PWM:
a) Le moteur peut tre pilot par la sortie numrique d'un microcontrleur
b) Amlioration considrable du rendement nergtique:
En effet, le transistor T fonctionne en commutation (satur/bloqu).
Lorsqu'il est satur la tension Vce est trs faible (presque nulle) donc la puissance dissipe par ce
transistor est Pt = Vce.I = 0
Lorsqu'il est bloqu, c'est le courant I qui est nul donc Pt = Vce.I = 0
On dit qu'il ne consomme que pendant les transitions, c'est dire pendant un temps trs court.
Les dissipateurs thermiques sont donc de ce fait plus petits voir inutiles. Ceci est encore plus vrai
lorsque T est un MOSFET de puissance.
Toute l'nergie est donc consacre la rotation du moteur. Ce qui est intressant pour des systmes
embarqus fonctionnant sur batterie.

Quellefrquencedecommande?
Frquence leve:
L'allure du courant est donne ci contre (systme du 1er ordre).
Si la frquence 1/T est suffisamment grande, la variation di(t)
sur une priode est petite et i(t) peut tre considr constant
donc le couple constant.
On considre qu'il faut : w >> wo
Une diminution du rapport cyclique se traduit par une diminution
du courant moyen dans le moteur donc une diminution du couple
moyen.
Les petites variations de i(t) se traduisent par des variations de
couple qui entranent des vibrations de l'axe moteur. La plupart du temps ces vibrations sont intgres
par la mcanique accouple l'axe moteur et sont sans consquences sur la vitesse.
Mais pas trop:
Il ne faut pas choisir une frquence trop importante. Le signal MLI serait, dans ce cas, trapzodal et
non plus rectangulaire. La dure des transitions ne serait plus ngligeable devant la priode du signal
MLI et le transistor dissiperait davantage d'nergie.
Il faut vrifier la frquence maximale du hacheur de la carte de commande : Nous utilisons la
carte Pololu MD03A avec des transistors Mofsets Vnh2sp30 dont la frquence max est de 20 Khz.
Si F est choisie dans la bande audible, les vibrations mcaniques du moteur seront elles mmes
audibles.
Caractristiques d'un moteur Maxxon

RE025 G -12V
Tension

12 V

Masse

130 g

Puissance utile maxi

27.6 W

Couple de dmarrage

155 mN.m

Courant de dmarrage

9,53 A

Rsistance

1.26 ohm

Self

0.115 mH

Constante de couple

0.0163 Nm/A

Vitesse de rotation

6800 tr/mn

Rendement

84%

Pour le moteur Maxxon utilis,


r = 1.26 ohm et L = 0.115 mH
La constante de temps du moteur est =L/r:
la pulsation wo = 1/ = r/L et fo = wo/2 = 1744Hz
Pour avoir un courant constant dans le moteur
il faut choisir w >> wo (w >10wo)
On prendra F = 18 KHz
(gamme audible par l'homme entre 20Hz et 20kHz)
Dans la pratique on prendra: 1KHz < F < 20KHz

Exemple de schma de commande de moteur en MLI

Merci au travail ralis par Dominique Nardi

CommentprogrammerlePWM?
LesmicrocontrleursontdessortiesPWM.
Cellesciutilisentlestimers(oucompteurs)dumicrocontrleuravecleursoptions:choixdelarsolution,valeurde
dbordement(oucomparateurs)etprdivisiondutemps(prescale).
Frquenced'horloge:elledpenddumicrocontrleur
utilis:
frquenced'horloge

exemple:8MHz

Frquenceavecprdiviseur(Prescale):leprdiviseur
peuttre1,2,4,8,16,32,64,128,256...1024

frquenceavec
prdiviseur

exempleavecunprdiviseurde8:1Mhz

Timer(Compteur):Larsolutiondutimerdpenddu
timerchoisi(timer0,1ou2)

Zoom

valeurdu
compteur 3
2
1

exempletrait:letimer1del'atmega32estsur16bitsmais
lafonctionPWMnepeututiliserque8,9,ou10bits:choix Compteur
dersolutionsur10bits(soit1024)

Valeurdedbordement:fixenfonctiondurapport1024
768
cycliquesouhait(To/T)
exemple:valeur=768doncrapportcyclique=(768/1024)
=075=75%

FrquenceduPWM:
Elleestdonneparlarelation:

T
Sortie
PWM
To
T

exemple:FPWM=8000000/(2x8x1024)=488Hz

Remarques:
LemicrocontrleurpossdeenralitplusieursmodesdePWM(unrapidequinecomptequelamontepuis
repartde0,unfrquencecorrig...).CeluiquiestdcriticiestlemodePWMcorrect,moinsrapidemaisplusadapt

lacommandedemoteurs.

Lemodedcriticis'appelleClearup:ilestcensmettrezro(clear)audessus(up)delavaleurdedbordement.
Pouruneraisoninconnue,ilfaitlecontraire!
Ilexistelemodeinverse:cleardownquifaitlecontrairedeclearup

Untimerpossde2sortiespourlePWM.Onpeutlesutiliseravecdesvaleursdedbordementdiffrentes
(rapportscycliquesdoncvitessesdiffrentesde2moteurs)oudesmodesdiffrents(clearupetcleardown).Ces
sortiesontuneadresseimposequel'ontrouvedansladoc.dumicrocontrleur.
Dansleprogramme,onpeutimposerlafrquenced'horloge.Cellecicrasecellequiestdfiniedansles
paramtresdecompilationlisaumicrocontrleurutilis.
$crystal=11052000imposelafrquence,mmesilemicrocontrleurest16Mhz(?)
ExemplesdeprogrammationavecBascom:
extrait1:
...
ConfigPinD.5=Output

portsdesortiedupwm
ConfigPinD.4=Output
'configurationen10bits,prescalede8modeclearup,utilisationdes2sorties(facultative)
ConfigTimer1=Pwm,Pwm=10,Prescale=8,CompareAPwm=ClearUp,CompareBPwm=ClearDown
Pwm1a=768

valeurdedbordement
Pwm1b=450
StartTimer1
End

letimernes'arrtepascariln'apasrencontrdestoptimer
extrait2:
...
ConfigPinD.5=Output

DimJasword
'configurationen10bits,prescalede8modeclearup,
ConfigTimer1=Pwm,Pwm=10,Prescale=8,CompareAPwm=ClearUp
Pwm1a=768

J=1
Do

Pwm1a=J
J=J+1

rapportcycliquevariablede0100%
IfJ=1024ThenJ=1
Loop
StartTimer1
End

Vidos
UnesuperexplicationenanglaissurlePWM:

Avenir:lavidodenotreexprience