Sunteți pe pagina 1din 7

INSTITUTO TECNOLÓGICO SUPERIOR

DE SAN ANDRÉS TUXTLA

INGENIERÍA MECATRONICA
MATERIA:
CONTROL

GRUPO:
811- “A”

PRODUCTO ACADEMICO:
Reporte de proyecto final

(Calentador de agua Automatizado PID)

PRESENTA:
José Alberto Buenrostro Nolasco 151U0684
Salim Vera Sánchez 161U0004
Skarlet de los Ángeles Ortiz Cruz

DOCENTE:

MII. Blanca Nicandria Ríos Ataxca

San Andrés Tuxtla, Ver. 10 de Junio del 2019


Control PID de temperatura con Arduino

Introducción
La temperatura es una de las principales variables físicas a controlar en todo tipo de
proceso, el principal objetivo de este proyecto es identificar y diseñar un sistema de
control para poder calentar agua, diseñamos una señal de entrada, y nos dimos
cuenta que hay varios tipos de sistemas de control y optamos por el PID.

Durante el desarrollo de este reporte se explicara detalladamente el proceso para


lleva a cabo nuestro objetivo.
Desarrollo de la práctica
En esta práctica se implementó un sistema de control Proporcional Integral Derivativo
de temperatura, el modelo matemático se llevó a cabo en una placa Arduino,
mostrando en el código el control PID, del cual se quiere crear un interfaz que
muestre los datos que se obtienen de temperatura y tiempo, tomando varias
muestras.

Para empezar se necesitaron los siguientes materiales:

● Arduino
● Relé de estado solido
● Sensor de temperatura, ds18p20
● Resistencia de 500

Para empezar se realizó el diseño del código en Arduino, como se muestra en la


siguiente imagen, se debe tener en cuenta que el PID está creado con una salida
analógica, y el relé es digital, o está conectado o desconectado, es decir solo ceros y
unos, para esto se utilizan las librerías.

Se incluyen las librerías del PID y del sensor de temperatura, como se muestran en
la imagen:

Código en Arduino

Código
#include <PID_v1.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define pinData #define SSR 6
#define led 13
#define tiempoCiclo 1000
double Setpoint, Input, Output
double Kp=10, Ki=3, Kd=400;
float temperature=0;

unsigned long respuestaUltimaTemperatura = 0;


unsigned long lastPIDCalculation = 0;
float prevIemperatura = -9999.0;

PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);


OneWire ourWire(pinData);
DallasTemperature sensors(&ourWire);
void setup()
{
Setpoint= 40.0;
myPID.SetOutputLimits(0, tiempoCiclo);
myPID.SetSampleTime(tiempoCiclo);
myPID.SetMode(AUTOMATIC);
Serial.begin(115200);
pinMode(SSR, OUTPUT);
digitalWrite(SSR, LOW);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
sensors.begin(); }

void loop()
{
if (millis() - respuestaUltimaTemperatura >= tiempoCiclo)
{
temperature= sensors.getTempCByIndex(0);
Input = (double)temperature;

myPID.Compute();
lastPIDCalculation = millis();
Serial.print(temperature);
Serial.print(" , ");
Serial.println(Output/50);
sensors.requestTemperatures();
respuestaUltimaTemperatura = millis();
}
control();
}

void control()
{
if ((millis() <= (lastPIDCalculation + Output)) || (Output ==
tiempoCiclo))
{
//Power on:
digitalWrite(SSR, HIGH);
digitalWrite(led, HIGH);
} else {
// Power off:
digitalWrite(SSR, LOW);
digitalWrite(led, LOW);
}
// delay(10):

}
Se le agrega tiempo al ciclo y se definen los parámetros del PID como son K p, Ki y Kd
que son las constante proporcional, integral y derivativa, y las constantes de
temperatura, los límites de ciclo máximo y se agregan las gráficas donde se
registraran los datos como se ve en la imagen del código que se presentó
anteriormente, así como la activación y apagado del relé.

Una vez que se tiene el código de compila para verificar que no haya ni un error y se
carga al Arduino

Una vez se tiene ya cargado el programa al Arduino, se procede a el ensamble del


circuito, como se diseñó el código, se realizan las conexiones.

Se conecta primero el sensor de temperatura a la corriente y a negativo, y al pin 2


como mostraba en el código, el relé se conecta al pin 6 lo que es la salida, se realiza
la conexión de la resistencia al relé y a la corriente, y la salida del relé, a la
resistencia.
Foto del circuito ya conectado

Una vez conectado todo se lleva a cabo la práctica para eso se utiliza un traste con
agua. Como se ve en la gráfica la temperatura empieza a subir, el PID es el que se
muestra con una gráfica muy rápida.
Conclusión
En este proyecto se realizó los controles para hacer un calentador de agua
automatizado ocupando el método de control PID la cual es el más completo y
genera buena lectura en el proyecto.

Se observaron los comportamientos cuando se movían los parámetros del tiempo de


lectura y su tiempo de respuesta, la cual se ajustaron las 3 variables para que
solamente tengo un margen de error mínimo y su funcionamiento sea el adecuado.

S-ar putea să vă placă și