RC Flugdatenschreiber/Black Box - Gunook
RC Flugdatenschreiber/Black Box - Gunook
Anonim
RC Flugdatenschreiber/Black Box
RC Flugdatenschreiber/Black Box

In diesem anweisbaren werde ich einen Arduino-basierten Kampfdatenrekorder für RC-Fahrzeuge, insbesondere RC-Flugzeuge, bauen. Ich werde ein Ublox Neo 6m GPS-Modul verwenden, das mit einem Arduino Pro Mini und einem SD-Kartenschild verbunden ist, um die Daten aufzuzeichnen. Dieses Projekt wird unter anderem Breitengrad, Längengrad, Geschwindigkeit, Höhe und Batteriespannung aufzeichnen. Diese Daten werden für ein besseres Seherlebnis mit Google Earth Pro angereichert.

Schritt 1: Werkzeuge und Teile

Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile
Werkzeuge und Teile

Teile

  • Ublox NEO 6m GPS-Modul: ebay/amazon
  • Micro-SD-Kartenmodul: ebay/amazon
  • Micro-SD-Karte (hohe Geschwindigkeit oder Kapazität nicht erforderlich): Amazon
  • Arduino pro mini: ebay/amazon
  • FTDI-Programmierer und entsprechendes Kabel: ebay/amazon
  • Perfboard: ebay/amazon
  • Anschlusskabel: ebay/amazon
  • Header-Pins: ebay/amazon
  • Gleichrichterdiode: ebay/amazon
  • 2x 1K Ohm Widerstand: ebay/amazon
  • 1500 Mikron Karton

Werkzeuge

  • Lötkolben und Lot
  • Heißklebepistole
  • Laptop oder Computer
  • Multimeter (nicht unbedingt notwendig, aber unglaublich hilfreich)
  • Helfende Hände (wieder nicht notwendig, aber hilfreich)
  • Cuttermesser

Optional

  • Elemente, die für das Prototyping verwendet werden, nicht notwendig, aber sehr hilfreich
  • Steckbrett
  • Arduino Uno
  • Überbrückungsdrähte

Schritt 2: Theorie und Schema

Theorie und Schema
Theorie und Schema

Das Gehirn des Geräts ist das Arduino Pro Mini, es wird von den RC-Fahrzeugen (in meinem Fall einem Flugzeug) Li-Po-Akku-Balance-Port mit Strom versorgt. Ich habe dieses Set für eine 2s-Batterie eingerichtet, aber dies kann leicht geändert werden, um andere Batteriegrößen aufzunehmen.

Dies ist Stück ist nicht vollständig Ich werde dieses instructable aktualisieren, wenn das Lesen der Bedienoberfläche abgeschlossen ist

Servo1 wird mein Flugzeug-Elevon-Motor sein, während Servo 2 mein Flugregler-Servoausgang ist

Das GPS-Modul empfängt Daten von den GPS-Satelliten in Form von NMEA-Strings. Diese Zeichenfolgen enthalten Standortinformationen, aber auch die genaue Zeit, Geschwindigkeit, Richtung, Höhe und viele andere nützliche Daten. Sobald ein String empfangen wurde, werden die für dieses Projekt nützlichen Informationen mithilfe der TinyGPS-Codebibliothek extrahiert.

Diese Daten werden zusammen mit der Batteriespannung und der Höhenruderposition mit einer Geschwindigkeit von 1 Hz auf die SD-Karte geschrieben. Diese Daten werden im CSV-Format (comma-separated value) geschrieben und mit Google Maps interpretiert, um einen Flugweg zu zeichnen.

Schritt 3: Prototyping

Prototyp entwickeln
Prototyp entwickeln
Prototyp entwickeln
Prototyp entwickeln

HINWEIS: Die Anschlüsse des GPS-Moduls sind oben nicht dargestellt. GPS ist wie folgt verkabelt:

GND zu Arduino-Masse

VCC zu Arduino 5V

RX zu Arduino digitaler Pin 3

TX zu Arduino digitaler Pin 2

Um zu testen, ob alle Komponenten richtig funktionieren, legen Sie am besten zunächst alles auf ein Steckbrett, da Sie nicht erst nach dem Zusammenbau feststellen möchten, dass Sie ein defektes Teil haben. Die zusätzliche Codebibliothek, die benötigt wird, ist die TinyGPS-Bibliothek, den Link finden Sie unten.

winziges GPS

Der untenstehende Spannungsprüfercode testet nur den Spannungsmesskreis. Der Einstellwert muss geändert werden, damit das Arduino die richtige Spannung liest.

Der Dateicode wird verwendet, um das SD-Kartenmodul und die Micro-SD-Karte zu testen, um sicherzustellen, dass beide richtig gelesen und geschrieben werden.

Der gpsTest-Code wird verwendet, um sicherzustellen, dass das GPS die richtigen Daten empfängt und richtig konfiguriert ist. Dieser Code gibt Ihren Breitengrad, Längengrad und andere Live-Daten aus.

Wenn alle diese Teile richtig zusammenarbeiten, können Sie mit dem nächsten Schritt fortfahren.

Schritt 4: Löten und Verdrahtung

Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten

Legen Sie vor dem Löten oder Verdrahten alle Ihre Komponenten auf ein Stück Pappe und schneiden Sie es auf die Außenmaße der Komponenten zu. Dies wird Ihre Montageplatte für alle Ihre Teile sein.

Machen Sie die Leiterplatte, indem Sie das Perfboard auf die kleinste machbare Größe zuschneiden, da Gewicht und Größe Priorität haben. Löten Sie die Header-Pins entlang der Kante des geschnittenen Perfboards, hier werden der Batterieausgleichsanschluss und in Zukunft das Ruderservo und der Flugregler verbunden. Löten Sie die 2 1k Ohm Widerstände und die Gleichrichterdiode gemäß Schaltplan.

Löten Sie das Micro-SD-Kartenmodul gemäß dem Schaltplan an die Pins des Arduino und stellen Sie die Verbindungen mit dem AWG 24-Draht her.

Stellen Sie die Verbindungen zwischen dem Perfboard und dem Arduino wieder gemäß dem Schaltplan her und verwenden Sie mehr der gleichen Art von Draht.

HINWEIS: Das GPS ist ein elektrostatisch empfindliches Gerät. Seien Sie beim Löten vorsichtig und lassen Sie beim Herstellen von Verbindungen niemals Strom durch die Drähte fließen

Löten Sie die GPS-Modulstifte an die entsprechenden Stifte auf dem Arduino mit Längen von etwa 3-4 cm (1-1,5 Zoll) Draht. Dies gibt dem GPS-Modul genug Spiel, um auf die andere Seite der Trägerkarte zu falten.

Überprüfen und überprüfen Sie den Durchgang für alle Verbindungen, um sicherzustellen, dass alles richtig verdrahtet ist.

Mit Heißkleber montieren Sie das SD-Kartenmodul, den Arduino Pro Mini und Ihr benutzerdefiniertes Perfboard auf einer Seite des Kartons und das GPS-Modul und die Antenne auf der anderen.

Sobald Sie alle Teile richtig verdrahtet und auf dem Karton montiert haben, ist es an der Zeit, mit dem Code fortzufahren.

Schritt 5: Der Code

Dies ist der Code, der auf dem Endgerät ausgeführt wird. Während dieser Code ausgeführt wird, beginnt die LED am GPS-Modul zu blinken, sobald das GPS einen Fix mit mehr als 3 Satelliten hat. Die LED auf der Arduino-Platine blinkt einmal, sobald das Arduino startet, um anzuzeigen, dass die CSV-Datei erfolgreich erstellt wurde, und blinkt dann im Takt der GPS-LED, wenn sie erfolgreich auf die Micro-SD-Karte geschrieben wurde. Wenn die LED der Micro-SD-Karte nicht mehr initialisiert werden kann, liegt höchstwahrscheinlich ein Problem mit Ihrer Verkabelung oder Micro-SD-Karte vor.

Dieser Code erstellt jedes Mal eine neue CSV-Datei, wenn das Programm ausgeführt wird.

Damit das aktuelle Zeitfeld in der Tabelle korrekt ist, müssen Sie die UTC (Koordinierte Weltzeit) in die richtige Zeitzone für Sie umrechnen. Für mich ist der Wert UTC +2.0, da dies die Zeitzone ist, in der ich mich befinde, aber dies kann im Code durch Ändern des Floats "timezone" geändert werden.

Schritt 6: Testen, Testen, Testen

Testen, testen, testen
Testen, testen, testen

Inzwischen sollten Sie ein funktionierendes System haben, es ist Zeit, es zu testen und sicherzustellen, dass alles wie erwartet funktioniert.

Sobald alles funktioniert und Sie eine Ausgabe in der Tabelle erhalten, die korrekt zu sein scheint, ist es an der Zeit, Feineinstellungen vorzunehmen. Zum Beispiel hatte ich das Gerät ursprünglich mit Kabelbindern an der Unterseite meines Flugzeugs befestigt, aber nach einigen Untersuchungen stellte ich fest, dass dies die Anzahl der GPS-Satelliten, die gleichzeitig sehen konnten, um etwa 40% reduzierte.

Testen Sie Ihr System, stellen Sie sicher, dass alles funktioniert und verfeinern Sie es bei Bedarf.

Schritt 7: Anreichern Ihrer Daten

Anreicherung Ihrer Daten
Anreicherung Ihrer Daten
Anreicherung Ihrer Daten
Anreicherung Ihrer Daten
Anreicherung Ihrer Daten
Anreicherung Ihrer Daten
Anreicherung Ihrer Daten
Anreicherung Ihrer Daten

Da Sie nun über ein zuverlässiges System verfügen, ist es an der Zeit, herauszufinden, wie Sie diese Daten lesbarer darstellen können. Die Tabellenkalkulation ist in Ordnung, wenn Sie die genaue Geschwindigkeit zu einem beliebigen Zeitpunkt benötigen oder genau überprüfen möchten, wie sich Ihr Fahrzeug bei einer bestimmten Aktion verhalten hat, aber was, wenn Sie einen gesamten Flug auf einer Karte darstellen oder jeden Datenpunkt anzeigen möchten besser lesbar ist hier die Datenanreicherung hilfreich

Um unsere Daten besser lesbar zu sehen, verwenden wir Google Earth Pro. Klicken Sie hier, um es herunterzuladen.

Jetzt müssen Sie die CSV-Datei in eine GPX-Datei konvertieren, die von Google Earth mit GPS-Visualizer leichter gelesen werden kann. Wählen Sie Ausgabe-GPX, laden Sie Ihre CSV-Datei hoch und laden Sie die konvertierte Datei herunter. Öffnen Sie dann die GPX-Datei in Google Earth und es sollte automatisch alle Daten importieren und in eine schöne Flugbahn einzeichnen. Dieser enthält auch zusätzliche Informationen wie die Überschrift zu einem beliebigen Zeitpunkt.

HINWEIS: Ich habe die lat, long-Daten aus den Fotos entfernt, da ich meinen genauen Standort nicht preisgeben möchte

Schritt 8: Fazit und mögliche Verbesserungen

Insgesamt bin ich also sehr zufrieden mit dem Verlauf dieses Projekts. Ich genieße es, Daten von allen meinen Flügen zu haben. aber es gibt ein paar Dinge, an denen ich arbeiten möchte.

Natürlich möchte ich die genaue Position der Ruder ablesen können. Ich habe die meiste Hardware dafür, aber ich muss die Verwendung im Code aktivieren. Es sind noch einige technische Herausforderungen zu meistern.

Ich würde auch gerne ein Barometer für genauere Höhendaten hinzufügen, da die GPS-Höhendaten derzeit nicht viel mehr als eine fundierte Vermutung erscheinen.

Ich denke, es wäre cool, einen dreiachsigen Beschleunigungsmesser hinzuzufügen, damit ich jederzeit genau sehen könnte, wie viel g-Kraft das Flugzeug aushält.

Vielleicht erstellen Sie eine Art Gehäuse. Derzeit ist es mit den freiliegenden Komponenten und der Verkabelung nicht sehr elegant oder robust.

Bitte lassen Sie mich wissen, wenn Sie Verbesserungen oder Änderungen am Design haben, die ich gerne sehen würde.