tdse-tf_3-02

Controlador PID para derretidor de miel con control local via botones y remoto via WiFi
Index Commits Files Refs Submodules README
README.md (19347B)
   1  <img src="img/logofiuba.png" width="100%">
   2 
   3 # Controlador de derretidor de miel
   4 
   5 Trabajo practico final  
   6 Taller de sistemas embebidos (TA134) - FIUBA  
   7   
   8 Martin Klöckner - [mklockner@fi.uba.ar](mailto:mklockner@fi.uba.ar)  
   9 
  10 ## Índice
  11 
  12 1. [Introducción](#introducción)
  13 2. [Proyectos similares y alternativas](#proyectos-similares-y-alternativas)
  14 3. [Requisitos](#requisitos)
  15 4. [Modos de operación](#modos-de-operación)
  16 5. [Casos de uso](#casos-de-uso)
  17 6. [Diagrama en bloques](#diagrama-en-bloques)
  18 7. [Especificaciones](#especificaciones)
  19 8. [Informe de avances](#informe-de-avances)
  20 
  21 ## Introducción
  22 
  23 Un derretidor eléctrico de miel es un equipo diseñado para elevar la temperatura
  24 de la miel de una forma controlada, con el fin de reducir la viscosidad y
  25 facilitar la manipulación de la misma en diferentes procesos, como el envasado,
  26 filtrado, bombeo, etc. En la figura 1 se muestra un ejemplo de un derretidor de
  27 miel convencional y al que apunta el proyecto al reemplazar el controlador
  28 incluido, un termostato bimetalico, por un sistema más sofisticado digital.
  29 
  30 <img style="padding: 10px" src="img/derretidor_convencional.png" width="100%">
  31 <p align="center"><em>Figura 1: Derretidor de miel convencional</em></p>
  32 
  33 El objetivo del proyecto entonces, es diseñar e implementar el controlador de un
  34 derretidor eléctrico de miel para tambores que ya se comercializa actualmente,
  35 de manera de obtener un control mas preciso de la temperatura y ampliar las
  36 funcionalidades del mismo, como ser el control remoto, la temporización
  37 programada, o el ajuste mediante curvas de temperatura de acuerdo a diferentes
  38 situaciones.
  39 
  40 ## Proyectos similares y alternativas
  41 
  42 Si bien no se encontraron proyectos históricos similares en la materia (sistemas
  43 embebidos FIUBA) en cuanto a algo tan especifico como un controlador de un
  44 derretidor de miel, si se encontraron proyectos similares en cuanto a controlar
  45 la temperatura de un sistema, como por ejemplo de un [horno eléctrico para
  46 gastronomía](https://docs.google.com/document/d/1ypnhOz-Gx_ZRbwiI6vEn4dvr7_YqNVnpy5sfgalQAoA/edit?tab=t.0)
  47 o un [horno eléctrico para componentes
  48 SMD](https://docs.google.com/document/d/1rQf3P1D7NSb7egpnlkKMTvL_rzy9PuMcMBPcu7NxmQw/edit?tab=t.0).
  49 
  50 En cuando a alternativas que cumplan con los objetivos de ampliar las
  51 funcionalidades del derretidor de miel, se tuvo en cuenta diseñar un
  52 temporizador que, manteniendo el controlador de temperatura ya incluido en el
  53 derretidor, permita el control remoto y la activación en determinados momentos
  54 del día o durante intervalos específicos. Esta idea no fue descartada, ya que
  55 el sistema final incluye todas las funcionalidades de esta idea, si no mas bien
  56 ampliada obteniendo así la idea final, es decir, esta idea considerada de
  57 temporizador es una versión "reducida" en cuanto a funcionalidades de la idea
  58 final de hacer un controlador más completo.
  59 
  60 ## Requisitos
  61 
  62 La necesidad de realizar este proyecto es que a nivel nacional, e incluso a
  63 nivel internacional, no se encuentra un producto con características similares.
  64 La mayoría de los derretidores de miel que se encuentran en el mercado (como el
  65 que se muestra en la figura 1) ofrecen un control muy rudimentario, y no
  66 permiten controlar parámetros mas allá de la temperatura. Es por esto que además
  67 del control de temperatura, se propone los requisitos que se detallan en la
  68 tabla 1 a continuación.
  69 
  70 | ID | Requisito                   | Descripción detallada                                                                                                                  |
  71 | -: | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |
  72 | 1  | Control a través de botones | El usuario debe poder establecer y modificar parámetros del sistema a través de botones                                                |
  73 | 2  | Control remoto              | El usuario debe poder establecer y modificar parámetros del dispositivo de manera remota                                               |
  74 | 3  | Programación de ciclos      | El usuario debe poder programar ciclos de derretido para que inicien a una hora y día específicos                                      |
  75 | 4  | Curvas de Temperatura       | El usuario debe poder definir y guardar perfiles de calentamiento                                                                      |
  76 | 5  | Display                     | El sistema debe tener un display y luces indicadoras para transmitir el estado actual o cambios de estado                              |
  77 | 6  | Luces indicadoras           | El sistema debe tener luces indicadoras para transmitir el estado actual o cambios de estado                                           |
  78 | 7  | Alarma sonora               | El sistema debe tener una alarma sonora para transmitir el estado actual o cambios de estado                                           |
  79 | 8  | Monitoreo en tiempo real    | El sistema debe mostrar el estado actual de operación en el display y en la interfaz remota                                            |
  80 | 9  | Conectividad                | El sistema debe poder conectarse a redes Wi-Fi para comunicarse de manera remota                                                       |
  81 | 10 | Registro de temperatura     | El sistema debe almacenar un registro de temperatura y tiempo para cada ciclo de derretido (inicio, fin, picos máximos de temperatura) |
  82 | 11 | Limite de temperatura       | El sistema debe tener un límite de temperatura máximo el cual nunca debe ser superado                                                  |
  83 | 12 | Persistencia de parámetros  | El sistema debe recordar los últimos parámetros establecidos por el usuario, incluso si se desenergiza                                 |
  84 | 13 | Reloj de tiempo real        | El sistema debe poder llevar cuenta del tiempo real, incluso si se desenergiza                                                         |
  85 
  86 <p align="center"><em>Tabla 1: Requisitos del proyecto</em></p>
  87 
  88 ## Modos de operación 
  89 
  90 A continuación se definen los modos de operación del sistema.
  91 
  92 ### Modo normal
  93 
  94 En este modo el derretidor ya ha sido energizado hace tiempo y se encuentra
  95 operando el calefactor, censando la temperatura y controlando la misma de
  96 acuerdo a los parámetros configurados por el usuario. La información se muestra
  97 tanto en pantalla como en la interfaz remota.
  98 
  99 ### Modo reposo
 100 
 101 En este modo el derretidor ya ha sido energizado hace tiempo pero no se
 102 encuentra operando el calefactor, en caso de que pase un largo período de
 103 tiempo y no haya un ciclo programado que comience pronto el sistema
 104 deshabilitará algunas características, como la luz de fondo del display o que
 105 disminuya la velocidad de reloj del microcontrolador, esto para consumir menos
 106 energía.
 107 
 108 ### Modo transición
 109 
 110 Este modo se utiliza durante las transiciones, como puede ser que se haya
 111 energizado el sistema hace poco tiempo y aun se estén inicializando
 112 características, como la interfaz remota.
 113 
 114 ### Modo falla
 115 
 116 Este modo solo se llega si ha ocurrido una falla en el sistema, se encienden
 117 luces indicadoras y se muestra el código de error por pantalla o a través de la
 118 interfaz remota.
 119 
 120 ### Modo calibración
 121 
 122 Este modo se utiliza para calibrar la temperatura real del calefactor con la
 123 leída por el sistema a través el sensor de temperatura. El sistema ya haya sido
 124 energizado hace tiempo y se muestra un menú en pantalla para establecer la
 125 temperatura actual del calefactor.
 126 
 127 
 128 ## Casos de uso
 129 
 130 A continuación en las tablas 2, 3, 4, 5 y 6 se ejemplifican algunos casos de
 131 uso del derretidor de miel para cada uno de los modos de operación del sistema.
 132 
 133 | Elemento            | Definición                                                                                                                                                                |
 134 | :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
 135 | Disparador          | Se quiere detener un ciclo de derretido de miel de manera remota                                                                                                          |
 136 | Precondiciones      | El sistema está en modo normal operando el calefactor                                                                                                                     |
 137 | Flujo principal     | El usuario interactúa con la interfaz remota seleccionando la opción detener calefactor, se detiene el calefactor y se cambia a modo de operación en reposo               |
 138 | Flujos alternativos | Se pierde la conexión con el sistema, en caso de ocurrir previo a seleccionar la opción el sistema sigue operando en modo normal, se reintenta la conexión con el usuario |
 139 
 140 <p align="center"><em>Tabla 2: Caso de uso modo normal</em></p>
 141 
 142 | Elemento            | Definición                                                                                                                                                                                                                                                                                                                                           |
 143 | :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 144 | Disparador          | Se desea programar un ciclo de derretido para una hora y fecha especifica                                                                                                                                                                                                                                                                            |
 145 | Precondiciones      | El sistema está en modo reposo operando el calefactor                                                                                                                                                                                                                                                                                                |
 146 | Flujo principal     | El usuario interactúa con la interfaz remota seleccionando la opción programar ciclo, elije entre las opciones disponibles y guarda la configuración. Llegado el momento definido por el usuario se cambia a modo de operación normal, enciendo el calefactor                                                                                        |
 147 | Flujos alternativos | En caso de que se pierda la energía previo a iniciar el ciclo, luego de que se vuelva a energizar el sistema y vuelva a modo reposo (si no hay fallas) el ciclo configurado permanece guardado porque los parámetros se guardan en memoria no volátil, llegado el momento configurado por el ciclo se cambia a modo normal encendiendo el calefactor |
 148 
 149 <p align="center"><em>Tabla 3: Caso de uso modo reposo</em></p>
 150 
 151 | Elemento            | Definición                                                                                                                                                                                                    |
 152 | :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
 153 | Disparador          | El sistema se energiza                                                                                                                                                                                        |
 154 | Precondiciones      | El sistema se encontraba apagado, desenergizado                                                                                                                                                               |
 155 | Flujo principal     | El sistema inicializa todos los bloques, se comprueba que no haya ciclos de derretido predefinidos para el momento actual, en caso de que los haya se pasa a modo normal, si no los hay se pasa a modo reposo |
 156 | Flujos alternativos | Si no se encuentra una red Wi-Fi disponible se pasa a modo falla indicando el error                                                                                                                           |
 157 
 158 <p align="center"><em>Tabla 4: Caso de uso modo transición</em></p>
 159 
 160 | Elemento            | Definición                                                                                                                                                                                                      |
 161 | :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 162 | Disparador          | No se detecta una medición de temperatura o resulta en una medición absurda                                                                                                                                     |
 163 | Precondiciones      | El sistema se encontraba en modo normal operando el calefactor                                                                                                                                                  |
 164 | Flujo principal     | Se notifica en pantalla, con indicadores y a través de la interfaz remota que se ha detenido la operación del calefactor por falla en sensor                                                                    |
 165 | Flujos alternativos | El usuario reconoce la falla y presiona un botón que permite verificar nuevamente la medición del sensor en caso de que sea correcto y los parámetros estén en valores normales se vuelve a la operación previa |
 166 
 167 <p align="center"><em>Tabla 5: Caso de uso modo falla</em></p>
 168 
 169 
 170 | Elemento            | Definición                                                                                                                                                                                                      |
 171 | :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 172 | Disparador          | El usuario selecciona en el menú o a través de la interfaz remota la opción de calibrar el sensor                                                                                                               |
 173 | Precondiciones      | El sistema se encuentra en modo reposo por al menor 30 minutos                                                                                                                                                  |
 174 | Flujo principal     | Se notifica en pantalla, con indicadores y a través de la interfaz remota que se encuentra en modo calibración y se debe ingresar la temperatura actual del sensor                                              |
 175 | Flujos alternativos | El usuario decide cancelar la calibración del sensor, se vuelve al modo previo                                                                                                                                  |
 176 
 177 <p align="center"><em>Tabla 6: Caso de uso modo calibración</em></p>
 178 
 179 
 180 ## Diagrama en bloques
 181 
 182 En la figura 2 se muestra el diagrama en bloques del proyecto en el que se
 183 aprecian los principales componentes *simplificados* del sistema y la interfaz
 184 que utilizan para intercambiar información. Los bloques en verde simbolizan las
 185 salidas del sistema, como la interfaz de usuario mediante display o el control
 186 de temperatura en sí del derretidor, en amarillo las entradas del sistema, como
 187 los botones o el sensor de temperatura; en rojo se simboliza el bloque de
 188 procesamiento, de esta forma se muestra claramente entradas, procesamiento y
 189 salidas. El modulo de acceso remoto se simboliza con un color distinto ya que
 190 este hace a la vez de entrada y salida.
 191 
 192 <div align="center">
 193     <img style="padding: 10px" align=center src="img/diagrama_de_bloques.png" width="85%">
 194     <p><em>Figura 2: Diagrama de bloques del proyecto</em></p>
 195 </div>
 196 
 197 El control de temperatura es un bloque genérico controlado por la placa núcleo
 198 de acuerdo a la lectura del sensor de temperatura, a modo de simplificar el
 199 prototipo se modela el derretidor de miel mediante un resistor de alta
 200 potencia con un valor de impedancia similar al del derretidor.
 201 
 202 ## Especificaciones
 203 
 204 Para la implementación del prototipo del sistema se tienen en cuenta los
 205 componentes que se enumeran a continuación:
 206 
 207 1. Placa NUCLEO F103RB
 208 2. Sensor digital de temperatura con integrado DS18B20
 209 3. Modulo Wi-Fi ESP01
 210 4. Pulsadores tact switch
 211 5. Display LCD 16x2 con interfaz I2C
 212 6. Controlador de temperatura mediante señal PWM
 213 7. Resistor de alta potencia para modelar el derretidor de miel
 214 8. Buzzer de 12mm
 215 9. Modulo RTC interno
 216 
 217 Como se mencionó previamente el derretidor de miel se puede modelar mediante un
 218 resistor de valor de impedancia similar ya que este se muestra como una carga
 219 resistiva pura (por el modo de generar calor mediante un resistor) es por esto
 220 que a modo de realizar el prototipo se elije un MOSFET para controlar mediante
 221 una señal PWM la potencia que se entrega al resistor y de esta forma controlar
 222 la temperatura a la que se encuentra el mismo.
 223 
 224 ## Informe de avances
 225 
 226 En la tabla 7 se detalla el estado de implementación de cada uno de los
 227 requisitos del proyecto, los cuales ya han sido descriptos en la tabla 1. El
 228 estado puede ser: "ya implementado", "a implementar" y "no se implementará", y
 229 se asignan los colores verde, amarillo y rojo para cada estado, respectivamente.
 230 
 231 El requisito 4 no se implementará por restricciones de tiempo. Es decir, en el
 232 corto plazo no se implementará pero no se descarta la idea para una futura
 233 iteración del proyecto. 
 234 
 235 | ID | Requisito                   | Estado                |
 236 | -: | :-------------------------- | :-------------------- |
 237 |  1 | Control a través de botones | 🟢 Implementado       |
 238 |  2 | Control remoto              | 🟡 A implementar      |
 239 |  3 | Programación de ciclos      | 🟢 A implementar      |
 240 |  4 | Curvas de Temperatura       | 🔴 No se implementará |
 241 |  5 | Display                     | 🟢 Implementado       |
 242 |  6 | Luces indicadoras           | 🟢 A implementar      |
 243 |  7 | Alarma sonora               | 🟢 Implementado       |
 244 |  8 | Monitoreo en tiempo real    | 🟢 Implementado       |
 245 |  9 | Conectividad                | 🟡 A implementar      |
 246 | 10 | Registro de temperatura     | 🟡 A implementar      |
 247 | 11 | Limite de temperatura       | 🟢 Implementado       |
 248 | 12 | Persistencia de parámetros  | 🟢 Implementado       |
 249 | 13 | Reloj de tiempo real        | 🟢 Implementado       |
 250 
 251 <p align="center"><em>Tabla 7: Estado de implementación de requisitos del proyecto</em></p>
 252