Ejemplo de análisis de estabilidad con diagrama de Nyquist

El criterio de Nyquist puede decirnos si el sistema es estable o inestable al determinar cuántos polos del sistema a lazo cerrado de la Figura 1, se encuentran en el semiplano derecho:

Figura 1

`Diagrama de Nyquist con Matlab`

Considere la siguiente función de transferencia a lazo abierto:

Para elaborar el Diagrama de Nyquist, podemos utilizar los siguientes comandos en el command window de Matlab:

>> s=tf(‘s’)

>> G=1/(s^2+0.8*s+1)

>> nyquist(G)

Esta línea de comandos genera la siguiente gráfica:

Podemos obtener información sobre puntos de interés en el diagrama de Nyquist haciendo clik una vez sobre el punto de interés en el contorno:

`Ejemplo:`

Step 1. Find the open-loop transfer function G(s)H(s) of the system.

Consider the closed-loop control system as follows:

The system characteristic equation is as follows:

The factor form of this characteristic equation is:

To determine the previous factor form:

Where the open-loop transfer function G(s)H(s) of the system is:

Step 2. Use Command Window of Matlab to draw the Nyquist Diagram, applying the following commands:

>> s=tf(‘s’);

>> G=10/(s^3+2*s^2+5*s);

>> nyquist(G);

We can see at the previous Diagram that for:

To reach stability, Z must be equal to zero:

Recalling that the poles of 1+ G(s)H(s), are the same as the poles of G(s)H(s), the open-loop system, we can determine P, the number of open-loop poles enclosed by the contour A from:

A detour around the poles on the contour is required:

In the Nyquist Diagram obtained for the system of Task 2, the point -1+j0 is highlighted in red:

We can see that N=0, so:

However, the Nyquist diagram intersects the real axis at -1+j0. Hence, according to the Nyquist Criteria, the system is marginally stable.

Fuentes:

1. Modern_Control_Engineering, Ogata 4t
2. Control Systems Engineering, Nise
3. Sistemas de Control Automatico, Kuo

Revisión literaria hecha por:

Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer

Se hacen trabajos, se resuelven ejercicios!!

WhatsApp:  +34633129287  Atención Inmediata!!

Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV CCs

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contacto: España. +34633129287

Caracas, Quito, Guayaquil, Cuenca.

WhatsApp:  +34633129287   +593998524011

Ejercicio de Estabilidad de un sistema de control – 3 casos – simulación en Matlab.

1er. caso: Sistema inestable-  Determinar estabilidad y error en estado estable del sistema de control cuya función de transferencia directa G(s) para una realimentación unitaria, es:

Analizar la estabilidad del sistema implica determinar la función de transferencia a lazo cerrado Gc(s) y luego evaluar según el siguiente criterio:

• Los sistemas de lazo cerrado son estables si su función de transferencia tiene sólo polos ubicados a la izquierda del plano complejo.

Por tanto, como primer paso, debemos hallar Gc(s).

`1.1 Función de transferencia a lazo cerrado`

La realimentación unitaria tiene la siguiente configuración:

Luego, la función de transferencia a lazo cerrado Gc(s) se determina mediante la siguiente fórmula:

Es decir:

Corroboramos esto mediante el siguiente código en Matlab:

>>numg=1; %representa el numerador de la función de transferencia directa> >>deng=conv([1 0],[2 3 2 3 2]); ]); %representa el denominador de la función de                                                                        %transferencia directa, factorizado

>>G=tf(numg,deng); % construye la función de transferencia directa> >>Gc=feedback(G,1) % construye la función de transferencia a lazo cerrado con                                    %realimentación unitaria

Gc =

1

—————————————

2 s^5 + 3 s^4 + 2 s^3 + 3 s^2 + 2 s + 1

`1.2 Hallar los polos de la función de transferencia a lazo cerrado`

Ahora que tenemos la función de transferencia a lazo cerrado G(c), podemos determinar sus polos. Si todos sus polos están en el lado izquierdo del plano complejo, entonces el sistema es estable. Podemos utilizar Matlab para hallar dichos polos mediante el siguiente comando que es continuación del anterior:

>> polosGc=pole(Gc)

polosGc =

-1.3307 + 0.0000i
0.3284 + 0.8899i
0.3284 – 0.8899i
-0.4131 + 0.4969i
-0.4131 – 0.4969i

Si graficamos este resultado vemos que la función de transferencia a lazo cerrado G(c) tiene dos polos en el lado derecho y tres polos en el lado izquierdo del semiplano complejo.

>> pzplot(Gc)

Con respecto a este resultado, aplicamos un nuevo criterio:

• Los sistemas de lazo cerrado son inestables si su función de transferencia posee al menos un polo ubicado en el lado derecho del plano complejo o al menos un polo de multiplicidad mayor a 1 en el eje imaginario

Según este criterio, el sistema de la Figura 1 es inestable. Cabe recordar que los polos de las función de transferencia ubicados en el lado derecho del plano complejo producen exponenciales crecientes puras o sinusoides que crecen exponencialmente.

Este hecho lo podemos visualizar al aplicar una entrada escalón unitario al sistema y observar la respuesta, mediante:

>> step(Gc)

También podemos evaluar la estabilidad del sistema directamente con el siguiente comando en Matlab:

>> isstable(Gc)

ans =     0

Si la respuesta es “1” el sistema es estable. Si la respuesta es “0”, como en este caso, el sistema es inestable.

`1.3 Hallar el error en estado estable.`

En este caso podemos prever que el error en estado estable será infinito, porque el sistema es inestable. Para mayor información sobre el error en estado estable ver:

2do. caso: Sistema estable – Considere ahora determinar la estabilidad del sistema y el error en estado estacionario para G2(s), función de transferencia del proceso en lazo abierto, para una realimentación unitaria:

Repetimos los pasos 1.1, 1.2 y 1.3 anteriores:

`2.1 Función de transferencia a lazo cerrado`

Determinamos la función de transferencia y corroboramos mediante Matlab:

>>numg=3;
>> deng=conv([1 0],[1 3 2]);
>> G=tf(numg,deng);

>> Gc=feedback(G,1)

Gc=

3
———————
s^3 + 3 s^2 + 2 s + 3

Continuous-time transfer function.

`2.2 Hallar los polos de la función de transferencia a lazo cerrado`

>> polesGc=pole(Gc)

polesGc =

-2.6717 + 0.0000i
-0.1642 + 1.0469i
-0.1642 – 1.0469i

>> pzplot(Gc)

• Los sistemas de lazo cerrado son estables si su función de transferencia tiene sólo polos ubicados a la izquierda del plano complejo.

En la Figura 5 podemos observar que los tres polos del sistema están ubicados en el lado izquierdo del plano complejo. Por tanto, el sistema de la Figura 4 es estable. Podemos corroborar esta conclusión observando la respuesta del sistema a una entrada escalón unitario en la Figura 6 y notar como a medida que pasa el tiempo, la entrada sigue a la salida, es decir, tiende a adoptar el valor de la señal de referencia y el sistema se estabiliza:

>> step(Gc)

`2.3 Hallar el error en estado estable.`

Para hallar el error en estado estable e(∞) para una entrada escalón unitario, hallaremos la constante de error de posición Kp y luego aplicaremos la siguiente fórmula:

Por tanto, primero hallamos Kp mediante la siguiente ecuación, y luego sustituimos en la anterior:

Observación: en la ecuación anterior considere G(s)=G2(s). Entonces:

Por tanto:

Podemos concluir que el error en estado estable es cero, tal como puede anticiparse observando la Figura 6. Es decir, la entrada vale “uno”, y cuando ha pasado un tiempo considerable, la salida también vale “uno”.

3er. caso: Sistema críticamente inestable – Por último consideramos el caso de G3(s), función de transferencia del proceso en lazo abierto, para una realimentación unitaria:

`3.1 Función de transferencia a lazo cerrado`

Debemos hallar la función de transferencia G(c) del sistema a lazo cerrado, el cual tendría la siguiente configuración para una realimentación unitaria:

Podemos corroborar este resultado con Matlab mediante el siguiente código:

>> numg=3;

>> deng=conv([1 0],[1 3 1]);

>> G=tf(numg,deng);

>> Gc=feedback(G,1)

Gc =

3

——————-

s^3 + 3 s^2 + s + 3

`3.2 Hallar los polos de la función de transferencia a lazo cerrado`

Ahora que tenemos la función de transferencia G(c) a lazo cerrado, podemos determinar sus polos:

>> polosGc=pole(Gc)

polosGc =

-3.0000 + 0.0000i

0.0000 + 1.0000i

0.0000 – 1.0000i

Si graficamos este resultado vemos que la función de transferencia G(c) a lazo cerrado tiene dos polos en el eje imaginario y un polo en el lado izquierdo del semiplano complejo.

>> pzplot(Gc)

Con respecto a este resultado, aplicamos el siguiente criterio:

• Los sistemas de lazo cerrado son críticamente o marginalmente inestables si su función de transferencia posee sólo polos de multiplicidad igual a uno en el eje imaginario y polos en el lado izquierdo del plano complejo.

Podemos concluir entonces que el sistema es críticamente inestable. Algunos autores prefieren decir críticamente estable, que es decir lo mismo. Para observar esta respuesta aplicamos una entrada escalón unitario al sistema:

>> step(Gc)

`2.3 Hallar el error en estado estable.`

El sistema no converge a un resultado final. Al contrario, oscila alrededor del valor de referencia de manera indefinida.

Fuente: Control Systems Engineering, Nise

Revisión literaria hecha por:

Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer

Se hacen trabajos, se resuelven ejercicios!!

WhatsApp:  +34633129287  Atención Inmediata!!

Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV CCs

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contacto: España. +34633129287

Caracas, Valladolid, Quito, Guayaquil, Jaén, Villafranca de Ordizia.

WhatsApp:  +34633129287

Ejemplo 2 – Error en estado estable de un sistema con realimentación no unitaria.

En numerosos casos, los sistemas de control no tienen realimentación unitaria. El recorrido de realimentación puede estar constituido por una ganancia diferente de cero, o una función de transferencia específica. El diagrama de bloques de un sistema se muestra en la Figura 1:

Figura 1