Was misst eigentlich ein Fahrradcomputer, um die Geschwindigkeit des Fahrrads zu berechnen? Ist es die Zeit für eine Umdrehung $T$ oder ist es die Anzahl der Umdrehungen $n$ pro gegebener Zeit $t_0$?
Wenn der Radius des Rads $R$ ist, dann erhältst du die Geschwindigkeit des Fahrrads $v$ durch
$v = 2 \pi R /T$
im ersten Fall und durch
$v = 2\pi R n/t_0$ in der Sekunde.
Es mag wie ein winziger Unterschied erscheinen, aber ich interessiere mich wirklich für dieses Detail. Hoffe, jemand könnte dies klären und einige Referenzen geben.
Die Antwort ist "beides, je nachdem". Die meisten aktuellen Fahrrad-Cycometer verwenden einen Reed-Schalter und einen Zeitgeber und messen die Zeit zwischen aufeinanderfolgenden Auslösungen des Schalters, wenn ein Magnet vorbeigeht. Ein Vorteil dieser Methode ist ihre Einfachheit und ihre geringen Kosten. Wenn der Magnet jedoch schlecht positioniert oder die Drehzahl des Rads zu hoch ist, kann der Reedschalter getäuscht werden, da es eine Weile dauert, bis sich der Reedschalter selbst zurücksetzt .
Ein weniger verbreiteter Ansatz (der von der alten Avocet-Tachometerlinie verwendet wird, einschließlich des ehrwürdigen und verehrten Avocet 50) verwendete eine Induktionsspule und einen Magnetring mit 20 kleinen Magneten, die um die Nabe herum angebracht waren. Die Induktionsspule konnte die Stromänderung schnell zählen. Sie können die Details dieses Ansatzes in der Avocet-Patentanmeldung für den 50 sehen, aber sein Designer hat einige der Eigenheiten dieses Ansatzes in diesem Usenet-Beitrag von 1994 diskutiert .
Obwohl diese beiden unterschiedlichen Methoden verwendet werden können, um die zur Berechnung der Geschwindigkeit erforderlichen Daten zu sammeln, können sich die genauen verwendeten Algorithmen von Gerät zu Gerät unterscheiden. Man kann dies daran erkennen, dass die Trittfrequenz oft berechnet wird. Fast alle Fahrradcomputer, die einen Trittfrequenzsensor haben, verwenden einen Reed-Schalter, da die Drehzahl der Kurbeln niedrig genug ist, um Reed-Schalter zurückzusetzen. Verschiedene Hersteller verwenden jedoch unterschiedliche Mittelungszeiträume, Zeitüberschreitungen, Verzögerungen und auslösende Ereignisse, bevor das Ergebnis angezeigt wird. Geschwindigkeitsberechnungen funktionieren ähnlich, und man kann gelegentlich den Beweis für diese Entscheidungen sehen, indem man Geschwindigkeits- und Trittfrequenzdaten untersuchtB. von Fahrradcomputern, die diese Werte speichern und nach der Fahrt herunterladen lassen. Hier ist zum Beispiel eine Grafik, die die Geschwindigkeitsaufzeichnung von drei verschiedenen Geräten zeigt, die für dieselbe Fahrt am selben Fahrrad montiert waren (ein PowerTap, ein Polar S710 und ein SRM Pro – das sind Leistungsmesser, aber hier konzentrieren wir uns nur auf der aufgezeichneten Geschwindigkeit). Jedes Gerät wurde auf den gleichen Radumfang eingestellt, aber die Histogramme zeigen, dass jedes leicht unterschiedliche Geschwindigkeiten speichert und meldet.
Stellen Sie sich einen Cyclocomputer als eine festverdrahtete Kombination aus einem Taschenrechner, einer Quarzuhr und einer dedizierten CPU vor, die mit einem Puffer arbeitet.
BEARBEITEN ZU EINEM PLAUSIBLEREN ALGORITHMUS:
Jedes Mal, wenn der Magnet den Reedschalter schließt, wird eine Anfrage an die Uhr gesendet, um einen Zeitstempel zu erfassen, ein zeitgestempeltes Ereignis wird an einen Puffer gesendet und der Radumfang wird zur aktuellen Entfernung und zum Kilometerzähler hinzugefügt.
Jedes Mal, wenn die CPU die aktuelle Geschwindigkeit aktualisiert, nimmt sie das erste und das letzte mit einem Zeitstempel versehene Ereignis aus dem Puffer, berechnet die Distanz (Radumfang multipliziert mit der Anzahl der Ereignisse minus eins) und teilt sie durch die berechnete verstrichene Zeit (letzter Zeitstempel minus erster Zeitstempel im Puffer), Anzeige der Geschwindigkeit und Löschen des Puffers.
Neben den dauerhaft gespeicherten Variablen (aktuelle Entfernung, Höchstgeschwindigkeit usw.) arbeitet der Computer mit drei temporären Variablen: LAST_TIME, TEMP_TIME und TEMP_DISTANCE, die alle auf Null gesetzt sind. Die Funktion present_time(), die sich auf die Uhr bezieht, wird hier als Ressource abstrahiert, die auf Anfrage leicht verfügbar ist.
Jedes Mal, wenn der Reed-Schalter den Kontakt schließt, führt der Computer die folgenden Operationen aus:
TRIP_DISTANCE = TRIP_DISTANCE + WHEEL_CIRCUMFERENCE
if LAST_TIME is zero:
LAST_TIME = present_time()
else:
TEMP_TIME = TEMP_TIME + (present_time() - LAST_TIME)
LAST_TIME = present_time()
TEMP_DISTANCE = TEMP_DISTANCE + WHEEL_CIRCUMFERENCE
Jedes Mal, wenn der Computer den Bildschirm aktualisiert, führt er die folgenden Vorgänge aus:
CURRENT_SPEED = TEMP_DISTANCE / TEMP_TIME
TEMP_TIME = TEMP_DISTANCE = 0
AVERAGE_SPEED = TRIP_DISTANCE / TRIP_TIME
if CURRENT_SPEED > MAXIMUM_SPEED:
MAXIMUM_SPEED = CURRENT_SPEED
Abschließend jedes Mal, wenn die Auto-Stopp-Funktion aktiviert wird (wenn das Fahrrad steht):
LAST_TIME = 0
Alle diese Operationen sind nicht nur rechnerisch trivial, sondern auch nahezu in Echtzeit, da sie in der integrierten Schaltung hardwareimplementiert sind.
Es lohnt sich, zwei Dinge zu berücksichtigen:
Außerdem muss die Zeit zwischen den Umdrehungen gezählt werden, nicht die Anzahl der Umdrehungen während eines festen Zeitintervalls, da die Zeit ein kontinuierliches (Gleitkomma-)Maß und die Anzahl der Radumdrehungen ein diskretes (ganzzahliges) Maß ist. Wenn die zweite Option verwendet würde, würde die Geschwindigkeit immer auf den nächstmöglichen ganzzahligen Wert "gerundet", was außer bei sehr hohen Geschwindigkeiten zu falschen Ergebnissen führen würde.
Ein Fahrradcomputer misst die Anzahl der Umdrehungen und multipliziert sie mit dem Außenumfang von Rad und Reifen (oder einer engen Annäherung davon, je nachdem, wie es vom Benutzer eingerichtet wurde), um die für einen bestimmten Zeitraum gefahrene Strecke zu erhalten Zeit.
Es bleibt nur noch die Umrechnungsformel auf KMH oder MPH anzuwenden.
Anweisungen:
Messen Sie den Umfang des Rads in Millimetern, idealerweise mit der hier beschriebenen Rollout-Methode . Wandeln Sie das Millimetermaß des Rads in Zoll um, indem Sie es durch 25,4 dividieren. (25,4 mm = 1 Zoll) Teilen Sie durch 12, um den Umfang in Fuß zu erhalten.
Berechnen Sie die Radumdrehungen pro Meile, indem Sie 5.280 durch den Reifenumfang in Fuß teilen.
Berechnen Sie die Geschwindigkeit pro Minute, indem Sie die Radgeschwindigkeit durch die Reifenumdrehungen pro Meile teilen. Wenn beispielsweise die Radgeschwindigkeit 300 U/min beträgt, bewegt sich der Beispielreifen mit 0,446 Meilen pro Minute.
Multiplizieren Sie die Geschwindigkeit in Meilen pro Minute mit 60, um die Geschwindigkeit in Meilen pro Stunde (mph) umzurechnen.
Multiplizieren Sie mit 1,609344, um die Geschwindigkeit in km/h zu erhalten.
Beispiel:
In diesem Beispiel ist „350“ eine Variable, die der Fahrradcomputer mithilfe eines Magnetsensors zählt. Die meisten Fahrradcomputer aktualisieren die Berechnung zwischen einmal pro Sekunde und einmal alle 5 Sekunden.
Ich habe eingebettete Systeme entwickelt, um die Geschwindigkeit mehrmals zu messen. (Kein Fahrradcomputer, aber dasselbe für Lokomotiven.) Ihre Frage ist einfach zu beantworten.
"Ist es die Zeit für eine Umdrehung $T$ oder ist es die Anzahl der Umdrehungen $n$ pro gegebener Zeit $t_0$"
Sie haben zwei Variablen, Zeit und Anzahl der Umdrehungen. Ein Computer kann die Zeit sehr genau messen. Ein Computer kann Umdrehungen nicht annähernd so genau messen. (Es gibt nur nicht sehr viele davon, da sie langsam auftreten, sodass Sie in jedem festgelegten Zeitraum mit Teilumdrehungen umgehen müssen.) Basierend auf dem, was genauer gemessen werden kann, möchten Sie die Zeitdauer messen braucht, um eine Umdrehung zu machen. Sie können die Zeit ganz einfach auf die Mikrosekunde genau messen, von dem Moment an, in dem Ihr Sensor den Beginn einer Umdrehung erkennt, bis zum nächsten Auslösen desselben Sensors.
Beachten Sie auch, dass Fahrradcomputer extrem stromsparende Geräte sind. Sie erwarten, eine Knopfbatterie in einen zu stecken und ihn jahrelang laufen zu lassen. Je schneller die Softwareroutinen laufen, desto mehr Strom verbrauchen sie. Sie haben also eine schnelle Routine, die Zeit zu zählen. Die zweite Routine läuft nur, wenn sie ein Signal vom Radsensor sieht. Es greift den aktuellen Timerwert und speichert ihn. Eine langsamer laufende Hintergrundroutine nimmt diese Zeitintervalle und verwendet den Umfang, um eine Geschwindigkeit zu berechnen.
Die berechneten Geschwindigkeiten werden in einem Rollpuffer gespeichert, wo Sie einen digitalen Tiefpassfilter auf diese Geschwindigkeiten anwenden, um sie zu glätten. (Addieren Sie zum Beispiel die aktuelle Geschwindigkeit zur vorherigen Geschwindigkeit, teilen Sie sie durch 2, und das ist die angezeigte Geschwindigkeit. In der Praxis verwenden Sie einen komplizierteren Filter mit mehr Punkten.)
Die Radsensoren müssen schneller laufen können, als man vermuten würde. Meine Fahrradcomputer konnten schon immer Geschwindigkeiten über 40 km/h messen. Ich gehe davon aus, dass sie bis zu 60 km/h schnell werden können. Das heißt bei einem 700x25 Reifen kann der Radsensor 12 - 13 Umdrehungen pro Sekunde bei 60mph machen. Ich habe es auch seit einiger Zeit nicht mehr bewertet, aber Reed-Sensoren müssen viel teurer sein als Hall-Effekt-Sensoren. Reed-Sensoren verwenden teure Metalle (Silber oder Wismut oder ???) , können unzuverlässig sein, mögen kein schnelles Schalten und erzeugen elektronisches Rauschen.
Die Antwort auf Ihre Frage lautet also, Sie möchten die Zeit messen, die jede Umdrehung dauert , nicht die Anzahl der Umdrehungen in einem festgelegten Zeitraum.
Daniel R Hicks
Julia
Daniel R Hicks
Heltonbiker
Julia
Julia
Heltonbiker
Benutzer313
Ross Millikan