Start arrow Electronics arrow Small projects arrow Funksteckdosen modifiziert und mit Mikrocontroller angesteuert
thomaskropf.at
Funksteckdosen modifiziert und mit Mikrocontroller angesteuert E-mail
Written by Thomas Kropf   
Thursday, 30 August 2007
Ein EUR 9,95 teures Funkschalterset wird so verändert, dass es mit einem Mikrocontroller (ATMega16) gesteuert werden kann.

Status: fertig

Mehrere Funksteckdosen sollen über die veränderte Funkfernbedienung mit einem Mikrocontroller gesteuert werden können. Ein denkbarer Einsatz ist im Bereich Haustechnik um Lampen (oder andere Geräte) bei Abwesenheit in zufälligen Intervallen einzuschalten, um eine Anwesenheit vorzutäuschen.

Das auf Bild 1 und Bild 2 zu sehende Funkschalterset gibt es momentan bei Bauhaus um EUR 9,95. Es beinhaltet eine Funkfernbedienung und 3 Funksteckdosen. Jede Funksteckdose kann laut Beschreibung mit bis zu 1000 W bzw. 500 W (bei induktiver Last wie z.B. Leuchtstofflampen, Halogentrafos) belastet werden. Das Ganze soll auf eine Entfernung von bis zu 25 m funktionieren. Größere Bilder von der Verpackung gibt es wenn man auf die Bilder klickt.


pic
Bild 1: Funkschalterset vorne


pic
Bild 2: Funkschalterset hinten

Die Fernbedienung kann ganz einfach durch das Herausdrehen von 4 Schrauben geöffnet werden. Die Platine (Bild 3 und Bild 4) kann man dann ganz unkompliziert herausnehmen.
pic
Bild 3: Geöffnete Fernbedienung hinten

Auf Bild 4 kann man schon sämtliche Bauteile erkennen. Ganz links befinden sich die 5 Dip-Schalter. Diese sind zur Auswahl eines Codes, der auch bei allen Funksteckdosen eingestellt werden muss.
Gleich rechts daneben befindet sich das Herzstück der ganzen Fernbedienung. Dieser IC ist mit "LP801B" (Datenblatt siehe ganz unten) beschriftet und soll schlussendlich durch den Mikrocontroller angesteuert werden. Soweit mir bekannt ist, verarbeitet dieser IC dann die an den Adress- und Datenleitungen anliegenden Signale zu einem seriellen Stream mit einer bestimmten Frequenz, die abhängig vom Widerstandswert zwischen OSC1 und OSC2 ist. Meine etwas ungenaue Messung ergab eine Frequenz von ca. 1,6 KHz.


pic
Bild 4: Geöffnete Fernbedienung vorne

Die auf Bild 5 zu erkennende kleine, grüne Platine ist die Sendeeinheit. Der LP801B schickt seine Daten direkt über seinen DOUT-Pin an diese Einheit.
pic
Bild 5: Platine vorne

Auf Bild 6 ist die andere Seite dieser Sendeeinheit zu sehen. Darauf befinden sich einige SMD-Bauteile, inklusive eines 433,92 Mhz SAW Resonators (HDR433m, Datenblatt siehe ganz unten). Diese Einheit zusammen mit dem LP801B ist schon fast alles was benötigt wird, wenn man es mit einem Mikrocontroller verbindet.
pic
Bild 6: Ausgelötete Sendeeinheit

Doch zuerst musste ich die Schaltung mal analysieren. Dies stellte sich schwerer als vermutet heraus. Hundertmaliges drehen der Platine von Hand war nicht die Lösung. Deshalb machte ich von der Vorder- und Hinterseite der Platine Bilder und bearbeitete diese mit einem Bildverarbeitungsprogramm (Gimp). Dadurch konnte ich die Oberseite halb transparent machen und so die Leiterbahnen gleichzeitig mit den Bauteilen darüber betrachten.
Desweiteren druckte ich mir die Unterseite der Platine extra aus, um schon eingetragene Leiterbahnen im Schaltplan zu markieren (Bild 7).

pic
Bild 7: Platinenausdruck um Plan zu zeichnen

Nach unzähligen Stunden hatte ich dann ungefähr einen Durchblick. Zwischen dem IC und der Sendeeinheit befand sich ein relativ kompliziertes Netzwerk aus insgesamt 23 Dioden. Obwohl ich lange daran gearbeitet habe, ist der auf Bild 8 zu sehende Schaltplan mein eher chaotisches Ergebnis.

pic
Bild 8: Nachgezeichneter Schaltplan der originalen Schaltung

Leider brachte mich das vorerst nicht wirklich weiter. Dieses komplizierte Netzwerk machte mir Kopfzerbrechen. Deshalb beschloss ich einfach die anliegenden Pegel beim jeweiligen Tastendruck zu messen. Das Ergebnis ist auf Bild 9 zu sehen.

pic
Bild 9: Ergebnis der Messungen

Aufgrund von dieser Seite war ich fest überzeugt, dass ich es hier ebenfalls mit Tristates zu tun hätte. Basierend auf dieser Vermutung habe ich dann den Mikrocontroller an die Platine angeschlossen (Bild 10 und Bild 11) und ihn programmiert. Das erste Erfolgserlebnis kam. Ich konnte verschiedene Funksteckdosen einschalten! Aber das Ausschalten funktionierte nicht. Es dauerte viele, viele Stunden in denen ich den Fehler an allen möglichen Stellen suchte (Vielen Dank auch an André für seine Hilfe und seine Ideen) aber nicht fand.
Die Lösung war dann aber ganz einfach. Die Tristates mussten weg und siehe da, alles funktionierte plötzlich!


pic
Bild 10: Originale Platine mit teilweise durchtrennten Leiterbahnen und angelöteten Kabeln (Rückseite)


pic
Bild 11: Originale Platine mit angelöteten Kabeln (Vorderseite)

Als nächsten Schritt kaufte ich mir noch ein Set. Von der neuen Fernbedienung lötete ich dann den IC, die Sendeeinheit und die dazugehörigen Widerstände und Kondenstatoren aus. Dann lötete ich alles auf eine Lochrasterplatine (Bild 12) und steckte sie auf mein Steckbrett. Die Schaltung ist auf Bild 13 ersichtlich.

pic
Bild 12: Endprodukt: Neuaufbau auf Lochrasterplatine

Der Schaltplan (Bild 13) ist etwas vereinfacht. Der Mikrocontroller und der LP801B brauchen natürlich eine passende Spannungsversorgung und in meinem Fall auch einen Quarz. Diese habe ich hier im Schaltplan weggelassen.
pic
Bild 13: Vereinfachter Schaltplan der Lochrasterplatine


Diese Tabelle beschreibt die nötigen Pegel, die an dem LP801B anliegen müssen um die jeweiligen Funksteckdosen an- und auszuschalten.
D0 und D1 sind für das Ein- oder Ausschalten zuständig, die restlichen Bits sind die Adressen der Funksteckdosen.
In diesem Projekt verzichte ich auf die Adressleitungen A0-A4. Diese wurden in der ursprünglichen Schaltung manuell mit den DIP-Schaltern gesetzt. Ich habe die entsprechenden Pins auf meinem Steckbrett einfach mit Masse verbunden (siehe Bild 13).


D0

D1

D2

D3

A5

A6

A7

A An

1

0

1

1

0

1

1

A Aus

0

1

1

1

0

1

1

B An

1

0

1

1

1

0

1

B Aus

0

1

1

1

1

0

1

C An

1

0

1

1

1

1

0

C Aus

0

1

1

1

1

1

0

D An

1

0

1

0

1

1

1

D Aus

0

1

1

0

1

1

1

E An

1

0

0

1

1

1

1

E Aus

0

1

0

1

1

1

1


Tabelle 1: Ansteuerung


Source Code:

Source Code für AVR-GCC:

  • funkset.h
  • funkset.c
  • main.c

    Links:

  • LP801B En/Decoder(leider chinesisches Datenblatt)
  • HDR433M SAW Resonator (eigentlich nicht relevant)

  • Last Updated ( Friday, 12 October 2007 )
     
    Next >