Programar un PID
Publicado por adria17860 (1 intervención) el 26/05/2009 10:25:23
saludos!
Estoy en un proyecto de control de temperatura con un PID, (usare un 16F883).
Pero estoy un poco perdido sobre como programar el PID (en C).
os pido, porfavor, si alguen me puede guiar un poco.
e encontrado esta formula: (pero nose si es buena o no...)
ak= ak-1+[q0*ek+q1*ek-1+q2*ek-2]
q0=k(1+T/Ti+Td/T)
q1=k(-1-2*(Td/T))
q2=k*(Td/T)
donde:
ak = salida actual de PID
ak-1 = salida anterior del PID
k = constante proporcional (KP)
Ti = constante integral
Td = constante derivativa
T = tiempo entre muestras (esto debe ser lo mas preciso posible, a poder ser hay que implementarlo con un timer)
ek = error actual (consigna menos lectura actual de la planta)
ek-1 = error anterior
ek-2 = error hace 2 veces
Muchas gracias.
Estoy en un proyecto de control de temperatura con un PID, (usare un 16F883).
Pero estoy un poco perdido sobre como programar el PID (en C).
os pido, porfavor, si alguen me puede guiar un poco.
e encontrado esta formula: (pero nose si es buena o no...)
ak= ak-1+[q0*ek+q1*ek-1+q2*ek-2]
q0=k(1+T/Ti+Td/T)
q1=k(-1-2*(Td/T))
q2=k*(Td/T)
donde:
ak = salida actual de PID
ak-1 = salida anterior del PID
k = constante proporcional (KP)
Ti = constante integral
Td = constante derivativa
T = tiempo entre muestras (esto debe ser lo mas preciso posible, a poder ser hay que implementarlo con un timer)
ek = error actual (consigna menos lectura actual de la planta)
ek-1 = error anterior
ek-2 = error hace 2 veces
Muchas gracias.
Valora esta pregunta


0