Indholdsfortegnelse
Opdateret - 3. februar 2026
En moderne brændeovn har normalt et integreret forbrændingsstyringssystem. Hvis du stadig har en brændeovn uden dette automatiske system, kan du bygge dit eget kontrolsystem i kombination med Smarthome (Raspberry Pi).
Selv om det endnu ikke er muligt at automatisere påfyldningen af træ, bortset fra pilleovne, giver automatisering en mere jævn afbrænding, konstante temperaturer og et lavere træforbrug på op til 30 % med større effektivitet.
Hvis du ikke „tør“ med det samme, kan jeg fortælle dig, at jeg engang havde det på samme måde. Men hvis du kigger nærmere på emnet og de muligheder, som RaspberryMatic giver på f.eks. en Raspberry Pi, vil du hurtigt blive overbevist om, at du kan „gøre det“!
Og som så ofte i livet: Det er bedre sammen! Lad os tage fat på det!
Teori
Det, vi kan se med det blotte øje fra flammemønsteret og flammens farve, registreres af en højtemperatursensor, der er skruet ind i røggasrøret ca. 20 cm over forbrændingskammeret.
Afhængigt af den temperatur, der skal holdes på omkring 200 °C, bruger den et simpelt program på Raspberry Pi til at åbne og lukke indblæsningsklappen, hvilket tidligere skulle gøres manuelt - hvis man kiggede på ovnen ...
I princippet en simpel mekanisme. Mekanismen, i ordets egentlige forstand, er her realiseret via et lineært drev, der bevæges af en stepmotor. Afhængigt af den faktiske temperaturværdi sammenlignet med setpunktsværdien modtager stepmotoren information om, hvorvidt den skal øge eller mindske indblæsningen, hvis temperaturen er for lav. Derfor bevæges (det manuelle) betjeningshåndtag til tilluftspjældet, som er mekanisk koblet til den lineære slæde, fremad eller bagud, og spjældet åbnes eller lukkes.
Da RaspberryMatic ikke giver mulighed for at adressere en stepmotor direkte, nøjes vi med en ESP32-IDF, en lille computer, der giver mulighed for tilslutning af en stepmotorstyring og dermed kan overtage styringen af samme.
Kommunikationen mellem RaspberryMatic og ESP32-IDF foregår via WLAN, som allerede er integreret i ESP32-IDF. ESP32-IDF er programmeret i C++, Arduino IDE og er inkluderet i denne artikel for nem overførsel efter ændring af nogle få parametre.
Programmet til registrering af temperatur og positionering af den lineære stepmotor medfølger også, så det er nemt at overføre.
Indkøbsliste
- Raspberry Pi 4 Model B Sæt med hus, blæser, strømforsyning - ca. 95 euro
- SD-kort 16 GB (til RaspberryMatic-installation) - ca. 10,- Euro
- RaspberryMatic (Download) - gratis
(med Raspberry Pi Bager (Mac) eller Raspberry Pi Imager (Windows) Kopier til SD-kort;
Opret variabler Brænding_status (Type Tegnstreng); Brændende_klap_aktuel (Type Antal); Burn_off_flap_desired (Type Antal); 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 Resultat kan findes i den næstsidste outputlinje, f.eks. „".19827“) - ESP32-udviklingskort (f.eks. ESP32 DevKit V1) - ca. 12,- Euro
Arduino IDE 2.x Download (Mac) (Vinduer) - CL86Y Driver til stepmotor (eller TB6600)*
- NEMA 17-trinmotor (200 trin/omdrejningstal)* - Sæt ca. 80,- Euro
- Lineært drev 100 mm, 150 mm egnet til ovennævnte stepmotortype ca. 50,- Euro
- 2x grænsekontakt (mekanisk) - ca. 4,- Euro
- 48V DC strømforsyningsenhed (til motor 12A) - ca. 39,- Euro
- Strømforsyningsenhed 5V DC (til ESP32, f.eks. USB) - ca. 7,- Euro
- ELV PT1000 sensor til høj temperatur 4-leder Art. Nr. 258570 - ca. 24,- Euro
- ELV platin temperatur sensor interface - Art. Nr. 162126 - ca. 45,- Euro
- Messingrørfitting M10 x 6 mm til PT1000-temperatursensoren - ca. 4,- Euro
For i alt ca. 370 euro er dette et fuldgyldigt og også meget billigt alternativ til et eftermonteringssæt - hvis der overhovedet findes et til ovnen - som normalt koster mellem 750 og 1.500 euro!
Forberedelser
Installationen af RaspberryMatic på SD-kortet til Raspberry Pi 4 B er her beskrevet i detaljer, inklusive installation af huset, hvis der ikke er købt et sæt.
ESP32 - opsætning
macOS
Trin 1: Installer Arduino IDE
- Download:
- Gå til: https://www.arduino.cc/en/software
- Download „Arduino IDE 2.x“ til macOS
- Vælg
.dmgfor Intel eller.dmgtil Apple Silicon (M1/M2/M3)
- Installation:
.dmgÅbn fil- Træk Arduino IDE ind i programmappen
- Start Arduino IDE
Installer understøttelse af ESP32-kort
- Åbn Arduino IDE
- Åben bestyrelsesleder:
- Menu:
Arduino IDE→Indstillinger(ellerCmd + ,) - Indtast webadresserne under „Yderligere webadresser til bestyrelsesadministratorer“:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Klik på
OK
- Menu:
- Installer ESP32-kort:
- Klik på tavleikonet til venstre (eller i Menulinje
Værktøjer→Bestyrelse→Bestyrelseschef) - Søg efter:
esp32 - Installer: „esp32 af Espressif Systems“ (Version 2.0.17 eller nyere)
- Vent, indtil installationen er færdig (det kan tage 5-10 minutter).
- Klik på tavleikonet til venstre (eller i Menulinje
USB-driver (op til OS 10.14)
Hvis ESP32 ikke genkendes:
- Download: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Fil:
macOS_VCP_Driver.zipdownload - Installer og genstart Mac
Til CH340-chip:
- Download: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver
- Installer og genstart Mac
Tilslutning af ESP32
- Tilslut ESP32 via USB
- Tjek porten:
- Arduino IDE Menulinje:
Værktøjer→Havn - Vælg en port, der ligner:
/dev/cu.usbserial-0001eller/dev/cu.SLAB_USBtoUARTeller/dev/cu.wchusbserial*.
- Arduino IDE Menulinje:
Vælg bestyrelse
- Arduino IDE:
- Menulinje
Værktøjer→Bestyrelse→esp32→ „ESP32 Dev Module“
- Menulinje
- Indstillinger:
- Uploadhastighed: 115200
- Flash-frekvens: 80 MHz
- Flash-tilstand: QIO
- Flash-størrelse: 4MB (32Mb)
- Opdelingsskema: Standard 4MB med spiffs
Upload af test
- Åbn eksempelkode:
- Menulinje
Fil→Eksempler→01.basics→Blink
- Menulinje
- Upload kode:
- Klik på upload-knappen (→)
- Vent, indtil „Forbinder ...“ vises
- Hvis „Forbinder ...“ hænger: Tryk på BOOT-knappen på ESP32, og hold den nede.
- Succes:
- „Hård nulstilling via RTS-pin ...“ = Upload vellykket!
- LED'en på ESP32 bør blinke
VINDUER
Installer Arduino IDE
- Download:
- Gå til: https://www.arduino.cc/en/software
- Download „Arduino IDE 2.x“ til Windows
- Vælg
.exeInstallatør
- Installation:
- Kør installationsprogrammet (som administrator)
- Lad alle indstillinger være aktiveret
- Færdiggør installationen
Installer understøttelse af ESP32-kort
- Åbn Arduino IDE
- Konfigurer Board Manager:
- Menulinje
Fil→IndstillingerIndtast webadresserne under „Yderligere webadresser til bestyrelsesadministratorer“:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Klik på
OK
- Menulinje
- Installer ESP32-kort:
- Menulinje
Værktøjer→Bestyrelse→Bestyrelseschef - Søg:
esp32 - Installer: „esp32 af Espressif Systems“ (Version 2.0.17+)
- Vent, indtil installationen er færdig
- Menulinje
Installer USB-driver
Windows genkender ofte IKKE ESP32 automatisk!
Til CP2102/CP2104-chip (mest almindelig):
- Download:
- https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Fil:
CP210x_Universal_Windows_Driver.zip
- Installation:
- Pak ZIP ud
CP210xVCPInstaller_x64.exeKør som administrator- Færdiggør installationen
- Genstart Windows
Til CH340/CH341-chip:
- Download:
- Installation:
- Pak ZIP ud
CH341SER.EXEKør som administrator- Klik på „INSTALLÉR“
- Genstart Windows
Find ud af, hvilken type chip det er:
- Tilslutning af ESP32
- Åbn Enhedshåndtering:
Windows + X→Enhedshåndtering - Tilslutninger (COM & LPT) udfolde sig
- Søg efter:
- „Silicon Labs CP210x...“ = CP2102
- „USB-SERIAL CH340“ = CH340
- „SLAB_USBtoUART“ = CP2102
Tilslut ESP32 og tjek porten
- Tilslut ESP32 via USB
- Find ud af, hvor havnen er:
- Menulinje
Værktøjer→Havn - Vælg: COM3, COM4, COM5 osv.
- (antallet varierer afhængigt af systemet)
- Menulinje
Ingen synlig port? → Driver ikke installeret eller forkert driver!
Vælg bestyrelse
- Vælg bestyrelse:
Menu bar.Værktøjer→Bestyrelse→esp32→ „ESP32 Dev Module“
- Upload indstillinger:
- Uploadhastighed: 115200
- Flash-frekvens: 80 MHz
- Flash-tilstand: QIO
- Flash-størrelse: 4MB (32Mb)
- Opdelingsskema: Standard 4MB med spiffs
Upload af test
- Eksempel på indlæsning:
- Menulinje
Fil→Eksempler→01.basics→Blink
- Menulinje
- Upload:
- Klik på upload-knappen (→)
- For „Forbinder...“ muligvis. BOOT-knap hold på ESP32
- Succes:
- „Hård nulstilling ...“ = ✅ Upload vellykket!
Biblioteker til forbrændingskontrol
Automatisk inkluderet (ESP32 Core):
- WiFi.h
- HTTPClient.h
- WebServer.h
- Indstillinger.h
- esp_task_wdt.h
Fejlfinding
Problem: „Port ikke fundet“
Mac:
# Åbn en terminal, og tjek:
ls /dev/cu.*
# Bør vise:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART
Vinduer:
- Åbn Device Manager
- Tjek forbindelser (COM & LPT)
- Geninstaller driveren
- Genstart Windows
„Forbindelse ...“ hænger
Løsning:
- BOOT-knap Tryk og hold på ESP32
- Klik derefter på upload-knappen
- Hold BOOT-knappen nede, indtil „Writing...“ vises.
- Udløserknap
Alternativt:
- Tryk kort på EN-knappen (nulstilling)
- Prøv derefter at uploade igen
„Kompileringsfejl“
Almindelige årsager:
- Forkert kort valgt
- ESP32 Board Support er ikke installeret
- Syntaksfejl i koden
Løsning:
- Tjek tavlen igen:
ESP32 udviklingsmodul - Åbn Board Manager → geninstaller esp32
Upload virker, men seriel skærm er tom
Løsning:
- Tjek baud-hastighed:
- Kode:
Serial.begin(115200); - Seriel monitor: Også 115200 Sæt
- Kode:
- Tjek porten:
- Er den rigtige COM-port valgt?
- Tryk på EN-knappen:
- Nulstil efter upload
Tjekliste før første upload
- [ ] Arduino IDE installeret
- [ ] ESP32 Board Support installeret (version 2.0.17+)
- [ ] USB-driver installeret (Windows!)
- [ ] ESP32 tilsluttet via USB
- [ ] Port synlig i Arduino IDE
- [ ] Board: „ESP32 Dev Module“ valgt
- [ ] Uploadhastighed: 115200
- [ ] Flash-størrelse: 4 MB
- [ ] Seriel skærm Baud-hastighed: 115200
- [ ] Router NTP-udgivelse
NTP-udgivelse
Nogle routere er som standard konfigureret uden NTP-deling, hvilket betyder, at anmodninger via NTP-port 123 ikke videresendes med det resultat, at der ikke kan anmodes om data fra den adresserede NTP-server.
Der skal derfor defineres en tilsvarende regel:

Læringsressourcer
Officiel dokumentation:
- ESP32 Arduino: https://docs.espressif.com/projects/arduino-esp32/
- Arduino-reference: https://www.arduino.cc/reference/en/
Upload kode
- Åbn filen:
- Den Tekstindhold i denne fil i det tomme(!) Arduino IDE-vindue
- Tilpas WiFi:
const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT"; - Indtast XML-API-token:
const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
XML API-tilføjelsen skal være installeret i RaspberryMatic. Du kan derefter ændre indstillingerne for XML API-tilføjelsen ved at klikke på tokenregister.cgi kan der genereres et token. Tokenet er gyldigt for alle fremtidige GUI-logins og består af en 16-cifret sekvens af store og små bogstaver. Det skal indsættes i ESP32-koden på den relevante position. - Upload:
- Bekræft (✓) → Tjek koden
- Upload (→) → Upload til ESP32
- Åbn Serial Monitor:
Værktøjer→Seriel skærm- Baud-hastighed: 115200 (vises under menuen VÆRKTØJER -) Uploadhastighed: .... udgået)
- Hold øje med udgangen!
Ibrugtagning
Efter vellykket opsætning:
- Test WiFi-forbindelse
- Upload afbrændingskontrolkode
- Tilslut motor og grænsekontakt
- Generer RaspberryMatic-token
- Testsystem
ESP32-kode
Den nødvendige kode er fuldt kommenteret og kan derfor spores og tilpasses, hvis det er nødvendigt. (Download)
ESP32 GUI
I GUI kan dette indstilles manuelt og kontinuerligt til testformål for at bestemme udstødningsgastemperaturens afhængighed af spjældåbning.
Flammemønsteret observeres, og den visuelt „passende“ procentvise værdi af spjældåbningen justeres på det relevante tidspunkt. Den temperaturværdi, der aflæses fra RaspberryMatic på det pågældende tidspunkt, tildeles den indstillede procentvise værdi af spjældåbningen som startværdi for ændringen. Temperaturværdien er resultatet af den næste visuelt „nødvendige“ korrektion af spjældåbningen.
Hvis f.eks. 150°C blev anerkendt som udgangspunkt (fra ...) for åbning til 80% og 200°C som værdien for reduktion til 45%, så resulterer den konstellation, der vises under den første OTHER IF-funktion, i programmet „Afbrændingskontrol - Temperaturkontrol“ som illustreret.

„Test mode“ vises, hvis der endnu ikke er tilsluttet nogen perifere enheder til ESP32, og variablen "const bool TEST_MODE =" stadig på „ægte“ står.
Skift til „falsk“ annullerer testtilstanden og initialiserer referencekørslen for den tilsluttede motor for at bestemme start- og slutpositionerne, der er defineret af grænsekontakterne.
Live logning

Diagnostik

Automatiseret fejlhåndtering
At opfange mulige fejltilstande er afgørende for en kontinuerlig, problemfri drift. Koden er derfor forsynet med følgende rutiner til at genkende fejl og udbedre dem ved hjælp af passende foranstaltninger:
- Behandling af stakoverløb
- Registrering af brownout
- Division med NUL
- Nødstop på grænsekontakt
- HTTP-fejlhåndtering
- Håndtering af HTTP-undtagelser
- Kontrol af heltalsoverløb
- Overvågning af hukommelse
- millis() Overflow
- Registrering af motoralarm
- Gendannelse af præferencer
- Positionsbegrænsninger
- Beskyttelse mod meget lange blokeringer
- Håndtering af Telnet-klienter
- Telnet NULL-markør
- Trådsikkerhed
- Token-validering
- Watchdog-timer
- Automatisk genoprettelse af WiFi-forbindelse
RaspberryMatic - Programmer
Afbrændingskontrol
Program
HVIS systemstatus Burnup_Damper_Setpoint i værdiområdet 0 og mindre end 101 (procent)
DEREFTER SCRIPT ... MED DET SAMME
! ESP32 IP-adresse (TILPAS HER!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";
! Hent den aktuelle værdi af systemvariablen
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();
! Byg URL til ESP32-tilbagekald
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;
! Kald på ESP32
string cmd = "wget -q -O /dev/null '" # url # "'";
system.Exec(cmd);
! Logoutput (valgfrit, til fejlfinding)
WriteLine("Opbrænding: Send " # sætpunkt # "% til ESP32 " # esp32_ip);
Afbrændingskontrol - Temperaturkontrol
Program
HVIS valg af enhed "PT1000_temperature_sensor_flue_gas" FOR ACTUAL temperatur fra ... til ...
SÅ Systemstatus Burn-off_Damper_Setpoint IMMEDIATELY xxx*
ELLERS HVIS ...
Her suppleres de to øverste linjer løbende med forskellige temperaturområder og procentværdier ved hjælp af en OTHER IF-funktion, indtil alle nødvendige områder er dækket.
* xxx„ er den ønskede procentvise værdi af klapåbningen.

Samling af lineær aktuator og grænsekontakt
Afhængigt af den plads, der er til rådighed under klapmekanismen, monteres det lineære drev med motoren nedenunder. En „gaffel“ er fastgjort til vognen, som bevæges fremad eller bagud af spindlen, hvori den manuelt betjente mekanisme går i indgreb.
„Håndtaget“ er normalt designet, så det kan bevæges lidt op og ned. Længden af „gaflerne“ justeres tilsvarende, så håndtaget stadig kan flyttes ud af dette manuelt og skubbes helt ÅBEN.
På den ene side tjener det til at skabe et maksimalt træk, når der fyldes brændstof på, hvis den elektroniske styring endnu ikke er helt indstillet til 100%.
På den anden side er den rent mekaniske driftsmulighed stadig tilgængelig, f.eks. i tilfælde af strømsvigt.