PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschallsensor HC-SR04 Probleme ungenauigkeit



anfaenger201
03.08.2010, 14:35
Hallo, realisiere gerade eine Abstandsmessung mit einem HC-SR04 (nachbau von Devantech srf04?) der an einem Atmega32 hängt.
Der sensor hat einen Triggereingang und einen Echoausgang, die Entfernung berechnet man mithilfe der Laufzeit des Echosignals und der halben Schallgeschwindigkeit oder die Laufzeit in mikrosec. /58.
Der Quellcode ist in Bascom geschrieben und mithilfe vo pulsein pulseout steuere ich den Sensor an.
Es klappt auch ich bekomme werte vom Sensor zurück, soweit so gut.
Leider komme ich nicht auf die richtigen Abstände wenn ich die Signallaufzeit * 344M/s /2 nehme auch die Laufzeit /58 bringt keine Verbesserung, ich dachte es würde am Pulsein Signal liegen es wird ja in 10us ausgegeben, habe also diese Laufzeit also esrstmal *10 genommen, auch nichts.
Habe mir dan die Formel so umgestellt das ich bei einer Messunch von 20cm auf den richtigen Abstand komme, dachte ich sei schon am Ziel, die Werte sahen vielversprächend aus. Doch dann musste ich feststellen, dass sobbald ich Distanz von 20 auf z.B. 70cm verschiebe die Ergebnisse nicht mehr ganz richtig waren, eine Toleranz von 2-3cm hab ich immer oft auch mehr.
Ich habe versucht die Variablen zur Berechnung der Laufzeitz zu vergrößern, also die Laufzeit des Signals nicht nur *172 sodern mal *1000000... und dieses Ergebniss dann so zu teilen, dass ich auf die entsprechende Entfernung komme, habe den Sensor auch auf verschiedene Entfernungen kalibriert, keine verbesserung.
Ich könnte mir höchstens vorstellen das es an der Tacktfrequenz meines Mega32 liegt, er läft auf etwas über 14MHz, kann das denn soeine ungenauigkeit bedingen?
Habe auch versucht ihn auf 1MHz laufen zu lassen, half auch nichts.
Muss dazu sagen das ich mit Bascom und einem USBAVP arbeite, da das ja nicht direkt geht habe ich AVRDUDE bei Bascom benutzt um programmieren zu können.
Jetzt kann ich aber leider nichtmehr an die Fusebits ran um diese entsprechend der Frequenz zu ändern.
Danke für die Hilfe.

[/u]

Richard
03.08.2010, 17:40
Das Problem (kann) auch extern sein, die Schallgeschwindigkeit
in der "Luft" kennt keine festen Regeln, sie schwankt mit z.B. den
Luftdruck, Temperatur.........mm genau wird das nie!

Gruß Richard

anfaenger201
03.08.2010, 18:36
Hatte eigentlich schon miteiner genauigkeit von 1cm gerechnet.
Ich verstehe nur nicht wieso ich mit den Formeln zur Berechnung des Abstandes nicht mal annähernd an einen brauchbaren wert komme, da würde ich von 5cm abweichug treumen, sind aber mehrere Meter.

Richard
04.08.2010, 05:56
Hatte eigentlich schon miteiner genauigkeit von 1cm gerechnet.
Ich verstehe nur nicht wieso ich mit den Formeln zur Berechnung des Abstandes nicht mal annähernd an einen brauchbaren wert komme, da würde ich von 5cm abweichug treumen, sind aber mehrere Meter.

So ungenau? Dann sollte etwas anderes Schuld haben. Ich habe hier
einen SRF02 der recht sauber arbeitet, habe die Messungen aber noch
nicht genau nachgemessen. Allerdings kann der nur ab 15 cm bis ~6 m
Messen.

Gruß Richard

anfaenger201
04.08.2010, 14:06
Ja, wenn das mit dem jetzigen Sensor alles nicht Fruchtet, dann kaufe ich auch den SRF02.
Mir wurde gesagt ich solle einen Timer zur Messung verwenden, Bascom wäre zu langsam um kurze Signale zuverlässig und genau zu messen.
Leider habe ich noch garkeinen Plan von Timern.