Der Funk-Switch oder Funk-Schalter oder Funk-IO-Port.
Version 2
aktualisiert am 08.05.2013

Erweiterung: 04.04.2013 Einbau eines Temperatur-Differenzregler.
Status: Projekt abgeschlossen


Die FUNK-Switch (Funk-Schalter) hat fast die gleichen Funktionen wie der LAN-Switch. Natürlich können auch Zustände abgefragt werden. Temperaturmessung mittels eines Dallas-Temperatursensor habe ich in jeder Version und Ausbaustufe vorgesehen und nun diesen auch noch mit einem zuschaltbaren Temperaturdifferenzregler und auch mit einem Display ausgestattet. Der Switch lässt sich ganz einfach per LAN über das Funk/LAN-Gateway ansprechen bzw. abfragen.

Dieser kommt da zum Einsatz, wo kein Netzwerkkabel liegt. Das ist die Lichtsteuerung der Terrassenbeleuchtung, Lüfter- und Belüftungssteuerung Gewächshaus, die gesamte Pool-Steuerung usw. Die Funktion des Temperaturdifferenzregler erspart mit nun auch den Einsatz eines weiteren Gerätes. Hiermit kann ich nun die Regelung für einen Wärmetauscher im Kaminofen durchführen oder auch für den Pool die Solarheizung steuern und regeln.

Mir ging es darum, einen kostengünstigen und einfach zu bauenden Funk-Switch zu entwickeln.

Funk-Switch Controller Die Steuerplatine hat die gleiche Belegung wie das Lan-Switch. Somit kann ich die Trägerplatine je nach Badarf mit einem Funk-oder LAN-Modul bestücken.

Die Leistungselektronik (Basisplatine) ist immer gleich, nur die Steuerplatine kann sowohl als Funk- oder LAN-Version bestückt werden. Natürlich verfügt der Switch auch über digitale Eingänge, mit denen Zustände abgefragt werden können. Alles nur eine Frage der Parametereinstellung und Beschaltung bzw. Ausführung der Trägerplatine.

Diese Version hat 4 Schaltkanäle (230 Volt, 16 Ampere) und 2 digitale Eingänge und nun auch noch Eingänge für zwei Dallas-Temperatursensoren DS18x20. So kann ich das Gerät auch zur Temperaturerfassung, Temperaturregelung oder Heizungssteuerung einsetzten.

Alles was automatisch geschaltet oder überwacht werden soll ist mit dem FunkSwitch oder LanSwitch ausgestattet. Die Steuerung selbst übernimmt eine PC-Software. Der Funk-Switch ist bis auf die zuschaltbare Temperatur-Differenzregelung nur "ausführendes Organ".

Für Steuerungsaufgaben ist der Switch als "Server" programmiert. Er kann aber auch als Client arbeiten. Dieses, wenn z.B. Änderungen an den Eingängen sofort gemeldet werden sollen.

Seit Anfang April 2012 ist der Funk-Switch mit der Erweiterung im Einsatz. Er funktioniert wunderbar. Es gab bisher keine Aussetzter.
Im März 2013 habe ich die Software des Switches erweitert. Er hat nun einen zuschaltbaren Temperatur Differenzregler!
Hiermit decke ich die Solarsteuerung für den Pool und die Belüftungssteuerung für unser kleines Gewächshaus ab. Er lässt sich natürlich überall da einsetzten, wo ein Schalter, Temperaturdifferenzregler oder Siganlgeber erforderlich ist und kein Netzwerkkabel liegt.


Funktion:
Das Gerät ist in verschiedenen Ausbaustufen verfügbar. Es lassen sich nun zwei Temperaturfühler vom Typ DS18x20 anschliessen und erkennt automatisch den Sensor vom Type "S" (Auflösung 0,5 Grad) oder Typ "B" (Auflösung < 0,1 Grad). Der Einsatz der Temperatursensoren ist nicht zwingend erforderlich. Nur wer eine Temperaturmessung benötigt, kann einen oder zwei Sensoren einsetzten.
Weiterhin kann optional ein 4-zeiliges Display angeschlossen, und auch das Verhalten bei Änderung der Eingangssignale vorgegeben werden.
Zudem habe ich einen zuschaltbaren Timer (Watdog) eingebaut, der nach ca. 5 Minuten das Gerät neu bootet wenn sich das Modul mal tatsächlich "aufhängen" sollte. Außerdem können kurze Eingangssignale "gefangen" werden bis der Zustand durch Abfrage übertragen wurde.


Der Schaltplan:
Den Schaltplan des Funk-Switches als PDF gibt es hier.


Das Hexfile für den PIC 18F2420 kann man hier downloaden.

Als CPU kommt ein PIC 18F2420 mit einem 12 Mhz-Keramikschwinger zum Einsatz. Für die Kommunikation mit dem RFM12-Modul reichen 6 Anschlüsse. Man könnte auch die Beschaltung aber noch erweitern um eine schnellere Datenkommunikation zu ereichen, ist aber für die gedachten Anwendungen nicht erforderlich.

Diese Auführung hat 4 Schaltkanäle und 2 Eingänge sowie zwei Eingänge für die Temperaturmessung mittels eines Dallas DS18x20. Das "X" in der Bezeichnung steht für die "S" oder der "B" Ausführung die sich nur in der Auflösung unterscheiden. Der Funk-Switch erkennt automatisch den angeschlossenen Sensor und passt so die Temperaturberechnung automatisch an. Die 3 Eingänge wurden über Optokoppler (12 Volt-Pegel) auf den PIC geführt, um Störungen auszuschließen.

Als Funkmodul habe ich mich für das RFM12B entschieden. Dieses wickelt den gesamten Funkverkehr ab. Anfänglich war es schon etwas kniffelig das Modul zum Leben zu erwecken hat man aber einmal den Ablauf und die Konfiguration verstanden ist es recht einfach.

Funkmodul RFM12B Klein, kompakt und viele Funktionen:
Dieses Funkmodul ist einfach klasse. Es wird über die SPI-Schnittstelle angesprochen. Reichweite: ca 300 Meter!
Jede Menge Register zur Konfiguration um Frequenz, Leistung, Datengeschwindigkeit usw. einzustellen. Für die Abdeckung von Steuerungsaufgaben mehr als ausreichend ist.

Der Adapter arbeitet mit 3,3 Volt, die Ein- und Ausgänge sind NICHT 5-Volt tolerant. Also muss man so einiges an Widerständen einsetzen um eine Pegelanpassung vorzunehmen. Ich habe damit schon jede Menge Geräte gebaut. Funkfernbedienungen, Raumthermostate, Schalteinheiten, Wetterstationen usw. Bei einem Preis von ca. 4 Euro lassen sich sehr kostengünstig solche Geräte bauen.

Das Gerät mit 4 Ausgänge (Relais) und 2 Eingänge als Sonderversion mit Display. Je nach gewünschter Funktion können die Relais bestückt werden. Ob nun in einem Hutschinengehäuse, einem kleinen Steuerkasten oder sogar eingeschweisst in Schrumpfschlauch. Alle Varianten habe ich im Einsatz.

Funkswitch für Hutschienengehäuse Hier die Grundplatine mit aufgesteckter CPU für den Einbau in einem Hutschinengehäuse.
Der PIC 18F2420 kommuniziert mit dem Funk-Modul und wickelt die gesamten Mess- und Steuerungsaufgaben ab. Funk-Adresse, Frequenz, leistung und einige Funktionen 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. Da es sich beim Funk- oder LAN-Switch immer um die gleiche Trägerplatine handelt, kann ich für jede Anwendung die gleiche Basishardware einsetzten, egal für welche Funktionen diese benötigt werden.

Die Idee, möglichst viele verschiedene Funktionen mit der gleichen Hardware abzudecken lässt sich so recht gut verwirklichen. Nur die Trägerplatine und die Software des PIC bestimmen die Funktion der Einheit.

Zudem hat jede Einheit noch zwei Anschlüsse für Temperaturfühler vom Typ Dallas DS18x20. Es wird automatisch der Typ DS18-B-20 und der Type DS18-S-20 erkannt. Die beider Fühler unterscheiden nur durch die Auflösung nach dem Komma.

Die Steuerungs- und Schaltaufgaben sind an verschiedenen Orten erfoderlich. Entsprechend unterschiedlich können auch die Gehäuse sein. mein erstes Gerät baute ich in einem Hutschinengehäuse und ist für den Einbau in einer Unterverteilung gedacht. Die gleichen Einheiten habe ich in spritzwassergeschützte Gehäuse eingebaut und steuer damit die Beleuchtung für Garten, Parkplatz, Pool und Zufahrt.

Diese Switches müssen nicht zwingend mit einem Netzteil betrieben werden. Die Versorgung über eine Batterie bzw. einen Accu (mit Solarzellennachladung) ist denkbar. Allerdings sollte dann auf ein Display verzichtet werden.

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.

Hier kommen diese Funkmodule zum Einsatz. Ausgestattet mit einem Accu, einer Solarzelle lassen sie sich über einen sehr langen Zeitraum betreiben.


Da die Software und somit die Adressen der Funkeinheiten bei der Programmierung des PIC immer auf "Werkseinstellungen" steht, habe ich ein kleines Programm geschrieben, mit welchem ich den Funkswitch programmieren, auslesen oder steuern kann. Jedes Gerät hat die "Funk-Werksadresse" 28.01.01. Diese muss natürlich geändert werden, wenn mehrere Geräte im gleichen Funknetz betreiben will. Dazu dient die PC-Software.

Modul zur Programmierung und Test des Funkswitch Zur Entwicklung solcher Module gehört natürlich auch eine Testmöglichkeit. Dabei ist ein kleines Programm entstanden, mit dem sich der Funk-Switch auch gleich programmieren lässt.
Da ja die Software immer gleich ist, aber eine Funk-Adresse nur einmal im Netzwerk vorkommen darf, ist das Modul programmierbar. Die Daten werden im EEProm des PIC abgelegt und bei jedem Reset bzw. Neustart an den Funk-Adapter gesendet. Auch sind verschiedene Funktionen über diese Software konfigurierbar. Ob der letzte Schaltzustand nach Spannungsausfall wieder hergestellt werden soll, ob Eingangssignale "gefangen" werden sollen oder nicht oder ob der Temperatur-Differenzregler aktiviert werden soll. Auch die Frequenz und Sendeleistung lassen sich "programmieren".


Die Test-Software um den Funk-Switch testen und ansprechen zu können gibt es hier.


-------