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.
El sistema se compone de los siguientes entes principales:
Casos de uso definidos:
Pruebas ejecutadas:
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.
Representación de la relación entre los componentes principales:
Secuencia de sincronización y lectura inicial:
El código está dividido en módulos Java:
PIDController.java
: controlador PID puro.UartManager.java
: maneja comunicación serial con Arduino.MainView.java
: interfaz gráfica y lógica de ejecución.TemperatureProfile.java
: gestiona el perfil térmico.HeaterSimulator.java
: permite pruebas sin hardware.Los archivos contienen documentación con comentarios compatibles con Javadoc. Por ejemplo:
Algunos resultados observados:
La temperatura sigue correctamente el perfil cargado desde el archivo CSV.
Se puede verificar el comportamiento del PID sin hardware conectado.
El código completo del proyecto está comprimido en el siguiente enlace:
Descargar código fuente del proyecto (.zip)
Este archivo contiene:
src/
con todo el código fuente Java.arduino_pid_temp.ino
.perfil.csv
con el perfil de temperatura.README.md