CONTROL DIGITAL Unidad 3: Paso 4 - Diseñar e implementar un circuito de control digital PID
Presentado por: Héctor Eduardo Otálora Bautista, Código: 7183223 Carlos Rabin Cubides L, Código: Diego O. Villalobos, Código: 74150700 Maryi Yuried Méndez P, Código: 1121890364
Presentado a: Joan Sebastian Bustos
Universidad nacional abierta y a distancia Escuela de ciencias básicas, tecnología e ingeniería Bogotá D.C. Mayo de 2018
Introducción
Tener el control sobre las variables de un proceso y poder comprender su comportamiento en función del tiempo nos ha permitido obtener más que una señal de respuesta, un valor manejable a nuestras necesidades. En la presente actividad haremos uso del sistema proporcional integral derivativo (PID), conociendo su funcionalidad y poniendo a prueba sus virtudes en el mundo del control ingenieril. Para ello dará desarrollo a los planteamientos propuestos en el paso 4 de la guía de Control digital de la Universidad Nacional Abierta y a Distancia, haciendo uso de programas como Matlab y Proteus que facilitan la interpretación y relación entre sistemas y funciones de transferencias.
Objetivos
Identificar los métodos para realizar una programación de un controlador PID Manejar Protueus para simulación de circuitos y el programa PIC C compiler para crear código fuente de un determinado controlador. Conocer la importancia sobre el uso de microcontroladores para el desarrollo de la industria.
CONTROLADOR PID
Un controlador PID (Controlador Proporcional-Integral-Derivativo) es un mecanismo de control por realimentación realimentación ampliamente usado en sistemas de control industrial. Este calcula la desviación o error entre un valor medido y un valor deseado. Se puede indicar que un controlador PID responde a la siguiente ecuación:
El algoritmo El algoritmo del control PID consiste de tres parámetros distintos: el proporcional, el integral, y el derivativo. El valor Proporcional depende del error actual. El Integral depende de los errores pasados y el Derivativo es una predicción de los errores futuros. La suma de estas tres acciones es usada para ajustar al proceso por medio de un elemento elem ento de control como la posición de una válvula de control o la potencia suministrada a un calentador. Cuando no se tiene conocimiento del proceso, históricamente se ha considerado que el controlador controlado r PID es el controlador más adecuado. Ajustando estas tres variables en el algoritmo de control del PID, el controlador puede proveer una acción de control diseñado para los requerimientos del proceso en específico. esp ecífico. La respuesta respues ta del controlador puede describirse en términos de la respuesta del control ante un error, el grado el cual el controlador sobrepasa el punto de ajuste, y el grado de oscilación de oscilación del sistema. Nótese que el uso del PID para control no garantiza control óptimo del sistema o la estabilidad la estabilidad del mismo. Los controladores PID tienen tres módulos el control proporcional (P), el control integral (I) y el control derivativo (D), cada uno de estos 3 controles tiene una función determinada en la estabilización del sistema. Control proporcional: Este es el control principal y su función es crear una respuesta en la
salida proporcional al error. Control Integral: Este se encarga de eliminar el error residual que da el control P, reduciéndolo
a 0. Control Derivativo: Se utiliza para eliminar las sobre oscilaciones generando una corrección en
la señal de control proporcional al error.
Sintonización por la respuesta al escalón
El método de sintonización de reguladores PID de Ziegler-Nichols permite definir las ganancias proporcional, integral y derivativa d erivativa a partir de la respuesta re spuesta del sistema en lazo laz o abierto o a partir de de la respuesta del sistema en lazo cerrado. Cada uno de los dos ensayos se ajusta mejor a un tipo de sistema.
Este método de sintonización se adapta bien a los sistemas que son estables en lazo abierto y que presentan un tiempo de retardo desde desd e que reciben la señal de control hasta que q ue comienzan a actuar. Para poder determinar la respuesta al escalón de la planta o sistema controlado, se debe retirar el controlador PID y sustituirlo por una señal escalón aplicada al accionado.
G rafi ca 1(Di 1(D i agrama agrama de de boq boques ues))
En la siguiente figura se muestra la modificación mod ificación que hay que realizar al sistema sis tema de control en lazo cerrado para convertirlo en un sistema en lazo abierto que responda a una señal escalón, retirando el controlador PID:
G rafi ca 2(Di 2(D i agrama agrama de de boq boques ues))
En la imagen siguiente se puede ver representado en rojo la entrada escalón al accionado o señal c(t). En azul se representa la salida del sistema medida por el sensor o señal h (t). El escalón de entrada c(t) debe estar entre el 10% y el 20% del valor nominal de entrada. Como puede apreciarse, la respuesta del sistema presenta un retardo, también llamado tiempo muerto, representado por T1.
G r afica afi ca 3(R 3( R espuesta espuesta del del siste si stema ma))
ALGORITMO DE PROGRAMACION EN MICROCONTROLADOR
En el modelo Ziegler-Nichols se toma un valor < /4 El muestreo (T) debe ser mayor que el tiempo de establecimiento del sistema en lazo abierto
G r afica 4(D iagram iag rama a de de boque boquess controla controlad dor PI PI D)
Se realiza la simulación del PID e implementación con ISIS de Proteus, aplicando un sistema de calefacción OVEN, el cual se pueden variar sus funcionalidades tales como: Resistencia térmica, Temperatura Ambiente de trabajo, constante de tiempo de establecimiento, constante de tiempo de calentamiento, coeficiente de temperatura y Potencia de calentamiento. MODELAMIENTO DEL SISTEMA
Implementar un controlador PID en un microcontrolador PIC 16f877A para un sistema de calefacción. La simulación se debe desarrollar en Proteus utilizando el Heated Oven (LumpedModel) y se establecerán los siguientes valores: Temperature Ambient (°C)= 30 Thermal Resistence to Ambient (°C/W)= 0.7 Oven Time Constant (sec) = 10 Heater Time Constant (sec) = 1 Temperature coefficient c oefficient (V/°C)=1 Heating Power (W)= 120
El modelo esquemático OVEN contiene un terminal sensor T que entrega un voltaje proporcional a la temperatura del sistema. De acuerdo a los parámetros establecidos anteriormente, este terminal entregara 1V/°C, es decir, que para una temperatura de 100°C, el terminal T entregara 100V.
Grafica 5(Simulación en Proteus)
Set configuración: Temperature Ambient (°C)= 30
G rafica rafi ca 6. 6. (C onfigur nfi gura ación de de simula simulación) ción)
Thermal Resistence to Ambient (°C/W) = 0.7
Oven Time Constant (sec) = 10
G rafica rafi ca 7. 7. (C onfigur nfi gura ación de simulac simulación) ión)
Heater Time Constant (sec) = 1
G rafica rafi ca 8. 8. (C onfigur nfi gura ación de simulac simulación) ión)
Temperature coefficient (V/°C)=1
G rafica rafi ca 9. 9. (C onfigur nfi gura ación de simulac simulación) ión)
Heating Power (W)= 120
G rafica rafi ca 10. 10. ( Configuración Config uración de de simula simulación) ción)
Respuesta ante entrada escalón
G r afica afi ca 11. (R ( R espuesta espuesta del del siste si stema ma simula si mulaci ción) ón)
De la recta de máxima pendiente se deducen los parámetros:
Definidos por el análisis en lazo abierto de Ziegler-Nichols. = = 4 3 = 1 = = 17.5 4 = 12.5 =
=
276 25 20
= 125.5 25.5
El sistema de calefacción queda definido de la siguiente forma:
( ) =
− 1 +
= 125. 125.5 5
− 1 + 12.5
Los parámetros K p, Ti y Td se calculan según la Regla de Sintonización de Ziegler-Nichols basada en la respuesta al escalón. = 1.2
= 0.11 0.1195 95
= 2 = 2 = 0.5 0.5 = 0.5
Reemplazando los valores de K p, Ti y Td, Teniendo como base un periodo de muestreo T=0.1s. = = 0.11 0.1195 95 =
=
= 0.00 0.0062 62
= 0.62 0.6215 15
IMPLEMENTACION CONTROLADOR DIGITAL PID EN MICROCONTROLADOR Consideraciones
Es necesario un conversor Análogo/Digital para realizar el ingresa del voltaje entregado por el sensor T del modelo OVEN. Dado que dicho terminal entrega 1V/°C, se utiliza un divisor de voltaje para adecuar la señal del sensor a niveles permitidos por el conversor A/D; en este caso se utiliza un divisor de voltaje con factor 100, es decir, que para una temperatura de 100°C (100V) el conversor recibirá 1V. El control se realiza mediante una señal PWM proporcional a la señal generada por el controlador. Se desarrolló el código fuente en C Compiler de acuerdo al algoritmo planteado para programar el microcontrolador PIC 16F877A. #INCLUDE <16F877A.H>
#DEVICE ADC=10 #USE DELAY(CLOCK=4000000) #FUSES XT,NOWDT VOID MAIN(){ INT16 valor, control; //Variables para lectura de ADC y señal de Control a modulo CCP FLOAT a,b,c; //Constantes para parámetros de controlador PID FLOAT TEMPERATURA_LIMITE; //Referencia de Temperatura FLOAT rt,eT,iT,dT,yT,uT,iT0,eT0; //Variables de controlador PID FLOAT max,min; //Variables para anti-windup min=0.0; max=1000.0; iT0=0.0; eT0=0.0; a=0.1243; b=0.0062; c=0.6215; TEMPERATURA_LIMITE=1200.0; //Set Point r(kT)= 120°C setup_timer_2(t2_div_by_4,249,1); //Configuracion de Timer 2 para establecer frec. PWM a 1kHz setup_ccp1(ccp_pwm); //Configurar modulo CCP1 en modo PWM setup_adc_ports(all_analog); //Configurar ADC setup_adc(adc_clock_internal); set_adc_channel(0); //Seleccionar Canal 0 para sensor de Temperatura while(true){ valor=read_adc(); //Leer ADC yT=5000.0*valor/1024.0; //Escalizar señal de salida y(kT) rT=TEMPERATURA_LIMITE; eT=rT-yT; //Calcular senal de error e(kT) iT=b*eT+iT0; //Calcular termino integrativo i(kT) dT=c*(eT-eT0); //Calcular termino derivativo d(kT) uT=iT+a*eT+dT; //Calcular senal de control u(kT) if (uT>max){ //Anti-windup uT=max; } else { if (uT
PIC C COMPILER
G rafi ca 12. (Panta ( Pantallaz llazo o de de progr progr ama ama en en PC P C Compiler Compiler )
DIAGRAMA ESQUEMATICO Y SIMULACION DE CONTROLADOR PID EN ISIS PROTEUS
G rafica rafi ca 13. (simulación (simulación con con PI C 16f877A)
La simulación arranca con una temperatura igual de 25°C en t=0s, ya que este valor es la temperatura ambiente de trabajo del sistema OVEN.
Conclusiones
Los Lenguajes de programación son de gran importancia para poder realizar este tipo de ejercicios, dado que nos ofrece la posibilidad de crear infinidad de códigos, de acuerdo con las necesidades que tengamos. Es indispensable conocer los diferentes métodos matemáticos que hay, para poder hallar las variables que necesitamos al momento de programar un PID.
Bibliografía
Bolaños, Y. H. & Pineda, L. F. & Mosquera V. H (2012). Didactic system for the implementation of digital controllers. Revista Colombiana de Tecnologías de Avanzada, Volumen 2, (P. 128). Recuperado de http://hdl.handle.net/10596/4971 Ñeco García, Ramón P., Reinoso García, Oscar, and García Aracil, Nicolás.Apuntes de sistemas de control. Alicante, ES: ECU, 2013. ProQuest ebrary. (pp. 203-211). Recuperado dehttp://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=226&docID=1 dehttp://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=226&docID=1 0740996&tm=1501271524084 Ávalos, A. G., Montúfar, N. M. A., & Ortiz, H. F. E. (2010). Teoría de control, ajuste de controladores industriales. (P. 75). Recuperado de: http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=76&docID=3 de: http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=76&docID=3 187638&tm=1513226129956 Video de youtuve del canal Sergio Castaño (2016) https://youtu.be/9EmSybiSmOU (2016) https://youtu.be/9EmSybiSmOU
Bustos, J. (2017). Simulación en Matlab de una rampa unitaria. [OVI]. Recuperado de http://hdl.handle.net/10596/14140 de http://hdl.handle.net/10596/14140 Ruge, I. A. (2015). Método básico para implementar un controlador digital pid en un microcontroladorpic para desarrollo de aplicaciones a bajo costo. Editorial Pearson Education. Prentice Hall. Tercera Edición. Capítulo I, (pp. 1-13)México, 1998. Recuperado de http://hdl.handle.net/10596/4993 de http://hdl.handle.net/10596/4993 García, J. & Rodríguez, J. & Vidal, J. (2005). Aprenda Matlab 7.0 como si estuviera en primero. Diciembre 2005. Recuperado de http://hdl.handle.net/10596/4988 de http://hdl.handle.net/10596/4988
Barrera, C. E. & Soria, L. R. (2010) Congreso Anual de la Asociación de México de Control Automático. Puerto Vallarta, Jalisco, México. Diseño e Implementación de Controladores Digitales Basados en Procesadores Digitales De Señales. Recuperado de http://hdl.handle.net/10596/4994 de http://hdl.handle.net/10596/4994