Anda di halaman 1dari 25

U

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.

SESIN SIMPLE DE MATLAB


Para arrancar Matlab oprima dos veces sobre el icono del escritorio de Windows

O bien, por el men inicio

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
Laboratorio De Control Clsico

Al arrancar Matlab se observar la siguiente pantalla

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.

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
2
Practica 1 Aprendamos MatLab y Simulink

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.

EL ESPACIO DE TRABAJO DE MATLAB (WORKSPACE)


Matlab mantiene el valor de todas las variables utilizadas, para saber que valor tiene una variable solo
teclee la variable y ENTER. Por ejemplo, para verificar el valor de las variables ans y voltaje, dadas
anteriormente

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
3
Laboratorio De Control Clsico

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.

SALVANDO Y RECUPERANDO DATOS


En adicin a mantener el valor de las variables, Matlab puede almacenar como archivo todas las
variables usadas y recuperarlas posteriormente para otra sesin. Para guardar las variables se usa el
comando Save Workspace As del men File.

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
4
Practica 1 Aprendamos MatLab y Simulink

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
5
Laboratorio De Control Clsico

Ntese que los comandos de matlab deben teclearse en minsculas, de no hacerse as, se mandar un
mensaje de error.

Para borrar todas las variables, se usa clear o clear all.

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
6
Practica 1 Aprendamos MatLab y Simulink

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().

Valor absoluto de un nmero

a = 2 + j * 3; b = -4;
abs(a)

ans =

3.6056

Funcin Seno y seno inverso (El ngulo debe estar en radianes)


f = sin(pi/3), fi = asin(f)*180/pi

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
8
Practica 1 Aprendamos MatLab y Simulink

log10(100)

ans =

Raz cuadrada
sqrt(875)

ans =

29.5804

Obtencin de la parte imaginaria de un nmero complejo


imag(a)

ans =
3

Otras funciones son cos(), acos, tan(), atan(), real(), conj()

ARREGLOS SIMPLES (VECTORES)


Los vectores en matlab se definen por medio de parntesis rectangulares, ejemplo

a = [1 3 0.8 4 6], b = [2+i 0.4-3*j 1 0 5]'

a=

1.0000 3.0000 0.8000 4.0000 6.0000

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 =

Para el tercer y primer elemento del vector b

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

3.0000 + 1.0000i 3.4000 - 3.0000i 1.8000 4.0000

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:

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
10
Practica 1 Aprendamos MatLab y Simulink

t = (0:0.1:2)*pi

t=
Columns 1 through 7

0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850

Columns 8 through 14

2.1991 2.5133 2.8274 3.1416 3.4558 3.7699 4.0841

Columns 15 through 21

4.3982 4.7124 5.0265 5.3407 5.6549 5.9690 6.2832

GRFICOS SIMPLES
Con el vector t definido anteriormente se puede obtener la funcin senoidal dada por
y = sin(t);

que se puede graficar con el comando plot


plot(t, y)
grid
title('Funcin senoidal')
xlabel('tiempo'), ylabel('Seno(t)')

los comandos anteriores nos dan la siguiente grfica

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
11
Laboratorio De Control Clsico

A = [ 1 0 2; 2 -1 3; 3 5 4]

A=
1 0 2
2 -1 3
3 5 4

La transpuesta de esta matriz esta dada por:


B = A'
B=
1 2 3
0 -1 5
2 3 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

El producto de stas matrices es

D=A*B

D=
5 8 11
8 14 13
11 13 50

La inversa de la matriz A es

inv(A)

ans =

-2.7143 1.4286 0.2857


0.1429 -0.2857 0.1429
1.8571 -0.7143 -0.1429

MATRICES ESPECIALES
Matriz identidad o unitaria

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
12
Practica 1 Aprendamos MatLab y Simulink

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.

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
13
Laboratorio De Control Clsico

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
14
Practica 1 Aprendamos MatLab y Simulink

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
15
Laboratorio De Control Clsico

sobre el mensaje desplegado

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

Se observan los siguientes componentes de Continuous: Integrador, derivativo, espacio de estado


funcin de transferencia, etc.
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011
16
Practica 1 Aprendamos MatLab y Simulink

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
18
Practica 1 Aprendamos MatLab y Simulink

Al ejecutar la simulacin deber observar la siguiente seal del osciloscopio

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
19
Laboratorio De Control Clsico

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

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
20
Practica 1 Aprendamos MatLab y Simulink

TABLA 1. Ordenes de Matlab y Funciones Matriciales


rdenes y funciones matriciales
usadas normalmente en la Explicacin de lo que hacen las rdenes y de lo que significan las funciones
resolucin de problemas de matriciales y las sentencias.
ingeniera de control.
abs Valor absoluto, magnitud compleja
angle ngulo de fase
ans Respuesta cuando no se asigna expresin
atan Arco tangente
axis Escalado manual de ejes
bode Representacin en el Diagrama de Bode
clear Borra el espacio de trabajo
clg Borra la pantalla grfica
computer Tipo de computador
conj Complejo conjugado
conv Convolucin, multiplicacin
corrcoef Coeficientes de correlacin
cos coseno
cosh coseno hiperblico
cov Covarianza
deconv Deconvolucin, divicin
det Determinante
diag Matriz diagonal
eig Valores popios y vectores propios
exit Finalizar programa
exp Exponencial base e
expm Matriz exponencial
eye Matriz identidad
filter Implementacin de filtro directo
format long Punto fijo escalado a 15 digitos (Ejemplo: 1.33333333333333)
format long e Punto flotante escalado a 15 digitos (Ejemplo: 1.33333333333333e+000)
format short Punto fijo escalado a 5 digitos (Ejemplo: 1.3333)
format short e Punto flotante escalado a 5 digitos (Ejemplo: 1.3333e+000)
freqs Respuesta en frecuencia de la Transformada de Laplace
freqz Respuesta en frecuencia de la Transformada-z
grid Dibujar rejilla o cuadricula
hold Mantener la grfica actual en la pantalla
i 1
imag Parte imaginaria
inf Infinito ()
inv Inversa
J 1
length Longitud del vector
linspace Vectores espaciados linealmente
log Logaritmo natural
loglog Grfica x-y loglog
logm Logaritmo matricial
logspace Vectores espaciados logaritmicamente
log10 Logaritmo en base 10
lqe Diseo del estimador lineal cuadrtico
lqr Diseo del regulador lineal cuadrtico
M.C. Manuel Amarante Rodrguez
13 de Diciembre del 2011
21
Laboratorio De Control Clsico

Max Valor mximo


mean Valor medio
median Mediana
min Valor mnimo
NaN No es un nmero
nyquist Respuesta a la frecuencia en el Diagrama de Nyquist
Ones Constante
Pi Pi ( )
plot Grfica x-y lineal
polar Grfica polar
poly Polinomio caracterstico
polyfit Ajuste de curva polinomial
polyval Evaluacin polinomial
polyvalm Evaluacin polinomial matricial
prod Producto de elementos
Quit Finalizar el programa
Rand Generacin de nmeros aleatorios y matrices
rank Calcula el rango de una matriz
real Parte real
rem Resto mdulo
residue Expansin en fracciones parciales
rlocus Diagrama del lugar de las races
roots Races de un polinomio
semilogx Diagrama semilogartmico x-y(eje-x logartmico)
semilogy Diagrama semilogartmico x-y(eje-y logartmico)
sign Funcin signo
sin Seno
sinh Seno hiperblico
size Dimensin de una matriz
sqrt Raz cuadrada
sqrtm Raz cuadrada matricial
std Desviacin estandar
step Respuesta a un escaln unitario
sum Suma de elementos
Tan Tangente
tanh Tangente hiperblica
text Posicionado arbitrario de texto
title Titulo de una grfica
trace Traza de una matriz
Who Lista de todas las variables actualmente en memoria
Xlabel Etiqueta en el eje x
Ylabel Etiqueta en el eje y
Zeros Cero

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
22
Practica 1 Aprendamos MatLab y Simulink

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

Operadores relacionales y lgicos


Los siguientes operadores relacionales y lgicos se utilizan en Matlab:

< Menor que


<= Menor que o igual a
> Mayor que
>= Mayor que o igual a
== Igual
~= No igual
& AND
| OR
~ NOT
Observe que = se utiliza en una sentencia de asignacin, mientras que == se emplea en una
relacin.

Caracteres especiales
En Matlab se utilizan los siguientes caracteres especiales:

[] Utilizado para formar matices y vectores


() Precedencia de operacin aritmtica
, Separa elementos y argumentos de fucnin
; final de filas, suprime la impresin
: Generacin de vectores
Ejecucin de orden del sistema operativo
% Comentarios

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
23
Laboratorio De Control Clsico

REPORTE
Como reporte adems de lo solicitado en los requerimientos generales:
Portada
Objetivo
Marco Terico
Desarrollo
Resultados
Conclusiones

Debern incluirse en donde correspondan aplicaciones a ejemplos de las Ordenes de MATLAB y


Funciones Matriciales siguientes:
sqrt, log, log10, exp, format long, format long e, format short, format short e (aplicndolas a los
mismos datos)
abs, conj, imag, real (aplicndolas a los mismos datos)
det, diag, eye, zeros, ones, prod, size, sum (aplicndolas a los mismos datos)

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.

Realizar los siguientes ejemplos de simulaciones:


100
a) En Lazo Abierto para la Funcin de Transferencia G1 s con entrada de un
s 2 9s 100
escaln unitario que inicie en un tiempo de dos segundos.
b) En Lazo Cerrado con Retroalimentacin unitaria para la Funcin de Transferencia

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.

M.C. Manuel Amarante Rodrguez


13 de Diciembre del 2011
25

Anda mungkin juga menyukai