Site Tools


tech:sensorlogger

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tech:sensorlogger [2015/01/01 22:42] – created bullartech:sensorlogger [2015/01/01 23:05] (current) – [Hardware] bullar
Line 2: Line 2:
  
 ====Motivation==== ====Motivation====
-[[BildSensorlogger_top.jpg|thumb|200px|Der fertige Sensorlogger]] +{{:tech:sensorlogger_top.jpg?direct&200 |Der fertige Sensorlogger}} 
-[[BildSensorlogger_bottom.jpg|thumb|100px|und hier die Rückseite mit microSD Karte]]+{{:tech:sensorlogger_bottom.jpg?direct&100 |und hier die Rückseite mit microSD Karte}} 
 Die Idee zu der folgenden Schaltung ist eigentlich aus der Überlegung entstanden, dass es neben der Verbrauchsaufzeichnung der heimischen Heizung (hier Gas) ganz interessant wäre, auch die Außen und Innentemperatur mit aufzuzeichnen. Schließlich gilt ja, je kälter desto mehr heizen. Eine Temperaturmessung hat man vielleicht ja schon zu Hause im Einsatz in Form einer Wetterstation. Warum also nicht die drahtlose Übertragung der Sensoren zur Wetterstation 'anzapfen'... Die Idee zu der folgenden Schaltung ist eigentlich aus der Überlegung entstanden, dass es neben der Verbrauchsaufzeichnung der heimischen Heizung (hier Gas) ganz interessant wäre, auch die Außen und Innentemperatur mit aufzuzeichnen. Schließlich gilt ja, je kälter desto mehr heizen. Eine Temperaturmessung hat man vielleicht ja schon zu Hause im Einsatz in Form einer Wetterstation. Warum also nicht die drahtlose Übertragung der Sensoren zur Wetterstation 'anzapfen'...
  
Line 10: Line 11:
 ====Features==== ====Features====
 Das Gerät soll also das IT+ Sensorprotokoll empfangen und verstehen und die so erfassten Messwerte an das Smart Meter über Ethernet ins Intra- oder Internet liefern. Um auch Netzwerkunabhängig aufzeichnen zu können wäre ein MicroSD Interface zur Datenspeicherung eine nette Spielerei. Noch mal zusammengefasst: Das Gerät soll also das IT+ Sensorprotokoll empfangen und verstehen und die so erfassten Messwerte an das Smart Meter über Ethernet ins Intra- oder Internet liefern. Um auch Netzwerkunabhängig aufzeichnen zu können wäre ein MicroSD Interface zur Datenspeicherung eine nette Spielerei. Noch mal zusammengefasst:
-* Empfang und Dekodierung der IT+ Protokolldaten +  * Empfang und Dekodierung der IT+ Protokolldaten 
-* Speichern der Daten auf MicroSD-Karte +  * Speichern der Daten auf MicroSD-Karte 
-* Senden der Messdaten über Ethernet +  * Senden der Messdaten über Ethernet 
-* kleines Standardgehäuse +  * kleines Standardgehäuse 
-* externes Standardnetzteil  +  * externes Standardnetzteil  
-* und wie immer Standardbauteile und preiswert+  * und wie immer Standardbauteile und preiswert
  
 ====Protokoll==== ====Protokoll====
 Wenn sich an das IT+ Protokoll wagt, so findet man einige Quellen (siehe Links). Vom Sensor werden so alle 4.5 Sekunden Wenn sich an das IT+ Protokoll wagt, so findet man einige Quellen (siehe Links). Vom Sensor werden so alle 4.5 Sekunden
-immer 5 Bytes gesendet. Die Frequenz ist af 868MHz festgelegt. Falls der Sensor auch die Luftfeuchtigkeit messen kann, so kommt der Wert mit, wenn nicht dann gibt es einen Fantasiewert (=106). Jeder Sensor verfügt über eine Adresskodierung. <u>Vorsicht es gibt Sensoren, die nach dem Batteriewechsel eine neue Adresse verwenden.</u>Über die Adresse lassen sich auch mehrere Sensoren parallel auswerten. +immer 5 Bytes gesendet. Die Frequenz ist af 868MHz festgelegt. Falls der Sensor auch die Luftfeuchtigkeit messen kann, so kommt der Wert mit, wenn nicht dann gibt es einen Fantasiewert (=106). Jeder Sensor verfügt über eine Adresskodierung. __Vorsicht es gibt Sensoren, die nach dem Batteriewechsel eine neue Adresse verwenden.__ Über die Adresse lassen sich auch mehrere Sensoren parallel auswerten. 
-Zu Beachten ist auch, das keine negativen Werte übertragen werden, da die Temperatur vor der Übertragung immer einen Offset von 40 erhält.+Zu Beachten ist auch, dass keine negativen Werte übertragen werden, da die Temperatur vor der Übertragung immer einen Offset von 40 erhält.
 <code C> <code C>
 // ##### IT+ Frame ##### // ##### IT+ Frame #####
Line 48: Line 49:
  
 ====Hardware==== ====Hardware====
-[[Bild: schematic_1.png|thumb|200px|Schaltplan Seite 1]] +{{:tech:schematic_1.png?direct&300 |Schaltplan Seite 1}} 
-[[Bild: schematic_2.png|thumb|200px|Schaltplan Seite 2]]+{{:tech:schematic_2.png?direct&300 |Schaltplan Seite 2}} 
 + 
 +---- 
 Als Hardware kommen folgende Komponenten zum Einsatz: Als Hardware kommen folgende Komponenten zum Einsatz:
-* 868MHz Empfangsmodul mit PCB Antenne +  * 868MHz Empfangsmodul mit PCB Antenne 
-* ATMEL ATmega1284P + ENC28J60 für 100base-T +  * ATMEL ATmega1284P + ENC28J60 für 100base-T 
-* microSD Adapter+  * microSD Adapter
  
 ===Empfangsmodul=== ===Empfangsmodul===
 Für dem Empfang (und wenn mal will auch für das Senden) gibt es ein preiswertes 868MHz Modul RFM12. Für dem Empfang (und wenn mal will auch für das Senden) gibt es ein preiswertes 868MHz Modul RFM12.
-Es ist ein ''Universal ISM Band FSK Transceiver'' und an anderer Stelle schon ausgiebig beschrieben [[RFM12]].+Es ist ein ''Universal ISM Band FSK Transceiver'' und an anderer Stelle schon ausgiebig beschrieben [[http://www.mikrocontroller.net/articles/RFM12|RFM12]].
 Die Kommunikation erfolgt über eine gewöhnliche SPI Schnittstelle im 16-bit Transfer. Die Einstellmöglichkeiten sind so vielseitig, sodass man am Anfang schier verzweifelt, bis der Empfang dann endlich gelingen will. Daher hier mal die bei mir erfolgreiche Init-Sequenz: Die Kommunikation erfolgt über eine gewöhnliche SPI Schnittstelle im 16-bit Transfer. Die Einstellmöglichkeiten sind so vielseitig, sodass man am Anfang schier verzweifelt, bis der Empfang dann endlich gelingen will. Daher hier mal die bei mir erfolgreiche Init-Sequenz:
 <code C> <code C>
Line 118: Line 122:
  
 ===Platine=== ===Platine===
-[[BildSensorlogger_board.png|thumb|200px|Platine mit PCB Antenne]]+{{:tech:sensorlogger_board.png?direct&200 |Platine mit PCB Antenne}}
 Das PCB wurde auf das Gehäuse SP 2000 SW von STRAPUBOX abgestimmt. Damit alles einfach reinpasst in SMD wo sinnvoll. Das PCB wurde auf das Gehäuse SP 2000 SW von STRAPUBOX abgestimmt. Damit alles einfach reinpasst in SMD wo sinnvoll.
 Bei Buchsen (Power/Ethernet) bin ich aber immer noch ein Fan von Thru-Hole - wegen der Stabilität. Das Löten fand wieder in der Pizzapfanne statt wie in der c't Hacks beschrieben. Bei Buchsen (Power/Ethernet) bin ich aber immer noch ein Fan von Thru-Hole - wegen der Stabilität. Das Löten fand wieder in der Pizzapfanne statt wie in der c't Hacks beschrieben.
  
 ===Antenne=== ===Antenne===
-[[BildS11_initial.jpg|thumb|150px|S11 Messung am Original]] +{{:tech:s11_initial.jpg?direct&200 |S11 Messung am Original}} 
-[[BildS11_final.jpg|thumb|150px|S11 Messung nach der Verkürzung]] +{{:tech:s11_final.jpg?direct&200 |S11 Messung nach der Verkürzung}} 
-An das RFM12-Modul muss noch eine Antenne angeschlossen werden. Üblicherweise 1/4 Lamba also ca. 8,3cm . Da aber noch Patz auf dem PCB war, habe ich mich mal an eine PCB Variante in meanderförmigem Aufbau gewagt. Dazu gibt es eine hübsche Design Note von Texas Instruments (DN024). Das Ergebnis lag aber etwas daneben, da u.a. das <math>\epsilon_r</math> meines Lieblings-PCB-Machers wohl doch in Wirklichkeit etwas anders ausfiel. Der maximale Gain lag bei ca. 790MHz und ließ sich dann durch Verkürzung nach 868MHz schieben bei endgültigen -6dB gain. Damit ist auch ein Empfang durch Betondecken oder -wände machbar. +An das RFM12-Modul muss noch eine Antenne angeschlossen werden. Üblicherweise 1/4 Lamba also ca. 8,3cm . Da aber noch Patz auf dem PCB war, habe ich mich mal an eine PCB Variante in meanderförmigem Aufbau gewagt. Dazu gibt es eine hübsche Design Note von Texas Instruments (DN024). Das Ergebnis lag aber etwas daneben, da u.a. das <m> epsilon_r </m> meines Lieblings-PCB-Machers wohl doch in Wirklichkeit etwas anders ausfiel. Der maximale Gain lag bei ca. 790MHz und ließ sich dann durch Verkürzung nach 868MHz schieben bei endgültigen -6dB gain. Damit ist auch ein Empfang durch Betondecken oder -wände machbar.
 ====Software==== ====Software====
 Die Software ist mit AVR STudio 6 erstellt und als Debugger steht AVR-Dragon auf bem Basteltisch. Zur Unterstützung ist ein UART I/F mit an Board, das dann über einen Pegelwandler und den RS232/USB Adapter selbst auf meinem MAC die printf-Anweisungen klaglos ausgibt. Ein Command I/F erlaubt auch die direkte Steuerung über die gleiche Schnittstelle. Für den Normalbetrieb ist allerdings auch ein kleiner Web-Server integriert. Das gesamte Paket inkl. Ethernet und SD Unterstützung benötigt ca. 85K FLASH und 12.5K RAM Speicher. Die Software ist mit AVR STudio 6 erstellt und als Debugger steht AVR-Dragon auf bem Basteltisch. Zur Unterstützung ist ein UART I/F mit an Board, das dann über einen Pegelwandler und den RS232/USB Adapter selbst auf meinem MAC die printf-Anweisungen klaglos ausgibt. Ein Command I/F erlaubt auch die direkte Steuerung über die gleiche Schnittstelle. Für den Normalbetrieb ist allerdings auch ein kleiner Web-Server integriert. Das gesamte Paket inkl. Ethernet und SD Unterstützung benötigt ca. 85K FLASH und 12.5K RAM Speicher.
  
 ====Ausblick==== ====Ausblick====
-[[Bild: temp_example.png|thumb|200px|Aussentemperaturverlauf einer Woche]] +{{:tech:temp_example.png?direct&200 |Aussentemperaturverlauf einer Woche}} 
-Wer mal die Aufzeichnung live auf meinem WebServer ausprobieren will: http://vz.rbulla.de. Die UUID für die Außentemperatur (in Langenfeld-Rheinland) lautet: e62976c0-7109-11e1-a585-8762f86249c1.+Wer mal die Aufzeichnung live auf meinem WebServer ausprobieren will: http://vz.rbulla.de. Die UUID für die Außentemperatur (in Langenfeld-Rheinland) lautet: ''e62976c0-7109-11e1-a585-8762f86249c1''.
  
 ====Links==== ====Links====
-* [[http://hackaday.com/2011/06/13/reverse-engineering-wireless-weather-stations/]] IT+ Protokoll Beschreibung +  * [[http://hackaday.com/2011/06/13/reverse-engineering-wireless-weather-stations/]] IT+ Protokoll Beschreibung 
-* [[http://fredboboss.free.fr/tx29/]]  IT+ Protokoll Beschreibung +  * [[http://fredboboss.free.fr/tx29/]]  IT+ Protokoll Beschreibung 
-* [[http://gcrnet.net/node/32]]  IT+ Protokoll Beschreibung +  * [[http://gcrnet.net/node/32]]  IT+ Protokoll Beschreibung 
-* [[http://www.ti.com/lit/an/swra227e/swra227e.pdf]]  Antenna Design Note DN024  +  * [[http://www.ti.com/lit/an/swra227e/swra227e.pdf]]  Antenna Design Note DN024  
-* [[http://www.mikrocontroller.net/articles/RFM12]]  Empfangsmodul Beschreibung +  * [[http://www.mikrocontroller.net/articles/RFM12]]  Empfangsmodul Beschreibung 
-* [[http://www.volkszaehler.org]]  Smart Meter Anwendung +  * [[http://www.volkszaehler.org]]  Smart Meter Anwendung 
-* [[http://www.heise.de/hardware-hacks/artikel/SMD-Loeten-in-der-Pizzapfanne-1276166.html]] SMD Löten mit einfachen Mittel +  * [[http://www.heise.de/hardware-hacks/artikel/SMD-Loeten-in-der-Pizzapfanne-1276166.html]] SMD Löten mit einfachen Mittel 
-* [[http://www.reichelt.de]] Dort gibt es fast alle Bauteile +  * [[http://www.reichelt.de]] Dort gibt es fast alle Bauteile 
-* [[http://www.fischer-leiterplatten.de]] Der PCB Macher+  * [[http://www.fischer-leiterplatten.de]] Der PCB Macher
tech/sensorlogger.1420152167.txt.gz · Last modified: 2015/01/01 22:42 (external edit)