W tym artykule dowiemy się, jak podłączyć modułu GPS do kontrolera lotu oraz jak przebiega konfiguracja GPS w Betaflight. Poradnik możemy wykorzystać także do oprogramowania INAV.
Jest to jeden z serii artykułów o oprogramowaniu Betaflight. Pozostałe poradniki z serii:
- BETAFLIGHT 4.0 – konfiguracja i ustawienia
- Betaflight Modes – tryby lotu w Betaflight
- FeedForward Betaflight – czułość drążków niezależna od PID
- D_min Betaflight – nowy sposób ustawiania PID -ów
- Betaflight GPS Rescue Mode – RTH – awaryjny powrót drona
GPS w Betaflight – informacje wstępne
Montując moduł GPS do naszego kontrolera lotu wyposażonego w Betaflight otrzymamy kilka bardzo przydatnych funkcji w naszym dronie:
- Pomiar aktualnej prędkości lotu (km/h),
- Współrzędne geograficzne miejsca przelotu,
- Pomiar całkowitej przebytej trasy modelem, a także aktualną (przybliżoną) odległość od miejsca startu,
- Możliwość awaryjnego powrotu drona – tryb GPS RESCUE Mode, opisany szczegółowo w artykule: Betaflight GPS Rescue Mode – RTH – awaryjny powrót drona
Musimy jednak pamiętać, że obsługa modułów GPS w Betaflight cały czas jest w fazie testów i ulepszeń. Kolejne aktualizacje Betaflight wnoszą zazwyczaj także poprawki obsługi GPS, lecz nadal zdarzają się sporadyczne problemy z modułami GPS. Obsługa modułu GPS w oprogramowaniu Betaflight jest bardzo ograniczona i traktowana, jako ostateczna możliwość awaryjnego powrotu drona i to z pewnym ALE. Gdy odzyskamy kontrolę nad modelem, czy wizję wideo powinniśmy niezwłocznie przejść znów na sterowanie ręczne. Całkowite, autonomiczne loty po wytyczonych przez nas punktach na trasie oraz autopowrót i lądowanie umożliwi nam wyłącznie oprogramowanie INAV.
Kompas i barometr…
W przypadku oprogramowania Betaflight nie jest wymagane posiadanie kompasu. Jeżeli, nasz kontroler lotu nie posiada magnetometru – możemy oczywiście zakupić moduł GPS z wbudowanym kompasem. Nie da to nam jednak nic więcej, poza możliwością wyświetlenia ,,cyfrowego” kompasu na OSD w wizji FPV (wirtualna róża kierunków świata). Nawet w trybie GPS RESCUE kompas jest pomijany.
Zupełnie inaczej jednak wygląda sprawa z barometrem. To dzięki niemu kontroler lotu wylicza aktualną wysokość naszego modelu. Zatem, gdy go brakuje w kontrolerze lotu, to aktualna wysokość zostanie odczytana z modułu GPS i danych z satelitów. I tu możemy się zdziwić – podana będzie wysokość nad poziomem morza 😉 Zatem najlepiej posiadać kontroler lotu wyposażony w barometr.
Poniżej znajdziecie popularnie montowane moduły GPS w modelach FPV :
Przykładowe FC, najchętniej kupowane do dronów FPV z modułami GPS:
Podłączenie GPS do kontrolera lotu (FC)
Sposób podłączenia większości dostępnych na rynku modułów GPS jest taka sama. Do wolnego (niewykorzystywanego) portu UART w FC podłączamy wyprowadzenia modułu GPS następująco:

- VCC (czasami opisane także jako 5V) – łączymy z wyprowadzeniem +5V kontrolera lotu,
- GND – masa, także z GND w FC,
- TX – linia transmisyjna – podłączamy do wyprowadzenia RX w FC,
- RX – -||- odbiorcza – łączymy z linią TX w FC,
- SDA z SDA,
- SLC z SCL.
Wyjścia w modułach GPS opisane, jako SDA oraz SCL służą do zmiany wewnętrznych ustawień samego modułu. Są także wykorzystywane do przekazywania danych z wbudowanego w GPS kompasu. Jeżeli posiadany przez nas moduł GPS nie posiada wbudowanego kompasu – wyjść SDA i SCL nie musimy lutować do kontrolera lotu. Dodatkowo – na chwilę obecną Betaflight nie odczytuje danych z kompasu wbudowanego w moduły GPS – tę rolę spełnia za to oprogramowanie INAV.
Orientacja i montaż
Montując moduł GPS do kontrolera lotu nie możemy zapomnieć o ich właściwej orientacji. Kontrolery lotu mają zawsze na sobie nadrukowaną strzałkę oznaczającą właściwy kierunek montażu w ramie. Kierunek grota strzałki powinien zawsze wskazywać przód modelu:

Czasami właściwy montaż utrudnia umiejscowienie portu micro USB. Wobec tego wiele osób umieszcza swoje kontrolery lotu w innej orientacji, niż wskazuje nadrukowana strzałka. Zatem pamiętajmy, by wprowadzić odpowiednie kąty aktualnego położenia akcelerometru i ew. magnetometru w zakładce Configuration.
Ta sama sytuacja jest w przypadku modułów GPS. Te, które mają wbudowany kompas – także będą posiadały na swojej obudowie nadrukowaną strzałkę. Moduły niezawierające kompasu zazwyczaj takiej strzałki nie posiadają, a ich montaż może być dowolny (pomijając oczywiście do góry nogami). Wszelkie elementy zakrywające antenę odbiorczą GPS będą skutecznie pogarszały szybkość i ilość odnajdywanych satelitów. Zatem moduł GPS powinien znajdować się możliwie najdalej od wszelkich źródeł zakłóceń – nadajnika i anteny FPV, silników, czy kabli zasilających. Jeden z moich modeli moduł GPS ma tak zamontowany:

I muszę przyznać, że spisuje się bardzo dobrze. Niektórzy jeszcze używają dodatkowo maszt (przykładowy pod tym linkiem (kilk)) i dopiero na nim montują moduł GPS. Rozwiązanie idealne dla samego modułu, bo izoluje go od wszelkich źródeł zakłóceń w modelu, lecz także powiększa jego wagę i pogarsza aerodynamikę.

Samo dodanie modułu GPS sprawi, że nasz model ,,przytyje” o ok ~10 gramów.
Konfiguracja GPS w Betaflight
Przed nami ostatni już etap pracy z modułem GPS. Podłączmy kontroler lotu z zamontowanym GPS do komputera oraz włączmy program Betaflight Configurator. Przejdźmy teraz do zakładki PORTS, a następnie w sekcji Sensor Input odszukajmy port UART, do którego podłączyliśmy moduł GPS. Przy tym porcie wybierzmy z listy GPS i ewentualnie szybkość transmisji danych. Domyślnie jest to wartość 57600:

Po wybraniu właściwych ustawień zapisujemy je klikając przycisk Save and Reboot. Kontroler lotu uruchomi się ponownie.
Teraz przejdźmy do zakładki Configuration. W sekcji GPS musimy:

- włączyć obsługę modułu GPS – przesuwając suwak włącznika GPS,
- wybrać właściwy protokół spośród: UBLOX / ENMEA,
- włączyć auto konfigurację modułu GPS – przesuwając suwak przy pozycji Auto Config
Teraz pozostało zapisać wybrane ustawienia klikając przycisk Save and Reboot. Kontroler lotu znów uruchomi się ponownie.
Jeżeli wszystko działa prawidłowo, powinniśmy ujrzeć w zakładce SETUP podobny rezultat do poniższego:

Dodatkowo, po włączeniu opcji Enable Expert Mode i wejściu do zakładki GPS powinniśmy ujrzeć mapę naszej aktualnej lokalizacji:

Pamiętajmy, że niektóre moduły GPS używane w budynkach potrzebują nawet kilku minut na znalezienie minimum 4 satelitów. Jednak na wolnym powietrzu pierwsze ,,złapanie FIX-a” trwa zazwyczaj do kilkudziesięciu sekund.
OSD
Pozostało nam jeszcze włączenie wyświetlania niezbędnych parametrów z modułu GPS na OSD ekranu PFV. Przejdźmy do zakładki OSD i wybierzmy interesujące nas dane odczytywane z GPS:

Mamy do wyboru:
- GPS Speed – prędkość w km/h;
- GPS Sats – ilość odnalezionych satelitów;
- Altitude – wysokość;
- GPS Lon – długość geograficzna;
- GPS Lat – szerokość geograficzna;
- Home Direction – strzałka pokazująca aktualną orientację modelu względem miejsca startu;
- Home Distance – odległość od miejsca startu;
- Compass Bar – wirtualny kompas (jeżeli FC, bądź GPS go posiada);
- Flight Distance – całkowita przebyta trasa.
Pozostało testować w terenie, jak się spisuje nasz model ze skonfigurowanym modułem GPS w Betaflight! 😉
Hej,
mam BN880 podlaczony do matek f743, po wgraniu softu (niestety wciaz wersja developerska) gpx fix zajmuje wieki – doslownie to trwa dobrych kilka minut (w tym momencie polaczylo sie po 11 minutach) albo i lepiej.
gdzie i jak szukac problemu ?
konfigurator 10.7
btlf 4.3
uart 2 czestotliwosc 57600
ublox (inne nie dzialaja) + galileo
Witaj,
problemem może być samo umiejscowienie modułu GPS w modelu (o ile jest w nim zamontowany). Na Czułość GPS ma wpływ m.in. umiejscowienie go w pobliżu anten nadawczych (np. VTX), nadajników (również VTX), jak i kabli zasilających.
Jeżeli jest to możliwe – spróbuj umieścić go z dala od anteny nadajnika wideo i samego nadajnika oraz oddalić go od baterii zasilającej.
Zimny start zazwyczaj trwa dłużej, jednak nie powinien przekraczać 3-5 minut.
Oczywiście ,,łapanie” FIX-a robisz w odkrytym terenie?
Świetny opis tego jak działa GPS z BF dzięki 5/5 🙂
Dziękuję, miłego dnia! 😉
Jak wprowadzic mniejszą odległość od trybu aktywacji auto powrotu. Domyślna to 100m chcę zmniejszyć
Możesz to zrobić wpisując w CLI komendę: set gps_rescue_min_dth=liczba_metrów, co dokładniej opisałem w artykule: BETAFLIGHT GPS RESCUE MODE
Cześć.
Zaproponowałbym druga część- mając już zainstalowanego GPSa jak skonfigurować go z FRSky, Jak zrobić skrypt itd.
Na koniec. Dzięki za bloga. Świetnie się czyta.
Witaj,
Propozycja zanotowana – o skryptach LUA postaram się napisać w jednym z przyszłych artykułów.
Czas na odkurzenie z kurzu modelu do dalszych lotów i sprawdzenie współpracy GPS + Betaflight + FRSKY TARANIS + LUA… 😉
PS: Dziękuję! 😉
Cześć. Na początek pare słów uznania za fajny blog, już nie raz mi pomogłeś! Dzięki!
W końcu i ja sobie sprawiłem moduł GPS BN 220 😉 Latam raczej freestyle więc w sumie nie wiem po co ale ciekawość i nie duża cena wygrały:) I teraz mam pytanie, czy taki moduł może być przydatny w śledzeniu modelu? Z jakąś np aplikacją w telefonie? O co mi chodzi… Czy taki moduł może być pomocny w zlokalizowaniu drona jak mi spadnie??
Witaj,
Dziękuję za komentarz! 😉
Moduł GPS da Tobie kilka dodatkowych możliwości – pomiar aktualnej prędkości modelu, położenie geograficzne i ew. awaryjny powrót – RESCUE MODE w Betaflight.
I teraz dochodzi kilka czynników:
– jeśli korzystasz z odbiornika i aparatury FRSKY oraz protokołu FPORT – możesz na bieżąco (poprzez wgrany skrypt LUA) śledzić dane z GPS. Gdy model spadnie aparatura będzie pamiętać ostatnie otrzymane dane.
– na OSD będziesz mógł wyświetlić bieżące położenie geograficzne.
I teraz kwestia śledzenia modelu – bezpośrednio – jedynie headtracker (ale to tylko służy do kierowania anten odbiorników FPV i ewentualnie aparatury w stronę modelu). A pośrednio – jeżeli model upadnie i będziesz chciał go szybciej znaleźć – wystarczy nawigacja w telefonie (np. Automapa). W nawigacji można wpisać współrzędne geograficzne celu – i tak nawigacja w telefonie doprowadzi Ciebie do miejsca upadku modelu 😉
Na zgubiony model najlepszy jest jednak buzzer z własnym zasilaniem, np. Buzzer JHE42B. Waży w sumie tyle samo, co moduł GPS, a piszczy nawet przy wypiętej baterii z zagubionego modelu.
U siebie montuje te buzzerki we wszystkich latających modelach, już kilka razy mnie wybawiły przed kilkugodzinnym szukaniem zguby 😉
Dziękuję za wyczerpującą odpowiedź! W taki buzzerek niedawno też się zaopatrzyłem.
Na pewno wypróbuję „Rescue Mode” z Twojego poradnika! Pozdro
Witaj. W moim GPS BN880 wyjścia SDA i SCL to pady kompasu. Podłączyłem je do odpowiadających padów na kontrolerze Matek F405-CTR. Faktem jest, że w Betaflight nie ma z tego pożytku 🙂
Dziękuję za czujność! 😉 Do tej pory nie miałem do czynienia z modułami GPS z wbudowanym kompasem…
Masz rację – SDA i SCL możemy podłączyć do kontrolera lotu, lecz Betaflight ich nie wykorzysta – może twórcy BF to kiedyś poprawią. Działa za to w oprogramowaniu INAV. Zatem dokonuję od razu korekty w artykule.
Miłego dnia! 😉
Jestem „czujny” bo czytam Twoje artykuły i ciągle się czegoś nowego z nich dowiaduję. Tak że proszę o więcej… Czekam na kolejne podzespoły od koleżków ze stolicą w Pekinie 😉
Pozdrawiam