Práctica 3 - Control PID
Práctica 3 - Control PID
Práctica 3 - Control PID
100
𝐺(𝑠) =
(𝑠 + 4)(𝑠 + 8)(𝑠 + 20)
Solución:
Como sabemos, el diagrama de bloques del sistema en lazo cerrado es el que se muestra a
continuación, donde Gc(s) es la función de transferencia del controlador PID:
Dado que el controlador PID tiene una función de transferencia estándar, lo más complicado
en estos casos es sintonizar correctamente el controlador, es decir, encontrar los valores de la
ganancia proporcional, el tiempo integral y el tiempo derivativo (o ganancia derivativa) para
los que el comportamiento del sistema en lazo cerrado se adecúa a las especificaciones de
funcionamiento buscadas.
1
𝐺𝑐 (𝑠) = 𝐾𝑝 (1 + + 𝑇𝑑 𝑠)
𝑇𝑖 𝑠
Sin entrar en detalles, este método se basa en obtener de forma empírica dos parámetros
denominados ganancia crítica (Kc) y período crítico (Pc). Para el sistema propuesto en la
práctica:
100
𝐺(𝑠) =
(𝑠 + 4)(𝑠 + 8)(𝑠 + 20)
Se tiene que:
Kc=80.64
Pc=0.38seg
Una vez que tenemos los valores de Kc y Pc, sintonizamos el controlador tal y como sugieren
Ziegler y Nichols en la siguiente tabla:
1
Prácticas Octave: Implementación de controladores PID Automatización y Control Industrial
Implementemos ahora con ayuda del Octave un controlador P, otro PI y otro PID para el
sistema propuesto:
A. Controlador P
Sustituyendo en la tabla anterior Kc por su valor, tenemos que la ganancia
proporcional del controlador P debe valer 0.5*Kc, es decir, 40.32.
B. Controlador PI
En este caso obtenemos para la ganancia integral un valor Kp=0.45*Kc=36.288, y para
el tiempo integral Ti=Pc/1.2=0.3167.
El código de Octave para simular la respuesta del sistema con este controlador es el
siguiente:
2
Prácticas Octave: Implementación de controladores PID Automatización y Control Industrial
C. Controlador PID
Finalmente, para el controlador PID obtenemos la ganancia proporcional, el tiempo
integral y la ganancia derivativa como se indica en la tabla, es decir:
Kp=0.6*Kc=48.384, Ti=0.5*Pc=0.1905, Td=0.125*Pc=0.0476.
El código de Octave para simular la respuesta del sistema con este controlador es el
siguiente:
>> deng=conv([1 4],[1 8]);
>> deng=conv(deng,[1 20]);
>> sysg=tf(100,deng); %fdt de la planta
>> Kp=0.6*Kc
Kp = 48.384
>> Ti=0.5*Pc
Ti = 0.19000
>> Td=0.125*Pc
Td = 0.047500
>> sysc=tf(Kp*[Ti*Td Ti 1],[Ti 0]); %Construimos la fdt del controlador PID
3
Prácticas Octave: Implementación de controladores PID Automatización y Control Industrial
>> sysla=series(sysc,sysg);
>> syslc=feedback(sysla);
>> figure
>> step(syslc,t)
El resultado de la simulación se muestra a continuación:
Al introducir la acción derivativa vemos cómo mejora la respuesta que teníamos con el PI,
debido a que esta acción de control ‘amortigua’ las sobreoscilaciones en el transitorio.
Cada estudiante, trabajando individualmente, creará una función de Octave que tendrá los
argumentos de entrada y salida indicados por la profesora. A continuación, representará
gráficamente la respuesta del sistema en lazo cerrado frente al tiempo para determinados
valores de los parámetros del controlador PID.
Se valorará que el estudiante sepa hacer una función de Octave, que la sepa ejecutar y que
resuelva correctamente el problema planteado.
NOTA: Una vez corregida la práctica por parte de alguno de los profesores presentes en el
laboratorio, y antes de abandonarlo, el estudiante deberá obligatoriamente subir la función al
aula virtual a través de la tarea creada a tal efecto para posteriormente borrarla del disco.