mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Geschwindigkeit Messfehler


Autor: Axel Preuss (funkydunky)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.