Zusammenfassung #
- Bluejay verwenden und mit dem Online-Tool installieren
- PWM Freuquenz 24kHz für 5 Zoll Racer; 48 kHz für Whoops bis 3 Zoll, Cinematic, Long-Range
- Timing 15 Grad
- Rampup Power 9x
Code-Naming #
Die Firmwarefiles haben eine auffällige Namensgebung, zum Beispiel: O_H_5_REV16.7.HEX
- Der erste Buchstabe gibt das Pinout der MCU („Prozessor“ auf dem ESC) an. Für eine genauere Angabe muss man jedoch in das Datenblatt (wenn man es zu fassen bekommt) schauen. Manche Hersteller halten sich nämlich nicht unbedingt an die Code-Namen und vergebene „eigene“ Buchstaben. Newbeedrone verwendet zum Beispiel als ersten Buchstaben gern Y obwohl es sich um ein S pinout handelt. Man kann also deren Y-ESCs problemlos mit einer S-Firmware flashen.
- Der zweite Buchstabe gibt die Taktrate der MCU an. L = 24 kHz, H = 48 kHz.
- Die Zahl gibt die Deadtime an. Die Zeit, die der ESC beim passieren des Totpunktes wartet, bis er die Spulen wieder unter Strom setzt. Die Einheit sind 20,4 ns. Deadtime von 5 = 102 ns, Deadtime 00 = adaptive deadtime. Hier wird die Deadtime meist durch verzögernd wirkende Kondensatorschaltungen gesteuert.
Prinzipiell sollte man immer die passende Firmware-Version mit ggf. anderer Versionsnummer oder anderer PWM-Frequenz flashen. Hat man Desync-Probleme kann man gern eine höhere Deadtime versuchen. Nur bei nicht -00-Deadtime ESCs! Dem Motor mehr Zeit zu lassen den Totpunkt zu passieren ist kein Problem. Der Wert sollte jedoch niemals kleiner sein, sonst kann es vermehrt zu Desyncs kommen. Zudem steigt die thermische Belastung und Motoren oder ESC können durchbrennen.
Alternative ESC Firmware für BLHeli_S ESCs #
Bluejay #
Bluejay ergänzt eine Reihe von Funktionen wie bidirectional DShot für RPM-Filterung und 48 bzw. 96 kHz PWM-Frequenz. Durch PWM Dithering wird eine höhere Auflösung der Gashebelstellung bei höheren PWM Frequenzen ermöglicht. Außerdem bietet Bluejay benutzerdefinierte Startup-Töne. Die Installation erfolgt online https://esc-configurator.com/ über über einen eigenen Configurator. Wer von BLHeli_S kommt und individuelle Einstellungen getroffen hat kann hier schauen wie diese zu Bluejay portiert werden.
Weitere Infos findet ihr auf der Github-Seite und auf dem Discord-Server.
JESC #
Der Bedarf für eine kompatible Firmware für BlHeli_S Hardware mit bidirektionalem DShot war hoch und JESC kam als erstes auf den Markt. Eine von Grund auf neu geschriebene Firmware die viel mehr neue Funktionen enthält als „nur“ RPM Filter auf BLHeli_S Hardware zu ermöglichen. Diese Entwicklung kostete viel Zeit und von irgendwas muss der Mensch ja leben. Lizenzgebühren wie bei BLHeli_32 über die Hersteller einsammeln funktioniert nicht. Also Entschloss sich der Entwickler Thorsten Laux (joelucid) hier einen kleinen Obolus zu verlangen. Der ist es Wert, denn man kauft viel mehr als nur die RPM-Filter. Ein anderes Beispiel ist die neue Option mit 48 kHz und 96 kHz PWM Frequenz die Motoren anzusteuern. Bei Whoops kann die Ausdauer der kleinen Flitzer um bis zu 40% gesteigert werden. Hierzu ist nicht Mal der Kauf einer JESC-Lizenz notwendig, denn diese benötigt man nur für die Telemetrie. Empfohlen wird bei Verwendung von bidirectional DShot nur eine Geschwindigkeit bis maximal 300 einzustellen, da es bei DShot 600 zu ca 1-2% Paketverlusten kommt, was die Funktion des RPM-Filters erheblich stören kann.
Diskussion und Infos dazu findet ihr auf Facebook und RC-Groups.
Download: https://jflight.net/ und https://github.com/jflight-public/jesc-configurator/releases
BLHeli_M #
Nachdem JESC ein großer Fortschritt für BLHeli_S Hardware wurde und es keinen Grund mehr gibt die originale BLHeli_S Firmware zu nutzen, wurde vielen die Bedeutung und Verbreitung der Hardware klar und auch in die Weiterentwicklung dieser kam wieder Schwung. Allem voran wurde der Jazz Maverick Fork bekannt, denn dieser ermöglichte erstmals bidirektionales DShot nun auch ohne Lizenzgebühren auf BLHeli_S Hardware. Einige kommen mit der Beta-Firmware gut klar, allerdings treten die verschiedensten Probleme häufig auf. Um diese zu lösen und neue Funktionen einzuführen entwickelten sich mehrere “parallele“ Projekte von Jazz Maverick. Diese wurden, zur Verwirrung aller, mit den verschiedensten Versionsnummern von BLHeli_S versehen ohne dass dies eine Rangfolge darstellt. Im Verlauf kommt etwas Licht ins Dunkel da zumindest der Folk nun den Code BLHeli_M trägt. Trotzdem kann man keine klare Ansage machen welche Firmware Version im Alltag fehlerfrei verwendbar ist. Es bleibt nur sich im entsprechenden Forum einzulesen und anschließend „sein Glück zu versuchen“: https://github.com/JazzMaverick/BLHeli und
https://github.com/JazzMaverick/BLHeli/wiki
Kritik: große Teile des verwendeten Codes um das bidirektionale DShot Protokoll sind von JESC mittels revers Engineering abgeschrieben. Da JESC nicht open-source ist wird dem Entwickler von BLHeli_M Ideendiebstahl vorgeworfen.
Seit Version BLHeli_M 16.9 gibt es zwei neue Features, die als stabil angesehen werden:
CE (Commutation Enhancement) #
CE erhöht die Spannung zu Beginn einer jeden Kommutierung. Genau genommen wird die Phase wie lang der Strom angeschaltet wird verlängert. Dies unterstützt u.a. das Starten der Motoren. Das Problem mit stotternden Motoren beim armen wird verringert. Zudem reagiert der Motor etwas schneller auf Änderungen des DShot-Befehls vom FC. Als Ergebnis drehen die Motoren bei gleicher Throttle-Stellung etwas schneller.
! Kommentar beachten !
ESC-FF (ESC Feedforward) #
Motoren reagieren schneller auf DShot command Änderungen. Feedfoward in Betaflight muss nun niedriger eingestellt werden. Erlaubt Feedforward Wirkung bei FC-Firmwares die kein FF unterstützen (Emuflight). Da BLHeli_M keine weiteren Programmierpositionen kennt werden PWM Frequenz, CE und ESC-FF über die nicht genutzten PPM-Min und PPM-Max Werte programmiert.
Bequemer ist es diesen Fork des BLHeli_M Configurators von Asizon zu nutzen, der das Flashen und Einstellen der BLHeli_M Version erleichtert:
Kommentar #
Derzeit empfehle ich der Einfachheit halber, wenn möglich, auf BLHeli_32 Hardware mit F3 Chip zu setzen. Nur diese Hardware bietet derzeit dynamische PWM-Freuquenzanpassung. Sollte nur BLHeli_S Hardware möglich sein, dann würde ich zum aktuellen Bluejay raten. Gern kann man auch BLHeli_M versuchen. Die Version 16.73 soll RPM-Filterung problemlos ermöglichen. Version 16.9 (= RC6) wird als stabil angepriesen und ermöglicht die neuen Features CE und ESC-FF. Allerdings scheint CE deutliches Rauschen im Gyroskop zu erzeugen und außerdem wird über heiße Motoren berichtet. Es liegen hierzu sehr durchmischte Erfahrungsberichte vor, sodass ich derzeit hiervon abraten würde.
Hintergrundwissen #
Die ersten Quadcopter-Bastelprojekte nutzten noch brushed motors, also kohlebürsten-getreibene Motoren welche mit selbstgebauten Reglern betrieben wurden. Dies waren meist einfache Transistoren mit ein paar Widerständen auf einer Lochleiterplatte. Im Verlauf folgte dann der Einsatz von bürstenlosen Motoren (brushless motors) und der Einsatz von Reglern aus dem Flugzeug- und Helikopter-Modellbau. Hier wurden von verschiedenen Herstellern meist open-source Designs genutzt und auch mit open-source Firmware bespielt. Dies erlaubte den Austausch der Firmware gegen eine für den Einsatz bei Quadcoptern besser geeignete Firmware. Der erste bekannte Vertreter war hier SimonK von Simon Kirby. Geflasht wurde noch manuell mit USB-FTDI-Adaptern, also nix plug and play wie heute. Auch spezielle Aufsatz-Adapter für den ATmega Chip wurden verwendet.
Eine weitere Firmware war BLHeli, eigentlich mehr aus der Helicopter-Ecke, wie der Name schon sagt. Der Entwicklungszweig um BLHeli_S um den Entwickler Simon Skaug (sskaug) wird bis heute standardmäßig bei vielen ESCs aufgespielt und ausgeliefert. Vorteil für die Hersteller: die Firmware ist kostenlos.
Da eine Entwicklung viel Zeit erfordert und die Hersteller der ESCs mit der kostenlos zur Verfügung gestellten Arbeit der Entwickler recht gut Geld verdienen, haben sich die Entwickler entschlossen die Weiterentwicklung von BLHeli_S einzustellen und sich mehr dem parallelen Projekt BLHeli_32 zu widmen. Einerseits ist der Speicherplatz in den BLHeli_S Chips erschöpft und es ist daher nur sehr schwer möglich neue Funktionen einzuführen. Dies ist bei BLHeli_32 ESCs einfacher möglich. Andererseits kostet die Verwendung des BLHeli_32 Designs für ESC Hersteller eine Lizenzgebühr. Darüber wird die Arbeit der Entwickler finanziert. Der Support sollte also eigentlich bei BLHeli_S 16.7 enden.
Mit der Einführung der RPM Filter ist aber eine passende ESC-Firmware die bidirektionales DShot, also auch eine DShot Telemetrie mit Übertragung der aktuellen Drehzahl des Motors zurück an den Flight-Controller, notwendig. Ursprünglich war nur geplant eine Unterstützung für BLHeli_32 bereitzustellen. Im Bereich von Quadcoptern ab 3 Zoll aufwärts ist eine Umstellung ohne Probleme möglich. Im Bereich von Whoops mit 65-100mm Motordiagonale ist jedoch die Unterbringung der SMD-Bauteile der vier BLHeli_32 ESCs auf den kleinen AIO Boards nur schwer möglich. Auch war nicht jeder bereit funktionierende BLHeli_S ESCs aus seinen 5 Zoll Quads zu tauschen, nur um ein Software-Update durchzuführen. Zudem sind BLHeli_32 ESCs aufgrund der aufwendigeren Hardware und den Lizenzgebühren teurer. Als Lösung des Problems kam JESC auf den Markt und brachte bidirectional Dshot auf auf BlHeli_S Hardware. Seit dem gibt es mehrere zur Auswahl stehende alternative Firmwares und die Entwicklung hat noch nicht geendet. Ein tolles Beispiel für die Vorteile von open source Software.