¿Cómo calcular los polos para un sistema de orden superior?

3

Tengo un sistema de cuarto orden que es completamente controlable y observable , que debe satisfacer ciertos criterios de diseño.

Estoy intentando diseñar un controlador de retroalimentación de estado completo para el siguiente sistema:

$$ \ frac {-0.00198s + 2} {s ^ 4 + 0.1201s ^ 3 + 12.22s ^ 2 + 0.4201s + 2} $$

Requisitos de diseño:

<5% Overshoot
<2s settling time
  

El esquema de este tipo de sistema de control se muestra a continuación, donde    \ $ K \ $ es una matriz de ganancias de control. Tenga en cuenta que aquí todos los comentarios   Los estados del sistema, en lugar de utilizar los resultados del sistema para   retroalimentación.

Unejemplorelacionado, Métodos de espacio de estado para el diseño del controlador .

Aunque soy consciente de cómo diseñar sistemas de segundo orden utilizando los requisitos de diseño anteriores, estoy teniendo problemas cuando se trata de sistemas de orden superior.

A continuación presento ecuaciones y trabajo para encontrar polos para un sistema de segundo orden. Disculpas si la redacción es difícil de descifrar.

Polos para el segundo orden @ -2.6 +- i*2.39

A continuación, se procederá a utilizar la función MATLAB place de la siguiente manera:

p2 = [-2.6 + 1i*2.39, -2.6 - 1i*2.39];
K = place(A,B,p2);

Acl = A - B*K;
mysys = ss(Acl,B,C,D);

Dado que este método solo produce dos polos, ¿cómo puedo satisfacer mis requisitos de diseño si tengo un sistema de cuarto orden?

Esto también se puede considerar como el diseño de un controlador de retroalimentación de estado completo para obtener el transitorio específico que requiere. La dinámica de los bucles cerrados y, más específicamente, los valores propios de la matriz Acl tienen mucho que ver con encontrar los polos deseados. Todavía tengo que entender completamente cómo. Cualquier sugerencia sería apreciada.

    
pregunta Rrz0

1 respuesta

2

Un sistema de segundo orden es relativamente simple. Es sencillo determinar el exceso y el tiempo de asentamiento. Este no es el caso de un sistema de orden superior.

Limitaré la discusión a los sistemas lineales que tienen controladores lineales.

Para un sistema de orden superior generalmente construyes una función de costo. Hay muchas maneras de hacerlo. Un buen lugar para comenzar es con el regulador cuadrático lineal (lqr en MATLAB). Para su sistema SISO tendrá el formulario. $$ \ int_0 ^ \ infty (x ^ \ top Q x + R u ^ 2 + 2 x ^ \ top N u) \ \ mathrm {d} t. $$ Un buen lugar para comenzar es establecer $$ \ int_0 ^ \ infty (x ^ \ top x + R u ^ 2) \ \ mathrm {d} t. $$ Luego puede variar R hasta obtener una respuesta satisfactoria. La función lqr en MATLAB le dará la matriz de comentarios.

Debido a que está buscando un exceso de tiempo y un tiempo de establecimiento rápido, el LQR no es realmente la mejor herramienta que puede usar. En su lugar, el ITAE (error absoluto de tiempo integrado) minimiza $$ \ int_0 ^ \ infty | e | t \ \ mathrm {d} t. $$ De esta manera usted penaliza los errores más a medida que ocurren.

Para un sistema de cuarto orden, su función de transferencia de destino es $$ \ frac {\ omega_0 ^ 4} {s ^ 4 + 2.1 \ omega_0 s ^ 3 + 3.4 \ omega_0 ^ 2 s ^ 2 + 2.7 \ omega _0 ^ 3 s + \ omega_0 ^ 4}. $$ Puede encontrar más información en la página 21 aquí .

Configuración de omega a 10 rendimientos

Para su sistema no necesita controlar los ceros porque el término s es pequeño. Si fuera más grande, necesitarías eliminar los ceros.

    
respondido por el user110971

Lea otras preguntas en las etiquetas