Desynchronizacja ESC nie oznacza po prostu, że „silnik się zatrzymał”. W bezczujnikowym napędzie BLDC regulator musi po każdym przełączeniu tranzystorów rozpoznać położenie wirnika z napięcia siły przeciwelektromotorycznej, przewidzieć następny moment komutacji i utrzymać właściwą kolejność faz. Desync następuje wtedy, gdy estymowana sekwencja przestaje odpowiadać rzeczywistemu ruchowi wirnika. Silnik może szarpnąć, zapiszczeć, nagle stracić moment albo na chwilę obracać się nieregularnie, mimo że flight controller nadal wysyła prawidłową komendę.[1][2][3]
Taki sam objaw na nagraniu może jednak spowodować przerwany przewód fazowy, reset ESC, zapad napięcia, zatrzymanie mechaniczne, błędny sygnał sterujący albo celowe ograniczenie prądowe. Dlatego ustawienie wyższego „motor timing” bez ustalenia mechanizmu awarii nie jest diagnozą. Poprawna analiza łączy ślad komendy z flight controllera, telemetrię eRPM i status ESC, napięcie oraz prąd, temperaturę, zapis żyroskopu i oględziny napędu.
Spis treści#
- Co dokładnie traci synchronizację
- Komutacja sześciostopniowa
- Back-EMF i przejście przez zero
- Rozruch bez informacji o położeniu
- Prędkość elektryczna i mechaniczna
- Okno komutacji, blanking i demagnetyzacja
- Timing advance
- Jak wygląda zdarzenie desync
- Objawy podobne do desync
- Obciążenie aerodynamiczne i bezwładność
- Niski gaz, napływ i hamowanie
- Zasilanie ESC
- Przewody fazowe i silnik
- Sygnał DShot
- Bidirectional DShot i eRPM
- EDT i diagnostyka wewnętrzna ESC
- Blackbox i korelacja kanałów
- Ustawienia wpływające na synchronizację
- Motor timing
- Demag compensation
- Startup power
- PWM frequency
- Idle i Dynamic Idle
- DShot150, DShot300 i DShot600
- Procedura diagnostyczna
- Test bez śmigła
- Test z obciążeniem
- Macierz prób
- Kryteria przerwania testu
- Naprawa a maskowanie problemu
- Projektowanie odpornego napędu
- Powiązane tematy
- Przypisy
Co dokładnie traci synchronizację#
W typowym ESC do multirotora nie ma enkodera ani czujników Halla. Regulator zna napięcie szyny DC, stan własnych tranzystorów i napięcia faz, ale nie mierzy bezpośrednio kąta wirnika. W danym kroku komutacji dwie fazy są sterowane, a trzecia pozostaje chwilowo nieaktywna i służy do obserwowania back-EMF. Z wykrytego przejścia napięcia tej fazy przez punkt odniesienia firmware wyznacza moment następnego przełączenia.[1][2]
Synchronizacja jest więc zgodnością trzech rzeczy:
- rzeczywistego położenia pola magnetycznego wirnika,
- kroku komutacji, który ESC uważa za aktualny,
- czasu do kolejnej komutacji przewidzianego z poprzednich zdarzeń.
Jeżeli detektor przyjmie zakłócenie za przejście przez zero, pominie prawdziwe przejście albo zobaczy je poza dozwolonym oknem, następny krok może zostać wykonany za wcześnie, za późno lub w złej kolejności. Pole stojana przestaje wtedy wytwarzać oczekiwany moment. Wirnik zwalnia, a jego nowe tempo jeszcze bardziej rozmija się z prognozą. Jest to dodatnie sprzężenie prowadzące do utraty komutacji.
Nie każdy pojedynczy błędny pomiar kończy się desync. Firmware może stosować okna czasowe, cyfrowe filtrowanie większościowe, odrzucanie impulsów podczas przełączania oraz kontrolę kolejności zdarzeń. AM32 zawiera mechanizmy kontroli przejść przez zero, czasu komutacji, stanu demagnetyzacji i ponownego wejścia w sekwencję po utracie obrotów; szczegóły zmieniają się między wydaniami, dlatego parametrów z jednego firmware nie należy mechanicznie przenosić do innego.[3][8]
Komutacja sześciostopniowa#
W klasycznym sterowaniu trapezoidalnym sześć stanów powtarza się w każdym obrocie elektrycznym. Upraszczając, jedna faza jest dołączona do dodatniej szyny, druga do ujemnej, a trzecia jest obserwowana. Następny stan przesuwa wymuszone pole o 60 stopni elektrycznych. Kolejność faz determinuje kierunek obrotu.
| Krok | Faza zasilana „wysoko” | Faza zasilana „nisko” | Faza obserwowana |
|---|---|---|---|
| 1 | A | B | C |
| 2 | A | C | B |
| 3 | B | C | A |
| 4 | B | A | C |
| 5 | C | A | B |
| 6 | C | B | A |
Tabela pokazuje zasadę, nie schemat bezpośredniego sterowania bramkami. Rzeczywisty mostek trójfazowy ma tranzystor górny i dolny dla każdej fazy, dead time chroniący przed zwarciem szyny oraz modulację PWM regulującą średnie napięcie. Firmware musi też uwzględnić czas propagacji komparatora, opóźnienia filtrów, przewodzenie diod i zachowanie synchronicznego prostowania.
W napędzie o sterowaniu sinusoidalnym lub FOC estymacja kąta wygląda inaczej. Słowo „desync” jest jednak potocznie używane głównie dla szybkich, bezczujnikowych ESC z komutacją trapezoidalną. Przed interpretacją parametrów trzeba ustalić, jaki algorytm i firmware naprawdę działa w regulatorze.
Back-EMF i przejście przez zero#
Obracający się silnik działa jednocześnie jak generator. W niepobudzanej fazie indukuje się napięcie zależne od prędkości i strumienia magnetycznego. Dla uproszczonego modelu:
e = K_e · ω
gdzie e jest siłą przeciwelektromotoryczną, K_e stałą silnika, a ω prędkością kątową. Przy małej prędkości sygnał jest słaby, natomiast szpilki od przełączania PWM, pojemności pasożytnicze i prąd wygaszający się w uzwojeniu pozostają znaczące. Stosunek sygnału użytecznego do zakłóceń jest więc najgorszy właśnie w pobliżu zatrzymania.[2][3]
Przejście przez zero nie musi oznaczać napięcia równego 0 V względem masy. W topologii bez wyprowadzonego punktu neutralnego porównuje się napięcie wolnej fazy z wirtualnym punktem neutralnym lub odpowiednio przeskalowaną połową napięcia szyny. Detekcja musi działać mimo tętnień zasilania i zmieniającego się wypełnienia PWM.
Po wykryciu przejścia ESC zwykle nie komutuje natychmiast. Dla idealnego przebiegu trapezoidalnego punkt zerowy występuje około 30 stopni elektrycznych przed optymalnym kolejnym krokiem. Firmware mierzy odstęp między zdarzeniami, filtruje go i planuje komutację z uwzględnieniem timingu. Gwałtowna zmiana prędkości narusza założenie, że kolejny okres będzie podobny do poprzedniego.
Rozruch bez informacji o położeniu#
W spoczynku back-EMF wynosi praktycznie zero, więc bezczujnikowy ESC nie zna kąta wirnika. Rozruch zaczyna w otwartej pętli: ustawia znaną sekwencję pól, zwiększa częstotliwość komutacji i oczekuje, że wirnik podąży za polem. Dopiero po osiągnięciu wystarczającej prędkości przechodzi na detekcję back-EMF.[1][2]
Zbyt mały moment rozruchowy nie pokona tarcia i obciążenia śmigła. Zbyt agresywny impuls może natomiast spowodować duży prąd, odbicie wirnika lub przeskoczenie oczekiwanej pozycji. Uszkodzone łożysko, ocierający dzwon, zbyt ciężkie śmigło i niska temperatura zwiększają wymagany moment. Parametr opisany jako startup power wpływa na ten etap, ale nie naprawi przerwanego uzwojenia ani źle dobranego napędu.
Charakterystyczne wielokrotne „tykanie” przy próbie ruszenia częściej wskazuje na nieudany rozruch, brak jednej fazy lub blokadę mechaniczną niż na desync występujący dopiero przy wysokim gazie. Rozróżnienie momentu zdarzenia jest pierwszym ważnym filtrem diagnostycznym.
Prędkość elektryczna i mechaniczna#
ESC komutuje według prędkości elektrycznej, nie mechanicznej. Dla silnika z P biegunami:
eRPM = RPM_mech · P / 2
RPM_mech = eRPM · 2 / P
Silnik czternastobiegunowy ma siedem par biegunów, zatem przy 10 000 obr./min wirnika jego prędkość elektryczna wynosi 70 000 eRPM. Liczba magnesów w dzwonie jest w praktyce liczbą biegunów używaną w konfiguracji telemetrii. Błędny parametr pole count nie musi zatrzymać silnika, lecz fałszuje przeliczenie RPM, filtr RPM i funkcje zależne od prędkości.[6]
Wysokie KV, wysokie napięcie i wiele par biegunów zwiększają częstotliwość zdarzeń elektrycznych. ESC ma wtedy mniej czasu na pomiar, filtrację i zaplanowanie komutacji. Z kolei przy bardzo niskiej prędkości problemem jest mała amplituda back-EMF. Napęd może więc mieć dwa odrębne obszary ryzyka: blisko zatrzymania i przy maksymalnej prędkości elektrycznej.
Okno komutacji, blanking i demagnetyzacja#
Bezpośrednio po przełączeniu faz napięcia zawierają duże składowe przejściowe. Detektor powinien przez krótki czas ignorować wejście — jest to blanking. Jeśli okno będzie za krótkie, szpilka może zostać uznana za prawdziwe przejście przez zero. Jeśli będzie za długie, firmware przeoczy użyteczne zdarzenie, zwłaszcza przy dużej eRPM.[2][3]
Prąd uzwojenia nie znika natychmiast po komutacji. Energia indukcyjności przepływa przez tranzystory lub diody, a napięcie wolnej fazy nie reprezentuje jeszcze czystego back-EMF. Ten okres bywa opisywany jako demagnetyzacja. Duży prąd, wysoka indukcyjność, ostre zmiany wypełnienia i ciężkie śmigło mogą go wydłużyć. Mechanizm kompensacji demagnetyzacji opóźnia lub kwalifikuje pomiar tak, aby nie pomylić wygaszania prądu z położeniem wirnika.
Nie istnieje jedna optymalna wartość blankingu i kompensacji dla wszystkich silników. Zbyt zachowawcze ustawienie ogranicza zakres prędkości lub dynamikę, a zbyt słabe zwiększa podatność na fałszywe przejścia. Nazwy poziomów „low/high” w różnych rodzinach ESC nie muszą odpowiadać identycznemu algorytmowi.
Timing advance#
Motor timing określa, jak wcześnie względem estymowanego położenia wirnika nastąpi komutacja. Większe wyprzedzenie może poprawić pracę przy wysokiej prędkości elektrycznej i w niektórych kombinacjach silnik–śmigło ograniczyć utratę synchronizacji. Jednocześnie zwykle zwiększa prąd jałowy, straty przełączania lub temperaturę i może obniżyć sprawność.[1][8]
Timing nie jest odpowiednikiem „mocy ESC”. Zmienia relację fazową pola i wirnika. Zbyt mały albo zbyt duży może pogorszyć zachowanie, zależnie od indukcyjności silnika, liczby biegunów, obciążenia i implementacji firmware. Dlatego wynik ocenia się równocześnie po liczbie zdarzeń, prądzie, temperaturze i uzyskiwanym ciągu, a nie tylko po tym, czy silnik przestał piszczeć.
Jak wygląda zdarzenie desync#
Typowy ślad ma następującą kolejność:
- flight controller zwiększa lub utrzymuje komendę dla danego silnika,
- raportowana eRPM jednego napędu gwałtownie spada, staje się nieregularna albo znika,
- sterownik postawy próbuje skompensować utratę momentu i podnosi komendę tego silnika,
- żyroskop rejestruje odchylenie wokół osi odpowiadającej położeniu silnika,
- ESC może zgłosić stall, desync, excessive demag lub inny status,
- napęd odzyskuje obroty albo pozostaje poza synchronizacją do obniżenia gazu.
Najsilniejszym dowodem jest rozjazd „komenda pozostaje wysoka, eRPM zapada się”, uzupełniony zdarzeniem z ESC. Sam pik żyroskopu jest dowodem utraty ciągu, ale nie jej elektrycznej przyczyny. Sam brak telemetrii RPM może wynikać z błędu kanału zwrotnego DShot.
Przy braku telemetrii wskazówką bywa komenda silników: regulator zwiększa wyjście po stronie, która przestała wytwarzać moment, podczas gdy statek obraca się w przeciwną stronę. Nie wolno jednak wnioskować wyłącznie z jednego kanału — miksowanie, saturacja i kolejność numeracji silników mogą prowadzić do błędnej identyfikacji.
Objawy podobne do desync#
| Mechanizm | Komenda FC | eRPM/status ESC | Napięcie i prąd | Typowe dodatkowe ślady |
|---|---|---|---|---|
| utrata komutacji | pozostaje obecna lub rośnie | RPM jednego silnika załamuje się; możliwy status desync/stall | prąd może skoczyć albo spaść | zgrzyt/pisk, odzyskanie po zmniejszeniu gazu |
| utrata sygnału sterującego | brak/nieprawidłowe ramki | zależy od timeoutu ESC | zwykle bez zapadu całej szyny | błędy DShot, problem zasobu DMA/timera lub przewodu |
| reset ESC | komenda w FC istnieje | telemetria i uptime znikają, sekwencja startowa może się powtórzyć | możliwy lokalny zapad | restart jednego ESC, zimny lut, zasilanie logiki |
| brownout wspólnego zasilania | wiele kanałów może zniknąć | restart kilku urządzeń | wyraźny spadek napięcia | reset FC, odbiornika lub kamery |
| przerwana faza | komenda istnieje | nieudany start albo nierówna praca | nietypowy prąd | silnik nie rusza także bez śmigła, zależność od położenia przewodu |
| blokada mechaniczna | komenda rośnie | RPM maleje; status stall możliwy | prąd wysoki | uszkodzone łożysko, ocieranie, ciało obce |
| odłączenie śmigła | komenda rośnie | RPM może gwałtownie wzrosnąć | prąd maleje | brak ciągu bez elektrycznej utraty obrotów |
| ograniczenie termiczne/prądowe | komenda istnieje | zależne od firmware | temperatura lub prąd na granicy | powtarzalność po nagrzaniu albo przy określonym obciążeniu |
Pojęcie „desync” powinno być wynikiem eliminacji i korelacji, a nie nazwą każdego chwilowego spadku ciągu.
Obciążenie aerodynamiczne i bezwładność#
Śmigło jest częścią pętli komutacji, ponieważ determinuje moment obciążenia i tempo zmian prędkości. W przybliżeniu moment oraz moc śmigła rosną silnie z obrotami; niewielka zmiana średnicy, skoku lub masy może znacząco przesunąć punkt pracy. Ciężki wirnik wolniej reaguje na zmianę pola, a agresywny skok komendy zwiększa różnicę między prędkością przewidywaną a rzeczywistą.
Desync pojawiający się tylko z określonym śmigłem nie dowodzi wady śmigła. Może ujawniać brak zapasu regulatora, zbyt duże obciążenie silnika, nieodpowiedni timing albo nadmierny spadek napięcia. Test porównawczy powinien używać tej samej baterii, temperatury i sekwencji komend. Wynik bez zapisu prądu i RPM ma ograniczoną wartość.
Uszkodzone, niewyważone lub odkształcone śmigło dodaje zmienne obciążenie i wibrację. Pęknięcie przy piaście może okresowo zmieniać kąt natarcia. Takie zjawisko może przypominać nieregularną komutację, lecz pozostawia także harmoniczne w żyroskopie i zwykle daje się wykryć podczas inspekcji oraz pomiaru wyważenia.
Niski gaz, napływ i hamowanie#
W locie silnik nie zawsze napędza śmigło w spokojnym, osiowym strumieniu. Po szybkim opadaniu, przewrocie lub nagłej zmianie kierunku powietrze może utrzymywać albo chwilowo odwracać ruch wirnika, gdy ESC dostaje małą komendę. Słabe back-EMF i zaburzona relacja między zadanym a rzeczywistym ruchem utrudniają ponowne przejęcie komutacji.
Zbyt niskie stałe idle pozwala zejść do obszaru, w którym silnik zwalnia nierównomiernie, zatrzymuje się lub obraca pod wpływem napływu. Podniesienie idle zwiększa margines prędkości, ale powoduje większy ciąg minimalny i „pływanie” podczas schodzenia. Dynamic Idle w Betaflight wykorzystuje zwrotną informację RPM z bidirectional DShot, aby utrzymywać minimalną prędkość zamiast tylko minimalnej wartości komendy.[5]
Aktywne hamowanie również zwiększa dynamikę prądu i wymaga od ESC poprawnego przejścia między oddawaniem energii, prostowaniem synchronicznym i ponownym napędzaniem. Problem występujący tylko po gwałtownym zamknięciu i ponownym otwarciu gazu należy badać inaczej niż utratę synchronizacji przy stałym maksymalnym obciążeniu.
Zasilanie ESC#
ESC może zachowywać się jak przy desync, gdy jego stopień mocy lub logika nie otrzymują stabilnego zasilania. Trzeba obserwować napięcie możliwie blisko regulatora, nie wyłącznie wartość raportowaną przy wejściu PDB. Rezystancja przewodów i złączy powoduje lokalny spadek:
ΔU = I · R
Przy impulsie 40 A dodatkowe 10 mΩ daje 0,4 V spadku. Taka rezystancja może pochodzić z niedolutowanego złącza, utlenionej powierzchni, zbyt cienkiego przewodu albo pękniętej ścieżki. Wartość DC zmierzona bez obciążenia może wyglądać poprawnie.
Kondensator przy ESC ogranicza wysokoczęstotliwościowe przepięcia i część tętnień, ale nie zastąpi baterii o wystarczającej wydajności ani poprawnego okablowania. Należy sprawdzić pojemność, ESR, napięcie znamionowe, polaryzację i temperaturę kondensatora. Długie przewody baterii zwiększają indukcyjność pętli i amplitudę przepięć przy przełączaniu.
W logu wspólny spadek napięcia skorelowany z problemem wielu napędów wskazuje raczej na zasilanie niż niezależny desync jednego silnika. Zdarzenie zawsze dotyczące tego samego narożnika, przy stabilnej szynie głównej, kieruje uwagę na lokalny ESC, silnik, przewody fazowe lub sygnał.
Przewody fazowe i silnik#
Przed zmianą firmware trzeba wykonać inspekcję mechaniczną i elektryczną:
- sprawdzić każdy lut przewodu fazowego pod powiększeniem i delikatnym obciążeniem mechanicznym,
- skontrolować, czy śruba mocująca nie weszła w uzwojenie,
- obrócić dzwon ręcznie i porównać opór oraz luz z pozostałymi silnikami,
- poszukać magnesu odklejonego, pękniętego lub przesuniętego,
- zmierzyć rezystancję między każdą parą faz metodą odpowiednią dla bardzo małych rezystancji,
- sprawdzić brak przewodzenia każdej fazy do stojana i ramy,
- zamienić miejscami silnik lub ESC w kontrolowanym teście, jeśli konstrukcja na to pozwala.
Zwykły multimetr ma za małą rozdzielczość, aby precyzyjnie porównać rezystancje uzwojeń rzędu miliomów. Może jednak ujawnić obwód otwarty lub zwarcie do korpusu. Do ilościowego porównania stosuje się pomiar czteroprzewodowy albo znany prąd testowy i pomiar spadku napięcia.
Przewód pęknięty wewnątrz izolacji może działać na stole i rozłączać się pod drganiami lub przy wychyleniu ramienia. Test ciągłości powinien obejmować poruszanie wiązką, ale przy odłączonej baterii. Nie wolno manipulować przewodem fazowym podczas pracy napędu.
Sygnał DShot#
DShot przesyła cyfrową 16-bitową ramkę zawierającą wartość komendy, bit żądania telemetrii i checksum. Checksum pozwala ESC odrzucić uszkodzoną ramkę; w przeciwieństwie do analogowych protokołów nie ma kalibracji zakresu impulsu. Odrzucanie błędnej ramki nie czyni jednak przewodu odpornym na dowolne zakłócenia. Seria utraconych ramek może uruchomić timeout albo spowodować nierówną aktualizację komendy.[4][7]
Oscyloskopem sprawdza się poziomy logiczne, czas bitu, zbocza, ringing oraz obecność ramek dokładnie w chwili wzrostu prądu. Masa sygnałowa FC i ESC musi mieć odpowiednie odniesienie. Pętla przewodu sygnałowego poprowadzona równolegle do faz i przewodów baterii zbiera więcej zakłóceń niż krótka trasa z bliskim przewodem odniesienia.
Jeśli problem przenosi się razem z wyjściem FC, należy sprawdzić mapowanie timerów i DMA, obciążenie procesora oraz konflikt zasobów. Jeśli pozostaje przy fizycznym ESC mimo zamiany wyjść, bardziej prawdopodobny jest tor mocy, silnik lub lokalna wiązka. Każda taka zamiana wymaga ponownej weryfikacji numeracji i kierunków bez śmigieł.
Bidirectional DShot i eRPM#
W bidirectional DShot ten sam przewód jest okresowo przełączany z nadawania komendy na odbiór odpowiedzi ESC. Odpowiedź zawiera okres komutacji, z którego firmware FC oblicza eRPM. Mechanizm jest odrębny od odwracania kierunku silnika — podobna nazwa nie oznacza rewersu napędu.[6][7]
Przed użyciem eRPM jako dowodu trzeba potwierdzić jakość telemetrii:
- odsetek błędnych odpowiedzi powinien być niski i stabilny,
- wszystkie silniki powinny raportować wiarygodne wartości w całym zakresie,
- liczba biegunów musi odpowiadać silnikowi,
- wartość RPM powinna rosnąć monotonicznie przy spokojnym zwiększaniu komendy,
- kanały muszą być poprawnie przypisane do fizycznych silników.
Jeśli błędy telemetrii rosną tylko po uruchomieniu jednego silnika, należy podejrzewać integralność sygnału, emisję przewodzoną albo lokalny problem ESC. Jeśli telemetria jest poprawna do chwili zdarzenia, a potem eRPM jednego silnika gwałtownie spada przy ciągłej komendzie, jest to silny ślad rzeczywistej utraty obrotów.
Filtr RPM wykorzystuje tę samą telemetrię do ustawiania notchów na częstotliwości podstawowej i harmonicznych silnika. Błędna liczba biegunów lub niestabilne eRPM może zatem pogorszyć również filtrację żyroskopu, choć samo strojenie filtra nie jest lekarstwem na utratę komutacji.[6]
EDT i diagnostyka wewnętrzna ESC#
Rozszerzona telemetria DShot może kodować dodatkowe stany ESC, między innymi temperaturę, napięcie, prąd albo zdarzenia związane ze stresem komutacji. Wspierane pola zależą od firmware i wersji protokołu. Dokumentacja Betaflight opisuje EDTv2 oraz zdarzenia stress, stall, desync i maximum demag jako informacje pochodzące z kompatybilnego ESC.[6][7]
Status nie jest nieomylnym raportem przyczyny źródłowej. „Stall” mówi, że algorytm stwierdził brak oczekiwanego ruchu; nie rozstrzyga, czy wirnik zablokowało ciało obce, zabrakło fazy czy pętla komutacji utraciła położenie. „Maximum demag” wskazuje trudne warunki wygaszania prądu, lecz źródłem może być dobór silnika, obciążenie, timing lub konfiguracja.
W raporcie serwisowym należy zapisać wersję firmware FC, rodzinę i wersję firmware ESC, wersję protokołu telemetrii oraz sposób odczytu flag. Bez tego nazwa zdarzenia może zmienić znaczenie po aktualizacji.
Blackbox i korelacja kanałów#
Minimalny użyteczny zestaw danych obejmuje:
- czas i komendy wszystkich silników,
- eRPM każdego silnika, jeżeli jest dostępne,
- flagi EDT lub telemetrię ESC,
- napięcie baterii i prąd,
- żyroskop oraz setpoint osi,
- wyjście regulatora PID i stan saturacji,
- stan uzbrojenia, failsafe i ograniczeń mocy,
- temperaturę ESC, jeśli jest raportowana.
Analizę wykonuje się na wspólnej osi czasu. Najpierw ustala się, co zmieniło się jako pierwsze. Jeżeli spadek eRPM poprzedza duże odchylenie żyroskopu, napęd prawdopodobnie jest inicjatorem. Jeżeli silnik dostaje skrajnie zmienną komendę w odpowiedzi na silne oscylacje konstrukcji, problem sterowania lub mechaniki mógł dopiero doprowadzić ESC do trudnego obszaru.
Warto wyznaczyć różnicę między przewidywaną prędkością a pomiarem, lecz model nie musi być skomplikowany. Dla testu na hamowni przy stałym śmigle wystarczy mapa komenda → typowe RPM z pasmem tolerancji dla napięcia. Gwałtowne odejście jednego kanału od mapy ułatwia automatyczne wykrycie zdarzenia.
Trzeba zachować log przed i po awarii. Plik kończący się dokładnie przy uderzeniu może nie zawierać bufora z ostatnich milisekund. System logowania powinien regularnie synchronizować dane, a analiza powinna uwzględniać opóźnienie i różne częstotliwości próbkowania kanałów.
Ustawienia wpływające na synchronizację#
Parametry ESC są zależne od firmware. Ten sam termin może sterować inną częścią algorytmu lub mieć inną skalę. Przed zmianą należy wyeksportować konfigurację, zapisać wersję, sprawdzić dokumentację konkretnego wydania i zmieniać jeden czynnik naraz.
| Parametr | Co może poprawić | Koszt lub ryzyko |
|---|---|---|
| motor timing | zapas przy wysokiej eRPM lub trudnym obciążeniu | większy prąd, temperatura, mniejsza sprawność |
| demag compensation | odporność na długie wygaszanie prądu i fałszywe zero crossing | ograniczenie dynamiki lub prędkości w części implementacji |
| startup power | pewniejszy start pod obciążeniem | większy impuls prądu i obciążenie mechaniczne |
| PWM frequency | kompromis hałas–straty–rozdzielczość sterowania | wzrost strat przełączania albo zmiana momentu przy niskich obrotach |
| idle | zapas prędkości przy niskim gazie | większy ciąg minimalny i zużycie energii |
| DShot rate | margines czasowy sygnału i telemetrii | wolniejsza aktualizacja lub większa podatność na zakłócenia przy zbyt szybkiej wersji |
Nie należy równocześnie podnosić timingu, demag compensation, idle i startup power. Taki test może ukryć wadę, a nie pokaże, która zmiana zadziałała i jaki ma koszt termiczny.
Motor timing#
Próbę z timingiem wykonuje się stopniowo. Dla każdego poziomu powtarza się identyczny profil komendy, mierzy maksymalny prąd, temperaturę po ustalonym czasie, ciąg i liczbę zdarzeń. Jeżeli wyższy timing usuwa desync, ale temperatura przekracza limit komponentu albo prąd rośnie ponad margines baterii, konfiguracja nie jest zaakceptowana.
Automatyczny timing w firmware nie zwalnia z walidacji. Algorytm dobiera wyprzedzenie na podstawie własnego modelu i wykrytych zdarzeń, ale nie zna temperatury uzwojenia, rzeczywistego ciągu ani jakości złącza. Należy sprawdzić cały envelope, nie tylko zawis.
Demag compensation#
Kompensację demagnetyzacji rozważa się szczególnie wtedy, gdy log lub EDT pokazuje zdarzenia maximum demag, problem koreluje z gwałtowną zmianą obciążenia, a instalacja elektryczna jest sprawna. Jej zwiększenie może dać detektorowi czas na ustalenie napięcia wolnej fazy.
Jeżeli silnik ma uszkodzony magnes, zwarcie międzyzwojowe lub za duże śmigło, silniejsza kompensacja może jedynie zmniejszyć częstość objawu. Po zmianie nadal trzeba porównać temperaturę czterech napędów. Jeden silnik stale cieplejszy od pozostałych przy tym samym profilu jest sygnałem do dalszej inspekcji.
Startup power#
Startup power dotyczy przede wszystkim wejścia z postoju w obroty. Ustawienie powinno zapewnić pewny rozruch z rzeczywistym śmigłem i w najgorszej przewidywanej temperaturze, ale nie generować niepotrzebnie dużego impulsu. Test obejmuje wielokrotne starty z różnych położeń wirnika, ponieważ usterka jednej fazy może zależeć od początkowego kąta.
Problem pojawiający się przy ponownym podjęciu obrotów po niskim idle może wyglądać jak rozruch, choć wirnik nadal porusza się od napływu. Wtedy ważniejsze mogą być minimalne RPM, algorytm przejęcia wirnika i hamowanie niż moc startowa z pełnego postoju.
PWM frequency#
Częstotliwość PWM stopnia mocy nie jest częstotliwością DShot. Pierwsza steruje przełączaniem tranzystorów mostka, druga kodowaniem komendy na przewodzie FC–ESC. Wyższy PWM może zmniejszyć słyszalny ton i zmienić gładkość momentu, ale zwiększa liczbę przełączeń MOSFET na sekundę oraz straty dynamiczne.
Wpływ na synchronizację zależy od tego, kiedy firmware próbuje mierzyć back-EMF i jak filtruje szpilki. Zmianę PWM trzeba traktować jako zmianę elektrycznego punktu pracy: powtórzyć pomiar prądu, temperatury, RPM i ciągu. Nie należy zakładać, że „więcej kHz” jest zawsze nowocześniejsze lub bezpieczniejsze.
Idle i Dynamic Idle#
Stałe idle ustala minimalną komendę po uzbrojeniu. Nie gwarantuje jednak stałych obrotów: napięcie baterii, śmigło, kierunek napływu i tarcie zmieniają RPM przy tej samej wartości. Dynamic Idle używa pomiaru eRPM i podnosi napęd tylko wtedy, gdy prędkość zbliża się do ustalonego minimum.[5]
Warunki poprawnego użycia są następujące:
- bidirectional DShot działa stabilnie na wszystkich silnikach,
- liczba biegunów jest skonfigurowana poprawnie,
- minimalne RPM ustalono testem, a nie skopiowano z innej platformy,
- sprawdzono zachowanie przy szybkich zejściach z gazu i ponownym dodaniu,
- regulator nie osiąga niepożądanie wysokiego ciągu minimalnego.
Podniesienie idle, które usuwa desync tylko dlatego, że omija uszkodzony zakres niskich obrotów, nie zastępuje kontroli silnika i ESC. Jest prawidłowym środkiem projektowym dopiero po wykluczeniu usterki.
DShot150, DShot300 i DShot600#
Liczba oznacza nominalną przepływność protokołu. Szybszy DShot skraca bit, więc pozostawia mniejszy margines na ringing, opóźnienia i jitter. Dokumentacja Betaflight podkreśla, że wyższa szybkość nie musi dawać korzyści; DShot300 jest często praktycznym wyborem dla pętli 4 kHz, a DShot600 wymaga lepszej integralności sygnału.[4][6]
Dobór powinien uwzględnić częstotliwość pętli sterowania, wsparcie timerów/DMA, długość przewodów, kompatybilność ESC i jakość zwrotnej telemetrii. Jeżeli obniżenie DShot600 do DShot300 radykalnie zmniejsza błędy ramek, znaleziono problem toru komunikacji, niekoniecznie samej komutacji silnika.
Procedura diagnostyczna#
Skuteczna procedura zawęża problem od najtańszych i najbezpieczniejszych kontroli do prób energetycznych.
- Zabezpiecz dane. Zapisz log zdarzenia, konfigurację FC i ESC, wersje firmware, baterię, śmigło, temperaturę otoczenia i opis manewru.
- Zidentyfikuj fizyczny napęd. Potwierdź numer silnika i kanału bez śmigieł. Nie polegaj na pamięci układu miksowania.
- Wykonaj oględziny. Sprawdź śmigło, dzwon, łożyska, śruby, uzwojenia, przewody fazowe, luty, przewód sygnałowy i kondensator.
- Porównaj rezystancje i izolację. Szukaj obwodu otwartego, zwarcia do ramy i asymetrii.
- Sprawdź konfigurację. Protokół, kierunek, mapowanie, pole count, wersję ESC, timing, demag, PWM i idle.
- Uruchom bez śmigła. Oceniaj start, monotoniczność RPM, błędy DShot i temperaturę bez obciążenia.
- Zamień jeden element. Jeżeli bezpieczne, zamień silnik albo ESC z kanałem kontrolnym i obserwuj, za czym przemieszcza się wada.
- Zmierz zasilanie. Rejestruj napięcie przy ESC oraz prąd podczas kontrolowanego profilu.
- Przejdź na osłoniętą hamownię. Użyj rzeczywistego obciążenia, telemetrii i zdalnego odcięcia.
- Zmieniaj jeden parametr. Powtarzaj identyczny profil i zapisuj wynik ilościowo.
- Waliduj termicznie. Po usunięciu zdarzenia sprawdź temperaturę, prąd i zapas w pełnym envelope.
- Wykonaj próbę naziemną całej platformy. Dopiero potem krótki lot w kontrolowanym obszarze.
Jeżeli wada podąża za silnikiem, bada się silnik, jego przewody i śmigło. Jeżeli pozostaje przy ESC, podejrzane są regulator, jego zasilanie i lokalny sygnał. Jeśli podąża za wyjściem FC, trzeba zbadać timer, DMA, przewód i konfigurację kontrolera.
Test bez śmigła#
Zdjęcie śmigła usuwa znaczną część energii i obciążenia, ale nie czyni testu całkowicie bezpiecznym. Luźny dzwon lub element silnika nadal może zostać wyrzucony. Platformę należy unieruchomić, zachować dystans i mieć możliwość natychmiastowego odcięcia zasilania.
Test bez śmigła potwierdza:
- pewność startu z różnych położeń,
- poprawny kierunek,
- przypisanie silników,
- działanie DShot i telemetrii,
- brak wyraźnego tarcia, drgań i nagrzewania bez obciążenia,
- podstawową ciągłość faz.
Nie potwierdza zachowania przy rzeczywistym momencie, prądzie i demagnetyzacji. ESC przechodzący wszystkie próby bez śmigła nadal może tracić komutację na ciężkim obciążeniu.
Test z obciążeniem#
Próby ze śmigłem wykonuje się w osłoniętym stanowisku lub hamowni, nigdy przez trzymanie platformy w dłoni. Mocowanie musi przenieść maksymalny ciąg i moment z zapasem, a płaszczyzna wirnika powinna być osłonięta przed personelem. Operator stoi poza płaszczyzną śmigła i używa zdalnego sterowania oraz awaryjnego odcięcia.
Profil testowy powinien być powtarzalny. Przykład bezpiecznej logiki pomiarowej to stopniowe punkty ustalone, następnie krótkie rampy i dopiero na końcu szybkie przejścia, jeżeli wcześniejsze etapy są poprawne. Nie zaczyna się od skoku 0–100%. Każdy punkt ma limit czasu, prądu, temperatury i wibracji.
Należy badać rzeczywistą kombinację silnik–śmigło–napięcie. Wynik na 4S nie waliduje tej samej konfiguracji na 6S. Naładowana bateria daje najwyższą prędkość elektryczną, a częściowo rozładowana może dać największy problem zapadu napięcia; oba stany są istotne.
Macierz prób#
Macierz zapobiega przypadkowemu strojeniu. Przykładowy arkusz:
| Próba | Silnik/ESC | Śmigło | Bateria i napięcie | Timing | Demag | Idle | DShot | Wynik |
|---|---|---|---|---|---|---|---|---|
| bazowa | A/A | typ 1 | pakiet 1, pełny | domyślny | domyślna | bazowe | 300 | liczba zdarzeń, prąd, °C |
| zamiana silnika | B/A | typ 1 | ten sam stan | bez zmian | bez zmian | bez zmian | 300 | czy wada podążyła |
| integralność sygnału | A/A | typ 1 | ten sam stan | bez zmian | bez zmian | bez zmian | 150/300 | błędy ramek |
| timing +1 krok | A/A | typ 1 | porównywalny | +1 | bez zmian | bez zmian | 300 | zdarzenia, prąd, °C |
| demag +1 krok | A/A | typ 1 | porównywalny | bazowy | +1 | bez zmian | 300 | status demag/desync |
„Ten sam stan” baterii oznacza porównywalne napięcie, temperaturę i rezystancję wewnętrzną, nie tylko ten sam egzemplarz. Kolejne próby rozgrzewają silnik i ESC, dlatego kolejność może zafałszować wynik. W badaniu porównawczym trzeba uwzględnić czas chłodzenia.
Kryteria przerwania testu#
Próbę natychmiast przerywa się, gdy wystąpi:
- mechaniczne ocieranie, pęknięcie lub poluzowanie mocowania,
- nagły wzrost wibracji,
- prąd przekraczający bezpieczny limit zestawu,
- zapad napięcia poniżej limitu elektroniki,
- temperatura rosnąca szybciej niż w próbie odniesienia,
- dym, zapach przegrzanej izolacji albo odbarwienie złącza,
- utrata telemetrii połączona z nieregularną pracą,
- powtarzalny desync, którego mechanizm nie jest jeszcze ustalony.
Nie należy „przepalać” problemu kolejnymi próbami na pełnej mocy. Zwarcie międzyzwojowe i uszkodzony MOSFET mogą pogarszać się z każdym cyklem, a późniejsza analiza będzie trudniejsza.
Naprawa a maskowanie problemu#
Zmiana ustawienia jest naprawą tylko wtedy, gdy mechanizm pasuje do obserwacji, konfiguracja zachowuje margines elektryczny i termiczny, a testy obejmują pełny zakres pracy. Jeśli jeden silnik wymaga skrajnie innego timingu niż trzy identyczne egzemplarze, bardziej prawdopodobna jest wada komponentu niż szczególna potrzeba strojenia.
Za maskowanie należy uznać między innymi:
- podniesienie idle bez sprawdzenia łożyska i faz,
- ograniczenie maksymalnego gazu bez pomiaru prądu i doboru śmigła,
- wyłączenie telemetrii, ponieważ pokazuje dużo błędów,
- zwiększenie demag do maksimum bez sprawdzenia temperatury,
- skasowanie logów i uznanie pojedynczego udanego zawisu za walidację.
Po naprawie trzeba odtworzyć pierwotny manewr w kontrolowany sposób, a następnie wykonać próby w gorszych warunkach: na pełnej baterii, przy częściowym rozładowaniu, po nagrzaniu oraz przy szybkim przejściu przez zakres, w którym występowała awaria.
Projektowanie odpornego napędu#
Najlepsza diagnostyka zaczyna się przed pierwszym lotem. Projekt powinien zapewnić:
- zapas prądowy ESC oparty na pomiarze, a nie tylko nazwie modelu,
- śmigło mieszczące silnik i regulator w zakresie temperatury,
- krótką pętlę zasilania i kondensator przy stopniu mocy,
- przewody fazowe odciążone mechanicznie,
- sygnał DShot prowadzony z dobrym odniesieniem masy z dala od faz,
- dostęp do telemetrii eRPM i temperatury,
- konfigurację firmware zapisaną razem z numerem wersji,
- limity prądu, napięcia i temperatury w procedurze prób,
- możliwość szybkiego rozbrojenia i kontrolowanego lądowania po wykryciu anomalii.
Flight controller nie może zagwarantować odzyskania silnika po desync. Może wykryć rozjazd komendy i RPM, ograniczyć kolejne skoki, zgłosić awarię lub przejść do strategii degradacji, jeśli układ ma nadmiar aktuatorów. W quadrocopterze utrata jednego napędu zwykle oznacza utratę pełnej sterowalności; w hexacopterze lub octocopterze możliwość kontrolowanego lądowania zależy od geometrii, miksera, zapasu ciągu i algorytmu wykrycia.
Rejestr eksploatacyjny powinien obejmować maksymalny prąd, temperatury po locie, liczbę błędów telemetrii, zdarzenia EDT i wymiany komponentów. Narastająca liczba incydentów w jednym kanale jest sygnałem predykcyjnym, nawet jeśli każdy z nich trwa tylko kilka milisekund.
Powiązane tematy#
- Budowa i komutacja silnika BLDC
- Dobór ESC
- DShot w UAV
- Hamownia napędu UAV
- Dobór śmigła
- Dobór akumulatora
- Diagnostyka logów i wibracji
- Betaflight — architektura i start
Przypisy#
- Microchip Technology, AN857: Brushless DC Motor Control Made Easy — podstawy sześciostopniowej komutacji BLDC i detekcji położenia bez czujników.
- Microchip/Atmel, AVR928: Scalar Sensorless Methods to Drive BLDC Motors — back-EMF, przejście przez zero, blanking, rozruch i ograniczenia detekcji bezczujnikowej.
- Microchip Technology, AN1160: Sensorless BLDC Control with Back-EMF Filtering Using a Majority Function — cyfrowa filtracja back-EMF i odporność detekcji przejść przez zero.
- Betaflight, DShot protocol guide — format cyfrowej komendy, warianty szybkości i checksum.
- Betaflight, Dynamic Idle — regulacja minimalnej prędkości silnika na podstawie bidirectional DShot.
- Betaflight, DShot RPM Filtering — eRPM, liczba biegunów, ocena błędów telemetrii oraz rozszerzone zdarzenia ESC.
- Betaflight, ESC firmware and bidirectional DShot compatibility — rodziny firmware, telemetria dwukierunkowa i znaczenie zdarzeń diagnostycznych.
- AM32, MultiRotor ESC firmware — otwarta implementacja komutacji, detekcji przejść przez zero, timingu i mechanizmów odzyskiwania po utracie obrotów.
- PX4, DShot ESCs — konfiguracja wyjść DShot i telemetrii ESC w autopilocie.
Źródła z centralnego rejestru
- Microchip AN857: Brushless DC Motor Control Made Easy [nota aplikacyjna producenta]
- Microchip AVR928: Scalar Sensorless Methods to Drive BLDC Motors [nota aplikacyjna producenta półprzewodników]
- Microchip AN1160: Sensorless BLDC Control with Back-EMF Filtering Using a Majority Function [nota aplikacyjna producenta półprzewodników]
- Betaflight: DShot protocol guide [dokumentacja projektu]
- Betaflight: Dynamic Idle [dokumentacja projektu open source]
- Betaflight: DShot RPM Filtering [dokumentacja projektu]
- Betaflight: ESC firmware and bidirectional DShot compatibility [dokumentacja projektu]
- AM32 MultiRotor ESC firmware [repozytorium open source]
- PX4 Guide: DShot ESCs [dokumentacja projektu]