18
UNIVERSIDAD NACIONAL EXPERIMENTAL “FRANCISCO DE MIRANDA” COMPLEJO ACADÉMICO EL SABINO PROGRAMA DE INGENIERÍA QUÍMICA DPTO DE MECÁNICA Y TECNOLOGÍA DE LA PRODUCCIÓN DINÁMICA Y CONTROL DE PROCESOS PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL Y SIMULINK PROFESOR: PROF. Ing. Esp. Carlos A. Pérez PUNTO FIJO; octubre de 2014

PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Embed Size (px)

Citation preview

Page 1: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

UNIVERSIDAD NACIONAL EXPERIMENTAL “FRANCISCO DE MIRANDA”

COMPLEJO ACADÉMICO EL SABINOPROGRAMA DE INGENIERÍA QUÍMICA

DPTO DE MECÁNICA Y TECNOLOGÍA DE LA PRODUCCIÓNDINÁMICA Y CONTROL DE PROCESOS

PRÁCTICA Nº 1INTRODUCCIÓN A MATLAB TOOLBOX DE

CONTROL Y SIMULINK

PROFESOR:

PROF. Ing. Esp. Carlos A. Pérez

PUNTO FIJO; octubre de 2014

Page 2: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

INTRODUCCIÓN

Matlab es la abreviatura de Matrix Laboratory (laboratorio de matrices). Creado en

1984 por The MathWorks, es un software de cálculo muy usado en universidades, centros

de investigación y por ingenieros. En los últimos años ha incluido muchas más

capacidades, como la de programar directamente procesadores digitales de señal, crear

código, etc.

Con esta práctica se pretende realizar una introducción al uso del paquete de

modelado, simulación y análisis de sistemas dinámicos SIMULINK. Este paquete forma

parte de MATLAB, y permite la simulación interactiva de sistemas, es decir, se pueden

cambiar los parámetros e inmediatamente ver lo que sucede. SIMULINK se ha convertido

en el paquete de software más ampliamente utilizado para modelar y simular sistemas

dinámicos en el mundo académico y en la industria. La práctica se estructura de la

siguiente forma: en primer lugar se realizará una introducción al entorno de SIMULINK,

para posteriormente ver un modelo de demostración proporcionado por este entorno.

También, se creará un modelo de simulación sencillo y un modelo clásico basado en

ecuaciones diferenciales. Finalmente se propone al alumno la creación y simulación del

modelo de un sistema eléctrico.

PROF. Ing. Esp. Carlos A. Pérez

Page 3: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

OBJETIVOS

Iniciación en la utilización de la herramienta de simulación de sistemas dinámicos

SIMULINK.

BÁSES TEÓRICAS

¿QUÉ ES MATLAB?.• Paquete software orientado al cálculo numérico, matrices, procesamiento y análisis de laseñal y gráficas.

DISTINTOS CAMPOS DE ACCIÓN (APLICACIONES): Teoría de control Tratamiento de señales Inteligencia artificial Diseño de sistemas de potencia Control de procesos mecánicos, de aviación, automoción, etc. Financiero Mapeo y tratamiento de imágenes Instrumentación y adquisición de datos identificación de sistemas

VARIOS PROGRAMAS INCLUIDOS

o � MATLAB: Núcleo operativo de la herramienta matemáticao Toolboxes: Librerías de funciones MATLAB asociadas a las diferentes aplicaciones

(Stateflow y Sisotool, interfaz gráfico, control neuronal y borroso)o Simulink: Interfaz gráfico para el modelado y simulación de sistemaso Blocksets: Bloques Simulink para aplicaciones específicas

DIFERENTES TIPOS DE ARCHIVOS:*.M (Ficheros por lotes (*.bat) sobre S.O. MATLAB)*.MAT (Fichero de datos de MATLAB)*.DLL (Ficheros ejecutables sobre Windows diseñados con MATLAB)*.MDL (Modelos de Simulink)Otros (*.fis, *.tbl, etc. para toolboxes de control borroso, stateflow y otros paquetes)

PROF. Ing. Esp. Carlos A. Pérez

Page 4: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

ENTORNO DE TRABAJOVARIAS VENTANAS DE TRABAJO DENTRO DE MATLAB

- Ventana de comandos:Directamente sobre S.O. MATLAB

- Entorno de trabajo (Workspace):Visualiza las variables definidas en cada instante

- Editor de ficheros *.m: Editor inteligente (colores e indentado) con depurador pasoa paso y visualización de variables internas

- Editor de ficheros *.mdl: Editor gráfico para diseñar modelos de Simulink- Elección del directorio de trabajo: Explorador de Windows- Figuras: Potente editor de figuras con posibilidad de incluir textos, cambiar el

formato, etc.

PROF. Ing. Esp. Carlos A. Pérez

Page 5: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

DIAGRAMA DE BLOQUES Es un modelo grafico que representa el modelo matemático de un determinadosistema dinámico. Simulink es una librera (toolbox) de Matlab que permite representar eldiagrama de bloques de un sistema y a continuación proceder a su simulacion.

El programa se inicia escribiendo simulink en la pantalla de comandos de Matlab otambién pulsando con el ratón en el icono coloreado de Simulink que aparece en laventana de comandos.

PROF. Ing. Esp. Carlos A. Pérez

Page 6: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

La librería “Simulink” contiene los bloques necesarios para simular un sistemamediante técnicas convencionales, las demás librerías son herramientas adicionales que seutilizan para aplicaciones específicas de control avanzado. En la Figura 2 se muestra elcontenido de la librería Simulink.

En la figura 3, se pueden observar los bloques más utilizados en la simulación deprocesos. Estos se encuentran en hacer clic en el signo (+) de cada librería. Pueden serutilizados al hacer clic sobre ellos y arrastrándolos sobre la hoja de trabajo.

PROF. Ing. Esp. Carlos A. Pérez

Page 7: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

NOTAS SOBRE EL USO DE MATLAB.•Los bloques pueden ser movidos al arrastrase con el botón izquierdo del mouse y puedenser copiados al hacer clic sobre ellos con el botón izquierdo del mouse y arrastrando lacopia creada.

•Los bloques se deben unir mediante flechas. Esto se logra haciendo clic en la flecha desalida del bloque deseado y conectándola (sin soltar el botón), a la flecha del bloque quese desea unir.

•Para que las modificaciones en el programa hagan efecto este deberá ser grabadodespués de realizar los cambios.

•Al hacer clic con el botón derecho sobre una señal, se podrá obtener una “línea” de estaseñal para llevarla o conectarla a un bloque deseado.

•Al barrer el mouse sobre un grupo de bloques se podrán mover estos a la vez y copiarlosen grupo.

•El “save format” de los “workspace” debe ser colocado en “array” para poder “graficar”las variables deseadas posteriormente

PROF. Ing. Esp. Carlos A. Pérez

Page 8: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

Si pulsamos en el icono superior izquierdo de la ventana de la figura 2 (página enblanco), se abre una ventana blanca sobre la que iniciaremos la creación de un modelo desimulación. Dicha ventana se muestra en la figura 5.

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

• Destinos: Receptores de información

• Conexiones: Son unidireccionales. Hipotéticos cables.

PROF. Ing. Esp. Carlos A. Pérez

Page 9: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

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 yarrastrarlo3. Para hacer una conexión entre una salida y una entrada, se posiciona el cursor sobre lasalida de la fuente o la entrada, se pulsa el botón izquierdo del ratón y sin soltarlo sedesplaza el cursor hasta el otro punto que se desea unir4. Haciendo doble click sobre los elementos copiados se modifican los parámetros de éste.(Admiten parámetros que sean variables de Workspace)

PROF. Ing. Esp. Carlos A. Pérez

Page 10: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

ACTIVIDAD Nº 1Realizar el siguiente diagrama de bloques

1. Se entra en Simulink y se abre una ventana nueva.2. Se abre la librería continuous y se copian los bloques 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 scope5. Se unen mediante el ratón los bloques.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 correspondienteen potencias decrecientes de ‘s’). En el ejemplo:

Numerator [1 2]Denominator [1 2 5]

7. Se salva el fichero (*.MDL).

CONFIGURACIÓN DE LA SIMULACIÓN• Es importante configurar la simulación antes de realizarla. Para ello, en el menú principalde la ventana del modelo (*.MDL) creado con Simulink ir a Simulation Parameters• Permite configurar diferentes características sobre la simulación, a saber:

- La forma de resolver el sistema de ecuaciones diferenciales que componen elmodelo diseñado en Simulink y al tiempo de simulación

PROF. Ing. Esp. Carlos A. Pérez

Page 11: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

- Las variables de salida que ha de generar la simulación en el entorno de trabajo deMATLAB

Otros parámetros avanzados de simulación, como la configuración de los avisos y erroresque ha de generar la simulación por conexiones incorrectas, o la configuración de lacompilación del modelo con la herramienta RTW

• Con respecto al paso de SIMULACIÓN, es necesario tener en cuenta ciertos aspectosbásicos:

- El paso de simulación es el intervalo de integración de los algoritmos de resolucióndel modelo

- Se puede definir variable (lo fija Simulink en función del modelo concreto asimular) en todos los casos excepto en la generación de código RTW

- Si el paso de simulación es muy bajo el tiempo de ejecución elevado (puntosexcesivos), y si es muy bajo la resolución es peor (se pierde definición del sistema),pudiendo incluso llegar a no representar correctamente el comportamiento delsistema al no cumplir la teoría de sistemas muestreados (al fin y al cabo lasimulación de sistemas continuos con Simulink pretende representar sucomportamiento real en el tiempo)

- Una regla práctica es hacer que el paso de simulación sea al menos de la décimaparte del tiempo de subida de la respuesta del sistema

• Con respecto a las variables de salida de Simulink, es necesario comentar también unpunto:

- Se pueden pasar las respuestas de las simulación al Workspace de MATLAB a travésde los bloques “to Workspace” de Simulink

PROF. Ing. Esp. Carlos A. Pérez

Page 12: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

- Convendrá también tener en el entorno de trabajo el array de tiempo con el que seha generado la simulación

- Éste se puede generar con un bloque “Clock” de Simulink y pasarlo a MATLAB delmismo modo, pero también se puede usar la variable tout que se generaautomáticamente si así se indica en la configuración de la simulación

- La variable yout que se genera del mismo modo contiene el resultado de lasseñales conectadas a puertos de salida del modelo de Simulink

ACTIVIDAD Nº 2Variar el modelo anterior para implementar el siguiente sistema. Visualizar desde MATLABy desde Simulink los resultados (variable Salida frente al tiempo)

Desde Simulink: con el bloque Scope:

Desde MATLAB:

>>plot(tout, Salida);o>>plot(tiempo, Salida);

PROF. Ing. Esp. Carlos A. Pérez

Page 13: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

LA TOOLBOX DE CONTROL DE MATLAB• Funciones de aplicación específica para ingeniería de control de sistemas. Son ficheros*.M• Sirve tanto para control continuo como para control discreto, clásico (en espaciostransformados sobre sistemas LTI) y de otros tipos (variables de estado, borroso, neuronal,robusto, no lineal, etc.)• En los dos campos permite realizar tareas de: modelado, conversión de modelos yanálisis de respuesta temporal, frecuencial y en espacios transformados• Las herramientas para obtención de los modelos de los sistemas se encuentran en otraToolbox: la de identificación• Todas las funciones de control se encuentran en la demo de control que se ejecuta con elcomando MATLAB: ctrldemo

MODELADO DE SISTEMAS DE CONTROL CONTINÚO• Las funciones de la toolbox en MATLAB permiten trabajar solo sobre sistemas lineales einvariantes continuos y discretos en el tiempo, y en espacio transformado• Permiten representar los sistemas LTI mediante 4 modelos diferentes en los espaciostransformados (‘s’ para sistemas continuos y ‘z’ para sistemas discretos):� Función de transferencia� Función Polo-Cero� Descomposición en fracciones simples� Variables de Estado

FUNCIÓN DE TRANSFERENCIA• El formato Función de Transferencia (FT) corresponde con representaciones del siguientetipo:

ACTIVIDAD Nº 3Obtenga el modelo MATLAB del siguiente sistema en formato FT:

A TRAVÉS DE UN FICHERO SCRIPT, O DE COMANDOS DE MATLAB:

num=[3 2 1]; %numeradorden1=[1 4 1]; %primer polinomio del denominadorden2=[1 5]; %segundo polinomio del denominadorden=conv(den1,den2); %multiplicación de dos polinomios

PROF. Ing. Esp. Carlos A. Pérez

Page 14: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

ACTIVIDAD Nº 4Obtenga el modelo MATLAB del siguiente sistema en formato ceropolo:

MEDIANTE UN FICHERO SCRIPT:

K=4; %constante del sistemaZ=[-1 –2]; %ceros del sistemaP=[-3 –4 –5]; %polos del sistema

CONVERSIÓN ENTRE FORMATOS• Las siguientes funciones permiten realizar conversiones entre los distintos formatos derepresentación de sistemas

ACTIVIDAD Nº 5Transformar de formato función de transferencia a formato polo cero la siguiente función:

En MATLAB:num1=10;num2=[1 10]; %(s+10)num3=[1 0 0 1]; % (s^3+1)NUM=conv(num1,(conv(num2,num3)));den1=[1 0]; % (s)den2=[1 2]; % (s+2)den2=conv(den2,den2); %Generando (s+2)^2den3=[1 10 100]; %(s^2+10s+100)den4=[1 2 0 0 -10]; %(s^4+2s^3-10)DEN=conv(den1,conv(den2,conv(den3,den4)));[Z,P,K]=tf2zp (NUM,DEN); %CONVERSIÓN A CERO POLO

PROF. Ing. Esp. Carlos A. Pérez

Page 15: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

GENERACIÓN DE DIAGRAMA DE BLOQUES, CONEXIÓN DESISTEMAS

• La toolbox de MATLAB para control incluye también funciones para resolver lasfunciones de transferencia expresadas mediante diagrama de bloques.

• Las siguientes funciones permiten realizar conexiones entre los distintos bloques queconforman un sistema de control.

ACTIVIDAD Nº 6Obtener la función de transferencia total del sistema que se muestra a continuación,suponiendo que se parte del conocimiento del numerador y el denominador de cadabloque del diagrama

EN MATLAB, DE LA SIGUIENTE FORMA:

[NUM,DEN]=feedback(NUMZP, DENZP, NUMTF,DENTF,-1);[NUM,DEN]=cloop(NUM, DEN,-1);

FUNCIONES DE ANÁLISIS DE SISTEMAS CONTINUOS DE LA TOOLBOX DE CONTROL (I)• Conjunto de instrucciones que facilitan el análisis de la respuesta temporal, frecuencial ylugar de las raíces de un sistema de control.• En este punto solo se van a presentar las funciones relacionadas con el análisis temporal

RESPUESTA TEMPORAL• Se usa para obtener características temporales del régimen transitorio y del permanenteo estacionario, de la respuesta de un sistema a entradas diversas• Las funciones de la toolbox de MATLAB utilizadas para generar respuestas temporalesante entradas variadas, son las siguientes

PROF. Ing. Esp. Carlos A. Pérez

Page 16: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

ACTIVIDAD Nº 7Dado el siguiente sistema determinar su respuesta al impulso y al escalón:

La respuesta al impulso se obtendrá mediante el siguiente comando:

Posteriormente se llama a la función step, obteniéndose el resultado gráfico que semuestra a continuación:

PROF. Ing. Esp. Carlos A. Pérez

Page 17: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

FUNCIONES DE ANÁLISIS DE SISTEMAS CONTINUOS DE LATOOLBOX DE CONTROL (II)

• La toolbox de control de MATLAB posee un conjunto de funciones que permiten realizarfácilmente trazados del Lugar de las Raíces de un sistema realimentado, así como sacarinformación a partir de éste

• Las funciones relacionadas con el trazado del Lugar de las Raíces se muestran en lasiguiente tabla

ACTIVIDAD Nº 8Se desea conocer el trazado del Lugar de las Raíces del sistema siguiente:

PARA RESOLVERLO SE EJECUTA DESDE MATLAB EL SIGUIENTE CONJUNTO DECOMANDOS:

NUMG=[1 13] %Numerador de G(s)DENG=[1 10] %Denominador de G(s)NUMH=[1] %Numerador de H(s)DENH=[1 1.5 8] %Denominador de H(s)N=conv(NUMG,NUMH) %Numerador de G(s)H(s)D=conv(DENG,DENH) %Denominador de G(s)H(s)rlocus(N,D)sgrid

PROF. Ing. Esp. Carlos A. Pérez

Page 18: PRÁCTICA Nº 1 INTRODUCCIÓN A MATLAB TOOLBOX DE CONTROL … · dinÁmica y control de procesos prÁctica nº 1 introducciÓn a matlab toolbox de control y simulink profesor: prof

Introducción a Matlab Toolbox de control y SimulinkUniversidad Nacional Experimental “Francisco de Miranda”

PROF. Ing. Esp. Carlos A. Pérez