Hallo Zusammen Folgende Situation: Ich bin daran für meinen Sportverein eine Mehrkanalstoppuhr mit Computerverbindung zu bauen. Kurze Erklärung der Funktion: Ein Startsignal startet die Zeitnahme, jeweils ein eigener Schalter stoppt die Zeitnahme pro Bahn/Kanal und Überträgt die Daten an den Computer. Als Mikrocontroller verwende ich einen Atmega328p (bzw ein Arduino-Board, aber mit avr-gcc). Nun ist das Problem, dass der Start etwa 100m vom Ziel (und somit vom Controller/Board) entfernt ist. Ursprünglich wollte ich ein entsprechend langes Kabel verwenden (Per Optokoppler entstört). Da dies aber nicht ganz einfach ist zu Verlegen, nicht sonderlich praktisch ist und auch preislich die Kosten für beispielsweise ein paar xbee pro übersteigen, habe ich damit begonnen mich mit dem Gedanken der Funkübertragung auseinanderzusetzen. Es geht darum den Startimpuls möglichst unverzögert zu übertragen (Im Bereich von maximal 1-9 ms). Wenn möglich sollten zusätzlich noch wenige bit Daten für Status-LEDs übertragen werden können (nicht primär nötig). Macht das Sinn mit XBees? Die Angaben zu den Worst-Case Szenarien auf digi.com habe ich gefunden. Wie Wahrscheinlich ist nun, dass diese eintreten? Oder gibt es Möglichkeiten wie ich dem entgegenwirken kann? (Ich habe mir mal überlegt, dass man die Verzögerung zurückrechnen könnte, wenn man weiss, wie viele Retries stattgefunden haben. Ich habe in der Dokumentation aber keine Funktion dazu gefunden.) Eine Synchronisation via GPS-Signal (Auslesen der genauen Zeit), wie in einem anderen Thread vorgeschlagen möchte ich vermeiden (2 GPS-Module erscheinen mir preislich etwas übertrieben nur für die Bestimmung der Zeit; Plus die Abhängigkeit vom Empfang ist ein Problem (Indoornutzung soll möglich sein). Hat jemand Hinweise dazu wie ich die Latenzzeit minimieren kann? Oder ein anderes Modul, welches besser geeignet ist? (WLAN? ping kann ja auch die Laufzeit bestimmen) Danke im Voraus und Gruss Dave
Ich denke gerade du könntest mit einem OOK Sender einen Dauersendebetrieb starten. z.B. manchestercodiert. Dann sendest du ständig 1en. Wenn das Startsignal kommt sendest du dann eine Null. Alle Uhren laufen dann gleichzeitig bei der Null los und werden dann individuell je Bahn wieder am Ziel gestoppt. Gruss Klaus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.