|
BTF - BLHeli Telemetry Feeder, ein Telemetrie Protokollwandler für BLHeli_32, AM32 |
BLHeli Telemetrie ohne Flugcontroller! >aktualisiert 15.03.26<BLHeli_32 ESCs sind sehr häufig telemetriefähig, das heißt sie können Daten, wie die Spannung des Flugakkus, Strom, entladene Kapazität, Motordrehzahl und Temperatur (des Hauptprozessors) ausgeben. Alle diese Daten werden im ESC selber gemessen. Da BLHeli aus der Multicopter-Welt kommt, übernimmt üblicherweise der obligatorische Flugcontroller die Anforderung und Weitergabe an einen telemetriefähigen RC Empfänger. Ab der Firmwareversion 32.6 können wir BLHeli_32 so konfigurieren, dass die Telemetriedaten permanent gesendet werden. Aber Achtung: Nicht jeder BLHeli_32 ESC kann Telemetrie oder er kann keinen Strom/Kapazität messen.Seit Ende 2024 wird BLHeli_32 wird nicht mehr weiterentwickelt und es werden keine weiteren Lizenzen an die Hersteller verteilt. Es wird also nur noch abverkauft, was bereits bei den Herstellern ist. Die tröstliche Nachricht: Es gibt schon würdige Nachfolger. Die heißen AM32 und ESCape32. Beide können Telemetriedaten im selben Format ausgeben, wie BLHeli_32 (BLHeli_32 hat genau genommen das schon für KISS-ESCs verwendete Protokoll verwendet). ESCape32 ist ein Sonderfall, weil diese Firmware Telemetriedaten nicht nur im KISS-Format ausgeben kann, sondern auch direkt als FrSky S.Port und FlySky iBus. Der BTF ist in diesem Fall überflüssig. Das von mir vorgestellte Windows-Programm BLHeliTelemetryView kann ebenfalls KISS-Telemetrie lesen und mittels eines USB-UART Wandlers auf einem Windows-PC anzeigen und speichern. Das geht mit ESCs, auf denen die Firmware BLHeli_32, AM32 oder ESCape32 läuft. Eigentlich wollen wir die Daten aber auf unserem Fernsteuersender sehen! Um die Daten auf dem Senderdisplay bewundern zu können, müssen diese in das Telemetrieformat des jeweiligen Herstellers übersetzt werden. Genau das kann der BLHeli-Telemetry-Feeder (BTF). Aktuell kann der BTF drei Protokolle ausgeben:
Seit Firmwareversion 32.8 kann BLHeli_32 S.Port
Telemetrie direkt ausgeben. Der BTF ist damit für
FrSky Empfänger mit S.Port Schnittstelle überflüssig. Allerdings kann das
nicht jeder ESC; falls ja, zeigt die BLHeliSuite32
den Eintrag "S.PORT Physical ID" im Setup
an. Für ESCs, die keine S.Port Telemetrie erzeugen
können und für die anderen Protokolle bleibt BTF
aber weiterhin interessant. Die Arbeit erledigt ein Mikrocontroller, der mit der BTF-Firmware geladen werden muss. Der gesamte Hardware-Aufwand beschränkt sich im Minimalfall auf zwei Bauteile, dem Mikrocontroller und einen Kondensator. Die Firmware ist lauffähig auf:
Wer ähnliches mit weniger Bastelaufwand und ohne spezielle Programmiergeräte bauen möchte, dem sei openXsensor_on_RP2040 (wird leider nicht mehr weiterentwickelt) oder MSRC-Multi Sensor Telemetry for RC (RP2040) empfohlen. Beide Programme können diverse Sensoren (u.A. verschiedene ESC-Telemetrieformate) auslesen und in verschiedenen Formaten an Rc-Empfänger ausgeben. Den verwendeten RP2040 gibt es sehr günstig auf fertigen Platinen zu kaufen. Die Firmware wird einfach auf ein virtuelles Laufwerk kopiert. Unbedingt ansehen. |
![]() |
Den ESC konfigurierenWir müssen davon ausgehen, dass unser ESC im Auslieferungszustand nicht so eingestellt ist, dass er uns die Telemetriedaten automatisch liefert. Sie müssen mittels des jeweiligen Konfiguratonsprogramms wie folgt eingestellt werden:BLHeli_32: Zwei softwaremäßige Voraussetzungen müssen gewährleistet sein:
|
AM32: Für
AM32 gibt es mehrere Konfigurationsprogramme. Der Online
Configurator hat bei mir bisher keine Verbindung zu einem einzelnen
ESC zustande gebracht. Mit dem "Multi ESC Config Tool" klappt es
aber zuverlässig. Wichtig ist, Direct Connect zu wählen. Andernfalls
wird vermutlich ein Flightcontroller erwartet. Ist die Verbindung hergestellt, müssen wir 30ms Telemetry auswählen: ![]() Link zu AM32: am32.ca |
|
ESCape32: Wie bereits geschrieben, kann ESCape32 IBUS (FlySky) und S.Port (FrSky) Telemetrieprotokolle direkt ausgeben. Wir brauchen bei geeigneten Empfängern dieser Marken kein Zwischengerät und der hier vorgestellte BTF ist überflüssig. Einzige Ausnahme: BTF kann das D8-Hub Protokoll von alten FrSky Empfängern ausgeben. In diesem Fall wäre der ESC wie folgt zu konfigurieren. Für ESCape32 gibt es mehrere Möglichkeiten zum Konfigurieren der
Firmware. Am komfortabelsten geht es per Wlan (=Wifi) mit dem
"ESCape32-Wifi-Link". Hier stellen wir "KISS-auto" als Telemetrie
Modus ein.Link zu ESCape32: https://github.com/neoxic |
Hardware bauenMöglichkeit 1: AtTiny45 oder AtTiny85 -
hier mit Schutzwiderständen in den Datenleitungen
und Staus-LED: ![]() ![]() Schaltbild und
Realität
|
Widerstände und LED sind optional - es geht auch minimalistisch: |
|
Möglichkeit 2: Ein Digispark ist ein AtTiny85 mit USB-Bootloader fertig auf einem Board: Der reale Digispark ist abweichend zum Schemabild einer mit Mikro-USB-Anschluss. Ich habe auf der Rückseite einen Anschluss für ein normales Servo-Verlängerungskabel angelötet. Der freie Pin an 5V hat keine Funktion, er dient lediglich zum mechanischen Fixieren des BLHeli-Daten Pins. ![]() ![]() |
|
Möglichkeit 3: Arduinos auf Basis des AtMega328p, AtMega168p sind auch geeignet. Es müssen aber 16MHz-Typen sein mit 5V Eingangsspannung. Auch Boards auf Basis des LGT8F328P funktionieren. Beim LGT8F328P dürfen die Widerstände aber nicht größer als 2 kOhm sein. Die BMP180 Platine auf der Rückseite hat nichts mit dem BLHeli-Telemetry-Feeder zu tun. Ich habe lediglich zum Testen einen OpenXSensor umgeflasht. ![]() |
Die Status LED
... kann mehrere Betriebszustände anzeigen: |
Download
BL-Heli-Telemetry-Feeder
Firmware - enthalten sind
vorkompilierte Binaries und die Quelltexte. |
Telemetrie im Sender
einrichten
Das folgend beschriebene gilt für die Anzeige der
Daten auf einem Sender mit OpenTX oder EdgeTx. Alle
Sensoren sollten im OpenTX/EdgeTx Telemetriemenü
nach Aufruf der Sensorsuche angezeigt werden. Dort
wo es passende Sensoren gibt, versucht BTF diesen zu
emulieren. Wo nicht, werden die Rohdaten übertragen
und können wie unten beschrieben passend
konfiguriert werden.. |
|
|
© Frank Steinberg |