Está en la página 1de 14

Implementacin DIGITAL PID

Miguel Chvez
Controlador
PID Tool
s+1
G(s) = -------------------------
s^3 + 2 s^2 + 3 s + 6

Script en MatLab

num=[0 0 1 1]
den=[1 2 3 6]
sys1= tf(num,den)
pidtool(sys1,'p')
num=[0 0 1 1]
den=[1 2 3 6]
sys1= tf(num,den)
pidtool(sys1,'pid')
Diseo de Controladores PID
Control Proporcional
Kp = 1
r = 50
dt = 100 ms
Leer y
y

e = r-y
u = kp*e

Enviar u u
Control P
t Integral
u Ki e * dt
0

u0 Ki (e0 dt )
Ki
u1 Ki (e0 e1 )dt r=50
u2 Ki (e0 e1 e 2 )dt dt=100 ms
u3 Ki (e0 e1 e 2 e3 )dt int_e=0
...
y
Leer y
e=r-y
int_e = int_e + e
u = Ki*int_e*dt
u
Enviar u
Proporcional Integral
Ki Kp r=50
dt=100 ms
int_e=0

y Leer y
e=r-y
int_e = int_e + e
u = Kp*e + Ki*int_e*dt u
Enviar u
u Kd * e
Derivativa
Kd r=50
ek ek 1 dt=100 ms
e eold=0
dt
Leer y
y
e=r-y
ep=(e-eold)/dt
u = Kd*ep
Enviar u u
eold=e
PD
Kp Kd dt=100 ms
r=50
eold=0
Leer y
y
e=r-y
ep=(e-eold)/dt
u = Kd*ep+Kp*e
u
Enviar u
eold=e
PID
Kp Ki Kd dt=100 ms
r=50
int_e = 0 eold=r
y Leer y
e=r-y
int_e = int_e + e
ep=(e-eold)/dt
u = Kp*e+ Ki*int_e*dt+Kd*ep
u
Enviar u
eold=e