Anleitung Nachbau HM-WDS30-OT2 mit DS18B20

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Bratmaxe
Beiträge: 1426
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Anleitung Nachbau HM-WDS30-OT2 mit DS18B20

Beitrag von Bratmaxe » 24.05.2018, 13:22

Ich habe hier mal ein Bild zusammengestellt, wie man den HM-WDS30-OT2 Sensor mit DS18B20-Temperatursensoren nachbauen kann.
Ich denke/hoffe das das helfen wird den Nachbau zu erstellen.

Anmerkung:
Ich habe die Software nicht erstellt, das waren viele andere fleißige Mitglieder dieses Forums und von Extern.
Der Dank geht daher an alle, die sich die Mühe machen und hier Ihre Freizeit "opfern" um uns den Nachbau zu ermöglichen bzw. zu erleichtern.
Ich habe die Beschreibung bewusst der Beschreibungen von jp112sdl angepasst, so das man sich schnell zurecht findet:

benötigte Hardware:
1x Arduino Pro Mini ATmega328P (3.3V / 8MHz)
1x CC1101 Funkmodul (868 MHz)
1x FTDI Adapter (zum Flashen)
1x Taster
1x LED (optional)
1x Widerstand 330 Ohm (optional)
2-4x Temperatursensor DS18B20
https://de.aliexpress.com/item/Direkten ... 44739.html
Draht

Platine:
Die Universalplatine von deimos habe ich in meinem Fall verwendet, um alles etwas aufgeräumter wirken zu lassen.
https://github.com/alexreinert/PCB
(ich habe auch noch welche übrig, die ich günstig abzugeben habe, einfach per PN anfragen)

Akkulaufzeit:
Um die Batterielebensdauer zu erhöhen, ist es unbedingt notwendig, die grüne LED vom Arduino Pro Mini zu entfernen!
Die LED und den 330R Widerstand kann man ebenfalls weglassen, um noch ein wenig mehr Akku zu sparen, man sieht dann allerdings nicht, das der Arduino "lebt".
Der LDO auf dem Arduino Board kann/sollte ebenfalls entfernt werden.
Je nach Arduino Board (Version) kann man hierfür die Lötbrücke öffnen, oder muss das IC ablöten (wenn keine Lötbrücke vorhanden).

Ich habe die theoretische Batterielaufzeit mit 2xAA Batterien mit 2000mAh und 600 Sekunden Sendeabstand mal in einer Excel Tabelle durchgerechnet.
Arduino mit LED und LDO und 2x DS18B20 - ca. 2,6 Monate (2,5 Monate bei 4 Sensoren)
Arduino ohne LED, mit LDO und 2x DS18B20 - ca. 1,7 Jahre (1,4 Jahre bei 4 Sensoren)
Arduino ohne LED, ohne LDO und 2x DS18B20 - ca. 2,8 Jahre (2,2 Jahre bei 4 Sensoren)
Man sieht also, das es sich durchaus lohnt die "Sparmaßnahmen" auch durchzuführen!

Anschaltung:
HM-WDS30-OT2-DS18B20.jpg
Schaltung
Code flashen:
AskSinPP Library in der Arduino IDE installieren
Achtung: Die Lib benötigt selbst auch noch weitere Bibliotheken.
Projekt-Datei herunterladen. --> zu finden in den Beispielen von jp112sdl (https://github.com/jp112sdl/Beispiel_As ... T2-DS18B20)
Arduino IDE öffnen
Heruntergeladene Projekt-Datei öffnen
Werkzeuge
- Board: Arduino Pro or Pro Mini einstellen
- Prozessor: ATmega328P (3.3V 8MHz) auswählen
- Port: entsprechend FTDI Adapter einstellen
- Beim HM-WDS30-OT2 ist 180 Sekunden Sendeabstand als Standardwert gesetzt. Dies kann man im Sketch manuel anpassen (#define MSG_INTERVAL 180 - wobei 180 der Abstand in Sekunden bedeutet, ich habe hier 600 Sekunden gewählt, da mir das völlig ausreicht und ich mit den Sensoren die Aussentemperatur messe, diese ändert sich nicht so schnell.)
- Menü "Sketch" -> "Hochladen" auswählen.

Gerät anlernen:
Kann wie jedes HM-Gerät angelernt werden, CCU in den Anlernmodus bringen, Taster kurz drücken.. Fertig.

Optional - Umbau für 4 Temperatursensoren ohne Differnzwerte:
Benötigt man die Differenztemperaturen nicht, oder errechnet diese per CCU Skript, dann kann man den Sketch umschreiben, um 4 statt der 2 Temperatursensoren auszulesen, dadurch entfallen dann aber die Differenztemperaturen.
hierfür muss man die Zeilen:

Code: Alles auswählen

Ds18b20       sensors[2];

tempValues[2] = tempValues[0] - tempValues[1];
tempValues[3] = tempValues[1] - tempValues[0];

sensarray.sensorcount = Ds18b20::init(oneWire, sensarray.sensors, 2);
durch diese ersetzen:

Code: Alles auswählen

Ds18b20       sensors[4];

tempValues[2] = sensors[2].temperature();
tempValues[3] = sensors[3].temperature();

sensarray.sensorcount = Ds18b20::init(oneWire, sensarray.sensors, 4);
In der CCU wird der Sensor wie gewohnt angezeigt, nur das nun statt der Diffeenztemperaturen die Werte der anderen beiden Sensoren dargestellt werden.

Sollten mir hier Fehler unterlaufen sein, so sagt mir bitte schnell bescheid, damit wir diesen beheben können.

Viel Erfolg
Gruß Carsten
Zuletzt geändert von Bratmaxe am 21.06.2018, 13:12, insgesamt 9-mal geändert.
Gruß Carsten

jp112sdl
Beiträge: 3598
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 56 Mal
Danksagung erhalten: 106 Mal
Kontaktdaten:

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von jp112sdl » 24.05.2018, 13:45

Benötigte Hardware:
1x Temperatursensor DS18B20
ist ein bisschen wenig ;)

VG,
Jérôme

Bratmaxe
Beiträge: 1426
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von Bratmaxe » 24.05.2018, 14:00

Das war der eingebaute Prüffehler :D :D

Danke!
Gruß Carsten

Benutzeravatar
Gelegenheitsbastler
Beiträge: 514
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 7 Mal
Danksagung erhalten: 5 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von Gelegenheitsbastler » 24.05.2018, 14:48

Das sieht interessant aus. Mit welchen Eckdaten hast Du Deine Tabelle gefüttert?
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

RaspberryMatic 3.45.7.20190511 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC
FritzBox 7490 FW 7.01 mit Mesh
FritzRepeater 1750E FW 7.01 mit Mesh
FRITZ!DECT 200 (als CUxD Gerät eingebunden)
Etliche selbst gebaute Aktoren und Sender

Bratmaxe
Beiträge: 1426
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von Bratmaxe » 24.05.2018, 15:00

Ich habe die Daten von hier übernommen:
Arduino:
https://exxite.wordpress.com/2016/04/11 ... iebetrieb/
DS18B20:
https://oberguru.net/elektronik/ds1820/ds1820.html

Angenommen habe ich 3 Sekunden Aktivzeit für's Messen und Senden und 2x1,5V AA Batterien mit 2000mAh (die meisten dürften aber laut WWW so 2500mAh haben).
Dann habe ich ausgerechnet, wieviel mAh das Gesamtpaket braucht und habe dann die Laufzeit ermittelt.
Das das natürlich eine "Michmännchenrechnung" ist, da man niemals die kompletten 2000mAh aus einer Batterie bekommt ist klar, daher habe ich extra theoretische Laufzeit geschrieben. Im Winter werden die Batterien bei Minusgraden auch deutlich schneller entladen als bei 20°C Umgebungstemp. Daher muss man den theroetischen Wert in Real nochmal deutlich nach unten korrigieren.

Aber die Berechnung soll ja auch nicht angeben, wie lange man genau damit auskommt, sondern wie sehr sich die Stromsparmaßnahmen am Ende bemerkbar machen.

Wenn du magst, kann ich die Excel-Datei aber auch mal hochladen.. Sind ja nur ein paar Zeilen.

Gruß Carsten
Gruß Carsten

Benutzeravatar
Gelegenheitsbastler
Beiträge: 514
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 7 Mal
Danksagung erhalten: 5 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von Gelegenheitsbastler » 24.05.2018, 16:34

Ich möchte nur wissen, ob ich in meiner Tabelle noch Fehler habe. Daher die Fragen. Denn wenn bei gleichen Eckwerten das Ergebnis übereinstimmt, haben wir beide den gleichen Rechenfehler, oder es passt fehlerfrei. Dass die Angaben nur eine Tendenz sind, sollte klar sein.

Welchen Stromverbrauch hast Du für die 3 Sekunden Sendezeit angenommen und welchen Standby Verbrauch hast Du angesetzt?

So wie ich es verstanden habe, sind die Batterien bei kalter Umgebung nicht mehr in der Lage, große Ströme zu liefern, weshalb sich dafür Lithium Batterien besser eignen würden. Es sinkt bei Kälte vorübergehend die entnehmbare Kapazität. Wenn sie wieder "aufgetaut" sind, sollte eigentlich alles wieder mit normalen Eckdaten laufen. (habe ich in einem Beitrag zu Taschenlampen gelesen)
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

RaspberryMatic 3.45.7.20190511 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC
FritzBox 7490 FW 7.01 mit Mesh
FritzRepeater 1750E FW 7.01 mit Mesh
FRITZ!DECT 200 (als CUxD Gerät eingebunden)
Etliche selbst gebaute Aktoren und Sender

Bratmaxe
Beiträge: 1426
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von Bratmaxe » 25.05.2018, 08:27

Moin,

also große Ströme brauchen wir in diesem Fall ja eigentlich sowieso nicht :D.

Als erstes habe ich gerade gemerkt, das ich den CC1101 komplett nicht mit in meiner Formal hatte
Beim CC1101 nehme ich daher jetzt an, das dieser je Messvorgang 0,5s auf maximaler Sendeleistung sendet.
Hier meine Eckdaten bezogen auf 3V statt 3,3V (da Betterie) und 3 Sekunden Sendezeit alle 600 Sekunden:

Arduino ohne Modifikation (aktiv) : 5,214mA --> 0,0261mAh
Arduino ohne Modifikation (deepsleep): 0,990mA --> 0,9851mAh
Arduino ohne LED (aktiv) : 4,290mA --> 0,0215mAh
Arduino ohne LED (deepsleep) : 0,060mA --> 0,0592mAh
Arduino ohne LED und LOD (aktiv) : 3,938mA --> 0,0197mAh
Arduino ohne LED und LOD (deepsleep): 0,005mA --> 0,0049mAh

CC1101 (aktiv) : 37,620mA --> 0,0314mAh
CC1101 (deepsleep) : 0,001mA --> 0,0000mAh

DS18B20 (aktiv) (2x) : 3,300mA --> 0,0165mAh
DS18B20 (deepsleep) (2x) : 0,007mA --> 0,0171mAh

Also Beispiel:
Arduino ohne LED und LOD:
Arduino + C1101 + DS18B20
0,0197+0,0049+0,0314+0,0000+0,01650+0,0171 = 0,0730mAh
2000mAh der Batterie durch 0,0730mAh Verbrauch = 27391,3661h Laufzeit (theorie)
27391,3661h / 24 == 1141,3 Tage / 365 = 3,12 Jahre

So habe ich mir das zusammengerechnet.

Hier habe ich die Datei aber auch mal angehangen (ist kein Passwort oder so drauf). Wenn du einen Fehler entdeckst, sag mir bitte Bescheid.
HM-WDS30-OT2-DS18B20.xls
Berechnungen
(46 KiB) 25-mal heruntergeladen
Gruß Carsten
Gruß Carsten

Benutzeravatar
Gelegenheitsbastler
Beiträge: 514
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 7 Mal
Danksagung erhalten: 5 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von Gelegenheitsbastler » 25.05.2018, 18:21

Ich bin die Sache etwas anders angegangen. Ich habe den Maximalverbrauch aller Komponenten (also der fertigen Schaltung) im aktiven Zustand und im Standby gemessen. In meine Tabelle trage ich beide Werte ein. Dazu dann noch, wie lange in etwa der Sendevorgang andauert und in welchem Intervall gesendet wird. Um zu sehen, wie sich der Stromverbrauch verteilt, habe ich eine kleine Grafik hinzu gefügt.
Dateianhänge
2018-05-02 Stromverbrauch HomeMatic Thermometer AskSinPP.ods
(18.21 KiB) 30-mal heruntergeladen
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

RaspberryMatic 3.45.7.20190511 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC
FritzBox 7490 FW 7.01 mit Mesh
FritzRepeater 1750E FW 7.01 mit Mesh
FRITZ!DECT 200 (als CUxD Gerät eingebunden)
Etliche selbst gebaute Aktoren und Sender

Bratmaxe
Beiträge: 1426
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von Bratmaxe » 28.05.2018, 08:28

Hallo, bin heute erst dazu gekommen mal in deine Tabelle zu gucken.
Kann ich soweit alles nachvollziehen.
Wie kommst du denn auf "nur" 0,2 Sekunden Laufzeit? hast du die ermittelt, oder angenommen?
Ich gehe ja aktuell von 3 Sekunden aus, die 3 Sekunden habe ich übrigens aus deinem Beitrag entnommen:
viewtopic.php?f=76&t=41932&p=434044&hilit=Strom#p434044
Gruß Carsten

papa
Beiträge: 367
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 15 Mal

Re: Nachbau HM-WDS30-OT2 mit DS18B20 Differenztemperatursens

Beitrag von papa » 28.05.2018, 09:20

Die AskSinPP bleibt nach jeder erfolgreichen Kommunikation für 500ms emfpangsbereit. Das sollte mit einberechnet werden. Außerdem wird eine Nachricht erst nach 100ms beantwortet. Also kommte man so schon mal mindestens auf 600ms. Das Senden und Messen (ja nach Auflösung zw. 100ms & 750ms) braucht auch noch Zeit. So kommt man für einen Sensor schon auf 1-2s.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“