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

Analógica 3: sistema

Lo que vamos a hacer ahora es  aprender las características que se le pueden atribuir a un sistema. Estáticas y dinámicas (de donde sale el diagrama de Bode, chan, chan, chaaaan…)

Tipo de entrada

Al igual que a la señal, se  le puede atribuir a un sistema una topología de entrada. Pero ésto tendrá sus efectos. Veamos qué ocurre según la topología de la señal:

  • Single ended y grounded: antes de conectar tendremos una V salida = V generador. Con un sistema no diferencial, de impedancia ideal (infinita), seguiremos teniendo que Ventrada = Vgenerador. Y con un sistema diferencial de impedancia ideal, lo mismo.
  • Single ended y flotante: sin problema, será igual

Conclusión: pongamos el sistema que pongamos no va a ocurrir nada, no perdemos señal.

  • Diferencial o pseudodiferencial y grounded: antes de conectar la Vsalida = Vgenerador1 – Vgenerador2. Si la conectamos a un sistema no diferencial de impedancia ideal, la Ve = Vgenerador1, pero ¿qué ocurre? Pues que la señal del generador 2 va a masa, y se pierde. Ésto no ocurre en un sistema diferencial donde tendremos una Ventrada1 = Vgenerador1 y una Ventrada2 = Vgenerador2.
  • Diferencial o pseudodiferencial y flotante: antes de conectar la salida, mismas condiciones. Cuando la conectemos a un sistema no diferencial, Ve = Vg1 – Vg2. Con un sistema diferencial, Ve = Vg1 – Vg2. No tenemos ninguna pérdida.

Impedancia de entrada de un sistema diferencial

La impedancia de entrada de un sistema no diferencial, pues como que es fácil de calcular e interpretar. Pero la de un sistema diferencial puede  tomar dos formas:

  • La impedancia de cada terminal a masa: la calcularíamos poniendo una fuente virtual en un terminal y llevando el otro a tierra, y viceversa. Sale como:

impdif

  • La impedancia diferencial: unimos un terminal de la fuente a un terminal de entrada y el otro terminal de la fuente al otro terminal de entrada:

impdif2

Errores en el sistema de procesado

En éste apartado veremos la exactitud, que es la diferencia entre lo que debería resultar y lo que resulta de un sistema. Hay 2 tipos de error:

  • Aleatorio: es incontrolable y a saber de dónde sale. Sería un ruido interno, una interferencia externa y cosas así. Impredecible.
  • Sistemático: éstos por suerte los conocemos y los podemos predecir y corregir. Son errores de ganancia, de offset, de linealidad…

Podemos expresar éstos errores de forma absoluta (un valor que es el valor ideal menos el valor real) o relativa (en tanto por cien). Allá van unos poquitos:

  • El error de offset: se introduce un nivel de continua indeseado, que también será procesado por el sistema

En éste caso a la salida obtendríamos Vs = Ve*Ganancia + Eoffset

Afecta a la función de transferencia, desplazándola arriba o abajo.

Se puede calcular un error de offset a la entrada (RTI), si queremos saber, por ejemplo, tras el sistema de amplificación de la señal del sensor térmico, a cuántos grados de error equivaldrá el offset:

Eo (RTI) = Eo(RTOutput)/G

Si concatenamos 2 sistemas, a la salida tendremos:

E0(RTO) = Eo1(RTO)*G2 + Eo2(RTO)

Eo(RTI) = Eo1(RTO)/G1 + Eo2(RTO)/(G1*G2)

  • El error de ganancia: lo que ocurre es que debido a cualquier desviación del sistema (podría ser una resistencia en un amplificador operacional), la ganancia no es exactamente igual a la que queríamos, sino un valor cercano. Ésto afecta a la pendiente de la función de transferencia haciéndola más o menos pronunciada.

Se suele expresar en términos relativos como:

Eg(rel) = |(VeGideal – VeGreal)/VeGideal| *100 = |(Gideal – Greal)/Gideal|*100

Y en términos absolutos como:

Eg(abs) = Eg(rel)*|Vsalidaideal|/100

Sólo recordar que en un sistema en cadena la ganancia total es el producto de todas las ganancias: Gt = G1*G2*…*Gn

También vamos a ver un error aleatorio como es el ruido:

Ruido

Lo único que hay que saber es que se introduce entre medias del sistema, por lo que usualmente se da el error RTO. Lo que hace es que varía la salida:

Vs = Ve*G + Vnpp/2 (porque si te lo dan pico a pico lo que interesa es la amplitud)

También puede ser multietapa como el offset: se multiplicaría el En del sistema 1 por la ganancia del sistema 2 y se sumaría el En del sistema 2.

Dados los errores y calculada la resolución, obtenemos el Margen Dinámico:

MD = Rango de medida/ Resolución

Ancho de banda

Ahora lo que vamos a ver es el rango de frecuencias que nuestro sistema va a poder procesar. Mejor aún, lo vamos a calcular.

Para ello, lo que haremos será sustituir los condensadores por su impedancia compleja (De forma Xc = 1/jwC), y analizaremos el circuito para obtener su ganancia (G = Ventrada/Vsalida) en función de jw. Por lo general lo que tendremos por ahí será un divisor de tensión con la impedancia del condensador. Luego intentaremos dejar la ganancia en una expresión que se parezca a las formas canónicas que voy a dejar a continuación, junto con sus respectivos diagramas de Bode:

cte

der

inte

cero

pasobajo

pasoalto

Estos dos últimos son el famoso filtro pasobajo y filtro pasoalto. La cuestión es que hay que saberse todas las formas canónicas al dedillo para el diagrama de Bode.

Tened en cuenta que w0 = 1/RC, de aquí extraemos la frecuencia de corte, f = 1/2*pi*RC, que podrá ser superior o inferior dependiendo de la forma canónica. Para ver mejor la forma de la ecuación es mejor despejar w0 por el 1/RC, por ejemplo el término paso bajo se quedaría 1/(1+jwRC), mucho mejor.

¿Que no sabías que había un diagrama de Bode fasorial? Pues ya lo sabes. La fase de la señal cambia también con la frecuencia.

¿Que no sabes dibujar diagramas de Bode? Yo te enseño.

En primer lugar, saber que lo que se usa para el diagrama de Bode es papel logarítmico, como éste:

Como podéis ver, las rallitas no están todas equidistantes. Empieza por 10, la siguiente es 20, 30, 40, 50… Y la siguiente equidistante es 100, 200, 300… Y la siguiente equidistante es 1000, y la siguiente equidistante 10000… Así podemos hacer un diagrama desde 10 Hz hasta 1MHz sin problema.

Lo siguiente es que la ganancia se expresa en decibelios. Ésto se calcula como G(dB) = 20*log(Ve/Vs).

Para hacer el diagrama de Bode, lo más inteligente es poner cada forma canónica sobre el papel con sus frecuencias de corte. Todas por separado, y luego sumarlas todas sobre el papel. Os pongo un ejemplo de los ejercicios que hice yo:

bode

Como se ve, el sistema tenía una ganancia de R2/R1 (era un amplificador operacional amplificador inversor), y un filtro pasa altos. Se colocan ambos donde les corresponde, y la línea roja es el resultado. Interpretación: a frecuencias bajas, el amplificador no multiplica la señal por la ganancia total, sino que la atenúa un poco, mientras que a frecuencias medias, tiene la totalidad de su ganancia.

Frecuencia de corte superior

A veces un sistema va a poder procesar toda la frecuencia que queramos, otras veces no. Vamos a ver lo que ocurre a los amplificadores operacionales reales. Se debe a dos parámetros:

  • Slew Rate: cuando hay una variación de tensión a la entrada, al amplificador le cuesta un poco alcanzar el nivel de salida. Se debe a la capacidad de los condensadores internos o externos. Es un dato del fabricante, o se calcula como SR = I/C. La frecuencia máxima es: Fmáx = SR/(pi*Amplitud máxima)
  • Gain Bandwidth Product (GBP o GxBW): es un dato que siempre nos va a proporcionar el fabricante del amplificador. Va a equivaler a la frecuencia donde la ganancia, debido a las características internas, es 0 queramos o no. La frecuencia máxima es fmáx = GBP/Ganancia

Como se podrá suponer, la frecuencia mínima de las frecuencias máximas (entre GBP, SR y filtro paso bajo), es la frecuencia máxima del sistema.

Lo próximo es ver qué tipos de bloques funcionales podemos incluír en el diseño. Es rapidito.