Laboratorio de Control

24
LABORATORIO DE CONTROL 2 2015 PRÁCTICA No. 4 REDES DE COMPENSACION ATRASO MEDIANTE LUGAR GEOMETRICO DE RAICES 1. OBJETIVO Conocer las diferentes técnicas de compensación de sistemas de control. Realizar el ajuste de ganancia mediante LGR, para satisfacer un error en estado estable. 2. FUNDAMENTO TEORICO Conocer los conceptos de respuesta en el tiempo Conocer los conceptos de lugar geométrico de raíces Conocer los métodos de diseño de controladores Error en estado estacionario 1

description

ingeniería de control

Transcript of Laboratorio de Control

Page 1: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

PRÁCTICA No. 4

REDES DE COMPENSACION ATRASO MEDIANTE LUGAR GEOMETRICO DE RAICES

1. OBJETIVO

• Conocer las diferentes técnicas de compensación de sistemas de control.

• Realizar el ajuste de ganancia mediante LGR, para satisfacer un error en estado estable.

2. FUNDAMENTO TEORICO

• Conocer los conceptos de respuesta en el tiempo

• Conocer los conceptos de lugar geométrico de raíces

• Conocer los métodos de diseño de controladores

• Error en estado estacionario

1

Page 2: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

2

Page 3: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

3. TRABAJO EXPERIMENTAL

3.1. Dado el sistema dado por:

Diseñe un compensador de atraso tal que la constante de error estático de velocidad Kv, mayor a 50 seg-1 sin modificar notablemente la ubicación de los polos en lazo cerrado originales, que están en s=-2+j2.5

Ubicamos el polo dominante de lazo cerrado:

FT de lazo abierto:

FT de lazo cerrado:

Polo dominante: s=-0.172

Función de transferencia del compensador en atraso:

3

Page 4: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

Cálculo del error estático de velocidad Kv

Sistema no compensado

Sistema compensado

Kc=1

Entonces el compensador queda:

Determinar el polo y cero del compensador

Tomamos un valor de T=20:

Cero:

Polo:

4

Page 5: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

Dibujar el lugar geométrico de raíces y ubicar el polo dominante del sistema

compensado

num=[1];

den=[1 6 0];

g=tf(num,den);

rlocus(g)

grid on

hold on

num1=[1 0.05];

den1=[1 0.000167];

g1=tf(num1,den1);

g2=g*g1;

rlocus(g2)

s=-2+i*2.5

5

Page 6: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

Aplicar condición de magnitud para finalmente tener la ganancia del

compensador:

num=[1];

den=[1 6 0];

g=tf(num,den);

rlocus(g)

grid on

hold on

num1=[1 0.05];

den1=[1 0.000167];

g1=tf(num1,den1);

g2=g*g1;

rlocus(g2)

s=-2+2.5*i;

f=s*(s+6)*(s+0.000167)/(s+0.05);

kc=abs(f)

kc =

15.2489

Finalmente observamos las respuesta en el tiempo del sistema compensado y sin compensar a una entrada rampa e impulso:

Entrada escalon

ent=[1];sal=[1];e=tf(ent,sal);ec=feedback(e,1);step(e,'r')hold on

6

Page 7: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

num=[1];den=[1 6 0];g=tf(num,den);gc=feedback(g,1)step(gc,'g')hold on num1=[1 0.05];den1=[1 0.000167];g1=tf(num1,den1); s=-2+2.5*i;f=s*(s+6)*(s+0.000167)/(s+0.05);kc=abs(f);num2=[15.249];den2=[1];kcc=tf(num2,den2);W=g*g1*kcc;H=feedback(W,1);step(H,'b')grid on

Entrada rampa

ent=[1];sal=[1 0];e=tf(ent,sal);step(e,'r')hold on num=[1];den=[1 6 0];g=tf(num,den);gc=feedback(g,1)gram=e*gc;step(gram,'g')hold on num1=[1 0.05];

7

Page 8: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

den1=[1 0.000167];g1=tf(num1,den1); s=-2+2.5*i;f=s*(s+6)*(s+0.000167)/(s+0.05);kc=abs(f);num2=[15.249];den2=[1];kcc=tf(num2,den2);W=g*g1*kcc;H=feedback(W,1);g1ram=H*estep(g1ram,'b')grid on

3.2Dado el sistema dado por:

Diseñe un compensador de atraso tal que la constante de error estático de velocidad Kv, mayor a 20 seg-1 sin modificar notablemente la ubicación de los polos en lazo cerrado originales, que están en s=-2+j3.4

Ubicar el polo dominante de lazo cerrado:

FT de lazo abierto:

8

Page 9: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

FT de lazo cerrado:

Polo dominante: s=-2+j3.4641

Cálculo del error estático de velocidad Kv

Sistema no compensado

Sistema compensado

Determinar el polo y cero del compensador

Cero:

Polo:

9

Page 10: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

Dibujar el lugar geométrico de raíces y ubicar el polo dominante del sistema

compensado

En este caso nos piden el polo: s=-2+j3.4

Aplicar condición de magnitud para finalmente tener la ganancia del

compensador:

Finalmente observamos las respuesta en el tiempo del sistema compensado y sin compensar a una entrada rampa e impulso:

Entrada escalonent=[1];sal=[1];e=tf(ent,sal);step(e,'r')hold on num=[16];den=[1 4 0];g=tf(num,den);gc=feedback(g,1);step(gc,'g')hold on

10

Page 11: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

num1=[1 0.05];den1=[1 0.01];g1=tf(num1,den1); s=-2+3.4*i;f=s*(s+4)*(s+0.01)/(16*(s+0.05));kc=abs(f)G=g*g1*kcH=feedback(G,1);step(H,'b')grid on

Entrada rampa

entrampa=[1];sal=[1 0];e=tf(ent,sal);step(e,'r')hold on num=[16];den=[1 4 0];g=tf(num,den);gc=feedback(g,1);gcr=gc*e;step(gcr,'g')hold on num1=[1 0.05];den1=[1 0.01];g1=tf(num1,den1); s=-2+3.4*i;f=s*(s+4)*(s+0.01)/(16*(s+0.05));kc=abs(f)G=g*g1*kc

11

Page 12: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

H=feedback(G,1);hr=H*e;step(hr,'b')grid on

3.3.Dado el sistema por:

Se desea compensar el sistema para que el

coeficiente de amortiguamiento sea 0.5 y error en estado estacionario menor a 0.01

ingrese el numerador: 1

ingrese el denominador: [1 60 500 0]

funcion de transferencia en lazo abierto:

Transfer function: 1--------------------s^3 + 60 s^2 + 500 s funcion de transferencia en lazo cerrado:

12

Page 13: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

Transfer function: 1------------------------s^3 + 60 s^2 + 500 s + 1 (1) SI HAY POLO DESEADO, (2)NO HAY POLO DESEADO y (3) COEF.A: 3ingrese Ess menor a: 0.01

ess = 0.0100

multiplo de la entrada rampa: 1

R = 1

ingrese el polo dominante a partir del coef. de amortiguamiento en el LGR: -4.09+i*7.09

pd = -4.0900 + 7.0900i

K = 3.5096e+003

num = 3.5096e+003

Kv sin compensar:

Kv = 7.0192kvd =100

el incremento beta:

B = 14.2465

cero =-0.0500

polo = -0.0035

La constante Kc sera

Kc = 1.0028

Funcion de transferencia en lazo abierto compensado: Transfer function: 3520 s + 176----------------------------------s^4 + 60 s^3 + 500.2 s^2 + 1.755 s Funcion de transferencia en lazo cerrado compensado: Transfer function: 3520 s + 176---------------------------------------s^4 + 60 s^3 + 500.2 s^2 + 3521 s + 176

13

Page 14: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

nuevo

Kv1 =100.0000

Rojo: EntradaVerde: No compensadoAzul: Compensado

3.4.Realizar un programa en matlab , que compense en adelanto y atraso, verificar resultados anteriores.

function ejemplo3

%programa para hacer funcion atraso-adelanton=input('ingrese el numerador de G(s), n=')d=input('ingrese el denominador de G(s), d=')e=input('ingrese el factor de amortiguamiento deseado, e=')wn=input('ingrese la frecuencia natural no amortiguada, wn')kv=input('ingrese la constante de error estatico deseado, kv= ')disp('funcion de transferencia a lazo abierto')la=tf(n,d)disp('funcion de transferencia a lazo cerrado')

14

Page 15: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

lc=feedback(la,1)%hallamos los polos y ceros dominantes de la ftp=pole(lc)z=zero(lc)%hallemos la frecuencia natural no mortiguada y factor de amortiguamiento[Wn,Z] = damp(lc)%%%%%%%%%%%%%%%%%%%denr=input('ingrese el denominador en lazo cerrado con rampa')lc1=tf(n,denr);figure(1)rlocus(la)figure(2)step([1],[1 0])hold onstep(lc1)hold offaxis([0 10 0 10])%calcular la cte de error estatico.sistema no compensado%kv=lim(s-0).(s*G(s)), la s se va con una s del G(s),p=pole(la)lp=length(p)p1=abs(p);p2=p1(2:(lp))lp2=length(p2);multilpik=1;for k=1:lp2 multilpik=multilpik*p2(k)endam=multilpikkv1=(n/am)%paso Nº01 hallamos los polos deseados del sistema:e y wn%para poder hallar el sistema compensado hallar los polos deseadosdisp('hallando los polos deseados')pd1=-1*e*wn+wn*(sqrt(1-(e)^2))*ipd2=conj(pd1)% APLICAR CONDICION DE ANGULO %hallando zeros y polos en lazo abiertoz1=roots(n)p2=roots(d) %hallamos la deficiencia angular,%sumatoria angulos de ceros - Sumatoria%angulos de polos = -180°[q,w]=size(p2);[t,r]=size(z1);angsp=(180/pi)*angle(-e*wn-p2+wn*(sqrt(1-(e)^2))*i)angsz=(180/pi)*angle(-e*wn-z1+wn*(sqrt(1-(e)^2))*i)sumang=0;for a=1:q sumang=sumang+angsp(a,w)enddisp('sumang')disp('deficiencia angular es:')def=sumang-180%como corresponde el compensador de atraso adelanto, hallaremos el Gc(s),de%adelanto A partir de la FT en lazo abierto no compensado G(s), para

15

Page 16: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

%determinar la deficiencia angular _,. La parte de adelanto de fase del%compensador de atraso-adelanto debe contribuir con este ángulo phi.% hallando por el compensador en adelanto, hallando la ubicacion de el zero% y el polo.por el metodo de la bisectriz hallaremos las ubicaciones del polo y zero%para el polo en controlador adelanto(pca)disp('localizacion del polo')angpca=(((180/pi)*angle(pd1))/2)-(def/2);pca=-1*((wn*(sqrt(1-(e)^2)))/(tan(angpca*pi/180))+1*e*wn)disp('localizacion del zero')anh=(((180/pi)*angle(pd1))/2)-(def/2);anj=((180/pi)*angle(pd1)-90);angzca=anj-anh;zca=-1*(1*e*wn-((wn*(sqrt(1-(e)^2)))*(tan(angzca*pi/180))))%hallando la ganancia K, se tendra que realizar por medio de la condicion%de magnitud, se tiene, primero la nueva planta(funcion de transferencia% mas el compensador en adelando.n1=[1 -zca];d1=[1 -pca];[n2,d2]=series(n,d,n1,d1);disp('funcion de transferencia a lazo abierto sin kc')sc=tf(n2,d2)s=pd1;gla1=poly2sym(n2,'z')/poly2sym(d2,'z');z=pd1;mag = abs(eval(gla1));disp('la ganancia es kc= ')kc=1/mag%respuesta en el tiempo del sistema sin compensardisp('funcion de transferencia con kc')disp('funcion de transferencia con el compensador en lazo abierto')sc1=kc*scdisp('funcion de transferencia con el compensador en lazo cerrado')sct=feedback(sc1,1)rlocus(sc1,'g')%sistema compensado con adelanto%hallando kv error estaticodisp('kc*B*kv1=k^v')%debemos preveeer que b >1;y=(pca/zca)B=(kv*y/(kc*kv1))%ahora obtenida B,Elegimos el cero y el polo del compensador de atraso (cercanos,%cerca al origen y T grande)disp('Elegimos el cero y el polo del compensador de atraso (cercanos,cerca al origen y T grande')zpc=input('ingrese (1/T) del compensador atraso zpc=')%halla del cero zpc ,el TT=(1/zpc)%se obtiene ahora EL POLO DE(1/TB)ppc=(1/(T*B))%del polo deseado tenemossigma=-1*(real(pd1))wd=imag(pd1)s1=-sigma+j*wdwn1=sqrt((sigma^2)+(wd^2))

16

Page 17: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

e1=sigma/wnangp=(180/pi)*angle(-e1*wn1+ppc+wn1*(sqrt(1-(e1)^2))*i)angz=(180/pi)*angle(-e1*wn1+zpc+wn1*(sqrt(1-(e1)^2))*i)def=angz-angpwhile def<(-5) 'def es menor que -5'end disp('la deficiencia esta correcta')% ahora tendria que realizarse control por magnitud deberia de ser igual a% a 1HY=abs((s1+zpc)/(s1+ppc))% ahora la funcion de transferencia tendria la sgte. forma:nzpa=[1 zpc]dzpa=[1 ppc]n3=kc*conv(n,n1)d3=conv(d,d1)num=conv(n3,nzpa)den=conv(d3,dzpa)scla=tf(num,den)sclc=feedback(scla,1)figure(3)rlocus(scla)figure(4)step(sclc)

3.5.Realice un VI programa que permita visualizar la función de transferencia del sistema, el compensador,LGR, respuesta a una entrada escalon, rampa.

clcclear allnum=input('ingrese el numerador: ');den=input('ingrese el denominador: ');disp('funcion de transferencia en lazo abierto: ')la=tf(num,den)disp('funcion de transferencia en lazo cerrado: ')lc=feedback(la,1)%hallamos ahora el polo dominantepdom=esort(pole(lc));a=input('(1) SI HAY POLO DESEADO, (2)NO HAY POLO DESEADO y (3) COEF.A: '); if a==1 pd=input('ingrese el polo deseado: '); syms s; n=poly2sym(num,s); d=poly2sym(den,s); disp('Kv sin compensar: ') kv=limit(s*n/d,0); Kv=sym2poly(kv) kvd=input('La Kv que sea mayor a: ') disp('el incremento beta: ') B=kvd/Kvelseif a==2 disp('polo dominante: ')

17

Page 18: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

pd=pdom syms s; n=poly2sym(num,s); d=poly2sym(den,s); disp('Kv sin compensar: ') kv=limit(s*n/d,0); Kv=sym2poly(kv) kvd=input('La Kv que sea mayor a: ') disp('el incremento beta: ') B=kvd/Kvelseif a==3 ess=input('ingrese Ess menor a: ') R=input('multiplo de la entrada rampa: ') figure(1) rlocus(la) grid on title('BUSQUE EL POLO DOMINANTE A PARTIR DE SU COEF. DE AMORTIGUAMIENTO: ') pd=input('ingrese el polo dominante a partir del coef. de amortiguamiento en el LGR: ') K=1/abs(polyval(num,pd)/polyval(den,pd)) syms s; num=num*K n=poly2sym(num,s); d=poly2sym(den,s); disp('Kv sin compensar: ') kv=limit(s*n/d,0); Kv=sym2poly(kv) kvd=R/ess disp('el incremento beta: ') B=kvd/Kv la=tf(num,den); lc=feedback(la,1)end T=20;cero=-1/Tpolo=-1/(B*T)ce=[1 -cero];po=[1 -polo];num1=conv(ce,num);den1=conv(po,den); disp('La constante Kc sera')Kc=1/abs(polyval(num1,pd)/polyval(den1,pd))disp('Funcion de transferencia en lazo abierto compensado: ')lac=tf(num1*Kc,den1)disp('Funcion de transferencia en lazo cerrado compensado: ')lcc=feedback(lac,1)% LGR:figure(2)rlocus(la,'g')hold onrlocus(lac,'b')grid onhold off% RESPUESTA ESCALON:

18

Page 19: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

figure(3)nu=[1];de=[1];step(nu,de,'r')hold onstep(lc,'g')step(lcc,'b')grid onhold off% RESPUESTA RAMPA:figure(4)r=tf(1,[1 0]);step(r,'r')hold onstep(lc*r,'g')step(lcc*r,'b')grid onaxis([0 20 0 20])hold off%Calculo de error de velocidad estático del sistema compensado n1=poly2sym(num1,s); d1=poly2sym(den1,s);kv1=limit(s*n1/d1,0);disp('nuevo') Kv1=sym2poly(kv1)

3.6. Realizar en Intouch la simulación de 3 lámparas cada una que se encienda con un interruptor, además tenga luz de emergencia cuando 3 lámparas estén encendidas, se pueda ver la fecha y hora.

19

Page 20: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

20

Page 21: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

21

Page 22: Laboratorio de Control

LABORATORIO DE CONTROL 2 2015

4.CONCLUSIONES Y RECOMENDACIONES

Se logró conocer la técnica de compensación en atraso para sistemas de control.

Se logró realizar el ajuste de ganancia mediante LGR, para satisfacer un margen de error en estado estable.

Se logró conocer el empleo del paquete Matlab, orientado al ajuste de los compensadores diseñados.

Se conoció la animación de proceso mediante un pequeño ejemplo en intouch scada.

5.BIBLIOGRAFIA

Ingeniería de Control Moderna – Ogata http://cdigital.uv.mx/bitstream/123456789/32649/1/cruzsalazar.pdf http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/lead.lag.html http://guiasusb.files.wordpress.com/2013/09/ps1316-error-y-estabilidad.pdf

22