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...
> 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)
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.
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"
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.