1. But de ce TP :
L’objectif de TP est de commander un moteur à courant continu avec un
régulateur PID,
Cette commande est modéliser et programmée sous MATLAB
La modélisation et le choix d’un moteur à courant continu :
Pour démarrer le moteur on a besoin d’une fonction de transfert :
H(p)=Ω(p)/U(p)=kc/((R+Lp)(f+jp)+kc*ke)
Les valeurs données par la plaque signalétique (constructeur) :
Tension nominale Unom=24v
Tension maximale Umax=32v
Courant permanent maximal Imax=2.2A
Résistance aux bornes R=1.91 Ω
Constante de couple Kc=60.3 mNm/A
Constante de vitesse Ke=60.3 mNm/A
Inductance L=0.63 mH
Moment d’inertie rapporte au rotor J=0.0001 kg.m²
Coefficient de frottement visqueux F=2.5 *10^-6
Plaque signalétique du moteur à courant continu
La commande PID :
C’estlacommande proportionnelle –intégrale -dérive qui estinsère danslachaine directe
d’asservissement
Ce régulateurestélaborée àpartirdusignal d’erreur€(t), une commande Uc(t) enfonction
de trois actions proportionnelle,intégrale etdérive :
Uc(p)=kp.€(p)+(ki/p).€(p)+kd.p.€(p)
Kp : gaind’actionproportionnelle
Ki=1/ti : gain d’actionintégrale
Kd=td : gain d’actiondérivée
2. Ti : cte de temps(tempsd’actionintégrale)
Td : cte de temps(tempsd’actiondérivée)
Le régulateurestdoncconçudans le domaine temporelcomme lasomme de troisactions
On obtientalorsunasservissement composéed’unterme proportionnelle,en terme
intégral etunterme dérivée placées onparallèle.
coefficients Temps de
montée(s)
Temps de
stabilisation
(s)
Dépassement
(%)
Erreur
statique
Kp top 0.000951 0.00273 5.05 73
Ki top 0.00172 0.0106 12.9 11
Kd top 0.000427 0.00224 3.34 0
Le programme sous Matlab :
Unom=24
Umax=32
Imax=2.2
R=1.91
Kc=60.3*10^-3
KE=60.3*10^-3
L=0.63*10^-3
G=10^-4
f=2.5*10^-6
s=tf('s')
motor=Kc/((R+L*s)*(f+G*s)+Kc*KE)
step(motor*12,motor*15,motor*20) % en boucle ouvert (fig01)
kp1=0.1
kp2=0.2
kp3=0.5
kp4=2
kp5=5
omega=200
cp1=omega*feedback(kp1*motor,1)
cp2=omega*feedback(kp2*motor,1)
cp3=omega*feedback(kp3*motor,1)
cp4=omega*feedback(kp4*motor,1)
cp5=omega*feedback(kp5*motor,1)
step(cp1,cp2,cp3,cp4,cp5,motor) % avec régulateur proportionne(fig2)
kp=1
ki1=0
ki2=100
ki3=400
ki4=1000
cpi1=kp+ki1/s
cpi2=kp+ki2/s
cpi3=kp+ki3/s
cpi4=kp+ki4/s
cpif1=omega*feedback(cpi1*motor,1)
cpif2=omega*feedback(cpi2*motor,1)
cpif3=omega*feedback(cpi3*motor,1)
cpif4=omega*feedback(cpi4*motor,1)
3. step(cpif1,cpif2,cpif3,cpif4) %avec régulateur PI (fig3)
kp=15
ki=1
kd1=0
kd2=0.001
kd3=0.003
kd4=0.0045
cpid1=kp+ki/s+kd1*s
cpid2=kp+ki/s+kd2*s
cpid3=kp+ki/s+kd3*s
cpid4=kp+ki/s+kd4*s
cpidf1=omega*feedback(cpid1*motor,1)
cpidf2=omega*feedback(cpid2*motor,1)
cpidf3=omega*feedback(cpid3*motor,1)
cpidf4=omega*feedback(cpid4*motor,1)
step(cpidf1,cpidf2,cpidf3,cpidf4) %avec régulateur PID (fig4)
Fig1 : réponses du moteur en boucleouvert
- L’entrée est amplifiéea une sortie y(p)=k.x(p)
- Le système est stableen boucleouvert car les pôles sont des nombres réels
4. Fig02 : réponses du moteur avec un correcteur proportionnel
1-Le rôle de l’action proportionnelleestd’accélérer la réponse du système
2- a) le temps de montée est plus vite dans ce cas
b) l’erreur statiqueest plus élevée avec un dépassement faible
c) le temps de stabilisation estrapide
Fig03 : réponses du moteur avec un correcteur PI
1-L’action intégrale diminuel’erreur statique
2- a) le temps de montée est lente dans ce cas
b) l’erreur statiqueest élevée avec ledépassement augmente
c) le temps de stabilisation estlente
5. Fig04 : réponses du moteur avec un correcteur PID
-L’action dérivée sert à accélérer la réponsedu système et éliminer complètement l’erreur statique
- a) letemps de montée est plus vitedans ce cas que la dernière
b) l’erreur statique est éliminée avec un dépassement très petit
c) letemps de stabilisation esttrès rapide
Conclusion :
Pour une commande numérique très préciseavec une réponse plus viteil faut utiliser un
régulateur PID