Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: nochmal Geschwindigkeitsmessung Kategorie: Programmierung Basic (von Dietmar, Homepage - 19.01.2005 1:57)
 Als Antwort auf nochmal Geschwindigkeitsmessung von michael - 17.01.2005 21:45

Hallo Michael,

bist Du zwischenzeitlich schon weitergekommen mit Deiner Umrechnerei?

Am grundlegensten gehst Du an das Problem heran, indem Du annimmst, im Counter steht nach einer erfolgreichen Messung der Wert 1. In diesem Fall hat der Wagen 0,24 ms für 8 Meter benötigt. Das ist eine sehr hohe Geschwindigkeit, deshalb nehmen wir besser an, im Counter stände der Wert 1000. Dann wurden 0,24 Sekunden für den Weg benötigt. Die Geschwindigkeit in Meter pro Sekunde beträgt somit:

v = 8 [m] / 0,24 [s] = 33,3 [m/s]

Nun noch Sekunde in Stunde umrechnen:

1 [s] = 1/(60*60) [h] = 1/3600 [h]

Und noch Meter in Kilometer:

1 [m] = 1/1000 [km]

Und einsetzen in unser bisheriges Ergebnis:

v = 33,3 * 3600/1000 [km/h] = 33,3 * 3,6 [km/h] = 120 [km/h]

Der Rest ist nur noch Dreisatz. Angenommen, im Counter steht der Wert 1, dann ist die Geschwindigkeit logischerweise um den Faktor 1000 größer. Um nun für jeden beliebigen Counter-Wert die Geschwindigkeit auszurechnen benutzt Du:

v = 120.000/Counter [km/h]

Leider kann die C-Control nur Zahlen bis 32767 verarbeiten. Aus diesem Grund müssen wir den Zähler und Nenner des Bruchs wohl oder übel passend skalieren. Dadurch entstehen Ungenauigkeiten, da Nachkommastellen abgeschnitten werden. Die skalierten 120000 sollten möglichst viele der 16 zur Berechnung verwendeten Bits belegen, deshalb teilen wir einfach durch 4. Das Teilen durch 4 läßt sich durch ein Rechtsshiften realisieren.

v = 30.000/(Counter shr 2) [km/h]

Wenn ich mich nicht irgendwo vertan habe, dürfte dies das Ergebnis sein. Um Nachkommastellen auszuwerten, kann mit Hilfe des MOD-Operators der Rest der Ganzzahldivision ermittelt werden. Dann den Rest mal 10 durch den Nenner ergibt jeweils eine Nachkommastelle.

Gruß,
Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: nochmal Geschwindigkeitsmessung (von michael - 19.01.2005 9:36)