plafsqarhyazeubebgcazh-CNzh-TWhrcsdanlenettlfifrglkadeelhtiwhihuisidgaitjakolvltmkmsmtnofaptrorusrskslesswsvthtrukurvicyyi

BLHeli to firmware do regulatorów obrotów, wywodzący się jak sugeruje nazwa od regulatorów śmigłowcowych, później szeroko używany w regulatorach wielowirnikowców, a ostatnio również wykorzystywany w regulatorach samolotowych. BLHeli_32 to trzecia generacja tego firmware'u, po BLHeli i BLHeli_S, stworzona do sterowania regulatorów opartych o 32-bitowe procesory TM32F0 Cortex-M0 (wcześniejsze wersje były dedykowane procesorom 8-bitowym).

Przed problemem wykonania programatora BLHeli_32 stanąłem po zakupie świetnego skąd inąd regulatora Neuron 80 firmy FrSky. Sam regulator jest bardzo fajny, lecz niestety nie ma możliwości zaprogramowania go z drążków ani przez karty programujące. Co jeszcze dziwniejsze (na pierwszy rzut oka, nie rozumiejąc czym jest BLHeli) regulatora tego nie da się zaprogramować za pomocą urządzeń typu FrSky STK czy FrSky AirLink. Producent w instrukcji zaleca zaopatrzenie się w "BLHeli USB Linker", który nie jest sprzedawany z regulatorami. Na domiar złego w ofercie polskiego dystrybutora FrSky, nie ma odpowiedniego sprzętu.

Na szczęście okazuje się, że wspomniany USB Linker można wykonać samodzielnie na bazie popularnego Arduino. Informację tą można znaleźć na forum 77hobby.pl, lecz podany tam "przepis" dotyczy jednorazowego użycia układu Arduino Uno. Ja postanowiłem zastosować układ Nano, ponieważ jest bardziej kompaktowy. Przy cenie kilkunastu złotych za sztukę aż się prosi o stworzenie dedykowanego programatora z myślą o wielokrotnym użyciu w przyszłości.

A więc do rzeczy. Aby wykonać programator potrzebujemy płytki Arduino Nano V3 (Atmega 328) oraz kawałka przewodu dwużyłowego zakończonego męską lub żeńską (według uznania/zapotrzebowania) wtyczką JR. Do późniejszego podłączenia programatora do PC niezbędny będzie również przewód mini-USB. Jeśli chodzi o Arduino najlepiej nada się wersja bez wlutowanych złącz. Na poniższym zdjęciu widać urządzenie bez koszulki - przewód sygnałowy lutujemy do pola "D3", przewód masy do "GND":

Gotowy linker możemy zamknąć w koszulce termokurczliwej, uważając, aby po jej obkurczeniu przycisk reset nie był na stałe wciśnięty (dla pewności można też na koniec wyciąć w koszulce małe okienko na wspomniany mikroswitch):

Kolejny krok to podłączenie urządzenia przez mini-USB do komputera. W systemach Win7 i Win8.1 sterowniki instalują się automatycznie (urządzenie będzie widziane jako nowy port COM). W systemie Win10, w menadżerze urządzeń ukaże nam się taki przykry obrazek:

Należy ręcznie pobrać i zainstalować sterowniki do układu WCH.CN CH340, który wykorzystywany jest do transmisji COMUSB. Sterowniki dostępne są na stronie producenta, dokładnie <tutaj>. Dla wygody i na wypadek zmiany lokalizacji plików na stronie producenta, możecie pobrać wspomniany sterownik również <od nas>.

Po instalacji w menadżerze urządzeń zobaczymy zainstalowany port "USB-SERIAL CH340 (COMx)":

Mając poprawnie zainstalowany linker w systemie możemy przejść do pobrania i instalacji oprogramowania BLHeliSuite32. Program pobieramy z Github'a autorów, instalator znajdziemy <TUTAJ>

Instalujemy i uruchamiamy oprogramowanie. Przechodzimy na zakładkę "Make interfaces". Wybieramy opcje jak na poniższym zrzucie ekranu (numer portu jest specyficzny dla konfiguracji naszego komputera) i klikamy w przycisk "Arduino BLHeli Bootloader":

Potwierdzamy, że chcemy wgrać bootloader BLHeli do naszego Arduino:

Po chwili układ jest zaprogramowany:

W ten sposób stworzyliśmy tytułowy programator BLHeli_32.

Przejdźmy do przykładu jego praktycznego zastosowania do zaprogramowania regulatora FrSky Neuron 80. Aby zaprogramować regulator podłączamy linker do komputera za pomocą przewodu mini-USB. Następnie uruchamiamy BLHeliSuite32 i z menu górnego wybieramy "Select BLHeli_32 Inerface" a następnie "BLHeli32 Bootloader (USB/Com)":

Poniżej wybieramy właściwy port COM i klikamy "Connect":

Naszym oczom ukazuje się monit o podłączenie ESC i jego zasilania:

Dopiero wówczas podłączamy przewód JR linkera do głównego przewodu sygnałowego regulatora (uwaga: NIE do portu SmartPort!), następnie zasilamy regulator z pakietu napędowego modelu. Po poprawnym połączeniu przycisk "Connect" zmienia się na "Disconnect", dodatkowo aktywne stają się przyciski "Read setup" oraz "Flash BLHeli". Klikamy "Read setup" aby odczytać parametry z regulatora:

Potwierdzeniem poprawnego odczytu jest komunikat jak poniżej:

Chciałbym zwrócić uwagę, że regulator Neuron 80 został rozpoznany jako Neuron 40. Prawdopodobnie wynika to z faktu, że funkcjonalnie są one identyczne, różnią się tylko maksymalnym prądem. Tym niemniej, z powyższego powodu, nie decydowałem się na razie na aktualizowanie firmware regulatora (opcja Flash BLHeli).

Po dokonaniu zmian ustawień klikamy "Write setup" aby zapisać konfigurację do regulatora. Na poniższym ekranie widać co stanie się, gdy klikniemy "write" po raz drugi bez zmiany parametrów (mój błąd w czasie opracowania artykułu):

Po zapisaniu konfiguracji można kliknąć "disconnect", odłączyć ESC od pakietu i linkera. Następnie odłączyć sam programator od USB. Gotowe!

 

Publikowane tutaj materiały i zdjęcia stanowią własność ich autorów, nie mogą być kopiowane oraz wykorzystywane bez ich zgody.
Strona niekomercyjna.