Automática 3: más reguladores

Hasta ahora hemos visto que todo es muy bonito, que el punto de diseño que queríamos nos ha coincidido con el lugar de las raíces y que con ésto hemos sacado un regulador P, que es suficiente para darnos por satisfechos.

Sin embargo, ¿qué ocurre cuando no coincide el lugar de las raíces? Forzamos a cambiar al LDR hasta que pasa por el punto que queremos, añadiendo un derivador (cero). Qué mejor manera de saber en qué punto poner el cero que con el criterio del argumento.

Regulador PD

Pongamos por ejemplo el último sistema que hemos tomado, su lugar de las raíces va a ser el que sigue y queremos que el tiempo sea menor a 1 segundo y su sobreoscilación menor al 5%.

bien

En ningún momento pasa el LDR por la zona válida de especificaciones (la blanca). Calculamos un punto de diseño que va a ser s = -4+4i (en realidad es +4.19i pero podemos aproximar con total tranquilidad de conciencia, ya que al añadir un cero aumentaremos la sobreoscilación).

A continuación, vamos a ver dónde colocar el cero, calculamos los ángulos con los polos que tenemos: a1=104.0362º, a2=126.8698º.

Hacemos la suma y resta: 104.0362 + 126.8698 – z = 180. Despejamos z y obtenemos: az = 50.906º. De la misma forma que hemos calculado el ángulo de los polos dada su posición, calculamos la posición del cero: tg(angulo) = 4/dz -> dz=3.25 (distancia al punto, se le suma la parte real del punto para saber la distancia al 0 del plano) -> dz=7.25. Colocamos el cero y cambia el LDR:

cero2

Ahora calculamos, mediante el criterio del módulo, la ganancia del regulador, que es aproximadamente 29.

Expresamos el cero del derivador como un tiempo de derivación: Td = 1/z = 1/7.25 = 0.138

Y expresamos la función de transferencia del regulador: Gr = 29*(1+0.138*z).

La respuesta que obtenemos con éste regulador es:

cero3

Como ya estaba predicho, la sobreoscilación es mayor a la que habíamos pensado porque hemos incluido un cero.

Otra de las cosas que nos preocupan de éste sistema es que, como se ve en la figura, se establece en 0.9. Ésto es el error de posición, que como ya expliqué anteriormente, se soluciona con un integrador, a riesgo de inestabilizar el sistema.

Regulador PI-PID

En caso de no necesitar cambiar el LDR pero sí hacer el error de posición 0, usaríamos un regulador PI, nos olvidamos de poner un derivador. En éste caso, hemos necesitado un PID para cambiar el LDR. Simplemente, una vez puesto el cero del derivador en su sitio, incluimos un polo en el punto 0.

inte

Como era de esperar, un integrador “tal cual” nos ha inestabilizado el sistema. Para volver a estabilizarlo, añadimos otro cero, que llamamos cero del integrador, cuya posición es parte real del punto de diseño dividido por 10:

inte2

El programa considera que la pareja polo-cero del integrador afectan al LDR y a la ganancia y cambia. Por lo general nos podemos quedar con la que nos da nada más calcular el derivador, ya que la pareja está “muy próxima” entre sí. Sin embargo, también se puede calcular la nueva ganancia, que daría aproximadamente 12.5. Entonces, expresamos el integrador como un tiempo de integración que es Ti = 1/zi = 1/0.4 = 2.5. Expresamos el regulador completo como:

Gr = 12.5*(1+0.138*s)*(1+1/(2.5*s))

Su respuesta en éste caso ha mejorado mucho en sobreoscilación, pero el tiempo de establecimiento se ha hecho mucho mayor, saliéndose de las especificaciones:

inte3

Para arreglar el “estropicio”, lo que haremos será un “ajuste fino” (vamos a ir probando) hasta obtener una relación de sobreoscilación-tiempo de establecimiento que nos convenza (más bien al comprador).

¿Cómo implemento un PID?

“Antiguamente” (hace 2 días porque ésto ha evolucionado mucho), se usaban métodos analógicos para hacer un regulador. Con métodos analógicos me refiero a un circuito (caso regulador electrónico) con amplificadores operacionales que hacen de amplificador (ganancia), integrador y derivador.

Hoy en día, usamos ordenadores con mucha capacidad que muestrean las señales y hacen salir otra de acuerdo a los parámetros que nosotros le configuremos. Además, hay varias formas de expresar éstos parámetros: la forma de cálculo, que es la que he puesto anteriormente, y la forma comercial, que se calcula mediante ésta tabla:

tabla

En industria se usan aparatos caros como éste:

Y ésto es todo lo básico de lo básico de automática de 2º. Ya sabemos diseñar un regulador, ahora queremos saber cómo implementarlo en un ordenador y que sea funcional y eficiente: lo llaman técnicas de control.

Cosas “chulas” que podemos llegar a hacer con un PID: control de posición de un helicóptero.

Automática 2: regulador P

Hasta aquí no habíamos hablado de cómo diseñar el regulador y en qué afecta al sistema. Pues bien, en primer lugar, hay algunos sistemas que al principio son estables pero que debido a sus características (por ejemplo que sea muy lento o muy rápido en responder) acaban inestabilizándose o simplemente a nosotros nos conviene cambiar su respuesta. Como visteis en el apartado de polos, éstos afectan al comportamiento del sistema, así como la ganancia que se le aplique. Nos aprovecharemos de ésto y algo más:

Ceros

Los ceros en bucle abierto son las raíces reales que tiene el numerador de la función de transferencia en bucle abierto. En bucle cerrado se van perdiendo por ahí, de forma que si un cero queda en el plano positivo, inestabiliza la respuesta. En cuanto a la respuesta  estable, un cero hace que el pico ocurra antes pero aumenta la sobreoscilación. Un ejemplo:

ceroEn éste caso, la acción del cero es tan fuerte que hace a la respuesta cambiar de sobreamortiguada a subamortiguada.

Nos aprovechamos de lo que aportan los ceros para incluirlos en el regulador en forma de derivador.

Lugar de las raíces

En bucle abierto tenemos polos y ceros, que podemos situar sobre un mapa. Entre ellos, podemos trazar lo que llamamos el lugar de las raíces, formado por todos los puntos del plano por el que los polos en bucle cerrado se van a pasear cuando variamos la ganancia. Por ejemplo, la siguiente función de transferencia en bucle abierto:

fdt6

Tiene un lugar de las raíces como sigue:

rlocusDicho lugar de las raíces (LDR) empareja a polos y ceros de forma que con una ganancia que tiende a 0 estaríamos en los polos (inicio) y con una ganancia que tiende a infinito estaríamos en el cero (final). Cuando no hay un mismo número de polos y ceros, el LDR restante tiende al infinito. Si analizamos éste, podemos predecir que cualquier respuesta debería ser sobreamortiguada, ya que no habría polos en bucle cerrado en puntos con imaginarios. Pero sabemos que es falso. ¿Qué es lo primero que aprendemos? Que el lugar de las raíces miente porque el cero aumenta la sobreoscilación.

Regulador P

Voy a aprovechar que ya tenemos éste ejemplo empezado para aprender a hacer un regulador P. Éste está compuesto simplemente por la ganancia que va a llevar al LDR el punto de diseño que nosotros queramos. Por ejemplo, si buscamos un tiempo de establecimiento (98%) de 2 segundos, diseñar el regulador P adecuado.

Un tiempo de establecimiento de 2 segundos nos indica que el punto de diseño está en s=-2+0i. A la vista del gráfico del LDR, sabemos que es posible hacer pasar por ése punto los polos sin más que variar la ganancia, ya que éste punto pertenece al LDR. ¿Y si no tenemos el gráfico? Entonces recurrimos al criterio del argumento: un cálculo que nos indica si el LDR pasa por el punto que deseamos sin tener que hacer gráfico (cosa imposible de hacer a mano en ocasiones).

¿De qué trata el criterio del argumento? Calculamos todos los ángulos que forman los polos y ceros en bucle abierto con el polo deseado (dominante) en bucle cerrado, y sumamos los ángulos de los polos y restamos los ángulos de los ceros. Si el resultado da 180º (o múltiplos enteros impares de éste), entonces el LDR pasa por el punto deseado. El ángulo que buscamos es, pongamos un mapa cualquiera, éste:

argumento

Con dos polos en -3 y -4 y un cero en -7, buscamos los ángulos marcados con el punto de diseño s = -1+1i. El resultado de éstos es alfa1=26.565º, alfa2=18.434, alfa3=9.462º, suma y resta = 35.537º. En éste caso, el LDR no pasa por el punto deseado, por lo que para forzarlo usaremos un derivador, que veremos más adelante. Si volvemos a nuestro ejemplo anterior, veremos que alfa1=0º, alfa2=0º y alfa3=180º, por lo que el LDR sí que pasa por el punto que buscamos.

Una vez sabemos, y no antes, que el LDR pasa por nuestro punto de diseño, falta saber qué ganancia tenemos que aplicar para llegar hasta él. Para ello usamos el criterio del módulo. Ésto es: calculamos todas las distancias de polos y ceros hasta el punto de diseño, y multiplicamos las distancias de los polos y dividimos la distancia de los ceros. En el ejemplo: d1 = 1, d2 = 2, d3 (cero) = 1. Resultado: 1*2/1 = 2. Sin embargo, ésta no es la ganancia final, ésta la llamamos Kldr, cuando nosotros buscamos Kr. Kr es la ganancia de la fdt en bucle abierto, en éste caso 1.

Si tuviésemos una Gba= 4*ceros/polos, la Kr sería 2/4 = 0.5. Kr = Kldr/Kba.

Volviendo a nuestro ejemplo, necesitamos una ganancia de 2 para que se cumpla la especificacion:

polo

(Los puntos rosas son el punto de diseño, polo en bucle cerrado que va desde -3 hasta -1, y el otro polo en bc que sale del polo en -4 y se iría hasta menos infinito, que también afecta a la respuesta pero no lo tenemos en cuenta al no ser dominante)

polo2

(el tiempo no es exacto debido a la precisión, al usar otro método, del programa)

En éste caso no nos hemos preocupado para nada de la sobreoscilación, pero ésta, que relaciona la parte real con la imaginaria, se traza como un ángulo en el lugar de las raíces para ver en qué puntos nos estamos pasando de sobreoscilación. El ángulo se calcula:

sobreos

Pongamos otro ejemplo: tenemos él siguiente lugar de las raíces y queremos que haya una sobreoscilación máxima del 15% y un tiempo de establecimiento de 2 segundos.

rlocus2Hallamos que es un ángulo máximo de 58.873º y que el tiempo nos obliga a poner el polo sobre la parte real -2. Aprovechando que sabemos la parte real, calculamos la parte imaginaria: tg(angulo)*parte real = 3.312. Ya tenemos el punto de diseño, s=-2+3.312i. Pero, ¿no he dicho que es un ángulo máximo? Efectivamente, cualquier ganancia que haga estar al punto por debajo de él es válida, pero podemos buscar la máxima y quedar bien.

sobreosc2

Con un rápido cálculo del criterio del módulo hallamos una ganancia de 11.96 y su respuesta es:

respuesta3

Otras cosas a tener en cuenta: si un polo o un cero están muy alejados (10 veces) del polo dominante, éstos no se toman en cuenta. Si un polo y un cero están muy cercanos (criterio de cada cual), se pueden despreciar para el cálculo (aunque la respuesta será algo diferente).