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 1: Entrada y respuesta

Ya introduje que dada una entrada, a la salida del sistema obtendremos una respuesta que se puede predecir con la función de transferencia.

Entradas típicas

Cada tipo de entrada de las que se vio en la tabla induce al sistema a responder de una manera distinta, ahora veréis la forma que tienen las entradas impulso, escalón y rampa:

ent

En ésta gráfica sólo se observan el escalón y la rampa. El impulso no se ve por algo lógico: sólo dura un diferencial de tiempo, un espacio tan corto que no se molesta en dibujarlo, pero os aseguro que está ahí y llega hasta 1. Lo mismo ocurre con la subida del escalón, ya que ésta se hace en forma de impulso.

Pongamos ahora que nuestro sistema tiene ésta fdt:

fdt5Las respuestas con éstos tres tipos de entrada son distintas:

respuesta

Como veis, cada respuesta sigue a su referencia. El impulso actúa un momento y vuelve a 0, por lo que siempre va a alcanzarse. El escalón no, y la rampa tampoco, debido a que tienen una ganancia estática y un error que veremos más adelante.

¿Qué es la ganancia estática? Ésto:

estatica

Por ejemplo, como tenemos la función de transferencia, si ponemos 0 donde hay s, se queda una Kest=1/3=0.3333

Y si os fijáis, 0.3333 (1 que vale el escalón por Kest) es donde se para la gráfica. Si ahora pongo escalones de distintos tamaños (1, 10 y 20):respuesta2La respuesta termina exactamente en 1/3, 10/3 y 20/3.

Otra característica importante: ¿cuándo alcanza ésta referencia? Se suele usar la aproximación:

tiempo

¿Veis que no cuadra la función de transferencia del tiempo que he dado con la del ejemplo? Éso es porque estamos usando una fdt de segundo o mayor grado, en éste caso sobreamortiguada, ya que no oscila. Sin embargo, si utilizásemos una  función tal como G=1/(4s+1) veríamos que ésta deja de ascender aproximadamente en 1 segundo.

Otro tipo de funciones de segundo grado son las subamortiguadas, supongamos que tenemos un proceso con una función de transferencia que está a continuación, una ganancia de 10 y un sensor de ganancia 1:

proceso

Calculamos la función de transferencia en bucle cerrado tal como decíamos arriba:

transfer

Si aplicamos un step (escalón) a ésto:

sobre

Que sea sobreamortiguado o subamortiguado se debe a los parámetros de la función coeficiente de amortiguamiento y pulsación natural.

¿Qué nos interesa medir aquí? Vamos a introducir los mapas de polos. ¿Qué es un polo? Si escribimos la función en bucle abierto, vemos que en la parte de debajo queda una ecuación que se puede simplificar y extraer sus raíces, que en éste caso son s=-0.8455 +- 1.7316i y s=-4.3089. Podemos dibujar éstos puntos en un plano real-imaginario:

pzmap

A los polos más cercanos (que son los imaginarios en éste caso), los llamamos los polos dominantes. Son los que mandan. Además, cuanto más cerca del 0, más lenta es la respuesta. Si  los polos dominantes están en el eje negativo, la respuesta es estable. Si por casualidad se encuentran sobre el 0, la respuesta es oscilatoria (no va a seguir la referencia jamás, va a ir y venir, como una onda senoidal). Por último, si cualquier polo se encuentra en el eje positivo, la respuesta es inestable.

¿De qué nos sirve saber el polo dominante? Pues para saber por ejemplo:

  • tiempo de establecimiento: 4/[Parte real] = 4.73 s en el ejemplo
  • sobreoscilación: cuando tiene un pico al principio, se pasa del valor final, a la diferencia entre el valor máximo de dicho pico y el valor estable (no el de referencia) la llamamos sobreoscilación, y se suele expresar en porcentaje:

parte

Sería aproximadamente un 21.56%

  • tiempo de pico: en qué momento se produce el pico que hemos mencionado antes: tp = pi/[parte imaginaria], en éste caso 1.81 s.
  • error: se puede observar que dada una referencia de 1, ha acabado entre 0.6 y 0.7, dicho error se puede calcular mediante ésta tabla:

error

¿Qué significa el tipo de sistema? Es la cantidad de integradores que tiene. Un integrador se añade en el regulador, pero suele hacer el sistema inestable. Se expresa como 1/s. Es decir, es tipo es el número de raíces s=0 que tiene el denominador bucle abierto. En éste caso, ninguno, por lo que el error es de 0.375. Si teníamos una referencia de 1-0.375 = 0.625 que coincide con el punto en el que entra en régimen permanente.

Puedo comprobar ésto gráficamente, aunque los resultados que da el software son mucho más precisos y siguen otros métodos:

valores