13
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA SIMULACIÓN, CONTROL Y AUTOMATIZACIÓN DE PROCESOS GUIA DE LABORATORIO Nº 1 2015-V TEMA: HERRAMIENTAS BASICAS DEL MATLAB I. COMPETENCIA: Identificar el entorno de trabajo y las herramientas que nos proporciona el Matlab para su aplicación en la teoría del control automático de Procesos Industriales. II. PROCEDIMIENTO: Matlab es un programa interactivo útil en computación numérica y visualización de datos; los ingenieros en control lo usan extensivamente en análisis y diseño. Están disponibles muchas diferentes "toolboxs" las cuales extienden aún más las funciones básicas del Matlab a diferentes áreas; en estos tutoriales haremos uso extensivo de la toolbox de control de sistemas (Control Systems Toolbox). Vectores Comencemos creando algo simple, como un vector. Entre cada elemento del vector (separado por un espacio) y entre corchetes, y asígnelo a una variable. Por ejemplo, para crear el vector “a”, entre en la ventana de comandos de Matlab: >> a = [1 2 3 4 5 6 9 8 7] Matlab devolverá: a = 1 2 3 4 5 6 9 8 7 Si ahora se quiere crear un vector con elementos desde 0 a 20 a incrementos de 2 (esto se usa mucho en la creación de vectores tiempo): >> t = 0:2:20 t = 0 2 4 6 8 10 12 14 16 18 20 Manipular vectores es tan fácil como crearlos. Primero suponga que hay que sumar 2, a cada elemento en el vector 'a'. La ecuación que lo logra se ve: >>b = a + 2 b = 3 4 5 6 7 8 11 10 9 Ahora suponga que quiere sumar dos vectores. Si los mismos tienen igual longitud, es sencillo. Simplemente súmelos como se muestra abajo >> c = a + b

Guia de Laboratorio 1 2015-V

  • Upload
    henry

  • View
    213

  • Download
    1

Embed Size (px)

DESCRIPTION

verano universidad nacional del callao

Citation preview

Page 1: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

SIMULACIÓN, CONTROL Y AUTOMATIZACIÓN DE PROCESOSGUIA DE LABORATORIO Nº 1

2015-V

TEMA: HERRAMIENTAS BASICAS DEL MATLAB

I. COMPETENCIA:

Identificar el entorno de trabajo y las herramientas que nos proporciona el Matlab para su aplicación en

la teoría del control automático de Procesos Industriales.

II. PROCEDIMIENTO:

Matlab es un programa interactivo útil en computación numérica y visualización de datos; los ingenieros

en control lo usan extensivamente en análisis y diseño. Están disponibles muchas diferentes "toolboxs"

las cuales extienden aún más las funciones básicas del Matlab a diferentes áreas; en estos tutoriales

haremos uso extensivo de la toolbox de control de sistemas (Control Systems Toolbox).

Vectores

Comencemos creando algo simple, como un vector. Entre cada elemento del vector (separado por un

espacio) y entre corchetes, y asígnelo a una variable. Por ejemplo, para crear el vector “a”, entre en la

ventana de comandos de Matlab:

>> a = [1 2 3 4 5 6 9 8 7]

Matlab devolverá:

a = 1 2 3 4 5 6 9 8 7

Si ahora se quiere crear un vector con elementos desde 0 a 20 a incrementos de 2 (esto se usa mucho en

la creación de vectores tiempo):

>> t = 0:2:20

t = 0 2 4 6 8 10 12 14 16 18 20

Manipular vectores es tan fácil como crearlos. Primero suponga que hay que sumar 2, a cada elemento

en el vector 'a'. La ecuación que lo logra se ve:

>>b = a + 2

b = 3 4 5 6 7 8 11 10 9

Ahora suponga que quiere sumar dos vectores. Si los mismos tienen igual longitud, es sencillo.

Simplemente súmelos como se muestra abajo

>> c = a + b

c = 4 6 8 10 12 14 20 18 16

La resta de vectores de la misma longitud trabaja exactamente de la misma manera.

Funciones

Matlab incluye muchas funciones estándar. Cada función es un bloque de código que lleva a cabo una

tarea específica. Matlab contiene todas las funciones estándares como sin, cos, log, exp, sqrt, así como

tantas otras. También incorpora las constantes comúnmente usadas como “pi”, e “i” o “j” para la raíz

cuadrada de -1.

>> Sin (pi/4) ans = 0.7071

Page 2: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

Plot

Es muy sencillo crear figuras en Matlab. Suponga que necesite plotear una onda senoidal como función

del tiempo. Primero defina un vector tiempo (el punto y coma luego de cada sentencia obliga a Matlab a

no mostrar los resultados) y luego calcule el valor del seno en cada momento.

>> t = 0:0.25:7;

>> y = sin (t);

>> plot(t,y)

La figura contiene aproximadamente un período de la onda senoidal. Este tipo de figuras es muy sencillo

en Matlab, y el comando “plot” tiene muchas opciones agregadas.

MATLAB puede generar gráficos planos y gráficos de malla de superficies tridimensionales.

Para el manejo de gráficos planos, la instrucción “plot” crea gráficos en el plano XY; si x e y son vectores

de la misma longitud, la instrucción plot(x, y) accede a la pantalla gráfica y realiza un gráfico plano de los

elementos de x versus los elementos de y.

Por ejemplo, se puede dibujar la gráfica de la función y =sen (2.x), sobre el intervalo [-4,4] con las

siguientes instrucciones:

>>t = - 4: 0.01: 4;

>>y = sin (t). ^2;

>> plot(t,y)

Las instrucciones pueden escribirse en forma horizontal separadas por el operador “;” como se ha hecho

en este caso ó se las puede ejecutar una por una.

En el ejemplo anterior, cabe notar que t es una partición del dominio con paso 0.01 mientras que y es un

vector (la función sin es vectorial) debido a que toma los valores del seno para todos los valores de dicha

partición. De ahí que se utiliza el operador con arreglos (. ^ ) .

Page 3: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

Diferentes funciones pueden dibujarse sobre una misma figura; para ello basta definir cada función con

nombre diferente y ejecutar la instrucción; Ejemplo plot (t, y1, t, y2)

Puede ponerse título, comentarios en los ejes o en cualquier otra parte con los siguientes comandos que

tienen una cadena como argumento:

title (‘título del gráfico’)

xlabel (‘comentario en el eje x’)

ylabel (‘comentario en el eje y’)

gtext texto posicionado interactivamente

text texto posicionado mediante coordenadas

grid cuadriculado en el gráfico

subplot permite dividir la pantalla para visualizar varios gráficos a la vez

Polinomios

En Matlab, un polinomio se representa por un vector. Para crear un polinomio, simplemente ingrese cada

coeficiente del mismo, en un vector en orden descendente (no omita el 0).

Por ejemplo, quisiera entrar el siguiente polinomio:

Para hacerlo en Matlab, nada más entre el vector

>> x = [1 3 -15 -2 9]

x = 1 3 -15 -2 9

Matlab puede interpretar un vector de longitud n+1 como un polinomio de grado n. Por lo tanto, si el

polinomio no tiene algunos coeficientes, es necesario que entre los ceros apropiados en el vector. Por

ejemplo,

Se representaría en Matlab como:

y = [1 0 0 0 1]

Puede hallar el valor de un polinomio con la función polyval. Por ejemplo, para hallar el valor

en s=2 en el polinomio de arriba,

>> z = polyval ([1 0 0 0 1] ,2)

z = 17

Puede también sacar las raíces de un polinomio. Esto es muy útil cuando se tiene un polinomio

de alto grado como

Hallar las raíces es tan sencillo como entrar el siguiente comando;

>> roots ([1 3 -15 -2 9])

ans = -5.5745 2.5836 -0.7951 0.7860

Page 4: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

Digamos que quiere multiplicar dos polinomios. El producto de dos polinomios se halla tomando la

convolución de sus coeficientes. La función conv del Matlab lo hará.

>> x = [1 2];

>> y = [1 4 8];

>> z = conv(x, y)

z = 1 6 16 16

La división de dos polinomios es también sencilla. La función deconv devuelve tanto el resultado cuanto

el resto. Dividamos z por y, y veamos si se obtiene x.

>> [xx, R] = deconv (z, y)

xx = 1 2

R = 0 0 0 0

Como puede ver, este es el mismo polinomio/vector x de arriba. Si y no es raíz de z, el vector R resto

hubiese sido distinto de cero.

Matrices

Definir matrices en Matlab es lo mismo que entrar un vector, excepto que cada renglón de elementos

debe separarse por un punto y coma (;). Ingrese:

>> B = [1 2 3 4; 5 6 7 8; 9 10 11 12]

B =1 2 3 45 6 7 89 10 11 12

>> B = [1 2 3 4 5 6 7 8 9 10 11 12]

B = 1 2 3 4 5 6 7 8 9 10 11 12

En Matlab las matrices pueden manipularse de distintas maneras. Una de ellas puede encontrar la

transpuesta de una matriz de reales con la tecla apóstrofo:

C = B'

C =12

...12

Debe notarse que si B hubiese sido complejo, Matlab hubiese devuelto la transpuesta conjugada. Para

obtener siempre la transpuesta sólo, use.' (Punto apostrofo, los dos comandos son iguales si la matriz no

es compleja).

Ahora puede multiplicar dos matrices B y C. Recuerde que el orden tiene importancia en el producto de

matrices.

D = B * C,

Page 5: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

D = 650 (la matriz de 1x1)

D = C * B,

D = la matriz de 12x12

Otra opción en la manipulación de matrices es que se puede multiplicar los elementos correspondientes

de dos matrices utilizando el operador.* (punto-por, para hacer esto las matrices deben tener la misma

dimensión).

>> E = [1 2; 3 4] >> F = [2 3; 4 5] >> G = E.* F

E = F = G =1 2 2 3 2 63 4 4 5 12 20

Si se tiene una matriz cuadrada como la matriz E, puede efectuarse la potencia de E las veces que se

quiera, lo que equivale a multiplicarla por sí misma n veces. E^3

ans =37 5481 118

Y si se quiere elevar al cubo cada elemento de la matriz basta con: E. ^3 ans =

1 827 64

Para calcular la inversa de la matriz E:

X = inv (E)

X =-2.0000 1.00001.5000 -0.5000

Aún más, hay una función que encuentra los coeficientes del polinomio característico de una matriz. La

función "poly" crea un vector con los coeficientes del polinomio característico en orden descendente.

>> p = poly (E)

>> p = 1.0000 -5.0000 -2.0000

Recuerde que los autovalores de una matriz son los mismos que las raíces de su polinomio característico:

>> Roots (p)

ans = 5.3723 -0.3723

APLICACIONES

1. Considere la siguiente matriz:

Indique el resultado de las siguientes operaciones y que significa cada una de ellas (utilice Matlab):

a. A (:,1)

b. A (2, :)

c. A (:,2:3)

d. A (:,1:2:3)

2.Grafique las siguientes funciones.

Los vectores deberían tener al menos 200 puntos para su graficación.

Page 6: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

3.Utilizando el comando “subplot”, grafique las funciones del numeral anterior

4.Graficar la función seno y considerar el eje tiempo de 0 a 7, con intervalos de 0.25.

5.Interpretar la gráfica siguiente:

t= [0: pi/20: pi];

y=cos (t);

plot(t,y);

grid

SIMULACION, CONTROL Y AUTOMATIZACIÓN INDUSTRIALGUIA DE LABORATORIO Nº 2

TEMA: MATLAB APLICADO AL CONTROL AUTOMÁTICO

I. COMPETENCIA:

Page 7: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

Desarrollar criterios para el uso correcto de la librería de bloques del SIMULINK de Matlab para el

modelado del los sistemas de control de procesos automáticos.

II. CONCEPTOS PREVIOS:

2.1 El uso del Simulink de Matlab

• Herramienta gráfica incorporada a Matlab, que permite de forma más fácil definir el modelo de

sistemas de muy diferentes tipos (no solo LTI) y aplicaciones.

• Los elementos de trabajo de un modelo de Simulink son objetos o iconos, agrupados en librerías que

proporciona el paquete integrado de Matlab para las distintas aplicaciones.

• El fichero asociado a cada modelo es un *.MDL, que puede ser abierto como un fichero *.M

cualquiera (tiene una estructura especial pero el funcionamiento es el mismo).

• Se puede llamar a la librería de bloques de Simulink (ventana Simulink) desde la ventana de

comandos tecleando “Simulink”, o abrir directamente un fichero *.MDL

2.2 Pasos a seguir para trabajar con Simulink:

Definición gráfica del modelo a simular con las librerías de Matlab para Simulink

Simulación del modelo y análisis de resultados, que se pueden mostrar directamente en Simulink o a través de

Matlab enviando los resultados al entorno de trabajo.

2.3 Librerías de Simulink

Posee librerías distribuidas en función de la aplicación. Tiene una librería básica, llamada Simulink,

con el siguiente contenido:

Sources (fuentes de señal)

Sinks (sumideros o almacén de resultados)

Continuous

Discrete

No linear

Signals&Systems (buses, multiplexores y demultiplexores, puertos para enviar señales de un modelo

a otro, etc.)

Math (trigonométricas, aritméticas, etc.)

Funciones y tablas (llamadas a funciones de Matlab o de usuario y tablas de look-up)

2.4 Objetos Básicos de Simulink

• Fuentes: Emisores de información (Generadores de señales, señal rampa, impulso)

Procesos: Bloques de E/S de todos los tipos antes mencionados

Page 8: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

Destinos: Receptores de información

Conexiones: Son unidireccionales. Hipotéticos cables.

2.5 Creación de un Modelo Simulink

Para generar un diagrama de bloques, una vez abierto un fichero *.MDL nuevo y con ventana de

Simulink, se sigue el siguiente proceso:

1. Se abre la librería donde se encuentra el elemento necesario.

2. Para copiar un objeto de la sesión de trabajo, basta con seleccionar el objeto y arrastrarlo.

3. Para hacer una conexión entre una salida y una entrada, se posiciona el cursor sobre la salida de

la fuente o la entrada, se pulsa el botón izquierdo del ratón y sin soltarlo se desplaza el cursor hasta

el otro punto que se desea unir.

4. Haciendo doble click sobre los elementos copiados se modifican los parámetros de éste.

III. PROCEDIMIENTO:

Aplicación 1:

Realizar el diagrama de bloques de la figura:

Visualizar el resultado de la simulación del modelo del ejemplo anterior.

Solución:

1. Se entra en Simulink y se abre una ventana

nueva.

2. Se abre la librería Continuos y se copian el

bloque sumador y F.T.

3. Se abre la librería Sources y se copia el

bloque escalón (Step input)

4. Se abre la librería Sinks y se copia el bloque

Scope

5. Se unen mediante el ratón los bloques.

Page 9: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA

6. Se editan los bloques para que aparezcan como en la figura (en el bloque “Trasnfer Fcn” Numerator y

Denominator han de contener los coeficientes del polinomio correspondiente en potencias decrecientes

de ‘s’).

En el ejemplo:

Numerator: [1 2]

Denominator: [1 2 5]

Aplicación 2:

Realizar el diagrama de bloques de la figura:

Visualizar el resultado de la simulación del modelo del ejemplo anterior.

Aplicación 3:

Realizar el siguiente diagrama de bloques y representar desde MATLAB la señal de salida

Reemplazando al generador de señal, utilice un señal tipo escalón unitario y una señal tipo rampa.

Visualizar el resultado de la simulación del modelo del ejemplo anterior.

¿Para qué sirve el multiplexor?

Aplicación 4:

Realizar el siguiente diagrama de bloques y representar desde MATLAB la señal de salida.

Page 10: Guia de Laboratorio 1 2015-V

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA