clase 3 - control en matlab

4

Click here to load reader

Upload: eric-mosvel

Post on 11-Apr-2015

946 views

Category:

Documents


3 download

DESCRIPTION

Clase practica de control en MATLAB

TRANSCRIPT

Page 1: Clase 3 - Control en matlab

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

1

DISEÑO DE OBSERVADORES DE ESTADO

Considere el siguiente sistema:

[ ]

=

+

=

2

1

2

1

2

1

01

10

06.2010

xx

y

uxx

xx�

Diseño de un regulador con observador a=[0,1;20.6,0] a = 0 1.0000 20.6000 0 eig(a) ans = 4.5387 -4.5387 Se observa que el sistema es inestable, se desea que los polos queden ubicados en

]4.28.1,4.28.1[ iipd −−+−= pd=[-1.8+2.4i,-1.8-2.4i] pd = -1.8000 + 2.4000i -1.8000 - 2.4000i b=[0;1]

b = 0 1 c=[1,0] c = 1 0 co=ctrb(a,b);ob=obsv(a,c);rank(co) ans = 2 rank(ob) ans = 2 El sistema es completamente controlable y completamente observable, entonces los polos se pueden ubicar arbitrariamente en cualquier lugar. k=place(a,b,pd) place: ndigits= 15 k = 29.6000 3.6000 po=[-8,-8] po = -8 -8 h=acker(a',c',po) h = 16.0000 84.6000 h=h'

Page 2: Clase 3 - Control en matlab

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

2

h = 16.0000 84.6000 reaconobser .

t

To Workspace1

y

To Workspace

s

1

Integrator1

s

1

Integrator

K

H

K

Control

Clock

K

C1

K

C

K

B1

K

B

K

A1

K

A

0 1 2 3 4 5 6 7 8 9 10-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

Regulador - observador

Diseño de un seguidor – observador aa=[a,zeros(2,1);-c,0] aa = 0 1.0000 0 20.6000 0 0

-1.0000 0 0 ba=[b;0] ba = 0 1 0 pda=[pd,-20] pda = -1.8000 + 2.4000i -1.8000 - 2.4000i -20.0000 kt=acker(aa,ba,pda) kt = 101.6000 23.6000 -180.0000 kp=kt(1:1,1:2) kp = 101.6000 23.6000 ki=kt(1:1,3:3) ki = -180 reapiconobser

Page 3: Clase 3 - Control en matlab

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

3

y

To Workspace1

t

To Workspace

In1

In2Out1

Subsystem1

In1Out1

SubsystemStep

s

1

Integrator2

180

Gain1

K

Control

Clock

1Out1s

1

Integrator

K

C

K

B

K

A

1In1

1 Out1

s

1

Integrator1

K

H

K

C1

K

B1

K

A1

2In2

1In1

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

Seguidor - observador

Diseño de un controlador clásico d=0 d = 0

[num,den]=ss2tf(a,b,c,d) num = 0 0 1 den = 1.0000 0 -20.6000 sysclasico=tf(num,den) Transfer function: 1 ---------- s^2 - 20.6 syms s Controlador=k*((s*eye(2)-a+h*c+b*k)^-1)*h Controlador = 2368/5*(5*s+18)/(5*s^2+98*s+756)-14436/(5*s^2+98*s+756)+7614/5*(s+16)/(5*s^2+98*s+756) eval(Controlador) ans = (2368*s+42624/5)/(5*s^2+98*s+756)-14436/(5*s^2+98*s+756)+(7614/5*s+121824/5)/(5*s^2+98*s+756) simplify(Controlador) ans = 2/5*(9727*s+46134)/(5*s^2+98*s+756) numc=[2*9727,2*46134]

Page 4: Clase 3 - Control en matlab

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

4

numc = 19454 92268 numc=numc/25 numc = 1.0e+003 * 0.7782 3.6907 denc=[5*5,5*98,5*756] denc = 25 490 3780 denc =denc/25 denc = 1.0000 19.6000 151.2000 control=tf(numc,denc) Transfer function: 778.2 s + 3691 -------------------- s^2 + 19.6 s + 151.2