Avançar para o conteúdo

Fogão - controlo da combustão

Tempo de leitura 8 minutos

Atualizado - fevereiro 3, 2026

Um fogão a lenha moderno tem normalmente um sistema integrado de controlo da combustão. Se ainda tiver um fogão a lenha sem este sistema automático, pode construir o seu próprio sistema de controlo em combinação com o Smarthome (Raspberry Pi).

Mesmo que ainda não seja possível automatizar o carregamento da lenha, para além das salamandras a pellets, a automatização permite obter uma combustão mais homogénea, temperaturas constantes e um menor consumo de lenha até 30 % com maior eficiência.

Se não se „atrever“ de imediato, posso dizer-lhe que já me senti da mesma maneira. Mas se olhar mais de perto para o assunto e para as possibilidades oferecidas pela RaspberryMatic num Raspberry Pi, por exemplo, ficará rapidamente convencido de que pode „fazê-lo“!

E como tantas vezes na vida: é melhor juntos! Vamos a isso!

Teoria

O que podemos ver a olho nu a partir do padrão da chama e da cor da chama é detectado por um sensor de alta temperatura aparafusado no tubo de gás de combustão cerca de 20 cm acima da câmara de combustão.

Em função da temperatura a manter, de cerca de 200 °C, utiliza um programa simples no Raspberry Pi para abrir e fechar a tampa do ar de alimentação, o que anteriormente tinha de ser feito manualmente - se estivesse a olhar para o forno ...

Em princípio, um mecanismo simples. O mecanismo, no verdadeiro sentido da palavra, é aqui realizado através de um acionamento linear que é movido por um motor de passo. Dependendo do valor real da temperatura em comparação com o valor de referência, o motor de passo recebe a informação sobre se deve aumentar ou diminuir o ar de alimentação se a temperatura for demasiado baixa. Consequentemente, a alavanca de acionamento (manual) do registo de ar de alimentação, que está mecanicamente acoplada à corrediça linear, é movida para a frente ou para trás e o registo é aberto ou fechado.

Como o RaspberryMatic não oferece a possibilidade de abordar diretamente um motor de passo, contentamo-nos com um ESP32-IDF, um pequeno computador que oferece a ligação de um controlador de motor de passo e pode assim assumir o controlo do mesmo.

A comunicação entre o RaspberryMatic e o ESP32-IDF é efectuada através de WLAN, que já está integrada no ESP32-IDF. O ESP32-IDF é programado em C++, Arduino IDE e está incluído neste artigo para uma transferência fácil após a alteração de alguns parâmetros.

O programa para registar a temperatura e o posicionamento do motor de passo linear também é fornecido para uma fácil transferência.

Lista de compras

  • Raspberry Pi 4 Modelo B Conjunto com caixa, ventilador, fonte de alimentação - aprox. 95 euros
  • Cartão SD 16 GB (para instalação RaspberryMatic) - aprox. 10,- Euro
  • FramboesaMatic (Download) - gratuito
    (com Padeiro Raspberry Pi (Mac) ou Gerador de imagens Raspberry Pi (Windows) Copiar para o cartão SD;
    Criar variáveis Estado_da_queima (Tipo Corda); Queimadura_flap_actual (Tipo Número); Queimadura da aba desejada (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 pode ser encontrado na penúltima linha de saída, por exemplo, „19827“)
  • Placa de desenvolvimento ESP32 (por exemplo, ESP32 DevKit V1) - aprox. 12,- Euro
    Arduino IDE 2.x Download (Mac) (Windows)
  • CL86Y Controlador de motor passo a passo (ou TB6600)*
  • Motor de passo NEMA 17 (200 passos/rotação)* - Conjunto aprox. 80,- Euro
  • Acionamento linear 100 mm, 150 mm adequado para o tipo de motor de passo acima mencionado aprox. 50,- Euro
  • 2x interrutor de fim de curso (mecânica) - aprox. 4,- Euro
  • Unidade de alimentação eléctrica de 48V DC (para motor 12A) - aprox. 39,- Euro
  • Unidade de alimentação eléctrica 5V DC (para ESP32, por exemplo, USB) - aprox. 7,- Euro
  • Sensor de alta temperatura ELV PT1000 4 fios Art. N.º 258570 - aprox. 24,- Euro
  • Interface do sensor de temperatura de platina ELV - Art. No. 162126 - aprox. 45,- Euro
  • Encaixe para tubo de latão M10 x 6 mm para o sensor de temperatura PT1000 - aprox. 4,- Euro

Por um total de cerca de 370 euros, esta é uma alternativa completa e também muito económica a um kit de reequipamento - se é que existe um para o fogão - que custa normalmente entre 750 e 1.500 euros!

Preparativos

A instalação do RaspberryMatic no cartão SD do Raspberry Pi 4 B é aqui descrito em pormenor, incluindo a instalação da caixa, caso não tenha sido adquirido um kit.

ESP32 - Configuração

macOS

Passo 1: Instalar o IDE Arduino

  1. Descarregar:
    • Aceder a: https://www.arduino.cc/en/software
    • Descarregar „Arduino IDE 2.x“ para macOS
    • Escolher .dmg para Intel ou .dmg para Apple Silicon (M1/M2/M3)
  2. Instalação:
    • .dmg Abrir ficheiro
    • Arraste o Arduino IDE para a pasta do programa
    • Iniciar o IDE Arduino

Instalar o suporte da placa ESP32

  1. Abrir o Arduino IDE
  2. Gestor do Quadro Aberto:
    • Menu: IDE ArduinoConfigurações (ou Cmd + ,)
    • Introduza os URLs em „URLs adicionais do gestor de quadros“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Clique em OK
  3. Instalar as placas ESP32:
    • Clique no ícone do quadro à esquerda (ou no Barra de menus FerramentasDireçãoGestor de Conselhos de Administração)
    • Procurar por: esp32
    • Instalar: „esp32 da Espressif Systems“ (Versão 2.0.17 ou mais recente)
    • Aguarde até a instalação estar concluída (pode demorar 5-10 minutos)

Controlador USB (até OS 10.14)

Se o ESP32 não for reconhecido:

  1. Descarregar: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Ficheiro: macOS_VCP_Driver.zip descarregar
  3. Instalar e reiniciar o Mac

Para o chip CH340:

Ligar o ESP32

  1. Ligar o ESP32 através de USB
  2. Porta de controlo:
    • IDE Arduino Barra de menus: Ferramentasporta
    • Selecionar porta semelhante a:
      • /dev/cu.usbserial-0001 ou
      • /dev/cu.SLAB_USBtoUART ou
      • /dev/cu.wchusbserial*

Selecionar o conselho

  1. IDE Arduino:
    • Barra de menus FerramentasDireçãoesp32„Módulo de desenvolvimento ESP32“
  2. Definições:
    • Velocidade de carregamento: 115200
    • Frequência de flash: 80MHz
    • Modo de flash: QIO
    • Tamanho do flash: 4MB (32Mb)
    • Esquema de partição: Predefinição de 4 MB com spiffs

Teste de carregamento

  1. Abrir código de amostra:
    • Barra de menus FicheiroExemplos01.básicoPiscar os olhos
  2. Código de carregamento:
    • Clique no botão de carregamento (→)
    • Aguarde até aparecer „A ligar...“
    • Se a mensagem „A ligar...“ for interrompida: Prima e mantenha premido o botão BOOT no ESP32
  3. Sucesso:
    • „Hard resetting via RTS pin...“ = Upload bem sucedido!
    • O LED no ESP32 deve piscar

JANELAS

Instalar o Arduino IDE

  1. Descarregar:
    • Aceder a: https://www.arduino.cc/en/software
    • Descarregar „Arduino IDE 2.x“ para Windows
    • Escolher .exe Instalador
  2. Instalação:
    • Executar o instalador (como administrador)
    • Deixar todas as opções activadas
    • Finalizar a instalação

Instalar o suporte da placa ESP32

  1. Abrir o Arduino IDE
  2. Configurar o Board Manager:
    • Barra de menus FicheiroPreferênciasIntroduza os URLs em „URLs adicionais do gestor de quadros“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Clique em OK
  3. Instalar as placas ESP32:
    • Barra de menus FerramentasDireçãoGestor de Conselhos de Administração
    • Procurar: esp32
    • Instalar: „esp32 da Espressif Systems“ (Versão 2.0.17+)
    • Aguardar até a instalação estar concluída

Instalar o controlador USB

Muitas vezes o Windows NÃO reconhece o ESP32 automaticamente!

Para o chip CP2102/CP2104 (mais comum):
  1. Descarregar:
  2. Instalação:
    • Descompactar ZIP
    • CP210xVCPInstaller_x64.exe Executar como administrador
    • Finalizar a instalação
    • Reiniciar o Windows
Para o chip CH340/CH341:
  1. Descarregar:
  2. Instalação:
    • Descompactar ZIP
    • CH341SER.EXE Executar como administrador
    • Clique em „INSTALAR“
    • Reiniciar o Windows
Descubra o tipo de chip:
  • Ligar o ESP32
  • Abra o Gestor de Dispositivos: Windows + XGestor de dispositivos
  • Ligações (COM e LPT) desdobrar-se
  • Procurar por:
    • „Silicon Labs CP210x...“ = CP2102
    • „USB-SERIAL CH340“ = CH340
    • „SLAB_USBtoUART“ = CP2102

Ligar o ESP32 e verificar a porta

  1. Ligar o ESP32 através de USB
  2. Descobrir o porto:
    • Barra de menus Ferramentasporta
    • Selecionar: COM3, COM4, COM5 etc.
    • (o número varia consoante o sistema)

Não há nenhuma porta visível? → Driver não instalado ou driver errado!

Selecionar o conselho

  1. Selecionar o conselho:
    • Barra de menus FerramentasDireçãoesp32„Módulo de desenvolvimento ESP32“
  2. Carregar definições:
    • Velocidade de carregamento: 115200
    • Frequência de flash: 80MHz
    • Modo de flash: QIO
    • Tamanho do flash: 4MB (32Mb)
    • Esquema de partição: Predefinição de 4 MB com spiffs

Teste de carregamento

  1. Exemplo de carga:
    • Barra de menus FicheiroExemplos01.básicoPiscar os olhos
  2. Carregar:
    • Clique no botão de carregamento (→)
    • Para „Ligar...“ possivelmente. Botão BOOT segurar no ESP32
  3. Sucesso:
    • „Hard resetting...“ = Tradução: Equipa PT-Subs Sincronização: PT-Subs

Bibliotecas para controlo da combustão

Incluído automaticamente (Núcleo ESP32):

  • WiFi.h
  • HTTPClient.h
  • WebServer.h
  • Preferências.h
  • esp_task_wdt.h

Solução de problemas

Problema: „Porta não encontrada“

Mac:

# Abrir o terminal e verificar:
ls /dev/cu.*

# Deve mostrar:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART

Janelas:

  • Abrir o Gestor de Dispositivos
  • Verificar as ligações (COM e LPT)
  • Reinstalar o controlador
  • Reiniciar o Windows

„A ligar...“ desliga-se

Solução:

  1. Botão BOOT Prima e mantenha premido o ESP32
  2. Em seguida, clique no botão de carregamento
  3. Manter premido o botão BOOT até aparecer „Writing...“
  4. Botão de libertação

Alternativa:

  • Premir brevemente o botão EN (reiniciar)
  • Em seguida, tente carregar novamente

„Erro de compilação“

Causas comuns:

  • Quadro errado selecionado
  • Suporte da placa ESP32 não instalado
  • Erro de sintaxe no código

Solução:

  • Verificar novamente o quadro: Módulo de desenvolvimento ESP32
  • Abrir o Board Manager → reinstalar o esp32

O carregamento funciona, mas o monitor de série está vazio

Solução:

  1. Verificar a taxa de transmissão:
    • Código: Serial.begin(115200);
    • Monitor de série: também 115200 Conjunto
  2. Porta de controlo:
    • Porta COM correta selecionada?
  3. Premir o botão EN:
    • Repor após carregamento

Lista de controlo antes da primeira transferência

  • [ ] IDE Arduino instalado
  • [Suporte da placa ESP32 instalado (Versão 2.0.17+)
  • [ ] Controlador USB instalado (Windows!)
  • [ ] ESP32 ligado via USB
  • [Porta visível no Arduino IDE
  • [Placa: „ESP32 Dev Module“ selecionada
  • [ ] Velocidade de carregamento: 115200
  • [ ] Tamanho do flash: 4MB
  • [ ] Monitor de série Velocidade de transmissão: 115200
  • [ ] Versão NTP do router

Lançamento do NTP

Alguns routers estão configurados por defeito sem partilha NTP, o que significa que os pedidos através da porta NTP 123 não são encaminhados, pelo que não é possível pedir dados ao servidor NTP endereçado.

Por conseguinte, deve ser definida uma regra correspondente:

Recursos de aprendizagem

Documentação oficial:

Carregar código

  1. Abrir ficheiro:
  2. Personalizar o WiFi: const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT";
  3. Introduzir o token XML-API: const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
    O complemento XML API deve ser instalado no RaspberryMatic. Pode então alterar as definições do suplemento XML API clicando em registo de fichas.cgi pode ser gerado um token. O token é válido para todos os futuros logins GUI e consiste numa sequência de 16 dígitos de letras maiúsculas e minúsculas. Deve ser inserido no código do ESP32 no sítio adequado.
  4. Carregar:
    • Verificar (✓) → Verificar código
    • Carregar (→) → Carregar para o ESP32
  5. Abrir o Monitor de série:
    • FerramentasMonitor de série
    • Taxa de transmissão: 115200 (é apresentado no menu FERRAMENTAS - Velocidade de carregamento: .... descontinuado)
    • Ver a saída!

Comissionamento

Após a configuração bem sucedida:

  1. Testar a ligação WiFi
  2. Carregar o código de controlo da combustão
  3. Ligar o motor e o interrutor de fim de curso
  4. Gerar o token RaspberryMatic
  5. Sistema de teste

Código ESP32

O código necessário é totalmente comentado e, por conseguinte, rastreável e personalizável, se necessário. (Download)

GUI DO ESP32

Na GUI, isto pode ser regulado manual e continuamente para fins de teste, para determinar a dependência da temperatura dos gases de escape da abertura do registo.

O padrão da chama é observado e o valor percentual visualmente „adequado“ da abertura do registo é ajustado no momento relevante. O valor de temperatura lido no RaspberryMatic nesse momento é atribuído ao valor percentual definido da abertura do registo como valor inicial para a alteração. O valor de temperatura a ser atingido resulta da próxima correção visualmente „necessária“ da abertura do registo.

Se, por exemplo, 150°C foi reconhecido como o ponto de partida (de ...) para a abertura a 80% e 200°C como o valor para a redução a 45%, então a constelação mostrada na primeira função OTHER IF resulta no programa „Controlo de queima - Controlo da temperatura“, conforme ilustrado.

„É apresentado “Modo de teste" se ainda não tiverem sido ligados quaisquer periféricos ao ESP32 e a variável "const bool TEST_MODE =" ainda em „verdadeiro“ está de pé.
Alterar para „falso.falso“anula o modo de teste e inicializa a marcha de referência do motor ligado para determinar as posições de início e fim definidas pelos fins de curso.

Registo em direto

Diagnóstico

Tratamento automatizado de erros

A interceção de possíveis estados de erro é essencial para um funcionamento contínuo e sem problemas. O código é, portanto, fornecido com as seguintes rotinas para reconhecer erros e corrigi-los usando medidas adequadas:

  • Tratamento do transbordo da pilha
  • Deteção de falha de energia
  • Divisão por ZERO
  • Desligamento de emergência do interrutor de fim de curso
  • Tratamento de erros HTTP
  • Tratamento de excepções HTTP
  • Controlo de excesso de número inteiro
  • Monitorização da memória
  • millis() Estouro
  • Deteção de alarme do motor
  • Recuperação de preferências
  • Restrições de posição
  • Proteção contra operações de bloqueio muito longas
  • Gestão de clientes Telnet
  • Ponteiro NULL da Telnet
  • Segurança da linha
  • Validação de token
  • Temporizador Watchdog
  • Ligação automática WiFi

RaspberryMatic - Programas

Controlo da combustão

programa

IF estado do sistema Burnup_Damper_Setpoint no intervalo de valores de 0 e inferior a 101 (por cento)

DEPOIS O GUIÃO ... IMEDIATAMENTE

! Endereço IP do ESP32 (PERSONALIZAR AQUI!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";

! Obter o valor atual da variável de sistema
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();

! Construir URL para a chamada de retorno do ESP32
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;

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

! Saída de registo (opcional, para depuração)
WriteLine("Burn-up: Enviar " # setpoint # "% para ESP32 " # esp32_ip);

Controlo de queima - Controlo da temperatura

programa

SE a seleção do dispositivo "PT1000_temperature_sensor_flue_gas" FOR ACTUAL temperature from ... a ...

ENTÃO Estado do sistema Ponto_de_deflagração_de_amortecedor IMEDIATAMENTE xxx*

CASO CONTRÁRIO, SE ...

Aqui, as duas linhas superiores são continuamente complementadas com diferentes gamas de temperatura e valores percentuais por uma função OUTRO SE até que todas as gamas necessárias sejam cobertas.

* xxx„ é o valor percentual pretendido para a abertura da aba.

Conjunto de atuador linear e interrutor de fim de curso

Consoante o espaço disponível por baixo do mecanismo de retalho, o acionamento linear equipado com o motor é montado por baixo. Ao carro está acoplado um „garfo“, que é deslocado para a frente ou para trás pelo fuso, no qual se encaixa o mecanismo de acionamento manual.

A „alavanca“ é normalmente concebida de modo a poder ser movida ligeiramente para cima e para baixo. O comprimento das „forquilhas“ é ajustado em conformidade, de modo a que a alavanca possa ser deslocada manualmente e empurrada totalmente para ABRIR.

Por um lado, isto serve para gerar um calado máximo quando se adiciona combustível, se o controlo eletrónico ainda não estiver totalmente regulado para 100%.

Por outro lado, a opção de funcionamento puramente mecânico continua a estar disponível, por exemplo, no caso de uma falha de alimentação eléctrica.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *