Satura rādītājs
Aktualisiert – februāris 3, 2026
Mūsdienīgā malkas krāsnī parasti ir integrēta degšanas kontroles sistēma. Ja jums joprojām ir malkas krāsns bez šīs automātiskās sistēmas, varat izveidot savu vadības sistēmu kopā ar Smarthome (Raspberry Pi).
Pat ja malkas iekraušanu vēl nav iespējams automatizēt, izņemot granulu krāsnis, automatizācija nodrošina vienmērīgāku degšanu, nemainīgu temperatūru un līdz pat 30 % mazāku malkas patēriņu ar lielāku efektivitāti.
Ja jūs uzreiz „neuzdrošināsieties“, es varu jums pastāstīt, ka savulaik es jutos līdzīgi. Bet, ja jūs tuvāk iepazīsieties ar šo tēmu un iespējām, ko piedāvā, piemēram, RaspberryMatic uz Raspberry Pi, jūs drīz vien pārliecināsieties, ka jūs „to varat“!
Un, kā jau tas dzīvē bieži gadās: kopā ir labāk! Pieņemsim to risināt!
Teorija
To, ko mēs redzam ar neapbruņotu aci pēc liesmas rakstura un liesmas krāsas, nosaka augstas temperatūras sensors, kas ieskrūvēts dūmvadu caurulē aptuveni 20 cm virs sadegšanas kameras.
Atkarībā no uzturējamās temperatūras, kas ir aptuveni 200 °C, tas izmanto vienkāršu programmu Raspberry Pi, lai atvērtu un aizvērtu pieplūdes gaisa aizbīdni, kas iepriekš bija jādara manuāli - ja jūs skatījāties uz krāsni ...
Principā vienkāršs mehānisms. Mehānisms vārda tiešajā nozīmē šeit ir realizēts ar lineāro piedziņu, ko pārvieto soļu motors. Atkarībā no faktiskās temperatūras vērtības salīdzinājumā ar iestatīto vērtību soļu motors saņem informāciju par to, vai tam jāpalielina vai jāsamazina gaisa padeve, ja temperatūra ir pārāk zema. Attiecīgi pieplūdes gaisa aizbīdņa (manuālā) piedziņas svira, kas ir mehāniski savienota ar lineāro slīdni, tiek pārvietota uz priekšu vai atpakaļ, un aizbīdnis tiek atvērts vai aizvērts.
Tā kā RaspberryMatic nepiedāvā iespēju tieši adresēt soļu motoru, mēs izmantojam ESP32-IDF, nelielu datoru, kas piedāvā soļu motora kontroliera pieslēgumu un tādējādi var pārņemt tā paša kontroli.
Saziņa starp RaspberryMatic un ESP32-IDF notiek, izmantojot WLAN, kas jau ir integrēts ESP32-IDF. ESP32-IDF ir ieprogrammēts C++, Arduino IDE un ir iekļauts šajā rakstā, lai pēc dažu parametru maiņas to varētu viegli pārsūtīt.
Vieglai pārsūtīšanai ir nodrošināta arī lineārā soļu motora temperatūras un pozicionēšanas reģistrēšanas programma.
Iepirkumu saraksts
- Raspberry Pi 4 Model B Komplekts ar korpusu, ventilatoru, barošanas bloku - aptuveni 95 eiro
- SD karte 16 GB (RaspberryMatic uzstādīšanai) - apm. 10,- Euro
- RaspberryMatic (lejupielādēt) - bez maksas
(ar Aveņu Pi cepējs (Mac) vai Raspberry Pi attēlveidotājs (Windows) Kopēt uz SD karti;
Izveidot mainīgos Burning_status (Veidot Rakstzīmju virkne); Burning_flap_actual (Veidot Numurs); Burn_off_flap_desired (Veidot Numurs); 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 Rezultāts var atrast priekšpēdējā izejas rindā, piemēram, „19827“) - ESP32 izstrādes plate (piem., ESP32 DevKit V1) - aptuveni 12,- Euro.
Arduino IDE 2.x Lejupielādēt (Mac) (Windows) - CL86Y Solīšu motora draiveris (vai TB6600)*
- NEMA 17 soļu motors (200 soļi/apgriezienu)* - Komplekts aptuveni 80,- Euro
- Lineārā piedziņa 100 mm, 150 mm piemērots iepriekš minētajam soļu motora tipam aptuveni 50,- Euro
- 2x gala slēdzis (mehāniskā) - aptuveni 4,- Euro
- 48 V līdzstrāvas barošanas bloks (motoram 12A) - aptuveni 39,- Euro
- Barošanas bloks 5V DC (ESP32, piemēram, USB) - aptuveni 7,- Euro
- ELV PT1000 augstas temperatūras sensors 4 vadu Art. Nr. 258570 - aptuveni 24,- Euro
- ELV platīna temperatūras sensora saskarne - Art. Nr. 162126 - aptuveni 45,- Euro
- Misiņa cauruļu savienotājelementi M10 x 6 mm PT1000 temperatūras sensoram - aptuveni 4,- Euro
Šī ir pilnvērtīga un arī ļoti lēta alternatīva modernizācijas komplektam, kas parasti maksā no 750 līdz 1500 eiro, ja tāds vispār ir pieejams krāsnij, par kopējo cenu aptuveni 370 eiro!
Sagatavojumi
RaspberryMatic instalēšana uz SD kartes aveņu Pi 4 B ir šeit detalizēti aprakstīts, ieskaitot korpusa uzstādīšanu, ja nav iegādāts komplekts.
ESP32 - iestatīšana
macOS
1. solis: Instalējiet Arduino IDE
- Lejupielādēt:
- Iet uz: https://www.arduino.cc/en/software
- Lejupielādēt „Arduino IDE 2.x“ operētājsistēmai macOS
- Izvēlieties
.dmgIntel vai.dmgApple Silicon (M1/M2/M3)
- Uzstādīšana:
.dmgAtvērt failu- Velciet Arduino IDE programmas mapē.
- Palaist Arduino IDE
ESP32 plates atbalsta instalēšana
- Atvērt Arduino IDE
- Atvērt valdes pārvaldnieku:
- Ēdienkarte:
Arduino IDE→Iestatījumi(vaiCmd + ,) - Sadaļā „Papildu dēļu pārvaldnieka URL“ ievadiet URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Noklikšķiniet uz
LABI
- Ēdienkarte:
- Uzstādiet ESP32 plates:
- Noklikšķiniet uz dēļa ikonas kreisajā pusē (vai Izvēlnes josla
Instrumenti→Valde→Dēļu pārvaldnieks) - Meklēt:
esp32 - Uzstādīšana: „esp32 by Espressif Systems“ (versija 2.0.17 vai jaunāka)
- Pagaidiet, līdz instalēšana ir pabeigta (var aizņemt 5-10 minūtes).
- Noklikšķiniet uz dēļa ikonas kreisajā pusē (vai Izvēlnes josla
USB draiveris (līdz OS 10.14)
Ja ESP32 netiek atpazīts:
- Lejupielādēt: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Datne:
macOS_VCP_Driver.ziplejupielādēt - Instalēšana un Mac restartēšana
CH340 mikroshēmai:
- Lejupielādēt: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver
- Instalēšana un Mac restartēšana
ESP32 pieslēgšana
- ESP32 pieslēgšana, izmantojot USB
- Pārbaudes osta:
- Arduino IDE Izvēlnes josla:
Instrumenti→Osta - Izvēlieties ostu, kas līdzīga:
/dev/cu.usbserial-0001vai/dev/cu.SLAB_USBtoUARTvai/dev/cu.wchusbserial*
- Arduino IDE Izvēlnes josla:
Izvēlieties valdi
- Arduino IDE:
- Izvēlnes josla
Instrumenti→Valde→esp32→ „ESP32 Dev modulis“
- Izvēlnes josla
- Iestatījumi:
- Augšupielādes ātrums: 115200
- Zibspuldzes biežums: 80 MHz
- Zibspuldzes režīms: QIO
- Flash izmērs: 4MB (32Mb)
- Sadalījuma shēma: Noklusējuma 4MB ar papildinājumiem
Testa augšupielāde
- Atveriet parauga kodu:
- Izvēlnes josla
Faili→Piemēri→01.basics→Blink
- Izvēlnes josla
- Augšupielādēt kodu:
- Noklikšķiniet uz augšupielādes pogas (→)
- Pagaidiet, līdz parādīsies paziņojums „Savienojums...“.
- Ja „Connecting...“ ir apturēta: Nospiediet un turiet pogu BOOT uz ESP32
- Panākumi:
- „Cietā atiestatīšana, izmantojot RTS pin...“ = Ielādēšana veiksmīga!
- LED uz ESP32 vajadzētu mirgot
WINDOWS
Instalēt Arduino IDE
- Lejupielādēt:
- Iet uz: https://www.arduino.cc/en/software
- Lejupielādēt „Arduino IDE 2.x“ operētājsistēmai Windows
- Izvēlieties
.exeUzstādītājs
- Uzstādīšana:
- Palaist instalēšanas programmu (kā administrators)
- Atstājiet aktivizētas visas opcijas
- Uzstādīšanas pabeigšana
ESP32 plates atbalsta instalēšana
- Atvērt Arduino IDE
- Board Manager konfigurēšana:
- Izvēlnes josla
Faili→PreferencesSadaļā „Papildu dēļu pārvaldnieka URL“ ievadiet URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Noklikšķiniet uz
LABI
- Izvēlnes josla
- Uzstādiet ESP32 plates:
- Izvēlnes josla
Instrumenti→Valde→Dēļu pārvaldnieks - Meklēšana:
esp32 - Uzstādīšana: „esp32 by Espressif Systems“ (Versija 2.0.17+)
- Pagaidiet, līdz instalēšana ir pabeigta
- Izvēlnes josla
Instalējiet USB draiveri
Windows bieži vien automātiski neatpazīst ESP32!
CP2102/CP2104 mikroshēmai (visizplatītākā):
- Lejupielādēt:
- https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Datne:
CP210x_Universal_Windows_Driver.zip
- Uzstādīšana:
- Izpako ZIP
CP210xVCPInstaller_x64.exePalaist kā administrators- Uzstādīšanas pabeigšana
- Windows restartēšana
CH340/CH341 mikroshēmai:
- Lejupielādēt:
- Uzstādīšana:
- Izpako ZIP
CH341SER.EXEPalaist kā administrators- Noklikšķiniet uz „INSTALL“
- Windows restartēšana
Noskaidrojiet mikroshēmas tipu:
- ESP32 pieslēgšana
- Atveriet ierīču pārvaldnieku:
Windows + X→Ierīču pārvaldnieks - Savienojumi (COM un LPT) izvērst
- Meklēt:
- „Silicon Labs CP210x...“ = CP2102
- „USB-SERIAL CH340“ = CH340
- „SLAB_USBtoUART“ = CP2102
Pievienojiet ESP32 un pārbaudiet portu
- ESP32 pieslēgšana, izmantojot USB
- Uzziniet ostu:
- Izvēlnes josla
Instrumenti→Osta - Izvēlieties: COM3, COM4, COM5 utt.
- (skaits atšķiras atkarībā no sistēmas)
- Izvēlnes josla
Nav redzama osta? → Draiveris nav instalēts vai instalēts nepareizs draiveris!
Izvēlieties valdi
- Izvēlieties valdi:
Menu joslaInstrumenti→Valde→esp32→ „ESP32 Dev modulis“
- Augšupielādēt iestatījumus:
- Augšupielādes ātrums: 115200
- Zibspuldzes biežums: 80 MHz
- Zibspuldzes režīms: QIO
- Flash izmērs: 4MB (32Mb)
- Sadalījuma shēma: Noklusējuma 4MB ar papildinājumiem
Testa augšupielāde
- Iekraušanas piemērs:
- Izvēlnes josla
Faili→Piemēri→01.basics→Blink
- Izvēlnes josla
- Augšupielādēt:
- Noklikšķiniet uz augšupielādes pogas (→)
- Iespējams, „Savienošana...“. Poga BOOT turiet ESP32
- Panākumi:
- „Cietā atiestatīšana...“ = ✅ Lejupielāde veiksmīga!
Sadegšanas kontroles bibliotēkas
Automātiski iekļauts (ESP32 kodols):
- WiFi.h
- HTTPClient.h
- WebServer.h
- Preferences.h
- esp_task_wdt.h
Problēmu novēršana
Problēma: „Port nav atrasts“
Mac:
# Atveriet spaili un pārbaudiet:
ls /dev/cu.*
# Vajadzētu parādīt:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART
Windows:
- Atveriet Ierīču pārvaldnieks
- Savienojumu pārbaude (COM un LPT)
- Pārinstalēt draiveri
- Windows restartēšana
„Savienojums...“ pakāršanās
Risinājums:
- Poga BOOT Nospiediet un turiet ESP32
- Pēc tam noklikšķiniet uz pogas augšupielādēt
- Turiet nospiestu BOOT pogu, līdz parādās „Writing...“.
- Atbloķēšanas poga
Alternatīva:
- Īsi nospiediet EN pogu (atiestatīšana)
- Tad mēģiniet augšupielādēt vēlreiz
„Kļūda kompilācijā“
Bieži sastopamie cēloņi:
- Izvēlēta nepareiza padome
- ESP32 plates atbalsts nav instalēts
- Sintakses kļūda kodā
Risinājums:
- Vēlreiz pārbaudiet tāfeli:
ESP32 Dev modulis - Atvērt Board Manager → pārinstalēt esp32
Augšupielādēt darbojas, bet sērijas monitors ir tukšs
Risinājums:
- Pārbaudiet ātrumu:
- Kods:
Serial.begin(115200); - Sērijas monitors: arī 115200 Komplekts
- Kods:
- Pārbaudes osta:
- Izvēlēts pareizais COM ports?
- Nospiediet pogu LV:
- Atiestatīšana pēc augšupielādes
Kontrolsaraksts pirms pirmās augšupielādes
- [ ] Instalēta Arduino IDE
- [ ] Instalēts ESP32 plates atbalsts (versija 2.0.17+)
- [ ] Uzstādīts USB draiveris (Windows!)
- [ ] ESP32, kas savienots, izmantojot USB
- [ ] Arduino IDE redzams ports
- [ ] Izvēlēta padome: „ESP32 Dev Module“.
- [ ] Augšupielādes ātrums: 115200
- [ ] Flash izmērs: 4 MB
- [ ] Sērijas monitora baudas ātrums: 115200
- [ ] Maršrutētāja NTP atbrīvošana
NTP izlaišana
Daži maršrutētāji pēc noklusējuma ir konfigurēti bez NTP koplietošanas, kas nozīmē, ka pieprasījumi pa NTP 123 portu netiek pārsūtīti, kā rezultātā no adresētā NTP servera nevar pieprasīt datus.
Tāpēc ir jādefinē atbilstošs noteikums:

Mācību resursi
Oficiālā dokumentācija:
- ESP32 Arduino: https://docs.espressif.com/projects/arduino-esp32/
- Arduino atsauce: https://www.arduino.cc/reference/en/
Koda augšupielāde
- Atvērt failu:
- Portāls Šī faila teksta saturs tukšā(!) Arduino IDE logā
- Pielāgojiet WiFi:
const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT"; - Ievadiet XML-API token:
const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
XML API papildinājums jāinstalē RaspberryMatic. Pēc tam varat mainīt XML API papildinājuma iestatījumus, noklikšķinot uz tokenregister.cgi var ģenerēt žetonu. Žetons ir derīgs visiem turpmākajiem GUI pieteikumiem, un to veido 16 ciparu lielo un mazo burtu virkne. Tas jāievieto ESP32 kodā atbilstošā vietā. - Augšupielādēt:
- Pārbaudīt (✓) → Pārbaudīt kodu
- Augšupielādēt (→) → Augšupielādēt uz ESP32
- Atveriet seriālo monitoru:
Instrumenti→Sērijas monitors- Baud ātrums: 115200 (tiek parādīts izvēlnē RĪKI - Augšupielādes ātrums: .... pārtraukta)
- Skatīties izejas!
Nodošana ekspluatācijā
Pēc veiksmīgas iestatīšanas:
- Wi-Fi savienojuma testēšana
- Degšanas izslēgšanas kontroles koda augšupielāde
- Pievienojiet motoru un gala slēdzi
- Izveidot RaspberryMatic žetonu
- Testēšanas sistēma
ESP32 kods
Nepieciešamais kods ir pilnībā komentēts, tāpēc to var izsekot un vajadzības gadījumā pielāgot. (lejupielādēt)
ESP32 GUI
GUI to var iestatīt manuāli un nepārtraukti testa nolūkos, lai noteiktu izplūdes gāzu temperatūras atkarību no aizbīdņa atvēršanas.
Tiek novērots liesmas modelis un attiecīgajā brīdī tiek pielāgota vizuāli „piemērota“ aizbīdņa atvēršanas procentuālā vērtība. Temperatūras vērtība, kas tajā laikā nolasīta no RaspberryMatic, tiek piešķirta iestatītajai aizbīdņa atvēršanas procentuālajai vērtībai kā sākuma vērtība izmaiņām. Temperatūras vērtība tiek noteikta pēc nākamās vizuāli „nepieciešamās“ aizbīdņa atvēruma korekcijas.
Ja, piemēram, 150°C tika atzīta par sākuma punktu (no ...) atvēršanai līdz 80% un 200°C par vērtību samazināšanai līdz 45%, tad konstelācija, kas parādīta zem pirmās funkcijas OTHER IF, rada programmu „Dedzināšanas kontrole - Temperatūras kontrole“, kā ilustrēts.

„Testēšanas režīms“ tiek parādīts, ja ESP32 vēl nav pieslēgtas perifērijas ierīces un mainīgais "const bool TEST_MODE =" joprojām par „patiess“ stendi.
Mainīt uz „viltus“ atceļ testa režīmu un inicializē pieslēgtā motora atskaites režīmu, lai noteiktu sākuma un beigu stāvokļus, ko nosaka galīgie slēdži.
Tiešraides žurnālu reģistrēšana

Diagnostika

Automatizēta kļūdu apstrāde
Lai nodrošinātu nepārtrauktu un bezrūpīgu darbību, ir svarīgi pārraudzīt iespējamos kļūdu stāvokļus. Tāpēc kodā ir paredzētas šādas procedūras, lai atpazītu kļūdas un tās novērstu, izmantojot piemērotus pasākumus:
- Stack overflow apstrāde
- Pārrāvuma noteikšana
- Dalījums pēc nulles
- Limita slēdža avārijas izslēgšana
- HTTP kļūdu apstrāde
- HTTP izņēmumu apstrāde
- Veselo skaitļu pārplūdes pārbaude
- Atmiņas uzraudzība
- millis() Pārplūšana
- Motora trauksmes signāla noteikšana
- Priekšrocību atgūšana
- Pozīcijas ierobežojumi
- Aizsardzība pret ļoti garām bloķēšanas operācijām
- Telnet klienta pārvaldība
- Telnet NULL rādītājs
- Vītņu drošība
- Žetonu validēšana
- Uzraudzītāja taimeris
- Wi-Fi automātiskā atjaunošana
RaspberryMatic - Programmas
Izdegšanas kontrole
Programma
IF sistēmas statuss Burnup_Damper_Setpoint vērtību diapazonā no 0 līdz mazāk nekā 101 (procentos)
TAD SKRIPTS ... NEKAVĒJOTIES
! ESP32 IP adrese (ŠEIT PIELĀGOJIET!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";
! Iegūt sistēmas mainīgā pašreizējo vērtību
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();
! ESP32 atpakaļsaukuma URL izveide
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;
! Izsaukums uz ESP32
string cmd = "wget -q -O /dev/null '" # url # "'";
system.Exec(cmd);
! Žurnāla izvade (pēc izvēles, atkļūdošanai)
WriteLine("Uzliesmošana: Nosūtīt " # iestatījumu # "% uz ESP32 " # esp32_ip);
Dedzināšanas kontrole - Temperatūras kontrole
Programma
JA ierīces izvēle "PT1000_temperature_sensor_flue_gas" PAR AKTUĀLO temperatūru no ... līdz ...
TĀDĒĻ Sistēmas statuss Burn-off_Damper_Setpoint Nekavējoties xxx*
CITĀDI, JA ...
Šeit augšējās divas rindas tiek nepārtraukti papildinātas ar dažādiem temperatūras diapazoniem un procentuālajām vērtībām, izmantojot funkciju OTHER IF, līdz ir aptverti visi vajadzīgie diapazoni.
* xxx„ ir vēlamā atloka atvēruma procentuālā vērtība.

Lineārā piedziņa un gala slēdža komplekts
Atkarībā no pieejamās vietas zem atloka mehānisma zem tā tiek uzstādīta lineārā piedziņa, kas aprīkota ar motoru. Uz ratiņiem ir piestiprināta „dakša“, ko vārpsta kustina uz priekšu vai atpakaļ, un tajā iestiprina manuāli darbināmu mehānismu.
Svira parasti ir veidota tā, lai to varētu nedaudz pārvietot uz augšu un uz leju. „Dakšu“ garums ir attiecīgi noregulēts tā, lai sviru joprojām varētu manuāli izkustināt un nospiest pilnībā ATVĒRTU.
No vienas puses, tas kalpo, lai, pievienojot degvielu, radītu maksimālo vilkmi, ja elektroniskā vadība vēl nav pilnībā iestatīta uz 100%.
No otras puses, joprojām ir pieejama arī tīri mehāniskās darbības iespēja, piemēram, elektroenerģijas padeves pārtraukuma gadījumā.