CONTROLADORES PID Aspectos prácticos del controlador PID Fernando Morilla García Dpto. de Informática y Automática ETSI de Informática, UNED Madrid 11 de enero de 2007 1 Introducción (1/3) Lazo industrial de control PID Perturbaciones Punto de consigna (SP) REGULADOR INDUSTRIAL PID Señal de control (OP) PLANTA Variable del proceso (PV) F. Morilla 1 Introducción (2/3) Regulador industrial ECA 600 de SattControl Control digital Escalados en PV Filtrado de la PV Limitación en la señal de control Modos de funcionamiento F. Morilla 1 Introducción (3/3) Reguladores industriales UDC 2300 y 3300 de Honeywell F. Morilla 2 Algoritmos PID (1/5) ⎛ 1 U(s) = K p ⎜⎜ 1 + + Td Ti s ⎝ E(s) R(s) + - 1 T s I ⎞ s ⎟⎟ E(s) ⎠ + + U(s) K P + Y(s) T s D Controlador PID no interactivo F. Morilla 2 Algoritmos PID (2/5) ⎛ 1 ⎞ ' U(s) = K ⎜⎜ 1 + ' ⎟⎟ 1 + Td s E(s) Ti s ⎠ ⎝ ( ' p R(s) + Y(s) E(s) + + - 1 TI' s ) + + K' P U(s) T' s D Controlador PID interactivo F. Morilla 2 Algoritmos PID (3/5) ⎛ '' K i'' U(s) = ⎜⎜ K p + + K d'' s ⎝ ⎞ s ⎟⎟ E(s) ⎠ K’’ P E(s) R(s) + - K’’ I s + + U(s) + Y(s) K’’ s D Controlador PID paralelo F. Morilla 2 Algoritmos PID (4/5) ⎛ 1 ⎜ + Td K p ⎜1 + Ti s ⎝ Algoritmo PID no interactivo '' ⎛ ⎞ ⎞ ⎛ K 1 s ⎟⎟ = K 'p ⎜⎜ 1 + ' ⎟⎟ (1 + Td' s ) = ⎜⎜ K 'p' + i + K d'' Ti s ⎠ s ⎝ ⎝ ⎠ Algoritmo PID interactivo ⎞ s ⎟⎟ ⎠ Algoritmo PID paralelo Igualando coeficientes de la misma potencia en “s” se obtienen las fórmulas de conversión entre los parámetros de los distintos algoritmos PID. F. Morilla 2 Algoritmos PID (5/5) Parámetros ⎛ Td' ⎞ K ⎜⎜1 + ' ⎟⎟ ⎝ Ti ⎠ Ti' + Td' ' p Kp No interactivo Ti Ti'Td' Ti' + Td' Td Interactivo Kp ⎛ 4T ⎜⎜1 + 1 − d 2 ⎝ Ti ⎞ ⎟⎟ ⎠ K 'p 4T Ti ⎛ ⎜⎜1 + 1 − d 2 ⎝ Ti ⎞ ⎟⎟ ⎠ Ti' 4T Ti ⎛ ⎜⎜1 − 1 − d 2 ⎝ Ti ⎞ ⎟⎟ ⎠ Td' F. Morilla 3 Filtro en la acción derivativa (1/3) Las funciones de transferencia anteriores se conocen con el nombre de ideales, presentan ganancias muy elevadas a altas frecuencias. Para atenuarlo, la acción derivativa ideal se filtra por un sistema de 1er orden con cte de tiempo αTd. Controlador PID no interactivo E(s) ⎛ Td s ⎞⎟ 1 ⎜ + U(s) = K P ⎜1 + E (s ) ⎟ ⎝ Ti s 1 + αTd s ⎠ + + 1 Ti s + 1 + U(s) Kp + 1 α Td s + 1 + 1 - α La nueva acción derivativa actuará como verdadera derivada solo a frecuencias bajas y su ganancia a altas frecuencias está limitada a KP/α. F. Morilla 3 Filtro en la acción derivativa (2/3) Ejemplo con PIDBasics Amplitud del ruido N: Inverso del factor (α) del filtro derivativo. Valores típicos entre 2 y 20. F. Morilla 3 Filtro en la acción derivativa (2/3) U(s) = E(s) T' d s + 1 α ' T' d s + 1 ' ⎛⎜ KP 1 + ⎜ ⎝ 1 ⎞⎟⎛⎜ 1 + Td' s ⎞⎟ E (s ) ' ⎟⎜ ' ⎟ Ti s ⎠⎝ 1 + αTd s ⎠ U(s) + K’p + 1 T' i s + 1 Controlador PID interactivo F. Morilla 4 Estructuras de control (1/4) ⎛ 1 de(t) ⎞ ⎟⎟ u(t) = K p ⎜⎜ e(t) + ∫ e(t) dt + Td Ti dt ⎠ ⎝ PID R(s) E(s) + - T' d s + 1 α ' T' d s + 1 U(s) + K’p + 1 T' i s + 1 Y(s) F. Morilla 4 Estructuras de control (2/4) d y(t) ⎞ 1 ⎛ u(t) = K p ⎜ e(t) + e(t) dt − Td ⎟ ∫ Ti dt ⎠ ⎝ R(s) PI-D Y(s) + T' d s + 1 α ' T' d s + 1 U(s) - K’p + 1 T' i s + 1 F. Morilla 4 Estructuras de control (3/4) d y(t) ⎞ 1 ⎛ u(t) = K p ⎜ − y(t) + e(t) dt − Td ⎟ ∫ Ti dt ⎠ ⎝ R(s) I–PD Y(s) + T' d s + 1 α ' T' d s + 1 - 1 T' i s U(s) + K’p - F. Morilla 4 Estructuras de control (4/4) Caso más general 1 d (c r(t) − y(t)) ⎞ ⎛ u(t) = K p ⎜ b r (t ) − y(t) + ∫ e(t)dt + Td ⎟ Ti dt ⎠ ⎝ PID (b=1, c=1) PI-D (b=1, c=0) El parámetro b∈[0 1] está considerado como el 2º grado de libertad del controlador PID. I-PD (b=0, c=0) En PIDBasics se pueden probar las estructuras PI-D e I-PD y las situaciones intermedias variando el peso b. F. Morilla 5 El problema del windup (1/6) Control de temperatura en un intercambiador de calor (Cap. 7) Vapor Pv u Limitaciones de la válvula: rango, tiempo de respuesta Wv Fl Líquido frío Tr TC TT Intercambiador de calor Ts Te Vapor condensado Líquido caliente F. Morilla 5 El problema del windup (2/6) Simulación para diferentes rangos en la válvula Pv Ts pv u a ts a actuador Te te Wv 1/60 fl Fl 60 paso a T/h wv paso a m3/min Intercambiador sp sp pv u u uman control manual PI-D con modelo de actuador F. Morilla 5 El problema del windup (3/6) Situación ideal (-), real con windup (-) y real con antiwindup (-) Salida del 1.4 proceso 1 t2 0.6 0.2 0 Señal de control 5 10 15 20 25 30 35 40 45 50 0.3 0.2 t1 0.1 t3 0 -0.1 Acción integral 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 0.2 0.1 0 -0.1 F. Morilla 5 El problema del windup (4/6) Antiwindup por seguimiento integral 1 Tr + R(s) E(s) + 1 Ti + PI – D con antiwindup 1 s - + Es(s) - Modelo de actuador + Us(s) + Kp U(s) + 1 α Td s + 1 + 1 - α Y(s) Parámetro adicional : Tr. Regla heurística : Tr = 0.1 Ti. F. Morilla 5 El problema del windup (5/6) Ejemplo de seguimiento en el cambio de modo + R(s) E(s) + + Es(s) 1 Tr 1 Ti + 1 s Modelo de actuador - + Us(s) + A Kp U(s) + 1 α Td s + 1 Y(s) + M 1 - PI – D α Um(s) con anti-windup y cambio de modo F. Morilla 5 El problema del windup (6/6) Control en cascada Vapor FT Pv Fr FC Wv Fl Líquido frío Tr TC TT Intercambiador de calor Ts Te Vapor condensado Líquido caliente F. Morilla 5 El problema del windup (7/6) Ejemplo de seguimientos en el control en cascada r 1 y u 1 s1 Controlador secundario Modelo del actuador2 SP u VM PID 1 1 r y 21 y SG u Controlador primario r 2 s2 u SP 21 1 Proceso VM PID SG y 2 u 22 u SP 2 22 local Modelo del actuador1 F. Morilla PIDWindup (1/2) El segundo módulo del ILM (Interactive Learning Modules) Project J.L. Guzmán (U. Almería), S. Dormido (UNED), K.J. Aström (Lund Institute, Sweden) y T. Hägglund Complemento al libro “Advanced PID Control” de Aström y Hägglund, 2005 En evaluación (invitación personal de los autores) desde diciembre de 2005 Manual de usuario y ejecutable disponible en el curso virtual Desarrollado en Sysquake 3 (www.calerga.com) F. Morilla PIDWindup (2/2) F. Morilla 6 Controladores PID discretos (1/3) PID no interactivo discreto Basado en la aproximación trapezoidal de la integral = discretización mediante la transformación bilineal ⎛ ⎞ 1 s ⎟⎟ E(s) + Td U(s) = K p ⎜⎜1 + α Td s + 1 ⎠ ⎝ Ti s z +1 z -1 U(z) = K p + K pi + K pd z -1 z + cd h K pi = K p 2 Ti 2 Td K pd = K p h + 2 α Td h − 2 α Td cd = h + 2 α Td Es importante elegir adecuadamente el período de muestreo h F. Morilla 6 Controladores PID discretos (2/3) Ecuaciones en diferencia del PID no interactivo discreto Pk = Kp (rk – yk) Ik = Ik-1 + Kpi (rk + rk-1 – yk – yk-1) Dk = - cd Dk-1 + Kpd (rk - rk-1 – yk + yk-1) uk = Pk + Ik + Dk uk = sat(uk,umin,umax) Satura la señal de control Ik = uk - Pk - Dk Memoriza la acción integral F. Morilla 6 Controladores PID discretos (3/3) Ejemplo con el intercambiador para diferentes períodos de muestreo (Cap. 7) Pv Ts pv u a ts a actuador Te te Wv Fl -Kfl 60 paso a T/h wv paso a m3/min Intercambiador sp sp pv u u uman control manual PID digital F. Morilla CONTROLADOR PID DISCRETO Aplicación desarrollada en Matlab por I. López. Está disponible en el curso virtual junto con un breve manual en PDF. F. Morilla