Eigenbau Bodenfeuchte-Sensor-433MHz-LaCrosse-TX2/3 mit ATTiny85 (SpinOff)

Begonnen von juergs, 30 Oktober 2016, 19:57:45

Vorheriges Thema - Nächstes Thema

juergs


juergs

Habe etwas Zeit gefunden das Thema mit ATtiny85 Dallas 18B20-Sensor zu analysieren.
Natürlich das übliche Prozedere, wenn das Projekt etwas "älter" geworden ist:


  • Arduino-Version ist fortgeschritten (jetzt V1.8.0).
  • mehrere Programmversionen mit unterschiedlichen Konfiguration.
  • neuer Testaufbau mit Mess- und Programmiermöglichkeit.
  • neuer Aufbau des Arduino-Projektes.
  • Einbau SoftWareSerial-ATtiny85-und-andere-ATMEL-Mikrocontroller zum debuggen.
  • Schrittweise Komponeten wieder einbauen.
  • Linker macht Probleme unter VisualMicro, deshalb mit der Arduino-IDE kompiliert.
  • Mit angeschlossener Bodenfeuchte.Power + Pulse geht ISP nicht mehr. (SCK+MISO betroffen.)

Als erstes Ergebnis, erst mal ohne Narcoleptic-Schlaf-Funktion:
Temperatur-Erfassung geht.
ZitatVcc: 0.2    Feuchte: 1.0    Temp: 21.9
Vcc: 0.2    Feuchte: 1.0    Temp: 21.9

Diese Version erst noch ohne angeflanschte Feuchtemessungshardware.
Temperatur-Erfassung geht!  (Noch ohne Tiefschlaf, das kommt als nächstes, bzw. VCC und Feuchte).

/edit: mit Deep-Sleep

Zitat2017-02-04 18:35:52 CUL_TX CUL_TX_100 T: 20.5 H: 00.0
2017-02-04 18:35:52 CUL_TX CUL_TX_100 temperature: 21.3
2017-02-04 18:35:53 CUL_TX CUL_TX_100 T: 21.3 H: 00.0
2017-02-04 18:35:53 CUL_TX CUL_TX_100 humidity: 00.0

Hardware:
433-TX = D3     (DIP.2)
BF-Power = D1 (DIP.6)
BF_Puls = D2   (INT0, DIP.7)
Statts LED: Serial-TX = D4 (DIP.3) 


/edit: Unten habe ich noch ein Screenshot  des Pin-Vcc-versorgten NE555 und dessen Pulseoutput hinzugefügt.

Der Code mit Serial Debug passt gerade noch so zu 99% in den Flash-speicher:

ZitatMultiple libraries were found for "SoftwareSerial.h"
Used: C:\Users\Jürgen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.15\libraries\SoftwareSerial
Not used: C:\Users\Jürgen\Documents\Arduino\libraries\TinySoftSerial
Using library SoftwareSerial at version 1.0 in folder: C:\Users\Jürgen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.15\libraries\SoftwareSerial
Sketch uses 8172 bytes (99%) of program storage space. Maximum is 8192 bytes.
Global variables use 335 bytes (65%) of dynamic memory, leaving 177 bytes for local variables. Maximum is 512 bytes.

Beta-Test-Code dazu hier in Github.
Deep-Sleep-Modus: hier im deep_sleep_mode branch.

Grüße,
Jürgen

juergs

Im Moment werden noch keine Pules erfasst,
da die Impluse den Port nicht vollständig auf < 0.7V ziehen (gelb).
Möglicherweise ist mein 555 defekt. Port D2 steht auf Input.
Im Screenshot sieht man die Aufwachphase und das Enable des NE555
über den Port D1 = Vcc  (türkis)  an.
Vielleicht reicht nur ein Pullup-R (Intern oder Extern) ...

Temperatur kommt noch nach dem Aufwachen:

Zitat2017-02-04 23:36:10 CUL_TX CUL_TX_100 temperature: 21.7
2017-02-04 23:36:12 CUL_TX CUL_TX_100 T: 21.7 H: 00.0
2017-02-04 23:36:12 CUL_TX CUL_TX_100 humidity: 00.0

Morgen kontrolliere ich noch mal den Aufbau ... da sich die Sache doch etwas zäh gestaltet  ;)

juergs

Verbaut mit kurzen Leitungen zum BF-Modul und nicht 25cm wie im Testaufbau:
Zitat
2017-02-05 15:36:40 CUL_TX CUL_TX_100 T: 20.5 H: 30.9
2017-02-05 15:36:40 CUL_TX CUL_TX_100 temperature: 20.6
2017-02-05 15:36:41 CUL_TX CUL_TX_100 T: 20.6 H: 30.9
2017-02-05 15:36:41 CUL_TX CUL_TX_100 humidity: 03.0

War wohl die kapazitive Belastung....

Das sieht jetzt ja mal besser aus.  :)

Hier unten habe ich die Sensoren nah beinander positioniert.
Der Sensor mit der ID 100 hat kürzere Sonden.
Erstaunlich, wie nah die Werte beinander liegen...

juergs

Noch ein Wort zur Reichweite der 433 MHz sender.

Bei mir wird es durch 3 Stahlbetonwände zu knapp zu den Balkonpflanzen. (Ab- und zu mal verirrt sich ein Protokoll, je nach Batteriezustand und Temperatur)

In einem anderen Thread: 42Bit-Protokoll
habe ich ein Transponder für den NC-7427-Sensor in Arbeit.

Diesen Transponder/Repeater würde ich auch für die LaCrosse-Sensoren in Betracht ziehen.

Grüße,
Jürgen

Tom71

Hallo Jürgen,
nur zum Verständnis. An den Nano hast du nur die Sensoren gehängt? Keine weiteren Bauteile? Ich wollte das erst einmal nachbauen, bevor ich mich mit dem NE555 + Atiny befasse. Kann ich den NE555 einfach gegen einen LMC555 tauschen?

Das Reichweitenproblem kenne ich leider auch zu gut. Evtl. hilft da besser ein CUL mit WLAN (https://forum.fhem.de/index.php/topic,42998.0.html)

Gruss Thomas
Homematic | RaspberryMatic

juergs

Hallo Tom71,

Ja, nur 433-TX, Dallas und NE555 "dranhängen". Schaltplan: hier

Bluetooth und WLAN ist mir bewusst. Letzteres wäre in meinem Umfeld der Overkill, da ich > 45 WLANs in meiner näheren Umgebung habe.
Der Stromverbrauch ist auch ein Faktor, sonst musst Du jede Woche den Akku des Sensors aufladen ...  ;D

Also ist die  433MHz Lösung "einfach" und Stromsparend.

ZitatKann ich den NE555 einfach gegen einen LMC555 tauschen?
Ja, habe ich auch schon exerziert. (ICM7555)  ;)

ZitatEvtl. hilft da besser ein CUL mit WLAN (https://forum.fhem.de/index.php/topic,42998.0.html)
Ja, aber ob der sich mit Batterie/Akku betreiben lässt?

Grüße,
Jürgen




Tom71

Hallo Jürgen,
warum den CUL mit Batterien betreiben? Du meintest doch, der Sensor könnte nicht durch 3 Stahlbetonwände gehen. Klar, aber vielleicht hast du ja dein WLAN in der Nähe des Sensors und dann könnte der CUL die Daten des Sensors empfangen und an den FHEM Server schicken. Wäre das nicht ähnlich dem Transponder, den du auch bauen wolltest?
Was genau hast du für die Bodensonde P1-P2 genommen? Isoliertes Messingrohr 3mm aus dem Baumarkt? Braucht es eine mindest-Oberfläche für die Kapazität?
Die Sonden von hier http://www.gearbest.com/testers-detectors/pp_277213.html könnte man nicht verwenden? Oder die Enden extra isolieren.   

Viele haben die Erfahrung gemacht, dass die Feuchtigkeitsmessung stark temperaturabhängig ist. Die Messung der Temp mit dem Dallas kombinierst du noch nicht mit der Feuchtemessung? Das müsste man dann in Fhem machen?

Habe ich komplett durch den MySensors-Bodensensor-Thread durchgearbeitet und die Fragen sind dennoch offen geblieben ;-)

Ich habe zwar schon einige MySensor-Devices gebaut, allerdings laufen bei mir auch LaCrosse Temp-Sensoren ohne Probleme. Daher würde ich lieber deinen Vorschlag nachbauen. Meine MySensor-Devices bocken immer etwas, wenn sie disconnected sind.
Homematic | RaspberryMatic

juergs

Zitatwarum den CUL mit Batterien betreiben
Na ja, als Repeater. Da wäre eine Stromversorgung wie z.B. ein USB-Netzteil erforderlich.
Außerdem 433MHz mit 10 mW Sendeleistung hat bessere Ausbreitungsfähigkeiten wie höherfrequentere
Sender. (868MHz, Bluetooth oder 2.4 GHz wie die NRFs oder WLAN mit gleicher Leistung) .

ZitatDie Sonden von hier http://www.gearbest.com/testers-detectors/pp_277213.html könnte man nicht verwenden? Oder die Enden extra isolieren. 
Davon habe ich mir 2 bestellt, um herauszufinden wie die PH-Messung erfolgt.
Das Meßprinzip ist nicht direkt ersichtlich. Kapazitiv bedeutet: isoliert.
Die Idee von KölnSolar mit Tauchlack finde ich immer noch gut und praktikalbel.
Meine Zwischenlösung: "Schrumpfschlauch auf Baumarkt 3mm Zinkrohr" und die Enden mit 2-Komponetenkleber verschlossen.
Vermute die Langzeitstabilität ist diskutierbar  ;)

Zitat
Viele haben die Erfahrung gemacht, dass die Feuchtigkeitsmessung stark temperaturabhängig ist
Ja, aber bei mir Indoor. D.h. beim Fenster öffnen verändert sich die Messung nur unwesentlich. Beispiel unten.
Leichtes Nachgiessen wurde erfasst.
Eine Kompensation erfordert noch weitere Meßreihen, aber ob der Aufwand lohnt ?

ZitatMeine MySensor-Devices bocken immer etwas, wenn sie disconnected sind.
Das Gleiche habe ich mit WLAN ....  :(

Verbesserungsvorschläge welcome  :D

Jürgen

Tom71

Ich hab mir jetzt erst mal den ICM7555 bestellt. Wenn der da ist, probiere ich auch mal etwas rum. Ich bin mir noch nicht so sicher, welche Sonden ich sinnvoll verwenden kann.
Man könnte auch diese Sonden versiegeln und nutzen:
https://www.amazon.de/XCSOURCE-Feuchtigkeit-Hygrometer-Feuchtigkeitserkennung-TE215/dp/B00ZR3B60I

Das scheint eher in die Richtung zu gehen. Aber vielleicht ist die Form auch nicht so wichtig.

Gruss Thomas
Homematic | RaspberryMatic

juergs

ZitatDas scheint eher in die Richtung zu gehen. Aber vielleicht ist die Form auch nicht so wichtig.
Ja. So isses. So lang die benötigte Kapazität erreicht wird ...

Ok. Schrumpfschlauch um die Sensor-Elektronik ist nicht gerade wasserdicht ....

Wie gesagt, ein passendes Gehäuse... je nach Akku/LiPo/Batterie ...  3D-Druck ....

Tom71

SoftwareSerial ist echt cool!  8)

Ich habe heute das Programmer Board aus Griechenland bekommen (http://www.ebay.de/itm/221324819158) Damit mach Attiny-Programmieren wieder richtig Spass.
Deinen Sketch https://github.com/juergs/Bodenfeuchte_ATtiny85_V2 hab ich auch gleich mal gebrannt. Das wird aber schon knapp:
Der Sketch verwendet 8186 Bytes (99%) des Programmspeicherplatzes. Das Maximum sind 8192 Bytes.
Da darf aber auch nichts mehr dazu kommen. Jedes bisschen mehr Debug sprengt den Speicher.
Ich melde mich dann wieder, wenn meine  LMC555 angekommen sind.
Homematic | RaspberryMatic

locutus

Zitat von: juergs am 04 Februar 2017, 15:26:39
Beta-Test-Code dazu hier in Github.
Deep-Sleep-Modus: hier im deep_sleep_mode branch.
Danke, damit kann man schon arbeiten. Inzwischen habe ich in Eagle eine Platine für den Sensor erstellt. Wenn man die Bauteile tief genug einbaut, auf IC-Sockel verzichtet und die Spannungsquelle nach Außen verlegt, dann passt das Platinchen in das Strapubox USB-Gehäuse hinein.
Die Gerberdaten sind für ITEAD.

Ich kann eine begrenzte Stückzahl an unbestückten Platinen entbehren. Stückpreis 2,- € zzgl. Versandkosten.

juergs

Hallo Locutus,

da wäre ich mit 5 leeren Platinen gerne erstmal dabei.
Dann brauch ich nicht mehr fädeln ....  ;)

Grüße,
Jürgen


PeMue

Zitat von: locutus am 11 Februar 2017, 20:54:58
Ich kann eine begrenzte Stückzahl an unbestückten Platinen entbehren. Stückpreis 2,- € zzgl. Versandkosten.
Darf ich's mir noch ein bisschen überlegen? Melde mich spätestens heute abend ...

Gruß PeMue

Edit: Bin raus, da mein MySensors Feuchtesensor noch nicht in Betrieb ist - wird zu viel  ???
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