Sunteți pe pagina 1din 83

GYÖRGY KATALIN OLTEAN STELIAN

SISTEME DE CONDUCERE ADAPTIVĂ


Îndrumător de laborator

2006
UNIVERSITATEA “PETRU MAIOR” TG.MUREŞ
FACULTATEA DE INGINERIE

GYÖRGY KATALIN OLTEAN STELIAN

SISTEME DE CONDUCERE ADAPTIVĂ

Îndrumător de laborator

2006
Referenţi ştiinţifici: Conf. univ. dr. ing. Mircea DULĂU
Şef lucr. univ. drd. ing. Horaţiu GRIF

Reproducerea integrală sau parţială a textului sau ilustraţiilor din această


lucrare este posibilă numai cu acordul scris al autorilor.

Tehnoredactare computerizată: autorii


Grafica: autorii
Corectura: autorii
Multiplicare: Petru Pop
Legătorie: Lenuţa Pop

Bun de tipar: 10.04.2006


C.Z.U.: 681.5

Tiparul executat la Universitatea “Petru Maior” din Târgu Mureş


CUPRINS

Reglarea cu dispersie minimă a proceselor cu parametri


Laborator nr. 1 constanţi cunoscuţi la o valoare prescrisă constantă şi 5
variabilă
Reglarea cu dispersie minimă a proceselor cu parametri
Laborator nr. 2 10
constanţi cunoscuţi, cu limitarea comenzii

Reglarea adaptivă cu dispersie minimă a unui proces cu


Laborator nr. 3 13
parametri variabili sau necunoscuţi
Regulatorul de putere cu dispersie minimă pentru
Laborator nr. 4 comanda instalaţiei de prelucrare cu fascicul de 20
electroni

Laborator nr. 5 Acordarea regulatorelor clasice cu criterii integrale 25

Proiectarea regulatoarelor clasice PI discrete robuste pe


Laborator nr. 6 31
baza rezervei de fază

Proiectarea regulatoarelor autoacordabile prin metoda


Laborator nr. 7 36
alocării polilor

Sisteme adaptive cu model de referinţă. Metoda de


Laborator nr. 8 44
adaptare MIT

Sisteme adaptive cu model de referinţă. Metoda de


Laborator nr. 9 50
adaptare Lyapunov

Sistem adaptiv cu model de referinţă pentru echilibrarea


Laborator nr.10 56
pendulului inversat

Reglarea adaptivă locală cu model de referinţă a


Laborator nr.11 63
roboţilor
Aplicaţie practică de reglare adaptivă a turaţiei unui
Laborator nr.12 motor de curent continuu utilizând microcontrolerul 69
PIC16F628
Anexe 77

Bibliografie 83
Laborator nr. 1

REGLAREA CU DISPERSIE MINIMĂ A PROCESELOR


CU PARAMETRI CONSTANŢI CUNOSCUŢI LA O
VALOARE PRESCRISĂ CONSTANTĂ ŞI VARIABILĂ

1. Scopul lucrării

Lucrarea are ca scop studiul regulatoarelor cu dispersie minimă pentru


procese dinamice discrete. Se vor implementa diferiţi algoritmi de reglare în
funcţie de valoarea impusă a procesului şi se va urmări eficienţa acestora în lipsa
respectiv în prezenţa semnalului perturbator.

2. Prezentare teoretică

Modelele parametrice obţinute în urma procesului de identificare se pot


utiliza în proiectarea unor regulatoare discrete pe baza minimizării unor criterii
dependente de eroarea de reglare. Dacă obiectivul legii de reglare constă în
minimizarea dispersiei erorii atunci metodele de reglare digitale directe (DDC) se
numesc regulatoare de dispersie minimă.
Fie un proces cu o singură intrare uk şi o singură ieşire yk (sistem SISO),
perturbat de un zgomot alb ek, reprezentat prin schema din figura 1.1.

Fig. 1.1 Reprezentarea unui sistem discret perturbat de un zgomot aditiv

Să considerăm modelul procesului de forma:

B ( z −1 ) C ( z −1 )
yk = ⋅ u k −µ + λ ⋅ ⋅ ek (1.1)
A( z −1 ) A( z −1 )

unde: yk este secvenţa de ieşire, uk este secvenţa de comandă iar ek este o


secvenţă de variaţie aleatoare considerată perturbaţie. A(z-1), B(z-1) şi C(z-1) sunt
polinoame de forma:

5
A( z −1 ) = 1 + a1 z −1 + a 2 z −2 + K + a n z − n
B( z −1 ) = b0 + b1 z −1 + K + bm z − m (1.2)
C ( z −1 ) = 1 + c1 z −1 + c 2 z − 2 + K + c nc z − nc

şi au proprietatea că:

C ( z −1 ) = A( z −1 ) F ( z −1 ) + z − µ G ( z −1 ) (1.3)
unde:
F ( z −1 ) = 1 + f 1 z −1 + f 2 z −2 +K+ f µ −1 z − µ +1
(1.4)
G ( z −1 ) = g 0 + g1 z −1 +K+ g n −1 z − n +1

O primă categorie de regulatoare cu dispersie minimă sunt regulatoarele


proiectate pentru o valoare impusă nulă. Criteriul de minimizat în această
situaţie este:

J * (u) = min M ( y k )
uk ∈U
2
{ } (1.5)

de unde rezultă legea de reglare cu dispersie minimă:

∗ G ( z −1 )
uk =− yk (1.6)
B( z −1 ) F ( z −1 )

Regulatoare cu dispersie minimă pot fi folosite şi în cazul problemelor


de predicţie. Pe baza măsurătorilor până la eşantionul tk se poate prezice mărimea
{[
de ieşire yk+µ astfel încât expresia M y k + µ − ~y k +µ k ] } să fie minimă, unde
2
~
y k +µ k
reprezintă valoarea estimată a ieşirii în eşantionul tk+µ pe baza măsurătorilor până
la eşantionul tk. Relaţia de estimare este în acest caz:

~ B ( z − 1 ) ⋅ F ( z −1 ) G ( z −1 )
y k +µ k = uk + ⋅ yk (1.7)
C ( z −1 ) C ( z −1 )

Regulatoarele cu dispersie minimă pentru o valoare impusă nenulă


folosesc următorul criteriu de minimizat:

{(
J (u) = M y k − y pr )}
2
(1.8)

Algoritmul de reglare ce rezultă după minimizarea criteriului (1.8) este:


- dacă valoarea impusă (ypr) este constantă

∗ G ( z −1 )  C (1) 
uk = ⋅ ⋅ y pr − y k  (1.9)
F ( z ) B( z )  G (1)
−1 −1

6
-dacă valoarea impsă (ypr) este variabilă

C ( z −1 ) y pr − G ( z −1 ) y k
uk ∗ = (1.10)
F ( z −1 ) B ( z −1 )

3. Desfăşurarea lucrării

Fie procesul dinamic discret caracterizat prin modelul de regresie:

y k = 15 . u k − 2 + 3( e k + 0.2e k −1 − 0.48e k −2 )
. y k −1 − 0.54 y k − 2 + 2u k −1 − 18

unde ek este un semnal perturbator de tip zgomot alb cu o amplitudine redusă.


Se cere determinarea algoritmului de reglare, care asigură atingerea ieşirii
impuse ypr folosind regulatoarele cu dispersie minimă descrise în prezentarea
teoretică a lucrării. Algoritmii determinaţi se vor implementa în mediul integrat
de calcul şi simulare MATLAB. Se vor urmări evoluţia ieşirii şi comenzii în
timpul funcţionării procesului. Pentru o însuşire cât mai aprofundată a metodelor
de reglare se încearcă simularea sistemului de control şi în mediul SIMULINK.
Pentru rezolvarea problemei de reglare se calculează polinoamele de
întârziere F(z-1), respectiv G(z-1). Se poate observa din enunţul problemei că
ordinul sistemului este n=2, iar întârzerea este μ=1. Din relaţiile (1.4) se
determină gradul polinoamelor necunoscute, iar folosind relaţia de bază (1.5) se
determină valorile coeficienţilor polinoamelor necunoscute. Astfel se obţin
următoarele rezultate:

F ( z −1 ) = 1 G ( z −1 ) = 1.7 − 1.02 ⋅ z −1

În figura 1.2 este prezentată schema Simulink a sistemului de control al


procesului propus, unde regulatorul este de dispersie minimă. Se poate observa
că pe schemă este implementată varianta de regulator pentru o valoare prescrisă
constantă.

Fig. 1.2 Sistemul de control cu regulator de dispersie minimă pentru o valoare


prescrisă constantă

7
Sistemul din figura 1.2 este simulat în 50 de eşantioane la o intrare de
referinţă constantă cu amplitudine 10 şi cu un zgomot gaussian de medie zero şi
dispersie 0.01. Ieşirea din proces şi comanda sunt prezentate în figura 1.3.

Fig. 1.3 Comanda şi ieşirea în prezenţa unui regulator de dispersie minimă

În figura 1.4 se prezintă variaţia dispersiei semnalului de ieşire în timpul


simulării sistemului de control.

Fig. 1.4. Variatia dispersiei semanulului de iesire

În figura 1.5 se prezintă schema Simulink unde s-a implementat


regulatorul de dispersie minimă pentru o valoare impusă variabilă. Se va încerca
implementarea algoritmului de reglare de dispesie minimă folosind mediul
Matlab.

Fig. 1.5 Sistemul de control cu regulator de dispersie minimă pentru o


valoare prescrisa variabilă

8
Fig. 1.6 Semnalul de ieşire, valoarea prescrisă variabilă şi comanda

Sistemul din figura 1.5 este simulat în 50 de eşantioane la o intrare de


referinţă variabilă (impulsuri dreptunghiulare cu amplitudine unitară) perturbat
cu un zgomot gaussian de medie zero şi dispersie mică. Evoluţia semnalului de
ieşire împreună cu valoare prescrisă respectiv variaţia comenzii sunt prezentate în
figura 1.6.

4. Întrebări

1. Ce se întâmplă dacă amplitudinea zgomotului este mare?


2. Ce reprezintă valoarea ypr?
3. Care este ideea de bază a regulatoarelor cu dispersie minimă?
4. Cum se poate calcula dispersia unui semnal?
5. Ce este un semnal "zgomot alb"?

9
Laborator nr. 2

REGLAREA CU DISPERSIE MINIMĂ A PROCESELOR


CU PARAMETRI CONSTANŢI CUNOSCUŢI, CU
LIMITAREA COMENZII

1. Scopul lucrării

Lucrarea are ca scop studiul regulatoarelor cu dispersie minimă cu


limitarea comenzii, respectiv cu limitarea variaţiei dinamice a comenzii pentru
controlul proceselor dinamice discrete. Se vor implementa diferiţi algoritmi de
reglare în funcţie de valoarea impusă procesului şi se va studia influenţa
factorului de ponderare asupra algoritmului de reglare.

2. Prezentare teoretică

Dacă energia de comandă este limitată, legea de reglare se obţine din


minimizarea unei funcţii criteriu ce depinde de o combinaţie liniară între eroarea
de reglare şi efortul comenzii. Astfel se obţine în cadrul regulatoarelor de
dispersie minime următoarele tipuri de regulatoare.

Regulatoare cu dispersie minimă cu limitarea comenzii cînd criteriul de


minimizat este:

{(
J (u) = M y k +µ − y pr )
2
+ α ⋅ uk
2
} (2.1)

unde α>0 este un factor de ponderare. Comanda optimală ce rezultă în urma


minimizării criteriului (2.1) este:


uk =
( )
B ( z −1 ) F ( z −1 ) C z −1
⋅ y pr −
G ( z −1 ) B ( z −1 ) F ( z −1 )
⋅ y k (2.2)
B 2 ( z −1 ) F 2 ( z −1 ) + α ⋅ C 2 ( z −1 ) B 2 ( z −1 ) F 2 ( z −1 ) + α ⋅ C 2 ( z −1 )

Regulatoare cu dispersie minimă cu limitarea variaţiei dinamice a


comenzii, când criteriul de calitate devine:

{(
J (u) = M y k +µ − y pr )
2
(
+ α ⋅ u k − u pr )}
2
(2.3)
unde u pr reprezintă valoarea staţionară a comenzii care asigură menţinerea ieşirii
la valoarea prescrisă y pr . Comanda optimală se obţine cu relaţia:

10
B 2 ( z −1 ) F ( z −1 )C ( z −1 ) + α A( z −1 )C ( z −1 ) B ( z −1 ) F ( z −1 ) G ( z −1 )
uk ∗ = y − yk
[
B( z −1 ) B 2 ( z −1 ) F 2 ( z −1 ) + αC 2 ( z −1 )] pr
B 2 ( z −1 ) F 2 ( z −1 ) + α C 2 ( z −1 )
(2.4)

3. Desfăşurarea lucrării

Se consideră procesul dinamic discret caracterizat prin modelul de


regresie:
yk = yk −1 + yk − 2 + uk −1 + ek

unde ek este un semnal perturbator de tip zgomot alb cu o amplitudine redusă.


Se cere determinarea algoritmului de reglare care asigură atingerea ieşirii
impuse ypr folosind regulatoare cu dispersie minimă cu limitarea comenzii,
respectiv cu limitarea variaţiei dinamice a comenzii. Se vor testa performanţele
algoritmului de reglare pentru diferite valori ale coficientului de ponderare α.
Algoritmul determinat se implementează în mediul integrat de calcul şi simulare
MATLAB. Se vor reprezenta evoluţiile ieşirii şi comenzii în timpul funcţionării
procesului. Pentru o însuşire cât mai bună a metodelor de reglare se încearcă
simularea sistemului de control şi în mediul de simulare SIMULINK.
Pentru rezolvarea problemei de reglare propusă se calculează polinoamele
de întârziere F(z-1), respectiv G(z-1). Se poate observa din enunţul problemei că
ordinul sistemului este n=2, iar întârzierea este de un eşantion (μ=1). Din
relaţiile (1.4) se determină gradele polinoamelor necunoscute, iar folosind relaţia
de bază (1.5) se determină valorile coeficienţilor polinoamelor necunoscute. Se
obţin următoarele rezultate:
F ( z −1 ) = 1 G ( z −1 ) = 1 + 1 ⋅ z −1

În figura 2.1 este prezentată schema sistemului de control realizată în


Simulink.

Fig. 2.1 Sistemul de control cu un regulator de dispersie minimă pentru o


valoare prescrisa variabilă şi cu limitarea comenzii

11
Sistemul din figura 2.1 este simulat în 50 de eşantioane, la o intrare de
referinţă variabilă perturbată de un zgomot gaussian cu medie zero şi dispersie
0.01, pentru diferite valori de ponderare a comenzii α. Datele simulate (semnalul
de ieşire, semnalul de comandă şi cel de referinţă) sunt salvate şi sunt
reprezentate grafic în Matlab pentru comparaţii ulterioare. Evoluţiile semnalului
de comandă (Fig. 2.2.a) şi a semnalului de ieşire (Fig. 2.2.b) sunt prezentate în
figura 2.2, unde parametrul curbelor reprezintă coeficientul de ponderare.

Fig. 2.2 Variaţia semnalului de comandă (a) şi semnalului de ieşire (b) obţinute
în urma simulării schemei de control din fig. 2.1.

4. Întrebări

1. Cum se modifică criteriul de minimizat dacă se introduce şi limitarea


comenzii?
2. Ce reprezintă valoarea α şi ce efect are?
3. Cum se modifică rezultatul reglării dacă valoarea prescrisă este un semnal
variabil?
4. Cum se modifică ieşirea reglată dacă semnalul perturbat are o distribuţie
normală de medie nenulă?

12
Laborator nr. 3

REGLAREA ADAPTIVĂ CU DISPERSIE MINIMĂ A


PROCESELOR CU PARAMETRI VARIABILI SAU
NECUNOSCUŢI

1.Scopul lucrării

Lucrarea are ca scop studiul regulatoarelor cu dispersie minimă pentru


procese dinamice discrete cu parametrii variabili sau necunoscuţi. Se vor
implementa diferiţi algoritmi de reglare adaptivi în funcţie de valoarea de
referinţă impusă procesului.

2. Prezentare teoretică

Parametrii unui regulator numeric de dispersie minimă DDC pot fi


determinaţi univoc, dacă parametrii procesului sunt cunoscuţi. În lucrare se
prezintă două metode de rezolvare a acestor tipuri de probleme. Prima metodă se
referă la identificarea parametrică a procesului (reglare adaptivă indirectă), iar
cea de a doua metodă se referă la identificarea parametrică a regulatorului
(reglare adaptivă directă). Parametrii regulatorului sunt determinaţi pe baza
minimizării dispersiei erorii.

2.1. Metoda identificării parametrice a procesului pe baza datelor măsurate


În situaţia în care parametrii procesului sunt necunoscuţi determinarea
comenzii optimale este precedată de o identificare a procesului. Această
modalitate de conducere a proceselor poartă denumirea de reglare adaptivă
indirectă, deoarece parametrii regulatorului sunt determinaţi în fiecare pas de
eşantionare pe baza identificării “on line” a parametrilor procesului. Aceste tipuri
de regulatoare autoacordabile (“indirect self-tuning”) sunt flexibile deoarece
permit folosirea şi combinarea mai multor metode de identificare şi de reglare.
În această lucrare este folosit pentru determinarea parametrilor
regulatorului, criteriul de dispersie minimă, rezultând o comandă optimală pentru
fiecare pas de eşantionare.
Pentru identificarea parametrică a procesului cele mai folosite metode sunt
CMMP (cele mai mici pătrate), "off-line" sau "on line".
Metoda de identificare parametrică CMMP “off line” la un model de
regresie ARX este prezentată în paragrafele următoare. Se consideră modelul de
regresie cu forma (3.1).

A(q −1 ) ⋅ y (k ) = B(q −1 ) ⋅ u (k − nk ) + e(k ) (3.1)

13
unde y(k) este semnalul de ieşire, u(k) este intrarea, iar e(k) este semnalul
perturbator de tip zgomot alb. Polinoamele A(q-1) respectiv B(q-1) sunt polinoame
de întârziere, coeficienţii lor reprezentând parametrii modelului de regresie care
vor trebui identificaţi pe baza datelor măsurate.
Se introduc notaţiile (3.2) şi (3.3).

θ = [a1 a 2 K a na b1 b2 K bnb ]T (3.2)


ϕ (k ) = [− y(k − 1)K − y(k − na ) u(k − nk ) Ku(k − nk − nb )] T
(3.3)

Modelul procesului devine:

y (k ) = ϕ T (k ) ⋅ θ + e(k ) (3.4)

şi se bazează pe minimizarea erorii pătratice:

N
V (θ ) = ∑ ( y (t ) − ϕ T (t ) ⋅ θ ) 2 (3.5)
t =1

Vectorul parametrilor identificaţi se poate calcula în final cu formula (3.6).


−1
N  N 
θ = ∑ ϕ ( k ) ⋅ ϕ T ( k )  ⋅ ∑ ϕ ( k ) ⋅ y ( k )  (3.6)
 t =1   t =1 

Metoda de identificare parametrică CMMP “on line” (recursivă) la un


model de regresie ARX se bazează pe minimizarea erorii pătratice ponderate:

N
V (θ ) = ∑ λ (t ) ⋅ ( y (t ) − ϕ T (t ) ⋅ θ )2 (3.7)
t =1

Algoritmul recursiv de identificare a parametrilor procesului se implementează


cu ajutorul relaţiilor (3.8).

θ (k + 1) = θ (k ) + K (k + 1) ⋅ ε (k + 1)
ε (k + 1) = y (k + 1) − ϕ T (k + 1) ⋅ θ (k )
F (k ) ⋅ ϕ (k + 1)
K (k + 1) = (3.8)
λ + ϕ (k + 1) ⋅ F (k ) ⋅ ϕ (k + 1)
T

1
F (k + 1) = ⋅ ( F (k ) − K (k + 1) ⋅ ϕ T (k + 1) ⋅ F (k ))
λ

unde φ reprezintă vectorul măsurătorilor (3.3), y(k+1) este iesirea măsurată în


momentul k+1, θ(k) este vectorul parametrilor modelului (3.2), determinat în
momentul k, F(k) este matricea de dispersie a parametrilor, care pe parcursul
algoritmului de identificare ar trebui să scadă şi λ este factorul de uitare (0<λ<1)
constant sau variabil.

14
Se poate observa că algoritmul de identificare recursivă a parametrilor
necesită cunoaşterea vectorului parametrilor în momentul iniţial, respectiv
cunoaşterea matricei de dispersie iniţiale. Succesul identificării parametrice
depinde foarte mult de alegerea iniţială a acestor valori. Dacă nu există informaţii
apriorice despre parametrii procesului atunci pentru determinarea valorii θ(0) se
poate realiza o identificare de tip “off-line”. Alegerea matricei F(0) va furniza
gradul de incertitudine a parametrilor.
Cu valorile determinate în procesul de identificare se determină parametrii
regulatorului pe baza criteriului de dispersie minimă, pentru fiecare pas de
eşantionare. Schema bloc a sistemului de control este prezentată în figura 3.1.

Fig. 3.1 Schema bloc de conducere adaptivă indirectă

Dezavantajele unei comenzi de acest tip sunt:


- la începutul procesului de reglare, datorită incertitudinii iniţiale de identificare,
regulatorul poate funcţiona departe de domeniul optimal;
- aplicarea procedurilor de identificare “on line ” unor procese care funcţionează
în buclă închisă poate conduce la erori de identificare.

2.2. Metoda identificării parametrice a regulatorului pe baza datelor


măsurate
Pentru eliminarea acestor probleme au fost elaborate strategiile de reglare
adaptivă directă (“direct self-tuning”), în cazul cărora se păstrează procesul
simultan de identificare şi comandă optimală, dar spre deosebire de metodele
prezentate anterior se estimează direct parametrii regulatorului optimal.
Presupunem modelul de regresie al procesului:

A ( z −1 ) y k = B ( z −1 ) u k − µ + λ C ( z −1 ) e k (3.9)

Pentru metodele de reglare cu dispersie minimă valoarea comenzii este:

∗ P ( z −1 )
uk = − yk (3.10)
Q ( z −1 )

Prin transformări simple ale sistemului şi luând în considerare relaţia


(3.10), unde P(z-1) respectiv Q(z-1) sunt polinoame de întârziere de ordin n şi de
ordin n+μ+1, relaţia modelului de regresie (3.9) devine:

15
yi + µ = θ T xi + ui + ε i + µ 3.11)

unde θT reprezintă un vector al parametrilor:

[
θ T = p0 , p1 ,..., pn −1 , q1 , q 2 ,..., q n + µ +1 ]
P ( z −1 ) = p0 + p1 z −1 +...+ pn −1 z − n +1 (3.12)
Q( z −1 ) = 1 + q1 z −1 +...+ q n + µ −1 z n + µ −1

Vectorul măsurătorilor este:

[
x k = yk , yk −1 , ...,y k -n +1 , uk −1 ,..., uk − µ − n +1
T
] (3.13)

Se caută parametrii θT care minimizează criteriul:

( ) {[
J ( u) = M y k + µ 2 = M θ T x k + u k ] } + M {ε
2
k +µ
2
} (3.14)

Minimul criteriului se obţine pentru:

uk ∗ = −θ T x k (3.15)

unde vectorul parametrilor regulatorului este θT.


Pentru implementarea algoritmului se va considera variabila:

sk + µ = yk + µ − uk (3.16)

iar modelul devine:


sk + µ = θ x k + ε
T
k +µ (3.17)

Relaţia (3.17) reprezintă relaţia de bază pentru identificarea parametrilor


regulatorului. Schema de reglare adaptivă directă este prezentată în figura 3.2.

Fig. 3.2 Schema bloc de conducere adaptive cu estimarea directă


a paramtetrii regulatorului

16
Pentru metoda nerecursivă se consideră un set de măsurători:

S = X ⋅θ + ε (3.18)
unde:

[
S = sµ ]
s µ +1 K s k + µ ε = ε µ
T
[ ε µ +1 K ε k + µ ]
T
[
X = x0
T
x1
T
L xk ]
T T
(3.19)

Dacă se aplică metoda de identificare a celor mai mici pătrate rezultă parametrii
estimaţi şi comanda cu dispersie minimă:

( )
~ −1 ~T
X S ⇒ uk = − θ x k

θ = XT X (3.20)

Pentru metoda recursivă cu factor de uitare constant 0.9<λ < 1, algoritmul


de determinare a parametrilor regulatorului este:

Fk −1 ⋅ x k −µ
T
~ ~
θ k = θ k −1 +
λ + x k − µ ⋅ Fk −1 ⋅ x k − µ T (
⋅ sk − θ
T
k −1 ⋅ x k −µ ) (3.21)

unde matricea F(k) se determină cu relaţia 3.22.

1 Fk −1 ⋅ x k − µ T ⋅ x k − µ ⋅ Fk −1 
Fk =  Fk −1 −  (3.22)
λ  λ + x k −µ ⋅ Fk −1 ⋅ x k − µ T 

3. Desfăşurarea lucrării

Se consideră procesul dinamic discret caracterizat prin modelul de


regresie:
yk = yk −1 + yk − 2 + uk −1 + ek

unde ek este un semnal perturbator de tip zgomot alb cu amplitudine redusă.


Se cere determinarea algoritmului de reglare, care asigură atingerea ieşirii
impuse ypr folosind regulatoare cu dispersie minimă autoacordabile prin
identificare recursivă a procesului (sistem adaptiv indirect). Algoritmul
determinat se va implementa în mediul integrat de calcul şi simulare MATLAB.
Se vor prezenta evoluţiile ieşirii şi comenzii în timpul funcţionării procesului.
În figurile 3.3 şi 3.4 sunt prezentate variaţia erorii de estimare a
parametrilor (Fig.3.3.a.), variaţia parametrilor procesului în timpul rulării
algoritmului de estimare şi reglare (Fig. 3.3.b), semnalul de ieşire (Fig.3.4.a) şi
semnalul de comandă cu dispersie minimă (Fig. 3.4.b) atunci când procesul este
perturbat de un zgomot aditiv.

17
Fig. 3.3 Eroarea de estimare şi variaţia parametrilor procesului pe parcursul
agoritmului recursiv de identificare

Fig.3.4 Ieşirea şi mărimea prescrisă, respectiv variaţia semnalului de comandă


cu dispersie minimă când procesul este perturbat de un zgomot aditiv

Pentru a micşora amplitudinea suprareglajului comenzii în momentul


schimbării semnalului de referinţă, se va implementa algoritmul de dispersie
minimă cu limitarea semnalului de comandă.

Fig. 3.5 Variaţia semnalului de comandă, ieşirea reglată şi valoarea


prescrisă când procesul este perturbat de un zgomot aditiv

18
Pentru implementarea metodei de identificare directă a parametrilor
regulatorului se procedează asemănător. Diferenţa în acest caz este dată de
estimarea directă cu metoda celor mai mici pătrate a parametrilor regulatorului,
de unde se poate calcula semnalul de comandă. Pentru acelaşi proces se obţin cu
reglarea adaptivă directă rezultatele prezentate în figurile 3.5 şi 3.6.

Fig. 3.6 Dispersia ieşirii şi variaţia parametrilor regulatorului pe


parcursul algoritmului recursiv de identificare

4. Întrebări

1. Cum se poate determina un regulator cu dispersie minimă dacă parametrii


procesului sunt necunoscuţi sau variabili?
2. Ce reprezintă metoda de identificare CMMP “off-line”?
3. De ce este mai avantajoasă metoda de identificare CMMP “on-line”?
4. Ce reprezintă factorul de uitare?
5.Ce reprezintă matricea F la metoda de identificare recursivă?

19
Laborator nr. 4

REGULATORUL DE PUTERE CU DISPERSIE MINIMĂ


PENTRU COMANDA INSTALAŢIEI DE PRELUCRARE
CU FASCICUL DE ELECTRONI

1. Scopul lucrării

Lucrarea are ca scop studiul regulatoarelor de putere cu dispersie minimă


pentru comanda instalaţiei de prelucrare cu fascicul de electroni (Fig. 4.1). În
lucrare sunt prezentate o îmbinarea a metodelor de simulare a procesului,
estimare a parametrilor, estimare a stărilor, respectiv procedeul de reglare cu
dispersie minimă a unui proces neliniar.

2. Prezentare teoretică

Fig. 4.1 Construcţia tipică a instalaţiei de prelucrare cu fascicul de electroni

20
Elementul de bază al instalaţiei de prelucrare cu fascicul de lectroni este
tunul electronic având ca rol producerea electronilor liberi, formarea unui
fascicul de electroni, focalizarea şi deflexia acestuia. Un tun electronic este
realizat cu următoarele componente de bază: catod de emisie electronică
(termocatodul), electrodul de accelerare (anodul), electrodul de comandă a
fasciculului (electrod Wehnelt), dispozitive de focalizare a fasciculului,
dispozitive de deflexie a fasciculului.
Catozii termoemisivi pot fi cu încălzire directă la temperatura de emisie
sau cu încălzire indirectă prin radiaţie sau bombardament electronic. Catozii cu
încălzire directă se utilizează în cazurile în care curentul de emisie este relativ
scăzut, sub 100 mA, şi se caracterizează printr-o inerţie termică redusă, iar
catozii cu încălzire indirectă sunt mai masivi şi se folosesc la curenţi de emisie
peste 100 mA.
În continuare se consideră, pentru obţinerea unui fascicul de electroni
nx10mA, cazul catodului cu termoemisie, cu încălzire indirectă. Catodul masiv
tip bolţ este încălzit cu o putere constantă de electronii emişi de un catod primar,
acesta funcţionând în regiunea de saturaţie. Electronii liberi sunt acceleraţi spre
catodul masiv cu o tensiune de cca. 1 kV.
Catodul primar parcurs de un curent comandat Ipk se încălzeşte la
temperatura Tp şi emite un curent de densitate Js. Electronii acceleraţi de
potenţialul constant Us, încălzesc catodul masiv la temperatura Tmk. Prin
construcţie catodul masiv are o capcană termică, diametrul catodului este redus la
0.6...0.7mm, faţă de un diametru de 1.4mm al suprafeţei de emisie. Această
soluţie permite limitarea pierderilor de căldură prin conducţie termică spre zona
de fixare a catodului bolţ, dar introduce o neliniaritate în caracteristica
ansamblului de catod (pentru detalii suplimentare se recomandă consultarea
documentaţiei instalaţiei de prelucrare cu FE).
Se pune problema determinării algoritmului de reglare cu dispersie
minimă a puterii de încălzire a catodului masiv. Pentru determinarea ordinului
modelului ARMA a procesului s-a modelat funcţionarea ansamblului catodului,
după care s-a implementat un regulator cu dispersie minimă.

2.1. Determinarea modelului termic al ansamblului de catod


Pentru obţinerea distribuţiei de putere care încălzeşte catodul masiv este
necesară determinarea distribuţiei de potenţial între catodul primar, având forma
unui un tor cu dimensiunile R=2.74mm şi r=0.15mm, şi catodul masiv, un
cilindru cu semilungimea l=6,6mm şi raza 0.7mm. Obţinând traiectoria
electronilor se va determina distribuţia densităţii de sarcină pe suprafaţa catodului
masiv care este proporţională cu densitatea de putere incidentă.
Modelul se bazează pe determinarea puterii de încălzire şi a celei pierdute
prin radiaţie. Calculând suprafeţele de schimb radiativ s-au rezolvat ecuaţiile
regimului termic în condiţiile unor ipoteze simplificatoare.
Modelul termic se obţine din echilibrul de putere al catozilor. Catodul
primar este încălzit de curentul Ipk comandat, respectiv de fracţia de putere
radiată de catodul masiv ce vine în unghiul solid sub care se vede catodul
primar. Acesta pierde puterea prin radiaţie şi prin acumularea de energie necesară

21
încălzirii. Catodul masiv pe lângă aceste fenomene pierde o cantitate de căldură
şi prin conducţie termică spre zona de prindere, zonă care prin micşorarea
diametrului catodului masiv, prezintă o rezistenţă termică mărită. Erorile
introduse prin neglijarea pierderilor de conducţie termică până la dispozitivul de
prindere sunt mai mici de 1%. Cu aceste ipoteze puterea pierdută Pλ(T) prin
conducţie termică a catodului masiv se poate evalua cu relaţia:
1
d2  σ r0 2
P λ (T ) = λ ⋅ π ⋅ 8 ( T α r0 +1  (4.1)
4  α r0 + 1) ⋅ λ ⋅ d 

Modelul matematic al procesului dinamic de încălzire al ansamblului


catodului în absenţa ecranului termic, bazat pe bilanţul de puteri în aceste ipoteze
este dat de relaţiile:

d 1  ρ 0 ⋅ Tp α 
Tp = ⋅ ⋅ ε + I pk − Pr( Tp ) ⋅ S 00 
2
 Pr( Ts ) S 01 (Tp ) 2 R 2
dt Cp  r  (4.2)
d
Ts =
1
[Pr( Tp ) ⋅ S 10 ⋅ ε (Ts ) + Pe (Tp , Us ) − Pr( Ts ) ⋅ S 11 − P λ (Ts ) ]
dt Cs
unde:
Cp şi Cs reprezintă capacitatea calorică a catodului primar şi masiv;
Pr este puterea cedată şi prin radiaţie termică, respectiv putere reflectată de catozi
Pr(T )
în funcţie de temperatura lor: Pr(T ) = αr0 ⋅ T αr0 cu puterea reflectată ε (T ) = ;
σ ⋅T 4
js(Tp,E(R-r)) este curentul electronic de saturaţie al catodului primar comandat
prin curentul Ipk, dat de relaţia:
 eUA − 3 .79 ⋅ 10 − 6 ⋅ E ;
j s (T , E ) = 120 . 4 ⋅ T 2
⋅ exp  − 1 . 1608 ⋅ 10 4 

 T 
Pe(Tp,Ts) este puterea electrică globală care încălzeşte catodul masiv, şi se obţine
din relaţia: Pe(Tp, Us) = 4π 4 ⋅ r ⋅ R ⋅10 4 ⋅ v j ⋅ j s (Tp, E ( R − ρ )) ⋅Us ;
Pλ(Ts) este puterea pierdută prin conducţie termică de catodul masiv;
2R·r0·Tp·I2/r2 este puterea primară de încălzire a catodului primar de curentul
comandat Ipk.
Încălzirea are loc prin efect Joule, unde s-au introdus corecţiile datorate
modificării rezistivităţii catodului în funcţie de temperatură.

2.2. Regulatorul de putere cu dispersie minimă


Unul din avantajele de bază oferite de regulatoarele discrete directe DDC
este acela de a permite înlocuirea buclelor de reglare PI sau PID clasice cu o
reglare numerică discretă. Cercetările din acest domeniu au arătat că forma
discretizată a regulatoarelor clasice nu este eficientă în cazul în care procesele
sunt perturbate de semnale stocastice. În aceste situaţii, influenţa perturbaţiilor
asupra mărimii reglate se poate elimina sau diminua printr-o reglare predictivă cu
dispersie minimă.
Modelul ARMA al procesului de încălzire a ansamblului catodic rezultat
după identificare este:

22
k
=
B z −1( ) k −µ

( )
C z −1
PMK
A z −1( )
I pk
( )
A z −1
ek (4.3)

unde PMK reprezintă mărimea de ieşire, Ipk reprezintă mărimea de intrare (de
comandă), µ este timpul mort al procesului exprimat ca multiplu al timpului de
eşantionare ales.
Raportul B(z-1)/A(z-1) reprezintă funcţia de transfer discretă a procesului,
iar polinomul C(z-1) caracterizează natura zgomotului. Pentru un zgomot alb
C(z-1)=1. Vectorul perturbaţiei ek se consideră cu distribuţie normală (gaussiană),
cu medie nulă. Regulatorul cu dispersie minimă se obţine în urma minimizării
criteriului:

{(
J (u ) = M PMK
k + µ +1
− PMKprescris )
2
(
+ α ⋅ I pk
k
− I pkprescris )}
2
(4.4)

unde PMK reprezintă ieşirea reglată, PMKprescris este valoarea prescrisă a ieşirii,
valoare care se corectează în funcţie de diferenţa dintre curentul maxim de
fascicul impus de tehnologia prelucrată şi curentul maxim estimat, iar Ipk
reprezintă valoarea curentului de comandă.
Dacă parametrii modelului sunt cunoscuţi atunci polinoamele A(z-1),B(z-1),
respectiv C(z-1 ) sunt date de relaţiile:

A (z −1 ) = 1 + a 1 ⋅ z −1 + a 2 ⋅ z −2 + a 3 z −3
B (z −1 ) = b0 + b1 ⋅ z −1 + b 2 ⋅ z − 2 (4.5)
C (z −1 ) = 1

Proiectarea regulatorului se bazează pe separarea secvenţelor de comandă.


Dacă se presupune că există polinoamele F(z-1) şi G(z-1) astfel încît să fie
satisfăcută relaţia (1.3), atunci aceasta poate fi folosită pentru determinarea
coeficienţilor polinoamelor F şi G. Valoarea curentului Ipk, ce reprezintă
comanda procesului la orice moment de timp se obţine din relaţia (4.6):

( ) F ( z )C ( z ) + α ⋅ A ( z )C ( z ) P ( ) ( ) ( ) P
2
B z −1 −1 −1 −1 −1
B z −1 F z −1 G z −1
I pk k
= − k

B ( z ) ⋅  B (z ) F ( z ) + α C ( z ) B ( z ) F (z ) + α C (z )
MKprescris MK
−1 −1 2 −1 2 2 −1 −1 2 −1 2 2 −1
 
(4.6)
Relaţia este cunoscută şi aplicată frecvent în cazul comenzilor adaptive a
sistemelor liniare, dar în cadrul problemei prezentate, neliniaritatea procesului
impune introducerea unui pol suplimentar în relaţia de determinare a comenzii.
Acest pol dă un caracter integrator reglării şi nu permite variaţia bruscă a mărimii
de comandă în cazul în care stările procesului nu se află în vecinătatea valorilor
prescrise. Deci parametrii estimaţi nu sunt consistenţi. Rezultatele obţinute
(puterea reglată şi eroarea de estimare a modelului) cu regulatorul propus, pentru
o valoare prescrisă de 40W s-au reprezentat în figura 4.2.

23
Eroarea de estimare a modelului din figura 4.2 reprezintă abaterea
pătratică a ieşirii (puterea PMK) estimate, faţă de ieşirea (puterea PMK) măsurată.

Fig. 4.2 Reglarea adaptivă cu dispersie minimă a puterii PMK, variaţia puterii şi
a erorii de estimare a modelului.

3. Desfăşurarea lucrării

În cadrul lucrării de laborator se va rula programul de simulare şi de


control. Se vor evidenţia metoda de estimare a stărilor respectiv tipul metodei de
identificare a parametrilor sistemului. Se va testa eficienţa reglării respectiv
calitatea proceselor de identificare parametrică de estimare a stărilor la diferite
valori de pornire.

4. Întrebări
1. Ce fel de metodă de liniarizare a fost folosită la estimatorul de stare?
2. Cum se poate evidenţia eficienţa procesului de estimare a stărilor?
3. Care este rolul metodei de integrare numerică pe parcursul algoritmului de
estimare?
4. Care sunt datele de intrare în regulatorul de dispersie minimă?

24
Laborator nr. 5

ACORDAREA REGULATORELOR CLASICE CU


CRITERII INTEGRALE

1. Scopul lucrării

Lucrarea are ca scop studiul unei metode de acordare optimală a


regulatoarelor clasice continue, metodă ce presupune folosirea criteriului pătratic
al erorii de reglare. Metoda de acordare se bazează pe teorema lui Parceval
aplicată transformatei erorii de reglare.

2. Prezentare teoretică

Limbajul intrare-ieşire se utilizează în cazul schemelor clasice de reglare


automată. În funcţie de mărimea controlată, blocul de reglare cu funcţia de
transfer Hr(s) poate fi introdus pe calea directă, ca în schema din figura 5.1.

Fig. 5.1 Schema bloc a reglării cascadă

Criteriile integrale pot asigura atât optimizarea regimurilor dinamice,


provocate atât de variaţii ale mărimilor de referinţă, cât şi de variaţii ale
perturbaţiilor. Cele mai utilizate criterii integrale sunt cele pătratice de forma,

J 1 = ∫0∞ ε (t )2 dt (5.1)

unde: ε (t) reprezintă eroarea între valoarea prescrisă şi ieşirea sistemului,


respectiv cele ponderate cu timpul, având forma:

J 2 = ∫0∞ t k ⋅ ε (t )2 dt (5.2)
∞ k
J 3 = ∫0 t ⋅ ε (t ) dt (5.3)

Criteriile integrale ponderate elimină erorile staţionare de reglare în cazul


unui timp mare. Avantajul utilizării acestor criterii constă în posibilitatea
determinării valorilor criteriilor prin relaţii directe fără a calcula integrala de
definiţie. Aceste relaţii dau posibilitatea utilizării unor algoritmi de minimizare

25
parametrică staţionară (ex. metode de căutare directă, metode de gradient, etc.) în
vederea obţinerii parametrilor optimali ai regulatorului (ex. amplificare
proporţionala kr, timp de integrare Ti sau timp de derivare Td).
Expresiile unor funcţii criteriu pentru sisteme dinamice liniare
reprezentate prin funcţii de transfer pot fi obţinute din relaţii simple. Astfel,
considerând expresia erorii pătratice pentru un domeniu de timp pozitiv se
obţine:
1 1 i ⋅∞
J 1= ∫0∞ ε (t )2 dt ≈ ∫0∞ ε (t ) ∫−i ⋅i∞⋅∞ ⋅ε ( s )⋅e s.t ds dt = ⋅∫ ε ( s )⋅ε (− s ) ds (5.4)
2⋅ π ⋅ i 2⋅ π ⋅i − i⋅∞

Dacă presupunem că ε(s) se poate exprima ca fracţie a două polinoame.

c n−1⋅s n−1 +K+c1⋅s+c0


ε ( s )= (5.5)
d n ⋅s n +K+ d1 ⋅s + d 0

atunci se cere determinarea integralei:

1 i ⋅∞ C ( s) ⋅ C ( − s)
J1 = ⋅∫ ds (5.6)
2 ⋅ π ⋅ i −i ⋅∞ D( s) ⋅ D( − s)

Prin metoda coeficienţilor necunoscuţi această expresie se poate


descompune într-o sumă de două fracţii:

C ( s) ⋅ C ( − s) A( s) A( − s)
= + (5.7)
D( s) ⋅ D( − s) D ( s) D( − s)

cu ajutorul căreia se determină integrala, respectiv valoarea criteriului J1. Acesta


este exprimat în funcţie de coeficienţii polinoamelor din compunerea lui ε(s).
Pentru valori n=1...5 se obţine:
c0 2
J 1,1 = (5.8)
2 ⋅ d 0 ⋅ d1
c12 ⋅ d 0 + c0 2 ⋅ d 2
J1, 2 = (5.9)
2 ⋅ d0 ⋅ d1 ⋅ d 2

J 1,3 =
[ 2
]
c 2 ⋅ d 0 ⋅ d1 + c1 − 2.c0 .c 2 ⋅ d 0 ⋅ d 3 + c0 ⋅ d 2 ⋅ d 3
2 2

(5.10)
2 ⋅ d 0 ⋅ d 3 ⋅ (d1 ⋅ d 2 −d 0 ⋅ d 3 )

Dacă criteriul este ponderat cu timpul (5.2), se obţin următoarele relaţii


pentru valori n=1…2:
c0 2
J 2,1 = (5.11)
4 ⋅ d0 2
c0 2 c1 + d 0 ⋅c0 − c1 ⋅ c0 ⋅ d 0
2 2 2 d 1 d

J 2,2 = + (5.12)
4.d 0 2 2.d12

26
Algoritmul de acordare a regulatoarelor clasice cu ajutorul criteriilor
integrale este:
1. Se alege un regulator cu o structură dorită (P,PI, PD sau PID);
2. Cunoscând funcţia de transfer a procesului se determină funcţia de transfer
parametrizată a sistemului de control (sistem în buclă închisă);
3. În funcţie de ordinul procesului, respectiv de tipul criteriului ales se obţine un
criteriu dependent de parametrii regulatorului;
4. Se caută valoarea parametrilor regulatorului pentru care criteriul obţinut are o
valoare minimă.

3. Desfăşurarea lucrării

Fie un proces de ordin I, descris de funcţia de transfer Hp(s):

1
Hp (s ) = Tp=1s (5.13)
1 + Tp ⋅ s

Dacă se consideră un regulator PI continuu, cu funcţia de transfer Hr(s),

 1 
Hr (s ) = kr 1+ (5.14)
 Ti ⋅ s 

pentru o intrare treaptă unitate, rezultă transformata erorii în forma polinomială:

1 1
ε ( s) = ⋅ (⇐ ε (t ) =u (t )− y (t )) (5.15)
1 + Ho( s ) s

unde Ho(s) este funcţia de transfer a sistemului deschis dată prin relaţia:

1 + Ti ⋅ s
Ho( s ) = kr⋅ (5.16)
(1 + Tp.s ).Ti.s
Tp.Ti.s + Ti
ε ( s) = (5.17)
Tp.Ti.s +Ti.(1 + kr ).s + kr
2

Prin echivalare se obţin coeficienţii:

c1 (Ti )=Tp ⋅ Ti , c0 (Ti )=Ti , d 2 (Ti) =Tp ⋅ Ti , d1 (kr , Ti) =Ti(1 + kr ) , d 0 (kr ) =kr

3.1. Optimizarea staţionară utilizând eroarea pătratică


Valoarea erorii pătratice conform teoremei Parceval este:

c1 (Ti ) 2 ⋅d 0 (kr )+c 0 (Ti ) 2 ⋅ d 2 (Ti )


J 1, 2 (kr , Ti ) = (5.18)
2 ⋅d 0 (kr )⋅ d 1 (kr , Ti)⋅ d 2 (Ti )

27
Dacă se reprezintă grafic valoarea criteriului (funcţia obiectiv), având ca
variabile independente, amplificarea kr şi timpul de integrare Ti, se obţine o
suprafaţă S, delimitată de domeniul de stabilitate a sistemului reglat.

Fig. 5.2 Variaţia criteriului J1 în funcţie de valoarea constantei de proporţionale


şi constanta de timp a elementului de integrare

Pentru determinarea minimului criteriului se foloseşte metoda de gradient


cu pas constant.

 d   J 1, 2 (kr + h, Ti ) − J 1, 2 (kr, Ti ) 
 dkr J 1, 2 (kr , Ti )   
gradJ 1, 2 (kr , Ti ) =  ≅ h  (5.19)
 d J (kr, Ti )  J 1, 2 (kr, Ti + h) − J 1, 2 (kr, Ti ) 
 d Ti 1, 2   h 

Punctul de pornire şi matricea de ponderare a pasului de căutare constant


Γ sunt:
<0 >
 kr  1 2 0 
Ti  =  Γ=  
  1 0 0.5

şi presupunând k=0...40 iteraţii de căutare se obţine:

p <k +l > = p < k > − Γ grad p [ p0,k , p1,k ] (5.20)

Fig. 5.3 Variaţia criteriului J1,2 în urma ajustării parametrilor kr şi Ti

28
Variaţia criteriului după 40 de iteraţii este prezentată în figura 5.3 iar
valorile parametrilor kr şi Ti sunt:
< 40 >
 kropt  kr  4.73
  =  = 
Tiopt  Ti  0.25

Tiopt 1  1+ kropt 
T = Tp ⋅ = 0.232 ξ= ⋅Tiopt ⋅  = 0.666
kropt 2.T  kropt 

Funcţionala J1,2 nu este convexă, iar minimul criteriului se va găsi pe


limita domeniului parametrilor kr şi Ti, respectiv T şi ξ. Funcţia originală a erorii
este reprezentată în figura 5.4.

Fig. 5.4 Variaţia erorii de reglare pentru intrarea treaptă unitate

3.2. Optimizarea staţionară utilizând eroarea pătratică ponderată


Se consideră un criteriu pătratic ponderat cu timpul. După efectuarea
calculelor pentru valoarea integralei rezultă relaţia algebrică:
d1 ( kr ,Ti )
c0 (Ti ) 2 c1 (Ti) + d0 ( kr ) ⋅c 0 (Ti ) − c1 (Ti ) ⋅ c0 (Ti )⋅ d0 ( kr )
2 d 2 ( Ti ) 2

J 2 , 2 (kr, Ti) = + (5.21)


4.d 0 (kr ) 2 2.d1 (kr , Ti ) 2

Fig. 5.5. Variaţia criteriului J2,2 în urma ajustării parametrilor kr şi Ti

29
După 40 de iteraţii pentru parametrii kr şi Ti se obţin valorile:

 kropt  kr  < 40 > 3.38


  =  = 
Tiopt  Ti  0.62

pentru un sistem de ordin II cu parametrii: T = 0.42 ξ = 0.93 .

Funcţia originală a erorii este reprezentată în figura 5.6.

Fig. 5.6. Variaţia erorii de reglare pentru intrarea treaptă unitate

Se poate observa că în cazul folosirii criteriului J1 se obţine un suprareglaj


σ=6%, în timp ce în cazul criteriului ponderat cu timpul răspunsul sistemului de
control la intare treaptă unitate conţine un suprareglaj mai mic, de valoare σ=2%.

4. Întrebări
1. Cum se pot determina relaţiile (5.18) şi (5.21)?
2. Cu ce metodă numerică sunt acordaţi parametrii regulatorului?
3. Ce reprezintă eroarea de reglare simulată în sistem?
4. Care sunt dezavantajele acestor metode şi cum pot fi îmbunătăţite?

30
Laborator nr. 6

PROIECTAREA REGULATOARELOR CLASICE PI


DISCRETE ROBUSTE PE BAZA REZERVEI DE FAZĂ

1. Scopul lucrării

Lucrarea are ca scop studiul proiectării regulatoarelor clasice PI respectiv


PID pe baza rezervei de fază. Se vor implementa algoritmi de acordare optimă a
regulatoarelor clasice discrete, nepredictive şi predictive.

2. Prezentare teoretică

Structura regulatoarelor clasice PID poate fi caracterizată de următoarea


relaţie continuă, scrisă în domeniul timp:

∞ de(t )
u (t ) = k p ⋅ e(t ) + ki ⋅ ∫ e(τ )dτ + kd ⋅ (6.1)
0 dt
unde:
e(t) este intrarea în regulator şi reprezintă semnalul de eroare dintre semnalul de
iesire y(t) şi cel de referintă yref(t);
u(t) - semnalul de ieşire din regulator şi reprezintă comanda procesului;
kp - constanta de proporţionalitate;
ki - constanta integrativă;
kd - constanta derivativă.
Printr-o metodă de discretizare aproximativă se poate obţine forma
discretă a regulatorului convenţional continuu:

⋅ (e(k ) − e(k − 1) )
k kd
u ( k ) = k p ⋅ e( k ) + ki ⋅ h ⋅ ∑ e( j ) + (6.2)
j =0 h

unde h este timpul de eşantionare.


Dacă se aplică transformata Z asupra semnalelor eşantionate se obţine
funcţia de transfer discretă a regulatorului:

U ( z) z kd z − 1
H RC ( z ) = = k p + ki ⋅ h ⋅ + ⋅ (6.3)
E( z) z −1 h z

Implementarea practică a unui astfel de regulator este posibilă dacă timpul


de calcul al comenzii u(k) este mult mai mic decât timpul de eşantionare al
sistemului. La procese lente această condiţie este satisfăcută, dar la procese

31
rapide ea este greu de îndeplinit. Astfel, este necesară implementarea unui
algoritm de reglare predictivă. Ideea de bază a unui regulator predictiv este de a
determina valoarea e(k) din valori anterioare. O metodă posibilă constă în
aproximarea pantei erorii în momentul k cu panta erorii în momentul k-1:

e(k ) − e(k − 1) ≅ e(k − 1) − e(k − 2) ⇒ e(k ) = 2 ⋅ e(k − 1) − e(k − 2) (6.4)

Introducând relaţia de predicţie care în relaţia matematică prin care se


caaracterizeză regulatorul discret convenţional, se obţine forma recursivă a
regulatorului PID predictiv:

 k −1 
u ( k ) = k p ⋅ ( 2 ⋅ e ( k − 1) − e ( k − 2 )) + k i ⋅ h ⋅  2 ⋅ e ( k − 1) − e ( k − 2 ) + ∑ e ( j )  +
 j =0  (6.5)
k −3
kd
+ ⋅ (e ( k − 1) − e ( k − 2 ) ) = k 1 ⋅ e ( k − 1) + k 2 ⋅ e ( k − 2 ) + k 3 ⋅ ∑ e ( j )
h j =0

kd k
unde: k1 = 2 ⋅ k p + 3 ⋅ k i ⋅ h + , k2 = − k p − 2 ⋅ ki ⋅ h − d , k 3 = k i ⋅ h .
h h

Relaţia (6.5) reprezintă relaţia regulatorului predicitiv unde pentru


determinarea comenzii la momentul k sunt utilizate valori anterioare ale erorilor.
Dacă se aplică transformata Z asupra semnalelor eşantionate se obţine funcţia de
transfer discretă a regulatorului predictiv:

2 ⋅ z −1  2 ⋅ z −1 1  kd z − 1
H RP ( z ) = k p ⋅ + ki ⋅ h ⋅  + + ⋅ (6.6)
z 2
 z
2
z − 1 h z2

O comparaţie simplă cu regulatorul PID clasic discret (relaţia 6.3)


evidenţiază introducerea unui element de întârziere suplimentar în structura
termenului derivativ al regulatorului PID clasic.
După determinarea structurii regulatorului se pune problema determinării
parametrilor regulatorului astfel încât acesta să fie cât mai robust. Un regulator
robust se defineşte ca fiind insensibil la variaţia parametrilor procesului condus,
deci sistemul de control trebuie să menţină stabilitatea şi în prezenţa
perturbaţiilor. Metoda de proiectare a regulatorului discret prezentată în această
lucrare se bazează pe principiul rezervei de fază. În continuare se consideră
sistemul de control cu schema din figura 6.1.

Fig. 6.1 Schema de principiu a unui sistem de control

32
unde: HR(z) reprezintă funcţia de transfer al regulatorului;
HP(z) - funcţia de transfer discretizată a procesului de condus.
Metoda de proiectare a regulatorului robust se bazează pe studiul ecuaţiei
caracteristice a sistemului închis:
1 + H R ( z) ⋅ H P ( z) = 0 (6.7)

Dacă se impune o frecvenţă de pulsaţie ωp pentru care rezerva de fază


φ(ωp) să fie cea impusă de proiectant, atunci se poate determina valoarea
complexă a funcţiei de transfer a regulatorului ce asigură atingerea rezervei de
fază la pulsaţia impusă.
1
H *R ( z) = = Re( H R ( z )) + j ⋅ Im(( H R ( z )) (6.8)
H P ( z ) 180o +ϕ (ω
p)

Algoritmul de proiectare a regulatorului este:


1. Se alege o frecvenţă unghiulară impusă care va asigura un unghi de defazaj
negativ la caracterisitica amplitudine-fază a sistemului închis. Valoarea unghiului
se alege în funcţie de robusteţea sistemului;
2. Se calculează valoarea funcţiei de transfer a procesului Hp(ωp) în funcţie de
valoarea pulsaţiei impuse şi din relaţia (6.8) se determină valoarea complexă a
funcţiei de transfer H*R(ωp);
3. Se alege o valoare iniţială pentru parametrii regulatorului kp<k>, ki<k> şi kd<k> în
iteraţia k=0;
4. Se calculează valoarea regulatorului cu parametrii kp<k>, ki<k> şi kd<k> când
pulsaţia este cea impusă de proiectant HR (ωp, kp<k>, ki<k>, kd<k>);
5. Se calculează eroarea pătratică dintre valoarea impusă şi cea obţinută cu
parametrii aleşi ai regulatorului.

E(k p<k > , ki


<k >
, kd
<k >
(
) = H * R (ω p ) − H R (ω p , k p<k > .ki
<k >
)
2
, k d<k > ) =

(
= Re(H * R (ω p )) − Re(H R (ω p , k p<k > , ki
<k >
) (
2
, k d<k > )) + Im(H * R (ω p )) − Im(H R (ω p , k p<k > , k i
<k >
)
, k d<k > ))
2

(6.9)
Dacă eroarea pătratică este mai mică decît o valoare predefinită de proiectant
atunci algoritmul de căutare a parametrilor se opreşte şi valorile parametrilor
determinaţi în iteraţia k se consideră optimi.
6. Noile valori ale regulatorului se determină pe baza metodei de gradient cu pas
constant.
 ∂E (k p< k > .ki < k > , k d< k > ) 
 
 ∂k p 
k p  k p  λ p 0 0  <k > < k > <k > 
k  ∂E (k p .ki , k d )
 i
 
=  ki  −  0 λi 0  ⋅   (6.10)
 ∂ki 
 k d  <i +1>  kd  < i >  0 0 λd   <k > < k > <k > 
 ∂E (k p .ki , k d ) 
 ∂k d 
 

33
unde valorile λp, λi şi λd sunt paşii de căutare constanţi după cei trei parametrii ai
regulatorului.
7. Iteraţia se continuă cu pasul 4.

3. Desfăşurarea lucrării

Se consideră un sistem de ordin unu caracterizat prin funcţia de transfer:

40
H p ( s) =
s

Se cere implementarea unui algoritm de reglare al procesului cu diferite


structuri de reglare discrete P, PI, PD şi PID clasice (nepredictive), respectiv
discrete P, PI, PD şi PID predictive. Proiectarea regulatorului se face pe baza
principiului rezervei de fază impusă, iar acordarea parametrilor regulatorului se
va realiza prin metoda gradientului.
În figurile următoare sunt prezentate rezultatele obţinute pentru o simulare
a sistemului cu un regulator PI discret clasic (nepredictiv) şi cu un regulator PI
discret predictiv. Pulsaţia impusă a fost setată la valoarea 0.0067, iar unghiul de
defazaj unde caracteristica amplitudine-fază intersectează cercul de rază unitară a
fost prescris la valoarea de 20o.
Pentru valorile iniţiale ale parametrilor regulatorului s-au ales kp=0.4 şi
ki=0.1, iar pasul de căutare este 0.002. Algoritmul de simulare a fost implementat
pentru ambele structuri de reglare PI clasic şi PI predictiv.
În figura 6.2 se prezintă variaţia erorii pătratice pe parcursul algoritmului
de căutare a parametrilor optimi.

Fig. 6.2 Variaţia erorii pătratice

În figura 6.3 este prezentată variaţia parametrilor de reglare la cele două


tipuri de regulatoare.
În figura 6.4 se prezintă grafic caracteristicile amplitudine-fază respectiv
caracteristicile fază-pulsaţie la cele două structuri de regulatoare. Aceste grafice
sunt trasate pentru valorile finale ale parametrilor obţinuţi după un anumit număr
de paşi efectuaţi.

34
Fig.6.3 Variaţia parametrilor de reglare la PI clasic (regulator nepredictiv) şi
PI predictiv

Fig. 6.4 Caracteristicile amplitudine-fază şi caracteristicile fază-pulsaaţie

4. Întrebări

1. Ce înţelegem prin robusteţea unui sistem?


2. Ce reprezintă marginea de câştig, respectiv marginea de fază a unui sistem
dinamic?
3. Cum este calculat criteriul de calitate la acest algoritm de acordare?
4. Cu ce metodă numerică sunt calculaţi parametrii regulatorului clasic discret şi
ai celui predicitiv?
5. Prin ce diferă regulatorul discret clasic de cel predictiv?

35
Laborator nr. 7

PROIECTAREA REGULATOARELOR
AUTOACORDABILE PRIN METODA ALOCĂRII
POLILOR

1.Scopul lucrării

Lucrarea are ca scop prezentarea modului de proiectare a regulatoarelor


autoacordabile prin metoda alocării polilor pentru procese dinamice discrete
deterministice, cu parametrii variabili sau necunoscuţi. În lucrare se vor
implementa două tipuri de regulatoare autoacordabile.

2. Prezentare teoretică

Regulatoarele adaptive autoacordabile bazate pe metoda alocării polilor


fac parte din categoria sistemelor de reglare cu identificarea modelului. Aceste
regulatoare pot fi în formă explicită (indirecte) şi implicită (directe). În lucrare
este prezentat modul de proiectare a regulatoarelor adaptive indirecte. Sistemele
adaptive indirecte presupun o identificare a procesului şi apoi o determinare a
parametrilor regulatorului ajustabil. În această lucrarea proiectarea regulatorului
se face prin metoda alocării polilor.
Separarea problemei de identificare de cea de reglare propriu-zisă este
posibilă datorită principiului separării, respectiv principiului echivalentei certe.
Acest principiu presupune o neglijare a erorilor de estimare a parametrilor
procesului. Deci, în elaborarea legii de comandă nu se vor lua în considerare
incertitudinile de estimare a parametrilor.

2.1. Proiectarea regulatoarelor prin metoda alocării polilor


Se consideră în continuare un proces determinist cu o singură intrare şi o
singură ieşire:

A(q −1 ) ⋅ y (k ) = B (q −1 ) ⋅ u (k ) + v(k ) (7.1)

unde u este semnalul de comandă, y semnalul de ieşire, v perturbaţia, iar A(q-1) şi


B(q-1) reprezintă polinoame de întârziere.
Regulatorul de tip feedforward-feedback este exprimat prin:

R(q −1 ) ⋅ u (k ) = T (q −1 ) ⋅ y pr (k ) − S (q −1 ) ⋅ y (k ) (7.2)

unde R(q-1), T(q-1) şi S(q-1) reprezintă polinoame de întârziere.

36
Procesul şi regulatorul sunt fizic realizabile dacă sunt îndeplinite condiţiile
de cauzalitate:

grad ( Am (q −1 )) − grad ( Bm (q −1 )) ≥ grad ( A(q −1 )) − grad ( B(q −1 ))


(7.3)
grad ( S (q −1 )) ≤ grad ( R(q −1 )); grad (T (q −1 )) ≤ grad ( R(q −1 ))

În figura 7.1 este prezentată schema de reglare clasică cu un regulator cu


două grade de libertate feedforward-feedback.

Fig. 7.1 Schema bloc a sistemului de reglare în buclă închisă

Relaţia (7.4) caracterizează funcţionarea sistemului în buclă închisă:

B ⋅T R
y (k ) = y pr (k ) + v( k ) (7.4)
A⋅ R + B ⋅ S A⋅ R + B ⋅ S

Comportarea dorită a întregului sistem (metoda alocării polilor) se


introduce prin intermediul polinoamelor de întârziere Am(q-1) şi Bm(q-1).

Bm
y (k ) = y pr (k ) (7.5)
Am

Din relaţiile (7.4) şi (7.5) rezultă condiţia de identitate a celor două


sisteme:
B ⋅T B
= m (7.6)
A ⋅ R + B ⋅ S Am

Numitorul AR+BS reprezintă polinomul caracteristic Ac al sistemului în


buclă închisă. Pentru a determina regulatorul, polinomul B este descompus astfel:

B = B+ ⋅ B− (7.7)

unde B+ este polinom monic (are termenul liber unitar) cu zerouri stabile,
suficient de amortizate pentru a fi compensate de regulator şi B- polinom cu toate
zerourile instabile. Dacă B+=1 atunci nu există compensare de zerouri.
Polinomul zerourilor instabile nu poate fi un factor pentru polinomul
caracteristic Ac, deci el trebuie să fie inclus în Bm.

Bm = Bm' ⋅ B − (7.8)

37
Deoarece B+ este compensat de regulator şi reprezintă un factor pentru
polinomul caracteristic atunci se poate face următoarea descompunere în factori a
polinomului de întârziere R.

R = R' ⋅ B+ (7.9)

Identitatea (7.6) devine:

T Bm−
= (7.10)
A ⋅ R ' + B − ⋅ S Am

Proiectarea regulatoarelor după stare presupune, de obicei, prezenţa unui


observer, cu dinamică necontrolabilă prin semnalul de referinţă. Aceasta implică
anularea polinomului caracteristic al observerului din funcţia de transfer a
sistemului în buclă închisă. Dacă polinomul observerului este A0, acesta trebuie
să fie un factor al numitorului funcţiei de transfer în buclă închisă cu un grad
suficient de mare pentru a obţine o lege de reglare cauzală.

grad ( A0 ) ≥ 2 ⋅ grad ( A) − grad ( Am ) − grad ( B + ) − 1 (7.11)

Ecuaţia (7.12) poartă denumirea de ecuaţie diofantică:

A ⋅ R ' + B − ⋅ S = A0 ⋅ Am (7.12)

Polinoamele de întârziere ale regulatorului se determină prin metoda


alocării cu ajutorul sistemului de ecuaţii (7.13).

 A ⋅ R ' + B − ⋅ S = A0 ⋅ Am
 −
T = A0 ⋅ Bm (7.13)
 +
R = R ⋅ B
'

Ecuaţia caracteristică a sistemului în buclă închisă este:

A ⋅ R + B ⋅ S = B + ⋅ A0 ⋅ Am (7.14)

unde polii sistemului sunt compuşi din zerourile stabile ale procesului, polii
modelului şi polii observerului.
Procedura de proiectare a regulatorului prin alocarea polilor, când se
cunosc polinoamele procesului A şi B, modelului Am, Bm, respectiv polinomul
caracteristic al observerului A0, este următoarea:
- se realizează descompunerea polinomului B şi Bm şi se iau în considerare
condiţiile de cauzalitate;
- se rezolvă ecuaţia diofantică (7.12) în raport cu R’ şi S;
- se calculează R şi T cu (7.13);

38
- se determină legea de comandă pe baza relaţiei (7.2).
În cazul în care nu se doreşte anularea zerourilor (B+=1) procedura de
proiectare se simplifică:
- se împarte Bm la B şi se iau în considerare condiţiile de cauzalitate;
- se rezolvă în raport cu R şi S ecuaţia:

A ⋅ R + B ⋅ S = A0 ⋅ Am (7.15)

- se calculează T după relaţia:

Bm
T = A0 ⋅ (7.16)
B

- se determină legea de comandă pe baza relaţiei (7.2).

2.2. Sistem de reglare adaptivă indirectă cu identificarea modelului


(determinarea regulatorului autoacordabil)

În figura 7.2 este prezentată schema de reglare adaptivă cu identificarea


modelului cu un regulator autoacordabil feedforward-feedback.

Fig. 7.2 Schema bloc de conducere adaptivă cu regulator autoacordabil

În situaţia în care parametrii procesului sunt necunoscuţi sau variabili


determinarea comenzii şi proiectarea regulatorului este precedată la fiecare pas
de eşantionare de o identificare (o estimare) a parametrilor procesului. Aceste
sisteme de conducere a proceselor sunt denumite sisteme adaptive indirecte, ele
conţinând regulatoare autoacordabile.
Pentru identificarea parametrică a procesului se recomandă folosirea
metodei CMMP (celor mai mici pătrate) "off-line" sau "on line", (vezi lucrarea 3,
relaţiile (3.6) şi (3.8)).
Algoritmul autoacordabil indirect (explicit), folosind metoda alocării
polilor pentru fiecare eşantion de timp este următorul:
- se estimează (identifică) coeficienţii polinoamelor A şi B, respectiv se
proiectează modelul dorit prin polinoamele Am şi Bm;
- se determină polinomul caracteristic al observerului A0;

39
- se realizează descompunerea polinoamelor B şi Bm luând în considerare şi
condiţiile de cauzalitate;
- se rezolvă ecuaţia diofantică (7.12) în raport cu R’ şi S;
- se determină polinoamele R şi T cu (7.13);
- se determină legea de commandă pe baza relaţiei (7.2);
- se simulează sistemul şi se repetă algoritmul.
Partea de identificare şi modificare a parametrilor regulatorului nu se mai
realizează doar dacă acţiunea perturbaţiilor încetează şi parametrii procesului nu
mai variază.

3. Desfăşurarea lucrării

Se consideră procesul dinamic caracterizat funcţia de transfer


(reprezentând modelul unui sistem de ordin doi):

1
H ( s) =
s + s +1
2

Modelul discret se obţine folosind o perioadă de eşantionare de 0.5sec.

b0 ⋅ q + b1 0.1044q + 0.0883
H (q ) = = 2
q + a1 ⋅ q + a 2 q − 1.4138q + 0.6065
2

Dacă acest model este cunoscut şi nu suferă modificări atunci proiectarea


regulatorului este simplă şi se realizează conform procedurilor descrise în partea
teoretică a lucrării.
Se impune, pentru sistemul în buclă închisă, un răspuns ideal cu
parametrii: ξ = 0.7, ω n = 1rad / sec . Pentru anularea zerourilor (B+≠1) funcţia de
transfer discretă este:

Bm (q ) bm 0 ⋅ q 0.1761q
= 2 = 2
Am (q ) q + a m1 ⋅ q + a m 2 q − 1.3205q + 0.4966

Polinomul B se descompune astfel:

B + (q) = q + b1 / b0 ; B − (q ) = b0 ; Bm' (q ) = bm 0 ⋅ q / b0 ;

Deoarece gradul polinoamelor A şi Am este 2 şi există un singur pol stabil


atunci se alege, conform relaţiei (7.11), pentru observer un polinom A0=1. De
asemenea, pentru un timp de calcul al mărimii de comandă neglijabil în raport cu
perioada de eşantionare, se alege egalitatea în condiţiile de cauzalitate
(grad(s)=grad(R)=grad(T)=grad(A)-1).
Din relaţia (7.12) rezultă:

(q 2 + a1 ⋅ q + a 2 ) ⋅ 1 + b0 ⋅ ( s 0 ⋅ q + s1 ) = q 2 + a m1 ⋅ q + a m 2

40
Parametrii regulatorului sunt:

a m1 − a1 a − a2
s0 = ; s1 = m 2 ;
b0 b0
R = R ' ⋅ B + = q + b1 / b0 ;
T = A0 ⋅ Bm' = bm 0 ⋅ q / b0 ;

Algoritmul determinat se va implementa în mediul integrat de calcul şi


simulare MATLAB şi se vor reprezenta grafic ieşirea şi comanda atunci când
parametrii procesului sunt cunoscuţi şi nu variază.
În figurile următoare sunt prezentate schema bloc de comandă realizată în
Simulink, respectiv evoluţiile ieşirii şi comenzii la o intrare treaptă.

Fig. 7.3 Schema bloc de reglare, ieşirea şi comanda procesului

În cazul în care parametrii procesului nu sunt cunoscuţi sau dacă aceştia


suferă modificări în timp, după ce a fost proiectat regulatorul este utilă realizarea
unor adaptări ale acestuia. Cu alte cuvinte se recomandă înlocuirea reglării
clasice cu un sistem modern ce conţine un regulator autoacordabil.
Pentru identificarea parametrilor procesului se recomandă folosirea celor
mai mici patrate, varianta “on-line”.
În figura 7.4 este prezentată o posibilă schemă Simulink de reglare
adaptivă indirectă, cu identificarea modelului pe baza metodei alocării polilor şi
subsistemul regulatorului autoacordabil.

41
Fig. 7.4 Schema de reglare adaptivă şi subsistemul regulatorului autoacordabil

Pentru simulare au fost realizate două funcţii speciale (S-function)


denumite sid.m şi scqp.m, respectiv o funcţie Matlab pentru calculul parametrilor
regulatorului prin metoda alocării polilor denumită pp.m. Funcţiile speciale sunt
incluse în Anexa A.
În figurile 7.6 şi 7.7 sunt prezentate grafic câteva rezultate ale simulării.

Fig. 7.6 Ieşirea din sistem şi comanda regulatorului autoacordabil

42
Fig. 7.7 Parametrii identificaţi ai procesului

4. Întrebări

1. Cum se poate determina un regulator cu metoda alocării polilor dacă


parametrii procesului sunt necunoscuţi sau variabili?
2. Care este diferenţa între cele două metode de identificare prin cele mai mici
pătrate, “off-line” şi “on-line”?
4. Care sunt avantajele folosirii metodei CMMP “on-line”?
5.Cum arată funcţia de transfer a modelului etalon dacă nu se doreşte
compensarea zerourilor procesului prin metoda alocării polilor?
6. Ce reprezintă relaţia (7.12)?

43
Lucrarea nr. 8

SISTEME ADAPTIVE CU MODEL DE REFERINŢĂ.


METODA DE ADAPTARE MIT

1. Scopul lucrării

Lucrarea permite familiarizarea studenţilor cu metoda MIT


(Massachusetts Institute of Technology), denumită şi metoda gradientului
descendent pentru adaptarea parametrilor regulatorului unui sistem adaptiv cu
model de referinţă.

2. Prezentare teoretică

În cazul sistemelor automate clasice este foarte cunoscută importanţa


etapei de obţinere a modelelor proceselor. Aceste modele trebuie să fie cât mai
precise pentru a se obţine structura şi parametrii regulatorului care îndeplinesc
cel mai bine cerinţele de performanţă impuse sistemului în buclă închisă.
Modelele obţinute nu sunt întotdeauna precise şi în plus pot apărea
zgomote şi variaţii parametrice interne sau externe care influenţează comportarea
ideală. De multe ori, în prezenţa acestor incertitudini parametrice şi structurale
sau în prezenţa componentelor neliniare, soluţiile clasice de reglare sunt înlocuite
cu structurile adaptive. Acestea conţin pe lângă bucla convenţională de reglare şi
o buclă suplimentară de adaptare. Câteva domenii unde aceste metode moderne
se impun sunt: robotică, metalurgie, energetică, sisteme de navigaţie, tehnologii
neconvenţionale, tehnica nucleară, etc.
Sistemele adaptive cu model de referinţă SAMR (Model Reference
Adaptive Systems MRAS) reprezintă o soluţie de sistem adaptiv aplicabil mai
ales în situaţia în care este cunoscută structura procesului, iar parametrii acestuia
variază lent în comparaţie cu dinamica procesului. Structura generală din figura
8.1 a fost propusă prima oară de Whitaker, Yamron şi Keezer în anul 1958.

Fig. 8.1 Structura sistemelor adaptive cu model de referinţă

44
Modelul de referinţă (denumit şi model etalon) reprezintă funcţionarea
dorită, ideală a sistemului şi pe baza erorii de adaptare ye(t) dintre ieşirea
procesului y(t) şi ieşirea modelului etalon ym(t) se ajustează parametrii de acord ai
regulatorului θ(t) prin intermediul mecanismului de adaptare.
Principalele metode de analiză şi sinteză a sistemelor adaptive cu model
etalon sunt metoda MIT şi metoda teoriei de stabilitate Lyapunov.
Metoda gradientului descendent, denumită şi metoda MIT presupune
modificarea în timp a parametrilor regulatorului adaptiv până când eroarea de
adaptare (urmărire) devine foarte mică, pe baza minimizării unui criteriu de
calitate ce depinde de aceasta şi de parametrii regulatorului.

1
J (θ ) = ⋅ ye
2
(8.1)
2

unde θ este vectorul parametrilor regulatorului.


Mecanismul de ajustare a parametrilor regulatorului adaptiv poate fi
sintetizat în cazul metodei MIT prin relaţia:

dθ dJ ∂y
= −γ ⋅ = −γ ⋅ y e ⋅ e (8.2)
dt dθ ∂θ

unde γ reprezintă viteza de adaptare (constantă pozitivă);


ye – eroarea de adaptare.
Un termen esenţial în relaţia (8.2) este funcţia de sensibilitate a derivatei
erorii ∂ye/∂θ, deoarece aceasta determină modul de adaptare a parametrilor.
Alegerea vitezei (ratei) de adaptare se face în funcţie de amplitudinea semnalului
de intrare. Totuşi nu se pot preciza exact limitele care asigură stabilitatea
sistemului în buclă închisă, deoarece metoda de adaptare MIT poate conduce la
instabilitate.

3. Desfăşurarea lucrării

Se vor realiza şi simula două sisteme adaptive cu model de referinţă, unul


pentru adaptarea unui factor de amplificare variabil şi unul pentru adaptarea unui
sistem de ordin I cu doi parametrii necunoscuţi sau variabili în timp. Adaptarea
sistemelor se realizează cu metoda MIT.

3.1. Adaptarea factorului de amplificare


Se dau funcţia de transfer a procesului condus şi funcţia de transfer a
modelului de referinţă:

H ( s ) = Y (s ) U ( s ) = k ⋅ G ( s ), H m (s ) = Ym (s ) R( s ) = k 0 ⋅ G (s ) (8.3)

unde k reprezintă constanta de amplificare a procesului;


k0 - constanta de amplificare a modelului etalon;
G(s) - o funcţie de transfer comună (ex. G ( s) = 1 (s + 1) ).

45
Specificul celor două funcţii de transfer impune folosirea unui regulator
proporţional cu un singur parametru ajustabil θ, pentru ca ieşirea procesului să
urmărească ieşirea din modelul etalon.
U ( s ) = θ ⋅ R( s) (8.4)

Răspunsurile celor două sisteme sunt identice când parametrul de acord


are valoarea optimă staţionară din relaţia (8.5).

Ye ( s ) = 0 ⇒ Y ( s ) = Ym ( s ) ⇒ θ * = k 0 k (8.5)

Deoarece valoarea lui k nu este cunoscută, atunci trebuie găsit un


mecanism de adaptare al parametrului θ până când eroarea de adaptare dintre
ieşirile celor două sisteme este 0.

y e (t ) = y m (t ) − y (t ) = k 0 ⋅ G ( p ) ⋅ r (t ) − k ⋅ G ( p ) ⋅ θ ⋅ r(t ) (8.6)

Dacă se aplică regula MIT (relaţia (8.2)) pentru adaptarea parametrului θ


rezultă:
dθ ∂y
= −γ ⋅ y e ⋅ e = −γ ⋅ y e ⋅ (− y m ) = γ ⋅ y e ⋅ y m
dJ
= −γ ⋅ (8.7)
dt dθ ∂θ

În figura 8.2 este prezentată schema Simulink a sistemului de reglare


adaptiv cu model de referinţă pentru adaptarea unui factor de amplificare.

Fig. 8.2 Adaptarea factorului de amplificare prin metoda MIT

Sistemul din figura 8.2 este simulat timp de 30 secunde cu o intrare de tip
semnal dreptunghiular cu amplitudine 2 şi perioadă de 4 secunde. Evoluţia
referinţei, ieşirilor din proces şi modelul etalon sunt prezentate în figura 8.3.

Fig. 8.3 Referinţa r(t) şi ieşirile y(t),ym(t)

46
În figura 8.4. sunt prezentate eroarea de adaptare ye(t) şi variaţia
parametrului de acord θ.

Fig. 8.4 Eroarea de adaptare ye(t) şi parametrul de acord θ

3.2. Adaptarea factorului de amplificare şi constantei de timp


Se dau funcţiile de transfer ale procesului şi modelului de referinţă:

b •
H ( s ) = Y ( s) R( s) = ⇒ y (t ) = − a ⋅ y ( t ) + b ⋅ u ( t )
s+a

(8.8)
bm
H m ( s ) = Ym ( s ) U ( s ) = ⇒ y m (t ) = − a m ⋅ y m (t ) + bm ⋅ r (t )
s + am

Deoarece procesul conţine doi parametrii care pot fi necunoscuţi sau care
se pot modifica lent, regulatorul se alege de tip feedforward-feedback (cale
directă şi cale de reacţie) cu doi parametri de acord: θ1 şi θ2.

u( t ) = θ1 ⋅ r ( t ) − θ 2 ⋅ y ( t ) (8.9)

Răspunsurile celor două sisteme sunt identice y(t)=ym(t), când parametrii


de acord au valoarea optimă staţionară θ1* şi θ2*.
 * bm
 θ1 = b
(− a − b ⋅ θ 2 ) ⋅ y(t ) + b ⋅ θ1 ⋅ r (t ) = −am ⋅ ym (t ) + bm ⋅ r(t ) ⇒  am − a
(8.10)
θ 2 =
*

 b

Eroarea de adaptare (de urmărire) dintre ieşirile celor două sisteme este
y e (t ) = y m (t ) − y (t ) . Funcţiile de sensibilitate ale derivatei erorii în raport cu
parametrii regulatorului sunt:

∂y e b ∂y e b 2 ⋅ θ1 b
=− ⋅ r; = ⋅r = ⋅y (8.11)
∂θ1 p + a + b ⋅θ2 ∂θ 2 ( p + a + b ⋅ θ 2 )2
p + a + b ⋅θ2

Aceste relaţii nu pot fi implementate pe calea de adaptare deoarece conţin


necunoscutele procesului. Dacă se presupune că parametrii procesului se
modifică lent şi sistemul în buclă închisă este apropiat de modelul etalon atunci
este permisă următoarea înlocuire de regim staţionar:

p + a + b ⋅ θ 2 = p + am (8.12)

47
Dacă se aplică regula MIT şi se include parametrul b în factorul de
adaptare γ, atunci rezultă legile de adaptare:

dθ 1  am  dθ 2  am 
=γ ⋅  ⋅ r  ⋅ y e ; = −γ ⋅  ⋅ y  ⋅ y e (8.13)
dt  p + am  dt  p + am 

În figura 8.5 este prezentată schema Simulink a sistemului de reglare


adaptiv cu model de referinţă pentru adaptarea factorului de amplificare şi a unei
constante de timp. Se aleg: am=bm=2, a=1, b=0.5.

Fig. 8.5 Adaptarea unui sistem de ordin I prin metoda MIT

Sistemul din figura 8.5 este simulat timp de 30 secunde cu o intrare de tip
semnal dreptunghiular cu amplitudine 2 şi perioadă de 4 secunde. Evoluţia
ieşirilor din proces şi din modelul de referinţă, respectiv evoluţia erorii de
adaptare dintre acestea sunt prezentate în figura 8.6.

Fig. 8.6 Ieşirile y(t) şi ym(t), respectiv eroarea de adaptare ye(t)

Din evoluţia ieşirii din proces se evidenţiază capacitatea sistemelor


adaptive cu model de referinţă de a modifica parametrii regulatorului
feedforward-feedback astfel încât ieşirea procesului să urmărească ieşirea
modelului de referinţă.
Capacitatea de adaptare a sistemului creşte odată cu factorul γ de adaptare
până la o limită superioară. Dacă factorul de adaptare depăşeşte această limită,
ieşirea din proces începe să oscileze, iar sistemul adaptiv poate deveni instabil.
Figura 8.7 prezintă evoluţia semnalelor funcţionale pentru γ=15.

48
Fig. 8.7 Ieşirile y(t) şi ym(t), eroarea de adaptare ye(t) pentru γ=15

4. Întrebări

1. Ce se înţelege prin regula de adaptare MIT?


2. Câţi parametrii de acord sunt necesari pentru adaptarea unui sistem dacă
factorul de amplificare şi constanta de timp sunt diferite pentru modelul etalon şi
procesul condus?
3. Ce se întâmplă cu sistemul adaptiv dacă factorul de adaptare este prea mare?
4. Să se deducă legea de comandă şi legea/legile de adaptare dacă funcţiile de
transfer ale procesului şi modelului sunt:

1 •
H ( s ) = Y ( s) R( s) = ⇒ y (t ) = −2 ⋅ y (t ) + u(t )
s+2

(8.14)
1
H m ( s ) = Ym ( s ) U ( s ) = ⇒ y m (t ) = − y m ( t ) + r (t )
s +1

49
Lucrarea nr. 9

SISTEME ADAPTIVE CU MODEL DE REFERINŢĂ.


METODA DE ADAPTARE LYAPUNOV

1. Scopul lucrării

Lucrarea permite familiarizarea studenţilor cu metoda de adaptare a


parametrilor unui regulator adaptiv, adaptare bazată pe teoria de stabilitate
Lyapunov.

2. Prezentare teoretică

O alternativă mai bună decât metoda MIT, care asigură stabilitatea


sistemului în buclă închisă o reprezintă teoria Lyapunov. Sistemele adaptive cu
model de referinţă construite pe baza acestei teorii de stabilitate îndeplinesc
condiţia obligatorie de convergenţă la zero a erorii de adaptare (relaţia 9.1), chiar
dacă valoarea factorului de adaptare este prea mare.

lim ( y e (t ) ) = lim ( y (t ) − y m (t ) ) = 0 (9.1)


t →∞ t →∞

Schema bloc a sistemului adaptiv cu model de referinţă rămâne identică


cu cea folosită în cazul metodei MIT, diferenţa fiind reprezentată de
implementarea mecanismului de adaptare. Să presupunem că sistemul în buclă
închisă este caracterizat de ecuaţia diferenţială:

dx (t )
= f ( x (t )), f (0) = 0 (9.2)
dt

unde x este vectorul stărilor sistemului.


Conform teoriei de stabilitate Lyapunov, soluţia x(t) este stabilă dacă
pentru orice ε>0 există δ>0 astfel încât la orice moment de timp t pozitiv
x (t ) < δ ⇒ x (t ) < ε . Soluţia este asimptotic stabilă dacă ea este stabilă şi
x (t ) → 0 când t → ∞ .
Forma practică în cazul sistemelor adaptive cu model etalon este cea dată
de metoda directă Lyapunov. Să presupunem că dinamica sistemului este
caracterizată de relaţia (9.2). Dacă se găseşte o funcţie V, ce depinde de
parametrii sistemului, denumită funcţie Lyapunov, astfel încât:

1. V(x)>0, x≠0;
2. V(0)=0;

50
3. V este derivabilă;
• ∂V •
4. V (t ) = ⋅ x (t ) ≤ 0 .
∂x

atunci sistemul este stabil. Altfel spus, dacă funcţia V este pozitiv definită
(condiţiile 1 şi 2) şi derivata ei negativ semidefinită (condiţiile 3 şi 4) atunci
sistemul în buclă închisă este stabil. În plus dacă derivata funcţiei Lyapunov este
negativ definită atunci sistemul este asimptotic stabil (exponenţial stabil).
Problema esenţială în cazul sistemelor adaptive este găsirea acestei funcţii
V(x), deoarece în cazul în care ea nu a putut fi găsită astfel încât să îndeplinească
condiţiile 1-4 din teoria stabilităţii Lyapunov, nu se pot face aprecieri din punct
de vedere al stabilităţii şi convergenţei sistemului adaptiv în buclă închisă.

3. Desfăşurarea lucrării

Se vor realiza şi simula două sisteme adaptive cu model de referinţă, unul


pentru adaptarea unui factor de amplificare variabil şi unul pentru adaptarea unui
sistem de ordin I cu doi parametri necunoscuţi sau variabili în timp. Adaptarea
sistemelor se realizează cu metoda Lyapunov de stabilitate a sistemelor.

3.1. Adaptarea factorului de amplificare


Se dau funcţia de transfer a procesului condus şi funcţia de transfer a
modelului de referinţă:
k
H ( s ) = Y ( s) U ( s) =
s + am
(9.3)
k0
H m ( s ) = Ym ( s ) R ( s ) =
s + am

unde k reprezintă constanta de amplificare a procesului;


k0 - constanta de amplificare a modelului etalon.
Specificul celor două funcţii de transfer impune folosirea unui regulator
proporţional cu un singur parametru ajustabil θ, pentru ca ieşirea procesului să
urmărească ieşirea din modelul etalon.

u( t ) = θ ⋅ r ( t ) (9.4)

Eroarea şi derivata erorii în timp sunt caracterizate de relaţiile:

y e (t ) = y m (t ) − y (t )
dy e (t ) = dy m (t ) − dy (t ) = − a m ⋅ y m (t ) + k 0 ⋅ r (t ) + a m ⋅ y (t ) − k ⋅ θ ⋅ r (t ) (9.5)
k 
dy e (t ) = − am ⋅ y e (t ) + k ⋅  0 − θ  ⋅ r (t )
k 

Conform teoriei Lyapunov se alege următoarea funcţie de energie V:

51
2
γ k k 
V ( ye ,θ ) = ⋅ ye + ⋅  0 − θ 
2
(9.6)
2 2 k 

Derivata funcţiei V este:


k   dθ 
dV ( y e , θ ) = −γ ⋅ a m ⋅ y e2 + k ⋅  0 − θ  ⋅  γ ⋅ y e ⋅ r −  (9.7)
k   dt 

Punctul de echilibru ye=0 este asimptotic stabil, deci funcţia V este pozitiv
definită şi derivata funcţiei V este negativ definită dacă constantele γ şi am sunt
pozitive, iar legea de adaptare a parametrului θ este:


= γ ⋅ ye ⋅ r (9.8)
dt

În figura 9.1 este prezentată schema sistemului de reglare adaptiv cu


model de referinţă pentru adaptarea factorului de amplificare al căii directe.

Fig. 9.1 Adaptarea factorului de amplificare prin metoda Lyapunov

Sistemul din figura 9.1 este simulat timp de 30 secunde cu o intrare de tip
semnal dreptunghiular cu amplitudine 2 şi perioadă de 4 secunde. Evoluţia
referinţei, ieşirilor din proces şi modelul etalon, a erorii de adaptare şi a
parametrului θ sunt prezentate în figura 9.2.

Fig. 9.2 Referinţa r(t), ieşirile y(t),ym(t), eroarea ye(t) şi parametrul θ

52
3.2. Adaptarea factorului de amplificare şi constantei de timp
Se dau funcţia de transfer a procesului condus şi funcţia de transfer a
modelului de referinţă:

b •
H ( s ) = Y ( s) R( s) = ⇒ y (t ) = − a ⋅ y ( t ) + b ⋅ u ( t )
s+a

(9.9)
bm
H m ( s ) = Ym ( s ) U ( s ) = ⇒ y m (t ) = − a m ⋅ y m (t ) + bm ⋅ r (t )
s + am

Deoarece procesul conţine doi parametrii care pot fi necunoscuţi sau care
se pot modifica lent, regulatorul se alege de tip feedforward-feedback (calea
directă şi calea de reacţie) cu doi parametrii de acord: θ1 şi θ2.

u( t ) = θ1 ⋅ r ( t ) − θ 2 ⋅ y ( t ) (9.10)

Eroarea de adaptare (de urmărire) dintre ieşirile celor două sisteme este
y e (t ) = y m (t ) − y (t ) . Pentru metoda de adaptare bazată pe teoria stabilităţii
Lyapunov din relaţiile (9.9) rezultă:
dy e (t )
= − a m ⋅ y e (t ) + (b ⋅ θ 2 + a − a m ) ⋅ y (t ) − (b ⋅ θ 1 − bm ) ⋅ r (t ) (9.11)
dt

În funcţie de forma derivatei erorii de adaptare se alege şi funcţia


Lyapunov, pozitiv definită:

1 2 2
⋅ (b ⋅ θ 2 + a − a m ) + ⋅ (b ⋅ θ1 − bm ) 
1 1
V ( ye ,θ ) =  ⋅ y e +
2
(9.12)
2 b ⋅γ b⋅γ 

Din teoria stabilităţii Lyapunov rezultă că sistemul în buclă închisă este


stabil dacă derivata acestei funcţii V este negativ semidefinită.
dV ( y e , θ )
= −am ⋅ ye ≤ 0
2
(9.13)
dt

condiţie adevărată doar dacă am>0 şi în plus:

dθ 1 dθ 2
= γ ⋅ r ⋅ ye ; = −γ ⋅ y ⋅ y e (9.14)
dt dt

Comparând legile de adaptare ale parametrilor θ1 şi θ2 pentru aceeaşi


problemă în cazul celor două metode de adaptare, MIT şi Lyapunov, se
evidenţiază dispariţia filtrelor.
În figura 9.3 este prezentată schema Simulink a sistemului de reglare
adaptiv cu model de referinţă pentru adaptarea factorului de amplificare şi
constantei de timp a procesului. Se aleg: am=bm=2, a=1, b=0.5.

53
Fig. 9.3 Adaptarea unui sistem de ordin I prin metoda Lyapunov

Sistemul din figura 9.3 este simulat timp de 30 secunde cu o intrare de tip
semnal dreptunghiular cu amplitudine 2 şi perioadă de 4 secunde. Evoluţia
ieşirilor din proces şi din modelul de referinţă, respectiv evoluţia erorii de
adaptare a întregului sistem, prezentate în figura 9.4, evidenţiază capacitatea de
adaptare a sistemului.

Fig. 9.4 Ieşirile y(t) şi ym(t), respectiv eroarea de adaptare ye(t)

Creşterea factorului γ de adaptare conduce la o adaptare mai rapidă a


sistemului, fără a exista pericolul de a ajunge la oscilaţii nedorite ale semnalelor
de ieşire şi automat la o instabilitate. În figura 9.5 se prezintă evoluţia semnalelor
funcţionale pentru γ=15, γ=40 .

Fig. 9.5 Ieşirile y(t) şi ym(t), eroarea de adaptare ye(t) pentru γ=15 şi γ=40

54
Din studiul celor două aplicaţii de control adaptiv cu model etalon se
observă superioritatea netă din orice punct de vedere al metodei Lyapunov de
adaptare a parametrilor regulatorului adaptiv în comparaţie cu regula MIT.
Parametrii de acord ai regulatorului feedforward-feedback se pot calcula
prin echivalenţa ecuaţiilor (9.9) astfel:
 * 2
 θ 1 = 0.5 = 4
(− 1 − 0.5 ⋅ θ 2 ) ⋅ y(t ) + 0.5 ⋅ θ1 ⋅ r(t ) = −2 ⋅ ym (t ) + 2 ⋅ r (t ) ⇒  2 −1
(9.15)
θ 2* = =2
 0.5

Parametrii determinaţi în relaţia (9.15) rezultă şi prin simularea şi analiza


sistemului adaptiv din figura 9.3.

Fig. 9.6 Parametrii de acord ai regulatorului

4. Întrebări

1. Pe ce se bazează regula de adaptare Lyapunov?


2. Ce aduce nou metoda de adaptare bazată pe teoria Lyapunov în analiza şi
sinteza sistemelor adaptive?
3. Care sunt avantajele metodei Lyapunov faţă de metode MIT?
4. Să se deducă legea de adaptare a parametrului unui regulator adaptiv dacă
funcţiile de transfer ale procesului şi modelului sunt:

2 •
H ( s ) = Y ( s ) R( s) = ⇒ y (t ) = −2 ⋅ y (t ) + 2 ⋅ u (t )
s+2

(9.16)
2
H m ( s ) = Ym ( s ) U ( s ) = ⇒ y m (t ) = − y m (t ) + 2 ⋅ r ( t )
s +1

55
Lucrarea nr. 10

SISTEM ADAPTIV CU MODEL DE REFERINŢĂ PENTRU


ECHILIBRAREA PENDULULUI INVERSAT

1. Scopul lucrării

Lucrarea prezintă un regulator adaptiv cu model de referinţă pentru


controlul sau echilibrarea unui sistem instabil asemănător pendulului inversat.

2. Prezentare teoretică

Sistemul cu pendul matematic inversat este un sistem neliniar instabil,


constituit dintr-un pendul aflat pe un cărucior mobil şi poate avea drept scop
menţinerea acestuia în poziţie verticală în singurul punct de echilibru instabil
(deci echilibrarea acestuia) dacă se consideră ca ieşire din sistem deplasarea
căruciorului xp sau conducerea pendulului la un anumit unghi faţă de axa
verticală Oy dacă se consideră ca ieşire din sistem chiar unghiul θ. Deplasarea
ansamblului cărucior-pendul se poate realiza doar de-a lungul axei Ox, prin
intermediul unei forţe mecanice f (comenzi) aplicate din exterior de-a lungul
acestei axe (Fig. 10.1).

Fig. 10.1 Ansamblul cărucior-pendul (pendulul inversat)

Ecuaţiile neliniare care descriu dinamica procesului sunt:

•• • •• •2
f = (M + m ) ⋅ x p + b ⋅ x p + m ⋅ l ⋅ θ ⋅ cos(θ ) − m ⋅ l ⋅ θ ⋅ sin(θ )
(10.1)
•• •• ⋅•• •
m ⋅ g ⋅ l ⋅ sin(θ ) − m ⋅ l ⋅ θ − m ⋅ x p ⋅ l ⋅ cos(θ ) = J ⋅ θ + c ⋅ θ
2

56
Sistemul de ecuaţii diferenţiale (10.1) poate fi simplificat şi liniarizat dacă
discutăm de un unghi θ foarte mic (θ=0, sin(θ)=0, cos(θ)=1, d2θ=0) apropiat de
punctul de echilibru instabil şi dacă se neglijează frecările prin rotaţie şi translaţie
(b=c=0).
În cazul general, pendulul are două puncte de echilibru, unul de echilibru
stabil pentru pendul situat în partea de jos a căruciorului şi unul de echilibru
instabil pentru pendul situat în partea de sus a căruciorului (adică cazul
pendulului inversat).
( •• ••

 M + m ) ⋅ x p + m ⋅ l ⋅ θ = f
 •• •• •• ••
(10.2)
m ⋅ g ⋅ l ⋅ θ − m ⋅ l 2 ⋅ θ − m ⋅ l ⋅ x p = J ⋅ θ = m ⋅ l ⋅ θ
2

 3

Din punct de vedere al unui sistem de reglare ansamblul cărucior-pendulul


reprezintă procesul condus. Acesta are ca intrare comanda f (în lungul axei Ox)
prin intermediul căreia se încearcă echilibrarea pendulului şi reglarea poziţiei
căruciorului xp sau reglarea înclinării pendulului θ. Rezultă două funcţii de
transfer.
Dacă se doreşte la ieşire înclinarea pendulului faţă de axa verticală θ
atunci se elimină din sistemul (3.2) poziţia punctului de pivotare xp.

1

θ (s) m+M
H (s) = = (10.3)
F ( s)  4 m⋅l  2
 ⋅l − ⋅s − g
3 m+M 

Dacă se doreşte la ieşire poziţia pendulului pe axa orizontală xp atunci


rezultă a doua funcţie de transfer:
4
⋅ l ⋅ s2 − g
H XP ( s ) = 3 (10.4)
  4
 (m + M ) ⋅ ⋅ l − m ⋅ l  ⋅ s − (m + M ) ⋅ g ⋅ s
4 2

 3 

În continuare se va elimina poziţia căruciorului din simulări, iar sistemul


de reglare va fi proiectat pentru un proces caracterizat de funcţia de transfer H(s)
din relaţia (10.3), dorindu-se reglarea poziţiei pendulului (unghiului de înclinare
faţă de axa verticală).
Pentru reprezentarea pe spaţiul stărilor a ansamblului cărucior-pendul se

aleg următoarele două stări: x1 = θ şi x 2 = θ , iar matricile de sistem pentru
intrarea f şi ieşirea θ sunt:

 0 1  0 
 g   1 
A= 4 0 B =  −  C = (1 0 ) D = 0 (10.5)
  ⋅ l − m ⋅ l    (m + M ) ⋅  4 ⋅ l − m ⋅ l 

 3 m+M    m+M
   3 

57
Pentru proiectarea, simularea şi testarea sistemelor de reglare automată ce
vor fi realizate s-au folosit constantele: m=0.5kg, M=1kg, l=0.5m.

3. Desfăşurarea lucrării

Se vor realiza şi simula două sisteme adaptive cu model de referinţă de


ordin doi, pentru adaptarea parametrilor regulatorului (MIT şi Lyapunov).
Funcţia de transfer a modelului de referinţă de ordin doi (model etalon)
este caracterizată de pulsaţia naturală ωn=3 rad/sec, factorul de amortizare ζ=1 şi
eventual factorul de amplificare k0=1, rezultând un răspuns dorit amortizat critic:

ωn
2
Ym ( s ) 9
H m ( s) = = 2 = 2 (10.6)
R( s) s + 2 ⋅ ζ ⋅ ω n ⋅ s + ω n 2
s + 6⋅s + 9

Deoarece între răspunsul modelului de referinţă, caracterizat prin relaţia


(10.6), şi răspunsul direct al procesului, caracterizat prin relaţia (10.3), există trei
diferenţe esenţiale, este necesar un regulator cu trei parametrii de acord k1, k2, k3.

u(t ) = k1 ⋅ r (t ) − k 2 ⋅ y (t ) − k 3 ⋅ y (t ) (10.7)

Răspunsurile modelului de referinţă şi procesului condus devin:

 (− 0.66 0.5) ⋅ k1
 y (t ) = p 2 − (0.66 ⋅ k 0.5) ⋅ p − (0.66 ⋅ k + 9.8) 0.5 ⋅ r (t )
 3 2
 (10.8)
 y (t ) = ωn 2
9
⋅ r ( t ) = ⋅ r(t )
 m
p 2 + 2 ⋅ ζ ⋅ ω n ⋅ p + ωn
2
s + 6⋅s + 9
2

unde p este considerat operatorul de derivare.


Cele două răspunsuri sunt identice când eroarea ye(t)=ym(t)-y(t) este nulă.
Problema principală în cazul sistemelor adaptive este de a găsi legile de adaptare
ale parametrilor regulatorului.

3.1. Adaptarea regulatorului prin metoda MIT

În cazul acestei metode mecanismul de ajustare a parametrilor


regulatorului adaptiv poate fi sintetizat prin relaţia:

dk dJ ∂y
= −γ ⋅ = −γ ⋅ y e ⋅ e (10.9)
dt dk ∂k

Pentru simplificarea schemei bloc se va introduce în amplificările


parametrilor de adaptare (în vitezele de adaptare) termenul 0.66/0.5. Relaţiile de
adaptare rezultate în urma calculelor sunt:

58
 •  0.66 0.5 
k1 (t ) = −γ 1  2 ⋅ r (t )  ⋅ y e (t )
  p − (0.66 ⋅ k 3 0.5) ⋅ p − (0.66 ⋅ k 2 + 9.8) 0.5 
 •  0.66 0.5 
k 2 (t ) = −γ 2  2 ⋅ y (t )  ⋅ y e (t ) (10.10)
  p − (0.66 ⋅ k 3 0.5) ⋅ p − (0.66 ⋅ k 2 + 9.8) 0.5 
 •  0.66 0.5 • 
k 3 (t ) = −γ 3  2 ⋅ y (t )  ⋅ y e (t )

  p − (0.66 ⋅ k 3 0.5) ⋅ p − (0.66 ⋅ k 2 + 9.8) 0.5 

Deoarece parametrii k2 şi k3 sunt necunoscuţi, se realizează următoarea


înlocuire de regim staţionar:

p 2 − (0.66 ⋅ k 3 0.5) ⋅ p − (0.66 ⋅ k 2 + 9.8) 0.5 = p 2 + 2 ⋅ ζ ⋅ ω n ⋅ p + ω n


2
(10.11)

În figura 10.2 este prezentată schema de reglare adaptivă cu model etalon


folosind metoda de adaptare MIT. Adaptarea se realizează aplicând la intrare un
semnal de referinţă de tip impulsuri dreptunghiulare cu o perioadă de 20 secunde
şi amplitudine de pi/10 (unghiul θ).

Fig. 10.2 Sistem de conducere adaptivă a pendulului inversat

3.2. Adaptarea regulatorului prin metoda Lyapunov

Aceasta metodă mai performantă presupune folosirea modelelor


matematice ISO pentru sisteme cu grad mai mare de unu. Se introduc notaţiile:
T T T

y =  y y  y m =  y m y m  y e =  y e y e 
• • •

     

59
Ecuaţiile dinamice care descriu comportarea celor două bucle de urmărire
(de adaptare şi de referinţă) şi eroarea de adaptare sunt:

 y (•t ) = A(t ) ⋅ y (t ) + B(t ) ⋅ r (t )



 •
 y m (t ) = Am ⋅ y m (t ) + Bm ⋅ r (t ) (10.12)
 •
 y e (t ) = Am ⋅ y e (t ) + ( Am − A(t ) ) ⋅ y (t ) + (Bm − B (t ) ) ⋅ r (t )

unde matricele de sistem sunt:

 0 1   0 
A(t ) =  0.66 ⋅ k 2 (t ) + 9.8 0.66 , B(t ) =  − 0.66
 ⋅ k 3 (t )  ⋅ k1 (t )
0.5 0.5   0.5 
 0 1   0 
Am =  , Bm =  2 
− ω n − 2 ⋅ ζ ⋅ ω n  ω n 
2

Funcţia de energie, convenabil aleasă şi pozitiv definită, cu o formă


asemănătoare cu cea a erorii de adaptare, este:

{ } { }
V (t , y e (t ) ) = y e ⋅ P ⋅ y e + tr ( Am − A) ⋅ ( Am − A) + tr (Bm − B ) ⋅ (Bm − B ) > 0 (10.13)
T T T

Derivata acestei funcţii Lyapunov este dată în relaţia (10.14).

( )  
V (t , y e (t ) ) = y e ⋅ Am ⋅ P + P ⋅ Am ⋅ y e + 2 ⋅ tr ( Am − A) ⋅  P ⋅ y e ⋅ y T − A  +
• •
T T T

  
(10.14)
 
+ 2 ⋅ tr (Bm − B ) ⋅  P ⋅ y e ⋅ r T − B  

T

  

p p12 
unde P =  11 este o matrice pozitiv definită;
 p12 p22 
tr – urma matricei (trace).
Derivata funcţiei Lyapunov este negativ definită şi conform teoremei
punctul de echilibru ye=ym-y=0 este asimptotic stabil dacă se aleg:

 Am T ⋅ P + P ⋅ Am = −Q < 0
 •

 A(t ) = γ A ⋅ P ⋅ y e ⋅ y
T
(10.15)
 •
 B(t ) = γ B ⋅ P ⋅ y e ⋅ r T

Din sistemul (10.15) se deduce matricea P şi relaţiile de adaptare pentru


cei trei parametrii variabili ai regulatorului.

60
 •  p ⋅ y (t ) + p ⋅ y •(t )  r (t )
k
 1 ( t ) = −γ 1  12 e 22 e ⋅
 

 •
 •

k 2 (t ) = γ 2  p12 ⋅ y e (t ) + p 22 ⋅ y e (t )  ⋅ y (t ) (10.16)
  
 •  •
 •
k 3 (t ) = γ 3  p12 ⋅ y e (t ) + p22 ⋅ y e (t )  ⋅ y (t )
  

În figura 10.3 este prezentată schema de reglare adaptivă cu model etalon


folosind metoda de adaptare Lyapunov.

Fig. 10.3 Sistem de conducere adaptivă a pendulului inversat

Evoluţia în timp a semnalelor de ieşire din modelul etalon şi din procesul


condus liniarizat, respectiv eroarea de adaptare pentru cele două sisteme adaptive
sunt prezentate în figura 10.4.

Fig. 10.4 Evoluţia semnalelor de ieşire şi a erorii de adaptare

61
Se evidenţiază în situaţia aplicării metodei Lyapunov, din analiza
semnalelor, o adaptare mai rapidă a parametrilor regulatorului şi oscilaţii mai
mici ale erorii de adaptare ye(t).
Sistemele adaptive proiectate oferă performanţe asemănătoare dacă privim
doar capacitatea de adaptare şi dacă procesul liniarizat este înlocuit în scheme cu
varianta neliniară. Totuşi, aceste sisteme sunt nerealizabile fizic deoarece la
începutul simulării ieşirea din procesul condus atinge valori mult prea mari
(2π/3=120˚).
Această situaţie poate fi evitată dacă parametrii regulatorului sunt
iniţializaţi cu valori apropiate de valorile optime, iar apoi procesul va suferi
modificări lente în timp.

4. Întrebări

1. De ce sistemul cu pendul inversat este un sistem neliniar şi instabil?


2. Câte puncte de echilibru deţine sistemul reprezentat prin pendul inversat?
3. Care sunt relaţiile prin care se caracterizează valorile optime ale parametrilor
regulatorului?
4. Ce tip de regulator devine regulatorul feedback-feedforward dacă k2=k3?
5. Să se analizeze adaptarea sistemului când se foloseşte varianta neliniară
pentru pendulul inversat.

62
Lucrarea nr. 11

REGLAREA ADAPTIVĂ LOCALĂ CU MODEL DE


REFERINŢĂ A ROBOŢILOR

1. Scopul lucrării

Lucrarea prezintă un regulator adaptiv cu model de referinţă pentru


comanda locală a roboţilor seriali.

2. Prezentare teoretică

Roboţii seriali sunt roboţi ce au un lanţ cinematic cu o construcţie serială,


ceea ce presupune interinfluenţe între forţele şi momentele diferitelor grade de
libertate. Modelul dinamic al unui robot prezintă neliniarităţi şi variaţii puternice
ale parametrilor procesului. Principala cauză ce generează aceste probleme de
proiectare a regulatoarelor este interdependenţa dintre diferite axe de mişcare,
fenomen tipic construcţiei roboţilor seriali.
Majoritatea roboţilor industriali sunt acţionaţi cu elemente hidraulice,
pneumatice sau electrice, prin intermediul unor bucle de reglare a poziţiei. Dacă
presupunem că avem de-a face cu un sistem robotic acţionat cu servomotoare de
curent continuu, atunci se poate realiza câte un sistem de reglare a poziţiei
decuplat pe axe, adică dedicat fiecărui braţ din lanţul cinematic al robotului
serial. Variaţia parametrilor unui braţ în timp este compensată printr-o reglare
adaptivă cu model de referinţă local robustă.
Se consideră intrarea în proces tensiunea de alimentare a circuitului
indusului Ua, iar ieşirea este poziţia unghiulară la ax θ. Neglijând cuplul rezistent
(Cr=0) funcţia de transfer a servomotorului de curent continuu folosit ca sistem
de poziţionare este:
θ ( s) Km
H θ ( s) = = (11.1)
U a ( s ) s ⋅ [K e K m + ( Ra + sLa ) ⋅ ( B + sJ )]

unde θ este unghiul de rotaţie al axului motorului;


Ua - tensiunea de alimentare a rotorului;
Ra, La - parametrii electrici ai circuitului rotorului;
Ke, Km - constante de proporţionalitate electrice şi mecanice;
J - momentul de inerţie al maselor în mişcare;
B - coeficientul de frecare vâscoasă.
Valoarea inductanţei bobinei servomotorului de curent continuu împreună
cu valoarea rezistenţei ohmice determină constanta de timp electrică a
servomotorului. Dacă această constantă este mult mai mică şi neglijabilă (La=0)
în comparaţie cu constanta de timp mecanică dată de momentul de inerţie al

63
maselor în rotaţie şi de constanta de proporţionalitate electromecanică, atunci
schema simplificată a manipulatorului poate fi aproximată cu un sistem de ordin
doi.
θ (s) Km ⋅ µ
H (s) = = (11.2)
U a ( s ) s ⋅ [K e K m + Ra ⋅ ( B + s ⋅ J )]

unde μ reprezintă raportul de transmisie.


Pentru proiectarea, simularea şi testarea sistemului de reglare automată se
vor folosi următoarele constante fizice: Ra= 1.025Ω, Ke= 0.5247V·min/rot, Km=
6.1 V·min/rot, J=8kg·m2, B=1.5Nms/rad, μ=0.01.

3. Desfăşurarea lucrării

Se va realiza şi simula un sistem adaptiv cu model de referinţă de ordin


doi pentru comanda locală a poziţiei elementelor unui lanţ cinematic.
Folosirea unui model etalon robust în domeniul de deplasare al
manipulatorului determină, printr-o adaptare corespunzătoare a parametrilor, o
robusteţe şi componentei din lanţul cinematic al robotului. Sistemele de reglare
adaptivă local robuste cu model etalon se realizează, în general, după două
scheme de principiu:
- schemă de reglare adaptivă cu model etalon prin intermediul unui semnal de
compensare g(t) al variaţiei parametrilor procesului şi de eliminare a
perturbaţiilor nemăsurabile, parametrii regulatorului rămânând în acest caz
nemodificaţi;
- schemă de reglare adaptivă cu model etalon prin acordarea directă a
parametrilor regulatorului cu scopul eliminării erorii de adaptare dintre modelul
etalon şi manipulator.
Pentru schema bloc de reglare adaptivă cu compensare din figura 11.1 se
recomandă folosirea unui regulator proporţional proiectat după modelul
procesului cunoscut iniţial şi apoi compensarea eventualelor modificări ale
procesului. Acest semnal g(t) este dedus folosind teoria de stabilitate Lyapunov.

Fig. 11.1 Schema de reglare adaptivă cu semnal de compensare

Modelul acestui sistem în buclă închisă este de ordin doi:

(s 2 2
) 2 2 
+ 2 ⋅ ζ ⋅ ω n ⋅ s + ω n ⋅ θ ( s ) = ω n ⋅ θ pr ( s ) + ω n ⋅  g ( s ) −
R ⋅ µ ⋅τ 
K 0 ⋅ K m 
(11.3)

64
unde factorul de amortizare şi pulsaţia naturală se pot calcula cu relaţiile (11.4).

Ra ⋅ B + K m ⋅ K e µ ⋅ Ra ⋅ τ
ζ = ,ω = (11.4)
2 ⋅ µ ⋅ K 0 ⋅ K m ⋅ Ra ⋅ J K m ⋅ K0

Modelul sistemului etalon este tot de ordin doi cu parametrii am=2, bm=1.
Acest sistem etalon are la intrare aceeaşi referinţă θpr, iar la ieşire poziţia dorită
θm.
(s 2 + am ⋅ s + bm )⋅ θ m (s ) = bm ⋅ θ pr (s ) (11.5)

Ecuaţia diferenţială care descrie eroarea de adaptare, reprezentând eroarea


θe(t)=θm(t)-θ(t) între ieşirea dorită (din modelul etalon) şi ieşirea din procesul
condus, se determină pornind de la relaţiile (11.3) şi (11.5).

(s 2
)
+ a m ⋅ s + bm ⋅ θ e ( s ) = − am ⋅ s ⋅ θ ( s ) − bm ⋅ θ ( s ) + 2 ⋅ ζ ⋅ ω n ⋅ s ⋅ θ ( s ) +
2  R ⋅ µ ⋅τ  (11.6)
+ ω n ⋅ θ ( s ) + bm ⋅ θ pr ( s ) − ω n ⋅ θ pr ( s ) − ω n ⋅  g ( s ) −
2 2

 K 0 ⋅ K m 

Se introduce momentul rezistiv sub forma τ=τ0+η1·(θpr-θ)+ η2·dθ/dt şi se


face o trecere din domeniul complex în domeniul timp folosind proprietăţile
transformatei Laplace.

 2  R⋅µ 
⋅ η1   ⋅ (θ pr (t ) − θ (t ) ) −
•• •
θ e (t )+ am ⋅ θ e (t )+ bm ⋅ θ e (t ) =  bm − ω n ⋅ 1 −
  K0 ⋅ K m 
(11.7)
 R ⋅ µ ⋅τ 0   R⋅µ  •
− ω n ⋅  g (t ) −
2
+  ⋅ ζ ⋅ ω − + ω
2
⋅ ⋅ η 2
 ⋅ θ (t )
K 0 ⋅ K m  
2 a
K0 ⋅ Km
n m n
 

În final, se obţine o eroare de adaptare θe cu trei termeni, unul depinde de


derivata poziţiei unghiulare sau viteza unghiulară Ω(t)= dθ/dt, un termen depinde
de eroarea de reglare e(t)=θpr(t)-θ(t), şi un termen liber de regim staţionar.
Semnalul de compensare trebuie ales astfel încât să compenseze fiecare
din cei trei termeni ai erorii de adaptare.

g (t ) = g1 (t ) ⋅ (θ pr (t ) − θ (t ) ) + g 2 (t ) ⋅ θ (t )+ g 3 (t )

(11.8)

Semnalul g(t) se introduce în ecuaţia (11.7) şi apoi aceasta este


transformată într-o ecuaţie matriceală. Se face următoarea notaţie vectorială
θe=[θe dθe]T.

θ e (t ) = Am ⋅ θ e (t ) + b1 ⋅ (θ pr (t ) − θ (t ) ) + b2 ⋅ θ (t ) + b3
• •
(11.9)

unde s-au făcut următoarele notaţii:

65
 0 1 
Am =  
 − bm − a m 
 0 
  ⋅ µ  
b1 =  b − ω 2 ⋅ 1 − R
⋅ η  − ω
2
⋅ g ( t ) 
 m n  K0 ⋅ Km
1 n 1 
   
(11.11)
 0 
b2 (t ) =  2 ⋅ ζ ⋅ ω − a + ω 2 ⋅ R ⋅ µ ⋅ η − ω 2 ⋅ g (t ) 
 
K0 ⋅ Km
n m n 2 n 2
 
 0 
b3 (t ) = ω n ⋅  R ⋅ µ ⋅ τ 0 − g (t ) 
2
 
 K0 ⋅ Km
3

Funcţia Lyapunov ataşată sistemului descris prin ecuaţia diferenţiale


(11.9) se alege astfel încât să satisfacă condiţiile teoremei de stabilitate. Această
funcţie Lyapunov V(t) are o formă asemănătoare ca şi conţinut cu derivata erorii
de adaptare θe(t).

V (t ,θ e (t )) = θ e (t ) ⋅ P ⋅ θ e (t ) + a1 ⋅ b1T (t ) ⋅ b1 (t ) +
T

(11.11)
+ a 2 ⋅ b2T (t ) ⋅ b2 (t ) + a3 ⋅ b3T (t ) ⋅ b3 (t )

Funcţia Lyapunov este pozitiv definită dacă matricea P este o matrice


pătratică pozitiv definită (p11>0 şi p11p22-p12p12>0) şi a1, a2, a3 sunt factori de
ponderare.
Derivata funcţiei Lyapunov este negativ definită şi, conform teoremei
Lyapunov pentru stabilitatea sistemelor, punctul de echilibru θe=θm-θ=0 este
asimptotic stabil dacă se aleg:

 Am T ⋅ P + P ⋅ Am = −Q < 0

[ e ]
 bT (t ) ⋅ P ⋅ θ (t ) + θ T (t ) ⋅ P ⋅ b (t ) ⋅ (θ (t ) − θ (t ) ) = −2a b• T (t )b (t )
 1 e 1 pr 1 1 1
 (11.12)
[ ]
• •T
 b2T (t ) ⋅ P ⋅ θ e (t ) + θ eT (t ) ⋅ P ⋅ b2 (t ) ⋅ θ (t ) = −2a 2 b 2 (t )b2 (t )

[
 T
]
•T •
 3
b ( t ) ⋅ P ⋅ θ e ( t ) + θ T
e ( t ) ⋅ P ⋅ b3 ( t ) = − 2 a b
3 3 ( t ) b 3 (t )

unde:
Q este o matrice simetrică pozitiv definită (se alege pentru simplitate matricea
identitate).
Rezolvând sistemul de ecuaţii (11.13) rezultă mai întâi matricea simetrică
P în funcţie de parametrii modelului etalon, iar apoi vectorii b1(t),b2(t),b3(t) cu
ajutorul cărora se vor determina legile de adaptare pentru componentele variabile
ale semnalului de compensare g(t).

66
⋅ θ e (t ) ⋅ P ⋅ (θ pr (t ) − θ (t ) )
•T 1 T
b1 (t ) = −
a1
•T 1 T •
b 2 (t ) = − ⋅ θ e (t ) ⋅ P ⋅ θ (t ) (11.13)
a2
•T 1 T
b 3 (t ) = − ⋅ θ e (t ) ⋅ P
a3

Dacă se consideră specificul şi forma vectorilor b1(t), b2(t), b3(t), din


relaţiile (11.10) şi (11.13) se obţine sistemul (11.4) de ecuaţii monodimensionale
în forma finală. Acest sistem este util în compensarea variaţiilor parametrilor
procesului condus:

• θ (t ) ⋅ p + θ• (t ) ⋅ p  (θ (t ) θ (t ) )
 g 1 ( t ) = γ 1 ⋅  e 12 e 22  ⋅ pr −
 

• θ (t ) ⋅ p + θ• (t ) ⋅ p  θ• (t )
 2
g ( t ) = γ ⋅
2  e 22  ⋅ (11.14)
 
12 e

 •
 •

 g 3 (t ) = γ 3 ⋅ θ e (t ) ⋅ p12 + θ e (t ) ⋅ p22 
  

În figura 11.2 este prezentată schema de reglare adaptivă cu model etalon


local robustă a unei componente dintr-un lanţ cinematic al unui robot.

Fig. 11.2 Schema de reglare adaptivă local robustă a manipulatorului

Adaptarea se realizează aplicând la intrare un semnal de referinţă de tip


impulsuri dreptunghiulare cu perioada de 20 sec şi amplitudine unitară. Se

67
observă din schemă prezenţa regulatorului proporţional cu structură şi valoare
fixate K0, respectiv semnalul de compensare a variaţiilor parametrice ale
procesului condus.
Evoluţia în timp a semnalelor de ieşire din modelul etalon şi din procesul
condus, reprezentat prin manipulatorul robotic, sunt prezentate în figura 11.3. Se
evidenţiază pe acest grafic o adaptare a semnalului g(t) cu scopul anulării erorii
de adaptare.

Fig. 11.3 Referinţa şi răspunsurile modelului etalon şi procesului

Evoluţiile în timp a semnalelor componente de compensare a celor trei


termeni (g1(t), g2(t), g3(t)) din ecuaţia dinamică a erorii de adaptare sunt
prezentate în figura 4.4.

Fig. 11.4 Evoluţia componentelor semnalului de compensare g(t)

4. Întrebări

1. De ce este necesar un sistem adaptiv pentru controlul roboţilor seriali?


2. Care este metoda de adaptare (compansare) folosită?
3. Ce se înţelege prin compensare?
4. Să se realizeze o schemă de reglare adaptivă cu model etalon prin acordarea
directă a parametrilor regulatorului.

68
Lucrarea nr. 12

APLICAŢIE PRACTICĂ DE REGLARE ADAPTIVĂ A


TURAŢIEI UNUI MOTOR DE CURENT CONTINUU
UTILIZÂND MICROCONTROLERUL PIC16F628A

1. Scopul lucrării

Lucrarea prezintă o aplicaţie practică de reglare adaptivă a turaţiei unui


motor de curent continuu, folosind un montaj cu microcontrolerul PIC16F627.
Regulatorul autoacordabil cu dispersie minimă (DDC) este implementat într-un
program Matlab, iar pentru identificarea procesului este folosită metoda celor
mai mici pătrate generalizate.

2. Prezentare teoretică

În cazul unor procese necunoscute din punct de vedere al parametrilor,


dar cu informaţii asupra formei şi modelului, se impune o comandă adaptivă. În
funcţie de tipul acestui proces se alege un sistem de reglare adaptiv cu model
etalon sau cu identificarea modelului.

2.1. Reglarea discretă adaptivă cu dispersie minimă a turaţiei unui M.c.c.

Pentru comanda prin intermediul unui echipament numeric, de tipul unui


microprocesor sau microcontroler, se recomandă folosirea unei scheme de reglare
adaptive discrete. De asemenea pentru o comandă directă discretă (DDC) a unui
proces este recomandabilă folosirea unui regulator autoacordabil discret. Acest
tip de schemă adaptivă necesită pentru ajustarea parametrilor regulatorului,
respectiv pentru algoritmul de comandă discretă, o identificare a procesului
(adică se va folosi o schemă de reglare adaptivă indirectă).

Fig. 12.1 Schema bloc de comandă adaptivă indirectă discretă

69
Identificarea se poate realiza doar o singură dată la începutul reglării sau
de mai multe ori, în fiecare moment de eşantionare, în timpul reglării procesului.
Evident, este de dorit o identificare multiplă care ar evita eventualele erori de
identificare şi o modificare a parametrilor procesului dacă aceasta este necesară.
În această lucrare au fost folosite, pentru determinarea algoritmului de
reglare discretă directă (DDC), metoda dispersiei minime, iar pentru identificarea
procesului cele mai mici pătrate, varianta “on-line”.
Determinarea algoritmului de reglare discretă cu dispersie minimă nu
prezintă dificultăţi ridicate dacă parametrii procesului sunt cunoscuţi. Pentru
reglarea turaţiei (vitezei unghiulare) unui motor de curent continuu, ecuaţiile
dinamice sunt:

 d ia
U a = Ra ⋅ ia + La ⋅ d t + e

e = K e ⋅ Ω (12.1)
 dΩ
C m = K m ⋅ ia = J ⋅ + Cr + B ⋅ Ω
 dt


unde: Ω = este viteza unghiulară;
dt
θ - unghiul de rotaţie al axului motorului;
Ke, Km - constante de proporţionalitate;
Cr - cuplul rezistent;
J=Jm+Js - momentul de inerţie al maselor în mişcare;
B=Bm+Bs - coeficientul de frecare vâscoasă (indicele m se referă la motor
şi s la sarcină).
Considerând Cr=0 şi aplicând transformata Laplace, cu condiţii iniţiale
nule, din ecuaţiile (12.1) se obţine modelul matematic intrare-ieşire şi funcţia de
transfer a motorului de curent continuu (mărimea de ieşire se consideră viteza
unghiulară, iar mărimea de intrare tensiunea de alimentare Ua).

Ω( s ) Km
H Mcc ( s ) = = (12.2)
U a ( s ) K e K m + ( Ra + sLa )( B + sJ )

Funcţia de transfer discretă pentru un motor de curent continuu este:

−1 Ω ( z −1 ) b1 ⋅ z −1 + b2 ⋅ z −2
H Mcc ( z ) = = (12.3)
U a ( z −1 ) 1 + a1 ⋅ z −1 + a 2 ⋅ z − 2

unde b1, b2, a1, a2 reprezintă parametrii procesului.


Comanda cu dispersie minimă pentru o referinţă nenulă presupune
minimizarea criteriului:

{(
J (u) = M y k − y pr )}
2
(12.4)

70
de unde rezultă şi comanda optimală discretă cu dispersie minimă dată de relaţia
(12.5).
C ( z −1 ) y pr − G ( z −1 ) y k
uk ∗ = (12.5)
F ( z −1 ) B ( z −1 )

unde, conform Lucrării 1 rezultă C(z-1)=1, F(z-1)=1, G(z-1)=g0+g1·z-1= -a1+a2·z-1.


Dacă se cunosc polinoamele de întârziere A(z-1), B(z-1) atunci algoritmul
practic de comandă discretă directă (DDC) ce se implementează prin program
este dat în relaţia (12.6).

⋅ ( y prk + a1 ⋅ y k + a 2 ⋅ y k −1 − b2 ⋅ u k −1 )
1
uk = (12.6)
b1

Acest algoritm poate fi îmbunătăţit cu algoritmul incremental:

⋅ ( y prk + a1 ⋅ y k −1 + a 2 ⋅ y k −2 − b1 ⋅ u k −1 − b2 ⋅ u k − 2 ) + u k −1
1
uk = (12.7)
q

Deoarece parametrii procesului nu sunt cunoscuţi şi pot să se modifice cu


variaţia sarcinii este necesară realizarea unei identificări “on-line” cu metoda
celor mai mici pătrate generalizate (CMMP).
Se introduc notaţiile (12.8).

θ = [a1 a 2 b1 b2 ]T ϕ k = [− yk −1 − yk −2 uk −1 Kuk −2 ]
T
(12.8)

Metoda de identificare parametrică CMMP “on line” (recursivă) la un


model de regresie ARX se bazează pe relaţiile12.9.

θ k +1 = θ k + K k +1
ε k +1ε k +1 = y k +1 − ϕ T k +1 ⋅θ k (12.9)
Fk ⋅ ϕ k +1 1
K k +1 = Fk +1 = ⋅ ( Fk − K k +1 ⋅ ϕ T k +1 ⋅ Fk )
λ + ϕ k +1 ⋅ Fk ⋅ ϕ k +1
T
λ

unde φ reprezintă vectorul măsurătorilor (12.8), yk+1 este ieşirea măsurată în


momentul k+1, θk este vectorul parametrilor modelului (12.7) determinat în
momentul k, Fk este matricea de dispersie a parametrilor, care pe parcursul
algoritmului de identificare ar trebui să scadă şi λ este factorul de uitare (0<λ<1)
constant sau variabil.
Programul de identificare şi determinare a comenzii poate fi realizat în
limbaj de programare C sau în mediul Matlab (dacă se foloseşte o versiune
recentă, 6.5 sau superioară) şi implementat pe un procesor sau calculator
personal.

71
2.2. Interfaţa electronică de determinare a turaţiei şi de comandă a M.c.c.

Între calculator, pe care este implementat algoritmul de comandă adaptivă


indirectă (regulatorul autoacordabil DDC cu dispersie minimă) şi procesul
condus este necesară o interfaţă electronică. Aceasta are rolul de a comanda
motorul de curent continuu şi de a prelucra semnalulul analogic sub formă de
impulsuri repetate, recepţionat de la traductorul incremental de rotaţie.
Interfaţa electronică de determinare a turaţiei şi de comandă a motorului
de curent continuu, cu schema bloc din figura 12.2, are ca element principal
microcontrolerul PIC16F628A. Acest microcontroler face parte din categoria
microcontrolerelor PIC, produs de firma Microchip, pe 8biţi şi cu un set redus de
instrucţiuni (RISC) şi structură Harvard (memorie de program şi de date
separate).
Microcontrolerul PIC16F628A dispune de următoarele facilităţi:
- 15 pini I/O controlabili individual;
- comparatoare analogice;
- 3 timere (2x8 biţi şi 1x16 biţi);
- modul de captură, comparare şi PWM;
- modul de transmisie serială USART;
- acceptă oscilator intern şi extern;
- timer “watch-dog”;
- posibiliate de standby;
- memoria de date poate fi accesată direct şi indirect.

Fig. 12.2 Schema bloc a interfaţei electronice de comandă şi prelucrare

Interfaţa electronică de comandă şi prelucrare (a cărei schemă detaliată


este prezentată în Anexa B) conţine următoarele module:
- modul de stabilizare tensiune 5V (cu circuitul integrat LM7805);
- modul comunicaţie serială RS232;
- modul de comandă şi acţionare a motorului de current continuu (driver
realizat cu tranzistorul BCP68) cu separare a circuitului de putere
(optocuplor 4N25);
- modul de semnalizare cu LED-uri (verde şi roşu);
- modul de generare a semnalului PWM şi de determinare a turaţiei
motorului de curent continuu (realizat cu microcontrolerul PIC16F628A).

72
Interfaţa electronică se alimentează cu o tensiune de la o sursă de curent
continuu, cuprinsă între 6V şi 15V, prin intermediul conectorului J1. Pentru
protecţia întregului montaj, acesta a fost prevăzut pe linia de alimentare cu o
siguranţă şi o diodă.
Motorul de curent continuu este conectat la driverul de putere al
montajului prin intermediul conectorului J4. Amplificatorul final de comandă
poate suporta un curent maxim de 3A.
Cu ajutorul conectorului J3 semnalul analogic sub forma unor impulsuri
de la traductorul incremental de rotaţie este transmis direct microntrolerului
pentru prelucrare. Intrarea spre microcontroler nu conţine nici o izolare optică,
ceea ce înseamnă că semnalul de intrare se aplică direct pe un pin al portului
controlerului printr-o rezistenţă. La intrarea microcontrolerului este necesară
folosirea unei rezistenţe de pull-up.
Comunicaţia cu calculatorul se face prin portul serial RS-232 al
calculatorului, de la conectorul J5. Pentru o comunicaţie serială corectă se
folosesc: o viteză de 115200 biţi/sec, 8 biţi de date, un bit de stop, fără controlul
fluxului, aceste setări fiind deja aplicate microcontrolerului.
Interfaţa electronică, prin microcontrolerul PIC 16F628A, îndeplineşte
două funcţii principale: să comunice serial spre calculator turaţia motorului de
current continuu şi să citească serial de la calculator comanda determinată prin
program, comandă folosită la acţionarea motorului de current continuu.
Programul implementat pe microcontroler, prezentat în Anexa C, foloseşte două
tipuri de mesaje.
a) Mesajul cu turaţia motorului (μC→PC)
Microcontrolerul are un numărător liber care are o legătură directă la pinul
12 al circuitului integrat. Pe acest pin RB6 al portului paralel (pin 12 al
circuitului integrat) sunt numărate impulsurile generate de traductorul
incremental situat pe axul motorului de curent continuu. Timerul 0 al
microcontrolerului este folosit pentru a genera o întrerupere la un numărător care
setează perioada de citire a turaţiei motorului.
Perioada de citire a turaţiei poate fi calculată cu ajutorul relaţiei:
(1/Fosc)·4·255·255·n.
1
Tcit = ⋅ 4 ⋅ 255 ⋅ 255 ⋅ n (12.10)
Fosc

Dacă Fosc=11.0592MHz şi n=5, atunci perioada de citire a numaratorului


este 0.11759s. După ce a fost citit numărătorul, microcontrolerul decodifică byte-
ul citit şi determină turaţia motorului de curent continuu pe care o transmite
calculatorului pe portul serial. Pentru compatibilitate mesajul transmis conţine
turaţia motorului yk sub forma unui cod pe 8 biţi (0-255).

b) Mesajul cu comanda motorului (PC →μC)


După ce a fost citită serial turaţia motorului de curent continuu algoritmul
adaptiv implementat pe PC identifică succesiv parametrii procesului şi determină
comanda cu dispersie minimă. Această comandă este transmisă de către
calculator microcontrolerului pe portul serial.

73
Mesajul transmis de calculator are două componente, un octet cu
caracterul de start ’S’ şi un octet cu comanda motorului uk sub forma unui cod pe
8 biţi (0-255), pentru compatibilitate, reprezentând de fapt factorul de umplere al
semnalului PWM de acţionare. Acest protocol este obligatoriu deoarece prin el se
semnalizează buna funcţionare a sistemului.
Microcontrolerul, în momentul în care primeşte caracterul de start, setează
pinul RA2 al portului paralel (pin 1 al circuitului integrat), ceea ce înseamnă o
aprindere a LED-ului verde. După recepţia octetului de comandă (comanda uk)
microcontrolerul resetează pinul RA2 şi setează pinul RA3 (pin2 al circuitului
integrat), ceea ce înseamnă stingerea LED-ului verde şi aprinderea LED-ului
roşu.
Factorul de umplere al impulsurilor PWM este folosit de microcontroler
pentru a modifica parametrii comenzii. Frecvenţa impulsurilor semnalului PWM
este fixă şi se poate calcula cu relaţiile:

TPWM = ( PR 2 + 1) ⋅ 4 ⋅ Tosc ⋅ TMR 2


(12.11)
FPWM = 1 / TPWM

Dacă PR2=255 şi valoarea TMR2 este 16 atunci la aceeaşi frecvenţă a


oscilatorului rezultă o frecvenţă a impulsurilor PWM fixă de aproximativ
750KHz.
Acest semnal modulat în durată a impulsurilor este transmis motorului de
curent continuu pe pinul RB3 al portului paralel (pin 9 al circuitului integrat) şi
prin driver-ul de putere.

3. Desfăşurarea lucrării

Se va realiza şi testa un sistem autoacordabil cu identificarea modelului


procesului pentru comanda adaptivă indirectă a unui motor de curent continuu.
La început se realizează schema hardware din figura 12.3.

Fig. 12.3 Schema bloc hardware a sistemului adaptiv

Folosind facilităţile oferite de partea fixată a sistemului de reglare


compusă din interfaţa de prelucrare, sursa de alimentare, traductorul incremental
şi motorul de curent continuu se cere realizarea unui program în mediul Matlab
(ver. 6.5 sau mai mare) sau într-un limbaj de programare. Acest program trebuie
să asigure comanda adaptivă indirectă a turaţiei motorului de curent continuu.

74
Programul de comandă adaptivă discretă implementat pe calculator trebuie
să folosească vectorul măsurătorilor φk (ce conţine uk şi yk) pentru a determina
parametrii procesului θk (ce conţine a1,a2,b1,b2) la diferite momente de timp.
Apoi, cunoscând aceşti parametri se determină algoritmul de reglare discretă cu
dispersie minimă uk, algoritm ce se va modifica la fiecare moment de
eşantionare, de unde şi denumirea de regulator autoacordabil.
Pentru o comunicaţie serială corectă cu interfaţa de prelucrare şi comandă
(microcontrolerul PIC 16F628A) se vor respecta setările din partea teoretică a
lucrării (subpunctul 2.2). În Anexa D este prezentată structura soft necesară
comunicaţiei pe portul serial în Matlab.
În figura 12.4 sunt prezentate evoluţiile în timp ale referinţei, ieşirii, erorii
şi comenzii (factorul de umplere al impulsurilor PWM).

Fig. 12.4 Ieşirea, referinţa, eroarea şi comanda sistemului adaptiv


Pentru testarea sistemului adaptiv au fost folosite 600 de eşantioane
(aproximativ 75 secunde), rezultând în final pentru proces următorii parametrii
identificaţi:
a1 = −1.4066 a 2 = 0.5185
(12.12)
b1 = 0.3884 b2 = −0.2354

În figura 12.5 sunt prezentate evoluţiile în timp ale mărimilor funcţionale


în cazul introducerii unei sarcini (frânări). Această frână mecanică este introdusă
după 500 de eşantioane. Se observă avantajele oferite de sistemul de reglare
adaptiv care reuşeşte să păstreze performanţele dorite.

Fig. 12.5 Ieşirea, referinţa, eroarea şi comanda sistemului adaptiv perturbat

Parametrii identificaţi ai procesului după introducerea sarcinii sunt:


a1 = −1.5985 a 2 = 0.6189
(12.13)
b1 = 0.4588 b2 = −0.4337

75
Sistemul adaptiv cu regulator cu dispersie minimă autoacordabil a fost
testat şi la alte tipuri de semnale. Figura 12.6 prezintă evoluţia semnalelor
funcţionale şi parametrii identificaţi ai procesului pentru o referinţă triunghiulară.

Fig. 12.6 Ieşirea, referinţa, eroarea, comanda şi parametrii procesului

În figura 12.7 sunt prezentate ieşirea şi eroarea de reglare pentru o


referinţă complexă (formată din două sinusoide).

Fig. 12.7 Ieşirea, referinţa şi eroarea de reglare

4. Întrebări

1. Ce metodă de identificare a parametrilor procesului a fost folosită?


2. Ce tip de sistem adaptiv a fost realizat?
3. Ce roluri îndeplineşte interfaţa electronică de prelucrare şi comandă?
4. Care este perioada de timp la care are loc actualizarea informaţiilor?

76
ANEXA A

Funcţia sid.m pentru identificarea parametrilor procesului:

function
[sys,x0,str,ts]=sid(t,x,u,flag,T0,num_order,denum_order,dead_time,Theta0,ID_type,C0,phi0,lam
bda0,nu0,rho)
m = num_order; n = denum_order; d = dead_time;
if flag == 0 %initialization
x0(1:n+m) = Theta0; %[a1, a2, ... an, b1, b2, ... bm]
x0(m+n+1:n+m+n) = zeros(1,n); %[-y(k-1), -y(k-2), ... -y(k-n)]
x0(2*n+m+1:2*n+m+m+d-1) = zeros(1,m+d-1); %[u(k-2), u(k-3), ... u(k-m-d)]
x0(2*(n+m)+d:2*(n+m)+d-1+(m+n)^2) = C0(:);
x0(2*(n+m)+d-1+(m+n)^2+1) = lambda0;
x0(2*(n+m)+d-1+(m+n)^2+2) = nu0;
x0(2*(n+m)+d-1+(m+n)^2+3) = phi0;
%information about this function
sys(1) = 0; %Number of continuous states.
sys(2) = 2*(n+m)+d-1+(m+n)^2+3; %Number of discrete states.
sys(3) = m+n; %Number of outputs.
sys(4) = 3; %Number of inputs.
sys(5) = 0; %Reserved for root finding. Must be zero.
sys(6) = 1; %Direct feedthrough flag (1=yes, 0=no)
sys(7) = 1; %Number of sample times. This is the number of rows in TS.
ts = [T0 0];
str = [];
elseif (flag == 2 | flag==3)
%ID types:
LSM = 1; %pure least squares method
LSM_ef = 2; %LSM with exponential forgetting
LSM_adf = 3; %LSM with adaptive directional forgetting
uk1 = u(2); %u(k-1)
yk = u(3); %y(k)
Theta = x(1:n+m); %[a1, a2, ... an, b1, b2, ... bm]
%[-y(k-1), -y(k-2), ... -y(k-n), u(k-1), u(k-2), u(k-3), ... u(k-m-d)]
yu = [x(m+n+1:n+m+n); uk1; x(2*n+m+1:2*n+m+m+d-1)];
%[-y(k-1), -y(k-2), ... -y(k-n), u(k-d-1) u(k-d-2), ... u(k-m-d)]
PHI = [yu(1:n); yu(n+1+d:n+d+m)];
C = zeros(m+n);
C(:) = x(2*(n+m)+d:2*(n+m)+d-1+(m+n)^2);
lambda = x(2*(n+m)+d-1+(m+n)^2+1);
nu = x(2*(n+m)+d-1+(m+n)^2+2);
phi = x(2*(n+m)+d-1+(m+n)^2+3);
if (u(1) >= 1) %perform identification
xi = PHI' * C * PHI;
e = yk - Theta' * PHI;
if (ID_type == LSM) | (ID_type == LSM_adf) % | (ID_type == LSM_ef)
Theta = Theta + C*PHI/(1+xi) * e;
elseif (ID_type == LSM_ef)
Theta = Theta + C*PHI/(phi+xi) * e;
end;
end;
if (flag==2) %update states
if (u(1) >= 1) %perform identification
if (xi > 0)
epsilon = phi-(1-phi)/xi;
if (ID_type == LSM)
C = C - C*PHI*PHI'*C/(1+xi);
elseif (ID_type == LSM_ef)

77
C = (C - C*PHI*PHI'*C/(phi+xi))/phi;
elseif (ID_type == LSM_adf) %| (ID_type == LSM_ef)
C = C - C*PHI*PHI'*C/(inv(epsilon)+xi);
end;
end
if (ID_type == LSM_adf & xi >= 0)
lambda = phi*(lambda + e*e/(1+xi));
nu = phi*(nu+1); eta = e*e/lambda;
phi = 1/(1+(1+rho)*(log(1+xi)+((nu+1)*eta/(1+xi+eta)-1)*xi/(1+xi)));
end
end
%values for next loop
x(1:n+m) = Theta; %[a1, a2, ... an, b1, b2, ... bm]
x(m+n+1:n+m+n) = [-yk; PHI(1:n-1)]; %[-y(k-1), -y(k-2), ... -y(k-n)]
x(2*n+m+1:2*n+m+m+d-1) = yu(n+1:n+d+m-1); %[u(k-2), ... u(k-m-d)]
x(2*(n+m)+d:2*(n+m)+d-1+(m+n)^2) = C(:);
x(2*(n+m)+d-1+(m+n)^2+1) = lambda;
x(2*(n+m)+d-1+(m+n)^2+2) = nu;
x(2*(n+m)+d-1+(m+n)^2+3) = phi;
sys = x;
else %flag==3 compute output
%Theta = [a1,a2,...an, b1,b2,...bm]
%sys = [a1, b1, a2, b2, a3, b3, ...]
sys = zeros(1,m+n); sys(1:2:2*n-1) = Theta(1:n); sys(2:2:2*m) = Theta(n+1:n+m);
end
else
sys=[];
end

Funcţia scqp.m pentru determinarea algoritmului de comandă:

function [sys,x0,str,ts] = scqp(t,x,u,flag,T0)


if flag == 0 %initialization
%zero initial conditions
x0 = zeros(3,1); %[e(k-1) e(k-2) u(k-2)]
%information about this function
sys(1) = 0; %Number of continuous states.
sys(2) = 3; %Number of discrete states.
sys(3) = 1; %Number of outputs.
sys(4) = 7; %Number of inputs.
sys(5) = 0; %Reserved for root finding. Must be zero.
sys(6) = 1; %Direct feedthrough flag (1=yes, 0=no)
sys(7) = 1; %Number of sample times. This is the number of rows in TS.
ts = [T0 0];
str = [];
elseif (flag==2 | flag==3)
ek1 = x(1); %e(k-1)
ek2 = x(2); %e(k-2)
uk2 = x(3); %u(k-2)
ek = u(1); %e(k)
q0 = u(2); q1 = u(3); q2 = u(4); p1 = u(5); p2 = u(6); uk1 = u(7); %u(k-1)
u = q0*ek + q1*ek1 + q2*ek2 - p1*uk1 - p2*uk2;
if (flag==2) %update states
sys = [ek ek1 uk1]; %[e(k-1) e(k-2) u(k-2)]
else %flag == 3 compute output
sys = u;
end
else
sys=[];
end

78
ANEXA B

Schema electronică a interfeţei de comandă şi prelucrare:

79
ANEXA C

Programul implementat pe microcontrolerul PIC 16F628A:


LIST P=16F628A
#INCLUDE "P16F628A.INC"
__CONFIG _HS_OSC&_CP_OFF&_WDT_OFF

TEMPW EQU 0X70


TEMPS EQU 0X71
TEMP EQU 0X22
SPEED EQU 0X23
PWM EQU 0X24
STATUS EQU 0X25
IDSOFT EQU 0x26

ORG 0X00
GOTO START ;GOTO START
ORG 4 ;INTERRUPT OCCURED
MOVWF TEMPW ;SAVE W
MOVFW STATUS
MOVWF TEMPS ;SAVE STATUS
BCF STATUS,RP0
BCF STATUS,RP1 ;SELECT BANK 0
BTFSC PIR1,5 ;IF USART RECIVER INTERRUPT
GOTO SERIAL ;GOTO SERIAL
SERIAL_END:
BTFSC INTCON,T0IF ;IF TIMER 0 INTERRUPT
GOTO READTMR ;GOTO READTMR
READTMR_END:
MOVFW TEMPS ;LOAD STATUS
MOVWF STATUS
MOVFW TEMPW ;LOAD W
BSF INTCON,GIE
RETFIE ;RETURN FROM INTERRUPT
START:
CLRF PORTA
MOVLW 0X07 ;TURN COMPARATORS OFF
MOVWF CMCON ;ENABLE PINS FOR I/O FUNCTIONS
BCF STATUS, RP1
BSF STATUS, RP0 ;SELECT BANK 1
MOVLW B'10000111' ;ENABLE TMR0 WITH 1:256 PRESCALER
MOVWF OPTION_REG
MOVLW 0XFF ;SET PWM PERIOD
MOVWF PR2
MOVLW B'11110011' ;SET PORTA DATA DIRECTIONS
MOVWF TRISA
MOVLW B'11110011' ;SET PORTB DATA DIRECTIONS
MOVWF TRISB
MOVLW B'00100100' ;ENABLE USART TRANSMIT REGISTER
MOVWF TXSTA
MOVLW 0X05 ;SET BAUDRATE GENERATOR 115200
MOVWF SPBRG
BSF PIE1,5 ;ENABLE USART RECIVER INTERRUPT
BCF STATUS,RP0 ;SELECT BANK 0
BSF INTCON,T0IE ;ENABLE TIMER0 INTERRUPT
MOVLW B'00000111'
MOVWF T1CON ;ENABLE TIMER1 WITH EXTERNAL CLOCK SOURCE

80
MOVLW B'00111100'
MOVWF CCP1CON ;ENABLE PWM MODE
MOVLW B'00000111'
MOVWF T2CON ;ENABLE TIMER2 FOR PWM MODE
MOVLW B'10010000'
MOVWF RCSTA ;ENABLE USART RECIVER
BSF INTCON, 7
BSF INTCON, 6 ;ENABLE INTERRUPS
INIT:
MOVLW 0X30
MOVWF CCPR1L ;INITIATE PWM DUTY CYCLE
CLRF STATUS
CLRF SPEED
FEEDBACK:
BTFSS STATUS,0
GOTO FEEDBACK
BSF STATUS, RP0 ;SELECT BANK 1
MOVLW 'E'
SENDING
BTFSS TXSTA,1
GOTO SENDING
BCF STATUS, RP0 ;SELECT BANK 0
MOVWF TXREG
BCF STATUS,0
GOTO FEEDBACK
SERIAL:
MOVFW RCREG ;LOAD RECIVED BYTE
BTFSS STATUS,1 ;I HAVE ALLREDY THE START BYTE
GOTO CHECKINIT ;NO
MOVWF CCPR1L ;YES AND I CAN LOAD DATA TO PWM
;DUTY CYCLE REGISTER
BCF STATUS,1 ;CLEAR START BYTE INDICATOR
bcf PORTA,2
bsf PORTA,3
GOTO SERIAL_END ;RETURN TO INTERRUPT HANDLER

CHECKINIT:
XORLW 'S' ;CHECK IF START OF MESSAGE
BTFSS STATUS,Z
GOTO SERIAL_END ;NOT START OF MESSAGE, IGNORE MESSAGE
BSF STATUS,1 ;YES START OF MESSAGE
bsf PORTA,2
bcf PORTA,3
GOTO SERIAL_END ;RETURN TO INTERRUPT HANDLER
READTMR:
BCF INTCON,T0IF
MOVLW 0X93 ;10mS
MOVWF TMR0
DECFSZ IDSOFT
GOTO READTMR_END
MOVLW 0x05 ;5*10mS
MOVWF IDSOFT
MOVFW TMR1L ;READ TIMER 1 VALUE
MOVWF TXREG
BSF STATUS,0
CLRF TMR1L
CLRF TMR1H
GOTO READTMR_END
END

81
ANEXA D

Program myfile.m de realizare a unui obiect necesar comunicaţiei seriale.

function out = myfile


% Create the instrument object.
obj1 = serial('COM1');

% Set the property values.


set(obj1, 'BaudRate', 115200);
set(obj1, 'BreakInterruptFcn', '');
set(obj1, 'ByteOrder', 'littleEndian');
set(obj1, 'BytesAvailableFcn', '');
set(obj1, 'BytesAvailableFcnCount', 1);
set(obj1, 'BytesAvailableFcnMode', 'terminator');
set(obj1, 'DataBits', 8);
set(obj1, 'DataTerminalReady', 'on');
set(obj1, 'ErrorFcn', '');
set(obj1, 'FlowControl', 'none');
set(obj1, 'InputBufferSize', 5);
set(obj1, 'Name', 'Serial-COM1');
set(obj1, 'OutputBufferSize', 5);
set(obj1, 'OutputEmptyFcn', '');
set(obj1, 'Parity', 'none');
set(obj1, 'PinStatusFcn', '');
set(obj1, 'Port', 'COM1');
set(obj1, 'ReadAsyncMode', 'manual');
set(obj1, 'RecordDetail', 'compact');
set(obj1, 'RecordMode', 'overwrite');
set(obj1, 'RecordName', 'record.txt');
set(obj1, 'RequestToSend', 'off');
set(obj1, 'StopBits', 1);
set(obj1, 'Tag', '');
set(obj1, 'Terminator', 'E');
set(obj1, 'Timeout', 0.1);
set(obj1, 'TimerFcn', '');
set(obj1, 'TimerPeriod', 0.01);
set(obj1, 'UserData', []);

if nargout > 0
out = [obj1];
end

82
BIBLIOGRAFIE

[Ast1] Astrom, K.J., Wittenmark, B., Adaptive control (1st edition), Add.Wesley,1989.
[Ast2] Astrom, K.J., Wittenmark, B., Adaptive control (2nd edition), Add.Wesley,1995.
[Ast3] Astrom, K.J., Theory and applications of adaptive control, IFAC Kyoto, 1981.
[Ast4] Astrom, K.J., Wittenmark, B., Computer controlled systems. Theory and design,
Pretince Hall, 1990, New York.
[Căl] Călin, S., Conducerea adaptivă şi flexibilă a proceselor industriale, Ed.Tehnică,
1988, Bucureşti.
[Da1] Damen, A., Weiland, S., Robust control, Eindhoven Univ. of Technology, 2001.
[Da2] Damen, A., Modern control theory, Eindhoven Univ. of Technology, 2002.
[Dum] Dumitrache, I., Tehnica reglării automate, E.D.Pedagogică, 1980, Bucureşti.
[Dav1] David, L., Control inteligent şi adaptiv. Notiţe de curs, Univ. “Petru Maior”,
2004, Târgu Mureş.
[Dav2] David, L., Tehnici de optimizare, Ed. Univ. "Petru Maior" Tg. Mures 1998.
[Dul] Dulău, M., Oltean, S., Modelare şi simulare. Lucrări de laborator, Ed. Univ.
“Petru Maior”, 2003, Târgu Mureş.
[Gee] Geering, H.P., Robuste regelung, Institut für Mess- und Regeltechnik,
Eidgenössische Technische Hochschule Zürich, 1999, Schweiz.
[Ghi] Ghinea, M., Fireţeanu, V., Matlab. Calcul numeric. Grafică şi aplicaţii, Ed.
Teora, 1997, Bucureşti.
[Ion] Ionescu, V., Varga, A., Teoria sistemelor, Editura All, Bucuresti,1994.
[Iou] Ioannou, P., Robust adaptive control, University of Southern California, 2003,
Los Angeles.
[Ise] Isermann, R., Lachmann, K.H., Adaptive control systems, Pretince Hall, 1992.
[Lyu] Lyung, L., System identification, Pretince Hall, 1987.
[Naş] Naşcu, I., Control adaptiv, Ed. Mediamira, 2002, Cluj Napoca.
[San] Sangeorzan, D., Regulatoare adaptive, Editura Militară, Bucuresti,1992.
[Sas] Sastry, S., Bodson, M., Adaptive control. Stability, convergence, and robustness,
Pretince Hall, 1989, New Jersey.
[Sch] Scherer, C., Theory of robust control, Delft Univ. of Technology, 2001.
[Sha] Shafai, E., Einfuhrung in die adaptive regelung, Institut für Mess- und
Regeltechnik, Eidgenössische Technische Hochschule Zürich, 2003, Schweiz.
[Ter] Tertisco, M., Stoica, P., Identificarea şi estimarea parametrilor sistemelor, Ed.
Academiei, bucureşti, 1980.
[Tog] Togneri, R., Adaptive systems, Electrical and Electronic Engineering, The
University of Western Australia, 2002.
[Wil1] Wilson, D.I., Adaptive control. Course notes, Electrical Engineering Karlstad
University, 2001.
[Wil2] Wilson, J.R., Nonlinear system theory, The Johns Hopkins Univ. Press, 1981.
[Zăr1] Zărnescu, H., Ingineria reglării automate II. Proiectarea sistemelor
convenţionale şi avansate de reglare automată, Ed. Univ. “Petru Maior”, 1999.
[***1] Using Simulink, The Mathworks Inc., 1998.
[***2] Matlab, The Mathworks Inc., 1998.
[***3] Control Tutorials for Matlab – Inverted Pendulum Modelling.

83

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