logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Moduł NavSpark mikrokontroler z odbiornikiem GPS, uruchomienie i testy w Arduino

TechEkspert 26 Cze 2018 22:59 4173 4
REKLAMA
  • Moduł NavSpark mikrokontroler z odbiornikiem GPS, uruchomienie i testy w Arduino
    W ofercie NavSpark dostępne są moduły zgodne z Arduino, oparte o układ integrujący mikrokontroler oraz odbiornik GPS. Możliwe jest zamówienie darmowej próbki NavSpark mini wraz z dołączonym modułem konwerterta USB<->UART NavSpark mini + USB adapter lub zestawu 6 szt NavSpark mini za 36$. Moduł o wymiarach 17x17mm nie posiada wbudowanej anteny GPS, należy podłączyć antenę zewnętrzną do gniazda na płytce. Poza modułem navspark-mini dostępne są płytki z większą ilością wyprowadzeń, zgodne z Arduino dedykowane do GPS, GPS/GLONAS, GPS/BEIDOU. Moduł w wersji mini został przetestowany z anteną GPS/GLONAS. Według opisu producenta moduł został oparty o 32b mikrokontroler z 1MB pamięci flash i 212kB RAM, FPU (IEEE-754) i odbiornik GPS. Mikrokontroler LEON3 Sparc-V8 taktowany częstotliwością 100MHz, na płytce mini dostępne są 1x UART, 1x SPI i 1xI2C (współdzielone z GPIO), oraz sygnał 1PPS (+/- 10ns).
    Moduł NavSpark mikrokontroler z odbiornikiem GPS, uruchomienie i testy w Arduino

    Dla wersji zgodnej z Arduino dostępne są przykłady. Wersja mini nie jest zgodna ze wszystkimi przykładami, m.in ze względu na mniejszą liczbę wyprowadzeń i brak UART2. NavSpark mini można wykorzystać bez programowania, jako odbiornik GPS wysyłający informacje po UART. Pracę modułu możemy sprawdzić oprogramowaniem Windows GNSS Viewer. Program pozwala na aktualizację firmware, a także konfigurację modułu (np. zmianę ustawień UART na 115200 aby komunikować się z Arduino).

    W tym materiale o GPS NEO-6M znajdziecie opis sentencji standardu NMEA-0183. Z wykorzystaniem modułu navspark-mini lub NavSpark Arduino możemy zrobić "swój" odbiornik GPS, który będzie przesyłał dane w wybranym przez nas formacie (np. NMEA wysyła współrzędne gdzie sekundy zapisane są w formie „dziesiętnej”, możemy zmienić format zapisu na minuty i sekundy lub dowolny inny). Możemy zrobić dużo więcej, reagować na określone okoliczności, lub np. podłączyć kartę SD do interfejsu SPI i rejestrować dane z modułu GPS.
    Moduł NavSpark mikrokontroler z odbiornikiem GPS, uruchomienie i testy w Arduino

    Zgodnie z opisem http://www.navspark.com.tw/tutorial-1 łączymy płytkę konwertera USB<->UART z płytką navspark-mini.
    Konwerter oparty jest o PL2303 w WIN10 powinien zainstalować się automatycznie, sterowniki dostępne są także tutaj: http://www.navspark.com.tw/downloads/ Urządzenie po zasileniu z USB pobiera prąd ~90mA.
    Moduł NavSpark mikrokontroler z odbiornikiem GPS, uruchomienie i testy w Arduino

    W środowisku Arduino wybieramy Plik->Preferencje i dopisujemy linię:
    http://navspark.mybigcommerce.com/content/package_navspark_index.json
    w polu Dodatkowe adresy URL do menadżera płytek.

    Wybieramy: narzędzia->płytka->menadżer płytek
    wyszukujemy i instalujemy "navspark".
    Następnie wybieramy: Narzędzia->płytka->NavSpark mini oraz Processor Leon3 with GNSS library, wybieramy właściwy port COM.
    Przykładowe kody znajdziemy tutaj: http://www.navspark.com.tw/downloads

    Spróbujmy na bazie NavSpark mini uruchomić proste urządzenie zapisujące kolejne dane GPS na kartę SD.

    Opierając się na przykładzie demo_how_to_extract_gps_info możemy zapisać informacje z GPS na podłączonej karcie SD. Urządzenie pracuje z napięciem 3.3V więc płytka z gniazdem microSD nie potrzebuje stabilizatora i konwertera poziomów napięć.
    Łączymy kartę SD z modułem:
    DI <- MOSI GPIO30
    DO -> MISO GPIO31
    SCLK <- SCK GPIO29
    CS <- CSNO GPIO28

    Moduł NavSpark mikrokontroler z odbiornikiem GPS, uruchomienie i testy w Arduino

    Testując poniższy kod, dane o położeniu zapisywane są co minimum 60s na kartę SD. Zapis na kartę powoduje tracenie przez moduł "FIX", ale po kilkudziesięciu sekundach moduł odzyskuje możliwość ustalania położenia.
    Na stronie producenta poza modułem w wersji mini, oraz w wersjach zgodnych z Arduino, znajdują się moduły o zwiększonej dokładności sygnału 1PPS (6ns), oraz zwiększonej dokładności pozycjonowania (1cm). Jest to ciekawe rozwiązanie hybrydowe, jednak moduły są dość mało popularne co przekłada się na małą ilość przykładów dostępnych w sieci.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Źródło:
    http://www.navspark.com.tw/
    http://navspark.mybigcommerce.com/navspark-mini-6pcs-pack/

    Fajne? Ranking DIY
    O autorze
    TechEkspert
    Redaktor
    Offline 
    W moich materiałach znajdziecie testy i prezentacje sprzętu elektronicznego, modułów, sprzętu pomiarowego, eksperymenty. Interesuje mnie elektronika cyfrowa, cyfrowe przetwarzanie sygnałów, transmisje cyfrowe przewodowe i bezprzewodowe, kryptografia, IT a szczególnie LAN/WAN i systemy przechowywania i przetwarzania danych.
    Specjalizuje się w: mikrokontrolery, rozwiązania it
    TechEkspert napisał 5819 postów o ocenie 4623, pomógł 15 razy. Jest z nami od 2014 roku.
  • REKLAMA
  • #2 17299706
    speedy9
    Pomocny dla użytkowników
    TechEkspert napisał:
    moduły o zwiększonej dokładności sygnału 1PPS (6ns), oraz zwiększonej dokładności pozycjonowania (1cm)

    1cm? Konsumenckie moduły faktycznie mogą działać z taką dokładnością?
  • REKLAMA
  • #3 17300181
    TechEkspert
    Redaktor
    @speedy9 dobre pytanie, ale nie znam odpowiedzi czy te moduły są faktycznie tak dokładne, może źle rozumiem specyfikację a może jest na to jakaś norma. Nie miałem okazji testować tych dokładnych odbiorników także trudno powiedzieć.
    Precyzyjne kosztują 80$, a "normalne" zgodne z Arduino 22$-25$.
    Odbiornik GPS z precyzyjnym czasem "6nsec (1-sigma) timing accuracy, 1PPS generation with 1 satellite in view, 2nd programmable time pulse phase-locked to 1PPS 1Hz ~ 19.2MHz programmable
    Odbiornik GPS z dokładną lokalizacją "For < 10Km baseline, 1cm + 1ppm position accuracy, for 10Km ~ 100Km baseline, decimeter level position accuracy

    Kompatybilne z Arduino:
    GPS
    GPS/GLONASS
    GPS/BEIDOU

    Oraz mini:
    Navspark-mini sample
    6 sztuk Navspark-mini
  • REKLAMA
  • #4 17300860
    ospa98
    Poziom 1  
    Moduły o zwiększonej dokładności pracują w trybie RTK - potrzebne jest łącze danych między nimi i na podstawie tych danych obliczane są poprawki (dane surowe). A podawana dokładność dotyczy jednego modułu względem drugiego, który jest nieruchomy i jego pozycja jest ustalona.
  • #5 17302091
    TechEkspert
    Redaktor
    Acha więc o taką dokładność "względnego" pozycjonowania chodzi, u-blox nazywał w takiej konfiguracji RTK stację ruchomą jako "rover" NEO-M8P.
REKLAMA