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}}
  
== Ansteuerung ==
+
== Version 2 ==
  
[[Datei:Funkstrom prozessor.png|left|thumb|100px|HX2262]]
+
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 ===
  
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.
+
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.  
  
Darauf folgendend muss A (Pin 6), B (Pin 7) oder C (Pin 8) gegen Masse geschalten werden, um die Steckdose zu schalten.
+
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

Crystal Clear action run.png
Funkstrom

Status: stable

Funkstrom preview.jpg
Beschreibung Funksteckdosen schaltbar über eine REST-API
Autor: schinken
Version 1
PayPal Spenden für Funkstrom

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

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

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

Projektbilder