You are on page 1of 16

Ing.

Joselito Sánchez Pérez

Facultad de Ingeniería
Escuela de Ingeniería Industrial
Automatización y Control de Procesos Industriales

Sintonización del PID

Introducción
El método de Ziegler-Nichols permite ajustar o "sintonizar" un PID , sin necesidad
de conocer las ecuaciones de la planta o sistema controlado. Estas reglas de
ajuste propuestas por Ziegler y Nichols fueron publicadas en 1942 y desde
entonces es uno de los métodos de sintonización más ampliamente difundido y
utilizado. Los valores propuestos por este método intentan conseguir en el
sistema realimentado una respuesta al escalón con un sobrepulso máximo del
25%, que es un valor robusto con buenas características de rapidez y estabilidad
para la mayoría de los sistemas.
El método de sintonización de reguladores PID de Ziegler-Nichols permite definir
las ganancias proporcional, integral y derivativa a partir de la respuesta del
sistema en lazo abierto o a partir de la respuesta del sistema en lazo cerrado.
Cada uno de los dos ensayos se ajusta mejor a un tipo de sistema

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

Programación en MATLAB para hallar función de transferencia a partir de


medición de datos.

Mediciones de datos

N° de mediciones °C
1 35
2 36
3 37
4 38
5 39
6 40
7 41
8 42
9 43
10 44
11 45
12 46
13 47
14 48
15 49
16 50
17 51

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

18 52
19 35
20 36
21 37
22 38
23 39
24 40
25 41
26 42
27 43
28 44
29 45
30 46
31 47
32 48
33 49
34 50
35 51
36 52
37 36
38 37
39 38
40 39
41 40
42 41
43 42
44 43
45 44
46 45
47 46
48 47
49 48
50 49
51 50
52 51
53 52
54 36
55 37
56 38
57 39
58 40
59 41
60 42
61 43
62 44

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

Ingresar a la plataforma de Matlab y crear:

1. w=[]; vector vacío para el ingreso de datos tomados de la planta (datos de salida)
Luego vamos al Workspace para poder copiar los datos (medición de datos)

2. r=linspace(1,1,62); vector de 62 espacios para la valor de referencia del sistema.

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

3. r1=45*r; valor de referencia

4. r2=r1’; vector para le valor de entrada del proceso ( para que se igualen las entradas y
salidas)

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

5. ident ( se abre esta ventana )

6. Luego importamos los datos desde el Works pace, digitamos la entrada y salida del
proceso ver figura e importar.

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

7. Posteriormente aparece la data (my dat)

8. Luego activamos la función de trasferencia ver figura.

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

9. Aparece esta ventana y para que se estable mi sistema digitamos polo= 2 y


zeros=0 y posteriormente estimar.

10. Tenemos este resultado

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

11. Luego aparece la función de trasferencia, Ver figura.

12. Si queremos ver el comportamiento de los polos y los zeroz del sistema activamos
el icono ver figura.

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

13. Luego desactivamos los zeros y polos y arrastramos la función de trasferencia (tf1)
al Workspace

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

14. Se observa que en la figura que ya está el tf1 en el Works pace del matlab.

15. Luego llamamos al a función de transferencia digitando tf1 y observamos.

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

16. Luego es representar el comportamiento del sistema mediante una gráfica, para
ello hay que digitar step(tf1)

Tener en cuenta que este es una gráfica sin excitación

17. Para realizar el método de curva de reacción de ziegler y Nichols se tiene que
determinar los valores de L(retardo) y t (constante de tiempo), para ello se
utiliza el siguiente programa de MATLAB
>> dt=0.05;
>> t=0:dt:40;
>> y=step(tf1,t);
>> dy=diff(y)/dt;
>> [m,p]=max(dy);
>> yi=y(p);

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

>> ti=t(p);
>> l=ti-yi/m

l=

0.4079

>> tao=(y(end)-yi)/m+ti-l

tao =

5.3275

18. Posteriormente obtenemos la gráfica con este código

>> plot(t,y,'b',[0 l l+tao t(end)],[0 0 y(end) y(end)],'k')


>> grid on;
>> title('respuesta al escalon')
>> xlabel('tiempo(s)')
>> ylabel('amplitud')
>>legend('exacto','aproximacion lineal')

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

Código del matlab

>> clear all


>> w=[];
>> r=linspace(1,1,62);
>> r1=45*r;
>> r2=r1';
>> ident
Warning: The "ident" command is obsolete and may be removed in a future release
of MATLAB. Use the
"systemIdentification" command instead.
> In ctrlMsgUtils.warning (line 25)
In ident (line 44)
>> tf1

tf1 =

From input "u1" to output "y1":


0.3543
----------------------
s^2 + 1.541 s + 0.3653

Name: tf1
Continuous-time identified transfer function.

Parameterization:
Number of poles: 2 Number of zeros: 0
Number of free coefficients: 3
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:
Estimated using TFEST on time domain data "mydata".
Fit to estimation data: 7.384% (stability enforced)
FPE: 25.09, MSE: 21.35
>> step(tf1)
>> dt=0.05;
>> t=0:dt:40;
>> y=step(tf1,t);
>> dy=diff(y)/dt;
>> [m,p]=max(dy);
>> yi=y(p);
>> ti=t(p);
>> l=ti-yi/m

l=

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

0.4079

>> tao=(y(end)-yi)/m+ti-l

tao =

5.3275

>> plot(t,y,'b',[0 l l+tao t(end)],[0 0 y(end) y(end)],'k')


>> grid on;
>> title('respuesta al escalon')
>> xlabel('tiempo(s)')
>> ylabel('amplitud')
>> legend('exacto','aproximacion lineal')

Automatización y control de procesos


Ing. Joselito Sánchez Pérez

Automatización y control de procesos

You might also like