Hallo Leute,

Habe mir einen Ultraschallabstandssensor nach diesem Schaltplan gebaut. Sender und Empfänger funktionieren soweit auch ganz gut.

Probleme hab ich, dass er bei der Entfernungsmessung Probleme beim Auswerten der Signallaufzeit hab. Mein Code sieht derzeit so aus:

Code:
Config Timer1 = Timer , Prescale = 256


Config Timer0 = Timer , Prescale = 1
On Timer0 Stop_us


Config Adc = Single , Prescaler = Auto



Start Adc

 Enable Timer1
 Enable Timer0



Enable Interrupts

While Timer1 < 1000
Empf_wert = Getadc(0)
   If Empf_wert > Ewert_max And Timer1 > 70 Then
   Counter_dist = Timer1
   Ewert_max = Empf_wert
   End If

Wend



If Ewert_max < 500 Then
Print "kein Hindernis"
Else                                                        
Dist = Counter_dist * 0.000032
Dist = Dist * 343
Dist = Dist / 2

End If

Print Dist
Das Prinzip Hinter der Messung soll sein, dass der Zeitpunkt des stärksten Echos Festgehalten wird, welches doch die Signallaufzeit darstellen müsste.
Leider kommen bei den Messungen realtiv willkürliche Ergebnisse raus. (Meistens im Bereich von 60cm, egal wie weit er vor dem Hindernis, einer Wand, steht) Was mach ich falsch/hab ich nicht beachtet?

mfg
Alex