poniedziałek, 13 marca 2017

Przejście na SP Racing F3 i BetaFlight - ciąg dalszy [2]



SP Racing F3 został z'boot'owany do najnowszej wersji BetaFlight (3.1.6), połączenie przez PWM rozpracowane (już wiem, które piny gdzie mają iść), aparatura również przygotowana pod obsługę poszczególnych kanałów - można w końcu wyjąć wysłużone (choć wciąż sprawne i lubiane!) CC3D i na jego miejsce wrzucić SP Racing F3.


Pierwsza rzecz, którą zrobiłem po wyjęciu CC3D z drona to odlutowałem kable zasilania z padów 12V na PDB (płytka zasilająca). Tak na wszelki wypadek, by znów nie przyłożyć napięcia 12V do F3, którego to kontroler bardzo nie lub. Jednocześnie musiałem dolutować kabel do padów 5V na PDB, co stało się nieco problematyczne, bo te pady mam na PDB dokładnie z drugiej (dalszej) strony, więc musiałem przylutować pokaźnych rozmiarów kabelki od tyłu drona i przeprowadzić je na przód, bo tam będą piny PWM.

Druga rzecz - SP Racing F3 przychodzi bez wlutowanych pinów PMW, ale te są na szczęście w zestawie w trzech wersjach: potrójne kątowe, potrójne proste i pojedyczne. Te pojedyncze (dokładnie dwa) przydały się już wcześniej do wlutowania w dwa pola BOOT i do wpięcia zworki, która umożliwiła na nowo zbootowanie kontrolera przy użyciu Flasher SMT32. Co do pinów PWM, nie wlutowałem wszystkich, odciąłem dwa z ośmiu kątowych i wlutowałem pozostałe sześć (choć w rzeczywistości potrzeba pięć: 4 kanały na silniki i jeden do zasilenia F3, więc jeden kanał z trzema pinami został w zapasie).

Odlutowałem również wcześniej wlutowane piny do bootowania (BOOT) przy ostatnim 8 kanale PWM na płytce. Myślałem, że nie będzie on w niczym przeszkadzał, ale okazało się, że nie mogę wtedy przykręcić śrub mocujących płytkę do dystansera w tym jednym rogu kontrolera - po prostu śrubka nie miała miejśca żeby się obrócić (zdjęcie poniżej), więc jeśli przyjdzie mi znów coś bootować, to piny będę musiał dolutować raz jeszcze.

CC3D vs SP Racing F3

Poniżej porównanie dwóch kontrolerów: CC3D i SP Racing F3. Obydwa używam pinami do góry, co w przypadku CC3D wymagało zmiany orientacji płytki (software'owo) o 90 stopni w prawo (na zdjęciu poniżej widać strzałkę na CC3D kierującą w prawo). W SP Racing F3 nie ma z tym problemu, bo strzałka pokazuje przód tam gdzie piny PWM co mi odpowiada, ale nie ma nic za darmo - wtedy gniazdo USB jest na dole, co niestety utrudnia dojście po zamontowaniu na ramie (w CC3D miałem je z boku i dojście było idealne). Poza tym CC3D ma w pobliżu otworów montażowych sporo miejsca i nie ma problemu z nakrętkami na śrubki, w SP Racing F3 niestety już dwa piny do bootowania przeszkadzały. Poza tym dwa F3 ma dwa gniazda IO_1 i IO_2 i obydwa trzeba wykorzystać do podłączenia co podwaja ilość niepotrzebnych kabli, no ale cóż... Za to ma miejsce na wlutowanie buzzera, gniazdo VBAT do pomiaru napięcia, możliwość podpięcia OSD, paska LED, sonarów, GPS, Sbus, PPM i jeszcze pewnie coś pominąłem ;). No i przede wszystkim F3 ma nowszy, lepszy, szybszy procesor!

CC3D z lewej i SP Racing F3 z prawej (2 razy więcej niepotrzebnych kabli..)

Podłączenie regulatorów/silników

O tym jak przyporządkować kanały aparatury do kabli wychodzących z dwóch portów IO_1 i IO_2 pisałem już poprzednio, więc nie będę się powtarzał - jest tam film, który w zasadzie wszystko wyjaśnia. Przyszedł czas na podpięcie regulatorów do pinów PWM oraz kabla zasilającego kontroler.

Tutaj widać jeszcze wlutowaną zworkę przy prawym otworze na śrubę.

Trzeba pamiętać tutaj o jednej ważnej rzeczy przy przesiadce z CC3D na SP Racing F3 (CleanFlight/BetaFlight) - kolejność podpięcia ESC (regulatorów), które sterują poszczególnymi silnikami, jest inna niż w CC3D więc nie można przełożyć kabli regulatorów 1:1 jak to mieliście w CC3D:


Jak widać jedynie silnik/ESC nr 2 jest wspólny na drugim kanale PWM w obydwu kontrolerach, pozostałe trzeba jednak zmienić. Nie zmienia się natomiast kierunek obrotów żadnego z silników, ten jest chyba we wszystkich kontrolerach jednakowy (lewy przedni - CW, prawy przedni - CCW, itd.).

Wpinamy zatem nasze regulatory/silniki w powyżej kolejności (oczywiście tak, jak dla CF/BF). Ostatecznie zostaje kwestia zasilania F3. Jak już pisałem i uprzedzałem:

CC3D dało się zasilić 12V, ale F3 przyjmuje jedynie 5V
Zatem można zasilić kablem z PDB jeśli nasza płytka zasilająca ma możliwość wyprowadzenia 5V z osobnych padów. Można też zasilić z jednego z regulatorów jeśli macie regulatory z BEC'em, czyli osobnym obiegiem zasilana ok. 5-6V (łatwo poznać - mają wtedy kable 3-żyłowe: biały (sygnał), czerwony (napięcie, +), czarny (-). Ma on służyć do zasilania odbiornika i serwomechanizmów. Należy jednak pamiętać, by tylko jeden regulator miał 3 żyły, pozostałe regulatory powinny mieć odpiętą czerwoną żyłę, bo inaczej będziemy dostarczać 5V ze wszystkich regulatorów co może doprowadzić do spalenia płytki. O CC3D bym się nie martwił, ale F3... jest bardzo wrażliwy na tym punkcie. Jeśli używacie ESC bez BEC (tylko dwie żyły: biała - sygnał, czarna - minus) to potrzebna jest płytka PDB z możliwością zasilania 5V, czyli taki BEC na płytce dystrybucyjnej. Ja użyłem kabelka z zakończeniem wtyczką... BEC (JST), można też użyć wtyczki serwa, akurat takiej nie miałem, ale obydwie się sprawdzą. Po podpięciu wygląda następująco.



Instalacja BetaFlight

W zasadzie to CF i BF zainstalowałem już dużo wcześniej, bo próbowałem wgrywać najnowszy firmware, ale dla tych, którzy jeszcze nie mieli okazji: zarówno CF jak i BF to aplikacje przeglądarkowe działające pod Chrome i można je ściągnąć ze "sklepu" Chrome - co do BF to jest on dokładnie tutaj: https://chrome.google.com/webstore/detail/betaflight-configurator/kdaghagfopacdngbohiknlhcocjccjao. BF będzie dostępny normalnie również z pasku startu Windows/ikony z pulpitu więc będzie do niego dostęp jak do osobnego programu. Dla przypomnienia - firmware (nie software) BetaFlight jest do pobrania z GitHub tutaj, choć de facto nie trzeba nic stąd pobierać, software CF/BF sam sobie pobiera online najnowszą wersję podczas flashowania firmware. Pliki z GitHuba przydają się, gdy chcemy zainstalować jakąś starszą wersję CF/BF (firmware).

Podstawowa konfiguracja

Firmware został już zainstalowany, kanały dobrze podłączone (to jeszcze sprawdzimy), wszystko leci przez "stare" PWM, ale tylko taki odbiornik mam. Co dalej? Uruchamiamy BetaFlight i zerkamy na prawy górny róg.



Port COM12 (u mnie) i baud rate = 115200 będzie służył do komunikacji BF z FC poprzez kabel USB. Jeśli zaznaczycie opcję "auto-connect" to jak łatwo się domyślić BF będzie automatycznie się łaczył z FC zaraz po podpięciu kabla USB do komputera.

WAŻNE: nie konfigurujcie nic z założonymi śmigłami! Wprawdzie można skonfigurować kontroler jedynie przez połączenie go do komputera (bez zasilania z Lipo całego układu), ale jeśli będziecie chcieli sprawdzić, czy się kręcą silniki (np. w zakładce MOTORS) lub czy quad się uzbraja - będziecie musieli wpiąć Lipo - zdecydowanie lepiej nie robić tego z założonymi śmigłami, bo jak coś pójdzie nie tak...

Po połączeniu kontrolera z BetaFlightem zmieni się Wam menu z lewej strony na menu konfiguracyjne. Można włączyć opcję "ekspert" w prawym górnym rogu (mały przełącznik "Enable Expert Mode") i to rozszerzy możliwości konfiguracyjne, ale narazie skupię się na trybie "beginner" ;).

Przejdę przez podstawowe kroki konfiguracji BF, przez które ja przeszedłem by uruchomić maszynę i nie zagłębiać się w szczegóły:

1. Zakładka SETUP i pierwsza rzecz podstawowa - kalibracja akcelerometru - powinna być wykonana, gdy kopter leży na płaskiej powierzchni, ale zanim to zrobicie, możecie w tej zakładce sprawdzić czy macie prawidłowo zainstalowany F3 lub czy nie trzeba go "obrócić" software'owo o jakiś kąt: ruchu drona powinny się pokrywać z ruchami modelu drona w tej zakładce BetaFlight, zielona strzałka wskazuje przód.


2. Zakładka PORTS - nic tutaj nie zmieniałem, jest dokładnie jak poniżej.


3. Zakładka CONFIGURATION - tutaj sporo się dzieje. Sprawdźcie, czy schemat kolejności silników pokrywa się z Waszym. Jeśli macie z jakiegoś powodu inną orientację płytki F3 (tzn. zamontowaną inaczej niż strzałką do przodu narysowaną na płytce F3) to tutaj możecie zmienić software'owo jej kierunek. 

Po prawej stronie w zielonej ramce ważniejsze ustawienia: protokół obłsugi ESC to póki co PWM, choć w zależności od regulatorów można włączyć bardziej zaawansowane protokoły jak MultiShot, OneShot czy DShot (może kiedyś to omówię w szczegółach). Dalej mamy ustawienia obrotów silnika, a dokładniej sygnałów nimi sterujących. 

Funkcja MOTOR_STOP pozwala na wyłączenie obrotów silników gdy są uzbrojone, jeśli jest wyłączona jak na obrazku, to silniki będą się kręcić po uzbrojeniu.

Kolejna funkcja "Disarm motors regardless of throttle value (When arming via AUX Channel)" jest w zasadzie w pełni wytłumaczona po angielsku - jeśli jest włączona to pozwala na rozbrojenie silników nawet jeśli drążek gazu jest w jakiejś górnej pozycji (nie na zero) czyli silniki się obracają - wciąż możemy rozbroić kontroler i przestaną się obracać mimo wychylenia drążka gazu, ALE działa to tylko w przypadku uzbrajania kontrolera poprzez przełącznik (co oczywiste).

Pozostałe wartości (Min_Throttle, Max_Throttle, Min_Command_ESC) są dość standardowe (dwie ostatnie to standard 1000 i 2000) natomiast Min_Throttle to minimalne obroty silnika, które występują zaraz po uzbrojeniu FC gdy drążek gazu jest na zero. Tą wartość ustawiłem po uprzednim sprawdzeniu minimalnych obrotów w zakładce MOTORS, o której zaraz będzie słowo.


Pomijam póki co zakładkę PID Tuning - o tym pewnie będzie później, jak sam obczaję tuningowanie PIDów...


4. Zakładka RECEIVER - tutaj spędziłem naprawdę sporo czasu z powodu pewnych problemów, ale o tym później...


Generalnie w tej zakładce sprawdzacie czy kontroler współgra z waszym odbiornikiem RC i czy poszczególne kanały zostały dobrze podpięte i skonfigurowane. Jeśli wychylenia drążków pokrywają się ze zmianami wartości sygnałów na poszczególnych paskach to jest OK. Jeśli nie - czeka Was modyfikacja kanałów w aparaturze, albo tutaj - w BetaFlight. Przede wszystkim trzeba dopasować "mapowanie kanałow" po prawej stronie - "Channel Map". Wartość np. z powyższego obrazka: "AETR1234" oznacza:
  • Ailerons (lotki, odpowiadają za oś Roll) - kanał 1
  • Elevator (ster wysokości, odopowiada za oś Pitch) - kanał 2
  • Throttle (gaz, odpowiada za Throttle ;) - kanał 3
  • Rudder (ster kierunku, odopowiada za oś Yaw) - kanał 4
Albo ustawicie tak w swojej aparaturze by kanały (ich kolejność) pokrywały się z powyższym schematem, albo trzeba zmienić ten schemat dostosowując go do schematu swojej aparatury. Zmiany można dokonać "z palca" - wystarczy wpisać ręcznie inną kombinację np. TRAE1234, AETR2134 itd. czyli zmapować kanały w odpowiedniej kolejności, żeby BetaFlight wiedział jak sterować kontrolerem F3 gdy wychylacie poszczególne drążki.

Na obrazku zaznaczyłem jeszcze dwa kanały AUX pod przełączniki, ale jak widać u mnie to będzie AUX 1 i AUX 3, a nie "2", bo tak mi pasowało przy podpinaniu pinów z gniazd/kabli wychodzących z IO_1 i IO_2 z F3 (po 3 piny na każdą stronę IO_1/IO_2). Nie ma to większego znaczenia, działa tak samo jakbym miał AUX1 i 2, a ponieważ odbiornik mam jedynie 6-kanałowy i podpięty przez PWM to mogę użyć jedynie 2 kanały pod przełączniki.

5. Zakładka MODES - kolejna bardzo ważna zakładka, które definiuje nam w jakich trybach lotu będziemy latać, co dodatkowo możemy włączyć przełącznikami lub co ma być na stałe włączone i realnie wpływa na charakterystykę lotu.


Po pierwsze ARM - funkcja uzbrajania, która przyprawiła mnie o ból głowy, bo za nic nie mogłem wymóc uzbrajania się kontrolera mimo, że poziom sygnału po przełączeniu przełącznika (u mnie pod AUX3) znajdował się zawsze w zakresie "uzbrajania" (definiowany suwakami, trzeba sprawdzić gdzie ląduje wskaźnik sygnału i ustawić, by znajdował się w środku przedziału definiowanego suwakami - bardzo intuicyjne rozwiązanie, nie trzeba go tłumaczyć). Rozwiązanie mojego problemu opiszę niżej.

Póki co odpuściłem sobie aktywację funkcji AIR MODE, bo jest ona dla nieco bardziej zaawansowanych.

ANGLE i HORIZON dwa tryby lotu dla początkujących, które mocno się przydadzą. Tutaj "ciekawostka" - standardowym/defaultowym trybem lotu w SP Racing F3 jest tryb w pełni manualny (Manual albo Rate albo Acro - w zasadzie oznaczają to samo, w różnych kontrolerach są różnie nazywane) dlatego jeśli nie ustawimy sobie żadnego zakresu dla trybów ANGLE i HORIZON to będziemy mieć jedynie do dyspozycji tryb MANUALNY - dla początkujących może niestety być za trudny do latania, choć wiele osób radzi, żeby od razu uczyć się na takim. Moim zdaniem jak ktoś ma dużo śmigieł w zapasie, zasobny portfel i założy z góry, że może wydać sporo kasy na remonty - może zacząć od MANUAL'a - czemu nie! Zaryzykuję, że na 90% przypadków pierwszy lot w tym trybie u osoby lecącej pierwszy raz racer'em w ogóle - konczy się solidną kraksą, albo uciecką drona w nieokreślonym kierunku i... ostatecznie krakśą :).

Można sobie tego oszczędzić i dla zapoznania się z lataniem FPV w ogóle oraz z lataniem wyścigówką - warto zaprogramować sobie trójpozycyjny przełącznik na wszystkie trzy tryby: ANGLE/HORIZON/MANUAL. 

Tryb ANGLE to tryb stabilizacji żyroskopowo-akcelerometrycznej, ale pamiętajmy: wciąż nie mamy do dyspozycji barometru i GPS (no chyba, że macie SP Racing F3 w wersji 10DOF, to wtedy macie to "na pokładzie"). W przypadku mojego F3 (6DOF, bez baro i GPS) ANGLE oznacza podstawową stabilizację w poziomie oraz ograniczone kąty przechylenia koptera. Wciąż trzeba pilnować gazu, żeby drona utrzymywał się w powietrzu, ale za to puszczenie drążków sterowania powoduje ustabilizowanie drona w poziomie. Nawet jeśli zdejmiecie gaz całkiem i spowoduje to wyłączenie silników, a sam dron zacznie się obracać np. do góry nogami, to dodanie gazu od razu powoduje stabilizację w poziomie więc jest to najbezpieczniejszy tryb.

Tryb HORIZON to póki co mój faworyt, bo na latanie ciągle w manualu jest wciąż za cienki ;). Nie mniej, HORIZON pozwala już poszaleć na solidnym poziomie. Działa on tak, że nie ma ograniczeń kątów przechylenia drona w żadnej płaszczyźnie więc można w tym trybie robić flipy i beczki, bo wychylenia drążków działają jak w trybie manualnym natomiast puszczenie drążków i ich powrót do neutrum powoduje stabilizację jak w ANGLE. Zatem można szaleć, a jak coś pójdzie nie tak do wyprostowanie drążków i dodanie gazu powinno wyprowadzić drona z tarapatów.

Podczas lotów w HORIZON należy zwracać uwagę na kontrolę gazu i utrzymywanie wysokości, bo pochylenie przodu do przodu powoduje pikowanie drona w dół, które trzeba kompensować większym gazem, by śmigła ciągnęły go do góry/do przodu.
Pozostał tryb MANUAL (albo RATE albo ACRO), w którym dron po prostu pływa! :) Uczucie się niesamowite po przejściu z ANGLE czy choćby z HORIZON, którego lubię, ale pełen manual daje wrażenie płynięcia powietrzu bez żadnych oporów. Ciekawostką jest tu sterowanie, które tak różni się od trybów stabilizowanych:

W tym trybie (manualnym/acro/rate) drążki sterów sterują NIE KĄTEM wychylenia drona, a PRĘDKOŚCIĄ jego obracania w poszczególnej płaszczyźnie.

Zatem dla przykładu: wychylenia drążka YAW, w którymś kierunku z powoduje rozpoczęcie obracania się drona w danym kierunku i z daną prękością (proporcjonalną do tego, jak daleko wychylimy drążek). Jeśli nie skontrujemy obrotu wychyleniem drążka w stronę przeciwną to dron będzie się tak obracał cały czas. To samo dzieje się przy wychyleniu w osi PITCH (ster wysokości/pochył przód-tył) czy też ROLL (oś podłużna obrotu). Wszystko jest OK dopóki komuś niewprawionemu dron nie zacznie się obracać we wszystkich trzech osiach na raz łącznie z manewrowaniem gazem... nagle trzeba wychylać drążki we wszystkie kierunki, żeby w ogóle utrzymać poziomy zawis... Tak czy inaczej - ten tryb mam ustawiony na pozycji 3-ciej przełącznika i będę po niego sięgał pewnie co raz częściej. Na pozycji 1-szej mam tryb "awaryjny" czyli ANGLE - jeśli tracę wizję lub kontrolę - ANGLE najlepiej ratuje sytuacje. Na środkowej pozycji mam HORIZON i tego póki co najczęściej używam.

6. Zakładka MOTORS


Zakładka o tyle przydatna, że można sprawdzić sobie poziom sygnału, przy którym silniki startują i określić go potem w zakładce CONFIGURATION dla minimalnego obrotu silników po uzbrojeniu. Tu znów mamy ostrzeżenie - "I understand risk, propellers are removed" - zdecydowanie radzę nie włączać silników przy założonych śmigłach.

7. Zakładka CLI - czyli Command Line Interface, konsola, która pozwala na wprowadzanie zmian poprzez stosowanie komend. Listę komend znajedziecie tutaj. To opcja dla bardziej zaawansowanych, ale jak się okazało i mi się przydało do ostatecznego rozwiązania problemu z uzbrajaniem kontrolera (ARM). 


Problem z uzbrojeniem SP Racing F3 przez BetaFlight (przez przełącznik)

Gdy skonfigurowałem pierwszy raz swojego F3 z BetaFlight tak jak na screen'ach powyżej wszystko poszło podejrzanie łatwo. Interfejs BF jest bardzo przyjemny, większość rzeczy dobrze wytłumaczona w samym programie. Jedyne co mnie zaniepokoiło to brak "świecenia" ARM w zakładce MODES, nawet gdy przełącznik dobrze pokazywał skonfigurowany zakres sygnału do uzbrojenia. Przy zmianie trybów lotu (ANGLE/HORIZON) poszczególne nazwy podświetlały się, co oznaczało, że przełącznik działa w danych zakresach. Niestety nie w przypadku ARM. Po podpięciu zasilania faktycznie przełącznik nie uzbrajał kontrolera, nie dało się również tego zrobić poprzez kombinację lewym drążkiem (w prawo i w dół tzn. YAW maks w PRAWO z jednoczesnym gazem na zero).


Zaczęły się poszukiwania problemu i przeczesywanie forów. Nie byłem odosobnionym przypadkiem, ale powodów i rozwiązań znalazłem przynajmniej kilka. 

Niektórym wystarczała ponowna kalibracja akcelerometru... niestety nie mnie.

Kolejnym z podejść do rozwiązania problemu było sprawdzenie, czy regulatory mają włączoną funkcję "Enable PWM Input". Mimo, że te same ESC (regulatory, Littlebee 20A Pro) działały już wcześniej bezproblemo na CC3D założyłem, że BetaFlight + F3 to bardziej wybredna "para" więc ściągnąłem BLHeli Suite - software do obsługi regulatorów z oprogramowaniem BLHeli. 


Poprzez BLHeliSuite z regulatorami można w prosty sposób połączyć się poprzez połączenie kontrolera do portu USB a następnie uruchomienie w tle CleanFlight lub BetaFlight (ale bez łączenia się z nim). Port COM12 i Baud 115200 w BLHeliSuite to dokładnie te same wartości, przez które łączy się BF. Pozostało z zakładki "Selec ATMEL/SILABS Interface" wybrać SiLabs Boot Cleanflight (bo opcji wybrania BF nie ma, ale i tak działa). Przed połączeniem się "Connect" trzeba jednak zasilić ESC z pakietu Lipo (pamiętajcie: bez śmigieł!). Jeśli uda się Wam połączyć, to należy wcisnąć "Read Setup" a wtedy program pobierze bieżące ustawienia ESC. Może wtedy pojawić się komunikat:



Oznacza to, że ustawienia ESC#1 (pierwszego regulatora oznaczonego jako MASTER) nie pokrywają się z ustawieniami ESC#2, #3 i #4. To nic - jeśli zmienicie ustawienia np. "Enable PWM Input" na ON dla ESC#1 i klikniecie "Write Setup" to wszystkie wartości ustawień dla ESC#1 zostaną zapisane również dla trzech pozostałych ESC i tym samym wszystkie będą miały te same parametry. Jak poznać, że zmieniamy setup dla ESC#1? Bo to zapewne kafelek z "1" na dole koło przycisku "Connect/Disconnect" świeci się na niebiesko. Po zapisaniu zmian na zakładce "ESC overview" możecie podejrzeć co tam siedzi w Waszych regultorach.


Super - poznałem nowy soft, wiem gdzie i m/w jak grzebać w ustawieniach ESC prosto z komputera (np. tutaj można zmienić kierunek obrotów silników bez konieczności przelutowywania kabli!), ale to ostatecznie nie pomogło. Przynajmniej nie w 100%, bo zmieniłem sygnał na PWM = ON, ale dalej problem z ARM'em pozostał.

Trop nr 2

Drugi trop prowadził do zakresu sygnału sterowania gazem - po pierwsze w zakładce RECEIVER dla kanału Throttle miałem:
  • zakres pracy: 1110 - 1913
  • środek: około 1512-1513
Podobnie zresztą było dla pozostałych kanałów (ROLL, PITCH, YAW). Modelowo byłoby 1000-2000 i środek 1500. Zacząłek kombinować z aparaturą i jej ustawieniami.





O ile zakres pracy kanałow ROLL/PITCH/YAW mogłem zmienić zarówno trymerem jak i ustawieniem End Pointów, tak zakres pracy THROTTLE w ogóle nie reagował na zmiany poniżej 1110 i powyżej 1913 przy dłubaniu w End Pointach czy nawet zwykłym trymowaniu. To był jednak mocny trop, bo czytałem wiele razy na forach i w komentarzach, że na innych aparaturach zmiany EndPointów/zakresu działania drążków dawały pozytywne rezultaty. Ostatecznie po sprawdzeniu większości opcji w aparaturze stwierdziłem, że spróbuję to zmodyfikować przez sam BetaFlight... Z pomocą przyszła jakaś dobra dusza na Facebook'u i po zadaniu pytania na grupie poświęconej dronom wyścigowym (Race FPV Forum) dostałem taką wskazówkę: w CLI (konsoli) wklepać te 4 linijki:

rxrange 0 1110 1913
rxrange 1 1110 1913
rxrange 2 1110 1913
rxrange 3 1110 1913
Pod nimi trzeba jeszcze napisać "save" i klepnąć ENTER, żeby zmiany zostały zapisane. I co? I voila! Działa, te cztery linijki zmieniły bezpośrednio w BetaFlight zakres działania sygnałów dla moich kanałów. ARM uzbraja się teraz jak złoto, ale pamiętajcie: wartości 1110 - 1913 to wartości zakresu sygnału dla mojego odbiornika, Wasz może mieć inny zakres, wtedy trzeba go podmienić w tych powyższych komendach.




Tym sposobem dotarliśmy do końca moich bojów z uzbrojeniem F3 przez BetaFlight. ARM się podświetla, silniki startują, przełączanie trybów działa. Pozostało tylko oblatać maszynę i sprawdzić jak się zachowuje na nowym kontrolerze i czy czuć różnicę po przesiadce z CC3D/LibrePilot'a. Ciąg dalszy pewnie następi - stay tuned! ;)


18 komentarzy:

  1. Ten komentarz został usunięty przez administratora bloga.

    OdpowiedzUsuń
  2. Czy można uzbrajać drążkiem gazu do dołu i w prawo czy tylko przełącznikiem?

    OdpowiedzUsuń
    Odpowiedzi
    1. Da się oczywiście drążkiem, wystarczy nie zdefiniować przełącznika dla ARM w zakładce MODES i wtedy drążek działa. Natomiast trzeba uważać mocno z jego używaniem, bo w trybie Acro przy agresywnych manewrach na zerowych obrotach można niechcący dać na sekundę w dół (gaz) i w lewo (yaw) i wtedy rozbroimy silniki w locie na amen ;)

      Usuń
    2. Mam za mało kanałów. Cztery na sterowanie, jeden na zmianę trybów, i jeden na buzer do poszukiwania. Uzbrajanie zostaje na drążek gazu. Chyba, żeby połączyć buzer i uzbrajanie na jeden przełącznik.
      Teraz mi się ubzdurało takie coś. Da rady tam tymi suwakami ustawić zakresy, tak żeby się pokrywały w jakiejś części? Np uzbrajanie między (orientacyjnie) 1200 a 2000, i buzer pomiędzy 1600 a 2000. Wtedy przełącznik trzypozycyjny na 0, nie dzieje się nic, silniki rozbrojone i buzer nie wyje. Przełącznik na 1, to uzbrajam silniki, ale buzer nadal cicho. Przełącznik na 2 to silniki nadal uzbrojone i buzer wyje. Coś żeby w locie sobie potrąbić. Ale wydaje mi się, że to może mieć więcej minusów jak plusów. Bo jak spadnę i będę chciał załączyć buzer, to silniki nadal będą uzbrojone i mogą się zablokować w trawie i spalić regulatory. Ale za to w powietrzu będę mógł piszczeć:). Można by wyłączyć obroty silników przy zerowym gazie, ale wtedy mogę nie zauważyć uzbrojenia i kogoś uszkodzić. Zawsze minimalnie ustawiałem ruch silników przy zerowym gazie, wtedy miałem pewność, żeby nie podchodzić.

      Usuń
  3. Od kilku tygodni nie mam okazji ulotnić 250 z sp racing f3. Ale opiszę moje boje. Poskładałem maszynę i z grubsza pokonfigurowałem. U mnie też nie chciały się uzbrajać silniki. Wpisałem do konsoli te same komendy z tymi samymi wartościami, choć moje drążki pokazywały o kilka punktów inaczej. Po wpisaniu tych komend, drążki pokazywały inne wartości, trochę szerszy zakres. Ale silniki nadal nie chciały się uzbrajać. Po kilku rebootach płytki w końcu zaskoczyły. Do teraz nie wiem co pomogło.
    Teraz diody. Udało mi się skonfigurować tak, żeby migały przy kończącej się baterii. Trzeba ustawić w zakładce configuration (chyba, nie mam płytki przy sobie) wartości alarmu. Potem na zakładce led strips (trzeba najpierw włączyć chyba na zakładce configuration) wyklikać ustawienie diód i wybranym zaznaczyć warning. Buzer miałby wyć przy tej samej wartości baterii, wystarczy go podłączyć. Ale u mnie coś nie gra. Mam wbudowany z pasek led (https://abc-rc.pl/wielokolorowe-paski-rgb-led-buzzer-do-dronow-naze32-matek), ale on potrzebuje 5V. A z tego co pomierzyłem wyjście buzera na płytce daje coś około 3V. Nie wiem jeszcze czy silniki mi się równo kręcą, ale się kręcą. To dobry znak. Na razie tyle komplikacji.

    I na koniec pytanie. Nie widzę trybu manualnego w zakładce modes. Czyżby air mode było manualem?

    OdpowiedzUsuń
    Odpowiedzi
    1. Dzięki za komentarz! Air Mode to nie to samo co tryb lotu z tego co mi wiadomo, a Manualny Tryb (nazywany tutaj Acro) jest defaultowo, czyli jeśli żaden inny nie jest włączony to masz wtedy Acro.

      Usuń
    2. Dzięki za info. Udało mi się podłączyć buzzer. Nie wiem czemu, ale na płytce bieguny były zamienione. Wystarczyło podłączyć plus do minusa, a minus do plusa.
      Druga sprawa. Po uzbrojeniu nie wszystkie silniki mi się kręcą. Ustawiłem minmum throttle na 1150. Te co się kręcą, to jakoś tak za szybko na moje oko i przyspieszają. Tak jakby trochę kopter stał nierówno i próbują go wypoziomować. Bo raz się kręcą jedne a raz inne. Zależy w którą stronę jest pochylony. Natomiast na manualu przy tej wartości kręcą się tylko dwa. Dopiero przy 1166 startuje trzeci, a czwarty dopiero po chwili. A przy 1167 od razu startują wszystkie. Nie wiem którą wartość ustawić.
      I trzecia sprawa. Próbowałem się oderwać od ziemi. I strasznie nim buja. Wyważony raczej jest ok. Próbowałem balansować pakietem i przesuwać wagę mocno na przód albo na tył, ale tak samo buja. Płytka leży na piance i jest przykręcona śrubami do ramy. Więc wibracje powinny być wyeliminowane. Może coś powinienem w sofcie ustawić?

      Usuń
    3. Silniki będą przyspieszać same z siebie, jeśli nie są zamontowane na nich śmigła - tak działa kontroler, który próboje coś tam kombinować, już też to przerabiałem ;). A regulatory były konfigurowane ręcznie (MIN/MAX gazu?). Balansowanie pakietem nie ma tu większego sensu jeśli znajduje się on gdzieś blisko środka ciężkości to kontroler sobie z nim radzi, moja płytka jest na sztywno przymocowana bez żadnych wibroizolatorów i lata stabilnie. Problem leżeć może w samej konfiguracji regulatorów, muszą być wszystkie skonfigurowane na takie same MIN/MAX gazu, poza tym nie włączaj Air Mode, testuj w jakimś innym trybie, a w zakładce MOTORS jak odpalasz pojedynczo silniki, to każdy startuje na podobnym poziomie sygnału?

      Usuń
    4. Na razie próbowałem tryb angle i w nim tak buja. Innych nie sprawdzałem. Choć wydaje mi się, że w manualu jakby trochę mniej szarpało. Bo jak na podłodze dodaję gazu w angle, to na granicy oderwania się już nim szarpie. A w manualu jakby był spokojniejszy. Regulatory były kalibrowane ręcznie (każdy z osobna podpięty do odbiornika do kanału gazu) przed ulotnieniem koptera jeszcze z cc3d z openpilotem. Potem nie były ruszane. Chyba, że już coś w betaflight pomieszałem. Na forach piszą, żeby zrobić pidowanie, ale to dla mnie czarna magia.

      Usuń
    5. I silniki w tym samym momencie startują na zakładce motors.

      Usuń
    6. No to jest poprawa. Udało mi się wyeliminować oscylacje koptera. Pomogło pidowanie. Wszystkiego jeszcze nie rozumiem. Na forach różnie piszą. Moje obserwacje najbliżej są tego:
      Parametr P odpowiada za reakcje na odchylenia maszyny. Jeśli P jest wysokie, to szybciej kopter miałby wracać do poziomu, ale za wysokie powoduje oscylacje. Bo przy pierwszym odchyleniu kontroler przykłada za dużo mocy do wypoziomowania, co skutkuje przechyłem w drugą stronę, i znowu musi dać kontrę. I tak aż do uzyskania poziomu. A jeśli P już jest bardzo wysokie, to oscylacja może trwać bardzo długo. Natomiast jeśli P jest za niskie, to kopter za wolno łapie poziom, co można obserwować dryfowaniem. Parametr I ma odpowiadać za reakcje na odchylenia drążka. Im wyższe tym kontroler miałby pozwalać na większe odchylenia. Ale tego I do końca nie rozgryzłem. D odpowiada za 'wygładzanie'. Im niższe tym kopter łagodniej zachowuje się w końcowej fazie np poziomowania. Im wyższe tym to wygładzanie jest bardziej kanciaste. Np jeśli P nie mogę ustawić dobrze, bo albo jeszcze za wolno łapie poziom, albo już za bardzo drga, to pomaga tu D.

      Ale nie jest tak sztywno jak napisałem. Parametry się przenikają. Jeśli wszystko ustawę na 0, a P np na 10 to z opisu może wynikać, że kopter będzie powoli łapał poziom i ani trochę nie reagował na drążki. Ale na drążki reaguje, choć nie tak mocno jak do P dodam jeszcze I.
      W każdym razie w pokoju mogę już nim wystartować i w miarę utrzymać pozycję. Jak pogoda pozwoli, to spróbuję na zewnątrz.

      W pidowaniu pomogło mi takie coś. Najpierw wyeliminowałem oscylacje z osi roll. W tym celu do koptera przymocowałem rurkę wzdłuż osi roll i przycisnąłem jej końce na krzesłach. Ale tak, żeby mógł swobodnie się kręcić w tej osi roll, ale nie uciekł. Wszystkie parametry dałem na 0 (także dla pitch). Stopniowo podnosiłem P aż do momentu pojawienia się oscylacji, gdy przechylałem kopter ręką w prawo. Ale takich oscylacji, gdzie kopter jeszcze złapał sam poziom po kilku kontrach. Jeśli oscylacja zaczynała być za długa, to zmniejszałem wartość P. Potem podniosłem D aż odpowiadały mi reakcje na drążek roll. Jednocześnie musiałem trochę zmniejszyć P, bo powstawały oscylacje. Potem zrobiłem to samo z osią pitch. Yaw został jak był. Teraz odpiąłem rurę i próbowałem polatać. Okazało się, że jest trochę za flakowany i ciut podniosłem D w obu osiach, jednocześnie mogłem podnieść P. I tym sposobem wyeliminowałem bujanie. Teraz trzeba sprawdzić jak się zachowuje w powietrzu przy większej prędkości i pewnie trochę trzeba będzie poprawić.
      I na koniec. W osi pitch wartości powinny być wyższe, bo tu silniki muszą unieść większą wagę przy wyrównywaniu poziomu. Bo zazwyczaj kontroler, pakiet, kamera i nadajnik fpv układa się w jednej linii właśnie wzdłuż roll. Ale jak ktoś ma konstrukcję 'wieżową' i waga rozkłada się równomiernie, to wartości będą takie same lub bardzo blisko siebie. Znaczy P dla roll i pitch, I też dla roll i pitch i D dla roll i Pitch.

      Usuń
    7. Hej. Napisałem długi komentarz o pidowaniu, ale po otworzeniu tego artykułu komentarz zniknął. Poszedł do moderacji, czy przepadł?

      Usuń
    8. Z automatu Blogspot go zakwalifikował jako spam, przywróciłem, już jest. Przy okazji - wielkie dzięki za ten komentarz. Sam jestem przed pidowaniem, aczkowiek u mnie takich problemów nie było, latam cały czas na stockowych PIDach, natomiast chciałem się tym pobawić, pare źródeł przeczytałem, Twój komentarz dodatkowo rozjaśnia kilka rzeczy. Dzięki wielkie!

      Usuń
    9. Tu na filmie jest rurka o której pisałem. https://www.youtube.com/watch?v=TI_QZqsDcgM. Bardzo mi pomogła. Choć ja nie ograniczałem obrotu koptera książkami. Miał pełną swobodę, całe 360 stopni mógł się kręcić.
      Powodzenia.

      Usuń
    10. Dobry patent, potem zawsze można zamienić oś, w której jest rurka i PIDować pitch, z Yaw będzie trudniej.

      Usuń
    11. W yaw już nie będzie oscylacji, bo tam żyroskop nie musi trzymać poziomu. Tu już raczej dopieszczanie, niż eliminacja bujania. To można sprawdzać w powietrzu. Bujania nie ma, to nie ma problemu z opanowaniem. Najgorsze są oscylacje na roll i pitch.

      Usuń
    12. Wczoraj udało mi się wylatać dwa pakiety. Yaw muszę trochę poprawić, żeby szybciej się obracał. I wyeliminować bujanie przy opadaniu.
      Flipy kręci w miejscu. Jeśli zawisnę w miejscu, to zdejmuję gaz do zera i roll lub pitch do oporu, pod koniec obrotu, trochę gazu. Praktycznie nie opada więcej niż jeden metr. Jakie miałeś pidy fabryczne? W następnym wpisie pisałeś, że za wolno Ci się kręci, na wykresie kropka nie dochodzi do końca. U mnie te kropki dochodziły do krawędzi wykresu przed pidowaniem, po pidowaniu nic się nie zmieniło. W aparaturze też nic nie zmieniałem. Ale nie jestem pewny czy nie grzebałem przy tym dla cc3d, a mam skopiowany tamten profil.
      Dziś nie da się zrobić próby z nowymi pidami, bo leje.

      Usuń
  4. Ten komentarz został usunięty przez administratora bloga.

    OdpowiedzUsuń

Popularne posty

Nasze zdjęcia dronów:

Created with flickr badge.