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

Rejestrator trasy GNSS, zapisuje przebytą drogę w pliku GPX na karcie SD

k4be 01 Sty 2025 13:02 1941 23

TL;DR

  • Powstał rejestrator trasy GNSS zapisujący przebytą drogę w pliku GPX na karcie SD, z dodatkowymi plikami NMEA i LOG oraz obsługą wyświetlacza i przycisków.
  • Urządzenie używa mikrokontrolera ATMEGA644PA, obsługuje FAT32, autopauzę, filtrowanie Kalman + uśrednianie oraz konfigurację rodzaju GNSS, progów satelitów i zachowania po starcie.
  • Wersja druga dostała większy akumulator Li-ion, który daje czas pracy rzędu 25-30 godzin, oraz nowy moduł GNSS PA1616D.
  • Obudowa z drukowanego 3D PLA ma 125 x 44 x 28 mm, a stan sygnalizują cztery diody i buzzer.
  • Projekt działa i jest używany w górach, ale nadal wymaga poprawek: lepszej autopauzy, zewnętrznego czujnika temperatury, podświetlenia i wymuszonego resetu.
Wygenerowane przez model językowy.
REKLAMA
📢 Słuchaj (AI):
  • Ręcznie wykonany rejestrator GPS z wyświetlaczem alfanumerycznym.

    Omawiany projekt zaczął powstawać w pierwszej połowie 2022 roku, a dojrzałość osiągnął kilka miesięcy później, choć nie nazwę go jeszcze skończonym!
    Motywacją była chęć skutecznego zapamiętania przebytych tras w górach, a także zdobycie materiałów pozwalających wprowadzać poprawki i uzupełniać OpenStreetMap. W pierwszej kolejności próbowałem używać w tym celu smartfona, jednak posiadany wówczas przeze mnie model posiadał wyjątkowo marny odbiornik, miał krótki czas pracy na baterii i był zawodny.
    Podstawowym sposobem pracy urządzenia jest zapis gotowego pliku GPX z przebytą trasą na włożonej w gniazdo karcie SD. Dodatkowo podczas pracy można konfigurować sposób działania urządzenia i odczytywać niektóre dane z wyświetlacza.
    Urządzenie obsługuje karty SD z systemem plików FAT32. Podczas każdej rejestracji na karcie tworzone są trzy nowe pliki: NMEA, zawierający wszystkie linie wygenerowane przez odbiornik GNSS, GPX zawierający zapis trasy gotowy do importu do różnych programów, oraz LOG zawierający różne informacje serwisowe, mogące pomóc między innymi w rozwoju oprogramowania.

    Dane dostępne na wyświetlaczu są następujące:
    - stan naładowania baterii (0/1/2/3 kreski)
    - status (czy trwa rejestracja? czy jest sygnał z satelit?)
    - bieżące współrzędne geograficzne w stopniach
    - wysokość nad geoidą (w przybliżeniu m n.p.m.)
    - ilość widzianych przez odbiornik satelit
    - przebyty dystans (km) i czas (s)
    - średnia prędkość (km/h)
    - czas pauzy (gdy rejestrator był aktywny, ale nie rejestrował - więcej szczegółów za chwilę)
    - bieżąca data i godzina przeliczona do polskiej strefy czasowej
    - temperatura wewnątrz urządzenia

    W dowolnym momencie można wywołać następujące komendy:
    - zapisać punkt (tworzy dodatkowy plik GPX zawierający jedynie bieżącą lokalizację)
    - wejść w ustawienia
    - wstrzymać rejestrację (zamknięcie segmentu trasy w GPX) lub ją wznowić
    - stworzyć nowy zestaw plików bez wyłączania urządzenia

    Dostępne są następujące ustawienia:
    - autopauza: czy rejestrator ma wejść w tryb pauzy, gdy się nie przemieszcza
    - czas bezruchu i odległość dla autopauzy (jeśli w danym czasie przebyto mniej, niż wpisana odległość, zatrzymujemy, w przeciwnym wypadku wznawiamy)
    - prędkość wyjścia z autopauzy (jeśli przekroczymy daną prędkość, pauza zostanie zakończona a warunek odległości przestanie działać, jego licznik czasu się zresetuje)
    - czy zerować przebyty dystans po stworzeniu nowego pliku
    - czy wyłączyć filtr wygładzający przebieg trasy (Użycie filtra - Kalman + uśrednianie - nieco wygładza ścieżkę na mapie i zwiększa dokładność wskazania przebytej odległości, ale zmniejsza precyzję punktów, co utrudnia ich wykorzystanie do OSM)
    - ile punktów na starcie rejestracji pominąć, aby usunąć niedokładności, gdy moduł się jeszcze synchronizuje
    - czy wykorzystywać satelity SBAS
    - przy jakiej minimalnej ilości widocznych satelit uznawać dane za dobre (w przeciwnym razie punkt nie zostanie użyty do tworzenia pliku GPX)
    - rodzaj GNSS (możliwe kombinacje: GPS+GLONASS+GALILEO, GPS, GPS+GALILEO, GALILEO, GPS+BEIDOU, BEIDOU)
    - czy rejestrator ma startować w trybie pauzy, czy rejestrować od razu po włączeniu

    Cztery diody świecące sygnalizują stan urządzenia:
    - żółta sterowana przez odbiornik, migająca oznacza brak synchronizacji z satelitami
    - zielona, błyska po odebraniu poprawnego pakietu RMC (zawierającego m. in. bieżący czas), normalnie raz na sekundę
    - czerwona, sygnalizująca dostęp do karty pamięci, świeci także, gdy urządzenie jest w trybie bootloadera
    - niebieska, wskazuje, że rejestracja jest wstrzymana i trzeba ją wznowić ręcznie
    Buzzer sygnalizuje piskami o różnej liczbie i długości różne zdarzenia podczas działania urządzenia (błąd karty, pusta bateria, start rejestracji itp), nie mam przygotowanej listy sygnałów.

    Rejestrator jest zasilany z wbudowanego akumulatora Li-ion (około 1,8Ah), ładowanego przez gniazdo Micro USB. Gniazdo to, po podłączeniu do komputera, służy też za port szeregowy, przez który można odebrać informacje "debugowe" i bieżące komunikaty NMEA, a także przeprowadzić aktualizację oprogramowania mikrokontrolera.

    Urządzenie powstało w trzech wersjach:

    1. Prototyp, obecnie już zdemontowany.
    Jako bazę wykorzystałem płytkę przeznaczoną do innego celu, dokładając gniazdo karty SD i moduł GPS (FGPMMOPA6C, zakupiony wiele lat wcześniej i nigdy dotąd nie wykorzystany). Użyłem doskonale znanego mi mikrokontrolera ATMEGA644PA, zasilanego z 3,3V (dzięki temu łączy się wprost z kartą pamięci) i taktowanego z 7,3728MHz (wartość ta pozwala na bezproblemowe uzyskanie dużej prędkości przez port szeregowy i jednocześnie nie przekracza 8MHz - maksimum dla tego napięcia zasilania). Początkowo urządzenie miało być zasilane z "power banku" USB, i nie mieć żadnych elementów interfejsu użytkownika (włączenie po podpięciu do zasilania, poprawne zamknięcie plików i wyłączenie po jego odcięciu). Pierwsze próby pokazały jednak, że pobór prądu jest zbyt mały, i z tego powodu źródło energii wyłącza się samoczynnie w niespodziewanych momentach. Zatem musiał zostać wprowadzony akumulator. Wymusiło to dodanie pierwszego przycisku - włącznika.
    Tworzenie oprogramowania rozpocząłem od poszukiwań informacji na temat dostępu do karty pamięci i systemu plików. Dokumentacja jest dostępna, ale przy tym bardzo rozległa, więc implementacja byłaby bardzo czasochłonna. Rozpocząłem zatem poszukiwanie gotowych rozwiązań, wiedząc, że drukarka 3D wykorzystująca taki sam mikrokontroler jest w stanie odczytywać pliki z takiej karty. Z pomocą przyszedł pewien Japończyk przedstawiający się jako ChaN (ten sam, u którego znalazłem wspomnianą wcześniej dokumentację) - okazało się, że zrealizował on niemal jednakowy projekt, tworząc własne biblioteki dla obsługi karty SD i systemu FAT. Wszystkie te narzędzia zostały udostępnione w otwartej licencji i mogłem je swobodnie wykorzystać. Jego projekt był pomyślany jako rejestrator samochodowy, i nie obsługiwał też plików GPX. Strumień NMEA był zapisywany bezpośrednio na karcie. Na tym etapie dodałem obsługę GPX oraz filtry danych. Urządzenie testowałem przez kilka tygodni, i okazało się w pełni spełniać moje oczekiwania.

    2. Płytka w wersji pierwszej.
    Zaprojektowałem płytkę pozwalającą na docelowe wygodne wykorzystanie urządzenia, przewidując miejsce na wyświetlacz (alfanumeryczny 2x16 typ LCD-AC-C1602A-YGN, który miałem w swoich zapasach), akumulator Li-ion w rozmiarze AAA (około 0,4Ah), czujnik temperatury, cztery przyciski sterujące i jeden przycisk włącznika. Zabezpieczenie i ładowanie akumulatora jest realizowane przez gotową płytkę dostępną w handlu, nie czułem potrzeby przenoszenia tych komponentów na moją PCB. W projekcie nie było poważniejszych błędów, a interfejs użytkownika pozwalający na odczyt podstawowych informacji i zmianę ustawień powstał dość szybko. Łącznie wykonałem trzy egzemplarze urządzenia, dwa z nich są najprawdopodobniej nadal używane przez moich znajomych.

    3. Płytka w wersji drugiej.
    W pewnym momencie okazało się, że zastosowany akumulator jest zbyt mały (z trudnością wystarcza na wielogodzinną wycieczkę, urządzenie trzeba ładować na trasie). Oprócz tego, zarówno użyte wyświetlacze, jak i moduły GPS, przestały być dostępne w handlu (tak naprawdę nie były już produkowane w momencie rozpoczęcia projektu). Większy akumulator, dający czas pracy rzędu 25-30 godzin, dał się, po niewielkich przeróbkach, zmieścić w starej wersji. Nowy moduł (użyłem tym razem wielosystemowego PA1616D dostępnego w Maritex) też udało mi się tam zamontować, bo rozkład wyprowadzeń jest zbliżony.
    Na tym etapie, latem 2022, wykonałem krótki filmik przedstawiający urządzenie i typową scenerię jego użycia:



    Gorzej z wyświetlaczem. Zorientowałem się też, że superkondensator podtrzymujący zasilanie modułu, gdy urządzenie jest wyłączone (dzięki temu o wiele szybciej synchronizuje się po ponownym uruchomieniu) nie jest potrzebny - podtrzymanie można zasilić wprost z akumulatora Li-ion. Po znalezieniu wyświetlacza o zbliżonych wymiarach zdecydowałem o dostosowaniu płytki do jego użycia, uwzględniając też pozostałe ulepszenia i stosując druk czterowarstwowy. Wybrałem tu LCD graficzny typ LCD-AG-C128032R-FGN NO/-E6 (rozdzielczość 128x32, bez podświetlenia). Oprogramowanie zostało zmodyfikowane tak, aby podczas startu wykrywało nowy moduł GNSS (gdy znajdzie ten stary, z listy trybów GNSS pozostaje tylko GPS). Z wyświetlaczem nie było tak łatwo - program obsługuje obydwa, ale trzeba go specjalnie skompilować pod konkretną wersję (płytka jest dostosowana do obu). Aktualnie wyświetlacz graficzny wyświetla dokładnie taką samą treść, co alfanumeryczny, a nadmiarowe piksele pozostają niewykorzystane.

    Obudowa i wspornik wyświetlacza są wykonane jako wydruk 3D z naturalnego PLA. Szybka wyświetlacza to płyta z poliwęglanu o grubości 1 mm. Wymiary zewnętrzne obudowy 125 x 44 x 28 mm. Najlepszym miejscem do noszenia jest górna kieszonka plecaka, a optymalna pozycja - wyświetlaczem (czyli też anteną) w górę.

    Co pozostało do zrobienia?
    Urządzenia nie można jeszcze uznać za gotowe, choć jest z sukcesem użytkowane. Przydałoby się kilka poprawek:
    - Ulepszenia oprogramowania, choćby wskazywanie biezącej prędkości, wyświetlanie przebytego czasu w przyjaźniejszych jednostkach, czy też poprawki działania autopauzy.
    - Dodanie gniazdka zewnętrznego czujnika temperatury, aby mierzyć temperaturę na zewnątrz (w plecaku, do tego w obudowie pracującego urządzenia, jest znacznie cieplej).
    - Jakiś lepszy pomysł na podświetlenie wyświetlacza. Wnętrze obudowy jest po "kliknięciu" włącznika oświetlane białą diodą, co daje pewną czytelność wyświetlanych informacji, ale to czasem za mało.
    - Dodać układ wymuszonego resetu przy długim przytrzymaniu włącznika. Zdarzyło mi się kilkukrotnie wgrać program, który z różnych powodów nie reagował zarówno na próbę normalnego wyłączenia, jak i na komendę wejścia w bootloader, ale jednak działał na tyle dobrze, że kasował watchdoga. W takiej sytuacji konieczne jest rozkręcenie obudowy.
    - Zabezpieczyć otwór na slot karty, aby karty nie dało się wrzucić do wnętrza obudowy. (Nie mam jeszcze wcale zaprojektowanej obudowy do drugiej wersji PCB, wykorzystałem starą obudowę, wycinając przeszkadzające elementy.)

    Chętnym do powielenia urządzenia lub jego części mogę udostępnić niezbędne materiały (nie zamieszczam ich w tym poście, bo ich przygotowanie wymaga ode mnie nieco dodatkowej pracy).

    Płytka drukowana z wyświetlaczem i przyciskami.
    Wnętrze prototypowego rejestratora GPS z widocznym układem elektronicznym i akumulatorem.
    Dwie płytki drukowane z układami elektronicznymi, jedna ułożona nad drugą, na drewnianym tle.
    Załączniki:
    • schemat.pdf (2.63 MB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    O autorze
    k4be
    Poziom 31  
    Offline 
    Specjalizuje się w: zasilanie, avr, sprzęt pomiarowy i nie tylko
    k4be napisał 2129 postów o ocenie 332, pomógł 102 razy. Mieszka w mieście Świdnica. Jest z nami od 2004 roku.
  • REKLAMA
  • #2 21372387
    elukam
    Poziom 17  
    Posty: 384
    Pomógł: 8
    Ocena: 153
    Ale zdajesz sobie sprawę, że każdy odbiornik turystyczny Garmina, kiedykolwiek wyprodukowany, zapisuje trasy automatycznie lub na życzenie? I że chyba wszystkie robią to wg wybranych opcji?
  • #3 21372390
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    Zdaję sobie sprawę z tego, że istnieją urządzenia o takiej funkcjonalności, choć z żadnego z nich nie korzystałem. Znajomy z jednego z takich (marki nie znam) zrezygnował na rzecz mojego - uzasadniał to tym, że ja mam gotowy plik GPX, a w fabrycznym urządzeniu trzeba najpierw ściągać dane przez powolne łącze szeregowe. Ale może to po prostu staroć ;)
  • REKLAMA
  • #4 21372445
    elukam
    Poziom 17  
    Posty: 384
    Pomógł: 8
    Ocena: 153
    Staroć który jeszcze nie miał karty SD raczej. Pierwsze Garminy mapowe miały własny standard kart pamięciowych i tylko mapy się tam wrzucało, o ile pamiętam. Wtedy jestcze w ogóle nie było SD ani nawet TF.
    Wydaje mi się, że ściąganie danych kablem jest lepsze niż wyjmowanie karty za każdym razem. Katy nie powinno się co chwila wyjmować z gniazda. Wszystkie nowsze Garminy mają USB. Pliki ze śladami są małe.
    Do Garmina jest fabryczny soft który tymi danymi zarządza. Jest też sporo wszelakiego softu gotowego niezależnego do Garminów, wliczając tworzenie map opartych na tych śladach.
    Nie zniechęcam, ale wyważasz dawno temu szeroko otwarte drzwi. Najtańszy Garmin "żółtek" nowszej generacji chodzi na jednych bateriach dobę non stop a potem zakładasz klejne 2 akumulatorki i jedziesz dalej. Do tego masz ekran z mapą i miniaturowy rozmiar, wodoodporność, złącze anteny zewnętrznej na wypadek bardzo słabego odbioru itd. Używany od ~300zł.
  • #5 21372527
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    W sumie to można powiedzieć o niemal dowolnym projekcie opisywanym w tym dziale - istnieje komercyjne urządzenie, które pozwoli na realizację tej samej funkcji, a nawet będzie pod jakimś względem lepsze. Tylko gdzie tu rozrywka? :) No i problemy zaczynają się, gdy trzeba zrobić coś, o czym nie pomyślał producent!
  • REKLAMA
  • #6 21372554
    elukam
    Poziom 17  
    Posty: 384
    Pomógł: 8
    Ocena: 153
    Na rozrywkę nie ma rady :) Jeśli potrzebujesz czegoś ekstra - owszem, po to właśnie robi się kolejne rzeczy. Sam mam tego na koncie całe tony, już nawet większości nie pamiętam. O walorach edukacyjnych też tu nie będę dyskutował. Po prostu piszę że to już jest zrobione, do tego jest dobrze zrobione, b. tanie i może lepiej się zrealizować i kształcić na bardziej indywidualnych i twórczych pomysłach. Zależy, czy celem jest ostateczny efekt a nie zabawa + edukacja...
    Bardzo wiele pomysłów nie ma sensownych odpowiedników wśród gotowych rozwiązań, jest co robić ;)
  • #7 21372561
    gulson
    Administrator Systemowy
    Posty: 29281
    Pomógł: 148
    Ocena: 5998
    Żeby ściągnąć z Garmina, to najpierw trzeba mieć Garmina ;) Później aplikacja Garmina, łączenie, szukanie eksportuj. A nie są to tanie rzeczy (chyba, że używany)
    Są teraz tanie liczniki rowerowe, ciekawy, jak z nimi, czy by się nadawały do pieszych wędrówek.
    Smartfon to ogromny pożeracz baterii, tak cennej podczas wędrówek.

    Mi się podoba fakt posiadania w kieszeni niezależnego urządzenia, trasa się nagrywa i nic Cię nie interesuje.
    Prześlij mi proszę dane do Paczkomatu, przyda Ci się karta SD ;)
    Dzięki za prezentacje!
  • #8 21372613
    elukam
    Poziom 17  
    Posty: 384
    Pomógł: 8
    Ocena: 153
    Do pieszych wędrówek najlepsze są odbiorniki właśnie do tego stworzone, bo mają odpowiedni pakiet funkcji. I maksymalizowany czas pracy na bateriach.
    Co do cen, to sensowny sam tylko moduł GPS kosztuje w detalu stówę co najmniej. Sa tańsze, ale nie warto ich do ręki brać ani nic na nich robić.
    Jeszcze parę lat temu "żółtek" Garmina w normalnej dystrybucji kosztował ze 4 stówy. Dzisiaj... A podobno elektronika tanieje :)
  • #9 21372852
    pier
    Poziom 24  
    Posty: 2445
    Pomógł: 40
    Ocena: 1891
    Wiele lat temu zrobiłem podobne urządzenie, jeszcze w Bascomie pisałem program. Na targowisku znalazłem zewnętrzny odbiornik gps taki kopułkowy z magnesem i trzeba było coś z niego zrobić. Nie pamiętam w jakim formacie zapisywałem na karcie ale później plik przerabiałem na coś innego i mogłem to wrzucić na google earth aby zobaczyć trasę.
    Nie robiłem żadnego interfejsu po prostu włącz zasilanie i rejestrował trasę.
  • #10 21372856
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    To urządzenie zostało właśnie stworzone do pieszych wędrówek (choć używałem też do rejestracji przejazdów samochodem - działa prawidłowo wewnątrz kabiny, a nawet w bagażniku). Chociaż nie przeczę, że komercyjny producent z racji szerokich kontaktów z rynkiem najprawdopodobniej wpadł na jakieś bardzo pożyteczne pomysły.
    Co do ceny modułu, to o ile kupiony w okolicach 2013 roku moduł GPS kosztował grosze (chyba coś rzędu 15 zł, ale to było okazyjnie), to wybrany później PA1616D to rzeczywiście okolice 100 zł brutto (przy ilościach detalicznych). Tak więc to ten element dominuje koszt całości - suma pozostałych komponentów raczej nie osiągnie następnych 100 zł.
    Moduł ma dobrą antenę i jest zdecydowanie czulszy od odbiornika zastosowanego nawet w dobrej klasy smartfonie. Widać to szczególnie przy złych warunkach pogodowych (zdarzało się, że musiałem wpisywać ręcznie współrzędne z rejestratora do mapy w smartfonie, aby ustalić, gdzie dokładnie jestem - aplikacja sama z siebie potrafiła popełniać błędy rzędu kilku kilometrów!) lub w "miejskim kanionie". Znaczące niedokładności (kilkadziesiąt metrów) pojawiają się dopiero, gdy urządzenie może się swobodnie wywracać w kieszeni i ustawi się anteną do ciała. Dlatego lepiej nosić je w plecaku.
  • #11 21372901
    sq3evp
    Poziom 39  
    Posty: 6407
    Pomógł: 212
    Ocena: 843
    Interesujący pomysł - malkontentom można powiedzieć, że gotowe to każdy potrafi, ale zrobić samemu coś co działa i ma odpowiednie funkcjonalności to zupełnie inna sprawa.
    Gratulacje za pomysł i wykonanie.
  • #12 21373253
    pikarel
    Poziom 39  
    Posty: 4974
    Pomógł: 408
    Ocena: 1824
    Wielki plus za wykonanie samodzielnie tego, co było możliwe do wykonania.
    Odnośnie sensu robienia (czzegokolwiek); można kupić, zamiast wykonać samodzielnie? Można.
    Szczególnie teraz "trynd" jest taki, żeby nawet herbatę kupować w markecie, zamiast zagotować wodę i zrobić własną, może ktoś boi się, że wodę przypali?
    I dlaczego napisano na niej ICE, czyli mrożona, a jest w płynie :)

    Nie przejmuj się dziwnymi opiniami odnośnie potrzeby i sensowności; zdobyta wiedza jest Twoja, więc korzystaj z niej w taki sposób, jaki Ty uważasz, a nie tak, jak "zrzędzą" malkontenci; oni mają swój świat.
  • REKLAMA
  • #13 21373492
    efi222
    Poziom 21  
    Posty: 711
    Pomógł: 12
    Ocena: 1180
    Tak to jest, jak dział majsterkowiczów odwiedzają konsumenci...
    I potem są wpisy typu "po co konstruować jak można kupić", zamiast propozycji ulepszenia projektu.
  • #14 21373656
    funak
    Poziom 27  
    Posty: 1078
    Pomógł: 101
    Ocena: 460
    Co do ulepszenia, to załączałbym GPS co cykliczny okres czasu, czy tak naprawdę potrzebujesz odczytu do 1 sekundę?

    Wyłączyć zasilanie GPS na 30 sekund, załączyć na 10 sekund, bo tyle pewnie zajmie złapanie ponownego fixa.
    To Ci da dużą oszczędność energii. Rzuć okiem na Quectel funkcja "Supports AlwaysLocate".

    Ponadto buforuj dane w RAM do zapisu i jak Ci się zapełni bufor przykładowo te 512 Bajtów, dopiero zapisuj na kartę SD.

    Ogólnie popieram inicjatywę(nie słuchać konsumentów), bo później można pójść krok dalej, dać akcelerometr. Jak jest ruch, włączasz GPS, nie ma ruchu wyłączasz GPS, bo i tak wiadomo, że jak się nie poruszasz, to twoja pozycja jest w jednym miejscu.
    Możesz takie info wykorzystać do TAGowania odcinków drogi. Dodatkowo dodajesz czujnik ciśnienia i masz info o wysokości.

    Dodano po 3 [minuty]:

    I jeszcze LCD bym dodał sterowaniem zasilania.
    Jak nie patrzysz na niego, to po co wyświetlać, a wybudzić go po naciśnięciu dowolnego przycisku :)
  • #15 21373705
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    Częstotliwość odczytu: w wielu przypadkach 1 sekunda to niepotrzebnie często. Nie rejestruję do GPX punktów, które mają współrzędne identyczne do poprzednich (w trybie filtrowanym - również te położone zbyt blisko - nie pamiętam dokładnego kryterium). Moduł można przekonfigurować na większe interwały, ale spowodowałoby to stratę informacji cennych przy tworzeniu mapy, na przykład na zakrętach. Pliki mimo wszystko nie wychodzą ogromne - nie dochodzą do 2 MB - a można je potem poddać kompresji stratnej już na PC :)
    Wyłączanie zasilania modułu: po tak krótkiej przerwie moduł raczej prędko "załapie", jednak niepotrzebnie znacznie zwiększę błąd lokalizacji.
    Na dalszej optymalizacji poboru prądu mi nie zależy, czas działania ponad 20 godzin jest satysfakcjonujący. A gdyby nawet nie wystarczył, to jest możliwe ładowanie w czasie pracy. Jedyne optymalizacje, jakie w tym kierunku poczyniłem, to wprowadzanie mikrokontrolera w tryb uśpienia, gdy to tylko możliwe, i zasilanie VCC modułu radiowego wprost z akumulatora, zamiast ze stablizowanego +3,3V. Tak było w pierwszej wersji - wtedy przetwornica +5V pracowała tylko na dodatkowe straty w stabilizatorze 3,3V :)
    RAM to najbardziej cenny zasób w tym projekcie, musiałem dokonać tu pewnych kompromisów. Bufory wejściowe i wyjściowe oczywiście są, ale niewielkie. Nie pamiętam, czy pojedynczy punkt GPX mieści się w buforze - bo jeden zestaw pakietów NMEA na pewno nie.
    O akcelerometrze myślałem, ale nie zrealizowałem pomysłu w praktyce. Nie mam też żadnego, aby go "na szybko" podłączyć.
    Zużycie energii przez LCD (dowolnego z typów) jest pomijalne w porównaniu z poborem przez moduł radiowy, wyłączanie nie ma sensu.
  • #16 21373756
    funak
    Poziom 27  
    Posty: 1078
    Pomógł: 101
    Ocena: 460
    Opowiem Ci jeszcze pewną anegdotę z życia wziętą.

    Robiłem projekt, który właśnie oprócz innych czynności rejestrował pozycje GPS, notabene 25x/sek, z czego potrzebna była tylko pozycja LAT, LON.
    Ja właściwie z powodu uproszczenia całej rejestracji, aby też nie zamulić procesora, zapisywałem NMEA bez analizy do pliku. Stwierdziłem, że zapiszę wszystko co przyjdzie z GPSu, później w trybie postprocessingu wygrzebię sobie potrzebne dane już w aplikacji na PC. Więcej zasobów, szybciej, łatwiej i można przeanalizować błędy, jeśli wystąpią.

    Maszyna pojechała w teren, zrobiła pomiary, przyszło do analizy danych. Zleceniobiorca zreflektował się, że dobrze by było mieć jeszcze ALT (wysokość) oraz jakość sygnału pozycjonowania (ilość widocznych satelit) i trzeba pomiary ponowić.

    Jakieś było zdziwienie, jak się okazało, że te dane posiadamy :)

    Więc nadmiar informacji, zwłaszcza przy prototypie jest wskazany. Później można tylko wycinać informacje.

    Jak już jesteś na etapie działań przy GPSie zainteresuj się trybami RTK oraz PPP.

    RTK oraz PPP pozwala na uzyskanie dokładności rzędu 2cm, więc fajnie :)
    Zwłaszcza PPP, gdzie dane możemy później przekonwertować do określonej postaci i do działania nie potrzeba Internetu.
  • #17 21373800
    k4be
    Poziom 31  
    Posty: 2129
    Pomógł: 102
    Ocena: 332
    Mi też kilka razy przydał się zapis surowych danych, byłem w stanie odzyskać nieco utraconych informacji.
    Parametru "ele" w GPX nie zapisuję, ale to jest w mojej liście Do Zrobienia :)
    Wspomnianych symboli nie znam, w wolnym czasie poświęcę się dodatkowej edukacji ;)
  • #18 21373917
    elukam
    Poziom 17  
    Posty: 384
    Pomógł: 8
    Ocena: 153
    Malkontentom! Wow! :)
    @k4be jeśli chcesz dobre tracki, to w bagażniku odbiornika nie woź :) To że gps odbiera sygnał, to jeszcze nie znaczy że on (ten sygnał) się do czegoś nadaje. W odbiorze GPS, szczególnie na pasmie cywilnym, kluczowe jest uzyskanie optymalnego sygnału na wejściu odbiornika, bo wtedy masz dane najlepszej jakości (precyzji). Nawet dobranie anteny do odbiornika nie jest wcale takie oczywiste.
    @funak odczyt danych pozycji z cywilnego odbiornika 25x na sekundę nie ma sensu. Szumy pozycji rosną z każdym przyspieszeniem odczytu, bo sam odbiornik filtruje wg jakiegoś tam algorytmu (zwykle jest kilka modeli filtracji do wyboru). Jeśli pobierzesz szybko dużo odczytów, to po prostu będziesz miał bardzo zaszumione pozycje. Jeśli odbiornik porusza się wolniej niż odchyłka szumowa, to po prostu najzwyczajniej w świecie jest to para w gwizdek. Bo posprocessing nie da ci nic więcej niż wewnętrzna filtracja w odbiorniku. To jest trudne do zbilansowania, można to zrobić tylko eksperymentalnie (producenci nie udostępniają tak zaawansowanych szczegółów parametrów odbioru) i na dodatek zależy od warunków odbioru.
  • #19 21374005
    funak
    Poziom 27  
    Posty: 1078
    Pomógł: 101
    Ocena: 460
    Ja stosuję ten:
    https://www.u-blox.com/en/product/zed-f9p-module

    Dodano po 39 [sekundy]:

    W zasadzie dwie sztuki.

    Jeden do obserwacji PPP, drugi do rejestrowania czasu.
  • #20 21374204
    elukam
    Poziom 17  
    Posty: 384
    Pomógł: 8
    Ocena: 153
    Ten Ublox ma o ile wiem standardowe radio, takie jak pozostałe Ubloxy, tyle że ma jeszcze cały RTK od razu na pokładzie. Więc nie ma raczej podstaw do przypuszczeń, że jakoś specjalnie wyróżnia się poziomem szumów.
    Poprzednia (jeszcze w dystrybucji) generacja Ubloxów była podatna na przesterowania, trzeba uważać. Natomiast nowa jeszcze nie wiem, nie bawiłem się choć od roku leży i patrzy na mnie ;) Miały być usprawnienia w tej kwestii. Chyba jednak nie do końca wszystko wyszło, bo ledwie parę miesięcy po wejściu na rynek już producet pisze, żeby nie używać wyższego gainu w wejściowym LNA.
    Ech ci Szwajcarzy... Przez nich i ich super technologie mamy spier... Galileo :/
    Do rejestrowania czasu wystarczyłby ci zwykły moduł z TXCO bez RTK. Rozumiem, że 2 moduły, żeby rozdzielić standardowe ramki, które są długie, i w ten sposób móc częściej czytać?
  • #21 21374251
    funak
    Poziom 27  
    Posty: 1078
    Pomógł: 101
    Ocena: 460
    ZED-F9P jeśli przestawię w tryb obserwacji PPP, to nie mam pozycji GPS, toteż drugim rejestruję pozycję GPS(do celów poglądowych) + czas.
    Później w postprocessingu konwertuję strumień UBX na NMEA, gdzie mam pozycję GPS + czas. Porównuję czas i podstawiam GPS do strumienia poglądowego. I tak uzyskuję precyzyjną pozycję. Czy to jest złe postępowanie? Można prościej?

    Dodano po 8 [minuty]:

    Szczerze mówiąc, to te 2cm to mi nie potrzebne, ale jak wcześniej używałem Quectel L80 ze zintegrowaną anteną to ślad na drodze jest zygzakiem a w lesie to odstaje nawet z 20m od osi jezdni. Natomiast jak mam ten Z9P, to rewelacyjnie się układa ślad, bo mogę nie dość że stwierdzić, czy jestem na właściwym pasie drogi, to również czy jestem przy prawej krawędzi jezdni, na środku, czy przy lewej i to wszystko przy 25Hz i 80km/h. I świetnie to wygląda na rondach.
  • #22 21375155
    elukam
    Poziom 17  
    Posty: 384
    Pomógł: 8
    Ocena: 153
    Skoro piszesz, że tak musiałeś zrobić, to pewnie właśnie tak było.
    Wydaje mi się tylko, że w takim razie jest to dalekie od optymalnego, żeby do tego stosować 2 odbiorniki dualne z wyższej półki.
    Takie odbiorniki są właśnie po to, żeby załatwić jednym i GPS i RTK. Jeśli i tak z pewnych względów musisz rozdzielić te funkcje, bo odbiornik jest "kulawy" i tylko jedno radio na raz działa, to bardziej sensowne wydaje się użycie osobnych specjalizowanych ale też tańszych i prostszych rozwiązań. Czyli odbiornik GPS i odbiornik RTK rozdzielone i wtedy nie masz żadnych ograniczeń. Wszelkie rozwiązania specjalizowane są nie tylko tańsze ale zwykle lepsze i mają więcej możliwości.
  • #23 21379629
    gklub
    Poziom 34  
    Posty: 1693
    Pomógł: 291
    Ocena: 712
    k4be napisał:
    Jakiś lepszy pomysł na podświetlenie wyświetlacza

    Naklejenie białej folii dyspersyjnej od spodu , ew. dodanie czerwonego oświetlenia
  • #24 21393118
    megao
    Poziom 25  
    Posty: 690
    Pomógł: 66
    Ocena: 90
    Ciekawe urządzenie. Chodzi mi po głowie skonstruowanie czegoś podobnego do rejestracji śladów oraz punktów z zapisem audio.

    Aktualnie ślad oraz punkty rejestruję ręczniakiem Garmina. Odbiornik przeszedł już swoje i szukam czegoś nowego. Z oferty Garmina zostały wycofane mniejsze urządzenia z ekranem dotykowym. Nie ma już Dakoty, Oregona, a nawet względnie nowego eTrex Touch. Pozostają duże i drogie klocki takie jak Montana oraz Overlander.
    Zerknąłem przy okazji do formatowania pliku gpx generowanego przez program Basecamp Garmina. Plik ma format xml, w sekcji wpt jest link href, gdzie można umieścić ścieżkę do pliku audio i później wygodnie go odtworzyć w Basecamp.

    Są aplikacje takie jak OsmAnd, w których można to sobie zorganizować, ale, 1. telefon może się przydać do rzeczy ważniejszych, 2. bateria szybko się zużywa podczas korzystanie aplikacji mapowych (ekran).
📢 Słuchaj (AI):

Podsumowanie tematu

✨ Użytkownik rozpoczął projekt rejestratora trasy GNSS, który zapisuje przebytą drogę w formacie GPX na karcie SD. Motywacją do stworzenia urządzenia była chęć rejestrowania tras w górach oraz poprawianie map OpenStreetMap. W trakcie dyskusji poruszono kwestie porównania z komercyjnymi odbiornikami GPS, takimi jak urządzenia marki Garmin, które automatycznie zapisują trasy, ale wymagają transferu danych przez wolne łącze szeregowe. Użytkownicy podkreślili zalety samodzielnego tworzenia urządzeń, takie jak możliwość dostosowania funkcji do indywidualnych potrzeb oraz edukacyjne aspekty projektowania. Wskazano również na możliwości optymalizacji, takie jak cykliczne włączanie GPS w celu oszczędzania energii oraz dodanie czujników do zbierania dodatkowych danych. Wspomniano o różnych modelach GPS, ich funkcjonalności oraz cenach, a także o problemach związanych z używaniem smartfonów do rejestracji tras.
Wygenerowane przez model językowy.
REKLAMA