Bestellte Teile 2

Wir haben uns entschlossen die Teile für zwei weitere, kleinere Quadrocopter zu bestellen.

Frame 250mm Carbon Fiber Frame 18,12 €
Motoren Racerstar BR2205S 2300KV 27,62 €
ESCs Racerstar RS20Ax4 21,58 €
Batteries ZOP Power 11.1V 1800mAh 65C 23,30 €
Flightcontroller F3 Flight Controller Acro 6 Deluxe 28,40 €
BEC Matek PDB-XPW 5V 12V BEC 6,90 €
GPS NZ Mini GPS For NAZE32 9,49 €
Rotorblätter 2*10 Paare Kingkong 5×4.5×3 11,26 €
Receiver EACHINE XSR-E D16 2.4G 16CH 12,94 €
Servo Emax ES9051 Digital Mini Servo 4,30 €
Servo JX Servo PS-1171MG 5,86 €

Datenformat Schnittstelle Smartphone <-> Flight Controller

Schnittstelle

Die Daten zwischen Smartphone und Flightcontroller werden über eine serielle Schnittstelle übertragen. An den USB-OTG-Port des Handys wird dafür ein Kabel mit integriertem FTDI- oder CP2102 Chip angesteckt. Diese Chips wandeln das USB-Signal in ein serielles UART Signal um. Zu beachten ist, dass der Flightcontroller 3,3V Pegel benötigt. Dies muss bei der Wahl des Kabels beachtet werden.

UART mit 115200 Baud

1 Startbit, 8 Datenbits, 1 Stopbit

3,3V TTL-Pegel

Kein Handshake

Datenprotokoll

Aufbau des Datenframes

Startbyte Channel_0 Channel_1 …. Channel_n CRC_16Bit Stopbyte

n ist auf 15 eingestellt.

Ein Frame besteht also aus 52 Bytes (Start-, Stopbyte, 2 Byte CRC und 16 16Bit-Channels). Da ein Byte aus 10 Bits besteht (Startbit, 8 Datenbits, Stopbit), benötigt ein Frame

(52 Byte * 10 Bits/Byte) /  115200 Baud = 4,514ms

Damit können maximal ca. 200 Frames/s vom Handy an den Flightcontroller geschickt werden.

Startbyte

Als Startbyte wird 0xAA hex (170 dezimal) übertragen.

Channel_0 … Channel_n

Alle Channels werden als 16 Bit signed integer binär codiert übertragen (Low-Byte first, High-Byte second). Insgesamt werden 16 Channels übertragen (n = 15).

CRC_16Bit

Die Checksumme wird berechnet: todo

und als 16 Bit Wert übertragen (Low-Byte first, High-Byte second).

Stopbyte

Als Stopbyte wird 0x55 hex (85 dezimal) übertragen.

 

Positionserkennnung

Dem Copter wird über einen Zeigestab seine relative Position übermittelt. Am Zeigestab sind 3 Leds (RGB = rot, grün, blau) angebracht. Die Leds bilden ein gleichseitiges Dreieck [Bild].

Anordnung: Rot = vorne links, blau = vorne rechts, grün = hinten Mitte.

Der Copter wertet über eine Kamera die Position der 3 Leds aus und berechnet aus diesen Werten seine Steuerbefehle:

  • Roll: Drehung um die Längsachse
  • Pitch: Drehung um die Querachse
  • Yaw: Drehung um die Hochachse
  • Throttle: „Gas“, Copter steigt oder sinkt

 

Bild aus: https://technikblog.ch/2013/03/projekt-multicopter-wie-funktioniert-ein-multicopter

 

Idealposition

Der Copter versucht, durch Steuerbefehle sich so zu positionieren, dass der

  • Mittelpunkt der Punkte (R,G, B) sich in der Mitte des Kamerabildes befindet,
  • die Punkte R und B den Abstand n haben und
  • der Punkt G sich in der Mitte der Gerade RB befindet:

Copterdrehung

Eine Drehung des Bildes resultiert aus der Schräglage entweder des Copters oder des Zeigestabs. Diese Drehung muss nicht ausgeglichen werden, da sie eine Folge der Copter-Positionsregelung (Roll) ist:

Versatz in Y-Richtung

Hier befindet sich der Copter zwar in der Idealposition. Allerdings ist die Kamera nicht optimal auf den Copter ausgerichtet. Optional kann daher die Kamera über ein Servo in ihrer Längsachse gedreht werden, um diesen Versatz zu korrigieren.

 

Versatz in X-Richtung

Dieser Versatz bedeutet, dass der Copter in seiner Hochachse nicht optimal in Richtung des Zeigestabs positioniert ist. Es muss eine Korrektur des Yaw Wertes erfolgen.

 

Abstand  RB entspricht nicht dem Idealabstand n

Dies bedeutet, dass der Copter zu nah (Abstand RB > n) oder zu weit entfernt (Abstand RB < n) vom Zeigestab positioniert ist.  Dies muss über den Pitch-Wert korrigiert werden.

Punkt G befindet sich nicht auf der Gerade RB

Ist G nicht auf der Gerade RB positioniert, dann ist der Copter zu hoch (G oberhalb von Gerade RB) oder zu tief (G unterhalb Gerade RB) positioniert. Dies muss über eine Änserung des Throttle korrigiert werden.

Punkt G befindet sich nicht in der Mitte der Strecke RB

Befindet sich G auf der Gerade RB näher an B, dann muss die Copterposition nach links korrigiert werden. Ist G näher an R, wird nach rechts korrigiert. Dies erfolgt durch eine Modifikation des Roll Wertes.

Gemischte Korrekturen

In der Praxis werden alle oben genannten Korrekturen gleichzeitig auftreten:

Berechnungspraxis

jkkjgkj

 

Erneuter Tausch der Fernbedienung

Am Anfang des Projektes sind wir von der Graupner-jr mx12(35MHZ) auf die FlySky FS-i6(2.4GHZ) umgestiegen, wie schon in einem vergangen Beitrag beschrieben. Nun haben wir erneute die Fernbedienung gewechselt. Entschieden wurde sich für die FrSky Taranis Q X7(2.4GHZ). Dies lag an folgenden Dingen:

  • Unsere letzte Fernbedienung bzw. Empfänger hatten nicht genug Kanäle, sechs um genau zu sein. Die ersten vier Kanäle wurden schon für den ganz normalen Flug gebraucht(Throttle, Pitch usw.). Ein weiterer für das Armen. So blieb uns nur ein Kanal übrig für GPS-Tests, das Ändern von Flugmodi oder andere Tests.
  • Die neue Fernbedienung & Empfänger bieten auch Funktionen, wie das Zurückschicken von der Akkuspannung. Das ermöglicht uns abzulesen, ob der Akku bald seine untere Zellspannung erreicht und gewechselt werden muss.
  • All dies und noch deutlich mehr ist mit dieser Fernbedienung möglich und sie war deshalb eine sehr gute Ergänzung zu unserem Projekt.