Seite 8 von 20

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

Verfasst: 09.04.2020, 13:23
von Moonrider
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.

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

Verfasst: 09.04.2020, 15:15
von Moonrider
Keine Ahnung warum, aber jetzt geht auch die Distanzanzeige. alles läuft prima.
Unbenannt.JPG

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

Verfasst: 28.06.2020, 12:29
von jp112sdl
Habe dem Gerät mal noch die Temperaturkompensation spendiert.

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

Verfasst: 01.07.2020, 15:55
von magnum1795
@ 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

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

Verfasst: 04.07.2020, 20:10
von shartelt
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 ;)

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

Verfasst: 12.07.2020, 16:19
von wendy2702
Kurze Frage:

Muss es ein Arduino Mini sein oder geht auch ein Nano ?

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

Verfasst: 12.07.2020, 17:45
von jp112sdl
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.

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

Verfasst: 12.07.2020, 18:06
von wendy2702
Ok.

Habe einen normalen Nano.

Muss es eigentlich der CC1101 sein oder könnte ich ein überschüssiges HM Funkmodul nutzen.?

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

Verfasst: 12.07.2020, 18:27
von jp112sdl
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

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

Verfasst: 16.07.2020, 02:29
von myoo
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 ?