Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

Begonnen von trilu, 23 Februar 2014, 12:23:22

Vorheriges Thema - Nächstes Thema

Franz74

Finde ich auch!

Lassen wir unser Helden mal die erste Runde gewinnen (Prototyp) auf das noch einige siegreiche folgen werden!

LG

Franz

Dirk

Zitat von: hexenmeister am 28 März 2014, 10:14:39
Oder man baut eine Erweiterungsplatiene für dieses Gerät.
Genau das ist der Sinn der Erweiterungsplatine. Die Pinbelegung geht aus dem Schaltplan dazu hervor. Somit kann den Sensor jeder selber erweitern. Auch wenn es am Schluss keine Sensor, sondern ein Blitzdings wird.

Ich habe hier übrigens schon ein paar Platinen für ein Breakout-Board mit AVR/Arduino + CC1101 und kleinem Feld von Lochrasterpads hier liegen. Damit könnte jeder eigene Experimente machen.

Gruß
Dirk

moonsorrox

ich finde auch soviel wie ich hier schon mitgelesen habe, wenn das Ding alles macht was hier geschrieben wurde ist das absolut Super...

aber da kommt mir ein weiterer Einfall evtl. für die Zukunft, mal ein Platine für eine schaltbare Steckdose auf Homematic Basis zu bauen, denn davon könnte man heute genug einsetzen und die sind teuer, ich scheue mich immer noch welche zu kaufen und mache das mit meinen herkömmlichen Fernbedienungen, würde aber gerne alles auf Homematic Basis machen.
Einfach eine Sorte kaufen und eben eine selbst erstellte kleine Platine einsetzen..!
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

santalaus

Hallo,

der Sensor ist da. Superarbeit Dirk. Vielen Dank, jetzt weiss ich was Du bzgl. des Airpress Sensors meintest. Den zu löten Respekt.

Ich hoffe das die PIRs nun aus China schnell kommen. Dann schaue ich mal wie das umzusetzen ist.

Bzgl der schaltbaren Steckdosen: das ist immer schwierig, da man einen zuverlässigen Lieferanten für die Gehäuse braucht. alles was ich da bisher gefunden hatte war einfach das es sich in Summe nicht rechnete.
Aber ich plane eine Schalter/PWM Platine zu machen. Die ich an mehreren Stellen brauchen werde. Plan sind 8 Ausgänge SolidState oder Relais.
und 16 PWM Kanäle für 3* LED Leisten. optional kommen dann noch PIR als Eingänge dran.



Nico

Dirk

Zitat von: santalaus am 28 März 2014, 16:59:45
Aber ich plane eine Schalter/PWM Platine zu machen. Die ich an mehreren Stellen brauchen werde. Plan sind 8 Ausgänge SolidState oder Relais.
und 16 PWM Kanäle für 3* LED Leisten. optional kommen dann noch PIR als Eingänge dran.
Da können wir uns zusammentun.
In die Richtung liegt hier auch schon was in der Schublade.

Hier mal die gepatchte CUL_HM, damit auch die Helligkeit in FHEM angezeigt wird.

Gruß
Dirk

PeMue

Zitat von: Dirk am 28 März 2014, 18:00:59
Hier mal die gepatchte CUL_HM, damit auch die Helligkeit in FHEM angezeigt wird.
Mal ne dumme Frage: wie kalibriert ihr die Helligkeit?Wäre mal ganz interessant zu wissen. Habe mich am Samstag mit pah unterhalten und er hat mir auch einen Tipp gegeben, was ich in der Dokumentation verwerten werde.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Dirk

Zitatwie kalibriert ihr die Helligkeit?
Der Sensor gibt die Helligkeit in Lux wieder. Aber nur, wenn er direkt angestrahlt wird.
Aber erst seit vorhin :).
Bin noch am feilen an der Firmware.

Mit Lichtleiter muss ein Korrekturfaktor eingerechnet werden. Das sollte aber erstmal in FHEM passieren und müsste aktuell experimentell ermittelt werden.

Der Sensor hat zwei Photodioden.
Eine für Visible und Infrarot, eine für nur Infrarot. Aus beiden wird dann die Lichstärke in Lux berechnet.
So steht es zumindest im Datenblatt.

Ich werte immer auf schönes Wetter, um auch mal in der Sonne zu testen.

ZitatHabe mich am Samstag mit pah unterhalten und er hat mir auch einen Tipp gegeben
Was für ein Tip?

Gruß
Dirk

hexenmeister

Meiner ist auch angekommen, vielen Dank!
Sieht sehr professionel aus!

(http://s6z.de/cms/images/content/arduino/HM/HM_WDS10_TH_O_01_k.jpg)

Funktioniert genau wie beschrieben: zieht ca. 260µA, sendet beim ersten Mal falsche Daten, mit den HM-Patch liefert auch die Lux-Werte.
Die Werte (T und H) liegen nah am denen meiner anderen Sensoren (HM-TC-IT-WM-W-EU und Selbstbau mit DHT22).

Readings:
     2014-03-28 21:05:04   Activity        alive
     2014-03-28 15:40:44   CommandAccepted yes
     2014-03-28 21:05:04   D-firmware      0.1
     2014-03-28 21:05:04   D-serialNr      TLU0001002
     2014-03-28 15:40:44   PairedTo        0x416C78
     2014-03-28 15:40:44   R-burstRx       off
     2014-03-28 15:40:44   R-pairCentral   0x416C78
     2014-03-28 15:40:44   RegL_00:        01:00 02:01 0A:41 0B:6C 0C:78 00:00
     2014-03-28 21:40:52   airpress        1018
     2014-03-28 21:40:52   battery         ok
     2014-03-28 21:40:52   humidity        45
     2014-03-28 21:40:52   lux             3.63
     2014-03-28 15:40:43   sabotageAttack  ErrIoAttack cnt:1
     2014-03-28 21:40:52   state           T: 23.2 H: 45 AP: 1018 Lux: 3.63
     2014-03-28 21:40:52   temperature     23.2


Woher kommt eig. "sabotageAttack  ErrIoAttack cnt:1"?

Bin auf die nächste Firmwareversion gespannt ;)

betateilchen

Zitat von: hexenmeister am 28 März 2014, 22:01:29
Woher kommt eig. "sabotageAttack  ErrIoAttack cnt:1"?

Das kommt aus 10_CUL_HM solange ein Sensor nicht korrekt oder mit einer anderen Zentrale (genauer: deren ID) gepairt ist.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dirk

#234
Zitat von: hexenmeister am 28 März 2014, 22:01:29
Bin auf die nächste Firmwareversion gespannt ;)
Version 0.2 ist hier im Anhang :)

Stromverbrauch ist jetzt nur noch, wie geplant mit MAX ~30 µA
Alle ca. 2,5 Min. während der Sensor sendet, verbraucht mit er MAX ca. 45 mA, aber nur für ca. 0,1 Sek.
Die LED sollte noch während des Sendens abgeschaltet werden, dann sind es noch ein paar mA weniger.

Angenommen die AA-Zellen haben 2500 mAh gespeichert wenn sie voll sind, dann sollte ein Satz Batterien mit aktivierten Helligkeitssensor (dieser braucht die höchste Minimalspannung) laut meiner Rechnung ca. 54 Monate, also etwa 4,5 Jahre durchhalten.
Ich habe hier mit 60 µA Standby und 80 mA Sendeverbrauch gerechnet, da mit sinkender Batteriespannung der Stromverbrauch durch den MAX mit der Zeit ansteigt.

Beim Sensor ohne Max habe ich einen Stromverbrauch von ~25µA im Standby gemessen und ~25 mA beim Senden.
Nach meiner Rechnung, und der Annahme dass man aus den Batterien bis zur Spannung von 2,7V nur etwa 500 mAh entnehmen kann, komme ich hier immer noch auf eine Batterielaufzeit von ~26 Monaten. Also ca. 2,2 Jahre

Gruß
Dirk

Update:
Bitte nach dem Firmwareupdate den Sensor neu anlernen.
Die Seriennummer hat sich geändert.

Der Sensor sendet jetzt übrigens auch mit dem ersten Datenpaket die richtigen Werte.

Geflasht werden kann das Ganze mit AVRdude mit folgender Befehlszeile:

/path/to/avrdude -C/path/to/arduino-ide/hardware/tools/avr/etc/avrdude.conf -patmega328p -carduino -P COM1 -b57600 -D -Uflash:w:/path/to/WetterSensor.hex:i


Update2:
Ich hab mich um eine Kommastelle vertan. Aber an 2 Stellen. Das gleicht es wieder aus :). Ich hoffe die Rechnung stimmt diesmal.
Ohne Max, sind es "nur" ca. 26 Monate (2,2 Jahre), Mit Max ca. 54 Monate (4,5 Jahre) Batterielaufzeit.
Ich werde die Tage vielleicht mal bei einem Sensor auch die Batteriespannung mit übertragen lassen. Dann wissen wir in 2 bzw. 4 Jahren wie es sich in der Praxis verhält :).

martinschm

Hi Dirk
Hoffe du bist Samstag noch gut zu deinem Hotel gekommen.

Hätte auch Interesse an deinem Wunderwerk. Würde erstmal zwei mit Temperatur und Luftfeuchtigkeit nehmen. Eine Version mit Bewegungsmelder wären super. Schließe mich da meinen diversen Vorrednern an.
Ciao
Martin

hexenmeister

ZitatVersion 0.2 ist hier im Anhang :)

Sehr schön, werde morgen versuchen :)

Bei den USB-UART-Dingern kann man durch Lötbrücken zw. 3,3 und 5V umschalten. Wenn ich das Board mit Batterien speise und nur GND, RESET, TX und RX anschliesse, dann dürfte diese Einstellung doch ohne Bedeutung sein, oder?

Grüße,

Alexander

Dirk

Zitat von: hexenmeister am 29 März 2014, 02:22:23
Bei den USB-UART-Dingern kann man durch Lötbrücken zw. 3,3 und 5V umschalten. Wenn ich das Board mit Batterien speise und nur GND, RESET, TX und RX anschliesse, dann dürfte diese Einstellung doch ohne Bedeutung sein, oder?
Nein, denn TX und Reset haben dann auch 5V Pegel.
Die IC's mögen es nicht, wenn an den Eingängen Spannungen über der Versorgungsspannung anliegt. Auch wenn die AVR's hier recht tolerant sind. Dennoch: besser die Lötbrücke auf 3,3V Umschalten. Umgekehrt ist das nicht Problematisch.

Alternativ kann man in die TX- und Reset-Leitung (vom USB-UART-Adapter aus gesehen) auch einen Spannungsteiler mit 2 Widerständen bauen.

Gruß
Dirk

hexenmeister

Danke für die Erklärung, werde morgen einen von meinen Adapter umbauen.

Gute Nacht!


hexenmeister

Moin!

Irgendwie komme ich mit dem Flashen nicht weiter. Die Verbindung ist richtig, USB-UART ist ein FTDI... Port stimmmt auch. MC bekommt Reset, es blinkt paar mal TX an dem Adapter, dann paar Mal RX, dann bootet die Platiene wieder...
Über Serial macht die Platiene keine (Debug-)Ausgaben, oder?

U:\WetterSensor>D:\Arduino\arduino-1.5.6-r2\hardware\tools\avr\bin\avrdude -C D:\Arduino\arduino-1.5.6-r2\hardware\tools\avr\etc\avrdude.conf -p atmega328p -c arduino -P COM15 -b 57600 -D -Uflash:w:WetterSensor.hex:i -v

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "D:\Arduino\arduino-1.5.6-r2\hardware\tools\avr\etc\avrdude.conf"

         Using Port                    : COM15
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.


Was könnte ich übersehen haben?

Grüße,

Alexander