Lista de figuri și tabele 7 [306206]
Cuprins
Lista de figuri și tabele 7
Lista de acronime și notații 11
1. INTRODUCERE 13
1.1. Actualitatea și oportunitatea temei 13
1.2. Stadiul tratării temei în literatura de specialitate 14
1.2.1. Realizări ale modelului matematic în literatura de specialitate 14
1.2.2. Moduri de realizare a controlului în literatura de specialitate 14
1.2.3. Variante de implementare hardware în literatura de specialitate 15
1.2.4. Laboratoare virtuale 15
1.3. Problema propusă spre rezolvare 15
1.4. Obiectivele proiectului 16
1.5. Structura lucrării 16
2. ASPECTE TEORETICE 19
2.1. [anonimizat] 19
2.2. Noțiuni generale de teoria sistemelor 19
2.3. Reglarea în spațiul stărilor 25
2.4. Reglarea cu regulatoare PID 26
2.5. Reglarea cu regulatoare fuzzy 28
3. MODELUL MATEMATIC 31
4. STRUCTURILE DE REGLARE 37
4.1. Reglarea în spațiul stărilor în bucla interioară și regulator PID în bucla exterioară 37
4.2. Reglarea cu regulator specific în bucla interioară și regulator PID în bucla exterioară 41
4.3. Reglarea cu regulator specific în bucla interioară și regulator fuzzy PI în bucla exterioară 44
5. SIMULAREA SISTEMULUI 47
5.1. Interfața de comunicare cu utilizatorul 47
5.2. Structurile de reglare 52
5.2.1. Reglare în spațiul stărilor și regulator PID în bucla exterioară 52
5.2.2. Reglare cu regulator PID în bucla exterioară 55
5.2.3. Reglare cu regulator fuzzy PI în bucla exterioară 56
5.3. Suportului virtual VRML 60
5.4. Rezultatele obținute 61
6. REALIZAREA HARDWARE 65
6.1. Alegerea componentelor 65
6.2. Interfața de comunicare cu utilizatorul 68
6.3. Structura sistemului 69
6.4. Rezultatele obținute 71
7. CONCLUZII 73
7.1. Rezultate finale 73
7.2. Contribuții personale 74
7.3. Direcții viitoare 75
8. BIBLIOGRAFIE 77
Anexa A. Performanțele sistemului în spațiul stărilor în funcție de valorile polilor 79
Anexa B. Codul sursă 83
Anexa C. Exemplu al unui fișier de tip ErrorLog pentru păstrarea mesajelor de la interfață 107
Anexa D. Rezultatele simulărilor 109
Rezumat 119
Abstract 120
LISTA DE FIGURI ȘI TABELE
LISTA DE ACRONIME ȘI NOTAȚII
Introducere
ACTUALITATEA ȘI OPORTUNITATEA TEMEI
Structura de control de tip „echilibrul unei bile pe o platformă mobilă” este o problemă des dezbătută în domeniul reglării automate și a [anonimizat] o problemă de actualitate în învățarea controlului și echilibrarea unor obiecte. Publicații amănunțite pe această temă au apărut la începutul anilor 2000 și tema a devenit din ce în ce mai discutată în ultimii ani. Acest tip de sistem este utilizat cu precădere în domeniul academic datorită celor două probleme pe care el le impune. El este utilizat în laboratorul de reglare automată (de exemplu: Ingineria Reglării Automate), [anonimizat]-[anonimizat]. [anonimizat] o [anonimizat]. Acest tip de proiect este util în demostrarea utilității suportului matematic ([anonimizat].) în realizarea suportului fizic. [anonimizat], [anonimizat], [anonimizat], electronică, ceea ce reprezintă o oportunitate de lucru interdisciplinar.
Sistemul are o importanță deosebită și este din ce în ce mai utilizat în laborator, dar de această dată, ca echipament suport. Standuri de laborator bazate pe menținerea în echilibru a echipamentelor costisitoare sunt din ce în ce mai căutate. De asemenea, această tehnologie este folosită în zonele des afectate de mișcările tectonice pentru minimizarea efectelor cutremurelor.
STADIUL TRATĂRII TEMEI ÎN LITERATURA DE SPECIALITATE
Teme legate de controlul echilibrului sunt des alese ca subiect de cercetare în literatura de specialitate. Există variante diverse pentru rezolvarea acestei probleme. Problema a fost implementată atât ca laborator virtual, cât și ca implementare fizică. Pentru realizarea modelului matematic se poate utiliza atât ecuația Euler-Lagrange, cât și legile lui Newton. Din punct de vedere al sistemului de reglare sunt prezente implementări cu regulator PID, ai cărui paramentrii sunt calculați prin diverse metode, implementări cu două regulatoare PD, implementări cu reglare fuzzy, implementări prin reglare sliding mode.
Din punct de vedere fizic, în literatura de specialitate există implementări cu 2, 3, 4, 6 grade de libertate, dar cea mai des întâlnită variantă este cea cu 2 grade de libertate. Pentru determinarea poziției bilei pe platformă sunt folosite ecrane touchscreen rezistive, potențiometre 2D, camere video atașate deasupra platformei,senzori cu infraroșu etc. Pentru realizarea implementării virtuale sunt des întâlnite reprezentările 3D cu ajutorul Virtual Reality Modeling Language (VRML) sau Easy Java Simulations (EJS).
Realizări ale modelului matematic în literatura de specialitate
Cele mai utilizate metode pentru determinarea modelului matematic al unui sistem de tip „ball on plate” sunt ecuația Euler-Lagrange și legile lui Newton. Ele sunt folosite în literatura de specialitate, fie separat, fie împreună, realizându-se modelul matematic cu una dintre metode și, apoi, folosindu-se cealaltă metodă pentru verificare.
Pentru realizarea modelului matematic al sistemului, mărimile folosite sunt cele implicate în mișcarea plăcii, mărimile de acțiune-reacțiune între platformă și bilă, mișcarea motoarelor. În funcție de complexitatea dorită, se pot avea în vedere mai multe sau mai puține dintre aceste mărimi. Mărimile care nu sunt luate în considerare sunt fie aproximate, fie neglijate. Indiferent de metoda aleasă, după aflarea modelului matematic preliminar, se va face o liniarizare a acestuia.
Folosirea metodei prin ecuația Euler-Lagrange [1, 2, 3, 5, 6, 7] implică cunoștințe în domeniul derivatelor, al derivatelor parțiale, al determinării energiei cinetice și potențiale pentru bilă, platformă, dar și pentru sistem ca întreg. Pentru determinarea corespondenței între unghiul motorului care acționează placa pe o anumită axă și unghiul de înclinare al plăcii pe axa respectivă se fac aproximări mai mult sau mai puțin exacte, acest lucru depinzând de domeniul în care se face cercetare sistemului, spre exemplu dacă cercetarea se axează în principal pe componenta mecatronică a sistemului [1] sau pe cea de control [2, 4, 7]. De asemenea, neglijarea forței de frecare dintre bilă și platformă, faptul că bila rămâne întotdeauna în contact cu platforma, omogenitatea componentelor variază, în literatura de specialitate, tot în funcție de domeniile pe care se bazează cercetarea.
Folosirea legilor lui Newton [4] ca suport pentru modelul matematic implică cunoștințe mai amănunțite de fizică, implicând forțele care acționează asupra bilei, a platformei, dar și a întregului sistem. Prin asocierea acestora cu noțiunea de echilibru al forțelor se va ajunge la o ecuație denumită modelul matematic al sistemului.
Moduri de realizare a controlului în literatura de specialitate
Exită o multitudine de metode de control al unui sistem nelinar. După etapa de determinare a
modelui matematic, funcției de transfer asociată i se atribuie o componentă de control corespunzătoare. Practic, controlul sistemului se poate realiza prin orice metodă cunoscută. Astfel se pot folosi sisteme adaptive, robuste, control clasic cu ajutorul regulatoarelor PID [1, 3], PD [6] sau reglare fuzzy [5]. Pentru determinarea regulatoarelor se pot folosi atât metode de calcul, cât și metode experimentale [4].
Variante de implementare hardware în literatura de specialitate
Variantele de implementare sunt diverse și depind de complexitatea mecatronică și de design dorită. În primul rând, mișcarea platformei este dată de 2 motoare; acestea pot fi motoare de curent continuu [1, 6] sau servomotoare [3, 4], care sunt conectate prin intermediul unor legături rigide de suportul platformei. În al doilea rând, platforma poate fi un ecran touchscreen [1, 3, 4], de obicei, de tip rezistiv, sau din orice tip de material care să permite o alunecare corespunzătoare a bilei, dar în acest caz este nevoie și de o cameră video pentru preluarea imaginii care să permită determinarea poziției bilei [6]. Pentru acest tip de implementare este necesară însușirea unor cunoștințe de procesare de imagine, ceea ce complică cercetarea în domeniu datorită faptului că necesită cunoștințe mai aprofundate, suportul hardware trebuie să permită folosirea acestui tip de implementare și să ofere rezultate concludente, iar costurile devin automat mai mari. În ultimul rând, legătura dintre componentele hardware și componentele software este făcută cu ajutorul placuțelor de dezvoltare (Arduino bazat pe microcontrolere ATmega [3], FPGA-uri [6] etc.).
Acestea reprezintă principalele metode de implementare hardware utilizate în literatura de specialitate, ele putând fi diversificate și/sau combinate în funcție de posibilitatățile de implementare ale utilizatorului, costurile asumate, necesitatea de a pune în evidență performanțele unui mod de implementare față de celălalt ș.a.m.d.
Laboratoare virtuale
Recent au fost introduse, în locul sau în completarea implementării hardware, și implementări software cu componente reprezentate în spațiul virtual. Se pot folosi tool-uri precum VRML [5] sau EJS [7]. În aceste spații virtuale sunt construite obiectele principale ale sistemului „ball on plate”, precum platforma, punctul de sprijin, axele sistemului cartezian folosit, bila. Componentele sunt mișcate în timp real simulând procesul propriu-zis și, în general, comunică cu o interfață software cu ajutorul căreia se pot vizualiza grafice asociate mișcării, se pot modifica parametrii sistemului (poziția bilei, punctul de echilibru, tipul de mișcare etc.) sau parametrii de control (parametrii regulatorului, tipul regulatorului ș.a.).
PROBLEMA PROPUSĂ SPRE REZOLVARE
Sistemul de tip „bilă în echilibru pe o platformă mobilă” („ball on/and plate balancing system”) este un sistem mecatronic folosit pentru studiul regimului dinamic al sistemului și pentru efectuarea unor experimente de laborator privind utilizarea diferitelor metode de reglare bazate pe teoriile clasice, respectiv moderne ale controlului. Sistemul menționat include o placă/ platformă cu două grade de libertate pe care se află o bilă ce se poate deplasa liber. Structura de comandă trebuie să asigure:
echilibrarea bilei pe o placă în orice punct al acesteia;
deplasarea bilei de la un punct la altul al placii și echilibrarea în noua poziție;
deplasarea bilei pe un traseu prestabilit (de exemplu: un cerc sau forma cifrei opt etc.).
OBIECTIVELE PROIECTULUI
Scopul proiectului este realizarea unui sistem funcțional care să asigure o echilibrare a bilei cu o precizie cât mai mare, prin realizarea unui control cât mai exact al sistemului. Sistemul trebuie să urmarească toate obiectivele propuse și să fie capabil să răspundă în conformitate cu cerințele utilizatorului.
Obiectivele proiectului sunt:
Să se realizeze modelul dinamic al procesului.
Să se proiecteze algoritmul de comandă pentru controlul procesului.
Să se asigure echilibrarea bilei într-un punct al platformei.
Să se asigure deplasarea bilei între două puncte și pe un traseu prestabilit.
Să se realizeze reglarea eficientă a sistemului.
Să se realizeze simularea procesului.
Să se implementeze fizic proiectul, prin adăugarea structurii de comandă la componentele hardware necesare.
STRUCTURA LUCRĂRII
Structura proiectului cuprinde o listă de tabele și figuri, o listă de abrevieri și notații, bibliografia, un număr de patru anexe și șapte capitole. Primul capitol este cel introductiv.
Capitolul 2, denumit Aspecte teoretice, cuprinde o sinteză a tuturor noțiunilor teoretice necesare în determinarea modelului dinamic, a funcțiilor de transfer, a reprezentării în spațiul stărilor, a metodelor de reglare folosite. Acesta cuprinde, de asemenea, cinci subcapitole, după cum urmează: Ecuațiile Euler-Lagrange, cuprinzând noțiunile necesare pentru determinarea sistemului de ecuații de mișcare folosind energiile totale implicate în mișcarea sistemului, Noțiuni generale de teoria sistemelor reprezentând un subcapitol mai amplu în care se regăsesc noțiuni multiple de determinare a funcțiilor de transfer, de asigurare a stabilității sistemelor, scheme bloc specifice în automatică, sisteme de ordinul II și indicatori de calitate ai acestora, reprezentare în spațiul stărilor, determinarea controlabilității și observabilității acestui tip de reprezentare a sistemelor, Reglarea în spațiul stărilor asigurând o prezentare succintă a noțiunilor împlicare în acest tip de reglare, a metodei de calcul a vectorului K, Reglarea cu regulatoare PID, acest subcapitol cuprinzând forma generală a regulatoarelor PID, calculul parametrilor PID etc., Reglarea cu regulatoare fuzzy cuprinzând forma generală a regulatoarelor fuzzy, ce implică controlul fuzzy și ce reprezintă un regulator fuzzy de tip PI.
Capitolul 3, Modelul matematic, reprezintă modul de calcul al tuturor componentelor matematice ce stau la baza realizării proiectului, este realizat pe baza noțiunilor teoretice și are ca rezultat reprezentarea procesului care va fi, mai apoi, supus mai multor metode de control. Este, de fapt, componenta necesară și comună a oricărei metode de control.
Capitolul Structurile de reglare reprezintă cea mai importantă componentă a proiectului, aici se regăsesc toate metodele de control alese, valorile parametrilor care oferă cele mai bune rezultate, cu aceleași performațe impuse, pentru a facilita realizare unui comparații a celor trei metode de control alese. Acest capitol cuprinde trei subcapitole: Reglarea în spațiul stărilor în bucla interioară și regulator PID în bucla exterioară, realizând determinarea parametrilor necesari acestui tip de control pe baza reprezentării procesului în spațiul stărilor pentru bucla interioară a sistemului și, mai departe, calculul parametrii unui regulator PID exterior bazat pe parametrii calculați anterior, Reglarea cu regulator specific în bucla interioară și regulator PID în bucla exterioară, realizând determinarea unui regulator specific în bucla interioară și, pe baza acestuia, determinarea parametrilor PID necesari controlului cât mai precis și Reglarea cu regulator specific în bucla interioară și regulator fuzzy PI în bucla exterioară, realizând determinarea unui regulator specific intern și pașii necesari determinării unui regulator fuzzy de tip PI extern.
Capitolul 6, denumit Simularea sistemului, reprezintă una dintre cele două moduri de implementare a sistemului automat, cuprinzând modul în care se realizează comunicarea cu utilizatorul pentru ca acesta să poată testa diverse valori ale parametrilor în funcție de modul de control dorit, reprezentarea lumii virtuale, rezultatele obținute atât pentru valorile nominale, cât și pentru valori aleatorii ale parametrilor. Acest capitol conține patru subcapitole: Interfața de comunicare cu utilizatorul, reprezintând modul de realizare a conexiunii cu utilizatorul, care poate alege una dintre metodele de control, dar și dintr-o varietate de moduri de deplasare a bilei (deplasare dintr-un punct în altul, realizarea de forme circulare, dreprunghiulare, curbe lissajous) și poate vizualiza efectul modificărilor propuse asupra sistemului, Structurile de reglare, cuprinzând implementarea parametrilor nominali sau a celor introduși de utilizator în sistemul determinat de fiecare dintre metodele de reglare, Suportul virtual VRML, prezentând modul de realizare al lumii virtuale în VRML și cum a fost aceasta introduce în schemele de reglare existente și Rezultatele obținute, acest subcapitol reprezentând o concluzie a funcționalității implementării, a importanței acesteia, a gradului de necesitate a unei astfel de implementări în cadrul unei astfel de sistem.
Capitolul 7 poartă numele de Realizarea hardware. Acest capitol cuprinde cel de-al doilea mod de implementare, având la bază alegerea unor componente hardware utile cu ajutorul căruia să se poată realiza implementarea structurilor de control, de asemenea, cu implicarea utilizatorului. Ideile principale tratate în acest capitol se regăsesc în subcapitolele: Alegerea componenetelor, reprezentând o motivare a alegerii componentelor hardware, dar și o descriere a acestora și a performanțelor lor, Interfața de comunicare cu utilizatorul, cuprinzând facilitățile oferite utilizatorului de a interacționa cu sistemul și cu parametrii acestuia, Structurile de reglare, acest subcapitol prezentând modificările necesare reprezentărilor metodelor de control pentru a putea fi implementate pentru componentele hardware, calculele necesare discretizării sistemului și Rezultatele obținute, acest subcapitol reprezentând o concluzie a funcționalității implementării, a gradului de implementare, a performanțelor oferite.
Capitolul Concluzii cuprinde: Rezultate finale, ce reprezintă o concluzie a tuturor metodelor de control și, totodată, o comparație a performanțelor oferite atât în modul de implementare virtuală, cât și fizică, Contribuții personale, ce prezintă o analiză a performanțelor, a plus-urilor proiectului în raport cu literatura de specialitate și Direcții viitoare, acest subcapitol marcând modurile și metodele prin care sistemul poate fi îmbunătățit.
Aspecte teoretice
ECUAȚIILE EULER-LAGRANGE
Un sistem de ecuații de mișcare scris sub forma (2.1) poartă numele de ecuații Euler-Lagrange.
, (2.1)
unde L este lagrangianul definit conform relației (2.2), iar q aparține mulțimii coordonatelor generalizate.
Coordonatele generalizate depind de numărul de grade de libertate ale sistemului, notat N și de numărul constrângerilor independente, notat k. Astfel numărul coordonatelor va fi N-k, pentru fiecare dintre aceste coordonate q1, q2, …, qN-k aplicându-se relația (2.1).
, (2.2)
unde T reprezintă energia cinetică totală a sistemului, iar V reprezintă energia potențială totală a sistemului.
NOȚIUNI GENERALE DE TEORIA SISTEMELOR
„Un sistem este o entitate fizică care conține în interior un ansamblu de obiecte convenabil aranjate, interconectate funcțional și informațional, la care singurele legături cu exteriorul sunt mărimile de cauză (mărimile de intrare) și cele de efect (mărimile de ieșire).” [10]
Se poate spune despre un sistem că este definit de mărimile de intrare, mărimile de ieșire și structura S (vezi Fig. 2.1.). Structura S poate fi una complexă și poate conține mai multe obiecte de tip sistem, acestea se numesc subsisteme. Există două tipuri de sisteme: cu structură deschisă (vezi Fig. 2.2.) și cu structură închisă (vezi Fig. 2.3.). Sistemele cu structură deschisă au dezavantajul de a fi sensibile la acțiunea perturbațiilor. Sistemul cu structură închisă, comparativ cu cel cu structură deschisă, realizează desensibilizarea sistemului la acțiunea perturbațiilor.
Fig.2.1. Structura unui sistem.
Fig.2.2. Sistem cu structură deschisă.
Fig.2.3. Sistem cu structură închisă.
„Sistemul automat este sistemul la care ansamblul obiectelor/subsistemelor componente este constituit în scopul conducerii unui proces fizic sau tehnic fără intervenția operatorului uman. Sistemul automat este, de regulă, cu structură închisă.” [10]
Figura 2.4. reprezintă structura de bază a unui sistem automat, unde R reprezintă regulatorul (ce obține mărimea de comandă prin prelucrarea erorii), EE reprezintă elementul de execuție (ce transformă mărimea de comandă în mărimea de execuție, care acționează asupra procesului), P reprezintă procesul/ instalația tehnologică , T reprezintă traductorul (ce transformă mărimea de ieșire într-un semnal ce poate fi comparat cu referința). Mărimea de referință este notată cu r(t), eroarea este e(t), u(t) reprezintă mărimea de comandă, m(t) este mărimea de execuție, y(t) reprezintă mărimea de ieșire, iar yr(t) semnifică mărimea de reacție.
Fig.2.4. Schema-bloc a unui sistem automat.
Transformata Laplace reprezintă o metodă de calcul operațional care facilitează rezolvarea ecuațiilor diferențiale. Aplicând transformata Laplace unei ecuații diferențiale putem determina funcția de transfer. „Funcția de transfer a unui sistem reprezintă raportul dintre transformata Laplace a semnalului de ieșire și transformata Laplace a semnalului de intrare, în condiții inițiale nule.” [10] Funcția de transfer este, deci, un model matematic asociat unui proces/model fizic ce descrie comportarea dinamică a acestuia, dar care nu oferă informați despre componentele sistemului.
Conform figurii 2.4., traseul de la mărimea de referință la mărimea de ieșire se numește cale directă, iar traseul invers se numește cale de reacție, deci funcția de transfer a căii directe este produsul funcțiilor de transfer ce se găsesc între referință și ieșire.
, (2.3)
unde: este funcția de transfer a regulatorului, este funcția de tranfer a elementului de execuție, iar este funcția de transfer a procesului.
Funcția de transfer a căii de reacție se notează astfel:
, (2.4)
unde: este funcția de transfer a traductorului.
Funcția de transfer echivalentă a unui sistem este:
, (2.5)
unde se numește circuit deschis/ buclă deschisă și reprezintă funcția de transfer
în circuit închis/ buclă închisă.
După ordinul sistemului, sistemele cel mai de utilizate sunt sistemele de ordinul I și cele de ordinul II. Un sistem de ordinul II are funcția de transfer echivalentă după modelul:
, (2.6)
unde: este pulsația naturală, este factorul de amortizare.
Caracterul sistemului de ordinul II este dat de factorul de amortizare, iar pentru ca sistemul să fie stabil, acesta trebuie să fie pozitiv. Atunci când factorul de amortizare aparține intervalului (0;1), răspunsul sistemului se numește subamortizat. Dacă factorul de amortizare este egal cu 0, atunci răspunsul sistemului se numește oscilant amortizat. Dacă factorul de amortizare este 1, atunci răspunsul sistemului se numește critic amortizat. Atunci când factorul de amortizare este mai mare decât 1, răspunsul sistemului se numește supraamortizat.
Performanțele unui sistem sunt date de indicatorii de calitate. Pentru determinarea acestora trebuie să ne asigurăm că sistemul automat are reacție negativă unitară și că mărime de intrare este o mărime de tip treaptă unitară.
Semnalul de treaptă unitară are propietatea:
, (2.7)
și poate fi descris și ca semnal cu întârziere:
. (2.8)
Indicatorii de calitate sunt: timpul de creștere (), timpul de vârf (), suprareglajul () și timpul de stabilire ().
Fig.2.5. Reprezentarea indicatorilor de calitate pentru un sistem de ordinal II subamortizat [13] .
Timpul de creștere reprezintă timpul necesar pentru ca răspunsul sitemului să crească de la 10% la 90% din valoarea finală sau de la 0% la 100 % din valoarea finală.
Pentru un sistem de ordinul II cu funcția de transfer în buclă închisă conform (2.6), timpul de creștere este:
, (2.9)
unde: .
Timpul de vârf reprezintă intervalul de timp după care se înregistrează valoarea maximă a răspunsului.
Pentru un sistem de ordinul II cu funcția de transfer în buclă închisă conform (2.6), timpul de vârf este:
. (2.10)
Suprareglajul/Abaterea maximă are relația:
, (2.11)
unde: reprezintă valoarea maximă a răspunsului, iar este valoarea finală a răspunsului.
Pentru un sistem de ordinul II cu funcția de transfer în buclă închisă conform (2.6), suprareglajul este:
. (2.12)
Timpul de stabilire/timpul de reglare reprezintă intervalul de timp după care răspunsul sistemului intră în banda de toleranță (de 2% sau de 5%).
. (2.13)
Pentru un sistem de ordinul II cu funcția de transfer în buclă închisă conform (2.6), timpul de stabilire este:
. (2.14)
Pentru a caracteriza un sistem nu este nevoie de toți indicatorii, spre exemplu, pentru sistemul de ordinul II supraamortizat se folosesc doar timpul de creștere și timpul de stabilire.
Analiza unui sistem se poate realiza nu numai în domeniul timp, ci și în frecvență. Răspunsul în frecvență reprezintă răspunsul sistemului la o mărime de intrare sinusoidală. Funcția de transfer în frecvență se poate obține din funcția de transfer în domeniul timpului, înlocuind s cu . Funcția de transfer în domeniul frecvență este caracterizată de modul și de unghiul de fază .
, (2.15)
. (2.16)
Caracteristicile (2.15) și (2.16) pot fi folosite în reprezentarea caracteristicilor Bode. Avantajele sunt acelea că, pentru sisteme în serie, diagramele Bode reprezintă suma diagramelor pentru fiecare element în parte, în diagrama Bode sunt reprezentate atât frecvențele joase, cât și cele înalte și se poate determina ușor funcția de transfer din diagrama Bode.
Un alt mod de reprezentare în domeniul frecvenței este prin caracteristica polară / Nyquist. Un avantaj al acestei reprezentări este faptul că poate fi reprezentat tot domeniul de frecvență. Un alt avantaj al folosirii criteriului de stabilitate Nyquist este faptul că permite analiza stabilității unui sistem în circuit închis din curbele în frecvență a sistemului în circuit deschis. Pentru ca un sistem să fie stabil trebuie ca rădăcinile ecuației caracteristice (numitorul funcției de transfer în circuit închis (2.5)) să fie în semiplanul complex stâng.
Un alt mod de analiză al sistemelor este modelarea în spațiul stărilor. Acest tip de modelare folosește variabile la stare. „Variabila la stare este o variabilă internă sistemului, notată xi(t), care are următoarele proprietăți: este o funcție continuă în timp, are capacitatea de a memora evoluția anteriară a sistemului și nu este unic definită.” [10]. Comportarea dinamică a unui sistem poate fi descrisă astfel:
, (2.17)
, (2.18)
unde: x(t) este vectorul variabilelor de stare, este vectorul derivatelor variabilelor de stare, u(t) este vectorul intrărilor, y(t) este vectorul ieșirilor.
Există trei tipuri de realizări cu variabile la stare: forma complet observabilă, forma complet controlabilă și forma canonică diagonală. Pentru forma complet controlabilă, matricile A, B, C au forma generală:
, (2.19)
, (2.20)
. (2.21)
Controlabilitatea unui sistem reprezintă capacitatea de modificare a întregului set de variabile de stare de către mărimea de intrare.
(2.22)
Dacă rangul matricei P este egal cu ordinul sistemului, atunci sistemul este controlabil.
Observabilitatea unui sistem reprezintă capacitatea de estimare a unui set de variabile de stare din valorile mărimii de ieșire.
(2.23)
Dacă rangul matricei Q este egal cu ordinul sistemului, atunci sistemul este observabil.
Pentru implementarea pe suport hardware este necesară discretizarea sistemului. Cea mai completă metodă de substituție este așa-numita metodă Tustin, aceasta este bazată pe substituția variabilei „s” în variabila „z” conform relației:
, (2.24)
unde: reprezintă perioada de eșantionare.
REGLAREA ÎN SPAȚIUL STĂRILOR
Conform figurii 2.4. în cazul unui sistem automat se regăsește și un bloc regulator. Regulatorul reprezintă elementul central al unui astfel de sistem și al carui rol funcțional este „elaborarea pe baza unei legi de reglare a mărimii de comandă u(t), în funcție de semnalul de eroare e(t), aplicat la intrare”. [11]
Proiectarea sistemelor de reglare modelate în spațiul stărilor se bazează pe ecuațiile (2.17) și (2.18) și poate fi schematizată prin schema-bloc în circuit închis ca în figura 2.6.
Fig.2.6. Sistem în circuit închis cu u = -K x.
Semnalul de comandă este determinat conform relației:
. (2.25)
Pentru a determina matricea de reacție este obligatoriu ca sistemul să fie controlabil. Apoi, se construiesc două polinoame:
, (2.26)
, (2.27)
unde: sunt poli convenabil aleși.
Egalând coeficienții celor două polinoame se determină elementele vectorului K.
REGLAREA CU REGULATOARE PID
Pentru ca un regulator de tip PID să fie realizabil, pe lângă componentele de bază P,I,D, i se adaugă și un element de filtrare, atunci funcția de transfer a unui astfel de regulator este:
, (2.28)
unde: kR este componenta proporțională, Ti este componenta integrativă, Td este componenta derivativă, iar Tf este constanta de timp de filtrare.
Se prelucrează funcția de transfer astfel:
; (2.29)
. (2.30)
Se consideră un proces cu funcția de transfer:
. (2.31)
Pentru a compensa polii procesului trebuie ca toți coeficienții de la numărătorul funcției de transfer a regulatorului să fie egali cu coeficienții de la numitorul funcției de transfer a procesului.
, (2.32)
. (2.33)
Astfel, funcția de transfer a căii directe devine:
. (2.34)
Conform relației (2.5), funcția de transfer a sistemului în circuit închis devine:
. (2.35)
Se prelucrează relația (2.35) după forma generală a unui sitem de ordinul II (2.6):
. (2.36)
Egalând relația (2.36) și relația (2.6), se obține:
, (2.37)
. (2.38)
Din relațiile (2.32), (2.33), (2.37), (2.38) se determină parametrii regulatorului PID:
, (2.39)
, (2.40)
, (2.41)
. (2.42)
REGLAREA CU REGULATOARE FUZZY
În cazul proiectelor cu regulatoare fuzzy există două metode de inferență des utilizate: Mamdani și Sugeno-Takagi. Inferența de tip Mamdani este metoda principală folosită la prezentarea noțiunilor de bază privind raționamentul fuzzy. Inferența de tip Mamdani pleacă de la o bază de reguli în care propozițiile consecință sunt propoziții fuzzy, forma generică a regulilor fiind:
(2.43)
Elementul care definește această metodă de inferență este utilizarea operatorilor: min pentru evaluarea implicației și max pentru agregarea rezultatelor parțiale. Din acest motiv, metoda se mai numește “inferență max-min” sau, datorită implicației min, “regula operatorului minimum a lui Mamdani” .
Pentru descrierea metodei de inferență de tip Mamdani se consideră o bază de reguli de tip Mamdani, cu două variabile de intrare: eroarea și derivata acesteia, și o variabilă de ieșire: mărimea de comandă, adică:
(2.44)
Un sistem de reglare cu regulator fuzzy are principalul avantaj al faptului că permite toleranță la incertitudine și imprecizie, aspect demonstrat de numeroase aplicații practice.
Fig. 2.7. Structura unui regulator fuzzy, în cazul general.
Pentru regulatoarele fuzzy de tip PI, legea de reglare este:
. (2.45)
Fig.2.8. Regulatorul fuzzy PI.
Variabilele lingvistice pentru un regulator fuzzy PI vor fi:
eroarea,
derivate erorii,
derivata mărimii de comandă.
Modelul matematic
Pentru determinarea funcției de transfer este necesară realizarea unei ecuații matematice pe baza ecuațiilor Euler-Lagrange, care va fi mai apoi liniarizată și căreia i se va aplica transformata Laplace.
Se notează Lagrangianul cu L, energia cinetică cu T și energia potentială cu V, conform relației (2.2). Înlocuid formele energiei cinetice și energiei potențiale împlicate în sistem, relația devine:
, (3.1)
, (3.2)
, (3.3)
. (3.4)
Conform relației (2.1), sistemul de ecuații devine:
, (3.5)
. (3.6)
Relația momentului de inerție a bilei față de propriul centru este:
. (3.7)
Înlocuind relația momentului de inerție (3.7), sistemul devine:
. (3.8)
Simplificând, se obține sistemul :
. (3.9)
Considerând unghiurile de înclinare și ca fiind unghiuri mici, atunci sinusul unghiului va putea fi considerat egal cu argumentul său.
Considerând unghiurile de înclinare, vitezeleși sunt mici, atunci vitezele sunt neglijabile:
,
rezultă:
.
Forma sistemului după liniarizare este:
, (3.10)
. (3.11)
Aplicând Laplace, în condiții inițiale nule:
, (3.12)
funcțiile de transfer ale sistemului devin:
. (3.13)
În urma acestor calcule se poate realiza o analiză a sistemului cu ajutorul caracteristicii Nyquist, așa cum se arată în figura 3.1.
Fig. 3.1. Caracteristica Nyquist a sistemului.
Reprezentarea în spațiul stărilor
Conform relațiilor (2.19), (2.20) și considerând funcțiile de transfer pentru axele x și y fiind simetrice, reprezentarea în spațiul stărilor devine:
, (3.14)
unde Y(s) este ieșirea (notată Xb , respectiv Yb în sistem), U(s) este intrarea (notată, respectiv în sistem), iar X(s) reprezintă o mărime auxiliară.
, (3.15)
rezultă:
, (3.16)
Aplicând transformata Laplace Inversă (TLI)
, (3.17)
rezultă:
. (3.18)
Astfel:
. (3.19)
Din sistemul de ecuații (3.19) se pot determina valorile matricilor A, B, C, D.
. (3.20)
Controlabilitatea și observabilitatea sistemului:
Conform relației de determinare a matricii P (2.24) și a ordinului sistemului, aceasta devine:
, (3.21)
. (3.22)
Înlocuind în relația (3.21), matricea de controlabilitate devine:
. (3.23)
Conform aspectelor teoretice, sistemul este controlabil, deoarece:
, (3.24)
unde n este ordinul sistemului.
Conform relației de determinare a matricii Q (2.25) și a ordinului sistemului, aceasta devine:
, (3.25)
. (3.26)
Înlocuind în relația (3.25), matricea de observabilitate devine:
. (3.27)
Conform aspectelor teoretice, sistemul este observabil, deoarece:
, (3.28)
unde n este ordinul sistemului.
Structurile de reglare
REGLAREA ÎN SPAȚIUL STĂRILOR ÎN BUCLA INTERIOARĂ ȘI REGULATOR PID ÎN BUCLA EXTERIOARĂ
Considerând expresiile funcțiilor de transfer din sistemul (3.13) este necesară rezolvarea problemelor puse de polul dublu în zero, una dintre rezolvări ale acestei probleme este controlul în spațiul stărilor care e bazează pe forma matricilor din spațiul stărilor, nu pe funcțiile de transfer.
Se iau în considerare formele matricilor în spațiul stărilor (3.20), pentru a determina forma regulatorului în spațiul stărilor este necesară determinarea vectorului K și a factorului de prefiltrare Kr.
Se consideră aleși polii și . Se determină forma unui polinom c(s), atât în funcție de valorile polilor, cât și în funcție de formele matricilor, conform relațiilor (2.27),(2.26).
, (4.1)
, (4.2)
unde I este matricea unitate.
, (4.3)
unde M se folosește ca notație pentru expresia din ecuația (4.2) și K are forma.
. (4.4)
Egalând polinoamele din expresiile (5.1) și (5.4), se determină valorile vectorului K.
, (4.5)
, (4.6)
Pentru implementare se folosește pe calea de comandă factorul de prefiltrare :
, (4.7)
, (4.8)
, (4.9)
. (4.10)
Înlocuind în relația (4.7), Kr devine:
. (4.11)
Cu valorile obținute se poate verifica reacția sistemului în funcție de polii -.
Modificând valorile polilor se pot observa modificările aduse parametrilor sistemului, astfel încât ei să se încadreze în performanțele dorite.
Performanțele cele mai bune sunt prezentate în figura 4.1., pentru care valorile polilor sunt:
, (4.12)
iar vectorul K are valorile:
. (4.13)
Fig. 4.1. Plasarea polilor, vectorul K, schema-bloc la intrare treaptă unitară și răspunsul rezultat.
Valorile complete ale testărilor și rezultatele acestora se regăsesc în Anexa A.
Considerând metoda prezentată anterior pentru sistemul în buclă înterioară, se poate determina în continuare regulatorul din bucla exterioară. Se va determina în continuare funcția de transfer a sistemului interior.
Pentru simplificarea calculelor se vor face următoarele aproximări:
. (4.14)
Având în vedere simplificările (4.14) și schema-bloc din figura 4.1., se vor face următoarele calcule:
, (4 .15)
. (4.16)
Din (4.15) și (4.16) rezultă:
, (4.17)
, (4.18)
, (4.19)
, (4.20)
, (4.21)
, (4.22)
. (4.23)
I se va aplica funcției Gi (s) un regulator de tip PID cu funcția de transfer GR(s) . Având în vedere relația (2.3), funcția de transfer a căii directe este:
. (4.24)
Urmând pașii determinării parametrilor regulatorului PID conform relațiilor (2.28), (2.29), (2.30) și înlocuind parametrii din relația (4.23), relațiile (2.32), (2.33) devin:
, (4.25)
. (4.26)
Conform ecuațiilor (4.24), (4.25) și (4.26):
. (4.27)
Astfel funcția de transfer în buclă închisă este:
, (4.28)
dar conform formei generale a unui sistem de ordinul II (2.6), prin identificarea coeficienților:
, (4.29)
. (4.30)
Consider ca performanțe impuse timpul de stabilire ts și factorul de amortizare. Considerând timpul de stabilire pentru bandă de stabilire de 2% cu formula (2.14) , putem determina pulsația naturală.
. (4.31)
Înlocuind valorile cunoscute în ecuația (4.30), constanta de timp de filtare Tf devine:
. (4.32)
Atunci, înlocuind datele cunoscute în (4.26), constanta de timp de integrare Ti devine:
. (4.33)
Înlocuind în (4.29), elementul proportional kR va fi:
, (4.34)
iar înlocuind în (4.25) se poate determina constanta de timp derivativă Td.
. (4.35)
Consider performanțele dorite cu următoarele valori:
, (4.36)
astfel ecuațiile (4.32), (4.33), (4.34) și (4.35) devin:
, (4.37)
, (4.38)
, (4.39)
. (4.40)
Cu polii aleși convenabil, valorile vectorului K sunt conform figurii 4.1. , atunci ecuațiile (4.38), (4.39) și (4.40) devin:
, (4.41)
, (4.42)
. (4.43)
Valorile parametrilor (4.37), (4.41), (4.42) și (4.43) sunt considerate valori inițiale în proiect și satisfac performanțele dorite. În acest caz, răspunsul sistemului, la intrare treaptă unitare este cel din figura 4.2.
Fig. 4.2. Răspunsul sistemului la intrare treaptă unitară.
REGLAREA CU REGULATOR SPECIFIC ÎN BUCLA INTERIOARĂ ȘI REGULATOR PID ÎN BUCLA EXTERIOARĂ
Considerând funcția de transfer a procesului, sistemul de ecuații (3.13), este necesară determinarea unui regulator specific. Datorită efectului dat de cei doi poli nuli, este necesară apariția unui regulator special care să elimine problemele create.
Forma regulatorului din bucla interioară este:
, (4.44)
unde kR este factorul de amplificare și Tf1 este coeficientul de filtrare,adăugat pentru realizabilitatea regulatorului.
Valorile parametrilor au fost calculate pentru ca sistemul să respecte aceleași cerințe ca și în cazul reglării în spațiul stărilor.
Astfel se va alege valoarea pentru kR după cum urmează:
. (4.45)
Ecuația (4.44) devine:
. (4.46)
Pentru determinarea factorului Tf1 se va calcula funcția de transfer în circuit închis a buclei interioare.
. (4.47)
Egalând coeficienții funcțiilor de transfer (4.47) și (2.6), se determină:
, (4.48)
. (4.49)
Considerând valoarea lui ca fiind 0,7 , atunci:
. (4.50)
Ecuația (4.45) devine:
, (4.51)
iar ecuația (5.47) devine:
. (4.52)
Din acest punct se poate detrermina regulatorul extern PID. Urmând pașii determinării parametrilor regulatorului PID conform relațiilor (2.28), (2.29), (2.30) și înlocuind parametrii din relația (4.52), relațiile (2.32), (2.33) devin:
, (4.53)
. (4.54)
Astfel funcția de transfer în buclă închisă este:
, (4.55)
dar conform formei generale a unui sistem de ordinul II (2.6), prin identificarea coeficienților:
, (4.56)
. (4.57)
Consider ca performanțe impuse timpul de stabilire ts și factorul de amortizare. Considerând timpul de stabilire pentru bandă de stabilire de 2% cu formula (2.14) , putem determina pulsația naturală.
. (4.58)
Înlocuind valorile cunoscute în ecuația (4.57), constanta de timp de filtare Tf devine:
(4.59)
Atunci, înlocuind datele cunoscute în (4.54), constanta de timp de integrare Ti devine:
. (4.60)
Înlocuind în (4.56), elementul proportional kR va fi:
, (4.61)
iar înlocuind în (4.53) se poate determina constanta de timp derivativă Td.
. (4.62)
Consider performanțele dorite, în cazul tuturor metodelor de control, cu următoarele valori:
, (4.63)
Astfel ecuațiile (4.59), (4.60), (4.61) și (4.62) devin:
, (4.64)
, (4.65)
, (4.66)
. (4.67)
Valorile parametrilor (4.64), (4.65), (4.66) și (4.67) sunt considerate valori inițiale în proiect și satisfac performanțele dorite. În acest caz, răspunsul sistemului, la intrare treaptă unitare este cel din figura 4.3.
Fig. 4.3. Răspunsul sistemului la intrare treaptă unitară.
REGLAREA CU REGULATOR SPECIFIC ÎN BUCLA INTERIOARĂ ȘI REGULATOR FUZZY PI ÎN BUCLA EXTERIOARĂ
Se va considera pentru funcția de transfer a sistemului funcția (3.13), iar pentru funcția de transfer a regulatorului din bucla interioară, funcția (4.51).
Pentru a respecta performanțele dorite, se va alege un regulator fuzzy de tip PI. Din punct de vedere a inferenței folosite, aceasta este de tip Mamdani. Metoda de defuzificarea folosită este cea a mijlocului maxim (mom) pentru a facilita calculul în cazul verificării prin software a metodei folosite în Matlab.
Pentru definirea erorii (e), se vor folosi 5 funcții triunghiulare definite în universul de discurs [-2 2], astfel:
NB – trimf(e,[-1,8; -1; -0,2])
NS – trimf(e,[ -0,8; -0,4; 0])
ZE – trimf(e,[-0,05; 0; 0,05])
PS – trimf(e,[0; 0,4; 0,8])
PB – trimf(e,[0,2; 1; 1,8]) .
Pentru definirea derivatei erorii (de), se vor folosi 3 funcții triunghiulare definite în universul de discurs [-2 2], astfel:
NE – trimf(de,[-1,8; -1; -0,2])
ZE – trimf(de,[-0,8; 0; 0,8])
PO – trimf(de,[0,2; 1; 1,8]).
Pentru definirea derivatei mărimii de comandă (du), se vor folosi 5 funcții triunghiulare definite în universul de discurs [-2 2], astfel:
NB – trimf(u,[-1,4; -1; -0,6])
NS – trimf(u,[ -0,7; -0,45; -0,2])
ZE – trimf(u,[-0,4; 0; 0,4])
PS – trimf(u,[0,2; 0.45; 0,7])
PB – trimf(u,[0,6; 1; 1,4]) .
Setul de reguli este prezentat în următoarea tabelă de inferență.
Tabelul 4.1.Tabela de inferență.
Valorile factorilor de scalare sunt determinați prin metode experimentale, după cum urmează:
. (4.68)
Răspunsul sistemului la intrare de tip treaptă unitară se regăsește în figura 4.4.
Fig. 4.4. Răspunsul sistemului la intrare treaptă unitară.
Simularea sistemului
INTERFAȚA DE COMUNICARE CU UTILIZATORUL
Pentru a facilita relația cu utilizatorul, pentru ca acesta să poată avea control asupra parametrilor sistemului, s-a creat o interfață în care utilizatorul poate realiza aceste lucruri și poate primi și feedback de la sistem.
Interfața, reprezentată în figura 5.1., conține un grafic în care se reprezintă poziția actuală a bilei, în trei ipostaze: în planul (x,O,y), reprezentarea în timp pe axa x și reprezentarea în timp pe axa y. Utilizatorul poate schimba în orice moment modul de reprezentare grafică. De asemenea, pe interfață se găsește opțiunea de schimbare între modul de simulare (Internal) și implementare hardware (External). După alegerea unuia dintre aceste moduri, se poate alege, dintr-un meniu, unul din modurile de echilibrare: echilibrarea bilei în centrul platformei (center balanced), echilibrarea într-un alt punct al platformei (user’s choice), trasarea unui cerc cu raza specificată de utilizator (circular motion), trasarea unui dreptunghi a cărui lungime și lățime este specificată de utilizator (rectangular motion), curbe lissajous ai căror parametrii sunt la alegerea utilizatorului (lissajous curve). De asemenea, utilizatorul poate trece de la unul dintre aceste moduri la altul în timpul simulării.
Utilizatorul are opțiunea de a-și alege modul de control pe care dorește să îl simuleze. În funcție de modul ales, vor apărea un număr de câmpuri ce semnifică parametrii ce pot fi modificați. Valorile predefinite au fost determinate anterior, iar răspunsul sistemului pentru aceste valori este cel mai bun din punct de vedere funcțional.
Fig. 5.1. Interfața cu utilizatorul cu selecția Internal și Center balanced.
Structura de bază a sistemului de tip „ball on plate” se regăsește în figura 5.2. Procesul reprezintă funcția de transfer din sistemul (3.13), iar funcțiile regulatoarelor diferă în funcție de modul de control ales de utilizator.
Fig.5.2. Structura de bază a sistemului „ball on plate”.
Pentru modurile de echilibrare center balanced și user's choice, valorile introduce de utilizator vor fi transmise spre schemele Simulink corespunzătoare pentru a se realize reglarea procesului. Pentru modurile circular motion, rectangular motion, lissajous curve există funcții special care realizează traiectoria necesară înainte de a o transmite spre schema Simulink, acestea sunt prezentate în figurile 5.3., 5.5., respectiv 5.4.
Fig.5.3. Funcția de trasare a coordonatelor pe cerc în funcție de rază.
Fig.5.4. Funcția de trasare a coordonatelor unei curbe lissajous în funcție de parametrii acesteia.
Fig.5.5. Funcția de trasare a coordonatelor unui dreptunghi în funcție de lungime și lățime.
Toate valorile introduse de utilizator sunt în prealabil validate, un exemplu se găsește în figura 5.6. Codul complet se regăsește în Anexa B.
Fig.5.6. Exemplu de validare a datelor întroduse de utilizator.
Pentru a trimite spre interfață valorile poziției de ieșire a sistemului, se utilizează funcția ToPlot, care este prezentată în figura 5.7.
Fig.5.7. Funcția ToPlot care realizează reprezentarea grafică a poziției curente a bilei pe interfața cu utilizatorul.
Totodată, pentru a realiza o cât mai bună comunicare cu utilizatorul, interfața beneficiază în partea de jos a sa de o zonă în care utilizatorul este atenționat de modificările aduse, fiecare eroare, atenționare sau informare îi va fi adusă la cunoștință. Apariția unui nou mesaj va fi însoțită de o culoare specifică, astfel erorile vor avea culoarea roșie, atenționările, culoarea galbenă, iar informările, culoarea verde. Pentru a ține o evidență cât mai bună a reacției interfeței și sistemului, aplicația va salva zilnic aceste mesaje în fișiere de tip text. Un exemplu de asfel de fișier se regăsește în Anexa C.
STRUCTURILE DE REGLARE
5.2.1. Reglare în spațiul stărilor și regulator PID în bucla exterioară
Structura de bază după care se realizează simularea procesului se regăsește în figura 5.8.
Fig.5.8. Schema simplificată a sistemului cu control în spațiul stărilor în bucla interioară și
regulator PID în bucla exterioară.
Pentru a simula acest tip de control este necesar ca utilizatorul să aleagă opțiunea State Space Control de pe interfață, moment în care vor apărea două câmpuri editabile,așa cum se observă în figura 5.1. Cele două câmpuri reprezintă valorile reală și imaginară a polilor compecși . Valorile nominale sunt cele determinte prin relația (4.12), dar pot fi modificați de utilizator, fapt ce va avea repercursiuni vizibile în timp asupra procesului.
Pentru a realiza acest lucru este necesară determinarea vectorului K; acesta este calculat în Matlab cu o secvență de tipul celei din figura 5.9.
Fig.5.9. Funcția Matlab pentru determinarea valorilor vectorului K.
Pentru ca sistemul să fie cât mai independent valorile regulatorului extern PID sunt calculate tot în funcție de valorile vectorului K. În cazul regulatoarelor PID din Simulink funcția de transfer este următoarea:
. (5.1)
Comparând relațiile (2.28) și (5.1) se poate realiza o identificare a coeficienților astfel:
. (5.2)
Din transformările realizate, parametrii Tfm și I nu iși modifică parametrii în fucție de valorile lui K, în schimb P și D sunt calculați confrom algoritmului din figura 5.10.
Fig.5.10. Algoritmul de calcul al parametrilor regulatorului PID.
Valorile nominale, determinate prin transformarea relațiilor (4.37), (4.41). (4.42), (4.43) conform sistemului (5.2) sunt:
, (5.3)
, (5.4)
, (5.5)
. (5.6)
Schema Simulink ce determină datele necesare realizării simulării virtuale se regăsește în figurile 5.11. și 5.12. Figura 5.11. reprezintă bucla exterioară a sistemului, în care se trimit date atât spre VRML, cât și spre interfață. Apare, de asemenea, blocul XY Graph care va realiza o reprezentare în timp real a tuturor punctelor prin care bila arealizat un traseu. În figura 5.12. se observă bucla interioară a sistemului prin cele două componente simetrice corespunzătoare axelor x și y.
Fig.5.11. Bucla exterioară în schema Simulink State Space Control.
Fig.5.12. Bucla interioară în schema Simulink State Space Control.
5.2.2. Reglare cu regulator PID în bucla exterioară
Pentru simularea cu acest tip de control este necesară alegerea opțiunii PID Control (outer loop) de pe interfață, conform figurii 5.13., în care care se poate observa apariția unor noi câmpuri pentru introducerea valorilor parametrilor regulatorului.
Fig.5.13. Interfață grafică cu alegerea opțiunii de control PID.
Schema simplificată a sistemului se regăsește în figura 5.14.
Fig.5.14. Schema simplificată a sistemului cu control cu regulator specific în bucla interioară și
regulator PID în bucla exterioară.
Pentru acest tip de control se folosește în bucla interioară regulatorul determinat în relația (4.51), iar pentru regulatorul PID extern, valorile parametrilor sunt introduse de utilizator. Valorile nominale ale parametrilor sunt cele din relațiile (4.64), (4.65), (4.66), (4.67). Utilizatorul va introduce valorile dorite conform relației (2.28), iar aplicația va calcula automat valorile transformate conform relației (5.1).
Schema-bloc Simulink pentru acest tip de control se regăsește în figurile 5.15, 5.16. Figura 5.15 reprezintă bucla exterioară a sistemului, în care se trimit date atât spre VRML, cât și spre interfață. Apare, de asemenea, blocul XY Graph care va realiza o reprezentare în timp real a tuturor punctelor prin care bila arealizat un traseu. În figura 5.16. se observă bucla interioară a sistemului prin cele două componente simetrice corespunzătoare axelor x și y.
Fig.5.15. Bucla exterioară în schema Simulink PID Control (outer loop).
Fig.5.16. Bucla interioară în schema Simulink PID Control (outer loop).
5.2.3. Reglare cu regulator fuzzy PI în bucla exterioară
Acest tip de control poate fi simulat prin alegerea opțiunii Fuzzy Control (outer loop), ca și în figura 5.17. Parametrii regulatorului fuzzy vor fi modificați exterior aplicației, prin modificarea documentului cu extensia .fis. Utilizatorul este atenționat despre acest fapt la apăsarea opțiunii. Valorile nominale sunt cele prezentate la subcapitolul 4.3. Reglarea cu regulatoare fuzzy.
Fig.5.17. Interfața grafică cu alegerea opțiunii de control fuzzy.
Schema-bloc simplificată a sistemul se poate observa în figura 5.18, pentru care schema buclei interioare este aceeași cu cea din figura 5.16. Regulatorul din bucla exterioară a fost realizat cu ajutorul Fuzzy Logic Toolbox. Fuzzy Logic Toolbox proiectează și simulează sisteme pe baza logicii fuzzy, dispune de funcții, aplicații și bloc specializat în Simulink pentru a realiza analiza, proiectarea, simularea sistemelor bazate pe acest tip de logică. Fuzzy Logic Toolbox permite proiectarea inferențelor fuzzy prin implementarea regulilor. Toolbox-ul poate fi folosit în mod singular, ca motor de calcul al inferențelor fuzzy sau implementat în Simulink.
Fig.5.18. Schema simplificată a sistemului cu control cu regulator specific în bucla interioară și
regulator fuzzy PI în bucla exterioară.
Valorile nominale au fost introduse în Fuzzy Logic Toolbox, așa cum se regăsește în figura 5.19. Baza de reguli în forma Fuzzy Logic Tolbox este reprezentată în figura 5.20., iar un exemplu de răspuns oferit de acest toolbox apare în figura 5.21.
Fig.5.19. Funcțiile de aparteneță a erorii, derivatei erorii și derivatei mărimii de comandă.
Fig.5.20. Baza de reguli fuzzy.
Fig.5.21. Răspunsul Fuzzy Logic Toolbox la o intrare de tip [0,0].
Schema-bloc Simulink pentru acest tip de control se regăsește în figurile 5.22, 5.23. Figura 5.22 reprezintă bucla exterioară a sistemului, în care se trimit date atât spre VRML, cât și spre interfață. Apare, de asemenea, blocul XY Graph care va realiza o reprezentare în timp real a tuturor punctelor prin care bila arealizat un traseu. În figura 5.23. se observă regulatorul fuzzy de tip PI, cu valorile coeficienților din sistemul (4.68).
Fig.5.22. Bucla exterioară în schema Simulink Fuzzy Control (outer loop).
Fig.5.23. Structura de control – regulatorul fuzzy de tip PI.
SUPORTULUI VIRTUAL VRML
VRML are un format standard de reprezentare 3-dimensională și este bazat pe interacțiunea vectorilor. VRML permite desenarea multiplelor suprafețe, colorarea lor, schimbarea texturilor, aplicarea diverselor puncte de observare, din diverse unghiuri etc. Pot fi introduse, de asemenea, lumini, animații, sunete care se realizeze o copie cât mai fidelă a realității. În mediul VRML, comparativ cu sistemul de coordonate cunoscut, se poate observa o transformare de axe: (x, y, z) → (x, -z, y).
Primul pas în realizarea suportului virtual îl reprezintă realizarea lumii virtuale. În mediul de dezvoltare VRML sunt introduse, astfel, platforma, bila, sistemul de coordonate , punctul de iluminare etc. așa cum se arată în figura 5.24. Pentru realizarea legăturii între sistemul din Simulink și spațiul virtual s-a realizat un subsistem de tranziție între cele două (vezi Fig. 5.25.), reprezentat de block-ul VRSink, de matricea de rotație pentru transmiterea unghiurilor de rotație a plăcii pe cele două axe (vezi Fig. 5.26), de tranziția bilei de la o poziție la alta ( vezi Fig. 2.27).
Fig. 5.24. Lumea virtuală VRML pentru sistemul „ball and plate”.
Fig. 5.25. Structura de tranziție la spațiul VRML.
Fig. 5.26. Matricea de rotație.
Fig. 5.27. Tranziția pe axa z a bilei de la un punct la altul.
REZULTATELE OBȚINUTE
Alegerea unui astfel de tip de implementare a sistemului „ball and plate”, precum este cea de simulare are o importanță deosebită, deoarece aduce beneficii atât din punct de vedere al limitării componentelor necesare, a costurilor și a spațiului, aplicația putând fi utilizată independent de implementarea hardware, cât și din punct de vedere a faptului că se pot observa în timp real efectele modificării parametrilor, reacția sistemului și se poate realiza o comparație a celor trei metrode de control posibile.
Un beneficiu important este faptul că poziția bilei curentă poate fi observată din mai multe unghiuri, atât în lumea virtuală, cât și în graficul XYGraph sau în reprezentarea grafică de pe interfață. Utilizatorul are flexibilitate din acest punct de vedere pentru a observa cât mai ușor modificările survenite și a putea realiza o comparație și o reglare cât mai bună. Spre exemplu, în figura 5.28. se poate observa că la începutul primului ciclu al realizării cercului bila era în curs de stabilizare pe traiectorie, apoi menținându-și traiectoria corectă. Poziția curentă în cazul prezentat anterior se poate regăsi în figurile 5.29. și 5.30, reprezentând o imagine instantanee din mediul virtual, respectiv de pe interfața cu utilizatorul. Cele două reprentări sunt realizate conform sistemului de coordonate specific, astfel par realizate în oglindă.
Fig. 5.28. Exemplu de control a bilei pe o traiectorie circulară.
Fig. 5.29. Imagine instantanee din cadrul menținerii bilei pe o traiectorie circulară în VRML.
Fig. 5.30. Imagine instantanee din cadrul menținerii bilei pe o traiectorie circulară pe interfața cu utilizatorul.
Rezultatele obținute pentru componenta software sunt mulțumitoare și comparativ cu rezultatele obținute într-o implementare ideală, singulară, la intrare de tip treaptă unitară, sunt apropiate. Bineînțeles, implementarea combinată a celor trei moduri de control, timpul necesar procesării datelor trimise de utilizator, diversitatea modurilor de echilibrare duc la modificări ale performanțelor obținute în mod ideal, dar acestea sunt neglijabile. Realizând o comparație între cele trei moduri de control se poate observa că modul cu cele mai bune performanțe este cel de reglare în spațiul stărilor în bucla interioară și regulator PID în bucla exterioară. Acest lucru se datorează beneficiilor aduse de reprezentarea sistemului în spațiul stărilor comparativ cu forma procesului în reprezentarea prin funcție de transfer.
Un alt beneficiu major este faptul că utilizatorul introduce valori brute, calculele matematice fiind realizate independent de acesta pentru a minimiza efectele unor posibile greșeli de calcul. Valorile validate introduse de utilizator sunt transformate și aduse la forma corectă de către componenta software, iar utilizatorul va avea acces la rezulatele obținute pentru un feedback cât mai bun.
În concluzie, faptul că utilizatorul are o diversitate de moduri de simulare și de alegerea modului de echilibrare, dar și din punct de vedere al observării rezultatelor obținute este un punct forte al proiectului. Modul de implemetare virtuală permite testarea unor arii vaste de parametrii fără a produce efecte negative asupra componentelor, fără a putea produce defecțiuni costisitoare și primind un feedback rapid.
Realizarea hardware
ALEGEREA COMPONENTELOR
Având în vedere varietatea de moduri de implementare și de componente ce pot fi utilizate, este necesară o analiză prealabilă a modului cel mai util, ușor și performant în care acestea se pot combina pentru a realiza produsul final. Pentru această analiză s-au luat în calcul facilitățile oferite, costul per produs și costul final, ușurința implementării etc. S-au luat în calcul, de asemenea, și variantele de implementare regăsite în literatura de specialitate.
După această analiză, componentele necesare sunt: două servomotoare, un ecran touchscreen rezistiv, o plăcuță de implementare Arduino Uno, cabluri conectoare, fire conectoare, breadboard, stabilizator de tensiune de 5V, o bilă. De asemenea, va fi utilizat un suport pentru întreg sistemul, suport pentru cele două servomotoare (Fig. 6.1.) și un sistem pentru sprijinul platformei și bare conectoare între platformă și motoare (Fig. 6.2.).
Structura sistemului hardware permite susținerea tuturor componentelor, este echilibrată, oferă loc disponibil pentru plasarea breadboard-ului, dar și plăcuței de implementare, astfel încât acestea să fie cât mai aproape de componentele la care sunt conectate.
Fig. 6.1. Structură support pentru implementarea hardware.
Fig. 6.2. Structura completă a sistemului hardware.
Datorită modului facil în care se poate realize implementarea, plăcuța de dezvoltare aleasă este de tip Arduino Uno (vezi Fig. 6.3.), cu un microcontroller ATmega328, tensiune de lucru de 5V, 14 pini digitali și 6 pini analogici. Datorită faptului că aceasta trebuie să susțină mai multe alte component, pe lângă cablul USB cu care se face legătuta cu calculatorul, este necesară și o sursă externă de tensiune (vezi Fig. 6.4.), dar și un breadboard. De asemenea, pentru asigurarea unei tensiuni de 5V este util un stabilizator de tensiune (vezi Fig. 6.5.).
Fig. 6.3. Plăcuță de implementare Arduino Uno.
Fig. 6.4. Cablu conector USB și cablu de alimentare externă.
Fig. 6.5. Stabilizator de tensiune de 5V.
În urma analizei, pentru componenetele care imprimă mișcarea s-au ales două mini servomotoare (Fig. 6.6.) de tip SG90 90ș, cu tensiune de alimentare de 4,8-6V, viteză de funcționare de 0,12s/60ș (la 4,8 V) și cuplu în blocare de 1,8kgf·cm. Acestea vor fi conectate de plăcuța Arduino fiindu-le transmis unghiul necesar deplasării bilei în noua poziție.
Fig. 6.6. Mini servomotor SG90 90ș
Pentru prelevarea datelor privind poziția curentă a bilei se va folosi un ecran touchscreen rezistiv (Fig. 6.7.), care va trimite poziția pe cele două axe ce va fi, mai apoi, prelucrată de componenta software pentru a putea fi considerată ca reacție a sistemului.
Fig. 6.7. Ecran touchscreen rezistiv.
Toate componentele au fost testate individual înaintea realizării structurii hardware finale. Un exemplu de testare pentru date prelevate de la platforma rezistivă se regăsește în figura 6.8.
Fig. 6.8. Teste aplicate ecranului touchscreen rezistiv.
INTERFAȚA DE COMUNICARE CU UTILIZATORUL
Pentru a oferi cât mai mult control și pentru ca aplicația să fie cât mai ușor de utilizat, interfața oferă posibilitatea de trecere de la modul simulare (Internal) la modul de implementare hardware (External) (Fig. 6.9.). Majoritatea oportunităților oferite de interfață rămân aceleași ca și pentru implemetarea software, în schimb pentru a evita introducerea unor valori aleatorii ale parametrilor, utilizatorul este atenționat în zona de ErrorLog să se asigure că a testat în prealabil răspunsul sistemului la valorile introduse.
Fig. 6.9. Interfața cu utilizatorul în modul External.
STRUCTURA SISTEMULUI
În urma analizei comparative a celor trei metode de implementare s-a ajuns la concluzia că, pentru siguranța componentelor hardware, se va lua în considerare doar cel mai bun mod de control, cel realizat cu reglare în spațiul stărilor în bucla internă.
Din acest punct este necesară discretizarea sistemului și a subsitemelor acestuia. Pentru aceasta s-a folosit metoda Tustin. Funcțiilor de transfer deja determinate li s-a aplicat transformarea (2.24). Astfel pentru valorile nominale ale parametrilor funcțiile discretizate sunt:
, (6.1)
. (6.2)
Din acest punct se poate realiza coordonarea propriu-zisă a sistemului cu ajutorul unei funcții realizate în Matlab, după cum se poate observa în figura 6.10. Pentru a putea fi incărcat codul pe plăcuța de dezvoltare, s-a utilizat Arduino Support for Matlab, care face posibilă crearea unui obiect de tip arduino și oferă acces la librariile Servo. Funcția specificată va determina eroarea, în funcție de aceasta va determina unghiul, pe care îl va transmite spre motor și, mai apoi, poziția nouă, valori cu care algoritmul se va relua până când aplicația va fi oprită de utilizator.
Fig. 6.10. Algoritm de calcul pentru implementarea hardware a sistemului.
REZULTATELE OBȚINUTE
Analizând rezultatele obținute se poate spune că acestea sunt conforme cu cele obținute prin simularea virtuală sistemului. Ca și în cazul implementării virtuale, se poate observa pe interfața cu utilizatorul poziția curentă a bilei în plan (x, O, y), pentru o cât mai ușoară vizualizare a rezultatelor.
Sistemul este, totuși, dependent de mai multe variabile, printre care conexiunea dintre calculator și plăcuța Arduino, conexiunea corectă cu sursa de tensiune externă, menținerea în funcționalitate a componentelor. Un timp de testare hardware mai lung poate determina, ca și introducerea unor parametrii neconformi, la viitoare probleme ale componentelor hardware.
Este, astfel, necesară o grijă deosebită în manipularea sistemului și a componentelor. De asemenea, este necesară mentenanța sistemului, verificarea atentă și, mai ales, testarea prealabilă a parametrilor în modul de simulare.
Concluzii
REZULTATE FINALE
Sistemul de control de tip „ball and plate” reprezintă un sistem complex care asigură echilibrul bilei pe o plarformă mobilă cu două grade de libertate. De asemenea, sistemul este realizat astfel încât să poată menține bila pe o traiectorie precizată, de tip circular, dreptunghilar sau o curbă lissajous. Sistemul prezintă două componente principale ce pot fi utilizate separat, dar care nu se exclud. Din contră, se încurajează folosirea ambelor componente pentru verificare și control cât mai precis al rezultatelor.
Inițial, s-a realizat o analiză a sistemelor de acest tip deja existente pentru a avea o privire de ansamblu asupra a ce poate oferi acest sistem, a modului în care poate fi utilizat etc. Sistemul este unul relativ nou și des utilizat atât în domeniul academic și de cercetare, cât și în zonele cu activitate seismică sporită, pentru structura de rezistență a clădirilor, dar și pentru standuri de susținere care să mențină în echilibru obiecte costisitoare.
Modelul matematic determinat a impus o analiză meticuloasă în domenii diverse, de la fizică și matematică, la mecatronică și teoria sistemelor. Determinarea unui model corect și cât mai acoperitor este extrem de importantă, deoarece acesta reprezintă baza tututor calculelor ce urmează a fi realizate.
Din punct de vedere al controlului, pentru a realiza o testare cât mai exactă și pentru o analiză comparativă complexă, s-au evidențiat trei moduri de control diferite. Sistemul funcționează cel mai bine pe baza paramentrilor stabiliți, dar utilizatorul îi poate modifica pentru a putea vedea efectul acestora asupra comportării sistemului.
Alăturarea celor două componente: software și hardware, este realizată cu ajutorul unei interfețe ușor de utilizat, care să faciliteze validarea parametrilor, trecerea dintr-un mod de implementare în altul, trecerea de la un mod de control la altul, etc.
Modul de simulare conține un sistem creat în lumea virtuală VRML, în timp ce modul hardware cuprinde un sitem realizat fizic. Realizarea sistemului fizic a reprezentat o problemă întâmpinată, deoarece a necesitat o atenție sporită asupra componentelor, testarea independentă a acestora, realizarea unui mediu în care ele să se comporte cât mai bine.
Totuși, sistemul de control al echilibrului unei bile pe o platformă mobilă este unul util, ce provoacă la o analiză completă și complexă, combină cunoștințe din domenii diverse și, în forma prezentată, este complet utilizabil, facil, cu o interfață accesibilă ușor, oferind feedback utilizatorului.
CONTRIBUȚII PERSONALE
Sistemul „ball and plate” reprezintă o provocare care își caută în continuare soluția. Nu există soluții standard, nici soluții perfecte. Acest tip de sistem este complex și are o diversitate de moduri de rezolvare în funcție de dorința celui care își propune să îl rezolve. Fiind un sistem destul de nou, apărut în publicații recente, sistemul oferă încă oportunități de cercetare și dezvoltare în domeniu.
După analiza cercetărilor existente, contribuțiile aduse proiectului sunt legate de unirea celor două componente software, respectiv hardware. Începând de la modelul matematic, proiectul este realizat în integralitate cu ajutorul Matlab.
Interfața cu utilizatorul a fost creată cu scopul de a ajuta utilizatorul să aibă o relaționare cât mai bună cu sistemul, fără a fi nevoit să aibă cunoștințe detaliate asupra componentelor din back-end. Marea oportunitate a interfeței este faptul că beneficiază de o zonă de ErrorLog, care oferă feedback direct utilizatorului. De asemenea, aplicația creează zilnic un document text cu întregul conținut al ErrorLog-ului.
O altă contribuție ce poate fi utilă este posibilitatea realizării unei comparații între cele trei moduri de control. Totodată, faptul că realizarea calcului matematic pe baza parametrilor este independent de utilizator elimină riscul greșelilor de calcul și oferă rezultate corecte și complete.
Sistemul hardware a fost realizat în urma unei analize a componentelor, de cost, de timp, și pentru a putea realiza un sistem funcțional cu componente ce pot fi cât mai ușor de înlocuit, de observat, de menținut într-o stare funcțională.
Alăturarea acestor contribuții a dus la realizarea unui proiect complet, complex și ușor de utilizat. Acesta oferă acces rapid, feedback vizual și feedback de la sistem.
DIRECȚII VIITOARE
Deși funcțional în forma actuală, proiectul poate fi îmbunătățit constant, ceea ce reprezintă o provocare și susține actualitatea temei. Sistemului i se pot asocia mai multe forme de control decât cele existente, acesta nefiind constrâns din punct de vedere al metodei de control.
Componentele hardware pot fi schimbate pentru a face sistemul cât mai complex. Spre exemplu, ecranul rezistiv poate fi înlocuit cu o platformă simplă căreia să i se asocieze o cameră pentru determinarea poziției bilei. Acest lucru ar necesita cunoștințe de procesare de imagine, ceea ce ar ridica complexitatea proiectului. De asemenea, plăcuța de dezvoltare poate fi înlocuită cu una mai complexă pentru a putea crea un sistem mai performant.
Un alt pas în dezvoltarea ulterioară a sistemului poate fi asocierea la nivel de echilibru, nu doar a traiectoriilor existente, ci și posibilitatea de introducere a unei imagini cu o curbă inchisă oarecare, care să fie recunoscută de sistem și, apoi, să se realizeze menținerea bilei pe această traiectorie.
Astfel, un sistem de tip „ball and plate”, dovedește că poate deveni unul complex și provocator. Este un ansamblu de cunoștințe din diverse domenii, actual, util și în continuă dezvoltare.
Bibliografie
Awtar, S., Bernard, C., Boklund, N., Master, A., Ueda, D., Craig, K., Mechatronic Design of a Ball on Plate Balancing System, Mechatronics, Vol. 12, No. 2, 2002, pp. 217-228.
Knuplez, A., Chowdhury, A., Svecko, R., Modeling and Control Design for the Ball and Plate Systems, IEEE International Conference on Industrial Technology-ICIT 2003, Vol. 2, Maribor, Slovenia, 10-12 Dec. 2003, pp. 1064-1067.
Ham, C., Taufiq, M. M., Development of a Ball and Plate System, 122nd Annual Conference & Exposition-ASEE 2015, Seattle, WA, USA, June 14-17, 2015.
Joselin Retna Kumar, G., Showme, N., Aravind, M., Akshay, R., Design and Control of Ball on Plate System, International Journal of Computer Technology and Applications, Vol. 9, No. 34, 2016, pp. 765-778.
Andinet Negash, H., Design of Fuzzy Sliding Mode Controller for the Ball and Plate System, Addis Ababa Institute of Technology, Addis Ababa, Ethiopia, July 2011.
Galvan-Colmenares, S., Moreno-Armendariz, M. A., Rubio, J. J., Ortiz- Rodriguez, F., Yu, W., Aguilar-Ibanez, C. F., Dual PD Control Regulation with Nonlinear Compensation for a Ball and Plate System, Hindawi Publishing Corporation, Mathematical Problems in Engineering, Vol. 2014, 2014
Fabregas, E.,Chacon, J., Dormido-Canto, S., Farias, G., Dormido, S., Virtual Laboratory of the Ball and Plate System, 3rd IFAC Workshop on Internet Based Control Education, 2015, Elsevier IFAC Papers Online, Vol. 48, Issue 29, 2015, pp. 152-157.
Bishop, R., Modern Control System Analysis and Design Using MATLAB, Addison Wesley Publishing Company, 2003.
https://courses.physics.ucsd.edu/2010/Fall/physics200a/LECTURES/CH06.pdf, Physics (Ch. 06 Lagrangian Mechanics), Lecture notes, University of California San Diego.
Coman, S., Teoria Sistemelor, note de curs, Universitatea Transilvania din Brașov.
Boldișor, C., Ingineria Reglării Automate, note de curs, Universitatea Transilvania din Brașov.
Moldoveanu, F. D., Analiza și Sinteza Circuitelor Numerice I, note de curs, Universitatea Transilvania din Brașov.
Comnac, V., Coman, S., Boldișor, C., Sisteme liniare continue: modelare și analiză, Editura Universității „Transilvania” din Brașov, 2009.
Anexa A
Performanțele sistemului în spațiul stărilor în funcție de valorile polilor
Pentru bandă de stabilitate de 0,2%, timpul de stabilire este 5,23 s și suprareglajul, de 4,3%.
Fig. A.1. Performanțele sistemului pentru valorile polilor .
Pentru bandă de stabilitate de 0,2%, timpul de stabilire este 3,827 s și suprareglajul, de 10,9%.
Fig. A.2. Performanțele sistemului pentru valorile polilor .
Pentru banda de stabilitate de 0,2%, timpul de stabilire este 1,68 secunde.
Fig. A.3. Performanțele sistemului pentru valorile polilor .
Pentru bandă de stabilitate de 0,2%, timpul de stabilire este 1,47 s și suprareglajul, de 2,8%.
Fig. A.4. Performanțele sistemului pentru valorile polilor .
Anexa B
Codul sursă
Funcția principală se regăsește în spatele interfeței cu utilizatorul și suportul întregului proiect.
Tabelul B.1. Funcția principală GUI.m.
Tabelul B.2. Funcția actualPosition.m.
Transmiterea datelor către plăcuța de implementare se face cu ajutorul funcției ArduSSControl.m (vezi Fig. 6.10.), care realizează conexiunea cu plăcuța Arduino, calculează unghiurile de mișcare pe cele două axe și compară poziția reală cu cea dorită de utilizator.
Tabelul B.3. Funcția blink.m.
Funcțiile de trasare a traiectoriilor drawCircle.m, drawLissajous.m și drawRectangle.m realizează plasarea bilei pe traiectoria impusă, în funcție de parametrii doriți de utilizator și se regăsesc în figurile Fig. 5.3., Fig. 5.4., respectiv Fig. 5.5.
Tabelul B.4. Funcția errorHandler.m.
Tabelul B.5. Funcția pressBack.m.
Funcțiile pentru calcului parametrilor regulatorului PID, SSCctrlParam.m și pentru afișare a poziției curente a bilei pe interfață, ToPlot.m se regăsesc în figurile Fig. 5.10., respectiv Fig. 5.5.
Anexa C
Exemplu al unui fișier de tip ErrorLog pentru păstrarea mesajelor de la interfață
INFO: Simulation successfully started for StateSpaceControl – 18-Apr-2018 10:34:26
WARNING: Stop current simulaton before switching to another simulation method – 18-Apr-2018 10:34:40
ERROR: Invalid Simulink object name: testArduino/Xref – 18-Apr-2018 10:34:44
ERROR: Invalid Simulink object name: testArduino/Xref – 18-Apr-2018 10:34:47
ERROR: Invalid Simulink object name: testArduino – 18-Apr-2018 10:34:56
WARNING: Stop current simulaton before switching to another simulation method – 18-Apr-2018 10:34:59
ERROR: Invalid Simulink object name: testArduino/Xref – 18-Apr-2018 10:35:04
WARNING: Stop current simulaton before switching to another simulation method – 18-Apr-2018 10:35:06
WARNING: Stop current simulaton before switching to another simulation method – 18-Apr-2018 10:35:10
ERROR: Invalid Simulink object name: testArduino/Xref – 18-Apr-2018 10:35:13
ERROR: Invalid Simulink object name: testArduino – 18-Apr-2018 10:35:14
ERROR: All simulations must be stoped before closing the app – 18-Apr-2018 10:35:15
ERROR: All simulations must be stoped before closing the app – 18-Apr-2018 10:35:16
ERROR: All simulations must be stoped before closing the app – 18-Apr-2018 10:35:16
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:04:21
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:06:54
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:06:57
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:07:28
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:07:49
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:08:37
INFO: Simulation successfully started for StateSpaceControl – 18-Apr-2018 23:14:46
INFO: Simulation successfully stoped for StateSpaceControl – 18-Apr-2018 23:15:09
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:15:15
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:16:16
ERROR: All simulations must be stoped before closing the app – 18-Apr-2018 23:16:17
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:18:44
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:19:52
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:21:47
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:30:02
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:34:20
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:34:20
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:34:29
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:34:44
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:35:19
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:35:38
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:37:00
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:40:23
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:40:40
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:45:26
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:46:32
ERROR: All simulations must be stoped before closing the app – 18-Apr-2018 23:46:32
INFO: Simulation successfully started for StateSpaceControl – 18-Apr-2018 23:50:58
ERROR: The coordinate value must be between 0 and 15 cm – 18-Apr-2018 23:51:14
ERROR: One of the parameters "a" or "b" must be odd – 18-Apr-2018 23:52:43
INFO: Simulation successfully stoped for StateSpaceControl – 18-Apr-2018 23:53:08
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:54:00
ERROR: The coordinate value must be between 0 and 15 cm – 18-Apr-2018 23:54:07
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:56:00
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:56:02
INFO: Simulation successfully stoped for PIDControl – 18-Apr-2018 23:57:44
INFO: Simulation successfully started for PIDControl – 18-Apr-2018 23:57:46
Anexa D
Rezultatele simulărilor
Simularea și testarea reprezintă o componentă importantă în vederea obținerii unor rezultate corecte. Se vor regăsi în continuare o serie de rezultate diferite, în funcție de opțiunile utilizatorului.
Pentru valorile nominale ale valorilor polilor în spațiul stărilor, cu opțiunile: Internal, State Space Control, User's choice și valorile coordonatelor (8, 2), rezultate se regăsesc în figurile Fig. D.1., Fig. D.2., respectiv Fig. D.3.
Fig. D.1. Interfața GUI pentru valorile (8, 2).
Fig. D.2. Mediul VRML pentru valorile (8, 2).
Fig. D.3. Reprezentarea XYGraph pentru valorile (8, 2).
Dacă utilizatorul dorește să testeze funcționarea sistemului în cazul unei traiectorii circulare, cu State Space Control, Circular motion și valoarea razei egală cu 3, rezultate sunt prezentate în figurile: Fig. D.4., Fig. D.5., respectiv Fig. D.6.
În acest caz se pretează cel mai bine folosirea opțiunilor X Axis Graph sau Y Axis Graph, deoarece în cazul mișcărilor circulare se pot observa valorile sinusoidale, cosinusoidal reprezentate de valorile componentelor x (vezi Fig. D.7.), respectiv y (vezi Fig. D.8.) în timp.
Fig. D.4. Interfața GUI pentru valoarea razei egală cu 3.
Fig. D.5. Mediul VRML pentru valoarea razei egală cu 3.
Fig. D.6. Reprezentarea XYGraph pentru valoarea razei egală cu 3.
Fig. D.7. Reprezentarea X Axis Graph pentru valoarea razei egală cu 3.
Fig. D.8. Reprezentarea Y Axis Graph pentru valoarea razei egală cu 3.
Un exemplu de mișcare rectangulară, cu valorile parametrilor: lungime – 5, lățime – 4 se regăsește în figurile: Fig. D.9., Fig. D.10., respectiv Fig. D.11.
Fig. D.9. Interfață GUI pentru valorile lungimii, lățimii egale cu 5, respective 4.
Fig. D.10. Mediul VRML pentru valorile lungimii, lățimii egale cu 5, respective 4.
Fig. D.11. Reprezentarea XYGraph pentru valorile lungimii, lățimii egale cu 5, respective 4.
Figurile Fig. D.12., Fig. D.13., respectiv Fig. D.14. reprezintă răspunsul aplicației la alegerea opțiunii Lissajous curve, cu parametrii: A-4, B-2, a-1, b-2.
Fig. D.12. Interfața GUI pentru o curbă Lissajous.
Fig. D.13. Mediul VRML pentru o curbă Lissajous.
Fig. D.14. Reprezentarea XYGraph pentru o curbă Lissajous.
Sistemul permite desenarea curbelor Lissajous cu contur închis până la ordinul 5, după cum reiese și din Fig. D.15.
Fig. D.15. Reprezentarea XYGraph pentru o curbă Lissajous cu parametrii (4, 2, 5, 2, 0).
Aceleași tipuri de simulări se pot realiza și cu modul de reglare PID Control (outer loop) . Spre exemplu, Fig. D.16. reprezintă mediul VRML în cazul unei mișcări spre poziția (5, 2), iar reprezentarea în XYGraph se află în Fig. D.17. Fig. D.18. reprezintă o traiectorie de tip Lissajous curve cu parametrii (4, 2, 1, 4, 0).
Fig. D.16. Mediul VRML în cazul mișcării în modul de reglare PID Control (outer loop).
Fig. D.17. Reprezentarea XYGraph în cazul mișcării în modul de reglare PID Control (outer loop).
Fig. D.18. Reprezentarea XYGraph pentru o curbă Lissajous în modul de reglare PID Control (outer loop).
Și opțiunea Fuzzy Control (outer loop) oferă aceleași oportunități, un traseu realizat din mișcări succesive dintr-un punct în altul este reprezentat în Fig. D.19., Fig. D.20., Fig. D.21.
Fig. D.19. Interfața GUI pentru modul de reglare Fuzzy Control (outer loop).
Fig. D.20. Mediul VRML pentru modul de reglare Fuzzy Control (outer loop).
Fig. D.21. Reprezentarea XYGraph pentru modul de reglare Fuzzy Control (outer loop).
Valorile neconforme sunt imediat sesizate de aplicație, care răspunde înapoi utilizatorului printr-un mesaj de eroare în zona ErrorLog (vezi Fig. D.22.).
Fig. D.22. Interfața GUI în momentul introducerii unor valori neconforme.
Rezumat
Sistemul de control al echilibrului unei bile pe o platformă mobilă reprezintă un sistem complex ce realizează controlul în trei moduri diferite al unei platforme cu două grade de libertate. Sistemul conține două componente reunite, una software și una hardware. Reunirea celor două este realizată printr-o interfață cu utilizatorul, care permite modificarea modului de control dorit, modului de echilibru dorit (central, o altă poziție, traiectorie circulară, dreptunghiulară sau curbe lissajous) sau a parametrilor regulatoarelor.
Interfața este ușor de utilizat și oferă feedback după introducerea și validarea oricăror noi date. Trecerea de la modul de simulare la cel de implementare se face ușor și rapid, cu păstrarea parametrilor existenți. Parametrii determinați matematic sunt considerați nominali și se poate reveni oricând la aceste valori.
Simularea conține un spațiu virtual ce imită realitatea, oferind o imagine de ansamblu asupra efectelor modificărilor produse de diferitele acțiuni ale utilizatorului, în timp ce modul de implementare hardware face legătura cu sistemul realizat fizic.
Astfel, un asemenea sistem de control al echilibrului reprezintă o provocare, o însușire a cunoștințelor din domenii diverse și este, totodată, actual și în continuă dezvoltare, putându-i fi asociate tot mai multe funcționalități. Sistemul este utilizat atât în domeniul educațional și în cercetare, cât și pentru realizarea unor echipamente care să mențină obiectele pe care le susțin în echilibru în cazul unor mișcări tectonice.
Abstract
Ball on plate balancing system represents a complex system, which can be controlled in three different ways. The plate is balancing in two degrees of freedom. The system has two components, a software one and a hardware one. Those two components are reunited by a friendly user interface, which allows the user to switch between controlling modes, balancing modes (central balancing, user’s choice position balance, circular motion, rectangular motion or lissajous curve) or to change controller’s parameters.
The interface is easy to use and provides feedback after introducing and validating new data. Switching between simulation mode and hardware mode is also easy and fast, maintaining existing parameters. Mathematicaly determined parameters are considerd convetional and it is posible to return to those values after any modification made by the user.
Simulation mode provides a virtual realm similar to reality, making possible a proper observation of the efects caused by user’s modifications. On the other hand, hardware implementation provides the actual physically made system.
Thereby, such a balancing system represents a challenge and requires knowledge from various fields of study. It is also modern and in ongoing developement, being able to gather new functionalities. This type of system is used in educational field, in research, but also for special equipment that maintains the objects its supports on perfect balance in case of earthquakes.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Lista de figuri și tabele 7 [306206] (ID: 306206)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
