Ein ESC muss bei den bei uns verwendeten bürstenlosen Motoren erkennen wie die Spulen zu den Magneten stehen. Je nachdem wie herum er Spannung auf eine Phase des Motors legt ziehen die Spulen die Magneten zu sich hin. Ist der Magnet genau vor der Spule muss die Spannung 0 werden, dies nennt man Totpunkt. Anschließend legt der ESC Spannung in die entgegengesetzte Richtung an. Die Spule stößt den Magneten weg und zieht den nächsten Magneten, der umgekehrt gepolt ist, an. Diese Abfolge passiert in jedem Motor drei Mal parallel, daher die drei Kabel am Motor, je eines für jede Phase.
Der ESC erkennt die genaue Position der Magnete, da die sich bewegenden Magneten in jeder Spule eine Spannung induzieren (siehe back EMF constant). Kommt es hier zu Fehlern beim Erkennen dieser induzierten Spannung passiert es manchmal, dass der ESC die Position der Magnete nicht korrekt identifiziert. Er dreht die Spannung hoch, aber die Magnete reagieren nicht wie erwartet (drehen sich nicht mit der erwarteten Drehrate um die Spulen). Im schlimmsten Fall ist die Polarität der Spannung irgendwann genau verkehrt herum und die Magnete die angezogen werden sollen werden abgestoßen und andersherum. Der Motor blockiert plötzlich. Ein Desync liegt vor. Der FC signalisiert dem ESC „nun mach schon, dreh den Motor“ – gibt 100% im Blackbox Log vor, aber der Motor dreht sich nicht mit 100%.
In der Blackbox sieht man eine plötzliche strich-gerade horizontale Linie bei 100% bei dem betroffenen Motor. Sonst wackelt die Motorenlinie ja immer leicht. Im Piktogramm des Quadcopter wird der entsprechende Motor mit 100% (ausgemalt) dargestellt. Wichtig: der Motor leistet nicht 100% Schub, das verlangt der FC nur von ihm. Auffällig in der Setpoint-Kurve (oder dem Steuerknüppel-Piktogramm) ist, dass kein adäquater Stickinput dazu gegeben wurde. Äußere Einflüsse wie Wind können so etwas nicht auslösen. Ein Hängenbleiben an einer Gate-Stange oder Ast wäre denkbar, erzeugt aber hinterher, durch das starke Trudeln des Quadcopters, eine heftige Reaktion des PID-Controllers und der Motoren um diesen wieder einzufangen. Hier ist die Reaktion kurz (siehe einzelne kurze Motorpeaks nach dem Desync) und schon ist der Quadcopter stabil eingefangen. Er ist nicht getrudelt, sondern hat nur kurz „genickt“.
Zum Glück hat jeder ESC eine ausgefeilte Desync-Protection programmiert. Meist stürzt der Quadcopter nicht ab, sondern nickt nur kurz aber heftig in die Richtung des desyncenden Motors und fängt sich wieder. Sollte dies vereinzelt passieren (alle 20 Flüge 1x) würde ich gar nix machen. Passiert es häufiger hilft es am ESC folgende Einstellungen zu versuchen:
- Demag Compensation: high
- Motor-Timing: fix, ggf. erhöhen (22-24 für 5 Zoll, 19 für 7 Zoll), auto deaktivieren
- Ramp-up-power: reduzieren (25% oder 12,5%)
- Bei BLHeli_S kann man versuchen die Deadtime (Zeit über den Totpunkt) zu erhöhen. Das ist die Zeit die der ESC beim Passieren des Totpunktes wartet. Habt ihr einen ESC mit z.B. der Firmware O_H_5 könnt ihr zum Beispiel versuchsweise die Firmware O_H_20 flashen und schauen ob die Desyncs verschwinden. 1 entspricht 20,4 ns die der ESC für das Vorbeigehen der Deadtime wartet. Firmwares mit höherer Deadtime sind kein Problem für den ESC. Sie verschlechtern im schlimmsten Fall die Effizienz ein wenig. Zu niedrige Deadtime hingegen kann Motoren heiß laufen lassen. ESC mit der Firmware X_X_00 haben eine automatische Deadtime-Einstellung. Hier funktioniert der Trick nicht.
- Zudem sollte dynamic idle und dshot idle nicht zu niedrig sein.