LUCRARE DE LICENŢĂ
Absolvent
Dincă Alexandru
Coordonator
As. Dr. Ing. Vasile Calofir
Anul absolvirii:2016
CUPRINS
1. Introducere
1.1. Scurt istoric privind sistemele de reglare.................................................... 2
1.2. Motivarea lucrării....................................................................................... 3
2. Conținut teoretic................................................................................................
2.1. Structuri de reglare..................................................................................... 4
2.2. Modelarea matematică analitică.................................................................. 7
2.3. Algoritmi de reglare convenţionali............................................................. 10
2.4. Regulatoare de tip Fuzzy............................................................................ 13
2.5. Regulatoare MPC....................................................................................... 18
3. Tehnologii folosite
3.1. Hardware.................................................................................................... 20
3.2. Software..................................................................................................... 23
4. Calculul modelului matematic...........................................................................
4.1. Analiza teoretică......................................................................................... 25
4.2. Realizarea modelului neliniar..................................................................... 27
4.3. Simularea şi validarea modelului neliniar................................................... 28
4.4. Liniarizarea modelului................................................................................ 35
4.5. Simularea şi validarea modelului liniar....................................................... 36
5. Alegerea şi acordarea regulatoarelor
5.1. Regulatoare PID
5.1.1. Proiectarea regulatorului de tip PID.................................................. 41
5.1.2. Simularea în Matlab\Simulink........................................................... 43
5.1.3. Aflarea performanţelor...................................................................... 44
5.1.4. Implementarea structurii de reglare pe instalația reală....................... 45
5.2. Regulatoare Fuzzy
5.2.1. Mod de calcul................................................................................... 47
5.2.2. Simularea în Matlab\Simulink........................................................... 49
5.2.3. Aflarea performanţelor...................................................................... 50
5.2.4. Implementarea structurii de reglare pe instalația reală....................... 50
5.3. Regulatoare MPC
5.3.1. Implementare și simulare.................................................................. 52
5.3.2. Aflarea performanţelor...................................................................... 55
6. Compararea performanțelor regulatoarelor........................................................ 57
7. Concluzii.......................................................................................................... 59
8. Dezvoltări ulterioare......................................................................................... 60
9. Bibliografie....................................................................................................... 61
10. Anexe............................................................................................................... 62
1
1. Introducere
1.1 Istoric
Sistemele de reglare automate au fost prezente în istoria tehnologică încă de pe
vremea grecilor antici, aceștia folosindu-se de o formă rudimentară de buclă cu reacție
negativă pentru a controla sisteme precum ceasuri pe bază de apă, dispensatoare de vin
sau nivelul de apă dintr-un rezervor.
Consider că Automatica este unul dintre cele mai importante domenii tehnologice,
întrucât conceptele abordate pot fi implementate pentru o gamă foarte largă de procese.
Ultimele decenii au contribuit foarte mult la progresul tehnologiei și ca atare, la progresul
umanității în general. Prin înțelegerea conceptelor care stau la baza reglării automate
consider că mă voi apropia de calitatea pe care o urmăresc, aceea de inginer.
3
2. Conținut teoretic
2.1 Structura de reglare automată
Toate sistemele de reglare încearcă să corecteze o eroare ce apare între datele
măsurate și referința dată sistemului. Această eroare se determină pe baza unei bucle de
reacție negativă. O structură bazată pe o asemenea abordare are următoarea schemă:
În acest fel se pot observa componentele unei bucle de reglare standard cu un sigur
grad de libertate. Acest lucru înseamnă că singurele ajustări pentru răspunsul sistemului
la referință se pot face prin intermediul regulatorului din blocul R. Tot în această schemă
au fost evidențiate și semnalele ce apar la intrarea și ieșirea componentelor. Astfel, putem
identifica:
- Procesul (P) este alcătuit din instalația tehnologică (IT), elemente de execuție
(EE) și traductoare (T). Pe baza acestor elemente se determină modul de
funcționare al procesului, sistemele de reglare fiind alese în funcție de ecuațiile
ce îi descriu funcționarea.
- u este comanda aplicată procesului determinată de rezultatele acțiunii de
reglare;
- y este semnalul de ieșire al sistemului determinată de măsurătorile
traductorului;
- r este referința aplicată sistemului
- ε eroarea calculată prin diferența între referință și ieșire.
- m reprezintă mărimea de execuție, aceasta fiind convertită din comandă într-
o unitate compatibilă cu elementul de execuție.
- yp este ieșirea instalației tehnologice în urma mărimii de execuție. Diferă de
semnalul y, ca urmare a caracteristicii traductorului.
4
În cadrul unui mediu industrial, proiectarea unei structuri de reglare automată va
tine cont de atât de performanțele impuse în ceea ce privește urmărirea referinței și
asigurarea stabilității, precum și de aspecte economice. În acest mod alegerea
componentelor, elemente de execuție, traductoare și regulatoare, nu va fi întotdeauna o
sarcină simplă, iar inginerul proiectant va avea nevoie de cunoștințe bune despre
identificare, modelare matematică, dar și despre instalația tehnologică ce urmează a fi
condusă.
5
2.2 Modelare matematica analitica
Prin modelare ne referim la determinarea unui set de ecuații ce caracterizează
comportamentul unui sistem, atât în regimul tranzitoriu, cât și în regimul normal de
funcționare. În construirea modelului se pot ignora anumite mărimi de execuție scopul
fiind de a crea un model simplificat, ce aproximează cât mai fidel realitatea. Simplificarea
este esențială în cazul sistemelor de calcul cu putere limitată, dar și atunci când vorbim
despre mărimi greu de măsurat sau simulat.
Odată ales tipul modelului ce se vrea construit, acesta poate fi la rândul lui împărțit
în mai multe categorii.
𝑥̇ = 𝑓(𝑥, 𝑢, 𝑡)
{ (2.2.1)
𝑦 = 𝑔(𝑥, 𝑦, 𝑡)
𝑦 = 𝑓(𝑢) (2.2.2)
După gradul de liniaritate:
- Modele liniare;
- Modele neliniare;
- Modele continue
- Modele discrete;
6
După numărul de intrări:
7
În timpul regimului staționar se consideră ca procesul se află în echilibru, lucru ce
înseamnă ca nu există nici un fel de flux în cadrul procesului.
În acest punct se separă termenii care conțin variabile de intrare de termenii care
conțin variabile de ieșire și se aplică legile fizice pentru a înlocui expresiile fluxurilor.
1 𝜕𝑓(𝑢 ) 1 𝜕 2 𝑓(𝑢 )
𝑦(𝑢 ) = 𝑓(𝑢0 ) + | (𝑢 − 𝑢0 ) + | (𝑢 − 𝑢0 )2 + ⋯ (2.2.4)
1! 𝜕𝑢 𝑢 2! 𝜕𝑢 2 𝑢
0 0
Prin neglijarea termenilor de ordin sperios se obține:
𝜕𝑓(𝑢 )
𝑦(𝑢 ) = 𝑦0 + | (𝑢 − 𝑢0 ) (2.2.5)
𝜕𝑢 𝑢
0
Alte neliniarități pot fi provocate de produse ale variabilelor în timp, iar pentru
rezolvarea acestei probleme se aplică liniarizarea prin centrarea variabilelor şi neglijarea
produselor de variație.
8
5. Obținerea modelului adimensional
6. Validarea modelului
Ultimul pas presupune verificarea modelului pentru a observa dacă acesta este
conform sau nu realității.
Este cea mai simplă lege de reglare și se folosește de cele mai multe ori în
structurile de reglare cu buclă de reacție inversă. Are un singur grad de libertate, ceea ce
înseamnă că regulatorul poate fie să urmărească referința, fie să elimine perturbațiile.
1
𝑢 (𝑡) = 𝐾𝑅 [𝜀 (𝑡) + ∫ 𝜀 (𝑡)𝑑𝜏] (2.3.2)
𝑇𝑖
9
Se observă că factorul de amplificare 𝐾𝑅 este chiar coeficientul ce defineşte
componenta proporţională 𝐾𝑃 , iar coeficientul 𝐾𝑖 este determinat atât 𝐾𝑅 cât şi de
constanta de timp a acţiunii integrale 𝑇𝑖 . Funcţia de transfer ataşată legii de reglare PI
este:
1 𝐾𝑅
𝐻𝑅 = 𝐾𝑅 (1 + )= (𝑇 𝑠 + 1) (2.3.4)
𝑇𝑖 𝑠 𝑇𝑖 𝑠 𝑖
Componenta integrativă asigură o eroare staționară egală cu zero, însă poate crea
efecte nedorite, ducând sistemul în limita de saturație.
𝑑𝜀
𝑢 (𝑡) = 𝐾𝑅 [𝜀 (𝑡) + 𝑇𝑑 ] (2.3.5)
𝑑𝑡
sau
𝑑𝜀
𝑢(𝑡) = 𝐾𝑅 𝜀 (𝑡) + 𝐾𝐷 (2.3.6)
𝑑𝑡
unde 𝐾𝐷 = 𝐾𝑅 𝑇𝐷 .
𝐻𝑅 (𝑠) = 𝐾𝑅 (1 + 𝑇𝑑 𝑠) (2.3.7)
10
Din cauza faptului că nu este implementabilă o funcție de transfer cu o componentă
derivativă simplă, de cele mai multe ori se apelează la un element de filtrare, lucru ce
rezultă într-o funcție de transfer de forma:
𝑇𝐷 𝑠
𝐻𝑅 (𝑠) = 𝐾𝑅 [1 + ] (2.3.9)
1 + 𝛼𝑇𝐷 𝑠
unde 𝛼 se alege în concordanţă cu banda de frecvenţă în care se găseşte zgomotul.
Cel mai uzual algoritm de reglare combină toate cele trei componente prezentate
mai sus și are următoarea formă:
1 𝑑𝜀
𝑢(𝑡) = 𝐾𝑅 [𝜀 (𝑡) + ∫ 𝜀 (𝑡)𝑑𝜏 + 𝑇𝑑 ] (2.3.10)
𝑇𝑖 𝑑𝑡
sau
𝑑𝜀
𝑢(𝑡) = 𝐾𝑅 𝜀 (𝑡) + 𝐾𝑖 ∫ 𝜀(𝑡)𝑑𝜏 + 𝐾𝐷 (2.3.11)
𝑑𝑡
unde:
𝐾𝑅 – factorul de proporţionalitate
𝐾𝑅
𝐾𝑖 = – factorul integral;
𝑇𝑖
𝐾𝐷 = 𝐾𝑅 𝑇𝐷 – factorul derivativ;
1
𝐻𝑅 (𝑠) = 𝐾𝑅 (1 + + 𝑇𝑑 𝑠) (2.3.12)
𝑇𝑖 𝑠
Așa cum s-a discutat în cazul legii de reglare PD, o structură bazată pe un PID nu
se poate realiza fizic cât timp nu se aplica un coeficient de filtrare asupra componentei
derivative, lucru ce a determinat următoarea funcție de transfer:
1 𝑇𝐷 𝑠 + 1
𝐻𝑅 (𝑠) = 𝐾𝑅 (1 + )( ) (2.3.13)
𝑇𝑖 𝑠 𝛼𝑇𝐷 𝑠 + 1
11
2.4 Regulatoare de tip Fuzzy
Logica fuzzy se aplică în cazul sistemelor pentru care nu avem suficiente informații, iar
datele legate de modelul sistemului sunt neclare sau imprecise. Pentru rezolvarea acestor tipuri
de aplicații, în 1965 s-au propus mulțimile fuzzy pentru a trata incertitudinile din aplicația ce
se dorește condusă
Funcția de apartenență descrie gradul în care o colecție de elemente aparține sau nu unei
mulțimi fuzzy.
𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥𝜖𝑋},
Practic, ea se poate reprezenta fie ca o funcție matematica, fie ca un vector, putând avea
in acest mod fie o forma continua, fie una discreta. Cele mai populare forme de reprezentare a
funcției de apartenență sunt funcții-s, funcții-z, funcții-π, funcții triunghiulare, funcții
trapezoidale.
12
Figura 2.4.1 – Funcții de apartenență (2)
Toata logica de reglare fuzzy sta in spatele variabilelor si a felului in care acestea sunt
alese. In logica normala, un element poate avea o singura valoare fixa. Spre exemplu, in
algoritmii de reglare PID, constantele regulatorului nu se schimba in timpul de execuție.
13
O mulțime fuzzy se construiește în funcție de universul de discurs și funcția de
apartenență. Aceasta se alege în mod subiectiv, întrucât se determină pe baza experienței
operatorului și abilității acestuia de a înțelege concepte abstracte.
Suportul unei mulțimi fuzzy este reprezentat de totalitatea elementelor x ce aparțin lui
X, pentru care funcția de apartenență este strict pozitivă.
Nucleul unei mulțimi fuzzy este determinat de totalitatea elementelor x pentru care
funcția de apartenență are valoare 1.
Punctul de încrucișare al unei mulțimi fuzzy este determinat de acel element, x, pentru
care 𝜇𝐴 (𝑥) = 0.5
Structura de reglare a unui sistem condus de un regulator Fuzzy diferă de cea standard
prin simplul fapt că acest tip de regulator nu aplică o comandă directă asupra procesului. În
primul rând, fiind pretabile pentru sisteme complexe, despre care nu există multe detalii,
experiența tehnologului joacă un rol important în elaborarea soluției de reglare. Totodată, apar
elemente noi ce au rolul de converti limbajul uman vag în mărimi de proces ferme, ce pot fi
folosite drept comenzi.
14
Blocul de fuzzificare este cel care preia intrările sistemului, valori numerice, și le
convertește în valori lingvistice, ușor de înțeles de către operatorul uman.
Comenzile sunt trecute prin blocul de defuzzificare, ce are rolul de a transforma valorile
lingvistice în valori numerice ferme, compatibile cu elementul de execuție.
O modalitate facila de a testa si implanta o logica fuzzy intr-un sistem de reglare este
prin folosirea uneltei „Fuzzy” din Matlab si Simulink.
>>fuzzy
15
Figura 2.4.4 – Fereastră fuzzy Matlab
Galben: intrări;
Alb: reguli;
Albastru: Ieșiri;
Ferestrele pentru intrări si ieșiri sunt similare, de aici putând sa se stabilească domeniul
de definiție al valorilor, numărul funcțiilor de apartenenta, numele si tipul lor.
16
Figura 2.4.6 – Fereastră reguli Fuzzy
După ce s-au terminat toate etapele proiectări, regulatorul se poate salva fie ca fișier în
formatul „.fis”, fie ca variabilă matlab prin folosirea comenzilor File->Export.
17
2.5 Regulatoare MPC
Model Predictive Control (MPC) sau reglarea predictiva bazata pe model matematic
reprezintă o metoda avansata de control ce s-a dezvoltat pentru procesele chimice in anii 80.
La baza acestei metode se afla identificare de sistem si are avantajul ca poate optimiza procesul
in orizontul curent de timp si sa tina cont de evoluțiile viitoare ale sistemului.
Acest tip de abordare în privința regulatoarelor s-a dovedit foarte utilă în cadrul
proceselor complexe ce au o comportare dinamică, deseori neliniară, cu mai multe variabile de
intrare și ieșire.
Pentru proiectarea unui regulator MPC este important să se treacă prin următoarele
etape:
- Realizarea unui model matematic adecvat. Unul dintre cei mai importanți pași este
modelarea procesului real cu o precizie cât mai bună. Gradul de precizie al modelului
este factorul care va influența performanțele regulatorului.
18
- Formularea problemei de control. Este foarte important de stabilit intrările şi ieșirile
procesului pentru a determina ce mărimi se controlează şi a se impune constrângeri
asupra lor.
- Optimizarea predicției. Pentru a calcula valorile viitoare se construiește un criteriu
care ține cont de eroarea dintre valoarea predictată şi referința sistemului. Prin
optimizare, se determină comanda optimală ce va aduce valoarea predictată mai aproape
de referință într-un număr de pași cât mai mic.
O altă noțiune importantă în cazul reglării predictive este aceea de orizont. Prin acest
termen ne referim la perioada de timp pentru care se face predicția.
De regulă, cel mai întâlnit este orizontul de predicție (OP). Folosit într-un algoritm
recurent, acesta determină perioada pentru care se prezice ieșirea sistemului. El poate fi definit
pentru mai mulţi paşi ai algoritmului sau doar pe unul singur. Dificultatea calculelor creşte pe
măsură ce orizontul de predicţie este mai mare.
Pentru un orizont unitar predicția este realizată pentru un singur pas, calculul comenzii,
u(k), se realizează prin asigurarea condiției că ieșirea la pasul următor, y(k+1), va coincide cu
referința r(k) sau se va apropia cât mai mult de aceasta.
De menționat este şi orizontul comenzii (OC). Acest termen definește numărul de pași
pentru care ieșirea procesului ajunge la valoarea de referință, lucru realizat prin modificarea
comenzii.
19
În figura de mai sus este ilustrat principiul de funcționare al algoritmului predictiv. Pe
baza valorilor curente, se determină comenzile viitoare astfel încât ieșirea măsurată să atingă
valoarea referinței într-un număr finit de paşi.
Pentru cazul reprezentării în spațiul stărilor, stareța sistemului este dată de următorul
set de ecuații:
unde,
20
𝐶𝐵 0 0 … 0
𝐶𝐴
𝐶𝐴𝐵 𝐶𝐵 0 … 0
𝐶𝐴2 …
𝜓=[ ]; 𝜙 = 𝐶𝐴2 𝐵 𝐶𝐴𝐵 𝐶𝐵 0 ; (2.5.5)
⋮ ⋮
⋮ ⋮ ⋮ ⋮
𝐶𝐴𝑂𝑃 …
[𝐶𝐴𝑂𝑃−1 𝐵 𝐶𝐴𝑂𝑃−2 𝐵 𝐶𝐴𝑂𝑃−2 𝐵 𝐶𝐴𝑂𝑃−𝑂𝐶 𝐵]
Unul dintre avantajele regulatorului MPC este acela că se pot impune restricții asupra
variabilelor de sistem prin aplicarea unor limite inferioare și superioare:
Constrângerile SOFT se folosesc în momentul în care procesul este supus unor mărimi
perturbatoare. În acest mod se asigură fezabilitatea procesului de optimizare.
21
3. Tehnologii folosite
3.1 Hardware
Sistemul este alcătuit din 3 cilindrii fabricați din pexiglas, numerotați T1, T3 şi T2
de la stânga la dreapta, toate având aceeași arie a secțiunii (A). Cele 3 rezervoare sunt
conectate între ele prin conducte cilindrice cu diametrul Sn. Rezervorul T2 are o conductă
cu aceeași secțiune Sn, ce comunică cu exteriorul.
Date tehnice:
- A = 0.0154m2;
- Sn = 5e-5 m2;
- Hmax = 62cm;
- Q1max = Q2max = 100ml/s = 6l/min;
22
Pe această aparatură didactică se pot simula cazuri de evacuare constantă sau chiar
spargeri pentru fiecare rezervor. Acestea au montate cate o valvă ce poate elibera în mod
controlat lichid din sistem.
În acest mod, mărimile Q1 şi Q2 pot fi privite ca intrări ale sistemului, iar nivelurile
h1, h2 şi h3 sunt considerate ieșiri
Panoul frontal dispune de module pentru a controla fiecare pompă în parte, cel din
stânga fiind responsabil de controlul debitului pentru pompa 1, dar cel din dreapta pentru
controlul debitului pompei 2. Controlul se poate face în mod Automat, atunci când asuprea
sistemului îi este aplicat un algoritm de reglare, sau în mod manual de către operatorul
uman. Trecerea din modul Automat în cel Manual se face prin intermediului
întrerupătorului.
23
Semnalul luminos de culoare verde, marcat cu textul Ready indică faptul că
alimentarea cu lichid este activă, ceea ce înseamnă ca pompa funcționează.
Semnalul luminos de culoare roșie, marcat cu textul Limit, indică faptul că s-a
atins nivelul maxim de lichid din rezervor.
CAN-ul este necesar pentru a prelua nivelul de lichid din rezervoare și funcționează
cu valori între -10V şi +10V, lucru ce îi oferă o rezoluție de 4,88mV.
Asupra sistemului se pot introduce perturbații pentru a simula în mod controlat diverse
cazuri de spargeri sau funcționări greșite ale traductoarelor.
3.2 Software
Accesarea programului DTS200 se face prin rularea executabilului
DTS20W16.EXE, care se folosește de următoarele librării: DEFAULT.CAL,
DTS200.HLP, DTSW16.INI, DTSSRV16.DLL, TIMER16.DLL, PLOT16.DLL,
DAC98.DRV, DAC6214.DRV, DUMMY.DRV.
După cum se poate vedea, fereastra de tip Windows este populată de o bară de
miniu, în care se regăsesc principalele opțiuni de navigare.
Mai jos, se poate observa titlul ferestrei, „DTS – Monitor”, regulatorul activ și un
model grafic al rezervoarelor în care este descris nivelul curent, referința, eroarea și
comanda.
25
Meniul „File”
Save System Parameters este o funcție care se activează numai după ce au fost
achiziționate primele date măsurate. Ca informații suplimentarea, ea salvează configurația
sistemului, tipul de regulator, precum și parametrii acestuia. În urma acestei operațiuni va
rezulta un fișier cu extensia „.PLD”.
Load recorded Data va deschide o fereastră prin care se va putea căuta și selecta
un fișier cu extensia „.PLD”, în care sunt salvate datele de la o măsurătoare precedentă.
Aceste date pot fi reprezentate în formă grafică prin intermediul funcției Plot file Data
din meniul View.
Meniul „IO-Interface”
26
4. Modelul matematic
4.1 Analiza teoretică
În figura de mai jos este ilustrată schema de ansamblu a sistemului, în care sunt
evidențiate elementele, mărimile și parametrii principali.
27
Sn - aria secțiunii conductelor de conectare [m2];
𝑑ℎ1
𝐴 = 𝑄1 − 𝑄13 − 𝑄𝑙1
𝑑𝑡
𝑑ℎ3
𝐴 = 𝑄13 − 𝑄32 − 𝑄𝑙3 (4.2.2)
𝑑𝑡
𝑑ℎ2
{ 𝑑𝑡 = 𝑄2 + 𝑄32 − 𝑄20 − 𝑄𝑙2
𝐴
Debitele Q13, Q32 şi Q20 fiind încă necunoscute, acestea pot fi determinate folosind
regula lui Toricelli, după cum urmează:
g : accelerația gravitațională;
sgn(z) : semnul argumentului z;
∆ℎ : diferenţa dintre nivelurile de lichid conectate între ele;
a : coeficientul de curgere;
Q : debitul calculat în conducta de legătură;
28
Şi debitele din conductele de scurgere în cazul simulării unei spargeri:
În acest mod, se pot defini vectorii de stare şi intrare pentru procesul studiat.
ℎ = (ℎ1 , ℎ2 , ℎ3 )𝑇
{ (4.2.6)
𝑄 = (𝑄1 , 𝑄2 )𝑇
1
𝐴(ℎ) = (−𝑄13 ; 𝑄32 − 𝑄20 ; 𝑄13 − 𝑄32 )𝑇 (4.2.7)
𝐴
𝑦 = (ℎ1 , ℎ2 , ℎ3 )𝑇 (4.2.8)
Matricea de definiție:
1 1 0
𝐵= [0 1] (4.2.9)
𝐴 0 0
𝑑ℎ1
𝐴 = 𝑄1 − 𝑄13
𝑑𝑡
𝑑ℎ3
𝐴 = 𝑄13 − 𝑄32 (4.3.1)
𝑑𝑡
𝑑ℎ2
{ 𝑑𝑡 = 𝑄2 + 𝑄32 − 𝑄20
𝐴
29
Pentru realizarea schemelor Simulink s-au folosit blocuri standard din librărie precum:
blocuri de intrare/ieșire, produs, funcții de gain (amplificare), modul, radical și de semn.
cu sistemul:
cu sistemul:
cu sistemul:
30
Pentru debitul 𝑄𝑙1 avem ecuaţia:
Toate aceste subsisteme vor fi integrate într-o singură schema pentru a putea urmări
dinamica întregului sistem și nu doar a componentelor sale. Pentru aceasta, s-a folosit blocul
„Subsystem” din Simulink.
32
Mai jos am încadrat întregul sistem într-un nou subsistem cu scopul de a evidenția doar
intrările şi ieșirile. Acum se poate observa cel mai bine faptul că avem de a face cu un sistem
MIMO (Multiple Input Multiple Output), ceea ce ne va permite să alegem mai ușor o strategie
de reglare pe viitor.
De menționat este faptul că până acum s-a realizat modelul matematic neliniar al
sistemului. Este util pentru a vedea comportarea acestuia şi ce fel de caracter are neliniaritatea.
Pentru a testa modelul s-a efectuat simularea funcționării cu o singură pompă şi fără
debite de avarii. Totodată, valoarea coeficienților de curgere s-a determinat a fi
a1 = 0.45;
a2 = 0.95;
a3 = 0.45;
Iar valoarea de intrare pentru system, Q1, este 0,00004 l/min;
33
Figura 4.3.9 – Grafic rezultat în urma simulării
Simularea pe instalația reală s-a efectuat în aceleași condiții. Valvele care simulau
avariile erau închise, iar asuprea pompei 1 a fost aplicată o comanda de 40%, corespondentul
valorii de 0,00004 l/min. În urma acestor valori s-a obținut graficul:
34
Figura 4.3.10 – Grafic realizat în urma implementării pe instalaţie
Se observă că pentru nivelul primului rezervor aproximarea este foarte bună, însă
aceasta tinde să scadă în cazul rezervoarelor 2 şi 3. Un lucru ce ar putea cauza acest lucru este
reprezentat de perturbațiile puternice la care au fost supuse mărimile de ieșire în cazul
instalației reale. Acest fapt se poate observa şi din măsurători, în special în cazul rezervorului
2.
35
Astfel, nivelurile celor trei rezervoare in punctul de echilibru se determina conform
relațiilor:
𝑄1𝑒 2 1
ℎ1𝑒 − ℎ3𝑒 = ( )
𝑎1 𝑆𝑛 2𝑔
𝑄1𝑒 2 1
ℎ3𝑒 − ℎ2𝑒 = ( ) (4.4.1)
𝑎3 𝑆𝑛 2𝑔
𝑄1𝑒 2 1
ℎ2𝑒 = ( )
{ 𝑎2 𝑆𝑛 2𝑔
ℎ1𝑒 = 0,3583
{ℎ2𝑒 = 0,0361 (4.4.2)
ℎ3𝑒 = 0,1972
−5 0.3583
{𝑢𝑒 = [4 ∙ 10 ] ; 𝑦𝑒 = [0.0361]; (4.4.3)
0
0.1972
𝑑ℎ1 1
= (𝑄1𝑒 − 𝑄13 )
𝑑𝑡 𝐴
𝑑ℎ3 1
= (𝑄13 − 𝑄32 ) (4.4.4)
𝑑𝑡 𝐴
𝑑ℎ2 1
{ 𝑑𝑡 = 𝐴 (𝑄2𝑒 + 𝑄32 − 𝑄20 )
𝑑ℎ1 (𝑡) 1
= (𝑄1 (𝑡) − 𝑄13 (𝑡))
𝑑𝑡 𝐴
𝑑ℎ3 (𝑡) 1
⇔ = (𝑄13 (𝑡) − 𝑄32 (𝑡)) (4.4.5)
𝑑𝑡 𝐴
𝑑ℎ2 (𝑡) 1
( ) ( )
{ 𝑑𝑡 = 𝐴 (𝑄2 (𝑡) + 𝑄32 𝑡 − 𝑄2 𝑡 )
36
𝑄1𝑒 (𝑡) = 𝑄1𝑒0 + ∆𝑄1𝑒 (𝑡)
𝑄2𝑒 (𝑡) = 𝑄2𝑒0 + ∆𝑄2𝑒 (𝑡)
ℎ1 (𝑡) = ℎ10 + ∆ℎ1 (𝑡) (4.4.6)
ℎ2 (𝑡) = ℎ20 + ∆ℎ2 (𝑡)
{ ℎ3 (𝑡) = ℎ30 + ∆ℎ3 (𝑡)
Ținând cont de faptul că debitul 𝑄130 = 0 în momentul incipient ecuaţia (4.4.8) devine:
1 2𝑔 (4.4.11)
𝑄13 (𝑡) = 𝑎1 𝑆𝑛 √ (∆ℎ1 − ∆ℎ3 )
2 ℎ1𝑒 − ℎ3𝑒
37
𝜕𝑄32 𝜕(𝑎3 𝑆𝑛 √2𝑔(ℎ3 (𝑡) − ℎ2 (𝑡))) 1 2𝑔
| = | = 𝑎3 𝑆𝑛 √ ∆ℎ (4.4.15)
𝜕ℎ2 ℎ1𝑒,ℎ3𝑒 𝜕ℎ2 2 ℎ3𝑒 − ℎ2𝑒 2
ℎ3𝑒 ,ℎ2𝑒
Ținând cont de faptul că debitul 𝑄130 = 0 în momentul incipient, ecuaţia (4.4.13) devine:
1 2𝑔 (4.4.16)
𝑄32 (𝑡) = 𝑎3 𝑆𝑛 √ (∆ℎ3 − ∆ℎ2 )
2 ℎ3𝑒 − ℎ2𝑒
Ținând cont de faptul că debitul 𝑄200 = 0 în momentul incipient, ecuaţia (4.4.18) devine:
1 2𝑔 (4.4.20)
𝑄20 (𝑡) = 𝑎2 𝑆𝑛 √ ∆ℎ
2 ℎ2𝑒 2
Rezervor 1:
𝑑∆ℎ1 1 1 2𝑔
= (∆𝑄1 (𝑡) − 𝑎1 𝑆𝑛 √ (∆ℎ1 − ∆ℎ3 )) (4.4.21)
𝑑𝑡 𝐴 2 ℎ1𝑒 − ℎ3𝑒
38
Rezervor 2:
𝑑∆ℎ2 1 1 2𝑔 1 2𝑔
= (∆𝑄2 (𝑡) + 𝑎3 𝑆𝑛 √ (∆ℎ3 − ∆ℎ2 ) − 𝑎2 𝑆𝑛 √ ∆ℎ ) (4.4.22)
𝑑𝑡 𝐴 2 ℎ3𝑒 − ℎ2𝑒 2 ℎ2𝑒 2
Rezervor 3:
𝑑∆ℎ3 1 2𝑔 1 2𝑔
𝑑𝑡
= 𝐴 (∆𝑄1 (𝑡)𝑎1 𝑆𝑛 √ℎ (∆ℎ1 − ∆ℎ3 ) + 𝑎3 𝑆𝑛 √ (∆ℎ3 − ∆ℎ2 )) (4.4.23)
1𝑒 −ℎ3𝑒 2 ℎ 3𝑒 −ℎ2𝑒
ℎ1𝑒 ℎ1
𝑥̇ = 𝐴𝑥 + 𝐵𝑢 𝑄
{ ; 𝑥 = (ℎ2𝑒 ); 𝑢 = ( 1 ); 𝑦 = (ℎ2 ) (4.4.24)
𝑦 = 𝐶𝑥 + 𝐷𝑢 𝑄2
ℎ3𝑒 ℎ3
2𝑔 2𝑔
−𝑎1 𝑆𝑛 √ 0 𝑎1 𝑆𝑛 √
ℎ1𝑒 − ℎ3𝑒 ℎ1𝑒 − ℎ3𝑒
1
1 2𝑔 1 2𝑔 1 2𝑔 0
𝑥̇ = 0 𝑎3 𝑆𝑛 √ − 𝑎2𝑆𝑛 √ ∆ℎ2 𝑎3 𝑆𝑛 √ 𝑥 + (𝐴 ) 𝑢;
2 ℎ3𝑒 − ℎ2𝑒 2 ℎ2𝑒 2 ℎ3𝑒 − ℎ2𝑒 1
0
𝐴
2𝑔 1 2𝑔 2𝑔 1 2𝑔
𝑎1 𝑆𝑛 √ 𝑎3 𝑆𝑛 √ −𝑎1 𝑆𝑛 √ − 𝑎3 𝑆𝑛 √
( ℎ1𝑒 − ℎ3𝑒 2 ℎ3𝑒 − ℎ2𝑒 ℎ1𝑒 − ℎ3𝑒 2 ℎ3𝑒 − ℎ2𝑒 )
(4.4.25)
1 0 0
𝑦 = (0 1 0) 𝑥;
0 0 1
Matricele de stare:
−0.0081 0 0.0081
𝐴= [ 0 −0.0440 0.0081 ]
0.0081 0.0081 −0.0161
64,9351 0
𝐵= [ 0 64,9351] (4.4.26)
0 0
1 0 0
𝐶 = [0 1 0 ]
0 0 1
0 0
{ 𝐷= [ ]
0 0
39
4.5 Simularea şi validarea modelului linar
Pentru testarea modelului liniar, am realizat următoarea schemă Simulink:
Debitul Q1e are o valoare de 0,0004ml/s. Astfel, s-au oţinut următoarele grafice.
Din graficul de mai sus se observă că ieșirile modelului analitic sunt foarte apropiate
de cele reale, lucru ce confirmă faptul că aproximarea matematică este foarte bună. În acest
sens, mă aștept ca pentru regulatoarele ce urmează să fie proiectate să obțin rezultate foarte
similare în simulare și în implementarea pe instalație fizica a echipamentului didactic.
40
5. Alegerea şi acordarea regulatorului
5.1 Regulatoare convenționale
5.1.1 Mod de calcul pentru un regulator convențional
Înainte de a alege metoda de calcul a regulatorului, este necesar să determinăm funcția
de transfer a procesului. Cum modelul generat în Matlab/Simulink studiază cazul cu 2 intrări
şi 3 ieșiri, voi simplifica procesul la o intrare şi o ieșire. Astfel, voi lua în considerare doar
debitul primei pompe şi debitele dintre rezervoarele 1 şi 3, 3 şi 2 şi debitul de evacuare al
rezervorului 2.
Conform codului Matlab din anexă, s-a obținut următoarea funcție de transfer:
64.94
𝐻𝑝 = (5.1.1)
𝑠 + 0.0007608
65
𝐻𝑝 = (5.1.2)
𝑠 + 0.0008
Se poate observa că funcția este de gradul I, iar procesul nu are timp mort. Acest lucru
înseamnă că se poate aplica metoda Poli-Zerouri pentru calcularea parametrilor regulatorului.
41
Constanta de timp se determină în funcție de debitul maxim al pompei. Astfel, ținând
cont de faptul că pompa are un debit maxim de 6l/min, asta înseamnă că atingerea pun ctului
de echilibru de 35cm se va face în aproximativ 50 de secunde.
𝐾
𝐻0 = (5.1.3)
𝑇𝑠 + 1
𝜀𝑠𝑡 = 0 ⇒ 𝐻0 𝑠 ⇒ 1 ⇒ 𝐾 = 1
𝑡𝑡 = 50 ⇒ 4𝑇 = 50 ⇒ 𝑇 = 12,5
1
⇒ 𝐻0 = (5.1.4)
12,5𝑠 + 1
𝐻0 (𝑠)
𝐻𝑑 = (5.1.5)
1 − 𝐻0 (𝑠)
1
𝐻𝑑 = (5.1.6)
12,5𝑠
𝐻𝑑 = 𝐻𝑟 ∙ 𝐻𝑝 (5.1.7)
1
⇒ 𝐻𝑟 = 𝐻𝑑 (5.1.8)
𝐻𝑝
𝑠 + 0.0008
𝐻𝑟 = (5.1.9)
812.5𝑠
Din această formă putem să deducem parametrii unui regulator PI. Amintesc faptul că
forma unui regulator PI este:
1
𝐻𝑃𝐼 = 𝐾𝑟 (1 + 𝑇𝑖 ) (5.1.10)
𝑠
42
Utilizând această formă, putem determina parametrii ca fiind:
𝐾𝑟 ≅ 0,001;
𝑇𝑖 ≅ 0,0008;
Obținând aceste valori, se poate observa din start că avem o constantă de integrare foarte
mică, lucru ce va însemna că nu vom avea suprareglaj, iar timpul tranzitoriu va fi mai mare.
Blocul Step introduce o referință de tip treaptă cu valoare de 0,35, ceea ce înseamnă
că se dorește ca nivelul rezervorului 1 să aibă o valoare de 35cm.
43
Figura 5.1.3 – Fereastră bloc PID Simulink
44
Primul grafic reprezintă evoluția nivelului din Rezervorul 1.
𝜀𝑠𝑡 = 0;
𝜎 = 0;
𝑡𝑡 > 500𝑠;
Proces fără timp mort;
Deși asigurarea erorii staționare nule şi lipsa suprareglajului sunt semnele unei
reglări corespunzătoare, timpul tranzitoriu este foarte mare. Acest lucru se poate schimba
prin acordarea experimentală.
𝐾̃𝑟 = 0,001;
𝑇̃𝑖 = 0,01;
45
Figura 5.1.5 – Graficele obținute în urma ajustării parametrilor
𝜀𝑠𝑡 = 0;
𝜎 = 9,6%;
𝑡𝑡 ≅ 220𝑠;
Proces fără timp mort;
Cu noile constante de acordare sistemul are un timp de răspuns mult mai bun.
Totodată, se poate observa că în timpul regimului tranzitoriu, sistemul are un răspuns
liniar, lucru foarte important întrucât acest timp de răspuns nu forţează elementul de
execuţie.
46
Figura 5.1.6 – Graficulul rezultatelor măsurate pe instalaţie
Analizând acest grafic putem observa că este foarte similar cu cel simulat. Desigur,
datele măsurate sunt mult mai perturbate din cauza faptului că alimentarea cu apă se face
prin cadere, iar la niveluri foarte mici, debitul de ieşire din rezervor induce şi el perturbaţii
considerabile.
47
5.2 Regulatoare Fuzzy
5.2.1 Mod de calcul pentru un regulator Fuzzy
Așa cum s-a explicat în capitolul de teorie, elaborarea unui regulator fuzzy se face
prin următoarele etape:
Toate acestea s-au realizat prin utilizarea comenzii „fuzzy” din Matlab.
𝜀𝜖[−0,6; 0,6];
∆𝜀𝜖 [−1; 1];
𝜀
∆𝜀 NB NM NS Z PS PM PB
NB NB NB NB NM NS NS Z
NM NB NB NM NS NS Z PS
NS NB NM NS NS Z PS PM
Z NM NM NS Z PS PM PM
PS NS Z PS PS PM PB PB
PM NS Z PS PS PM PB PB
PB Z PS PS PM PB PB PB
48
În Matlab s-a implementat următoarea structură pentru regulatorul Fuzzy:
49
În acest fel, s-au obținut următoarele rezultate:
𝜀𝑠𝑡 ≅ 0;
𝜎 = 0%;
𝑡𝑡 ≅ 80𝑠;
Proces fără timp mort;
50
5.2.4 Implementarea structurii pe instalaţia reală
Pe instalația reală s-a implementat următoarea structură de reglare:
Aceasta respectă întocmai structura din simulare, singurele diferențe fiind date de:
51
Figura 5.2.5 – Graficele obţiunte în urma masurării ieşirilor strucutrii Fuzzy
Se observă că:
52
5.3 Regulatoare MPC
5.3.1 Implementare şi simulare
Pentru implementarea unei structuri de reglare bazată pe predicție de model m-am
folosit de blocul „MPC” din Matlab şi de reprezentarea în spațiul stărilor calculată prin
intermediul codului atașat în anexă.
53
Pentru implementarea algoritmului s-au ales:
2 variabile de intrare;
3 variabile de ieşire;
O variabilă perturbatoare;
Timp de eșantionare 1;
Se poate observa că matricele de stare generate sunt identice cu cele calculate prin
intermediul codului furnizat în anexă.
54
Figura 5.3.4 – Stabilirea constrângerilor pentru algoritmul MPC
Unul dintre avantajele regulatorului MPC este faptul că se lucrează în mod direct
cu mărimile fizice ale sistemului, în special cu valorile asociate forței maxime generate
de elementul de execuție. În cazul nostru, s-a ales 0,0001m3 /s pentru pompe și 0,62m
pentru nivelul rezervoarelor.
55
În acest mod se vor simula ieșirile sistemului și se vor observa comenzile pe timpul
de execuție al simulării.
Figura 5.3.6 – Grafice pentru iesiri (stânga) şi comenzi (dreapta) obținute în urma executații scenariului
56
5.3.2 Aflarea performanțelor
Pentru bazinul 1 s-a impus o referința de tip treaptă cu valoarea 0,35 la momentul
0s, iar pentru bazinul 2 s-a impus o referința de tip treaptă cu valoarea 0,2 la momentul
150s.
De menționat este faptul că Rezervorul 2 este supus celor mai multe perturbații,
acesta având conducte de conectare către exterior, dar şi către exterior, lucru ce contribuie
la creșterea timpului tranzitoriu.
57
6. Comparație a rezultatelor celor trei regulatoare
Pentru a realiza o comparație mai ușoară a celor 3 regulatoare, am realizat
următoarele scheme în Simulink:
58
În acest mod, am putut să compar rezultatele celor 3 regulatoare sub un singur
grafic.
Analizând graficul de mai sus putem observa că există un grad mare de asemănare
în ceea ce privește rezultatele regulatoarelor Fuzzy și MPC. Ambele obțin performanțe
similare, chiar dacă modul de concepere a fost diferit.
Suprareglaj s-a obținut doar în cazul regulatorului PI, însă acesta este cel mai ușor
de implementat fizic, celelalte două având nevoie de un sistem de calcul pentru a
funcționa corect.
59
Totodată, un regulatoarele PI şi MPC s-au dovedit a fi cele mai greu de proiectat,
ambele având nevoie de generarea unui model matematic, lucru ce a presupus rezolvarea
unor ecuații matematice complexe. Acest lucru s-a putut realiza întrucât au existat
suficiente date despre sistemul fizic, însă în cazul în care informațiile erau vagi,
proiectarea algoritmilor PI şi MPC s-ar fi dovedit a fi una foarte dificilă sau chiar
imposibilă.
PI FUZZY MPC
𝜎 9,6% 0% 0%
Timp mort Nu Nu Nu
60
7. Concluzii
Drept concluzie principală se poate remarca faptul că nu există o singură structură
de reglare universală pentru conducerea unui sistem. Acesta a fost unul dintre scopurile
acestui proiect de licență.
Luând în considerare datele obținute şi calculele efectuate pot conchide că cel mai
bun algoritm de reglare în ceea ce privește performanțe obținute și dificultate de
concepere este algoritmul Fuzzy.
61
8. Dezvoltări ulterioare
Din punct de vedere al dezvoltărilor ulterioare legate de conceperea algoritmilor
de reglare, se poate vorbi de tratarea cazului MIMO pentru toate tipurile de regulatoare.
Acest lucru a fost dificil în cazul regulatoarelor PI din cauza modelului complex şi al
faptului că a fost necesară conceperea unui model matematic precis şi efectuarea
calculelor aferente.
Pentru acest lucru este necesară studierea fenomenului de cuplare şi realizarea unei
structuri de reglare care să realizeze acest lucru. Totodată, se pot implementa structuri cu
mai multe grade de libertate care pot să asigure mult mai bine urmărirea referinței și
rejecția perturbațiilor.
O altă îmbunătățire poate consta în realizarea unui model matematic prin cale
experimentală. Acest lucru se realizează prin aplicarea unui set de intrări asupra
sistemului şi din ieșirile opțiune se poate determina o reprezentare în spațiul stărilor care
sa aproximeze foarte bine realitate. Astfel, se poate realiza o comparație între modelul
experimental şi cel analitic pentru a determina care dintre cele două aproximează mai bine
sistemul real.
Un lucru ce s-a dorit, însă nu s-a putut realiza în totalitate din cauza faptului că
echipamentul este unul didactic, a fost controlul prin intermediul unui PLC. Deși acest
lucru este posibil, incompatibilitatea dintre modulul de ieșite analogică [-10; 10]V si
pompa sistemului [0; 10]V a făcut acest lucru destul de dificil. Astfel, o îmbunătățire
adusă proiectului ar consta în schimbarea elementelor de execuție. Controlul prin
intermediul unui PLC ar apropia proiectul foarte mult de mediul industrial real, lucru ce
ar putea oferi studentului informații foarte importante în viitoarea lui carieră de inginer.
62
9. Bibliografie
[1] Ioan Dumitrache - Automatica Vol I, Vol II, ed Academiei Române,
Bucureşti, 2009
[2] Sergiu Stelian Iliescu - Teoria Reglării Automate, ed. Printech, Bucureşti,
2006
[4] Sergiu Stelian Iliescu, Ioana Făgărăşan, Dan Pupăză - Analiza de sistem în
informatica industrială, Ed. Agir, Bcucureşti 2006
[7] N. Kanagasabai, N. Jaya - Fuzzy Gain Scheduling of PID Controller for a MIMO
Process, International Journal of Computer Applications, 2014
[8] N. Rasana, Murali Rangarajan, Udaya Bhaskar Reddy Ragula -
Design And Implementation Of Model Predictive Control In A Three Tank
Interacting System
[9] J. B. Rawlings and D. Q. Mayne - Model Predictive Control: Theory and Design,
2012
[11] Krupa Borse Narwekar, Dipesh Shah - Tuning of PID Controller for Three Tank
Mixing Process using Matlab, National Conference on Emerging Trends in
Engineering & Technology, 2012
[12] Med Essahafi - Model Predictive Control (MPC) Applied To Coupled Tank Liquid
Level System
[13] ASHISH KUMAR SINGH - Control of Multi Tank System and Their Performance
analysis, 2014
[14] Fin Haugen - Modeling, Identification and Control, Vol. 33, No. 4, 2012
[17] http://www.cds.caltech.edu/~murray/courses/cds101/fa04/caltech/am04_ch2-
3oct04.pdf, accesat 2015
[25] http://www.mathworks.com/help/mpc/gs/designing-a-model-predictive-controller-
for-a-simulink-plant.html, accesat 2016
64
10. Anexe
Cod Matlab pentru generarea funcţiei de transfer pentru cazul SISO:
clc; clear all;
%==========CONSTANTE=======================================================
%Coeficienti de curgere
a1 = 0.45;
a2 = 0.95;
a3 = 0.45;
Q1e = 4e-5;
Q2e = 0;
%==========================================================================
A = -x1-x3-x2;
B = 1/S;
C = 1;
D = 0;
%=============Generarea functiei de transfer===============================
[num, den] = ss2tf(A,B,C,D);
H = tf(num,den)
%================================================
65
Cod Matlab pentru generarea reprezentării în spaţiul stărilor pentru cazul MIMO:
clc; clear all;
%==========CONSTANTE=============
%Coeficienti de curgere
a1 = 0.45;
a2 = 0.95;
a3 = 0.45;
Q1e = 4e-5;
Q2e = 0;
%=================================
A = A/S
B = [1/S 0; 0 1/S; 0 0]
C = eye(3)
D = zeros(size(B))
%==================================================
66
Date tehnice ale echipamentului didactic:
67
Rezervor Cilindric Valoare Unitate
Diametrul exterior 150 mm
Diametrul interior 140 mm
Diametrul conductei de 25 mm
alimentare
Înălţime (capac inclus) 720 mm
Nivel maxim de lichid 630 mm
Capacitate 9 l
68
Intrări Valoare Unitate
Tensiune de alimentare 0…+12 V
pentru pompe
Tensiune de alimentare 18 V
pentru senzori
Dispozitiv de comandă
Cote şi masă Valoare Unitate
Lungime 360 mm
Lăţime 310 mm
Înâltime 147 mm
Masă 7.5 kg
Module SERVO
Intrări Valoare Unitate
Tensiune de alimentare 15 V~
+15 V
Siguranţă (15V~) 2 AM
Semnal de protecţie 1…+5,6 V
senzor
Semnale de control 0…+10 V
POWER
70