Hallo allerseits,
hier mochte ich euch kurz meine neue Haussteuerung vorstellen. Motivation war, dass ich den Drahtverhau meiner alte Anlage (ebenfalls Raspi) aufräumen möchte.
Die "neue" besteht aus derzeit drei Modulen:
1. Controllermodul mit Raspi, zwei Relaisausgängen und Onewire
2. Analogmodul mit 16 Eingängen, für jeden AD Eingang kann per OPV der Messbereich auf 4096 Digits skaliert werden
3. Schaltmodul mit 11 Relais, L,N,PE der Verbraucher direkt anschließbar - L geschaltet
...alle Module sind in Typ 6C Hutschienengehäusen untergebracht.
Sie soll im Prinzip zunächst nur die alte Steuerung ersetzen: therm. Solaranlage, Fußbodenheizung steuern, Beschattung, Aussenbeleuchtung usw
Die Module sind untereinander seitlich per I2C verbunden. So lassen sich bis zu 88 Relaisausgänge und 64 AD-Eingänge realisieren.
Und vor allem: Ich kann problemlos beliebig erweitern, wenn ich mal wieder eine neue Idee habe. ...Wettersensor, Longrange I2C, Gartenbewässerung usw...
Das Controllermodul hat eine Besonderheit: Es ist ein ATTiny45 verbaut, der zum einen als Watchdog für den Raspi dient und zum anderen als
Backup I2C Master fungiert, falls der Raspi hängen bleibt. Dann kann der ATTiny den Raspi resetten und alle Relais in einen definierten Zustand
bringen und dies bei entspr. Programmierung auch abhängig von Temperaturen, da für mich ein rudimentärer Notbetrieb der Solaranlage und
der Fußbodenheizung wichtig ist. Als OS setze ich das letzte Jessie lite ein. Es wurde auf readonly umgebaut, sodass auch plötzliches Abschalten
der Spannungsversorgung kein Problem darstellen sollte.
Das Analogmodul ist zur Erfassung von Temperaturen mittels KTY, NTC, PTC gedacht und besteht aus 2x LTC2309 und 4x MCP6004 sowie
einem LM317 zur Erzeugung der Sensorversorgung und Referenz. Jeder AD-Eingang hat einen 15kHz Tiefpassfilter 1. Ordnung.
Der Analog-Ground ist vom Rest getrennt. Auch beim Einschalten von 11 Relais gleichzeitig passiert da nix.
Das Relaismodul wird klassisch über MCP23017 und ULN2003 gesteuert. 9x L/N/PE 2x potentialfrei. Die Relaisausgänge sind mit Varistoren
gegen Überspannung geschützt. (auf dem Foto noch nicht bestückt)
Im Oberteil der Hutschienenmodule ist eine kleine Leiterplatte verbaut, die zum Anreihen der Module erforderlich ist. Sie leitet 5V, 3.3V, I2C
und 2 GPIOs von einem Modul zum nächsten weiter. Diese Leiterplatte ist so gebaut, dass sie durch einfaches Absägen auch in 4C oder 2C
Hutschienenmodulen verbaut werden kann. Mir scheint das so äußerst praktisch zu sein, da eine neue Idee lediglich eine neue Basisleiterplatte erforderlich
macht und dann einfach ein neues Modul hinzugesteckt werden kann.
Die Software
...habe ich im Prinzip von der alten Steuerung übernommen. Bewährt hat sich für mich folgende Architektur: Die Lowlevel-Ansteuerung der Hardware
übernimmt ein Python Script, welches als UDP Server Befehle entgegen nimmt und hardware-gerecht umsetzt. Es enthält keine Steuerintelligenz.
Die eigentliche Steuerung übernehmen diverse php Scripte. Für jedes Steuer-Thema gibt es ein php Script. Die Prozessdaten landen in einer mysql
Datenbank. Diese Datenbank dient nur dazu, um sozusagen die Prozessdaten als "globale Variablen" verfügbar zu machen. Diese Datenbank enthält
ca. 30 Werte (Temperaturen, Relais-Zustände etc) Sie wächst also nicht.
Die Visualisierung (Webseite, Messdatendarstellugn per Volkszaehler) übernimmt ein anderer Rechner.
Die Leiterplatten waren pro Bestellugn mit 5€ für 10 Stück inkl. 6-Tage Express-Lieferung unschlagbar billig und auch von guter Qualität.
Bestückt wurde mit einem kleinen Heißluft-Lötgerät- einzeln von Hand... naja
Ausblick. Bis dato war das ein Projekt nach meinem Geschmack und ich freue mich darauf, weitere Module zu entwickeln. Falls
jemand Ideen hat, was man noch umsetzen könnte nur zu...