IronSky

czwartek, 9 marca 2017

Przejście na SP Racing F3 - moje trudne początki...




Przyznam szczerze, że ostatnio czasu na latanie coraz mniej. Mój "nowy" quadcopter do wyścigów FPV (na ramie KingKong 210GT) już dawno się zdąrzył zestarzeć od samego leżenia i osiadł na nim kurz. Wprawdzie przelatał już kilkanaście, może kilkadziesiąt pakietów i spisuje się dobrze, to mało kto już latana na kontrolerach typu CC3D (prócz mnie ;). Sęk w tym, że nie potrzebowałem niczego więcej, bo do rekreacyjnego latania w zupełności mi wystarczał CC3D - z Librepilot'em i trybem Rattitude (taka hybryda manualnego Rate ze stabilizacją Attitude) na pokładzie naprawdę dawał mi sporą frajdę. No ale wiadomo, dla niektórych to już prehistoria... Ba - nowe kontrolery F3 choć jest już pewnego rodzaju są standardem to powoli zaczynają ustępować miejsca kontrolerom F4 z jeszcze szybszym procesorem. Regulatory po analogowych OneShot'ach czy MultiShotach zaczęły już obsługiwać cyfrowego Dshot'a, silniki do racerów są coraz szybsze i wytrzymalsze, a pakiety 4S powoli ustępują miejsca Lipol'om 5S! Kto by za tym nadąrzył?! Niestety na pewno nie ja, bo - jak wspomniałem - czasu na latanie mało, a do tego nie ograniczamy się ani do racerów, ani do samolotów, ani do żadnych innych konkretnych kategorii dronów... latam wszystkim co mi sprawia przyjemność.

Ostatecznie przyszedł jednak ten wieczór gdy leżący na półce gotowy do lotu quadcopter (KingKong 210GT - niestety również z braku czasu nie powstała jego relacja na tym blogu) spotkał się z oryginalnie zafoliowanym kontrolerem SP Racing F3, który ponad pół roku przeleżał gdzieś w szufladzie... No i trzeba było jakoś ogarnąć temat, by być choć trochę bardziej na bieżąco z tym co dzieje się w świecie wyścigów dronów. Czy było warto?:D

CC3D początkowo z OpenPilotem, a potem z LibrePilotem ceniłem sobie za jedną, ale za to wielką rzecz - prostotę obsługi. Wystarczyło przejść "wizard'a" i w zasadzie wszystko działało na standardowych ustawieniach. Do tego OpenPilot czy LibrePilot (w zasadzie niewiele się od siebie różnią jako programy do obsługi kontrolerów) są proste i intuicyjne w obsłudze, więc poradzi sobie z nimi każdy nowicjusz amator. No, ale nawet CC3D da się "sflashować" na CleanFlight tudzież na BetaFlight więc zaczęło się szaleństwo flashowania na nowszy lepszy software... Mnie to trochę ominęło - wychodzę z założenia, że "jeśli coś działa to nie ma po co psuć" więc odpuściłem sobie wgrywanie do CC3D nowszego softu (wspomnianego CF/BF) - stwierdziłem, że przejście na nowe lepiej będzie zrobić już na nowym kontrolerze. Tak też postanowiłem wczoraj - ostatecznie wezmę się za zakurzony SP Racing F3 i pobawię się z CF/BF.

Zaczęło się źle...


W zasadzie to fatalnie ;) Mój CC3D jest podpięty pod PDB do gniazda 12V poprzez piny PWM i stwierdziłem, że w ten sam (bądź co bądź) prosty sposób podmienię zasilanie do SP Racing F3.

BŁĄD POLEGAŁ NA TYM, ŻE NIE PRZECZYTAŁEM INSTUKCJI DO SP RACING F3.
Szybko się okazało, że F3 może być zasilany maksymalnie 5V... więc przy pierwszym lepszym podpięciu lipola do PDB do F3 powędrowało napięcie 12V i spałiło coś na płytce na tyle skutecznie, że w zasadzie jest już po niej (zidentyfikowałem już upalony element, ale jakoś nie widzę jego lutowania).

Pierwsza strona "manuala" SP Racing F3 - jak BYK napisane "DO NOT USE A VOLTAGE SOURCE HIGHER THAN 5V"


Podejście drugie...

Mogłem poddać się bardzo szybko, ale to byłaby dopiero porażka roku. Zaparłem się, zawziąłem w sobie i... zamówiłem kolejnego F3 (z abc-rc.pl - polecam, najtaniej z wszystkich sklepów). Mowa tu o wersji standardowej (v. 1) kontrolera w opcji tzw. DOF6 (bez barometru, GPS, bez czytnika kart microSD, bez wbudowanego OSD - totalny standard, za to cena korzystna, 85zł).

Tym razem przejrzałem manual, zainstalowałem sterowniki do obsługi portu komunikacji (Silicon Labs CP2102 USB to UART Bridge VCP Drivers), zainstalowałem CleanFlight oraz BetaFlight i zabrałem się za flashowanie firmware'u. Zarówno na CF jak i na BF procedura jest ta sama (zresztą oba programy są praktycznie takie same jeśli chodzi o interfejs, BF ma więcej opcji i... inną kolorystykę). Procedura flashowania wygląda dziecinnie prosto - po pierwsze podpinamy kablem USB płytkę do komputera a następnie:

  1. Włączamy BetaFlight (lub CleanFlight, ale chyba nie ma się co już cofać do CF) i nie łączymy kontrolera z BF tylko klikamy z menu z lewej strony pozycję "Firmware Flasher";
  2. Wybieramy nasz FC (Flight Controler, płytkę);
  3. Wybieramy ostatnią wersje softu;
  4. Sprawdzamy czy Manual baud rate jest ustawiony na 256000 (dla SP Racing F3);
  5. Przyciskamy "Load firmware [online]" i czekamy aż BF pobierze ostatnią wersję firmware z internetu.
  6. Po chwili, gdy program pobierze firmware, zostanie wyświetlona informacja o dacie publikacji ostatniej wersji, statusie i wprowadzonych poprawkach, oraz - co ważne - odblokuje się nam przycisk "Flash firmware", który należy kliknąć.




Jeśli zielony pasek postępu zapełni się w 100% to możemy się cieszyć - nowa wersja firmware została wgrana na nasz FC i możemy przejść już do ustawień do lotu. Jednak jak to zwykle u mnie bywa - nie przeszło to tak łatwo i mniej więcej w połowie paska postępu otrzymałem komunikat:

STM32 - timed out, programming: FAILED
Postanowiłem ponowić całą procedurę od zera, ale po 2 lub 3-cim razie dostałem już komunikat:

No Response from the bootloader, programming: FAILED

I pozamiatane ;) Drugi SP Racing F3 z kolei i tym razem popsułem mu bootloader... Byłem lekko poirytowany, ale nie poddałem się. W Internecie jest już wszystko, kwestia tylko, żeby to znaleźć i tak znalazłem ten film:



Zatem żeby uratować sytuację trzeba będzie "zbootować" system od podstaw. Do tego celu będzie potrzebny soft o nazwie Flasher STM32, który usilnie próbowałem pobrać z oficjalnej strony: http://www.st.com/en/development-tools/flasher-stm32.html, ale po kilku nieudanych próbach pociągnąłem go z pliku załączonego w wątku na forum elektroda.pl.

Krok drugi ratowania FC to znalezienie obok pinów PWM dwóch pól z podpisem "BOOT" - i wlutowanie tam dwóch pinów lub od razu połączenia ich (zwarcia) chociażby lutem. Ja wybrałem opcję z wlutowaniem pionowych pinów z zestawu (przychodza razem z kontrolerem) i dorzuceniu do tego zworki własnej produkcji (krótki kabel zagięty w U z konektorami jak do serw wciśniętym we wtyczkę serwa) jak na zdjęciach poniżej:


Zworka wpięta w piny BOOT
Do pełni szczęścia potrzebny nam będzie jeszcze plik z rozszerzeniem .HEX z najnowszym firmware BetaFlight, który znajdziemy tutaj.

Tak przygotowaną płytkę można już bootować na nowo. Najpierw odpalamy program Flasher STM32, potem podpinamy do komputera (oczywiście przez USB) nasz SP Racing F3 ze zworką na pinach BOOT, a dalej postępujemy dokładnie jak na wyżej wspomnianym filmie.

Jeśli wszystki przebiegło bez problemów i proces zakończył się pozytywnie w 100% to możemy odpalać BetaFlight (software do obsługi kontrolera, nie firmware ;) i sprawdzić czy program widzi ruchy naszego SP Racing F3.


Podobno metodą bootowania da się naprawić większość takich problemów z SP Racing F3 (np. jeszcze "failed to connect to serial port") - jeśli tylko po podpięciu po USB na FC świeci się na stałe tylko niebieska dioda (czerwona nie miga) a CF/BF się nię łączy z FC - "boot'ujcie" płytkę od nowa, to takie "stawianie systemu" od zera, pomaga na większość problemów ;).

PWM zamiast SBUS

Obecnie większość pilotów latających dronami wyścigowymi lata na odbiornikach, które umożliwiają ich spięcie z kontrolerem poprzez tzw. SBUS - jeden kabel, który komunikuje się na linii FC <--> RX bez konieczności rozdzielania sygnału i wtyczek na tyle, ile w rzeczywistości jest obsługiwanych kanałów na odbiorniku (silników/regulatorów, serw i innych akcesoriów podpiętych pod odbiornik RC). Niestety trzeba mieć jeszcze taką aparaturę i takie odbiorniki, które używają standardu SBUS. Ja ze swoją wysłużoną aparaturą Hitec Aurora 9 niestety nie mam takiej opcji i pozostaje mi albo wymiana radia RC i odbiornika (= spory koszt), albo pozostanie przy starszym standardzie PWM, który prócz dużej ilości kabli (na zasadzie 1 silnik/regulator/serwo = 1 wtyczka/kabel w odbiorniku) "zapewnia" również większy "lag" przy przesyłaniu sygnału niż w przypadku SBUS.

Ponieważ jednak nie latam zbyt często ani profesjonalnie/zawodowo to trochę słabszy czas reakcji przy PWM nie jest dla mnie specjalnie odczuwalny i stosowałem go dotychczas w CC3D z powodzeniem (tzn. mnie wystarczał). Zatem stwierdziłem, że w SP Racing F3 też mi starczy. Poszperałem zatem za podpięciem F3 poprzez PWM do odbiornika i trafiłem na ten bardzo przydatny film:


I teraz szybkie porównanie - ilość kabli przy podłączeniu PWM z CC3D (zdjęcie wprost z mojego quada):

Jeden ośmiożyłowy kabel (6 kanałów) podłączony do 6 kanałów odbiornika

Oraz ilość kabli PWM przy przejściu na SP Racing F3:

DWA ośmiożyłowe kable wychodzące z F3 do odbiornika...

Wynik: zmieniając CC3D na SP Racing F3 zafundowałem sobie 2 razy więcej niepotrzebnych kabelków, z których i tak mogę podpiąć tylko 6 kanałów (8 źył) do odbiornika (Hitec Minima 6). Sic! :)

Z poczatku myślałem, że dwa gniazda IO_1 i IO_2 służą do wyboru - jednego albo drugiego dla wygody. Potem jednak zobaczyłem, że w zestawie są dwa kable do obydwu gniazd co już mogło coś sugerować. Potem powyższy filmik rozwiał wątpliwości - trzeba do PWM podpiąć wszystko... Poniżej schemat wyciągnięty z klatki filmu z zaznaczonymi zieloną ramką żyłami, których użyłem do podpięcia mojego odbiornika Hitec Minima 6:


W skrócie: sprawdziłem, które moje kanały w aparaturze odpowiadają AILE, ELEV, RUDD, THRO i tak je podpiąłem pamiętając jednak, że kabel trójżyłowy (+,-, S) wpięty z F3 do zasilania odbiornika może być tylko jeden i u mnie został on spięty razem z THRO (+ GND + 5V) - to z przyzwyczajenia z samolotów RC, tam zawsze zasilanie szło z silnika, a pozostałe AILE, ELEV, RUDD to powierzchnie sterowe obsługiwane przez serwa nie przekazujące napięcia.

Co z pozostałymi pojedynczymi, żyłami zakonczonymi czarnymi wtyczkami? Wtyczki zdjąłem, konektory obwinąłem (KAŻDY Z OSOBNA) kawałkami taśmy izolacyjnej, wszystko splotłem/skręciłem w jedną całość i po wpięciu właściwych wtyczek do odbiornika RC - okleiłem ostatecznie taśmą izolacyjną:



AUX1 oraz AUX3 to dwa przełączniki, które użyję do: 1) uzbrajania/rozbrajania silników (przełącznik 2-pozycyjny) oraz 2) zmiany trybów lotu (do nauki zgodnie z rosnącym poziomem trudności: ANGLE, HORIZON, RATE).

Póki co tyle - jeśli uda mi się wszystko poustawiać i oblatać, albo natrafię na kolejne problemy do opisania - będę publikował rozwiązania, może komuś się przydadzą. Pozdrawiam!

12 komentarzy:

  1. Też jestem daleko w tyle za nowościami. Sądziłem, że cyfrowo sterowany regulator to nowość jak rurki węglowe w stosunku do aluminiowych, Ale Połączenie kontrolera lotu z odbiornikiem jednym przewodem wydaje się być op poziom wyżej. Możecie coś więcej o tym napisać? Co jest potrzebne. Czy aparatura musi być jakaś specjalna (mam dość nową aurorę 9x), czy odbiornik też jakiś specjalny i czy kontroler lotu jakiś specjalny?

    OdpowiedzUsuń
    Odpowiedzi
    1. RX można połączyć jednym kablem z FC nie tylko w trybie SBUS ale też PPM. Tutaj jest więcej jak wykombinować takie połączenie z Aurorą 9: https://www.rcgroups.com/forums/showthread.php?2804694-Aurora-9-SBUS-or-PPM

      Trzeba nabyć specjalny odbiornik Hitec SBUS (Optima SL8) lub odbiornik, który będzie kompatybilny z nadajnikiem Hiteca.

      W każdym przypadku jednak trzeba kupić odbiornik specjalny do połączenia Hitec TX z RX. Co do kontrolerów - większość obsługuje PMW/PPM/CPPM/SBUS do wyboru.

      Usuń
  2. Od jakiegoś czasu też planuję wymianę cc3d na spf3.
    Trochę o nim poczytałem, ale małe wątpliwości pozostały. Chodzi o ledy i buzer. Fajna sprawa ze sterowaniem ledami i buzerem przez kontroler lotu. Ale interesuje mnie ustawienie jakiegoś alarmu na na buzer przy niskim napięciu. Nie mam telemetrii, a dotychczasowy buzer z wyświetlaczem chciałbym zastąpić wbudowanym w pasek led (np https://abc-rc.pl/wielokolorowe-paski-rgb-led-buzzer-do-dronow-naze32-matek). I jeszcze jakaś konfiguracja ledów przy różnych akcjach. Np. silniki nieuzbrojone, do dioda mruga na czerwono, silniki uzbrojone, do ta sama dioda świeci stale na zielono, sygnał gps złapany, to inna dioda świeci na niebiesko, napięcie w baterii spada poniżej poziomu (takiego jak dla buzera), to wszystkie diody wariacko migają.
    Wiesz coś na ten temat, lub próbowałeś czegoś takiego?
    W sumie, to nawet jak się tego nie będzie dało ustawić, to i tak go kupię:), ale najpierw muszę uzupełnić zapasa lipoli, po został mi tylko jeden sprawny, a wiosna coraz bliżej.

    OdpowiedzUsuń
    Odpowiedzi
    1. Buzzery i ledy jeszcze przede mną, choć szczerze mówiąc LEDów chyba nie będę instalował, bo mi do niczego nie potrzebne, a prąd ciągną. Buzzer potrzebuje raczej tylko pod przełącznik, żeby szybciej odszukać drona w trawie, ale sprawdzę też podłączenie i ustawienie minimalnego napięcia w FC - o tym wszystkim pewnie będę pisał w kolejnych postach.

      Usuń
  3. Super wpis i czekam na kolejne o kontrolerze f3. Właśnie tydzień temu rozwaliłem cc3d i muszę coś nowego zainstalować. Zdecydowałem się na f3, ale jeszcze nie wiem na którą wersję, czy z barometrem czy bez. W sumie to na cc3d latałem bez barometru i jakoś sobie radziłem. Aż do ostatniej kraksy:).
    Jak się go zasila? Poprzednio miałem taki układ. Z pakietu pro szedł do regulatorów. Regulatory tymi cienkimi przewodami były podłączone do kontrolera. Każdy regulator miał trzy przewody, nie odpinałem żadnego. Z kontrolera do odbiornika szły pojedyncze żyły, tylko jedna miała trzy i tą potrójną szło zasilanie odbiornika. Czy f3 mogę tak samo podłączyć? Z tego posta dowiedziałem się, że odbiornik zasilasz podobnie jak ja w cc3d. Jest tylko jeden potrójny przewód. Ale czy od regulatorów mogę zostawić tak jak mam, czy powinienem wyjąć z trzech wtyczek przewód z napięciem (środkowy), a w jednej zostawić wszystkie trzy. W dokumentacji widziałem, żeby zasilanie szło tylko raz. Na diagramie https://oscarliang.com/ctt/uploads/2016/04/spracing-f3-EVO-FC-WIRING-connection.jpg też regulatory mają po dwie żyły, a zasilanie idzie z jakiegoś regulatora napięcia.

    OdpowiedzUsuń
  4. Też uwaliłem swoją płytkę i pomogło spięcie pinów boot i wgranie softu na nowo.
    A uwaliłem ją przez osd. Osd miałem podpięte pod uart1. A do uartów nie może być nic podłączone jeśli spf3 jest podłączone do komputera przez usb.
    Zatem rada. Jeśli nie chcecie bawić się w odzyskiwanie softu na płytce, to przed podłączeniem jej do komputera odepnijcie wszystko z portów uart. Albo przynajmniej zróbcie backup ustawień.

    OdpowiedzUsuń
  5. Ten komentarz został usunięty przez administratora bloga.

    OdpowiedzUsuń
  6. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  7. Co do buzzera to lepszym pomyslem byloby zainstalwoanie modulu gps (cena ~100zł). Buzzer będzie słychac z odległości kilku-kilkunastu metrów, więc i tak musimy wiedzieć gdzie mniej-więej dron upadł. A moduł gps podajacy dokaldne koordynaty pomoglby odszukac quadcoptera nawet jesli odleci poza zasieg sluchu

    W ogole w internecie dostepne sa przerozne moduly dla dronow (silniki, smigla,etc), wiec jak ktos ma zawziecie to zlozy takie cacko od podstaw:)

    A jakby ktoś chciał pisać wszystko od zera i potrzebował zrobić bootloader do stm32 to jest nieźle opisane co i jak: http://tomaszpluta.aq.pl/bootloader_stm32.html

    OdpowiedzUsuń
  8. Bardzo ciekawy artykuł. Wiele przydatnych wskazówek przydatnych nie tylko dla fanów dronów.
    https://droniq.pl/

    OdpowiedzUsuń
  9. Ja dopiero zaczynam przygodę, i ciesze się że tu trafilem, sporo wskazówek, dzięki ;)

    OdpowiedzUsuń
  10. Zawsze ciekawiły mnie nowości w świecie elektroniki

    OdpowiedzUsuń

Popularne posty

Nasze zdjęcia dronów:

Created with flickr badge.