Skoči na vsebino

Peč - nadzor zgorevanja

Čas branja 8 minute

Posodobljeno - 3. februar 2026

Sodobne peči na drva imajo običajno vgrajen sistem za nadzor zgorevanja. Če imate še vedno peč na drva brez tega samodejnega sistema, lahko v kombinaciji s sistemom Smarthome (Raspberry Pi) izdelate svoj nadzorni sistem.

Tudi če nalaganja drv še ni mogoče avtomatizirati, se z avtomatizacijo poleg peči na pelete doseže enakomernejše izgorevanje, konstantne temperature in manjša poraba drv do 30 % z večjo učinkovitostjo.

Če si ne upate takoj, vam lahko povem, da sem se nekoč počutila enako. Toda če si podrobneje ogledate temo in možnosti, ki jih na primer ponuja RaspberryMatic na računalniku Raspberry Pi, boste kmalu prepričani, da lahko „to naredite“!

In kot pogosto v življenju: skupaj je bolje! Lotimo se ga!

Teorija

To, kar lahko vidimo s prostim očesom iz vzorca plamena in barve plamena, zazna visokotemperaturni senzor, ki je privijačen v cev za dimne pline približno 20 cm nad zgorevalno komoro.

Glede na temperaturo, ki jo je treba vzdrževati pri približno 200 °C, se s preprostim programom na računalniku Raspberry Pi odpira in zapira loputa za dovod zraka, kar je bilo prej treba storiti ročno - če ste pogledali na pečico ...

Načeloma gre za preprost mehanizem. Mehanizem v pravem pomenu besede je tu izveden z linearnim pogonom, ki ga premika koračni motor. Glede na dejansko vrednost temperature v primerjavi z nastavljeno vrednostjo dobi koračni motor informacijo, ali naj poveča ali zmanjša dovod zraka, če je temperatura prenizka. V skladu s tem se (ročni) pogonski vzvod lopute za dovod zraka, ki je mehansko povezan z linearnim vodilom, premakne naprej ali nazaj in loputa se odpre ali zapre.

Ker RaspberryMatic ne ponuja možnosti neposrednega naslavljanja koračnega motorja, se zadovoljimo z ESP32-IDF, majhnim računalnikom, ki ponuja povezavo krmilnika koračnega motorja in tako lahko prevzame nadzor nad njim.

Komunikacija med RaspberryMatic in ESP32-IDF poteka prek omrežja WLAN, ki je že vgrajeno v ESP32-IDF. ESP32-IDF je programiran v C++, Arduino IDE in je vključen v ta članek za enostaven prenos po spremembi nekaj parametrov.

Za enostaven prenos je na voljo tudi program za beleženje temperature in položaja linearnega koračnega motorja.

Nakupovalni seznam

  • Raspberry Pi 4 Model B Komplet z ohišjem, ventilatorjem in napajalno enoto - približno 95 evrov
  • Kartica SD 16 GB (za namestitev RaspberryMatic) - približno 10,- Euro
  • RaspberryMatic (prenesi) - brezplačno
    (z Pekač Raspberry Pi (Mac) ali Raspberry Pi Imager (Windows) Kopiranje na kartico SD;
    Ustvarjanje spremenljivk Burning_status (Tip Niz znakov); Burning_flap_actual (Tip Številka); Burn_off_flap_desired (Tip Številka); 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 Rezultat se nahaja v predzadnji izhodni vrstici, npr. „19827“)
  • Razvojna plošča ESP32 (npr. ESP32 DevKit V1) - približno 12,- EUR
    Arduino IDE 2.x Prenos (Mac) (Windows)
  • CL86Y Gonilnik koračnega motorja (ali TB6600)*
  • Koračni motor NEMA 17 (200 korakov/obrat)* - Cena približno 80,- EUR
  • Linearni pogon 100 mm, 150 mm, primerno za zgoraj omenjeni tip koračnega motorja pribl. 50,- EUR
  • 2x končno stikalo (mehansko) - približno 4,- EUR
  • Napajalna enota 48V DC (za motor 12A) - približno 39,- EUR
  • Napajalna enota 5V DC (za ESP32, npr. USB) - približno 7,- EUR
  • ELV PT1000 visokotemperaturni senzor 4-žični Art. št. 258570 - približno 24,- EUR
  • Vmesnik platinskega temperaturnega senzorja ELV - Art. št. 162126 - približno 45,- EUR
  • Medeninasti cevni nastavek M10 x 6 mm za temperaturni senzor PT1000 - približno 4,- EUR

Za približno 370 evrov je to popolna in tudi zelo poceni alternativa kompletu za naknadno vgradnjo - če je ta za peč sploh na voljo -, ki običajno stane od 750 do 1.500 evrov!

Priprave

Namestitev RaspberryMatic na kartico SD za Raspberry Pi 4 B je tukaj podrobno opisano, vključno z namestitvijo ohišja, če ni bil kupljen komplet.

ESP32 - Nastavitev

macOS

Korak 1: Namestitev Arduino IDE

  1. Prenesi:
    • Pojdi na: https://www.arduino.cc/en/software
    • Prenos „Arduino IDE 2.x“ za macOS
    • Izberite .dmg za Intel ali .dmg za Apple Silicon (M1/M2/M3)
  2. Namestitev:
    • .dmg Odprite datoteko
    • Povlecite Arduino IDE v mapo programa
    • Začetek Arduino IDE

Namestitev podpore plošče ESP32

  1. Odprite Arduino IDE
  2. Upravitelj odprtega odbora:
    • Meni: Arduino IDENastavitve (ali Cmd + ,)
    • URL-je vnesite v razdelku „Dodatni URL-ji upravitelja tabel“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Kliknite na V REDU
  3. Namestite plošče ESP32:
    • Kliknite ikono table na levi strani (ali v Menijevska vrstica OrodjaUpravni odborVodja upravnih odborov)
    • Iskanje: esp32
    • Namestitev: „esp32 podjetja Espressif Systems“ (različica 2.0.17 ali novejša)
    • Počakajte, da se namestitev konča (lahko traja 5-10 minut).

gonilnik USB (do operacijskega sistema OS 10.14)

Če ESP32 ni prepoznan:

  1. Prenesi: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Datoteka: macOS_VCP_Driver.zip prenesi
  3. Namestitev in ponovni zagon računalnika Mac

Za čip CH340:

Povezovanje ESP32

  1. Povezovanje ESP32 prek USB
  2. Preverite vrata:
    • Arduino IDE Menijevska vrstica: OrodjaPristanišče
    • Izberite vrata, podobna:
      • /dev/cu.usbserial-0001 ali
      • /dev/cu.SLAB_USBtoUART ali
      • /dev/cu.wchusbserial*

Izberite odbor

  1. Arduino IDE:
    • Menijevska vrstica OrodjaUpravni odboresp32„Modul ESP32 Dev“
  2. Nastavitve:
    • Hitrost prenosa: 115200
    • Frekvenca bliskavice: 80 MHz
    • Način bliskavice: QIO
    • Velikost bliskavice: 4 MB (32 MB)
    • Shema razdelitve: Privzeto 4 MB s spiffi

Testno nalaganje

  1. Odprite vzorčno kodo:
    • Menijevska vrstica DatotekaPrimeri01.osnoveBlink
  2. Prenesite kodo:
    • Kliknite gumb za nalaganje (→)
    • Počakajte, dokler se ne prikaže napis „Connecting...“.
    • Če se „Povezovanje...“ obesi: Pritisnite in držite gumb BOOT na ESP32
  3. Uspeh:
    • „Trda ponastavitev prek nožice RTS...“ = Prenos je uspešen!
    • LED na ESP32 mora utripati

OKNA

Namestitev Arduino IDE

  1. Prenesi:
    • Pojdi na: https://www.arduino.cc/en/software
    • Prenos „Arduino IDE 2.x“ za Windows
    • Izberite .exe Monter
  2. Namestitev:
    • Zaženite namestitveni program (kot skrbnik)
    • Pustite vse možnosti aktivirane
    • Dokončajte namestitev

Namestitev podpore plošče ESP32

  1. Odprite Arduino IDE
  2. Konfigurirajte upravitelja Board Manager:
    • Menijevska vrstica DatotekaNastavitveURL-je vnesite v razdelku „Dodatni URL-ji upravitelja tabel“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Kliknite na V REDU
  3. Namestite plošče ESP32:
    • Menijevska vrstica OrodjaUpravni odborVodja upravnih odborov
    • Iskanje: esp32
    • Namestitev: „esp32 podjetja Espressif Systems“ (različica 2.0.17+)
    • Počakajte, da se namestitev konča

Namestitev gonilnika USB

Sistem Windows pogosto NE prepozna ESP32 samodejno!

Za čip CP2102/CP2104 (najpogostejši):
  1. Prenesi:
  2. Namestitev:
    • Razpakiranje ZIP
    • CP210xVCPInstaller_x64.exe Zaženi kot skrbnik
    • Dokončajte namestitev
    • Ponovni zagon sistema Windows
Za čip CH340/CH341:
  1. Prenesi:
  2. Namestitev:
    • Razpakiranje ZIP
    • CH341SER.EXE Zaženi kot skrbnik
    • Kliknite na „INSTALL“.“
    • Ponovni zagon sistema Windows
Ugotovite vrsto čipa:
  • Povezovanje ESP32
  • Odprite Upravitelja naprav: Windows + XUpravitelj naprav
  • Povezave (COM in LPT) razgrniti
  • Iskanje:
    • „Silicon Labs CP210x...“ = CP2102
    • „USB-SERIAL CH340“ = CH340
    • „SLAB_USBtoUART“ = CP2102

Povežite ESP32 in preverite vrata

  1. Povezovanje ESP32 prek USB
  2. Poiščite pristanišče:
    • Menijevska vrstica OrodjaPristanišče
    • Izberite: COM3, COM4, COM5 itd.
    • (število je odvisno od sistema)

Vrata niso vidna? → Gonilnik ni nameščen ali je nameščen napačen gonilnik!

Izberite odbor

  1. Izberite odbor:
    • Menu bar OrodjaUpravni odboresp32„Modul ESP32 Dev“
  2. Nastavitve nalaganja:
    • Hitrost prenosa: 115200
    • Frekvenca bliskavice: 80 MHz
    • Način bliskavice: QIO
    • Velikost bliskavice: 4 MB (32 MB)
    • Shema razdelitve: Privzeto 4 MB s spiffi

Testno nalaganje

  1. Primer obremenitve:
    • Menijevska vrstica DatotekaPrimeri01.osnoveBlink
  2. Naloži:
    • Kliknite gumb za nalaganje (→)
    • Za „Povezovanje...“ po možnosti. Gumb BOOT držite na ESP32
  3. Uspeh:
    • „Trda ponastavitev...“ = ✅ Nalaganje uspešno!

Knjižnice za nadzor zgorevanja

Samodejno vključeno (jedro ESP32):

  • WiFi.h
  • HTTPClient.h
  • WebServer.h
  • Nastavitve.h
  • esp_task_wdt.h

Odpravljanje težav

Težava: „Pristanišče ni bilo najdeno“

Mac:

# Odprite terminal in preverite:
ls /dev/cu.*

# Pokaže se:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART

Okna:

  • Odprite Upravitelja naprav
  • Preverite povezave (COM in LPT)
  • Ponovna namestitev gonilnika
  • Ponovni zagon sistema Windows

„Povezovanje...“ visi

Rešitev:

  1. Gumb BOOT Pritisnite in pridržite ESP32
  2. Nato kliknite gumb za nalaganje
  3. Držite gumb BOOT, dokler se ne prikaže napis „Writing...“.
  4. Gumb za sprostitev

Druga možnost:

  • Na kratko pritisnite gumb EN (ponastavitev)
  • Nato poskusite znova naložiti

„Napaka pri sestavljanju“

Pogosti vzroki:

  • Izbrana napačna plošča
  • Podpora plošče ESP32 ni nameščena
  • Sintaktična napaka v kodi

Rešitev:

  • Ponovno preverite ploščo: Modul ESP32 Dev
  • Odprite Upravitelj plošče → ponovno namestite esp32

Prenos deluje, vendar je serijski monitor prazen

Rešitev:

  1. Preverite hitrost prenosa podatkov:
    • Koda: Serial.begin(115200);
    • Serijski monitor: tudi 115200 Nastavite
  2. Preverite vrata:
    • Izbrana so pravilna vrata COM?
  3. Pritisnite gumb EN:
    • Ponastavitev po nalaganju

Kontrolni seznam pred prvim nalaganjem

  • [ ] Nameščen Arduino IDE
  • [ ] Nameščena podpora za ploščo ESP32 (različica 2.0.17+)
  • [ ] Nameščen gonilnik USB (Windows!)
  • [ ] ESP32, povezan prek USB
  • [ ] Pristanišče je vidno v Arduino IDE
  • [ ] Izbrana plošča: „ESP32 Dev Module“
  • [ ] Hitrost prenosa: 115200
  • [ ] Velikost pomnilnika Flash: 4 MB
  • [ ] Serijski monitor Hitrost prenosa: 115200
  • [ ] Sprostitev usmerjevalnika NTP

Sprostitev NTP

Nekateri usmerjevalniki so privzeto konfigurirani brez souporabe NTP, kar pomeni, da se zahteve prek vrat NTP 123 ne posredujejo, zato od naslovljenega strežnika NTP ni mogoče zahtevati podatkov.

Zato je treba opredeliti ustrezno pravilo:

Učni viri

Uradna dokumentacija:

Prenesite kodo

  1. Odprta datoteka:
  2. Prilagodite WiFi: const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT";
  3. Vnesite žeton XML-API: const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
    Dodatek XML API mora biti nameščen v RaspberryMatic. Nastavitve dodatka XML API lahko spremenite tako, da kliknete na tokenregister.cgi se lahko ustvari žeton. Žeton velja za vse prihodnje prijave v grafični vmesnik in je sestavljen iz 16-mestnega zaporedja velikih in malih črk. V kodo ESP32 ga je treba vstaviti na ustrezno mesto.
  4. Naloži:
    • Preveri (✓) → Preveri kodo
    • Prenos (→) → Prenos v ESP32
  5. Odprite serijski monitor:
    • OrodjaSerijski monitor
    • Hitrost prenosa podatkov: 115200 (prikaže se v meniju Orodja - Hitrost prenosa: .... prekinjena)
    • Oglejte si izhod!

Oddaja v uporabo

Po uspešni nastavitvi:

  1. Preizkusite povezavo WiFi
  2. Naložitev nadzorne kode za izklop izgorevanja
  3. Povežite motor in končno stikalo
  4. Ustvarjanje žetona RaspberryMatic
  5. Preskusni sistem

Koda ESP32

Zahtevana koda je v celoti komentirana, zato jo je mogoče slediti in po potrebi prilagoditi. (prenesi)

GRAFIČNI VMESNIK ESP32

V grafičnem uporabniškem vmesniku lahko to nastavite ročno in neprekinjeno za preskusne namene, da ugotovite odvisnost temperature izpušnih plinov od odprtja lopute.

Opazuje se vzorec plamena in ob ustreznem času se prilagodi vizualno „primerna“ odstotna vrednost odprtja lopute. Vrednost temperature, ki se takrat odčita iz sistema RaspberryMatic, se dodeli nastavljeni odstotni vrednosti odprtja lopute kot začetna vrednost za spremembo. Vrednost temperature je rezultat naslednje vizualno „potrebne“ korekcije odprtja lopute.

Če je bila na primer 150 °C priznana kot začetna točka (od ...) za odpiranje na 80% in 200 °C kot vrednost za zmanjšanje na 45%, potem konstelacija, prikazana pod prvo funkcijo DRUGI IF, privede do programa „Nadzor izgorevanja - Nadzor temperature“, kot je prikazano.

„Testni način“ se prikaže, če na ESP32 še ni priključena nobena periferna naprava in je spremenljivka "const bool TEST_MODE =" še vedno na „Resnično“ stoji.
Spremeni se na „lažno“ prekliče preskusni način in inicializira referenčni tek priključenega motorja, da se določita začetni in končni položaj, ki ju določajo končna stikala.

Beleženje v živo

Diagnostika

Avtomatizirano odpravljanje napak

Za neprekinjeno in nemoteno delovanje je bistvenega pomena zaznavanje možnih stanj napak. Koda je zato opremljena z naslednjimi postopki za prepoznavanje napak in njihovo odpravljanje z ustreznimi ukrepi:

  • Obravnava prelivanja kupa
  • Zaznavanje izpadov
  • Delitev z NULO
  • Izklop mejnega stikala v sili
  • Ravnanje z napakami HTTP
  • Ravnanje z izjemami HTTP
  • Preverjanje prelivanja celih števil
  • Spremljanje pomnilnika
  • millis() Prelitje
  • Zaznavanje motornega alarma
  • Obnovitev nastavitev
  • Omejitve položaja
  • Zaščita pred zelo dolgimi operacijami blokiranja
  • Upravljanje odjemalcev Telnet
  • Telnet NULL kazalec
  • Varnost niti
  • Potrjevanje žetonov
  • Watchdog timer
  • Samodejna ponovna vzpostavitev povezave WiFi

RaspberryMatic - Programi

Nadzor izgorevanja

Program

IF status sistema Burnup_Damper_Setpoint v območju vrednosti od 0 do manj kot 101 (odstotkov)

NATO SCENARIJ ... TAKOJ

! IP naslov ESP32 (TU PRILAGODITE!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";

! Pridobite trenutno vrednost sistemske spremenljivke
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();

! Sestavite URL za povratni klic ESP32
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;

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

! Izpis dnevnika (neobvezno, za razhroščevanje)
WriteLine("Burn-up: Pošlji " # setpoint # "% v ESP32 " # esp32_ip);

Nadzor izgorevanja - Nadzor temperature

Program

Če je izbrana naprava "PT1000_temperature_sensor_flue_gas" ZA AKTUALNO temperaturo od ... do ...

Potem status sistema Burn-off_Damper_Setpoint NEPOVRATNO xxx*

SICER ČE ...

Pri tem se zgornji dve vrstici neprekinjeno dopolnjujeta z različnimi temperaturnimi območji in odstotnimi vrednostmi s funkcijo OTHER IF, dokler niso zajeta vsa zahtevana območja.

* xxx„ je želeni odstotek odprtja lopute.

Sestav linearnega pogona in končnega stikala

Odvisno od razpoložljivega prostora pod mehanizmom lopute je linearni pogon, opremljen z motorjem, nameščen pod njim. Na voziček je pritrjena „vilica“, ki jo vreteno premika naprej ali nazaj in v katero se zaskoči mehanizem z ročnim upravljanjem.

Vzvod je običajno zasnovan tako, da ga je mogoče rahlo premikati navzgor in navzdol. Dolžina „vilic“ je ustrezno prilagojena, tako da je mogoče ročico še vedno ročno premakniti iz tega položaja in jo potisniti do konca ODPRTI.

Po eni strani je to namenjeno ustvarjanju največjega vleka pri dodajanju goriva, če elektronsko krmiljenje še ni v celoti nastavljeno na 100%.

Po drugi strani pa je še vedno na voljo možnost izključno mehanskega delovanja, npr. v primeru izpada električnega napajanja.

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja

sl_SISlovenian