BLHeli Telemetry View - ein Datenlogger für ESCs mit BLHeli_32, AM32 oder ESCape32   >neue Version 18.02.2025<

 ^ 

Mein ESC kann mehr!

Ganz genau geht es hier um Electronic Speed Controller (ESC) für brushless Modellbaumotoren und wie wir die als Prüfstand verwenden können. Aktuelle ESCs der besseren Art haben oft Telemetrie-Funktionen, d.h. sie können Werte wie Spannung, Strom und Drehzahl messen und nach außen weitergeben.
Im Bereich der Multicopter haben sich ESCs als Quasi-Standard durchgesetzt, die mit der BLHeli Firmware laufen.

Nach zwei OpenSource Generationen dieser Firmware (BLHeli gefolgt von BLHeli_S), ist inzwischen BLHeli_32 aktuell. Diese dritte Generation ist Closed Source, trotzdem wird sie haufenweise von chinesischen Herstellern für ihre ESCs verwendet. BLHeli_32 kann Telemetrie! Die aktuelle Version 32.6 kann nun auch so eingestellt werden, dass Telemetrie-Daten permanent ausgesendet werden. Vorher war das nur auf Anforderung der für Multicopter erforderlichen Controller möglich.

Und da kommt "BLHeli Telemetry View" ins Spiel. Das ist ein Windows-Programm, das die Telemetrie Daten auslesen, anzeigen und aufzeichnen kann. Wir haben also ein Motoren-Prüfstand fast ohne zusätzliche Hardware. Alles was wir brauchen, ist ein BLHeli ESC und ein USB-Seriell Wandler.

Ende 2024 dann der Hammer: 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).

Den ESC konfigurieren

Wir können nicht davon ausgehen, dass unser ESC die Telemetriedaten automatisch ausspuckt. Das müssen wir mittels der zugehörigen Konfigurationssoftware einstellen.

BLHeli_32:

 Zwei softwaremäßige Voraussetzungen müssen gewährleistet sein:
  1. Firmware größer als Version 32.5
  2. In der Konfiguration muss "Auto Telemetry" auf "ON" eingestellt sein.

Beides können wir mit dem Programm BLHeliSuite32 erledigen. Außerdem brauchen wir ein Interface. Das kann ein günstiger Arduino sei, der von der BLHeliSuite32 zum passenden Interface geflasht wird. Jedenfalls ist das ein Thema für sich. Wer das machen möchte, sollte sich die zahlreichen Tutorials im Netz und auf YouTube dazu reinziehen.
BLHeli auf Github: https://github.com/bitdump/BLHeli
BlHeliSuite32 zum Download: https://github.com/bitdump/BLHeli/releases/tag/Rev32.10

 

AM32:

ConfigTool1
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: AM32-Configtool2

Link zu AM32: am32.ca

ESCape32:

ESCape32-Wifi-LinkAuch 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.

P.S.
ESCape32 kann neben KISS auch Crossfire (ExpressLRS), IBUS (FlySky) und S.Port (FrSky) Telemetrieprotokolle ausgeben. Wir brauchen bei geeigneten Empfängern dieser Marken kein Zwischengerät. Ein auf ESCape32 geflashter ESC läuft bei mir direkt an einem 10€ Empfänger FS-IA6B von FlySky.

Link zu ESCape32: https://github.com/neoxic


Hardware und Verbindungen/strong>

Wir brauchen:
  1. Einen telemetriefähigen ESC mit BLHeli_32 Firmware.
    Achtung: Nicht jeder mit BLHeli_32 kann Telemetrie und nicht jeder der Telemetrie kann, kann auch Strom messen. Im Bild ist ein Racerstar Tattoo plus 52A zu sehen. Der kann das alles. Einen Anhaltspunkt bietet dieset Threat im RC-Network:
    BLHeli Telemetrie Protokollkonverter für FrSky und FlySky | Seite 7 | RC-Network.de
  2. Einen USB-Seriell Konverter.
    Gängige Suchbegriffe in den einschlägigen Verkaufsportalen sind: "USB UART TTL". Ich bevorzuge die Chipsätze CH340 oder CP2102. Bei solchen mit PL2303 kann es wegen China-Fake-Chips zu Treiberproblemen kommen. Die passenden Treiber müssen natürlich installiert sein.
Verbindungen:
  • Den Telemetrie-Ausgang des ESC verbinden wir mit dem Eingang des USB-Seriell Konverters.
  • Für Masse (GND) nutzen wir einen der meist mit "-" (Minus) gekennzeichneten Pins an unserem Servotester oder am Empfänger.
  • Am anderen Ende des USB-Kabels hängt unser PC oder Laptop.


Hinweise zur Bedienung

Serielle Schnittstelle (Com Port):
BLHeli Telemetry View scannt beim Start alle verfügbaren Portnummern und versucht sich automatisch mit dem "höchsten" Port zu verbinden. Sollte der nicht passen, kann manuell ein anderer Port gewählt werden.

Motor Poles:
Der ESC misst die elektronische Drehzahl, d.h. die Feldumpolungen, die er erzeugen muss. Das muss noch durch die Anzahl der Motorpole geteilt werden (genau genommen die Hälfte der Motorpole), um die Drehzahl an der Welle zu erhalten. Sind wir uns nicht sicher, zählen wir die Magneten in der Glocke unseres Motors. Gängige Quadcopter Motoren haben 14 Pole.
 
Peak Werte:
Darunter sind die Werte zu verstehen, die bei der maximal gemessenen Drehzahl anlagen. Bei der Spannung ist dieser Wert logischerweise nicht der höchste Wert. Der Wert kann mittels der Buttons [Reset] gelöscht werden.

Log to file:
Die Werte können auch aufgezeichnet werden. Speicherort und Dateiname werden automatisch vergeben. Im Ordner Dokumente (Documents) wird ein Ordner "BLHeliTV" angelegt. Dort landen die Logdateien und werden mit Datum und einem Zeitstempel (Sekunden seit Mitternacht) benannt. Das Format ist so gewählt, dass die Daten sowohl als Text als auch mit einer Tabellenkalkulation (Excel u.ä.) verwertbar sind (.csv).
Hinweis: Die Aufzeichnung pausiert, so lange eine Drehzahl 0 gemessen wird. Außerdem kann vom Bediener pausiert werden.

Kalibrierung:
Im oben genannten Ordner wird auch eine Datei namens Calibrate.ini abgelegt. Dort können die Messwerte angepasst werden. In der Datei selber ist erklärt, wie es geht.
Neu mit Update 2020-05-03: Die Kalibrierdaten werden kontinuierlich eingelesen, so lange Daten vom ESC empfangen werden. Zum Einstellen/Ändern der Kalibrierdaten einfach die Calibrate.ini editieren. Die neuen Werte werden sofort nach dem Speichern wirksam. Mit dem Update werden die Kalibrierdaten auch angezeigt.
Wichtiger Hinweis: Alle Kalibrierdaten werden erst wirksam, wenn die Messwerte größer als Null sind!

Statuszeile:
Unten im Programmfenster befindet sich eine Statuszeile. Dort werden Meldungen des Programms angezeigt. Neue Meldungen werden rechts angefügt, alte verschwinden nach links.

Updates

2020-05-03:
Fix: Nicht erkannte Datensätze auf langsamen PCs werden jetzt gelesen.
Fix: Ordner im Datenverzeichnis heißt jetzt richtigerweise BLHeliTV anstatt BLHeliView.
Ergänzt: Kalibrierdaten werden auf dem Hauptfenster angezeigt.
Ergänzt: Kalibrierdaten (Calibration.ini) können bei laufendem Programm editiert werden.
2020-12-08:
Ergänzt: Maximaltemperatur wird angezeigt.
Ergänzt: Behandlung der Peak-Werte wählbar für  V, A und Rpm zwischen:
                 - Peak-Werten bei maximaler Drehzahl   oder
                 - V min, A max, W max - Werten; Umschaltung per Button.
2024-04-01:
Ergänzt: Je ein Minimum- und ein Maximum-Wert der 13 zur Mittelwertbildung verwendeten Datensätze wird entfernt (bei Volt, Ampere und RpM).
Das soll "Ausrutscher-Werte" eliminieren.
2025-02-18
Ergänzt: Der Strom wird deshalb jetzt bis zu dreistellig und die Leistung(Watt) bis vierstellig angezeigt (kompatible ESCs sind inzwischen für Ströme >100A erhältlich).


Installieren / Deinstallieren

Das eigentliche Programm besteht aus einer einzigen Datei. Diese kann einfach in einen Ordner nach Wahl kopiert und von dort gestartet werden. Einträge in Registry oder Systemverzeichnisse werden nicht gemacht. Lediglich im Ordner Dokumente wird ein Unterordner "BLHeliTV" erzeugt, in dem Logdateien und Calibrierdaten abgelegt werden.

Zum Deinstallieren reicht es, die kopierten Dateien aus den Download und den Ordner "BLHeliTV" aus dem Dokumente-Ordner zu löschen.


Download

BLHeli Telemetry View - Version 2025-02-18 - einschließlich Quelltext


Die verwendete Programmiersprachebr>

Das Programm ist mittels Liberty Basic Booster (LBB) geschrieben. LBB ist Freeware und besticht vor allem damit, dass nach einem lächerlich kleinen Download von 512 kB eine komplette Programmiersprache nebst Editor und Debugger zur Verfügung steht. Nutzung der seriellen Schnittstelle und einfaches Erstellen von grafischen Oberflächen (Windows) ist nativ "eingebaut".

Die Syntax stammt von Liberty Basic; alle Hilfen dazu sind also auch für LBB nutzbar. Darüber hinaus sind auch Sprachelemente von BBC-Basic verwendbar (wovon ich auch Gebrauch gemacht habe). LBB ist eigentlich ein Liberty-Basic zu BBC-Basic Konverter und stammt vom selben Autor wie BBC-Basic. Darüber müssen uns als Programmierer aber keine Gedanken machen. Wir können auf einfachste Weise autark lauffähige exe-Dateien erstellen.

LBB bezogene Links:
LB Booster Homepage:  http://www.lbbooster.com
LB Booster Help manual:  http://www.bbcbasic.co.uk/lbb/lbb.html
LB Booster Wiki:  http://bbcbasic.co.uk/wiki/doku.php?id=lb_20booster
LB Booster Forum:  http://lbbooster.com/forum

Liberty Basic bezogene Links:
Liberty BASIC Homepage:  http://www.libertybasic.com
Liberty BASIC Online Help:  http://www.libertybasicuniversity.com/lb4help


Frank Steinberg, im November 2018 / Februar 2025



Zur Startseite

 

Haftungsausschluss    Datenschutzerklärung    Impressum

© Frank Steinberg