Steuerung: Warmwasser und Heizung
Inhaltsverzeichnis
1 Anforderungen
1.1 Schalt-Ausgänge
Zweck | Art | U [V] | Imax [A] |
---|---|---|---|
Umwälzpumpe Heizung 1 | Relais | 230 | 1 |
Umwälzpumpe Heizung 2 (optional) | Relais | 230 | 1 |
Umwälzpumpe Warmwasser-Wärmetauscher | Relais | 230 | 1 |
Heizelement Warmwasser | Relais | 230 | 16 |
1.2 Meß-Eingänge
Anz. | Art | Ort | Technologie |
---|---|---|---|
1 | Temp | Warmwasserspeicher oben/innen | One-Wire |
1 | Temp | Warmwasserspeicher Vorlauf | One-Wire |
1 | Temp | Warmwasserspeicher Rücklauf | One-Wire |
1 | Temp | Warmw. Wärmetauscher-Zulauf | One-Wire |
1 | Temp | Warmw. Wärmetauscher-Ablauf | One-Wire |
1 | Temp | Heizkessel Heizkreise Vorlauf | One-Wire |
1 | Temp | Heizkessel Rücklauf | One-Wire |
4 - n | Temp | div. Räume | Funk? |
In der folgende Abbildung markieren die Buchstaben „T“ jeweils Meßpunkte für die Temperatur.
2 Sensoren
2.1 Temperatur Flüssigkeiten
Für Temperaturmessungen an den Rohren:
- 1-Wire DS18B20
2.2 Durchfluß
Aus Fluß und Temperaturdifferenz könnte man die transportierten Wärmen bestimmen - interessant, aber den Fluß zuverlässig und automatisch zu messen ist auf den ersten Blick zu teuer.
2.3 Raumtemperatur und Luftfeuchtigkeit
- DHT 11
- DHT 22
- etwas genauer und billiger: Aosong AM2303 oder AM2302 (nicht so genau wie 2303, sonst identisch) und AM2305 (andere Bauform, besser geeignet für abgesetzte Sensoren)
- HTU-21, Si7021-Module: https://www.silabs.com/Support%20Documents%2FTechnicalDocs%2FSi7021-A20.pdf
- weitgehend ähnlich, aber nicht baugleich
- Si7021 haben meist eine dampfdurchlässige Teflon-Folie über dem Sensor, die ihn vor anderen Umwelteinflüssen schützen soll
- signifikant niedrigere Stromaufnahme
- Hygrometer genauer als DHT 22 und Aosong, kein Clamping bei hohen Luftfeuchtigkeiten und mittelfristg auch wesentlich weniger Drift
- eingebaute Heizung, um gegebenenfalls den Sensor neu zu konditionieren
- Bosch BME280: https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf
- Luftfeuchte, Temperatur und Luftdruck
- kostet etwas mehr
- SPI und I²C
- äußerst stromsparend
- Hygrometer genauer als DHT 22 und Aosong, kein Clamping bei hohen Luftfeuchtigkeiten und mittelfristg auch wesentlich weniger Drift
- Texas Instruments HDC 180
- im wesentlichen genau und stromsparend wie BME280 bzw. Si7021
- eingebaute Heizung, um gegebenenfalls den Sensor neu zu konditionieren
- teurer
Eine weitere Übersicht über die Genauigkeit der verschiedenen Sensoren findet man zum Beispiel in http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
2.4 Benutzung des Zimmers
2.5 1-Wire Interface
Abbildung 2: 1-Wire Interface
2.5.1 Info im Internet
- http://www.fischer-net.de/hausautomation/haustechnik/1-wire/36-heiz-und-warmwasserkreis-ueberwachen.html
- http://www.linux-magazin.de/Ausgaben/2010/03/Auf-Draht
- http://www.linux-magazin.de/Ausgaben/2006/03/Ist-das-nicht-cool
- http://ccc.zerties.org/index.php/Onewire-Temperatursensor_zur_Abfrage_von_Schaltzust%C3%A4nden
- http://www.mikrocontroller.net/articles/Temperatursensor#DS18S20_.2F_DS18B20
- http://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html
- http://www.1wire.org/Files/Articles/1-Wire-Design%20Guide%20v1.0.pdf
- http://www.fhemwiki.de/wiki/Interfaces_f%C3%BCr_1-Wire
- http://hb.ikma.de/index.php?title=Brauen_mit_Linux%2C_web20mash_und_1-Wire
- http://www.eservice-online.de/out/media/1WireSteckerbelegung.pdf
- http://www.jon00.me.uk/onewireintro.shtml
- http://www.sheepwalkelectronics.co.uk/info-wiring.shtml
- http://www.homenetworkenabled.com/content.php?179-Making-your-own-Temp-1Wire-Temperature-sensor-with-RJ11-interface
- http://linux-sunxi.org/1-Wire
mit Arduino:
von Maxim:
- Serial Digital Data Networks
- Guidelines for Reliable Long Line 1-Wire Networks
- Using a UART to Implement a 1-Wire Bus Master
- Choosing the Right 1-Wire® Master for Embedded Applications
Kabelbelegung:
Händler mit interesanten (Teil-)Fertig-lösungen
- http://www.eservice-online.de/1-Wire-Bus/1-Wire-Temperatursensor/
- http://www.fuchs-shop.com/de/shop/6/1/13372358
- http://www.fuchs-shop.com/de/shop/6/1/13372475/
- http://www.neuhold-elektronik.at/catshop/product_info.php?cPath=41_178&products_id=4498
- http://www.neuhold-elektronik.at/catshop/product_info.php?cPath=41_178&products_id=4497
2.5.2 Software
- python-ownet
3 elektrische Heizung
- http://www.amazon.de/Elektroheizstab-Heizpatrone-Heizstab-kW-230V/dp/B00974CAMQ/ref=pd_sim_sbs_diy_5?ie=UTF8&refRID=12NYRXHWZNC0C0G6BERX
- http://www.amazon.de/dp/B00E0H2HH8/ref=asc_df_B00E0H2HH818004862?smid=A1QO6EU87M4LJQ&tag=geizhals10-21&linkCode=asn&creative=22506&creativeASIN=B00E0H2HH8
- http://www.solarbayer.de/Elektroheizstab.html
- http://www.ebay.at/sch/i.html?_nkw=einschraubheizk%C3%B6rper&clk_rvr_id=608852232606&adpos=1s7&MT_ID=185&crlp=32872353380_2758136&device=c&geo_id=35246&keyword=einschraubheizk%C3%B6rper&crdt=0
- Vorrangschaltung notwendig, um mit dem Warmwasserspeiche im alten Bad den Nachtstromanschluss zu teilen:
4 Pumpensteuerung
Es gibt im wesentlichen zwei verschienden Arten von Pumpen:
- klassische Umwälzpumpen (mit einphasigem Nassläufermotor)
- Hocheffizienzpumpen mit meist stufenlos regelbarer Drehzahl - diese haben
manchmal durch ihre Gleichspannungsnetzteile kurzzeitig sehr hohe
Einschaltströme (>> 50A), die gelegentlich die Relais-Kontakte der
Steuergeräte verschweißen lassen. Abhilfe dagegen:
- Relais steuert einen Schütz (unnötig aufwendig)
- Opfer-Relais (nicht grade elegant)
- elektronisches Relais, das nur im Nullduchgang schaltet und Snubber-Netzwerk
- Gelegentlich haben diese Pumpen einen Steuereingang (0-10V?), am besten wird es sein, diesen zu verwenden und die Versorgungsspannung der Pumpen gar nicht zu schalten
- Manche dieser Pumpen sind selbst intelligent genug, über Differenzdruckmessung und Vorlauftemperatur ihr Leistung zu regeln - diese benötigen eventuell gar keine eigene Regelung. Auch in dem Fall wäre eine Strommessung interessant, um den Betriebszustand der Pumpe zu kennen.
4.1 vorhandenen Pumpen
Vorläufig sind in unserer Installation nur klassische Umwälzpumpen vorhanden:
- WILO - Smart A25/4 (ROW), Art.Nr.: 4132506/12W35
- Grundfos UPS 25/4 180mm (25-45 Watt?)
- realer Verbrauch vor dem Ausfall am ~60W
- Ersatz durch Grundfos ALpha2 25/40 180mm
4.2 elektrische Parameter
- Anlaufstrom der Pumpen max. …. A
- typ. Strom in Betrieb zwischen …. und …. Ampere
- daher sind folgend Relais geeignet: ….
- durch Überwachung des Pumpenstroms (Genauigkeit +- 5% völlig ausreichend)
könnte man wichtige Störszenarien erfassen:
- Pumpe steckt: Betriebstrom ungefähr gleich Anlaufstrom
- Motor-Wicklung defekt: kein Strom
- Pumpe läuft trocken: weniger Strom als normal
4.3 logische Randbedingungen
- Die Pumpe soll nur laufen wenn es thermisch sinnvoll ist.
- Pumpe soll nicht zu lange stehen, um festsetzen zu verhindern: jede Woche mindestens 1 Minute Laufzeit am Stück. Die Steuerung braucht daher einen Zeitbegriff.
- Sollen die Pumpen bei Ausfall der Steuerung laufen oder stehen?
4.4 Anzeige von Parametern
- Störungen
- Pumpen und Heizelement:
- Status: an/aus
- wie lange ist die Pumpe bereits im selben Status
- duty cycle der letzten 24 Stunden bzw. der letzten Woche in Prozent
- Temperaturen
- im Speicher
- Heizschlange bzw. Kessel
4.5 Relais
4.5.1 Anforderungen
- sauberes Schalten, möglichst im Nulldurchgang –> elektronisches Relais
- unterdrücken von Spannungsspitzen durch induktive Lasten - wird bei fast allen gefundenen Entwürfen ignoriert
- Strommessung zur möglichst frühzeitigen Erkennung von Problemen
- nice to have: Leistungsmessung (eff. undf Blindleistung) - schwieriger zu realisieren wegen der notwendigen galvanischen Trennung
4.5.2 Entwürfe
- Wieviel Strom braucht das Solid State-Relais?
- Wieviel Strom liefert das Board OLinuxIno an GPIO-Ports?
- Ist es besser die Indikator-LED mit der LED im SS-Relais in Serie
schalten? Man könte einen Vorwiderstand mit den zugehörigen Verlusten
sparen, aber:
- Ist der Betriebstrom bei beiden LEDs annähernd gleich?
- Reicht die Spannung für beide LEDs?
Alternative http://www.mikrocontroller.net/articles/I2C-Schaltmodul
4.5.3 Abkürzung
Um zu verhindern daß daraus ein ewiges Bastelprojekt ohne Chance auf Einsatz wird, hab ich vorläufig eine über USB steuerbare Steckdosenleiste EnerGenie EG-PM2 und sispmctl verwendet. Unpraktischerweise liegt der USB Anschluss gegenüber dem Kabel zur Versorgung; daher kommen zu den ohnehin nicht besonders kleinen Abmessungen (360x60mm² Grundfläche, ~65 mm Höhe) noch je 3 cm an den beiden Enden für die Kabelführung.
5 Kommunikation
5.1 Ethernet
5.1.1 NTP/Time Service
5.1.2 Message-Queuing
Hat den Vorteil, die Logik der Steuerung und das Logging, Graphing usw. wesentlich einfacher zu trennen - ein Message Broker erhält alle relevanten Daten der Sensoren und Steuerungen der Subsysteme; die anderen Teile holen die Daten über Subskriptionen und können selbst wieder in die Steuerung eingreifen - zB durch Änderungen von Zielparametern.
- MQTT (IBM, ..)
- Open Source Implementierungen
- hierarchische Topics
- Testament
- Client am Arduino grade so noch möglich
- Info zu lesen
- http://www.heise.de/developer/artikel/MQTT-Protokoll-fuer-das-Internet-der-Dinge-2168152.html
- http://fun-tech.se/FunTechHouse/Mosquitto/index.php
- http://harizanov.com/2014/09/mqtt-topic-tree-structure-improvements/
- http://lodge.glasgownet.com/2013/12/24/mqtt-to-zabbix-gateway/
- http://tinkerman.eldiariblau.net/mqtt-topic-naming-convention/
- https://electronichamsters.files.wordpress.com/2014/08/system_design.pdf
- https://github.com/binarybucks/homA/wiki/Components
- https://github.com/kylegordon/mqtt-rfm12b
- http://knolleary.net/2012/04/11/queuing-with-mqtt/
- http://knolleary.net/
- Info zu sehen
- AMQP
- STOMP
- verglichen mit MQTT starker Netzwerk-traffic
- ZeroMQ (0MQ)
- ohne Broker - eher Baukasten zum Bau eines eigenen Brokers in der Steuersoftware
- effizient und schnell im Netz
- keine hierarchischen Topics aber subscriben auf Strings am Beginn jeder Message ist möglich
- immer noch zu schwer für z.B. Arduino
- Thing Sensor Reporting Protocol
- UDP-multicast Pakete in regelmäßigen Intervallen (30 Sek.) bzw. bei allen Statusänderungen
- JSON, daher einigermaßen expressiv, aber vergleichsweise (Jee-Node, MQTT-S) großer Datenmenge
- sehr einfach: ~150 Zeilen C
- Simple Thing Protocol
- Sicherheit: Authentizierung und Verschlüsselung
- Sensor-Daten
- Interaktion mit dem Gerät möglich
Das Schema der Topics sollte wohl irgendwie so laufen:
- Rag77/Warmwasser/T
- Rag77/Warmwasser/TZulauf
- Rag77/…
- Rag77/Heizung-OEl/TVorlaufHeizung
- Rag77/Heizung-OEl/TVorlaufWarmwasser
- Rag77/Heizung-OEl/TRuecklaufHeizung
- Rag77/Heizung-OEl/TRuecklaufWarmwasser
- Rag77/…
- Rag77/Heizkeis-1/Pumpean
- Rag77/Heizkeis-1/Fluss (???)
- Rag77/Heizkeis-2/Pumpean
- Rag77/…
- Rag77/Wohnung-1/Küche/Temperatur
- Rag77/Wohnung-1/Küche/Luftfeuchte
- Rag77/Wohnung-1/Küche/Helligkeit
- Rag77/Wohnung-1/Küche/Bewegung
- Rag77/Wohnung-1/Küche/…
- Rag77/….
5.2 Daten ablegen
- Mit RRDtool hätte ich schon ausreichend Erfahrung und es würde eine einfache Visualisierung schon mitbringen.
- Graphite ist ähnlich zum RRDTool, eventuell etwas langsamer, kommt dafür beser mit ungregelmäßigem Dateneingang zurecht und hat nicht nur bessere Visualisierung, sonder auch eine Schnittstelle zu Grafana. In Python, nachdem der Großteil der Steuerung ebnefalls in Python ist, bringt das keinen großen Overhead.
- InfluxDB bringt eine sehr umfangreiche Abfragesprache und einfache Visualiserung mit; für aufwendige Visualisierung kann man auch hier Grafana verwenden. Derzeit keine stabile Version verfügbar. In Go geschrieben und ohne externe Abhängigkeiten.
- KairosDB benötigt als Unterbau Kassandra, ist daher für einen kleinen PC etwas zu groß geraten.
5.3 Visualisierung
5.4 USB oder RS-232
- zum Laden des Software
- Debugging
- ev. Statusanzeigen
6 Modellierung von Haus und Heizung
6.1 Fragen
- Wie modelliert man eine zusätzliche Zwangsbelüftung mit Wärmerückgewinnung?
- Wie integriert man einen Luftkollektor in das Modell?
- Warmwasser auch elektrisch?
Eventuell soll man diese Geräte einfach autonom laufen lassen und nur interessante Parameter in die Steuerung importieren, um das Verhalten zu beobachten?
7 Hardware zu besorgen
- WAGO-Klemmen für Printmontage
8 Links
8.1 Home Automation Lösungen
8.2 mögliche Steuerrechner
- http://www.dl8ma.de/Arduino/DINoInternetEthernetIOBoard/ dzt. nicht lieferbar
- Teensy? mit PINs
- OLinuXino
- besser lieferbar als BeagleBone
- BeagleBone / BeagleBoard mit Linux
- eigenes CAPE notwendig?
- 1-Wire Interface
- Relais
- Stromversorgung?
- GPIOs liefern nur 4 bis 6 mA - meine Halbleiter-Relais brauchen min. 8 mA; siehe http://beaglebone.cameon.net/home/using-the-gpios
- http://elinux.org/Beagleboard:Cape_Expansion_Headers
- https://www.linux.com/learn/tutorials/725368-getting-started-with-the-beaglebone-black-a-1ghz-arm-linux-machine-for-45
- http://hipstercircuits.com/dallas-one-wire-temperature-reading-on-beaglebone-black-with-dto/
- https://groups.google.com/forum/#!topic/beagleboard/YPgbKxd2mRU
- http://learn.adafruit.com/search?q=BeagleBone+Black
- http://lwn.net/Articles/576434/
- eigenes CAPE notwendig?
- GNUBLIN-LAN
- Relais-Modul ist mit max. 5 A zu schwach, um Heizpatrone direkt zu schalten und hat weder Varistor noch Snubber-Netzwerk an den Schalt-Ausgängen integriert.
- UDOO vereinigt Arduino (Steuerung der Peripherie) und ARM (Strategie, Web-Server mit Visualisierung, restliche Haussteuerung…) auf einer Platine
- http://www.pixtend.de/
8.3 mögliche Rechner für Raum-Sensoren mit Funk-Anbindung
- nRF24L01+
- Radio Hope RF12B oder RF69HW
- Radio Texas Instruments CC1101 RF
- 2.4GHz (6LoWPAN, ZigBee, RF4ce)
In ein Rauchmelder-Gehäuse integrieren?
8.4 Heizkessel
- Buderus BE 1.3/2.3 Blaubrenner
- Buderus GB125 ÖL-Brennwert-Heizkessel
- Buderus Logamatic MC10 Regelgerät
- Buderus Logamatic BC10
- Buderus Logamatic EMS Bedieneinheit RC35
8.4.1 Kommunikation mit dem Heizkessel
- https://www.mikrocontroller.net/topic/309075 Faktensammlung Buderus EMS
- https://www.mikrocontroller.net/topic/141831 Logamatic 2107 Schnittstelle
- https://www.mikrocontroller.net/topic/96199 Buderus Bedieneinheit RC30
- http://wiki.neo-soft.org/index.php/Heizungsschnittstelle
8.5 Software/OS
- Gadget mit Arduino (Processing oder C/C++) direkt am Speicher bzw an den Pumpen
- http://www.eluaproject.net/overview
- http://www.contiki-os.org/ für die Sensor-Knoten?
8.6 Relais-Steuerung
8.7 Visualisierung
8.8 andere Links
- http://www.meintechblog.de/2015/01/fhem-mit-jeelink-luftfeuchte-und-temperatur-zum-low-cost-tarif-messen/
- http://www.meintechblog.de/2015/03/batterielose-funk-hausautomation-mit-enocean-und-fhem/
- http://casajasmina.arduino.cc/about/
- http://www.rollitup.org/grow-room-design-setup/520965-arduino-controlled-grow-pc-program.html
- Smart-SARAH ?
- Control-X1
- http://diepresse.com/home/science/dissertation/5051251/Das-Haus-schaut-in-die-Zukunft
- https://www.techstage.de/ratgeber/Tipps-fuer-Bauherren-Smarthome-Grundlagen-fuer-den-Neubau-4036350.htm
8.9 Händler + Hersteller
8.10 Bauphysik usw.
- http://www.gruenderzeitplus.at/ Modernisierung von Gründerzeitgebäuden
9 zusätzliche Aufgaben
9.1 WAITING Vortrag für IoT Graz vorbereiten WAITING
- State „WAITING“ from „TODO“
Keine Zeit für einen Vortrag! Margit! Hunde! Wohnung!