Ingenierı́a de Control Automático Especialidad de Tecnólogo en Mecatrónica Práctica 5 PID Auto-ajustable Vı́ctor Hugo Jiménez Ramı́rez Mayo 1 de 2015 1 Resumen Durante esta practica se considera el sistema propuesto y se implementara y simulara un PID Autoajustable. Un controlador PID es un mecanismo de control por re-alimentación ampliamente usado en sistemas de control industrial. Este calcula la desviación o error entre un valor medido y un valor deseado. Cuando no se tiene conocimiento del proceso, históricamente se ha considerado que el controlador PID es el controlador más adecuado. La respuesta del controlador puede describirse en términos de la respuesta del control ante un error, el grado el cual el controlador sobrepasa el punto de ajuste, y el grado de oscilación del sistema. Algunas aplicaciones pueden solo requerir de uno o dos modos de los que provee este sistema de control. Un controlador PID puede ser llamado también PI, PD, P o I en la ausencia de las acciones de control respectivas. Índice 1. Introducción 3 2. Desarrollo 5 3. Resultados 6 4. Conclusiones 7 5. Anexos 7 Índice de figuras 1. 2. 3. 4. Diagrama de bloques. Grafica. . . . . . . . Acercamiento. . . . . Datos de P. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6 6 7 1. Introducción Estructura del PID Consideremos un lazo de control de una entrada y una salida de un grado de libertad: Figura 1: Diagrama de bloques. Los miembros de la familia de controladores PID, incluyen tres acciones: proporcional (P), integral (I) y derivativa (D). Estos controladores son los denominados P, I, PI, PD y PID. P: acción de control proporcional, da una salida del controlador que es proporcional al error, es decir: u(t) = Kp*e(t),que descrita desde su función transferencia queda: Cp (s) = Kp donde Kp es una ganancia proporcional ajustable. Un controlador proporcional puede controlar cualquier planta estable, pero posee desempeño limitado y error en régimen permanente (off-set). I: acción de control integral, da una salida del controlador que es proporcional al error acumulado, lo que implica que es un modo de controlar lento. Z t u(t) = ki e(τ )dτ 0 Ki s La señal de control u(t) tiene un valor diferente de cero cuando la señal de error e(t) es cero. Por lo que se concluye que dada una referencia constante, o perturbaciones, el error en régimen permanente es cero. Ci (s) = 3 PI: acción de control proporcional-integral, se define mediante: Z Kp t u(t) = Kp e(t) + e(τ )dτ Ti 0 donde Ti se denomina tiempo integral y es quien ajusta la acción integral. La función de transferencia resulta: 1 CP I (s) = Kp 1 + Ti s Con un control proporcional, es necesario que exista error para tener una acción de control distinta de cero. Con acción integral, un error pequeño positivo siempre nos dará una acción de control creciente, y si fuera negativo la señal de control será decreciente. Este razonamiento sencillo nos muestra que el error en régimen permanente será siempre cero. Muchos controladores industriales tienen solo acción PI. Se puede demostrar que un control PI es adecuado para todos los procesos donde la dinámica es esencialmente de primer orden. Lo que puede demostrarse en forma sencilla, por ejemplo, mediante un ensayo al escalón. PD: acción de control proporcional-derivativa, se define mediante: u(t) = Kp e(t) + Kp Td de(t) dt donde Td es una constante de denominada tiempo derivativo. Esta acción tiene carácter de previsión, lo que hace más rápida la acción de control, aunque tiene la desventaja importante que amplifica las señales de ruido y puede provocar saturación en el actuador. La acción de control derivativa nunca se utiliza por si sola, debido a que sólo es eficaz durante perı́odos transitorios. La función transferencia de un controlador PD resulta: CP D (s) = Kp + sKp Td Cuando una acción de control derivativa se agrega a un controlador proporcional, permite obtener un controlador de alta sensibilidad, es decir que responde a la velocidad del cambio del error y produce una corrección significativa antes de que la magnitud del error se vuelva demasiado grande. Aunque el control derivativo no afecta en forma directa al error ea estado estacionario, añade amortiguamiento al sistema y, por tanto, permite un valor más grande que la ganancia K, lo cual provoca una mejora en la precisión en estado estable. 4 PID: acción de control proporcional-integral-derivativa, esta acción combinada reúne las ventajas de cada una de las tres acciones de control individuales. La ecuación de un controlador con esta acción combinada se obtiene mediante: Z de(t) Kp t e(τ )dτ + Kp Td u(t) = Kp e(t) + Ti 0 dt y su función de transferencia resulta: 1 + Td s CP ID (s) = Kp 1 + Ti s Sistema a analizar Considere el sistema: F (z) = 0,5143z z 2 − 1,7826z + 0,8187 (1) Obtenido bajo una tasa de muestreo de fs=1kHz. Implementar y simular un PID auto-ajustable para la planta descrita por F(z). 2. Desarrollo Para obtener la ecuación de diferencias se desarrollara de la siguiente manera: Primeramente se multiplica por z −2 z −2 0,5143z z −2 ∗ 2 −2 z z − 1,7826z + 0,8187 Se escribe de la siguiente forma F(z): Y (z) 0,5143z −1 = X(z) 1 − 1,7826z −1 + 0,8187z −2 Y (z) − Y (z)1,7826z −1 + Y (z)0,8187z −2 = X(z)0,5143z −1 Y (z) = Y (z)1,7826z −1 − Y (z)0,8187z −2 + X(z)0,5143z −1 Por lo que la ecuación de diferencias queda de la siguiente manera: Y (k) = 1,7826 ∗ Y (k − 1) − 0,8187 ∗ Y (k − 2) + 0,5143 ∗ X(k − 1) Esta será introducida dentro del script de Matlab PIDauto. 5 (2) 3. Resultados Después de introducir los datos de la ecuación de diferencias se corrió el script PIDauto(anexos), y a continuación se muestran los resultados obtenidos. En la siguiente gráfica, se puede observar tanto la función de salida deseada (azul) como la función controlada(verde), se observa el seguimiento de esta última. Figura 2: Grafica. La siguiente gráfica, solo es un acercamiento de la gráfica anterior para observar más de cerca el seguimiento. Figura 3: Acercamiento. 6 También se obtuvieron los datos del vector P, correspondiente a los coeficientes de la función de transferencia, y se muestran en la siguiente figura. Figura 4: Datos de P. 4. Conclusiones 1. Se observa en la figura 2 que la función a controlar inicia con un pequeño oscila miento pero después de un tiempo menor a 0.05 segundos empieza el seguimiento de la función deseada y se empieza a estabilizar. 2. En la figura 3 se observa más claramente el seguimiento después del tiempo que estuvo oscilando la función, y se notan pequeñas diferencias, sin embargo son muy parecidas, además cabe notar la escala en la que se muestra esta gráfica. 3. El script fue proporcionado por el profesor, sin embargo habı́a que establecer que el sistema a analizar solo tiene 4 coeficientes, 1 en el numerador y 3 en el denominador, por lo que se tuvo que establecer el tamaño de los vectores; C,p,z, para que el script corra sin errores. 5. Anexos Código en Matlab del PIDauto: clc clear all t = 700; n = 2; Ts = 0.001; r = rand(1); c=0; Ret = 1; %Número de muestras a simular %Orden del sistema %Tiempo de muestreo Ts=1/fs %Retardo de la planta C=100*eye(2*n); phi = 0.99; z=[0;0;0;0]; 7 P = [0.1;0.1;0.1;0.1]; for k=1:t if k==t/2 end kTs(k) = k*Ts; if c>40 r = rand(1); c=0; end c = c + 1; yd(k) = r; P0 = 1/(2*P(3)*(Ret+1)); P1 = -P0*P(2); P2 = -P0*P(4); %vector del tiempo %Vector entrada %Margen de fase de 30 grados if k==1 y(k) = 0; err(k) = yd(k)-y(k); u(k) = err(k)*P0; z = [u(k);0;0;0]; elseif k==2 y(k) = 1.7826*y(k-1)+0.5143*u(k-1); err(k) = yd(k)-y(k); u(k) = P0*err(k) + P1*err(k-1) + u(k-1); z = [u(k);y(k-1);u(k-1);0]; else y(k) = 1.7826*y(k-1)-0.8187*y(k-2)+0.5143*u(k-1); %Vector salida err(k) = yd(k)-y(k); u(k) = P0*err(k) + P1*err(k-1) + P2*err(k-2) + u(k-1); z = [u(k);y(k-1);u(k-1);y(k-2)]; end g = C*z; alfa2 = phi^2+z’*g; e(k) = y(k) - P’*z; P = P + (1/alfa2)*g*e(k); C = (1/phi^2)*(C-(1/alfa2)*g*g’); p(k)=P(4); end P plot(kTs,yd,kTs,y) xlabel(’Tiempo(ms)’’*’) ylabel(’Error’) grid on Referencias [1] Virginia Mazzone , Controladores PID, Universidad Nacional de Quilmes, Marzo 2002. [2] MATLAB LATEX 8