Concepto 1-4. Se utilizará el sistema de transmisión de traslación del concepto 1, el cual está basado en un tornillo sin fin de rueda dentada, al ser más económico,
17. DISEÑO SISTEMA DE CONTROL
17.2 CALCULO DE CONTROLADORES
Observador Continuo. Ya obtenida la función de transferencia que modela la placa de la planta se procedió a realizar y calcular el control para un observador continuo como se muestra a continuación:
103
𝑥̇ = [−3.8430 −9.30251 0 ] 𝑥 + [10] 𝑢 𝑦 = [0 2.79] 𝑥
Con una ecuación deseada que tenga un tiempo de estabilización a 5 segundos y que la respuesta sea críticamente amortiguada.
𝑒𝑐𝑢. 𝑑𝑒𝑠𝑒𝑎𝑑𝑎 = 𝑠3+ 1.6𝑠2+ 0.6530
Las siguientes son matrices aumentadas:
𝑎𝑎 = [−3.8430 −9.3025 01 0 0
0 −2.79 0
] & 𝑏𝑎 = [10 0 ]
Y la siguiente matriz es la de ganancia:
𝐾𝑡 = [17.7570 23.3505 −4.6810] 𝑑𝑜𝑛𝑑𝑒: 𝐾𝑝= [17.7570 23.3505]
𝐾𝑖 = [−4.6810]
Además las ganancias del observador:
ℎ = [58.8478 5.5097]
A continuación se presenta el diagrama de bloques utilizado para el controlador calculado
104
Ilustración 45. Diagrama de bloques de observador continúo.
Observador Discreto. A continuación se presenta el control con observador discreto del sistema, para esto se discretizó la función de transferencia de la planta con un tiempo de muestre igual a 0,2.
H(z) = 0,0153𝑧 + 0,0118 𝑧2− 1.2119 + 0,4637
Con esta función discretizada se realiza el observador discreto:
𝑥̇ = [0.3539 −1.22000.1311 0.8579 ] 𝑥 + [0.13110.0153] 𝑢 𝑦 = [0 2.79] 𝑥
Las siguientes son matrices aumentadas:
𝑎𝑎𝑑 = [0.3539 −1.2200 00.1311 0.8579 0
0 −2.7900 1
105 𝑏𝑎𝑑 = [0.13110.0153
0 ]
Y la siguiente matriz es la de ganancia:
𝐾𝑑 = [3.5237 1.8067 −0.2900] 𝑑𝑜𝑛𝑑𝑒: 𝐾𝑝𝑑 = [3.5237 1.8067]
𝐾𝑖𝑑= [−0.2900]
Además las ganancias del observador:
ℎ𝑑 = [0.1664 0.5095]
A continuación se presenta el diagrama de bloques utilizado para el controlador calculado
Ilustración 46. Diagrama de bloques de observador discreto.
PID. A continuación se presenta un controlador PID con una ecuación deseada que tenga un tiempo de estabilización a 5 segundos y que la respuesta sea críticamente amortiguada.
106
Sabiendo que la ecuación de un PID para una función de segundo orden es:
𝐾𝑐(𝑇𝑖𝑇𝑑𝑆2+ 𝑇𝑖𝑆 + 1) 𝑇𝑖𝑆
Se procede a multiplicar con la función de transferencia de la planta y posteriormente aplicar algebra de bloques reduciéndolo como un sistema retroalimentado obteniendo de esta manera una sola función de transferencia siendo: H(s) = 2,79(𝑇𝑖𝑇𝑑 𝑠2 + 𝑇𝑖 𝑠 + 1)𝐾𝑐 𝑇𝑖 𝑠3 + (3,843 + 2,79𝐻𝑐𝑇𝑑)𝑠2+ (9,303 + 2,79𝐾𝑐)𝑠 + 2,79𝐾𝑐 𝑇𝑖
Es necesario aumentar un orden a la función deseada ya que se requiere que sea del mismo orden que la función anterior, por lo que se agrega un polo alejado 10 veces obteniendo la siguiente ecuación deseada
𝑠3 + 11,6 𝑠2+ 16,64 𝑠 + 6,4
Una vez establecida la ecuación deseada se iguala con el denominador de H(s) de esta manera obteniendo las variables del controlador PID
𝐾𝑐 = 0.3669 𝑇𝑖 = 1.1465 𝑇𝑑 = 1.0572
A continuación se presenta el diagrama de bloques utilizado para el controlador calculado:
107
Ilustración 47. Diagramas de bloque de controlador PID
PID basado en plataforma de Desarrollo ARDUINO. Para este controlador se utilizaron las constantes Kc, Ti y Td calculadas anteriormente. La diferencia radica en la implementación del controlador, la cual, para este caso fue realizada en la plataforma de desarrollo ARDUINO. Para este diseño, se utilizó la app creada con el fin de poder cambiar en cualquier momento los parámetros que controlan la planta, el set point y el tiempo de muestreo para esta. El código fuente de la implementación del controlador se encuentra en la sección de anexos (anexo D).
108
18. RESULTADOS
Una vez se implementaron los controladores inicialmente calculados se dio cuenta que la planta al presentar una ganancia tan pequeña, el esfuerzo de control que requería hacer el controlador era mucho y debido a que todos los sistemas están saturados a la velocidad máxima que entrega la hélice (siendo esta 255), este no es capaz de llevar la placa al ángulo deseado. A continuación se muestra una simulación donde se puede evidenciar esto:
Ilustración 48. Simulación de controlador con observador continuo
Como se puede apreciar en la anterior ilustración, la línea azul corresponde a la referencia angular que se quiere seguir, siendo esta 30°, la línea roja corresponde a la salida de la planta, la cual sigue correctamente la referencia sin ningún error de estado estacionario, sin ningún tiempo muerto y con el tiempo de estabilización corto. El problema se evidencia en la línea verde que corresponde al esfuerzo de control, la cual es un poco mayor a tres veces la salida de la planta, ocasionando que el controlador no pueda ubicar la placa en la posición deseada ya que esta por cuestiones de seguridad de la planta está saturada 55° que corresponde el ángulo máximo que podría alcanzar la placa girando la hélice a su velocidad máxima la cual es 255.
109
Por esta razón fue necesario adicionar una ganancia interna en la función de transferencia original corrigiendo de esta manera dicho error, quedando la función de transferencia de la siguiente manera:
H(s) = 20
𝑠2 + 3,843𝑠 + 9,3025
Con esta nueva función de transferencia se calcula nuevamente los controladores y a continuación se presenta la simulación que corresponde al controlador con observador continuo.
Ilustración 49. Simulación nueva para controlador con observador continuo.
Como se observa con esta nueva ganancia fue posible reducir casi a la mitad del esfuerzo de control con respecto a la salida de la planta, corrigiendo así el problema que se estaba presentando. En los Anexos A, B y C se puede observar el código detallado de los cálculos de los controladores con observador continuo, discreto y PID respectivamente.
Observador de estados en continuo. Para probar el correcto funcionamiento del controlador se puso una entrada referencia constante de 20° como prueba, obteniendo la siguiente respuesta:
110
Ilustración 50. Respuesta Observador Continuo
Como se puede ver, el error de estado estacionario se elimina completamente ya que la respuesta del sistema (línea verde) sigue al escalón de entrada (línea azul) adecuadamente. A pesar de que existe un tiempo muerto, una vez la placa empieza a buscar la posición deseada, esta se demora 5 segundos como era deseado. Otra cosa que cabe resaltar es que puede parecer que la respuesta está oscilando pero esto se debe al tiempo de muestreo con que se está trabajando en el Arduino.
Observador de estados en discreto. Para una referencia constante de 15° y un tiempo de estabilización menor el controlador responde de la siguiente manera:
111
Ilustración 51. Respuesta observador discreto.
En el controlador con observador de estado en discreto se puede observar que al igual que el continuo sigue correctamente la referencia, también existe un tiempo muerto de aproximadamente 5 segundos. Es importante resaltar que el tiempo de muestreo con el que se calcule el controlador debe ser el mismo tiempo de muestreo con el que se está trabajando en Arduino.
PID. Por último se tiene la respuesta del controlador PID para una referencia constante de 15° y un tiempo de estabilización 4 segundos, el controlador responde de la siguiente manera:
112 Ilustración 52. Respuesta PID
Al igual que los anteriores dos controladores este trabaja correctamente siguiendo la referencia, además que este presenta un tiempo muerto menor al de los otros dos controladores.
113
La respuesta de este controlador se esperaría fuera con un sobre pico menor al del PID implementado inmediatamente anterior ya que fueron utilizados los mismos valores para las constantes del controlador. Esto se debe a que inicialmente el controlador envía un esfuerzo de control mayor (20 – 25%) al que es enviado en el otro controlador PID. La razón principal es la implementación alcanzada mediante la plataforma de desarrollo Arduino, que a diferencia de los cálculos robustos que realiza un software dedicado como Matlab, limita las capacidades de reacción del controlador provocando este sobre pico.
114