UNNIIV
VEER
RSSIID
DAADDA AUUTTNNOOM
MAADDEENNUUE
EVVO
OLLEE
NN
F
FAAC
CUUL
LTTAADDDDEE IIN
NGGEENNIIE
ERRA
AMMEEC
CN
NIIC
CAAYYEEL
LC
CTTR
RIIC
CAA
D
DEEPPAARRTTAAMMEENNT TO
ODDEEC
COONNT
TRROOL
L
Prctica N 1 Laboratorio de Control Clsico
Aprendamos MatLab y Simulink
La prctica uno de Control Clsico, aunque esta dividida en dos partes, se realizar en
una sola sesin. El reporte ser uno solo para las dos partes
OBJETIVO
Familiarizarse con el modo de operacin de MATLAB y SIMULINK conociendo los comandos
principales que permitan obtener un mejor provecho al manejar el mismo.
COMANDOS Y EXPRESIONES
Los comandos y las expresiones se teclean en matlab como se muestra en la siguiente figura. El
resultado de una expresin se almacena automticamente en la variable ans y se despliega con cuatro
cifras decimales por default.
VARIABLES
Matlab reconoce la diferencia entre minsculas y maysculas, as volts, Volts y VOLTS son tres
variables diferentes. Las variables deben empezar con letra y no deben contener signos de puntuacin
puesto que estos tienen otro significado en Matlab.
Ntese en la figura anterior como la definicin de las variables voltaje y corriente van seguidas por
punto y coma (;), no as la declaracin de la expresin para la potencia. Para Matlab, todo lo que
termina en punto y coma el resultado no se muestra en la pantalla. Puede usarse tambin la coma (,)
como separador de variables, pero el resultado se mostrar en la pantalla.
Nota: Los valores mostrados pueden cambiar en funcin de los valores que se hayan tecleado
Si no se recuerdan las variables utilizadas puede usarse el comando who, que nos muestra todas las
variables que hasta ahora se han usado.
Esto abre el siguiente cuadro de dilogo para teclear el nombre del archivo en el que se guardarn los
datos.
Para borrar todas o una de las variables almacenadas se usa el comando clear. Clear o clear all borra
todas las variables, se requiere espacial cuidado con este comando, ya que no podrn recuperarse. Para
borrar una o ms variables el comando clear va seguido del nombre de la variable o variables. El
siguiente ejemplo borra las variables ans y pot
Ntese que los comandos de matlab deben teclearse en minsculas, de no hacerse as, se mandar un
mensaje de error.
Note que el comando who nos muestra que no hay ninguna variable almacenada. Para recuperar las
variables se usa el comando Open, del men File
Esto abre el cuadro de dilogo para teclear el nombre del archivo donde se almacenaron los datos
(datos.mat)
Puede verificar que las variables se hayan recuperado usando el comando who.
Otros comandos de matlab que puede probar son: whos, clc, help.
FUNCIONES
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011
7
Laboratorio De Control Clsico
Las funciones de matlab son muchas, pero consideraremos aqu solo las bsicas como: abs(), sin(),
asin(), angle(), exp(), log(x), log10(), sqrt() e imag().
a = 2 + j * 3; b = -4;
abs(a)
ans =
3.6056
f=
0.8660
fi =
60.0000
ngulo de un nmero
teta = 180*angle(a)/pi
teta =
56.3099
Exponencial de un nmero
exp(-2)
ans =
0.1353
Logaritmo natural
log(ans)
ans =
-2
Logaritmo base 10
log10(100)
ans =
Raz cuadrada
sqrt(875)
ans =
29.5804
ans =
3
a=
b=
2.0000 - 1.0000i
0.4000 + 3.0000i
1.0000
0
5.0000
Note que para definir un vector columna se utiliza el operador de traspuesta (, comilla). Otra forma
de hacerlo es separar cada elemento del vector por punto y coma (;).
Para direccionar los elementos del vector, segundo y cuarto elemento de a, por ejemplo:
a(2), a(4)
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011
9
Laboratorio De Control Clsico
ans =
ans =
b(3), b(1)
ans =
ans =
2.0000 - 1.0000i
La operacin entre vectores obedece las reglas del lgebra de vectores, ejemplos
c = a + b'
c=
Columns 1 through 4
Column 5
11.0000
d=a*b
d=
34.0000 + 8.0000i
Otra forma de generar vectores de una forma simple es, por ejemplo:
t = (0:0.1:2) * pi, el cual nos genera el vector t cuyos elementos comienzan en 0, tiene incrementos de
0.1 hasta llegar al 2, todos multiplicados por 3.1416, es decir:
t = (0:0.1:2)*pi
t=
Columns 1 through 7
Columns 8 through 14
Columns 15 through 21
GRFICOS SIMPLES
Con el vector t definido anteriormente se puede obtener la funcin senoidal dada por
y = sin(t);
MATRICES
La forma de definir matrices en matlab es parecida a la de vectores; cada elemento de una fila est
separado ya sea por espacio o bien por coma, un rengln se determina por un punto y coma al final del
mismo, por ejemplo
A = [ 1 0 2; 2 -1 3; 3 5 4]
A=
1 0 2
2 -1 3
3 5 4
Tambin, las matrices obedecen las leyes del lgebra de matrices, la resta de las matrices anteriores es
C=A-B
C=
0 -2 -1
2 0 -2
1 2 0
D=A*B
D=
5 8 11
8 14 13
11 13 50
La inversa de la matriz A es
inv(A)
ans =
MATRICES ESPECIALES
Matriz identidad o unitaria
eye(3)
ans =
1 0 0
0 1 0
0 0 1
Matriz cero
zeros(4)
ans =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Matriz de unos
ones(3, 5)
ans =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
Enseguida se presenta la Tabla 1 en la que se presentan las ordenes y funciones matriciales que se usan
en la resolucin de problemas de control.
OBJETIVO
Usar el simulink para crear diferentes funciones de transferencia as como una herramienta capaz de
usarse para la simulacin de sistemas.
INTRODUCCIN AL SIMULINK
El simulink es un toolbox de matlab que permite simular sistemas de control por medio de diagramas
de bloque.
Para arrancar simulink, entramos a matlab, y ah se teclea simulink, como se muestra en la siguiente
figura
Al entrar al simulink, se nos muestra las bibliotecas que contiene, y que son:
Simulink
Aerospace Blockset
CDMA Reference Blockset
Communications Blockset
Constrol System Toolbox
Etc.
La presentacin de las bibliotecas podra cambiar dependiendo de las que se hayan instalado en cada
computadora. La figura tambin nos muestra en la parte superior, cuatro iconos: para crear un nuevo
modelo, para abrir un modelo ya existente, para fijar la pantalla de bibliotecas de forma que siempre
permanezca visible y por ltimo, el icono para bsqueda de bibliotecas.
Cada una de las bibliotecas de simulink contiene un cierto nmero de bloques. Hay dos formas de
accesar los bloques componentes de cada biblioteca, al oprimir sobre el signo + de la biblioteca de
simulink, por ejemplo, se obtiene
Esta misma biblioteca, pero con otra presentacin, se obtiene oprimiendo el botn derecho del ratn
sobre la biblioteca de simulink y despus oprimiendo el botn izquierdo del ratn
Cada bloque de la biblioteca contiene un subconjunto de bloques que son usados para formar la
simulacin deseada. Al hacer doble clic sobre cualquiera de ellos se nos muestran los componentes del
bloque en cuestin, por ejemplo, al seleccionar el bloque de Continuous, se obtiene
Llevaremos a cabo una simulacin simple para efecto de aplicar un poco de lo que se ha visto, para
ello, abrimos el men File, New y seleccionamos Model, para crear la ventana donde efectuaremos la
simulacin mencionada anteriormente
Cierre la ventana de Continuous, y en la biblioteca de simulink haga doble clic sobre Sources para tener
accesibles sus componentes, arrastre con el ratn el componente de Sine Wave (Seal senoidal) a la
ventana del modelo. Puede, si as lo desea, cerrar la ventana correspondiente a componentes de
Sources, y posteriormente abrir la de Sinks, para arrastrar el componente Scope (Osciloscopio) hacia la
ventana del modelo, hasta ahora se tiene lo siguiente
Conecte los dos componentes haciendo clic sobre cualquiera de los puntos de conexin y mantenga
oprimido el botn izquierdo del ratn mientras se mueve hacia el otro punto de conexin del
componente.
Una vez conectados, haga doble clic sobre el osciloscopio para abrir la pantalla que se muestra en la
figura anterior. Al iniciar la simulacin, oprimiendo el icono indicado en la figura anterior, en la
pantalla del osciloscopio aparecer la seal correspondiente; como se muestra en la parte izquierda de
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011
17
Laboratorio De Control Clsico
la siguiente figura. La figura de la parte derecha se obtiene al oprimir el icono de autoescala del
osciloscopio, icono en forma de catalejos.
Para cambiar las caractersticas de la onda senoidal, haga doble clic sobre el componente de Sine Wave
sobre la ventana del modelo, pueden realizarse cambios en la frecuencia, amplitud, fase etc.
Use y observe los iconos del osciloscopio para aumentar y disminuir el tamao de la grfica, cambiar
los ajustes del osciloscopio, imprimir y mantener los ejes.
Realizaremos ahora la simulacin de la funcin de transferencia de un sistema de lazo abierto. Abra la
ventana de un nuevo modelo y arrastre los componentes de las bibliotecas correspondientes, de forma
que se tenga lo siguiente
Haga doble clic sobre el componente funcin de transferencia y realice los cambios siguientes para
obtener la funcin de transferencia deseada
Cambiemos ahora los parmetros de la simulacin para que la seal se inicie en cero. Haga doble clic
sobre el componente Step y cambie el Initial value a 1, como se muestra en la figura siguiente
Oprima el botn OK y ejecute de nuevo la simulacin y observe los cambios en la seal dada por el
osciloscopio, la cual debe ser de la siguiente forma
Salve la simulacin del modelo abriendo File Save del men de la ventana del modelo y abrase uno
nuevo para crear el siguiente diagrama, arrastrando los componentes apropiados. Utilice otras
bibliotecas y abra los componentes haciendo doble clic sobre ellos para ajustarlos.
Cambie los parmetros de la simulacin para ajustar el eje del tiempo de acuerdo a las siguientes
figuras
Conversiones de modelos
Matlab tiene rdenes para las siguientes conversiones de modelos:
Conversin del espacio de estado a funcin de transferencia (ss2tf)
Conversin de funcin de transferencia a espacio de estado (tf2ss)
Conversin del espacio de estado a ceros-polos (ss2zp)
Conversin ceros-polos a espacio de estado (zp2ss)
Conversin de funcin de transferencia a ceros-polos (tf2zp)
Conversin ceros-polos a funcin de transferencia (zp2tf)
Conversin de tiempo continuo a tiempo discreto (c2d)
Operadores matriciales
Los siguientes signos se utilizan en las operaciones matriciales:
+ Suma
- Resta
* Multiplicacin
^ Potencia
Transpuesta conjugada
Caracteres especiales
En Matlab se utilizan los siguientes caracteres especiales:
REPORTE
Como reporte adems de lo solicitado en los requerimientos generales:
Portada
Objetivo
Marco Terico
Desarrollo
Resultados
Conclusiones
Es necesario presentar las pantallas en el reporte en Word y dar una explicacin de cada orden de
MATLAB y explicar como se realizaran manualmente. En las pantallas deber aparecer la carga de
datos y como son los mismos para varias ordenes se pueden presentar varias ordenes en la misma
pantalla agregando comentarios.
Realizar sobre las mismas matrices las siguientes operaciones:
Suma
Resta
Multiplicacin
Transpuesta
Inversa
Multiplicacin de una matriz por su inversa
Es necesario presentar las pantallas en Word y explicar como se realizan manualmente cada una de
estas operaciones matriciales. En una pantalla deber aparecer la carga de datos y como son los mismos
para todas las operaciones se pueden realizar varias operaciones en la misma pantalla.
Realizar las grficas de respuesta en el tiempo de sen(t), cos(t), tan(t) para dos ciclos completos. En una
pantalla debern aparecer los carga de los datos y como son los mismos para las tres grficas en
pantallas separadas se presentara cada grfica.
G2 s
100
con entrada de un escaln de valor 2 que empiece en tiempo cero.
ss 9
Para cada simulacin hay que incluir en la impresin las pantallas de donde se cargo la entrada, la
funcin de transferencia, y el dispositivo de salida aclarando cual se escogi y las pantallas donde se
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011
24
Practica 1 Aprendamos MatLab y Simulink
acoplaron los parmetros, as como la grfica de respuesta en el tiempo del sistema todo acompaado
de una explicacin clara de cmo se realizo cada paso.
Como complemento se dar un explicacin breve de la diferencia entre Respuesta en el Tiempo y
Simulacin y como se logra una y otra en Simulink.