Hallo meine lieben Freunde des gepflegten Kabelsalats,
heute mal ein Beitrag abseits von Haussteuerung und co., aber dennoch mit Raspberry Pi und Arduino. Und zwar möchte ich euch einmal zeigen, wie Ihr auf relativ einfach Weise Rundenzeiten von einzelnen Quadrocopter in einem FPV-Rennen messen könnt.

Wie einige von Euch sicherlich wissen, beschäftige ich mich in meiner Freizeit gerne mit RC-Modellbau und aktuell vor allem mit Quadrocoptern. Da wir auch öfter mal mit mehreren fliegen entstand so die Idee auch einmal Rennen zu veranstalten.
Ich wäre nicht ich, wenn ich dabei nicht nach einer Möglichkeit gesucht hätte, das auch direkt zu automatisieren. Und dafür habe ich auch wirklich eine relativ einfache Lösung gefunden, welche ich euch nicht vorenthalten möchte.

Arbeitsweise

Das Herzstück des Projekts ist der Raspberry Pi auf dem das System RotorHazard eingerichtet werden muss. An dem Pi werden je Kanal den man tracken möchte ein Arduino mit einem angeschlossenen 5.8GHz Empfänger über die I2C Schnittstelle verbunden. Der Pi zeichnet dann während des gesamten Rennens die Signalstärke jeder Drohne auf und speichert die Daten in einer Datenbank.
Anhand der gemessenen Signalstärke des jeweiligen Kanals werden dann die Rundenzeiten der einzelnen Piloten ermittelt. Die so ermittelten Rundenzeiten können selbst im Nachhinein noch neu justiert und somit korrigiert werden, falls der Sensor vor Start des Rennens nicht korrekt konfiguriert war.

Die Platine

Platine: Rundenzeiten von FPV-Rennen messen

Natürlich habe ich für das Projekt auch gleich eine Platine entworfen. Diese ist kein muss, macht den Aufbau des Projektes aber um einiges einfacher und sieht am Ende mMn. sauberer aus.
Die bestückte Platine wird einfach mit den I2C Pins sowie einem 5V- und GND-Pin des Raspberry Pi verbunden.
Am besten konfiguriert man die I2C Adressierung im Sketch der einzelnen Nodes. Wer aber lieber die Hardware-Seitige Konfiguration verwenden möchte kann dies über die vorgesehenen Jumper-Steckplätze unter den Arduinos erledigen. Die Jumper haben die Werte 1,2,4 und 8 wobei 8 noch nicht in der Software vorgesehen ist (aber ggf. noch kommt).
Diese werden auf addiert. Heist wenn Ihr Eurer Node die ID 5 geben wollt, setzt Ihr die Jumper bei 1 und 4 auf „Add“. Die Jumper bei 2 und 8 stehen dann auf „ignore“. Die IDs dürfen am I2C Bus nicht doppelt vorkommen!

Wie immer habe ich die PCB im Shared-Projects Bereich von PCBWay.com für Euch bereitgestellt. So könnt Ihr sie jeder Zeit schnell und einfach bestellen.
https://www.pcbway.com/project/shareproject/FPV_Laptime_Tracker.html



Das Gehäuse

3D-gedurcktes Gehäuse für Projekt: Rundenzeiten von FPV-Rennen messen

Gerade auf dem Feld kann man die Platine natürlich nicht frei herumliegen lassen. Also benötigt man hier auch noch ein Gehäuse, welches ich passend zur Platine direkt mit entworfen und auf Thingiverse für Euch hochgeladen habe.
Die STL-Dateien für den 3D Drucker findet Ihr unter folgendem Link:
https://www.thingiverse.com/thing:4922537


Software

Als Software habe ich bei diesem Projekt RotorHazard eingesetzt. Dabei handelt es sich um eine Software die auf dem Raspberry Pi arbeitet, alle Daten in einer Datenbank speichert, diese Daten auswertet und die Benutzeroberfläche als Webseite bereitstellt.

Das System bietet so ziemlich alles, was man benötigt um ein FPV Rennen durchzuführen. Neben dem tracken der Rundenzeiten bietet es viele weitere Funktionen rund um das Renn-Management von FPV-Rennen. Ihr könnt eure Piloten hinterlegen, die Piloten in Teams aufteilen oder einzeln antreten lassen. Des weiteren bietet das System viele frei konfigurierbare Arten von Renn-Modi. Ihr könnt Euer Rennen also genau an eure eigenen Bedürfnisse anpassen.

Sofern mehr Piloten als Sensoren am Rennen teilnehmen wollen, könnt Ihr diese in Heats mit der Maximal-Anzal entsprechend der Sensoren unterteilen. Diese gehen dann einzeln an den Start und die Rennergebnisse aller Heats werden im Anschluss gemeinsam ausgewertet und der Gesamtsieger ermittelt.

Weitere Informationen zum RotorHazard System findet Ihr im GitHub Repository:
https://github.com/RotorHazard/RotorHazard


Verwendete Bauteile

In der folgenden Liste findet Ihr noch einmal die wichtigsten im Projekt verwendeten Bauteile, falls Ihr das System nachbauen möchtet.

ProduktnamePreis
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)

Benötigte Stückzahlen:
1x Raspberry Pi 3
3x Arduino Nano
3x 5.8GHz Empfänger (RX5808)
3x Kühlkörper
2x Lüfter 40x40x10
1x USB-Gehäusebuchse
1x Wärmeleitkleber
9x 1k Widerstand
3x 100k Widerstand
1x Din-Buchse
1x Din-Stecker
1x WS2812B LED Stripe
einige Buchsenleisten/Headerpins


Video zum Projekt „Rundenzeiten von FPV-Rennen messen“

Dieses Video ansehen auf YouTube.
Durch starten des Videos stellen Sie eine Verbindung zu YouTube her. Die Datenschutzerklärung von YouTube finden Sie hier: https://www.youtube.com/static?gl=DE&template=terms&hl=de. Weitere Informationen zum Thema Datenschutz bei Google/YouTube finden Sie hier: https://policies.google.com/privacy?hl=de&gl=de
https://www.youtube.com/watch?v=ERcwVIFYOqw


Sollten trotz des Tutorials noch Fragen zum Projekt „Rundenzeiten von FPV-Rennen messen“ aufkommen, schaut einfach auf unserem Discord vorbei. Dort kann euch sicher bei eurem Problem geholfen werden!
https://smarthomeyourself.de/discord

Ich wünsche euch viel Spaß beim nachbasteln und sag einfach bis zum nächsten Video.
Tschau

Euer Daniel


Bei Links auf Amazon-, Bangood-, PCBWay- und Ebay-Artikel handelt es sich um Affiliate-Links. In diesen Links wird meine jeweilige Partner-Id mit übergeben, wodurch ich eine kleine Provision für eure Käufe erhalte. Ihr zahlt natürlich das gleiche wie sonst auch.
Ich würde mich freuen, wenn Ihr bei eurer Bestellung die Links verwendet und mich so einfach und für euch kostenlos unterstützt, um weiterhin neue Projekte mit euch teilen zu können.

Vielen Dank für euer Verständnis und eure Unterstützung!


Rundenzeiten von FPV-Rennen messen mit Raspberry Pi und Arduino

Beitragsnavigation