Zeitmessung ASM für Messdatenauswertung auf Elektro Go Kart

Gast #153795
Lesenswert?

Für die Geschwindigkeitsmessung an einem Elektro-Go-Kart brauche ich
eine Zeitmessung. Ich verwende einen ATmega16 und programmiere in
Assembler. Die minimale Zeit zwischen 2 Impulsen beträgt 28mil_s  , die
maximale Zeit beträgt 2,9_Sekunden.

Ich möchte nun die Zeit zwischen den zwei Impulsen in ein Bestimmtes
Register setzen, um den Wert dann weiterverwenden zu können. (Km/h ,
Durchschnittsgeschwindigkeit, Gefahrene Stecke , ...)

Ich habe mich nun schon seit geraumer Zeit im Forum umgeschaut und
versucht, eine Lösung zu finden, aber ich hab es einfach nicht
geschafft!

mfg Gregor
Gast #153796
Lesenswert?

gehen wir mal davon aus, dass der impuls von einem radsensor kommt. ghen
wir weiterhin davon aus, dass das rad einen umpfang von 0,5m hat. daraus
folgt eine maximale geschwindigkeit von ca. 62km/h. die minimale zu
messende geschwindigkeit beträg 0,62km/h. so weit richtig? stellt sich
nun die frage ob man eine so niedrige geschwindigkeit überhaupt
anzeigen muß? egal, bei den von dir angegebenen werten wäre also die
minimale aktualisierungs bei niedrigsten geschwindigkeiten 2,9s. das
taucht wohl nicht ;-). um nei solch niedrigen geschwindigkeiten eine
brauchbare auflösung zu bekommen wäre 4, besser 6 impulse pro
radumdrehung geeigneter.

zur messung, der impuls des radsensor löst einen capture-interrupt aus.
in der interruproutine wird dann der aktuelle timerwert
zwischengespeichert. beim nächsten impuls erfolgt das gleiche, der
vorherige wert wird nun unter berücksichtigung des timerüberlauf vom
aktuellen abgezogen. schon hat man die zeitspanne zwischen beiden
impulsen. die bechnung der geschwindigkeit ist nun kein problem mehr.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren