A continuación vamos a ver una modificacion del controlador PID denominada control I+PD, donde unicamente será integrado el error y será restado la suma de la parte proporcional y derivativa de la salida.
Dicha modificación es bastante usada para mejorar el control del proceso, especialmente cuando no se desean cambios bruscos, provocados cuando la señal de error entra en el bloque proporcional y derivativo del controlador.
Control PID
Los controladores PID (Proposicional – Integral – Derivativo) se utilizan ampliamente en diversas aplicaciones industriales donde se necesita que la variable a controlar siga la referencia y rechace perturbaciones.
El control PID proporciona un rendimiento óptimo y robusto para una amplia gama de condiciones de funcionamiento de procesos estables, inestables y no lineales.
Este controlador tiene diferentes configuraciones las cuales se clasifican como PID ideal, PID en serie, y PID paralelo.
Dado que un controlador PID ideal tiene dificultades en la practica debido a su naturaleza irrealizable, solamente es considerado principalmente para fines académicos.
Controladores PID paralelos son ampliamente utilizados en las industrias debido a que se puede implementar fácilmente en forma analógica o digital.
Los principales inconvenientes de los controladores PID paralelos básicos son los efectos que provoca la falta de la acción proporcional y derivativa sobre el proceso. Con el fin de minimizar estos efectos, se realizan modificaciones a la estructura de regulador PID paralelo, las cuales son conocidas como ID-P y I-PD.
Control I+PD
A continuación veremos la modificación del controlador PID conocida como Control I+PD, cuyo diagrama de bloques podemos verla a continuación:
La ley de control continua del controlador I+PD es la siguiente:
u(t)=-k_cy(t)+\frac{k_c}{t_i}\int e(t)dt-k_ct_d\frac{\mathrm{d} y(t)}{\mathrm{d} t}La ley de control discreta del controlador I+PD es la siguiente:
u(k)=u(k-1)+k_c\left [ -y(k)+y(k-1)+\frac{T_s}{t_i}\left [ y_i(k)-y(k) \right ]+\frac{t_d}{T_s}\left [ 2y(k-1)-y(k)-y(k-2) \right ] \right ]Donde es el periodo de muestreo
Diseño por medio del RST
Al igual que vimos en la entrada anterior, este controlador I+PD también puede ser recibir los parámetros realizando un diseño por asignación de polos por medio del RST. Es decir que podemos enmascarar el RST en el control I+PD.
R(z^{-1})=1 T(z^{-1})=\frac{k_cT_s}{t_i} S(z^{-1})=S_0+S_1z^{-1}+S_2z^{-2}donde:
S_0=kc\left [ 1+\frac{T_s}{t_i}+\frac{t_d}{T_s} \right ] S_1=-k_c\left [ 1+2\frac{t_d}{T_s} \right ] S_2=\frac{k_ct_d}{T_s}Se garantiza entonces que
T(1)=S(1)Implementación del I+PD
Veamos el siguiente ejemplo de implementación de un controlador I+PD para un proceso X representado por la siguiente funcion de transferencia de tercer orden:
G_p(s)=\frac{1}{(5s+1)(3s+1)(s+1)}Se realizo una identificación de la dinámica del proceso off-line y se levanto el siguiente modelo matemático de primer orden.
G_m(s)=\frac{e^{-2.86s}}{6.709s+1}De esta manera el controlador debe ser proyectado con la funcion de transferencia que se obtuvo de la identificacion. Y ser probado en el modelo real. Así se podrá determinar la robustez del control ante la presencia de errores de modelaje.
En el fondo este controlador continua siendo un control PID, por lo que usted puede usar cualquier técnica de sintonía de controlador PID, y lo que cambia seria la forma de estructurar los bloques. En este caso, fue empleada la sintonia por ZIEGLER y NICHOLS.
A continuación te dejo algunas entradas que explican la sintonia de controladores PID:
Control PID de llenado de un Tanque en LABVIEW
Control PID con Raspberry Pi Pico
Acción de Control Derivativo – Control PID
Como Hacer un Control PID de Temperatura con Arduino
Método Cohen y Coon de Sintonía para Controles PID
Lazo Abierto y Lazo Cerrado
Código en MATLAB I+PD
El código en MATLAB implementado para este controlador se muestra a continuación:
[sociallocker id=»948″]
%% Controle PID e Controle I+PD clc,clear all,close all; nit = 200; umin = 0; umax = 4.9; ts = 0.1; u(1:10) = 0; erro(1:10) = 0; y(1:10) = 0; % Referência r(1:50) = 1; r(51:100) = 4; r(101:150) = 2; r(151:nit) = 4.5; %Modelo da Planta num=[1]; den=[6.709 1]; gm=tf(num,den); d=2.865; %Retrasso do modelo kp=num(1); %Ganho do modelo tao=den(1); %Constante de tempo do modelo %Planta del Sistema Real den2=conv([5 1],[3 1]); den2=conv(den2,[1 1]); gp=tf(num,den2); %% Discretiza modelo da planta T=2; %Tiempo de muestreo ftz=c2d(gp,T); %Planta Discreta [B,A]=tfdata(ftz,'v'); %Divide Numerador em B e denominador em A gpz=filt(B,A,T,'name','Planta'); %% Calculo do controle por Z-N th=d+T/2; %Retraso kc=(1.2*tao)/(kp*th); ti=2*th; td=0.5*th; %% Calculo do controle PID digital q0=kc*(1+T/ti+td/T); q1=-kc*(1+(2*td)/T); q2=(kc*td)/T; %% Malha de controle PID for k = 5:nit y(k)=B(2)*u(k-1)+B(3)*u(k-2)+B(4)*u(k-3)-A(2)*y(k-1)-A(3)*y(k-2)-A(4)*y(k-3); % Erro erro(k) = r(k) - y(k); % Controle PI u(k) = u(k-1) + q0*erro(k) + q1*erro(k-1) + q2*erro(k-2); if u(k) >= umax u(k) = umax; elseif u(k) <= umin u(k) = umin; end end t = 0:T:(nit-1)*T; figure(1) subplot(2,1,1),plot(t,r,'--k',t,y,'-r','Linewidth',2.5) title('Controle PID'); xlabel('Tempo (s)'); ylabel('Velocidade'); legend('y_r','y','Location','SouthEast') grid on; hold subplot(2,1,2),plot(t,u,'b','Linewidth',2) xlabel('Tempo (s)'); ylabel('Controle (volts)'); legend('u') grid on; %% Malha de controle I+PD u(1:10) = 0; erro(1:10) = 0; y(1:10) = 0; for k = 5:nit y(k)=B(2)*u(k-1)+B(3)*u(k-2)+B(4)*u(k-3)-A(2)*y(k-1)-A(3)*y(k-2)-A(4)*y(k-3); % Erro erro(k) = r(k) - y(k); % Controle PI u(k) = u(k-1) + kc*(-y(k)+y(k-1)+(T/ti)*erro(k)+(td/T)*(2*y(k-1)-y(k)-y(k-2))); if u(k) >= umax u(k) = umax; elseif u(k) <= umin u(k) = umin; end end t = 0:T:(nit-1)*T; figure(2) subplot(2,1,1),plot(t,r,'--k',t,y,'-r','Linewidth',2.5) title('Controle I+PD'); xlabel('Tempo (s)'); ylabel('Velocidade'); legend('y_r','y','Location','SouthEast') grid on; hold subplot(2,1,2),plot(t,u,'b','Linewidth',2) xlabel('Tempo (s)'); ylabel('Controle (volts)'); legend('u') grid on;
[/sociallocker]
Se muestra a continuación las respuestas obtenidas, donde se compara la estructura PID y la estructura I+PD.
Como se puede evidenciar la estructura PID presenta una acción de control mucho mas agresiva en comparación a la acción de control de la estructura I+PD. Queda entonces introducido la estructura I+PD para efectuar control de procesos.
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.
Mi nombre es Sergio Andres Castaño Giraldo, y en este sitio web voy a compartir una de las cosas que mas me gusta en la vida y es sobre la Ingeniería de Control y Automatización. El sitio web estará en constante crecimiento, voy a ir publicando material sobre el asunto desde temas básicos hasta temas un poco más complejos. Suscríbete al sitio web, dale me gusta a la página en Facebook y únete al canal de youtube. Espero de corazón que la información que comparto en este sitio, te pueda ser de utilidad. Y nuevamente te doy las gracias y la bienvenida a control automático educación.