LevelSender - Tankfüllstand mit JeeLink empfangen

Begonnen von HCS, 04 Mai 2014, 12:03:46

Vorheriges Thema - Nächstes Thema

HCS

Zitat von: E-J-D am 26 Juni 2017, 15:21:46
Habe ich gemacht. Sensor vom Tisch auf den Fußboden ... 30min ... jede Minute gemessen und alle Werte mit +/- 1cm korrekt. Dann noch mal 30min an die Wand. Ebenfalls alles korrekt.
Das heißt jetzt was?  ??? ??? ???
Dass der Sensor innerhalb seiner angegebenen Genauigkeit arbeitet und es ein Problem mit der Messsituation ist.
Mit den angegebene Werten bin ich mir recht sicher, dass der Sensor die Seitenwand gerade noch so "sieht" und dann manchmal eine kürzere Entfernung liefert.
Du musst Dir unter dem Sensor einen Kegel mit mindesten 15° Öffnungswinkel vorstellen, das ist der Bereich, in dem er misst. In der Praxis ist das üblicherweise sogar mehr als die 15°.
Man darf sich den Bereich, in dem er etwas erfasst, nicht als "dünnen Strahl" vorstellen.

Das kann man üblicherweise dadurch verhindern, dass man den Sensor in ein 50er oder 70er Rohr (ohne Muffen) setzt und das Rohr dann in den Tank stellt.
Wenn das Rohr eine Muffe hat, dann misst man bis ganu da hin, weil der Absatz den Schall zurückreflektiert.

Zitat von: E-J-D am 26 Juni 2017, 15:21:46
Allerdings ist der Levelsender jetzt auch viel näher am Jeelink. Falls die Fehler aus der Übertrag stammen könnten, wäre dieser Test nicht ganz ok.
Das sind keine Übertragungsfehler auf der Funkstrecke. Da bin ich mir recht sicher.

HCS

Zitat von: ext23 am 19 Juli 2014, 12:28:04
wie ist das eigentlich mit der Feuchtigkeit bei dem Ultraschall Sensor? Ich meine wenn man sowas im Dom installiert steht das Teil ja ständig im Kondenswasser. Wird das durch den Ultraschall "Abgeschüttelt" oder wie ist das? Hat da schon einer Erfahrung mit?
Damals konnte ich nur raten, heute habe ich drei Jahre Erfahrung. So lange sitzt der Sensor jetzt in einem (überdachten) Außentank und musste die Jahre zwichen -15°C und +35°C durchstehen.
Kurz und bündig: er funktioniert noch.

Zitat von: HCS am 05 September 2016, 14:31:32
Übrigens: er ist bei mir tatsächlich über zwei Jahre mit einem Satz Batterien gelaufen (4 x AA) und meldet aktuell noch 4,7V und läuft noch.  8) 8)
Und läuft mit diesem Satz Batterien heute immer noch, aktuell auf 3,7V runter.
Er sendet ein mal pro Minute die Daten.

Und der Pegel steht absolut stabil. Der Regenwassertank ist übrigens ein 1100l Öltank, in dem der HC-SR04 in einem 70er Rohr misst.

E-J-D

Zitat von: HCS am 26 Juni 2017, 15:51:36
Dass der Sensor innerhalb seiner angegebenen Genauigkeit arbeitet und es ein Problem mit der Messsituation ist.
Mit den angegebene Werten bin ich mir recht sicher, dass der Sensor die Seitenwand gerade noch so "sieht" und dann manchmal eine kürzere Entfernung liefert.
Du musst Dir unter dem Sensor einen Kegel mit mindesten 15° Öffnungswinkel vorstellen, das ist der Bereich, in dem er misst. In der Praxis ist das üblicherweise sogar mehr als die 15°.
Man darf sich den Bereich, in dem er etwas erfasst, nicht als "dünnen Strahl" vorstellen.

Das kann man üblicherweise dadurch verhindern, dass man den Sensor in ein 50er oder 70er Rohr (ohne Muffen) setzt und das Rohr dann in den Tank stellt.
Wenn das Rohr eine Muffe hat, dann misst man bis ganu da hin, weil der Absatz den Schall zurückreflektiert.
Versuchsaufbau mit 1,6m 75er KG Rohr bestätigt eine korrekte Funktion. Nachdem ich den HC-SR04 Ultraschallsensor mittendrin austauschen musste. Hat das Ding doch tatsächlich einfach mal so den Geist aufgegeben! Die Muffe musste ich in der Tat absägen. Sonst waren die Messungen wie von Dir beschrieben falsch. Danke für die Hilfe :-).

Bleibt nur noch die Frage wie um alles in der Welt befestigt man in einem 9.000 Liter Öltank ein 75er Rohr?!?! Da muss ich mir noch was überlegen.

E-J-D

Zitat von: E-J-D am 03 Juli 2017, 08:19:24
Bleibt nur noch die Frage wie um alles in der Welt befestigt man in einem 9.000 Liter Öltank ein 75er Rohr?!?! Da muss ich mir noch was überlegen.
So, das wäre gelöst. Das Rohr ist im Tank verbaut und bisher gibt es auch keine Geruchsbelästigung. Ohne für mich erkennbaren Grund ist die Messung mal mehr (+/- 0,5cm) und mal weniger (+/- 2cm) genau. Damit kann ich aber leben.
Den Sender beobachte ich noch. Heute musste ich ihn einmal vom Strom trennen, da er einfach aufhörte zu senden. Nun sendet er wieder fröhlich vor sich hin.

Lucky2k12

Ich habe den LevelSender eben erfolgreich nachgebaut.
Vielen Dank für die tolle Anleitung.

Als Ultraschallsensor habe ich einen wasserdichten verwendet.
Die Platine baut ein bisschen breiter als der HC-SR04, weil noch einige höhere Bauteile drauf sind, aber es funktioniert soweit.
Außerdem ist noch eine SMD LED drauf, die während der Messung angeht. Ich hoffe der Stromverbrauch fällt nicht ins Gewicht.
HP T610, HM, Jeelink, LGW, mapleCUL868+434

Maxel

Hallo Lucky2k12,

welchen Sensor hast du da genommen und war die Software danach anzupassen?
Ich such auch nach einer wasserdichten und stromsparenden Lösung.

Gruß
Maxel



Gesendet von meinem WAS-LX1A mit Tapatalk

FHEM auf Banana Pi
CUL V3 (FS20), Homematic, MAX, 1-Wire, Lacrosse (LaCrosseGateway)

Lucky2k12

Ich hatte beim ali 2 Stück JSN-SR04T für 12.40€ bestellt.

Das hatte erstmal gut funktioniert, aber jetzt empfängt mein Jeelink / LGW grad nix mehr.
Am Sensor liegt es wohl nicht, denn auch mein HC-SR04 bringt keine Werte.
Da muss ich wohl mal das Device neu anlegen oder neu pairen...
HP T610, HM, Jeelink, LGW, mapleCUL868+434

Lucky2k12

Ich muss hier doch noch mal um Hilfe bitten:

neu anlegen hat nix gebracht.  Komisch, es hat doch schon mal funktioniert.

Symptome:
- die LED auf der Platine vom wasserdichten US-Sensor blinkt im Minutentakt. Also lebt der µC und hoffentlich auch der Jeenode an sich.
- kein Unterschied zwischen wasserdichtem Sensor und HC-SR04, beide senden nix. andere Temperatursensoren werden problemlos empfangen.
- pairing x mal probiert, mit und ohne ignore_battery
- device umbenannt und neu angelegt- erfolglos
- die Frequenzen sind im sketch und auf dem Jeelink eingestellt (5m)
- Jeelink Firmware 10.1q
- auch mein locutus LGW empfängt nichts.

list vom Jeelink
defmod JEE_0 JeeLink /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL014JJZ-if00-port0@57600
attr JEE_0 flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
attr JEE_0 initCommands 5m 30t v
attr JEE_0 room CUL,LaCrosse

setstate JEE_0 initialized
setstate JEE_0 2017-07-20 20:15:18 state initialized


List Levelsender
defmod Level_Oil2 Level 1
attr Level_Oil2 IODev JEE_0
attr Level_Oil2 distanceToBottom 140
attr Level_Oil2 litersPerCm 46
attr Level_Oil2 room Energy,LaCrosse
attr Level_Oil2 userReadings Volume {-0.0000005*(ReadingsVal("Level_Oil","level",0)-2158.9)*(ReadingsVal("Level_Oil","level",0)-245. 288)*(ReadingsVal("Level_Oil","level",0)-149.207)*(ReadingsVal("Level_Oil","level",0)+153.393);;;;}



Wie kann ich testen, ob das Funkmodul auf dem Jeenode noch ordnungsgemäß funktioniert?
oder andere Fehlerquellen ausschließen?
Danke für eure Unterstützung!
HP T610, HM, Jeelink, LGW, mapleCUL868+434

HCS

Zitat von: Lucky2k12 am 20 Juli 2017, 20:29:27
Ich muss hier doch noch mal um Hilfe bitten:
Schließ ihn per USB-Serial-Adpater an einen Rechner an, auf dem Du ein Terminalprogramm hast.
57600,8,N,1
Wenn er arbeitet, muss er zumindest auf der seriellen Schnittstelle die Werte rausschreiben.

Ob das Funkmodul noch sendet, kannst Du nur mit einem Empfänger ermitteln, z.B. einem SDR

Und ich würde mal zum Testen:
#define TRANSMIT_INTERVAL     5    // Transmit interval in seconds
#define DATA_RATE             4    // Bit coded: 1 = 17241   2 = 9579   4 = 8842 


konfigurieren, nicht dass Du mit Deinem "initCommands 5m 30t v" toggle immer gerade versetzt den LevelSender nicht hörst.

Lucky2k12

Dane für die Tipps @HCS !!

In Putty und Arduino IDE krieg ich erstmal keine Antwort.
Das mit dem SDR muss ich dann ja gar nicht probieren, oder?
HP T610, HM, Jeelink, LGW, mapleCUL868+434

HCS

Zitat von: Lucky2k12 am 20 Juli 2017, 22:09:56
In Putty und Arduino IDE krieg ich erstmal keine Antwort.
Das mit dem SDR muss ich dann ja gar nicht probieren, oder?
Sehe ich auch so. Kannst Du ihn noch erfolgreich flashen?

Lucky2k12

Habs grad nochmal mit einer älteren Arduino IDE 1.8.2 probiert, da antwortet er:

Started
Values: -1.0 cm   25.00 C   5.00 V
Values: -1.0 cm   25.00 C   5.01 V
Values: -1.0 cm   24.50 C   5.01 V


Der SR04 ist drauf, -1 sieht aber nach debugging Ausgabe aus. Reicht der Saft vom FTDI nicht?
Mit Putty hab ich's nicht hingekriegt :-(

DATA_RATE auf 5 hatte ich schon, TRANSMIT_INTERVAL war auf 60, aber da kam definitiv nix.
HP T610, HM, Jeelink, LGW, mapleCUL868+434

HCS

Zitat von: Lucky2k12 am 21 Juli 2017, 21:54:39
Der SR04 ist drauf, -1 sieht aber nach debugging Ausgabe aus.
-1 ist das Ergebnis, wenn der SR04 kein Ergebnis geliefert hat, z.B. auch dann, wenn er nicht angeschlossen oder defekt ist, oder wenn die Distanz zu gering ist.


Zitat von: Lucky2k12 am 21 Juli 2017, 21:54:39
Reicht der Saft vom FTDI nicht?
Da sprechen die gemessenen 5.01V dagegen.

Lucky2k12

Danke!

Ich hab die Anschlüsse zum US-Sensor eben nachgelötet, ohne Erfolg.

Wenn ich das richtig verstehe, hab ich nun 2 Probleme:
1. Der Ultraschall Sensor hat keine Verbindung oder ist defekt (zweriteres eher unwahrscheinlich, weil auch der 2. nicht geht)
2. Das Modul sendet nix, auch nicht -1
HP T610, HM, Jeelink, LGW, mapleCUL868+434

Lucky2k12

#134
@HCS, danke, Du hast mich auf die richtige Spur gebracht.
Ich hatte eine Lötbrücke von Sensor-Echo nach Gnd eingebaut, jetzt geht er wieder, jipiii.
Der SR04 bringt auch plausible Ergebnisse  8)

Leider bringen die beiden wasserdichten JSN-SR04T immer nur ca 34cm, unabhängig vom Abstand :(
Edit: Die 33-34cm kommen auch, wenn kein US-Sensor an der Adapterplatine steckt  ???

EDIT2: Ich hab noch ein bisschen bei aliexpress recherchiert. Es gibt auch serielle Versionen des JSN-SR04T. Der Unterschied ist die Bestückung mit einem SMD Widerstand, der bei der Trigger Version fehlt. Meine Platine hat alle Widerstände bestückt, also ist es vermutlich eine serielle Version.
https://www.jahankitshop.com/getattach.aspx?id=4635&Type=Product

Blöderweise ist das Layout meiner Platine anders als die Bilder auf Aliexpress.
siehe Anhang

Da muss ich wohl doch den SR04 verwenden  :P

mein Device sieht jetzt so aus:

defmod Level_Oil Level 1
attr Level_Oil IODev JEE_0
attr Level_Oil distanceToBottom 150
attr Level_Oil litersPerCm 40
attr Level_Oil room Energy,LaCrosse
attr Level_Oil userReadings Volume {-0.0000005*(ReadingsVal("Level_Oil","distance",0)-2158.9)*(ReadingsVal("Level_Oil","distance",0)-245.288)*(ReadingsVal("Level_Oil","distance",0)-149.207)*(ReadingsVal("Level_Oil","distance",0)+153.393);;;;}

setstate Level_Oil L: 4640 T: 23.5 V: 6.1
setstate Level_Oil 2017-07-22 09:45:24 Volume 4846.35880821788
setstate Level_Oil 2017-07-22 09:45:24 distance 34
setstate Level_Oil 2017-07-22 09:45:24 level 116
setstate Level_Oil 2017-07-22 09:45:24 liters 4640
setstate Level_Oil 2017-07-22 09:45:24 state L: 4640 T: 23.5 V: 6.1
setstate Level_Oil 2017-07-22 09:45:24 temperature 23.5
setstate Level_Oil 2017-07-22 09:45:24 voltage 6.1

Das userReadings dient der Umrechnung des Abstands in das Ölvolumen meiner drei bauchigen GFK Tanks mit je 2000l gemäß Peiltabelle:
http://www.dehoust.de/Files/download/peiltabellen/Peiltabelle_6620.pdf
Falls das mal jemand braucht  ;)
HP T610, HM, Jeelink, LGW, mapleCUL868+434