Sunteți pe pagina 1din 25

CONTROL DE TEMPERATURA

SISTEMAS 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