İçindekiler tablosu
Güncellendi - 3 Şubat 2026
Modern bir odun sobası genellikle entegre bir yanma kontrol sistemine sahiptir. Eğer hala bu otomatik sisteme sahip olmayan bir odun sobanız varsa, Smarthome (Raspberry Pi) ile birlikte kendi kontrol sisteminizi kurabilirsiniz.
Pelet sobaları dışında odun yüklemesini otomatikleştirmek henüz mümkün olmasa bile, otomasyon daha eşit bir yanma, sabit sıcaklıklar ve daha yüksek verimlilikle 30 %'ye kadar daha düşük odun tüketimi sağlar.
Eğer hemen „cesaret edemezseniz“, bir zamanlar benim de aynı şekilde hissettiğimi söyleyebilirim. Ancak konuya ve RaspberryMatic'in Raspberry Pi üzerinde sunduğu olanaklara daha yakından bakarsanız, örneğin, kısa sürede „yapabileceğinize“ ikna olacaksınız!
Ve hayatta sık sık olduğu gibi: birlikte daha iyi! Hadi üstesinden gelelim!
Teori
Alev deseninden ve alevin renginden çıplak gözle görebildiklerimiz, yanma odasının yaklaşık 20 cm yukarısında baca gazı borusuna vidalanmış bir yüksek sıcaklık sensörü tarafından algılanır.
Yaklaşık 200 °C'de tutulması gereken sıcaklığa bağlı olarak, daha önce manuel olarak yapılması gereken besleme havası kapağını açmak ve kapatmak için Raspberry Pi üzerindeki basit bir programı kullanır - eğer fırına bakıyorsanız ...
Prensip olarak basit bir mekanizma. Mekanizma, kelimenin tam anlamıyla, burada bir step motor tarafından hareket ettirilen doğrusal bir tahrik aracılığıyla gerçekleştirilir. Gerçek sıcaklık değerinin ayar noktası değeriyle karşılaştırılmasına bağlı olarak step motor, sıcaklık çok düşükse besleme havasını artırması veya azaltması gerektiği bilgisini alır. Buna göre, doğrusal kızağa mekanik olarak bağlı olan besleme havası damperinin (manuel) çalıştırma kolu ileri veya geri hareket ettirilir ve damper açılır veya kapatılır.
RaspberryMatic bir step motoru doğrudan adresleme imkanı sunmadığından, bir step motor kontrolörü bağlantısı sunan ve böylece aynı motorun kontrolünü devralabilen küçük bir bilgisayar olan ESP32-IDF ile idare ediyoruz.
RaspberryMatic ve ESP32-IDF arasındaki iletişim, ESP32-IDF'ye zaten entegre edilmiş olan WLAN üzerinden gerçekleşir. ESP32-IDF, C++, Arduino IDE'de programlanmıştır ve birkaç parametreyi değiştirdikten sonra kolay aktarım için bu makaleye dahil edilmiştir.
Doğrusal step motorun sıcaklığını ve konumlandırmasını kaydetmek için program da kolay aktarım için sağlanmıştır.
Alışveriş listesi
- Raspberry Pi 4 Model B Gövde, fan, güç kaynağı ünitesi ile set - yaklaşık 95 Euro
- SD kart 16 GB (RaspberryMatic kurulumu için) - yaklaşık 10,- Euro
- RaspberryMatic (İndir) - ücretsiz
(ile Raspberry Pi Fırıncı (Mac) veya Raspberry Pi Görüntüleyici (Windows) SD karta kopyalayın;
Değişkenler oluşturun Burning_status (Tip Karakter dizisi); Burning_flap_actual (Tip Sayı); Burn_off_flap_desired (Tip Sayı); 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 Sonuç sondan bir önceki çıktı satırında bulunabilir, örneğin „19827“) - ESP32 Geliştirme Kartı (örn. ESP32 DevKit V1) - yaklaşık 12,- Euro
Arduino IDE 2.x İndir (Mac) (Pencereler) - CL86Y Step motor sürücüsü (veya TB6600)*
- NEMA 17 step motor (200 adım/devir)* - Set yaklaşık 80,- Euro
- Doğrusal tahrik 100 mm, 150 mm yukarıda belirtilen step motor tipi için uygun yaklaşık 50,- Euro
- 2x limit anahtarı (mekanik) - yaklaşık 4,- Euro
- 48V DC güç kaynağı ünitesi (12A motor için) - yaklaşık 39,- Euro
- Güç kaynağı ünitesi 5V DC (ESP32 için, örn. USB) - yaklaşık 7,- Euro
- ELV PT1000 yüksek sıcaklık sensörü 4 telli Art. No. 258570 - yaklaşık 24,- Euro
- ELV platin sıcaklık sensörü arayüzü - Sanat. No. 162126 - yaklaşık 45,- Euro
- Pirinç boru bağlantı parçası M10 x 6 mm PT1000 sıcaklık sensörü için - yaklaşık 4,- Euro
Toplamda yaklaşık 370 avroya mal olan bu ürün, genellikle 750 ila 1.500 avroya mal olan bir güçlendirme kitine (eğer soba için varsa) tam teşekküllü ve aynı zamanda çok ucuz bir alternatiftir!
Hazırlıklar
RaspberryMatic'in Raspberry Pi 4 B için SD karta yüklenmesi şu şekildedir Burada kit satın alınmamışsa muhafaza montajı da dahil olmak üzere ayrıntılı olarak açıklanmıştır.
ESP32 - Kurulum
macOS
Adım 1: Arduino IDE'yi yükleyin
- İndirin:
- Git: https://www.arduino.cc/en/software
- macOS için „Arduino IDE 2.x“ indirin
- Seçin
.dmgIntel için veya.dmgApple Silicon için (M1/M2/M3)
- Kurulum:
.dmgDosya aç- Arduino IDE'yi program klasörüne sürükleyin
- Arduino IDE'yi başlatın
ESP32 Kart Desteğini Yükleme
- Açık Arduino IDE
- Açık Kurul Müdürü:
- Menü:
Arduino IDE→Ayarlar(veyaCmd + ,) - URL'leri „Ek pano yöneticisi URL'leri“ altına girin:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Tıklayınız
TAMAM.
- Menü:
- ESP32 kartlarını takın:
- Soldaki pano simgesine tıklayın (veya Menü çubuğu
Araçlar→Yönetim Kurulu→Kurullar Müdürü) - Arayın:
esp32 - Yükle: „Espressif Systems tarafından esp32“ (Sürüm 2.0.17 veya daha yeni)
- Kurulum tamamlanana kadar bekleyin (5-10 dakika sürebilir)
- Soldaki pano simgesine tıklayın (veya Menü çubuğu
USB sürücüsü (OS 10.14'e kadar)
ESP32 tanınmazsa:
- İndirin: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Dosya:
macOS_VCP_Driver.zipİndir - Mac'i yükleme ve yeniden başlatma
CH340 çipi için:
- İndirin: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver
- Mac'i yükleme ve yeniden başlatma
ESP32'nin Bağlanması
- ESP32'yi USB üzerinden bağlayın
- Kontrol noktası:
- Arduino IDE Menü çubuğu:
Araçlar→Liman - Şuna benzer bir bağlantı noktası seçin:
/dev/cu.usbserial-0001veya/dev/cu.SLAB_USBtoUARTveya/dev/cu.wchusbserial*
- Arduino IDE Menü çubuğu:
Yönetim kurulu seçin
- Arduino IDE:
- Menü çubuğu
Araçlar→Yönetim Kurulu→esp32→ „ESP32 Dev Modülü“
- Menü çubuğu
- Ayarlar:
- Yükleme Hızı: 115200
- Flaş Frekansı: 80MHz
- Flaş Modu: QIO
- Flaş Boyutu: 4MB (32Mb)
- Bölme Şeması: Spiff'lerle birlikte varsayılan 4MB
Test yüklemesi
- Örnek kodu açın:
- Menü çubuğu
Dosya→Örnekler→01.temel bilgiler→Göz kırpma
- Menü çubuğu
- Yükleme kodu:
- Yükle düğmesine tıklayın (→)
- „Bağlanıyor...“ görünene kadar bekleyin
- „Bağlanıyor...“ kilitlenirse: ESP32 üzerindeki BOOT düğmesine basın ve basılı tutun
- Başarılar:
- „RTS pini üzerinden sert sıfırlama...“ = Yükleme başarılı!
- ESP32 üzerindeki LED yanıp sönmelidir
PENCERELER
Arduino IDE'yi yükleyin
- İndirin:
- Git: https://www.arduino.cc/en/software
- Windows için „Arduino IDE 2.x“ İndirin
- Seçin
.exeYükleyici
- Kurulum:
- Yükleyiciyi çalıştırın (yönetici olarak)
- Tüm seçenekleri etkin bırakın
- Kurulumu tamamlayın
ESP32 Kart Desteğini Yükleme
- Açık Arduino IDE
- Board Manager'ı yapılandırın:
- Menü çubuğu
Dosya→TercihlerURL'leri „Ek pano yöneticisi URL'leri“ altına girin:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json- Tıklayınız
TAMAM.
- Menü çubuğu
- ESP32 kartlarını takın:
- Menü çubuğu
Araçlar→Yönetim Kurulu→Kurullar Müdürü - Arayın:
esp32 - Yükle: „Espressif Systems tarafından esp32“ (Sürüm 2.0.17+)
- Kurulum bitene kadar bekleyin
- Menü çubuğu
USB sürücüsünü yükleme
Windows genellikle ESP32'yi otomatik olarak TANIMAZ!
CP2102/CP2104 çipi için (en yaygın):
- İndirin:
- https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
- Dosya:
CP210x_Universal_Windows_Driver.zip
- Kurulum:
- ZIP paketini aç
CP210xVCPInstaller_x64.exeYönetici olarak çalıştır- Kurulumu tamamlayın
- Windows'u Yeniden Başlat
CH340/CH341 çipi için:
- İndirin:
- Kurulum:
- ZIP paketini aç
CH341SER.EXEYönetici olarak çalıştır- „KUR“ üzerine tıklayın“
- Windows'u Yeniden Başlat
Çip tipini öğrenin:
- ESP32'nin Bağlanması
- Aygıt Yöneticisini açın:
Windows + X→Aygıt Yöneticisi - Bağlantılar (COM ve LPT) açılmak
- Arayın:
- „Silicon Labs CP210x...“ = CP2102
- „USB-SERIAL CH340“ = CH340
- „SLAB_USBtoUART“ = CP2102
ESP32'yi bağlayın ve bağlantı noktasını kontrol edin
- ESP32'yi USB üzerinden bağlayın
- Limanı bulun:
- Menü çubuğu
Araçlar→Liman - Seçin: COM3, COM4, COM5 vs.
- (sayı sisteme bağlı olarak değişir)
- Menü çubuğu
Port görünmüyor mu? → Sürücü yüklü değil veya yanlış sürücü!
Yönetim kurulu seçin
- Seçim kurulu:
Menü çubuğuAraçlar→Yönetim Kurulu→esp32→ „ESP32 Dev Modülü“
- Yükleme ayarları:
- Yükleme Hızı: 115200
- Flaş Frekansı: 80MHz
- Flaş Modu: QIO
- Flaş Boyutu: 4MB (32Mb)
- Bölme Şeması: Spiff'lerle birlikte varsayılan 4MB
Test yüklemesi
- Yük örneği:
- Menü çubuğu
Dosya→Örnekler→01.temel bilgiler→Göz kırpma
- Menü çubuğu
- Yükle:
- Yükle düğmesine tıklayın (→)
- „Bağlanıyor...“ için muhtemelen. BOOT düğmesi ESP32 üzerinde tutun
- Başarılar:
- „Sert sıfırlama...“ = ✅ Yükleme başarılı!
Yanma kontrolü için kütüphaneler
Otomatik olarak dahil edilir (ESP32 Çekirdek):
- WiFi.h
- HTTPClient.h
- WebServer.h
- Preferences.h
- esp_task_wdt.h
Sorun Giderme
Sorun: „Bağlantı noktası bulunamadı“
Mac:
# Terminali açın ve kontrol edin:
ls /dev/cu.*
# Gösterilmelidir:
/dev/cu.usbserial-XXXX
/dev/cu.SLAB_USBtoUART
Pencereler:
- Aygıt Yöneticisini Açın
- Bağlantıları kontrol edin (COM ve LPT)
- Sürücüyü yeniden yükleyin
- Windows'u Yeniden Başlat
„Bağlanıyor...“ askıda kalıyor
Çözüm:
- BOOT düğmesi ESP32'ye basın ve basılı tutun
- Ardından yükle düğmesine tıklayın
- „Yazılıyor...“ görüntülenene kadar BOOT düğmesini basılı tutun
- Serbest bırakma düğmesi
Alternatif:
- EN düğmesine kısaca basın (sıfırlama)
- Sonra tekrar yüklemeyi deneyin
„Derleme hatası“
Yaygın nedenler:
- Yanlış kart seçildi
- ESP32 Kart Desteği yüklü değil
- Kodda sözdizimi hatası
Çözüm:
- Panoyu tekrar kontrol edin:
ESP32 Dev Modülü - Board Manager'ı açın → esp32'yi yeniden yükleyin
Yükleme çalışıyor, ancak seri monitör boş
Çözüm:
- Baud hızını kontrol edin:
- Kod:
Serial.begin(115200); - Seri Monitör: Ayrıca 115200 Set
- Kod:
- Kontrol noktası:
- Doğru COM bağlantı noktası seçildi mi?
- EN düğmesine basın:
- Yüklemeden sonra sıfırla
İlk yüklemeden önce kontrol listesi
- [ ] Arduino IDE yüklü
- [ ] ESP32 Kart Desteği yüklü (Sürüm 2.0.17+)
- [ ] USB sürücüsü yüklü (Windows!)
- [ ] USB üzerinden bağlı ESP32
- [ ] Arduino IDE'de görünen port
- [ ] Kart: „ESP32 Dev Modülü“ seçildi
- [ ] Yükleme Hızı: 115200
- [ ] Flaş Boyutu: 4MB
- [ ] Seri Monitör Baud hızı: 115200
- [ ] Yönlendirici NTP sürümü
NTP sürümü
Bazı yönlendiriciler varsayılan olarak NTP paylaşımı olmadan yapılandırılmıştır, bu da NTP bağlantı noktası 123 üzerinden gelen isteklerin iletilmediği ve sonuç olarak adreslenen NTP sunucusundan hiçbir veri talep edilemeyeceği anlamına gelir.
Bu nedenle ilgili bir kural tanımlanmalıdır:

Öğrenme kaynakları
Resmi belgeler:
- ESP32 Arduino: https://docs.espressif.com/projects/arduino-esp32/
- Arduino referansı: https://www.arduino.cc/reference/en/
Kod yükle
- Dosyayı aç:
- Bu Bu dosyanın metin içeriği boş(!) Arduino IDE penceresine
- WiFi'yi özelleştirin:
const char* WIFI_SSID = "DEIN_WIFI"; const char* WIFI_PASSWORD = "DEIN_PASSWORT"; - XML-API belirtecini girin:
const char* XML_API_TOKEN = "DEIN_TOKEN_HIER";
XML API eklentisi RaspberryMatic'e yüklenmelidir. Daha sonra XML API eklentisinin ayarlarını aşağıdakilere tıklayarak değiştirebilirsiniz tokenregister.cgi bir belirteç oluşturulabilir. Belirteç gelecekteki tüm GUI girişleri için geçerlidir ve büyük ve küçük harflerden oluşan 16 karakterlik bir diziden oluşur. ESP32 kodunda uygun konuma yerleştirilmelidir. - Yükle:
- Doğrula (✓) → Kodu kontrol et
- Yükle (→) → ESP32'ye yükle
- Seri Monitörü açın:
Araçlar→Seri Monitör- Baud hızı: 115200 (ARAÇLAR menüsü altında görüntülenir - Yükleme Hızı: .... durduruldu)
- Çıkışı izleyin!
Devreye alma
Başarılı kurulumdan sonra:
- WiFi bağlantısını test edin
- Yanma kontrol kodunu yükle
- Motor ve limit anahtarını bağlayın
- RaspberryMatic belirteci oluştur
- Test sistemi
ESP32 Kodu
Gerekli kod tamamen yorumlanmıştır ve bu nedenle izlenebilir ve gerekirse özelleştirilebilir. (İndir)
ESP32 GUI
GUI'de bu, egzoz gazı sıcaklığının damper açıklığına bağımlılığını belirlemek için test amacıyla manuel ve sürekli olarak ayarlanabilir.
Alev paterni gözlemlenir ve ilgili zamanda damper açıklığının görsel olarak „uygun“ yüzde değeri ayarlanır. RaspberryMatic'ten o anda okunan sıcaklık değeri, değişiklik için başlangıç değeri olarak damper açıklığının ayarlanan yüzde değerine atanır. Sıcaklık değeri, damper açıklığının bir sonraki görsel olarak „gerekli“ düzeltmesinden kaynaklanır.
Örneğin, 80%„ye açma için 150°C başlangıç noktası (...'den) ve 45%'ye indirgeme için 200°C değer olarak kabul edilirse, ilk DİĞER EĞER fonksiyonu altında gösterilen konstelasyon "Yanma kontrolü - Sıcaklık kontrolü“ resimde gösterildiği gibi.

„ESP32“ye henüz hiçbir çevre birimi bağlanmamışsa ve değişken "const bool TEST_MODE =" hala „gerçek“ duruyor.
„ olarak değiştirin„Yanlış“ test modunu iptal eder ve limit anahtarları tarafından tanımlanan başlangıç ve bitiş konumlarını belirlemek için bağlı motorun referans çalışmasını başlatır.
Canlı kayıt

Teşhis

Otomatik hata işleme
Olası hata durumlarını yakalamak, sürekli ve sorunsuz çalışma için çok önemlidir. Bu nedenle kod, hataları tanımak ve uygun önlemleri kullanarak düzeltmek için aşağıdaki rutinlerle donatılmıştır:
- Yığın taşmasının tedavisi
- Brownout algılama
- SIFIR ile Bölme
- Limit anahtarı acil kapatma
- HTTP Hata İşleme
- HTTP İstisna İşleme
- Tamsayı taşma kontrolü
- Bellek izleme
- millis() Taşması
- Motor alarmı algılama
- Tercih Kurtarma
- Pozisyon kısıtlamaları
- Çok uzun engelleme işlemlerine karşı koruma
- Telnet İstemci Yönetimi
- Telnet NULL işaretçisi
- İplik güvenliği
- Jeton doğrulama
- Watchdog zamanlayıcı
- WiFi Otomatik Yeniden Bağlanma
RaspberryMatic - Programlar
Yanma kontrolü
Program
IF sistem durumu Burnup_Damper_Setpoint 0 ve 101'den küçük değer aralığında (yüzde)
SONRA SENARYO ... HEMEN
! ESP32 IP adresi (BURAYA ÖZELLEŞTİRİN!)
string esp32_ip = "IP_Adresse_ESP32_eingeben";
! Sistem değişkeninin mevcut değerini al
var sollwert = dom.GetObject("Abbrand_Klappe_Soll").Value();
! ESP32 geri çağrısı için URL oluşturun
string url = "http://" # esp32_ip # "/setSoll?value=" # sollwert;
! ESP32'yi arayın
string cmd = "wget -q -O /dev/null '" # url # "'";
system.Exec(cmd);
! Günlük çıktısı (isteğe bağlı, hata ayıklama için)
WriteLine("Burn-up: Send " # setpoint # "% to ESP32 " # esp32_ip);
Yanma kontrolü - Sıcaklık kontrolü
Program
EĞER cihaz seçimi "PT1000_temperature_sensor_flue_gas" GERÇEK sıcaklık için ... ila ...
SONRA Sistem durumu Burn-off_Damper_Setpoint HEMEN xxx*
AKSI TAKDIRDE ...
Burada, üstteki iki satır, gerekli tüm aralıklar kapsanana kadar bir DİĞER EĞER işlevi kullanılarak farklı sıcaklık aralıkları ve yüzde değerleri ile sürekli olarak tamamlanır.
* xxx„ kanat açıklığının istenen yüzde değeridir.

Lineer aktüatör ve limit anahtarı grubu
Klape mekanizmasının altındaki mevcut alana bağlı olarak, motorla donatılmış doğrusal tahrik altına monte edilir. Taşıyıcıya bir „çatal“ takılır ve bu çatal, elle çalıştırılan mekanizmanın içine geçtiği mil tarafından ileri veya geri hareket ettirilir.
„Kol“ genellikle hafifçe yukarı ve aşağı hareket ettirilebilecek şekilde tasarlanmıştır. „Çatalların“ uzunluğu buna göre ayarlanır, böylece kol hala manuel olarak hareket ettirilebilir ve tamamen AÇIK konuma itilebilir.
Bir yandan bu, elektronik kontrol henüz 100%'ye tam olarak ayarlanmamışsa yakıt eklerken maksimum hava akımı oluşturmaya yarar.
Öte yandan, örneğin bir güç kaynağı arızası durumunda tamamen mekanik çalışma seçeneği hala mevcuttur.