Hopp til innholdet

Komfyr - forbrenningskontroll

Lesetid 8 minutter

Aktualisiert – februar 3, 2026

En moderne vedovn har vanligvis et integrert styringssystem for forbrenningen. Hvis du fortsatt har en vedovn uten denne automatikken, kan du bygge ditt eget styringssystem i kombinasjon med Smarthome (Raspberry Pi).

Selv om det ennå ikke er mulig å automatisere påfyllingen av veden, bortsett fra i pelletskaminer, gir automatiseringen en jevnere forbrenning, konstante temperaturer og et lavere vedforbruk på opptil 30 % med høyere effektivitet.

Hvis du ikke „tør“ med en gang, kan jeg fortelle deg at jeg en gang følte det på samme måte. Men hvis du ser nærmere på emnet og mulighetene som RaspberryMatic gir på for eksempel en Raspberry Pi, vil du snart bli overbevist om at du kan „gjøre det“!

Og som så ofte i livet: Det blir bedre sammen! La oss ta fatt på det!

Teori

Det vi kan se med det blotte øye av flammemønsteret og fargen på flammen, registreres av en høytemperaturføler som er skrudd inn i røykgassrøret ca. 20 cm over brennkammeret.

Avhengig av temperaturen som skal holdes på rundt 200 °C, bruker den et enkelt program på Raspberry Pi til å åpne og lukke tilluftsklaffen, noe som tidligere måtte gjøres manuelt - hvis du så på ovnen ...

I prinsippet en enkel mekanisme. Mekanismen, i ordets rette forstand, er her realisert via en lineær drivenhet som beveges av en trinnmotor. Avhengig av den faktiske temperaturverdien sammenlignet med settpunktverdien, får trinnmotoren informasjon om hvorvidt den skal øke eller redusere tilluften hvis temperaturen er for lav. Følgelig beveges (den manuelle) betjeningsspaken til tilluftsspjeldet, som er mekanisk koblet til den lineære glideren, forover eller bakover, og spjeldet åpnes eller lukkes.

Siden RaspberryMatic ikke gir mulighet for direkte adressering av en trinnmotor, nøyer vi oss med en ESP32-IDF, en liten datamaskin som tilbyr tilkobling av en trinnmotorstyring og dermed kan overta styringen av denne.

Kommunikasjonen mellom RaspberryMatic og ESP32-IDF skjer via WLAN, som allerede er integrert i ESP32-IDF. ESP32-IDF er programmert i C++, Arduino IDE og er inkludert i denne artikkelen for enkel overføring etter endring av noen få parametere.

Programmet for registrering av temperatur og posisjonering av den lineære trinnmotoren er også tilgjengelig for enkel overføring.

Handleliste

  • Raspberry Pi 4 Model B Sett med hus, vifte, strømforsyningsenhet - ca. 95 euro
  • SD-kort 16 GB (for RaspberryMatic-installasjon) - ca. 10,- Euro
  • RaspberryMatic (nedlasting) - gratis
    (med Raspberry Pi Baker (Mac) eller Raspberry Pi Imager (Windows) Kopier til SD-kort;
    Opprett variabler Burning_status (Type Tegnstreng); Burn-off_flap_actual (Type Antall); Burn_off_flap_desired (Type Antall); 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 finnes i nest siste utdatalinje, f.eks. „".19827“)
  • ESP32-utviklingskort (f.eks. ESP32 DevKit V1) - ca. 12,- Euro
    Arduino IDE 2.x Last ned (Mac) (Vinduer)
  • CL86Y Driver for trinnmotor (eller TB6600)*
  • NEMA 17 trinnmotor (200 trinn/omdreining)* - Sett ca. 80,- Euro
  • Lineær drift 100 mm, 150 mm egnet for ovennevnte trinnmotortype ca. 50,- Euro
  • 2x grensebryter (mekanisk) - ca. 4,- Euro
  • 48 V likestrømforsyningsenhet (for motor 12A) - ca. 39,- Euro
  • Strømforsyningsenhet 5V DC (for ESP32, f.eks. USB) - ca. 7,- Euro
  • ELV PT1000 høytemperaturføler 4-leder Art. Nr. 258570 - ca. 24,- Euro
  • Grensesnitt for ELV platinatemperaturføler - Art. Nr. 162126 - ca. 45,- Euro
  • Rørkobling i messing M10 x 6 mm for PT1000 temperaturføler - ca. 4,- Euro

For totalt rundt 370 euro er dette et fullverdig og svært rimelig alternativ til et ettermonteringssett - hvis det i det hele tatt er tilgjengelig for ovnen - som vanligvis koster mellom 750 og 1 500 euro!

Forberedelser

Installasjonen av RaspberryMatic på SD-kortet til Raspberry Pi 4 B er her beskrevet i detalj, inkludert montering av huset hvis du ikke har kjøpt noe sett.

ESP32 - Oppsett

macOS

Trinn 1: Installer Arduino IDE

  1. Last ned:
    • Gå til: https://www.arduino.cc/en/software
    • Last ned „Arduino IDE 2.x“ for macOS
    • Velg .dmg for Intel eller .dmg for Apple Silicon (M1/M2/M3)
  2. Installasjon:
    • .dmg Åpne fil
    • Dra Arduino IDE inn i programmappen
    • Start Arduino IDE

Installere støtte for ESP32-kort

  1. Åpne Arduino IDE
  2. Open Board Manager:
    • Meny: Arduino IDEInnstillinger (eller Cmd + ,)
    • Skriv inn URL-adressene under „URL-adresser for administrasjon av tilleggstavler“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Klikk på OK
  3. Installer ESP32-kortene:
    • Klikk på tavleikonet til venstre (eller i Menylinjen VerktøyStyretStyrets leder)
    • Søk etter: esp32
    • Installer: „esp32 av Espressif Systems“ (Versjon 2.0.17 eller nyere)
    • Vent til installasjonen er fullført (kan ta 5-10 minutter)

USB-driver (opp til OS 10.14)

Hvis ESP32 ikke gjenkjennes:

  1. Last ned: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Fil: macOS_VCP_Driver.zip nedlasting
  3. Installer og start Mac på nytt

For CH340-brikken:

Koble til ESP32

  1. Koble til ESP32 via USB
  2. Sjekk porten:
    • Arduino IDE Menylinjen: VerktøyHavn
    • Velg port som ligner på:
      • /dev/cu.usbserial-0001 eller
      • /dev/cu.SLAB_USBtoUART eller
      • /dev/cu.wchusbserial*

Velg styre

  1. Arduino IDE:
    • Menylinjen VerktøyStyretesp32„ESP32 Dev Module“
  2. Innstillinger:
    • Opplastingshastighet: 115200
    • Blitsfrekvens: 80 MHz
    • Blitsmodus: QIO
    • Blitsstørrelse: 4MB (32Mb)
    • Partisjoneringsplan: Standard 4MB med spiffs

Test opplasting

  1. Åpne eksempelkoden:
    • Menylinjen FilEksempler01.basicsBlink
  2. Last opp kode:
    • Klikk på opplastingsknappen (→)
    • Vent til „Connecting...“ vises
    • Hvis „Connecting...“ henger seg opp: Trykk på og hold inne BOOT-knappen på ESP32
  3. Suksess:
    • „Hard tilbakestilling via RTS-pin...“ = Opplasting vellykket!
    • LED-lampen på ESP32 skal blinke

VINDUER

Installer Arduino IDE

  1. Last ned:
    • Gå til: https://www.arduino.cc/en/software
    • Last ned „Arduino IDE 2.x“ for Windows
    • Velg .exe Installatør
  2. Installasjon:
    • Kjør installasjonsprogrammet (som administrator)
    • La alle alternativer være aktivert
    • Fullfør installasjonen

Installere støtte for ESP32-kort

  1. Åpne Arduino IDE
  2. Konfigurer Board Manager:
    • Menylinjen FilInnstillingerSkriv inn URL-adressene under „URL-adresser for administrasjon av tilleggstavler“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Klikk på OK
  3. Installer ESP32-kortene:
    • Menylinjen VerktøyStyretStyrets leder
    • Søk: esp32
    • Installer: „esp32 av Espressif Systems“ (Versjon 2.0.17+)
    • Vent til installasjonen er ferdig

Installer USB-driveren

Windows gjenkjenner ofte IKKE ESP32 automatisk!

For CP2102/CP2104-brikke (mest vanlig):
  1. Last ned:
  2. Installasjon:
    • Pakke ut ZIP
    • CP210xVCPInstaller_x64.exe Kjør som administrator
    • Fullfør installasjonen
    • Start Windows på nytt
For CH340/CH341-brikken:
  1. Last ned:
  2. Installasjon:
    • Pakke ut ZIP
    • CH341SER.EXE Kjør som administrator
    • Klikk på „INSTALL“
    • Start Windows på nytt
Finn ut hvilken type brikke det er:
  • Koble til ESP32
  • Åpne Enhetsbehandling: Windows + XEnhetsbehandling
  • Tilkoblinger (COM og LPT) utfolde seg
  • Søk etter:
    • „Silicon Labs CP210x...“ = CP2102
    • „USB-SERIELL CH340“ = CH340
    • „SLAB_USBtoUART“ = CP2102

Koble til ESP32 og sjekk porten

  1. Koble til ESP32 via USB
  2. Finn ut hvilken havn det er:
    • Menylinjen VerktøyHavn
    • Velg: COM3, COM4, COM5 osv.
    • (antallet varierer avhengig av systemet)

Ingen port synlig? → Driver ikke installert eller feil driver!

Velg styre

  1. Velg styret:
    • Menylinje VerktøyStyretesp32„ESP32 Dev Module“
  2. Innstillinger for opplasting:
    • Opplastingshastighet: 115200
    • Blitsfrekvens: 80 MHz
    • Blitsmodus: QIO
    • Blitsstørrelse: 4MB (32Mb)
    • Partisjoneringsplan: Standard 4MB med spiffs

Test opplasting

  1. Last inn eksempel:
    • Menylinjen FilEksempler01.basicsBlink
  2. Last opp:
    • Klikk på opplastingsknappen (→)
    • For „Tilkobling...“ muligens. BOOT-knappen hold på ESP32
  3. Suksess:
    • „Hard tilbakestilling ...“ = ✅ Opplasting vellykket!

Biblioteker for forbrenningskontroll

Automatisk inkludert (ESP32 Core):

  • WiFi.h
  • HTTPClient.h
  • WebServer.h
  • Preferences.h
  • esp_task_wdt.h

Feilsøking

Problem: „Port ikke funnet“

Mac:

# Åpne terminalen og sjekk:
ls /dev/cu.*

# Bør vise:
/dev/cu.usbserial-XXXXXX
/dev/cu.SLAB_USBtoUART

Windows:

  • Åpne Enhetsbehandling
  • Kontroller tilkoblingene (COM og LPT)
  • Installer driveren på nytt
  • Start Windows på nytt

„Tilkobling...“ henger

Løsning:

  1. BOOT-knappen Trykk og hold nede på ESP32
  2. Klikk deretter på opplastingsknappen
  3. Hold BOOT-knappen inne til „Writing...“ vises.
  4. Utløserknapp

Alternativ:

  • Trykk kort på EN-knappen (reset)
  • Prøv deretter å laste opp igjen

„Kompileringsfeil“

Vanlige årsaker:

  • Feil kort valgt
  • ESP32 Board Support er ikke installert
  • Syntaksfeil i koden

Løsning:

  • Sjekk brettet igjen: ESP32 utviklingsmodul
  • Åpne Board Manager → installer esp32 på nytt

Opplasting fungerer, men seriell skjerm er tom

Løsning:

  1. Kontroller baud-hastigheten:
    • Kode: Serial.begin(115200);
    • Serial Monitor: Også 115200 Sett
  2. Sjekk porten:
    • Er riktig COM-port valgt?
  3. Trykk på EN-knappen:
    • Tilbakestill etter opplasting

Sjekkliste før første opplasting

  • [ ] Arduino IDE installert
  • [ ] ESP32 Board Support installert (versjon 2.0.17+)
  • [ ] USB-driver installert (Windows!)
  • [ ] ESP32 tilkoblet via USB
  • [ ] Port synlig i Arduino IDE
  • [ ] Kort: „ESP32 Dev Module“ valgt
  • [ ] Opplastingshastighet: 115200
  • [ ] Flash-størrelse: 4 MB
  • [ ] Seriell skjerm Baud-hastighet: 115200
  • [ ] Ruter NTP-utgivelse

NTP-utgivelse

Noen rutere er som standard konfigurert uten NTP-deling, noe som betyr at forespørsler via NTP-port 123 ikke videresendes, med det resultat at ingen data kan forespørres fra den adresserte NTP-serveren.

Det må derfor defineres en tilsvarende regel:

Læringsressurser

Offisiell dokumentasjon:

Last opp kode

  1. Åpne filen:
  2. Tilpass WiFi: const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT";
  3. Skriv inn XML-API-token: const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
    XML API-tillegget må være installert i RaspberryMatic. Du kan deretter endre innstillingene for XML API-tillegget ved å klikke på tokenregister.cgi kan et token genereres. Tokenet er gyldig for alle fremtidige GUI-pålogginger og består av en 16-sifret sekvens med store og små bokstaver. Den må settes inn i ESP32-koden på riktig sted.
  4. Last opp:
    • Verifiser (✓) → Sjekk kode
    • Last opp (→) → Last opp til ESP32
  5. Åpne Serial Monitor:
    • VerktøySeriell skjerm
    • Baud-hastighet: 115200 (wird unter dem Menü TOOLS – Opplastingshastighet: .... utgått)
    • Pass på utgangen!

Idriftsettelse

Etter vellykket oppsett:

  1. Test WiFi-tilkoblingen
  2. Last opp kode for avbrenningskontroll
  3. Koble til motor og endebryter
  4. Generer RaspberryMatic-token
  5. Testsystem

ESP32-kode

Den nødvendige koden er fullstendig kommentert og kan derfor spores og tilpasses ved behov. (nedlasting)

ESP32 GUI

I GUI kan dette stilles inn manuelt og kontinuerlig for testformål for å bestemme avgasstemperaturens avhengighet av spjeldåpning.

Flammemønsteret observeres, og den visuelt „passende“ prosentverdien for spjeldåpningen justeres på det aktuelle tidspunktet. Temperaturverdien som leses av fra RaspberryMatic på det aktuelle tidspunktet, tilordnes den innstilte prosentverdien for spjeldåpningen som startverdi for endringen. Temperaturverdien til er resultatet av den neste visuelt „nødvendige“ korreksjonen av spjeldåpningen.

Hvis f.eks. 150 °C ble gjenkjent som startpunkt (fra ...) for åpning til 80% og 200 °C som verdi for reduksjon til 45%, vil konstellasjonen som vises under den første OTHER IF-funksjonen resultere i programmet „Avbrenningskontroll - Temperaturkontroll“ som illustrert.

„Test mode“ vises hvis det ennå ikke er koblet noen eksterne enheter til ESP32 og variabelen "const bool TEST_MODE =" fortsatt på „ekte“ står.
Endre til „falsk“ avbryter testmodusen og initialiserer referansekjøringen til den tilkoblede motoren for å bestemme start- og sluttposisjonene som er definert av endebryterne.

Direkte logging

Diagnostikk

Automatisert feilhåndtering

Å fange opp mulige feiltilstander er avgjørende for kontinuerlig, problemfri drift. Koden er derfor utstyrt med følgende rutiner for å gjenkjenne feil og utbedre dem ved hjelp av egnede tiltak:

  • Behandling av stabeloverløp
  • Deteksjon av brownout
  • Divisjon med ZERO
  • Nødavstengning av grensebryter
  • HTTP-feilhåndtering
  • Håndtering av HTTP-unntak
  • Kontroll av heltallsoverløp
  • Overvåking av minne
  • millis() Overflow
  • Deteksjon av motoralarm
  • Gjenoppretting av preferanser
  • Posisjonsbegrensninger
  • Beskyttelse mot svært lange blokkeringsoperasjoner
  • Administrasjon av Telnet-klienter
  • Telnet NULL-peker
  • Trådsikkerhet
  • Token-validering
  • Watchdog-timer
  • Automatisk WiFi-tilkobling

RaspberryMatic - Programmer

Avbrenningskontroll

Program

WENN Systemzustand Abbrand_Klappe_Soll im Wertebereich von 0 und kleiner 101 (Prozent)

DERETTER SKRIPT ... UMIDDELBART

! ESP32 IP-adresse (TILPASS HER!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";

! Hent gjeldende verdi av systemvariabelen
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();

! Bygg URL for ESP32-tilbakekalling
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;

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

! Loggutdata (valgfritt, for feilsøking)
WriteLine("Burn-up: Send " # settpunkt # "% til ESP32 " # esp32_ip);

Avbrenningskontroll - Temperaturkontroll

Program

HVIS enhetsvalg "PT1000_temperatursensor_rØggass" FOR REELL temperatur fra ... til ...

THEN Systemstatus Burn-off_Damper_Setpoint IMMEDIATELY xxx*

ELLERS HVIS ...

Her suppleres de to øverste linjene kontinuerlig med ulike temperaturområder og prosentverdier ved hjelp av en OTHER IF-funksjon til alle nødvendige områder er dekket.

* xxx„ er den ønskede prosentverdien for klaffens åpning.

Lineær aktuator og endebryterenhet

Avhengig av tilgjengelig plass under klaffemekanismen, er den lineære drivenheten utstyrt med motoren montert under. En „gaffel“ er festet til vognen, som beveges forover eller bakover av spindelen, som den manuelt betjente mekanismen griper inn i.

„Spaken“ er vanligvis utformet slik at den kan beveges litt opp og ned. Lengden på „gaflene“ justeres tilsvarende, slik at spaken fortsatt kan beveges ut av dette manuelt og skyves helt ÅPEN.

På den ene siden tjener dette til å generere et maksimalt trekk ved påfylling av drivstoff hvis den elektroniske styringen ennå ikke er helt innstilt på 100%.

På den annen side er det fortsatt mulig å velge en rent mekanisk betjening, f.eks. i tilfelle strømbrudd.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

nb_NONorwegian