HomeControl
(by Stephan Schori)

 

Ziel:
Mit dem kommenden bau unseres Eigenheims möchte ich einige Sachen wie das Licht und die Rolläden bzw. Storen zentral steuern und später auch noch die ReVox Anlage versteht sich. Nebst der zentralen Steuerung sollen aber alle gesteuerten Dinge auch noch konventionell an ihren üblichen Schalter auch gesteuert werden können.

Hier wird nun der Entstehungsprozess dieser Vernetzung für technisch interessierte etwas dokumentiert. Definitive Fertigstellung der ganzen Sache sollte Ende 2010 sein, so alle Mikroprozessoren und Transistoren wollen ;-)

Es gibt nun schon einige Systeme, ein Haus und deren Technik zu steuern oder zu überwachen. Doch welchen Standard soll verwendet werden? EIB (Europäischer Installationsbus), CAN, LCN oder welchen? Es herrscht meiner Meinung nach ein Chaos, jeder predigt was anderes und sich einen Durchblick zu verschaffen ist schwer.

Wenn ich mich heute für EIB entscheide, was muss ich beachten:

  • Gib es diesen Standard in 10 oder 20 Jahren noch?
  • Kann ich später immer noch ein Gerät für diesen Standard kaufen
  • Kann ich ggf selber eingreifen und eigene Geräte (Steuergeräte) daran anschliessen?
  • Sind die Protokolle offen oder sind es Firmen-"Geheimnisse"?
  • Brauche ich dazu eine spezielle Verkabelung?

Fazit aller meine Fragen und Recherchen:

  • Es herrscht Uneinigkeit auf dem Markt. Der Stärkere wird sich wohl durchsetzen und über kurz oder lang die anderen Systene vom Markt verdrängen. Gewisse Standards werden also verschwinden.
  • EIB scheint schon ein starker Standard zu sein deren Protokolle offen sind.
    Es gibt auch bei EIB zum Teil Kompatibilitätsprobleme
  • Die Systeme sind eher im höhrern Preisniveau angesiedelt
  • Einige Systeme funktionieren über Funk 433MHz, andere über einen speziellen Bus (zusätzliche Kabel) und wieder andere versenden ihre Kommandos übers Stromnetz (anfällig).

Was mache ich nun? Ich möchte aber was, das zukunftstauglich ist und nicht viel kostet.

Ich baue mir mein HomeControl ganz einfach selber.
Die Idee und somit das Produkt HomeControl by Stephan Schori ist geboren.
Wie soll es aussehen und warum?

  • Es soll auf Ethernet 10baseTX basieren, weil Etherner ist sowieso schon überall eingezogen und wenn nicht ist es ganz günstig.
  • Das Ethernetkabel ist relativ robust und bei 10BaseTX nicht so anfällig. Die heutigen Router sind 10/100/1000 tauglich und spielen hier auch mit.
  • Die Steuerung auf der Relaiskarte übernimmt ein in C programmierter Atmel Microprozessor.
  • Ethernet kann sich problemlos auch übers kostengünstige Wirelessnetz verbreiten wenn man an irgendeinen Ort kein Kabel hinziehen kann/will.
  • Die Kommunikation funktioniert über UDP Pakete im IP Netz.
  • Zentrale Steuerung mit einer Java Applikation, das ist Plattformunabhängig und läuft auf allen Geräten wie Handys, PDAs und jede Art vom Mobile-Devices.
  • Im ganzen Haus sind autonome Relais-Karten verteilt, die dann von einem oder mehreren Steuerungen angesprochen werden können. Es gibt nicht nur einen Master, jeder darf ein bisschen mitmischen.

Die Idee ist also geboren. Jetzt folgen einige Tests, ob das, was ich im Kopf habe, auch wirklich funktioniert:


Offener Aufbau der 220V Überwachung mittels Optokoppler.
Der Microprozessor hat ja nur 5V Eingänge, also müssen diese
Pegel 5V Gleichstrom und 220V Wechselstrom noch angepasst werden.


Ein erster Test, ob die Ethernetanbindung auch so funktioniert,
wie ich das gerne haben möchte. Ein Atmel ATMega88
Microprozessor übernimmt hier die Kontrolle.


Hier der zweite Prototyp. Leider habe ich nur Europakarten grosse
Platinen. Die Schaltung musste also in 3 Platinen "geschnitten" werden.


Platine einigermassen geätzt und gebohrt. Viele Stunden sind schon
vergangen mit zeichen, ätzen, löten und und und.
Es ist ja nur ein Prototyp, also kann das Aussehen
vernachlässigt werden ;-)


Erste Bestückung des zweiten Prototyps


Statt Relais hat's nun halt LED's an den Ausgängen.
Die Relaisansteuerung hatte nicht mehr Platz auf der
Europakarte.


Zum Test, ob auch die Eingänge funktionieren, habe ich die Ausgänge
gleich mit den Eingängen verbunden. Es klappt wunderbar.


Testmessungen mit KO (das Gelbe) und dem Webinterface
auf dem PC, das die Platine auch gleich noch drin haben soll.


Erste Test mit der 220V Überwachung.
Trenntrafo und Regeltrafo sind Pflicht.
Diese Eingänge werden verwendet, um aktuelle Schaltzustände
der herkömlichen Schalter im Hause zu erkennen.


Ein Display hilft viel beim Debuggen und später für Infos.
Auf dem Foto zeigt es gerade die IP Adresse an.
Der uP ist von Atmel ATMega32 und ist in C programmiert.

Und es läuft alles so, wie es soll.
Nur minimale Korrekturen an der Schaltung müssen angebracht werden.

Beide Prototypen funktionieren und alle Funktionen scheinen einwandfrei zu sein.
Die Platine kann wahlweise 16 Lampen oder 8 Rolladen steuern. Die Umrüstung ist mittels 3 Lötbrücken machbar und wenige Male reversibel. Sie hat somit 16 Relaisausgänge und 16 220V EIngänge. Die Platine kann nachträglich eingebaut werden, der Elektriker muss bei der Verkabelung nur etwas darauf achten, dass alles Sternförmig verkabelt ist. Schrittschalter übernehmen die effektive Schaltung der Lampen, meine Karte steuert nur zusätzlich die Schrittschalter und überwacht deren Funktion. Somit ist auch bei ausfall der HomeControl-Platine immer noch Licht verfügbar. Bei der Rolläden übernimmt die HomeControl-Platine vollständig die Steuerung. Hier gibts also keinen Fallback. Ein gewöhnlicher Rolladen Auf-Ab-Schalter liefert sein Signal an 2 Eingänge der HomeControl-Platine, die dann die Signale einfach weitergibt an den Rolladenmotor.
Über UDP Kommandos kann nun die "händische" Steuerung übersteuert werden, ebenfall bei den Lampen. Und schon kann alles manuel und automatisch gesteuert werden.


Ansteuerung der Lampen mit einfachen Relais


Ansteuerung der Rolladen mit je 2 Relais in Serie
(Man könnte auch einfach 2 Relais nehmen und immer nur
eines darf anziehen. Mit der Serieschaltung ist bei einer
Fehlfunktion jedoch der Motor nicht gefährdet da immer
nur eine Richtung Strom haben kann.
)

Die Frage nach "Warum Relais und nicht Triac oder SolidStateRelais" könnte hier auftauchen.
Gewöhnliche Relais sind sehr kostengünstig und einfach zu beschaffen. Relais können später einmal erstzt werden, sollten Sie nicht mehr gut sein. Bei der Rolladensteuerung fliesst ja relativ viel Strom, somit bleiben die Kontakte lange gut. Bei der Lampensteuerung fliessen nur ganz kleine Ströme um den Schrittschalater zu steuern, da ist das Relais nicht optimal, jedoch wäre hier ein SSR nicht angebracht und würde je nach Schrittschalter sogar zu Fehlfunktionen führen.

Nun folgen viele Stunden Designarbeit am PC, um eine geeignete Platine zu entwerfen. Nun ja, die freie Eagle Version ist ja auf eine Platinengrösse beschränkt und von Hand ist's ganz schön mühsam. Eine Mischung und viel Unterstützung von einem Platinenhersteller führt mich nun aber doch zum Ziel.

 


Erste Tests mit Netzspannnung folgen.


Ein kleiner Dauertest der eine Glühbirne im halben Sekundentakt ein und ausschaltet.
Dieser Test über einige Stunden, um die Kommunikation mit dem uP zu testen und
um die ganze Schaltung auch auf störfestigkeit zu testen.


Nun erhält die Schaltung noch eine RS485 Schnittstelle, damit mal ggf auch über
längere Kabel die Sache über die serielle Schnittstelle steuern kann.


Ein neuer zusätzlicher Quarz ist nötig. Vor lauter Kabel kann man kaum mehr löten.


Die profesionell hergestellte Platine ist endlich eingetroffen


Die Bestückung beginnt.


Ein paar Bauteile sind schnell eingelötet


Erster Funktionstest des uP und Ethernetanbindung.
Test OK, Schaltung läuft.


Bis aber alle Bauteile drauf sind dauerts ein wenig. Hier sind die Ausgänge
fertig bestückt, an den Eingängen mit Optokoppler bin ich gerade dran.


So, die Platine hat's endlich geschafft und ist fertig bestückt und arbeitet einwandfrei.
Jetzt gilt es nur noch die Software auf dem Microcontroller fertig zu schreiben.

Die Karte hat 16 x 220V Eingänge und 16 x Relais Ausgänge.
Webinterface und UDP Schnittstelle für alle Funktionen.
(UDP = IP basiertes verbindungsloses "Befehls"-protokoll)
RS485 (RS232 mit Wandler Connector) ebenfalls für alle Funktionen.
2 signalisierungs LED’s an Atmel und 2 Spannungskontroll LED's am Netzteil.
3 DIP Switches für Einstellungen.
Stromüberwachung optional und bei Einbruch der Spannung Store im EEPROM.
16 Zeichen huckepack Display für diverse Anzeigen.
Temperatursensor (vorbereitet).


Das Display ist huckepack montiert über den IC's


Und weil es so Spass gemacht hat, gibt's gleich noch eine mini Variante der Karte.
Die HomeControl-mini Karte mit 8 Eingängen und 8 Ausgängen.
Diese Karte hat nur Webinterface und UDP Schnittstelle.


Die Serienproduktion beginnt nun. Ich brauche ja ein paar Karten.


Kaum zu glaube. Diese Dioden warten alle darauf, dass sie
verlötet werden.


Die Finger schmerzen, die Lötspitze ist zerfressen und die Lötzinnrolle
ist nun leer. Die Finger schmerzen von den vielen Dioden die ich abbiegen musste.
Das habe ich ja noch nie erlebt.


Der Anblick erfeut. Aber sie sind noch nicht fertig. Es fehlen noch wenige
Bauteile und auch die Displays müssen noch montiert werden.


Nach fast 2 Monaten Arbeite endlich fertig. Alle 12 Platinen sind fertig
gebaut und getestet. Jetzt muss nur noch die Firmware auf der Platine
fertiggestellt werden und dann später noch die Steuerungssoftware,
die alle Platinen steuert, fertig gestellt werden.


Die Firmware steht und ein kleines erstes Webinterface
für Einstellungen und alle Kommandos. Der Zugang ist
natürlich passwortgeschützt über die URL. Eine Übersicht
über alle Ein- und Ausgänge wird immer angezeigt.
In rot und grün auch der Zustand alles Relais mir
Link, mit welchem man jedes Relais schalten kann.

 

Hier eine kleine Übersicht über alle Funktionen der 16-er Karte.
Die 8-er Karte wird einen reduzierten Befehlssatz und auch
einen reduzierten Funktionsumfang haben.
PDF-Anleitung


Dies ist nun die Java Applikation, die auf einen miniPC
läuft und über einen Touchscreen verfügt. Alle Lampen und
Rolladen sind ersichtlich. Links sehen wir 3, die runtergelassen
sind und die restlichen sind noch oben. Lampen brennen erst 2.
Für jede Etage gibt es ein eigenes Tab. Makrobefehle sind natürlich
auch noch vorhanden wie zB "Alle Rolladen runter" oder
zB "Haus verlassen abends" , welches dann alle Rolladen
runterlässt und das Licht im Treppenhaus und Ausgang anschaltet
und alle anderen Lampen im Haus ausschaltet.


Ein kleiner tipper auf den "ON" Schalter und die Lampe geht an.
Schaltet man eine andere Lampe über den herkömlichen Schalter
aus, so meldet es die Karte sofort an die Java Applikation und
der korrekte Zustand wird angezeigt.
Alle Daten sind in einer Hypersonic Datenbank gespeichert.


Und weil ein paar Lampen auch dimmbar sind, kann man
dies natürlich auch darüber steuern.


Und wenn die Lampe brennt, sieht man den Dimmfaktor.


Um zu dimmen, brauchen ich natürlich zuerst eine Testlampe.
Hier eine Doppelleuchtstoffröhre mit DALI interface.


Ein erster Entwurf für einen Prototyp einer PC Schnittstelle für
DALI und "0..10V" Dimmersteuerungen.


Der Prototyp für die DALI Schnittstelle


Der erste grössere Prototyp


Und nun wird er geätzt


Erste Inbetriebnahme.
Jetzt muss die Firmware erstellt werden und erste DALI und
"0..10V" Tests gemacht werden.


Der Prototyp läuft mit DALI einwandfrei.
3 unterschiedliche Doppelröhren lassen sich steuern,
programmieren und auslesen.
DALI funktioniert in 2 Richtungen einwandfrei.


Kombination von der Generellen Ein/Aus Steuerung und
dem Dimminterface DALI

Die analoge 0..10V Schnittstelle ist etwas komplizierter.
Jetzt habe ich endlich den D/A Wandler dazu gebracht,
meine gewünschten Signale auszuspucken.
Hier die digitale Ansteuerung des D/A Wandler


Und das hier das ausgespuckte analoge Signal.
Zum testen mal einfach eine Dreieckspannung,
Zum ansteuern von Lampen wären dann natürlich DC
Spannungen und keine Signale das Ziel. Der Dreieck eignet
sich aber gut, um die analogen Signalpfade zu justieren.
Jetzt muss ich das noch in 0..10V wandeln.....

 

Weitere Einträge folgen, wenn's mehr zu sehen oder erzählen gibt.
Last Update: 25.10.2009