Zusammenfassung: #
- FW 32.7 oder 32.8.3 testcode verwenden, nicht 32.8 oder 32.8.2.
- PWM min: kleinst mögliche Einstellung, PWM max: by rpm
- Motor Timing auf 16, wer mehr Sicherheit möchte auf 21 Grad stellen
- Rampup Power 50%, außer für Whoops oder 7 Zoll und größer, hier höher
- Bei Problemen: Desync Artikel beachten
BLHeli_32 #
ESCs mit 32bit Hardware verwenden meist die closed source Firmware BLHeli_32. Meilensteine der letzten Zeit sind die Unterstützung von bidirectional DShot für RPM-Filterung ab Version 32.7 und dynamische PWM Frequenz ab Version 32.8. In den allermeisten Fällen erfolgt die Verbindung zum ESC über den Flight-Controller (serial passthrough).
Downloadlink: BLHeli_32 Suite Dokumentation: *.pdf
Firmware Update #
Verbindet euch zu euren ESCs (sind ja meist 4). Solltet ihr mehrere COM-Ports angezeigt bekommen nutzt den, den ihr in Betaflight auch nutzt. Achtung, ihr könnt nur mit Betaflight oder BLHeli Suite 32 einzeln zugreifen, nicht gleichzeitig. Am besten also Betaflight wieder schließen. Klickt nun auf Connect und Read ESCs. Speichert die aktuelle Einstellung (ESC Setup – ganz oben links) oder macht einen Screenshot vom ESC overview Reiter. Klickt auf ESC Flash und holt euch die aktuelle Firmware-Version für eure ESCs. Nicht jeder Hersteller stellt zum Release-Termin die aktuelle Firmware für seine ESCs bereit. Solltet ihr die aktuelle Version nicht angezeigt bekommen heißt es Geduld haben. Ihr könnt die Einstellungen (settings) beim flashen übernehmen. Allerdings ändert der Hersteller manchmal einen Parameter, dieser wird dann nach dem flashen auf Default-Werte gesetzt. Im Zweifel schaut ihr in euer Backup.
Nutzt entweder BLHeli 32.7 oder 32.8.3 testcode. Leider hat BLHeli 32.8.1 und 32.8.2 einige Bugs. Den aktuellen Testcode findet ihr hier. Keine Angst, der fliegt stabil. Achtet in BLHeli_32 Suite auf die genaue Bezeichnung der Firmware! Das flashen des Testcodes funktioniert nur mit dem Flash-Buttin im Reiter „ESC Setup“, nicht unter ESC Flash. Klickt bei der Versionsauswahl auf „ignore“ und wählt die entsprechend von github geladene *.hex Datei aus. Für jeden der ESCs muss der Vorgang wiederholt werden.
Einstellungen #
Am schnellsten seht ihr die Einstellungen eures ESCs im ESC overview Reiter. Hier sind die Einstellungen, die den Default-Werten entsprechen normal dargestellt, geänderte Einstellungen sind fett gedruckt.
Die Einstellungen können für einen ESC einzeln, oder für mehrere gleichzeitig geändert werden. Dazu klickt ihr auf ESC Setup:
In oben genanntem Beispiel werden die Werte für alle 4 ESCs gleichzeitig geändert. Wollt ihr die Einstellung nur eines ESCs verändern (zum Beispiel die Drehrichtung des Motors), dann wählt im ESC Selector nur diesen einen ESC aus. Alle nicht ausgewählten ESCs werden durch … dargestellt.
Nach dem Ändern der Einstellungen immer mit Write Setup die Einstellungen speichern. Vor dem nächsten Flug immer den ESC neu booten (Strom ab und wieder ran), neu verbinden und die Einstellungen neu auslesen und kontrollieren ob auch wirklich alles stimmt. Man vergisst schnell einmal auf Write setup zu klicken…
Nicht alle Einstellungen werden für moderne Quadcopter benötigt. Einige beziehen sich auf alte Signalprotokolle zwischen FC und ESC, andere werden nur für Wings oder Flugzeugmodelle genutzt. Hier die relevanten Einstellungen für Quadcopter.
Empfehlung: Ihr solltet die alle Einstellungen auf Default-Werten lassen, außer ihr habt Probleme zu lösen. Ausnahmen sind Motor Direction die PWM-Frequenz. Letztere sollte auf den kleinsten verfügbaren Wert und „by rpm“ eingestellt werden (ab Version 32.8.3; Verfügbarkeit je nach Freigabe des Herstellers).
! Änderungen der folgenden Einstellungen können zu Überhitzung und Zerstörung von Motoren und ESCs führen oder Flyaways auslösen. Seid vorsichtig wenn ihr diese Einstellungen ändert!
Motor Direction #
Der wohl wichtigste Punkt. Hier wird eingestellt ob ihr „normal“ FPV fliegt oder 3D. (Wenn ihr nicht wisst was 3D Flug ist, dann fliegt ihr normal.) Nach dem Aufbau des Quadcopters und festlegen der Drehrichtung der Motoren in Betaflight müsst ihr kontrollieren ob die Motoren tatsächlich in die eingestellte Richtung drehen. Ist dies nicht der Fall kann man zwei beliebige Motorkabel an dem betreffenden ESC tauschen/ umlöten. Eleganter ist es den Konfigurator zu öffnen und an dem betreffenden ESC die Drehrichtung auf „reversed“ zu ändern.
PWM-Frequenz #
Die Pulswellenmodulationsfrequenz gibt an wie oft pro Sekunde die MCU die FETs an oder abschaltet. Je höher desto schneller kann die MCU des ESC auf Signaländerungen aus dem DShot Signal reagieren. Höhere Werte erzeugen eine effizientere Motoransteuerung mit weniger Stromverbrauch, damit längere Flugzeit und smootheren Motorlauf. Jedoch verlieren die Motoren Drehmoment im niedrigen Drehzahlbereich. Des Weiteren gibt es einen Bereich in dem es zwischen der PWM Frequenz und der back EMF zu Interferenzen kommt. An diesem Punkt „ziehen sich diese Signale gegenseitig an“. Es entsteht das Gefühl das die Drehzahl an einer bestimmten Gashebelstellung „kleben“ bleibt. Um dieses Problem zu lösen wurde die dynamische PWM-Frequenz „by rpm“ Regelung eingeführt. Bei niedriger Gashebelstellung wird die niedrige PWM-Frequenz angewendet. Dies erzeugt mehr Drehmoment (und braking power) bei niedrigen Drehzahlen. Wenn man die Gashebelstellung erhöht wird die PWM Frequenz ebenso langsam erhöht um bei hohen Drehzahlen smootheren Motorenlauf zu erzeugen und effizienter Strom zu verbrauchen. Empfohlene Einstellung ist „by rpm“. Dies wählt man indem der PWM Frequency High Slider nach ganz rechts geschoben wird. Gern könnt ihr auch andere Bereiche versuchen, hier kann nichts schlimmes passieren. Nicht jeder Hersteller gibt für seine ESCs jeden Bereich frei, da dies von der Leistungsfähigkeit der verbauten MCU abhängt. Wundert euch also nicht wenn ihr zum Beispiel nur 48-96khz auswählen könnt. Nachtunen der PIDs ist bei Änderung nötig! Am besten vor dem PID-Tunen einstellen.
Weiterführende Infos findet ihr auch in dem PWM-Tuning Artikel.
Rampup Power #
Bei BLHeli_S (ohne 32) auch Start-Up power genannt. Wenn ein Motor anläuft (armen, nach Kontakt mit einem Ast oder einer Gatestange) benötigt dieser mehr Kraft um sich in Bewegung zu setzen. Ist diese nicht optimal auf den Motor abgestimmt läuft der Motor nicht an oder „zuckt“. Sollte dies passieren kann man versuchen die Rampup-Power zu senken (wenn das nicht hilft zu erhöhen). Meist kann man diese aber Default lassen. Des Weiteren gibt Rampup Power vor wie stark ein Motor auf eine Änderung im DShot Signal reagiert. Höhere Werte ergeben eine straffere Einstellung, heißt der Motor reagiert aggressiver. Dies erhöht zwar die Performance, aber steigert auch Stromverbrauch. Einher geht auch eine erhöhte Gefahr für Desyncs. Durch den erhöhten Stromdurchsatz entsteht mehr Abwärme. Treibt man die Einstellung zu hoch können Windungen im Motor schmelzen (smoke a motor).
50% ist in den allermeisten Fällen optimal. Builds welche stark von dem typischen Schub/- Gewichtsverhältnis abweichen können von einer Änderung der Rampup Power profitieren. Leichte 5 Zoll Toothpicks Builds haben manchmal unsauberen Motorenlauf im Leerlauf nach dem armen. Hier kann eine Reduktion der Rampup Power helfen. 7-10 Zoll Quadcopter benötigen manchmal eine etwas höhere Rampup Power. Achtet unbedingt auf die Motortemperatur. Höhere Werte können Gyronoise durch die höheren back EMF Ströme erzeugen.
Motor Timing #
Wenn der Magnet am Stator vorbeiläuft wird dieser zunächst von diesem angezogen. Beim durchschreiten des Totpunktes wird die Spannung auf der entsprechenden Phase des Stators auf 0 gedreht. Sobald der Magnet am Stator vorbeigelaufen ist wird eine umgekehrte Spannung auf die Phase des Stators gelegt und der Magnet wird abgestoßen. Wann genau die Spannung abgedreht und wieder aufgedreht wird, wird über das Motor Timing gesteuert. Je höher das Timing, desto mehr Zeit wird der Durchschreitung des Totpunktes eingeräumt. Dies erlaubt der Spule etwas mehr Zeit sich zu demagnetisieren. Höhere Werte beugen bei schnellem Gasgeben Desyncs und Motorstottern vor, verschlechtern die Effizienz aber leicht. Die Auto-Funktion steuert das Timing dynamisch, bleibt aber immer recht konservativ. Den meisten Racern und aggressive Freestylern wird ein höheres Timing von 20-24 deg als Schutz vor Desyncs empfohlen, auch wenn hierdurch etwas Leistung verloren geht. Zudem werden die Motoren etwas smoother, wodurch die PIDs etwas aggressiver eingestellt werden können. Leider verliert man minimal Flugzeit. Die maximale Performance erreicht man mit 16 deg.
Übrigens: Das Häuschen setzt den eingestellten Wert auf Default zurück.
Demag Compensation #
Habt ihr Desyncs ist dies die erste Einstellung mit der man versuchen sollte das Problem zu lösen. Stellt man high ein und es kommt zu einer Fehldetektion des Totpunktes wird aggressiver die Spannung, die auf die nächste Phase gegeben wird, reduziert um einen unkontrollierbaren Desync zu vermeiden. Gegenüber dem Motor Timing hat dies den Vorteil, dass die Effizienz nicht leidet.
Beacon/ Signal Volume #
Je höher desto lauter. Bedenkt das bei Dauerpiepsen (Failsave oder Quadcopter verloren) die Motoren warm werden. Mit höherer Einstellung steigt die Gefahr, dass ein Motor durchbrennt.
Music note config #
Individualisiert eure Melodie beim booten der ESCs. Auf Youtube einfach BLHeli_32 startup music eingeben eingeben. Eine schöne Auswahl findet ihr in dieser Youtube Playlist.
Eine gutes Erklärvideo dazu, was jede Einstellung macht:
AM32 #
Eine open-source alternative Firmware für BLHeli_32 Hardware ist AM32. Diese wurde von Grund auf neu geschrieben. Derzeit wird noch nicht jeder ESC unterstützt. Der Bootloader muss mit einem STLink-Adapter neu geflasht werden, bevor die eigentliche Firmware geflasht werden kann. Schaut auf Github-Seite vorbei, wenn ihr mehr erfahren wollt.
Hauptunterschied ist die Art und Weise wie die dynamische PWM Frequenz umgesetzt wird. Anders als bei BLHeli_32 ist nicht abhängig von der Gashebelstellung (genau genommen dem DShot o.ä. Signal) sondern von den detektierten Umdrehung (back emf current). Zwischenzeitlich hat BlHeli 32 aber ein Update bekommen. Ab Version 32.8.2 wird hier das gleiche Prinzip verwendet. Aktuell fehlen zu AM32 vs. BlHeli 32 genauere Informationen und Vergleiche.