Pereiti prie turinio

Krosnelė - degimo kontrolė

Skaitymo laikas 8 minutės

Atnaujinta - vasario 3, 2026

Šiuolaikinėje malkomis kūrenamoje krosnelėje paprastai būna integruota degimo kontrolės sistema. Jei vis dar turite malkomis kūrenamą krosnelę be šios automatinės sistemos, galite sukurti savo valdymo sistemą kartu su "Smarthome" (Raspberry Pi).

Net jei dar neįmanoma automatizuoti malkų pakrovimo, išskyrus granulines krosneles, automatizuojant pasiekiamas tolygesnis degimas, pastovi temperatūra ir mažesnės malkų sąnaudos - iki 30 %, o efektyvumas didesnis.

Jei iš karto „neišdrįsite“, galiu pasakyti, kad kažkada jaučiausi taip pat. Bet jei atidžiau pasidomėsite šia tema ir galimybėmis, kurias siūlo, pavyzdžiui, RaspberryMatic, naudojant Raspberry Pi, netrukus įsitikinsite, kad galite „tai padaryti“!

Ir kaip dažnai būna gyvenime: kartu geriau! Įveikime tai!

Teorija

Tai, ką matome plika akimi iš liepsnos piešinio, ir liepsnos spalvą nustato aukštos temperatūros jutiklis, įsuktas į išmetamųjų dujų vamzdį maždaug 20 cm virš degimo kameros.

Priklausomai nuo palaikomos maždaug 200 °C temperatūros, naudojant paprastą "Raspberry Pi" programą atidaroma ir uždaroma oro padavimo sklendė, o anksčiau tai reikėjo daryti rankiniu būdu - jei žiūrėdavote į orkaitę ...

Iš esmės tai paprastas mechanizmas. Mechanizmas tikrąja to žodžio prasme čia įgyvendinamas naudojant linijinę pavarą, kurią judina žingsninis variklis. Priklausomai nuo faktinės temperatūros vertės, lyginant ją su nustatyta verte, žingsninis variklis gauna informaciją, ar jis turėtų padidinti, ar sumažinti tiekiamo oro kiekį, jei temperatūra yra per žema. Atitinkamai tiekiamo oro sklendės, kuri yra mechaniškai sujungta su linijine pavara, (rankinės) pavaros svirtis judinama pirmyn arba atgal ir sklendė atidaroma arba uždaroma.

Kadangi RaspberryMatic nesuteikia galimybės tiesiogiai adresuoti žingsninį variklį, mes naudojame ESP32-IDF, nedidelį kompiuterį, prie kurio galima prijungti žingsninio variklio valdiklį ir taip perimti jo valdymą.

Ryšys tarp "RaspberryMatic" ir ESP32-IDF vyksta per WLAN, kuris jau integruotas į ESP32-IDF. ESP32-IDF užprogramuotas C++, Arduino IDE ir įtrauktas į šį straipsnį, kad pakeitus keletą parametrų jį būtų galima lengvai perkelti.

Taip pat pateikiama temperatūrai ir linijinio žingsninio variklio padėčiai registruoti skirta programa, kurią lengva perkelti.

Pirkinių sąrašas

  • Raspberry Pi 4 B modelis Rinkinys su korpusu, ventiliatoriumi ir maitinimo bloku - apie 95 eurus
  • SD kortelė 16 GB (RaspberryMatic diegimui) - apie 10,- Eurų
  • RaspberryMatic (atsisiųsti) - nemokamai
    (su Aviečių pi kepėjas (Mac) arba Aviečių pi vaizduoklis (Windows) Kopijuoti į SD kortelę;
    Sukurti kintamuosius Degimo_status (Įveskite Simbolių eilutė); Burning_flap_actual (Įveskite Numeris); Burn_off_flap_desired (Įveskite Numeris); 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 Rezultatas galima rasti priešpaskutinėje išvesties eilutėje, pvz., „19827“)
  • ESP32 kūrimo plokštė (pvz., ESP32 DevKit V1) - apie 12,- Eur
    Arduino IDE 2.x Parsisiųsti (Mac) (Windows)
  • CL86Y Žingsninio variklio tvarkyklė (arba TB6600)*
  • NEMA 17 žingsninis variklis (200 žingsnių/apyvartos)* - Nustatyta apie 80,- Eur
  • Linijinė pavara 100 mm, 150 mm, tinka pirmiau minėtiems žingsninių variklių tipams apie 50,- Eur
  • 2x ribinis jungiklis (mechaninis) - apie 4,- Eur
  • 48 V nuolatinės srovės maitinimo blokas (12 A varikliui) - apie 39,- Eur
  • Maitinimo blokas 5V DC (ESP32, pvz., USB) - apie 7,- Eur
  • ELV PT1000 aukštos temperatūros jutiklis 4 laidų Art. Nr. 258570 - apie 24,- Eur
  • ELV platinos temperatūros jutiklio sąsaja - Straipsnis. Nr. 162126 - apie 45,- Eur
  • Žalvario vamzdžių jungiamoji detalė M10 x 6 mm PT1000 temperatūros jutikliui - apie 4,- Eur

Iš viso už maždaug 370 eurų tai yra visavertė ir labai nebrangi alternatyva modernizavimo rinkiniui, kuris paprastai kainuoja nuo 750 iki 1 500 eurų, jei toks apskritai yra!

Preparatai

Aviečių "RaspberryMatic" diegimas į "Raspberry Pi 4 B" SD kortelę yra čia išsamiai aprašyta, įskaitant korpuso montavimą, jei nebuvo įsigytas rinkinys.

ESP32 - sąranka

macOS

1 žingsnis: Įdiekite "Arduino IDE

  1. Atsisiųsti:
    • Eikite į: https://www.arduino.cc/en/software
    • Atsisiųsti „Arduino IDE 2.x“, skirtą "macOS
    • Pasirinkite .dmg "Intel" arba .dmg "Apple" silicio (M1/M2/M3)
  2. Įrengimas:
    • .dmg Atidaryti failą
    • Vilkite "Arduino IDE" į programos aplanką
    • Paleiskite "Arduino IDE

Įdiekite ESP32 plokštės palaikymą

  1. Atviras "Arduino IDE
  2. Atviros valdybos valdytojas:
    • Meniu: Arduino IDENustatymai (arba Cmd + ,)
    • Įveskite URL adresus skiltyje „Papildomi lentų valdytojo URL adresai“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Spustelėkite GERAI
  3. Įdiekite ESP32 plokštes:
    • Spustelėkite kairėje esančią lentos piktogramą (arba Meniu juosta ĮrankiaiValdybaSkydų valdytojas)
    • Ieškoti: esp32
    • Įdiekite: „esp32 by Espressif Systems“ (2.0.17 arba naujesnė versija)
    • Palaukite, kol bus baigtas diegimas (gali užtrukti 5-10 minučių)

USB tvarkyklė (iki OS 10.14)

Jei ESP32 neatpažįstamas:

  1. Atsisiųsti: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Failas: macOS_VCP_Driver.zip atsisiųsti
  3. Įdiekite ir iš naujo paleiskite "Mac

CH340 lustui:

ESP32 prijungimas

  1. ESP32 prijungimas per USB
  2. Patikrinkite prievadą:
    • Arduino IDE Meniu juosta: ĮrankiaiUostas
    • Pasirinkite prievadą, panašų į:
      • /dev/cu.usbserial-0001 arba
      • /dev/cu.SLAB_USBtoUART arba
      • /dev/cu.wchusbserial*

Pasirinkite valdybą

  1. Arduino IDE:
    • Meniu juosta ĮrankiaiValdybaesp32„ESP32 Dev modulis“
  2. Nustatymai:
    • Siuntimo greitis: 115200
    • Blykstės dažnis: 80 MHz
    • Blykstės režimas: QIO
    • Blykstės dydis: 4 MB (32 MB)
    • Skirstymo schema: Numatytoji 4 MB su spifais

Bandomasis įkėlimas

  1. Atidarykite pavyzdinį kodą:
    • Meniu juosta FailasPavyzdžiai01.pagrindaiMirk
  2. Įkelti kodą:
    • Spustelėkite įkėlimo mygtuką (→)
    • Palaukite, kol pasirodys pranešimas „Connecting...“
    • Jei „Connecting...“ pakabintas: Paspauskite ir palaikykite mygtuką BOOT ant ESP32
  3. Sėkmė:
    • „Kietasis atstatymas per RTS kaištį...“ = Įkėlimas sėkmingas!
    • "ESP32" šviesos diodas turėtų mirksėti

WINDOWS

Įdiekite "Arduino IDE

  1. Atsisiųsti:
    • Eikite į: https://www.arduino.cc/en/software
    • Atsisiųsti „Arduino IDE 2.x“, skirtą "Windows
    • Pasirinkite .exe Montuotojas
  2. Įrengimas:
    • Paleiskite diegimo programą (kaip administratorius)
    • Palikite įjungtas visas parinktis
    • Baigti montavimą

Įdiekite ESP32 plokštės palaikymą

  1. Atviras "Arduino IDE
  2. Sukonfigūruokite "Board Manager":
    • Meniu juosta FailasNustatymaiĮveskite URL adresus skiltyje „Papildomi lentų valdytojo URL adresai“:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    • Spustelėkite GERAI
  3. Įdiekite ESP32 plokštes:
    • Meniu juosta ĮrankiaiValdybaSkydų valdytojas
    • Paieška: esp32
    • Įdiekite: „esp32 by Espressif Systems“ (versija 2.0.17+)
    • Palaukite, kol bus baigtas diegimas

Įdiekite USB tvarkyklę

"Windows" dažnai automatiškai neatpažįsta ESP32!

CP2102/CP2104 lustui (dažniausiai pasitaikantis):
  1. Atsisiųsti:
  2. Įrengimas:
    • Išpakuoti ZIP
    • CP210xVCPInstaller_x64.exe Paleisti kaip administratorius
    • Baigti montavimą
    • Iš naujo paleiskite "Windows
CH340/CH341 lustui:
  1. Atsisiųsti:
  2. Įrengimas:
    • Išpakuoti ZIP
    • CH341SER.EXE Paleisti kaip administratorius
    • Spustelėkite „Įdiegti“
    • Iš naujo paleiskite "Windows
Sužinokite lusto tipą:
  • ESP32 prijungimas
  • Atidarykite "Device Manager": "Windows" + XĮrenginių tvarkyklė
  • Jungtys (COM ir LPT) išsiskleisti
  • Ieškoti:
    • „Silicon Labs CP210x...“ = CP2102
    • „USB-SERIAL CH340“ = CH340
    • „SLAB_USBtoUART“ = CP2102

Prijunkite ESP32 ir patikrinkite prievadą

  1. ESP32 prijungimas per USB
  2. Sužinokite uostą:
    • Meniu juosta ĮrankiaiUostas
    • Pasirinkite: COM3, COM4, COM5 ir t. t.
    • (skaičius priklauso nuo sistemos)

Nėra matomo prievado? → Neįdiegta tvarkyklė arba netinkama tvarkyklė!

Pasirinkite valdybą

  1. Pasirinkite valdybą:
    • Meniu juosta ĮrankiaiValdybaesp32„ESP32 Dev modulis“
  2. Įkėlimo nustatymai:
    • Siuntimo greitis: 115200
    • Blykstės dažnis: 80 MHz
    • Blykstės režimas: QIO
    • Blykstės dydis: 4 MB (32 MB)
    • Skirstymo schema: Numatytoji 4 MB su spifais

Bandomasis įkėlimas

  1. Įkrovos pavyzdys:
    • Meniu juosta FailasPavyzdžiai01.pagrindaiMirk
  2. Įkelti:
    • Spustelėkite įkėlimo mygtuką (→)
    • Galbūt dėl „Connecting...“. Įkrovimo mygtukas laikykite ant ESP32
  3. Sėkmė:
    • „Kietasis atstatymas...“ = ✅ Įkėlimas sėkmingas!

Degimo kontrolės bibliotekos

Automatiškai įtrauktas (ESP32 branduolys):

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

Trikčių šalinimas

Problema: „Prievadas nerastas“

"Mac":

# Atidarykite gnybtą ir patikrinkite:
ls /dev/cu.*

# Turėtų rodyti:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART

"Windows":

  • Atidarykite "Device Manager
  • Patikrinkite jungtis (COM ir LPT)
  • Iš naujo įdiegti tvarkyklę
  • Iš naujo paleiskite "Windows

„Prisijungimas...“ kabo

Sprendimas:

  1. Įkrovimo mygtukas Paspauskite ir palaikykite ant ESP32
  2. Tada spustelėkite įkėlimo mygtuką
  3. Palaikykite mygtuką BOOT, kol pasirodys pranešimas „Writing...“.
  4. Atleidimo mygtukas

Alternatyva:

  • Trumpai paspauskite mygtuką EN (iš naujo nustatyti)
  • Tada pabandykite įkelti dar kartą

„Kompiliavimo klaida“

Dažniausiai pasitaikančios priežastys:

  • Pasirinkta netinkama plokštė
  • Neįdiegtas ESP32 plokštės palaikymas
  • Kodo sintaksės klaida

Sprendimas:

  • Dar kartą patikrinkite lentą: ESP32 Dev modulis
  • Atidarykite "Board Manager" → iš naujo įdiegti esp32

Įkėlimas veikia, bet serijinis monitorius yra tuščias

Sprendimas:

  1. Patikrinkite duomenų perdavimo spartą:
    • Kodas: Serial.begin(115200);
    • Serijinis monitorius: taip pat 115200 Nustatyti
  2. Patikrinkite prievadą:
    • Pasirinktas tinkamas COM prievadas?
  3. Paspauskite mygtuką EN:
    • Iš naujo nustatyti po įkėlimo

Kontrolinis sąrašas prieš pirmąjį įkėlimą

  • [ ] Įdiegta "Arduino IDE
  • [ ] Įdiegtas ESP32 plokštės palaikymas (versija 2.0.17+)
  • [ ] Įdiegta USB tvarkyklė (Windows!)
  • [ ] ESP32 prijungtas per USB
  • [ ] Arduino IDE matomas prievadas
  • [ ] Pasirinkta plokštė: „ESP32 Dev Module“
  • [ ] Siuntimo greitis: 115200
  • [ ] Flash atminties dydis: 4 MB
  • [ ] Serijinis monitorius Duomenų perdavimo sparta: 115200
  • [ ] Maršrutizatoriaus NTP išleidimas

NTP išleidimas

Kai kurie maršrutizatoriai pagal numatytuosius nustatymus sukonfigūruoti be NTP bendrinimo, o tai reiškia, kad užklausos per NTP 123 prievadą neperduodamos, todėl iš adresuoto NTP serverio negalima prašyti jokių duomenų.

Todėl turi būti nustatyta atitinkama taisyklė:

Mokymosi ištekliai

Oficialūs dokumentai:

Įkelti kodą

  1. Atidaryti failą:
  2. Pritaikykite "WiFi": const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT";
  3. Įveskite XML-API simbolį: const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
    "RaspberryMatic" turi būti įdiegtas XML API priedas. Tada XML API priedo nustatymus galite keisti spustelėję tokenregister.cgi gali būti generuojamas simbolis. Ženklas galioja visiems būsimiems GUI prisijungimams ir yra sudarytas iš 16 skaitmenų sekos didžiųjų ir mažųjų raidžių. Jį reikia įterpti į ESP32 kodą atitinkamoje vietoje.
  4. Įkelti:
    • Patikrinti (✓) → Patikrinti kodą
    • Įkelti (→) → Įkelti į ESP32
  5. Atidarykite serijinį monitorių:
    • ĮrankiaiSerijinis monitorius
    • Baudų perdavimo greitis: 115200 (rodoma meniu ĮRANKIAI - Siuntimo greitis: .... nutraukiamas)
    • Žiūrėti išvestį!

Užsakymas

Po sėkmingos sąrankos:

  1. "WiFi" ryšio testavimas
  2. Įkelti degimo išjungimo kontrolės kodą
  3. Prijunkite variklį ir galinį jungiklį
  4. Generuoti RaspberryMatic simbolį
  5. Bandymų sistema

ESP32 kodas

Reikalingas kodas yra išsamiai komentuojamas, todėl jį galima atsekti ir prireikus pritaikyti. (atsisiųsti)

ESP32 GRAFINĖ VARTOTOJO SĄSAJA

Grafinėje sąsajoje tai galima nustatyti rankiniu būdu ir nepertraukiamai bandymų tikslais, siekiant nustatyti išmetamųjų dujų temperatūros priklausomybę nuo sklendės atidarymo.

Stebimas liepsnos modelis ir atitinkamu metu nustatoma vizualiai „tinkama“ procentinė sklendės atidarymo vertė. Tuo metu iš RaspberryMatic nuskaityta temperatūros vertė priskiriama nustatytai procentinei sklendės atidarymo vertei kaip pradinė pokyčio vertė. Temperatūros vertė į gaunama iš kitos vizualiai „reikalingos“ sklendės atidarymo korekcijos.

Jei, pavyzdžiui, 150 °C buvo pripažinta pradiniu tašku (nuo ...) atidarymui iki 80%, o 200 °C - sumažinimo iki 45% verte, tuomet pagal pirmąją funkciją KITAS IF rodoma konsteliacija lemia, kad programa „Išdegimo kontrolė - Temperatūros kontrolė“, kaip parodyta.

„Testavimo režimas“ rodomas, jei prie ESP32 dar neprijungti jokie periferiniai įrenginiai, o kintamasis "const bool TEST_MODE =" vis dar „tiesa“ stendai.
Pakeisti į „klaidinga“ atšaukia bandymo režimą ir inicijuoja prijungto variklio etaloninę eigą, kad būtų nustatytos galinių jungiklių apibrėžtos pradžios ir pabaigos padėtys.

Tiesioginis registravimas

Diagnostika

Automatinis klaidų tvarkymas

Norint užtikrinti nuolatinį ir be sutrikimų veikiantį veikimą, labai svarbu užfiksuoti galimas klaidų būsenas. Todėl kodas turi toliau nurodytas procedūras, skirtas klaidoms atpažinti ir ištaisyti tinkamomis priemonėmis:

  • Steko perpildymo apdorojimas
  • Išjungimo iš tinklo aptikimas
  • Padalijimas pagal NULIS
  • Ribinis jungiklis avarinis išjungimas
  • HTTP klaidų tvarkymas
  • HTTP išimčių tvarkymas
  • Integerio perpildymo tikrinimas
  • Atminties stebėjimas
  • millis() Perpildymas
  • Variklio pavojaus signalo aptikimas
  • Nustatymų atkūrimas
  • Pozicijos apribojimai
  • Apsauga nuo labai ilgų blokavimo operacijų
  • "Telnet" klientų valdymas
  • "Telnet" NULL rodyklė
  • Siūlų saugumas
  • Žetonų patvirtinimas
  • Laikmatis "Watchdog
  • "WiFi" automatinis pakartotinis prisijungimas

RaspberryMatic - Programos

Išdegimo kontrolė

Programa

IF sistemos būsena Burnup_Damper_Setpoint yra 0 ir mažiau nei 101 (proc.)

TADA SCENARIJUS ... IŠ KARTO

! ESP32 IP adresas (SUKURKITE ČIA!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";

! Gauti dabartinę sistemos kintamojo vertę
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();

! Sukurti ESP32 grįžtamojo ryšio URL adresą
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;

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

! Žurnalo išvestis (neprivaloma, skirta derinimui)
WriteLine("Burn-up: Send " # setpoint # "% to ESP32 " # esp32_ip);

Išdegimo kontrolė - Temperatūros kontrolė

Programa

JEIGU prietaiso pasirinkimas "PT1000_temperature_sensor_flue_gas" DĖL AKTUALIOS temperatūros nuo ... iki ...

Tada Sistemos būsena Burn-off_Damper_Setpoint IMMEDIATELY xxx*

PRIEŠINGU ATVEJU, JEI ...

Čia dvi viršutinės eilutės nuolat papildomos skirtingais temperatūros intervalais ir procentinėmis vertėmis naudojant funkciją KITAS IF, kol pasiekiami visi reikiami intervalai.

* xxx„ - tai pageidaujama procentinė atvartos atidarymo vertė.

Linijinės pavaros ir ribinio jungiklio mazgas

Priklausomai nuo laisvos vietos po sklendės mechanizmu, po juo montuojama linijinė pavara su varikliu. Prie vežimėlio pritvirtinta „šakutė“, kurią velenas judina pirmyn arba atgal ir į kurią įsitvirtina rankiniu būdu valdomas mechanizmas.

Paprastai svirtis suprojektuota taip, kad ją galima šiek tiek judinti aukštyn ir žemyn. „Šakutės“ ilgis atitinkamai sureguliuojamas taip, kad svirtį vis tiek būtų galima iš šio rankiniu būdu išjudinti ir visiškai pastumti ATVIRAI.

Viena vertus, tai padeda sukurti maksimalią trauką pripilant degalų, jei elektroninis valdymas dar nėra visiškai nustatytas į 100%.

Kita vertus, vis dar galima naudoti tik mechaninį valdymą, pvz., nutrūkus elektros energijos tiekimui.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *