^

BLHeli für Flächenmodelle  >neu 03.03.24<


<<  Zum vorherigen Teil Zur Einleitung  "Delta-Modelle" >>

Was ist BLHeli?

Bild JHE 40ABlHeli ist eine Firmware für ESCs. Wie der Name schon andeutet, sind Flächenflugzeuge nicht die Zielgruppe dieser Software. BLHeli ist der Quasi-Standard für ESCs im Multikopter Bereich. Dennoch lässt sich ein BLHeli ESC so umfangreich konfigurieren, dass wir diesen auch sehr gut für Flächenflugzeuge verwenden können. Über zwei Dinge müssen wir uns aber im Klaren sein:
  1. Das Konfigurieren geht sinnvoll nur über ein PC oder Handy. Wir brauchen dafür neben einer Software (kostenlos) ein extra Gerät, das als Schnittstelle fungiert. Das kann ein entsprechend programmierter Arduino sein oder ein USB-Seriell-Wandler mit ein paar extra Bauteilen.
  2. Bis auf sehr wenige Ausnahmen sind alle BLHeli-ESCs ohne BEC. Wir müssen ein separates benutzen oder selber eine Spannungswandler-Platine auflöten. Wie das aussehen kann, zeige ich weiter unten.
Belohnt werden wir mit sehr kleinen und dennoch leistungsfähigen Controllern, die teilweise sogar Telemetrie-Daten zur Verfügung stellen.

BLHeli gibt es inzwischen in drei Generationen.
  1. Die 1. Generation heißt schlicht BLHeli. Auch heute noch können wir ESCs mit dieser Firmware kaufen. Diese sind entgegen meiner Aussage von oben oft mit BEC, haben aber weder von den Abmessungen noch vom Gewicht Vorteile gegenüber den klassischen ESCs. Wir können uns auch nicht darauf verlassen, dass diese ESCs mit der BLHeli-Software kompatibel ist. BLHeli der 1. Generation war OpenSource und manche Hersteller haben die Firmware verändert - EMAX ist so ein Kandidat.
  2. Die 2. Generation heißt BLHeli_S und das läuft ausschließlich auf 8 bit Controllern der Firma SiLabs, die speziell zur Motorensteuerung konstruiert wurden. Auch BLHeli_S ist OpenSource und so verwenden es die chinesischen Hersteller häufig für ihre ESCs. Schlecht: Meines Wissens gibt es keinen BLHeli_S ESC mit BEC.
  3. Die 3. Generation heißt BLHeli_32. Die 32 steht dabei für die erforderlichen 32 bit Prozessoren. Der Programmierer hat den Quellcode für diese Generation nicht freigegeben und verkauft die Firmware stattdessen an die chinesischen Hersteller. BLHeli_32 kann auch die oben erwähnten Telemetrie-Daten liefern.


Programmieradapter für BLHeli

Die Multikopter-Leute können ihre ESCs über ihren Flugcontroller programmieren. Der wird mit einem Computer verbunden und die Controller-Software stellt die Möglichkeit zum Einstellen der ESC zur Verfügung. Was machen wir, die wir keinen Controller einsetzen? Zumindest haben wir den Vorteil, nicht gleich 4 ESCs programmieren zu müssen. Deshalb reicht ein USB-Seriell Converter. So ein Kaufgerät ist genau das mit etwas Zusatzbeschaltung. Wie gut die käuflichen USB-Linker genannten Teile sind, kann ich nicht beurteilen. Ich habe keinen.

Bild USB Linker

Wir können uns einen USB-Linker auch leicht selber bauen. Dann können wir den dazu verwendeten USB-seriell Konverter auch für andere Zwecke nutzen. So ein Gerät sollte jeder Modellbauer im Haushalt haben, der im digitalen Zeitalter angekommen ist!
Ich empfehle dringend, ein Modul mit FT232RL Chip zu kaufen, preislich nimmt sich das nichts. Höchstwahrscheinlich ist der verbaute Chip kein Original von FTDI, sondern ein China-Clone. Dennoch funktionieren diese in Zusammenarbeit mit mit BLHeli ESCs sehr gut. Ich habe auch die gängigen Konkurrenten probiert (CP2102, CH340). Die sind weitaus zickiger und wir müssen mit der Größe des Pullups experimentieren. Deshalb bis ich auch etwas skeptisch, was das Kaufgerät (Bild oben) betrifft. Das basiert auf einem CH340.

Wir müssen als Extra-Hardware noch eine Diode und evtl. einen (Pullup-) Widerstand ergänzen und schon ist unser "USB-Linker" fertig. Die Diode kann eine beliebige Silizium Diode sein (z.B. 1N4148) oder eine Shottky-Diode. Bei mir hat der Selbstbau-Linker bei allen meinen ESCs ohne Pullup funktioniert. Wichtig ist, dass wir den Jumper auf 3.3V setzen. Andernfalls sind auch die Pegel auf den Signalleitungen (Rx, Tx) bei 5V und das könnte den Prozessor auf dem ESC beschädigen.

Skizze USB-Linker

Bild FT232RL

Bild Linker am ESC


Verbindung herstellen

Sind wir endlich stolzer Besitzer eines Programmieradapters, schließen wir den zunächst an den Computer an. Beim Erstkontakt muss wahrscheinlich ein Treiber installiert werden. Da möchte ich hier nicht darauf eingehen, das unterscheidet sich nicht von anderen Geräten. Bei Windows Nutzern sollte im Gerätemanager anschließend ein neuer COM-Port zu sehen sein:

 Ausschnitt Gerätemanager

Auf der anderen Seite verbinden wir die vereinte Rx/Tx Leitung unseres Programmieradapters (gelbe Leistung in der Skizze) mit der Signalleitung vom "Servokabel" des ESC. Außerdem wird die schwarze Leitung (Masse/GND) mit GND verbunden. Die mittlere Ader des "Servokabels" bleibt frei. Die Stromversorgung des ESC muss durch die Akkukabel erfolgen. Damit sind wir bereit, die Software zu starten.


Software für BLHeli - BLHeliSuite32

Es gibt zwei Software Varianten, eine für Android und eine für Desktop-Computer. Die Desktop-Variante heißt BLHeliSuite32 und die beschreibe ich im Folgenden. Es gibt auch noch eine BLHeliSuite ohne den Zusatz "32". Die ist für die 1. und 2. Generation BLHeli vorgesehen.
Link zur Download Seite der BLHeliSuite32 auf GitHub; es gibt Versionen für Windows, Linux und Mac.

Nach dem Start der Software wählen wir zuerst das passende Interface aus; wir brauchen USB/Com:

Bild Interface-Auswahl


Als nächstes müssen wir dem Programm die Schnittstelle mitteilen, an der unser Programmieradapter hängt. Wir erinnern uns: In meinem Fall hat der Gerätemanager COM8 gemeldet. Der taucht erwartungsgemäß in der Auswahl im Programmfenster unten links auch auf. Wir wählen also COM8 und drücken auf "Connect". Dann sollte eine Meldung in der Fußzeile erscheinen: "Connecting Interface: Wait for Arduino bootloader timeout ...". Wenn nach einigen Sekunden "Interface Connected" erscheint, haben wir es geschafft.

Bild Auswahl ComPort Bild Auswahl Connect Bild Connected

Abschließend lesen wir die Einstellungen aus dem angeschlossenen ESC, indem wir "Read Setup" drücken. Jetzt können wir alle Parameter ändern und diese anschließend in den ESC zurückschreiben ("Write Setup"). Aus dem Programm selber können wir eine umfangreiche Doku abrufen (englisch), in der alle Parameter erklärt werden. Im Bild unten sind die Einstellungen zu sehen, mit denen ich meine Deltas fliege:

Bild BLHeliSuite32

Das geschulte Auge erkennt: Der Razor32 V2 ESC kann keine S.Port Telemetrie ausgeben (siehe Kapitel "Telemetrie"). Die onboard LED ist deaktiviert (blitzt aber beim Anstecken der Stromversorgung kurz auf). Der Stromsensor hat zu wenig angezeigt, weshalb ich ihn auf +18% kalibriert habe. Informationen zu allen Einstellungen können im Programm unter "BLHeli_32 Info" aufgerufen werden.


Huckepack BEC

Wie schon erwähnt habe die meisten BLHeli ESCs keine eingebaute Stromversorgung für unser RC-Equipment, sprich BEC. Wir können natürlich ein käufliches externes BEC verwenden. Dann haben wir aber wieder zusätzliche Kabelei, weil wir ja die Akkuanschlüsse anzapfen müssen. Viel eleganter ist es, wenn das BEC fest mit dem ESC verbunden ist. Da haben wir ja Zugriff auf das Kabel vom Akku und eine Verbindung zum Empfänger gibt es auch bereits.

Also bauen wir doch einfach ein BEC Huckepack auf den ESC. Außerhalb der Modellbau-Welt werden fertige Platinen als "DC-DC step down converter" oder " DC DC buck converter" angeboten. Das sind Schaltregler, die den Spannungsunterschied durch "schnelles Schalten" der Eingangsspannung erzeugen. Bei Standard ESCs wird das SBEC (Switched BEC) genannt. Im Gegensatz zu den Linearreglern erzeugt das weniger Wärme, kann aber empfindliche Elektronik stören. Nichtsdestotrotz hat das für meine Anwendung bisher problemlos funktioniert. Ich habe allerdings bisher damit nur kleine Flugmodelle mit 2 Servos betrieben.

Bild Razor32-oben Bild Razor32 unten
Bild Razor Plus-Seite Bild Razor32 Minus-Seite

Warnen möchte ich vor neuen Modulen die einen speziellen Überlastungsschutz haben. Der ist so realisiert, dass der Ausgang abgeschaltet wird, sobald der Strom einen zulässigen Wert überschreitet. Das Modul arbeitet erst wieder, nachdem es kurz von der Eingangsversorgung getrennt wurde. Wenn also mal eine Ruderanlenkung blockiert, fällt unser Modell vom Himmel, weil ohne Stromversorgung - NICHT GUT! Der "MINI 560 dc-dc stepdown converter" arbeitet so. Schade der soll 5A liefern können statt der sonst üblichen 3A max.


BLHeli_32 Telemetrie

BLHeli in der 3. Generation kann Telemetriedaten ohne zusätzliche Sensoren zur Verfügung stellen. Geliefert werden Drehzahl, Akkuspannung, Strom, entnommene Kapazität und Temperatur. Beim Strom und bei der Kapazität müssen wir beachten, dass nicht jeder ESC mit einem Stromsensor ausgerüstet ist. Fast immer ist das ein niederohmiger relativ großer Widerstand (Shunt). Fehlt dieser, werden für Strom und entnommene Kapazität Nullwerte übertragen. Leider geben die Beschreibungen oft nicht her, was in Sache ist.

Wir können auf den Bildern den erwähnten Shunt (rote Kennzeichnung) relativ leicht identifizieren.

Bild Tekko32 Bild Arthur35A Bild Aria 35A  Bild Aria 35A Bild Blitz E55

Die nächste Herausforderung ist, den Telemetrie-Pin zu identifizieren (blaue Kennzeichnung). Der ist meist mit "Tx", "TE" oder schlicht "T" gekennzeichnet. Da löten wir ein Kabel an, über das die Telemetrie-Daten entweder im S.Port Format oder als serielle Daten im Kiss-Format in unseren Empfänger fließen.

Wie kommen die Telemetrie-Daten auf meinen Sender?

Möglichkeit 1:
Bild S.Port ID
Wir besitzen einen FrSky Empfänger mit S.Port Telemetrie. Haben wir einen ESC der damit kompatibel ist, können das Datenkabel direkt an den S.Port Datenpin des Empfängers anschließen. Ob unser ESC kompatibel ist sehen wir, sobald wir das gute Stück mit der BLHeli-Software verbinden. Erscheint der Menüpunkt "S.PORT Physical ID", kann unser ESC S.Port Telemetrie Daten direkt ausgeben. Wir müssen dazu einen Wert ungleich 0 auswählen.

Möglichkeit 2:
Bild Auto-Telemetry

Bild Rp2040-ZeroWir besitzen einen beliebige Telemetrie Fernsteuerung. Einzige Voraussetzung ist, dass einer der weiter unten genannten Konverter das Telemetrieformat verarbeiten kann. In der BLHeli Software aktivieren wir "Auto Telemetry". Dann gibt unser ESC die Telemetrie-Daten als seriellen Datenstrom aus (Kiss-Format).

Das wiederum kann ein Konverter in Formate für diverser Fernsteuerungshersteller umwandeln. Solche Konverter sind z.B. mein eigener "BLHeli Telemetry Feeder" oder "oXs_on_RP2040".

oXs_on_RP2040
... kann BLHeli-Telemetrie ab Version 2.11.12 lesen.  Ausgeben kann der Konverter (Stand 3/2024) expressLRS, FlySky, FrSky-S.Port, FrSky-FBus, Futaba-SBUS2, HOTT, JETI-Ex, JETI-ExBus, MPX, Spektrum-SRXL2.  oXs_on_RP2040 läuft auf günstigen Boards mit einem Raspi RP2040 Prozessor. Empfohlen ist das links abgebildete RP2024-Zero Board. Das ist nicht nur sehr klein, sondern wandert auch gegen sehr geringes Entgelt in unser Eigentum. Zum "Programmieren" reicht ein USB-C Kabel. An das Board können wir dann noch verschiedenste weitere Sensoren anschließen, z.B. ein GPS-Modul um damit die Geschwindigkeit messen.


Windows Software zum Anzeigen der Telemetriedaten

Zu guter Letzt noch ein Hinweis auf eines meiner anderen Projekte. Wir können und die Telemetriedaten auch auf einem Windows-PC anzeigen und protokollieren lassen. Damit haben wir praktisch einen Motoren-Prüfstand.

Der ESC muss für "Auto Telemetry On" und wenn vorhanden "S.PORT Physical ID - Off" konfiguriert sein. Wir verwenden unseren bereits bekannten USB-Seriell Wandler und verbinden den Telemetrieausgang des ESC mit Rx und natürlich GND mit GND.

Bild Anschluss an FT232RL

Das Programm dazu heißt BLHeli Telemetry View.

Bild BLHeli Telemetry View


<<  Zum vorherigen Teil Zur Einleitung  "Delta-Modelle" >>

Zur Startseite

 

Haftungsausschluss    Datenschutzerklärung    Impressum

© Frank Steinberg