HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Benutzeravatar
Moonrider
Beiträge: 66
Registriert: 25.08.2017, 13:17

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von Moonrider » 09.04.2020, 13:23

1. Fehler gefunden. Der Stecker des Sensors auf der Platine war verpolt, so zeigte der Sensor immer mehr bei immer geringerem abstand an und ich war ständig über Max. Da hat wohl jemand in China den Steckersockel falsch gesteckt. Jetzt funktioniert er. Bleibt noch das Problem mit der Distanzanzeige.
So long

Marcus

Benutzeravatar
Moonrider
Beiträge: 66
Registriert: 25.08.2017, 13:17

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von Moonrider » 09.04.2020, 15:15

Keine Ahnung warum, aber jetzt geht auch die Distanzanzeige. alles läuft prima.
Unbenannt.JPG
So long

Marcus

jp112sdl
Beiträge: 6463
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 308 Mal
Danksagung erhalten: 624 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 28.06.2020, 12:29

Habe dem Gerät mal noch die Temperaturkompensation spendiert.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

PN sind deaktiviert!

magnum1795
Beiträge: 113
Registriert: 13.05.2020, 17:56
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 7 Mal

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von magnum1795 » 01.07.2020, 15:55

@ jp112sdl

habe nun nochmals alles neu aufgebaut, jetzt aber den Maxsonar (auch wenn er um einiges Teurer ist) und auch einen DS18B20 mit angeschlossen. Nun sieht alles gut aus, Werte werden auch Richtig angezeigt. Das mit der Temperatur finde ich persönlich auch sehr gut. Vielen Dank dir nochmal für deine unermüdliche Arbeit, die du uns "Normalen" Usern Kostenlos zur Verfügung stellst. Ist leider in der heutigen Zeit nicht mehr so selbstverständlich. Bin nun noch dabei ein Gehäuse zu entwerfen und dann 3 D Drucken. Da ich die IBC Container mit einen Schwimmschalter zum automatischen Füllen (eigener Brunnen und extra Pumpe dazu) ausgestattet habe, ist die max. Füllhöhe nur noch 85 cm. Den Sensor setze ich daher gleich direkt oben auf den Container. 17mm Loch gebohrt und mit Cenusil abgedichtet.Hoffen wir mal das es nun einige Zeit (Länger) hält. Habe aber 4 Tanks in Reihe geschaltet, also alles gut. :lol:

PS: Was nun noch fehlt ist, das man diese Füllstände auch mit einer Handyapp (Android, wenn möglich TinyMatic) abrufen kann. In der WebUI ist es doch ziemlich umständlich. Momentan wird der Sensor ja noch nicht unterstützt.


Aufgebaut habe ich das ganze auf eine Platine von hier > https://github.com/ronnythomas/HB-Mini

Um den Deckel Dicht zu bekommen, verwende ich Teflonband, das ich oben ringsherum aufgelegt habe und den Deckel dann reingedrückt und angeschraubt habe. So sollte eine einigermaßen Dichtigkeit erreicht werden.

Ich hänge mal die .stl Dateien mit an. Vielleicht braucht sie ja jemand. :P
Ist mit 5 Volt miniNetzteil (https://www.ebay.de/i/164142524616?chn= ... TjEALw_wcB) und den MaxSonar Sensor (https://www.exp-tech.de/sensoren/entfer ... xsonar-ez4) und 2 Kabelverschraubungen (https://www.amazon.de/gp/product/B07KFC ... UTF8&psc=1) oder ähnliche, sowie 4x Schrauben 3 x 20 mm
Dateianhänge
cura 3.jpg
cura 2.jpg
cura 1.jpg
HB-UNI-Sen-LEV-US-Ober und Unterteil.zip
(125.17 KiB) 11-mal heruntergeladen
HB-UNI-Sen-LEV-US 2.jpg
HB-UNI-Sen-LEV-US.jpg

shartelt
Beiträge: 2701
Registriert: 14.01.2015, 14:59
Hat sich bedankt: 17 Mal
Danksagung erhalten: 38 Mal

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von shartelt » 04.07.2020, 20:10

hat zufällig noch jemand was "komplettes" rumliegen, dass ich dann käuflich erwerben könnte? ;)
Ich kenn mich null mit den Arduino aus. Baue gerade meine Bewässerung in den Garten und würde eine Nachspeiseanlage für die Zisterne verbauen.
Da mich der HM Füllstandssensor etwas nervt, würde ich gerne die Chance nutzen und einen Ultraschallsensor mit in die Zisterne hängen und die Steuereinheit im Hauswirtschaftsraum im Trockenen haben....

Also so eine Handvoll Hardware mit eingerichtetem Arduino...löten bekomme ich am Abend noch hin ;)

wäre echt knorke ;) Gerne auch per PM...

Zu Dank!

Falls nein, einfach ignorieren ;)

wendy2702
Beiträge: 429
Registriert: 05.03.2014, 19:31

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von wendy2702 » 12.07.2020, 16:19

Kurze Frage:

Muss es ein Arduino Mini sein oder geht auch ein Nano ?
piVCCU3/iobroker mit einigen Aktoren, Sensoren, Empfängern und Sendern.

jp112sdl
Beiträge: 6463
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 308 Mal
Danksagung erhalten: 624 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 12.07.2020, 17:45

Wenn du einen Nano hast, der mit 3.3V / 8MHz läuft, geht das auch.

Üblicherweise arbeiten die aber mit 5V... dann brauchst du Pegelwandler für das CC1101 und Batteriebetrieb ist auch nur möglich, wenn du auf int. 8MHz umstellst.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

PN sind deaktiviert!

wendy2702
Beiträge: 429
Registriert: 05.03.2014, 19:31

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von wendy2702 » 12.07.2020, 18:06

Ok.

Habe einen normalen Nano.

Muss es eigentlich der CC1101 sein oder könnte ich ein überschüssiges HM Funkmodul nutzen.?
piVCCU3/iobroker mit einigen Aktoren, Sensoren, Empfängern und Sendern.

jp112sdl
Beiträge: 6463
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 308 Mal
Danksagung erhalten: 624 Mal
Kontaktdaten:

Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor

Beitrag von jp112sdl » 12.07.2020, 18:27

wendy2702 hat geschrieben:
12.07.2020, 18:06
Habe einen normalen Nano.
Dann wird es damit wohl out of the box nicht gehen.
wendy2702 hat geschrieben:
12.07.2020, 18:06
überschüssiges HM Funkmodul nutzen.?
Du meinst ein TRX... aus einem HM Gerät? Ja, das geht
https://wiki.fhem.de/wiki/HomeMatic_Asksin_Library

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

PN sind deaktiviert!

myoo
Beiträge: 152
Registriert: 10.03.2011, 00:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Thüringen

HB-UNI-Sen-LEV-US - Rechenfehler ?

Beitrag von myoo » 16.07.2020, 02:29

Hallo,

Seit ein paar Wochen hat mich auch das Arduino Fieber erwischt und ich versuche mich an ein paar Sensoren. Für meinen Balkonwasserspeicher (25 Liter Behälter) habe ich mich an diesem Ultraschallsensor probiert und nach ein paar Anfängerschwierigkeiten auch zum Laufen bekommen.

Auf sehr kurzen Entfernungen (<12cm - wenn die Behälter über 80% gefüllt sind) scheint es allerdings irgendeinen Rechenfehler zu geben. Ich verwende die US-100 Sensoren an einem Arduino Pro Mini auf einem Testbrett. Mit den HB-UNI-Sen-LEV-US (und auch HB-UNI-Sen-DIST-US) funktioniert das allerdings nur bis ca. 12cm Abstand. Wenn der Abstand noch geringer wird, geht der gemessene Wert wieder in die Höhe ... ?!

Ich hatte erst die Berechnung der Distanz über den "m_value" im Verdacht, aber auch der unverarbeitete RAW-Wert gibt bei kleineren Distanzen unter 12cm plötzlich wieder höhere Werte aus. Könnte es irgendwie an der Verarbeitungszeiten des Programms im Arduinos selbst liegen ?

Mit folgendem, einfachen Testprogramm (im Internet gefunden und etwas angepasst) kann man damit bis auf ca. 4cm runter genau messen. Die Impulszeiten des Signals sollten ähnlich sein wie im LEV/DIST Sketch.

Code: Alles auswählen

int trigger=14;       // Trigger-Pin des Sensors
int echo=6;           // Echo-Pin des Sensors
int SENSOR_EN_PIN=5;  // VCC-Pin des Sensors
long dauer=0;         // Zeit für eine Schallwelle bis zur Reflektion und zurück benötigt
long entfernung=0;    // berechnete Entfernung

void setup() {
  Serial.begin (57600);               // Serielle kommunikation starten
  pinMode(trigger, OUTPUT);           // Trigger-Pin ist ein Ausgang
  pinMode(echo, INPUT);               // Echo-Pin ist ein Eingang
  pinMode(SENSOR_EN_PIN, OUTPUT);     // SENSOR_EN_PIN ist ein Ausgang
  digitalWrite(SENSOR_EN_PIN, HIGH);  // VCC des Sensors einschalten
}

void loop() {
  digitalWrite(trigger, LOW);         // kurze Zeit Trigger-Pin auf LOW um Signalstörung zu vermeiden
  delay(5);                           // warten
  digitalWrite(trigger, HIGH);        // Signal senden ...
  delay(10);                          // ... für 10 ms
  digitalWrite(trigger, LOW);         // Trigger-Signal aus
  dauer = pulseIn(echo, HIGH);        // Zeit in Mikrosekunden zählen, bis Signal zum US-Sensor zurückkehrt
  entfernung = (dauer/2) * 0.3432;    // Entfernung berechnen (Zeit durch zwei fuer halbe Strecke) multipliziert mit Schallgeschwindigkeit (Zentimeter/Mikrosekunde)
  if (entfernung >= 5000 || entfernung <= 0) // Wenn die gemessene Entfernung über 500cm oder unter 0cm liegt,…
    {
    Serial.print(entfernung);
    Serial.println(" --- Kein Messwert"); // ... dann "Kein Messwert"
  }
  else                                // sonst ...
  {
    Serial.print(entfernung);         // Wert ausgeben
    Serial.println(" mm");            // und Einheit schreiben
  }
  delay(1000);                        // warten, bis wieder von vorn ...
}

Weiß irgendjemand warum das so ist oder wo der Fehler liegen könnte ?

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“