1. PROYECTO FINAL
ASIGNATURA
Control Digital
DE LA CARRERA
Ingeniería en Mecatrónica
PRESENTADO POR
Beraly Alejandra Acuña Ríos
Lizbeth Berenice Cardona Peña
Jesús Cepeda Ambriz
Olga Alondra Echartea Reyes
Anhuar Alejandro Farías Chávez
Ileana Guadalupe García Jiménez
Oscar Eduardo Hernández Ávalos
Nubia Yoselin Ibáñez Chávez
Emanuel Perea de León
Melkar Daniel Ríos Meza
Jaime Eduardo Rocha Ramírez
Miguel Angel Rubio Padrón
ASESOR INSTITUCIONAL
Dr. Yahir Hernández Mier
Ciudad Victoria Tamaulipas, México. Abril 2019
2. 2
Índice de Contenido
INTRODUCCIÓN______________________________________________________________________________________ 3
MATERIAL UTILIZADO_________________________________________________________________________________ 4
PRIMER AVANCE_____________________________________________________________________________________ 6
SEGUNDO AVANCE __________________________________________________________________________________ 10
CONCLUSIONES_____________________________________________________________________________________ 13
BIBLIOGRAFÍA ______________________________________________________________________________________ 14
ANEXOS ___________________________________________________________________________________________ 15
Índice de Figuras
FIGURA 1 FUENTE DE ALIMENTACIÓN_____________________________________________________________________ 4
FIGURA 2 MOSFET ____________________________________________________________________________________ 4
FIGURA 3 IMPRESORA 3D _______________________________________________________________________________ 4
FIGURA 4 ARDUINO UNO _______________________________________________________________________________ 4
FIGURA 5 BOTONES ___________________________________________________________________________________ 4
FIGURA 6 LCD _______________________________________________________________________________________ 5
FIGURA 7 TORNILLERÍA Y REMACHES _____________________________________________________________________ 5
FIGURA 8 ÁNGULO DE ALUMINIO_________________________________________________________________________ 5
FIGURA 9 PERFIL DE ALUMINIO __________________________________________________________________________ 5
FIGURA 10 ACRÍLICO __________________________________________________________________________________ 5
FIGURA 11 CARCASA PARA LA FUENTE Y LOS COMPONENTES (VISTA PLANTA) _____________________________________ 6
FIGURA 12 CARCASA PARA LA FUENTE Y LOS COMPONENTES (VISTA LATERAL) ____________________________________ 6
FIGURA 13 SUJETADORES DE LA FUENTE___________________________________________________________________ 6
FIGURA 14 FUENTE CON SUS RESPECTIVOS SUJETADORES _____________________________________________________ 7
FIGURA 15 HERRAMIENTA PARA HACER ORIFICIOS ___________________________________________________________ 7
FIGURA 16 USO DE UNA HERRAMIENTA PARA HACER ORIFICIOS_________________________________________________ 8
FIGURA 17 DIBUJO DE LOS CUADRADOS ___________________________________________________________________ 8
FIGURA 18 CORTE DE LOS CUADRADOS____________________________________________________________________ 8
FIGURA 19 BASE DE LA IMPRESORA 3D ____________________________________________________________________ 9
FIGURA 20 _________________________________________________________________________________________ 10
FIGURA 21 _________________________________________________________________________________________ 10
FIGURA 22 _________________________________________________________________________________________ 10
FIGURA 23 _________________________________________________________________________________________ 10
FIGURA 24 SIMULACIÓN EN EL SOFTWARE PROTEUS.________________________________________________________ 11
FIGURA 25. CIRCUITO FÍSICO. __________________________________________________________________________ 11
FIGURA 26. CIRCUITO FÍSICO ___________________________________________________________________________ 12
FIGURA 27. CIRCUITO DE CONTROL DE TEMPERATUTA CONECTADO A LA CAMA CALIENTE. __________________________ 12
FIGURA 28. CÓDIGO SELECTOR DE TEMPERATURA. _________________________________________________________ 16
3. 3
Índice de Tablas
TABLA 1 COSTO DEL MATERIAL UTILIZADO _______________________________________________________________5
Introducción
El presente documento trata sobre la realización de un regulador de temperatura haciendo uso de los
conocimientos adquiridos en la asignatura de Control Digital
Se sabe que un sistema de control puede ser definido como el medio a través del cual una cantidad o
variable cualquiera de interés en una máquina, mecanismo o proceso, es mantenido o alterado de acuerdo
con un patrón de comportamiento deseado [1].
Por lo mismo, se propone que en el desarrollo del proyecto se realice el diseño de un modelo matemático
en el que se hará uso de software como Scilab para la resolución del mismo, así como la construcción de
un prototipo.
4. 4
Material utilizado
Componente Imagen Características Precio
Fuente De
Alimentación
Modelo: S-360-12
Voltaje de entrada: 110 ~ 220V AC 50/60 Hz
Voltaje de salida: 12V DC
Corriente de salida (máx.): 30A
Potencia: 360W
Ventilador Dimensiones: 215*110*50mm
Peso: 865g
$589
Mosfet
Marca: Threed
Modelo: Mosfet TE717
Corriente máxima: 30A
Puede usarse tanto en tarjetas Ramps 1.4 como en
MKS
Voltaje: 5V - 24V.
Dimensiones: 8.8 x 6.7 x 3.2cm
$485
Impresora 3d
Cama Caliente
-Material: Aluminio
-Dimensiones: 220x220mm
-Termistor 100K
-Resistencia 12V
-Temperatura Máxima: 120°
-Perforación en las 4 esquinas para su calibración
$660
Arduino Uno
Microcontrolador: ATmega328
Voltaje de operación: 5V
Voltaje de entrada: 7 – 12V
Rango de voltaje de entrada: 6-20V
Pines digitales I/O: 14 (6 PWM)
ADC: 6
Corriente por pin I/O: 40mA
Memoria Flash: 32KB (0.5 KB usados en
bootloader)
Reloj: 16Mh
$130
Cable $50
Botones $10
Figura 1 Fuente de
Alimentación
Figura 2 Mosfet
Figura 3 Impresora 3d
Figura 4 Arduino Uno
Figura 5 Botones
5. 5
LCD $70
Tornillería y
remaches
$60
Angulo de
aluminio
Figura 8 Ángulo de aluminio
¼ ‘’
$40
Perfil de
aluminio
1m de perfil de aluminio de 1’’
$100
Acrílico $60
envíos $123
Total $2,377
Tabla 1 Costo del material utilizado
Figura 6 LCD
Figura 7 Tornillería y
remaches
Figura 9 Perfil de
aluminio
Figura 10 Acrílico
6. 6
Primer Avance
Teniendo los componentes necesarios y tomando en cuenta la disposición de los mismo se obtuvieron
las medidas del espacio total a utilizar para con esto proceder con la construcción de una carcasa para la
protección de los dispositivos, así como para brindar una mejor estética al proyecto. (Figura 12 y Figura
11).
Se necesitó la fablicación de unos sujetadores para evitar que la fuente de alimentación se mueva (Figura
13),además de que ayuda a la sujecion de la carcasa y así evitar problemas en el funcionamiento o malas
conexiones con los componentes.
Figura 13 Sujetadores de la fuente
Figura 11 Carcasa para la fuente y los componentes (vista
planta)
Figura 12 Carcasa para la fuente y los componentes (vista
lateral)
7. 7
En la siguiente figura se muestran los sujetadores con orificios, en los cuales se colocará en la fuente.
Figura 14 Fuente con sus respectivos sujetadores
Usando un taladro de banco se hicieron los orificios necesarios a los sujetadores (Figura 15 y Figura 16).
Figura 15 Herramienta para hacer orificios
8. 8
Figura 16 Uso de una herramienta para hacer orificios
A continuación, se dibujó (Figura 17) y se cortó (Figura 18) unos cuadrados que servirán para la separación
entre el acrílico (base de la impresora 3d) con la cama caliente los cuales se muestran en la Figura 19.
Figura 17 Dibujo de los cuadrados Figura 18 Corte de los cuadrados
9. 9
Por último, se construyó la base donde se colocará la cama caliente como se muestra en la Figura 19.
Figura 19 Base de la impresora 3d
10. 10
Segundo Avance
Se siguió mejorando el acabado de la carcasa (Figura 21 y Figura 20), y se hicieron cambios en el menú
del controlador, y el lugar de un potenciómetro se podrá elegir la temperatura por medio de dos push-
botton (Figura 23) .
Figura 21
Figura 22Figura 23
Figura 20
11. 11
Para poder hacer la selección de la temperatura a la que se quiere llegar se creó un código en el Software
Arduino (Figura 28. Código selector de Temperatura.Figura 28). Y luego se realizaron las conexiones de los
componentes a un Arduino Uno.
Figura 24 Simulación en el Software Proteus.
Figura 25. Circuito físico.
12. 12
Figura 27. Circuito de control de temperatuta conectado a la cama caliente.
Figura 26. Circuito físico
13. 13
Conclusiones
El control de temperatura suele tener aplicaciones muy diversas debido a su utilidad, lo que lo
suele hacerlo diferente es la forma en la que se detecta dicha temperatura. Para el presente
documento se detectaba una temperatura, dicha temperatura podía ser vista desde es la
opción Serial Plotter de Arduino, la estructura lógica de dicho control de realizo mediante
Arduino, donde se podría apreciar la temperatura seleccionada.
Los resultados obtenidos de manera física se lograron de manera parcial, debido a que se
presentaron algunas dificultades al momento de conocer la estructura del circuito, sin contar
con datos suficientes se dificultó el trabajo de realizar las conexiones, por lo que se estuvo
haciendo con prueba y error.
Lo que se aprendió con esto fue llevar a la práctica lo visto durante el cuso, se comprendió la
manera en la que funciona un controlador, se realizó todo de manera teórica para después
llevar los resultados a la práctica.
15. 15
Anexos
//LCD
#include <LiquidCrystal.h> // Incluye la Libreria LiquidCrystal
LiquidCrystal /*lcd(8,9, 4, 5, 6, 7)*/ lcd(12, 11, 5, 4, 7, 6); // Crea un Objeto LC. Parametros: (rs, enable,
d4, d5, d6, d7)// Variable global de velocidad
volatile int temperatura = 29;
// Constantes de velocidad máxima, mínima y cuanto aumenta
const int maxima = 40;
const int minima = 30;
const int aumenta = 1;
//TERMISTOR
int Vo;
float R1 = 100000; // resistencia fija del divisor de tension
float logR2, R2, TEMPERATURA;
float c1 = 2.114990448e-03, c2 = 0.3832381228e-04, c3 = 5.228061052e-07;
// coeficientes de S-H en pagina:
void setup() {
lcd.begin(16,2); // Inicializa la interface para el LCD screen, and determina sus dimensiones (ancho y
alto) del display
Serial.begin(9600); // inicializa comunicacion serie a 9600 bps
attachInterrupt(digitalPinToInterrupt(2), tempMenos, RISING);
attachInterrupt(digitalPinToInterrupt(3), tempMas, RISING);
// lcd.print(" Control de temp"); // Imprime "LCD Tutorial" sobre el LCD
//delay(3000); // 3 segundos de espera
//lcd.setCursor(0,1); // Seteamos la ubicacion texto 0 linea 1 que sera escrita sobre el LCD
//lcd.print("Medidor de temp");
//delay(4000);
//lcd.clear(); // Limpia la pantalla
16. 16
//lcd.print("Medidor de temp");
//delay(4000);
//lcd.clear(); // Limpia la pantalla
//delay(1500);
//Serial.begin(9600);
//Serial.println("temp: ");
}
//copiar a simplemenu antes loop
void loop() {
//TEMPERATURA DEL TERMISTOR
Vo = analogRead(A0); // lectura de A0
R2 = R1 * (1023.0 / (int)Vo - 1.0); // conversion de tension a resistencia
logR2 = log(R2); // logaritmo de R2 necesario para ecuacion
TEMPERATURA = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2)); // ecuacion S-H
TEMPERATURA = TEMPERATURA - 273.15; // Kelvin a Centigrados (Celsius)
//MONITOR SERIAL
Serial.print("Temperatura: "); // imprime valor en monitor serie
Serial.print(TEMPERATURA);
Serial.println(" C");
lcd.setCursor(0,1);
lcd.print("Term: ");
lcd.setCursor(8,1);
lcd.print(TEMPERATURA);
delay(2000); // demora de medio segundo entre lecturas
/////
lcd.setCursor(0,0);
lcd.print("Selecc:");
lcd.setCursor(8,0);
lcd.print(temperatura);
//Serial.println("temp: ");
//Serial.println(temperatura);
/*lcd.blink(); // Displayamos el Blinking del Cursor sobre el LCD
delay(3000);
lcd.noBlink(); // Apagamos el Blinking del Cursor sobre el LCD
lcd.setCursor(0,1);
lcd.print("/user/HHSolis");
delay(5000);
lcd.clear(); //
delay(2000);*/
}
// ISR pin 2, disminuye la temperatura
void tempMenos()
17. 17
// ISR pin 2, disminuye la temperatura
void tempMenos()
{
// Disminuimos el valor establecido
temperatura = temperatura - aumenta;
// Si hemos llegado a la temperatura mínima no disminuímos más
if (temperatura < minima)
{
temperatura = minima;
}
}
// aumenta la temperatura
void tempMas()
{
// Aumentamos el valor establecido
temperatura = temperatura + aumenta;
// Si hemos llegado a la temperatura máxima no aumentamos más
if (temperatura > maxima)
{
temperatura = maxima;
}
}
Figura 28. Código selector de Temperatura.