Control de Temperatura MODIFICADO

April 30, 2018 | Author: Giian Reiiy | Category: Analysis, Electrical Engineering, Cybernetics, Mechanical Engineering, Control Engineering


Comments



Description

CONTROL DE TEMPERATURASISTEMAS DE CONTROL ✓ CURSO: SISTEMAS DE CONTROL ✓ PROF: ING. ELMER MENDOZA TRUJILLO ✓ INTEGRANTES: ▪ CASAVILA CCAHUAY DIEGO 1413120493 ▪ BUIZA REYES JOSE ANTONIO 1413120639 ▪ RAYMUNDO VERANO GIANMARCO 1313110172 ▪ HUAMAN ORTIZ YULINIO 1413120319 ▪ FLORES VELAZCO MARIO CESAR 1413120319 ▪ CAMA LAYME RONALD ALEX 1413120127 ▪ NATIVIDAD TORIBIO MICHAEL ERIK 1413110037 ▪ ORTIZ BARRAZA GERSON JACK 1413120093 ✓ FECHA: 21-11-2017 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica INDICE 1. RESUMEN .............................................................................................................................. 2 2. OBJETIVO ............................................................................................................................... 2 3. MARCO TEÓRICO ................................................................................................................... 2  CONTROL PROPORCIONAL (P) ........................................................................................... 3  CONTROL DERIVATIVO (D) ................................................................................................. 4  CONTROL INTEGRAL (I) ...................................................................................................... 5  COMBINACIÓN DE TIPOS DE CONTROL ............................................................................. 5  CONTROL PID..................................................................................................................... 6 4. DESCRIPCIÓN DEL PROYECTO ............................................................................................... 7 5. EQUIPOS Y COMPONENTES................................................................................................... 7 6. PROCEDIMIENTO ................................................................................................................... 7 7. CODIFICACIÓN ....................................................................................................................... 8 8. PRESENTACIÓN.................................................................................................................... 17 9. CONCLUSIONES Y RECOMENDACIONES .............................................................................. 18 10. ANEXOS ........................................................................................................................... 19 DATASHETT: ................................................................................................................................ 19 DHT22 ...................................................................................................................................... 19 16 X 2 LCD................................................................................................................................ 20 IRFZ44N ................................................................................................................................... 22 11. BIBLIOGRAFIA .................................................................................................................. 23 SISTEMAS DE CONTROL 1 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica 1. RESUMEN El proyecto es control PID de temperatura. El control PID es un mecanismo de control que a través de un lazo de retroalimentación permite regular temperatura de un proceso. El controlador PID calcula la diferencia entre nuestra variable real contra la variable deseada. Consistirá en sistema que controlará la temperatura por medio de un ventilador, que se encargara de enfriar el sistema a través de un ventilador u cooler quien girará más rápido, más lento o se apague y de un foco que busca brindar calor a través de su iluminación cuando la temperatura detectada por el sensor este por debajo del setpoint, totalmente buscando de esta manera mantener la temperatura deseada del sistema. Para el funcionamiento se utilizó un Arduino UNO, luego se programó el PID que proporcionara el control de dicha temperatura deseada, este dispositivo también generara un ancho de pulso por medio de las salidas PWM. 2. OBJETIVO  El objetivo del proyecto es controlar el valor de la temperatura de un ambiente, Set Point, ante las perturbaciones que se presenten, aumento o disminución de la temperatura. 3. MARCO TEÓRICO La temperatura es una magnitud y una variable de suma importancia, pues en la industria existen procesos físicos y químicos que solo se producen en un rango determinado de temperatura, por esta razón es importante el control de esta variable para tener un mayor confort y eficiencia energética. El control se puede realizar tanto manual (control en lazo abierto) como automático (control en lazo cerrado).  EL CONTROL EN LAZO ABIERTO Es un control de encendido-apagado, en nuestro caso para calentar una habitación, un calentador se enciende o se apaga. Cualquier perturbación desestabiliza el sistema, y el control no tiene capacidad para responder a esta nueva situación. SISTEMAS DE CONTROL 2 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica  EN CONTROL EN LAZO CERRADO En este sistema una variación en la salida o en otra variable, se mide y el controlador, modifica la señal de control, para que se estabilice, el sistema, ante la nueva situación. En nuestro caso se tiene un controlador que compara la variable (temperatura que se mide con un sensor) con la referencia, temperatura que se quiere tener en la habitación, y convertir el error que resulta en una acción de control para reducir el error.  Control proporcional (P) Produce una acción de control que es proporcional al error. La señal de correctora aumenta al aumentar la señal de error. SISTEMAS DE CONTROL 3 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica  Control derivativo (D) Produce una señal de control que es proporcional a la rapidez con la que cambia el error. Ante un cambio rápido de la señal de error, el controlador produce una señal de corrección de gran valor; cuando el cambio es progresivo, sólo se produce una señal pequeña de corrección. El control derivativo se puede considerar un control anticipativo porque al medir la rapidez con que cambia el error se anticipa a la llegada de un error más grande y se aplica la corrección antes que llegue. El control derivativo no se usa solo, siempre va en combinación con el control proporcional y/o con el control integral. SISTEMAS DE CONTROL 4 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica  Control integral (I) Produce una acción de control que es proporcional a la integral del error en el tiempo. En consecuencia, una señal de error constante producirá una señal correctora creciente y aumentará si el error continúa. El control integral se puede considerar que recuerda la situación anterior, suma todos los errores y responde a los cambios que ocurren.  Combinación de tipos de control Proporcional derivativo (PD), proporcional integral (PI) y proporcional integral derivativo (PID). SISTEMAS DE CONTROL 5 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica  Control PID El algoritmo PID es mostrado en la siguiente ecuación: 𝒕 𝒅 𝒖(𝒕) = 𝑴𝑽(𝒕) = 𝑲𝒑 𝒆(𝒕) + 𝑲𝒊 ∫ 𝒆(𝒕)𝒅𝒕 + 𝑲𝒅 𝒆(𝒕) 𝟎 𝒅𝒕 Está la parte proporcional, integral y diferencial en la ecuación  Las constantes 𝐾𝑃 , 𝐾𝑑 , 𝐾𝑖 son usadas para “setear” el signo y la ganancia de cada parte de esta ecuación.  𝒆(𝒕) es el “error” proporcional que es SP-PV.  La variable (t) corresponde al tiempo que corre en el sistema.  La parte proporcional de la ecuación tiene en cuenta la separación entre PV y SP.  La parte diferencial tiene en cuenta lo rápido que nos estamos moviendo ( si se acerca al SP muy rápido puede pasarse de largo), y se puede utilizar para reducir la parte proporcional si nos estamos acercando, o nos acelerará si no llegamos a pesar de nuestra contribución proporcional.  La parte integral de la ecuación tiene en cuenta el tiempo que hemos estado fuera del punto de ajuste , lo que contribuye más a nuestra salida cuanto más tiempo nos falta el PS . Esto es importante porque nuestras contribuciones P y D se suele llevar a nuestro PV a ceder ligeramente por encima o por debajo de nuestra variable SP. Está la parte proporcional, integral y diferencial en la ecuación. SISTEMAS DE CONTROL 6 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica 4. DESCRIPCIÓN DEL PROYECTO El control de temperatura cuenta con un sensor tipo resistivo y para medir la temperatura presenta un sensor tipo DHT22. Con el siguiente proyecto podremos obtener los valores temperatura ambiente actuales, así como obtener un pequeño registro de los valores máximos y mínimos alcanzados desde que ejecutamos el programa en nuestro Arduino, aunque una vez desconectada la alimentación de la placa o si presionamos el botón de reset, todos los valores acumulados se pierden. Dichos datos serán mostrados a través de un Display LCD 16x2. Pues ahora solo tenemos que realizar las conexiones oportunas y cargar el programa en nuestro Arduino UNO. 5. EQUIPOS Y COMPONENTES  01 Arduino UNO  01 Protoboard  01 Sensor de temperatura DHT22  01 Pantalla LCD de 16 caracteres y 02 líneas  02 MOSFET IRFZ44N  01 Fan cooler  01 Foco 100W  02 Pulsadores normalmente abiertos.  01 Resistencia de 220 Ω  01 Resistencia 10 KΩ  01 potenciómetro de 10k ohmios  Regulador de tensión de 5V  fuente 12V. 500 mA.  Cables de conexión 6. PROCEDIMIENTO  SETPOINT Sera la temperatura de consigna del sistema. Se trata de la temperatura deseada a la cual el proceso tiene que mantenerse a través de la acción del control. El algoritmo oscila entre dos temperaturas, con el motivo de ver cómo se comporta ante cambios de la entrada. Es decir, es a la temperatura que queremos que se encuentre nuestro recipiente. - La realimentación o información de cómo se encuentra el sistema, es adquirida por el sensor de temperatura DHT22 cuyo objetivo es que el valor medido sea siempre igual al valor deseado (Setpoint). SISTEMAS DE CONTROL 7 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica - El actuador es el ventilador y el foco, el cual regulamos su velocidad en caso del ventilador y en caso del foco regulamos la iluminación mediante modulación de ancho de pulsos (PWM).  DESARROLLO DEL CONTROL CONTROL INTEGRAL: Consigue que nuestro sistema alcance los valores objetivos, ya que corrige el error permanente del sistema. CONTROL DERIVATIVO: Sólo actúa si hay un cambio en el valor absoluto del error. Es decir, si el error es constante, no actuará. PID: Control Proporcional Integral Derivativo (PID) es mecanismo de control mediante realimentación negativa, el cual aplica una acción correctora al sistema para obtener el valor de consigna (Setpoint). El controlador PID calcula la diferencia entre nuestra variable real contra la variable deseada. Ventilador DHT22  VALORES ASIGNADOS Las constantes 𝐾𝑃 , 𝐾𝑑 , 𝐾𝑖 son usadas para “setear” el signo y la ganancia de cada parte del algoritmo del PID cuyos valores serán:  Setpoint = 40  𝐾𝑃 = 70  𝐾𝑑 = 15  𝐾𝑖 = 5 7. CODIFICACIÓN #include <LiquidCrystal.h> #include<DHT.h> const int dht22Pin = 2; //pin desde el sensor SISTEMAS DE CONTROL 8 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica const int botonMasPin = 14; // pin desde el boton mas const int botonMenosPin = 15; // pin desde el boton menos int p1; int p2; //variables medidas float temperatura = 0; float humedad = 0; // temperatura de control int temperaturaControl = 0; float margen = 1; long previousMillis = 0; // tiempo en milisegundos para tarea en segundo plano long interval = 300; // intervalo de tiempo para obtener medidas float error_actual= 0; float error_anterior = 0; float t_muestreo = 300;//Tiempo de muestreo [ms] //=====Constantes del control PID ================ float Kpe = 30; // Constante Proporcional float Kie = 7.5; //Constante de Sumatoria float Kde = 2; //Constante Derivativa del Sistema float PID = 0; //Señal //Recordar que las constantes deben ser halladas previamente según el comportamiento del sistema en lazo abierto //=====Variables de cálculo===================== float prop = 0; float inte = 0; SISTEMAS DE CONTROL 9 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica float deri = 0; float acum = 0; float area = 0; float Ts = 0; LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // objeto lcd DHT dht22(dht22Pin, DHT22); // objeto DHT11 // caracteres personalizados byte grados[8] = { B00001100, B00010010, B00010010, B00001100, B00000000, B00000000, B00000000, B00000000, }; byte termo[8] = { B00100, B01010, B01010, B01110, B01110, B11111, B11111, B01110 }; SISTEMAS DE CONTROL 10 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica byte barra[8] = { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111, }; void setup(){ lcd.begin(16, 2); // inicializa el LCD lcd.clear(); // crear caracter grados lcd.createChar(0,grados); lcd.createChar(1,termo); lcd.createChar(3,barra); // barra de progreso inicializar da tiempo para que el sensor se estabilize lcd.setCursor(0,0); lcd.print("CARGANDO..."); for (int i = 0; i <= 15; i++) { lcd.setCursor(i, 1); lcd.write((byte)3); delay(250); } delay(250); lcd.clear(); delay(500); SISTEMAS DE CONTROL 11 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica // configurar pines pinMode(3,OUTPUT); // salida de la señal PWM pinMode(5,OUTPUT); // salida de la señal PWM pinMode(dht22Pin, INPUT); pinMode(botonMasPin, INPUT); pinMode(botonMenosPin, INPUT); // obtener temperatura - humedad - indice de calor // pausa de dos segundos para estabilizar el DHT11 temperatura = dht22.readTemperature(); // obtiene la temperatura ambiente en ºC humedad = dht22.readHumidity(); // obtiene la humedad ambiente // comprueba la lectura, si falla vuelve a intentar if (isnan(humedad) || isnan(temperatura)) { return; } // establece la temperatura de control temperaturaControl = temperatura + 1; desplegarInformacion(); } void loop(){ p1=digitalRead(botonMasPin); p2=digitalRead(botonMenosPin); if(p1==HIGH){ temperaturaControl++; } else if(p2==HIGH){ temperaturaControl--; } SISTEMAS DE CONTROL 12 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica if (temperaturaControl < temperatura){//=======CELDA ON //Tiempo de muestreo en segundos: Ts = t_muestreo/1000; error_actual = temperatura - temperaturaControl ; //cálculo de error = Tdeseada -Tactual //error -> proporcional prop = error_actual*Kpe; // Error Proporcional=Kp*errror if(abs(error_actual) < margen){ //error -> integral area = error_actual+error_anterior; // error sumatoria area = area*Ts; area = area*0.5; acum = acum+area; inte = acum*Kie; inte = constrain(inte, -110, 110); //filtro anti-windup, para evitar saturación del actuador } else { inte=0; } //error -> derivada deri = error_actual-error_anterior; deri = deri*Kde; //PID-->> PID = prop + inte + deri; PID = constrain(PID, 0, 255); //restricción de la acción de control a rangos admisibles de PWM. //Almacenamiento del error actual error_anterior = error_actual; if(error_actual<1) { PID = PID; //condición primaria SISTEMAS DE CONTROL 13 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica } analogWrite(3,(int)PID); lcd.setCursor(12,1); lcd.print("ON "); } else{ //==CELDA APAGADA error_actual=0; digitalWrite(3,LOW); lcd.setCursor(12,1); lcd.print("OFF"); } delay(t_muestreo); if (temperaturaControl > temperatura){//=======FOCO ON //Tiempo de muestreo en segundos: Ts = t_muestreo/1000; // Conversión lineal de la señal de entrada a temperatura en grados centígrados : error_actual = temperaturaControl - temperatura ; //cálculo de error = Tdeseada -Tactual //error -> proporcional prop = error_actual*Kpe; // Error Proporcional=Kp*errror if(abs(error_actual) < margen){ //error -> integral area = error_actual+error_anterior; // error sumatoria area = area*Ts; area = area*0.5; acum = acum+area; inte = acum*Kie; inte = constrain(inte, -110, 110); //filtro anti-windup, para evitar saturación del actuador } else { SISTEMAS DE CONTROL 14 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica inte=0; } //error -> derivada deri = error_actual-error_anterior; deri = deri*Kde; //PID-->> PID = prop + inte + deri; PID = constrain(PID, 0, 255); //restricción de la acción de control a rangos admisibles de PWM. //Almacenamiento del error actual error_anterior = error_actual; if(error_actual<1) { PID = PID; //condición primaria } analogWrite(5,(int)PID); lcd.setCursor(2,1); lcd.print("ON "); } else{ //==FOCO APAGADO error_actual=0; digitalWrite(5,LOW); lcd.setCursor(2,1); lcd.print("OFF"); } delay(t_muestreo); unsigned long currentMillis = millis(); SISTEMAS DE CONTROL 15 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica if(currentMillis - previousMillis > interval) { // se ejecuta en segundo plano // guardar el utlimo instante de lectura previousMillis = currentMillis; // obtener temperatura - humedad - indice de calor temperatura = dht22.readTemperature(); // obtiene la temperatura ambiente en ºC humedad = dht22.readHumidity(); // obtiene la humedad ambiente // comprueba la lectura, si falla vuelve a intentar if (isnan(humedad) || isnan(temperatura)) { return; } } desplegarInformacion(); } void desplegarInformacion(){ lcd.setCursor(0, 0); lcd.write((byte)1); lcd.setCursor(1, 0); lcd.print("="); lcd.setCursor(2, 0); lcd.print(temperatura,1); lcd.setCursor(6, 0); lcd.write((byte)0); lcd.setCursor(0, 1); lcd.print("F"); lcd.setCursor(1, 1); lcd.print(":"); SISTEMAS DE CONTROL 16 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica lcd.setCursor(9, 0); lcd.print("SP:"); lcd.setCursor(12, 0); lcd.print(temperaturaControl,1); lcd.setCursor(14, 0); lcd.write((byte)0); lcd.setCursor(9,1); lcd.print("V :"); } 8. PRESENTACIÓN SISTEMAS DE CONTROL 17 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica 9. CONCLUSIONES Y RECOMENDACIONES  El sistema pudo mantener el valor del SetPoint ante la entrada de perturbaciones de temperatura.  Controlamos la temperatura del sistema a través de la activación o desactivación del fan cooler y del foco.  El sistema de control de temperatura trabaja con tiempos prolongados por tal motivo tarda en estabilizar la temperatura del sistema.  Como recomendación se puede implementar una termocupla al sistema y se podrá obtener una respuesta más precisa y rápida de la temperatura. SISTEMAS DE CONTROL 18 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica 10. ANEXOS DATASHETT: DHT22 1. Descripción: La salida del DHT22 es señal digital. Utiliza técnica que colecciona señal exclusiva y digital y humedad sintiendo tecnología, asegurando su fiabilidad y estabilidad .Este sensor elementos está vinculada con computadora del chip solo de 8 pedacitos. Cada sensor de este modelo es temperatura compensada y calibrada en cámara precisa de calibración y el coeficiente de calibración es salvado en el tipo de programa en la memoria OTP, cuando el sensor detecta, se referirá al coeficiente de memoria. El tamaño pequeño y el consumo bajo y la larga distancia de transmisión (20m) le permiten DHT22 ser adecuados en toda clase de ocasiones aplicativas rudas. La fila sola empacada con cuatro alfileres, haciendo la conexión muy conveniente. 2. Secuencia Eléctrica. El período colector debería ser: >2 segundos SISTEMAS DE CONTROL 19 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica 3. Dimensionamiento en mm: 4. Secuencia Numérica 1 2 3 4 (De Izquierda A Derecha). 16 x 2 LCD SISTEMAS DE CONTROL 20 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica SISTEMAS DE CONTROL 21 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica IRFZ44N SISTEMAS DE CONTROL 22 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica 11. BIBLIOGRAFIA  Burton, Miles. Biblioteca de Control de Temperatura de Dallas. MilesBurton.com. https://www.milesburton.com/Dallas_Temperature_Control_Library.  Wikipedia. Controlador PID. Wikipedia. http://en.wikipedia.org/wiki/PID_controller.  Arduino Playground. Biblioteca PID. Arduino Playground. https://www.arduino.cc/playground/Code/PIDLibrary.  Tinkering with Electronics. Maqueta de control PID con Arduino. real2electronics.blogspot.pe. https://real2electronics.blogspot.com.es/2011/07/maqueta-de-control-pid-con- arduino.html  TODOPIC. PID Digital (paso a paso). todopic.com.ar. SISTEMAS DE CONTROL 23 Universidad Nacional del Callao Control de Temperatura Escuela Profesional de Ing. Eléctrica https://www.todopic.com.ar/foros/index.php?topic=24599.80 SISTEMAS DE CONTROL 24
Copyright © 2024 DOKUMEN.SITE Inc.