Diseño
mecatrónico
Practica 12
Nombre de los alumnos:
Arturo De la Rosa Gonzalez
Eduardo Pedraza Benítez
Profesor:
Jaime García García
Introducción.
Durante la presente practica encontramos la función de transferencia de una celda
Peltier utilizando el ESP32.
Trabajo previo.
1. Instalar las siguientes librerías en el IDE de Arduino; Dallas Temperature,
OneWire
2. Investigar cómo se utiliza la herramienta: pidTuner, para la identificación de
planta de Matlab
Es una herramienta gráfica de MATLAB que permite diseñar y ajustar controladores
PID. Aunque está diseñada principalmente para ajustar los parámetros PID, también
puede ser usada para la identificación de la planta, cuando tienes un modelo
dinámico desconocido o incompleto.
3. Investigar la hoja de datos de la celda Peltier TEC1-12706
Datos clave de la celda Peltier TEC1-12706:
• Tensión nominal: 12 V (máximo: 15.4 V)
• Corriente nominal: 6 A
• Potencia máxima de entrada: ~72 W
• ΔT máximo (diferencia de temperatura entre las caras): 66 °C
• Dimensiones: 40 mm × 40 mm × 3.6 mm
• Resistencia interna: ~1.98 ohm
4. Investigar las aplicaciones de una celda Peltier
Refrigeración de componentes electrónicos:
• CPUs, sensores, láseres, cámaras CCD.
Minineveras y sistemas portátiles de refrigeración:
• Enfriadores de bebidas, luncheras eléctricas.
Climatización localizada:
• Asientos de automóviles, ropa con control térmico.
Instrumentación científica y médica:
• Sistemas de control de temperatura en microscopios, espectrofotómetros,
incubadoras portátiles.
Generación de energía (modo inverso):
• Si se aplica un gradiente de temperatura, puede generar una diferencia de
potencial (efecto Seebeck).
Material y equipo para utilizar:
Cantidad Descripción
1 Tarjeta ESP32
1 LED
1 DS18B20
1 Celda Peltier
1 Resistencia de 4.7 kΩ
1 Resistencia de 100Ω
1 Modulo MOSFET
8 Cables para arduino
1 Resistencia de 220Ω
1 Protoboard
1 Fuente
1 Multímetro
Desarrollo:
1. Implemente las conexiones del circuito de la figura 10.1, verifique la hoja de
datos del DS18B20 para hacer la conexión directa del sensor, conecte la salida
del sensor al GPIO2.
Figura 12.1 conexión del DS18B20 con Arduino
2. Verifique que está midiendo temperatura.
3. Sujete el sensor y verifique el aumento de temperatura
4. Cierre la ventana de monitor serie y ahora verifique la opción Serial plotter.
Obtenga evidencias de funcionamiento
5. Coloque la celda Peltier como se muestra en la figura 12.2, la cara fría es donde
está escrita la matrícula TEC1-12706, la cara caliente de la celda debe quedar
del lado donde se encuentra el ventilador más grande, la cara fría no requiere
ventilador es suficiente con un disipador para radiar el frio.
Figura 12.2 Colocación de la celda Peltier
6. Coloque el sensor de temperatura en el disipador de la cara fría.
7. Arme el circuito de la figura 12.3, Tenga en cuenta que puede utilizar el MOSFET
o sustituirlo por un módulo MOSFET
Figura 12.3 Control de Celda Peltier con ESP32
8. Cargue el programa el programa de la tabla 12.1
Tabla 12.1 Programa para controlar temperatura por ON-OFF
/*********
Control de Temperatura On_ofF
*********/
#include <OneWire.h>
#include <DallasTemperature.h>
// GPIO where the DS18B20 is connected to
const int oneWireBus = 2;
int hotPin = 16; //Salida control del transistor
int hot=15; //valor arbitrario para la grafica
// Configuración de OneWire
OneWire oneWire(oneWireBus);
// Configuración sensor
DallasTemperature sensors(&oneWire);
void setup() {
// Start the Serial Monitor
[Link](115200);
// Start the DS18B20 sensor
[Link]();
pinMode(hotPin, OUTPUT);
digitalWrite(hotPin, LOW);
void loop() {
[Link]();
float temp = [Link](0);
if (temp <= 12){
digitalWrite(hotPin, LOW);
}
if (temp >= 13){
digitalWrite(hotPin, HIGH);
}
//Salida al Serial Plotter
[Link](10); //Linea 10 grados
[Link](",");
[Link](9); //Linea Setpoint
[Link](",");
[Link](8); //Linea 8 grados
[Link](",");
[Link](temp); //Linea valor sensor
[Link](",");
[Link](hot); // On / OFF calefactor
delay(1000);
9. Después de cargar el programa, abra el monitor “serial Plotter” y active la fuente,
obtenga evidencias del funcionamiento, observe la activación del transistor
cuando la temperatura está cerca del set point. Realice una perturbación para
bajar la temperatura.
• Activo el transistor.
• Desactivado el transistor.
10. Modifique el programa para que seleccione otro set point, en un valor diferente
al del ejercicio, de preferencia entre 11.7 y 12 grados, obtenga evidencias
• Transistor activado.
• Transistor desactivado.
11. Desactive la fuente y espere al menos 5 minutos para que la celda Peltier se
encuentre a temperatura ambiente.
12. Cargue el programa que se muestra en tabla 12.2
Tabla 12.2 Captura de curva de reacción
#include <OneWire.h>
#include <DallasTemperature.h>
int i;
OneWire ourWire(2); //Se establece el pin 2 como bus OneWire
DallasTemperature sensors(&ourWire); //Se declara una variable u objeto
void setup(void)
{
[Link](9600);
[Link]();
[Link]();
}
void loop(void)
{
analogWrite(16, 60);
delay (5000);
for (i=0;i<200;i++)
{
analogWrite(16, 60);
[Link](); //comando para leer la temperatura
float temp= [Link](0); //asigna de variable
[Link](i);
[Link](",");
[Link](temp);
[Link] ( );
delay(1000);
}
for (i=200;i<600;i++)
{
analogWrite(16, 120);
[Link](); //Se lee la temperatura
float temp= [Link](0); //Se obtiene la temperatura
[Link](i);
[Link](",");
[Link](temp);
[Link] ( );
delay(1000);
}
delay (10000);
}
13. Active la fuente y abra el monitor serial, espere a que llegue al valor de 199.
14. Capture los datos del monitor serial desactivando autoscroll
17. Pegue los datos capturados a excel, verifique los datos y verifique la curva de
reacción, guarde el archivo ([Link]) y colóquelo en los datos de trabajo de
Matlab
18. Abra Matlab y capture los datos en la ventana de comandos con la instrucción
T = readtable('[Link]') el script se encuentra en Teams;
19. Utilizando pidTuner de Matlab, obtenga la identificación de la planta.
20. Obtenga la función de transferencia