Вы находитесь на странице: 1из 72

APLICACIONES DE

SIMULINK AL CONTROL
AUTOMATICO
Miguel A. Snchez Bravo
masb2009@hotmail.com
Docente URP

Breve introduccin a
Simulink
Simulink modela, simula y analiza
sistemas dinmicos. Tambin es una
herramienta para el diseo de sistemas de
control.
Simulink trabaja con sistemas lineales y no
lineales, modelados en tiempo continuo,
tiempo discreto, o un hbrido de los dos.
Cientficos e ingenieros usan Simulink para
modelar y resolver problemas reales en una
variedad de industrias.

Breve introduccin a
Simulink
Simulink proporciona una interfaz grfica de
usuario (GUI) para la construccin de
modelos
como diagramas de bloques.
Simulink posee una amplia biblioteca de
bloques tales como salidas, fuentes,
componentes lineales y no lineales, y los
conectores. Si estos bloques no cumplen
sus necesidades, tambin puede crear sus
propios bloques.

Breve introduccin a
Simulink
Para ingresar a Simulink se escribe Simulink sobre la
ventana de comandos de Matlab o se pulsa el botn
Simulink de la barra superior.

Breve introduccin a
Simulink

Breve introduccin a
Simulink

Breve introduccin a
Simulink

Breve introduccin a
Simulink

Simulink est estrechamente integrado con el entorno


de MATLAB. Se requiere MATLAB para ejecutar un
diagrama Simulink, previa configuracin de los
bloques.Hay seis pasos para modelar un sistema:

1
2
3
4
5
6

Definir el sistema.
Identificar los componentes del sistema.
Modelar el sistema con ecuaciones.
Construir el diagrama de bloques Simulink.
Ejecutar la simulacin.
Validar los resultados de la simulacin.

Se debe realizar los tres primeros pasos de este


proceso fuera del software Simulink antes de
comenzar la construccin de su modelo.

Breve introduccin a
Simulink

En resumen Simulink permite:


Dibujar elementos y conexiones en una ventana
grfica. Las conexiones indican el recorrido de las
seales de un elemento a otra.
Los elementos se los extrae de la biblioteca del
propio Simulink, e inclusive se pueden crear nuevos
elementos.
Los resultados se obtienen como salida de algunos
elementos,
pudindose
almacenar,
ver
grficamente, etc.
Los datos o seales de entrada pueden obtenerse
de salidas de variables especiales, del disco o de
variables utilizadas en MATLAB.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Considere el sistema motor DC acoplado a una carga.


i
w
u

Ecuaciones:
di
u = Ri + L -- + Kbw
dt
dw
Kmi Bw = J --dt

(1)

(2)

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

De las ecuaciones diferenciales se despejan las


derivadas de mayor orden:
di
1
-- = -- ( u Ri - Kbw )
(3)
dt
L
dw
1
--- = -- ( Kmi Bw )
dt
J

(4)

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
Para

representar este sistema en Simulink, utilizaremos los bloques


integrador (Integrator) ubicado en la categora Continuous ,
sumador (Sum) y multiplicador por constante (Gain) , que se
encuentran dentro de la categora Math Operations .
Los bloques integrador permiten obtener a partir de di(t)/dt la seal
i(t) y de dw(t)/dt la seal w(t).
Los bloques sumador permiten sumar/restar seales.
Los bloques multiplicador o ganancia permiten multiplicar un bloque
por una constante.
Para simulacin utilizaremos el bloque escaln (Step) de la categora
Sources y la salida ser observada en el bloque osciloscopio
(Scope) y almacenada en el bloque (To Workspace) de la categora
Sinks.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
El diagrama bloques de simulacin ser

En Step, poner Step Time=0.


En To Workspace, poner un nombre a la variable (en este caso w) y
poner formato como Array.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
Construccin
1

del esquema de simulacin:

Creacin de la ventana de diseo : Desde la ventana


Simulink Library Browser hacer clic sobre el botn New
model. Se abrir una ventana en blanco, donde se dibujar el
esquema.
2 Introduccin de los bloques en el esquema : Se realiza
arrastrndolos con el mouse desde la ventana que contiene los
bloques hacia la ventana de diseo.
3 Modificacin de parmetros : Los bloques permiten una
cierta configuracin. Para esto se debe hacer doble clic sobre el
bloque, apareciendo una ventana de parmetros.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
Construccin

del esquema de simulacin:


4 Interconexin de bloques : Para conectar dos elementos debe
hacerse un arrastre con el mouse desde la salida de uno de ellos hasta
la entrada del elemento correspondiente pulsando botn izquierdo. La
forma de crear una rama nueva sobre una conexin ya existente es
similar pero pulsando botn derecho. Para girar 180 los bloques, se
les selecciona y se elige la opcin Flip block del men Format.
5 Simulacin : Se realizar la simulacin con la opcin Start del
men Simulation y se hallar el resultado haciendo doble clic sobre
el bloque Scope.
6 Guardar el modelo : Escoja Save as ... desde el men File e
ingrese un nombre al modelo y gurdelo.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Simulacin:
En primer lugar ir a la ventana de comandos de
Matlab e ingresar los valores numricos de los
parmetros. En este caso: J=0.01; B=0.1; Km=0.01;
R=1; L=0.5; Kb=0.01;
En la ventana donde est el modelo del sistema,
ingrese
a Simulation Configuration
Parameters, para modificar si es necesario
algunos parmetros de simulacin como:
Tiempo inicial y tiempo final.
Opciones de integracin numrica (Tipo, mtodo, otros)

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Simulacin:
Se realizar la simulacin con la opcin Start del
men Simulation, o pulsando botn Start.
Se observar el resultado haciendo doble clic sobre
el bloque Scope.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Simulacin:
Ir a Matlab y observe que se ha creado la variable w
con los valores de la velocidad calculados. Si
escribe:
>> plot(tout,w)
Obtiene tambin la grfica de la velocidad vs
tiempo.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Simulacin:
Si desea observar el comportamiento de otras
variables, como por ejemplo la corriente, adicione
otro bloque Scope en i, vuelva a simular, abra este
bloque.
El bloque Scope permite tambin guardar
los resultados de la simulacin en una
variable de Matlab. Veamos:
Ahora haremos clic sobre el botn Parameters del
bloque
Scope
para
abrir
su
configuracin.
Seleccionamos Data History y marcamos la opcin
Save data to workspace . Adems asignamos un
nombre a la variable en la que deseamos guardar los
datos, por ejemplo veloc.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Simulacin:
Luego especificamos el formato Array para los datos,
que quiere decir que se guardarn en forma de vector.
Nuevamente realizamos la simulacin y en la ventana de
comandos averiguamos la dimensin de la variable veloc
, con: >> size(veloc)
ans = 60
2
Es decir es una matriz de 60 filas y 2 columnas. La
primera columna contiene los instantes de tiempo y la
segunda los valores que toma la variable en cada
instante.
Desde la ventana de comandos de Matlab , podemos
graficar la variable veloc , con
>> plot(veloc(:,1),veloc(:,2))

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Creando un subsistema:
Cuando un esquema Simulink incrementa en
tamao y complejidad, se le puede simplificar
agrupando bloques en un subsistema:
Encierre los bloques que formarn el subsistema
con el mouse. En el ejemplo visto agruparemos
todos los bloques, excepto los de entrada y salida.
Escoja Create Subsystem desde el men Edit.
Simulink
reemplaza
todos
los
bloques
seleccionados
por
el
bloque
Subsystem,
obtenindose:

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Si se abre el bloque Subsystem aparecen los


bloques seleccionados.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Enmascarando un subsistema:
Con la finalidad de realizar un esquema mas
general, que permita ingresar los valores de los
parmetros directamente mediante una ventana, se
puede enmascarar un subsistema de la siguiente
manera:
Seleccione el bloque subsistema a enmascarar y
escoja Mask Subsystem desde el men
Edit .
Se abre la ventana Mask Editor: Subsystem .

Ejemplo 1:Modelo y simulacin


de sistema motor - carga

Seleccione Parameters e ingrese datos de los parmetros

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
En Prompt el nombre que describe al parmetro.
En Variable el nombre de la variable que almacenar
el valor del parmetro.
En Type el estilo de ingreso de los parmetros.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
Ahora seleccione Documentation de la ventana Mask
Editor: Subsystem y se abre la ventana donde se puede
ingresar: La descripcin del subsistema en Mask
description , y el texto de ayuda para uso del subsistema
en Mask help .

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
Presione Apply y OK. Haga doble clic en el bloque
subsistema y se abrir la ventana Function Block
Parameters: Subsystem, donde observar la descripcin e
ingresar los valores de los parmetros. Acepte y luego efecte
la simulacin.

Ejemplo 1:Modelo y simulacin


de sistema motor - carga
Si en la ventana Function Block Parameters: Subsystem,
se pulsa Help, aparecer el texto de ayuda que fue ingresado
previamente.

Finalmente luego de observar los resultados de la simulacin se


debe dar la interpretacin fsica para obtener las conclusiones

Ejemplo 2:Modelo y simulacin de


sistema no lineal: pndulo simple
Considere el pndulo mostrado en el cual se desea
controlar su posicin angular .
Variables de estado:
x1 =
x2 = d/dt

Ecuaciones de estado (a simular):


dx1/dt = x2
dx2/dt = (1/m.L2).u (g/L).senx1

Ejemplo 2:Modelo y simulacin de


sistema no lineal: pndulo simple

Para
representar
este
sistema
en
Simulink,
utilizaremos los bloques integrador (Integrator)
ubicado en la categora Continuous , sumador
(Sum) y multiplicador por constante (Gain) , que se
encuentran dentro de la categora Math Operations.
Tambin se emplear el bloque Trigonometric
Function
(sin)
tambin
dentro
de
Math
Operations.
Para simulacin utilizaremos el bloque constante
(Constant) de la categora Sources y las salidas
sern observadas en los bloques osciloscopios (Scope)
de la categora Sinks.

Ejemplo 2:Modelo y simulacin de


sistema no lineal: pndulo simple
El diagrama bloques de simulacin ser

Ejemplo 2:Modelo y simulacin de


sistema no lineal: pndulo simple

Simulacin:
Luego de ingresar los parmetros en la ventana de
comandos de Matlab. Se v a simular que
inicialmente el pndulo se desplaza 0.1 rad de su
posicin vertical y se suelta con velocidad inicial
cero, sin aplicar torque (u=0).
Para lo cual configure los siguientes bloques como
sigue:
Constant Constant value: 0
Integrator Initial condition: 0.1
Integrator 1 Initial condition: 0

Ejemplo 2:Modelo y simulacin de


sistema no lineal: pndulo simple

Simulacin:
El resultado de la simulacin ser:
x1: posicin angular
x2: velocidad angular

Ejemplo 2:Modelo y simulacin de


sistema no lineal: pndulo simple

Otra forma de construir el diagrama de


simulacin
Cuando se tienen sistemas de orden alto con gran
nmero de no linealidades, se recomienda emplear los
bloques Fcn ubicado en la librera User-Defined
Functions, en donde se escriben los segundos
miembros de las ecuaciones, empleando como
variables los trminos u(i), donde i indica el orden en
que est la seal a la entrada del bloque Mux.
El bloque Mux que se ubica en la librera Signal
Routing, se emplea cuando la ecuacin est en base
a dos o mas seales.

Ejemplo 2:Modelo y simulacin de


sistema no lineal: pndulo simple
El diagrama bloques de simulacin ser

Ejemplo 3: Anlisis lineal

A partir del diagrama Simulink se puede analizar la


respuesta del sistema lineal y no lineal (previa
linealizacin automtica). Se puede obtener la
respuesta temporal al escaln, al impulso,
diagramas de Bode, de Nyquist, plano con polos y
ceros. Tambin calcula la funcin de transferencia
entre los puntos del sistema que seleccione.

Para explicar su funcionamiento se emplear el


diagrama de bloques dibujado en Simulink para el
ejemplo 1.

Ejemplo 3: Anlisis lineal

Ejemplo 3: Anlisis lineal

El siguiente paso ser definir las variables de


entrada y de salida. Para ello nos situaremos sobre
las flechas que porten las variables de inters y
pulsando
el
botn
derecho
del
ratn
seleccionaremos si se trata de un punto de entrada
(Input point) o de salida (Output point) en la
entrada de men Linearization points.
En este caso vamos a analizar entre el voltaje de
entrada u y la velocidad de salida w, por lo que el
Input point lo ubicaremos sobre u y el Output point
sobre w.

Ejemplo 3: Anlisis lineal


Para el caso del input point se procede as:

Ejemplo 3: Anlisis lineal


En la siguiente figura se muestran los smbolos que
indican que u es una variable de entrada y w de salida,
tras haber realizado el proceso anterior.

Ejemplo 3: Anlisis lineal


A continuacin ingresaremos a la ventana Linear
Analysis desde el men Tools Control Design
Linear Analysis
Luego se abre la ventana Control and Estimation Tools
Manager, mostrando las variables de entrada y salida
Escogidas.

Ejemplo 3: Anlisis lineal

Ejemplo 3: Anlisis lineal


Para obtener el modelo pulsaremos el botn
Linearize Model. Tras ello, nos aparecer la
ventana LTI Viewer: Linearization Quick Plot.
Inicialmente el LTI Viewer nos mostrar la
respuesta ante el escaln unitario entre la
salida y la entrada indicadas.

Ejemplo 3: Anlisis lineal


Pulsando con el botn derecho del mouse podremos
obtener las caractersticas de la respuesta, seleccionando
Characteristics.

Ejemplo 3: Anlisis lineal


Por ejemplo si seleccionamos Settling Time (tiempo de
establecimiento), se obtiene lo siguiente, ubicando el
mouse sobre el punto.

Ejemplo 3: Anlisis lineal


Pulsando con el botn derecho del mouse podremos
cambiar el tipo de respuesta con Plot Types.
Se podr mostrar el diagrama de Bode, el plano
de polos y ceros, el diagrama de Nyquist, etc.

Ejemplo 3: Anlisis lineal


Por ejemplo si seleccionamos Bode nos mostrar los
Diagramas de Bode.

Ejemplo 3: Anlisis lineal

Clculo de la funcin de transferencia:


Iremos a: File Export en la ventana LTI Viewer:
Linearization Quick Plot.
Se abrir la ventana LTI Viewer Export con los
sistemas que tengamos almacenados. En este caso
slo habr uno. Su nombre puede variar, en este
caso le llama Model. Podemos cambiar el nombre
de exportacin en la casilla Export as.

Ejemplo 3: Anlisis lineal

Seleccionamos el sistema que nos interese exportar


pulsando con el mouse sobre l, y luego pulsamos
Export to Workspace. Si tenemos el Matlab configurado
para mostrar la ventana Workspace, podremos ver ah
el sistema exportado.

Ejemplo 3: Anlisis lineal

Para ver el modelo, que est en variables de


estado, en la ventana Command Window de
Matlab escribimos su nombre, obteniendo:

Ejemplo 3: Anlisis lineal

Para obtener el modelo en funcin de transferencia


y en polos y ceros utilizaremos el comando tf y zpk:

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Matlab ha desarrollado interfaces grficas de


usuario (GUI), que permiten analizar y disear
sistemas de control de una manera simple,
siempre que se conozca la teora de control
correspondiente.

Una de ellas es sisotool, la cual abre una ventana


mostrando el diagrama de LGR y el de Bode.
Para ingresar slo escriba sisotool en la ventana
de comandos de Matlab, y se abren dos ventanas:

Control and Estimation Tools Manager


SISO Design for SISO Design Task

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Vamos a ilustrar su uso para el modelo G1 de la


planta encontrada en el Ejemplo 3, la cual ya est
en el workspace de Matlab:

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

En primer lugar, analizaremos el control de la


planta con realimentacin negativa empleando
un controlador proporcional: C(s) = K.
En la ventana SISO Design for seleccione:
File Import , abrindose la ventana: System
Data, donde seleccionamos G y pulsamos Browse

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

En la ventana Model Import seleccionamos G1


para G y pulsamos Import y luego Close.

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Regrese a la
ventana SISO
design for ,
y observar el
LGR,
y
diagramas de
Bode de lazo
abierto y lazo
cerrado.
Los
cuadraditos
son las races
cuando C(s) =
1

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Para ver la
respuesta
del sistema
a
una
entrada
escaln
unitario, ir a
Analysis
Response
to
Step
Command.

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Se aprecia una respuesta con error estacionario


alto.

Para mejorar la respuesta, con el mouse mueva


las races para que sean complejas (se est
aumentando la ganancia del controlador K.

Automticamente se actualizan los diagramas de


Bode y la respuesta al escaln, como sigue:

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Mejor
la
respuesta,
ms rpida,
pero
sigue
teniendo
error
estacionario.
Se debe a
que le falta
integrador
(polo
en
orgen).

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ahora calcularemos un controlador PI para eliminar


el error estacionario:
K ( s + 1/Ti)
C(s) = ----------s
Aplicando
cancelacin
polo-cero,
seleccionamos el cero del controlador que
cancele al polo de la planta ubicado en
-2.003: 1/Ti = 2.003
Ahora ir a la ventana Control and Estimation
Tools Manager, seleccione Compensator Editor

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Sobre
ventana
Dynamics,
pulse botn
derecho del
mouse,
seleccione
Add
Pole/Zero

Integrator.

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Realice
lo
mismo pero
ahora: Add
Pole/Zero

Real
Zero
y
ponga
la
ubicacin
del cero en
-2.003

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ahora
regrese a la
ventana LTI
Viewer for
y observe
la respuesta,
ya no hay
error
estacionario.

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Para mejorar
la respuesta,
con
el
mouse
mueva
las
races hasta
-5 +/-j5

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ahora regrese a la
ventana
LTI
Viewer for y
observe
la
respuesta, es ms
rpida, no tiene
error estacionario y
un
sobreimpulso
adecuado (4.4%).
La F.T C(s) del
controlador
calculado se ve
en la ventana
Control and Est

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

Ejemplo 4: Diseo de controlador PI


mediante Lugar geomtrico de las races

El controlador PI calculado tiene como F.T:


50.453 ( 0.5s + 1)
100.9 ( s + 2 )
C(s) = ---------------- = ------------s
s

Guarde el diseo pulsando sobre Store Design.

Вам также может понравиться