Forum: Mikrocontroller und Digitale Elektronik Reaktionszeitmessung Leichtathletikstart


von Chris (Gast)


Lesenswert?

Hey Leute
Ich will folgendes realisieren:
Ein Reaktionszeitmessung eines Startenden Athletens.
Es wird eine Komplette startsequenz ablaufen ( lautsprecher + 
soundchip).
Ich will mit hilfe eines ATMega16 die reaktionszeit seit dem schuss und 
dem abdrückens des Athletens vom startblock messen. Abdrücken wird durch 
einen Drucksensor realisiert. Mein problem ist folgendes die 
zeitauflösung solte möglichst tausendstel oder genauer sein. wenn ich 
nur 1 athletenmessen wollte wäre es keinproblem aber ich will 2 paralell 
messen ( meines wissens hat der ATmega16 aber nur 2 interrupts...)

hat irgendjemand eine idee wie ich das realisieren könnte?

Entwicklungsumgebeung:
avrstudio 4.xxx
Programierstprache:
Bascom


Reaktionsmesser Lastenheft:
-  2 Zeiten messen
-  komplette Startsequenz (bereitsgeplant)
-  Ausgabe auf einem Display
-  Gehäuse mit Akku + Ladeschaltung (bereitsgeplant)
-  Bestzeiten Speicherung (bereitsgeplant)
-  Messung auf Tausendstel
-  Einstellungsmöglichkeit der Empfindlichkeit (bereitsgeplant)


Würde mich freun wenn ihr helfen könntet und hoffe ich habs einigermasen 
hinbekommen zu erklären was ich gerne machen würde.
hier oder unter :   icq:310701744 bzw chris7474@gmail.com könnt ihr mich 
erreichen danke ;)

von lkmiller (Gast)


Lesenswert?

1 ms, da brauchst du für den Start-Stop keinen Interrupt, das ist ja 
unglaublich langsam. Mit 16MHz kann der uC (grob über den Daumen) 16000 
Befehle pro ms ausführen, das dürfte reichen.

Idee:
Interrupt { // 1 ms
zählt einen ms-Zähler (long TimeAkt) hoch.
}

Hauptschleife {
sieht nach ob Start ausgegeben ist,
Zeitstempel abspeichern (Start[athlet]=TimeAkt)

sieht nach, ob Drucksensor von athlet anspricht,
Zeitstempel abspeichern (Gestartet[ahtlet]=TimeAkt)

berechnet Startdauer[athlet]=Gestartet[ahtlet]-Start[athlet])

wenn fertig: gibt das Zeug auf dem Display aus
}

Dazu braucht es also nur 1 Timer-Interrupt, der Rest geht per Polling.

Und prinzipiell auch noch wesentlich schneller als 1 ms.

von Hans J. (hjm)


Lesenswert?

Hallo Chris,

das sollte auch ohne Interrupt gehen. Tausendstel Auflösung entspricht 
1ms.

Wenn Du einen ATmega mit 8MHz laufen läßt kann dieser fast 8000 Befehle 
in dieser Millisekunde verarbeiten.

Kritischer sehe ich da den Punkt der Genauigkeit. Standard Quarze haben 
eine recht hohe Streuung, sowie Temperaturdrift.
Um dies genau hinzubekommen ist schon einiges an Aufwand notwendig 
(Quarzofen, o.ä. ).

Ansonsten sollte der Rest kein Problem dartstellen, da der gesamte 
Vorgang sequentiell geschieht.

Grüße
Hans-Josef

von Chris (Gast)


Lesenswert?

Super schnelle antwort!
Ja das mit den 8000 befehlen ist mir bekannt ich muss aber dann trozdem 
ienen interrupt für das hochzählen des Zählers mitnutzen?

Das problem mit den quarzen is mit bekannt wobei ich auch die 
möklichkeit hätte an einen Temperaturgeregelten "ultra" genauen quarz zu 
kommen ;)

also ohneweiteres ohne interrupts möglich?

ganz normale if abfrage zur stop auslösung?

Gruß

von Chris (Gast)


Lesenswert?

Auch dir danke  lkmiller ( hab deinen post erst danach gesehn ).

Also wenn das ohne weiterres rennt ;)

Bedanke mich bei euch super tolles forum.

Gruß

von lkmiller (Gast)


Lesenswert?

>Kritischer sehe ich da den Punkt der Genauigkeit. Standard Quarze haben
>eine recht hohe Streuung, sowie Temperaturdrift.
Sehe ich jetzt gar nicht so kritisch.

Wenn ein Standard Quarzoszillator verwendet wird,
habe ich einen Fehler von 50ppm. Also 0,05 Promille.
Pro 20 Sekunden wird dann maximal ein Fehler von 1 ms auftreten.
Das sollte doch hinnehmbar sein?

Zudem betrifft dieser Fehler alle startenden Athleten
(wie z.B. auch Gegenwind und bucklige Bahn),
da soll dann bloß keiner jammern.

von Chris (Gast)


Lesenswert?

hehe ich selbst binn elektronik azubi werde sicher einen geheizeten 
quarz findne ^^auserdem faktoren wie gegenwind und unebende bahn silnd 
bei meiner messung nicht berücksichtigt. ( wird rein nur die 
reaktionszeit gemessen)
und wie schon gesagt wurde es sinnd dann alle vom gleichen betroffen ^^



danke leute ;) werde mich mal melden wenns geklappt hat und ggf bilder 
so wie quellcoede uppen ;) falls jemand interresiert

Gruß

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.