Wer sich für einen CC3D Flightcontroller entschieden hat, ist keines Falls an die, ohne Frage sehr gute, Software von OpenPilot gebunden. Wer sich auf das Wesentliche konzentrieren möchte oder aus anderen Gründen, beispielsweise der einfachen Ansteuerung von RGB-LEDs, zu Cleanflight wechseln möchte, der erfährt in dieser Anleitung alle wichtigen Schritte.
Es gibt zwei Wege, dieses Ziel zu erreichen. Die alte Anleitung, ist unten weiterhin für euch verfügbar.
Die unten stehende Anleitung benutzt die OpenPilot GCS, um Cleanflight auf den CC3D Controller* zu flashen. Dieser Weg funktioniert nur noch bis zur Cleanflight Version 1.10.0 aus dem September 2015.
Wenn der aktuellste Build verwendet werden soll, muss das Flashen mit dem Clean Flight Configurator erfolgen. Wie ihr das macht, beschreibe ich in diesem kleinen Update.
Inhalt
Neuer Weg über CleanFlight Configurator
Was wird benötigt?
- Jumper* / Kabel zum Überbrücken des Boot-Jumpers
- UART / FTDI Interface*
- USB-Spannungsquelle*
- Aktuelle Version der CleanFlight Configurator Web App für Google Chrome
Schritt für Schritt
Leider ist das Übertragen der Software auf den CC3D via Clean Flight Configurator nicht mehr so einfach möglich, wie etwa bei einem NAZE Board. Anstatt direkt über die USB-Schnittstelle des CC3D zu gehen, müssen wir die Verbindung über eines der UARTs des Mikroprozessors herstellen. Damit das klappt, wird ein UART-USB-Adapter (auch als FTDI bekannt)* benötigt. Zusätzlich müssen die zum Adapter passenden Treiber installiert werden. Ist das erledigt, kann es los gehen.
CC3D vorbereiten
Damit der CC3D Controller über das UART geflasht werden kann, muss der Bootjumper geschlossen werden. Dieser befindet sich im Referenzdesign direkt neben dem Richtungspfeil auf der Oberseite. Um genau zu sein, sind es in den meisten Fällen zwei Lötpads mit der Aufschrift „+3,3V“ und „SBL“. Diese beiden Kontakte müssen während des Vorgangs verbunden werden.
Im Internet finden sich zahlreiche Anleitungen, bei denen der Kontakt temporär mit einem dicken Kabelende hergestellt wird. Diese Lösung ist aber relativ fehleranfällig. Unterbricht der Kontakt, schlägt das Flashen fehl. Wer sich viel Aufregung ersparen will, schließt die Brücke entweder temporär mit ein wenig Lötzinn* oder lötet ein paar Kontakte für einen Jumper* an. Ich habe diesen mithilfe von zwei Kabeln auf die Unterseite verlegt. Ist ein wenig praktischer, da der Kontakt nach dem Flashen wieder entfernt werden muss, um den CC3D nutzen zu können. Zudem muss das Spiel mit jeder neuen CF-Version wiederholt werden.
CC3D Flight Controller kaufen!*
CC3D mit UART verbinden
Die Verbindung zwischen UART-Adapter* und CC3D erfolgt über den Main-Port des CC3D Controllers. Im Regelfall liegen dem CC3D verschiedene Adapterkabel bei. Darunter auch ein Vierpol-Konnektor für den Main-Port auf einzelne Sevostecker – perfekt für unser Vorhaben. Die Pinbelegung sieht dabei wie folgt aus:
Funktion | Main-Port | Position | UART |
---|---|---|---|
GND | GND | 1. von links | GND |
+5 V | NICHT VERBINDEN | 2. von links | NICHT VERBINDEN |
TX | TX | 3. von links | RX |
RX | RX | 4. von links | TX |
Wichtig: Die +5V werden nicht über das USB-UART bezogen. Keine Verbindung herstellen!
CC3D mit Spannung versorgen
Die Spannungsversorgung wird stattdessen über den USB-Port des CC3D hergestellt. Ein Computer ist dafür nicht zu gebrauchen, weil der Controller dann mit unter versucht eine Verbindung herzustellen und die externe Verbindung über den UART-Adapter* nicht funktioniert. Daher: Eine USB-Powerbank* oder ein Smartphone-Ladegerät nutzen. Auch manchen Ladegerät haben einen USB-Port, der super für diesen Zweck verwendet werden kann.
Alles überprüfen
Wenn ihr alles richtig gemacht habt, ist eurem UART nun ein COM-Port zugeordnet (siehe Gerätemanager in Window). Außerdem leuchtet die Status-LED des CC3D durchgehend. Zudem ist der Boot-Jumper überbrückt. Alles richtig verdrahtet? Dann kann es endlich los gehen.
CleanFlight auf CC3D flashen
Hierfür rufen wir die aktuelle Version des CleanFlight Configurators über den Chrome Browser auf. An der rechten Seite wählen wir den dritten Tab „Firmware Flasher„. Am oberen Bildschirmrand wählen wir den COM-Port des UARTs aus. Die BAUD-Rate beträgt i.d.R. 115.200. Noch NICHT auf Connect am oberen Rand drücken.
Im Drop-Down-Menü wählen wir nun die aktuellste CF-Version aus, die für den CC3D verfügbar ist.
Danach müssen die folgenden Optionen aktiviert werden (grüne Schalter auf an):
- No reboot sequence
- Full chip erase
- Manual baud rate –> 115.200
CC3D Flight Controller kaufen!*
Am unteren Rand nun auf „Load Firmware [Online]“ klicken. Die Firmware wird dann frisch aus dem Repository gezogen.
Jetzt mit einem Klick auf „Flash Firmware“ den Prozess starten. Das dauert eine Weile. Zunächst wird das Image geschrieben, danach verifiziert. Am Ende erhaltet ihr eine Meldung „Flash Successful“. Fertig!
CC3D verwenden
Um den Controller zu verwenden, werden nun UART-Adapter* und USB-Spannungsversorgung getrennt. Auch der Boot Jumper muss entfernt werden. Danach ist der Controller ganz normal über USB an den PC anzuschließen und wird vom CleanFlight Configurator erkannt. (Oben in der Ecke COM-Port wählen und Connect klicken.).
Das war’s. Fertig.
PS: Der Spaß wiederholt sich mit jeder neuen CF-Version, die ihr nutzen wollt.
Alte Anleitung via OpenPilot GCS
Um mit dem Flashen der Cleanflight-Firmware auf den CC3D Controller* zu beginnen, sind vorab ein paar wichtige Vorbereitungen zu treffen. Zunächst muss sichergestellt sein, dass die CC3D Einheit mit einer externen Stromquelle versorgt werden kann. Hierzu eignet sich beispielsweise ein Empfängerakkupack bestehend aus vier oder fünf NiMh-Zellen. Die alleinige Versorgung über den USB-Port genügt nicht.
WICHTIG: Die Anleitung vorab ganz lesen und einen Überblick verschaffen. Ich weise darauf hin, dass jeder selbst für Schäden haftet, die durch das Nachempfinden dieser Anleitung entstehen können. Das ganze Projekt sollte nur von erfahrenen Nutzern angegangen werden! Im Zweifelsfall funktionieren diese Treiber mit relative hoher Wahrscheinlichkeit.
Zusätzlich müssen folgenden Programme heruntergeladen bzw. installiert werden:
- Cleanflight Image für CC3D (cleanflight_CC3D.bin)
- Treiber für einen virtuellen COM-Port
- Cleanflight Configurator Tool (benötigt Google Chrome Browser)
Außerdem ist für den eigentlichen Flash-Vorgang die aktuellste Version der OpenPilot Ground Control Station (GCS) nötig. (Link oben im Software-Menü)
Cleanflight Firmware Flashen
Im ersten Teil übertragen wir die Cleanflight Software auf den CC3D Controller*. Alle Schritte sind als Stichpunkte ausgeführt, so müsst ihr weniger lesen und die Bilder erklären in der Regel wohl das meiste.
- OpenPilot Ground Control Station öffnen.
- CC3D mit externer Stromquelle verbinden und USB-Verbindung herstellen.
- In der OpenPilot GCS den Firmware-Tab am unteren Rand wählen. Hier wird das Board im Normalfall mit zertifizierter OpenPilot Firmware erkannt. Diese wollen wir nun durch die Cleanflight Software ersetzen. Der Bootloader bleibt bei diesem Vorgang erhalten, sodass man ohne Probleme zurück zu OpenPilot wechseln können sollte. Sollte dies einmal nicht der Fall sein, wurde im OpenPilot Wiki beschrieben, wie man den Bootloader mit Hilfe eines FTDI-Adapters* wieder aufspielen kann.
- Im nächsten Schritt muss der Button „Halt“ im oberen Bereich des Fenster gedrückt werden.
- Danach folgt ein Klick auf den Knopf „Rescue“. Damit wird das Board in den manuellen Rettungsmodus versetzt, der uns das Aufspielen der „fremden“ Software erlaubt.
- Dazu klicken wir auf den Button „Open…“ und wählen unser heruntergeladenes Images cleanflight_CC3D.bin aus.
- Die GCS meckert nun, weil sie erkennt, dass es sich bei der Datei um keine gültige OpenPilot Firmware handelt (was ja auch korrekt ist).
- Ein Haken im Feld „I know what I’am doing!“ lässt uns trotz allem mit der Prozedur vorfahren und die Warnung ignorieren.
- Ein Klick auf Flash schreibt die Cleanflight Firmware auf den CC3D Controller.
- Die GCS quittiert den erfolgreichen Vorgang mit der Nachricht „Upload successful“ unter dem Bild des Bords.
CC3D Flight Controller kaufen!*
Virtuellen COM-Port installieren
- Anschließend trennen wir den CC3D* vom Computer und seiner externen Stromquelle.
- Nun können wir den Treiber für den virtuellen COM-Port installieren. Dazu benötig man Admin-Rechte auf dem ausführenden Computer.
- Nun stellen wir zu erst die Verbindung zu Stromquelle wieder her und verbinden den CC3D dann mit dem USB-Port.
- Windows meldet nun, dass ein unbekanntes Gerät verbunden wurde.
- Obwohl wir den Treiber bereits installiert haben, müssen wir dem Betriebssystem ein wenig auf die Sprünge helfen und den Treiber manuell installieren.
- Dazu öffnen wir den Gerätemanager (Windows-Taste + Pause -> Klick auf Gerätemanager in der linken Liste ganz oben).
- Dort wird unter der Rubrik „Andere Geräte“ bereits unser CC3D als „STM32 Virtual COM Port“ erkannt, allerdings mit einem gelben Ausrufezeichen davor.
- Wir machen einen Rechtsklick auf das Gerät und wählen „Treibersoftware aktualisieren…“ aus der Liste.
- Wir machen einen Rechtsklick auf das Gerät und wählen „Treibersoftware aktualisieren…“ aus der Liste.
- Im sich darauf öffnenden Fenster wählen wir die zweite Option „Auf dem Computer nach Treibersoftware suchen“.
Hier muss nun im oberen Bereich der Pfad zum zuvor installierten Treiber angegeben werden. Hat man diesen bei der obigen Installation nicht verändert, befinden sich die Treiber im Ordner „C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver“ (Windows 7 Pfad). Ein Klick auf weiter installiert den Treiber. Windows bestätigt danach die erfolgreiche Installation.
CC3D Flight Controller kaufen!*
Cleanfligt Configuration Tool verbinden
Nach erfolgreicher Treiberinstallation am besten zu erst noch einmal die USB-Verbindung* unterbrechen und neu herstellen. Windows sollte den Controller nun anständig erkennen. Im Gerätemanager wird ersichtlich, welcher COM-Port dem Gerät zugewiesen worden ist.
Startet man nun das Cleanflight Tool, sollte der richtige COM-Port am oberen Rand direkt ausgewählt sein.
Ein Klick auf Connect stellt die Verbindung zur Software her.
Geschafft! Auf eurem CC3D* läuft nun Cleanflight.
Ab hier kann der Controller ganz normal wie ein Naze32 / Flip32 konfiguriert werden. Einzige Einschränkung: Hexa- und Octacopter werden auf dem CC3D noch nicht unterstützt.
OpenPilot Firmware auf CC3D wiederherstellen
Solltet ihr aus irgendeinem Grund wieder zurück zur original Firmware wechseln wollen, ist dies ganz einfach.
- Die aktuellste Version der OpenPilot GCS wird gestartet.
- Wir wechseln wieder in den Firmware-Tag.
- Oben rechts genügt ein Klick auf „Upgrade“.
- DANACH, wird der CC3D Controller LEDIGLICH über USB verbunden. KEINE externe Stromquelle anschließen.
- Die GCS erkennt das Board nun und lädt die OpenPilot Firmware wieder auf den Controller.
- Nach Abschluss könnt ihr den CC3D* wieder unter OpenPilot verwenden.
- Fertig!
CC3D Flight Controller kaufen!*
BetaFlight auf CC3D flashen
Da sich CleanFlight und BetaFlight die gleiche Plattform teilen, ist auch das Flashen von BetaFlight auf einen CC3D Controller möglich. Dazu folgt ihr analog den oben genannten Schritten. Statt dem CleanFlight Image und -Configurator verwendet ihr allerdings einfach BetaFlight. Nicht alle Funktionen stehen auf dem CC3D bereit, weil die relativ betagte MCU an ihre Grenzen gerät und auch der On-Board Flash des CC3D begrenzt ist.
Super Anleitung! Gibt es Abweichungen für Windows 10 ausser den richtigen Treibern?
Hi Ced,
bis auf die Treiber sollte alles genau so funktionieren. :)
Grüße!
Nun was soll ich sagen ich bastele gerne an Racecoptern herum und in meiner Bastelkiste liegt ein alter CC3 also mal eben alles verkabeln und Betaflight anwerfen und schwupps…..CC3 mit beta 3.2.5 und süßen 4 % CPU Last…..nun wir werden sehen was passiert. Grüße
Klasse. Viel Spaß mit dem „neuen“ Feeling in der Luft.
Grüße,
Nils