Está en la página 1de 16

θ

Factor de incontrolabilidad=
τ

En donde:

θ=0.136 y τ=0.344

0.136
Factor de incontrolabilidad= =0.3953
0.344

Entonces, usando el método de Ziegler-Nichols

Figura 13. Tabla de Ziegler y Nichols para los valores de un controlador P, PI o PID.

Kp=Kc

Kc
Ki=
Ti

Kd=Kc∗Td

( )
−1
1.2 ¿ −1
1.2 0.136
Kp= ()
K τ
=
0.668 0.344
=4.54385347

Ti=2∗¿=0.272

kp 4.54385347
Ki= = =16.70534364
Ti 0.272

1
Td= ∗¿=0.068
2

kd =Kp∗Td
kd =4.54385347∗0.068

kd =0.308982

Al graficar los valores reales obtenidos por nuestro método de Ziegler and Nichols
obtenemos:

Procedemos a colocar datos en una tabla:

Tabla 1. Parámetros del sistema.

Parámetros Valores +5% -5% +10% -10% Valor


reales elegido
Del sistema
Valor Efect. Valor Efect. Valor Efect. Valor Efect.

Kp 4.543853474.7710 Neg. 4.31666 Pos. 4.9982 Neg. 4.089468 Pos 1.1419

Ki 16.70534364
17.54061 Pos. 15.87 Neg. 18.37587 Pos. 15.0348 Neg. 3.7094

Kd 0.308982 0.324431 Neg 0.293532 Pos 0.339880 Neg 0.278083 Pos 0

Como una pequeña Leyenda de la tabla se aclara que:

Pos.: La señal tuvo una mejor forma, con menor ruido y saltos con este nuevo número

Neg: La señal cambio para mal, generando mayores problemáticas al sistema


N/A: No existe cambio aparente

Después de los ajustes de realizar los ajustes nos encontraremos con el siguiente
controlador, obtenido por medio de aproximaciones de prueba y error.

Al finalizar el diagrama de bloques de nuestro sistema queda:

La señal superior es la señal con los ajustes, y la inferior es la señal sin los mismos,
también se puede observar la simulación:
Y bien, si sometemos la señal ante perturbaciones y ruidos no mayores al 10% del set
point:

Perturbaciones:

Ante una perturbación de 1:


Vemos que el tiempo en el que vuelve a la estabilidad es de un segundo, por lo tanto no
es sensible a ruido.

Ante ruido:

Le introducimos un ruido de 0.01:

Por lo cual se observa que es un sistema algo sensible a los ruidos, sin embargo trata de
mantener su magnitud.

Discretizando la expresión en MATLAB

Si quisiéramos discretizar la expresión en MATLAB utilizaríamos la funcionalidad


“Tustin” para hallar nuestra ecuación de transferencia en el tiempo discreto, en el orden
de Z.

Obteniéndose que la ecuación de transferencia es:


Ingresamos a matlab los valores de Kp, Ti y Td ideales en el controlador en S:

En este caso considerando el tiempo de muestreo como tao/10, de allí obtenemos


las expresiones A0, A1, A2, B0.

Montamos en simulink conjunto a nuestra ecuación de transferencia discretizada, y


el resultado es:

Dando la simulación de la siguiente manera:


El cual no cumple con el sistema de control deseado, por lo tanto se realizaron
algunos ajustes, multiplicando las variables A0, A1, A2 y B0 por una contante que
optimizara nuestro sistema:

Dando el siguiente resultado para un SP de 8:

Observando que este cumple con lo deseado, sin embargo, al discretizar la señal no se
genera el tiempo muerto del sistema, por lo tanto, es necesario discretizar el tiempo
muerto, pero primero, debe ser llevado a una función de transferencia, lo cual se hace a
través de las aproximaciones de Padé, entendiéndose que para sistemas de primer orden,
el tiempo muerto de un sistema es:

θ
1− s
−θs 2
e ≈
θ
1+ s
2

Sustituyendo:

0.136
1− s
−θs 2
e ≈
0.136
1+ s
2
−θs 1−0.068 s
e ≈
1+0.068 s

Sin embargo, se debe discretizar la expresión, por lo tanto volvemos a utilizar el método
tustin:

Y posteriormente hallamos la función de transferencia:

Para obtener el siguiente diagrama de bloques:

Y posteriormente la siguiente señal de la simulación:


La cual si presenta el tiempo muerto de 0.136 segundos, obteniéndose de esta forma la
señal controlada.

Método Cohen Chan

Para un controlador PI que fue el obtenido anteriormente:

Kc=
( 0.9+0.083 ( θτ ))∗τ

Ti=
( (
θ 0.9+ 0.083
τ ))
θ

( τ )
1.27+ 0.6 ( )
θ

En donde:

θ=0.136 , τ=0.344 y K =0.668

Kc=
( 0.9+0.083
0.344 ) )
( 0.136 ∗0.344

0.668∗0.136

Kc=3.5321
Ti=
(
0.136 0.9+0.083
0.344 ))
( 0.136
(1.27+ 0.6( 0.136
0.344 ))

Ti=
(
0.136 0.9+0.083
0.344 ))
( 0.136
( 1.27+ 0.6 (
0.344 ))
0.136

Ti=0.0841

Kc
Ki=
Ti

3.5321
Ki= =41.99
0.0841

Al incluir estos parámetros al controlador, la respuesta es:

Observándose que este método es inestable y no genera el control deseado a nuestro


sistema, por lo tanto en este caso no funciona, algunas fuentes indican que funciona para un
factor de incontrolabilidad mucho mayor a 0.3.
Montaje de la planta

Uno de los métodos para correr nuestra planta fue a través de la comunicación
serial entre Arduino y Matlab, para poder realizarla se dejó la plataforma INO de arduino
como esclavo, y se controló por Matlab el proceso.

Se subió un código prediseñado cuya funcionalidad era conectar simulink con la librería
Arduino IO, al hacer click en la imagen podrá descargarlo:

Posteriormente se estableció en la plataforma de matlab el lazo cerrado conformado por


nuestro Set point, controlador, actuador, proceso y sensor, tal como se muestra a
continuación:
El subsistema contiende dentro de sí lo siguiente:

Cabe destacar que el pin al que debe llegar el PWM es el pin 11 para el motor 1, además
para dar una dirección el pin 2 debe estar en ON y el 3 en OFF.

El pin de lectura del sensor de voltaje es el pin A0, y este pasa por un escalamiento que
está dentro de un subsistema:

Anexos

Kd +5%:
Kd -5%:

Kd +10%:

Kd -10%:
Ki +5%:

Ki -5%:

Ki +10%:
Ki -10%:

Kp +5%:

Kp -5%:
Kp +10%:

Kp -10%:

También podría gustarte