Anda di halaman 1dari 20

2 M ATLAB para mecatronica

Captulo

a
eg
om
Material Web
Simulink 2
fa
GUIDE 15
Al
2 MATLAB para mecatr
onica

2.1. 2.1 Simulink

imulink es un ambiente interactivo de programaci on de bloques para modelar y simular una gran
S
gr
variedad de sistemas din amicos y est aticos con estructura lineal y no lineal. Se trata de un entorno
afico que representa al sistema como una interconexi on de bloques elementales, cada bloque lleva asociado
un modelo matem atico que incluye la relacion entrada/salida; combina potencia de programaci on y facilidad
de uso del paquete de aplicacion con flexibilidad y extensibilidad de un lenguaje de programaci
on en bloques.

a
Simulink permite seleccionar, adaptar y crear componentes de software y hardware para facilitar diversas
aplicaciones con necesidades especficas.

eg
2.1.1
2.1.1. Entorno gr
afico de Simulink

Simulink proporciona un entorno gr afico al usuario que facilita el an


alisis, dise
no y simulaci
on de sistemas,
om
incluye una serie de rutinas que resuelven calculos matematicos de fondo, junto con una interfase sencilla para
programacion de diagrama de bloques. Simulink usa diagramas interconectados de bloque para representar
sistemas din
amicos y est aticos, posteriormente son compilados y ejecutados para llevar a cabo la simulaci on
del proceso. Al iniciar Simulink, se obtiene una ventana como la que se muestra en la figura 2.1 que
corresponde al navegador de libreras ibrary browser) de Simulink.
fa
Al

Figura 2.1 Sesi


on de inicio del ambiente integrado de Simulink.

Alfaomega nica. Control y Automatizacio


Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.1 Simulink 3

En esta ventana se muestran todas las libreras disponibles; cada una de ellas contiene bloques elementales
con los que se pueden construir sistemas. Las libreras de bloques est andar est
an organizadas como
subsistemas. Para utilizar el ambiente gr afico de programacion de Simulink existen diferentes modos para
iniciar una sesi
on de trabajo, se puede escribir Simulink desde la ventana de comandos de MATLAB. Tambien
es posible acceder al programa desde el bot on Simulink ubicado en la barra de botones de MATLAB o
simplemente abrir un nuevo archivo con la extensi on mdl.

a
2.1.2
2.1.2. Bibliotecas de Simulink

Las libreras de Simulink (Simulink Library Browser) contiene un conjunto de componentes como fuentes

eg
de senales y voltaje, funciones de perturbaci on, dispositivos para la presentaci
on y desplegado de datos
y resultados, sistemas lineales y no lineales, conectores para flujo de se nal, medidores de senales como
osciloscopios, as como herramientas para crear nuevos bloques requeridos por el usuario. Las componentes
b
asicas del Simulink se ilustran en la la figura 2.2.
om
fa
Al

Figura 2.2 Navegador de libreras m


as comunes

La ventana de libreras de Simulink permite seleccionar los componentes b


asicos de modelado para realizar
simulaci
on en base a diagramas de programaci on con bloques interconectados simulaci
on. En las ventanas de
nica. Control y Automatizacio
Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
4 MATLAB para mecatr
onica

modelo se dibujan los diagramas de bloques para realizar simulaci


on del sistema a estudiar o analizar. Estas
ventanas aparecen cuando se abre un modelo ya existente o se crea una ventana o plantilla en blanco para
dibujar nuevos modelos. Para esto, se pueden utilizar los botones de la ventana de la librera de Simulink.

A continuacion se describen algunos de los componentes b


asicos m
as utilizados para implementar simulaci
on
de sistemas:

Bus Creator: genera de un bus de las se


nales. la representaci
on en el diagrama o dibujo.

a
Parametro n
umero de entradas. Admite tanto
Bus Selector: selecciona las se
nales de bus de
entradas escalares como vectoriales.
entrada.

eg
Out1: por cada salida que se debe a
nadir se
Constant: proporciona una se
nal de valor
debe incluir uno de estos bloques.
constante.
Product: calcula el producto escalar de sus
Data Type Conversion: convertir la se nal de
entradas. Un parametro del bloque permite
entrada al tipo de datos especificado.
om
Demux: permite la descomposici on de los
regular el n
umero de entradas al mismo.

datos puestos en forma vectorial en una Saturation: la se


nal de salida no sobrepasa un
lnea mediante un multiplexador. Par
ametro valor umbral, configurable en los par ametros
n umero de salidas. del bloque.

Gain: aplica una ganancia constante a la Scope: representa gr


aficamente la evoluci
on en
el tiempo de una variable o se
nal.
fa
entrada.

In1: por defecto un subsistema no tiene Subsystem: permite la realizaci on de sistemas


entradas. Por cada entrada que se debe de jer
arquicos. Al abrir el subsistema, permite in-
a
nadir se debe incluir uno de estos bloques. cluir en su interior, nuevos bloques construc-
Al

tivos e incluso anidar nuevos subsistemas.


Integrator: la salida del bloque se corresponde
a la integral de la entrada. Los par ametros Sum: calcula la suma de todas las entradas.
del bloque permiten controlar el valor inicial Un par ametro permite indicar el n umero de
de la salida, as como la existencia de lmites entradas y si estas deben invertirse antes de
superiores e inferiores en la salida. la suma. Ejemplo: un valor para el par ametro
++-+ indicara que el bloque tiene 4 entradas y
Mux: permite la inclusi on de un conjunto de
la tercera de ellas se invierte antes de sumarla.
se
nales en una u
nica lnea de transmisi
on (que
transmite datos vectoriales), lo que facilita Switch: una entrada del sistema permite
Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.1 Simulink 5

seleccionar cual de las otras dos entradas se Trigonometric Function: en este bloque se
presenta en la salida. incluyen todas las funciones trigonometricas
tpicas.
Continuos: modelos que representan funciones
continuas en el tiempo. Discontinuities: Bloques con funciones discon-
tinuas.
Derivative: la salida del bloque se corresponde
a la derivada de la entrada. Dead Zone: incluye una zona muerta en el
sistema, centrada en torno al cero. El sistema

a
Transfer Fcn: permite expresar una funci on no responde ante estos valores. La magnitud
de transferencia en el dominio de la variable de la zona muerta pude modificarse y hacerse

eg
compleja s. Sus par
ametros son los polinomios simetrica por medio de los par ametros del
del numerador y del denominador de la sistema.
funci
on de transferencia, expresados como
vectores filas. Relay: la salida pasa a un estado ON=1
cuando la entrada supera un valor umbral y
om
Transport Delay: la salida del bloque corres- OFF=0 cuando se encuentra por debajo de un
ponde con la entrada al mismo retrasada una umbral distinto. El estado inicial es OFF.
cantidad de tiempo, que se fija como par
ame-
tro en el bloque. Signals Routing: manejo de sistemas y se
nales.

Zero-pole: Funci
on de transferencia expresada Data Store Memory: define una variable del
en funci
on de la ganancia en regimen perma- entorno de trabajo que se va a utilizar
fa
nente, y la situaci
on de los polos y ceros del como lugar de almacenamiento de datos u tiles
sistema. para evitar realizar conexiones complejas que
compliquen el diagrama de bloques que se
Math Operations: bloques que realizan opera- est
a implementando.
Al

ciones matem
aticas sobre sus entradas.
Sinks: sumideros de se
nales.
Abs: calcula el valor absoluto de su entrada.
Display: representa numericamente el valor de
Math Function: este bloque incluye la mayor una variable o se
nal.
parte de las funciones matematicas tpicas, con
la excepci
on de las funciones trigonometricas. To Workspace: guarda el valor de la se nal
indicada en una variable del entorno de
Sign: calcula el signo de la entrada +1 indica trabajo del Matlab. Se puede asignar el
positivo, -1 indica negativo y 0 un valor nulo. nombre de la variable y limitar su tama
no.
nica. Control y Automatizacio
Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
6 MATLAB para mecatr
onica

To File: guarda en n fichero tipo .mat los datos la variable, junto a los instantes de tiempo en
de la se
nal de entrada a este bloque. que toma cada valor.

Stop Simulation: detiene la simulaci on si el Pulse generator: genera una onda cuadrada, o
valor de la entrada es distinto de Cero. pulso rectangular, de la que se puede controlar
la amplitud, el perodo que dura esta amplitud
Sources: Fuentes de se
nales. y la relaci
on entre el tiempo que la onda toma
su valor maximo y el tiempo que toma el valor
Chirp Signal: genera una se nal senoidal, mnimo.

a
modulada en frecuencia entre un valor inicial
y final. Ramp: genera una se nal tipo rampa, o funci
on

eg
lineal de pendiente constante.
Clock: tiempo se lleva la simulaci
on.
Random Number: genera n umeros aleatorios
From Workspace: proporciona una secuencia distribuidos normalmente.
de datos tomadas del entorno de trabajo
Signal Generator: simula un generador de
de Matlab. La variable seleccionada debe
om
contener una matriz indicando los valores de
se
nales electr
onico, permitiendo generar ondas
senoidales, dientes de sierra, ondas cuadradas
la se
nal y los instantes de tiempo en los que la
o aleatorias.
se
nal toma cada valor.
Sine Wave: generador de ondas senoidales.
From File: proporciona datos tomados de un
fichero tipo .m en el que debe estar el valor de Step: genera una se
nal tipo escal
on.
fa
Insertar y pegar bloques
Al

Para generar un nuevo modelo se pulsa el bot


on nuevo modelo, apareciendo el espacio de trabajo de un
modelo como se muestra en la figura 2.3.

Buscar un bloque: Se puede buscar un bloque expandiendo el arbol de la biblioteca o busc


andolo directamente
por su nombre en la ventana de busqueda. En este caso, si hay mas de un bloque que pueda corresponder a
ese nombre, ir
an apareciendo a medida que se pulse la tecla enter.

Situar un bloque: Para situar un bloque, se mantiene pulsado el bot


on izquierdo del rat
on sobre el icono en
forma de rombo que hay junto al nombre del bloque y se arrastra hacia la posici on deseada en la ventana
de simulaci
on como se presenta en la figura 2.4.
Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.1 Simulink 7

a
eg
Figura 2.3 Nuevo modelo
om
fa
Al

Figura 2.4 Insertando bloques

Conectar bloques: En cada bloque, los puntos de salida aparecen indicados mediante una flecha saliente del
bloque, mientras que los puertos de entrada a cada bloque se indican con una flecha entrante al mismo.
Se conecta la entrada de un bloque a la salida de otro, manteniendo pulsado el bot on izquierdo del raton
mientras se arrastra desde el smbolo de entrada de uno de los bloques hasta el de salida de otro o viceversa
como se muestra en la figura 2.5.
nica. Control y Automatizacio
Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
8 MATLAB para mecatr
onica

a
eg
Figura 2.5 Conectando bloques y uso del osciloscopio

Un ejemplo b
om
asico incluira la seleccion de dos componentes Simulink \Sources \Sine Wave y
Simulink\Sinks\Scope de la ventana (Simulink Library Browser), y el arrastre de los mismos hasta la
ventana de dibujo. En el caso de este ejemplo b asico, para conectar el generador de se nales y el osciloscopio,
simplemente se debe situar el raton sobre el punto de salida del generador, pulsar el bot
on izquierdo, arrastrar
el rat
on hasta el punto de entrada del osciloscopio y soltar el boton del rat
on. Este programa ser a guardado
con el nombre simu1.mdl; pulsar el bot on de play para realizar la simulacion del programa como se muestra
fa
en la figura 2.5.

Bifurcaciones
Al

Para llevar la salida de un bloque a la entrada de m as de un elemento se necesita generar una bifurcaci
on
en la conexi on. Para hacerlo, se arrastra con el rat
on desde la entrada del nuevo bloque a conectar hasta la
lnea de la conexi
on que se va a bifurcar.

Modificar bloques

Se pueden rotar o aplicar simetras para modificar a los bloques usados, seg
un convenga la colocacion de
entradas/salidas para el esquema que se este realizando pulsando sobre el el boton derecho del raton y
utilizando los men
us desplegables o mediante la opci on Format del men u principal (Format Flip Block,
Format Rotate Block, etc). Tambien mediante los men us o haciendo doble clic sobre el bloque, se pueden
Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.1 Simulink 9

modificar sus par


ametros.

Insertar textos

Se puede incluir un texto aclaratorio o informativo en cualquier parte de la ventana del modelo, haciendo
doble clic en una zona libre y escribiendo directamente el texto. Tambien se pueden cambiar los nombres
y posiciones de los bloques que se emplean para la simulaci on antes o despues de conectarlos. As mismo
los enlaces de las conexiones pueden moverse o modificarse. Para eliminar cualquier elemento basta con

a
seleccionarlo con un clic y eliminarlo con la tecla Supr o delete, o utilizar alguno de los men
us.

2.1.
Ejemplo 2.1

eg
Realizar un programa en diagrama de bloques para Simulink que obtenga la derivada de una se
nal
senoidal. om
Soluci
on

Para realizar este problema, primero es conveniente realizar una copia del archivo simu1.mdl (ver figura
2.5) como simu2.mdl usando la opcion (File Save as).

Ahora se coloca un bloque derivador de la se nal senoidal y un bloque bus creator como se presenta en la
figura 2.6, se realiza un click en el bot
on play para realizar la simulaci
on.
fa
Al

Figura 2.6 Modelo con un derivador de una se


nal senoidal.



nica. Control y Automatizacio


Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
10 MATLAB para mecatr
onica

2.2.
Ejemplo 2.2

Realizar un programa en diagrama de bloques para Simulink que obtenga la integral y derivada de
una se
nal senoidal.

Soluci
on

Renombrando el archivo simu2.mdl como simu3.mdl se inserta un bloque integrador como se presenta en

a
la figura 2.7 (pulasar play).

eg
om
fa
Figura 2.7 Modelo con un derivador e integrador de la se
nal senoidal.


Al

2.3.
Ejemplo 2.3

Realizar un programa en diagrama de bloques que reproduzca el audio de la suma de tres se


nales
senoidales y su desplegado en un osciloscopio.

Soluci
on

La figura 2.8 muestra el programa en diagrama de bloques simu4.mdl el cual contiene tres ondas senoidales
con diferente frecuencia conectadas a un bloque sumador cuya la salida es conectada a una bocina para
Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.1 Simulink 11

reproducir el audio de la composici


on de las tres se
nales senoidales.

Tambien se despliegan en un bloque osciloscopio las formas de cada una de las se


nales que producen el
sonido en el elemento ac
ustico.

a
eg
om
Figura 2.8 Modelo con tres se
nales senoidales con distinta frecuencia conectadas a un bloque de audio.


fa
2.4.
Ejemplo 2.4

1
Muestrear la respuesta a un escal
on de una funci
on de transferencia de segundo orden s2 +ss+1
con un
Al

retenedor de orden cero, cuyo periodo de muestreo es de 0.2 segundos.

Soluci
on

La figura 2.9 muestra el programa simu5.mdl contiene una senal con entrada escal
on unitario a la funci
on
de transferencia de segundo orden en tiempo continuo cuya salida es muestreada por un retenedor de orden
cero con periodo de muestreo de 0.2 segundos.

La gr
afica de la simulaci
on con este retenedor de orden cero se puede observar en lado derecho de la figura
2.9.
nica. Control y Automatizacio
Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
12 MATLAB para mecatr
onica

a
eg
om
Figura 2.9 Modelo de funci
on de transferencia en lazo abierto



2.5.
Ejemplo 2.5

Realizar un programa en Simulink que implemente la siguiente ecuaci


on diferencial:
fa
d x1 0 2 x1 0
      
= + u
dt x2 0.5 0.1 x2 1

donde la se
nal u es una funci
on escal
on unitario.
Al

Soluci
on

En la parte superior de la figura 2.10 se muestra el programa simu6.mdl con la programaci


on en diagrama
de bloques interconectados que implementa a la ecuaci on diferencial solicitada.

En la programaci on de los diagrama de bloques se emplean bloques de amplificadores operacionales para


implementar las ganancias de las constantes. Adem as, tambien se hace uso de dos bloques integradores.
La aceleraci
on x 2 pasa por el primer integrador para obtener la velocidad x2 la cual pasa por el segundo
integrador para obtener la posici
on x1 . Se emplea un bloque bus creator para desplegar las se
nales del sistema
Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.1 Simulink 13

sobre un bloque medidor tipo osciloscopio.

a
eg
om
Figura 2.10 Modelo de ecuaci
on diferencial y respuesta a un escal
on unitario.

fa
2.6.
Ejemplo 2.6

Realizar un programa en Simulink que controle la posici


on de un motor de DC.
Al

Soluci
on

El programa que controla la posicion de un motor de corriente directa se denomina simu7.mdl y se describe en
la figura 2.11. Este programa utiliza bloques b
asicos de control proporcional integral (PI) para la regulaci
on
de velocidad y par o torque aplicado al motor. Tambien se emplea un bloque de motor de DC el cual admite
como entrada el voltaje de armadura y torque.

La salida que produce es la posici


on del motor, la corriente de la armadura y la se
nal de frecuencia que
est
a directamente relacionada con la velocidad de movimiento del motor.
nica. Control y Automatizacio
Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
14 MATLAB para mecatr
onica

a
eg
om
Figura 2.11 Modelo de control de posici
on de un motor de DC.
fa
Al


Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.2 Interfaz Gr
afica de Usuario 15

2.2. 2.2 Interfaz Gr


afica de Usuario

L a interfaz gr afica de usuario de MATLAB recibe el nombre de Graphical User Interface Development
Enviroment (GUIDE), es la manera en que el usuario puede interactuar con un programa de forma
sencilla, de tal forma que permite trabajar intuitivamente. Contiene diferentes elementos gr aficos tales como:
botones, barras deslizantes, campo de texto, men us, gr
aficos, inspector de propiedades, etc.

a
2.2.1
2.2.1. Entorno GUIDE

eg
GUIDE proporciona un entorno gr afico al usuario que facilita el diseno de aplicaciones por medio de
bloques para representar enlaces din
amicos generando una interfaz gr afica al usuario para interactuar con
el programa.
om
Existen varias formar para iniciar una sesi
ventana de comandos por teclear:
on de trabajo con GUIDE; una posible puede ser empleando la

fx >> GUIDE

Otra forma puede ser por acceder al programa desde el bot


on GUIDE en la barra de botones del entorno de
MATLAB o simplemente por abrir un archivo con extensi on gui.
fa
Cuando se inicia el ambiente GUIDE se obtiene una ventana como la que se muestra en la figura 2.12, hay
dos opciones de trabajo sobre esta ventana inicial: una puede ser para crear una nueva aplicaci
on GUI o
abrir alguna ya existente.
Al

Para crear una nueva aplicaci


on, se deben tomar en cuenta las siguientes opciones:

Interfaz gr
afica en blanco

Presenta una interfaz gr


afica en blanco (Blank GUI) la cual viene en forma predeterminada con un formulario
nuevo, en el cual se puede dise nar el programa como se ilustra en la figura 2.13. Observe la paleta de
componentes disponibles; cada una de ellas contiene bloques elementales con los que se pueden construir la
interfaz. Cada uno de estos elementos tienen un conjunto de propiedades en las cuales se puede acceder con

nica. Control y Automatizacio


Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
16 MATLAB para mecatr
onica

a
eg
Figura 2.12 Inicio del entorno GUIDE.
om
fa

Figura 2.13 Sesi


on nueva en blanco.
Al

el bot
on derecho del mouse, una vez pulsado este aparece la siguiente imagen como lo indica la figura 2.14:

Para editar las propiedades de cada elemento se selecciona la opci on Properties Inspector y se abre una
consola, la cual variar
a seg
un que elemento que se este editando. Las propiedades que se pueden editar son:
color, posici
on, tamano, tipo de letra, etc. como se muestra en la figura 2.15:

Tambien es posible insertar men


us con opciones para abrir, cerrar e imprimir archivo. El formulario tiene
men
us tipo popup menu, un bot on para pulsar (push button) y un objeto para realizar ejes gr
aficos.
Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.2 Interfaz Gr
afica de Usuario 17

a
eg
Figura 2.14 Propiedades del elemento.
om
fa
Al

Figura 2.15 Editor de inspector de propiedades.

nica. Control y Automatizacio


Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega
18 MATLAB para mecatr
onica

Las aplicaciones realizadas en GUIDE constan de dos archivos, uno de ellos es ejecutable en MATLAB con
extensi
on .m; tiene una estructura predeterminada con encabezado y c odigo correspondiente de las funciones
o subrutinas para realizar las actividades programadas. El segundo archivo es la parte gr afica con extensi
on
.fig; ambas partes estan unidas a traves de las subrutinas callback. Una vez que se graba la aplicaci
on .fig
desde del entorno GUIDE, autom aticamente tambien lo hace para el archivo asociado .m ; la aplicaci on se
puede ejecutar en la ventana de comando de MATLAB escribiendo el nombre del archivo que tiene extensi on
.m; por ejemplo, si se guarda con el nombre gui1.fig de manera autom atica se graba el archivo gui1.m.
En la ventana de comando se puede teclear

a
fx >> gui1

eg
se ejecuta el programa de la figura 2.16.

om
fa
Al

Figura 2.16 Ejemplo de una interfaz gr


afica de usuario.

Pulsando el bot
on derecho en cada uno de los iconos que utiliza GUIDE se llama al inspector de propiedades
y se puede cambiar los valores contenidos, por ejemplo el nombre del Static text, no posee una funci on
asociada, pero s una direcci
on, que se puede utilizar para escribir comentarios. Para saber cu al es esta
direcci
on, tambien se puede hacer doble click en esta componente, y se ubica la etiqueta Tag y String como
se muestra en la figura 2.17:

La figura 2.18 presenta una interfaz gr


afica donde el usuario introduce una serie de datos de un sistema
Alfaomega nica. Control y Automatizacio
Mectro n Fernando Reyes, Jaime Cid y Emilio Vargas
2.2 Interfaz Gr
afica de Usuario 19

a
eg
om
Figura 2.17 Inspector de Propiedades para el componente Static Text.

masa resorte amortiguador sencillo.


fa
Al

Figura 2.18 Programa GUI de sistema masa, resorte y amortiguador

nica. Control y Automatizacio


Mecatro n Fernando Reyes, Jaime Cid y Emilio Vargas Alfaomega

Anda mungkin juga menyukai