Está en la página 1de 13
Este sitio web usa Cookies de terceros y propios, si continuas naveganda las aceptas. Leer Mis L(90)-faatomatica CONTROL REALIMENTADO Controladores PID Discreto Inicio » Control Realimentado » Controladores PID Discreto Bone En esta entrada estudiaremos como obtener la ecuacién de un Control PID Discreto a partir de las ecuaciones continuas del controlador, veremos su representacién en ecuaciones en diferencias y como este controlador es implementado en sistemas microcontrolados como Arduino, PIC, Matlab o Simulink. Contenidos { oui] 1. Controlador PID 2. Controladores PID aiscreto 3. Aproximacién discreta del modo P (Proporcional) 3.1. Aproximacién discreta del modo PI 3.2. Aproximacién discreta del modo PID 4. Controlador PID discreto en arduino o en cualquier microcontrolador 4.1. Curso Implementado en ARDUINO 42. Curso Implementado en Microcontrolador PIC 43. Método dela integral del Error Sintonia Controlador PID 44, Método Cohen y Coon de Sintonia para Controles PID 45. Control PID en PIC Motor-Generador 5. Controladores Discretos con Matlab 6. PID discreto en Simulink 7. Mi Bibliografa Antes de comenzar, te hago la invitacién para que veas nuestro curso sobre Control Realimentado, donde hemos tratado diferentes métodos y criterios para sintonizar controladores PID discretos y continuos, Y que te suscribas al canal si te interesa la teor'a del control, la programacién y los = microcontroladores: 4 Este sitio web usa Cookies de terceras y propio: Leer Mas Controlador PID Controlador PID Discreto Trapezoidal @ [Control Digital] El controlador PID (Proporcional - Integral — Derivativo) es el controlador mas popular a nivel industrial debido a su robustez y facilidad de entendimiento, por lo que es practicamente usado en el 95% de los casos. Existen diversas representaciones del controlador PID, dentro de ellas tenemos la representacién del control Paralelo el cual viene dado por la siguiente ecuacin matematica en el dominio del tiempo: de(t) dt u(t) = kee(t) + | e(t)dt + kena 0 of Y que puede ser representado en el dominio transformado de Laplace como: C(s) = ke ( ai +n) Tis El diagrama de bloques de un controlador PID viene dado por: r(t) —e(t)} / v(t) Este sitio web usa Cookies de terceras y propio: Leer Mas La siguiente figura, nos muestra una analogia de como funciona el controlador PID el cual actua sobre la sefial de entrada e(t) (Error del sistema], donde la Accién Proporcional es el presente, la accion integral el pasado y la accion derivativa el futuro. Fence Como funciona el CONTROL PID Accién Integral e(t) Accién Proporcional ~~ Je(t) Accién Derivativa Pasado Presente Futuro Controladores PID discreto A continuacién vamos a describir como se obtienen los controladores discretos (P PI PD PID) a través de una discretizacién de un controlador PID continuo; Aproximacion discreta del modo P (Proporcional) Este sitio web usa Cookies de terceras y propio: Leer Mas UIT) = ReeLT) + UO Su forma discreta: u(k) = kee(k) + uo La salida del controlador en el instante k-7 u(k — 1) = kee(k — 1) + up Restando las dos ecuaciones anteriores (un tiempo de muestreo) u(k) —u(k — 1) = ke [e(k) — e(k — 1) Aplicando la transformada Z (1-2 )U() = kel — 2 )E(2) funcién de transferencia de pulso del controlador proporcional es: donde: Ke = qo Aproximacion discreta del modo PI En el controlador P| se adiciona el efecto de la accion integradora donde la sefial de salida experimenta un salto inicial proporcional al error actuante y a continuacion presenta una variacién gradual a una velocidad proporcional al error. La ecuacion de un controlador PI es: Para tiempos de muestreo pequefios, la ecuacién anterior se puede llevar a una ecuacién en diferencias por discretizacién, reemplazando la parte integral por una suma. La integracién continua se puede aproximar utilizando integracién rectangular o integracién trapezoidal. Utilizando el método de integracién trapezoidal [1] Este sitio web usa Cookies de terceras y propio: Leer Mas a dasan, : onl [| ansen 2227) «sar El 4rea total bajo la curva del error es igual a la suma de las areas de todos los trapecios en que se pueda subdividir dicha area k [ea = > [ee ch 1 =o entonces a partir de la ecuacién continua % u(t) = ke [ew ai [oa] llevandolo a la versién discreta: u(k) = ke Te e(k) + 5* So le(h) + e(h— ») "ho La salida del controlador en el instante k-7 née ulk—1) =k [ee BS ce) +a-2)| Restando las dos ecuaciones anteriores (un tiempo de muestreo) k u(k) — u(k y=k fey e(k y+ ED Ie e(h 2 a) de la ecuacion anterior, vamos inicialmente a analizar el término: k Y lea) — e(h — 2) ho Para eso vamos a suponer que vamos a ir hasta la muestra k=4 {e(0) ~ e(—2)] + [e(1) ~ e(—-1)] + le(2) ~ e(0)] + [e(3) — e(1)] + [e(4) — e(2)] = e(4) + €(3) por lo tanto: 4 SY le(h) - e(h -2)] = e(4) + e(3) imo Lo que muestra entonces que para un k cualquiera, puedo reescribir el sumatério inicial que estaba en términos de h a términos de k: k SF le(h) — e(h — 2)] = e(k) + e(k — 1) =o Volviendo a la ecuacién del disefio del controlador PI discreto: T, tu(l) — (he = 1) = he |e() — e(he = 1) + 5 lel) + e(k 2) Ti u(k) — u(k ake [ (143) et (1 Ea »] Esta ultima ecuacidn del controlador PI la Podemos reescribir como: u(k) = u(k — 1) + qoe(k) + qie(k — 1) donde: qT. =k (1422 aeee [ ml Tr =-r. [1-2 aa ke [ Z la ecuaci6n en el dominio transformado Z del controlador P| es: Aproximacién discreta del modo PID La accién derivativa del controlador PID aporta la caracteristica de anticipacién dentro del sistema de control. La ecuacion de un controlador PID es: k we) =. fet) « +E Diem (eth a} Fee) ete] 0 La salida del controlador en el instante k-7 a k u(k—1) =ke [« Sle(r—1) + e(h 2) + FE folk 1) — ek a] 14 an a u(k) —u(k—1) =k. [ew ~e(k-1)+ = > [e(h) — e(h—2)] + 7 [e(h) — 2e(k ~ 1) + e(h no . [e(k) + e(k — 1] 4 S fe(kt) — 2e(k —1) + e(k 2 u(k) — u(k = 1) = ke [0+ E+ Bw -(0-F ) ete) + Fete —2)] Esta Ultima ecuacién del controlador PID la Podemos reescribir como: ra u(k) = u(k — 1) + que(k) + me(k — 1) + qre(k — 2) q = ke (42+) Tr. 2 a= -k (1-2 + FE) Qn | Ty donde: _ kera eT, La ecuacién del controlador PID discreto en la transformada Z es: U(z) _ w+ az) tmz? E(z) l-zt Controlador PID discreto en arduino 0 en cualquier microcontrolador El disefio de un controlador PID discreto en dispositivos embebidos es muy sencillo de implementar, especialmente este que hemos tratado en la entrada, donde lo que haremos es representar el Control PID Discreto representado en sus ecuaciones en diferencias. Leer Mas * Curso de Sistemas de Control en Dispositivos Microcontrolados en UDEMY (PIC y ARDUINO) * Certificado de Aprobacién una vez finalices el Curso DESCUENTO si accedes directamente con los siguientes botones de acceso. ‘+ NOTA: Si buscas el curso directamente en UDEMY o si lo adquieres en otra plataforma distintas a las mostradas anteriormente NO OBTENDRAS NINGUN DESCUENTO. sobre el valor final del Curso. Curso Implementado en Curso Implementado en ARDUINO Microcontrolador PIC triculase al Curso ] { Matricutarse ol Curso Accede a los cursos dando click a cualquiera de los dos botones de ARRIBA! sin embargo también puedes darle un vistazo a nuestras entradas como . . . * PID discreto con PIC en un Horna, En este sitio web también tenemos varias implementaciones y explicaciones del controlador PID digital: Este sitio web usa Cookies de terceros y propios, si continuas navegando las aceptas, Ja Método de la Integral del Error Método Cohen y Coon de Sintonia Sintonia Controlador PID para Controles PID Control PID en PIC Motor-Generador A continuacién vamos a ver un ejemplo de sintonizacién de un PID discreto con matlab & Simulink. Controladores Discretos con Matlab En matlab tenemos varias formas de realizar la implementacion de controladores discretos, en este caso veremos como programar un controlador PID discreto, la mas répida e intuitiva es discretizando el controlador PID continuo, el cual puede ser calculado con técnicas clasicas como el Ziegler y Nichols. O implementar directamente el controlador PID discreto que hemos visto en esta entrada La discretizacién en matlab puede ser llevado a cabo con el comando e2d. c2d Convierte el sistema dinamico de tiempo continuo en tiempo discreto. 1. | s¥sp = cad (sysc, Ts, METHOD) Calcula un modelo de tiempo discreto SYSD con tiempo de muestreo Ts que se aproxima al modelo de tiempo continuo SYSC. El parametro METHOD selecciona el método de discretizacién, por lo tanto el PID discreto con Matlab puede usar los siguientes métodos * ‘zoh’ Retencién de orden cero en las entradas sp operwnenenacncns wines (esnusey * ‘matched’ Método de emparejado de polos y ceros (solo para sistemas SISO). * ‘least-squares’ Minimizacion por minimos cuadrados del error entre las respuestas frecuenciales (solo para sistemas S!SO), * ‘damped’ Aproximacién de Tustin amortiguada basada en la formula TRBDF2 (solo modelos dispersos). El valor predeterminado es ‘zoh’ cuando se omite METHOD. El tiempo de muestreo Ts debe especificarse en las unidades de tiempo de SYSC. Cada uno de los métodos anteriores nos daran variantes del controlador PID discreto. 1. | %% PID DISCRETO EN MATLAB 2.| % Sergio Andres Castafio Giraldo 3. | % https: //controlautomaticoeducacion.com/ 4 5 6.] cle 7.) clear a.| close all 8 1. | Ts=8; %Periodo de Muestreo 11, | #Modelo del Proceso 12. | k=1.175; tau=140; theta1=10; 33,| theta = thetat + Ts/2; 4 a5.) G=tf(k, [tau 1]); 3s,| 6.iodelay = theta1; wv 18.| *Discretizacién de la planta as.] 6d = c2d(6,Ts, 'zoh'); 26 au. 22.| control PID por Ziegler y Nichols 23.) kp=(1.2*tau)/(k*theta) ; 24 *theta; 25 -s*theta; 26.| incontrolabilidad = theta / tau 27.) Cetf(kp*[tittd ti 1],[ti 0]); xControl PID Continuo 28.| *Discretizacién del Control Continuo Bilineal 29. | Cd=c2d(¢,Ts, 'tustin') 20.| %Aprozimacion Trapezoidal a1. | Cd2=kp+kp/ti*Ts/2*tf([1 2], [1 -1],Ts)+kp*td*1/Ts*tf([1 -1],[1 9], Ts) 32 33. | %Tiempo de Simulacién a4.) nit = 30; a6, | t=0:Ts:(nit-1)*Ts; au. | ga=-kp*(1-Ts/(2*ti)*(2*td)/Ts) ; 42. | q2=(kp*td)/TS; 43, | *Potencias negativas 44,] % Cz = filt((qo q1 q2],[1 -1], Ts); 45. | Potencias positivas as.| cz = tf([q9 g4 q2],[1 -1 ©], Ts) 47 48. | % Lazo Cerrado 49. | H = feedback(series(6,C),1); se. | H1 = feedback(series(Gd,Cz),1); si,| H2 = feedback(series(Gd,Cd),1); 82 53. | Respuesta al escalén s4.] y1 = step(H1,t); 85.) y2 = step(H2,t); 56 87 sa.] figure(1) s9.] subplot(211) 6e.] plot(t,r,'--r',t,ya," e1.] xlabel('t(s)'); 62.] ylabel('T(c)"); 63.] title('pro Discreto Trapezoidal') 64, ] legend('setpoint', ‘Temperatura’, ‘location’, 'southeast') 6s. | subplot(212) 66.] plot(t,r,'--r',t,y2," 67. | xlabel('t(s)"); 68. | ylabel('T(c)'); 69. | title('prD Discreto Discretizado') 7e.| legend('setpoint', ‘Temperatura’, ‘location’, 'southeast') ,'Linewidth',2), grid , ‘linewidth’, 2), grid PID discreto en Simulink Simulink también cuenta con el bloque directo del controlador PID discreto que puede ser encontrado en el blockset Simulink/Discrete. Donde se puede seleccionar el tipo de aproximacién de la integral como Forward Euler, Backward Euler o Trapezoidal Puede ser implementado directamente con la planta en tiempo continuo o en tiempo discreto pues para simulink es indiferente. Y el controlador PID Digital también puede ser implementado como una funcién de transferencia discreta (DiscreteTransfer Fen) o un filtro (Discrete Filter) Este sitio web usa Cookies de terceros y 4 14s +1 U. Discrete PID Controller Pianta? Transport Delay= 101 Potegl-e. 0.0492940,018972-1 1-0.98452-1 Prania Discrelizada La configuracion de! PID discreto en Simulink se muestra a continuacion: [Bal Block Parameters: Discrete PID Controller PID Adof (mask) (link) This block implements continuous- and discrete-time PID control algorithms and includes advanced features such as anti- windup, external reset, and signal tracking, ‘Simulink Control Design).. Controller: [PID Time domain: © Continuous-time @ Discrete-time Compensator formula Main Initialization Output Saturation Controller parameters Source: [internal Proportional (P): [kp 3. You can tune the PID gains automatically using the ‘Tune...’ button (requires == __ Discrete-time settings LIPID Controller is inside a conditionally executed subsysten, Integrator method: Trapezoidal Backward Euler Data Types State Attributes Integral (1: [17 Derivative (0): [td Use tered derivative El siguiente esquema en simulink funciona después de haber ejecutado el Script de Matlab mostrado anteriormente. Este sitio web usa Cookies de terceros y propios, si continuas navegando las aceptas. 1. Control Digital, Teoria y Practica 2Ed — Luis Eduardo Garcia Jaimes, Medellin 2009 2. Ogata, Katsuhiko. Sistemas de control tiempo discreto. Prentice Hall, 1996 D. F. México, 2a Edicion Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los cédigos de implementacién y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link: -@ Invitar a Sergio a un Café © Que esten muy bien, nos vemos en la siguiente entrada. Volver al Curso de Control Realimentado 0808 Control Fuzzy - Mamdani - Simulink foie Cohen ~ OTN Método de la Integral del Error Sintonia__ Método Cohen y Coon de Sintonia para Controlador PID Controles PID = ©

También podría gustarte