Analog Pid
Analog Pid
Analog Pid
Introduction
Avec la disponibilité d’ordinateurs toujours plus performants, la régulation automatique se
fait de plus en plus de manière numérique. Les circuits analogiques électroniques sont en effet
plus difficiles à concevoir et de taille plus grande que les circuits électroniques numériques. De
plus, ils sont plus sensibles à l’amplification des effets dus au bruit. Toutefois, il est toujours
intéressant d’analyser de tels circuits analogiques afin de comprendre l’implémentation directe
de certains concepts théoriques. Aditionnellement, il se pourrait très bien que de tels régulateurs
soient synthétisables en utilisant une technologie issue de la biologie et des sciences environ-
nementales plutôt que de la technologie électronique. En effet, les effets capacitifs et inductifs
présents dans un circuit électrique et responsables des caractéristiques du PID possèdent des
analogues dans d’autres disciplines scientifiques. On pourrait ainsi concevoir des PID reposants
sur d’autres lois que celles de l’électronique et de l’électricité. Cependant, dans cette étude,
nous allons nous restreindre à étudier la manière de traduire le schéma de la figure 1 en un
circuit électronique régulant un système physique réel. La commande sera effectuée à l’aide
d’un PID analogique et mise en oeuvre par un circuit à amplificateurs opérationnels (AOP).
Le problème sera ensuite d’implémenter dans SimScape
c , l’environnement de simulation de
systèmes physiques de MATLAB.
1
Le système mécanique est donc décrit par l’équation suivante :
1
θ̈1 = −fm θ̇1 − CA (θ̇1 − θ̇2 ) − KA (θ1 − θ2 ) + Cm , (1)
Mm
1
θ̈2 = CA (θ̇1 − θ̇2 ) + KA (θ1 − θ2 ) − fc θ̇2 , (2)
Mc
où Cm est le couple délivré par le moteur.
Amplificateur
θ1 θ2
Alimentation fm Mm KA , C A
V R1
Moteur DC fc Mc
R2
Partie électrique
Si nous analysons le circuit électronique plus loin, nous avons le schéma de la figure 3. Le
moteur est modélisé par une résistance interne Rm , un solénoı̈de Lm (bobine) et une constante
de couple Km . Nous savons aussi que la tension vs arrivant au moteur est égale à
R1
vs = 1 + ve , (3)
R2
où ve est la tension d’alimentation. Nous avons donc l’équation dynamique du moteur
1 R1
i̇s = 1+ ve − Rm is − Km θ̇1 . (4)
Lm R2
Cm = Km is (5)
2
Rm Lm
vs , is
ve
V R1
Km
R2
3
Ce modèle d’état conduit à la fonction de transfert
R1
Km 1 + R 2
(CA s + KA )
G(s) = C(sI − A)−1 B = , (11)
a0 s4 + a1 s3 + a2 s2 + a3 s + a4
a0 = Lm Mc Mm ,
a1 = CA Lm Mc + CA Lm Mm + Mc Mm Rm + Lm Mc fm ,
2
a2 = Km Mc + CA Rm (Mc + Mm ) + KA Lm (Mc + Mm ) + fm (CA Lm + Mc Rm ),
2
a3 = CA Km + KA Rm (Mc + Mm ) + CA Rm fm + KA Lm fm ,
2
a4 = KA Km + KA Rm fm .
Les valeurs numériques des paramètres physiques sont données dans le tableau 1. La fonction
de transfert a 4 pôles stables donnés par les valeurs suivantes :
Deux des pôles sont réels purs alors que les deux autres sont complexes conjugués. Le diagramme
de Bode du système est tracé à la figure 4 et la réponse indicielle à la figure 5. Les graphes
montrent que le système a une bande passante de 10 rad/s et que les fréquences plus élevées sont
très rapidement filtrées. L’utilité d’un régulateur sur ce système est d’imposer une constante
de temps plus petite afin que le système réagisse plus rapidement. Les oscillations doivent
également être atténuées.
4
Bode Diagram
0
−20
Magnitude (dB)
−40
−60
−80
−100
−120
0
−45
Phase (deg)
−90
−135
−180
0 1 2 3 4 5
10 10 10 10 10 10
Frequency (rad/sec)
PID analogique
PID analogique pur
Pour commander ce système nous voyons qu’un PI suffit largement à réaliser la tâche de suivi
de trajectoire. Par contre, nous allons quand même utiliser un PID complet pour éliminer les
bruits éventuels présents dans les mesures. Pour réaliser un système purement analogique, nous
allons développer un circuit électronique analogique réalisant le PID. Pour ce faire, il nous
faut utiliser quatre types de montage de l’amplificateur opérationnel, à savoir, un sommateur
inverseur, un amplificateur inverseur, un intégrateur et un différentiateur. Ces quatre types
de montages sont illustrés à la figure 6. L’idée est d’utiliser ces montages de l’amplificateur
opérationnel pour réaliser un PID en parallèle, c’est-à-dire un PID dont l’équation est définie
par
Z t
de(t)
u(t) = Kp e(t) + Ki e(τ )dτ + Kd , (13)
0 dt
Kp
avec Ki = , Kd = Kp Td .
Ti
Avant de discuter du montage du PID, précisons que les différents montages inversent le signal
de la tension d’entrée. Ce sont ce qu’on appel des montages inverseurs. Le montage de l’amplifi-
cateur du moteur est un montage non-inverseur. Il est aussi à noter que ces montages sont idéaux
et que les versions pratiques nécessitent de mettre des résistances ou capacités additionnelles
pour améliorer les performances du montage. Le montage total du système sera donc réalisé en
mettant d’abord en parallèle l’amplificateur inverseur, l’intégrateur et le différentiateur. Ensuite
le sommateur inverseur est utilisé pour faire la somme des quatre signaux et d’inverser le signe.
5
Step Response
0.5
0.45
0.4
0.35
0.3
Amplitude
0.25
0.2
0.15
0.1
0.05
0
0 0.2 0.4 0.6 0.8 1 1.2
Time (sec)
Rp2 1
Kp = Ki = Kd = Rd Cd . (15)
Rp1 Ri Ci
Il suffit donc de mettre le signal d’erreur comme tension d’entrée et la sortie sera le signal à
envoyer au moteur.
Implémentation pratique :
En pratique, il y a plusieurs modifications à apporter au schéma de la figure 7. Premièrement, le
montage en intégrateur de la figure 6 a tendance à produire de la dérive sur le signal de sortie.
Pour éviter ce problème une résistance élevée Rci est mise en parallèle avec le condensateur
Ci ce qui introduit un feedback continu et corrige la dérive. Deuxièmement, le montage en
différentiateur de la figure 6 est très susceptible à l’amplification du bruit se situant dans le
signal d’entrée, et source d’instabilité s’il y a des changement brusque dans le signal d’entrée
étant donné qu’il agit comme un filtre passe bas et donc introduit un retard de phase de
90◦ . Pour corriger ces problèmes de bruit et retard de phase, une capacité Ccd est mise en
parallèle avec la résistance Rd et une résistance est ajoutée sur l’entrée. L’addition de ces
deux composants produit un effet d’avance de phase de 90◦ et élimine les bruits en hautes
fréquences. Le fait d’ajouter ces composants au montage ne change pas l’équation (14). Une
troisième correction est introduite en relation avec le terme dérivateur de l’équation (13). Si le
signal d’entrée Vin est sujet à de brusques variations, ce terme peut prendre des valeurs énormes.
6
R1 R4 1 R2 2
V1
R2 R1
V2 Vin
Vout Vout
R3
V3
R4 R4 R4
Vout = − V
R1 1
+ V
R2 2
+ V
R3 3
Vout = − R2
V
R1 in
3 4
Ci
Ri Cd Rd
Vin Vin
Vout Vout
Rt
Vout = − Ri1Ci 0
Vin dτ Vout = −Rd Cd dVdtin
Pour éviter ce problème une forme du PID appelé forme à dérivation séparée est utilisée. A la
place de dériver le signal d’erreur, le signal de mesure y(t) est dériver uniquement. Cette forme
du PID est donnée par l’équation :
Z t
dy(t)
u(t) = Kp e(t) + Ki e(τ )dτ + Kd . (16)
0 dt
Dans le contexte de la commande en vitesse du moteur, cette forme devient utile car les sauts de
vitesse sont en général imposés dans le signal de référence créant ainsi des brusques variations.
Le signal d’erreur est obtenu en utilisant un montage avec inverseur pour inverser le signe du
signal de mesure, un sommateur inverseur pour créer le signal d’erreur et encore un inverseur
pour changer le signe. Ce montage est définit à la figure 9. Il suffit de prendre toutes les mêmes
résistances Ra,b,c,e,f,g,h,i pour ne pas avoir d’amplification. Nous pouvons maintenant définir le
montage complet du système qui est représenté à la figure 10.
Maintenant que le montage est complet, nous pouvons définir les valeurs numériques des com-
posants électriques ne faisant pas partie des relations (15). Le tableau 2 définit ces valeurs.
Réglage du PID :
Nous devons maintenant concevoir le PID pour améliorer la vitesse de réaction du système et
7
Rp2
Rp1
R1
R4
Ci
Ri
R2
Vout
Vin
I
Rd
Cd
R3
R4 Rp2 R4
Rt R4 Rd Cd dVin
Vout = V
R1 Rp1 in
+ R2 Ri Ci 0
Vin + R3 dt
D
réduire les oscillations. Nous allons faire la conception du PID de deux façons différentes. En
premier lieu, nous allons réaliser un PID par la première méthode de Ziegler Nichols. Ensuite,
nous allons concevoir un PID amélioré dans le diagramme de Bode.
Pour réaliser le premier PID nous devons appliquer une rampe au système et mesurer la sortie.
Ainsi, nous appliquons une rampe en tension au système représenté à la figure 2 et nous mesu-
rons la réponse en vitesse ([rad/s]) de la charge. Le résultat de ce test (simulé) est présenté à
la figure 11. Les paramètres a et L mesurés sont les suivants :
a = 0.4 L = 0.05 (17)
Nous avons donc les coefficient du PID obtenus grâce au tableau 3 :
Kp = 100 Ti = 0.06 ⇒ Ki = 1667 Td = 0.015 ⇒ Kd = 1.5 (18)
Le second régulateur est conçu dans le diagramme de Bode. Nous calculons un gain Kp tel que
la fréquence de coupure ωc soit de 35 [rad/s]. Donc en regardant le diagramme de la figure 4,
8
Comparateur e(t) Valeur Sommateur Valeur PID Valeur
Ra,b,c,e,f,g,h 10 kΩ R1,2,3,4 10 kΩ Rci 10 MΩ
Rcd 1kΩ
Ccd 1pF
Table 2: Valeurs numériques du système d’entraı̂nement
Rci Ccd
Ci
Ri Rcd Cd Rd
nous voyons que le diagramme doit être monter d’environ 20 dB. Donc le Kp est donné par la
relation :
Enusite nous voulons augmenter la pente en basse fréquence à -20 dB/décade et la pente des
haute fréquence à -40 dB/décades. Pour se faire nous allons choisir les coefficients Ti et Td
comme tel :
9
Rf
Rh
Re
Vref Rg
Verreur
Rb
Ra
Rc Vmesure
Type Kp Ti Td
P 1/aL - -
PD 0.9/aL 3.3L -
PID 1.2/aL 2L 0.5L
Le résultat de simulation pour un saut unité sont montrés à la figure 13. Nous constatons que
le régulateur de Ziegler Nichols est très mauvais. Par contre, celui conçu dans le diagramme de
Bode a peu d’oscillation et un temps de réponse rapide.
c
Simulation Avec SimScape
Depuis quelques années, il existe sur le marché des logiciels qui permettent de simuler des
systèmes sans devoir écrire explicitement le système d’équations décrivant la dynamique as-
sociée. Les équations de la dynamique sont dérivées par le programme basées sur une descrip-
tion externe détaillée des constituants du modèle (sans entrer dans le détails des équations
différentielles qui le constitue). La toolbox SimScape
c de Simulink permet de simuler des
système électriques, mécaniques, thermiques, pneumatiques etc...
Les simulations de la figure 13 ont été réalisées de cette manière. La figure 16 montre la
réalisation dans Simulink du système à commander, c’est-à-dire le système de la figure 2.
10
PID : e(t) → U(t)
Erreur e(t)
Système G(s)
yref
11
Signal de mesure y(t)
0.7 0.1
0.08
0.6
0.06
Amplitude y(t) [rad/s]
0.04
0.5
0.02
a = 0.4
0.4
0
0.9 0.95 1 1.05 1.1 1.15 1.2 1.25 1.3
0.3
L = 0.03
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
Temps t [s]
Figure 11: Signal de sortie du test rampe de Ziegler-Nichols. Les paramètres a et L sont identifiés.
Bode Diagram
100
50
Magnitude (dB)
−50
−100
−45
Phase (deg)
−90
−135
−180
−1 0 1 2 3 4 5
10 10 10 10 10 10 10
Frequency (rad/sec)
12
2.5
1.5
Amplitude w [rad/s]
0.5
−0.5
0 0.5 1 1.5 2 2.5 3
Temps t [s]
1.4
1.2
1
Amplitude w [rad/s]
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
Temps t [s]
Figure 13: Résultat de la commande d’un saut unité en vitesse du système avec le PID de Ziegler-
Nichols (haut) et le PID conçu dans le diagramme de Bode (bas).
13
Partie Mécanique
Partie Electronique
Figure 14: Schéma SimScape du système à commande de la figure 2. Ce schéma est utilisé pour
simuler la réponse indicielle du système et pour le test de Ziegler-Nichols.
14
Figure 15: Schéma SimScape du PID.
15
Système à commander (G(s))
PID (K(s))
Création du Signal d’erreur e(t)
16