This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tech:sensorlogger [2015/01/01 22:44] – [Features] bullar | tech:sensorlogger [2015/01/01 23:05] (current) – [Hardware] bullar | ||
---|---|---|---|
Line 2: | Line 2: | ||
====Motivation==== | ====Motivation==== | ||
- | [[Bild: Sensorlogger_top.jpg|thumb|200px|Der fertige Sensorlogger]] | + | {{:tech: |
- | [[Bild: Sensorlogger_bottom.jpg|thumb|100px|und hier die Rückseite mit microSD Karte]] | + | {{:tech: |
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 ' | 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 ' | ||
Line 19: | Line 20: | ||
====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. | + | 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. |
- | 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: |
- | [[Bild: schematic_2.png|thumb|200px|Schaltplan Seite 2]] | + | {{:tech: |
+ | |||
+ | ---- | ||
Als Hardware kommen folgende Komponenten zum Einsatz: | Als Hardware kommen folgende Komponenten zum Einsatz: | ||
- | * 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 '' | + | Es ist ein '' |
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, | 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, | ||
<code C> | <code C> | ||
Line 118: | Line 122: | ||
===Platine=== | ===Platine=== | ||
- | [[Bild: Sensorlogger_board.png|thumb|200px|Platine mit PCB Antenne]] | + | {{:tech: |
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/ | Bei Buchsen (Power/ | ||
===Antenne=== | ===Antenne=== | ||
- | [[Bild: S11_initial.jpg|thumb|150px|S11 Messung am Original]] | + | {{:tech: |
- | [[Bild: S11_final.jpg|thumb|150px|S11 Messung nach der Verkürzung]] | + | {{:tech: |
- | 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</ | + | 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: |
Wer mal die Aufzeichnung live auf meinem WebServer ausprobieren will: http:// | Wer mal die Aufzeichnung live auf meinem WebServer ausprobieren will: http:// | ||