Martin's Bastelstube: Steckdosenstrom schalten
| |
Oooh, jetzt höre ich die Sicherheitsfanatiker schon entsetzt rufen:
Ist das auch wirklich ungefährlich?
Darf man die Jugendlichen schon an so gefährliche Sachen heranlassen
wie Strom aus der Steckdose? Werden auch alle Vorschriften des VDE
eingehalten? Sind die LEGO-Kabel ausreichend vom Steckdosenstrom getrennt?
Da kann ich nur sagen: Ja. Wenn ein Schüler bei Ihnen zu Hause
die Schreibtischlampe in die Steckdose stecken darf, dann ist diese Bastelei
keinen Deut gefährlicher für ihn.
| |
|
(Das Gleiche gilt übrigens genauso für
Schülerinnen. Und für Robotiker, die schon zu
alt für die Schule geworden sind.
Ganz allgemein sind alle Basteleien in Martin's Bastelstube
für beide Geschlechter und alle Altersgruppen geeignet,
ich setze bei meinem Publikum nur ein gewisses Mindestmaß
an Verständnis für technische Zusammenhänge
voraus.)
Das Geheimnis hinter dieser Bastelei ist tatsächlich, dass man keine
Geräte, die mit dem richtigen "Saft-und-Kraft"-Strom zu tun haben,
bauen / verändern / öffnen muss. Das gibt's alles fertig im Baumarkt.
Hier fängt die Geschichte auch an: im Baumarkt oder Elektrofachhandel
(vielleicht auch im Supermarkt um die Ecke): Wir kaufen uns einen Satz
funkgesteuerte Steckdosen. Weil der RCX drei Ausgänge hat, achten wir
auch darauf, dass ein Handsender und mindestens drei Steckdosen
im Paket enthalten sind. (Der Raspberry Pi könnte bis zu vier
Steckdosen schalten.) Zum Teil gibt es solche Komplettsätze schon
für 10 - 15 Euro.
Wichtig ist auch, dass der Handsender
- getrennte Tasten für's Ein- und Ausschalten jeder Steckdose hat
- kein Dimming unterstützt (sowas gibt's manchmal -- bei uns würde sowas nur stören)
Die ganze Bastelei beschränkt sich nur auf Veränderungen am
Sender (= Fernbedienung).
Im Prinzip sorgen wir nur dafür, dass die Tasten am Sender
gedrückt werden (natürlich elektrisch).
Umbau des Senders:
Die folgenden Arbeitsschritte kann ich nicht allzu detailliert beschreiben
– jeder Sender ist intern anders aufgebaut und ihr müsst selbst
sehen, wie ihr an die Innereien herankommt.
Zuerst nehmen wir mal die Batterie(n) des Senders heraus, dann öffnen
wir das Gehäuse des Senders. Nichts abbrechen, wir müssen ihn
später wieder zusammensetzen! Jetzt schauen wir nach, wie genau die
Tasten verdrahtet sind.
|
|
|
Meistens hat der Sender innen auf der Leiterplatte einen Chip (der kann auch
unter einem schwarzen Harztropfen versteckt sein), von dem aus ein paar
Leitungen zu den Tastenkontakten gehen. Weiter vorne ist wahrscheinlich noch
ein Sende-Modul für die Funkübertragung.
|
|
|
Wir müssen jetzt die Anschlüsse von allen wichtigen Tasten
(für jede unserer Funksteckdosen jeweils die EIN- und AUS-Taste)
abzweigen, damit unsere Schaltung die Kontakte später elektrisch
schließen kann. Vielleicht stellt ihr fest, dass die Tasten bestimmte
gemeinsame Kontakte haben – das verringert die Anzahl der Kabel, die
ihr anschließen müsst.
Wir zeichnen zuerst einen Verdrahtungsplan, damit wir alle Verbindungen sehen.
|
|
Für jeden Anschluss aus dem Verdrahtungsplan suchen wir uns einen
Punkt, an dem man einen dünnen Fädeldraht gut anlöten kann.
Dieser Draht ist umhüllt mit einem isolierenden Lack, der beim
Löten verdampft und dann das blanke Kupfer freigibt.
Dabei gut die Werkstatt lüften – die Dämpfe sind
gesundheitsschädlich!
|
|
|
Versucht, die Kabel so zu legen, dass sie nicht die allgemeine Funktion des
Senders beeinträchtigen. Im besten Fall kann man am Schluss den Sender
immer noch unabhängig von unserer Bastelei als Handsender weiterbenutzen.
Dazu dürfen die Kabel, die ihr neu anschließt, den Tasten
allerdings nicht im Weg liegen.
Damit die Drähte zum Stecker auf der anderen Seite der Platine kommen,
habe ich ein kleines Loch gebohrt (an einer Stelle, wo keine Leiterbahnen
liegen).
|
|
|
Sucht einen Platz im Plastikgehäuse des Senders, der einen kleinen
Stecker aufnehmen kann. Im ungünstigsten Fall
(ihr habt keine gemeinsamen Leitungen der Tasten gefunden) muss dieser
Stecker 16 Kontakte haben. Bei meinen Sendern konnte ich die Anzahl der
Leitungen auf 5 bzw. 7 reduzieren. Dadurch passte der Stecker ganz
unauffällig an die Seite des Sendergehäuses.
|
|
|
Schaltungsaufbau:
Jetzt kommt die andere Hälfte: der Rechner muss die Tastenkontakte
schließen. Das geht mit Relais, Reedrelais oder Optokopplern.
Hier könnt ihr (sofern vorhanden) Bauteile aus eurer Bastelkiste
verwenden, um Geld zu sparen.
Relais
Relais schalten recht langsam (brauchen ca. ein bis zwei Zehntelsekunden
zum Ansprechen und abfallen).
Außerdem brauchen sie viel Strom – wenn man sie nicht direkt
an einem Motorausgang betreibt, muss man noch eine Verstärkerschaltung
davor setzen.
Für den RCX: Relais mit einer Spulenspannung von 9V sind schwer zu
bekommen, vielleicht tun's auch welche mit 12V (vorher ausprobieren!).
Weil wir an jedem Motorausgang des RCX die Vorwärts- und
Rückwärtsrichtung unterscheiden müssen, brauchen wir pro
Ausgang zwei Relais. Diese werden dann mit Dioden in Reihe geschaltet,
so dass für jede Motorrichtung ein anderes Relais anspricht.
— Ach so, ganz nebenbei: Relais verbrauchen recht viel Platz
in eurem Roboter. Mehr oder weniger, je nach Bauart.
Reedrelais
Reedrelais schalten schneller als normale Relais, sind meistens kleiner
und brauchen weniger Strom. Dafür kann der Schaltkontakt in aller
Regel auch weniger Strom vertragen als bei normalen Relais
(das ist aber für diese Bastelei nicht wichtig).
Trotzdem brauchen wir auch wieder 2 Reedrelais pro Motorausgang, die wir
mit Dioden in verschiedene Motorrichtungen aufteilen. Es gibt Reedrelais
mit eingebauten Freilaufdioden. Falls ihr solche Teile benutzt, müsst
ihr aufpassen, dass ihr die Spule in der richtigen Polarität ansteuert.
Optokoppler
Optokoppler bestehen aus einer Leuchtdiode und einem Fototransistor,
eingepresst in ein gemeinsames Chip-Gehäuse. Sie schalten mindestens
100-mal schneller als Relais, weil sie vollständig ohne bewegte
mechanische Teile auskommen. Sie haben ausgangsseitig eine bevorzugte
Stromflussrichtung (Kollektor-Emitter-Strecke des Fototransistors). Deshalb
müsst ihr ausprobieren, in welcher Anschlussrichtung des
Optokoppler-Ausgangs der Sender einen Tastendruck erkennt. Es gibt
Zweifach-Optokoppler in einem 8poligen DIL-Gehäuse -- so klein
und kompakt gibt es keine Relais oder Reedrelais.
Die Leuchtdioden am Eingang des Optokopplers brauchen einen strombegrenzenden
Widerstand in Reihe (ca. 390 Ohm am Motorausgang des RCX,
ca. 100 Ohm am Logik-Ausgang des Raspberry Pi).
Allerdings können beim RCX immer zwei Koppler mit einem gemeinsamen
Widerstand betrieben werden, das spart nochmal Platz.
Schaltung für RCX:
|
|
Dieser Absatz gilt ebenso für andere Robotik-Plattformen, bei denen man
die Motorausgänge zum Schalten der Fernbedienung verwenden will.
|
|
|
In meinem Beispiel-Aufbau habe ich drei Zweifach-Optokoppler vom Typ PC827 verwendet.
Die Schaltung ist nicht besonders kompliziert.
Hier gibt's ein paar Ansichten:
geschlossen |
|
offen |
|
noch offener |
|
Platine, Oberseite |
|
Platine, Unterseite |
|
kurz vorm Andocken an den Sender |
|
angeschlossen |
|
Die gesamte Schaltung ist in einem Gehäuse aus LEGO-Steinen mit einem Stecker,
der exakt in den Sender passt. Ein paar der LEGO-Steine habe ich etwas angesägt,
damit sie der Elektronik nicht im Weg stehen. |
|
Schaltung für Raspberry Pi:
|
|
Der Raspberry Pi kann an seinen GPIO-Logikausgängen direkt LEDs treiben
(und nichts anderes ist die Eingangsstufe der Optokoppler),
deshalb ist auch hier die
Schaltung
sehr einfach.
|
Hier habe ich die Schaltung auf einer Lochrasterplatine aufgebaut. Sie hat
einen 26poligen Wannenstecker, so dass man die Platine (und den Sender, der
damit verbunden ist) an einer Stelle unterbringen kann, wo das Funksignal
des Senders alle Steckdosen gut und sicher erreicht.
Die Verbindung zum Raspberry Pi macht man mit einem 26poligen Flachbandkabel.
Dessen Länge ist recht unerheblich, weil ja nur sehr langsame Signale
geschaltet werden.
Ich habe auch eine Version als Huckepack-Platine auf dem Raspberry Pi
entworfen. Die kann man verwenden, wenn der Standort des Rechners
gleichzeitig auch günstig für den Fernsteuer-Sender ist.
Man kann für die Optokoppler alternativ Typen im DIL-Gehäuse
(OK1 - OK4) oder im SMD-Gehäuse (OK5 - OK8) verwenden.
Alle LED-Vorwiderstände sind in einem SIL-Streifen zusammengefasst.
Wenn man nur 6 Tasten am Sender betätigen möchte, kann man
statt des Optokopplers OK4 / OK8 zwei LEDs einsetzen, die die
Aktivität der Schaltung anzeigen.
Software für Raspberry Pi:
Für die ersten Gehversuche mit der frisch aufgebauten Schaltung
habe ich hier ein Python-Script für den Raspberry Pi, das alle
Steckdosen der Reihe nach ein- und ausschaltet.
Schaltung für I2C-Bus:
|
|
Wenn man das Ganze von einem Bobby-Board / Gold-Board steuern möchte
(oder von einem anderen Roboter-Controller mit I2C-Bus), geht das
natürlich genauso gut – dann werden halt die Eingänge
der Optokoppler von einem I2C-Expander wie z.B. dem
PCF8574 geschaltet.
|
|
|
Anderes Konzept:
|
|
Man kann auch ein ganz und gar anderes Konzept verfolgen:
Einfach das Funk-Sendemodul aus dem Fernsteuersender herauslöten
oder ein vergleichbares Modul im Elektronik-Handel besorgen und dann
die Signal des Senders selbst erzeugen.
Das funktioniert natürlich nur mit Controllern, die schnell genug
die Sendersignale erzeugen können – nicht mit dem RCX.
|
|
|
Eine Bastelanleitung für den Raspberry Pi mit dieser Methode gibt's
nachzulesen bei
RasPiProjekt.de.
Anwendungen:
- Verkehrsampel mit "richtigen" Lampen
- Lichtorgel (zusammen mit dem Bass Beat Sensor aus
Martin's Bastelstube, Teil VIII)
- Einbindung von größeren Maschinen wie Radio, Fön, Ventilator,
Toaster, Staubsauger in eigene Roboter-Konstruktionen
- Statusanzeige für Jenkins-Server
Diese neue Bastelei ist natürlich auch für andere Einsatzzwecke
nutzbar, wo der RCX (oder der Raspberry Pi) an irgendwelchen Geräten Tasten
drücken kann, um sie zu steuern. Das kann zum Beispiel die Fernbedienung
von eurem Fernseher / eurer Stereo-Anlage sein, eine alte zweit-Tastatur von
eurem Computer oder was auch immer euch einfällt.
Falls ihr etwas anderes als eine Fernsteuerung zum
Tastendrücken verwendet:
Alle Umbauten geschehen auf eure eigene Gefahr ... ihr müsst
selbst verstehen, was ihr da an euren Geräten verändert.
Ihr müsst selbst wissen, dass bei unvorsichtigem Umgang beim Löten
euer Gerät kaputt gehen kann. Und dass sofort die Garantie verloren geht,
sobald ihr nur das Gehäuse öffnet.
Ihr sollt an keinem Gerät herumbasteln, in dem mit Steckdosenstrom
gearbeitet wird !!!
Das ist auch der Grund, warum ich bei dieser Bastelei nur die Fernbedienung
umgebaut habe: Das schlimmste, was hier passieren kann, ist, dass die
Fernbedienung kaputtgelötet wird. Dann habt ihr halt für eine Handvoll
Euro Elektroschrott herumliegen. Euch selbst und eurer Gesundheit kann aber kein
Schaden entstehen.
Und wenn's mehr als 8 Tasten werden sollen?
Vielleicht will man ja mal ein Gerät fernsteuern, das mehr als 8 Tasten hat ...
im Extremfall soll's gleich die komplette Tastatur eines Computers sein. Dann sollte
man nicht für jede Taste einen eigenen Optokoppler spendieren.
Meistens sind solche großen Tastenfelder als Matrix verschaltet – wir haben
weiter oben ja schon das Prinzip ausgenutzt. Dann reicht es im besten Fall auch schon
aus, wenn man für jede Zeile und für jede Spalte der Tastaturmatrix einen
Optokoppler verwendet.
Für jeden Tastendruck muss dann gleichzeitig ein Optokoppler für die Zeile
und ein Optokoppler für die Spalte aktiviert werden. Dann kann man die GPIO-Leitungen
auch sparsamer einsetzen, indem man einen Demultiplexer-Baustein dazwischen setzt.
Mit 8 Leitungen könnte man z.B. eine Matrix aus 8 × 16 (= 128) Tasten schalten und
hätte sogar noch eine Leitung für die Hochstelltaste (Shift) frei.
Hier ist eine Schaltung für eine Matrix aus 16 × 16 (= 256) Tasten plus 4 zusätzliche
Tasten (z.B. Shift, Ctrl, Alt, AltGr) mit 36 Reedrelais. Falls jemand Interesse hat,
kann ich die Schaltung mal in lesbarer Form dokumentieren und vielleicht sogar so
umbauen, dass man sie von einem Roboterbaustein aus steuern kann.
Wenn man auf die galvanische Trennung verzichten kann, vereinfacht sich die
Schaltung sehr. Da reichen dann zwei CMOS-Bausteine
4067
für je 16 Zeilen und Spalten, und ein
4066
für die zusätzlichen Tasten (z.B. Shift, Ctrl, Alt, AltGr).
Zur Ansteuerung bräuchte man dann 13 GPIO-Leitungen.
Tschüß, euer Martin S.
|
E-mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
|