HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMatic

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMatic

Beitrag von Mathias » 07.08.2017, 23:59

Mit wenigen Modulen kann eine Ultraschall-Füllstandsmessung für HomeMatic realisiert werden:
  • Eine aufwändige Messwertvorverarbeitung sorgt für einen stabilen Messwert mit einer hohen Genauigkeit.
  • Durch die fast vollständige Ausnutzung der 8 Bit des Sendemoduls ergibt sich eine maximale Abweichung von 0,2%. Bei einer 6000l Zisterne bedeutet das eine maximale Abweichung von nur 12l.
  • Ein spezieller Fehlerwert (255) kennzeichnet eine fehlerhafte Messung oder einen defekten Sensor.
Die Projektbeschreibung wird auf GitHub gepflegt.

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von Familienvater » 08.08.2017, 00:34

Hi,

klingt spannend...

Kannst Du was zum Stromverbrauch sagen? Mit Batterien ist das ganze wahrscheinlich eher nicht betreibbar, oder?

Deine 0,2% bzw.12l kann ich nicht nachvollziehen, bei 254 Werten für 100% bin ich bei ~0,4% (was immer noch ziemlich sehr genau ist...)

Hast Du mal einen Chart über ein paar Tage, wo sich der Zisternenfüllstand nicht geändert hat, damit man ein Gefühl für den Temperatureinfluß bekommt? Das ist eine Sache, die mich am original Füllstandssensor "ärgert", das der um mehrere % zwischen warmem Tag und kalter Nacht schwankt, muss wahrscheinlich an der Mondanziehung liegen :-), habe aber zum Glück noch keine Springtide aus der Zisterne gehabt.

Hast Du eine "zuverlässige" Quelle für den verwendeten Sensor? Es gibt AFAIK zwei Ausführungen, eine mit Trigger/Echo-PIN, und eine mit einem seriellen Protokoll, was man nachher in den Händen hält, entscheidet Alibaba und seine 40 Räuber :-)

Der Familienvater

dondaik
Beiträge: 12923
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1597 Mal
Danksagung erhalten: 222 Mal

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von dondaik » 08.08.2017, 18:44

nice,
der code ist wirklich etwas aufwendiger !!!
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von Mathias » 08.08.2017, 20:37

Familienvater hat geschrieben:Kannst Du was zum Stromverbrauch sagen? Mit Batterien ist das ganze wahrscheinlich eher nicht betreibbar, oder?
Mit Batterien ist es in dieser Form nicht betreibbar. Alleine die durchgehend leuchtenden Power-LEDs vom Arduino- und vom Ultraschallmodul machen schon alles zunichte.
Familienvater hat geschrieben:Deine 0,2% bzw.12l kann ich nicht nachvollziehen, bei 254 Werten für 100% bin ich bei ~0,4% (was immer noch ziemlich sehr genau ist...)
Die kleinste Differenz auf der Ausgabeskala ist tatsächlich ~0,4%. Der größte Fehler tritt also dann auf, wenn der tatsächliche Messwert in der Mitte liegt. Die max. Abweichung ist dann also ~0,2%. :D
Familienvater hat geschrieben:Hast Du mal einen Chart über ein paar Tage, wo sich der Zisternenfüllstand nicht geändert hat, damit man ein Gefühl für den Temperatureinfluß bekommt? Das ist eine Sache, die mich am original Füllstandssensor "ärgert", das der um mehrere % zwischen warmem Tag und kalter Nacht schwankt, muss wahrscheinlich an der Mondanziehung liegen :-), habe aber zum Glück noch keine Springtide aus der Zisterne gehabt.
Meine Zisterne ist unterirdisch und hat daher konstant eine Temperatur von 8°C und 100% Luftfeuchte. Die Schallgeschwindigkeit ändert sich also nicht. Die Messwerte sind dann auch durchgehend konstant. (Die Software rechnet auch schon etwaiges Rauschen heraus.)
Pro °C ändert sich die Schallgeschwindigkeit um 0,17%. Einige Grad Temperaturdifferenz haben also Auswirkung auf den Messwert. Dies könnte nur mit einer Temperaturmessung kompensiert werden, z.B. mit Hilfe der CCU, wenn Du einen Außentemperatursensor hast.
Familienvater hat geschrieben:Hast Du eine "zuverlässige" Quelle für den verwendeten Sensor? Es gibt AFAIK zwei Ausführungen, eine mit Trigger/Echo-PIN, und eine mit einem seriellen Protokoll, was man nachher in den Händen hält, entscheidet Alibaba und seine 40 Räuber :-)
Ich habe die Ultraschallmodule hier bezogen.

Gruß
Mathias

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von Dome_2001 » 25.08.2017, 15:15

Servus,

cooles Projekt. Hab es nun mal nachgebaut. Allerdings bekomme ich immer den Wert 255, für Fehler zurück geliefert.

Ging Dein Sensor direkt? Wie kann ich den defekt vom Sensor prüfen? Das Testprogramm für die Übertragung lief sauber durch. Da kommen die Werte entsprechend an. Nur sobald mit Sensormessung klappt es nicht. Habe aus Deine Git die Stände im Arduino übertragen.

Hast Du mir Ideen wie ich am besten in die Fehlerprüfung einsteige?

Edit: Aktuell habe ich bemerkt, dass wenn ich das Teil teste ein Wert rauskommt, z.B. Wert = 7. Wenn es sich aber aktualisiert, dann läuft es auf Fehler.
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von Mathias » 25.08.2017, 17:07

Bitte mal folgende Schritte durchführen:
  • Die Option MEASUREMENT_PAUSE im Sketch anpassen, damit häufiger gemessen wird (z.B. auf 10 setzen).
  • Über die Option DISTANCE_RANGE_BEGIN den Messbereichsanfang setzen (z.B. 3.00 für Tank leer).
  • Über die Option DISTANCE_RANGE_END das Messbereichsende setzen (z.B. 0.25 für Tank voll).
  • Änderung auf den Arduino hoch laden.
  • Unbedingt den minimalen Abstand für das verwendete Ultraschallmodul beachten (z.B. 25cm). Vor dem Ultraschallmodul muss der Messkegel frei von Gegenständen sein, die Reflexionsfläche muss senkrecht zur Achse des Ultraschallmoduls sein. Beispielsweise vom Tisch senkrecht nach oben messen.
  • Den Seriellen Monitor in der Arduino IDE starten (Werkzeuge -> Serieller Monitor). Die Baudrate muss auf 250000 eingestellt werden, oder im Sketch mit der Option BAUD_RATE entsprechend geändert werden. Die Option DEBUG_ENABLE im Sketch muss auf true stehen.
  • Der HM-LevelSensor sollte dann mit folgendes Ausgabe im Monitor starten: *** ULTRA SONIC LEVEL SENSOR ***
  • Für jede durchgeführte Messung werden detaillierte Informationen ausgegeben. Diese bitte mal zur Verfügung stellen.
Gruß
Mathias

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von Dome_2001 » 25.08.2017, 19:45

Servus,

Danke, das hat mir nun weitergeholfen. Dabei habe gelernt das ich beim Testen einen Mindestabstand von 25cm einhalten muss. Das war mir so nicht bewusst.

Zwei Fragen noch. Kann ich den Mindestabstand ändern? Und Zum Henker stelle ich im dem Sketch das Tankvolumen ein?! Habe nur 3* 1000 Liter Fässer wo es zum Einsatz kommen soll.

Bei mir soll dann wenn ich die Gartenbewässerung einschalte das Fass mit dem größten Inhalt gepumpt werden. Die restliche Hardware habe ich bereits schon in betrieb. Stelle aber aber aktuell noch alles manuell um. Da ist Deine Lösung perfekt dazu.

Danke.

Edit: Das mit dem Füllstand in Liter habe ich gefunden. Das muss ich im HM-Programm ändern.
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von Mathias » 26.08.2017, 12:09

Der Mindestabstand ist abhängig vom verwendeten Modul.

Beispiele:
JSN-SR04T / TE501: 25cm
US-100 / HY-SRF05 / HC-SR04: 2cm (Diese haben aber keinen wasserdichten Sensor.)

Die Dokumentation auf GitHub werde ich noch um die Konfiguration erweitern. Deine Nachbauerfahrungen lasse ich auch noch einfließen. Vielleicht kannst Du später noch ein paar Fotos hier reinstellen.

Gruß
Mathias

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMatic

Beitrag von Mathias » 27.08.2017, 12:56

Ich habe die Dokumentation auf GitHub erweitert. Folgende Abschnitte sind hinzugekommen:
  • Mögliche Ultraschall-Module
  • Montage Ultraschallsensor
  • Konfiguration
  • Fehlersuche
Gruß
Mathias

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa

Beitrag von DrTob » 27.08.2017, 15:53

ich habe das mal probiert nachzubauen, aktuelles Problem:

Sketch läuft, Die Messung liefert jedoch immer 0 (-> bzw. den Offset. Ende von ping() ist t = TIME_OFFSET.

Antworten

Zurück zu „Projektvorstellungen“