Ultraschallsensor: Falsche Distanzen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Liebe Community,

    heute wollte ich mal wieder mit meinem Ultraschallsensor arbeiten, aber ich erhalte durch das von mir modifizierte Standardprogramm immer falsche Messungen:

    Beispiel (unterschiedliche Distancen [von 10cm - 30cm | Durchgehende Entfernungsveränderung!]):

    Wer kann mir helfen?

    MfG

    Einmal editiert, zuletzt von DaJuBi (1. September 2014 um 18:48)

  • Die Berechnung sieht mir ein bisschen komisch aus.. Aber ich kenn das nur vom Arduino:

    Desweiteren muss man mindestens 29ms zwischen den Messungen warten da sich sonst die Echo's überschneiden

  • Hmmm .... ich weiß nicht, welches Beispielprogramm Du da verwendet hast. Meins? Wenn nicht, dann probier es doch einfach mal aus ... ist ja kein Aufwand. Es geht halt drum mal einen Vergleich zu haben.
    Evtl. mal an den Pausenzeiten zwischen den Messungen drehen ...
    Ich habe derzeit alle drei RPi in Testaufbauten verbaut und kann das leider nicht nachstellen.

    cheers,
    -ds-

  • dreamshader:
    Ich habe es nun nocheinmal mit dem originalen Programm probiert, dennoch erhalte ich immer nur sehr ähnliche Distanzen:

    Die Distanz habe ich natürlich verringert und vergrößtert (5-25 cm).

    MfG

  • Hmmm ... also ich denk mal dass Schwankungen im Bereich von ein paar Milimetern relativ normal sein dürften. Die Sensoren sind billige Massenware und der RPi mit Raspbian ist zudem nicht echtzeitfähig.
    Die groben Ausreisser kann ich mir allerdings auch nicht erklären ...
    Vielleicht hat ja jemand das mal nachgestellt?

    cu,
    -ds-

    • Offizieller Beitrag

    So ein paar ein Aureißer hab ich auch bei meinem. Und ich messe über Python....ich nehm am ende immer 3 Werte und Untersuche dann das Array ob da ein ausreißer drin ist.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Das Problem ist, dass ich den Raspberry bewegt habe aber sich die Distanz nicht wirklich verändert habe.
    Sprich auch bei 24 cm werden 17 cm angezeigt, das gleiche bei 6 cm, etc.
    Erst ab bestimmten Distanzen verändert sich dann auch wieder der Wert, also bspw. alle 30 cm (geschätzt).

    MfG

  • Worauf richtest du den Sensor denn aus und wie oft nimmst du eine Messung vor?

    Ultraschall kann abgelenkt werden und die Messungsintervalle dürfen nicht zu gering sein da sich sonst die Echo's überschneiden - selbst Ultraschall brauch halt auch eine gewisse Zeit (29ms) eine Distanz zurück zu legen ;)

    Ansonsten wäre es auch hilfreich zu wissen um was für einen US es sich bei dir überhaupt handelt - da gibts nämlich auch viele verschiedene die unterschiedlich gut (und teuer) sind.
    Und dann ist es eben auch wichtig wie dieser angeschlossen ist, denn nicht alle Modelle funktionieren mit 3V3 und würden dann falsche Werte anzeigen...

  • Du kannst beim nächsten Test einfach mal mindestens 2 Meter vom Hinderniss weggehen und dann die Distanz verkürzen. Um so kürzer die Strecke ist, um so größer müsste die Abweichung sein, wenn es wie ich vermute mit dem Multithreading zusammenhängt. Du kannst auch versuchen, das Programm als Prozess mit "nice" mit einer hohen Priorität laufen zu lassen.

  • Das Programm seht ihr ja oben und ein neues Signal wird erst losgeschickt, wenn das alte wieder empfangen wurde.
    Das mit den aus 2 Metern die Distanz verkürzen kann ich heute Abend mal ausprobieren, habe mich bei den ganzen Messungen, die ich hier gemacht habe immer nur im Bereich von 5-30 cm bewegt.

    Als Modul benutze ich das HC-SR04.

    MfG

    Einmal editiert, zuletzt von DaJuBi (4. September 2014 um 14:13)

  • Jetzt wo Du es sagst, ich hatte schon wieder Python im Kopf und dachte noch so, "Wenn er wirklich nur alle 10000 Sekunden messen will, soll er doch!" Aber es sind ja tatsächlich nur µs. verlängern auf 1s und dann schauen was passiert kann nicht schaden. Runtergehen kann man dann immer noch. Guter Tipp mit der Zeit :thumbs1:

  • Hier mein Messversuch bei 0,5 Sekunden Delay und einer Distanz von 5-50 cm (durchgehend die Distanz verändert!):

    MfG

  • Das Problem besteht immernoch. Ebenfalls mit dem Programm von dreamshader. Es wäre sehr nett, wenn das jemand vlt. bei sich nachbauen könnte, der über die benötigten Teile verfügt, denn ich komme einfach nicht weiter.

    MfG

  • Also das kommt mir schon etwas merkwürdig vor. Meine Beispielcodes sind zwar nur so dirty-hacks, aber so was ... noch dazu mit veränderten Programmen ebenfalls.
    Hmm ... hast Du noch einen zweiten Sensor?
    Oder nen Arduino zum Ausprobieren?
    Ich hab', wie gesagt, meine RPi leider immer noch verbaut und der Ultraschall-Sensor hängt an einem Arduino in einem IIC-Busverbund und funktioniert einwandfrei.
    Mal sehen ... vielleicht kann ich bei einem der RPi die Pins 16, 18 und 20 durch Umstecken freimachen. dann probier ich das mal aus ...
    Allerdings habe ich mittlerweile irgendwie den Verdacht, dass entweder die Messfläche nicht parallel zu den Ultraschallgebern ist oder der Sensor eine Macke hat ...
    cheers,
    -ds-

  • Nun, ich habe habe sogar 4 Module da und habe es mit allen probiert, ein Hardware-Fehler scheidet also aus. Des Weiteren habe ich das Signal einmal an einer Wand (etwas rau) und einmal an einer sehr glatten Oberfläche reflektieren lassen, macht leider keinen Unterschied, scheidet also auch aus.

    Ich denke, dass es ein Software-Fehler ist, aber ich komme nicht drauf, was es sein könnte.

    MfG

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!