Schnittstellen und Datenübertragung (nicht nur) für die Haussteuerung.
oder
Messen, Steuern, Regeln über das Netzwerk (TCP/IP) oder Funk

aktualisiert am 08.02.2015


Egal was man auch an Steuerungen entwickelt. Irgendwann steht man immer vor dem Problem die Messdaten oder Steuersignale dort hin zu transportieren, wo sie benötigt werden.
Da bleibt auch nicht viel Auswahl. Da besteht die Möglichkeit die Daten und Steuersignale per direkt Kabel zu übertragen oder per LAN bzw. WLAN oder auch per Funk. Die Steuer- und Messkabel von einer Zentrale zu verlegen bedeutet jede Menge Arbeit und Material. Für jeden Steuerkanal und jede Messleitung müssen getrennte Leitungen verlegt werden. Auch ein eigenes Bussystem hilft hier nicht wirklich weiter. Ich habe es satt, in überquellende Kabelkanäle immer noch ein Steuerkabel einziehen zu müssen. Deshalb wird das neue System konsequent über das Netzwerk oder über Funk die Daten austauschen.

Netzwerkkabel musste ich sowieso verlegen, darüber läuft auch Telefon und ein Gigabit-Netztwerk hat reichlich Kapazität frei. Und wo kein Netzwerkkabel liegt und nicht all zu große Distanzen zu überbrücken sind, kommt WLan zum Einsatz. Der Rest wird per Funk (868 Mhz) abgedeckt.

LAN Adapter:
Mittlerweile werden auf dem Markt Netzwerkmodule mit SPI-Schnittstelle angeboten, die preiswert sind und sehr stabil arbeiten. Der Lanadapter von WIZnez ist bei mir erste Wahl !
Diese Adapter haben einen Hardwarestack !! Sie arbeiten unglaublich stabil haben jede Menge Funktionen, können per SPI oder parallel angesprochen werden, haben 8 Kb RAM für Senden und Empfang on Board und sind im Vergleich zu anderen Produkten recht günstig.

WIZnet-Lanadapter Klein, kompakt und super Leistung:
Der kleine LAN-Adapter kann über die SPI-Schnittstelle oder auch paralell angesprochen werden. Ich habe mich für die SPI-Schnittstelle entschieden, da bei dieser Schnittstelle nur 4 Drähte benötigt werden und die Geschwindigkeit für Steuerungsaufgaben mehr als ausreichend ist.
Der Hardwarestack arbeitet super. Bisher hatte ich nicht eine einzige Störung bzw. Ausfall.

Der Adapter arbeitet mit 3,3 Volt, die Ein- und Ausgänge sind aber 5-Volt tolerant.
Auch die Leistungsaufnahme hält sich in Grenzen, das Teil wird nicht einmal warm.
Allerdings "kann" der Adapter nicht direkt Relais ansteuern oder Messwerte einlesen, dazu muss ein Controller erforderlich. Auch müss IP-Adresse, SubnetMask, MAC-Adresse und weitere Parameter nach jedem Reset dem Adapter mitgeteilt werden. Dazu setzte ich einen PIC-Controller der Firma Microchip ein.

Die Schnittstellen werden an verschiedenen Orten zum Einsatz kommen. Deshalb habe ich eine Basisplatine entwickelt, die immer gleich aufgebaut ist, die Trägerplatine aber je nach Bedarf, unterschiedlich ausfallen kann. So gibt es Einheiten mit 4 Eingänge und 4 Schaltausgänge, andere haben anlagoge Eingänge und bis zu 8 Schaltausgänge. Diese kann ich je nach Bedarf zusammen stellen und die Funktionen dann per Software ansteuern.
Das Gerät mit 4 Ein- und Ausgängen wird wohl die gängiste Variante werden. Der Prototyp wird seine Testphase in einem Hutschinengehäuse verbringen. In der Unterverteilung für die Steuerung der Wegbeleuchtung und die Abfrage der einzelnen Linien der Brandmeldeanlage soll sich das Gerät erst einmal einige Wochen bewähren.

WIZnet-Adaper und Basisplatine Hier der Prototyp der Basisplatine mit aufgestecktem Lan-Adapter.
Der PIC 18F2420 kommuniziert mit dem Lan-Adapter und wickelt die gesamten Mess- und Steuerungsaufgaben ab. IP-Adresse, Subnetzmaske, MAC-Adresse, Port usw. können mittels eines kleinen Softwaremodul programmiert werden.

Falls mal was daneben geht oder die Adresse vergessen wurde gibt es die Möglichkeit den Chip auf "Werkseinstellung" zurück zu setzten.

Alle freien Anschlüsse des PIC habe ich auf die Stiftleiste heraus geführt. So kann ich jederzeit auf einer anderen Trägerplatine neue Funktionen ansteuern bzw. Realisieren.

Die Idee, möglichst viele verschiedene Funktionen mit der gleichen Hardware abzudecken lässt sich so schon recht gut verwirklichen. Nur die Trägerplatine und die Software des PIC bestimmen die Funktion der LAN-Einheit. Später ist es dann denkbar, alle Funktionen in den Chip zu bringen und nur noch per Software die gewünschte Funktion auszuwählen. Ob sich der Aufwand aber lohnt muss sich erst noch zeigen.

Wie auch immer, jetzt habe ich erst mal einen LAN-Switch oder IP-Schalter, mit dem ich fast alles Schalten und auch Zustände abfragen kann.
Zudem hat jede Einheit auch noch einen Anschluß für einen Temperaturfühler vom Typ Dallas DS18x20. Es wird automatisch der Typ DS18-B-20 und der Type DS18-S-20 erkannt. Die beiden Fühler unterscheiden nur durch die Auflösung nach dem Komma.


Mit diesem Adapter wird es sicherlich noch viele Modelle für die unterschiedlichsten Anwendungen geben. Da sogar Multisession damit möglich sind und jeweils für Senden und Empfang bis zu 8 KB Speicher bereit stehen, lassen sich auch Netzwerk-Anwendungen wie LAN-Kamera, Gegensprechanlagen und sogar Musikübertragung realisieren.

Das ist aber Zukunfstmusik für mich. Zuerst muss die Steuerung erst mal komplett sein, dann kann ich solche Träume mal genauer überdenken

Zur Zeit habe ich 8 dieser LAN IO-Port´s im Einsatz. Bisher gabe es noch nicht einen Ausfall.

Weitere Beschreibung und Schalpläne ist an dieser Stelle zu finden.

Diese Lanadapter lassen sich nicht nur im kabelgebundenen Netzwerk betrieben, auch im WLan funktionieren sie einwandfrei. Es werden immer nur ein paar Byte übertragen, die Netzwerklast ist kaum messbar. Deshalb gibt es auch im WLan kaum Einschränkungen. Bis auf die Reichweite !

Ich habe schon gute Geräte im Einsatz, zusätzlich große externe Antennen gekauf und erreiche nicht jeden notwendigen Punkt auf dem Grundstück. Zu einigen Stellen konnte ich kein Netzwerkkabel ziehen. Da ist z.B. der Brunnen aus dem wir unser gesamtes Trink- und Brauchwasser beziehen. Er liegt in einem kleinen Tal. Mit einem Bagger leider nicht zu befahren. Und so eine Strecke von Hand aufzugraben ist irre. Das geht auch anders. Ich muss wissen, wie der Füllstand des Brunnen ist und brauche auch die Wassertemperatur. Dieses ist für die Kühlung des Hauses im Sommer geplant. Wir haben eine Wandheizung und diese soll an den heißen Tagen mit kaltem Wasser gespiesst werden. Wandheizung einfach nur umgekehrt.


Funkmodule:

Da gibt es aber auch noch andere Stellen, die ich weder mit LAN noch mit WLan versorgen kann. Hier kommen Funkmodule zum Einsatz. Die Module sind sehr klein, benötigen sehr wenig Leistung und lassen sich deshalb mit Batterien oder Accus über einen sehr langen Zeitraum betreiben. Außerdem besteht auch die Möglichkeit, die Accus mit kleinen Solarzellen aufzufrischen. Das kennen wir ja von fast jedem Parkscheinautomat.

Bisher hatte ich die Module RFM12 (2 mW) und RFM12BP (500 mW) von HopeRF in meinen Schaltungen verbaut. 2 mW waren zu wenig Sendeleistung um alle Stellen zu erreichen, die 500 mW Module hatten den Nachteil, dass zu der 3,3 Volt Versorgung auch noch 12 Volt für die Sendeendstufe benötigt wird.

Seit einiger Zeit biete die gleiche Firma ein neues Modul an, das RFM23BP. Dieses benötigt nur 5 Volt Versorgungsspannung und leistet bis zu 1000 mW !!!
Die Sendeleistung ist einstellbar, kann verschiedene Modulationsverfahren und hat einen Datendurchsatz bis zu 250 kbps. Der gesamte Datenverkehr kann vom Modul selbstständig abgewickelt werden, der Sende- und Empfangsbuffer ist nun 64 Byte gross. Damit war klar, dass nun alle Module gegen diese neue Modul ausgetausch werden.

Transceiver RFM23BP Vorder- und Rückseite der neuen RFM23BP-Module von HopeRF:
So klein die Module auch sind, sie haben es in sich. Und jede Menge Register, die erst einmal eingestellt werden wollen. Wenn es dann aber mal läuft, ist die mühevolle Arbeit vergessen. FSK, GFSK und OOK-Modulation ist schon on Board. 64 Byte Sende- und Empfangsbuffer, super Interruptsteuerung. Syncron- und Headerbyte werden nur einmal vorgegeben, dann wickelt das Modul den gesamten Datenverkehr selbstständig ab. Im Buffer stehen nur noch die Nettodaten.

Mit den Modulen bei mittler Sendeleistung schaffe ich es endlich durch die dicken Bruchsteinmauern und Eichenbalken bis in die letzte Ecke. Die 8 cm langen Antenne (bei 868 MHz) ist unkritisch. Auf freiem Feld und voller Leistung von 1000 mW habe ich im Auto nach 3 KM noch einen einwandfreien Empfang. Wenn nötig, könnte sogar mein Nachbar, der ca. 2 KM von mir entfernt wohnt, die aktuellen Wetterdaten von mir empfangen.

Im praktischen Betrieb habe ich die Sendeleistung soweit reduziert, daß noch ein sicherer Datenverkehr garantiert ist.

Da auch OOK-Modulation (OnOffKey) unterstüzt wird, besteht sogar die Möglichkeit mit den bekannten Steuerzentralen wie FS20 a.ä. Kontakt aufzunehmen und wenn gewüscht auch mit den verschiedenen Einheiten zu kommunizieren. Funksteckdosen, Heizkörperventile, Thermostate usw. lassen sich somit einbinden.
Da ich aber ausschließlich nur meine Komponenten einsetzte, habe ich auf die Implementierung verzichtet.



Die hohe Datenübertragungsrate von bis zu 250 kbps lässt einen unglaublich hohen Datendurchsatz zu. Allerdings steigt damit auch die Fehlerrate. Da die Datenpakete in meinem System recht klein sind und 18 Byte pro Datenpaket selten übersteigen, habe ich mich auf 4,8 kbps festgelegt. Dieses garantiert eine sichere Funkverbindung.

Nach langer Überlegung habe ich mich entschlossen, die Software in C zu schreiben. Es ist deutlich einfacher und somit schneller ein Projekt fertig zu bekommen. Allerdings steigt die Programmspeicherbelegung enorm an. Aber PIC´s mit 48 KWorte kosten nicht mehr als mit 16 oder 32 KWorte.

Um Ordnung in die Datenübetragung zu bringen, habe ich ein kleines Protokoll entwickelt, welches Ähnlichkeiten mit dem S.N.A.P Protokoll hat. Dieses Protokoll ist auch schon beim Lan-Adapter im Einsatz und macht sich bisher recht gut.

Handsender 16-Kanal Der Prototyp eines Handsender mit 16 Kanälen:
Der Sender ist programmierbar. Es können die Hausadresse, Geräteadresse, die Frequenz im 868 Mhz-Band, die Sendeleistung und die Funktion einer jeden Taste per Funk programmiert werden.

Zur Programmierung wird ein Jumper gesteckt, um den Empfänger für die Programmierzeit immer auf Empfang zu halten. Im StandBy Betrieb nimmt der Sender knapp 0,15 uA auf. So lässt sich mit einer 3 Volt-Knopfzelle eine Betriebszeit von ca. 1,5 Jahren erreichen.

Das Relais und die Buchsenleiste sind nur für die Programmierung des PIC 18LF252 erforderlich. Der PIC 18LF252 arbeitet sicher ab 2,4 Volt und kann bis zu 5 Volt Versorgungsspannung vertragen. Der Transceiver ist für 3,3 Volt ausgelegt. So können beide Bausteine wunderbar aus einer 3 Volt Zelle mit Spannung versorgt werden. Die geringe Stromaufnahme wird dadurch erreicht, daß der Transceiver komplett abgeschaltet und der PIC in den Sleepmodus gebracht wird. Nur bei Betätigung einer Taste wacht der PIC auf, übeträgt die Daten und legt sich danach wieder schlafen.




-------