- 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.
HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMatic
Moderator: Co-Administratoren
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMatic
Mit wenigen Modulen kann eine Ultraschall-Füllstandsmessung für HomeMatic realisiert werden:
-
- 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
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
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
-
- Beiträge: 12929
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1604 Mal
- Danksagung erhalten: 222 Mal
Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa
nice,
der code ist wirklich etwas aufwendiger !!!
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 !!!
wer schreibfehler findet darf sie behalten.
!!! 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 !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa
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:Kannst Du was zum Stromverbrauch sagen? Mit Batterien ist das ganze wahrscheinlich eher nicht betreibbar, oder?
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%.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...)
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.)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.
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.
Ich habe die Ultraschallmodule hier bezogen.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
Gruß
Mathias
Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa
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.
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
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa
Bitte mal folgende Schritte durchführen:
Mathias
- 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.
Mathias
Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa
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.
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
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa
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
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
-
- Beiträge: 1796
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 262 Mal
- Kontaktdaten:
HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMatic
Ich habe die Dokumentation auf GitHub erweitert. Folgende Abschnitte sind hinzugekommen:
Mathias
- Mögliche Ultraschall-Module
- Montage Ultraschallsensor
- Konfiguration
- Fehlersuche
Mathias
Re: HM-LevelSensor: Ultraschall-Füllstandsmessung für HomeMa
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.
Sketch läuft, Die Messung liefert jedoch immer 0 (-> bzw. den Offset. Ende von ping() ist t = TIME_OFFSET.