BTF - BLHeli Telemetry Feeder, ein BLHeli Telemetrie Protokollwandler |
BLHeli Telemetrie ohne Flugcontroller! >aktualisiert 26.01.24<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. Aber Achtung: Nicht jeder BLHeli_32 ESC kann Telemetrie oder er kann keinen Strom/Kapazität messen.Seit der Firmwareversion 32.6 können wir BLHeli_32 so konfigurieren, dass die Telemetriedaten permanent gesendet werden. Das von mir im November 2018 vorgestellte Windows-Programm BLHeliTelemetryView nutzt das, um die Daten mittels eines USB-UART Wandlers anzuzeigen und zu speichern. Eigentlich wollen wir die Daten aber auf unserem Fernsteuersender sehen! Das verwendete Format kann jedoch kein mir bekanntes RC-System direkt verarbeiten. 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
diesen Zweck ü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:
Was ist neu in BTF Version 2024?
|
Den ESC konfigurieren
Es gibt noch eine Hürde die nicht ohne ist, wenn wir
uns noch nie mit BLHeli beschäftigt haben. Leider
müssen wir nämlich davon ausgehen, dass ein
BLHeli32_32 ESC im Auslieferungszustand nicht so
eingestellt ist, dass er uns die Telemetriedaten
automatisch liefert. Zwei softwaremäßige
Voraussetzungen müssen gewährleistet sein: |
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 BHF diesen zu
emulieren. Wo nicht, werden die Rohdaten übertragen
und können wie unten beschrieben passend
konfiguriert werden.. |
|
© Frank Steinberg |