Sunteți pe pagina 1din 19

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE

AUTOMATICĂ, CALCULATOARE SI
ELECTRONICĂ

Proiect

Algoritmi numerici de conducere automată

“Cruise Control”

Coordonator ştiinţific: Echipa:

Prof.univ.dr.ing. DAN POPESCU OLARU PAUL ANDREI


PREOTOȘESCU ALINA MIHAELA
RĂDUCAN ELENA EMANUELA
ȚECU ANDREI LUCIAN
l.Introducere

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


în automotive constă în dezvoltarea unor modele matematice utile,
obţinute fie din legile fizice, fie din datele experimentale.
Reprezentările sistemelor dinamice cele mai importante în
automatică sunt reprezentarea în spaţiul stărilor şi funcţia de transfer
(pentru sisteme liniare).

Sistemul de tip pilot automat (sau autopilot) este un sistem tehnic


montat la bordul unui vehicul (aeronavă, navă, navă spaţială) care
asigură conducerea acestuia preluând unele dintre sarcinile pilotului, în
special menţinerea stabilităţii pe traseul prestabilit.
Pilotul automat dispune de un canal prin care transmite comenzi
elementelor de execuţie (de obicei cilindri hidraulici) care acţionează
asupra suprafeţelor de comandă principale (eleroane, profundor şi
direcţie), dar şi asupra motoarelor şi suprafeţelor de comandă secundare.
La automobile, pilotul automat se bazează pe reglarea vitezei de
deplasare.

Reglarea vitezei cu regulator centrifugal a fost utilizată prima dată


la automobilele britanice Wilson-Pilcher şi la cele americane Peerless în
anii 1900-1910. Tehnologia de tip regulator centrifugal a fost preluată de
la invenţia regulatorului cu bile de la maşinile cu abur (Watt şi Boulton,
1788).
2.Descriere sistem şi modelare matematică

2.1 Configurare fizică

Sistemele de pilotare automată sunt exemple tipice de reglare în


circuit închis (cu reacţie, sau cu feedback).
Scopul unui pilot automat este menţinerea constantă a vitezei de
deplasare a vehiculului în pofida acţiunii peturbaţiilor externe, cum ar fi,
de exemplu, schimbarea pantei drumului sau a vitezei şi direcţiei
vântului.
Acest scop este tipic pentru un sistem de reglare automată (de
control) şi poate fi realizat prin măsurarea vitezei vehiculului,
compararea cu referinţa (viteza prescrisă) şi ajustarea automată a
acceleraţiei conform unei legi de reglare.
3. Proiectare algoritmi de control

3.1 PID
Diagrama bloc a unui sistem tipic de feedback de unitate este prezentată mai jos.

Funcţia de transfer a unui controller PID este:

Putem defini un controler PID în MATLAB folosind funcţia de transfer direct:


Kp = 350;
Ki = 300;
Kd = 50; s = tf ('s');
C = Kp + Ki / s + Kd * s
În mod alternativ, putem folosi obiectul controlerului PID MATLAB pentru a genera un controler
de timp continuu echivalent, după cum urmează:
C = pid (Kp, Ki, Kd)

3.2 Control PID

Funcția de transfer în bulcă închisă devine:


Programul Matlab şi răspunsul la intrare treaptă:

T = feedback (C *
P_cruise, 1)
t = 0: 0.1: 200;
step (r * T, t)
axis ([0 40 0 2])
3.3 Locul rădăcinilor si domeniul frecventelor
9 9

Pentru a trasa locul rădăcinilor, se foloseşte în linia de comandă,

instrucţiunea: rlocus(T)

După cum se poate observa, din figura prezentată mai sus, sistemul
este stabil, având rădăcinile în semiplanul complex negativ.

De asemenea, folosindu-ne de tool-ul Sisotool, putem obţine


răspunsul la intrare treaptă, locul rădăcinilor şi reprezentarea în
domeniul frecventelor .
sisotool(T)
Diagrama Bode

Bode Editor for LoopTransfer C


Magnitude (dB)

Frequency (rad/s)
3.4 Proiectarea regulatorului în spaţiul stărilor

Pentru proiectarea unui regulator cu reacţie după stare, se


utilizează reprezentarea de stare:

Unde:
 (m) masa vehiculului 1000 kg
 (b) coeficientul de amortizare 50 Ns / m
 (u) forţa nominală de control 500 N
 (v) viteza vehiculului unde y = v este ieşirea sistemului
Forţa nominală u va fi considerată de 500 N, iar cerinţele de proiectare
sunt :
 Timp de creştere < 5 sec.
 Suprareglaj < 10%
 Eroare staţionară de poziţie < 2%

Proiectarea bazată pe alocarea polilor

Schema bloc a sistemului de reglare cu reacţie după stare este cea din
figura următoare, unde:
•K este matricea de amplificare a legii de reglare cu reacţie după stare,
u = r-Kv este mărimea de comandă.
Schema bloc a sistemului în circuit închis cu reglare după stare
Pentru proiectare se poate folosi o tehnică de plasare (de alocare) a
polilor pentru obţinerea răspunsului dorit.
Polii sistemului în circuit închis pot fi determinaţi din ecuaţia
caracteristică, adică determinantul matricei [sI-(A-B*K)].
Dacă putem plasa polii în anumite locaţii dorite prin intermediul matricei
(scalar în cazul nostru particular) K, atunci se poate obţine răspunsul
dorit al sistemului.
Sistemul de auto-pilotare fiind simplu din punct de vedere al dinamicii
(ordinul 1), vom avea de alocat un singur pol, pe care putem, de
exemplu, să îl plasăm în comanda Matlab place poate fi utilizată pentru
calculul lui K.
m = 1000;

b = 50;

t = 0:0.1:10;

u = 500*ones(size(t));
A = [-b/m];
B = [1/m];
C = [1];
D = [0];
sys = ss(A,B,C,D); x0 = [0];
pi = -1.5;
K=place(A,B,[p1])
sys_cl=ss(A-B*K,B,C,D);
lsim=(sys_cl,u,t,x0);
axis([0 10 0 0.35])
Răspunsul la intrare treaptă al sistemului în circuit închis este
cel din figura următoare, de unde se observă că timpul de creştere este
bun, dar eroarea staţionară de poziţie este nesatisfăcătoare.

Răspunsul la intrare treaptă al sistemului în circuit închis (reacţie după stare)


Pentru remedierea acestei probleme se poate utiliza un factor de scalare N :

Nbar = rscale(sys,K)*10/500;
sys_cl = ss(A-B*K,B*Nbar,C,D);
lsim(sys_cl,u,t,x0);
axis([0 10 0 11])

Schema bloc a sistemului în circuit închis cu reglare


după stare (cu factor de scalare care resetează eroarea de
regim staţionar)
Răspunsul la intrare treaptă al sistemului în circuit închis (reacţie
după stare, cu factor de scalare)
4. Discretizarea algoritmului de control PID

Pentru discretizarea funcţiei se utilizează comanda :


g = c2d(C*P_cruise,0.1)

g=

0.05 z^2 - 0.06359 z + 0.01658

Z^2 - 1.995 z + 0.995

5. Implementarea unui regulator (controller) PID


Se poate folosi regulatorul PID proiectat anterior şi implementat
în Matlab, caracterizat de parametrii Kp = 350, Ki = 300 şi Kd = 50.
Răspunsul sistemului în circuit închis

Pentru simularea răspunsului sistemului în circuit închis se setează


timpul de simulare din Simulation - Parameters (Stop Time =10). Se
rulează comenzile:
m = 1000; b = 50; u = 10; Kp = 800; Ki = 40;

Se rulează simularea (Start din Simulation), apoi se deschide şi se


scalează osciloscopul, obţinându-se răspunsul sistemului în circuit
închis.

Răspunsul sistemului în circuit închis la intrare de tip treaptă (auto-pilot)


Implementarea unui regulator (controller) PI

Diagrama bloc a unui sistem tipic de feedback de unitate este prezentată mai
jos.

Putem defini un controler PI în MATLAB folosind funcţia de


transfer direct:

Kp = 800;
Ki = 40; s = tf ( S);
C = Kp + Ki / s

În mod alternativ, putem folosi obiectul controlerului PID


MATLAB pentru a genera un controler de timp continuu echivalent,
după cum urmează:
C = pid (Kp, Ki)
Răspunsul la intrare treaptă
T = feedback(C*P_cruise,1)

t = 0: 0.1: 20;

step(r*T,t)
axis([0 20 0 10])
Sisotool
Diagrama Bode
Bode Editor for LoopTransfer C
Magnitude (dB)
Phase (deg)

Frequency (rad/s)
Locul rădăcinilor

Sistemul este stabil, avand rădăcinile in semiplanul complex negativ.

Discretizarea algoritmului de control PI.


g= c2d(C*P_cruise,0.1)
g=
0.08 z - 0.0796

Z^2 - 1.995 z + 0.995

Sample time: 0.1 seconds


Implementarea unui regulator (controller) PI

Se poate folosi regulatorul PI proiectat anterior şi implementat


în Matlab, caracterizat de parametrii Kp = 800 şi Ki = 40.

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