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
commit d5cef86709c4fcc2f014500f92d656ebc4e9a156
parent 52ef0afe93aacc80a6dc46fe1e068629eb22767a
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Thu, 23 Jul 2026 19:18:46 -0300

Remover "a continuación" en referencias a figuras y tablas

Diffstat:
MMEMORIA.md | 65++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 32 insertions(+), 33 deletions(-)
diff --git a/MEMORIA.md b/MEMORIA.md
@@ -190,8 +190,8 @@ futuros o deseables para una futura iteración del trabajo.
 
 ## 2.2. Casos de uso
 
-A continuación en las tablas 2.3, 2.4 y 2.5 se ejemplifican algunos casos de uso
-del derretidor de miel para cada uno de los modos de operación del sistema.
+En las tablas 2.3, 2.4 y 2.5 se ejemplifican algunos casos de uso del derretidor
+de miel para cada uno de los modos de operación del sistema.
 
 | Elemento            | Definición                                                                                                                                                                |
 | :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
@@ -374,18 +374,18 @@ pines de la placa NUCLEO a cable con conector IDC de 2x10.
 La segunda placa perforada, considerada la placa principal, se utilizó para unir
 todos los módulos restantes del sistema, como el modulo de acceso remoto, la
 bornera para el sensor de temperatura, las luces indicadoras, los botones, el
-portapilas para almacenar la pila CR2032, entre otros. A continuación en la
-figura 3.3 se muestra una vista de como se conectan los módulos dentro de la
-placa y al conector IDC.
+portapilas para almacenar la pila CR2032, entre otros. En la figura 3.3 se
+muestra una vista de como se conectan los módulos dentro de la placa y al
+conector IDC.
 
 <div align="center">
     <img src="img/main_perf_board.png" style="padding: 10px" align=center width="400px">
     <p><em>Figura 3.4: Placa perforada principal.</em></p>
 </div>
 
-A continuación en las figuras 3.5, 3.6 y 3.7 se muestran imágenes de las placas
-armadas en placa perforada experimental, como se indico previamente en las
-figuras 3.3 y 3.4.
+En las figuras 3.5, 3.6 y 3.7 se muestran imágenes de las placas armadas en
+placa perforada experimental, como se indicó previamente en las figuras 3.3 y
+3.4.
 
 <div align="center">
     <img src="img/vista_sup_placa_con_modulos.jpg" style="padding: 10px;" width="600">
@@ -418,9 +418,9 @@ particular los periféricos que se utilizaron son los siguientes:
 - GPIO: Botones (PC13, PA10, PB5, PB4), LEDs (PA5, PB10).
 - DMA: Acceso directo a memoria para reducir uso de CPU.
 
-A continuación, en la figura 3.8 se muestra una imagen de los pines utilizados
-del microcontrolador. Luego en la tabla 3.1 se muestran los nombres asignados y
-las funciones para los que fueron utilizados.
+En la figura 3.8 se muestra una imagen de los pines utilizados del
+microcontrolador. Luego en la tabla 3.1 se muestran los nombres asignados y las
+funciones para los que fueron utilizados.
 
 <div align="center">
     <img src="img/stm32_pinout_view.png" style="padding: 10px" align=center width="500px">
@@ -552,10 +552,10 @@ esquemático de la figura 3.9.
 </div>
 
 Este circuito es simple de implementar, pero invierte la señal PWM como se
-observar en la figura 3.10 a continuación. Existe la posibilidad de agregar una
-etapa adicional inversora, implementado con otro transistor, pero en este caso
-no es necesario ya que se puede invertir la polaridad de la señal PWM desde el
-firmware de la placa NUCLEO.
+observa en la figura 3.10. Existe la posibilidad de agregar una etapa adicional
+inversora, implementado con otro transistor, pero en este caso no es necesario
+ya que se puede invertir la polaridad de la señal PWM desde el firmware de la
+placa NUCLEO.
 
 <div align="center">
     <img src="img/npn_inv_mosfet_driver_plot.png" style="padding: 10px" align=center width="700px">
@@ -577,7 +577,7 @@ Para suministrar esta corriente y evitar sobrecargar el regulador de la placa
 NUCLEO, se implementó un circuito driver para alimentar al LED con la fuente de
 tensión de 12 V externa, controlando solo el estado del led mediante una pequeña
 corriente subintrada por la placa NUCLEO. El circuito resultante se muestra en
-la figura 3.11 a continuación.
+la figura 3.11.
 
 <div align="center">
     <img src="img/npn_led_driver.png" style="padding: 10px" align=center width="550px">
@@ -617,10 +617,9 @@ El firmware de la placa NUCLEO se compone de una aplicación que implementa un
 ejecutor cíclico con 8 tareas asociadas. Estas tareas se organizan de acuerdo al
 rol que cumplen: actuador, sensor o lógica del sistema.
 
-A continuación en la figura 3.12 se muestra un diagrama de bloques de las tareas
-del sistema y como interactúan entre ellas. La interacción puede ser a través de
-eventos o mediante la estructura global compartida `shared_data`.
-
+En la figura 3.12 se muestra un diagrama de bloques de las tareas del sistema y
+como interactúan entre ellas. La interacción puede ser a través de eventos o
+mediante la estructura global compartida `shared_data`.
 
 <div align="center">
     <img src="img/diagrama_de_bloques_firmware_nucleo_TA134.png" style="padding: 10px" align=center width="650px">
@@ -676,11 +675,11 @@ continuas indican el mecanismo de eventos.
 ### 3.2.2. Tarea central
 
 La tarea central, `task_system`, gestiona la lógica del sistema y la máquina de
-estados principal. A continuación en la figura 3.13 se muestra un diagrama de
-estados de la maquina que implementa la tarea. Este diagrama es una versión
-simplificada de la lógica que se implementa en la tarea, ya que no se muestran
-los eventos que se envían a otras tareas, pero sirve para mostrar como se cambia
-la funcionalidad de los botones de acuerdo al estado.
+estados principal. En la figura 3.13 se muestra un diagrama de estados de la
+maquina que implementa la tarea. Este diagrama es una versión simplificada de la
+lógica que se implementa en la tarea, ya que no se muestran los eventos que se
+envían a otras tareas, pero sirve para mostrar como se cambia la funcionalidad
+de los botones de acuerdo al estado.
 
 <div align="center">
     <img src="img/system_statechart.png" style="padding: 10px" align=center width="800px">
@@ -714,8 +713,8 @@ Además en esta tarea se gestiona:
 ### 3.2.3. Tarea para botones
 
 En la tarea `task_buttons` se implementa una máquina de estados de anti-rebote
-para cada uno de los botones. En la figura 3.14 a continuación se muestra un
-diagrama de estados de la maquina.
+para cada uno de los botones. En la figura 3.14 se muestra un diagrama de
+estados de la maquina.
 
 <div align="center">
     <img src="img/button_statechart.png" style="padding: 10px" align=center width="700px">
@@ -738,7 +737,7 @@ calefactor).
 
 Para controlar el buzzer se implementa una maquina de estados con los estados
 `ST_BUZ_XX_OFF` y `ST_BUZ_XX_ON` con auto-apagado por timeout, tal como se
-observa en la figura 3.15 a continuación.
+observa en la figura 3.15.
 
 <div align="center">
     <img src="img/buzzer_statechart.png" style="padding: 10px" align=center width="600px">
@@ -750,7 +749,7 @@ observa en la figura 3.15 a continuación.
 En la tarea `task_leds` se controlan las luces indicadoras o LEDs (LD2, LD3)
 permitiendo los modos: encendido, apagado, intermitente y un único pulso. Para
 esto se implementa la maquina de estados cuyo diagrama de estados se muestra en
-la figura 3.16 a continuación, con los siguientes estados:
+la figura 3.16, con los siguientes estados:
 
 - `ST_LED_XX_OFF`: LED apagado.
 - `ST_LED_XX_ON`: LED encendido fijo.
@@ -1086,10 +1085,10 @@ menor al límite de 500 mA de un puerto USB estándar.
 Se midió el tiempo de ejecución de cada tarea utilizando el DWT. Mientras se
 realizaban las mediciones se presionaron multiples botones, navegando por
 diferentes interfaces, de manera de obtener el peor tiempo de ejecucion posible.
-En la tabla 4.4 a continuacion se muestran los tiempos de ejecucion obtenidos de
-cada tarea y el total para el ejecutor ciclico. Denotando $M_{i}$ al peor tiempo
-de ejecucion en un intervalo de 10 segundos y $C_{i}$ al peor tiempo de
-ejecución total, desde que se inicializa el sistema.
+En la tabla 4.4 se muestran los tiempos de ejecucion obtenidos de cada tarea y
+el total para el ejecutor ciclico. Denotando $M_{i}$ al peor tiempo de ejecucion
+en un intervalo de 10 segundos y $C_{i}$ al peor tiempo de ejecución total,
+desde que se inicializa el sistema.
 
 | Tarea              | $M_{i}\ [\mu s]$ | $C_{i}\ [\mu s]$ |
 | :----------------- | ---------------: | -------------: |