Beruflich Dokumente
Kultur Dokumente
Unidad 4
Sintonización de Controladores PID
Temario
• Estrategias previas ser aplicadas para la compresión
operativa de un controlador PID
• Estructura del Controlador PID
• Sintonía de Controladores
• Regla de Ziegler – Nichols
• Diseños con circuitos
1
Sin PID
GC(s) = 𝐾𝑃 1 + 𝑇1 𝑠 + 𝑇𝑑 𝑠 = 5(1 + 1𝑠
1
+ 0.2𝑠)
𝑖
Sin PID
Sin PID
Con PID
Sin PID
3
Note que el controlador PID sintonizado mediante el primer método de las reglas de
Ziegler-Nichols produce
Por tanto, el controlador PID tiene un polo en el origen y un cero doble en s = -1/L.
Reglas de Ziegler-Nichols para sintonizar
controladores PID.
Segundo método. En el segundo método, primero se fija Ti = y Td = 0. Usando sólo
la acción de control proporcional, según la figura (3), se incrementa Kp desde 0 hasta un
valor crítico Kcr, en donde la salida presente oscilaciones sostenidas. (Si la salida no
presenta oscilaciones sostenidas para cualquier valor que pueda tomar Kp, entonces este
método no se puede aplicar.) Así, la ganancia crítica Kcr y el periodo Pcr correspondiente se
determinan experimentalmente (ver la figura (5).
Reglas de Ziegler-Nichols para sintonizar
controladores PID.
Ziegler-Nichols sugirieron que se establecieran los valores de los parámetros Kp, Ti y Td de
acuerdo con la fórmula que se muestra en la Tabla siguiente:
El valor de Kp que hace al sistema marginalmente estable para que ocurra una oscilación
sostenida se obtiene mediante el criterio de estabilidad de Routh. Como la ecuación
característica para el sistema en lazo cerrado es
Teniendo en cuenta la Tabla del segundo método, se determinan Kp, Ti y Td del modo
siguiente:
clc
close all
%Respuesta a escalon unitario
num=[6.3223 18 12.811];
den=[1 6 11.3223 18 12.811];
step(num,den);
grid
title('Respuesta al escalón
unitario')
xlabel('Tiempo')
ylabel('Amplitud')
Amplitud
num=[13.846 18 5.849935];
den=[1 6 18.846 18 5.849935]; 0.6
step(num,den);
grid 0.4
title('Respuesta al escalón unitario')
xlabel('Tiempo')
0.2
ylabel('Amplitud')
0
0 1 2 3 4 5 6 7 8
Tiempo (seconds)
Respuesta a un escalón unitario del sistema mostrado en la figura con controlador PID
teniendo parámetros Kp= 18, Ti = 3.077 y Td = 0.7692
Ejemplo de diseño
Dicha sintonía se puede hacer en la computadora. Se encuentra que manteniendo Kp=39.42
y moviendo el cero doble del controlador PID a s = -0.65, es decir, usando el controlador PID
Respuesta al escalón unitario
1.4
(2)
1.2
MP = 28%
1
clc
close all
0.8
%Respuesta a escalon unitario
Amplitud
num=[30.322 39.4186 12.811045];
den=[1 6 35.322 39.4186 12.811045]; 0.6
step(num,den);
grid
title('Respuesta al escalón unitario') 0.4
xlabel('Tiempo')
ylabel('Amplitud')
0.2
0
0 1 2 3 4 5 6 7
Tiempo (seconds)
Respuesta a un escalón unitario del sistema mostrado en la figura con controlador PID teniendo
parámetros Kp= 39.42, Ti = 3.077 y Td = 0.7692.
5
Se desea encontrar una combinación de K y a tal que el sistema en lazo cerrado sea
subamortiguado y su máximo sobreimpulso en la respuesta a un escalón unitario sea
menor que el 10%.
Programación con Matlab
Para resolver este problema con MATLAB, primero se especifica la región para buscar
valores adecuados de K y a. A continuación se escribe un programa MATLAB tal que en la
respuesta a un escalón unitario se pueda encontrar una combinación de K y a que
satisfagan el criterio de que el máximo sobreimpulso sea menor que el 10%.
Note que la ganancia K no debería ser demasiado grande para evitar que el sistema
necesite una innecesaria unidad de potencia. Se supone que la región para buscar K y a
está acotada por
Si en esta región no existe una solución será necesario ampliarla. Sin embargo, en algunos
problemas independientemente de la región de búsqueda no hay solución.
Para ordenar los conjuntos de soluciones con respecto a la magnitud del máximo
sobreimpulso (comenzando en el valor más pequeño y finalizando en el valor más
grande de m en la tabla), se utiliza la orden
k=0;
for i = 1:6;
for j = 1:6;
gc = tf(K(i)*[1 2*a(j) a(j)^2],[1 0]); % controlador
G = gc*g/(1+gc*g); % función de transferencia en lazo cerrado
y = step(G,t);
m = max(y);
if m<1.10
k=k+1;
solution(k,:) = [K(i) a(j) m];
end
end
end
solution % Imprime tabla solución
Programación con Matlab
Si se desea ordenar la información del máximo
sobreimpulso MP (columna 3) escriba el comando
1.2 1.2
1
1
0.8
Amplitude
0.8
Amplitude
0.6
0.6
0.4
0.4
0.2
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0
Time (seconds) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (seconds)
Programación con Matlab
Para representar la curva de respuesta a un escalón unitario del sistema con cualquier
conjunto mostrado en la tabla ordenada, se especifican los valores de K y a
introduciendo una orden sortsolution apropiada.
Observe que para una especificación de que el máximo sobreimpulso esté entre el 10%
y el 5%, habría tres conjuntos de soluciones:
En este problema, se supone que la región para buscar K y a está acotada por
K = sortsolution(1,1), a = sortsolution(1,2)
K=
3.2000
a=
0.9000
num =
12.8000 23.0400 10.3680
den =
1.0000 6.0000 20.8000 27.0400 10.3680
6
r(t) = referencia
Por lo general una señal
de tipo escalón
u = señal de control
v = es la salida del sistema
Diseño del controlador PI
Se desea :
1.- Error de estado estacionario cero para entrada
escalón de lazo cerrado.
2.- máximo sobreimpulso ligeramente menor a
16.30%.
3.- Tiempo de establecimiento de 2s.
Diseño del controlador PI
−
1−2
𝑀𝑃 = 𝑒 = 0.1630 =0.5
5 5
𝑡𝑠 = = =2 = 2.5 y 𝑛 = 5𝑟𝑎𝑑/𝑠
𝑛
Reto: programar en Matlab los valores de los parámetros del controlador para la respuesta
para GPI(s)
Circuitos característicos – controladores PID
Diseño del controlador PID
Se desea :
1.- Error de estado estacionario cero para entrada
escalón de lazo cerrado.
2.- máximo sobreimpulso ligeramente menor a
16.30%.
3.- Tiempo de establecimiento de 2s.
Diseño del controlador PID
−
1−2
𝑀𝑃 = 𝑒 = 0.1630 =0.5
5 5
𝑡𝑠 = = =2 = 2.5 y 𝑛 = 5𝑟𝑎𝑑/𝑠
𝑛
Reto: programar en Matlab los valores de los parámetros del controlador para la respuesta
para GPI(s)
Bibliografía