- Algoritmo sencillo para implementar un controlador PID:
1). Controlador PID: Out(k) = BIAS + Kp*Err(k) + Ki*(Err(k)+Err(k-1))+Kd*(Err(k)-Err(k-1)) Donde: Out = salida del controlador (sta seal ir al actuador) Kp = Ganancia proporcional Ki = Ganancia Integral Kd = Ganancia Diferencial k = muestra en la iteracin (k) k-1 = muestra en la iteracin (k-1) [anterior a k] Bias= 0, Si las condiciones iniciales son cero
2.-Pseudocdigo simple de un controlador PID para implementar en un sistema de lazo cerrado.
E(k) = setpoint - process variable //Para una accin inversa del controlador, similar a un . sistema de calentamiento.
E(k) = process variable setpoint //Para una accin directa del controlador, similar a un sistema . de enfriamiento.
P= E(k) * Kp //Accin Proporcional
I = I + (E(k)* Ti) //Accin Integral IF I>100%, I=100% //Anti-windup (evita la saturacin de I) IF I<0%, I=0%
D= (E(k) - E(k-1)*Td //Accin Diferencial
E(k-1)* = E(k) //E(k) =Lectura actual del error, E(k-1)=Lectura anterior del error
CV = P + I + D // Salida del controlador (P+I+D) IF CV> 100%, CV=100% //Lmites de la salida de control IF CV< 0%, CV=0% RETURN CV
Estos algoritmos se deben ejecutar con un periodo de muestreo de 1 s para funcionar correctamente, una vez que funcione se podr afinar el periodo de muestreo para mejorar el rendimiento. Para sintonizar el controlador pueden utilizar cualquier mtodo que se conozca (Clculo de P, I y D). http://www.control.com/thread