Asignacion Automatizacion.docx

March 26, 2018 | Author: José B. Lindner | Category: Classical Mechanics, Physics, Physics & Mathematics, Mechanics, Mathematics


Comments



Description

UNIVERSIDAD DE ORIENTENÚCLEO ANZOATEGUI ESCUELA DE INGENIERIA Y CIENCIAS APLICADAS DEPARTAMENTO DE ELECTRICIDAD ASIGNATURA: AUTOMATIZACION Y CONTROL DE PROCESOS SECCION: 20 PROFESOR: BACHILLER: Danilo Navarro José B. Lindner C.I.: 20.358.436 Julio, 2014 TUTORIAL DE MODELACIÓN 1. Sistema del Tren 2. Diagrama de Cuerpo Libre y Ley de Newton 3. Variables de Estado y Ecuaciones de salida 4. Representación en Matlab Matlab puede utilizarse para representar un sistema físico o un modelo. Para iniciarlo, empecemos con una revisión de como representar un sistema físico mediante un conjunto de ecuaciones diferenciales. SISTEMA DEL TREN En este ejemplo, un tren que consiste en un motor y un vagón. Asumiendo que el tren solo viaja en una dirección, queremos aplicar un control al tren de manera que este posea un arranque y parada suaves, así como una marcha a velocidad constante. La masa del motor y del vagón puede representarse por M1 y M2, respectivamente. Ambos están fijados mediante un resorte, el cual posee un coeficiente de rigidez k. F representa la fuerza aplicada por el motor, y la letra griega mu (representada por la letra u), representa el coeficiente de fricción. DIAGRAMA DE CUERPO LIBRE Y LEY DE NEWTON El sistema puede representarse por los siguientes diagramas de cuerpo libre De la ley de Newton, se saber que la suma de fuerzas que actúan sobre una masa es igual a la masa por su aceleración. En este caso las fuerzas que actúan sobre la masa M1 son el resorte, la fricción y la fuerza debida al motor. Las fuerzas actuantes sobre la masa M2 son debidas al resorte y a la fricción. En la dirección vertical, la fuerza de gravedad se cancela por la fuerza normal de reacción aplicada por el suelo, así no habrá aceleración en la dirección vertical. Las ecuaciones del movimiento en la dirección horizontal, son las siguientes: ̈ ( ) ̇ ̈ ( ) ̇ ECUACIONES EN VARIABLE DE ESTADO Y SALIDA Este conjunto de ecuaciones del sistema puede manipularse ahora en la forma variable de estado. Sabiendo que las variables de estado son X1 y X2, y que la salida es F, las ecuaciones en variable de estado se verán como sigue: ̇ ̇ Si elegimos que la salida del sistema sea la velocidad del motor, entonces la ecuación de salida queda: 1. Función de Transferencia Para hallar la función de transferencia del sistema tomemos la transformada de Laplace en las ecuaciones en variable de estado arriba. () () () () () () () () () () () () () () () Usado estas ecuaciones, derivemos la función de transferencia (())(()) en términos de constantes. Para hallar la función de transferencia, debe asumirse condiciones iniciales nulas CIN. La función de transferencia encontrada debería ser así: () () ( ) ( () ) ( ) REPRESENTACIÓN EN MATLAB En la línea de comandos o work-space del MatLab, asignaremos valores numéricos a cada una de las siguientes variables: M1 = 1 kg M2 = 0,5 kg k = 1 ⁄ F = 1 N u = 0,002 ⁄ g = 9,8 ⁄ Para ello agregue los siguientes comandos (observe los espacios en los miembros tanto del “num” como del “den” y relaciónelo con la función de transferencia del sistema): EJEMPLO: VELOCIDAD DEL MOTOR DE CC: MODELACIÓN 1. Reconocimiento físico y sistema de ecuaciones 2. Requerimientos de diseño 3. Representación en MatLab y respuesta a lazo abierto RECONOCIMIENTO FÍSICO Y SISTEMA DE ECUACIONES El motor de CC es un actuador común en control sistemas. Provee movimiento rotatorio directamente y, acoplado con ruedas dentadas o poleas y cables, puede proveer movimiento transicional. El circuito eléctrico de la armadura y el diagrama del cuerpo libre del rotor se muestran en la siguiente figura: Para este ejemplo, asumimos los valores siguientes para los parámetros físicos. Estos valores se derivaron experimentalmente de un motor real del laboratorio de control para alumnos de grado de Carnegie Mellon.  Momento de inercia del rotor (J) = 0,01 ⁄  Coeficiente de amortiguamiento del sistema mecánico (b) = 0,1 Nms  Constante de Fuerza Electromotriz (K= ) = 0,01 ⁄  Resistencia eléctrica (R) = 1 ohm  Inductancia eléctrica (L) = 0,5 H  Entrada (V) = Fuente de Tensión  Salida (ϴ) = posición del eje  El rotor y el eje se consideran rígidos El torque del motor, T, se relaciona con la corriente de la armadura, i, por un factor de velocidad constante . La fuerza contralectromotriz (emf), e, se relaciona con la velocidad de rotación mediante las siguientes ecuaciones. ̇ En unidades del sistema internacional SI (las que usaremos), la (constante de armadura) es igual a (constante del motor). De la figura de arriba podemos escribir las siguientes ecuaciones basadas en la ley de Newton combinado con la ley de Kirchhoff: ̈ ̇ ̇ 1. Función de Transferencia Usando Transformadas de Laplace, las ecuaciones del modelo de arriba pueden expresarse en términos de s. ( )() () ( )() () Eliminando I(s) podemos obtener la siguiente función de transferencia a lazo abierto, donde la velocidad de rotación es la salida y el voltaje es la entrada. ()() REQUERIMIENTOS DE DISEÑO Primero, el motor sin compensar puede rotar solo a 0,1 rad/seg con una tensión de entrada de 1 Volt (esto se demostrará luego cuando se simule la respuesta a lazo abierto). Como el requerimiento más básico de un motor es que debe rotar a la velocidad deseada, el error de estado estacionario de la velocidad del motor debe ser menor que 1%. El otro requerimiento de performance es que el motor debe acelerarse hasta su velocidad de estado estacionario apenas se encienda. En este caso, queremos tener un tiempo de establecimiento de 2 segundos. Como una velocidad mayor que la referencia podría dañar el equipo, queremos tener un sobrepico menor que 5%. Si simulamos la entrada de referencia (r) con una entrada escalón unitario, entonces la salida velocidad del motor debería tener:  Tiempo de establecimiento menor que 2 segundos  Sobrepico menor que 5%  Error de estado estacionario menor que 1% REPRESENTACIÓN EN MATLAB Y RESPUESTA A LAZO ABIERTO 1. Función de Transferencia Podemos representar la función de transferencia anterior en MatLab definiendo las matrices numerador y denominador como sigue: ( )( ) Cree un nuevo archivo-m e ingrese los siguientes comandos: J = 0,01; b = 0,1; K = 0,01; R = 1; L = 0,5; num = K; den = [ (J*L) ((J*R)+(L*b)) ((b*R) + ) ]; Ahora veamos que hace el sistema original a lazo abierto. Agregue los siguientes comandos al final del archivo-m y ejecútelo en la ventana de comando del MatLab: step(num,den, 0:0,1:3) title(„Respuesta al Escalón del sistema de lazo abierto‟) Deberá obtenerse la figura siguiente: De la figura vemos que cuando se aplica 1 volt al sistema, el motor puede lograr solo una velocidad máxima de 0.1 rad/seg., diez veces menor que la velocidad deseada. Además, el motor tiene 3 segundos para alcanzar su velocidad de estado estacionario; esto no satisface los 2 segundos del criterio de tiempo de establecimiento. TUTORIAL PID 1. Introducción 2. El controlador de tres términos 3. Las características de controladores P, I, y D 4. Problema Ejemplo 5. Respuesta a lazo abierto al escalón 6. Control proporcional 7. Control Proporcional-Derivativo 8. Control Proporcional-Integral 9. Control Proporcional-Integral-Derivativo 10. Sugerencias generales para el diseño del controlador PID Los comandos de Matlab usados en este tutorial son: step cloop Nota: Los comandos Matlab de la toolbox de control de sistema se destacan en rojo. INTRODUCCIÓN Este tutorial le mostrara las características de los controladores proporcional (P), integral (I), derivativo (D), y como usarlos para obtener una respuesta deseada. En esta guía, consideremos el siguiente sistema de realimentación unitaria: Planta: Sistema a controlar Controlador: Provee la excitación de la planta; se diseña para controlar el comportamiento de todo sistema EL CONTROLADOR DE TRES TÉRMINOS La función de transferencia del controlador PID es:  Kp = Ganancia Proporcional  Ki = Ganancia Integral  Kd = Ganancia Derivativa Primero, echemos un vistazo a cómo trabaja el controlador PID en un sistema de lazo cerrado usando el esquema de abajo. La variable (e) representa un error de seguimiento, que es la diferencia entre el valor deseado de la entrada (R) y la salida real (Y). Esta señal de error (e) será enviada al controlador PID, y este calculara tanto la derivada cuanto la integral de esta señal de error. La señal (u) recién salida del controlador es ahora igual a la ganancia proporcional (Kp) veces la magnitud del error más la ganancia integral (Ki) veces la integral de esta señal de error, más la señal derivativa (Kd) veces la derivada del error. ∫ La señal (u) se enviará a la planta, y se obtendrá la nueva salida (Y). Esta nueva salida (Y) se re-enviará al sensor para hallar la nueva señal de error (e). El controlador toma esta nueva señal de error y computará su derivada y su integral otra vez. Este proceso sigue sin parar. LAS CARACTERÍSTICAS DE LOS CONTROLADORES P, I, Y D Un controlador proporcional (Kp) tendrá el efecto de reducir el tiempo de elevación y reducirá, sin jamás eliminar, el error de estado estacionario. Un control integral (Ki) tendrá el efecto de eliminar el error de estado estacionario, pero puede empeorar la respuesta transitoria. Un control derivativo (Kd) tendrá el efecto de incrementar la estabilidad del sistema, reduciendo el sobrepico, y mejorando la respuesta transitoria. Los efectos de cada uno de los controladores Kp, Kd, y Ki en un sistema a lazo cerrado se resumen en la tabla de abajo. Note que estas correlaciones podrían no ser exactamente seguras, porque Kp, Ki, y Kd son dependientes entre sí. De hecho, cambiando una de estas variables se puede variar el efecto de las otras dos. Por esta razón, la tabla deberá usarse únicamente como referencia cuando se determina los valores de Ki, Kp y Kd. Parámetro Tiempo de Subida Sobrepico Máximo Tiempo de establecimiento Error de Estado Estacionario Kp Baja Sube Poco Cambio Baja Ki Baja Sube Sube Elimina Kd Poco Cambio Baja Baja Poco Cambio PROBLEMA EJEMPLO Suponga que tenemos un problema de masa simple, resorte, y amortiguador La ecuación de modelo de este sistema es ̈ ̇ (1) Tomando transformada de Laplace de la ecuación del modelo (1) () () () () La función de transferencia entre el desplazamiento X(s) y la entrada F(s) es entonces () () Sea  M = 1kg  b = 10 N.s/m  k = 20 N/m  F(s) = 1 Introduzca estos valores en la función de transferencia anterior () () El objetivo de este problema es mostrarle cómo contribuyen Kp, Ki y Kd para obtener:  Menor tiempo de subida  Mínimo sobrepico  Error de estado estacionario nulo RESPUESTA A LAZO ABIERTO AL ESCALÓN Veamos primero la respuesta a lazo abierto al escalón. Cree un nuevo archivo-m y agregue el siguiente código: num=1; den=[1 10 20]; step(num,den) Corriendo este archivo-m, la ventana de comandos del Matlab le debería dar la figura de abajo La ganancia de continua de la función de transferencia de la planta es 1/20, así que 0.05 es el valor final de la salida a una entrada escalón unitario. Esto se corresponde al error de estado estacionario de 0.95, bastante grande de hecho. Además, el tiempo de elevación es alrededor de un segundo, y el tiempo de establecimiento es alrededor de 1.5 segundos. Diseñemos un controlador que reducirá el tiempo de elevación y el tiempo de establecimiento, y eliminará el error de estado estacionario. CONTROL PROPORCIONAL De la tabla de arriba, vemos que el controlador proporcional (Kp) reduce el tiempo de subida, incrementa el sobrepico maximo, y reduce el error de estado estacionario. La función de transferencia a lazo cerrado del sistema de arriba con un controlador proporcional es: () () ( ) Iguale la ganancia proporcional (Kp) a 300 y cambie el archivo-m con lo siguiente: Kp=300; num=[Kp]; den=[1 10 20+Kp]; t=0:0.01:2; step(num,den,t) Corriendo este archivo-m, la ventana de comandos del Matlab le da la figura siguiente: Note: Puede usarse la función cloop para obtener la función de transferencia a lazo cerrado directamente de la función de transferencia a lazo abierto (en lugar de obtenerla a mano). El siguiente archivo-m usa el comando cloop que le debería dar un gráfico similar al de abajo. num=1; den=[1 10 20]; Kp=300; [numCL,denCL]= cloop(Kp*num,den); t=0:0.01:2; step(numCL, denCL,t) El gráfico de arriba muestra que el controlador proporcional redujo tanto el tiempo de elevación cuanto el error de estado estacionario, incrementando el sobrepico, y bajando el tiempo de establecimiento en pequeña medida. CONTROL PROPORCIONAL-DERIVATIVO Ahora, echemos un vistazo a un Control PD. De la tabla de arriba, vemos que el controlador derivativo (Kd) reduce tanto el sobrepico cuanto el tiempo de establecimiento. La función de transferencia a lazo cerrado del sistema dado con un Controlador PD es: () () ( ) ( ) Haga Kp igual a 300 como antes e iguale Kd a 10. Ingrese los siguientes comandos en un archivo-m y ejecútelo en la ventana de comandos del Matlab. Kp=300; Kd=10; num=[Kd Kp]; den=[1 10+Kd 20+Kp]; t=0:0.01:2; step(num,den,t) Esta figura muestra que el controlador derivativo redujo tanto el sobrepico cuanto el tiempo de establecimiento, y tuvo poco efecto en el tiempo de elevación y el error de estado estacionario. CONTROL PROPORCIONAL-INTEGRAL Antes de avanzar a un control PID, echemos un vistazo al Control PI. De la tabla, vemos que un controlador integral (Ki) decrementa el tiempo de elevación, incrementa tanto el sobrepico cuanto el tiempo de establecimiento, y elimina el error de estado estacionario. Para el sistema dado, la función de transferencia a lazo cerrado con un Control PI es: () () ( ) Reduzcamos Kp a 30, y hagamos Ki igual a 70. Cree un archivo-m nuevo e ingrese los siguientes comandos. Kp=30; Ki=70; num=[Kp Ki]; den=[1 10 20+Kp Ki]; t=0:0.01:2; step(num,den,t) Corra este archivo-m en la ventana de comandos del Matlab, y obtenga la figura siguiente CONTROL PROPORCIONAL-INTEGRAL-DERIVATIVO Ahora, echemos un vistazo al controlador PID. La función de transferencia a lazo cerrado del sistema dado con un controlador PID es: () () ( ) ( ) Luego de varias ejecuciones de prueba y error, las ganancias Kp=350, Ki=300, y Kd=50 proveerán la respuesta deseada. Para confirmarlo, ingrese los siguientes comandos en un archivo-m y ejecútelo en la ventana de comandos. Debería obtenerse la siguiente respuesta al escalón Kp=350; Ki=300; Kd=50; num=[Kd Kp Ki]; den=[1 10+Kd 20+Kp Ki]; t=0:0.01:2; step(num,den,t) Ahora, obtuvimos el sistema sin sobrepico, rápido tiempo de subida, y error de estado estacionario cero. SUGERENCIAS GENERALES PARA EL DISEÑO DEL CONTROLADOR PID Cuando está diseñando un controlador PID para un sistema dado, siga los pasos de abajo para obtener una respuesta deseada. 1. Obtenga una respuesta a lazo abierto y determine qué hay que mejorar 2. Agregue un control proporcional para mejorar el tiempo de elevación 3. Agregue un control derivativo para mejorar el sobrepico 4. Agregue un control integral para eliminar el error de estado estacionario 5. Ajuste cada coeficiente Kp, Ki, y Kd hasta que obtenga la respuesta general deseada. Puede mirar en la tabla de este "Tutorial PID" para averiguar cuál controlador controla cierta característica. Finalmente, tenga en mente que no implementará los tres controladores (proporcional, derivativo, e integral) en un sistema, si no es necesario. Por ejemplo, si el controlador PI le proporciona una buena respuesta (como el ejemplo anterior), no necesitará implementar un controlador derivativo. Mantenga el controlador lo más simple que se pueda. EJEMPLO: MÉTODO DE DISEÑO PID PARA CONTROL DE VELOCIDAD DEL MOTOR DE CC 1. Control proporcional 2. Control PID 3. Sintonización de ganancias A partir del problema principal, las ecuaciones dinámicas y la función de transferencia a lazo abierto del Motor de CC son: ( )ϴ() () ( )() ϴ() ϴ ( )( ) Y el esquema del sistema se ve: Para las condiciones originales del problema y la derivación de las ecuaciones de arriba, refiérase por favor a Modelación de un Motor de CC. Los criterios de diseño con una entrada escalón de 1 rad/seg son:  Tiempo de establecimiento menor que 2 segundos  Sobrepico menor que 5%  Error de estado estacionario menor que 1% Diseñemos ahora un controlador PID adicionémoslo al sistema. En el work-space de MatLab ejecute los siguientes comandos. J=0.01; b=0.1; K=0.01; R= 1; L= 0.5; num= K; den= [(J*L) ((J*R)+(L*b)) ((b*R)+K^2)]; Recordemos que la función de transferencia para un controlador PID es: CONTROL PROPORCIONAL Tratemos de usar primero un controlador proporcional con una ganancia de 100. Agregue el siguiente código al final de su archivo-m: Kp=100; numa=Kp*num; dena=den; Para hallar la función de transferencia a lazo cerrado, usamos el comando cloop. Agregue la siguiente línea de comando: [numac,denac]=cloop(numa,dena); Note que numac y denac son el numerador y el denominador de la función de transferencia a lazo cerrado general. Ahora veamos cómo se ve la respuesta al escalón, agregue lo siguiente al final de su archivo-m, y ejecútelo en la ventana de comandos: t=0:0.01:5; step(numac,denac,t) title('Respuesta al escalón con Control Proporcional') Debería obtenerse la figura siguiente: CONTROL PID De la figura de arriba vemos que tanto el error de estado estacionario cuanto el sobrepico son muy grandes. Recordemos del tutorial PID que incorporando un término integral se eliminará el error de estado estacionario y un término derivativo reducirá el sobrepico. Probemos un controlador PID con Ki y Kd pequeños. A continuación vuelva a ejecutar los siguientes comandos: J=0.01; b=0.1; K=0.01; R=1; L=0.5; num=K; den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)]; Kp=100; Ki=1; Kd=1; numc=[Kd, Kp, Ki]; denc=[1 0]; numa=conv(num,numc); dena=conv(den,denc); [numac,denac]=cloop(numa,dena); step(numac,denac) title('Control PID con pequeño Ki and Kd') Luego de estos comandos se da la figura siguiente SINTONIZACIÓN DE GANANCIAS Ahora el tiempo de establecimiento es muy largo. Incrementemos Ki para reducir el tiempo de establecimiento. Regrese a la ventana de comandos y cambie Ki a 200. Ki=200; Vuelva a ejecutar los siguientes comandos numc=[Kd, Kp, Ki]; denc=[1 0]; numa=conv(num,numc); dena=conv(den,denc); [numac,denac]=cloop(numa,dena); step(numac,denac) title('Control PID con Ki grande y Kd pequeño') Debería obtenerse un gráfico como éste: Ahora vemos que la respuesta es mucho más rápida que antes, pero el Ki grande ha empeorado la respuesta transitoria (gran sobrepico). Incrementemos Kd para reducir el sobrepico. Vuelva a la ventana de comandos y cambie Kd a 10. Kd=10; Vuelva a ejecutar los siguientes comandos numc=[Kd, Kp, Ki]; denc=[1 0]; numa=conv(num,numc); Entonces sabemos que si usamos un controlador PID con Kp=100, Ki=200, Kd=10, Todos nuestros requerimientos de diseño serán satisfechos.
Copyright © 2024 DOKUMEN.SITE Inc.