Multicopter Controller/Steuerung

Der Controller ist das Herz eines jeden Multicopters. Er besteht aus einem Microcontroller, den externen Anschlüssen, Reglern und Sensoren. Alle Steuerbefehle vom Sender werden hier umgerechnet und bearbeit. Das Ergebnis wird über die Regler umgehend an die Motoren übertragen.
Es gibt viele verschiedene Microcontroller und Boards am Markt, so daß man schnell mal als Anfänger die Übersicht verlieren kann. Jedoch trennt sich irgendwann auch die Spreu vom Weizen und nach meinen Erkenntnissen haben sich zwei Controller auf dem Markt durchgesetzt. Der eine Atmel ATmega32u4 und der andere ATmega 2560 die beide in der Lage sind mit SimonK geflashten Reglern vernünftig zusammen zu arbeiten. D-h. beide unterstützen die PWM von 11Bit. Mittlerweile gibt es viele Boards am Markt mit diesen Prozessoren und allen benötigen Reglern. All in One (AIO) ist hier das Schlagwort.

Ich zähle hier ein paar Flight Controller (FC) auf, die meiner Meinung nach sich auf dem Markt durchgesetzt haben und die ich auch selbst geflogen habe. Der Fortschritt ist hier natürlich auch nicht aufzuhalten und meine Zeilen sind schneller veraltet als es neue FCs gibt. Heutiger Stand 11/2013.

Crius AIO V2.0: basiert auf dem ATmega 2560 und ist, wie es der Name schon sagt, ein All In One Board. Es werden sämtliche Empfängertypen unterstürtzt (Spectrum Satellite, Summensignal). Prinzipiell kann dieser FC alles, was die Software hergibt. Es verfügt über ein MPU6050 Gyro+ACC, ein HMC5883L Magnetometer und ein MS5611 Barometer auf dem Board verlötet, da dass man keine externen Sensoren verlöten muss. Dies ist vor allem für Anfänger ein großer Vorteil. Das Cruis verfügt über einen Micro-USB Anschluss und einen on-board FDTI Converter (kein externer FDTI erforderlich). Das Crius AIO V2.0 ist bei rctimer.com erhältlich. Oder als Clone bei Hobbyking.com unter dem Namen Multiwii and Megapirate AIO Flight Controller w/FTDI (ATmega 2560) V2.0: Es verfügt über dieselben technischen Daten/Sensoren. Dieses Board fliege ich selbst und habe schon einige Quadrocopter damit gebaut und Freunden geholfen. Für mich der Favorit, der fast alles kann und wo ich von Anfang an alle Sensoren schon dabei habe.

Flyduino NanoWii: es ist trotz seiner geringen Größe eine vollwertige Multicoptersteuerung auf Basis des ATmega32u4. Es verfügt über 6 hochauflösende PWM Ausgänge, kann jedoch auch einen Octocopter ansteuerun ACHTUNG: die 11 Bit PWM steht nur auf den Motorausgängen 1-6 zur Verfügung, bei einem Octo ist 11 Bit PWM daher NICHT möglich. Es hat einen on-board Mini-B USB Anschluss (also kein externer FDTI Adapter notwendig). Bei diesem Board kann es bei voller Nutzung zu Speicherplatzproblemen kommen. Bereits auf dem Board integriert ist ein MPU6050 Gyro+ACC, ein Baro/MAG/GPS kann über den I²C Bus angeschlossen werden.
Das NanoWii eignet sich gut für Anfänger und kleine Copter, da es bereits Gyro+ACC on-board hat und nur noch die ESCs+Empfänger angeschlossen werden müssen. Für die Programmierung müssen teilweise die Treiber heruntergeladen werden, ansonsten ist das NanoWii Plug & Play. Das NanoWii ist bei Flyduino.net erhältlich. Auch dieses Board habe ich oft geflogen und war damit sehr zufrieden. Zum Fliegen lernen optimal. Aber mit der Zeit und für die Zukunft einfach vom Speicher zu klein.
MultiWii NanoWii ATmega32U4 Micro Flight Controller USB/GYRO/ACC: Die Kopie des NanoWii von Hobbyking.com. Selbe Daten, alles gleich.

Prozessoren/Microcontroller

ATmega 2560: dieser Microcontroller ist groß genug für sämtliche möglichen Konfigurationen. Ursprünglich ist der ATmega auf dem Arduino MEGA verbaut, das heißt es wird in Arduino auch als Arduino MEGA definiert, mehr siehe Software. Er verfügt über genügend In und Outputs, um jeden Copter inclusive Kamera Gimbal ansteuern zu können. Es werden also Copter bis zu einem Octocopter mit Kamera Gimbal unterstützt. Es gibt 14 Pins mit 11 Bit, daher eine ideale Kombination mit geflashten SimonK Reglern. Zur Kommunikation mit anderen Bauteilen oder dem PC stehen ein USB-Anschluss, ein SPI Bus, ein I²C Bus und 4 UART Schnittstellen.
Ein FC basierend auf diesem Prozessor ist ideal für einen große Copter mit Kamera-Gimbal.

ATmega32u4: ist ein kleinerer Prozessor, der über 6 hochauflösende PWM Ausgänge verfügt. Dieser Prozessor ist auch auf dem Arduino Leonardo verbaut –> Leonardo Bootloader. Es können auch Octocopter unterstützt werden, dann gibt es jedoch keine weiteren Ausgänge für eine Kamera oder ähnliches. Es werden nur Hexacopter mit Kamera-Gimbal unterstützt. Bei Boards mit diesem Prozessor kann es zu Platzproblemen mit der Sketch-Größe kommen. Es wird die MultiWii-Software 2.1 ohne GPS noch voll unterstützt, mit GPS oder Version 2.2 ist der Sketch für den Flash Speicher zu groß. Um dieses Problem zu beheben, muss ein kleinerer Bootloader auf das Board geladen werden, um Platz für den Sketch zu ermöglichen. Mehr dazu siehe: http://fpv-community.de/showthread.p…-Size-amp-32u4
Zur Kommunikation mit anderen Bauteilen oder dem PC stehen ein Mini-B USB-Anschluss und ein I²C Bus zur Verfügung.

ATmega328p: ist der früher am häufigsten eingesetzte (und leider heute immer noch oft gekaufte) µC (z.B. am ProMini). Er wird auch heute noch auf vielen FCs eingebaut. Für einen Neuaufbau auf keinen Fall mehr zu empfehlen. Der ATmega328p verfügt nur über 6 Hardware-PWM Ausgänge mit 8 Bit Auflösung, es können zwei weitere Ausgänge mit Software-PWM belegt werden, was eine Steuerung eines Octocopters zulässt. Aufgrund der 8-Bit PWM macht der Einsatz von SimonK geflashten Reglern keinen Sinn, da diese bei 8 Bit genauso funktionieren wie jeder herkömmliche China-Regler (der Unterschied ist, dass SimonK Regler auch 11 Bit PWM unterstützen).

Quelle: FPV-Community.de