Forum: Mikrocontroller und Digitale Elektronik Zeitmessung ASM für Messdatenauswertung auf Elektro Go Kart


von gregor_v (Gast)


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

von tenner (Gast)


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.

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
Noch kein Account? Hier anmelden.