Está en la página 1de 10

Compensadores

Enco Castañeda, Owen Paulo 15190179/ Huarocc Bonifacio, David Alonso 15190146

Facultad De Ingeniería Electrónica Y Eléctrica, Universidad Nacional Mayor De San Marcos, Lima, Perú

Resumen— bode(Gp)
margin(Gp)
Palabras claves—
I. OBJETIVO:

 El objetivo de esta práctica es que el estudiante utilice distintas


herramientas de análisis frecuenciales para el diseño e
implementación de compensadores.
 Familiarizarse con el toolbox de Matlab para este fin.

II. INTRODUCCIÓN:

Figura 1. Script “Parte1”

III. MATERIALES 2. Obtener la respuesta temporal para el Sistema 1 ante un


 Software utilizado escalón y una rampa unitaria.

- Matlab R2017a. Gracias al script “Parte1”, obtendremos las respuestas en las


Figuras 2 y 3 para las entradas escalón y rampa
respectivamente.
IV. PROCEDIMIENTO

A. PARTE 1: Compensador en adelanto

1. Considerando el sistema en lazo abierto (Sistema 1)


siguiente:

2
𝐺𝑝(𝑠) =
𝑠(0.1𝑠 + 1)(𝑠 + 1)
Mediante un script en Matlab (“Parte1.m”), el cual se
observa en la Figura 1 obtendremos su respuesta temporal
gracias a los comandos step (para entrada escalón), lsim
(para la entrada rampa) y para obtener los márgenes de Fase
y ganancia utilizaremos los comandos bode y margin (para
los márgenes) para el Sistema 1.
Figura 2. Respuesta del Sistema 1 ante una entrada Escalón.
num1=2;
dn1=conv([0.1 1],[1 1]);
dn=conv(dn1,[1 0]);
t=0:0.01:10;
u=t;
Gp =tf(num1,dn)
figure(1)
step(Gp)
figure(2)
lsim(Gp,u,t)
figure(3)
a)

b)
Figura 5. Diagrama de bloques del a) sistema 1 sin compensador y b) sistema 1
con compensador.
Figura 3. Respuesta del Sistema 1 ante una entrada Rampa.
Donde:
Como vemos en ambas Figuras 2 y 3 las respuestas ante
dichas entradas, observamos que el sistema en lazo abierto 2
es inestable, dado a que la salida no está acotada 𝐺𝑃 (𝑠) =
(incrementará indefinidamente). 𝑠(0.1𝑠 + 1)(𝑠 + 1)

3. Obtener los márgenes de Fase y Ganancia para el Sistema 1. Para satisfacer las especificaciones se intentará un
compensador en adelanto de la forma:
Gracias al script “Parte1”, obtendremos el diagrama de Bode
junto con los márgenes de Fase y Ganancia en las Figuras 4. 𝑇𝑠 + 1
𝐺𝐶1 (𝑠) = 𝐾𝐶 
𝑇𝑠 + 1
Ponemos 𝐾𝐶  = 𝐾:

Entonces:
𝑇𝑠 + 1 2
𝐺(𝑠) = 𝐾 ( )
𝑇𝑠 + 1 𝑠(0.1𝑠 + 1)(𝑠 + 1)
Tenemos que Kv= 4seg-1

𝑇𝑠 + 1 2
𝐾𝑣 = lim 𝑠𝐾 ( )
𝑠→∞ 𝑇𝑠 + 1 𝑠(0.1𝑠 + 1)(𝑠 + 1)

4 = 2𝐾
𝐾=2

Figura 4. Diagrama de Bode y márgenes de Fase y Ganancia del Ssitema 1. Ahora tenemos:
4
Observamos que es margen de Ganancia es 𝑀𝐺 = 14.6𝑑𝐵 𝐺1 (𝑠) =
que es lo máximo que podremos agregar en ganancia antes 𝑠(0.1𝑠 + 1)(𝑠 + 1)
de que el sistema sea inestable y como margen de Fase
𝑀𝐹 = 31.7° lo máximo que podemos agregar antes de que Calcularemos el margen de fase mediante Matlab, dándonos
el sistema sea inestable. como resultado:

4. Diseñar un compensador de adelanto 𝐺𝑐 (𝑠) tal que el margen 𝑀𝐹 = 17.7°


de fase sea 45°, el margen de ganancia no sea menor de 8dB
y la constante de error estático de velocidad Kv sea de 4 s-1. Como lo indica la especificación el margen de fase debe ser de
45°, entonces el adelanto de fase adicional necesario para
En la Figura 5 mostraremos el diagrama de bloques del satisfacer este requisito de margen de fase será:
sistema sin compensador y sistema con compensador.
45° − 17.7° = 27.3°
Si tomamos en cuenta el desplazamiento de la frecuencia de sistema 1 compensado en lazo cerrado.
cruce de ganancia, entonces supondremos:
Observando la Figura 6, veremos el sistema 1 compensado
𝜙𝑚 = 27.3° + 12° en lazo cerrado.
𝜙𝑚 = 39.3°

Por formula:

1 − sin 𝜙𝑚
=
1 + sin 𝜙𝑚 Figura 6. Sistema 1 en lazo cerrado.

1 − sin 39.3° Mediante un script “c_adelanto”, el cual se mostrará a


= continuación.
1 + sin 39.3°
%Sistema 1 sin compensar
 = 0.22445 num1=2;
dn1=conv([0.1 1],[1 1]);
Con este valor, procederemos a calcular la magnitud de la dn=conv(dn1,[1 0]);
respuesta en frecuencia a la cual ocurre la máxima contribución Gp=tf(num1,dn)
de fase del compensador. Es decir: %compensador de adelanto
x=0.2245052001;
T=0.76296647004;
4 K=2;
|𝐺1 (𝑠)| = | | = √ nc=[K*T K];
𝑠(0.1𝑠 + 1)(𝑠 + 1)
dc=[x*T 1];
4 Gc=tf(nc,dc)
| | = √0.22445 %Sistema 1 lazo abierto
𝑠(0.1𝑠 + 1)(𝑠 + 1) G=series(Gc,Gp)
%Sistema 1 lazo cerrado
Reemplazando 𝑠 = 𝑗𝑤𝑚 H=feedback(G,1);
%----------------------------
Teniendo así después de operar: t=0:0.05:2.5;
r=t;
𝑤𝑚 = 2.76619 𝑟𝑎𝑑/𝑠 [al,t]=step(H,t);
[a2,t]=step(Gp,t);
Finalmente: figure(1)
plot(t,al,t,al,'+',t,a2,t,a2,'*');
1 [bl,t]=lsim(H,t,r);
𝑇= [b2,t]=lsim(Gp,t,r);
√ 𝑤𝑚
grid;
1 title('respuesta a un escalón unitario
𝑇= de un sistema 1 compensado y no
√0.22445 ∗ 2.76619 compensado');
xlabel ('t seg') ;
𝑇 = 0.76296 ylabel('salidas al y a2');
gtext('sistema 1 compensado');
Entonces tendremos que: gtext('sistema 1 no compensado');
figure(2)
plot(r,t,r,t,'r',t,bl,t,bl,'+',t,b2,t,b2
0.76296𝑠 + 1 ,'*') ;
𝐺𝐶1 (𝑠) = 2
0.1713𝑠 + 1 grid;
title('respuesta a una rampa de un
Y como el sistema 1 con compensador: sistema 1 compensado y no compensado');
xlabel ('t seg') ;
ylabel('salidas bl y b2');
0.76296𝑠 + 1 2 gtext('sistema1 compensado');
𝐺1𝑐(𝑠) = 2 gtext('sistema 1 no compensado');
0.1713𝑠 + 1 𝑠(𝑠 + 1)(0.1𝑠 + 1) gtext('señal de entrada');
figure(3)
bode(G)
margin(G)
5. Respuestas ante un escalón unitario y a una rampa para el
Las gráficas del sistema ante un escalón unitario serán
mostradas en la Figura 7.

Figura 9. Diagrama de Bode del sistema 1 compensado.

Compararemos los valores que obtuvimos y los


requerimientos en la Tabla 1.
TABLA 1
Figura 7. Respuesta a un escalón unitario de un sistema 1 COMPARACIÓN DE REQUERIMIENTOS COMPENSADOR
compensado y no compensado. DISEÑADO ANALITICAMENTE PARA EL SISTEMA 1
Margen de Margen de
Las gráficas del sistema ante un escalón unitario serán
Fase (MF) Ganancia (MG)
mostradas en la Figura 8.
Pedido 45° Mayor a 8 dB
Obtenido 43.7° 13.5 dB

Nota: Con lo visto en la Tabla 1, observamos que, si


cumplimos aproximadamente los requerimientos, lo que nos
indica que nuestro compensador está bien diseñado.

6. Utilizar el “toolbox” sisotool, para diseñar el mismo


controlador.

Mediante el comando sisotool entraremos a una interfaz que


nos permitirá observar distintas gráficas (step, rlocus, bode)
de nuestro sistema, en el cual podremos diseñar un
compensador añadiendo zeros y polos. Como se logra
apreciar en la Figura 10.

Figura 8. Respuesta a una rampa de un sistema 1 compensado y no


compensado.

Nota: Como vemos en las gráficas de respuesta, nuestro


sistema paso de no estar controlado a un sistema 1
controlado, gracias a nuestro compensador.

Observaremos si se cumplieron los requerimientos gracias al


Figura 10. Interfaz sisotool y gráficas para nuestro sistema 1 no
Diagrama de Bode, visto en la Figura 9, de nuestro sistema 1
compensado.
compensado:
Ahora comenzaremos a añadir zeros y polos para obtener el
compensador que nos ofrezca los requerimientos pedidos como Bode y la respuesta escalón.
anteriormente.

Como nos piden un compensador de adelanto, sabemos que B. PARTE II: COMPENSADOR EN ADELANTO Y ATRASO
el polo tiene que estas mas alejado del eje imaginario que el
zero por ende luego de ir viendo como varían los márgenes 1. Considerando el sistema en lazo abierto siguiente:
de fase y ganancia en el diagrama de Bode obtendremos
nuestro controlador, como se ve en la Figura 11. 1
𝐺2(𝑠) =
𝑠(𝑠 + 1)(𝑠 + 5)

Mediante un script en Matlab (“Parte2.m”), el cual se


observa en la Figura 13 obtendremos su respuesta temporal
gracias a los comandos step (para entrada escalón), lsim
(para la entrada rampa) y para obtener los márgenes de Fase
y ganancia utilizaremos los comandos bode y margin (para
los márgenes) para el Sistema 2.

num2=1;
dn2=conv([1 1],[1 5]);
d2=conv(dn2,[1 0]);
Figura 11. Sistema 1 compensado al añadir zeros y polos. t=0:0.01:25;
u=t;
En la Figura 12 se observa el compensador de adelanto Gp2=tf(num2,d2)
diseñado mediante sisotool para el sistema 1. figure(1)
step(Gp2)
figure(2)
lsim(Gp2,u,t)
figure(3)
bode(Gp2)
margin(Gp2)

Figura 12. Compensador en retardo-adelanto, para el Sistema 1.

0.46𝑠 + 1
𝐺𝐶1𝑠𝑖𝑠𝑜𝑡𝑜𝑜𝑙 (𝑠) = 1.8717
0.1𝑠 + 1 Figura 13. Script “Parte2”

Comparamos los requerimientos obtenidos y requeridos en 2. Obtener la respuesta temporal para el Sistema 1 ante un
la Tabla 2. escalón y una rampa unitaria.
TABLA 2
Gracias al script “Parte2”, obtendremos las respuestas en las
COMPARACIÓN DE REQUERIMIENTOS COMPENSADOR Figuras 14 y 15 para las entradas escalón y rampa
DISEÑADO PARA EL SISTEMA 1 MEDIANTE TOOLBOX respectivamente.
Margen de Margen de
Fase (MF) Ganancia (MG)
Pedido 45° Mayor a 8 dB
Obtenido 45° 18.6 dB

Nota: Observamos en la Tabla 2 que cumplimos los


requerimientos más precisamente que con nuestro diseño
analítico, esto se debe a que la herramienta sisotool nos
ayuda a tener más precisión gracias a sus distintas gráficas
Figura 16. Diagrama de Bode y márgenes de Fase y Ganancia del Sistema 2.
Figura 14. Respuesta del Sistema 2 ante una entrada Escalón.

Observamos que es margen de Ganancia es 𝑀𝐺 = 29.5𝑑𝐵


que es lo máximo que podremos agregar en ganancia antes
de que el sistema 2 sea inestable y como margen de Fase
𝑀𝐹 = 76.7° lo máximo que podemos agregar antes de que
el sistema sea inestable.

4. Diseñar un compensador de retardo-adelanto 𝐺𝑐 (𝑠) tal que la


constante de error estático de velocidad Kv sea de 20 s-1, el
margen de fase sea 60°, el margen de ganancia al menos de
8dB.

En la Figura 17 mostraremos el diagrama de bloques del


sistema 2 sin compensador y sistema con compensador.

Figura 15. Respuesta del Sistema 2 ante una entrada Rampa.

Como vemos en ambas Figuras 12 y 13 las respuestas ante


dichas entradas, observamos que el sistema en lazo abierto a)
es inestable, dado a que la salida no está acotada
(incrementará indefinidamente).

3. Obtener los márgenes de Fase y Ganancia para el Sistema 2.

Gracias al script “Parte2”, obtendremos el diagrama de Bode


junto con los márgenes de Fase y Ganancia en las Figuras 16. b)
Figura 17. Diagrama de bloques del a) sistema sin compensador y b) sistema 2
con compensador.

Donde:

1
𝐺𝑃2 (𝑠) =
𝑠(𝑠 + 1)(𝑠 + 5)

Para satisfacer las especificaciones se intentará un


compensador en adelanto de la forma:
1 1
(𝑠 + 𝑇 ) (𝑠 + 𝑇 ) Lo que nos daría como compensador de retardo de fase:
1 2
𝐺𝐶2 (𝑠) = 𝐾𝐶
𝛽 1
(𝑠 + ) (𝑠 + ) 1
𝑇1 𝛽𝑇2 𝑠+𝑇
2 𝑠 + 0.224 4.46428𝑠 + 1
= = 20
1 𝑠 + 0.011009 90.8321𝑠 + 1
Tenemos que Kv= 20seg-1 𝑠+
𝛽𝑇2
1 1 Para la porción de adelanto, tenemos que notar:
(𝑠 + 𝑇 ) (𝑠 + 𝑇 ) 1
1 2
𝐾𝑣 = lim 𝑠𝐾𝐶 ( )
𝛽 1
) 𝑠(𝑠 + 1)(𝑠 + 5)
𝑠→∞ |𝐺𝑝2 (𝑗2.24)| = 10.5 𝑑𝐵
(𝑠 + 𝑇 ) (𝑠 +
1 𝛽𝑇2
Entonces el compensador de retardo-adelanto contribuye
20 = 0.2𝐾𝐶
con −10.5 𝑑𝐵 a 𝑤 = 2.24 𝑟𝑎𝑑/𝑠 esta frecuencia de cruce de
𝐾𝐶 = 100 ganancia es la deseada. Para obtener las frecuencias de corte de
la red de adelanto, trazamos una línea recta que pase por el punto
Ahora tenemos: (2.24 𝑟𝑎𝑑/𝑠 y −10.5 𝑑𝐵) y con pendiente 20 𝑑𝐵; entonces
100 encontraremos las frecuencias de esquina en las intersecciones
𝐺 (𝑠) = de esta línea que hemos trazado con la línea de 0 𝑑𝐵 y
𝑠(𝑠 + 1)(𝑠 + 5)
−26.0206 𝑑𝐵.
Calcularemos el margen de fase mediante Matlab, dándonos
como resultado: Estas frecuencias serían 𝑤 = 0.3704 𝑟𝑎𝑑/𝑠 y 𝑤 =
7.4077 𝑟𝑎𝑑/𝑠, lo que no daría como componente de
𝑀𝐹 = −23.7° adelanto.

Lo que nos indica que el sistema no es estable. 1


𝑠+𝑇 𝑠 + 0.3704 1 2.6998𝑠 + 1
1
= =
Habiendo elegido la frecuencia de cruce de ganancia: 𝛽 𝑠 + 7.4077 20 0.1305𝑠 + 1
𝑠+
𝑇1
𝑤 = 2.24 𝑟𝑎𝑑/𝑠
En donde agregaremos el ángulo de fase adicional 60°.Podremos Nos quedaría finalmente como compensador de retardo y
determinar las frecuencias de esquina de la porción de retardo de adelanto:
fase. Tomaremos el valor de una década por debajo de nuestra
frecuencia de corte.
2.6998𝑠 + 1 4.46428𝑠 + 1
1 𝐺𝐶2 (𝑠) = 100 ( )( )
= 0.224 0.1305𝑠 + 1 90.8321𝑠 + 1
𝑇2
𝑠 + 0.3704 𝑠 + 0.224
𝑇2 = 4.46428 𝐺𝐶2 (𝑠) = 100 ( )( )
𝑠 + 7.4077 𝑠 + 0.011009
Ahora determinaremos 𝛽 el cual nos proporciona 𝜙𝑚 = 65°
lo que es aproximado a los requerimientos, como nos piden un
margen de fase hasta 60°, entonces nos es válido: Y como el sistema 2 con compensador:

𝛽−1
sin 𝜙𝑚 = 𝑠 + 0.3704 𝑠 + 0.224 1
𝛽+1 𝐺2𝑐(𝑠) = 100 ( )( )
𝑠 + 7.4077 𝑠 + 0.011009 𝑠(𝑠 + 1)(𝑠 + 5)
𝛽−1
sin 60° =
𝛽+1 5. Respuestas ante un escalón unitario y a una rampa para el
sistema compensado en lazo cerrado.
𝛽 = 20.3464
Observando la Figura 18, veremos el sistema 2 compensado
Entonces la frecuencia de esquina de retraso de fase sería: en lazo cerrado.

1
= 0.011009
𝛽𝑇2
gtext('sistema 2 no compensado');
gtext('señal de entrada');
figure(3)
bode(G2)
margin(G2)
Figura 18. Sistema 2 en lazo cerrado.
Las gráficas del sistema 2 ante un escalón unitario serán
mostradas en la Figura 19.
Mediante un script “c_ret_ade”, el cual se mostrará a
continuación.

%sin compensar
num2=1;
dn2=conv([1 1],[1 5]);
d2=conv(dn2,[1 0]);
Gp2=tf(num2,d2)
%compensada
b=20.3464;
T1=2.69977;
T2=4.4643;
Kc=100;
%adelanto
na=[T1 1];
da=[T1/b 1];
Ga=tf(na,da)
%retraso
nr=[T2 1];
dr=[(T2*b) 1];
Figura 19. Respuesta a un escalón unitario de un sistema 2
Gr=tf(nr,dr)
compensado y no compensado.
%compensador retardo-adelanto
Gra=series(Gr,Kc*Ga) Las gráficas del sistema 2 ante un escalón unitario serán
%Sistema 2 lazo abierto mostradas en la Figura 20.
G2=series(Gra,Gp2)
%Sistema 2 lazo cerrado
H2=feedback(G2,1);
%-----------------------
t=0:0.05:2.5;
r=t;
[xl,t]=step(H2,t);
[x2,t]=step(Gp2,t);
figure(1)
plot(t,xl,t,xl,'+',t,x2,t,x2,'*');
[yl,t]=lsim(H2,t,r);
[y2,t]=lsim(Gp2,t,r);
grid;
title('respuesta a un escalón unitario
de un sistema 2 compensado y no
compensado');
xlabel ('t seg') ;
ylabel('salidas xl y x2');
gtext('sistema 2 compensado');
gtext('sistema 2 no compensado');
figure(2)
plot(r,t,r,t,'r',t,yl,t,yl,'+',t,y2,t,y2
Figura 20. Respuesta a una rampa de un sistema 2 compensado y no
,'*') ; compensado.
grid;
title('respuesta a una rampa de un
Nota: Como vemos en las gráficas de respuesta, nuestro
sistema 2 compensado y no compensado');
sistema paso de no estar controlado a un sistema controlado,
xlabel ('t seg') ;
gracias a nuestro compensador.
ylabel('salidas yl y y2');
gtext('sistema 2 compensado');
Observaremos si se cumplieron los requerimientos gracias al
Diagrama de Bode, visto en la Figura 21, de nuestro sistema Figura 22. Interfaz sisotool y gráficas para nuestro sistema 2 no
2 compensado: compensado.

Ahora comenzaremos a añadir zeros y polos para obtener el


compensador que nos ofrezca los requerimientos pedidos
anteriormente.

Se verá el sistema compensado en la Figura 23, y en la Figura


24 se observa el compensador de retardo-adelanto diseñado
mediante sisotool para el sistema 2.

Figura 21. Diagrama de Bode del sistema compensado. Figura 23. Sistema 2 compensado en retardo-adelanto.

Compararemos los valores que obtuvimos y los


requerimientos en la Tabla 4.
TABLA 4
COMPARACIÓN DE REQUERIMIENTOS COMPENSADOR
DISEÑADO PARA EL SISTEMA 2 ANALITICAMENTE
Margen de Margen de
Fase (MF) Ganancia (MG)
Pedido 60° Mayor a 8 dB
Obtenido 60° 14.7 dB

Nota: Con lo visto en la Tabla 1, observamos que, si


cumplimos los requerimientos, lo que nos indica que nuestro Figura 11. Compensador en retardo-adelanto, para el Sistema 2.
compensador está bien diseñado.
0.084𝑠 + 1 0.94𝑠 + 1
6. Utilizar el “toolbox” sisotool, para diseñar el mismo 𝐺𝐶2𝑠𝑖𝑠𝑜𝑡𝑜𝑜𝑙 (𝑠) = 3 ( )( )
0.32𝑠 + 1 0.44𝑠 + 1
controlador.

Como lo vimos en la PARTE A sisotool, nos ayudará a Comparamos los requerimientos obtenidos y requeridos en
diseñar el compensador para nuestro Sistema 2 agregando la Tabla 5.
zeros y polos. Se mostrarán las gráficas de nuestro Sistema 2
en la Figura 22. TABLA 5
COMPARACIÓN DE REQUERIMIENTOS COMPENSADOR
DISEÑADO PARA EL SISTEMA 2 MEDIANTE TOOLBOX
Margen de Margen de
Fase (MF) Ganancia (MG)
Pedido 60° Mayor a 8 dB
Obtenido 60.2° 158 dB

Nota: Observamos en la Tabla 5 que cumplimos los


requerimientos más precisamente que con nuestro diseño
analítico, esto se debe a que la herramienta sisotool nos
ayuda a tener más precisión gracias a sus distintas gráficas
como Bode y la respuesta escalón.

V. CONCLUSIONES

VI. BIBLIOGRAFÍA

También podría gustarte