Přeskočit na obsah

Kamna - regulace spalování

Doba čtení 8 minuty

Aktualizováno - Únor 3, 2026

Moderní kamna na dřevo mají obvykle integrovaný systém řízení spalování. Pokud máte krbová kamna bez tohoto automatického systému, můžete si sestavit vlastní řídicí systém v kombinaci s aplikací Smarthome (Raspberry Pi).

I když zatím není možné přikládání dřeva automatizovat, kromě kamen na pelety se automatizací dosahuje rovnoměrnějšího hoření, konstantních teplot a nižší spotřeby dřeva až o 30 % s vyšší účinností.

Pokud se „neodvážíte“ hned, mohu vám říci, že jsem se kdysi cítil stejně. Ale pokud se na téma a možnosti, které nabízí například RaspberryMatic na Raspberry Pi, podíváte blíže, brzy se přesvědčíte, že „to zvládnete“!

A jak už to v životě bývá: společně je to lepší! Pojďme se do toho pustit!

Teorie

To, co můžeme vidět pouhým okem ze vzoru plamene a barvy plamene, zjišťuje vysokoteplotní čidlo našroubované do spalinové trubky asi 20 cm nad spalovací komorou.

V závislosti na teplotě, kterou je třeba udržovat kolem 200 °C, se pomocí jednoduchého programu na Raspberry Pi otevírá a zavírá klapka přívodu vzduchu, což se dříve muselo dělat ručně - pokud jste se dívali na troubu ...

V zásadě jednoduchý mechanismus. Mechanismus v pravém slova smyslu je zde realizován prostřednictvím lineárního pohonu, který je pohybován krokovým motorem. V závislosti na skutečné hodnotě teploty v porovnání s požadovanou hodnotou dostává krokový motor informaci, zda má zvýšit nebo snížit přívod vzduchu, pokud je teplota příliš nízká. Podle toho se (ručně) ovládaná páka klapky přívodu vzduchu, která je mechanicky spojena s lineárním pohonem, pohybuje dopředu nebo dozadu a klapka se otevírá nebo zavírá.

Protože RaspberryMatic nenabízí možnost přímého adresování krokového motoru, vystačíme si s ESP32-IDF, malým počítačem, který nabízí připojení řídicí jednotky krokového motoru a může tak převzít jeho řízení.

Komunikace mezi RaspberryMatic a ESP32-IDF probíhá prostřednictvím sítě WLAN, která je v ESP32-IDF již integrována. ESP32-IDF je naprogramován v C++, Arduino IDE a je součástí tohoto článku pro snadný přenos po změně několika parametrů.

Pro snadný přenos je k dispozici také program pro záznam teploty a polohy lineárního krokového motoru.

Nákupní seznam

  • Raspberry Pi 4 Model B Sada s krytem, ventilátorem a napájecím zdrojem - cca 95 eur
  • Karta SD 16 GB (pro instalaci RaspberryMatic) - cca 10,- Euro
  • RaspberryMatic (ke stažení) - zdarma
    (s Pekař Raspberry Pi (Mac) nebo Raspberry Pi Imager (Windows) Kopírování na kartu SD;
    Vytvoření proměnných Burning_status (Typ Řetězec znaků); 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ýsledek lze nalézt v předposledním výstupním řádku, např. „19827“)
  • Vývojová deska ESP32 (např. ESP32 DevKit V1) - cca 12,- Euro
    Arduino IDE 2.x Ke stažení (Mac) (Windows)
  • CL86Y Ovladač krokového motoru (nebo TB6600)*
  • Krokový motor NEMA 17 (200 kroků/otáčku)* - Sada cca 80,- Euro
  • Lineární pohon 100 mm, 150 mm vhodné pro výše uvedený typ krokového motoru cca 50,- Euro
  • 2x koncový spínač (mechanické) - cca 4,- Euro
  • 48V DC napájecí jednotka (pro motor 12A) - cca 39,- Euro
  • Napájecí jednotka 5V DC (pro ESP32, např. USB) - cca 7,- Euro
  • Vysokoteplotní čidlo ELV PT1000 Čtyřvodičový čl. č. 258570 - cca 24,- Euro
  • Rozhraní platinového teplotního čidla ELV - Čl. č. 162126 - cca 45,- Euro
  • Mosazné šroubení M10 x 6 mm pro teplotní čidlo PT1000 - cca 4,- Euro

Za celkovou cenu přibližně 370 eur se jedná o plnohodnotnou a zároveň velmi levnou alternativu k sadě pro dodatečnou montáž - pokud je pro kamna vůbec k dispozici -, která obvykle stojí 750 až 1 500 eur!

Přípravky

Instalace RaspberryMatic na kartu SD pro Raspberry Pi 4 B je zde podrobně popsán, včetně instalace krytu, pokud nebyla zakoupena žádná sada.

ESP32 - Nastavení

macOS

Krok 1: Instalace prostředí Arduino IDE

  1. Stáhnout:
    • Přejít na: https://www.arduino.cc/en/software
    • Stáhnout „Arduino IDE 2.x“ pro macOS
    • Vyberte si .dmg pro Intel nebo .dmg pro Apple Silicon (M1/M2/M3)
  2. Instalace:
    • .dmg Otevřít soubor
    • Přetáhněte Arduino IDE do složky programu.
    • Spuštění prostředí Arduino IDE

Instalace podpory desky ESP32

  1. Otevřené prostředí Arduino IDE
  2. Manažer otevřené rady:
    • Nabídka: IDE ArduinoNastavení (nebo Cmd + ,)
    • Zadejte adresy URL v části „Další adresy URL správce desek“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Klikněte na OK
  3. Nainstalujte desky ESP32:
    • Klikněte na ikonu tabule vlevo (nebo v okně Panel nabídek NástrojeTabuleSprávce desek)
    • Hledat: esp32
    • Instalace: „esp32 by Espressif Systems“ (verze 2.0.17 nebo novější)
    • Počkejte na dokončení instalace (může trvat 5-10 minut).

Ovladač USB (do OS 10.14)

Pokud ESP32 není rozpoznán:

  1. Stáhnout: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Soubor: macOS_VCP_Driver.zip ke stažení
  3. Instalace a restartování počítače Mac

Pro čip CH340:

Připojení ESP32

  1. Připojení ESP32 přes USB
  2. Kontrolní port:
    • IDE Arduino Panel nabídek: NástrojePřístav
    • Vyberte port podobný:
      • /dev/cu.usbserial-0001 nebo
      • /dev/cu.SLAB_USBtoUART nebo
      • /dev/cu.wchusbserial*

Vybrat představenstvo

  1. IDE Arduino:
    • Panel nabídek NástrojeTabuleesp32„Modul ESP32 Dev“
  2. Nastavení:
    • Rychlost odesílání: 115200
    • Frekvence záblesků: 80MHz
    • Režim blesku: QIO
    • Velikost blesku: 4MB (32Mb)
    • Schéma rozdělení: Výchozí 4MB s přídavky

Testovací nahrávání

  1. Otevřete ukázkový kód:
    • Panel nabídek SouborPříklady01.basicsBlink
  2. Nahrát kód:
    • Klikněte na tlačítko pro nahrávání (→)
    • Počkejte, dokud se nezobrazí zpráva „Připojení...“.
    • Pokud se zobrazí zpráva „Připojení...“: Stiskněte a podržte tlačítko BOOT na ESP32.
  3. Úspěch:
    • „Tvrdý reset přes pin RTS...“ = Nahrávání proběhlo úspěšně!
    • LED dioda na ESP32 by měla blikat

WINDOWS

Instalace prostředí Arduino IDE

  1. Stáhnout:
    • Přejít na: https://www.arduino.cc/en/software
    • Stáhnout „Arduino IDE 2.x“ pro Windows
    • Vyberte si .exe Instalatér
  2. Instalace:
    • Spusťte instalační program (jako správce)
    • Ponechte všechny možnosti aktivované
    • Dokončení instalace

Instalace podpory desky ESP32

  1. Otevřené prostředí Arduino IDE
  2. Konfigurace Správce desek:
    • Panel nabídek SouborPředvolbyZadejte adresy URL v části „Další adresy URL správce desek“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Klikněte na OK
  3. Nainstalujte desky ESP32:
    • Panel nabídek NástrojeTabuleSprávce desek
    • Vyhledávání: esp32
    • Instalace: „esp32 by Espressif Systems“ (verze 2.0.17+)
    • Počkejte na dokončení instalace

Instalace ovladače USB

Systém Windows často systém ESP32 automaticky nerozpozná!

Pro čip CP2102/CP2104 (nejběžnější):
  1. Stáhnout:
  2. Instalace:
    • Rozbalení souboru ZIP
    • CP210xVCPInstaller_x64.exe Spustit jako správce
    • Dokončení instalace
    • Restartování systému Windows
Pro čip CH340/CH341:
  1. Stáhnout:
  2. Instalace:
    • Rozbalení souboru ZIP
    • CH341SER.EXE Spustit jako správce
    • Klikněte na „INSTALOVAT“
    • Restartování systému Windows
Zjistěte typ čipu:
  • Připojení ESP32
  • Otevřete Správce zařízení: Windows + XSprávce zařízení
  • Připojení (COM a LPT) rozložit
  • Hledat:
    • „Silicon Labs CP210x...“ = CP2102
    • „USB-SERIAL CH340“ = CH340
    • „SLAB_USBtoUART“ = CP2102

Připojení ESP32 a kontrola portu

  1. Připojení ESP32 přes USB
  2. Zjistěte přístav:
    • Panel nabídek NástrojePřístav
    • Vyberte: COM3, COM4, COM5 atd.
    • (počet se liší v závislosti na systému)

Není vidět žádný port? → Ovladač není nainstalován nebo je nainstalován špatný ovladač!

Vybrat představenstvo

  1. Zvolte radu:
    • Pruh menu NástrojeTabuleesp32„Modul ESP32 Dev“
  2. Nastavení nahrávání:
    • Rychlost odesílání: 115200
    • Frekvence záblesků: 80MHz
    • Režim blesku: QIO
    • Velikost blesku: 4MB (32Mb)
    • Schéma rozdělení: Výchozí 4MB s přídavky

Testovací nahrávání

  1. Příklad zatížení:
    • Panel nabídek SouborPříklady01.basicsBlink
  2. Nahrát:
    • Klikněte na tlačítko Nahrát (→)
    • Pro „Připojení...“ případně. Tlačítko BOOT podržet na ESP32
  3. Úspěch:
    • „Tvrdý reset...“ = ✅ Nahrávání proběhlo úspěšně!

Knihovny pro řízení spalování

Automaticky zahrnuto (jádro ESP32):

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

Řešení problémů

Problém: „Port nebyl nalezen“

Mac:

# Otevřete svorku a zkontrolujte ji:
ls /dev/cu.*

# Mělo by se zobrazit:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART

Windows:

  • Otevřete Správce zařízení
  • Zkontrolujte připojení (COM a LPT)
  • Přeinstalování ovladače
  • Restartování systému Windows

„Připojení...“

Řešení:

  1. Tlačítko BOOT Stiskněte a podržte tlačítko ESP32
  2. Poté klikněte na tlačítko Nahrát
  3. Podržte tlačítko BOOT, dokud se nezobrazí zpráva „Writing...“.
  4. Tlačítko pro uvolnění

Alternativa:

  • Krátce stiskněte tlačítko EN (reset)
  • Pak zkuste nahrávat znovu

„Chyba kompilace“

Běžné příčiny:

  • Vybrána nesprávná deska
  • Podpora desky ESP32 není nainstalována
  • Syntaktická chyba v kódu

Řešení:

  • Znovu zkontrolujte tabuli: Modul ESP32 Dev
  • Otevřít Správce desek → přeinstalovat esp32

Odesílání funguje, ale sériový monitor je prázdný

Řešení:

  1. Zkontrolujte přenosovou rychlost:
    • Kód: Serial.begin(115200);
    • Sériový monitor: Také 115200 Sada
  2. Kontrolní port:
    • Je zvolen správný port COM?
  3. Stiskněte tlačítko EN:
    • Obnovení po nahrání

Kontrolní seznam před prvním nahráním

  • [ ] Nainstalované prostředí Arduino IDE
  • [ ] Nainstalována podpora desky ESP32 (verze 2.0.17+)
  • [ ] Nainstalovaný ovladač USB (Windows!)
  • [ ] ESP32 připojený přes USB
  • [ ] Port viditelný v Arduino IDE
  • [ ] Vybrána deska: „ESP32 Dev Module“
  • [ ] Rychlost odesílání: 115200
  • [ ] Velikost paměti Flash: 4 MB
  • [ ] Sériový monitor Přenosová rychlost: 115200
  • [ ] Uvolnění NTP směrovače

Uvolnění NTP

Některé směrovače jsou ve výchozím nastavení nakonfigurovány bez sdílení protokolu NTP, což znamená, že požadavky přes port 123 protokolu NTP nejsou předávány, a proto nelze od adresovaného serveru NTP vyžádat žádná data.

Proto je třeba definovat odpovídající pravidlo:

Vzdělávací zdroje

Oficiální dokumentace:

Nahrát kód

  1. Otevřít soubor:
  2. Přizpůsobení WiFi: const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT";
  3. Zadejte token XML-API: const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
    Doplněk XML API musí být nainstalován v systému RaspberryMatic. Nastavení doplňku XML API pak můžete změnit kliknutím na tlačítko tokenregister.cgi lze vygenerovat token. Token je platný pro všechna budoucí přihlášení do grafického uživatelského rozhraní a skládá se z 16místné posloupnosti velkých a malých písmen. Musí být vložen do kódu ESP32 na příslušné místo.
  4. Nahrát:
    • Ověřit (✓) → Kontrola kódu
    • Nahrát (→) → Nahrát do ESP32
  5. Otevřete Sériový monitor:
    • NástrojeSériový monitor
    • Přenosová rychlost: 115200 (zobrazuje se v nabídce NÁSTROJE - Rychlost odesílání: .... ukončeno)
    • Sledujte výstup!

Uvedení do provozu

Po úspěšném nastavení:

  1. Testování připojení WiFi
  2. Nahrání kontrolního kódu vypalování
  3. Připojení motoru a koncového spínače
  4. Generování tokenu RaspberryMatic
  5. Testovací systém

Kód ESP32

Požadovaný kód je plně komentovaný, a proto je možné jej dohledat a v případě potřeby upravit. (ke stažení)

GRAFICKÉ ROZHRANÍ ESP32

V grafickém uživatelském rozhraní lze tuto hodnotu nastavit ručně a průběžně pro testovací účely, aby se zjistila závislost teploty spalin na otevření klapky.

Sleduje se průběh plamene a v příslušném okamžiku se nastaví vizuálně „vhodná“ procentuální hodnota otevření klapky. Hodnota teploty odečtená z RaspberryMatic v tomto okamžiku se přiřadí k nastavené procentuální hodnotě otevření klapky jako výchozí hodnota pro změnu. K hodnotě teploty dojde na základě další vizuálně „potřebné“ korekce otevření klapky.

Pokud by například 150 °C bylo uznáno jako výchozí bod (od ...) pro otevření na 80% a 200 °C jako hodnota pro snížení na 45%, pak konstelace uvedená v první funkci JINÉ IF vede k programu „Řízení vypalování - Řízení teploty“, jak je znázorněno.

„Testovací režim“ se zobrazí, pokud k ESP32 ještě nejsou připojeny žádné periferie a proměnná "const bool TEST_MODE =" stále na „true“ stojí.
Změnit na „false“ zruší testovací režim a inicializuje referenční chod připojeného motoru pro určení počáteční a koncové polohy definované koncovými spínači.

Živé protokolování

Diagnostika

Automatizované zpracování chyb

Zachycení možných chybových stavů je nezbytné pro nepřetržitý a bezporuchový provoz. Kód je proto vybaven následujícími postupy pro rozpoznání chyb a jejich odstranění pomocí vhodných opatření:

  • Ošetření přetečení zásobníku
  • Detekce výpadku proudu
  • Dělení podle NULY
  • Nouzové vypnutí koncového spínače
  • Zpracování chyb HTTP
  • Zpracování výjimek HTTP
  • Kontrola přetečení celého čísla
  • Monitorování paměti
  • millis() Přetečení
  • Detekce alarmu motoru
  • Obnovení předvoleb
  • Omezení polohy
  • Ochrana proti velmi dlouhým blokovacím operacím
  • Správa klientů Telnet
  • Telnet NULL ukazatel
  • Bezpečnost závitů
  • Ověřování tokenů
  • Časovač Watchdog
  • Automatické opětovné připojení k síti WiFi

RaspberryMatic - Programy

Řízení vypalování

Program

IF stav systému Burnup_Damper_Setpoint v rozsahu hodnot 0 a méně než 101 (procento)

PAK SKRIPT ... OKAMŽITĚ

! IP adresa ESP32 (VYTVOŘTE SI ZDE!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";

! Zjištění aktuální hodnoty systémové proměnné
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();

! Sestavte URL pro zpětné volání ESP32
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;

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

! Výstup protokolu (nepovinné, pro ladění)
WriteLine("Burn-up: Send " # setpoint # "% to ESP32 " # esp32_ip);

Řízení vypalování - Řízení teploty

Program

IF výběr zařízení "PT1000_temperature_sensor_flue_gas" PRO AKTUÁLNÍ teplotu od ... do ...

POTÉ Stav systému Burn-off_Damper_Setpoint OKAMŽITĚ xxx*

JINAK POKUD ...

Zde jsou horní dva řádky průběžně doplňovány různými teplotními rozsahy a procentuálními hodnotami pomocí funkce JINÝ IF, dokud nejsou pokryty všechny požadované rozsahy.

* xxx„ je požadovaná procentuální hodnota otevření klapky.

Sestava lineárního pohonu a koncového spínače

V závislosti na volném prostoru pod mechanismem klapky se pod něj montuje lineární pohon vybavený motorem. K vozíku je připevněna „vidlice“, která se pohybuje dopředu nebo dozadu pomocí vřetena, do něhož zapadá ručně ovládaný mechanismus.

„Páka“ je obvykle konstruována tak, aby se dala mírně pohybovat nahoru a dolů. Délka „vidliček“ je odpovídajícím způsobem upravena tak, aby bylo možné páku z této polohy ještě ručně vysunout a zatlačit úplně OTEVŘENO.

Na jedné straně slouží k vytvoření maximálního tahu při přidávání paliva, pokud elektronická regulace ještě není plně nastavena na 100%.

Na druhou stranu je stále k dispozici možnost čistě mechanického ovládání, např. v případě výpadku napájení.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

cs_CZCzech