34
Cuprins 1. Introducere................................................. ...........................................................p ag. 2 2. Modelarea sistemului de suspensie activa...................................................... .......pag. 3 2.1 Cerinte de proiectare.................................................. ..............................pag. 3 3. Modelul matematic a sistemului de suspensie active............................................pag. 4 4. Functiile de transfer a sistemului.................................................. .........................pag. 7 5. Reglarea dupa stare………………………………………………………………pag. 9 6. Sinteza regulator lead - lag utilizand locul radacinilor…………………………. pag 12 7.Sinteza regulator pid utilizand locul radcinilor…………………………………...pag 15 8. Proiectarea unui regulator in discret……………………………………………..pag 18 8.1 Proiectarea cu extrapolator de ordin 0………………………………….pag 19 8.2 Proiectarea cu extrapolator de ordin 1…………………………………pag 20 8.3 Proiecatare folosind metoda Tustin……………………………………pag 21 9.Proiecatre LQR……………………………………………………………………pag 23 10 Concluzii ………………………………………………………………………...pag 25 11 Bibliografie................................................ ............................................................ pag26 1

Suspensii Active

Embed Size (px)

DESCRIPTION

suspensie

Citation preview

Suspensii Active

Cuprins

1. Introducere............................................................................................................pag. 2

2. Modelarea sistemului de suspensie activa.............................................................pag. 3

2.1 Cerinte de proiectare................................................................................pag. 3

3. Modelul matematic a sistemului de suspensie active............................................pag. 4

4. Functiile de transfer a sistemului...........................................................................pag. 7

5. Reglarea dupa starepag. 9

6. Sinteza regulator lead - lag utilizand locul radacinilor. pag 12

7.Sinteza regulator pid utilizand locul radcinilor...pag 15

8. Proiectarea unui regulator in discret..pag 18 8.1 Proiectarea cu extrapolator de ordin 0.pag 19 8.2 Proiectarea cu extrapolator de ordin 1pag 20 8.3 Proiecatare folosind metoda Tustinpag 219.Proiecatre LQRpag 23

10 Concluzii ...pag 2511 Bibliografie............................................................................................................pag26CAP.1 Introducere

Performanta sistemului de suspensie a autovehiculului este considerata in mod obisnuit legata de capacitatea acestuia de a oferi o buna functionare pe strazi si un confort imbunatatit al pasagerului.

Sistemele de control pasiv ofera doar un compromis intre aceste doua criterii, in timp ce sistemele de control activ ale suspensiilor, au drept scop izolarea corpului masinii de vibratiile rotii induse de terenul accidentat.

Modelul sistemului cu suspensie se bazeaza pe o analiza riguroasa. Pentru suspensia vehicolului se utilizeaza tipuri diferite de arcuri, amortizoare in stransa legatura cu flexibilitatea constructiei in diferite directii. Toate acestea au fost dezvoltate de-a lungul ultimului secol, practic de la inceputul erei automobilului.

Tipurile cele mai obisnuite si mai simple de suspensie sunt cele pasive in ideea ce sursele externe de energie nu sunt necesare. Odata cu dezvoltarea electronicii, performantele au inceput sa creasca si sa fie vizibile.

Scopul acestei lucrari este de a prezenta o schema de control care sa imbogateasca performantele suspensiei.

Noua tehnologie ofera o solutie simpla si economica pentru reducerea ruliului la viraje imbunatatind atat controlul vehiculului cat si performantele acestuia, fara a diminua confortul, asa cum fac sistemele de suspensie conventionala. Aceasta se realizeaza prin asigurarea unui contact permanent intre pneu si drum, pe toate cele patru roti, indiferent de starea suprafetei de rulare.

Testarea sistemului de suspensie desfasurat atat pe sosele cat si pe drumuri accidentate a demonstrat o reducere a ruluilui cu 40% si marirea contactului rotilor cu drumul cu 60% in comparatie cu folosirea sistemelor de suspensie conventionale. Se imbunatateste asfel tractiunea, directia si manevrabilitatea vehiculului, marindu-se de asemenea stabilitatea la viraje.

CAP.2 Modelarea sistemului de suspensie activa

Sistemul de suspensie activa este utilizat pentru simplificarea problemei sistemului de amortizare a vehicolului. Desenul unui astfel de sistem este prezentat in continuare.

Fig.2.1 Model de Sistem de Suspensie Activa

Unde:

M = m1 = 1300 kg masa corpului autovehiculului,

m = m2 = 60 kg masa suspensiei,

k1 = 34000 N/m constanta elastica a arcului sistemului de suspensie,

k2 = 180000 N/m constanta elastica a rotii si a jantei,

b1 = 1200 Ns/m constanta de amortizare a sistemului de suspensie,

b2 = 5800 Ns/m constanta de amortizare a rotii si a jantei,

u forta de control = forta controller-ului pe care dorim sa-l proiectam.

2.1 Cerinte de proiectare1.Sa se fac modelul matematic

2.Functiile de transfer a sistemului

3 .Reglare dupa stare .

4.Proiectarea regulataorelor lead ,lag,lead-lag,pi,pd,pid.5.Proiectarea unui regulator numeric prin metoda reproiectarii regulatorului dupa stare

6.Regulator LQR

CAP.3 Modelul matematic a sistemului de suspensie active

Reprezentarea in spatiul starilor este obtinuta din ecuatiile diferentiale ce caracterizeaza miscarea automobilului.

Ecuatiile dimamicii autovehiculului si a mesei suspensiei sunt:

Pentru a fi o reprezentare a spatiului starilor valabila, derivata tuturor starilor trebuie sa fie in termenul intrarilor si in starile insasi. Pentru inceput se impart prima si a doua ecuatie prin M, respectiv m.

Prima stare va fi X1. Din moment ce derivatele intrarilor nu apar in ecuatia pentru , se alege a doua stare ca fiind . Se alege apoi a treia stare ca fiind diferenta dintre X1 si X2 si apoi se determina a patra stare. Astfel se inlocuieste cea de-a treia stare cu Y1=X1 X2 in ecuatia de mai jos:

Scazand a doua ecuatei din prima, se obtine expresia pentru :

Deoarece nu putem utiliza derivatele de ordinul doi pentru reprezentarea in spatiul starilor, se va integra aceasta ecuatie pentru a obtine :

Numim intergala cu Y2. Ecuatia de stare pentru Y2 este:

Se inlocuieste X2=X1-Y1 in pentru a obtine ecuatia de stare pentru Y1:

Apoi se inlocuieste derivata lui Y1 in ecuatia derivatei lui X1:

Variabilele de stare sunt X1,,Y1 si Y2. Forma matriciala a ecuatiilor prezentate mai sus este:

(2.2.13)

Se pot pune ecuatiile de mai sus intr-un m file Matlab prin definirea a patru matrici A,B,C,D ale ecuatiilor de stare standard:

m1=1300; %masa automobilului

m2=60; %masa suspensiei

k1=34000; %constanta elastica a arcului sistemului de suspensie

k2=180000; %costanta elascica a rotii si a jantei

b1=1200; %constanta de amortizare a sistemului de suspensie

b2=5800; %constanta de amortizare a rotii si a jantei

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]

Dupa rularea programului se obtine:

A =

1.0e+003 *

0 0.0010 0 0

-0.0892 0 0.0824 -0.0009

0.0967 0 -0.1176 0.0010

3.0000 0 -3.5928 0

B =

1.0e+003 *

0 0

0.0000 0.0892

0 -0.0967

0.0000 -3.0000

C =

0 0 1 0

D =

0 0Cap. 4. Functiile de transfer a sistemului

Ianainte de inceperea proiectarii regulatorului, este necesara gasirea functiilor de transfer pentru porces, respectiv pentru perturbatie. Se poate gasi functia de transfer a procesului (de la intarea U, la iesirea X1 X2) prin utilizarea in Matlab a comenzii ss2tf. Se adauga urmatoarea comanda in fisierul .m creat in subcapitolul anterior:

[nump,denp]=ss2tf(A,B,C,D,1)

Valoarea 1 indica care intrare trebuie utilizata pentru calculul functiei de transfer. Valorea 0.1 corespunde intarii trepte de 10 cm Prin rularea programului se obtin urmatoarele:

nump =[0 0.0000 0.0174 0.0744 2.3077]

denp=1.0e+004 *[0.0001 0.0118 0.3682 0.5297 7.8462]

De notat faptul ca, numaratorul este polinom degardul 5 cu doua zerouri de prima importanta. Acest lucru ar putea cauza cateva probleme in viitor, cand se va adauga un regulator sistemului. Cand numaratorul este combinat cu numaratorul regulatorului, cele doua zerouri de prima importanta pot creste ordinul numaratorului polinomial al buclei inchise astfel incat acesta este de ordin mai mare fata de numitorul polinomial.

Aceasta situatie nu este permisa in Matlab, el returnand un mesaj de eroare. Pentru a elimina aceste doua cifre, se redefineste num sa fie format doar din ultimele trei cifre prin adaugarea urmatoarei linii in fisierul .m:

nump=[num(3) num(4) num(5)]

Prin urmare functia de transfer a Procesului devine:

proces=nump/denp

Acum este cunoscut faptul ca functia de transfer a Procesului este nump/denp, dar care este functia de transfer a fui F? Mai intai, este necesara aflarea functiei de transfer de la intrarea W la iesirea X1 X2 prin utilizarea comenzii:

[num1,den1]=ss2tf(A,0.1*B,C,D,2)

De notat faptul ca, valoarea 2 este utilizata pentru aflarea functiei de transfer de la cea de-a doua intrare (perturbatia) si valoarea 0.1 corespunde intrarii trepte de 10 cm.

Matlabul va returna: num1 =[0 0.0000 0.0174 0.0744 2.3077]

den1 =1.0e+004 * [0.0001 0.0118 0.3682 0.5297 7.8462]

Se adauga urmatoarea linie in fisierul .m:

num1=[num1(2) num1(3) num1(4) num1(5)]

Din schema prezentata mai jos se observa ca F*Proces = num1/den1, astfel incat F = num1/(den1*Proces), sau:

Functia de transfer pentru regulator, numc/denc, este singurul lucru care a mai ramas de aflat pentru a satisface specificatiile sistemului automobilului.

Fig.4. 1 Diagrama bloc a sistemului automobilului

Cap.5 Reglarea dupa stareDin ecuatiile dinamicii sistemului, determinate la capitolul de modelare (capitolul 2), ecuatiile dinamicii in forma ecuatiilor de strare sunt urmatoarele:

(3.1)

(3.2)

Se doreste proiectarea unui controler intr-o bucla astfel incat atunci cand perturbatia de la sosea (W) este simulata cu o treapta unitate la intrare, iesirea

Y = X1 X2 sa aiba timpul tranzitoriu mai mic de 5 secunde si suprareglarea aproximativ 5%.

Modelul sistemului poate fi reprezentat in Matlab prin crearea unui m file in care se introduc urmatoarele linii de comanda

Vom utiliza tehnica alocrii poli-zerouri pentru a stabiliza sistemul i pentru a avea caracteristici dinamice dorite.Folosim matricil A ,B,C,D

Calculam matricea M

M=ctrb(A,B)

1.0e+009 *

0 0.0000 -0.0000 0.0004

0.0000 -0.0000 0.0004 -0.0238

-0.0000 0.0000 -0.0006 0.0435

-0.0000 0.0003 -0.0298 2.2405

rank(M)=4Deci sistemul este complet controlabil si putem sa facem o regglare completa dupa stare.

Ecuatia cararcteristica a sistemului este urmatoarea:

Ec=det(s*I-A)= s^5+118s^4+3682s^3+5297s^2+78462Vom afla localzarile dorit ale polilor sistemului inchis astfel incat ca sistemul sa aiba un timp tranzitoriu rezonabil de mic T=2secsi o amortizare rezonabila eps= 0.5din acest motiv vom alege polii doriti pulsatia naturala wn=4 s=poli impusi

p=[-2+j*6 -2-j*6 -8 -8];

ecuatia devine: s^4+ 20 s^3+ 168 s^2+ 896s+ 2560kt=

1.0e+003 *

-4.4014 -3.5141 -0.0976 0

W=

1.0e+003 *

5.2974 3.6821 0.1176 0.0010

3.6821 0.1176 0.0010 0

0.1176 0.0010 0 0

0.0010 0 0 0 T=M*W

T =

1.0e+004 *

7.8462 0.5297 0.0089 0

-0.0000 7.8462 0.5297 0.0089

0.0000 -0.0000 -0.3000 -0.0097

0.0000 -0.0000 -0.5463 -0.3000T=inv(T)kf=kt*inv(T)kf=[-0.0561 -0.0410 -0.0418 0.0001]

comanda u este

u=[-kf]trans*x

u=-0.0561*x1 -0.0410*x2 -0.0418*x3+0.0001Skema simulink este urmatoarea

Fig 5.1 Implementarea n SimuLinkRezultatul este urmatorul

Fig 5.2

S-a folosit urmatorul program Matlab

m1=1300; m2=60; k1=34000; k2=180000; b1=1200; b2=5800; 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)];

B1=B(:,2);

C=[0 0 1 0];

D=[0 0];

M=ctrb(A,B1)

rank(M)

q=eig(A);

q1=poly(q)

p=[-2+j*6 -2-j*6 -8 -8];

pp=poly(p)

W=[q1(4) q1(3) q1(2) 1 ; q1(3) q1(2) 1 0; q1(2) 1 0 0; 1 0 0 0]

T=M*W

T=inv(T);

kt=[pp(4)-q1(4) pp(3)-q1(3) pp(2)-q1(2) pp(1)-q1(1)]

kf=kt*T

Cap.6 Sinteza regulator lead - lag utilizand locul radacinilor

Compensatoarele lead si lag sunt folosite in mod frecvent in automatica. Un compensator lead poate mari stabilitatea sau viteza de raspuns a unui sistem, un compensator lag poate reduce (dar nu elimina) eroarea statica. Depinzand de efectul dorit, au mai multe compensatoare lead si lag pot fi folosite in diferite combinatii. Aceste compensatoare sunt in general proiectate pentru sisteme in forma functie de transfer.

Un compensator lead in forma locului radacinii esta dat de relatia:

G(s)=K

EMBED Equation.3 (7.1)

unde dimensiunea lui z este mai mica decat dimensiunea lui p. Un compensator lead de faza are tendinta sa mute locul radacinilor spre stanga semiplanului stang. Aceasta rezulta printr-o imbunatatire a stabilitatii sistemului si o marire a vitezei de raspuns.

Cand un compensator lead este adaugat sistemului, valoarea intersectiei va fi un numar negativ mai mare decat cel precedent. Numarul net de zerouri si poli va ramane acelasi (un zerou si un pol sunt adaugati), dar polul adaugat este un numar negativ mai mare decat zeroul adaugat. Astfel, rezultatul unui compensator lead este acela ca intersectia asimptotelor este mutata mai spre semiplanul stang si intreg locul radacinilor va fi mutat spre stanga. Aceasta poate mari regiunea de stabilitate cat si viteza de raspuns.

Un compensator lag in forma locului radacinii este dat de relatia:

G(s)= ; (7.2)

unde dimensiunea lui z este mai mare decat dimensiunea lui p. Un compensator lag are tendinta sa mute locul radacinilor spre dreapta, ceea ce nu este de dorit. Din acest motiv polul si zeroul trebuie alesi apropiati unul de celalat (de obicei langa origine) astfel ca ei sa nu modifice in mod apreciabil raspunsul tranzitoriu sau caracteristicile de stabilitate ale sistemului.

Cand un compensator lag este adaugat sistemului, valoarea intersectiei va fi un numar negativ mai mic decat era inainte. Numarul net de zerouri si poli va ramane acelasi (un zerou si un pol sunt adaugati), dar polul adaugat este un numar negativ mai mic decat zeroul adaugat. Astfel, rezultatul unui compensator lag este acela ca intersectia asimptotelor este mutata mai aproape de semiplanul drept si intregul loc al radacinilor este mutat spre dreapta.

A fost mentionat inainte faptul ca controllerul lag va modifica minimal raspunsul tranzitoriu din cauza efectului sau negativ. Daca compensatorul lag nu schimba raspunsul tranzitoriu in mod apreciabil atunci se pune intrebarea la ce foloseste totusi. Raspunsul este ca imbunatateste raspunsul static al sistemului. La frecvente inalte, controllerul lag va avea gain unitar. La frecvente joase, amplificarea va fi z/ p care este mai mare decat 1. Factorul z/ p va multiplica pozitia, viteza sau constanta de acceleratie si eroarea statica va fi astfle scazuta cu factorul z/ p.

Rezultatele folosirii unor compensatoare lead-lag sunt:

Figura 6.1 Raspunsul in distanta

Programul care s-a folosit este urmatorul:m1=1300; m2=60; k1=34000; k2=180000; b1=1200; b2=5800; 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];

%Matricile care descriu modelul de stare

[num1,den1]=ss2tf(A,B,C,D,1);

[num2,den2]=ss2tf(A,B,C,D,2);

%h=tf(sis);%[num1,den1]=tfdata(h(1))%[num2,den2]=tfdata(h(2));figure(1)

rlocus(num1,den1)

z1 = 1;

p1 = 0;

z2 = -15;

p2 = 100;

numlag = [1 z1];

denlag = [1 p1];

numlead = [1 z2];

denlead = [1 p2];

num3 = conv(conv(num1, numlead), numlag);

den3 = conv(conv(den1, denlead), denlag);

figure(2)

rlocus(num3,den3);

figure(3)

step(num3,den3)

figure(4)

rlocus(num2,den2)

z1 = 1;

p1 = 0;

z2 = -15;

p2 = 100;

numlag = [1 z1];

denlag = [1 p1];

numlead = [1 z2];

denlead = [1 p2];

num32 = conv(conv(num2, numlead), numlag);

den32 = conv(conv(den2, denlead), denlag);

figure(5)

rlocus(num32,den32);

figure(6)

step(num32,den32)

Cap.7 Sinteza regulator PID cu locul radacinilor

Locul radacinilor este o procedura grafica care arata modul in care migreaza radacinile locului ecuatiei caracteristice cand este variat un parametru al sistemului. Procedura este disponibila si in Matlab (functia rlocus). Pentru sisteme uzuale NzNp. Polii si zerourile ale functiei de transfer a sistemului deschis sunt numere fixate independent de K. Locul radacinilor este o tehnica grafica ce ne da o descriere calitativa a performantelor sistemelor automate. Ea serveste ca un instrument cantitativ puternic ce furnizeaza mai multe informatii ca alte metode. Furnizeaza solutii pentru sisteme cu ordin mai mare ca 2. Poate da o reprezentare grafica a stabilitatii sistemului deoarece marginile de stabilitate si instabilitate pot fi clar vazute precum si conditiile care cauzeaza ca un sistem sa intre sau sa fie in oscilatie.

Graficul locului radacinilor in bucla deschisa pentru functiile noastre de transfer sunt:

Figura 7.1 Locul radacinilor pentru functia 1

Figura 7.2 Locul radacinilor pentru functia 2

Graficele de sus ne arata posibilele locatii ale tuturor polilor in bucla inchisa pentru un controler proportional. Insa nu toti acesti poli in bucla inchisa vor satisface criteriile noastre de proiectare. In cazul nostru trebuie sa alegem acei poli care ne asigura un suprareglaj mai mic de 5% (adica ) si timp de crestere de o secunda (adica o pulsatie naturala mai mare de 1.8).

Pentru proiectarea unui regulator PID utilizand locul radacinilor se utilizeaza urmatorul program in Matlab:

Pentru functia de transfer i/u:

m1=1300; m2=60; k1=34000; k2=180000; b1=1200; b2=5800; 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];

[num1,den1]=ss2tf(A,B,C,D,1);

h1=tf(num1,den1);

ttr=1.5; %timp tranzitoriu impus

zeta=0.7; %coeficientul de amortizare

wn=-log(0.05*sqrt(1-zeta^2))/zeta/ttr; %pulsatia naturala a sistemului

sigma=100*exp(-pi*zeta/sqrt(1-zeta^2)); % suprareglarea obtinuta

s1=-zeta*wn+wn*sqrt(zeta^2-1); %pozitia polului dominant dorit

x=zpk(h1); %conversia functiei de transferin reprezentarea poli-zerouri

[z,p,k]=zpkdata(h1,'r'); %zerourile, polii si castigul functiei de transfer a curentului

teta=pi;

%calculul unghiului zeta mare

for i=1:length(z)

teta=teta-angle(s1-z(i));

end;

for j=1:length(p)

if (p(j)~=0)

teta=teta+angle(s1-p(j));

end;

end;

teta=teta+angle(s1-0); %unghiul dintre polul dominant dorit s1 si zeroul pentru regulator

teta=teta*180/pi;

if teta>180

teta=teta-180;

end;

teta=teta*180/pi;

zero_reg=-zeta*wn+(wn*sqrt(1-zeta^2))*cos(teta)/sin(teta); %zeroul calculat al %regulatorului

k_star=abs(s1)*(abs(s1)^2);

for i=1:length(p)

k_star=k_star*abs(s1-p(i));

end;

for j=1:length(z)

k_star=k_star/abs(s1-z(j));

end;

k_star=k_star/abs(s1-zero_reg); %castigul corespunzator lui s1 a sistemului in bucla %inchisa

%parametrii regulatorului

kp=k; %constanta de proportionalitate a procesului

kr=k_star/kp; %castigul regulatorului PID

ti=-1/zero_reg; %constante de timp de integrare PID

td=-(ti*zero_reg+1)/(ti*zero_reg^2); %constante de timp de derivare PID

reg=tf(kr*[ti*td ti 1],[ti 0] );

sis=series(reg,h1); %sistemul serie in circuit deschis format din regulator si proces

rlocus(sis);

zpk(sis); %reprezentarea poli zerouri a sistemului serie

[num_sis,den_sis]=tfdata(sis,'r'); %numaratorul si numitorul sistemului serie

Figura 7.3. Locul radacinilor sistemului cu regulator PID

Analog, pentru functia de transfer 2 se obtine:

Figura 7.4. Locul radacinilor sistemului cu regulator PID

Cap. 8 Proiectarea unui regulator in discret

Se utilizeaz Matlab-ul pentru a converti matricele A, B, C, D ale modelului matematic de stare continu, n matricele F, G, H, J aferente modelului de stare discret.

Se utilizeaz comanda c2dm, care poate avea ase argumente: patru matrici de stare F, G, H, J, perioada de eantionare i tipul circuitului de extrapolare.

Se adaug fiierului .m creat urmtoarele linii de comand:

;

Pentru calculul matricei K se adaug linia de comand:

Pentru obinerea rezultatului se adaug i urmtoarele linii fiierului .m:

8.1 Cu extrapolator cardinal (de ordin 0)

Pentru extrapolatorul cardinal se folosete metoda zoh n cadrul funciei c2dm.

Se ruleaz programul:m1=1300; m2=60; k1=34000; k2=180000; %b1=1200; b2=5800; 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)];

b1=b(:,2);

c=[0 0 1 0];

d=[0];

ts=1/100;

[F,G,H,J]=c2dm(a,b1,c,d,ts,'zoh');

co=ctrb(F,G);

ob=obsv(F,H);

controllabil=rank(co);

observabil=rank(ob);

x=input('Introduceti pe x=');

y=input('Introduceti pe y=');

z=input('Introduceti pe z=');

v=input('Introduceti pe v=');

Q=[x 0 0 0;0 y 0 0 ;0 0 z 0;0 0 0 v ];

R=input('Introduceti pe R1=');;

k=dlqr(F,G,Q,R);

t=0:0.01:5;

u=0.2*ones(size(t));

[Y,X]=dlsim(F-G*k,G,H,J,u);

stairs(t,Y)

legend('Inaltimea (x)')

grid;

Se alege x mare n comparaie cu y i R mic.

De exemplu, pentru x=1000, y=100, z=1 ,v=1 i R=0,01 s-a obinut figura de mai jos.

Fig 8.1 . Regulator discret utiliznd extrapolator de ordin 0

8.2 Cu extrapolator de ordin 1

Pentru extrapolatorul cardinal se folosete metoda foh n cadrul funciei c2dm.

Se ruleaz programul: m1=1300; m2=60; k1=34000; k2=180000; b1=1200; b2=5800; 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)];

b1=b(:,2);

c=[0 0 1 0];

d=[0];

ts=1/100;

[F,G,H,J]=c2dm(a,b1,c,d,ts,'foh');

co=ctrb(F,G);

ob=obsv(F,H);

controllabil=rank(co);

observabil=rank(ob);

x=input('Introduceti pe x=');

y=input('Introduceti pe y=');

z=input('Introduceti pe z=');

v=input('Introduceti pe v=');

Q=[x 0 0 0;0 y 0 0 ;0 0 z 0;0 0 0 v ];

R=input('Introduceti pe R1=');;

k=dlqr(F,G,Q,R);

t=0:0.01:5;

u=0.2*ones(size(t));

[Y,X]=dlsim(F-G*k,G,H,J,u);

stairs(t,Y)

legend('Inaltimea (x)')

grid;

Se alege x mare n comparaie cu y i R mic.

De exemplu, pentru x=100, y=1 i R=0,1 s-a obinut figura de mai jos.

Fig 8.2. Regulator discret utiliznd extrapolator de ordin 1

8.3Utiliznd transformata biliniar TustinPentru extrapolatorul cardinal se folosete metoda tustin n cadrul funciei c2dm.

Se ruleaz programul:m1=1300; m2=60; k1=34000; k2=180000; b1=1200b2=5800; 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)];

b1=b(:,2);

c=[0 0 1 0];

d=[0];

ts=1/100;

[F,G,H,J]=c2dm(a,b1,c,d,ts,'tustin');

co=ctrb(F,G);

ob=obsv(F,H);

controllabil=rank(co);

observabil=rank(ob);

x=input('Introduceti pe x=');

y=input('Introduceti pe y=');

z=input('Introduceti pe z=');

v=input('Introduceti pe v=');

Q=[x 0 0 0;0 y 0 0 ;0 0 z 0;0 0 0 v ];

R=input('Introduceti pe R1=');;

k=dlqr(F,G,Q,R);

t=0:0.01:5;

u=0.2*ones(size(t));

[Y,X]=dlsim(F-G*k,G,H,J,u);

stairs(t,Y)

legend('Inaltimea (x)')

grid;

Se alege x mare n comparaie cu y i R mic.

De exemplu, pentru x=1000, y=10 ,z=1 v=1 i R=0,0001 s-a obinut figura de mai jos.

Fig8.3. Regulator discret utiliznd tranformata biliniar Tustin

Am ales R=0,01 deoarece pentru valori mai mari sau mai mici ale lui R sistemul are oscilaii foarte puternice pn la stabilizare. Se poate observa c rspunsul este bun, turatia stabilizanduse in mai putin de o secunda.Cap. 9 Proiectarea LQR

Rezolvarea problemei, utiliznd mediul de simulare Matlab, se face utiliznd comanda lqr. Sistemul este descris de urmtoarele ecuaii:

Comanda lqr calculeaza matricea K a amplificarilor optimale de pe reactia de la stare a sistemului astel incat comanda u(t) a sistemului este:

u(t)=-K

Aceasta minimizeaza ecuatia:

J=

Matricea K=[k1 k2 k3] este astfel aleas nct s minimizeze indicatorul J pentru care se consider:

Se alege q11 suficient de mare comparativ cu q22, i cu q33, q44 i matricile Q i R. Pentru determinarea matricii K se utilizeaz urmtoarele valori:q1=100, q22=q33=1, R=0.01. n urma rulrii programului n Matlab se obin urmtoarele valori pentru K, i anume K=[20 -182740 -4610].

Pentru matricea amplificrilor K=[20 -182740 -4610], rezultatele simulrilor sunt prezentate n figura :

Fig 9.1 Raspuns la treapta

Fig 9.2 Raspuns la impuls

Programul matlab este urmatorul:

m1=1300; m2=60; %

k1=34000; k2=180000; b1=1200; b2=5800; 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)];

b1=b(:,1);

c=[0 0 1 0];

d=[0 ];

%Introducem Q si R ale lui J

q=[1 0 0 0;0 5 0 0;0 0 1 0; 0 0 0 0.1];

r=[0.01];

%Matricile Q si R

%Regulatorul lqr

[k,s,e]=lqr(a,b1,q,r);

%Componentele lui k

k1=k(1);

k2=k(2);

k3=k(3);

%Matricile noului sistem

aa=a-b1*k;

bb=b1*k1;

cc=c;

dd=d;

%Raspunsul la semnal treapta

t=0:0.01:5;

figure(1)

[y,x,t]=step(aa,bb,cc,dd);

plot(t,y)

%Raspunsul la semnal impuls

figure(2)

[y,x,t]=impulse(aa,bb,cc,dd);

plot(t,y)

Concluzii

Sistemul de suspensie pentru automobile este un sistem dificil, activitatea acestuia relizandu-se in timp real.

In lucrarea de fata m-am ocupat de modelarea unui astfel de sistem de suspensie facand sisteza unui regulator dupa stare, PID, LQR si a unui regulator digital cu reactie de la stare.

Noua tehnologie ofera prin suspensiile active o solutie simpla si economica pentru reducerea ruliului la viraje, imbunatatind atat controlul vehicolului cat si performantele acestuia, fara a diminua confortul, asa cum fac sistemele de suspensie conventionala. Acestea se realizeaza prin asigurarea unui contact pemanent intre pneu si drum.

Bibliografie:

[1] Ingineria sistemelor automate note de curs, anul IV

[2] Bazele sistemelor automate note de curs, anul II

[3] Teoria sistemelor I note de curs, anul III

[4] Calin S. , Regulatoare automate, Ed. Tehnica si Pedagogica Bucuresti, 1976

[5] www.engin.umich.edu/group/ctm[6] www.howstuffworks.com

PAGE 3

_1198510018.unknown

_1198511319.unknown

_1198512014.unknown

_1198514161.unknown

_1198521899.unknown

_1198698948.unknown

_1198698961.unknown

_1198594037.unknown

_1198519554.unknown

_1198511858.unknown

_1198511581.unknown

_1198510767.unknown

_1198511046.unknown

_1198511117.unknown

_1198510784.unknown

_1198510425.unknown

_1198510454.unknown

_1198510027.unknown

_1198510044.unknown

_1198510028.unknown

_1198510026.unknown

_1198509431.unknown

_1198509661.unknown

_1198509766.unknown

_1198509493.unknown

_1198508231.unknown

_1198508362.unknown

_1197795249.unknown

_1198507653.unknown

_1197795289.unknown

_1198434002.unknown

_1197795264.unknown

_1159258154.unknown

_1163447424.unknown

_1197795121.unknown

_1159258237.unknown

_1159258322.unknown

_1159257573.unknown