Sunteți pe pagina 1din 22

Modelarea Ball&Beam Experiment

O minge este plasat pe o grind, a se vedea figura de mai jos, n cazul n care este permis s se rostogoleasca cu 1 grad de libertate de a lungul grindei! "n bra# de p$rg%ie este anexat la grinda la un capt &i o roata de andrenaj la celalat capat! 'lp%a este ung%iul de inclinare a grindei si t%eta este ung%iul de rotatie al parg%iei! (and ung%iul este sc%imbat de la pozi#ia vertical, din cauza gravitatii mingea incepe sa se rostogoleasca de a lungul grindei! )a fi proiectat un controller pentru acest sistem, astfel incat pozitia mingii sa poata fi manipulata!

*entru aceast problem, vom presupune c mingea se rostogoleste, fr alunecare &i frecarea ntre grind &i minge este neglijabil! +e dau urmatoarele valori, M masa minge -,11 .g / raz minge -,-10 m d p$rg%ie bra# offset -,-1 m g accelera#ie gravita#ional 2,3 m 4 s 5 6 7 lungimea grindei 1,- m 8 momentul de inertie al bilei 2!22e 9 .gm 5 6 r pozitia mingei pe grinda alfa ung%iul inclinatie grinda t%eta ung%i rotatie (riterii pentru aceast problem sunt, +tabilirea de timp mai mic de 1 secunde :ep&iri mai mici de 0; Ecua#ia de mi&care a mingii este data de,

Sistemul de ecuatii

*rin liniarizarea ecuatiei, cand alp%a<- este,

Ecuatia ung%iului de rotatie va fi,

=nlocuind n ecua#ia anterioara, ajungem,

Funcia de transfer
>ransformata 7aplace a ecuatie de mai sus este,

/ezulta ca functia de transfer a pozitie mingii /?s@ in functie de ung%iul t%eta, este,

>rebuie remarcat faptul c func#ia de transfer de mai sus este un integrator de dublu! 'stfel, are o marj mic de stabilitate &i va oferi o problem dificil de control!

State-Space
+istemul liniar de ecua#ii poate fi, de asemenea, reprezentat n form +tate +pace! 'ceasta se poate face prin selectarea pozi#iei mingea ?r@ &i viteza ?rdot@, ca variabile de stare &i ung%iul ?t%eta@ ca subsistem de intrare! /ezulta,

Cu toate acestea, pentru +tate +pace ul nostru se va folosi un model u&or diferit! /eprezentarea acestui sistem este,

Reprezentarea Matlab i Rspuns in bucla deschisa


Funcia de transfer
(reati un m fisier cu urmatoarele instructiuni,
m = 0,111; R = 0,015; g = -9,8; L = 1,0; d = 0,03; j = 9.99e-6; K = (m * g * d) / (L * (J / R ^ 2 + m) ; num = -!"; den = 1 0 0"; #$%n&'(' (num, den)

7a iesire ar trebui sa avem,

num / den = 0,21/( s ^ 2)

Aie pasul de intrare egal cu -!60m, rezulta adaugarea unui nou rand in m fisierul nostru,
'&e# (0,25 * num, den)

:in acest desen este clar c sistemul este instabil n bucl desc%isa!

State-Space
m = 0,111; R = 0,015; g = -9,8; j = 9.99e-6; ) = m-* g / (J / (R ^ 2) + m); * = 0 1 0 0 0 0 ) 0 0 0 0 1 0 0 0 0"; + = 0; 0; 0; 1"; , = 1 0 0 0"; - =

Ecuatiile +tate B +pace pot fi reprezentate in M'>7'B cu urmatoarele instructiuni, :aca luam pasul<-!60 si rulam comanda,

0";

step ?', B, C! 60, (, :@ , atunci graficul nostru este,

'cest desen arata ca sistemul va fi instabil si mingea va cadea la sfarsitul celei de a doua pozitie a grindei!

Ball & Beam utilizand *D: (ontrol


Aunctia de transfer a sistemului in bucla desc%isa este,

Reprezentarea in bucla inchisa


:iagrama bloc pentru acest exemplu cu un controler &i unitate de feedbac. este,

Aunctia de transfer pentru un controller *D: este,

Proporional de control
E

*entru sistemul in bucla inc%isa scrieti urmatorul m file,


m = 0,111; R = 0,015; g = -9,8; L = 1,0; d = 0,03; j = 9.99e-6; K = (m * g * d) / (L * (J / R ^ 2 + m) ); num = -!"; den = 1 0 0"; !# = 1; num. * num = !#; num/, den/" = /011# (num., den)

'tunci numrtorul &i numitorul ar trebui s fie,

numc = 0 0 0.2100 denc = 1,0000 0 0,2100

'cum, putem modela raspunsul sistemului la un pas de intrare de -,60 m! 'duga#i urmtoarea linie in m fi&ier &i rula#i l, step ?-,60 C numc, denc@

Aactorul de castig F* face sistemul instabil, orice valoare ar lua acesta,

Deri ata proportionala de control


+crieti urmatorul m file,
m = 0,111; R = 0,015; g = -9,8; L = 1,0; d = 0,03; j = 9.99e-6; K = (m * g * d) / (L * (J / R ^ 2 + m) ); num = -!"; den = 1 0 0"; !# = 10; !d = 10; num.- = !d !#"; num2 ,1n3 = (num, num.-); num/, den/" = /011# (num2, den); & = 040.0145; '&e# (0,25 * num/, den/, &)

'cum sistemul este stabil dar eroarea este mult prea mare! +c%imbati Fd cu 6-!

*entru a micsora timpul de solutionare, !# = 15 &i !d = 504

>oate conditiile au fost indepliniteG

Ball & Beam utilizand metoda radacinilor locale


Aunctia de transfer a sistemului in bucla desc%isa este,

O sc%ema de bucl nc%is cu un controler de sistem este prezentat mai jos,

!ucla deschisa a radacinilor locale


*rincipala idHe este estimarea sistemului in bucla inc%isa cu un sistem in bucla desc%isa cu radacini locale, acest lucru realizandu se prin adaugarea de poli si zerouri la sistem! +crieti urmatorul m file,
m = 0,111; R = 0,015; g = -9,8; L = 1,0; d = 0,03; j = 9.99e-6; K = (m * g * d) / (L * (J / R ^ 2 + m) ); num = -!"; den = 1 0 0"; $01/u' (num, den)

:upa cum se observa sistemul are 6 poli care tind la infinit de a lungul axei reale! 'g$%d (0,60, 1,9) 787 ( -5 5 -2 2")

Jona dintre cele dou linii punctate diagonale reprezint loca#ii n care procentul dep&irilor este mai mic de 0;! Jona din afara liniei curbe reprezint loca#ii n cazul n care setttling time este mai mic de 1 secunde!

K,, #10%" =

$01/9%nd (num0, den0)

'r trebui s vede#i n fereastra de comand Matlab ceva similar cu urmtorul text ?numerele dvs! va fi u&or diferite@,
selected_point = -2,4988 + 1.2493i K = 3!.3131 poli = -2,49"0 + 2,49"01.2493i-1.2493i -0,0101 num02 = K, * num0; num/0, den/0" = /011# (num02, den0); & = 040.0145; '&e# (0,25 * num/0, den/0, &)

Ball & Beam folosind rspunsul n frecven#


Aunctia de transfer in bucla desc%isa este,

O sc%ema de bucl nc%is cu un controller de sistem este prezentat mai jos,

!ucla inchisa !ode


(rea#i un m fi&ier cu urmtorul cod &i apoi rula#i l din fereastra de comand n Matlab,
m = 0,111; R = 0,015; g = -9,8; L = 1,0; d = 0,03; j = 9.99e-6; K = (m * g * d) / (L * (J / R ^ 2 + m) );num = -!"; den = 1 0 0"; +1de (num, den)

1-

:in acest grap%ic vedem ca marja de faza este egala cu zeo!


! = 1; num0e7d = ! * 5,66 1"; den0e7d = 0,166 1"; num0 ,1n3 = (num, num0e7d); den0 = /1n3 (den, den0e7d);

+1de (num0, den0)

'cum marja de faza este de I- de grade!'duga#i urmtoarele,


num/0, den/0" = /011# (num0, den0); & = 040.0145;

#7' (0,25 * num/0, den/0, &)

11

:e&i sistemul este acum stabil &i eroarea este doar pu#in peste 0;, timpul de solu#ionare nu este satisfctor! (re&terea gradului de c$&tig va cre&te frecventa de trecere &i va face raspunsul mai rapid! *entru . < 0

16

/aspunsul este mai rapid, totu&i, eroarea este mult prea mare!

"du#area de mai multe faze


'vem posibilitatea de a mri compensatorul de faza pentru a reduce erorile! (reati un m file,
9un/&%1n " = #27'e:700() m = 0.111; R = 0.015; g = -9.8; L = 1.0; d = 0.03; J = 9.99e-6; K = (m*g*d)/(L*(J/R^2+m)); ;'%m#0%9%e' %n#u& num = -K"; den = 1 0 0"; #m = %n#u&(<=7>7 m78%m7?.......<); @ = %n#u&(<=$e/3en&7 med%e?...<); ! = %n#u&(<,7'&%gu0?...............<); #m$ = #m*#%/180; 7 = (1 - '%n(#m$))/(1+'%n(#m$)); A = 'B$&(7)/@; 7A = 1/(@*'B$&(7)); num0e7d = !* 7A 1"; den0e7d = A 1"; num0=/1n3(num,num0e7d); den0=/1n3(den,den0e7d); 9%gu$e :1de(num0,den0) num/0,den/0"=/011#(num0,den0); &=040.0145; 9%gu$e '&e#(0.25*num/0,den/0,&) .en&$u #m=80, #=1 , $=1

11

1E

Ball&Beam folosind +tate +pace


Aie ecuatiile,

10

Full-state Feedbac$ Controller

(reati urmtorul cod pentru modelul sistem pentru a gsi matricea F,


m = 0,111; R = 0,015; g = -9,8; j = 9.99e-6; ) = m-* g / (J / (R ^ 2) + m); * = 0 1 0 0 0 0 ) 0 0 0 0 1 0 0 0 0"; + = 0; 0; 0; 1"; , = 1 0 0 0"; - = 0"; .1 =- 2 +2 C; .2 =- 2-2% ; .3 =- 20; #5 =- 80; K = #07/e (*, +, .1, .2, .3, .5")

:eci rezulta,
#07/e% ndi&its = 1" K = 1.0' +03 ( 1,828) 1,028) 2,0080 0,1040

Dar sistemul de ecuatii va fi,

+imulam sistemul in bucla inc%isa la pas<-!60!


A = 040.0145; D = 0,25 * 1ne' ('%>e (A)); E, F" = 0'%m (*+ * K, +, ,, -, u, &); #01&(A, E)

+tarea de ec%ilibru se realizeaza cu o mare eroare!*entru a scapa de aceasta eroare introducem o intrare de referinta,

19

G:7$ = $'/70e (*, +, ,, -, K) A = 040.0145; D = 0,25 * 1ne' ('%>e (A)); E, F" = 0'%m (*+ * K, + * G:7$, ,, -, u, &); #01& (A, E)

/ezulta iesirile sistemului,

loc% ndi&its = 1" *+,- = 1.828)e +03

'cum starea de ec%ilibru este indeplinita fara eroare si toate criteriile sunt indeplinite!

(ontrolul digital utilizand controller ul *D:


Aunctia de transfer a controller ului *D: in bucla desc%isa va fi derivate functie,

Controller-ul di#ital P%D


:aca ne referim la oricare dintre problemele de control *D:, functia de transfer va fi exprimata,

*entru controller ul digital *D:, vom folosi urmatoarea functie de transfer, 1I

Funcia de transfer discreta


m = 0,111; R = 0,015; g = -9,8; L = 1,0; d = 0,03; j = 9.99e-6; K = (m * g * d) / (L * (J / R ^ 2 + m) ); num = -!"; den = 1 0 0"; A = 1 / 50; num->, den->" = /2dm (num, den, AH, <>12<)

(reati un m file,

/ezultatul va fi , num:z < 1!-E -,E C - -,E6-- -,E6-den:z < 1 6 1 :in aceste matrici, functia de transfer discreta poate fi scrisa sub forma,

Raspuns in bucla deschisa


'cum, mingea a rspuns la un pas de intrare de -,60 m! /ealizam un m file cu urmatoarele comenzi,
num-> = 0.0001 * 0,52 0,52"; den-> = 1 -2 1"; 8" = d'&e# (0,25 * num->, den->, 251); & = 040.0245;

H&7%$' (&, 8)

:in acest desen, este clar c sistemul in bucla desc%isa este instabil! 'daugam castigul F* la sKstem si vom obtine raspunsul in bucla inc%isa al sistemului! 7uam F*<1-si apoi cream un m fisier cu urmatoarele comenzi,
num-> = 0.0001 * 0,52 0,52"; den-> = 1 -2 1"; K. = 100; num->,, den->," = /011# (K. * num->, den->); 8" = d'&e# (0,25 * num->,, den->,, 251 ); A = 040.0245; H&7%$' (&, 8)

13

+istemul nu este stabil! (%iar daca creste castigul F* sistemul ramane instabil!

Deri ata proportionala de control


(astigul F* este egal cu 1-- si castigul Fd este egal cu 1-! (opia#i urmtorul cod intr un nou m fi&ier &i rula#i l pentru a vedea raspunsul sistemului,
num-> = 0.0001 * 0,52 0,52"; den-> = 1 -2 1"; K. = 100; Kd = 10; num#d = K. + Kd - (K. +2 * Kd) Kd"; den#d = 1 1 0" ; Gum-ne@ ,1n3 = (num->, num#d); den-ne@ ,1n3 = (den->, den#d); num-ne@,, den-ne@," = /011# (num-ne@, den-ne@); 8" = d'&e# (0,25 * num-ne@,, den-ne@,, 251); & = 0 4 0.0245; H&7%$' (&, 8)

'cum sistemul este stabil, dar cre&terea numrului de timp este prea lung! :aca crestem castigul F* la 1---, atunci graficul nostrum va fi,

12

Modelul din Simulin$

6-

+etam parametrii fizici,


m = 0,111; R = 0,015; g = -9,8; L = 1,0; d = 0,03; j = 9.99e-6;

:in acest desen, este clar c sistemul este instabil n bucl desc%is!*rin urmare, n acest sistem este necesar sa controlam mingea!

&'tra#erea modelului (n M")*"!


Dn M '>7'B la promptul de comand, introduce#i urmtoarele comenzi ,
*, +, ,, -" = 0%nm1d ( <m%nge<) num, den" = ''2&9 (*, +, ,, -)

+e vor afisa iesirile modelului Open 7oop,


* = 0 1 0 0 + = 0 0.2100 , = 1 0 - = 0 num = 0 0 0.2100 den = 1 0 0

Dntroduce#i urmtoarea comand la promptul de comand M '>7'B,


'&e# (num, den);

61

Rspuns in bucla inchisa

66

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