FlightController Datenübertragung (OpenMV)

Dient dazu, die berechneten Channel-Werte der OpenMV Kamera an den Flightcontroller weiterzuleiten. Zur Zeit ist die Datenübertragung nur von der OpenMV zum Flightcontroller implementiert, eine Rückleitung gibt es zur Zeit nicht.

Hardware

Es wird der UART3 der OpenMV Kamera verwendet. Der Anschluss erfolgt über P04 (TXD und P5 (RXD). Auf dem Flightcontroller ist die Schnittstelle an den ??? UART angeschlossen.

Datenverbindung

UART1, 115200 Baud, 8 Datenbits, no parity, 1 Stop, kein Handshake (OpenMV)

Bei der Smartphone-Datenübertragung ist die Baudrate 9600 Baud.

Checksumme

Die Datenübertragung zwischen der OpenMV Kamera und dem Flightcontroller erfolgt über DatenFrames (s.u.). Um diese Übertragung sicher zu machen, wird eine Checksumme verwendet. Dieselbe Checksummen-Berechnung wird auch für die Kommunikation zwischen OpenMV und Handy benutzt.

Frame Protokoll

  • StartByte (0xAA)
  • DummyByte (0x00)
  • Channel0 (16 Bit) = Yaw
  • Channel1 (16 Bit) = Pitch
  • Channel2 (16 Bit) = Throttle
  • Channel3 (16 Bit) = Roll
  • Channel4 (16 Bit) = KameraServo (nur bei Smartphone, not used bei OpenMV)
  • Channel5 (16 Bit) = Status
  • CRC16 (16 Bit, Startwert = 0)
  • DummyByte (0x00)
  • StopByte (0x55)

Kodierung Channels

Die Channels werden im „Servoformat“ kodiert:

In Servo-Mittelposition ist der Channelwert = 1500

In Servo-Position links ist der Channelwert = 900

In Servo-Position rechts ist der Channelwert = 2100

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.