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

aeaeNouveau document microsoft word

  • 1.
    But de ceTP : 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 : ctede 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égulateurPI (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éponsesdu 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éponsesdu 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