Sunteți pe pagina 1din 67

Sisteme automate incorporate / Tehnologii informatice n ingineria sistemelor/

Sisteme de conducere n robotic

Automotive Control
- Controlul suspensiei -

Dan Seliteanu

Departamentul de Automatic i Electronic

Universitatea din Craiova Facultatea de Automatic, Calculatoare i Electronic


CUPRINS

1. Introducere
2. Modelarea sistemelor mecanice simple
3. Modelarea i analiza sistemelor de suspensie
4. Proiectarea unor regulatoare PID pentru suspensii
5. Metode de proiectare frecveniale
6. Proiectarea regulatorului n spaiul strilor
7. Proiectarea controllerelor numerice pentru suspensii
Bibliografie

2/67
1. Introducere

Prima etap n procesul de proiectare a unui sistem de conducere n


automotive const n dezvoltarea unor modele matematice utile, obinute fie
din legile fizice, fie din datele experimentale.
Reprezentrile sistemelor dinamice cele mai importante n automatic sunt
reprezentarea n spaiul strilor i funcia de transfer (pentru sisteme liniare).
n multe dintre sistemele din automotive sunt utilizate abordri de modelare
ale unor subsisteme mecanice i electrice, fiind foarte util reprezentarea
acestora n mediul MATLAB/Simulink, care permite analize i proiectri
avansate.
Limbajul de programare MATLAB, dezvoltat de MathWorks, permite
manipulri matriceale, plotarea de funcii i date, implementarea unor
algoritmi (inclusiv de conducere) etc.
Pachetul adiional Simulink permite simularea grafic multi-domeniu, precum
i proiectarea bazat pe model pentru sisteme dinamice i sisteme embedded.
3/67
Definiii. Tipuri de suspensii
Sistemul de suspensie este un mecanism care face legtura ntre roi i
caroseria mainii.
Sistemul de suspensie transmite uniform fora (greutatea) ce acioneaz asupra
vehiculului ctre suprafaa de rulare (osea) i, n acelai timp, l izoleaz de
forele ce apar dinspre calea de rulare, mbuntind astfel confortul i
manevrabilitatea acestuia.
Principalele componente ale suspensiei sunt:
Arc
Bara stabilizatoare (opional)
Articulaii i buce
Amortizor
Sistemele de suspensie pot fi mprite n dou categorii: rigide i
independente. Aceti termeni se refer la posibilitatea ca roile de pe aceeai
punte (fa sau spate) s se mite independent una fa de cealalt.

4/67
Caracteristici ale diverselor tipuri de suspensii
Suspensie pasiv: pot fi incluse sistemele de suspensie convenionale sau
tradiionale. Principala caracteristic a lor este c odat instalate pe main,
parametrii suspensiei (duritate, garda la sol) nu pot fi controlai din exterior.
Arcurile i amortizoarele tradiionale sunt elemente de suspensie pasiv.
Suspensii reactive: Toate sistemele de suspensie tradiionale sunt de
asemenea reactive. Cnd o roat trece peste o denivelare, schimbarea de
poziie a acesteia determin ca suspensia s se comprime sau s se extind.
ntr-un mod asemntor, virarea, frnarea sau acceleraia determin micri
ale suspensiei, permind caroseriei s se ncline lateral sau fa/spate.
n acest grup pot fi incluse sisteme de suspensie ce sunt capabile s controleze
garda la sol n funcie de schimbrile n greutate sau n forele aerodinamice.
Acest sistem este de asemenea capabil s reacioneze la ncrcri interne,
precum balansul lateral, i s contracareze efectele.
Uneori, sunt proiectate sisteme pasiv-reactive, care au o interconexiune pasiv
ce faciliteaz mprirea egal a ncrcturii ntre roi.
5/67
Suspensie semi-activ: Principala caracteristica a sistemului semi-activ o
reprezint capacitatea suspensiei de a-i schimba continuu coeficientul de
amortizare, fcnd amortizorul mai dur sau mai moale, n funcie de starea
drumului.
Acest lucru se realizeaz prin conectarea la o unitate electronic de control
(ECU) a 4 amortizoare cu coeficient de amortizare reglabil. Uneori, n afar
de soluia tandemului cu un arc tradiional, aceste amortizoare pot fi
combinate/mperecheate cu diferite soluii de reglare automat a grzii la sol,
precum i cu sisteme tip Hydropneumatic, Hydrolastic, sau Hydragas.
Principalele avantaje ale suspensiei semi-active sunt:
Gard la sol reglabil, optimizat pentru confort i manevrabilitate
Posibilitatea de a regla tria suspensiei
Suspensia se regleaz automat n funcie de condiiile de drum
Dimensiuni similare cu sistemele de suspensie tradiionale

6/67
Suspensie activ: Sistemul de suspensie activ are capacitatea de a-i ajusta
parametrii de funcionare n mod continuu n funcie de condiiile de drum.
Sistemul monitorizeaz constant diferii parametri i i regleaz singur.
Sistemul de suspensie activ are un controller embedded care comand ctre
fiecare roat cnd, n ce direcie, la ce distan i ct de repede s se mite.
Sistemul incorporat ia aceste decizii prin intermediul unei reele de senzori
care msoar spre exemplu, viteza mainii, accelerrile laterale i
longitudinale i forele de accelerare pe fiecare roat.
Dup aceasta, controllerul trimite comanda la roat pentru a obine direcia
ideal n situaia existent.

7/67
2. Modelarea sistemelor mecanice simple
Pentru a nelege modelarea sistemelor de suspensie, va fi prezentat un
model al unui sistem mecanic simplu.
Legile lui Newton constituie fundamentul analizei sistemelor mecanice.
Principiul al doilea al mecanicii: suma forelor care acioneaz asupra
unui corp este egal cu produsul dintre masa i acceleraia corpului.
d2x
F m a m dt 2
Legea a treia a lui Newton afirm c dac un corp acioneaz asupra altui
corp cu o for (fora de aciune), cel de-al doilea corp acioneaz i el
asupra primului cu o for (fora de reaciune) de aceeai mrime i de
aceeai direcie, dar de sens contrar [Principiul aciunii i reaciunii].
Exemplu de sistem mecanic simplu: Sistemul mas-resort-amortizor

8/67
Modelarea sistemului:
Diagrama forelor (de corp liber) pentru acest sistem este prezentat n
continuare.

Fora elastic este proporional cu deplasarea, x, iar fora de frecare


vscoas este proporional cu viteza corpului, v.
Ambele fore se opun micrii corpului i sunt reprezentate n direcia
negativ a axei x.
Prin nsumarea forelor din diagram i prin aplicarea legii a doua a lui
Newton obinem:

F x F (t ) bx kx mx
Aceast ecuaie caracterizeaz complet starea dinamic a sistemului.

9/67
Pentru determinarea reprezentrii de stare a sistemului mecanic, trebuie
transformat ecuaia diferenial de ordinul doi ntr-un sistem de ecuaii
difereniale de ordinul unu.
Vor fi alese ca variabile de stare poziia i viteza corpului.
x x1
x
x x2
Aceste variabile de stare corespund de fapt energiei poteniale n resort i
respectiv energiei cinetice a corpului.
Ecuaia de stare va fi:
x 0 1 x 0
x F (t )
x k / m b / m x 1 / m
Dac suntem interesai de controlul poziiei corpului, ecuaia de ieire este
x
y 1 0
x
10/67
Reminder 1.
Reprezentarea de stare standard a unui sistem continuu liniar invariant n
timp (SLIT) este:
x Ax Bu
y Cx Du (1)

unde:
x este vectorul variabilelor de stare (nx1),
x este derivata n raport cu timpul a vectorului de stare (nx1),
u este vectorul de intrare (px1),
y este vectorul de ieire (qx1),
A este matricea sistemului (nxn),
B este matricea de intrare (nxp),
C este matricea de ieire (qxn),
D este matricea de legtur direct ntre intrare i ieire (qxp).

11/67
Transformata Laplace a sistemului mecanic (n condiii iniiale nule) este:

ms2 X ( s ) bsX ( s ) F ( s )
De aici rezult funcia de transfer ntre intrare (for) i ieire (deplasare):

X (s) 1
H ( s) 2
F ( s ) ms bs k
Reminder 2.
Folosind Transformarea Laplace, este posibil s convertim reprezentarea de
stare (domeniul timp) ntr-o reprezentare frecvenial intrare-ieire,
cunoscut sub denumirea de funcie de transfer.
Transformata Laplace a unei funcii din domeniul timp, f(t), se definete ca:
st
F ( s ) L f (t )
0
e f t dt (2)

unde s j este variabila complex de frecven.


12/67
Transformata Laplace a derivatei de ordinul n a unei funcii este important:

d n f n
L n s F ( s ) s n 1 f (0) s n 2 f (0) ... f ( n 1) (0) (3)
dt

Metodele frecveniale sunt des utilizate pentru analiza unor sisteme LTI cu o
singur intrare i o singur ieire (SISO), descrise de ecuaii de tipul:

dny dy d mu du
an n ... a1 a0 y (t ) bm m ... b1 b0u (t ) (4)
dt dt dt dt

Transformata Laplace a acestei ecuaii este:

an s nY ( s ) ... a1 sY ( s ) a0Y ( s ) bm s mU ( s ) ... b1 sU ( s ) b0U ( s ) (5)


unde Y(s) i U(s) sunt transformatele Laplace ale lui y(t) i u(t).

13/67
Funcia de transfer ntre intrarea U(s) i ieirea Y(s) este:
Y ( s ) bm s m ... b1 s b0
H ( s) (6)
U ( s ) an s n ... a1 s a0
Aceasta se poate exprima i sub forma poli-zerouri-amplificare:
N (s) ( s z1 )( s z2 )( s z m )
H (s) K (7)
D( s ) ( s p1 )( s p2 )( s pn )
Zerourile funciei de transfer sunt rdcinile numrtorului: N(s) = 0.
Polii funciei de transfer sunt rdcinile numitorului: D(s) = 0.
Amplificarea sistemului este K = bm/an.
Funcia de transfer poate fi determinat direct din reprezentarea de stare (1):
Y (s)
H ( s) C ( sI A) 1 B D (8)
U ( s)

14/67
Elemente de analiz a sistemelor de ordinul doi
Sistemele de ordinul doi sunt des ntlnite n practic, fiind cele mai simple
sisteme dinamice care pot prezenta oscilaii.
Multe sisteme reale de ordin superior pot fi modelate ca sisteme de ordinul
2 pentru a facilita analiza acestora i proiectarea unor sisteme de control.
Un exemplu tipic este sistemul mecanic cu resort i amortizor.
Forma general a ecuaiei difereniale este :
my by ay u sau y 2n y 2n y k2nu
Funcia de transfer de ordinul doi este
1 k2n
G(s) 2 sau G(s) 2
ms bs a s 2n s 2n
Amplificarea de c.c. (DC Gain)
Amplificarea de c.c., k, este raportul dintre amplitudinea rspunsului la
intrare treapt n regim staionar i amplitudinea intrrii: k 1 / a .
15/67
Factorul de amortizare
Factorul de amortizare este o cantitate adimensional ce caracterizeaz
pierderile de energie datorate unor fenomene precum frecarea vscoas.
b

2 am
Pulsaia (frecvena) natural
Pulsaia natural este pulsaia (rad/s) la care sistemul oscileaz atunci cnd
nu exist amortizare, 0 .
a
n
m
Poli/Zerouri
Funcia de transfer de ordinul 2 are doi poli:
p1,2 n jn 1 2

16/67
Sisteme sub-amortizate
Dac 1 , sistemul este sub-amortizat. Ambii poli sunt compleci cu
prile reale negative; deci sistemul este stabil dar oscileaz.

Fig. 1. Harta poli-zerouri i rspunsul la intrare treapt pentru sistemul sub-amortizat de


ordinul doi

17/67
Durata regimului tranzitoriu (Settling Time)
Pentru sistemul sub-amortizat de ordinul doi, durata regimului tranzitoriu
poate fi aproximat prin ecuaia:
ln()
tr
n
unde este limea procentual a zonei de linitire (de regul 2% sau 5%)

Suprareglajul (Overshoot)
Suprareglajul procentual este procentul prin care sistemul depete
valoarea sa de regim staionar (depirea procentual maxim de ctre
mrimea de ieire a valorii sale de regim staionar).
Pentru sistemul de ordinul 2 sub-amortizat, suprareglajul procentual este
dependent de factorul de amortizare dup relaia:

1 2
% e 100%
18/67
Sisteme supra-amortizate

Dac 1 , sistemul este supra-amortizat. Ambii poli sunt reali i


negativi; deci sistemul este stabil i nu oscileaz.

Fig. 2. Harta poli-zerouri i rspunsul la intrare treapt pentru sistemul supra-amortizat de


ordinul doi
19/67
Sisteme critic amortizate
Dac 1 , sistemul este cu amortizare critic. Ambii poli sunt reali,
negativi i egali. Sisteme critic amortizate se apropie de regimul staionar
cu cea mai mare rapiditate, fr s oscileze.

Fig. 3. Harta poli-zerouri i rspunsul la intrare treapt pentru sistemul critic amortizat de
ordinul doi
20/67
Sisteme neamortizate
Dac 0 , sistemul este neamortizat. Polii sunt pur imaginari; sistemul
este la limita de stabilitate i rspunsul va oscila permanent.

Fig. 4. Harta poli-zerouri i rspunsul la intrare treapt pentru sistemul neamortizat de


ordinul doi

21/67
Caracteristicile de frecven Bode pentru sistemele de ordinul doi

Fig. 5. Caracteristicile Bode pentru sistemul de ordinul doi

22/67
Caracteristica amplitudine-frecven (magnitude Bode plot) a unui sistem
de ordinul doi scade cu -40dB pe decad (dup frecvena de frngere), iar
caracteristica faz-frecven (phase Bode plot) scade de la 0 la -180 de
grade (de la joas frecven la nalt frecven).
Pentru sistemele sub-amortizate, exist un vrf de rezonan al
caracteristicii amplitudine-frecven aproape de frecvena natural (n
exemplu de 10 rad/s).
Limea vrfului depinde de amortizarea sistemului, i este caracterizat de
aa-numitul factor de calitate, sau Q-Factor.
Factorul de calitate reprezint o proprietate important a sistemului n
domeniul prelucrrii semnalelor.

1
Q
2

23/67
3. Modelarea i analiza sistemelor de suspensie
Proiectarea unui sistem de control al suspensiei autovehiculelor este o
problem dificil. De regul, este utilizat un model 1/4 (una din cele patru
roi) (sfertul de main) n scopul reducerii problemei la un sistem mono-
dimensional (1D) cu resort (arc) i amortizor.
Modelul din Fig. 6 reprezint o posibil descriere a unui sistem de suspensie,
elementul de execuie (actuatorul) fiind inclus n model. Elementul de
execuie poate genera o for U pentru controlul micrii corpului unui
autovehicul (de exemplu, un autobuz).

Fig. 6. Modelul suspensiei unui autobuz (1/4)


24/67
Parametrii sistemului i notaii (exemplu):
(M1) 1/4 din masa corpului (autobuzului) 2500 kg
(M2) masa suspensiei 320 kg
(K1) constanta resortului suspensiei 80,000 N/m
(K2) constanta resortului roii i cauciucului 500,000 N/m
(b1) factorul de amortizare al suspensiei 350 N.s/m
(b2) factorul de amortizare al roii/cauciucului 15,020 N.s/m
(U) fora (mrimea de comand)
Ecuaiile micrii
Din Fig. 6, dac se aplic legea lui Newton se obin ecuaiile dinamice:
M 1 x1 b1 ( x1 x2 ) K1 ( x1 x2 ) u
M 2 x2 b1 ( x1 x2 ) K1 ( x1 x2 ) b2 ( w x2 ) K 2 ( w x2 ) u

25/67
Funciile de transfer

Presupunem c toate condiiile iniiale sunt nule. Aceasta nseamn c


ecuaiile vor reprezenta situaia n care roata vehiculului trece peste o
denivelare.
Ecuaiile dinamice pot fi descrise prin funcii de transfer (sistemul este liniar)
prin aplicarea transformrii Laplace.
Obinerea funciilor de transfer G1(s) i G2(s) este prezentat n continuare,
unde prima funcie de transfer are ieirea X1-X2 i intrarea U, respectiv cea de-
a doua funcie de transfer are ieirea X1-X2 i intrarea W.

( M 1 s 2 b1 s K1 ) X 1 ( s ) (b1 s K1 ) X 2 ( s) U ( s )

(b1 s K 1 ) X 1 ( s ) ( M 2 s 2 (b1 b2 ) s ( K 1 K 2 )) X 2 ( s ) (b2 s K 2 )W ( s ) U ( s )

26/67
( M 1 s 2 b1 s K1 ) (b1 s K1 ) X 1 ( s)

(b1 s K1 ) ( M 2 s (b1 b2 ) s ( K1 K 2 )) X 2 ( s )
2

U ( s)

(
2b s K 2 )W ( s ) U ( s )

( M 1 s 2 b1 s K1 ) (b1 s K1 )
A
(b1 s K1 ) ( M 2 s (b1 b2 ) s ( K1 K 2 ))
2

( M 1 s 2 b1 s K1 ) (b1 s K1 )
det
(b1 s K1 ) ( M 2 s (b1 b2 ) s ( K 1 K 2 ))
2

( M 1 s 2 b1 s K1 ) ( M 2 s 2 (b1 b2 ) s ( K 1 K 2 )) (b1 s K1 )2

27/67
Pentru calculul final se inverseaz matricea A a sistemului i apoi realizeaz
nmulirea cu intrrile U(s) i W(s) n partea dreapt astfel:
X 1 (s) 1
X ( s)
2
( M 2 s 2 b2 s K 2 ) (b1b2 s 2 (b1 K 2 b2 K 1 ) s K 1 K 2 ) U ( s)

M 1 s 2
( M b
1 2 s 3
( M K
1 2 b b
1 2 ) s 2
(b K
1 2 b K
2 1 ) s K K )
1 2 W ( s )
Cnd se consider doar intrarea U(s), conform principiului superpoziiei
valabil pentru sistemele liniare, se seteaz W(s) = 0. Astfel se obine G1(s):
X 1 ( s ) X 2 ( s ) ( M 1 M 2 ) s 2 b2 s K 2
G1 ( s )
U (s)
Atunci cnd considerm doar intrarea W(s) (perturbaia), setm U(s) = 0.
Astfel obinem funcia de transfer G2(s):
X 1 ( s ) X 2 ( s ) M 1b2 s 3 M 1 K 2 s 2
G2 ( s )
W (s)
28/67
Specificaii (cerine) de proiectare
O suspensie performant trebuie s fie caracterizat de o inut de drum bun,
cu asigurarea concomitent a confortului la trecerea peste denivelri sau la
ntlnirea unor gropi.
Atunci cnd vehiculul este afectat de perturbaii provocate de starea drumului
(guri, crpturi, denivelri etc.), corpul vehiculului trebuie s nu aib oscilaii
mari, iar aceste oscilaii trebuie s se amortizeze rapid.
Deoarece distana X1-W este dificil de msurat, iar deformarea cauciucului
(X2-W) este neglijabil, se va utiliza distana X1-X2 n locul distanei X1-W ca
ieire a sistemului.
Perturbaia W va fi simulat printr-o intrare de tip treapt, ceea ce corespunde,
de exemplu, ntlnirii unui obstacol.
Trebuie proiectat un controller bazat pe reacie astfel nct, de exemplu,
suprareglajul s fie mai mic de 5% i durata regimului tranzitoriu sub 5 sec.
(Dac autobuzul trece peste un obstacol de 10 cm, corpul acestuia s oscileze
n domeniul +/- 5 mm i s revin la un comportament lin n 5 sec.).
29/67
Tem. S se calculeze i s se ploteze rspunsul sistemului n circuit deschis
i n circuit nchis (pentru o funcie de transfer a regulatorului C(s)=1).
Soluie. Matlab:

Circuit deschis (Open-loop):


M1 = 2500;
M2 = 320;
K1 = 80000;
K2 = 500000;
b1 = 350;
b2 = 15020;

s = tf('s');
G1 =
((M1+M2)*s^2+b2*s+K2)/((M1*s^2+b1*s+K1)*(M2*s^2+(b1+b2)*s+(K1+K2
))-(b1*s+K1)*(b1*s+K1));

step(G1)

30/67
-5
x 10 Step Response
2.5

Amplitude 1.5

0.5

0
0 5 10 15 20 25 30 35 40 45 50
Time (seconds)

Fig. 7. Rspunsul sistemului n circuit deschis (G1) (n raport cu mrimea de comand)

Din Fig. 7 se observ c sistemul este sub-amortizat. Persoanele din vehicul vor
simi mici oscilaii ale acestuia. Durata regimului tranzitoriu (settling time) este
foarte mare.
31/67
G2 =
(-M1*b2*s^3-M1*K2*s^2)/((M1*s^2+b1*s+K1)
*(M2*s^2+(b1+b2)*s+(K1+K2))-(b1*s+K1)*(b1*s+K1));
step(0.1*G2)

Fig. 8. Rspunsul sistemului n circuit deschis (G2) (n raport cu perturbaia)


Din Fig. 8 se observ c la o intrare treapt a perturbaiei (denivelare) de 10 cm,
corpul vehiculului oscileaz foarte mult timp (~50 sec.) cu o amplitudine iniial de
peste 8 cm. Suprareglajul i durata regimului tranzitoriu nu sunt acceptabile din
punct de vedere al confortului.
32/67
Soluia la aceste probleme const n adugarea unui regulator (controller,
compensator) i proiectarea corespunztoare a unui sistem cu reacie, cu
scopul de a mbunti performanele sistemului.
Schema sistemului de conducere n circuit nchis (cu reacie) este prezentat
n figura urmtoare.

proces

Fig. 9. Schema bloc a sistemului de control al suspensiei (circuit nchis = cu reacie)

33/67
Circuit nchis (Closed-loop):
Soluia analitic (C(s)=1):
C ( s )G1 ( s ) G1 ( s )
H 0 (s)
1 C ( s )G1 ( s ) 1 G1 ( s )
( M 1 M 2 ) s2 b2 s K2

( M M 2 ) s b2 s K2
2
1 1

( M 1 M 2 ) s2 b2 s K2

( M 1 M 2 ) s b2 s K2
2

( M 1 M 2 ) s2 b2 s K2

( M 1s2 b1s K1 ) ( M 2 s2 (b1 b2 ) s ( K1 K2 )) (b1s K1 )2 ( M 1 M 2 ) s2 b2 s K2

Observaie:
X 1 ( s) X 2 ( s) ( M 1 M 2 ) s 2 b2 s K 2
G1 ( s)
U ( s) ( M 1 s 2 b1 s K1 ) ( M 2 s 2 (b1 b2 ) s ( K1 K 2 )) (b1 s K1 )2
34/67
Matlab:
feedback(G1,1)

Funcia de transfer n circuit nchis:


2820 s^2 + 15020 s + 500000
----------------------------------------------------------------
800000 s^4 + 3.854e007 s^3 + 1.481e009 s^2 + 1.377e009 s + 4e010
-5
x 10 Step Response
2.5

1.5
Amplitude

0.5

0
0 5 10 15 20 25 30 35 40 45 50
Time (seconds)

Fig. 10. Rspunsul sistemului n circuit nchis (H0)


35/67
4. Proiectarea unor regulatoare PID pentru suspensii
Proiectarea se va realiza pe baza funciilor de transfer:
X 1 ( s) X 2 ( s ) ( M 1 M 2 ) s 2 b2 s K 2
G1 ( s ) (9)
U (s)
X 1 ( s ) X 2 ( s ) M 1b2 s 3 M 1 K 2 s 2
G2 ( s ) (10)
W ( s)
Schema sistemului de conducere cu regulator PID va fi de forma din Fig. 11.

proces

Fig. 11. Schema sistemului de control al suspensiei (cu regulator PID i F(s)G1(s) = G2(s))
36/67
Regulatorul PID
Se va proiecta un controller bazat pe reacie de tip PID astfel nct
suprareglajul s fie mai mic de 5% i durata regimului tranzitoriu sub 5 sec.
Funcia de transfer a unui regulator PID este de forma:

Ki K d s 2 K p s Ki 1
C (s) K p Kd s K p 1 Td s (12)
s s Ti s
unde K p , K i i K d sunt factorii de amplificare corespunztori elementelor P,
I i D.
Regulatorul PID poate fi parametrizat i prin urmtorii parametri: factorul de
proporionalitate Kp, constanta de timp de integrare (reset time) Ti i constanta
de timp de derivare Td.
Procesul de proiectare al regulatorului PID const n stabilirea unor valori
corespunztoare pentru parametri, prin metode de acordare sau prin alte
proceduri de proiectare.
37/67
Alegerea parametrilor
Exemplu de valori ale parametrilor:
K p 208025 , K i 832100 , K d 635075
Exemplu de implementare n MATLAB:
Kd = 208025;
Kp = 832100;
Ki = 624075;
C = pid(Kp,Ki,Kd);

Dac se dorete simularea rspunsului sistemului n circuit nchis cu


regulatorul PID, considernd perturbaia W i ieirea X1-X2, se poate folosi
comanda (funcia F se poate calcula cu formula F(s) =G2(s)/G1(s)):
sys_cl=F*feedback(F*G1,C);

Astfel este creat funcia de transfer n circuit nchis n MATLAB i se poate


obine rspunsul la intrare treapt (perturbaie de 0.1 m).
t=0:0.05:5; step(0.1*sys_cl,t)
38/67
Fig. 12. Rspunsul sistemului n circuit nchis (regulator PID) la o intrare (perturbaie) de
tip treapt

Se observ c suprareglajul este de aprox. 9mm (mai mare dect cerina de 5mm),
dar durata regimului tranzitoriu este satisfctoare, sub 5 sec.
Rezult c sunt necesare alte valori ale parametrilor.

39/67
Controlul sistemului de suspensie const n acest moment n acordarea
parametrilor regulatorului PID.
Aceast acordare se poate face utiliznd diverse metode practice de acordare
(Ziegler-Nichols, etc.) (Tem), sau metode de acordare automat n Matlab,
sau metode frecveniale, sau locul rdcinilor etc.
Exist o legtur direct ntre polul i zerourile regulatorului PID i parametrii
regulatorului, dup cum exist o legtur direct ntre polul i zerourile
regulatorului PID i polii i zerourile sistemului n circuit nchis (problem de
alocare).
Din rspunsul la intrare treapt anterior se observ c cerina de suprareglaj nu
este respectat. Pentru rectificare, se pot modifica valorile parametrilor i se
recalculeaz rspunsul la intrare treapt astfel:
Kd=2*Kd;
Kp=2*Kp;
Ki=2*Ki;
C=pid(Kp,Ki,Kd);
sys_cl=F*feedback(F*G1,C);
step(0.1*sys_cl,t)
40/67
Fig. 13. Rspunsul sistemului n circuit nchis (regulator PID) la o intrare (perturbaie) de
tip treapt modificarea parametrilor regulatorului

Acum att suprareglajul ct i durata regimului tranzitoriu satisfac cerinele de


proiectare.
Rezult c regulatorul PID poate controla suspensia n mod adecvat, prin alegerea
corespunztoare (acordarea) parametrilor acestuia.
41/67
5. Metode de proiectare frecveniale
Scopul proiectrii este acelai ca n capitolul anterior: proiectarea unui
controller bazat pe reacie astfel nct suprareglajul s fie mai mic de 5% i
durata regimului tranzitoriu sub 5 sec.
Trasarea caracteristicilor de frecven
Ideea principal a proiectrii n domeniul frecven const n utilizarea
caracteristicilor Bode ale funciei de transfer n circuit deschis pentru
impunerea unui anumit rspuns sistemului n circuit nchis.
Adugarea unui controller va determina schimbarea caracteristicilor de
frecven n circuit deschis i implicit a rspunsului n circuit nchis.
Prima etap const n trasarea caracteristicilor de frecven Bode n circuit
deschis (amplitudine-frecven i faz-frecven).
Se pot utiliza urmtoarele comenzi Matlab:
w = logspace(-1,2);
bode(G1,w)

42/67
Fig. 14. Caracteristicile Bode ale sistemului n circuit deschis
Va fi utilizat n continuare o reprezentare normalizat, prin ajustarea factorului de
amplificare K, care are are ca efect deplasarea caracteristicii pe axa amplitudinilor
cu 20*logK (fr efect asupra fazei).
Prin urmare se va scala caracteristica din Fig. 14 cu K=100.000 (100dB).
43/67
K=100000;
bode(K*G1,w)

Fig. 15. Caracteristicile Bode ale sistemului n circuit deschis (normalizate)

44/67
Adugarea unui regulator cu avans de faz (lead control)
Din Fig. 15 se poate observa c faza are o form concav n zona de 5 rad/sec.
Din acest motiv se justific adugarea unui element cu faz pozitiv
(anticipativ, derivativ).
Deoarece o margine de faz mare conduce la un suprareglaj mic (rezerv de
stabilitate mare), se poate aduga un element cu faza de +140 de grade n zona
de 5 rad/sec.
Vor fi utilizate dou controllere de ordinul 1 (fiecare poate contribui cu max.
+90 de grade), care de fapt au forma unor regulatoare PD reale:
Ts 1 Ts 1
C (s)
aTs 1 aTs 1
Etape:
1. Se determin surplusul necesar de faz: pentru +140 de grade sunt necesare
+70 de grade pentru fiecare regulator.
2. Se determin frecvena la care trebuie intervenit: aprox. 5.0 rad/sec.
45/67
3. Se determin constanta a a regulatorului din relaia urmtoare (distana
dintre zerou i pol):
1 sin 70
a 0.031
1 sin 70

4. Se determin constanta T din urmtoarea relaie (frecvena trebuie aleas


astfel nct faza maxim s fie adugat la 5 rad/sec.):
1 1
T 1.134
a 5 0.031
Regulatoarele (de fapt un regulator ce conine dou regulatoare tipizate) se
introduc n sistem folosind, de exemplu, urmtorul program Matlab:
a = (1-sin(70/180*pi))/(1+sin(70/180*pi));
w=5;
T=1/(w*sqrt(a));
aT=sqrt(a)/w;
numc = conv([T 1], [T 1]);
denc = conv([aT 1], [aT 1]);
C = tf(numc,denc);
margin(K*C*G1)
46/67
Fig. 16. Caracteristicile Bode ale sistemului n circuit deschis, dup adugarea
regulatorului dublu cu avans de faz

Faza se pstreaz peste -180 de grade, este crescut n zona de interes, iar marginea
de faz este suficient de mare.
47/67
Rspunsul sistemului n circuit nchis
Structura sistemului n circuit nchis este cea din Fig. 11.
Funcia de transfer a sistemului n circuit nchis i rspunsul la intrare treapt
de 0.1 m se pot obine n Matlab:
sys_cl = F*feedback(G1,K*C);

t=0:0.01:5;

step(0.1*sys_cl,t)

axis([0 5 -.01 .01])

Din Fig. 17 se observ c amplitudinea rspunsului este mult mai mic dect
cerina impus (prin suprareglaj) iar durata regimului tranzitoriu este mai mic
dect 5 sec. (amplitudinea rspunsului sub 0.0001 m, adic 1% din intrare,
dup aprox. 4 sec.).

48/67
Fig. 17. Rspunsul sistemului n circuit nchis la intrare treapt (regulator dublu cu avans
de faz)

49/67
Din caracteristicile Bode se observ c prin creterea amplificrii se poate
crete frecvena de trecere i prin urmare se crete rapiditatea rspunsului,
dup cum se poate observa din Fig. 18. Exemplu:
numc = 4*conv([T 1], [T 1]); denc = conv([aT 1], [aT 1]);
C = tf(numc,denc);
sys_cl = F*feedback(G1,K*C);
t=0:0.01:5; step(0.1*sys_cl,t)
axis([0 5 -.01 .01])

Fig. 18. Rspunsul sistemului n circuit nchis la intrare treapt (amplificare mrit)
50/67
6. Proiectarea regulatorului n spaiul strilor

Proiectarea unui regulator bazat pe reacie dup stare necesit utilizarea


ecuaiilor dinamice de stare ale sistemului de suspensie, care se pot obine din
ecuaiile micrii prezentate n capitolul 3. Vom nota Y1=X1-X2.

0 1 0 0
0 0
b1b2 b b b b K b1 1 b1b2
x1 0 1 1 1 2 1
1 x M M 1M 2
x M 1 M 2 M
1 1M M 2 M 2 M 1 M 1 1
u
b2
x
1 b2 b1 b1 b2 1
y 1 0 1 y1 0 w
M 2
M2 M1 M2 M2 y
y1 K 2 K1 K1 K2 1 1 1 K2
M 0 0
2 M1 M2 M2 M1 M2 M2

x1
x
u
y 0 0 1 0 1
0 0
y1 w

y 1
51/67
Scopul reglrii: proiectarea unui regulator bazat pe reacie dup stare astfel
nct suprareglajul s fie mai mic de 5% i durata regimului tranzitoriu sub 5
sec. (Dac autobuzul trece peste un obstacol de 10 cm, corpul acestuia s
oscileze n domeniul +/- 5 mm i s revin la un comportament lin n 5 sec.).
Reprezentarea de stare n Matlab:
m1 = 2500;
m2 = 320;
k1 = 80000;
k2 = 500000;
b1 = 350;
b2 = 15020;
A=[0 1 0 0
-(b1*b2)/(m1*m2) 0 ((b1/m1)*((b1/m1)+(b1/m2)+(b2/m2)))-(k1/m1) -b1/m1)
b2/m2 0 -((b1/m1)+(b1/m2)+(b2/m2)) 1
k2/m2 0 -((k1/m1)+(k1/m2)+(k2/m2)) 0];
B=[0 0
1/m1 (b1*b2)/(m1*m2)
0 -(b2/m2)
(1/m1)+(1/m2) -(k2/m2)];
C=[0 0 1 0];
D=[0 0];
sys=ss(A,B,C,D);

52/67
Proiectarea unui regulator cu reacie dup stare
Vom presupune c toate strile sunt msurabile (ceea ce nu este adevrat n
practic; n astfel de cazuri se utilizeaz observere de stare).
Schema bloc a sistemului cu reglare dup stare este prezentat n figura
urmtoare.

proces

Reacie dup stare

Fig. 19. Schema bloc a sistemului n circuit nchis cu reglare dup stare

53/67
Polinomul caracteristic al sistemului n circuit nchis este determinantul
expresiei (sI-(A-B[1,0]TK)).
Aceast expresie apare n locul celei clasice sI-(A-BK) deoarece controllerul
K controleaz doar fora de intrare u i nu i perturbaia w (denivelarea
drumului).
Va fi utilizat i o aciune de tip integral pentru anularea erorii staionare de
poziie. Prin urmare se augmenteaz (se mrete) vectorul de stare cu o stare
suplimentar y2 obinut prin integrarea diferenei y1=x1-x2.
Reprezentarea de stare n Matlab devine de ordinul 5:
Aa = [[A,[0 0 0 0]'];[C, 0]];
Ba = [B;[0 0]];
Ca = [C,0];
Da = D;
sys=ss(Aa,Ba,Ca,Da);

54/67
Problema este asemntoare cu proiectarea unui regulator PID. Componenta I
este obinut din integrarea noii stri. Componenta P este obinut prin
amplificarea mrimii y1=x1-x2.
Implementarea componentei D a ieirii nu este posibil, i prin urmare se va
utiliza derivata lui x1 care este disponibil pentru reacie (de exemplu, derivata
lui x1 poate fi obinut prin integrarea ieirii unui accelerometru montat pe
autobuz).
Regulatorul se implementeaz foarte simplu n Matlab:
K = [0 2.3e6 5e8 0 8e6]
K =
0 2300000 500000000 0 8000000

Aceste valori ale amplificrilor din vectorul K se pot obine, de exemplu, prin
ncercri (trial and error).

55/67
Rspunsul sistemului n circuit nchis
Dup adugarea matricei (vectorului) K, ecuaiile de stare ale sistemului n
circuit nchis devin:
1 u

x A B K x B
0 w
y Cx

unde vectorul de stare este x x1 x1 y1 y 1 y2 , cu y2 y1 dt ( x1 x2 )dt .


T

Rspunsul sistemului n circuit nchis se poate obine n Matlab prin


adugarea urmtoarelor comenzi:
t = 0:0.01:2;
sys_cl = ss(Aa-Ba(:,1)*K,-0.1*Ba,Ca,Da);
step(sys_cl*[0;1],t)
title('Closed-Loop Response to a 0.1-m Step')

56/67
Fig. 20. Rspunsul sistemului n circuit nchis la intrare treapt (reacie dup stare)

Cerinele impuse (suprareglaj sub 5% i durata regimului tranzitoriu sub 5 sec.) sunt
ndeplinite. Eroarea de regim staionar este zero.
57/67
7. Proiectarea controllerelor numerice pentru suspensii
Proiectarea unui regulator numeric se bazeaz pe utilizarea ecuaiilor
dinamice de stare ale sistemului de suspensie prezentate n capitolul anterior,
care vor fi convertite din domeniul continuu n domeniul discret. Dup aceea
va fi utilizat o tehnic de plasare a polilor.
Scopul reglrii: proiectarea unui regulator numeric astfel nct suprareglajul
s fie mai mic de 5% i durata regimului tranzitoriu sub 5 sec.
Selectarea perioadei de eantionare
Prima etap n procesul de proiectare a regulatorului discret const n
conversia procesului din domeniul continuu n cel discret. n acest scop,
trebuie aleas o perioad de eantionare corespunztoare. Aceast alegere este
foarte important i depinde de proces.
n cazul suspensiei, posibila denivelare a drumului va ridica brusc roata i va
compresa arcul (K2) i amortizorul (b2). Deoarece masa suspensiei este mic
n raport cu cea a vehiculului, iar arcul este destul de rigid, suspensia se va
ridica repede, deci va crete rapid distana x2.
58/67
Regulatorul va primi informaii cu privire la efectul perturbaiei numai dup o
perioad de eantionare, i prin urmare trebuie aleas o astfel de perioad ct
mai mic, astfel nct ieirea x1-x2 s nu fie afectat prea mult de denivelare.
Pentru alegerea perioadei de eantionare este util analiza rspunsului la
intrare treapt n zona regimului tranzitoriu, folosind, de exemplu, programul:
m1 = 2500;
m2 = 320;
k1 = 80000;
k2 = 500000;
b1 = 350;
b2 = 15020;
A = [0 1 0 0
-(b1*b2)/(m1*m2) 0 ((b1/m1)*((b1/m1)+(b1/m2)+(b2/m2)))-(k1/m1) -b1/m1)
b2/m2 0 -((b1/m1)+(b1/m2)+(b2/m2)) 1
k2/m2 0 -((k1/m1)+(k1/m2)+(k2/m2)) 0];
B = [0 0
1/m1 (b1*b2)/(m1*m2)
0 -(b2/m2)
(1/m1)+(1/m2) -(k2/m2)];
C = [0 0 1 0];
D = [0 0];
sys = ss(A,B,C,D);
step(sys*[0;1]*.1,0:0.0001:.005);
59/67
Fig. 21. Rspunsul sistemului n circuit deschis la intrare treapt (regimul tranzitoriu)

Se observ c arcul se comprim foarte repede i depete cerina de proiectare


(5mm la o treapt de 0.1 m) dup doar 0.001sec. Rezult o posibil setare a
perioadei de eantionare la Te=.0005sec.
60/67
Conversia continuu - discret
Se poate realiza pe cale analitic sau cu un program de proiectare asistat. De
exemplu, n Matlab se poate folosi comanda c2d, cu trei argumente de intrare:
sistemul continuu, perioada de eantionare i tipul eantionatorului considerat.
Te = .0005; d_sys = c2d(sys,Te,'zoh')
d_sys =
a =
x1 x2 x3 x4
x1 1 0.0005 -3.126e-06 -1.802e-08
x2 -0.003461 1 -0.01244 -7.313e-05
x3 0.02338 5.852e-06 0.976 0.000494
x4 0.7705 0.0001935 -0.9112 0.9998
b =
u1 u2
x1 4.999e-11 8.506e-07
x2 1.999e-07 0.003461
x3 4.375e-10 -0.02338
x4 1.762e-06 -0.7705
c =
x1 x2 x3 x4
y1 0 0 1 0
d =
u1 u2
y1 0 0
Sample time: 0.0005 seconds. Discrete-time state-space model.
61/67
Adugarea unei componente de tip integral
Pentru asigurarea unei erori staionare de poziie nule trebuie adugat un
integrator, de exemplu prin conectarea acestui integrator n serie cu procesul.
Ca i la reglarea dup stare (n domeniul continuu), se adaug astfel o stare
suplimentar n sistem. n domeniul discret, integratorul poate fi implementat
prin aproximarea integralei folosind, de exemplu, metoda trapezelor:
x(k 1) x(k ) Te u (k )
T
y (k ) x(k ) e u (k )
2
Codul Matlab corespunztor este urmtorul:
Ai = 1; Bi = Te; Ci = 1; Di = Te/2;
[As,Bs,Cs,Ds]=ssdata(d_sys);
Aa = [As, zeros(4,1); Bi*Cs, Ai];
Ba = [Bs; 0,0];
Ca = [Cs, 0];
Da = Ds;
d_sys_int = ss(Aa,Ba,Ca,Da,Te);
[Ad,Bd,Cd,Dd] = ssdata(d_sys_int);
62/67
Proiectarea regulatorului discret
Structura regulatorului discret este similar cu structura regulatorului cu
reacie dup stare din domeniul continuu. Se poate folosi comanda Matlab
place pentru calculul matricei de amplificare K (prin plasarea polilor).
Trebuie plasai 5 poli ai sistemului (4 stri plus starea suplimentar datorat
integratorului); pot fi plasai de exemplu astfel nct s anuleze zerourile. Prin
urmare, trebuie determinate zerourile sistemului, folosind funcia de transfer a
sistemului discret (obinut din ecuaiile de stare discrete).
sys1 = d_sys_int*[1;0]; %select the first input
[num,den] = tfdata(sys1,'v');
z = roots(num)
z =
-0.9929
0.9986 + 0.0065i
0.9986 - 0.0065i

Vom plasa trei poli n locaiile celor trei zerouri. Cel de-al patrulea pol va fi
plasat n 0.9992 (pentru a corespunde la aprox. 10000 de eantioane sau 5
sec.). Ultimul pol va fi plasat n 0.5 deoarece este rapid i deci neglijabil).
63/67
Programul Matlab care plaseaz polii i calculeaz matricea de amplificare
este urmtorul:
p1 = z(1);
p2 = z(2);
p3 = z(3);
p4 = .9992;
p5 = .5;

K=place(Ad,Bd*[1;0],[p1 p2 p3 p4 p5])
K =
1.0e+09 *
0.0534 0.0000 1.0898 0.0011 1.8286

Rspunsul n circuit nchis


K va fi multiplicat cu [1 0]T, pentru c avem doar o intrare de tip comand n
sistem (u). Rspunsul la intrare treapt (negativ) de 0.1 m a perturbaiei este:
d_sys_cl = ss(Ad-Bd*[1;0]*K,Bd,Cd,Dd,Te);
step(-.1*d_sys_cl*[0;1],5);

64/67
Fig. 22. Rspunsul sistemului n circuit nchis la intrare treapt (regulator discret)

Suprareglajul este sub 5mm, iar durata regimului tranzitoriu sub 5 sec.

65/67
Se poate realiza o mrire a zonei iniiale a rspunsului pentru o mai bun
vizualizare a regimului tranzitoriu iniial:
d_sys_cl = ss(Ad-Bd*[1;0]*K,Bd,Cd,Dd,T);
step(-.1*d_sys_cl*[0;1],5);
axis([0 0.1 -.01 .01])

Fig. 23. Rspunsul sistemului n circuit nchis la intrare treapt (regim tranzitoriu)
66/67
Bibliografie

[1] strm, K. J., Introduction to Control, Lund Institute of Technology, 2004.


[2] Chin, C. S., Computer-Aided Control Systems Design: Practical Applications Using
MATLAB and Simulink, CRC Press, 2012.
[3] Dorf, R. C., Bishop, R. H., Modern Control Systems, Prentice Hall, 2001.
[4] Lurie, B., Enright, P., Classical Feedback Control: With MATLAB and Simulink,
CRC Press, 2011.
[5] MATLAB Users Guide. The Mathworks Inc., USA, 2007.
[6] Messner, B., Tilbury, D., Hill, R., Taylor, J.D. et al. Control Tutorials for Matlab and
Simulink, University of Michigan, Carnegie Mellon, University of Detroit Mercy,
NSF and MathWorks, 2011-2014.
[7] http://auto.howstuffworks.com/car-suspension.htm

67/67

S-ar putea să vă placă și