Funkstrom: Unterschied zwischen den Versionen
K (fixed table) |
(version2) |
||
Zeile 21: | Zeile 21: | ||
Auf der Platine ist ein HX2262-Chip verbaut. Das Äquivalent zu diesen Chip ist der PT2262. Das Datenblatt findet man hier: [http://www.e-ele.net/DataSheet/PT2262.pdf Datenblatt PT2262] | Auf der Platine ist ein HX2262-Chip verbaut. Das Äquivalent zu diesen Chip ist der PT2262. Das Datenblatt findet man hier: [http://www.e-ele.net/DataSheet/PT2262.pdf Datenblatt PT2262] | ||
+ | {{clear}} | ||
− | == | + | == Version 2 == |
− | + | Für die zweite Version des Funkstrom-Projektes wird nur noch das Funkmodul der Platine verwendet. Der HX2262-Chip wird hierbei komplett ignoriert. Dadurch ist es uns möglich viel mehr Funksteckdosen mit einer Platine zu schalten. Die Übertragung besteht aus einem System- und Unit-Code sowie dem "Stop-Bit". Der Systemcode besteht aus 5 DIP-Schaltern welche mit 1-5 nummeriert sind, sowie dem Unitcode mit ebensovielen Schalten von A-E. | |
+ | |||
+ | Mit dem Systemcode sind uns 2^5 Kombinationen möglich. Da wir entgegen der normalen Funkfernbedienung auch den Unitcode kombinieren können, und nicht nur einen Schalter zum Kodieren der Steckdose verwenden müssen, sind hier auch 2^5 Kombinationen möglich. | ||
+ | |||
+ | Mit dem jetzigen Aufbau ist es möglich bis zu 1024 Steckdosen zu schalten. | ||
+ | |||
+ | === Versuchsaufbau === | ||
− | + | Unser jetziger Versuchsaufbau besteht aus einem Arduino Leonardo sowie 2 Drähten zur Funkfernbedienung. Der PIN2 des Arduinos wurde mit der Signaleingangsleitung des Funkmoduls verbunden. Der zweite Draht ist GND. | |
− | + | Im Normalbetrieb wird die Funkfernbedienung mit 3,3 Volt versorgt, durch unseren Leonardo aber auch ohne Probleme mit 5V. Die Platine wird mit einem 7,5 Volt Schaltnetzteil versorgt. | |
+ | Der Code für den Versuchsaufbau bedindet sich bereits auf [https://github.com/schinken/funkstrom/blob/master/arduino/funkstrom_v2.ino github] | ||
+ | == Version 1 == | ||
+ | === Ansteuerung === | ||
+ | [[Datei:Funkstrom prozessor.png|left|thumb|100px|HX2262]] | ||
+ | Um eine Steckdose schalten zu können, muss der Chip zuerst wissen, ob es sich um eine Einschalt- oder Ausschaltoperation handelt. Hierzu muss ON (Pin 12) oder OFF (Pin 13) gegen Masse (Vss) geschalten werden. | ||
+ | Darauf folgendend muss A (Pin 6), B (Pin 7) oder C (Pin 8) gegen Masse geschalten werden, um die Steckdose zu schalten. | ||
− | == Schaltung == | + | === Schaltung === |
Da die Fernbedienung auf 12V, und der Prozessor (AtMega32) auf 5V läuft, werden die Pins über Transistoren zu Masse (Vss) geschalten. Hierzu wurde die Masse des AtMega32 und des HX2262 zusammengeführt. | Da die Fernbedienung auf 12V, und der Prozessor (AtMega32) auf 5V läuft, werden die Pins über Transistoren zu Masse (Vss) geschalten. Hierzu wurde die Masse des AtMega32 und des HX2262 zusammengeführt. | ||
Zeile 49: | Zeile 62: | ||
\------ Vss | \------ Vss | ||
− | == Momentaner Aufbau == | + | === Momentaner Aufbau === |
Die Transistoren (BC337-16), welche zum schalten der Fernbedienung verwendet wurden, werden über das [http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html AVR-Net-IO] angesteuert. | Die Transistoren (BC337-16), welche zum schalten der Fernbedienung verwendet wurden, werden über das [http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html AVR-Net-IO] angesteuert. | ||
Zeile 55: | Zeile 68: | ||
Dieser Aufbau soll später miniaturisiert werden. Hierzu soll ein kleinerer Prozessor mit mindestens 8 I/O-Pins, UART und 5V Spannungsversorgung verwendet werden. | Dieser Aufbau soll später miniaturisiert werden. Hierzu soll ein kleinerer Prozessor mit mindestens 8 I/O-Pins, UART und 5V Spannungsversorgung verwendet werden. | ||
− | === Kommunikation === | + | ==== Kommunikation ==== |
Die Ansteuerung des AVR-Net-IO wird über Netzwerk realisiert. Hierbei werden die vorgegebenen Steuerbefehle verwendet. | Die Ansteuerung des AVR-Net-IO wird über Netzwerk realisiert. Hierbei werden die vorgegebenen Steuerbefehle verwendet. | ||
Zeile 70: | Zeile 83: | ||
SETPORT 3.0 | SETPORT 3.0 | ||
− | == REST-API == | + | === REST-API === |
Die REST-Api wird genauso wie beim [[Webrelais]] implementiert, mit dem Unterschied, das statt einem Parallel-Port ein Serieller-Port wie USB verwendet wird. | Die REST-Api wird genauso wie beim [[Webrelais]] implementiert, mit dem Unterschied, das statt einem Parallel-Port ein Serieller-Port wie USB verwendet wird. | ||
Zeile 98: | Zeile 111: | ||
Wird keine Zahl übergeben, sind alle Steckdosen von der Aktion betroffen | Wird keine Zahl übergeben, sind alle Steckdosen von der Aktion betroffen | ||
− | == Projektbilder == | + | === Projektbilder === |
<gallery> | <gallery> | ||
Datei:Funkstrom eth 1.jpeg | Datei:Funkstrom eth 1.jpeg |
Version vom 31. Januar 2013, 22:01 Uhr
Funkstrom Status: stable | |
---|---|
Beschreibung | Funksteckdosen schaltbar über eine REST-API |
Autor: | schinken |
Version | 1 |
PayPal |
Schaltsteckdosen
Bei den Funksteckdosen handelt es sich um das ELRO AB440S :: Funk-Steckdosen, 3-er Set bei Reichelt. Die Fernbedienung hat eine Reichweite von ca. 15 Metern, und die Steckdosen können bis zu 1000 Watt schalten.
Die Fernbedienung kann durch wenige Schrauben auf der Rückseite auseinandergenommen werden. Zum Vorschein kommt eine Platine mit Kontakten, die durch die Gummitastenmatte geschalten wird.
Diese Schaltung enthält pro Funktion jeweils 3 Leiterbahnen: Masse, ON/OFF, Steckdose.
Auf der Platine ist ein HX2262-Chip verbaut. Das Äquivalent zu diesen Chip ist der PT2262. Das Datenblatt findet man hier: Datenblatt PT2262
Version 2
Für die zweite Version des Funkstrom-Projektes wird nur noch das Funkmodul der Platine verwendet. Der HX2262-Chip wird hierbei komplett ignoriert. Dadurch ist es uns möglich viel mehr Funksteckdosen mit einer Platine zu schalten. Die Übertragung besteht aus einem System- und Unit-Code sowie dem "Stop-Bit". Der Systemcode besteht aus 5 DIP-Schaltern welche mit 1-5 nummeriert sind, sowie dem Unitcode mit ebensovielen Schalten von A-E.
Mit dem Systemcode sind uns 2^5 Kombinationen möglich. Da wir entgegen der normalen Funkfernbedienung auch den Unitcode kombinieren können, und nicht nur einen Schalter zum Kodieren der Steckdose verwenden müssen, sind hier auch 2^5 Kombinationen möglich.
Mit dem jetzigen Aufbau ist es möglich bis zu 1024 Steckdosen zu schalten.
Versuchsaufbau
Unser jetziger Versuchsaufbau besteht aus einem Arduino Leonardo sowie 2 Drähten zur Funkfernbedienung. Der PIN2 des Arduinos wurde mit der Signaleingangsleitung des Funkmoduls verbunden. Der zweite Draht ist GND.
Im Normalbetrieb wird die Funkfernbedienung mit 3,3 Volt versorgt, durch unseren Leonardo aber auch ohne Probleme mit 5V. Die Platine wird mit einem 7,5 Volt Schaltnetzteil versorgt.
Der Code für den Versuchsaufbau bedindet sich bereits auf github
Version 1
Ansteuerung
Um eine Steckdose schalten zu können, muss der Chip zuerst wissen, ob es sich um eine Einschalt- oder Ausschaltoperation handelt. Hierzu muss ON (Pin 12) oder OFF (Pin 13) gegen Masse (Vss) geschalten werden.
Darauf folgendend muss A (Pin 6), B (Pin 7) oder C (Pin 8) gegen Masse geschalten werden, um die Steckdose zu schalten.
Schaltung
Da die Fernbedienung auf 12V, und der Prozessor (AtMega32) auf 5V läuft, werden die Pins über Transistoren zu Masse (Vss) geschalten. Hierzu wurde die Masse des AtMega32 und des HX2262 zusammengeführt.
Als Transistor wurde ein BC337-16 verwendet.
Die Transistorschaltung sieht wie folgt aus:
+------ HX2262 Pin _____ |/ AtMega ----[_____] -----| 4k7 |> \------ Vss
Momentaner Aufbau
Die Transistoren (BC337-16), welche zum schalten der Fernbedienung verwendet wurden, werden über das AVR-Net-IO angesteuert.
Dieser Aufbau soll später miniaturisiert werden. Hierzu soll ein kleinerer Prozessor mit mindestens 8 I/O-Pins, UART und 5V Spannungsversorgung verwendet werden.
Kommunikation
Die Ansteuerung des AVR-Net-IO wird über Netzwerk realisiert. Hierbei werden die vorgegebenen Steuerbefehle verwendet. Die IP-Adresse und Netzmaske muss zuvor über die serielle Verbindung konfiguriert werden.
Um die Steckdose "A" einzuschalten, werden folgende Befehle an den AVR gesendet:
SETPORT 1.1 // ON-Mode SETPORT 3.1 // Steckdose A
danach müssen die PINs wieder zurückgesetzt werden:
SETPORT 1.0 SETPORT 3.0
REST-API
Die REST-Api wird genauso wie beim Webrelais implementiert, mit dem Unterschied, das statt einem Parallel-Port ein Serieller-Port wie USB verwendet wird.
HTTP-Befehl | Pfad | Beschreibung |
---|---|---|
GET | / | Simples Webinterface zur Steuerung der Steckdosen |
POST | /power/[0-2]? | Steckdose einschalten |
GET | /power/[0-2]? | Status des Steckdose abfragen |
DELETE | /power/[0-2]? | Steckdose ausschalten |
Wird keine Zahl übergeben, sind alle Steckdosen von der Aktion betroffen