Proyecto: Control de Temperatura con PID usando Arduino y JavaFX

1. Descripción del problema

Se implementa un sistema de control de temperatura utilizando un termistor, una resistencia calefactora, un MOSFET y un Arduino, todo supervisado desde una interfaz gráfica en JavaFX. El sistema debe mantener una temperatura deseada (setpoint) siguiendo un perfil temporal, aplicando control PID sobre una señal PWM que regula la potencia del calefactor.

2. Análisis del problema

El sistema se compone de los siguientes entes principales:

3. Requerimientos y casos de uso

Casos de uso definidos:

Pruebas ejecutadas:

4. Diseño

4.1 Arquitectura general

La solución se basa en una arquitectura por capas que separa el controlador PID, el modelo de perfil térmico, la vista gráfica y la capa de comunicación serial.

4.2 Diagrama de clases (UML)

Representación de la relación entre los componentes principales:

Diagrama de Clases UML

4.3 Diagrama de secuencia para el caso de uso CU1 (Inicio)

Secuencia de sincronización y lectura inicial:

Diagrama de Secuencia

5. Implementación

El código está dividido en módulos Java:

Los archivos contienen documentación con comentarios compatibles con Javadoc. Por ejemplo:

6. Pruebas

Algunos resultados observados:

Captura 1: temperatura real siguiendo setpoint

Captura de pantalla

La temperatura sigue correctamente el perfil cargado desde el archivo CSV.

Captura 2: prueba en modo simulado

Captura de simulación

Se puede verificar el comportamiento del PID sin hardware conectado.

Dificultades

7. Código fuente

El código completo del proyecto está comprimido en el siguiente enlace:

Descargar código fuente del proyecto (.zip)

Este archivo contiene: