Anleitung: BLHeli ESCs mit Arduino flashen (1-Wire-Interface)

War es vor knapp einem Jahr noch der De-Facto-Standard seine ESCs mithilfe eines Programmers flashen zu müssen, ist die Konfiguration vieler Regler heute geradezu einfach. BLHeliSuite heißt das Stichwort. In dieser kurzen Anleitung wird beschrieben, wie man einen Arduino Uno ganz einfach als 1-Wire-Interace verwendet, um ESCs zu upgraden oder einzustellen.

Überblick

Die BLHeliSuite ist ein Entwicklungsprojekt, welches all die Möglichkeiten, die die BLHeli ESC Firmware mit sich bringt, mit einem einfachen Nutzer-Interface verschmilzt. Musste man vormals spezielle Tools für Regler mit Atmel oder SiLabs CPUs verwenden, lässt sich die gesamte Arbeit nun mit nur einem einzigen Tool erledigen.

Die aktuellste BLHeliSuite Version kann direkt von der Projekthomepage heruntergeladen werden.

Warnung

Wie immer gilt: PROPELLER DEMONTIEREN bevor ihr auch nur irgendetwas an eurem Copter macht!

Ausgangssituation

Die Ausgangssituation, in der sich die meisten Piloten / Bastler befinden dürfte allgemein recht ähnlich sein: Man hat seine Regler vor sich liegen, weiß Bescheid, um welche Marke und welches Modell es sich handelt, besitzt aber keinen speziellen Programmieradapter, um die BLHeli Suite zu verwenden.

Abhilfe schafft ein einfacher Arduino – in welcher Form und Farbe auch immer. Uns soll der wohl am weitesten verbreitete Arduino Uno als Beispiel dienen. In Sachen BLHeliSuite basiert diese Anleitung auf Version 14.4.0.1.

Als Test-ESC kommen die beliebten DYS BL20A zum Einsatz. Den gleichen Regler gibt es auch unter dem Namen SN20A – hier nur mit SimonK Firmware ausgeliefert, ansonsten identisch.

Vorbereitung

Bevor es los geht sind nur wenige Schritte zu erledigen:

  • BLHeliSuite installieren und ausführen
  • Sicherstellen, dass der Arduino (Uno) richtig im Gerätemanager erkannt wird und es keine Treiberprobleme gibt.
  • Falls ihr ESCs ohne angeschlossene Motoren flashen wollt, unbedingt die Motorzuleitungen isolieren. Ein Kurzschluss zerstört den Regler mitunter umgehend.
  • Eine Spannungsversorgung für den Regler bereitstellen (LiPo oder Netzteil)

Arduino als BLHeli Flash Interface

Damit der Arduino weiß, dass er gleich ESCs mit neuer Software bespielen soll, muss zunächst der richtige Sketch (Arduino-Programmcode) auf den Mikroprozessor überspielt werden. Dazu wechselt man am oberen Rand der BLHeliSuite auf den zweiten Reiter „Make interfaces“.

1) In der rechten Spalte wählen wir nun ganz oben „Uno w/ARmega328“ aus. (Anmerkung: Verwendet ihr einen anderen Arduino – nano, ProMini, etc. – hier entsprechend den richtigen Controller wählen.)

2) Die Baud-Rate wird automatisch von der BLHeliSuite entsprechend des gewählten Arduino festgelegt.

3) Im unteren Bereich muss nun noch der korrekte COM-Port ausgewählt werden. Die Nummer des Ports variiert mitunter für jeden Rechner. Der Arduino sollte sich aber normalerweise mit seinem Namen hinter der Portnummer identifizieren und erleichtert so die Auswahl, sollten mehrere COM-Schnittstelle bereitstehen.

BLHeliSuite - Make Interface on Arduino UNO

4) Im finalen Schritt wählen wir nun „ArduinoUSBLinker (SK Bootloader)“ aus. Die nachfolgende Abfrage wird mit Ja bestätigt. Danach beginnt das Flashen. Ein Fenster bestätigt den erfolgreichen Vorgang.

Anmerkung: Der Arduino wird mit einem neuen Sketch beschrieben. Die Software, die er mitunter bis dahin ausgeführt hat, wird überschrieben.

5) Nun nur noch der BLHeliSuite mitgeteilt werden, welche Art von Interface zum Einsatz kommen soll, um mit den ESCs zu kommunizieren. Dazu im Menü unter „Select ATMEL / SILABS Interface“ im blauen Bereich die Option 4 „ATMEL SK Bootloader (ArduinoUSBLinker)“ auswählen.Das Interface ist nun einsatzbereit.

BLHeliSuite - Interface Auswahl

BLHeli auf Regler flashen

Im letzten Schritt folgt das eigentliche Flashen der Regler mit BLHeli. Dazu wechseln wir wieder in den Hauptreiter „Atmel ESC Setup“. Am unteren Rand zuerst den COM-Port kontrollieren! Die Baud-Rate bei 19200 belassen.

BL Heli ATMEL ESC Konfiguration

BLHeli ESC mit Arduino verbinden

Bevor es tatsächlich losgehen kann, fehlt natürlich noch die Verbindung zwischen ESC und Arduino. Beim Arduino UNO erfolgt diese über nur zwei Kabel – Signal und Masse (GND). Verbunden wird der ESC über den Servostecker – also dort, wo sonst die Flightcontrol dranhängt.

Ads

Arduino 1-Wire Interface BLHeli

Das Signalkabel vom ESC wird dabei mit dem E/A-Pin D2 am Arduino verbunden. GND am Regler wird an eine der GND-Schnittstellen des Arduinos verbunden. Jetzt noch den Regler mit Spannung versorgen – fertig!

AnschlussArduino UNOESC
VCCLipo / Netzteil VCC – Pluspol
GNDLipo / Netzteil GND – Minuspol
GND – ServosteckerGNDGND am Servostecker
SignalD2Singal am Servostecker

In der Software genügt nun ein Klick auf „Connect“ am unteren Rand. Sobald die Verbindung steht wird der Button „Read Setup“ geklickt und die aktuellen Daten – samt aktueller FW-Version – werden oben in der Mitte angezeigt.

BLHeliSuite - Firmware auswählen

Hier lassen sich nun alle Einstellungen nach Belieben verändern. Man sollte aber wissen was man tut, aber das gilt in diesem Hobby wohl allgemein. 😉

BLHeliSuite - Flashen bestätigen

Sollen die ESCs auf die neuste FW-Version von BLHeli aktualisiert werden, reicht ein Klick auf „Flash BLHeli“ am unteren Rand und ein Fenster zur Auswahl der Firmware öffnet sich. Da bereits BLHeli auf dem Regler läuft, sollte die Suite direkt die richtige Auswahl treffen. Noch einmal prüfen, ob „MULTI“ ausgewählt ist und los geht’s. Im darauffolgenden Dialog noch einmal bestätigen und kurz abwarten. Schon ist die neuste Version von BLHeli drauf.

BLHeliSuite - Flash Vorgang

Die Suite fragt jetzt noch, ob die alten Einstellungen (aus der vorherigen FW-Version) übernommen werden soll. Hier sollte man vorsichtig sein, je nachdem, was sich innerhalb der Versionen verändert hat. Ich konfiguriere jeden ESC immer von Grund an neu und lehne diese Option daher ab.

BLHeliSuite - Load old values to new firmware

Das war’s. Noch 3 / 5 / 7 ESCs vor euch. Je nachdem, wie viele Latten euer Fluggerät hat. 🙂

 

Kompatiblen Non-BLHeli-Regler flashen

Sollte es sich um einen ESC handeln, der noch kein BLHeli installiert hat (z.B. SimonK), fragt die BLHeliSuite direkt nach, ob BLHeli auf den Regler gespielt werden soll. Bestätigt man, so öffnet sich ein Fenster mit allen unterstützen ESCs. Für unseren Fall können wir in der mittleren Spalte den Filter auf „MULTI“ setzten. Die erste Spalte erlaubt die direkte Auswahl des ESC Modells. Ist der Regler hier nicht gelistet, ist er höchstwahrscheinlich nicht mit BLHeli kompatibel.

Zu empfehlen ist auch die Liste kompatibler ATMEL ESCs, um zu prüfen, ob die eigenen Regler mit BLHeli „flashbar“ sind.

Nils Waldmann

Nils Waldmann

Graduated as an industrial engineer and quality manager, I am currently working on my master's degree in information systems. Besides, I am loving battery technology, flying FPV and having fun with RC in general.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *