Você está na página 1de 14

Ayudantía MATLAB: Simulink

Entrar a Simulink (MATLAB 2015)


Para entrar a Simulink en MATLAB debemos hacer click en New  Simulink Model

Se abrirá una ventana como ésta:

Para agregar los distintos elementos de los lazos de control debemos hacer click en “Library
Browser”

Ay. VCR / GGA


Se abrirá un cuadro como éste:

Los elementos más empleados se encuentran en:

 Función de transferencia: Continuous  Transfer Fcn


 Ganancia: Commonly Used Blocks  Gain
 Sumador: Commonly Used Blocks  Sum
 Monitor: Commonly Used Blocks  Scope
 Constantes: Commonly Used Blocks  Constant
 Controlador: Continuous  PID Controller

Entrar a Simulink desde la ventana de comando


Escribir en la ventana de comandos:

>> simulink

Ay. VCR / GGA


Y se abrirá directamente la librería de simulink. Para comenzar a trabajar se debe hacer clic en
“New Model”

Para armar el lazo de control se deben arrastrar las figuras desde la librería y soltarlas en la ventana
de modelo.

Para girar la función de transferencia del sensor, clic derecho, rotate&flip, flip block

Para unirlas fácilmente, dejar apretador ctrl mientras se hace click en las funciones

Ay. VCR / GGA


Modificación de elementos: Suma
Para modificar un sumador y convertirlo en una resta, debemos hacer doble clic sobre él y
modificar el parámetro “List of signs”

Por ejemplo, para crear un sumador de tres entradas, donde una de ellas reste, se debe escribir:

Ay. VCR / GGA


Modificación de elementos: Monitor
Si se desea monitorear más de un lazo de control a la vez, se puede modificar un monitor para
mostrar más de un sistema a la vez. Para ello se debe crear un monitor y hacer doble clic sobre éste,
el número de entradas se modifica en “Scope parameters” en “Number of axes”

Controlador PID
MATLAB utiliza una nomenclatura diferente para las constantes de la función de transferencia de
un controlador, por ejemplo, para un controlador PI del tipo:
1
𝐺𝑐 = 𝑘𝑝 (1 + + 𝑇𝐷 𝑠)
𝑇𝐼 𝑠
Donde:

𝑘𝑝 = 1148,38

𝑇𝐼 = 22,07[𝑠]

Se debe ajustar a la forma


𝐼
𝐺𝑐 = 𝑃 +
𝑠
Es decir
1 1 52,01
𝐺𝑐1 = 𝑘𝑝 (1 + ) = 1148,38 (1 + ) = 1148,38 +
𝑇𝐼 𝑠 22,07𝑠 𝑠

Ay. VCR / GGA


En el caso de un control PID, matlab ocupa la forma
𝐼 𝑁
𝐺𝑐 = 𝑃 + + 𝐷
𝑠 𝑁
1+ 𝑠

Notar que cuando N tiende a infinito la fórmula se convierte en


𝐼
𝐺𝑐 = 𝑃 + + 𝐷𝑠
𝑠
Así que para un control PID puro, se debe usar un N muy alto.

Ejemplo 1: Armar un lazo de control


Armar un lazo de control con las siguientes funciones de transferencia

Función transferencia del proceso


𝑠+1
𝐺𝑝 =
(𝑠 4 + 7𝑠 3 + 20𝑠 2 + 50𝑠)

Función transferencia del sensor


1
𝐺𝑠 =
(0,2𝑠 + 1)

Función transferencia del actuador


𝐺𝑎 = 1
Considerando un set point de 20 [g/L]

Sintonizando mediante Ziegler Nichols los resultados de las constantes son:


𝑟𝑎𝑑
 𝜔𝑐 = 4,02 [ 𝑠
]
𝑔
 𝐴(𝜔𝑐 ) = 0,306 [ 𝐿 ]
2𝜋
 𝑇𝑐 = 𝜔
𝑐
20
 𝑘𝑐 = 𝐴(𝜔𝑐 )
 𝑘𝑝 = 0,45 𝑘𝑐
 Ti = 0,85 Tc

Se obtiene así la función de transferencia del controlador


𝑘𝑝
𝐺𝑐 = 𝑘𝑝 + + 𝑘𝑝 ∗ 𝑇𝑑 ∗ 𝑠
𝑇𝑖 ∗ 𝑠
22,28
𝐺𝑐 = 29,41 +
𝑠
Armar un lazo de control sin función del controlador y compararla con una con controlador. Notar
que el sumador del set point debe restar la lectura del sensor.

Ay. VCR / GGA


Notar que el de arriba (con control), llega antes al set point que el sin control (abajo).

Ejemplo 2: Armar un lazo de control


Armar el siguiente lazo de control:

Función transferencia del proceso


0,009
𝐺𝑝 =
(𝑠 + 0,0501)

Función transferencia de las perturbaciones


0,5 ∗ (𝑠 + 0,001)
𝐺𝑑 =
𝑠(𝑠 + 0,0501)

Ay. VCR / GGA


Función de Transferencia del sensor
0,899 (1 − 2 ∗ 𝑠)
𝐺𝑠 = ∗
(1,783 ∗ 𝑠 + 1) (1 + 2 ∗ 𝑠)

(crear otra función para el retraso)

Función de transferencia del actuador


1,131 (1 − 𝑠)
𝐺𝑎 = ∗
(2,33 ∗ 𝑠 + 1) (1 + 𝑠)

La función de atraso se debe ingresar como

Función de transferencia del controlador


52,01
𝐺𝑐1 = 1148,38 +
𝑠

Ay. VCR / GGA


Además:

 Agregar una ganancia antes del controlador de 0,01


 Considerar un set point de 1,6 [g/L] (transformar a volt, multiplicando por el Ks (0,899))

Armar un lazo de control idéntico al anterior, pero con una función de transferencia del
controlador de:
393,15
𝐺𝑐2 = 1148,38 +
𝑠
Conectar ambos lazos de control a un Scope, fijar un tiempo de simulación de 500 segundos y
hacer correr.

Se debe obtener el siguiente gráfico (recordar que para ajustar más fácilmente el zoom, se debe
hacer clic derecho sobre el gráfico y seleccionar “autoscale”)

Ay. VCR / GGA


El lazo armado debe tener la forma

Tras analizar la respuesta de los dos lazos de control, resulta evidente que la segunda función de
transferencia del controlador no sintoniza correctamente. Para sintonizar el controlador utilizando
simulink se debe hacer doble clic en la función de transferencia Gc2, encontraremos esta ventana:

Ay. VCR / GGA


Hacemos clic en “Tune…” y se abrirán las opciones para sintonizar el controlador del sistema (este
proceso puede tomar un minuto o más):

Notaremos dos barras, donde podremos ajustar las características del controlador. Los parámetros
que podemos controlar corresponden a:

 Tiempo de respuesta: Un controlador más lento se demorará más en llegar al set point, pero
tenderá a ser más estable. Un controlador más rápido llegará antes al set point, pero se
corre el riesgo de inestabilizar el sistema, esto se puede notar al ver la respuesta del sistema
al desplazar la barra hacia un controlador más rápido:

Ay. VCR / GGA


Notamos que el sistema comienza a volverse inestable a medida que el controlador es más rápido

 Comportamiento transiente: un comportamiento transiente más agresivo minimizará el


tiempo en el que el sistema alcanzará el set point, pero por lo general se obtiene un
overshoot mayor

En la imagen se aprecia que para un comportamiento agresivo se alcanza un peak de hasta un 45%
(aprox.) sobre el set point.

Ay. VCR / GGA


En cambio, para un comportamiento robusto, el overshoot disminuye, pero aumenta el tiempo que
demora el sistema en alcanzar el set point.

Cuando la respuesta del sistema nos parezca adecuada a nuestros requerimientos, hacemos clic en
“Update Block”.

Con esto, los nuevos valores de las constantes proporcional e integrativa de nuestro controlador
han sido calculadas por simulink, y los valores son automáticamente proporcionados por el
programa:

Ay. VCR / GGA


Con estas nuevas contantes, simulamos nuestro entorno para 500 (s) de respuesta y comparamos
nuevamente ambos lazos. Tras la modificación al segundo lazo de control, notamos que ambos son
capaces de alcanzar el set point sin mayor inestabilidad:

Ay. VCR / GGA