Universalsensor als Ultraschall Füllstandsmesser / Entfernungsmesser

Begonnen von Dirk, 24 Oktober 2015, 12:29:31

Vorheriges Thema - Nächstes Thema

Dirk

Zitat von: SlrG am 15 April 2016, 23:33:25
Vielleicht sogar kontinuierlich?
Kontinuierlich ist wegen der Batterie nicht Sinnvoll. Dafür müsste der Sensor ständig mit Spannung versorgt werden.
Viel wichtiger ist hier aber das 1% Sendezeitlimit. Man könnte den Sendeinterval entsprechend reduzieren. Aktuell lässt sich das in der Firmware aber noch nicht über einen Registerwert ändern.
Ich hab hier mal ein paar Firmwareversionen mit unterschiedlichen Sendeintervallen aus dem Kompiler "gelassen".

Ich denke bis 15 sek. könnte man noch runter gehen. Aber auch das ist dann für alle anderen HM-Geräte eine zusätzliche Störung.
Was vielleicht sinnvoller währt, währ eine permanente "Überwachung" und ein Senden dann nur bei Änderung.

Viele Grüße
Dirk

ext23

Moin,

für mich wäre dasselbe wichtig. Batterielaufzeit ist bei mir egal, weil ich ehe kein Batteriebetrieb nutze, ich hab keine Lust alle 2 Jahre 100 Batterien zu tauschen, daher ist bei mir alles mit Netzversorgung, aber gut das ist nur bei mir so.

Wegen dem Sendeintervall hole ich mal weiter aus:
Ich bin ja gerade noch am Testen für meine 2 Wassertonnen auf dem Balkon. Variante A Kapazitiv, zu Temp abhängig, also gestorben. Variante B, Ultraschall, noch so halb in Arbeit aber wegen Wasserdicht etc.... steht das Ergebnis noch aus. Variante C, Drucksensor. Scheint stabil zu laufen bis jetzt, am FS20 und am AVR-NET-IO. Allerdings auch minimal Temperatur abhängig vermutlich wegen ADC Wandlung. ABER jetzt kommt es:
Ich nutze das ja für meine Tonnen die schwer einsehbar sind, sprich wenn ich die Tonnen über ein Schlauchsystem befülle, sehe ich nicht wie voll die gerade ist. Ein Messintervall von 1 Minute ist in dem Fall zu lang. Für den Füllvorgang brauche ich ein kurzes Intervall von ca. 15 Sekunden. Es wäre also gut, wenn man dein Sensor für eine Zeit X in eine Sendeintervall Y setzen könnte.

Bei dem "FS20 Spezialfirmware Sender" geht es nicht, aber das Teil ist mir eh zu kompliziert von der Konfiguration her. Der Entwickler gibt die Firmware nicht frei und somit kann ich da selber auch nichts anpassen. Daher werde ich das Ding in naher Zukunft "entsorgen". Mit dem AVR-NET-IO mache ich das so, das wenn im normalen Messintervall der Füllstand steigt, ich für 10 Minuten ein kurzes Messintervall aktiviere. (Aber bei mir alles Kabel, daher auch kein Ärger mit 1% ;-) ) Aber die andere Tonne hat kein "LAN" in der Nähe, daher brauche ich da dein Sender für ;-)

/Daniel

NACHTRAG:
Möglich wäre natürlich auch ein Alarm bei einem bestimmten per Register eingestellten Wert. Das wäre natürlich dann die Edelklasse. Aber ich weiß nicht in wie weit das für SlrG zutrifft.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Markus

Ich würde da auch noch einen Schwimmschalter als Endabschalter Installieren der die Pumpe killt wenn die Tonne Voll ist...


Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

ext23

Na eher wenn sie leer ist, füllen tu ich die ohne Pumpe. Und den habe ich ja. Aber da kann man pro Tonne nur einen installieren ;-) Sonst behaken die sich gegenseitig weil Widerstandsmessung ;-)

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

SlrG

Hallo Dirk,

vielen Dank für die Firmwareversionen! Gibt es auch irgendwo den Sourcecode?

Ich würde mir eine von zwei Varianten wünschen:

1) Den Sensor von FHEM aus eine bestimmte Zeit (z.B. 30 sec) in einen Modus höherer Aktivität (z.B. Messung und Übertragung alle 1-2 Sekunden) versetzen und danach wieder zurück auf normal.

Ist es technisch vorstellbar, die passenden Änderungen in der Firmware vorausgesetzt, von FHEM aus die Intervalle der Messung und die Intervalle der Funkübermittlung zu ändern? Du bist der Profi und kannst sicher am Besten beurteilen, ob sowas überhaupt möglich ist.

2) Der Sensor misst kontinuierlich im Abstand von ca 1-2 Sekunden und übermittelt nur bei Veränderung eine Funknachricht.
Aber: Ich kann mir vorstellen, dass dies sicher auch sehr belastend für die Batterie ist? Deshalb ist Variante 1 sicher die bessere.

Michael

Dirk

Hallo Michael,

Zitat von: SlrG am 17 April 2016, 23:08:33
vielen Dank für die Firmwareversionen! Gibt es auch irgendwo den Sourcecode?
Na klar:
https://github.com/kc-GitHub/Wettersensor

Zitat1) Den Sensor von FHEM aus eine bestimmte Zeit (z.B. 30 sec) in einen Modus höherer Aktivität (z.B. Messung und Übertragung alle 1-2 Sekunden) versetzen und danach wieder zurück auf normal.
Also so eine Art Polling? Der erste Teil ist geplant, Der zweite Teil ist interessant. Das Nehme ich mal in die Liste mit auf.


ZitatIst es technisch vorstellbar, die passenden Änderungen in der Firmware vorausgesetzt, von FHEM aus die Intervalle der Messung und die Intervalle der Funkübermittlung zu ändern?
Ja, ist auch geplant

Zitat2) Der Sensor misst kontinuierlich im Abstand von ca 1-2 Sekunden und übermittelt nur bei Veränderung eine Funknachricht.
Aber: Ich kann mir vorstellen, dass dies sicher auch sehr belastend für die Batterie ist? Deshalb ist Variante 1 sicher die bessere.
Dafür braucht man auf alle Fälle eine externe Spannungsversorgung. Aber so würde ich das Umsetzen.

Viele Grüße
Dirk

Dirk

Zitat von: ext23 am 16 April 2016, 12:36:47
Möglich wäre natürlich auch ein Alarm bei einem bestimmten per Register eingestellten Wert. Das wäre natürlich dann die Edelklasse. Aber ich weiß nicht in wie weit das für SlrG zutrifft.
Grundsätzlich möglich. Theoretisch sogar mit direktem Pairing zu Schaltaktoren o. ä.

Im Zusammenhang mit dem Wasserzähler wollte ich die Firmware da eh noch etwas erweitern. Ich nehme das aber mal als Idee mit auf.

SlrG

@Dirk:
Vielen Dank, dass Du die Ideen in die Firmware einbauen möchtest. :) Ich werde den Thread definitiv im Auge behalten. Den Quellcode schaue ich mir auch mal an. Aber ich vermute mal, dass wird meine Fähigkeiten übersteigen. :)

g.finder

Hallo,

ich habe mal eine Frage zum Ultraschall Füllstandsmesser / Entfernungsmesser.

Kann ich mit der HB-UW-Sen-THPL_update_V0_15_000_150303.hex nur den US-Sensor anschließen
oder gehen auch BPM180 und SHT10 (ich habe hier einen SHT11 = genauer) gleichzeitig?

D7 wird bereits von der Batteriespannungsmessung verwendet, ist aber wohl kein Problem.

Bekomme ich für den US-Sensor dann ein zusätzliches 6. Feld in der CCU2 ? (siehe Anhang)
Vielleicht könnte jemand mal ein Bild damit einstellen.

Gruß, Gerd

Dirk

Hallo Gerd,

Zitat von: g.finder am 08 Mai 2016, 18:13:37
Kann ich mit der HB-UW-Sen-THPL_update_V0_15_000_150303.hex nur den US-Sensor anschließen
oder gehen auch BPM180 und SHT10 (ich habe hier einen SHT11 = genauer) gleichzeitig?
Ja, das geht. Lediglich die Helligkeitsmessung ist hier aktuell nicht gleichzeitig möglich, da die Entfernung derzeit auf dem Kanal des Helligkeitssensors übertragen wird.
Für den US-Sensor brauchst du auch eine "Spezialversion" der 0.15er Firmware. Fertig kompiliert ist die aktuell hier zu finden:
https://forum.fhem.de/index.php/topic,42850.msg440019.html#msg440019

ZitatBekomme ich für den US-Sensor dann ein zusätzliches 6. Feld in der CCU2 ? (siehe Anhang)
Aktuell noch nicht, da die Entfernung im Helligkeitskanal gesendet wird.

So sieht es dann im Webui der CCU aus.
Der Wert dort unter "LUMINOSITY" muss durch 10 geteilt werden. Der angezeigte Wert von "18.40" entspricht dann 1,840m

Gruß
Dirk

g.finder

Danke Dirk, das sieht gut aus.

Zitat von: Dirk am 08 Mai 2016, 18:51:50
Ja, das geht. Lediglich die Helligkeitsmessung ist hier aktuell nicht gleichzeitig möglich, da die Entfernung derzeit auf dem Kanal des Helligkeitssensors übertragen wird.
Da ich keinen Helligkeitssensor verwenden werde, passt das gut.

Bestellen und warten auf den Sensor ist nun angesagt.

Gruß
Gerd

g.finder

Hallo Dirk,

Zitat von: Dirk am 08 Mai 2016, 18:51:50
Für den US-Sensor brauchst du auch eine "Spezialversion" der 0.15er Firmware. Fertig kompiliert ist die aktuell hier zu finden:
mit den verlinkten .eq3 Dateien habe ich das nächste Problem.
Wie kriege ich die installiert?

Die sehen zwar wie binäre aus (die könnte ich flashen), sind es wohl aber nicht.

Also "Bootloader-AskSin-OTA-HB_UW_Sen_THPL.hex"
und "HB-UW-Sen-THPL_update_V0_15_000_150303.hex" auf den 328er geflasht.

Geprüft, die Sensordaten werden (immer noch) übermittelt.

Nun habe ich die "HB-UW-Sen-THPL_update_V0_15_1_160410_US-100_sendtime-default.eq3"
aus obigem Link in die CCU2 unter Einstellungen/Geräte-Firmware versucht hochzuladen (Bild1)
und erhalte einen Fehler (Bild2)

Einen Update Button sehe ich auch nicht.

Ich danke für deine Geduld.
Gerd




exot

Hallo Dirk,
Für die Füllmenge in unserem Pelletbunker suche ich einen Lösungsansatz.
Nach langem suchen bin ich auf den  ULTRASCHALLSENSOR HC-SR04 gestoßen.
Dieser soll über Kabel mit dem Pi der Haussteuerung verbunden werden.
Da der Bunker nicht besonders groß ist denke ich sollte das mit dem Teil funktionieren.
Die Anzeige unter Fhem sollte  wie folgt ausgegeben werden:
voll oder 100%
halb oder 50%
viertel oder 25% 
leer oder nachfüllen

Sind meine Vorstellungen so realisierbar.
Danke Michael

Dirk

@Gerd,

Sorry, bin wieder ein paar Tage im Stress gewesen. Da hab ich diesen Thred aus den Augen verloren.

Zitat von: g.finder am 09 Mai 2016, 19:16:18
Hallo Dirk,
mit den verlinkten .eq3 Dateien habe ich das nächste Problem.
Wie kriege ich die installiert?
Du willst direkt mit der CCU flashen? Dann muss das File in ein tgz gepackt werden.
Das tgz kannst du nach dieser Vorlage bauen:
https://github.com/kc-GitHub/Wettersensor/raw/master/Firmware-Release/HB-UW-Sen-THPL_update_V0_14_001_150301-I.tgz
Falls du Hife brauchst, kann ich dir das auch zusammenstellen.

ZitatDie sehen zwar wie binäre aus (die könnte ich flashen), sind es wohl aber nicht.
Die CCU akzeptiert nur tgz-files. -eq3 kann man mit dem HM-USB-Adapter und der HM-Firmare-Update-SW oder dem CUL und flashota updaten.

@exot,
ZitatSind meine Vorstellungen so realisierbar.
Theoretisch sollte das funktionieren. Man müsste mal ausprobieren wie die Messung an unregelmäßigen Flächen, wie es die Oberfläche des Pelletberges dann wohl ist, funktioniert. Ich nutze mit dem Universalsensor übrigens einen US-100. Da dieser bereits mit 3 V läuft. Der HC-SR04 benötigt 5 V. Dazu bräuchte es dann noch ein Stepup-Wandler. Dazu dann aber mehr im nächsten Beitrag. Da hab ich schon was vorbereitet :)

Viele Grüße
Dirk

Dirk

Hallo Franz und die anderen :)

Zitat von: Franz Tenbrock am 14 April 2016, 20:37:58
Habe meinen Sensor Dirk geschickt, mal sehen was raus wird.
Ich bin heute dann auch endlich mal zum experimentieren gekommen. Sorry für die Verzögerung.
Dafür sieht das Ganze aber auch schon recht gut aus.

Kleiner Nachteil des DYP-ME007Y: er braucht 5 V für den Betrieb.

Ich habe dazu mal einen kleinen Stepup-Regler auf Basis der 5 V-Version des Max1724 gebaut. Damit funktioniert der US-Sensor dann auch am Universalsensor. Dafür hab ich zunächst die aktuelle Firmware die für den US-Sensor gepatcht ist benutzt. Grundsätzlch funktioniert die, allerdings stimmt die Entfernung da noch nicht. Somit muss ich hier Firmwareseitig die Echomessung noch etwas anpassen. Die Messung funktioniert aber schon mal Stabil, da sich die Entfernung bei Mehreren Messung nicht verändert.

Da der Sensor nur mit 5 V Funktioniert ist wie gesagt ein Stepup-Wandler zur Spannungsversorgung nötig. Der Stepup-Wandler hat ein Enable- bzw- Shutdown-Eingang, so dass dieser durch den AVR im Universalsensor nur bei einer Messung eingeschaltet wird. Somit sollte das auch Batteriekompatibel sein.
Die Stepup-Platine enthält noch einen kleinen Spannungsteiler, welcher den Echo-Ausgang, der ja auch 5 V liefert auf einen 3 V-Pegel für den Sensor runtersetzt.

Somit dürfte diese Lösung dann wirklich Wasserfest sein.

Anbei ein kleines Bildchen vom Aufbau:
In der Mitte ist die kleine Platine vom Stepup-Wandler. Dieser ist per rotem und blauem Draht direkt mit der Batterie des Universalsensor (unten) angeschlossen. Der orange Draht ist der Enable-Eingang vom StepUp. Der grüne Draht ist das Trigger-Signal. Damit wird die Messung gestartet. der gelbe Draht das Echo-Signal, welches durch den auf der kleinen Platine befindlichen Spannungsteiler durch geht.

Mit dem Stepup-Wandler lassen sich damit nun auch Sensoren am Universalsensor betreiben, welche 5V für die Versorgung brachen. Entweder im Batteriebetrieb, wenn der Sensor nur kurz zur Messung aktiviert wird, oder zur Not auch mit externer Spannungsversorgung. Dann könnte man sich den 5V Stepup vermutlich auch Sparen, wenn die Komplette Schaltung dann mit 5 V versorgt wird. Dann aber trotzdem den Spannungsteiler vom Echo-Signal nicht vergessen.

Viele Grüße
Dirk

Update: Detailbild vom Stepup-Wandler

2. Update:
Ich habe grade noch ein paar Messungen durchgeführt. Der "Messfehler" ist reproduzierbar und liniar. Kann daher gut z.B. per Userreading kompensiert werden. Aktuell messe ich 6.2% zu wenig. Könnte sein, dass beim Sensor eine Temperaturkompensation fehlt. Leider habe ich zu dem Teil kein sinnvolles Datenblatt gefunden. Der US-100 hat eine.