Forum: Mikrocontroller und Digitale Elektronik Geschwindigkeit Messfehler


von Axel P. (funkydunky)


Lesenswert?

Hi,

ich habe einen Radsensor der mir pro Radumrehung einen Impuls liefert. 
Um die Geschwindigkeit zu messen, kann man ja entweder die Zeit zwischen 
zwei Interrupts messen, oder man zählt bei jedem Interrupt einen Zähler 
hoch, und wertet diesen dann nach einer gewissen Zeit aus und setzt den 
Interuptzähler wieder auf 0.

Ich habe mich für zweiteres entschieden, da so Sachen wie 
Tageskilometerzähler etc leicht abfallen.

Nun aber folgendes: Mein Rad  hat einen Umfang von 1m, so das ich pro 
Interrupt Impuls 1m zurückgelegt habe.
Ich habe zu Anfang alle 200ms (5Hz) die Gewschwindigkeit berechnet nach 
der

Formel:  Geschw.[m/s] = AusgelösteInterupts * 5
=>  Geschw. [km/h] = Geschw.[m/s] * 3,6

Fasse ich nun alles in einer Rechnung zusammen lautet die Formel
Geschw. [km/h] = Ausgelöste Interupts * 18

Im Endeffekt bedeutet das ja nun aber das meine Auflösung nur 18km/h !!! 
beträgt. Kleinere Differnezen kann ich nicht anzeigen da 
"AusgelösteInterupts " ja ganzzahlig ist.

Ich habe dann die Berechnung nur einmal pro Sekunde vorgenommen, was auf
Geschw. [km/h] = Ausgelöste Interupts * 3,6    hinausläuft, und mein 
Fehler somit maximal 3,6km/h groß ist.(Könnte ich mit Leben)
Da die Geschwindigkeit aber noch auf einer Art Tachonadel auf einem  LCD 
angezeigt werden soll, ist es irgendwie bischen doof wenn das nur 1mal 
pro Sekunde aktualisiert wird.

Kann ich die Auflösung irgendwie erhöhen wenn ich mit 5Hz messe? Oder 
muss ich dafür unbedingt die Zeit zwischen zwei Interruptauslösungen 
messen.

Ich hoffe es hat jemand verstanden worin das Problem besteht...

von Karl H. (kbuchegg)


Lesenswert?

> Kann ich die Auflösung irgendwie erhöhen

Wie wäre es mit 2 oder 4 Radsensoren?

> Ich hoffe es hat jemand verstanden worin das Problem besteht...

Ich finde du hast dein Problem gut und nachvollziehbar
geschildert. Auch zeigt dein Posting, dass du dir Gedanken
zum Thema gemacht hast und auch die Mathe dahinter verstanden
hast.
Wenn nur mehr Postings nach diesem Muster gestrickt wären :-)

(Das musste jetzt auch mal gesagt werden)

von HildeK (Gast)


Lesenswert?

Nur so eine (schnelle) Idee:
könnte man nicht z.B. einen 10kHz-Takt laufen lassen und die Zahl der 
Impulse  zwischen zwei Signalen des Sensors zählen. Es wäre allerdings 
eine Division zur Auswertung nötig.
Nicht die Entfernung messen pro Sekunde sondern die Zeit pro Meter.

von Matthias L. (Gast)


Lesenswert?

Da die Formel für die Berechnung der Geschwindigkeit Weg durch Zeit ist, 
und dein Weg bekannt ist, liegt das Problem hier:

>ich habe einen Radsensor der mir pro Radumrehung einen Impuls liefert.

Du musst also immer eine komplette Umdrehung abwarten bis du die 
(mittlere) Zeit dafür hast. Und öfters zu rechnen macht keinen Sinn, da 
du ja keine neuen Werte für t hast.
Das Problem ist also: Wie schnell bekomme ich neue Messwerte...

=> wie  Karl heinz sagte:
>>Wie wäre es mit 2 oder 4 Radsensoren?

Auch die Lösung von HildeK bringt nichts:
Das erhöht nur die Auflösung, nicht aber "Abtastrate"

von Toni (Gast)


Lesenswert?

Mehrere Sensoren zu verwenden würde ich auch als erstes vorschlagen.

Du kannst auch den Sensor an den Interrupt anschließen und dann die Zeit 
zwischen 2 Interrupts messen und zusätzlich noch ein strecke++; in die 
ISR einsetzen. Dann kannst du die Geschwindigkeit einmal (oder mit x 
Sensoren x mal) pro Umdrehung berechnen und bekommst trotzdem noch die 
Tageskilometer gezählt. Bei niedrigen Frequenzen ist der Fehler bei 
einer Periodendauermessung geringer.

Welche Art von Sensor hast du verbaut. Reed-Sensoren können auch 
prellen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.