Obsah
Aktualizované - 3. február 2026
Moderné kachle na drevo majú zvyčajne integrovaný systém kontroly spaľovania. Ak máte krbové kachle bez tohto automatického systému, môžete si vytvoriť vlastný riadiaci systém v kombinácii so Smarthome (Raspberry Pi).
Aj keď ešte nie je možné automatizovať prikladanie dreva, okrem peletových kachlí sa automatizáciou dosahuje rovnomernejšie rozhorievanie, konštantné teploty a nižšia spotreba dreva až o 30 % s vyššou účinnosťou.
Ak sa „neodvážite“ hneď, môžem vám povedať, že som sa kedysi cítil rovnako. Ale ak sa bližšie pozriete na túto tému a na možnosti, ktoré ponúka napríklad RaspberryMatic na Raspberry Pi, čoskoro sa presvedčíte, že to „dokážete“!
A ako to už v živote býva: spolu je to lepšie! Poďme to riešiť!
Teória
To, čo vidíme voľným okom zo štruktúry plameňa a farby plameňa, zisťuje vysokoteplotný snímač, ktorý je zaskrutkovaný do dymovodu asi 20 cm nad spaľovacou komorou.
V závislosti od udržiavanej teploty okolo 200 °C sa pomocou jednoduchého programu na Raspberry Pi otvára a zatvára klapka prívodu vzduchu, čo sa predtým muselo robiť ručne - ak ste sa pozerali na rúru ...
V zásade ide o jednoduchý mechanizmus. Mechanizmus v pravom zmysle slova je tu realizovaný prostredníctvom lineárneho pohonu, ktorý sa pohybuje pomocou krokového motora. V závislosti od aktuálnej hodnoty teploty v porovnaní s nastavenou hodnotou dostáva krokový motor informáciu, či má zvýšiť alebo znížiť prívod vzduchu, ak je teplota príliš nízka. V súlade s tým sa (ručne) ovládaná páka klapky prívodu vzduchu, ktorá je mechanicky spojená s lineárnym posuvom, posúva dopredu alebo dozadu a klapka sa otvára alebo zatvára.
Keďže RaspberryMatic neponúka možnosť priameho adresovania krokového motora, vystačíme si s ESP32-IDF, malým počítačom, ktorý ponúka pripojenie ovládača krokového motora a môže tak prevziať jeho riadenie.
Komunikácia medzi RaspberryMatic a ESP32-IDF prebieha prostredníctvom WLAN, ktorá je už integrovaná v ESP32-IDF. ESP32-IDF je naprogramovaný v C++, Arduino IDE a je súčasťou tohto článku pre jednoduchý prenos po zmene niekoľkých parametrov.
Na jednoduchý prenos je k dispozícii aj program na zaznamenávanie teploty a polohy lineárneho krokového motora.
Nákupný zoznam
- Raspberry Pi 4 Model B Sada s krytom, ventilátorom, napájacím zdrojom - cca 95 eur
- Karta SD 16 GB (pre inštaláciu RaspberryMatic) - cca 10,- Euro
- RaspberryMatic (stiahnuť) - bezplatne
(s Pečiar Raspberry Pi (Mac) alebo Raspberry Pi Imager (Windows) Kopírovanie na kartu SD;
Vytvorenie premenných Burning_status (Typ Reťazec znakov); Burning_flap_actual (Typ Číslo); Burn_off_flap_desired (Typ Číslo); 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 Výsledok sa nachádza v predposlednom výstupnom riadku, napr. „19827“) - Vývojová doska ESP32 (napr. ESP32 DevKit V1) - cca 12,- EUR
Arduino IDE 2.x Na stiahnutie (Mac) (Windows) - CL86Y Ovládač krokového motora (alebo TB6600)*
- Krokový motor NEMA 17 (200 krokov/otáčok)* - Nastavenie cca 80,- EUR
- Lineárny pohon 100 mm, 150 mm vhodné pre vyššie uvedený typ krokového motora cca 50,- Euro
- 2x koncový spínač (mechanické) - cca 4,- Euro
- 48V DC napájacia jednotka (pre motor 12A) - cca 39,- Euro
- Napájacia jednotka 5V DC (pre ESP32, napr. USB) - cca 7,- Euro
- Vysokoteplotný senzor ELV PT1000 4-vodičový čl. č. 258570 - cca 24,- Euro
- Rozhranie platinového snímača teploty ELV - Čl. č. 162126 - cca 45,- Euro
- Mosadzná tvarovka M10 x 6 mm pre snímač teploty PT1000 - cca 4,- Euro
Za celkovú cenu približne 370 eur ide o plnohodnotnú a zároveň veľmi lacnú alternatívu k súprave na dodatočnú montáž - ak je vôbec pre sporák k dispozícii -, ktorá zvyčajne stojí od 750 do 1 500 eur!
Prípravky
Inštalácia RaspberryMatic na kartu SD pre Raspberry Pi 4 B je tu podrobne popísané, vrátane inštalácie krytu, ak nebola zakúpená súprava.
ESP32 - nastavenie
macOS
Krok 1: Inštalácia prostredia Arduino IDE
- Na stiahnutie:
- Prejsť na: https://www.arduino.cc/en/software
- Stiahnite si „Arduino IDE 2.x“ pre macOS
- Vyberte si
.dmgpre Intel alebo.dmgpre Apple Silicon (M1/M2/M3)
- Inštalácia:
.dmgOtvoriť súbor- Potiahnite Arduino IDE do priečinka programu
- Spustenie prostredia Arduino IDE
Inštalácia podpory dosky ESP32
- Otvoriť IDE Arduino
- Manažér otvorenej rady:
- Menu:
IDE Arduino→Nastavenia(aleboCmd + ,) - Zadajte adresy URL v časti „Ďalšie adresy URL správcu tabúľ“:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Kliknite na
OK
- Menu:
- Nainštalujte dosky ESP32:
- Kliknite na ikonu tabule na ľavej strane (alebo na Lišta s ponukou
Nástroje→Rada→Manažér tabúľ) - Vyhľadajte:
esp32 - Inštalácia: „esp32 by Espressif Systems“ (verzia 2.0.17 alebo novšia)
- Počkajte na dokončenie inštalácie (môže trvať 5-10 minút)
- Kliknite na ikonu tabule na ľavej strane (alebo na Lišta s ponukou
Ovládač USB (do OS 10.14)
Ak ESP32 nie je rozpoznaný:
- Na stiahnutie: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Súbor:
macOS_VCP_Driver.zipstiahnuť - Inštalácia a reštartovanie počítača Mac
Pre čip CH340:
- Na stiahnutie: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver
- Inštalácia a reštartovanie počítača Mac
Pripojenie ESP32
- Pripojenie ESP32 cez USB
- Kontrolný port:
- IDE Arduino Lišta s ponukou:
Nástroje→Prístav - Vyberte port podobný:
/dev/cu.usbserial-0001alebo/dev/cu.SLAB_USBtoUARTalebo/dev/cu.wchusbserial*
- IDE Arduino Lišta s ponukou:
Vyberte si radu
- IDE Arduino:
- Lišta s ponukou
Nástroje→Rada→esp32→ „Modul ESP32 Dev“
- Lišta s ponukou
- Nastavenia:
- Rýchlosť odosielania: 115200
- Frekvencia blesku: 80MHz
- Režim blesku: QIO
- Veľkosť blesku: 4 MB (32 MB)
- Schéma rozdelenia: Predvolené 4 MB s prídavkami
Testovacie nahrávanie
- Otvorte vzorový kód:
- Lišta s ponukou
Súbor→Príklady→01.basics→Blink
- Lišta s ponukou
- Nahrať kód:
- Kliknite na tlačidlo nahrať (→)
- Počkajte, kým sa nezobrazí správa „Connecting...“.
- Ak „Connecting...“ visí: Stlačte a podržte tlačidlo BOOT na zariadení ESP32
- Úspech:
- „Tvrdý reset cez pin RTS...“ = Nahrávanie úspešné!
- LED dióda na ESP32 by mala blikať
WINDOWS
Inštalácia prostredia Arduino IDE
- Na stiahnutie:
- Prejsť na: https://www.arduino.cc/en/software
- Stiahnite si „Arduino IDE 2.x“ pre Windows
- Vyberte si
.exeInštalatér
- Inštalácia:
- Spustite inštalačný program (ako správca)
- Ponechajte všetky možnosti aktivované
- Dokončenie inštalácie
Inštalácia podpory dosky ESP32
- Otvoriť IDE Arduino
- Konfigurácia nástroja Board Manager:
- Lišta s ponukou
Súbor→PredvoľbyZadajte adresy URL v časti „Ďalšie adresy URL správcu tabúľ“:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Kliknite na
OK
- Lišta s ponukou
- Nainštalujte dosky ESP32:
- Lišta s ponukou
Nástroje→Rada→Manažér tabúľ - Vyhľadávanie:
esp32 - Inštalácia: „esp32 by Espressif Systems“ (verzia 2.0.17+)
- Počkajte na dokončenie inštalácie
- Lišta s ponukou
Inštalácia ovládača USB
Systém Windows často automaticky nerozpozná systém ESP32!
Pre čip CP2102/CP2104 (najbežnejšie):
- Na stiahnutie:
- https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Súbor:
CP210x_Universal_Windows_Driver.zip
- Inštalácia:
- Rozbaľovanie súborov ZIP
CP210xVCPInstaller_x64.exeSpustiť ako správca- Dokončenie inštalácie
- Reštartovanie systému Windows
Pre čip CH340/CH341:
- Na stiahnutie:
- Inštalácia:
- Rozbaľovanie súborov ZIP
CH341SER.EXESpustiť ako správca- Kliknite na „INSTALL“
- Reštartovanie systému Windows
Zistite typ čipu:
- Pripojenie ESP32
- Otvorte Správcu zariadení:
Windows + X→Správca zariadení - Pripojenia (COM a LPT) rozložiť
- Vyhľadajte:
- „Silicon Labs CP210x...“ = CP2102
- „USB-SERIAL CH340“ = CH340
- „SLAB_USBtoUART“ = CP2102
Pripojenie ESP32 a kontrola portu
- Pripojenie ESP32 cez USB
- Zistite prístav:
- Lišta s ponukou
Nástroje→Prístav - Vyberte: COM3, COM4, COM5 atď.
- (počet sa líši v závislosti od systému)
- Lišta s ponukou
Nie je viditeľný žiadny port? → Ovládač nie je nainštalovaný alebo je nainštalovaný nesprávny ovládač!
Vyberte si radu
- Vybrať radu:
Pruh menuNástroje→Rada→esp32→ „Modul ESP32 Dev“
- Nastavenia nahrávania:
- Rýchlosť odosielania: 115200
- Frekvencia blesku: 80MHz
- Režim blesku: QIO
- Veľkosť blesku: 4 MB (32 MB)
- Schéma rozdelenia: Predvolené 4 MB s prídavkami
Testovacie nahrávanie
- Príklad zaťaženia:
- Lišta s ponukou
Súbor→Príklady→01.basics→Blink
- Lišta s ponukou
- Nahrávanie:
- Kliknite na tlačidlo nahrať (→)
- Pre „Connecting...“ prípadne. Tlačidlo BOOT podržte na ESP32
- Úspech:
- „Tvrdý reset...“ = ✅ Nahrávanie úspešné!
Knižnice na riadenie spaľovania
Automaticky zahrnuté (jadro ESP32):
- WiFi.h
- HTTPClient.h
- WebServer.h
- Predvoľby.h
- esp_task_wdt.h
Riešenie problémov
Problém: „Port nebol nájdený“
Mac:
# Otvorte svorku a skontrolujte:
ls /dev/cu.*
# Malo by sa zobraziť:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART
Windows:
- Otvorte Správcu zariadení
- Kontrola pripojení (COM a LPT)
- Preinštalovanie ovládača
- Reštartovanie systému Windows
„Pripájanie...“
Riešenie:
- Tlačidlo BOOT Stlačte a podržte tlačidlo ESP32
- Potom kliknite na tlačidlo nahrať
- Podržte tlačidlo BOOT, kým sa nezobrazí „Writing...“.
- Tlačidlo uvoľnenia
Alternatíva:
- Krátko stlačte tlačidlo EN (reset)
- Potom skúste nahrávať znova
„Chyba kompilácie“
Bežné príčiny:
- Vybraná nesprávna doska
- Podpora dosky ESP32 nie je nainštalovaná
- Syntaktická chyba v kóde
Riešenie:
- Opäť skontrolujte tabuľu:
Modul ESP32 Dev - Otvorte Správcu dosiek → preinštalujte esp32
Odosielanie funguje, ale sériový monitor je prázdny
Riešenie:
- Skontrolujte prenosovú rýchlosť:
- Kód:
Serial.begin(115200); - Sériový monitor: Tiež 115200 Nastavenie
- Kód:
- Kontrolný port:
- Je vybraný správny port COM?
- Stlačte tlačidlo SK:
- Obnovenie po nahratí
Kontrolný zoznam pred prvým odoslaním
- [ ] Nainštalované prostredie Arduino IDE
- [ ] Nainštalovaná podpora dosky ESP32 (verzia 2.0.17+)
- [ ] Nainštalovaný ovládač USB (Windows!)
- [ ] ESP32 pripojený cez USB
- [ ] Port viditeľný v prostredí Arduino IDE
- [ ] Vybraná doska: „ESP32 Dev Module“
- [ ] Rýchlosť odosielania: 115200
- [ ] Veľkosť pamäte Flash: 4 MB
- [ ] Sériový monitor Prenosová rýchlosť: 115200
- [ ] Uvoľnenie NTP smerovača
Uvoľnenie NTP
Niektoré smerovače sú predvolene nakonfigurované bez zdieľania NTP, čo znamená, že požiadavky cez port 123 NTP sa nepreposielajú, v dôsledku čoho nie je možné vyžiadať si žiadne údaje z adresovaného servera NTP.
Preto je potrebné definovať zodpovedajúce pravidlo:

Vzdelávacie zdroje
Oficiálna dokumentácia:
- ESP32 Arduino: https://docs.espressif.com/projects/arduino-esp32/
- Odkaz na Arduino: https://www.arduino.cc/reference/en/
Nahratie kódu
- Otvoriť súbor:
- Stránka Textový obsah tohto súboru do prázdneho(!) okna Arduino IDE
- Prispôsobenie WiFi:
const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT"; - Zadajte token XML-API:
const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
V RaspberryMatic musí byť nainštalovaný doplnok XML API. Potom môžete zmeniť nastavenia doplnku XML API kliknutím na tokenregister.cgi je možné vygenerovať token. Token je platný pre všetky budúce prihlásenia do grafického rozhrania a pozostáva zo 16-miestnej postupnosti veľkých a malých písmen. Musí sa vložiť do kódu ESP32 na príslušné miesto. - Nahrávanie:
- Overiť (✓) → Kontrola kódu
- Nahrávanie (→) → Nahrávanie do ESP32
- Otvorte sériový monitor:
Nástroje→Sériový monitor- Prenosová rýchlosť: 115200 (zobrazuje sa v ponuke NÁSTROJE - Rýchlosť odosielania: .... ukončené)
- Sledujte výstup!
Uvedenie do prevádzky
Po úspešnom nastavení:
- Testovanie pripojenia WiFi
- Nahratie kontrolného kódu vypálenia
- Pripojenie motora a koncového spínača
- Generovanie tokenu RaspberryMatic
- Testovací systém
Kód ESP32
Požadovaný kód je plne komentovaný, a preto ho možno sledovať a v prípade potreby prispôsobiť. (stiahnuť)
GRAFICKÉ ROZHRANIE ESP32
V grafickom používateľskom rozhraní sa dá nastaviť manuálne a nepretržite na testovacie účely, aby sa určila závislosť teploty výfukových plynov od otvorenia klapky.
Sleduje sa priebeh plameňa a v príslušnom čase sa nastaví vizuálne „vhodná“ percentuálna hodnota otvorenia klapky. Hodnota teploty odčítaná z RaspberryMatic v danom čase sa priradí k nastavenej percentuálnej hodnote otvorenia klapky ako počiatočná hodnota pre zmenu. Na hodnotu teploty vyplýva ďalšia vizuálne „potrebná“ korekcia otvorenia klapky.
Ak by sa napríklad 150 °C uznalo ako počiatočný bod (od ...) pre otvorenie na 80% a 200 °C ako hodnota pre zníženie na 45%, potom konštelácia uvedená v prvej funkcii INÉ IF vedie k programu „Regulácia vypálenia - Regulácia teploty“, ako je znázornené.

„Testovací režim“ sa zobrazí, ak k ESP32 ešte neboli pripojené žiadne periférie a premenná "const bool TEST_MODE =" stále na „Pravda“ stojí.
Zmena na „nepravdivé“ zruší testovací režim a inicializuje referenčný chod pripojeného motora na určenie počiatočnej a koncovej polohy definovanej koncovými spínačmi.
Živé zaznamenávanie

Diagnostika

Automatizované spracovanie chýb
Zachytenie možných chybových stavov je nevyhnutné pre nepretržitú a bezproblémovú prevádzku. Kód je preto vybavený nasledujúcimi postupmi na rozpoznanie chýb a ich odstránenie pomocou vhodných opatrení:
- Ošetrenie pretečenia zásobníka
- Detekcia výpadku prúdu
- Delenie podľa NULA
- Núdzové vypnutie koncového spínača
- Spracovanie chýb HTTP
- Spracovanie výnimiek HTTP
- Kontrola pretečenia celého čísla
- Monitorovanie pamäte
- millis() Pretečenie
- Detekcia alarmu motora
- Obnovenie predvolieb
- Obmedzenia polohy
- Ochrana pred veľmi dlhými blokovacími operáciami
- Správa klienta Telnet
- Telnet NULL ukazovateľ
- Bezpečnosť vlákien
- Overovanie tokenov
- Časovač Watchdog
- Automatické opätovné pripojenie k sieti Wi-Fi
RaspberryMatic - Programy
Kontrola vypálenia
Program
IF stav systému Burnup_Damper_Setpoint v rozsahu hodnôt 0 a menej ako 101 (percent)
POTOM SKRIPT ... OKAMŽITE
! IP adresa ESP32 (PRispôsobte si ju TU!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";
! Získanie aktuálnej hodnoty systémovej premennej
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();
! Zostavte URL pre spätné volanie ESP32
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;
! Vyvolajte ESP32
string cmd = "wget -q -O /dev/null '" # url # "'";
system.Exec(cmd);
! Výstup protokolu (nepovinné, na ladenie)
WriteLine("Burn-up: Send " # setpoint # "% to ESP32 " # esp32_ip);
Regulácia vypálenia - Regulácia teploty
Program
AK je vybrané zariadenie "PT1000_temperature_sensor_flue_gas" PRE AKTUÁLNU teplotu od ... do ...
POTOM Stav systému Burn-off_Damper_Setpoint OKAMŽITE xxx*
INAK AK ...
Tu sa horné dva riadky priebežne dopĺňajú rôznymi teplotnými rozsahmi a percentuálnymi hodnotami pomocou funkcie INÝ IF, kým sa nepokryjú všetky požadované rozsahy.
* xxx„ je požadovaná percentuálna hodnota otvorenia klapky.

Zostava lineárneho pohonu a koncového spínača
V závislosti od voľného priestoru pod mechanizmom klapky sa pod ňu montuje lineárny pohon vybavený motorom. K vozíku je pripevnená „vidlica“, ktorá sa pohybuje dopredu alebo dozadu pomocou vretena, do ktorého zapadá ručne ovládaný mechanizmus.
Páka je zvyčajne navrhnutá tak, aby sa dala mierne posúvať nahor a nadol. Dĺžka „vidlíc“ je primerane nastavená tak, aby sa páka dala ešte ručne posunúť a úplne zatlačiť OTVORIŤ.
Na jednej strane slúži na vytvorenie maximálneho ťahu pri pridávaní paliva, ak elektronická regulácia ešte nie je úplne nastavená na 100%.
Na druhej strane je stále k dispozícii možnosť čisto mechanického ovládania, napr. v prípade výpadku napájania.