ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
CONTROL DIGITAL Fase de la estrategia de aprendizaje: Momento 4 – Paso Paso 4
GERERADO VIDAL COD.76325956 CARLOS ALBERTO BERMUDEZ COD.
GURPO 203041_33
TUTOR JOAN SEBASTIAN BUSTOS
1
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
UNIVERDIDAD NACIONAL ABIERTA Y ADISTANCIA UNAD NOVIEMBRE 2017
Contenido INTRODUCCION ................................................................................................................................... 3 OBJETIVOS ........................................................................................................................................... 4 Objetivo general .............................................................................................................................. 4 Objetivos específicos ....................................................................................................................... 4 DESARROLLO DE LA GUIA .................................................................................................................... 5 REQUERIMIENTOS DE LA GUIA ....................................................................................................... 5 DESARROLLO DE LA ACTIVIDAD .......................................................................................................... 6 ANALISIS DE LA FIGURA 7 ................................................................................................................ 8 DISEÑO DEL PID DISCRETO ............................................................................................................ 12 LENGUAJE DE PROGRAMACIÓN EN CCS COMPILER ..................................................................... 15 GRAFICA DEL MONTAJE EN PROTEUS ............................................................................................... 20 GRAFICA PROTEUS SIMULACIÓN t=0s ................................. ............... ................................... ................................... .................................... ...................... .... 21 GRAFICA PROTEUS SIMULACIÓN t=50s .................................. ................ ................................... ................................... .................................... .................... 21 GRAFICA PROTEUS SIMULACIÓN t=120s ................................... ................. ................................... .................................. .................................. ................. 22 LINK DEL VIDEO ................................................................................................................................. 23 CONCLUSIONES ................................................................................................................................. 23 BIBLIOGRAFIAS .................................................................................................................................. 24
2
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
INTRODUCCION Los controladores PID por ser mecanismos de control permiten que a través de lazo de retroalimentación se regule para el caso nuestro la temperatura de nuestra variable real contra la temperatura deseada para este fase del curso construiremos un control PID que permita regulara la temperatura de un horno para que su máximo valor de calefacción sea de 100ºC y el controlador PID detecte el error de la entrada o variable real y regule la temperatura del sistema, para ello se realizara el montaje y simulación en el programa proteus y las líneas de código de la programación se realizaran en el programa CCS Compiler, adicionalmente se mostraran las graficas de comportamiento antes y después d e la implementación del controlador PID.
3
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
OBJETIVOS Objetivo general Realizar el montaje y simulación de un controlador PID en un microcontrolador para un sistema de calefacción según los requerimientos de la guía integrada de actividades.
Objetivos específicos
Realizar la programación del PID en el microcontrolador PIC16f887
Realizar el logaritmo de programación por medio de CCS Compiler
Realizar el montaje en el programa de simulación porteus
Realizar las graficas de comportamiento del sistema
Realizar los cálculos matemáticos a que halla lugar para determinar las variables del sistema
4
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
DESARROLLO DE LA GUIA REQUERIMIENTOS DE LA GUIA 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 (V/°C)= 1 Heating Power (W)= 120
Para el análisis de la curva de reacción, se analizará la respuesta del sistema en lazo abierto ante una entrada escalón, dicha entrada escalón es de 0v a 10v. Se debe definir el modelo del sistema y analizar el comportamiento del sistema ante perturbaciones de tipo escalón teniendo en cuenta que la temperatura límite o set point es de 100°C.
Para ingresar las perturbaciones al sistema se debe hacer lo siguiente: Para el instante de tiempo t=0s se utiliza una de alimentación BAT1 de 10V, para el instante de tiempo t=50s se conmuta otra fuente de alimentación BAT 2 de 30V y para el instante de tiempo t=120s se conmuta nuevamente a la fuente de alimentación BAT1 de 10V.
5
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
DESARROLLO DE LA ACTIVIDAD Características del Heated Oven (LumpedModel) Oven es un sistema de calefacción que posee un sensor de temperatura (T), se puede variar sus características funcionales tales como: Temperatura ambiente de trabajo, resistencia térmica, constante de tiempo de establecimiento, constante de tiempo de calentamiento, coeficiente de temperatura y potencia de calentamiento, A continuación, se muestran las características establecidas del OVEN, en el simulador porteus y las respectiva grafica de funcionamiento Figura 1 Temperature Ambient (°C)= 30
Figura 2 Thermal Resistence to Ambient C/W)= 0.7
Figura 3 Oven Time Constant (sec)= 10
Figura 4 Heater Time Constant (sec)= 1
6
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Figura 5 Temperature coefficient (V/°C)= 1
Digital
Figura 6 Heating Power (W)= 120
Figura 7 simulación de comportamiento de OVEN en Proteus
7
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
ANALISIS DE LA FIGURA 7 En la grafica resultante podemos analizar que el valor inicial y final toma los siguientes valores valor inicial = 30ºC valor final = 530ºC por lo tanto
() =30℃ () =530℃ La señal escalón cambia en 10 por tanto
= 10 = 0 De lo anterior podemos deducir
() = ó () = ñ ó = ñ ó Para el diseño de nuestro sistema es importante tener en cuenta las reglas de Ziegler y Nichols que establecen los valores Kp, Ti y Td según la tabla siguieten
8
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
Figira tabla reglas Ziegler y Nichols
Determinamos la función de trasferencia según la siguiente formula
−∅ ()= +1 Hallamos ganancia (K) estática de la planta se establece por medio de la siguiente formula
−() = () − Reemplazando los valores tenemos
= 530º30º 100 = 500º 10 9
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
=50 Procedemos a hallar el valor de retraso
Este valor lo obtenemos por medio del análisis de la grafica donde podemos observar que en 40 segundos la temperatura empieza a estabilizarse por lo cual utilizaremos este valor
Tiempo de establecimiento T= 4T Tiempo de establecimiento = 40 entonces
= 404 =10 Para hallar el valor del retardo
∅ sabemos que es el tiempo que el sistema se demora en
responder cunado se energiza, como se observa en la gráfica la respuesta es inmediata por
10
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
lo cual podemos decir que
Digital
∅=0 para efectos de nuestro ejercicio vamos tomar el valor de
retardo en 1segundo
Procedemos a sintonizar el controlador por medio de la técnica ziegler y nichols Nuestra ecuación de trasferencia de la plata es:
−∅ ()= +1 Reemplazando tenemos:
− 50 ()= 10+1 Valores del controlador
= 1.2 ∅
11
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
= 1.2(10) 50(1) = 12 50 =0.24 = 2∅ =2(1) = 2 =0.5∅ =0.5(1) =0.5 DISEÑO DEL PID DISCRETO Tiempo de muestreo
=< ∅4 =< 14 = 0.25 Para el ejercicio tomaremos el valor de T=0.1 que corresponde a 100ms siendo menor de El controlador discreto PID viene dado por la siguiente formula
12
∅
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
+ + (−) = () = () 1 − Hallamos los valores de
, = [1 + 2 + ] 0.1 + 0.5] = 0.24[1 + 2(2) 0.1 =0.24[1+ 0.14 + 0.5 0.1] = 0.243.01 = 0.7224 = [1 2 + 2 ] 0.1 + 2(0.5)] = 0.24[1 2(2) 0.1 = 0.24[1 0.14 + 0.11 ] = 0.24[1 0.14 + 0.11 ] =0.24 3.01 =0.7224 13
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
= = 0.24∗0.5 0.1 =1.2 Aplicamos la transformada inversa z para determinar la ley de control y obtenemos la siguiente ecuación
() = ()− + () + ( 1) + (2) El esquema quedaría
Para determinar la funcionalidad del PID utilizaremos el Pic 16f887 el cual lo programaremos en CCS Compiler
14
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
Para realizar la programación y montaje en el simulador proteus es importante tener en cuenta como esta configurado los pines de nuestro microcontrolador para ello recurriremos al datasheet del PIC 12f887.
LENGUAJE DE PROGRAMACIÓN EN CCS COMPILER #INCLUDE <16F887.h> #DEVICE ADC=10 #USE DELAY(CLOCK=4000000)
15
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
#FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP #include //Configura direccion de memoria de los puertos A,B,C,D #BYTE PORTA= 5 #BYTE PORTB= 6 #BYTE PORTC= 7 #BYTE PORTD= 8 int veces=39,seg=0; int16 adc,control=0; float yM=0,R=5300.0,e=0.0,e_1=0.0,e_2=0.0,u=0.0,u_1=0.0; float kp,ti,td,q0,q1,q2,T=0.1; float k=53.5,tao=10.0,theta=1.0; //float TsMA,Wn,P1,P2; //Con esta rutina de desbordamiento del timer 0 //Hago el conteo del tiempo de muestreo #INT_RTCC //Rutina de interrupción por RTCC RELOJ() { VECES--;
//Decremento variable veces
SET_RTCC(246);
//Cargo el timer con 243
16
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
IF(VECES==0) {
Digital
//La variable veces se carga con 30 y el timer con 243
//para que entre a la interrupcion cada 100 milisegundos VECES=39; seg++;
//y incremente el contador 'seg'
} if(seg==1) { seg=0; output_toggle(pin_d0); //Comienzo la ley de control e=R-yM; // Controle PID u = u_1 + q0*e + q1*e_1 + q2*e_2; //Ley del controlador PID discreto if (u >= 1000.0)
//Saturo la accion de control 'uT' en un tope maximo y minimo
u = 1000.0; if (u <= 0.0) u = 0.0; control=u; //Retorno a los valores reales e_2=e_1;
17
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
e_1=e; u_1=u; //La accion calculada la transformo en PWM set_pwm1_duty(control); } } void main() { set_tris_c(0); set_tris_d(0); 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
set_pwm1_duty(0);
//Dejo en cero la salida PWM
setup_adc_ports (sAN0);
//Configurar ADC (Lectura de temperatura)
setup_adc(adc_clock_internal); set_adc_channel(0); SET_RTCC(246);
//Reloj interno para la conversion analoga digital)
//Seleccionar Canal 0 para sensor de Temperatura //Cargo el TIMER0 con 243
SETUP_COUNTERS(RTCC_INTERNAL, RTCC_DIV_256); //Configuro el TIMER0 con prescaler 256 ENABLE_INTERRUPTS(INT_RTCC); //Habilito interrupcion por TIMER0
18
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
enable_interrupts(GLOBAL); LCD_INIT();
Digital
//Habilito las interrupciones a nivel global
//Inicializo el LCD
LCD_PUTC("\f");
//Limpio el LCD
//***************** SINTONIA POR ZIEGLER y NICHOLS *******************//
//************************************************************************ *// kp=(1.2*tao)/(k*theta); ti=2*theta; td=0.5*theta;
//************************************************************************ *// // Calculo do controle PID digital q0=kp*(1+T/(2*ti)+td/T); q1=-kp*(1-T/(2*ti)+(2*td)/T); q2=(kp*td)/T; while(1) { adc=read_adc(); //Leer ADC yM=adc*5000.0/1024.0;
19
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
//Muestra mensajes en LCD lcd_gotoxy(1,1); printf(lcd_putc,"Temp: %f",yM/10); lcd_gotoxy(1,2); printf(lcd_putc,"SetPoint: %2.2f C ",R/10); lcd_gotoxy(1,3); printf(lcd_putc,"Error: %2.2f C ",e/10); lcd_gotoxy(1,4); printf(lcd_putc,"u(ley Con): %ld ",control); }
GRAFICA DEL MONTAJE EN PROTEUS
20
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
GRAFICA PROTEUS SIMULACIÓN t=0s
Se observa en la gráfica el setpoint en 100ºC donde se programo el pic con bataria de 10V que es el mismo valor de la vateria qye alimenta el OV1, el error es el valor que el PID esta corrigiendo para que sea equivalente a 100ºC la gráfica resultante muestra la corrección realizada en el sistema
GRAFICA PROTEUS SIMULACIÓN t=50s
21
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
En la gtrafica anterior se establece t=50s con una batería de 30v se deja alcanzar la máxima temperatura y se observa que la variable de entrada arroja un valor de 101.56ºC el setpoint se establece en 100ºC y el PID realiza una corrección de -1.56ºC la gráfica sigue dando estable.
GRAFICA PROTEUS SIMULACIÓN t=120s
En esta grafica con t=120s y una batería de 10V se toma la imagen en un punto definido y se observa que el PID realiza una corrección de 4.29ºC la grafica sigue estable.
22
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
LINK DEL VIDEO
CONCLUSIONES
La implementación de un controlador PID permite que el sistema funcione de forma mas precisa ya que por medio de su realimentación se pueden control los errores de las variables de entrada de un sistema y ajustarlas a los requerimientos del usuario final
El curso de control digital nos muestra como podemos fusionar el funcionamiento e implementación de un PID con un microcontrolador PIC para hacer que los sistemas diseñados funciones con mayor exactitud
Se pudo comprobar que los cálculos realizados de forma matemática permiten ingresar los parámetros al lenguaje de programación para que sean tomados por el programa y simulados de forma correcta.
23
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS 203041-Control
Digital
BIBLIOGRAFIAS
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ágina 131.Recuperado de http://hdl.handle.net/10596/4971
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ágina 133 - 134. Recuperado de http://hdl.handle.net/10596/4971
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ágina 128. Recuperado de http://hdl.handle.net/10596/4971
24