Está en la página 1de 22

Universidad De El Salvador

Facultad de Ingeniería y Arquitectura


Escuela de Ingeniería Eléctrica
Sistemas de Control Automático

Guía de laboratorio # 2.

“Introducción a SIMULINK aplicado a los Sistemas de Control Automático”

Docente: Ing. Ricardo E. Cortez


Coordinador: Br. Ernesto Cerón

Instructores: Br. David Martínez


Br José Herrera

Introducción:
SIMULINK es una herramienta de programación con entorno gráfico de MATLAB muy similar a
LabView de National Instruments y es parte de los lenguajes de programación G (Gráficos), los cuales
en lugar de utilizar líneas de código, usan bloques con diferentes funciones para generar las acciones
deseadas.
Una de las mayores ventajas de SIMULINK es su estrecha integración con MATLAB, el programa
para análisis y visualización de datos. Cuenta con su propio lenguaje de programación estructurado,
numerosas cajas de herramientas (toolboxes) y soportes para hardware en diversas áreas de la
ingeniería (entre ellas los sistemas de control automático) que extienden las capacidades de
SIMULINK en gran manera.

Objetivos:
Familiarizar al estudiante con el programa SIMULINK de MATLAB de tal forma que se encuentre en
capacidad de:

 Comprender la facilidad de programación que brinda SIMULINK al ser un entorno grafico de


programación, respecto a otros lenguajes de programación que utilizan líneas de código
para realizar las tareas deseadas.
 Reconocer los bloques básicos de SIMULINK utilizados para las operaciones relacionadas a
los Sistemas de Control Automático.
 Construir modelos básicos y de media complejidad en SIMULINK para representar Sistemas
de Control Automático y obtener algunos parámetros de interés de dichos modelos.
 Realizar una adquisición de datos utilizando SIMULINK y Arduino.

1
Sistemas de Control Automático 2017
Consideraciones preliminares.

1) Ingresando en SIMULINK.
Para ingresar a SIMULINK es posible usar dos procedimientos diferentes, los cuales tendrán como
paso intermedio activar previamente MATLAB, ya que no se puede obtener acceso a SIMULINK sin
antes activar MATLAB previamente, los procedimientos para ingresar a SIMULINK se ilustran a
continuación:

a) Desde Línea de comandos de MATLAB.


Ingrese la palabra “simulink” (sin comillas) y presione Enter, luego de esperar un momento
se abrirá el navegador de librería de SIMULINK, el cual luce como ilustra la figura 1, de dicho
navegador se obtienen los bloques necesarios para construir los modelos, ésto al navegar
por las diferentes bibliotecas o directamente ingresando el nombre del bloque de interés
en la ventana “Enter search item”.

Figura 1 Navegador de Librería de SIMULINK.

2
Sistemas de Control Automático 2017
De la figura 1 también podemos destacar dos áreas importantes que son:
A) Librerías de SIMULINK
B) Contenido de la librería seleccionada.

b) Utilizando el botón de librería de SIMULINK, ubicado en la interfaz de MATLAB.


Este es el acceso directo de MATLAB a SIMULINK, para acceder a SIMULINK presione el
botón mostrado en la figura 2.

Figura 2 Botón de acceso directo a SIMULINK.

Uso de SIMULINK

1) Bloques de SIMULINK de uso común en la teoría de Sistemas de Control Automático.


La tabla 1 resume algunas funciones que serán de uso común en la presente práctica y una breve
descripción de las mismas.

Nombre Bloque Descripción Libreria


Creador de bus Combina un conjunto de señales en Signal
multiplexado un bus. Routing
Combina sus entradas en un vector
sencillo de salida, todas las Signal
Multiplexor
entradas deben de ser del mismo Routing
tipo.
Toma una señal de entrada y la
Signal
Demultiplexor convierte en varias señales de
Routing
salida.
Tiene como salida un sub conjunto
Signal
Selector de bus especificado de elementos del bus
Routing
de entrada.
Constante Valor constante. Sources
Su salida es la integral de la señal
Integrador Continuous
de entrada con respecto al tiempo.
Multiplica la entrada por un valor Math
Ganancia
constante (ganancia). operation
Impone límite superior e inferior en Discontinui
Saturación
una señal de entrada. ties
Contiene un subconjunto de
Ports &
Subsistema bloques o código dentro de un
Subsystems
modelo total o sistema.

3
Sistemas de Control Automático 2017
Realiza el producto de dos señales Math
Producto
de entrada. operations
Realiza la suma o resta en sus Math
Adición
entradas. operations
Muestra el valor absoluto de una Math
Valor absoluto
señal de entrada. operations
Realiza la división de la entrada Math
División
superior entre la inferior. operations
Realiza la adición o sustracción en Math
Suma
sus entradas. operations
Realiza la suma o resta en sus Math
Sustracción
entradas. operations
Display Muestra el valor de la entrada Sinks
Visualización de señales generadas
Scope Sinks
durante la simulación.
Visualización de señales generadas
Floating scope Sinks
durante la simulación.
Muestra un gráfico X-Y de las
XY graph entradas en la ventana de figura de Sinks
Matlab.
Emite el tiempo de simulación
Reloj actual en cada paso de la Sources
simulación
Genera una señal que se inicia en
Función rampa un tiempo especificado y con Sources
valores específicos de Y.
Proporciona un paso entre dos
Función paso niveles definibles en un momento Sources
determinado.
Implementar un controlador de
Control PID Continuous
tiempo discreto o continuo.
Se pueden crear modelos de un
sistema que se define con los ceros,
Cero y polo Continuous
polos y ganancia de una función de
transferencia de Laplace.
Se pueden crear modelos de un
Función de sistema lineal por una función de
Continuous
transferencia transferencia de la variable de
Laplace en el dominio s.
Tabla 1 Resumen de funciones usuales en los Sistemas de Control Automático.

4
Sistemas de Control Automático 2017
2) Construyendo Modelos en SIMULINK
A continuación se muestra un ejemplo para ilustrar éste proceso:

Ejemplo 1
Realice el modelo en SIMULINK de la siguiente ecuación diferencial y obtenga la respuesta al
escalón del sistema que dicha ecuación representa.

𝑑 2 𝑦(𝑡) 𝑑𝑦(𝑡)
2
+ 2𝜁𝜔𝑛 + 𝜔𝑛 2 𝑦(𝑡) = 𝐾𝜔𝑛 2 𝑢(𝑡)
𝑑𝑡 𝑑𝑥

Aplicando la transformada de Laplace a ambos lados de la ecuación (condiciones iniciales = 0) y


despejando la derivada de mayor orden se obtiene:

𝑆 2 𝑌(𝑠) = 𝐾𝜔𝑛 2 𝑢(𝑠) − 2𝜁𝜔𝑛 𝑆𝑌(𝑠) − 𝜔𝑛 2 𝑌(𝑠)

La SFG resultante es:

Figura 3 Diagrama de estado para el ejemplo 1

Ahora se realizará el modelo en SIMULINK de esta SFG:

Paso 1
Abrir un nuevo Modelo en SIMULINK, para ello en el navegador de librerías buscar File->New-
>Model, como ilustra la figura 4:

Figura 4 Creación del nuevo modelo.

5
Sistemas de Control Automático 2017
O sencillamente sobre el navegador de bibliotecas presionamos Ctrl+N, el espacio de trabajo de
SIMULINK es el siguiente:

Figura 5 Creación del nuevo modelo.

Paso 2
De la tabla 1 consulte donde se encuentran los bloques necesarios para armar el modelo, la figura
6 muestra el diagrama de bloques completo.

Figura 6 Modelo completo para el ejemplo 1.

6
Sistemas de Control Automático 2017
Ejemplo 2
Realizar el siguiente diagrama de bloques en SIMULINK y obtener la respuesta al escalón unitario
del mismo:

Figura 7 Diagrama de Bloques para el ejemplo 2.

Los pasos a seguir son muy sencillos, como se observaron en el ejemplo 1 y respecto al mismo se
modifica la metodología de construcción ya que se usan para éste ejemplo el bloque “transfer Fnc”
que se puede ubicar al usar la tabla 1,a continuación se muestran en detalle los pasos de
construcción:

1. Se debe reducir el diagrama de bloques al bloque básico sin realimentación, para ello se usan
los comandos de la Control System Toolbox vistos en la práctica anterior.

2. Al insertar el bloque “transfer Fnc”, dar doble click sobre el mismo y ello abrirá la siguiente
ventana de diálogo:

Figura 8 Ventana de diálogo del bloque transfer Fnc.

7
Sistemas de Control Automático 2017
3. Un punto importante a resaltar es que el vector del numerador se introduce como se vio en la
guía #1 y además el coeficiente del denominador no puede ser cero o dejarse vacío de lo
contrario se obtendrá un mensaje de advertencia como el siguiente:

Figura 9 Mensaje de error producido al dejar en blanco el denominador en la ventana de la figura 8.

4. Además el denominador deberá ser siempre de mayor orden que el numerador.

Figura 10 Mensaje de error para denominador.

5. Agregar la señal escalón y el bloque “scope”, además se deben eliminar los problemas de
resolución como se mostró en el ejemplo 1 (de ser necesario). El bloque y resultado esperado
son los siguientes:

Figura 11 Diagrama de Bloques de la figura 7 a ser simulado.

8
Sistemas de Control Automático 2017
Figura 12 Respuesta al escalón del sistema de la figura 7.

Desarrollo de la práctica.
En ésta práctica se requiere que el estudiante haya estudiado detalladamente el video que
acompaña a la guía de laboratorio (el enlace se encuentra en la bibliografía), razón por lo
cual no se entrará en detalles de los pasos a ejecutar.

Práctica 1

1. Obtenga la SFG de la siguiente ecuación diferencial, siguiendo los pasos especificados en el


ejemplo 1 de la presente guía.

𝑑3 𝑦(𝑡) 𝑑2 𝑦(𝑡) 𝑑𝑦(𝑡)


3
+ 3 2
+ 2𝜁𝜔𝑛 + 𝜔𝑛 2 𝑦(𝑡) = 𝐾𝜔𝑛 2 𝑢(𝑡)
𝑑𝑡 𝑑𝑡 𝑑𝑥

Utilice los valores de 𝜁, 𝜔𝑛 𝑦 𝐾 definidos en el ejemplo 1.

2. Una vez obtenida la SFG, Ingrese a SIMULINK y abra un nuevo Modelo como se mostró en el
ejemplo 1.

3. Introduzca su modelo en un diagrama de bloques de SIMULINK.

4. Realice ejecute la simulación estableciendo un tiempo de simulación de 30segs. El cual se


establece en la siguiente casilla, en la ventana de SIMULINK.

9
Sistemas de Control Automático 2017
Figura 13. Configuración del tiempo de simulación.

Práctica 2
Adquisición de datos usando Simulink y Arduino

En esta práctica el estudiante tendrá su primer acercamiento a la interacción entre Simulink y


Arduino, para realizar una adquisición de datos, tema que preliminarmente se estudia en la
asignatura Instrumentación electrónica sólo de forma teórica.
El objetivo será leer los valores de tensión generados con un potenciómetro que varía su tensión en
un rango de 0-15V, dicha escala debe ser previamente ajustada a la escala de 0-5 VDC aceptada por
Arduino por medio de una etapa de ganancia de 1/3 (implementada con amplificadores
operacionales), los valores de tensión serán leídos en el pin de entrada analógica 2 (puede ser otra
entrada, pero actualmente es la entrada que está conectada) del Arduino Mega 2560, para esto
deberá ejecutar los siguientes pasos:

1. Realice las conexiones mostradas en la figura 13.

Figura 134 Diagrama de conexión para la practica 2.

10
Sistemas de Control Automático 2017
2. Abra Simulink utilizando cualquiera de las formas expuestas en las consideraciones
preliminares.
3. Construya el modelo de figura 15, utilizando los bloques de la librería de Simulink y
configure los valores mostrados en la figura 15.

Figura 145 Modelo a implementar.

Como se observa el modelo consta de una entrada análoga la cual tiene que ser multiplicada por un
factor de ajuste de escala que es 5/1023 que no es otra cosa que convertir los datos generados por
el ADC a una escala de 0-5VDC, para comprender esto mejor observe lo siguiente:
Rango del ADC: 0-1023 (Como el convertidor analógico digital tiene 10 bits puede generar 210 =
1024 combinaciones, es decir 1024 palabras digitales)
Rango del Arduino: 0-5VDC

Valores de
1023 5VDC Escala de 15VDC
tensión en
entradas
Escala del la entrada
tensiones
ADC 5/1023 de la
Analógicas de AV= 3V/V etapa de
0 0VDC Arduino 0VDC
AV=1/3

4. Configure el pin de entrada de Arduino, para ello presione doble click sobre el bloque Analog
Input, el cual se encuentra en la librería llamada “Simulink Support Package for Arduino
Hardware” y establezca el pin en el cual leeremos los datos, para este caso será en el pin
A2, además configure el tiempo de muestreo a un valor de 0.001 segs, aunque esto sólo
será real para el tiempo de simulación, en realidad el tiempo de muestre no es 1ms, como
se verá posteriormente. Al establecer los parámetros la configuración deberá quedar como
se muestra en la figura 16.

11
Sistemas de Control Automático 2017
Figura 16 Configuración del pin análogo de Arduino.

5. Configure los parámetros para realizar ejecución del modelo de Simulink sobre el Hardware
Arduino, para ello diríjase a Tools->Run on Target Hardware-> Prepare to Run, como se
muestra en las figura 17 y 18.

Figura 17 Acceso a la configuración de Simulink para este ejemplo.

12
Sistemas de Control Automático 2017
Figura 18 Configuración de Arduino para la adquisición de datos.

En la ventana de la figura 17 se establece lo siguiente:

 El hardware a utilizar que puede ser: Arduino UNO, Arduino Mega 2560, Raspberry Pi, entre
otros, esto dependerá del hardware disponible y de la capacidad de Simulink de integrarse
con el mismo. Para la presente práctica se utiliza el Arduino Mega 2560.

 El número de puerto COM al que está conectado el Arduino (El cual dependerá de la PC
que utilice en el laboratorio). Para saber cuál le corresponde a cada computadora del
laboratorio vea la tabla 2) dicho valor se coloca en la casilla “COM port number”

PC COM
Windows 8 4
Windows 7 3
Tabla 2

 Se marca la opción “Enable External mode” que servirá para habilitar el monitoreo de
señales externas.

13
Sistemas de Control Automático 2017
6. No cierre la ventana de la figura 18 Configure la resolución y Solver para adquirir señales,
tal como se muestra en la figura 19.

Figura 19. Configuración de los pasos para el muestreo

Cabe destacar que el valor de “Fixed step size (fundamental simple time)” influirá sobre la
gráfica de los datos generados, ya que sí el tiempo de muestreo es muy grande, se puede
tener una señal que no represente a la entrada, por lo cual la frecuencia de muestreo en la
simulación se elige de 1mS lo cual es muy rápido respecto a las señales que nos serán de
interés en las prácticas de laboratorio.

7. Ejecute el modelo, para lo cual vaya a: Tools->Run on Target Hardware-> Run.


8. Cuando la conexión con Arduino se haya completado verá en la parte inferior derecha de la
pantalla que el tiempo de simulación se ha inicializado, cuando esto ocurra abra
inmediatamente el bloque Scope y mueva el potenciómetro como usted desee para ver
como Arduino captura los valores de tensión que varían en el tiempo.

14
Sistemas de Control Automático 2017
Práctica 3
Variables de estado en Simulink
El objetivo de ésta práctica es mostrar las capacidades de Simulink respecto a las variables de
estado.

Del circuito mostrado en la figura 20, obtener la matriz de estado y realice su simulación en
SIMULINK, haciendo uso del bloque llamado “State Space” que se encuentra en la librería
“Continuous”.

Figura 2015. Circuito para la practica 3

Para este ejercicio es necesario escribir todas las ecuaciones diferenciales posibles y a cada una
dibujarle su correspondiente SFG para posteriormente unir la de cada ecuación y obtener una SFG
total.

El circuito consiste en una sola malla por donde circulara una corriente 𝑖(𝑡) la cual será la misma
para todos los elementos ya que se encuentran en serie. Al realizar una LVK en la trayectoria de i(t)
obtenemos la siguiente ecuación.

𝑑𝑖(𝑡)
−𝑉1 (𝑡) + 𝑅𝑖(𝑡) + 𝐿 + 𝑉𝑐 (𝑡) = 0
𝑑𝑡
𝑑𝑖(𝑡) 𝑅 1 1
= − 𝑖(𝑡) − 𝑉𝑐 (𝑡) + 𝑉1 (𝑡) (1)
𝑑𝑡 𝐿 𝐿 𝐿

Si aplicamos la transformada de Laplace a la ecuación anterior y la evaluamos con valores iniciales


igual a cero.
𝑅 1 1
𝑆𝑖(𝑠) = − 𝑖(𝑠) − 𝑉𝑐 (𝑠) + 𝑉1 (𝑠)
𝐿 𝐿 𝐿
La SFG correspondiente a ecuación 1 lo podemos ver en la figura 21

15
Sistemas de Control Automático 2017
Figura 21. SFG correspondiente a la ecuación 1.

Del capacitor podemos plantear las siguientes ecuaciones.

𝑑𝑉𝑐 (𝑡)
𝑖(𝑡) = 𝐶
𝑑𝑡
𝑑𝑉𝑐 (𝑡) 1
= 𝑖(𝑡) (2)
𝑑𝑡 𝐶

Aplicando la transformada de Laplace con el mismo criterio que para la ecuación anterior
obtenemos.
1
𝑆𝑉𝑐 (𝑠) = 𝑖(𝑠)
𝐶
La SFG para esta ecuación es la que se muestra en la figura 22.

Figura 22. SFG correspondiente a la ecuación 2.

Ahora por tanto la SFG total es la que se muestra en la figura 23.

Figura 23. SFG Total correspondiente al circuito RLC.

16
Sistemas de Control Automático 2017
Posteriormente para poder generar las variables de estado es necesario asignarles nombres a las
variables y a sus derivadas eso se muestra en la figura 24 marcado con letras rojas.

Figura 24. SFG Total con los valores para obtener las variables de estado.

A partir de este planteamiento podemos sacar las siguientes ecuaciones:

1
𝑋°1 |𝑋1 = 0 𝑋°2 |𝑋1 = −
𝐿
1 𝑅
𝑋°1 |𝑋2 = 𝑋°2 |𝑋2 = −
𝐶 𝐶
1
𝑋°1 |𝑉1 = 0 𝑋°2 |𝑉1 =
𝐿

Además tenemos las siguientes ecuaciones:

𝑋(𝑓) = 𝐴𝑋(𝑡) + 𝐵𝑓(𝑡)

𝑌(𝑓) = 𝐶𝑋(𝑡) + 𝐷𝑋(0)

A partir de estas podemos plantear lo siguiente:

𝑑𝑋1 (𝑡) 1
0 𝑋1 (𝑡) 0
𝑑𝑡 𝐶
= [ ]+
1 𝑅 1
𝑑𝑋2 (𝑡) − − 𝑋2 (𝑡)
[ 𝐿 [𝐿]
[ 𝑑𝑡 ] 𝐿]

1 0 𝑋1 (𝑡) 𝑋1 (0) = 0
𝑌=[ ][ ]+[ ]
0 1 𝑋2 (𝑡) 𝑋2 (0) = 0
17
Sistemas de Control Automático 2017
Asumiendo los siguientes valores.

𝑅 = 1.2

𝐿=1

𝐶=1

Por lo tanto tendríamos

𝑑𝑋1 (𝑡)
0 1 𝑋1 (𝑡) 0
𝑑𝑡
=[ ][ ]+[ ]
𝑑𝑋2 (𝑡) −1 −1.2 𝑋2 (𝑡) 1
[ 𝑑𝑡 ]

1 0 𝑋1 (𝑡) 𝑋1 (0) = 0
𝑌=[ ][ ]+[ ]
0 1 𝑋2 (𝑡) 𝑋2 (0) = 0

Por ultimo construimos el diagrama de bloques mostrado en la figura 25.

Figura 25. Diagrama de bloques para el uso de las variables de estado.

18
Sistemas de Control Automático 2017
Los parámetros del bloque “State Space” se introducirán como se muestra en la figura 26.

Figura 26. Configuración del bloque State Space.

Ejecutamos una simulación con un tiempo de 50, y los resultados se muestran en la figura 27.

Figura 27. Grafica de 𝑽𝒄(𝒕) e 𝒊(𝒕) para el circuito de la figura 20.

19
Sistemas de Control Automático 2017
Asignaciones

1. Utilizar MATLAB para obtener las funciones de transferencia de los siguientes sistemas,
asumiendo condiciones iniciales igual a cero.

𝑥̇ −1 −2 𝑥1 1 1 𝑢1
[ 1] = [ ] [𝑥 ] + [ ][ ]
𝑥2̇ 8.5 0 2 1 0 𝑢2
a)
𝑦1 1 0 𝑥1 0 0 𝑢1
[𝑦 ] = [ ] [𝑥 ] + [ ][ ]
2 0 1 2 0 0 𝑢2

𝑥̇ 0 −1 𝑥1 0 𝑢1
[ 1] = [ ] [ ] + [ ] [𝑢 ]
𝑥2̇ −1 1 𝑥2 1 2
b)
𝑥1
𝑦1 = [1 0] [𝑥 ] + [0]𝑢
2

𝑥1̇ 0 −1 0 𝑥1 0
[𝑥2̇ ] = [−1 1 0] [𝑥2 ] + [1] 𝑢
c) 𝑥3̇ −1 0 0 𝑥3 0
𝑥1
𝑥
𝑦 = [ 0 0 1] [ 2 ]
𝑥3

2. Para el sistema mostrado en la Figura 28 siguiente, definir la ecuación y obtenga la


representación del sistema en SIMULINK y la respuesta de 𝑓(𝑡) para una función escalón
unitario.

Figura 28 Sistema para asignacíon 1.

20
Sistemas de Control Automático 2017
3. Para el sistema de la Figura 29 obtener lo siguiente, en el orden a continuación indicado:

a) Las ecuaciones diferenciales del sistema


b) El diagrama de estados
c) La matriz de estados
d) La simulación en Simulink de la matriz de estados del paso anterior, con una señal
escalón como entrada, los valores de los elementos son los siguientes: L1=10, L2=10,
C1=1, C2=1, R1=100 y R2=100.
e) Investigue el uso de las funciones ss(A,B,C,D) tf(sys) de MATLAB para obtener la función
de transferencia del sistema de la figura 21.

R1 L1 L2 R2
+ +

Vin i(t) C1 C2 Vout

Figura 29 Sistema para asignacíon 2.

4. Investigar y explicar en qué consiste el error de cuantización ilustre su importancia a través de


un ejemplo en Simulink, y proponga una forma de solucionarlo, exponga las capturas del modelo
con error de cuantización y del mismo modelo con dicho error resuelto.

5. El objetivo de esta tarea es simular el comportamiento de un sistema eléctrico que se presenta


a continuación en la figura 30.

Figura 30 Circuito a implementar en la tarea bono.

21
Sistemas de Control Automático 2017
Se tomara como señal de entra v(t) y como señal de salida i(t) en la cual se tienen que encontrar los
resultados para dos tipos de señales de entrada, las cuales son:

 v(t)= escalón. En este caso lo que se pretende hacer es similar a un análisis transitorio en tiempo
continuo. La amplitud de la señal escalón será de 1V y el tiempo de simulación deberá ser de 20
segundos.
 v(t)= senoidal. En este caso corresponde al análisis de un circuito en alterna. Para comprobar la
salida en régimen permanente, que será lo que nos interese en este caso, tendremos que fijar
un tiempo suficientemente largo. La amplitud de la señal senoidal será de ±5V y el tiempo de
simulación deberá ser de 20 segundos.

Se requiere que se presente lo siguiente:

 Análisis necesario para encontrar la función de transferencia del sistema (SFG).


 Las capturas de los resultados como se muestran en el ejemplo 1 de esta guía.

Bibliografía
[1] http://www.mathworks.com/help/pdf_doc/simulink/sl_gs.pdf

[2] Harold Klee & Randal Allen. Simulation of Dynamics Systems with MATLAB and Simulink. CRC
Press, 2011.

https://www.youtube.com/watch?v=2GbOTiI0STY

22
Sistemas de Control Automático 2017

También podría gustarte