Time-of-flight Anzeige für meine Trampolinturnerin


-----
 

Ausgangssituation

Meine Tochter springt seit einiger Zeit Trampolin im Verein.  

[Bild(47.4k)]

Wie sowas bei Profis aussehen kann zeigt ein willkürlich aus dem Netz gefischtes Youtube-Video.
Auf Wettkämpfen wird seit 2010 nun nicht nur die Ausführung der Sprünge bewertet, sondern auch die Sprunghöhe. Da man die Höhe aber nicht so leicht bestimmen kann, wird einfach die Flugzeit (Time-of-flight) gemessen, also die Zeit vom verlassen des Tuches bis zum wieder auftreffen. War man länger unterwegs, muss man ja auch höher gesprungen sein.  

  Dafür gibt es tolle Meßanlagen. Die sind leider sehr teuer und auch recht aufwändig in der Installation. Ich habe ein Gerät gesehen das auf jeder Seite des Trampolins drei Kästen mit Lichtschranken hat. Die 6 Kästen müssen vor dem Training montiert, untereinander verkabelt und mit der Anzeige verbunden werden.  

  Das Prinzip dahinter ist, dass unter dem Trampolin Lichstrahlen von einer Seite zur anderen gesendet werden, die der Springer unterbricht sobald er das Tuch durchdrückt. Also ist die Flugzeit die Zeit, in der alle Lichtstrahlen nicht unterbrochen sind.  

  Für einen Wettkampf ist der Aufwand wohl gerechtfertigt, für normales Training aber übertrieben. Da reicht es, wenn man seine Leistung halbwegs genau einschätzen kann und Fortschritte erkennt.  

   

Meine Lösung

 

  Mit modernen Bauteilen läßt sich so ein Meßgerät deutlich benutzerfreundlicher gestalten und muss auch nicht viel kosten. Ich habe mich auf einen einzelnen Lichtstrahl beschränkt, der längs in der Tuchmitte platziert wird.
Den Sender (pink) und Empfänger (weiß) habe ich in simplen Holzkästchen untergebracht. Die Elektronik braucht so wenig Strom, dass ein Satz Batterien wochenlang hält.  

  Die Montage ist genial einfach:
Die Kästchen werden einfach mit starken Magnetschnappern unter dem Trampolintisch gehalten.  

[Bild(34.1k)] [Bild(36.8k)]

Zum Ausrichten hat der Empfänger eine Kontroll-Led. Die leuchtet grün, wenn der Empfänger Licht des Senders sieht, sonst rot.  

[Bild(10.3k)] [Bild(12.0k)]

Der Sender hat auch eine Kontroll-Led. Die blinkt sobald der Sender eingeschaltet ist. Grün: Batterie in Ordnung, Rot: Batterie wechseln.  

  So sieht das am Trampolintisch montiert aus:  

[Bild(37.6k)] [Bild(45.2k)] [Bild(68.8k)]

 

  Als Anzeige dient ein Tablet-PC mit Android-Betriebssystem, auf dem eine selbstgestrickte App zur Anzeige der Sprungzeiten und Punkte läuft. Die Daten werden vom Empfänger mittels Bluetooth zum Tablett übertragen. Man kann damit bis ca. 10m vom Trampolin entfernt sein.
Wie man sieht braucht das ganze System keine Kabel, ist schnell montiert und auch wieder abgebaut und kann in einer Handtasche tranportiert werden. Allerdings muß man mit den Magneten aufpassen. Ist auch eine Geldbörse in der Tasche, löschen sie die Magnetstreifen von EC-Karte und Co.  

  Hier ein paar leider recht unscharfe Fotos aus der Turnhalle:  

[Bild(39.9k)]

Roter Hintergrund während die Aufnahme von 10 Sprüngen läuft:  

[Bild(31.7k)]

Schwarzer Hintergrund wenn 10 Sprünge voll (oder abgebrochen wurde).  

[Bild(59.4k)]

Die Buttons unten: Links Abbruch, rechts Neue Aufnahme .  

  Der gelbe Balken oben zeigt den Batteriestatus des Empfängers (den Sender muss man am Kästchen selbst kontrollieren) und darunter in blau die Zeiten der letzten 4 Sprünge.  

  Um die gewerteten 10 Sprünge aufzuzeichnen muss man nur während des ersten gewerteten Sprunges auf neue Aufnahme tippen. Der Rest passiert dann von allein. Bricht der Springer ab, drückt man Abbruch.  

  Das System ist kinderleicht zu bedienen, schnell montiert und man braucht überhaupt keine Kabel zu verlegen. Auch die Ausrichtung ist recht einfach.
Die Genauigkeit ist mit ca. 1/1000s Auflösung völlig ausreichend. Allerdings gab es gelegentlich Fehlmessungen die sich so erklären lassen: So ein modernes Sprungtuch ist ja eher ein Netz.  

[Bild(29.1k)]

Das Bild zeigt ein 4/6er Tuch (4mm breite Längsstreifen, 6mm Querstreifen). Im Verein turnen sie inzwischen auf einem 4/4er Tuch das noch durchlässiger ist. Bei den groben Maschen kann das Licht manchmal durchscheinen obwohl jemand im Tuch ist. Die Software im Empfänger versucht zwar, solche Fehlpulse rauszufiltern, besser ist es jedoch die Kästchen so anzusetzen, dass sich vor der Sendediode und dem Empfängerloch eine Sprungfeder befindet, die beim durchbiegen den Lichtstrahl unterbricht.  

  Ungenau oder manchmal auch unmöglich wird die Messung, wenn deutlich außerhalb der Mittellinie gelandet wird. Dann wird die Lichtschranke später oder gar nicht unterbrochen. Deshalb haben kommerzielle Systeme ja auch 3 Lichtschranken.  

  Meine Tochter hat mir berichtet, dass es gelegentlich vorkommt, dass jemand eine kräftige Bruchlandung auf dem Trampolintisch hinlegt und dadurch der Empfänger runterfällt. Man muss ihn dann aufschrauben und die Batterien wieder richtig reindrücken. Bisher hat die Kiste dannach immer wieder funktioniert. Aber das kann ja Glück gewesen sein.
Ich werde also wohl noch einen zusätzlichen Magneten auf der Schalterseite anbringen und auch über eine kurze Fangleine nachdenken damit das Kästchen bei einem Absturz nicht auf den Boden fällt.  

   

Funktionsweise

 

  Statt eine komplizierte Lichtschranke zu entwickeln habe ich einfach einen Infrarotempfänger aus einem Fernseher und eine Infrarot-Sendediode mißbraucht. Mit einer Fernbedienung kann man ja vom Sofa aus den Fernseher steuern. Das funktioniert in jedem Wohnzimmer zuverlässig über viele Meter und man muß nicht mal genau auf den Fernseher zielen.
So ein Empfänger kostet nicht mal einen Euro und enthält tolle Elektronik. Er ist sehr empfindlich für das Infrarotlicht und regelt die Empfindlichkeit je nach Stärke des Lichtes selber. Auch einen Tageslichfilter hat er bereits eingebaut. Am Ausgang liefert er die von der Fernbedienung gesendeten Signale schön gefiltert als Digitalsignal.  

  Mein Sender sendet nun dauernd bestimmte Pulsmuster, die der Empfänger als Fernbedienungspulse erkennt. Das macht er 1357 mal pro Sekunde.
Ein Microcontroller im Empfängerkästchen prüft nun, ob diese Pulse ausbleiben. Liefert der Infrarotempfänger keinen Puls, ist die Lichtschranke unterbrochen. Der Controller mißt nun die Zeit in der der Lichtstrahl nicht unterbrochen ist und merkt sich die letzten 4 Zeiten in einer Liste. Die Liste wird nach jedem Sprung, spätestens aber nach 2 Sekunden via Bluetooth rausgefunkt.  

  Das Tablett wertet die Liste aus und zeigt sie an. Wenn mal eine Übertragung schief geht ist das nicht schlimm, da ja immer die Daten der letzten 4 Sprünge übertragen werden.  

   

Innenleben

 

  Hier das Innenleben des Senders:  

[Bild(61.2k)]

Links die Batterie, oben neben dem Ein-Schalter die Betriebsanzeige-Led. Die blitzt grün wenn der Kasten eingeschaltet ist und die Batterie noch genügend Saft hat. Ist die Batterie zu schwach, blitzt es rot. Dann hat man aber noch ein paar Stunden.
Der schwarze 3-Beiner ist ein 5V Spannungsregler, der 8-Beiner der Mikroprozessor zur Ansteuerung der Sende-Led (unten). Zusätzlich ist ein Elko drin damit auch bei fast leerer Batterie noch kräftige Sendepulse erzeugt werden können. Auf der Rückseite sind noch zwei 100nF SMD-Kondensatoren am Spannungsregler und der Vorwiderstand zur LED.  

  Im Empfänger ist etwas mehr los:  

[Bild(53.0k)] [Bild(59.8k)] [Bild(70.2k)]

Das schwarze Rechteck mit der länglichen Beule ist der Infrarotempfänger. Daneben der Microcontroller und davor der Quarz für eine präzise Zeitbestimmung.  

  Das Bluetooth-Modul sieht so aus:  

[Bild(67.4k)]

Da das mit 3,3V läuft habe ich die ganze Schaltung auf 3,3V ausgelegt. Der Spannungsregler dafür ist so'n kleiner Fliegendreck, den man mit etwas Geschick so auf Lochraster legen kann, dass sich genau die richtigen Verbindungen zwischen den Anschlüssen ergeben:  

[Bild(34.3k)] [Bild(29.7k)] [Bild(88.0k)]

 

   

   

Technische Details

 

  Sendediode LD271, Empfänger Vishay TSOP31238 . Class2-Bluetoothmodul von Sure Electronics Inc. (billigere tun's aber auch).
Der Empfänger braucht 6-8 Pulse zum einschwingen und mind. 12 Pulse Pause. Der Sendekasten sendet daher Bursts von 12 Pulsen mit 38KHz. Dazwischen 16 Pulse Pause. Nicht wundern dass der Quellcode Sender36KHz.c heißt - das Ding arbeitet mit 38KHz. Ich habe aber keine Lust, die Dateien des Projektes deshalb alle umzubenennen.  

  Als Tablet-PC kam ein Nexus7 zum Einsatz. Die App darauf basiert auf einem Bluetooth-Chat-Programm das ich irgendwo im Netz gefunden und für meine Zwecke umgebaut habe. Man erkennt das noch an den Dateinamen.  

  Die App läuft auch auf einem Android-Handy. Leider habe ich es bisher nicht hinbekommen, dass sich die App selber an die Bildschirmgröße anpasst. Man braucht daher im Moment für jede Bildschirmgröße eine eigene App. In der Software zum runterladen befindet sich momentan der Code passend für ein Handy mit WXGA-Auflösung, bei dem man aber die Punkteliste leider scrollen muss.  

   

 
-----
Die Software von Sender, Empfänger und App zum runterladen: 132tof.zip
Beschreibung des Bluetoothmoduls: bluetoothmodul.pdf
-----
Schaltpläne habe ich nicht. Im Quellcode von Sender und Empfänger ist aber die Anschlussbelegung des Prozessors erklärt. Der Rest ist recht trivial.  

Kommentieren
     
Startseite

Best view: use a W3C compatible HTML-browser.

Curious view: use an Editor!

Valid HTML 4.01! CSS ist valide!