Siirry suoraan sisältöön

Liesi - palamisen valvonta

Lukuaika 8 minuuttia

Päivitetty - helmikuu 3, 2026

Nykyaikaisessa puulämmitteisessä kiukaassa on yleensä integroitu palamisen ohjausjärjestelmä. Jos sinulla on vielä puulämmitteinen kiuas, jossa ei ole tätä automaattista järjestelmää, voit rakentaa oman ohjausjärjestelmän yhdessä Smarthomen (Raspberry Pi) kanssa.

Vaikka puun lastausta ei ole vielä mahdollista automatisoida, pellettikattiloita lukuun ottamatta automatisoinnilla saavutetaan tasaisempi palaminen, tasainen lämpötila ja jopa 30 %:n pienempi puunkulutus paremmalla hyötysuhteella.

Jos et heti „uskalla“, voin kertoa, että tunsin kerran samoin. Mutta jos perehdyt aiheeseen ja RaspberryMaticin tarjoamiin mahdollisuuksiin esimerkiksi Raspberry Pi:llä, olet pian vakuuttunut siitä, että voit „tehdä sen“!

Ja kuten niin usein elämässä: yhdessä on parempi! Ryhdytään toimeen!

Teoria

Paljain silmin havaittavan liekkikuvion ja liekin värin havaitsee korkealämpötila-anturi, joka on ruuvattu savukaasuputkeen noin 20 cm polttokammion yläpuolelle.

Noin 200 °C:n lämpötilasta riippuen se käyttää Raspberry Pi:n yksinkertaista ohjelmaa tuloilmaläpän avaamiseen ja sulkemiseen, mikä aiemmin piti tehdä manuaalisesti - jos katsot uunia ...

Periaatteessa yksinkertainen mekanismi. Mekanismi sanan varsinaisessa merkityksessä on toteutettu tässä tapauksessa lineaarivaihteen avulla, jota liikuttaa askelmoottori. Asetettuun lämpötilaan verrattuna todellisen lämpötila-arvon perusteella askelmoottori saa tiedon siitä, pitäisikö sen lisätä vai vähentää tuloilman syöttöä, jos lämpötila on liian alhainen. Tämän mukaisesti tuloilmapellin (manuaalista) käyttövipua, joka on mekaanisesti kytketty lineaariliukuun, liikutetaan eteen- tai taaksepäin ja pellit avataan tai suljetaan.

Koska RaspberryMatic ei tarjoa mahdollisuutta ohjata askelmoottoria suoraan, käytämme ESP32-IDF:ää, pientietokonetta, joka tarjoaa askelmoottorin ohjaimen liitännän ja voi siten ottaa sen ohjauksen hoitaakseen.

RaspberryMaticin ja ESP32-IDF:n välinen viestintä tapahtuu WLAN:n kautta, joka on jo integroitu ESP32-IDF:ään. ESP32-IDF on ohjelmoitu C++:lla, Arduino IDE:llä ja se sisältyy tähän artikkeliin, jotta se voidaan helposti siirtää muutaman parametrin muuttamisen jälkeen.

Myös lineaarisen askelmoottorin lämpötilan ja asennon tallennusohjelma on mukana helppoa siirtoa varten.

Ostoslista

  • Raspberry Pi 4 Model B Sarja, jossa on kotelo, tuuletin, virtalähde - noin 95 euroa.
  • SD-kortti 16 GB (RaspberryMatic-asennusta varten) - noin 10,- euroa.
  • RaspberryMatic (lataa) - maksutta
    (kanssa Vadelma Pi leipuri (Mac) tai Vadelma Pi Imager (Windows) Kopioi SD-kortille;
    Luo muuttujia Polttaminen_tilanne (Tyyppi Merkkijono); Burning_flap_actual (Tyyppi Numero); Burn_off_flap_desired (Tyyppi Numero); 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 Tulos löytyy toiseksi viimeiseltä tulostusriviltä, esimerkiksi „".19827“)
  • ESP32-kehitysalusta (esim. ESP32 DevKit V1) - n. 12,- euroa
    Arduino IDE 2.x Lataa (Mac) (Windows)
  • CL86Y Askelmoottorin ohjain (tai TB6600)*
  • NEMA 17 askelmoottori (200 askelta/kierrosnopeus)* - Aseta n. 80,- euroa.
  • Lineaarinen käyttö 100 mm, 150 mm sopiva edellä mainittuun askelmoottorityyppiin n. 50,- Euroa.
  • 2x rajakytkin (mekaaninen) - noin 4,- euroa
  • 48V DC virtalähde (moottorille 12A) - n. 39,- euroa.
  • Virtalähde 5V DC (ESP32:lle, esim. USB) - n. 7,- euroa.
  • ELV PT1000 korkean lämpötilan anturi 4-johtiminen Art. Nro 258570 - n. 24,- euroa
  • ELV platina lämpötila-anturin liitäntä - Art. Nro 162126 - n. 45,- euroa.
  • Messinkinen putkiyhte M10 x 6 mm PT1000-lämpötila-anturia varten - noin 4,- euroa.

Yhteensä noin 370 eurolla tämä on täysimittainen ja myös erittäin edullinen vaihtoehto jälkiasennussarjalle - jos sellaista ylipäätään on saatavilla kiukaalle - joka yleensä maksaa 750-1 500 euroa!

Valmistelut

RaspberryMaticin asennus Raspberry Pi 4 B:n SD-kortille on seuraavanlainen täällä kuvattu yksityiskohtaisesti, mukaan lukien kotelon asennus, jos sarjaa ei ole ostettu.

ESP32 - Asennus

macOS

Vaihe 1: Asenna Arduino IDE

  1. Lataa:
    • Siirry osoitteeseen: https://www.arduino.cc/en/software
    • Lataa „Arduino IDE 2.x“ macOS:lle.
    • Valitse .dmg Intelin tai .dmg Applen pii (M1/M2/M3) osalta
  2. Asennus:
    • .dmg Avaa tiedosto
    • Vedä Arduino IDE ohjelmakansioon.
    • Käynnistä Arduino IDE

Asenna ESP32-levytuki

  1. Avaa Arduino IDE
  2. Avoin hallituksen johtaja:
    • Menu: Arduino IDEAsetukset (tai Cmd + ,)
    • Kirjoita URL-osoitteet kohtaan „Lisää lautojen hallinnan URL-osoitteita“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Klikkaa OK
  3. Asenna ESP32-levyt:
    • Napsauta vasemmalla olevaa taulun kuvaketta (tai kuvassa Valikkopalkki TyökalutHallitusHallintoneuvostojen johtaja)
    • Etsi: esp32
    • Asenna: „esp32 by Espressif Systems“ (Versio 2.0.17 tai uudempi)
    • Odota, että asennus on valmis (voi kestää 5-10 minuuttia).

USB-ajuri (käyttöjärjestelmään 10.14 asti)

Jos ESP32:ta ei tunnisteta:

  1. Lataa: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Tiedosto: macOS_VCP_Driver.zip lataa
  3. Asenna ja käynnistä Mac uudelleen

CH340-sirulle:

ESP32:n kytkeminen

  1. Yhdistä ESP32 USB:n kautta
  2. Tarkista portti:
    • Arduino IDE Valikkopalkki: TyökalutSatama
    • Valitse portti samanlainen kuin:
      • /dev/cu.usbserial-0001 tai
      • /dev/cu.SLAB_USBtoUART tai
      • /dev/cu.wchusbserial*

Valitse lautakunta

  1. Arduino IDE:
    • Valikkopalkki TyökalutHallitusesp32„ESP32 Dev Module“
  2. Asetukset:
    • Latausnopeus: 115200
    • Salamataajuus: 80 MHz
    • Salamatila: QIO
    • Salamakoko: 4 Mt (32 Mt)
    • Osiojärjestelmä: Oletusarvo 4MB spiffien kanssa

Testilataus

  1. Avaa esimerkkikoodi:
    • Valikkopalkki TiedostoEsimerkkejä01.perusteetVilkku
  2. Lataa koodi:
    • Napsauta latauspainiketta (→)
    • Odota, kunnes näyttöön tulee „Connecting...“.
    • Jos „Connecting...“ keskeytyy: Pidä ESP32:n BOOT-painiketta painettuna.
  3. Menestys:
    • „Kova nollaus RTS-nastan kautta...“ = Lataus onnistui!
    • ESP32:n LEDin pitäisi vilkkua

WINDOWS

Asenna Arduino IDE

  1. Lataa:
    • Siirry osoitteeseen: https://www.arduino.cc/en/software
    • Lataa „Arduino IDE 2.x“ for Windows
    • Valitse .exe Asentaja
  2. Asennus:
    • Suorita asennusohjelma (järjestelmänvalvojana)
    • Jätä kaikki vaihtoehdot aktivoituna
    • Asennuksen viimeistely

Asenna ESP32-levytuki

  1. Avaa Arduino IDE
  2. Määritä Board Manager:
    • Valikkopalkki TiedostoAsetuksetKirjoita URL-osoitteet kohtaan „Lisää lautojen hallinnan URL-osoitteita“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Klikkaa OK
  3. Asenna ESP32-levyt:
    • Valikkopalkki TyökalutHallitusHallintoneuvostojen johtaja
    • Etsi: esp32
    • Asenna: „esp32 by Espressif Systems“ (Versio 2.0.17+)
    • Odota, kunnes asennus on valmis

Asenna USB-ajuri

Windows ei useinkaan tunnista ESP32:ta automaattisesti!

CP2102/CP2104-sirulle (yleisin):
  1. Lataa:
  2. Asennus:
    • Pura ZIP-pakkaus
    • CP210xVCPInstaller_x64.exe-tiedosto Suorita järjestelmänvalvojana
    • Asennuksen viimeistely
    • Käynnistä Windows uudelleen
CH340/CH341-sirulle:
  1. Lataa:
  2. Asennus:
    • Pura ZIP-pakkaus
    • CH341SER.EXE Suorita järjestelmänvalvojana
    • Napsauta „INSTALL“
    • Käynnistä Windows uudelleen
Selvitä sirun tyyppi:
  • ESP32:n kytkeminen
  • Avaa laitehallinta: Windows + XLaitehallinta
  • Liitännät (COM & LPT) avaa
  • Etsi:
    • „Silicon Labs CP210x...“ = CP2102
    • „USB-SERIAL CH340“ = CH340
    • „SLAB_USBtoUART“ = CP2102

Kytke ESP32 ja tarkista portti

  1. Yhdistä ESP32 USB:n kautta
  2. Selvitä satama:
    • Valikkopalkki TyökalutSatama
    • Valitse: COM3, COM4, COM5 jne.
    • (määrä vaihtelee järjestelmästä riippuen)

Ei porttia näkyvissä? → Ajuria ei ole asennettu tai väärä ajuri!

Valitse lautakunta

  1. Valitse lautakunta:
    • Valikkopalkki TyökalutHallitusesp32„ESP32 Dev Module“
  2. Lataa asetukset:
    • Latausnopeus: 115200
    • Salamataajuus: 80 MHz
    • Salamatila: QIO
    • Salamakoko: 4 Mt (32 Mt)
    • Osiojärjestelmä: Oletusarvo 4MB spiffien kanssa

Testilataus

  1. Kuormitusesimerkki:
    • Valikkopalkki TiedostoEsimerkkejä01.perusteetVilkku
  2. Lataa:
    • Napsauta latauspainiketta (→)
    • „Connecting...“ mahdollisesti. BOOT-painike ESP32:n pito
  3. Menestys:
    • „Kovaa nollausta...“ = ✅ Lataus onnistui!

Kirjastot palamisen valvontaa varten

Sisältyy automaattisesti (ESP32 Core):

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

Vianmääritys

Ongelma: „Porttia ei löydy“

Mac:

# Avaa liitin ja tarkista:
ls /dev/cu.*

# Pitäisi näkyä:
/dev/cu.usbserial-XXXXXX
/dev/cu.SLAB_USBtoUART /dev/cu.SLAB_USBtoUART

Windows:

  • Avaa Laitehallinta
  • Tarkista liitännät (COM ja LPT)
  • Asenna ohjain uudelleen
  • Käynnistä Windows uudelleen

„Connecting...“ roikkuu

Ratkaisu:

  1. BOOT-painike Paina ja pidä ESP32:ta painettuna
  2. Napsauta sitten latauspainiketta
  3. Pidä BOOT-painiketta painettuna, kunnes näyttöön tulee „Writing...“.
  4. Vapautuspainike

Vaihtoehto:

  • Paina EN-painiketta lyhyesti (nollaus).
  • Yritä sitten ladata uudelleen

„Käännösvirhe“

Yleiset syyt:

  • Väärä levy valittu
  • ESP32 Board Support ei ole asennettu
  • Syntaksivirhe koodissa

Ratkaisu:

  • Tarkista taulu uudelleen: ESP32 Dev-moduuli
  • Avaa Board Manager → asenna esp32 uudelleen

Lataus toimii, mutta sarjanäyttö on tyhjä

Ratkaisu:

  1. Tarkista baudinopeus:
    • Koodi: Serial.begin(115200);
    • Sarjamonitori: Myös 115200 Aseta
  2. Tarkista portti:
    • Oikea COM-portti valittu?
  3. Paina EN-painiketta:
    • Nollaa latauksen jälkeen

Tarkistuslista ennen ensimmäistä latausta

  • [ ] Arduino IDE asennettu
  • [ ] ESP32-levytuki asennettu (versio 2.0.17+)
  • [ ] USB-ajuri asennettu (Windows!)
  • [ ] ESP32 liitetty USB:n kautta
  • [ ] Portti näkyy Arduino IDE:ssä
  • [ ] Levy: „ESP32 Dev Module“ valittu.
  • [ ] Latausnopeus: 115200
  • [ ] Flash-koko: 4MB
  • [ ] Sarjamonitori Baudinopeus: 115200
  • [ ] Reitittimen NTP-julkaisu

NTP-julkaisu

Jotkin reitittimet on oletusarvoisesti konfiguroitu ilman NTP:n jakamista, mikä tarkoittaa, että NTP-portin 123 kautta tulevia pyyntöjä ei välitetä eteenpäin, minkä seurauksena osoitteeseen osoitetulta NTP-palvelimelta ei voida pyytää tietoja.

Sen vuoksi on määriteltävä vastaava sääntö:

Oppimateriaalit

Viralliset asiakirjat:

Lataa koodi

  1. Avaa tiedosto:
  2. Mukauta WiFi: const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT";
  3. Syötä XML-API-tunniste: const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
    XML API -lisäosa on asennettava RaspberryMaticiin. Tämän jälkeen voit muuttaa XML API -lisäosan asetuksia napsauttamalla painiketta tokenregister.cgi voidaan luoda merkki. Tunnus on voimassa kaikissa tulevissa GUI-kirjautumisissa, ja se koostuu 16-numeroisesta isojen ja pienten kirjainten sarjasta. Se on lisättävä ESP32-koodiin sopivaan kohtaan.
  4. Lataa:
    • Tarkista (✓) → Tarkista koodi
    • Lataa (→) → Lataa ESP32:een.
  5. Avaa sarjavalvonta:
    • TyökalutSarjamonitori
    • Baudinopeus: 115200 (näkyy valikossa TOOLS - Latausnopeus: .... lopetettu)
    • Katso tuotosta!

Käyttöönotto

Onnistuneen asennuksen jälkeen:

  1. Testaa WiFi-yhteys
  2. Polton valvontakoodin lataaminen
  3. Kytke moottori ja rajakytkin
  4. Luo RaspberryMatic-tunniste
  5. Testausjärjestelmä

ESP32-koodi

Tarvittava koodi on täysin kommentoitu, joten se on jäljitettävissä ja tarvittaessa muokattavissa. (lataa)

ESP32 GUI

GUI:ssä tämä voidaan asettaa manuaalisesti ja jatkuvasti testitarkoituksiin, jotta voidaan määrittää pakokaasun lämpötilan riippuvuus luukun avautumisesta.

Liekkikuviota tarkkaillaan ja säädellään silmämääräisesti „sopivaa“ prosentuaalista avautumisprosenttiarvoa kyseisenä ajankohtana. RaspberryMaticista tuolloin luettu lämpötila-arvo liitetään asetetun luukun avautumisprosentin arvoon muutoksen lähtöarvona. Lämpötila-arvo saadaan seuraavasta visuaalisesti „tarpeellisesta“ padon aukon korjauksesta.

Jos esimerkiksi 150 °C tunnustetaan lähtökohdaksi (alkaen ...) 80%:n avaamiselle ja 200 °C:n arvoksi 45%:n vähentämiselle, ensimmäisen MUUTA JOS-toiminnon kohdalla näkyvä kokoonpano johtaa ohjelmaan„.„Burn-off-säätö - Lämpötilan säätö“ kuten kuvassa.

„Testitila“ tulee näkyviin, jos ESP32:een ei ole vielä kytketty mitään oheislaitteita ja muuttujaa "Testi" ei ole vielä kytketty. "const bool TEST_MODE =" edelleen „true“ seisoo.
Vaihda „väärä“ peruuttaa testitilan ja alustaa kytketyn moottorin referenssiajon rajakytkimien määrittelemien alku- ja loppuasentojen määrittämiseksi.

Suora kirjaaminen

Diagnostiikka

Automatisoitu virheenkäsittely

Mahdollisten virhetilanteiden havaitseminen on olennaisen tärkeää jatkuvalle, häiriöttömälle toiminnalle. Sen vuoksi koodissa on seuraavat rutiinit, joiden avulla voidaan tunnistaa virheet ja korjata ne sopivin toimenpitein:

  • Pinon ylivuodon käsittely
  • Brownout-tunnistus
  • Jakaminen nollalla
  • Rajakytkimen hätäsulku
  • HTTP-virheiden käsittely
  • HTTP-poikkeusten käsittely
  • Kokonaisluvun ylivuodon tarkistus
  • Muistin seuranta
  • millis() Ylivuoto
  • Moottorin hälytyksen havaitseminen
  • Asetusten palautus
  • Asemarajoitukset
  • Suojaus hyvin pitkiltä estotoiminnoilta
  • Telnet-asiakkaan hallinta
  • Telnet NULL-osoitin
  • Langan turvallisuus
  • Tokenin validointi
  • Watchdog-ajastin
  • WiFi Auto-Reconnect

RaspberryMatic - Ohjelmat

Burn-off-säätö

Ohjelma

JOS järjestelmän tila Burnup_Damper_Setpoint arvoalueella 0 ja alle 101 (prosenttia).

SITTEN KÄSIKIRJOITUS ... VÄLITTÖMÄSTI

! ESP32:n IP-osoite (MUOKATA TÄSTÄ!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";

! Järjestelmämuuttujan nykyisen arvon hakeminen
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();

! Rakenna URL-osoite ESP32:n takaisinsoittoa varten
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;

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

! Lokituloste (valinnainen, virheenkorjausta varten)
WriteLine("Poltto: Lähetä " # asetusarvo # "% ESP32:een " # esp32_ip);

Burn-off-säätö - Lämpötilan säätö

Ohjelma

JOS laitevalinta "PT1000_temperature_sensor_flue_gas" TODELLISEN lämpötilan osalta ... ...

THEN Järjestelmän tila Burn-off_Damper_Setpoint VÄLITTÖMÄSTI xxx*

MUUTEN JOS ...

Tässä tapauksessa kahta ylintä riviä täydennetään jatkuvasti eri lämpötila-alueilla ja prosenttiarvoilla OTHER IF -toiminnolla, kunnes kaikki tarvittavat alueet on katettu.

* xxx„ on läpän aukeamisen haluttu prosentuaalinen arvo.

Lineaarinen toimilaite ja rajakytkin

Moottorilla varustettu lineaariveto asennetaan läppämekanismin alapuolelle sen mukaan, kuinka paljon tilaa on käytettävissä. Vaunuun on kiinnitetty „haarukka“, jota liikutetaan eteenpäin tai taaksepäin karan avulla ja johon käsikäyttöinen mekanismi kytkeytyy.

Vipu on yleensä suunniteltu siten, että sitä voidaan siirtää hieman ylös ja alas. „Haarukoiden“ pituutta säädetään vastaavasti, jotta vipu voidaan vielä siirtää käsin ja työntää täysin AUKI.

Toisaalta tämän tarkoituksena on luoda enimmäissyväys polttoainetta lisättäessä, jos elektroninen ohjaus ei ole vielä täysin asetettu 100%:hen.

Toisaalta puhtaasti mekaaninen toimintamahdollisuus on edelleen käytettävissä, esim. virransyöttöhäiriön sattuessa.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *