Saltar al contenido

Estufa - control de combustión

Tiempo de leer 8 minutos

Actualizado - 3 de febrero de 2026

Una estufa de leña moderna suele llevar integrado un sistema de control de la combustión. Si todavía tienes una estufa de leña sin este sistema automático, puedes construir tu propio sistema de control en combinación con Smarthome (Raspberry Pi).

Aunque todavía no es posible automatizar la carga de la leña, aparte de las estufas de pellets, la automatización consigue un quemado más uniforme, temperaturas constantes y un menor consumo de leña de hasta 30 % con mayor eficiencia.

Si no te „atreves“ de inmediato, puedo decirte que una vez me sentí de la misma manera. Pero si profundizas en el tema y en las posibilidades que ofrece RaspberryMatic en una Raspberry Pi, por ejemplo, ¡pronto te convencerás de que puedes „hacerlo“!

Y como tantas veces en la vida: ¡mejor juntos! ¡A por ello!

Teoría

Lo que podemos ver a simple vista del patrón de la llama y el color de la llama lo detecta un sensor de alta temperatura enroscado en el tubo de gases de combustión a unos 20 cm por encima de la cámara de combustión.

En función de la temperatura que debe mantenerse, de unos 200 °C, utiliza un sencillo programa en la Raspberry Pi para abrir y cerrar la trampilla de aire de impulsión, lo que antes había que hacer manualmente ...

En principio, un mecanismo sencillo. El mecanismo, en el sentido más estricto de la palabra, se realiza aquí mediante un accionamiento lineal que es movido por un motor paso a paso. En función del valor real de la temperatura comparado con el valor nominal, el motor paso a paso recibe la información sobre si debe aumentar o disminuir el aire de impulsión si la temperatura es demasiado baja. En consecuencia, la palanca de accionamiento (manual) de la compuerta de aire de impulsión, que está acoplada mecánicamente al carro lineal, se mueve hacia delante o hacia atrás y la compuerta se abre o se cierra.

Como RaspberryMatic no ofrece la posibilidad de direccionar directamente un motor paso a paso, nos conformamos con un ESP32-IDF, un pequeño ordenador que ofrece la conexión de un controlador de motor paso a paso y puede así hacerse cargo del control del mismo.

La comunicación entre la RaspberryMatic y el ESP32-IDF se realiza a través de WLAN, que ya está integrado en el ESP32-IDF. El ESP32-IDF está programado en C++, Arduino IDE y se incluye en este artículo para una fácil transferencia después de cambiar algunos parámetros.

También se suministra el programa para registrar la temperatura y el posicionamiento del motor paso a paso lineal para facilitar su transferencia.

Lista de la compra

  • Raspberry Pi 4 Modelo B Juego con carcasa, ventilador y fuente de alimentación - aprox. 95 euros
  • Tarjeta SD 16 GB (para instalación RaspberryMatic) - aprox. 10,- Euro
  • frambuesamatic (Descargar) - gratis
    (con Raspberry Pi Baker (Mac) o Raspberry Pi Imager (Windows) Copiar a tarjeta SD;
    Crear variables Estado_de_quema (Tipo Cadena); Burning_flap_actual (Tipo Número); Quemar aleta deseada (Tipo Número); ISD-ID der drei Variablen ermitteln und im Code unter VAR_STATUS, VAR_IST und VAR_SOLL eintragen (Ermitteln der ISE-ID -> „http://IP_RaspberrPi:8181/rega.exe?x=dom.GetObject(%22Variablen_Name%22).ID()“ – das Resultado en la penúltima línea de salida, por ejemplo „".19827“)
  • Placa de desarrollo ESP32 (por ejemplo, ESP32 DevKit V1) - aprox. 12,- Euro
    Descarga de Arduino IDE 2.x (Mac) (ventanas)
  • CL86Y Controlador de motor paso a paso (o TB6600)*
  • Motor paso a paso NEMA 17 (200 pasos/rev)* - Juego aprox. 80,- Euro
  • Accionamiento lineal 100 mm, 150 mm adecuado para el tipo de motor paso a paso arriba mencionado aprox. 50,- Euro
  • 2x final de carrera (mecánico) - aprox. 4,- Euro
  • Fuente de alimentación de 48 V CC (para motor 12A) - aprox. 39,- Euro
  • Fuente de alimentación 5 V CC (para ESP32, p. ej. USB) - aprox. 7,- Euro
  • Sonda de alta temperatura ELV PT1000 4 hilos Art. Nº 258570 - aprox. 24,- Euro
  • Interfaz del sensor de temperatura de platino ELV - Art. Nº 162126 - aprox. 45,- Euro
  • Racor de latón M10 x 6 mm para el sensor de temperatura PT1000 - aprox. 4,- Euro

Por un total de unos 370 euros, se trata de una alternativa completa y también muy económica a un kit de reequipamiento -si es que existe para la estufa- que suele costar entre 750 y 1.500 euros.

Preparativos

La instalación de RaspberryMatic en la tarjeta SD para la Raspberry Pi 4 B es la siguiente aquí descrito en detalle, incluida la instalación de la carcasa si no se ha adquirido un kit.

ESP32 - Configuración

macOS

Paso 1: Instalar Arduino IDE

  1. Descargar:
    • Visite: https://www.arduino.cc/en/software
    • Descargar „Arduino IDE 2.x“ para macOS
    • Elija .dmg para Intel o .dmg para Apple Silicon (M1/M2/M3)
  2. Instalación:
    • .dmg Abrir expediente
    • Arrastre el IDE Arduino a la carpeta del programa
    • Iniciar Arduino IDE

Instalar el soporte de la placa ESP32

  1. Abrir Arduino IDE
  2. Director del Consejo Abierto:
    • Menú: IDE ArduinoAjustes (o Cmd + ,)
    • Introduzca las URL en „URL adicionales del administrador de tableros“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Haga clic en OK
  3. Instala las placas ESP32:
    • Haga clic en el icono del tablero de la izquierda (o en el icono Barra de menús HerramientasJuntaDirector de los Consejos)
    • Buscar: esp32
    • Instalar: „esp32 de Espressif Systems“ (Versión 2.0.17 o posterior)
    • Espere a que finalice la instalación (puede tardar entre 5 y 10 minutos).

Controlador USB (hasta OS 10.14)

Si no se reconoce el ESP32:

  1. Descargar: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Archivo: macOS_VCP_Driver.zip descargar
  3. Instalar y reiniciar el Mac

Para el chip CH340:

Conexión del ESP32

  1. Conectar ESP32 por USB
  2. Comprueba el puerto:
    • IDE Arduino Barra de menús: Herramientaspuerto
    • Seleccione puerto similar a:
      • /dev/cu.usbserial-0001 o
      • /dev/cu.SLAB_USBtoUART o
      • /dev/cu.wchusbserial*

Seleccionar junta

  1. Arduino IDE:
    • Barra de menús HerramientasJuntaesp32„ESP32 Dev Module“
  2. Ajustes:
    • Velocidad de subida: 115200
    • Frecuencia de flash: 80 MHz
    • Modo Flash: QIO
    • Tamaño del flash: 4MB (32Mb)
    • Esquema de partición: Por defecto 4MB con spiffs

Prueba de carga

  1. Abrir código de muestra:
    • Barra de menús ArchivoEjemplos01.básicosParpadeo
  2. Sube el código:
    • Haz clic en el botón de carga (→)
    • Espere hasta que aparezca „Conectando...“.
    • Si „Conectando...“ se cuelga: Mantenga pulsado el botón BOOT en el ESP32
  3. Un éxito:
    • „Hard resetting via RTS pin...“ = ¡Carga realizada!
    • El LED del ESP32 debería parpadear

WINDOWS

Instalar Arduino IDE

  1. Descargar:
    • Visite: https://www.arduino.cc/en/software
    • Descargar „Arduino IDE 2.x“ para Windows
    • Elija .exe Instalador
  2. Instalación:
    • Ejecute el instalador (como administrador)
    • Dejar todas las opciones activadas
    • Finalizar la instalación

Instalar el soporte de la placa ESP32

  1. Abrir Arduino IDE
  2. Configurar Board Manager:
    • Barra de menús ArchivoPreferenciasIntroduzca las URL en „URL adicionales del administrador de tableros“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Haga clic en OK
  3. Instala las placas ESP32:
    • Barra de menús HerramientasJuntaDirector de los Consejos
    • Busca: esp32
    • Instalar: „esp32 de Espressif Systems“ (Versión 2.0.17+)
    • Espere a que finalice la instalación

Instalar controlador USB

A menudo, Windows NO reconoce el ESP32 automáticamente.

Para chip CP2102/CP2104 (el más común):
  1. Descargar:
  2. Instalación:
    • Descomprimir ZIP
    • CP210xVCPInstaller_x64.exe Ejecutar como administrador
    • Finalizar la instalación
    • Reiniciar Windows
Para chip CH340/CH341:
  1. Descargar:
  2. Instalación:
    • Descomprimir ZIP
    • CH341SER.EXE Ejecutar como administrador
    • Haga clic en „INSTALAR“.“
    • Reiniciar Windows
Averigua el tipo de chip:
  • Conexión del ESP32
  • Abra el Administrador de dispositivos: Windows + XAdministrador de dispositivos
  • Conexiones (COM y LPT) desplegar
  • Buscar:
    • „Silicon Labs CP210x...“ = CP2102
    • „USB-SERIAL CH340“ = CH340
    • „SLAB_USBtoUART“ = CP2102

Conectar ESP32 y comprobar el puerto

  1. Conectar ESP32 por USB
  2. Averigua el puerto:
    • Barra de menús Herramientaspuerto
    • Selecciona: COM3, COM4, COM5 etc.
    • (el número varía en función del sistema)

¿No se ve ningún puerto? → ¡Controlador no instalado o controlador incorrecto!

Seleccionar junta

  1. Seleccione la junta:
    • Barra de menú HerramientasJuntaesp32„ESP32 Dev Module“
  2. Configuraciones de carga:
    • Velocidad de subida: 115200
    • Frecuencia de flash: 80 MHz
    • Modo Flash: QIO
    • Tamaño del flash: 4MB (32Mb)
    • Esquema de partición: Por defecto 4MB con spiffs

Prueba de carga

  1. Ejemplo de carga:
    • Barra de menús ArchivoEjemplos01.básicosParpadeo
  2. Sube:
    • Haz clic en el botón de carga (→)
    • Para „Conectando...“ posiblemente. Botón BOOT mantener en el ESP32
  3. Un éxito:
    • „Hard resetting...“ = ✅ ¡Subida realizada con éxito!

Bibliotecas para el control de la combustión

Incluido automáticamente (ESP32 Core):

  • WiFi.h
  • HTTPClient.h
  • ServidorWeb.h
  • Preferencias.h
  • esp_task_wdt.h

Solución de problemas

Problema: „Puerto no encontrado“

Mac:

# Abra el terminal y compruebe:
ls /dev/cu.*

# Debería mostrar:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART

Ventanas:

  • Abrir el Administrador de dispositivos
  • Compruebe las conexiones (COM y LPT)
  • Reinstalar el controlador
  • Reiniciar Windows

„Conectando...“ cuelga

Solución:

  1. Botón BOOT Mantenga pulsado en el ESP32
  2. A continuación, haga clic en el botón de carga
  3. Mantenga pulsado el botón BOOT hasta que aparezca „Escribiendo...“.
  4. Botón de desbloqueo

Alternativa:

  • Pulse brevemente la tecla EN (reset)
  • A continuación, intente cargar de nuevo

„Error de compilación“

Causas comunes:

  • Tarjeta seleccionada incorrecta
  • Soporte de placa ESP32 no instalado
  • Error de sintaxis en el código

Solución:

  • Comprueba de nuevo el tablero: Módulo de desarrollo ESP32
  • Abrir Board Manager → reinstalar esp32

La carga funciona, pero el monitor serie está vacío

Solución:

  1. Comprueba la velocidad en baudios:
    • Código: Serial.begin(115200);
    • Monitor serie: También 115200 Establecer
  2. Comprueba el puerto:
    • ¿Se ha seleccionado el puerto COM correcto?
  3. Pulse el botón EN:
    • Reiniciar después de cargar

Lista de comprobación antes de la primera carga

  • [ ] Arduino IDE instalado
  • [ ] Soporte de placa ESP32 instalado (Versión 2.0.17+)
  • [ ] Controlador USB instalado (Windows)
  • [ ] ESP32 conectado por USB
  • [ ] Puerto visible en Arduino IDE
  • [ ] Placa: „ESP32 Dev Module“ seleccionada
  • [ ] Velocidad de carga: 115200
  • [ ] Tamaño Flash: 4MB
  • [ ] Monitor serie Velocidad en baudios: 115200
  • [ ] Liberación NTP del router

Publicación NTP

Algunos routers están configurados por defecto sin compartir NTP, lo que significa que las peticiones a través del puerto NTP 123 no se reenvían, con el resultado de que no se pueden solicitar datos al servidor NTP direccionado.

Por lo tanto, hay que definir la norma correspondiente:

Recursos didácticos

Documentación oficial:

Cargar código

  1. Abrir expediente:
  2. Personaliza el WiFi: const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT";
  3. Introduzca el token XML-API: const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
    El complemento XML API debe estar instalado en RaspberryMatic. A continuación, puede cambiar la configuración del complemento API XML haciendo clic en tokenregister.cgi se puede generar un token. El token es válido para todos los futuros inicios de sesión GUI y consiste en una secuencia de 16 dígitos de letras mayúsculas y minúsculas. Debe insertarse en el código ESP32 en el lugar adecuado.
  4. Sube:
    • Verificar (✓) → Comprobar código
    • Cargar (→) → Cargar en ESP32
  5. Abrir Monitor Serial:
    • HerramientasMonitor serie
    • Velocidad en baudios: 115200 (aparece en el menú HERRAMIENTAS - Velocidad de subida: .... descatalogado)
    • ¡Cuidado con la salida!

Puesta en servicio

Una vez configurado correctamente:

  1. Probar la conexión WiFi
  2. Cargar código de control de quemado
  3. Conectar el motor y el final de carrera
  4. Generar token RaspberryMatic
  5. Sistema de pruebas

Código ESP32

El código necesario está totalmente comentado y, por tanto, es rastreable y personalizable en caso necesario. (Descargar)

ESP32 GUI

En la interfaz gráfica de usuario, esto se puede ajustar manualmente y de forma continua con fines de prueba para determinar la dependencia de la temperatura de los gases de escape en la apertura de la compuerta.

Se observa el patrón de la llama y se ajusta el valor porcentual visualmente „adecuado“ de la apertura de la compuerta en el momento correspondiente. El valor de temperatura leído del RaspberryMatic en ese momento se asigna al valor porcentual ajustado de la apertura de la compuerta como valor inicial para el cambio. El valor de temperatura a resulta de la siguiente corrección visualmente „necesaria“ de la apertura de la compuerta.

Si, por ejemplo, se ha reconocido 150°C como punto de partida (a partir de ...) para la apertura a 80% y 200°C como valor para la reducción a 45%, la constelación mostrada en la primera función OTRO SI da como resultado el programa „Control de la temperatura“como se ilustra.

„Modo de prueba“ aparece si todavía no se ha conectado ningún periférico al ESP32 y la variable "const bool MODO_PRUEBA =" aún en „verdadero“ se levanta.
Cambiar a „falso“ cancela el modo de prueba e inicializa la marcha de referencia del motor conectado para determinar las posiciones inicial y final definidas por los finales de carrera.

Registro en directo

Diagnóstico

Tratamiento automatizado de errores

Interceptar posibles estados de error es esencial para un funcionamiento continuo y sin problemas. Por ello, el código dispone de las siguientes rutinas para reconocer errores y rectificarlos con las medidas adecuadas:

  • Tratamiento del desbordamiento de pila
  • Detección de caídas de tensión
  • División por CERO
  • Final de carrera de emergencia
  • Gestión de errores HTTP
  • Gestión de excepciones HTTP
  • Comprobación de desbordamiento de enteros
  • Supervisión de la memoria
  • Desbordamiento de millis()
  • Detección de alarma del motor
  • Recuperación de preferencias
  • Restricciones de posición
  • Protección contra operaciones de bloqueo muy largas
  • Gestión de clientes Telnet
  • Puntero NULL Telnet
  • Seguridad
  • Validación de tokens
  • Temporizador Watchdog
  • Reconexión automática de WiFi

RaspberryMatic - Programas

Control de quemado

programa

SI estado del sistema Burnup_Damper_Setpoint en el rango de valores de 0 y menos de 101 (por ciento)

ENTONCES SCRIPT ... INMEDIATAMENTE

¡! Dirección IP del ESP32 (¡ PERSONALÍCELA AQUÍ !)
string esp32_ip = "IP_Adresse_ESP32_eingeben";

¡! Obtener el valor actual de la variable del sistema
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();

¡! Construir URL para ESP32 callback
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;

¡! Llamar a ESP32
string cmd = "wget -q -O /dev/null '" # url # "'";
system.Exec(cmd);

¡! Salida de registro (opcional, para depuración)
WriteLine("Quemado: Enviar " # consigna # "% a ESP32 " # esp32_ip);

Control de la temperatura

programa

SI selección de dispositivo "PT1000_temperature_sensor_flue_gas" PARA temperatura REAL de ... hasta ...

THEN Estado del sistema Burn-off_Damper_Setpoint IMMEDIATELY xxx*

DE LO CONTRARIO SI ...

Aquí, las dos líneas superiores se complementan continuamente con diferentes rangos de temperatura y valores porcentuales mediante una función OTROS SI hasta que se cubren todos los rangos requeridos.

* xxx„ es el valor porcentual deseado de apertura de la trampilla.

Conjunto de actuador lineal y final de carrera

En función del espacio disponible debajo del mecanismo de trampilla, el accionamiento lineal equipado con el motor se monta debajo. En el carro se fija una „horquilla“ que se desplaza hacia delante o hacia atrás mediante el husillo, en el que se encaja el mecanismo accionado manualmente.

La „palanca“ suele estar diseñada de forma que pueda moverse ligeramente hacia arriba y hacia abajo. La longitud de las „horquillas“ se ajusta en consecuencia para que la palanca todavía se puede mover fuera de este manualmente y empujar completamente ABIERTO.

Por un lado, esto sirve para generar un calado máximo al añadir combustible si el control electrónico aún no está totalmente ajustado a 100%.

Por otro lado, la opción de funcionamiento puramente mecánico sigue estando disponible, por ejemplo, en caso de fallo del suministro eléctrico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESSpanish