Sisällysluettelo
Aktualisiert – 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
- Lataa:
- Siirry osoitteeseen: https://www.arduino.cc/en/software
- Lataa „Arduino IDE 2.x“ macOS:lle.
- Valitse
.dmgIntelin tai.dmgApplen pii (M1/M2/M3) osalta
- Asennus:
.dmgAvaa tiedosto- Vedä Arduino IDE ohjelmakansioon.
- Käynnistä Arduino IDE
Asenna ESP32-levytuki
- Avaa Arduino IDE
- Avoin hallituksen johtaja:
- Menu:
Arduino IDE→Asetukset(taiCmd + ,) - Kirjoita URL-osoitteet kohtaan „Lisää lautojen hallinnan URL-osoitteita“:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Klikkaa
OK
- Menu:
- Asenna ESP32-levyt:
- Napsauta vasemmalla olevaa taulun kuvaketta (tai kuvassa Valikkopalkki
Työkalut→Hallitus→Hallintoneuvostojen johtaja) - Etsi:
esp32 - Asenna: „esp32 by Espressif Systems“ (Versio 2.0.17 tai uudempi)
- Odota, että asennus on valmis (voi kestää 5-10 minuuttia).
- Napsauta vasemmalla olevaa taulun kuvaketta (tai kuvassa Valikkopalkki
USB-ajuri (käyttöjärjestelmään 10.14 asti)
Jos ESP32:ta ei tunnisteta:
- Lataa: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Tiedosto:
macOS_VCP_Driver.ziplataa - Asenna ja käynnistä Mac uudelleen
CH340-sirulle:
- Lataa: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver
- Asenna ja käynnistä Mac uudelleen
ESP32:n kytkeminen
- Yhdistä ESP32 USB:n kautta
- Tarkista portti:
- Arduino IDE Valikkopalkki:
Työkalut→Satama - Valitse portti samanlainen kuin:
/dev/cu.usbserial-0001tai/dev/cu.SLAB_USBtoUARTtai/dev/cu.wchusbserial*
- Arduino IDE Valikkopalkki:
Valitse lautakunta
- Arduino IDE:
- Valikkopalkki
Työkalut→Hallitus→esp32→ „ESP32 Dev Module“
- Valikkopalkki
- Asetukset:
- Latausnopeus: 115200
- Salamataajuus: 80 MHz
- Salamatila: QIO
- Salamakoko: 4 Mt (32 Mt)
- Osiojärjestelmä: Oletusarvo 4MB spiffien kanssa
Testilataus
- Avaa esimerkkikoodi:
- Valikkopalkki
Tiedosto→Esimerkkejä→01.perusteet→Vilkku
- Valikkopalkki
- Lataa koodi:
- Napsauta latauspainiketta (→)
- Odota, kunnes näyttöön tulee „Connecting...“.
- Jos „Connecting...“ keskeytyy: Pidä ESP32:n BOOT-painiketta painettuna.
- Menestys:
- „Kova nollaus RTS-nastan kautta...“ = Lataus onnistui!
- ESP32:n LEDin pitäisi vilkkua
WINDOWS
Asenna Arduino IDE
- Lataa:
- Siirry osoitteeseen: https://www.arduino.cc/en/software
- Lataa „Arduino IDE 2.x“ for Windows
- Valitse
.exeAsentaja
- Asennus:
- Suorita asennusohjelma (järjestelmänvalvojana)
- Jätä kaikki vaihtoehdot aktivoituna
- Asennuksen viimeistely
Asenna ESP32-levytuki
- Avaa Arduino IDE
- Määritä Board Manager:
- Valikkopalkki
Tiedosto→AsetuksetKirjoita URL-osoitteet kohtaan „Lisää lautojen hallinnan URL-osoitteita“:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Klikkaa
OK
- Valikkopalkki
- Asenna ESP32-levyt:
- Valikkopalkki
Työkalut→Hallitus→Hallintoneuvostojen johtaja - Etsi:
esp32 - Asenna: „esp32 by Espressif Systems“ (Versio 2.0.17+)
- Odota, kunnes asennus on valmis
- Valikkopalkki
Asenna USB-ajuri
Windows ei useinkaan tunnista ESP32:ta automaattisesti!
CP2102/CP2104-sirulle (yleisin):
- Lataa:
- https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Tiedosto:
CP210x_Universal_Windows_Driver.zip-tiedosto
- Asennus:
- Pura ZIP-pakkaus
CP210xVCPInstaller_x64.exe-tiedostoSuorita järjestelmänvalvojana- Asennuksen viimeistely
- Käynnistä Windows uudelleen
CH340/CH341-sirulle:
- Lataa:
- Asennus:
- Pura ZIP-pakkaus
CH341SER.EXESuorita järjestelmänvalvojana- Napsauta „INSTALL“
- Käynnistä Windows uudelleen
Selvitä sirun tyyppi:
- ESP32:n kytkeminen
- Avaa laitehallinta:
Windows + X→Laitehallinta - Liitännät (COM & LPT) avaa
- Etsi:
- „Silicon Labs CP210x...“ = CP2102
- „USB-SERIAL CH340“ = CH340
- „SLAB_USBtoUART“ = CP2102
Kytke ESP32 ja tarkista portti
- Yhdistä ESP32 USB:n kautta
- Selvitä satama:
- Valikkopalkki
Työkalut→Satama - Valitse: COM3, COM4, COM5 jne.
- (määrä vaihtelee järjestelmästä riippuen)
- Valikkopalkki
Ei porttia näkyvissä? → Ajuria ei ole asennettu tai väärä ajuri!
Valitse lautakunta
- Valitse lautakunta:
ValikkopalkkiTyökalut→Hallitus→esp32→ „ESP32 Dev Module“
- Lataa asetukset:
- Latausnopeus: 115200
- Salamataajuus: 80 MHz
- Salamatila: QIO
- Salamakoko: 4 Mt (32 Mt)
- Osiojärjestelmä: Oletusarvo 4MB spiffien kanssa
Testilataus
- Kuormitusesimerkki:
- Valikkopalkki
Tiedosto→Esimerkkejä→01.perusteet→Vilkku
- Valikkopalkki
- Lataa:
- Napsauta latauspainiketta (→)
- „Connecting...“ mahdollisesti. BOOT-painike ESP32:n pito
- 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:
- BOOT-painike Paina ja pidä ESP32:ta painettuna
- Napsauta sitten latauspainiketta
- Pidä BOOT-painiketta painettuna, kunnes näyttöön tulee „Writing...“.
- 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:
- Tarkista baudinopeus:
- Koodi:
Serial.begin(115200); - Sarjamonitori: Myös 115200 Aseta
- Koodi:
- Tarkista portti:
- Oikea COM-portti valittu?
- 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:
- ESP32 Arduino: https://docs.espressif.com/projects/arduino-esp32/
- Arduino-referenssi: https://www.arduino.cc/reference/en/
Lataa koodi
- Avaa tiedosto:
- The Tämän tiedoston tekstisisältö tyhjään(!) Arduino IDE -ikkunaan
- Mukauta WiFi:
const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT"; - 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. - Lataa:
- Tarkista (✓) → Tarkista koodi
- Lataa (→) → Lataa ESP32:een.
- Avaa sarjavalvonta:
Työkalut→Sarjamonitori- Baudinopeus: 115200 (näkyy valikossa TOOLS - Latausnopeus: .... lopetettu)
- Katso tuotosta!
Käyttöönotto
Onnistuneen asennuksen jälkeen:
- Testaa WiFi-yhteys
- Polton valvontakoodin lataaminen
- Kytke moottori ja rajakytkin
- Luo RaspberryMatic-tunniste
- 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.