Porada

Jak wgrać Bluejay na regulatory BLHeli_S: częstotliwość PWM, moc rozruchu i ochrona silników

Bluejay to darmowe oprogramowanie z otwartym kodem dla 8-bitowych regulatorów ESC, które fabrycznie mają BLHeli S. Powstało na bazie BLHeli S w wersji 16.7 i dodaje to, czego w BLHeli S brakuje: dwukierunkowy DShot potrzebny do filtrowania RPM, rozszerzoną telemetrię DShot (EDT), wybór częstotliwości PWM 24, 48 albo 96 kHz i melodie startowe, które można zmieniać. Samo wgranie zajmuje kilka minut w przeglądarce. Więcej uwagi wymaga wybór częstotliwości PWM i ustawienie mocy rozruchu, bo od nich zależy, co silniki zrobią podczas kraksy.

Informacje pochodzą z wiki i opisów wydań Bluejay na GitHubie, ze strony ESC Configurator i z poradnika Oscara Lianga. Tam, gdzie źródła się różnią, podaję oba stanowiska.

Czy regulator obsłuży Bluejay?

Bluejay działa na regulatorach z mikrokontrolerem SiLabs EFM8 Busy Bee, czyli na tym samym sprzęcie co BLHeli_S. Nie da się go wgrać na 32-bitowe regulatory z BLHeli_32 albo AM32. Dla nich Betaflight zaleca AM32, o czym więcej w artykule o filtrowaniu RPM na tej stronie.

Najszybciej sprawdzisz to w samym ESC Configuratorze: połącz się, odczytaj regulatory i zobacz, jakie oprogramowanie i jaki układ program wykrył. Nazwy układów wyglądają jak A_H_15. Pierwsza litera oznacza projekt płytki, druga układ scalony (L to BB1, H to BB2, X to BB51), a liczba to czas martwy. Pliki z kolejnymi wydaniami mają w nazwie jeszcze częstotliwość PWM i wersję, na przykład A_H_15_48_v0.21.0.hex. ESC Configurator sam pobiera właściwy plik, więc ta nazwa przydaje się dopiero wtedy, gdy coś pójdzie nie tak.

Przed wgraniem warto znać dwa ograniczenia. Bluejay obsługuje wyłącznie DShot, bez Oneshot, Multishot i innych protokołów analogowych. Według odpowiedzi na częste pytania (FAQ) w wiki Bluejay układy BB1 (L) obsługują DShot150 i DShot300, a BB2 i BB51 DShot300 i DShot600.

Którą wersję wybrać

Najnowsza stabilna wersja to v0.21.0 z lipca 2024 roku. W sierpniu 2024 roku pojawiła się jeszcze wersja kandydująca v0.21.1, oznaczona jako wydanie testowe. Zespół Bluejay zaleca, żeby zawsze używać najnowszej wersji, i pomaga tylko przy najnowszej.

Jeśli któryś dron nadal ma 0.20.0, zaktualizuj go. ESC Configurator wyświetla ostrzeżenie o problemach z wykrywaniem zablokowanego silnika i z ochroną silników w 0.20.0, które mogą skończyć się uszkodzeniem regulatorów albo silników. Opis wydania 0.21.0 wyjaśnia, co się stało. Przy naprawianiu trybu 3D w wersji 0.20 przypadkiem wyłączono ochronę silników przy rozruchu, a osobny błąd sprawiał, że regulator ignorował maksymalną moc rozruchu. Według opisu ten drugi błąd był w BLHeli_S i we wszystkich wersjach Bluejay do 0.20.0 włącznie.

W tym samym opisie jest znany problem wersji 0.21.0: po poprawkach ochrony rozruchu tryb 3D działa gorzej i zespół nie zaleca jego używania.

Wgrywanie w ESC Configuratorze

Bluejay można wgrać w osobnym programie Bluejay Configurator, ale Oscar Liang poleca aplikację w przeglądarce na stronie esc-configurator.com. Działa ona tylko w przeglądarkach opartych na Chrome.

  1. Zdejmij śmigła.
  2. Zamknij Betaflight Configurator, żeby nie zajmował portu szeregowego.
  3. Podłącz kontroler lotu do komputera kablem USB, a potem podłącz pakiet LiPo. Bez zasilania z akumulatora regulatorów nie da się odczytać ani zaktualizować.
  4. Kliknij „Select Serial Port”, wybierz port kontrolera lotu i kliknij „Connect”. Potem kliknij „Read Setup”, żeby odczytać regulatory.
  5. Kliknij „Flash All” i ustaw:
    • oprogramowanie (pole „Firmware”): Bluejay;
    • układ (pole „ESC”): zostaw ten, który program wykrył;
    • wersję (pole „Version”): najnowszą oficjalną;
    • częstotliwość PWM (pole „PWM Frequency”): o niej w następnej części.
  6. Kliknij „Flash” i poczekaj, aż program skończy wszystkie regulatory.

Jeśli jeden regulator pokazuje się jako „Unknown”, a pozostałe program rozpoznał, Oscar radzi zaznaczyć „Ignore MCU Layout” i wgrać na niego ten sam układ co na pozostałe. Jeśli nieznane są wszystkie i nie wiesz, jaki układ jest właściwy, nie używaj tej opcji, bo po wgraniu złego pliku regulator może przestać działać. Regulator z uszkodzonym programem ładującym da się uratować tylko przez złącze C2. Opisuje to poradnik odzyskiwania w wiki Bluejay.

Po wgraniu włącz w Betaflight dwukierunkowy DShot i ustaw liczbę biegunów silnika. Te kroki i sposób sprawdzenia, czy telemetria obrotów jest czysta, opisuje artykuł o filtrowaniu RPM na tej stronie.

Częstotliwość PWM: 24, 48 czy 96 kHz

Częstotliwość PWM określa, jak często regulator przełącza zasilanie uzwojeń silnika. W Bluejay jest wpisana na stałe w plik z oprogramowaniem, więc żeby ją zmienić, trzeba wgrać regulatory jeszcze raz, z innym plikiem.

Zalecenia zależą od tego, kogo zapytasz.

Oscar Liang proponuje 96 kHz w małych dronach z osłonami śmigieł (typu Tiny Whoop), 24 kHz w piątkach i 48 kHz w rozmiarach pośrednich. W części o ustawieniach tego samego poradnika zaleca 48 kHz do lotów dalekiego zasięgu i latania akrobacyjnego, a 24 kHz do wyścigów. Zauważa też, że przy niższej częstotliwości PWM silnik słabiej hamuje, więc wolniej traci obroty, ale przyspiesza prawie tak samo.

Twórcy Bluejay patrzą na 96 kHz bardziej sceptycznie. W FAQ piszą, że w małych dronach z osłonami zwykle najlepiej sprawdza się 48 kHz, bo daje najdłuższe loty, a różnica między 48 a 96 kHz jest zwykle znikoma i niewarta zachodu. W opisie wydania 0.21.0 idą dalej: tryb 96 kHz ich zdaniem jest praktycznie bezużyteczny i może zostać usunięty. Chodzi o rozdzielczość. Wiki podaje 1000 kroków gazu przy 24 kHz, 500 przy 48 kHz i 250 przy 96 kHz. Do tego czas martwy odejmuje się od wypełnienia impulsu, co jeszcze zmniejsza rozdzielczość, z której faktycznie korzystasz.

Drugą rzeczą do sprawdzenia jest właśnie czas martwy. Według FAQ im jest dłuższy, tym niższą częstotliwość PWM warto wybrać. Jeśli czas martwy wynosi 30 lub więcej i widzisz któryś z tych objawów, zejdź na niższą częstotliwość:

  • silniki nie zawsze ruszają po uzbrojeniu, nawet przy maksymalnej mocy rozruchu;
  • regulator często traci synchronizację z silnikiem;
  • silniki pracują nierówno, jakby się zacinały.

Rozsądnie jest zacząć od 48 kHz w małych dronach z osłonami, tak jak radzą twórcy, a w piątce od 24 albo 48 kHz. Oscar dodaje, że jeśli w piątce akrobacyjnej silniki brzmią szorstko na 24 kHz, warto spróbować 48 kHz.

Jedno starsze zalecenie jest już nieaktualne. Strona z ustawieniami w wiki nadal radzi, żeby powyżej 24 kHz zostawić włączone zmienianie wypełnienia kolejnych impulsów, które miało zwiększać rozdzielczość („PWM Dithering”). Według opisu wydania 0.21.0 tę funkcję usunięto, bo nie działała tak, jak miała.

Moc rozruchu i obroty biegu jałowego

Regulatory z BLHeli_S nie mierzą prądu w fazach silnika. Wiki Bluejay pisze wprost, że regulator nie wie, kiedy podaje za duży prąd do zablokowanego silnika. Jedyną ochroną jest moc rozruchu. Bluejay najpierw próbuje uruchomić silnik z minimalną mocą rozruchu i przy każdej kolejnej próbie ją zwiększa, aż do maksymalnej. Jeśli silnik nie ruszy nawet wtedy, regulator uznaje go za zablokowany. Gdy po kraksie śmigło utknie w trawie, od tych granic zależy, czy regulator spali silnik albo sam siebie.

Według wiki trzeba znaleźć najniższe wartości, przy których silniki nadal pewnie startują. Punkt wyjścia, sprawdzony przez zespół Bluejay przy stałych obrotach biegu jałowego:

Akumulator Moc rozruchu min./maks. Bieg jałowy w Betaflight („Motor Idle”)
4S i więcej 1010/1020 5,5
3S 1020/1040 5,5

Dla dronów na 1S i 2S wiki ma osobną tabelę z podziałem na silniki i czas martwy. Przy czasie martwym poniżej 30 wartości wynoszą od 1020/1040 do 1090/1150, a regulatory z czasem martwym około 50 i więcej mogą potrzebować znacznie wyższych. Tych wysokich wartości nie przenoś na inny dron. Wiki ostrzega, że na regulatorze z krótkim czasem martwym albo powyżej 2S silniki zostają wtedy zupełnie bez ochrony.

Potem uzbrój drona bez śmigieł i obserwuj silniki:

  • Ruszają i stają, raz za razem: podnieś w Betaflight obroty biegu jałowego o 3% i sprawdź, czy dynamiczny bieg jałowy jest wyłączony.
  • Nie ruszają albo kręcą się słabo i stają: podnieś minimalną i maksymalną moc rozruchu o 10 i powtarzaj, aż ruszą.
  • Ruszają pewnie za każdym razem: spróbuj obniżać obie wartości o 10, aż silniki przestaną pewnie startować, a potem wróć o krok w górę.
  • Nie ruszają przy rozładowanym akumulatorze: podnieś obroty biegu jałowego albo maksymalną moc rozruchu o 10.

Bieg jałowy jest tak samo ważny jak moc rozruchu. Gdy tylko regulator wykryje, że silnik się kręci, oddaje sterowanie gazem kontrolerowi lotu. Przy zbyt niskich obrotach biegu jałowego w Betaflight silnik zatrzyma się zaraz po rozruchu.

Jeśli wyjdą ci wartości różniące się o więcej niż 10 od podobnego drona z tabel w wiki, najpierw obejrzyj sprzęt: luty, przewody, śruby silników i łożyska. Na regulatorach z czasem martwym poniżej 25 większa zmiana najpewniej oznacza, że osłabiłeś ochronę przy rozruchu. Wiki dodaje, że drony po kraksach zwykle nie potrzebują wyższych granic mocy rozruchu.

Osobnym ryzykiem jest dynamiczny bieg jałowy (w Betaflight „Dynamic Idle”). Regulator nie mierzy prądu, więc przy zablokowanym śmigle ta funkcja dalej podnosi obroty i silnik może długo pracować z pełnym obciążeniem. Wiki radzi nie używać dynamicznego biegu jałowego na 1S i 2S z Betaflightem starszym niż 4.5. W starszych wersjach silniki trudno było uruchomić, więc piloci podnosili moc rozruchu tak wysoko, że ochrona przestawała działać. Betaflight 4.5 dodał parametr, który ma temu zapobiec.

Telemetria EDT i ochrona przed przegrzaniem

Rozszerzona telemetria DShot przesyła z regulatora do kontrolera lotu dodatkowe dane, na przykład temperaturę regulatora. Od wersji 0.21.0 Bluejay korzysta z niej także jako zabezpieczenia: jeśli oprogramowanie kontrolera lotu to obsługuje, regulator da się uzbroić dopiero po poprawnym potwierdzeniu połączenia przez EDT. W Betaflight włączysz ją w CLI:

set dshot_edt=on
save

Wiki proponuje taki test, oczywiście bez śmigieł:

dshotprog 255 13
motor 255 1060
dshot_telemetry_info

Polecenie motor uruchamia wszystkie silniki. W wyniku zobaczysz eRPM i RPM, o ile dwukierunkowy DShot jest włączony, oraz kolumnę TEMP z odczytem czujnika wbudowanego w układ regulatora.

Od wersji 0.21.0 ochrona przed przegrzaniem jest domyślnie wyłączona. W opisie wydania twórcy przyznają, że od dawna praktycznie nie działała, a prawdopodobnie nie działała nigdy. Gdy ją naprawiono, niektóre drony zaczęły tracić moc w locie. Jeśli chcesz z niej korzystać:

  1. Dodaj do OSD w Betaflight element z temperaturą regulatora i włącz EDT.
  2. W ESC Configuratorze ustaw zakres zasilania płytki (pole „Power rating”): 1S tylko na płytkach przeznaczonych wyłącznie do 1S, a 2S+ na wszystkich pozostałych, także na płytkach do 1-2S.
  3. Sprawdź odczyty temperatury. Według wiki rozsądny zakres to temperatura otoczenia plus 10-20 stopni. Odczyt 0 albo 255 oznacza, że coś jest źle ustawione. Spróbuj drugiego zakresu zasilania i sprawdź jeszcze raz.
  4. Dopiero wtedy włącz ochronę przed przegrzaniem.

Jeśli dron w locie stopniowo traci moc, aż w końcu ląduje, FAQ każe najpierw sprawdzić ochronę przed przegrzaniem i ustawiony zakres zasilania.

Pozostałe ustawienia

Po wgraniu kliknij jeszcze raz „Read Setup”. Oscar Liang uważa, że ustawienia domyślne pasują większości pilotów. Kilka z nich warto zrozumieć, zanim cokolwiek zmienisz:

  • Ograniczenie mocy według obrotów („RPM Power Protection (Rampup)”) ogranicza moc w zależności od tego, jak szybko kręci się silnik. Niższe wartości zapobiegają skokom mocy, ale mogą osłabić przyspieszenie i obniżyć prędkość maksymalną.
  • Wyprzedzenie komutacji („Motor Timing”): przy większym wyprzedzeniu regulator rzadziej gubi synchronizację, a silnik ma więcej mocy, kosztem sprawności. Oscar radzi zostawić wartość domyślną, chyba że wiesz, po co ją zmieniasz. W małych dronach z osłonami można spróbować niższej wartości, na przykład 15 stopni.
  • Głośność sygnałów („Beep Strength”) i głośność sygnału lokalizacyjnego („Beacon Strength”): wiki ostrzega, że przy wysokich wartościach silniki albo regulatory mogą się nagrzewać.
  • Hamowanie po zatrzymaniu („Brake On Stop”): regulator hamuje silnik przez cały czas, gdy gaz jest na zerze, a dron rozbrojony.
  • Melodia startowa: w edytorze melodii wybierzesz gotową albo zapiszesz własną w notacji RTTTL. Melodię zapisujesz przyciskiem „Write Melodies”.

Przed rozłączeniem kliknij „Write Setup”. Potem załóż śmigła, a zanim zaczniesz latać ostro, sprawdź w bezpiecznym miejscu zawis i kilka razy gwałtownie dodaj gazu.