Sunteți pe pagina 1din 71

Universitatea POLITEHNICA București

Facultatea Automatică şi Calculatoare

Departamentul Automatică şi Ingineria Sistemelor

LUCRARE DE LICENŢĂ

Structuri avansate de reglare pe un sistem cu rezervoare deschise

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.

Pe măsură de tehnica a evoluat și sistemele au devenit din ce în ce mai complexe,


a crescut și nevoia pentru regulatoare automate ce puteau să înlocuiască munca umană
într-un mod mai eficient.

Un punct important în istoria reglării a constat dezvoltarea matematicii și a fizicii


din timpul erei Renascentiste. În acea perioadă umanitatea s-a concentrat asupra
detaliilor lumii înconjurătoare, în special asupra celor tehnice. Astfel, descoperirile
matematice făcute în acea perioadă au pus bazele identificării și modelării sistemelor
prin noțiuni și teoreme ce sunt folosite și în prezent.

Un alt moment important a fost reprezentat de Revoluția Industrială. Aceasta a


reprezentat și un punct critic în istoria omenirii, întrucât totul s-a orientat către
automatizarea proceselor deja existente, în încercarea de a face totul mai rapid, mai
eficient și în cantități mai mari. Astfel, s-au dezvoltat sisteme pentru reglarea
temperaturii, a nivelului și rotației, toate acestea folosindu-se de sisteme elementare
mecanice.

Spre sfârșitul secolului 19 atenția omenirii se îndreaptă către domeniul electric,


acesta fiind momentul în care putem să vorbim cu adevărat despre sisteme de reglare
cu o viziune mai modernă. Au urmat cele două războaie mondiale în care s-au dezvoltat
sisteme de conducere pentru ghidajul aeronavelor sau proiectilelor, dar și sisteme de
filtrare a perturbațiilor în cazul transmisiunilor radio. Toate aceste progrese
tehnologice au adus la apariția inevitabilă a unor sisteme de calcul mai eficiente, dând
naștere unui nou domeniu, cel al microelectronicii.

Automatica se dezvoltă ca domeniu de sine stătător în ultimii 40 de ani și a


contribuit substanțial în dezvoltarea ingineriei moderne, întrucât are la bază un
formalism matematic avansat ce îmbină concepte și strategii de conducere cu cele mai
avansate sisteme tehnologice pentru a asigura funcționarea unui proces într-un mod
optimal cu scopul de a produce rezultate cât mai bune. Creșterea puterii de calcul a
microprocesoarelor a facilitat obținerea acestor rezultate, precum și conducerea
sistemelor de un grad de complexitate foarte ridicat.

În prezent, strategiile de conducere a proceselor industriale se pot diviza în


următoarele categorii:
2
- Sisteme convenționale: regulatoare PID, în cascadă etc.
- Sisteme avansate:
o Reglare predictivă;
o Reglare cu model intern;
o Reglare adaptivă;
o Control fuzzy;
o Tehnici neuronale de reglare;
o Sisteme hibride ce integrează tehnici neuronale, control Fuzzy și
programarea evoluționistă;

În acest mod, automatizarea a devenit un element esențial al vieții moderne, orice


obiect ce vine în contact cu noi având implementat un sistem de conducere elementar, în
cazul echipamentelor casnice, sau un sistem avansat în cazul proceselor industriale. Mai
mult, orice proces al vieții este supus într-un fel sau altul unui sistem de reglare automată,
fie că vorbim de procese biologice sau interacțiuni interumane.

1.2 Motivarea lucrării


Lucrarea de licență prezentă a avut ca scop aprofundarea cunoștințelor dobândite
în cei 4 ani de facultate și aplicarea lor într-un cadru practic, ce îmi va putea fi util pe
viitor, în calitate de inginer.

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.

Standul cu 3 rezervoare AMIRA oferă un exercițiu foarte bun, întru-cât facilitează


modelarea de sistem și testarea unor algoritmi de reglare simpli, cât și complecși. De
remarcat este faptul că această platforma didactică are deja implementată o structură de
reglare de tipul PI prin pachetele software adiționale. Acest lucru se va dovedi util în
cazul validării modelului matematic și a soluțiilor de reglare ce vor fi propuse.

În această lucrare se dorește realizarea unui model matematic pentru un sistem cu


3 rezervoare ce comunica între ele, 2 pompe și 3 traductoare, precum și conceperea unor
soluții de reglare viabile. În acest mod, se poate face o comparație între structurile de
reglare clasice, de tipul PI, și cele avansate, Model Predictive Control și Fuzzy. De la
toate aceste metode de reglare se dorește obținerea unui răspuns indicial cât mai bun, cu
un timp tranzitoriu, suprareglaj și eroare staționară cât mai mici.

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ă:

Figura 2.1.1 – Structura de reglare automată

Î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ă.

Un element esențial în structura de reglare este reprezentat de traductor. Acesta are


rolul de a prelua informații despre instalația tehnologică. Informația este necesită pentru
luarea unei decizii în ceea ce privește conducerea instalației. În alegerea traductorului se
va ține cont de următoarele aspecte:

- natura fizică a mărimilor măsurate;


- precizia de măsurare;
- caracteristica statică a traductorului să fie liniară;
- abilitatea de rejecție a zgomotelor;
- finețea și fidelitatea;
- viteza de răspuns;
- semnalul de ieșire al traductorului;
- costul traductorului;

O altă problemă în realizarea unei structuri de reglare este reprezentată de alegerea


și dimensionarea elementelor de execuție. Acestea determină întreaga dinamica a
procesului, performanțele reale ale unui sistem fiind determinate de calitatea elementelor
de execuție. În vederea alegerii acestor elemente se ține cont de următoarele aspecte:

- forță dezvoltată de elementul de acționare;


- liniaritatea caracteristicii statice;
- dinamica și compatibilitatea cu instalația tehnologică;
- compensarea perturbațiilor;
- compatibilitatea cu procesul condus;
- mărimea fizică;
- siguranța în timpul funcționării;
- costul

Alegerea elementelor fizice pentru a realiza structura de reglare automată este


etapa care va determina performanțele sistemului. De regulă, se dorește urmărirea
referinței și rejecția perturbațiilor, însă în plan practic se are în vedere timpul de răspuns
al sistemului, precizia, stabilitatea, dar și atribute mai puțin tehnice precum
profitabilitatea, siguranță în funcționare și calitatea produselor/serviciilor.

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.

Există mai multe tipuri de modele:

- Modele fizice la scară redusă. Acestea deservesc pe post de prototip al


instalației efective, rolul lor fiind de a reproduce cât mai fidel sistemul final și
de a testa procesul tehnologic;
- Modele conceptuale – descriu sistemele fizice prin intermediul unor legi
fundamentale;
- Modele funcționale – reprezentare funcțională la nivel de schemă a sistemului
real;
- Modele analitice sau matematice – descriu comportarea sistemului prin
folosirea ecuațiilor matematice;

Odată ales tipul modelului ce se vrea construit, acesta poate fi la rândul lui împărțit
în mai multe categorii.

După caracterul dinamic avem:

- Modele dinamice în care variabilele depind de evoluția anterioară a sistemului;

𝑥̇ = 𝑓(𝑥, 𝑢, 𝑡)
{ (2.2.1)
𝑦 = 𝑔(𝑥, 𝑦, 𝑡)

- Modele statice în care ieșirea sistemului depinde doar de variabilele curente

𝑦 = 𝑓(𝑢) (2.2.2)
După gradul de liniaritate:

- Modele liniare;
- Modele neliniare;

După caracterul continuu sau discret al variabilelor dependente de timp

- Modele continue
- Modele discrete;

6
După numărul de intrări:

- Modele SISO – Single Input Single Output (O singură intrare – O singură


ieșire);
- Modele MIMO – Multiple Input Multiple Output (Mai multe intrări – Mai multe
ieșiri);
- Modele SIMO, MISO;

Alte categorii de modele:

- Variante sau invariante în timp;


- Cu parametri concentrați sau distribuiți;
- Parametrice sau neparametrice;

Etapele esențiale în modelarea analitică:

1. Definirea procesului și a elementelor reprezentative, lucru ce se realizează prin


delimitarea procesului de mediul exterior și stabilirea parametrilor fizici
măsurabili ce caracterizează funcționarea sistemului. Totodată, se determină
fenomenele fizici care stau la baza evoluției procesului, fapt ce ajută în alegerea
unei ipoteze simplificatoare.
Variabilele procesului sunt reprezentate de:
- Variabile de stare: mărimi fizice măsurabile ce oferă informații despre starea
procesului
- Variabile de intrare: mărimi sau semnale ce sunt aplicate sistemului pentru a -i
analiza comportamentul;
- Variabile de ieșire: mărimile fizice care sunt măsurate de către traductoare. Prin
intermediul lor se determină care a fost evoluția sistemului;
- Variabile perturbatoare: mărimi de stare care intervin asupra sistemului
afectând performanțele acestuia într-un mod negativ;

2. Scrierea ecuațiilor de bilanț în regim staționar şi dinamic.


Aici se descrie fluxul masic, volumetric sau energetic din cadrul procesului prin
utilizarea ecuațiilor matematice:
∆𝑚 𝑘𝑔
- Flux masic: ∅𝑚 = [∅𝑚 ] = [ ]
∆𝑡 𝑠
∆𝑉 𝑚3
- Flux volumetric: ∅𝑉 = [∅𝑉 ] = [ ]
∆𝑡 𝑠
∆𝑊 𝐽
- Flux energetic: ∅𝑊 = [∅𝑊 ] = [ ]
∆𝑡 𝑠

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.

∅𝑖𝑜 − ∅𝑒𝑜 = 0 (2.2.3)

În regimul dinamic, trecerea de la o stare la alta se realizează prin acumularea de


masă, volum sau energie, lucru ce face ca diferența dintre flaxul de intrare și cel de ieșire
să fie nenulă.

𝑑𝑚(𝑡) 𝑑𝑉 (𝑡) 𝑑𝑊(𝑡)


∅𝑖𝑜 (𝑡) − ∅𝑒𝑜 (𝑡) = 𝑠𝑎𝑢 ( ) 𝑠𝑎𝑢 ( ) (2.2.3)
𝑑𝑡 𝑑𝑡 𝑑𝑡

3. Scrierea modelului intrare/ieșire

Î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.

Astfel, se opțiune un set de ecuații diferențiale ce exprimă evoluția sistemului, fie


ea liniară sau neliniară.

4. Liniarizarea și simplificarea modelului

În cazul în care modelul conține elemente neliniare, se dorește liniarizarea acestora


în jurul unui punct static de funcționare. Acest lucru se realizează cel mai des prin
dezvoltarea în serie Taylor.

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.

𝑢 (𝑡) = 𝑢0 + ∆𝑢(𝑡) (2.2.6)


∆𝑢(𝑡) ∙ ∆𝑦(𝑡) = 0 (2.2.7)

8
5. Obținerea modelului adimensional

În acest pas se exprimă ecuațiile diferențiale fără a avea coeficienți cu semnificație


fizică, fiind prezente doar constante de timp de intrare și semnale de intrare/ieșire. Acest
lucru se realizează prin centrare și normare.

6. Validarea modelului

Ultimul pas presupune verificarea modelului pentru a observa dacă acesta este
conform sau nu realității.

2.3 Algoritmi de reglare convenționali


Cum scopul acestei lucrări este de a testa mai multe metode de reglare pentru un
model real, consider că este necesar să se facă o sinteză a algoritmilor convenționali de
reglare de tipul P, PI, PD si PID. Vor fi analizate și prezentate rezultatele varierii
parametrilor în cazul structurii de reglare automate.

Legea de reglare de tip P

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.

Pentru regulatorul de tip P se poate defini următoarea lege de reglare:

𝑢 (𝑡) = 𝐾𝑅 𝜀(𝑡) (2.3.1)

Legea de reglare de tip PI

Dacă la componenta P se adaugă o componenta de tip integral (I), se obține


următoare lege de reglare de tip PI, dată de relația:

1
𝑢 (𝑡) = 𝐾𝑅 [𝜀 (𝑡) + ∫ 𝜀 (𝑡)𝑑𝜏] (2.3.2)
𝑇𝑖

Coeficientul 𝐾𝑅 poartă denumirea de factor de amplificare al componentei P, iar


𝐾𝑅
raportul = 𝐾𝑖 poartă denumirea de factor de amplificare al componentei integrale. În
𝑇𝑖
acest caz putem scrie relaţia de mai sus sub forma:

𝑢(𝑡) = 𝐾𝑅 𝜀 (𝑡) + 𝐾𝑖 ∫ 𝜀 (𝑡)𝑑𝜏 (2.3.3)

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)
𝑇𝑖 𝑠 𝑇𝑖 𝑠 𝑖

În cadrul regulatorului PI avem doi parametri care se pot modifica, 𝐾𝑅 şi 𝑇𝑖 . Prin


ajustarea constantei de integrare 𝑇𝑖 se modifică doar efectul acţiunii de integrare, în timp
ce modificarea constantei 𝐾𝑅 produce un efect asupra ambelor componente, proporţională
şi integrală.

Componenta integrativă asigură o eroare staționară egală cu zero, însă poate crea
efecte nedorite, ducând sistemul în limita de saturație.

Legea de reglare de tip proporțional-derivativă (PD)

La componenta proporțională se adaugă una derivativă și va rezulta următoarea


ecuație:

𝑑𝜀
𝑢 (𝑡) = 𝐾𝑅 [𝜀 (𝑡) + 𝑇𝑑 ] (2.3.5)
𝑑𝑡
sau

𝑑𝜀
𝑢(𝑡) = 𝐾𝑅 𝜀 (𝑡) + 𝐾𝐷 (2.3.6)
𝑑𝑡
unde 𝐾𝐷 = 𝐾𝑅 𝑇𝐷 .

În acest mod, se poate defini următoarea funcție de transfer:

𝐻𝑅 (𝑠) = 𝐾𝑅 (1 + 𝑇𝑑 𝑠) (2.3.7)

𝐾𝑅 este constanta de amplificare proporţională, iar 𝑇𝑑 reprezintă constanta de timp al


componentei derivative.

Componenta derivativă are proprietatea de a oferi un caracter anticipativ


sistemului, ieșirea 𝑢 (𝑡) fiind proporţională cu viteza de variaţie a erorii. Cu toate acestea
are dezavantajul de a aplifica zogomotele şi aduce elementul de execuţie în limitele
saturației.

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.

Legea de reglare proporțional-integral-derivativă (PID)

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;

Acest regulator are asociată următoarea funcție de transfer:

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

Prin filtrarea componentei derivative se asigură implementabilitatea algoritmilor


de reglare și se reduce amplificarea semnalelor de tip zgomot.

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ă

O mulțime fuzzy este o metodă de a reprezenta variabilele de sistem folosindu-ne de un


vocabular cât mai apropiat de înțelesul operatorului uman. Acest lucru este de preferat în cazul
în care cunoștințele experților sunt relativ vagi. Fiecare mărime descrisă poate aparține într-o
anumită proporție unei mulțimi fuzzy.

Funcția de apartenență descrie gradul în care o colecție de elemente aparține sau nu unei
mulțimi fuzzy.

Astfel, se poate construi următoarea definiție:

Fie X o colecție de obiecte x. O mulțime fuzzy A peste mulțimea X se definește printr-


un set de perechi ordonate de forma:

𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥𝜖𝑋},

unde 𝜇𝐴 (𝑥) se numeşte funcție de apartenență a mulțimii fuzzy A,

iar mulțumea X se numește univers de discurs.

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.

Figura 2.4.1 – Funcții de apartenență

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.

In algoritmii de tip fuzzy se alege un domeniu in care sa se încadreze mărimile de sistem,


iar funcțiile de apartenența indica gradul in care acea variabila se încadrează intru-un
subdomeniu al intervalului stabilit. Astfel, variabilele capătă o flexibilitate mai mare si se poate
adapta foarte ușor unor situații in care parametrii de sistem se schimba sau cunoștințele despre
ei sunt limitate.

Cu alte cuvinte, in logica fuzzy nu mai vorbim de un absolutism in ceea ce privește


valoarea unui element, el putând căpăta valori intermediare.

Figura 2.4.2 - Funcții de apartenență (3)

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ă.

𝑠𝑢𝑝𝑝𝑜𝑟𝑡 (𝐴) = {𝑥 ∈ 𝑋/ 𝜇𝐴 (𝑥) > 0}

Nucleul unei mulțimi fuzzy este determinat de totalitatea elementelor x pentru care
funcția de apartenență are valoare 1.

𝑐𝑜𝑟𝑒 (𝐴) = {𝑥 ∈ 𝑋/ 𝜇𝐴 (𝑥) = 0}

Punctul de încrucișare al unei mulțimi fuzzy este determinat de acel element, x, pentru
care 𝜇𝐴 (𝑥) = 0.5

𝑐𝑟𝑜𝑠𝑠𝑜𝑣𝑒𝑟(𝐴) = {𝑥 ∈ 𝑋/ 𝜇𝐴 (𝑥) = 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.

Figura 2.4.3 – Structură de reglare automata Fuzzy

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.

Valorile lingvistice sunt preluate de către mecanismul de inferență, unde este


implementată logica din spatele regulatorului. Acesta generează comenzi pe baza intrărilor
apelând la un set de reguli determinate de operator.

Baza de reguli poate să conțină variabile de intrare/ieșire multiple, ceea ce înseamnă că


un regulator fuzzy poate fi aplicat atât unor modele SISO, cât și în cazul celor MIMO.

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.

În vederea proiectării unui regulator Fuzzy este recomandat a se ține cont de


următoarele etape:

- Determinarea variabilelor de intrare și ieșire;


- Determinarea domeniilor de apartenență a variabilelor măsurate și a funcțiilor de
apartenență aferente;
- Alegerea unui mecanism de inferență;
- Determinarea unui set de reguli;
- Alegerea metodei de defuzzificare;

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.

Aceasta se accesează folosind următoarea comanda:

>>fuzzy

Se va deschide următoarea fereastra:

15
Figura 2.4.4 – Fereastră fuzzy Matlab

Se vor observa imediat 3 chenare:

 Galben: intrări;
 Alb: reguli;
 Albastru: Ieșiri;

Figura 2.4.5 – Fereastre intrări şi ieşiriMatlab

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

Fereastra de reguli reprezintă locul in care se introduce logica fuzzy. Raționamentul se


bazează pe propoziții „IF – THEN”. Daca intrarea este X, atunci ieșirea va fi Y. In cazul
propozițiilor cu mai multe relații, se pot folosi operatori logici precum AND si OR. In acest
mod se combina cele doua mulțimi.

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.

Figura 2.4.7 – Salvarea regulatorului proiectat

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.

Algoritmii predictivi s-au dezvoltat foarte mult pe măsură ce puterea de calcul a


echipamentelor tehnice a crescut, fiind posibila o identificare mai precisa si o predicție mai
buna pentru orizonturile de timp viitoare. In acest mod, poate lua decizii anticipative, lucru ce
prezinta un avantaj considerabil fata de regulatoarele standard PID. Alte avantaje faţă de
structurile standard de reglare ar fi:

- Compensarea timpului mort;


- Reduce perturbațiile măsurabile prin introducerea acțiunii de feedforward;
- Performanțele se impun de la început, ceea ce scutește necesitatea acordării;
- Aduce o soluție pentru interferențele dintre canale în cazul sistemelor MIMO;
- Poate impune limitări asupra comenzii;

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.

Singurul dezavantaj al acestui tip de regulatoare îl constituie efortul necesar în ceea ce


privește calcularea modelului. Cu toate acestea, un model viabil, bine construit poate crește
considerabil performanțele de reglare, lucru ce va reduce costurile financiare pentru realizarea
instalației fizice.

Este de amintit şi faptul că modelarea şi identificarea este necesară și în cazul


algoritmilor de reglare convențional, întrucât metodele clasice de tip PID au nevoie de
parametrii adecvați, care se determină de obicei din modelul sistemului în cazul instalațiilor
complexe.

Detalierea principiilor de bază

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.

Figura 2.5.1 – Principiul reglării predictive

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:

𝑥 (𝑘𝑖 + 1|𝑘𝑖 ) = 𝐴𝑥 (𝑘𝑖 ) + 𝐵∆𝑢(𝑘𝑖 )


{ (2.5.1)
𝑦(𝑘𝑖 ) = 𝐶𝑥 (𝑘𝑖 ) + 𝐷∆𝑢(𝑘𝑖 )

unde,

- 𝑥 (𝑘𝑖 + 1|𝑘𝑖 ) reprezintă variabila de stare predictată la momentul 𝑘𝑖 + 1 cu


informaţiile curente, 𝑥(𝑘𝑖 );
- 𝑦(𝑘𝑖 ) este ieşirea sistemului în momentul curent;
- 𝑢(𝑘𝑖 ) este comanda aplicată sistemului în momentul curent;
- ∆𝑢(𝑘𝑖 ) = 𝑢 (𝑘𝑖 ) − 𝑢(𝑘𝑖 − 1);

Pentru orizonturi de predicție şi control finite, variabila de stare şi cea de ieșire se


determină în următorul mod:

𝑥 (𝑘𝑖 + 𝑂𝑃|𝑘𝑖 ) = 𝐴𝑂𝐶 𝑥 (𝑘𝑖 ) + 𝐴𝑂𝐶−1 𝐵∆𝑢(𝑘𝑖 ) + ⋯ + 𝐴𝑂𝐶−𝑂𝐶 𝐵∆𝑢 (𝑘𝑖 + 𝑂𝐶 − 1)


{ (2.5.2)
𝑦(𝑘𝑖 + 𝑂𝑃|𝑘𝑖 ) = 𝐶𝐴𝑂𝐶 𝑥 (𝑘𝑖 ) + 𝐶𝐴𝑂𝐶−1 𝐵∆𝑢(𝑘𝑖 ) + ⋯ + 𝐶𝐴𝑂𝐶−𝑂𝐶 𝐵∆𝑢 (𝑘𝑖 + 𝑂𝐶 − 1)

Dacă scriem ieșirea şi comanda sistemului sub formă vectorială,

𝑦(𝑘𝑖 + 1|𝑘𝑖 ) ∆𝑢(𝑘𝑖 )


( ) ( )
𝑦 = [ 𝑦 𝑘𝑖 + 2|𝑘𝑖 ]; ∆𝑢 = [ ∆𝑢 𝑘𝑖 + 1 ]; (2.5.3)
⋮ ⋮
𝑦(𝑘𝑖 + 𝑂𝑃|𝑘𝑖 ) ∆𝑢(𝑘𝑖 + 𝑂𝐶 − 1)

putem scrie un criteriu de predicție de forma:

𝑦 = 𝜓𝑥 (𝑘𝑖 ) + 𝜙∆𝑢 (2.5.4)


unde,

20
𝐶𝐵 0 0 … 0
𝐶𝐴
𝐶𝐴𝐵 𝐶𝐵 0 … 0
𝐶𝐴2 …
𝜓=[ ]; 𝜙 = 𝐶𝐴2 𝐵 𝐶𝐴𝐵 𝐶𝐵 0 ; (2.5.5)
⋮ ⋮
⋮ ⋮ ⋮ ⋮
𝐶𝐴𝑂𝑃 …
[𝐶𝐴𝑂𝑃−1 𝐵 𝐶𝐴𝑂𝑃−2 𝐵 𝐶𝐴𝑂𝑃−2 𝐵 𝐶𝐴𝑂𝑃−𝑂𝐶 𝐵]

Se observă foarte că ușor că un orizont de predicție mai mare duce la creșterea


matricelor de predicție, lucru de mărește dragul de complexitate al calculelor.

Unul dintre avantajele regulatorului MPC este acela că se pot impune restricții asupra
variabilelor de sistem prin aplicarea unor limite inferioare și superioare:

𝑢𝑚𝑖𝑛 (𝑡) ≤ 𝑢(𝑡) ≤ 𝑢𝑚𝑎𝑥 (𝑡)


∆𝑢𝑚𝑖𝑛 (𝑡) ≤ ∆𝑢(𝑡) ≤ ∆𝑢𝑚𝑎𝑥 (𝑡)
(2.5.6)
𝑦𝑚𝑖𝑛 (𝑡) ≤ 𝑦(𝑡) ≤ 𝑦𝑚𝑎𝑥 (𝑡)
{ 𝑥𝑚𝑖𝑛 (𝑡) ≤ 𝑥(𝑡) ≤ 𝑥𝑚𝑎𝑥 (𝑡)

În cadrul unui regulator predictiv pot exista două tipuri de constrângeri:

 Constrângeri HARD – limitări impuse procesului ce nu pot fi depășite;


 Constrângeri SOFT – limitări impuse procesului ce pot fi depășite într-o anumită
măsură;

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

Figura 3.1.1 – Reprezentare a instalației fizice

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.

Hmax reprezintă înălțimea maximă a nivelului de lichid.

Sistemul este alimentat de 2 pompe cu debitele Q1, respectiv Q2. În momentul în


care se ajunge la H max, pompele se opresc.

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.

Datele sunt achiziționate de către traductoare bazați pe senzori piezo-rezistivi ce


măsoară diferențele de presiune în fiecare rezervor în parte.

Î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

Sistemul de comandă al echipamentului.

Figura 3.1.2 – Panoul frontal de comandă

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.

În modul Manual, se poate varia debitul pompelor cu ajutorul potențiometrului ce


are valoare minimă de 0%, corespondent pentru 0l/min, și o valoare maximă de 100%, ce
corespunde debitului de 6l/min.

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.

Interfața cu stația de lucru

Figura 3.1.3 – Bucla de comandă

Transmisia datelor de la traductoare la calculator se face prin intermediul unui


controller digital și a unor convertoare Analog-Numerice cu rezoluția de 12 biți.

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.

Pentru controlul pompelor sunt folosite 2 Convertoare Numeric-Analogice.

Programul software de control permite reglarea în mod decuplată a subsistemelor,


folosindu-se de regulatoare de tipul Proporțional – Integrative (PI). Totodată se poate
realiza controlul nivelului de lichid şi fără decuplare.

Semnalele de control şi componentele vectorului de stare (debite şi niveluri de


lichid) sunt stocate în RAM-ul microcalculatorului şi pot fi afișate ulterior într-un grafic.
24
Pentru a nu exista probleme de compatibilitate între semnale, se folosește un circuit
de adaptare al semnalelor. Tensiunea dată de traductoarele de nivel este adaptată la
maximă a Convertorului Analog Numeric, la fel cum tensiunea de control a motoarelor
de curent continuu ale pompelor este adaptată la rezoluția Convertorului Numeric
Analogic.

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.

Odată pornit executabilul va apărea fereastra de mai jos:

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”

Sub meniul File se găsesc funcții de încărcare date, de salvare și încărcare a


parametrilor de sistem. Totodată, există și posibilitatea de a printa datele direct din
aplicație.

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.

Save System Parameters are posibilitatea de a salva datele de calibrare ale


echipamentului și anume: coeficienții de scurgere din conductele de legătură,
caracteristicile pompelor si caracteristicile senzorilor. Această funcție este utilă în cazul
în care nu există fișierul DFAULT.CAL și este nevoie de crearea lui. Funcția este
dezactivată în cazul în care este activat un regulator.

Load System Parameter este o funcție care preia datele de calibrare al


echipamentului dintr-un fișier. Această funcție este dezactivată cât timp regulatorul
acţionează asupra sistemului.

Meniul „IO-Interface”

Acest meniu permite accesul la funcții care să manipuleze driverele PC pentru


placa de achiziție și adaptare.

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.

Figura 1 - Schema de principiu

Pentru determinarea modelului matematic s-au folosit cunoștințele dobândite la materia


Modelare şi Simulare, in care au fost prezentate noțiunile necesare obținerii unui sistem
liniarizat şi a funcției de transfer asociate acestuia.

Un prim pas în vederea realizării modelului este determinarea şi selectarea mărimilor de


proces importante. Astfel, se definesc:

 ai - coeficienți de curgere în conductele de conectare;


 ali - coeficienți de curgere în conductele de evacuare;
 hi - nivele de lichid;
 Qij - debitele pe conductele de conectare între rezervoare [m3/sec];
 Qlij - debitele pe conductele de simulare de spargeri [m3/sec];
 Q1, Q2 - debilele de intrare [m3/sec];
 A - aria secțiunii cilindrului [m2];
 Sl - aria secțiunii conductei de evacuare [m2];

27
 Sn - aria secțiunii conductelor de conectare [m2];

Se consideră ca i = 1, 2, 3 şi (i,j) = [(1,3); (3,2); (2;0)].

4.2 Realizarea modelului neliniar


Se propune următoarea ecuație de echilibru în care este descrisă suma tuturor debitelor
asociate celor 3 rezervoare:
𝑑ℎ
𝐴 = 𝑠𝑢𝑚 (4.2.1)
𝑑𝑡
, de unde obținem următorul sistem:

𝑑ℎ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ă:

𝑄 = 𝑎𝑆𝑛 𝑠𝑔𝑛(∆ℎ)(2𝑔|∆ℎ|)1/2 (4.2.3)


Unde:

 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ă;

Astfel, putem determina debitele din conductele de legătură dintre rezervoare:

𝑄13 = 𝑎1 𝑆𝑛 𝑠𝑔𝑛(ℎ1 − ℎ3 )√2𝑔|ℎ1 − ℎ3 |


{𝑄32 = 𝑎3 𝑆𝑛 𝑠𝑔𝑛(ℎ3 − ℎ2 )√2𝑔|ℎ3 − ℎ2 | (4.2.4)
𝑄20 = 𝑎2 𝑆𝑛 √2𝑔ℎ2

28
Şi debitele din conductele de scurgere în cazul simulării unei spargeri:

𝑄𝑙1 = 𝑎𝑙1 𝑆𝑛 √2𝑔ℎ1


{𝑄𝑙2 = 𝑎𝑙2 𝑆𝑛 √2𝑔ℎ2 (4.2.5)
𝑄𝑙3 = 𝑎𝑙3 𝑆𝑛 √2𝑔ℎ3

În acest mod, se pot defini vectorii de stare şi intrare pentru procesul studiat.

ℎ = (ℎ1 , ℎ2 , ℎ3 )𝑇
{ (4.2.6)
𝑄 = (𝑄1 , 𝑄2 )𝑇

Ecuația următoare se aplică în cazul în care nu avem spargeri pe niciunul dintre


rezervoare. Practic, se iau în considerare doar debitele dintre conductele de legătură ca mărimi
de proces.

1
𝐴(ℎ) = (−𝑄13 ; 𝑄32 − 𝑄20 ; 𝑄13 − 𝑄32 )𝑇 (4.2.7)
𝐴

Vectorul în care sunt evidențiate mărimile de ieșire ale procesului:

𝑦 = (ℎ1 , ℎ2 , ℎ3 )𝑇 (4.2.8)

Matricea de definiție:

1 1 0
𝐵= [0 1] (4.2.9)
𝐴 0 0

4.3 Simularea sistemului neliniar în Simulink


Pe baza ecuațiilor diferențiale de de mai jos se vor realiza subsisteme în Simulink care vor
simula evoluția debitului dintre cele două rezervoare în funcție de nivelurile de lichid:

𝑑ℎ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.

Pentru debitul 𝑄13 avem ecuaţia:

𝑄13 = 𝑎1 𝑆𝑛 √2𝑔(ℎ1𝑒 − ℎ3𝑒 ) (4.3.2)

cu sistemul:

Figura 4.3.1 – Sistem Q13

Pentru debitul 𝑄32 avem ecuaţia:

𝑄32 = 𝑎3 𝑆𝑛 √2𝑔(ℎ3𝑒 − ℎ2𝑒 ) (4.3.3)

cu sistemul:

Figura 4.3.2 – Sistem Q32

Pentru debitul 𝑄20 avem ecuaţia:

𝑄20 = 𝑎2 𝑆𝑛 √2𝑔ℎ2 (4.3.4)

cu sistemul:

Figura 4.3.3 – Sistem Q20

30
Pentru debitul 𝑄𝑙1 avem ecuaţia:

𝑄𝑙1 = 𝑎𝑙1 𝑆𝑛 √2𝑔ℎ1 (4.3.4)


cu sistemul:

Figura 4.3.4 – Sistem Ql1

Pentru debitul 𝑄𝑙2 avem ecuaţia:

𝑄𝑙2 = 𝑎𝑙2 𝑆𝑛 √2𝑔ℎ2 (4.3.4)


cu sistemul:

Figura 4.3.5 – Sistem Ql2

Pentru debitul 𝑄𝑙2 avem ecuaţia:

𝑄𝑙3 = 𝑎𝑙3 𝑆𝑛 √2𝑔ℎ3 (4.3.4)


cu sistemul:

Figura 4.3.6 – Sistem Ql3

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.

Un lucru de remarcat este faptul că am lăsat posibilitatea de a alege realizarea unei


simulări cu sau fără spargeri prin folosirea unor întrerupătoare simple. În acest mod, comutarea
31
către constanta 0 nu va altera în nici un fel comportarea sistemului, acesta având o evoluție
normală, cu mărimile de proces descrise mai sus. În cazul în care se dorește comutarea către
cealaltă variantă, în sistem se vor introduce respectivele funcții de transfer, ce pot fi privite ca
niște perturbații.

Figura 4.3.7 – Sistem Complet

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.

Figura 4.3.8 - Sistem final MIMO (2 intrări şi 3 ieşiri)

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;

În urma acestor valori s-a obținut următorul grafic:

33
Figura 4.3.9 – Grafic rezultat în urma simulării

Primul grafic este asociat primului rezervor.

Al doilea grafic este asociat rezervorului 3.

Ultimul grafic este asociat rezervorului 2.

Se poate observa ca in aproximativ 2000 de secunde, se atinge un punct de echilibru in


jurul valorii de 35cm pentru primul rezervor.

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.

4.4 Liniarizarea modelului

Liniarizarea modelului se face în jurul unor puncte de echilibru calculate prin


intermediul relațiilor (4.3.1) şi (4.2.5).

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𝑔

Folosind ecuațiile de mai sus se poate determina ca punctele de echilibru au următoarele


valori:

ℎ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

Liniarizarea modelului matematic se face pe baza următoarelor ecuații diferențiale:

𝑑ℎ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 𝑡 )

Pentru a elimina elementele neliniare, se va utiliza procedeul de centrare si liniarizare


in jurul unui punct static de funcționare.

36
𝑄1𝑒 (𝑡) = 𝑄1𝑒0 + ∆𝑄1𝑒 (𝑡)
𝑄2𝑒 (𝑡) = 𝑄2𝑒0 + ∆𝑄2𝑒 (𝑡)
ℎ1 (𝑡) = ℎ10 + ∆ℎ1 (𝑡) (4.4.6)
ℎ2 (𝑡) = ℎ20 + ∆ℎ2 (𝑡)
{ ℎ3 (𝑡) = ℎ30 + ∆ℎ3 (𝑡)

Liniarizare Taylor pentru funcții multivariabile:

𝑄13 (𝑡) = 𝑎1 𝑆𝑛 √2𝑔(ℎ1 (𝑡) − ℎ3 (𝑡)) (4.4.7)


𝜕𝑄13 𝜕𝑄 (4.4.8)
𝑄13 (𝑡) = 𝑄130 + | (ℎ1 (𝑡) − ℎ1𝑒 ) + 13 | (ℎ3 (𝑡) − ℎ3𝑒 )
𝜕ℎ1 ℎ1𝑒,ℎ3𝑒 𝜕ℎ3 ℎ
1𝑒 ,ℎ3𝑒

𝜕𝑄13 𝜕(𝑎1 𝑆𝑛 √2𝑔(ℎ1 (𝑡) − ℎ3 (𝑡))) 1 2𝑔


| = | = 𝑎1 𝑆𝑛 √ ∆ℎ (4.4.9)
𝜕ℎ1 ℎ1𝑒,ℎ3𝑒 𝜕ℎ1 2 ℎ1𝑒 − ℎ3𝑒 1
ℎ1𝑒 ,ℎ3𝑒

𝜕𝑄13 𝜕(𝑎1 𝑆𝑛 √2𝑔(ℎ1 (𝑡) − ℎ3 (𝑡))) 1 2𝑔


| = | = 𝑎1 𝑆𝑛 √ ∆ℎ (4.4.10)
𝜕ℎ3 ℎ 𝜕ℎ1 2 ℎ1𝑒 − ℎ3𝑒 3
1𝑒 ,ℎ3𝑒 ℎ1𝑒 ,ℎ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𝑒

Pentru debitul 𝑄32 se procedează în mod similar.

𝑄32 (𝑡) = 𝑎3 𝑆𝑛 √2𝑔(ℎ3 (𝑡) − ℎ2 (𝑡)) (4.4.12)


𝜕𝑄32 𝜕𝑄
𝑄32 (𝑡) = 𝑄320 + | (ℎ3 (𝑡) − ℎ3𝑒 ) + 32 | (ℎ (𝑡) − ℎ2𝑒 ) (4.4.13)
𝜕ℎ3 ℎ ,ℎ 𝜕ℎ2 ℎ2,ℎ2𝑒 2
3 3𝑒

𝜕𝑄32 𝜕(𝑎3 𝑆𝑛 √2𝑔(ℎ3 (𝑡) − ℎ2 (𝑡))) 1 2𝑔


| = | = 𝑎3 𝑆𝑛 √ ∆ℎ (4.4.14)
𝜕ℎ3 ℎ 𝜕ℎ3 2 ℎ3𝑒 − ℎ2𝑒 3
1𝑒 ,ℎ3𝑒 ℎ3𝑒 ,ℎ2𝑒

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𝑒

Se procedează în mod similar pentru debitul 𝑄20 :

𝑄20 (𝑡) = 𝑎2 𝑆𝑛 √2𝑔ℎ2 (𝑡) (4.4.17)


𝜕𝑄20
𝑄20 (𝑡) = 𝑄200 + | (ℎ (𝑡) − ℎ2𝑒 ) (4.4.18)
𝜕ℎ2 ℎ2ℎ2𝑒 2

𝜕𝑄20 𝜕(𝑎3 𝑆𝑛 √2𝑔(𝑡)) 1 2𝑔


| = | = 𝑎2 𝑆𝑛 √ ∆ℎ (4.4.19)
𝜕ℎ2 ℎ2,ℎ2𝑒 𝜕ℎ2 ℎ
2 ℎ2𝑒 2
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

Sistemul de ecuații diferențiale pentru cele trei rezervoare:

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𝑒

Reprezentare în spațiu stărilor:

ℎ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

Pentru simplificarea calculelor ulterioare, voi folosi următoare aproximație:

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.

Se alege o structură de reglare cu un sigur grad de libertate, sub următoarea formă:

Figura 5.1.1 – SRA cu un singur grad de libertate

Conform metodei Poli-Zerouri, se calculează parametrii regulatorului în funcție de


funcția de transfer în buclă închisă, impunând anumite criterii de performanta precum eroare
staționară şi timpul tranzitoriu.

Pentru ca eroarea staționară sa fie 0, se impune ca factorul de amplificarea l sistemului


să fie 1.

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

Odată ce am calculat funcția de transfer în buclă închisă, se poate determina funcția


de transfer pe cale directă folosind formula:

𝐻0 (𝑠)
𝐻𝑑 = (5.1.5)
1 − 𝐻0 (𝑠)

Astfel, funcția de transfer pe cale directă este:

1
𝐻𝑑 = (5.1.6)
12,5𝑠

De aici, putem determina funcția de transfer a regulatorului folosind relația:

𝐻𝑑 = 𝐻𝑟 ∙ 𝐻𝑝 (5.1.7)
1
⇒ 𝐻𝑟 = 𝐻𝑑 (5.1.8)
𝐻𝑝

Funcția de transfer a regulatorului este:

𝑠 + 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.

5.1.2 Simularea în Matlab\Simulink


Pentru simularea în Simulink am folosit următoarea schemă:

Figura 5.1.2 – SRA implementată în Simulink

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.

Blocul „PID Controller” este folosit pentru a introduce valorile constantelor


calculate mai sus:

43
Figura 5.1.3 – Fereastră bloc PID Simulink

Folosind această structură de reglare şi valorile calculate, s-au obținut următoarele


rezultate:

Figura 5.1.4 – Graficele obţinute în urma simulării

44
Primul grafic reprezintă evoluția nivelului din Rezervorul 1.

Al doilea grafic reprezintă evoluția nivelului din Rezervorul 2.

Al treilea grafic reprezintă evoluția nivelului din Rezervorul 3.

5.1.3 Aflarea performanțelor


Performanțele sistemului se determină din analiza graficului de mai sus. În acest
mod, se pot spune despre sistem următoarele:

 𝜀𝑠𝑡 = 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ă.

În acest caz, putem considera un suprareglaj în limite acceptabile.

Prin încercări repetate, noile constate au devenit:

 𝐾̃𝑟 = 0,001;
 𝑇̃𝑖 = 0,01;

Refăcând simularea cu aceste noi valori, vom obține:

45
Figura 5.1.5 – Graficele obținute în urma ajustării parametrilor

Noile performanțe ale sistemului sunt:

 𝜀𝑠𝑡 = 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.

5.1.4 Implementarea structurii pe instalația reală


Structura de reglare pe instalația reală are o formă identică cu cea din simulare.
Astfel, s-au obținut următoarele grafice:

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.

Cu toate acestea, putem deduce două lucruri:

 Modelul simulat aproximează foarte bine realitatea;


 Regulatorul calculat asigură cerinţele impuse atât în simulare, cât şi în realitate.

În capitolele următoare se vor studia metode mai avansate de reglare cu scopul de


a obţine rezultate mai bune şi se va realiza o comparaţie între metodele avansate şi cele
convenţionale.

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:

- Alegerea variabilelor de intrare și al universului de discurs asociat acestora;


- Determinarea unei baze de reguli;
- Alegerea ieșirii și al universului de discurs asociat acesteia;

Toate acestea s-au realizat prin utilizarea comenzii „fuzzy” din Matlab.

Ca variabile de intrare s-au ales eroarea, 𝜀, şi variaţia erorii, ∆𝜀, cu următoarele


universuri de discurs:

 𝜀𝜖[−0,6; 0,6];
 ∆𝜀𝜖 [−1; 1];

Ieșirea sistemului s-a ales în intervalul [−1; 1].

S-a folosit următoarea convenție pentru variabilele lingvistice:

 NB – valoarea negativă mare;


 NM – valoarea negativă medie;
 NS – valoarea negativă mică;
 Z – valoare nulă;
 PS – valoare pozitivă mică;
 PM – valoare pozitivă medie;
 PB – valoare pozitivă mare;

Baza de reguli s-a determinat în funcție de următorul tabel:

𝜀
∆𝜀 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:

Figura 5.2.1 – Ferestrele pentru intrări, ieşiri şi reguli

5.2.2 Simularea în Matlab\Simulink


În simulink s-a realizat următoarea structură de reglare:

Figura 5.2.2 – SRA Fuzzy implementat în simulink

49
În acest fel, s-au obținut următoarele rezultate:

Figura 5.2.3 – Graficele obţinute în urma simulării SRA Fuzzy

5.2.3 Aflarea performanțelor


La o primă analiză a graficului se poate observa că acesta are caracterul unui
regulator de tip P, însă eroarea staționară este foarte mică, apropare neglijabilă. În acest
mod, determinăm:

 𝜀𝑠𝑡 ≅ 0;
 𝜎 = 0%;
 𝑡𝑡 ≅ 80𝑠;
 Proces fără timp mort;

Un aspect important este faptul că regimul tranzitoriu are o caracteristică liniară,


lucru ce nu va pune stres asupra elementelor de execuție.

50
5.2.4 Implementarea structurii pe instalaţia reală
Pe instalația reală s-a implementat următoarea structură de reglare:

Figura 5.2.4 – SRA Fuzzy implementat pe instalatia reală

Aceasta respectă întocmai structura din simulare, singurele diferențe fiind date de:

 Blocul „Gain” care transformă comanda dată de regulator în unități procentuale;


 Blocul „Gain1” care convertește cm în m;
 Blocul „Display” pentru a vedea comanda în timp real;
 Blocul „Q1_mas1” folosit pentru a salva valorile comenzii într-o variabilă Matlab;
 Blocul „h1_mas” folosit pentru a salva valorile nivelului primului rezervor;

În urma simulării pe instalația reală s-au obținut următoarele rezultate:

51
Figura 5.2.5 – Graficele obţiunte în urma masurării ieşirilor strucutrii Fuzzy

În acest grafic, nivelurile h1, h2 şi h3 sunt reprezentate de caracteristicile galben,


magenta, respectiv albastru.

Se observă că:

 𝜀𝑠𝑡 < 1%;


 𝜎 = 0;
 𝑡𝑡 ≅ 90𝑠;
 Proces este fără timp mort;

Astfel, putem concluziona că răspunsul algoritmului simulat este foarte similar cu


cel experimental. Totodată, se observă că algoritmul Fuzzy are un timp de creștere mult
mai mic decât în cazul algoritmului PI şi o stabilitate foarte bună atât în regimul
tranzitoriu, cât şi în cel staționar.

Se remarcă faptul că din punct de vedere al conceperii, procesul este mult


simplificat fată de cazul regulatorului PI, iar rezultatele sunt mult mai bune, lucru ce
demonstrează eficacitatea implementării logicii Fuzzy.

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ă.

În acest mod, am putut simula funcționarea completă a sistemului MIMO.

Reprezentarea în spațiul stărilor ia în calcul utilizarea ambelor pompe, debitele


celor două fiind considerate intrări, iar că ieșiri s-au ales nivelurile celor trei rezervoare.

Astfel, folosind matricele din relația (4.4.26) am realizat următoarea structură de


reglare în Simulink:

Figura 5.3.1 – SRA MPC

Conform acestei structuri se poate observa că regulatorul MPC permite setarea


foarte facilă a unei referințe pentru fiecare nivel în parte, lucru ce ar fi fost mult mai
complicat în cazul regulatoarelor PI sau Fuzzy. Putem deduce în acest mod că reglarea
unui sistem MIMO devine mult mai simplă în cazul unei structuri bazată pe predicție de
model.

53
Pentru implementarea algoritmului s-au ales:

 2 variabile de intrare;
 3 variabile de ieşire;
 O variabilă perturbatoare;
 Timp de eșantionare 1;

Figura 5.3.2 – Fereastră pentru alegerea numarului de


variabile asociate modelului

Pe baza modelului furnizat, algoritmul încearcă să realizeze o nouă reprezentare în


spațiu stărilor pentru modelul liniarizat:

Figura 5.3.3 – Modelul realizat de aplicaţia MPC din Simulink

Se poate observa că matricele de stare generate sunt identice cu cele calculate prin
intermediul codului furnizat în anexă.

Mai jos se vor stabili constrângerile impuse variabilelor de intrare și ieșire.

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.

În meniul „Scenario” se poate simula regulatorul proiectat.

Figura 5.3.5 – Stabilirea unui scenariu de test

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

În Simulink prin testarea acelorași condiții s-au obținut următoarele rezultate:

Figura 5.3.7 – Graficele ieșirilor obținute în urma simulării

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.

Cu acest timp de regulator, pentru ieșirea „h1” avem următoarele caracteristici:

 𝜀𝑠𝑡 << 1%;


 𝜎 = 0;
 𝑡𝑡 ≅ 70𝑠;
 Proces este fără timp mort;

Pentru ieșirea „h2” obținem următoarele performante:

 𝜀𝑠𝑡 << 1%;


 𝜎 = 0;
 𝑡𝑡 ≅ 150𝑠;
 Proces este fără timp mort;

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.

În acest fel s-a demonstrat că algoritmul MPC reușește să genereze un răspuns


indicial foarte bun, cu un timp tranzitoriu mic şi eroare staționară foarte apropiată de 0.

Implementarea structurii de reglare pe instalația reală

Ca urmare a limitărilor echipamentului didactic, limitări impuse de interfața de


conversie şi achiziție, implementarea pe instalația reală nu a fost posibilă.

Cu toate acestea, rezultatele obținute în urma simulării se pot lua în considerare


întrucât validarea modelului s-a dovedit a fi una de succes. În același timp, s-a observat
că simularea celorlalte structuri de reglare a aproximat foarte bine performanțele
regulatoarelor aplicate pe echipamentul didactic.

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:

Figura 6.1 – Schemă simulink pentru reprezentarea rezultatelor în același grafic

Figura 6.2 – Conținutul Subsistemului

58
În acest mod, am putut să compar rezultatele celor 3 regulatoare sub un singur
grafic.

Figura 6.3 – Graficul obținut în urma simulării

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.

Ambele obțin un timp tranzitoriu de aproximativ 80 secunde şi asigură eroare


staționară nulă sau foarte mică.

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ă.

Aici a intervenit scopul algoritmului Fuzzy. Cu informații minime despre sistem,


s-a realizat o structură de reglare funcțională, ce a obținut performante minime. În același
timp, se remarcă faptul că un algoritm Fuzzy poate fi adapta într-o măsură mai mare sau
mai mică pentru o gamă largă de sisteme, pe când PI şi MPC se pot aplica doar în cazul
sistemului studiat.

Am realizat următorul tabel pentru a compara mai bine rezultatele obținute:

PI FUZZY MPC

𝜀𝑠𝑡 0 >1% >1%

𝜎 9,6% 0% 0%

𝑡𝑡 220s 90s 90s

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.

Acest tip de algoritm nu a necesitat conceperea unui model matematic, lucru ce a


simplificat foarte mult modul de calcul, singurele informații necesare fiind nivelul maxim
al rezervoarelor şi debitul maxim al pompei. În jurul acestor valori s-a generat un algoritm
lingvistic ce a generat comanda automat în funcție de intrări.

Desigur, un algoritm PI poate fi mai ușor de implementat în realitate, însă acest


lucru nu mai constituie un impediment din moment ce tendințele în industrie sunt de a
folosi echipamente inteligente chiar şi la nivelul traductoarelor şi elementelor de execuție.

O altă abordare interesantă s-a dovedit a fi în cazul algoritmului MPC. Rezultatele


au fost foarte bune, acesta fiind singurul care a putut trata cazul MIMO într-un mod foarte
ușor. Cu toate acestea, este nevoie de cunoștințe foarte bune pentru a înțelege modul de
funcționare al acestui tip de algoritm. În această lucrare nu am realizat un calcul complet
pentru un algoritm MPC, ci am demonstrat principiile de funcționare și modul în care se
poate aplica pe un sistem real.

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

[3] C. Lupu, M. Alexandru, C. Petrescu, M. Mateescu, D. Popescu – Sisteme de


Conducere a Proceselor Industriale, ed. Printech, Bucureşti 2004

[4] Sergiu Stelian Iliescu, Ioana Făgărăşan, Dan Pupăză - Analiza de sistem în
informatica industrială, Ed. Agir, Bcucureşti 2006

[5] Janetta Culiţă – Curs Modelare şi simulare, Automatică şi Calculatoare, An 3,


2014

[6] Manual de utilizare a instalaţiei Elwe AMIRA DTS 200

[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

[10] Maruthai Suresh, Gunna Jeersamy Srinivasan, Ranganathan Rani Hemamalini -


ntegrated Fuzzy Logic Based Intelligent Control of Three Tank System, SERBIAN
JOURNAL OF ELECTRICAL ENGINEERING Vol. 6, No. 1, 2009

[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

[15] http://www.emba.uvm.edu/~gmirchan/classes/EE295/Software/ch8.pdf, accesat


2015
63
[16] http://cdn.intechopen.com/pdfs-wm/40950.pdf, accesat 2015

[17] http://www.cds.caltech.edu/~murray/courses/cds101/fa04/caltech/am04_ch2-
3oct04.pdf, accesat 2015

[18] http://uni-obuda.hu/e-bulletin/BorbelyE_1.pdf, accesat 2016

[19] http://www.scientificbulletin.upb.ro/rev_docs_arhiva/full49485.pdf, accesat 2016

[20] http://web.mit.edu/2.14/www/Handouts/StateSpace.pdf, accesat 2016

[21] http://revue.elth.pub.ro/upload/15104010_DChirita_pp_437-446.pdf, accesat 2016

[22] http://www.seas.upenn.edu/~ese680/papers/IntroductionMPC.pdf, accesat 2016

[23] http://cepac.cheme.cmu.edu/pasilectures/lee/LecturenoteonMPC-JHL.pdf, accesat


2016

[24] http://jbrwww.che.wisc.edu/home/jbraw/mpc/electronic-book.pdf, accesat 2016

[25] http://www.mathworks.com/help/mpc/gs/designing-a-model-predictive-controller-
for-a-simulink-plant.html, accesat 2016

[26] http://www.mathworks.com/help/mpc/ref/mpccontroller.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;

g = 9.81; %accelera?ie garvita?ional?


Sn = 0.00005;
S = 0.0154; %Aria rezervorului

Q1e = 4e-5;
Q2e = 0;
%==========================================================================

%============Calculare puncte de echilibru:================================


h2e = (((Q1e)/(a2*Sn))^2)/(2*g);
h3e = h2e + (((Q1e)/(a3*Sn))^2)/(2*g);
h1e = h3e + (((Q1e)/(a1*Sn))^2)/(2*g);

[h1e h2e h3e]


%==========================================================================

%============Calculare matrici de stare:===================================


x1 = a1*Sn*0.5*sqrt(2*g/(h1e));
x2 = a2*Sn*0.5*sqrt(2*g/h2e);
x3 = a3*Sn*0.5*sqrt(2*g/(h3e-h2e));

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;

g = 9.81; %accelera?ie garvita?ional?


Sn = 0.00005;
S = 0.0154; %Aria rezervorului

Q1e = 4e-5;
Q2e = 0;
%=================================

%============Calculare puncte de echilibru:=============


h2e = (((Q1e+Q2e)/(a2*Sn))^2)/(2*g);
h3e = h2e + (((Q1e)/(a3*Sn))^2)/(2*g);
h1e = h3e + (((Q1e)/(a1*Sn))^2)/(2*g);

[h1e h2e h3e]


%======================================================

%============Calculare matrici de stare:=============


x1 = a1*Sn*0.5*sqrt(2*g/(h1e-h3e));
x2 = a2*Sn*0.5*sqrt(2*g/h2e);
x3 = a3*Sn*0.5*sqrt(2*g/(h3e-h2e));

A(1,1) = -x1; A(1,2) = 0; A(1,3) = -A(1,1);


A(2,1) = 0; A(2,2) = -x3 - x2; A(2,3) = x3;
A(3,1) = A(1,3); A(3,2) = x3; A(3,3) = A(1,1) - A(2,3);

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:

Rezervoare, pompe si senzori


Cote şi masă Valoare Unitate
Lungime 1300 mm
Lăţime 360 mm
Înâltime 880 mm
Masă 40 kg

Rezervor Valoare Unitate


Lungime 1210 mm
Lăţime 360 mm
Înâltime 150 mm
Capacitate 55 l

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

Valve – aria secţiunii Valoare Unitate


Coducte de legătură 0.5 cm2
Debit Nominal 0.5 cm2
Deschidere scurgeri 0.5 cm2

Pompe cu motor de Valoare Unitate


curent continuu
Tensiune nominală 12 V
Curent nominal 1,4 A
Curent maxim 4,5 A
Debit maxim 7 l/min
Presiune 1,4 bar
Masă 1,5 kg
Lungime 210 mm
Lăţime 128 mm
Înâlţime 115 mm

Senzori – principii de Valoare Unitate


măsurare
Intervaul presiunii 0…0.1 bar
Tensiune alimentare 12…30 V
Semnal de iesire nominal 4…20 mA
Sarcină maximă 37,5*(Ub-12) Ohm
admisibilă
Curent maxim consumat 23 A
Caracteristică Liniara -
Deviaţie de la liniaritate <0.5 %
Repetabilitate şî histerezis <0.02 %
Timp de răspuns (63%) 5 ms

68
Intrări Valoare Unitate
Tensiune de alimentare 0…+12 V
pentru pompe
Tensiune de alimentare 18 V
pentru senzori

Ieşiri – niveluri de lichid Valoare Unitate


Intervalul curentului 4…14 mA
Intervaul înălţimii 0…63 cm
Rezoluţie 0,16 mA/cm

Dispozitiv de comandă
Cote şi masă Valoare Unitate
Lungime 360 mm
Lăţime 310 mm
Înâltime 147 mm
Masă 7.5 kg

Intrare Valoare Unitate


Tensiune de alimentare 230 V~
Frecvenţă 50/60 Hz
Putere 150 W
Siguranţă primară 1.6 AM

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

Ieşiri Valoare Unitate


Tensiune de alimentare a +15 V
pompelor
Curent nonimal 1,6 A
69
Curent maxim 4,5 A
Protecţie la supraplin Semnal TTL -
0 = supraplin
1 = nu este supraplin
Schimbarea poziţiei Semnal TTL -
0 = Automat
1 = Manual

POWER

Sursa de alimentare Valoare Unitate


Tensiune de alimentare 230 V~
Siguranţă primară dublă 100 mA T
Frecvenţă 50/60 Hz
Semnale de control 0…+10 V

Unităţi de adaptare a Valoare Unitate


semnalelor de intrare
3 semnale pentru senzori 1,1 … 3,8 V
la 274Ohm
2 semnale de control -10 … +10 V
Semnal de control TTL 0 …+5 V

Unităţi de adaptare a Valoare Unitate


semnalelor de ieşire
3 niveluri de lichid
- intervalul tensiunii +10 … -10 V
- intervalul nivelului 0 … 70 cm
- rezoluţie 0.286 V/cm
2 semnale de control 0 … +10 V
pentru servomotoare

Modulul POWER SERVO


Sursa de alimentare Valoare Unitate
Tensiune de alimentare 230 V~
Siguranţa primară 630 mA T
Frecvenţă 50/60 Hz
Tensiune de ieşire 2*15 V~
Curent nominal 2*2,6 A

70

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