Skip to content

MartinP1/ESP8266_MQTT_THERMOSTAT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

126 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ein Heizkörperthermostat auf Basis eines ESP8266 und MQTT

English version

Projektstand

Das Projekt ist seit mehreren Jahren im operativen Einsatz.

  • Temperaturmessung über 3 Sensoren, Weitergabe der Werte über MQTT
  • Zuspielen der Solltemperatur über MQTT auf den ESP
  • Ansteuerung von Lüftern, die den Heizkörper von unten zur Erhöhung der Heizleistung anblasen (PWM)
  • Zeitplan für Änderung der Solltemperatur (realisiert über ein ioBroker Blockly Skript)
  • Preferences library für Gerätekonfiguration über MQTT (kein hartverdrahteter Device Name im Quellcode mehr!)
  • Fensterkontakt
  • OTA Library für den OTA-Update der Firmware

Hardwareübersicht

  • ESP basierte Hardware - es werden drei Module unterstützt.

    • D1 Mini (ESP8266) Probleme mit instabiler Spannungsversorgung (Arduino IDE "D1 Mini")
    • D1 Mini (ESP32 - seit 1.12.2023 - Arduino IDE "WEMOS D1 MINI ESP32")
    • S2 Mini (ESP32 - seit 1.12.2023 ) Neue Empfehlung!
  • 12 V DC Spannungsversorgung - Ein Tisch-Netzteil von der Resterampe von www.pollin.de 12V / 2,3A.

  • Danfoss Stellantrieb Thermot 230 V AC, M30x1,5 NC stromlos geschlossen 088H3220 ca 10 €

    • angesteuert über ein Kleinrelais
  • 4 Arctic 80 mm Gehäuselüfter (3 Pin habe ich gekauft, wahrscheinlich wäre 4 Pin die bessere Wahl gewesen) blasen den Heizkörper von unten an

  • 3 DS 18B20 Thermosensoren von Shelly https://www.pollin.de/p/shelly-temperMQTT_PUB_DEV_PREFIXatursensor-ds18b20-591021

    • zur Messung von Zulauf- und Ablauftemperatur des Heizkörpers und der Raumtemperatur

Schaltplan

Das Prototyp-System ist stillgelegt, aktuell läuft V1 einer Kicad-Leiterplatte. Mindestausstattung wäre ein Thermosensor für die Raumtemperatur und ein Schaltrelais für die Ansteuerung des Ventil-Stellgliedes...

Unsortiertes

Lüfter-Aufrüstung

Inzwischen laufen acht 80 mm Lüfter unter dem Heizkörper - Blasen in die Lücke zwischen den Platten Dazu noch 6 50 mm Lüfter, die in die Zwischenraum zwischen der Wand und dem Heizkörper blasen

Volle Luefteraussstattung

Stromaufnahme ca 1,2 A, 11,1 V PWM-Frequenz 8 kHz Die hinzugekommenen 80mm Lüfter sind BLDC Typen. Laufen nicht unter PWM -> Glätten ist angesagt..

Ein simpler 220 uF Elko schafft das. Wird aber heiß da fehlt wohl noch eine Induktivität, um die Stromspitzen vom Eko fernzuhalten...

Rechnung

1,2A/8000 Hz = 0,00015 As Spannungeinbruch um 7 V (Auf 5 V)

0,00015 As / 7 V = 22 μF

220 μF passt schon

Induktivität 2 A Max Vs/A - 220 μH????

Schaltung aufgebaut, funktioniert. Glättet das Signal ziemlich gut, Lüfter laufen alle, aber die Spannungen sind deutlich geringer, als ohne Induktivität

Elektrolytkondensator 220 μF, (Grabbelkiste) Induktivität 330 μH Von Amazon

sourcing map 5 Stück Ringkern Induktivität Kupferspule magnetische Induktivität 330uH 5A für DIY Platine

Messung: Full-Power Strom 1,16 A

PWM Spannung Bemerkung
255 10.9 V Laut
250 9.6 V
240 9.2 V Hörbar
220 8.3 V
200 7.2 V Leise
180 6.5 V
165 5.7 V Unhörbar
150 5.1 V
Darunter x Verschiedene Lüfter stehen still

PWMKURVE

Was fehlt noch

  • Schaltplanänderung in Kicad nachpflegen, zur Stabilitätsverbesserung werden die DS18B20 jetzt mit 5 V versorgt

Verbesserungen - was würde ich in der Serie anders machen

  • 4 Pin Lüfter?
  • 24 V Variante des Danfoss Stellantriebs über DCDC Wandler mit Enable-Eingang?
  • Full Fan speed konfigurierbar (255 scheint zu schnell zu sein ...)
  • Neues Leiterplattenlayout mit 230 V Spannungsversorgung und Schaltrelais Solid State Relay (für PWM) für Danfoss-Stellglied
  • Migration des Projekts von Arduino-IDE auf PlatformIO

Worklog

  • JAN-2024 Start der Nutzung der Preferences Bibliothek
  • MAR-2025 Diverse Code-Korrekturen bzgl. der Temperatursensoren.
  • SEP-2025
    • ASYNC_TCP issues fixed use AsyncTCP by ESP32Async 3.4.7
    • OTA Update librariy added
  • OCT-2025
  • FEB-2026
    • changed behaviour on desired throttle speed (1.2.5)
    • p-controller on room temp diff between -hyst and 0 (1.2.6)

Bugs

  • serial logging does not work reliable any more since 1.2.6 -> fixed by updating ESP32 board lib from 3.3.5 to 3.3.6

Unklarheiten

Wenn man den Client an einen Mosquitto anschließt, und beim Schreiben des Mosquittos immer den Wert "Echoed" passieren komische Sachen. Beim MQTT-Adapter des ioBroker nicht ...

Wenn nach der Verbindungsaufnahme mit dem Broker vom Broker eine Null für den Wert kommt, ein Publish mit den "Werkseinstellungen" machen?

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors