GPS 10hz arduino mega.

monitory, nagrywarki, itp

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
maxiiii
Posty: 2348
Rejestracja: piątek 03 kwie 2015, 07:04

GPS 10hz arduino mega.

Post autor: maxiiii »

Pracuję teraz nad drobnym urządzeniem do pomiaru prędkości na arduino mega. Potrzebuję uzyskać 10 lub 18hz na ubloxie 8. Chip M8030.
Ze względu na prostotę chciałbym użyć biblioteki
https://github.com/loginov-rocks/UbxGps

Wszystko robię zgodnie z opisem ale niestety nie mogę uzyskać na serial danych jak w opisie.
gpsready zawsze jest 0.
Po skonfigurowaniu arduino jako bridge na serial pojawiają się prawidłowe dane.

schemat
AcquirePlotPositionDataUsingGPSConnectedToArduinoExample_01.png
AcquirePlotPositionDataUsingGPSConnectedToArduinoExample_01.png (31.84 KiB) Przejrzano 3224 razy

Dane z GPS w formacie ubx
Snap3.jpg
Snap3.jpg (144.28 KiB) Przejrzano 3224 razy
Pytanie brzmi: czy ktoś pracował na tej bibliotece i wie gdzie robię błąd lub zna inną lepszą bibliotekę do uzyskania prawdziwych 10 lub 18 hz?
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: GPS 10hz arduino mega.

Post autor: pawelsky »

Biblioteka ktorej uzywasz spodziewa sie komunikatu NAV-PVT o dlugosci danych 84 (czyli takich jak w Ubloxach serii 7) a Twoj GPS (serii 8) zwraca komunikat o dlugosci 92 (co wraz z naglowkiem i suma kontrolna daje widoczne w logu size:100).

Dla sprawdzenia uzyj komunikatu NAV-POSLLH, jego format miedzy 7 a 8 z tego co pamietam sie nie zmienil.

EDIT: Mozesz tez dokonac modyfikacji UbxGpsNavPvt.h i zamienic fragment:

Kod: Zaznacz cały

    short           reserved2;  // -        Reserved
    unsigned long   reserved3;  // -        Reserved

    UbxGpsNavPvt(T &serial) : UbxGps<T>(serial)
    {
        this->setLength(84);
    }
na

Kod: Zaznacz cały

    unsigned char   reserved2[6];  // -        Reserved
    long            headVeh;       // deg      Heading of vehicle 2-D (1e-5)
    unsigned char   reserved3[4];  // -        Reserved

    UbxGpsNavPvt(T &serial) : UbxGps<T>(serial)
    {
        this->setLength(92);
    }
Awatar użytkownika
maxiiii
Posty: 2348
Rejestracja: piątek 03 kwie 2015, 07:04

Re: GPS 10hz arduino mega.

Post autor: maxiiii »

Siedzę 2 godziny wprowadzając twoje poprawki i niestety nic nie wychodzi. Zamówiłem ubloxa 7. Czas mnie nie pogania bo do wiosny daleko ale wolałem wersję 8 z jej 18-toma hz. Będę próbował dalej. Dzięki za pomoc. Nawet nie wiedziałem, że długość pakietu jest różna w 7 i 8. Znasz może inne biblioteki na których mogę uzyskać 10 i więcej hz?
Awatar użytkownika
volender
Posty: 896
Rejestracja: sobota 27 kwie 2013, 16:56
Lokalizacja: Kraków

Re: GPS 10hz arduino mega.

Post autor: volender »

a może w nmea pójdzie?
wieki temu czytałem coś na temat, że ubloxy (wtedy chyba 7mki) miały problemy z 10Hz w ubx, ale w nmea działało to ok...
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: GPS 10hz arduino mega.

Post autor: pawelsky »

maxiiii pisze:Siedzę 2 godziny wprowadzając twoje poprawki i niestety nic nie wychodzi.
Jakbys konkretniej napisal co robisz to moze by Ci mozna bylo jakos pomoc. "Robie zgodnie z opisem" za wiele nie mowi...
volender pisze:a może w nmea pójdzie?
Nie pojdzie, ta biblioteka nie rozumie NMEA.
Awatar użytkownika
maxiiii
Posty: 2348
Rejestracja: piątek 03 kwie 2015, 07:04

Re: GPS 10hz arduino mega.

Post autor: maxiiii »

Wypróbowałem wszystkie inne protokoły dostępne w tej bibliotece. Na wszystkich dane wychodzą 0. Gpsready zawsze jest 0. Wprowadziłem poprawki w zapisie zaproponowane przez ciebie. Też nic. Albo zmienię gps-a na wer 7 albo zmienię biblioteki. Niestety ale wolałbym ubloxa 8 ze względu na jego 18hz które w moim zastosowaniu jest wskazane. Szukam teraz sposobu na zmianę długości w samym ubloxie. Jak na razie nic nie osiągnąłem.
Samo urządzenie ma służyć do zdalnego pomiaru prędkości w łódkach spalinowych FSR-ach.

EDIT
Tej dopisanej linii nie rozumiem
long headVeh; // deg Heading of vehicle 2-D (1e-5)
Ostatnio zmieniony czwartek 10 gru 2020, 18:30 przez maxiiii, łącznie zmieniany 1 raz.
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: GPS 10hz arduino mega.

Post autor: pawelsky »

maxiiii pisze:Wypróbowałem wszystkie inne protokoły dostępne w tej bibliotece.
To nie sa protokoly, to sa rozne komunikaty tego samego protokolu UBX. Zeby dzialaly musisz je miec przede wszystkim wlaczone w swoim GPSie (np. przez uCenter). Z logow wynika ze wlaczony masz jedynie NAV-PVT.
maxiiii pisze:Szukam teraz sposobu na zmianę długości w samym ubloxie.
Nie ma takiej mozliwosci.

A Twoj kod to jest tajny ze nie chcesz go pokazac?

EDIT:
maxiiii pisze:EDIT
Tej dopisanej linii nie rozumiem
long headVeh; // deg Heading of vehicle 2-D (1e-5)
Nie musisz ;-) Po prostu zastap CALY fragment oryginalny CALYM fragmentem ktory Ci podalem (nie tylko te jedna linie).
Awatar użytkownika
maxiiii
Posty: 2348
Rejestracja: piątek 03 kwie 2015, 07:04

Re: GPS 10hz arduino mega.

Post autor: maxiiii »

Kod jest na stronie

#include "UbxGpsNavPvt.h"

UbxGpsNavPvt<HardwareSerial> gps(Serial3);

void setup()
{
Serial.begin(9600);
gps.begin(9600);
}

void loop()
{
if (gps.ready())
{
Serial.print(gps.lon / 10000000.0, 7);
Serial.print(',');
Serial.print(gps.lat / 10000000.0, 7);
Serial.print(',');
Serial.print(gps.height / 1000.0, 3);
Serial.print(',');
Serial.println(gps.gSpeed * 0.0036, 5);
}
}


Komunikaty zmieniam za każdym razem w u-center. Z tym nie ma problemu.

Przed chwilą.

Po usunięciu tej dziwnej linii biblioteka ruszyła. Na teraz dzięki za pomoc i na pewno jeszcze będę cię dalej męczył.
Zaczynam sprawdzać poprawność danych.
Snap8.jpg
Snap8.jpg (91.81 KiB) Przejrzano 3142 razy
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: GPS 10hz arduino mega.

Post autor: pawelsky »

maxiiii pisze:Po usunięciu tej dziwnej linii biblioteka ruszyła.
Zle, ta linia jest potrzebna. I powinienes tez uzyc poprawnych typow, takie jakie Ci podalem, a nie takie jaki miales wczesniej...
Awatar użytkownika
maxiiii
Posty: 2348
Rejestracja: piątek 03 kwie 2015, 07:04

Re: GPS 10hz arduino mega.

Post autor: maxiiii »

OK. Zrobię jak piszesz.
Awatar użytkownika
maxiiii
Posty: 2348
Rejestracja: piątek 03 kwie 2015, 07:04

Re: GPS 10hz arduino mega.

Post autor: maxiiii »

Poradziłem sobie z tą biblioteką. Wszystko już działa prawidłowo. Uzyskałem 18hz. Dzięki.
Mam jeszcze jeden pomysł związany z ubloxem 8. Jednak nie wiem od czego zacząć i nie wiem nawet czy można. Część tych modułów posiada dodatkową pamięć 4M. Wiem, że w ucenter jest możliwość włączenia zapisywania logów bezpośrednio w pamięci ubloxa. Tylko nigdzie nie mogę znaleźć jak to zrobić i na jakich zasadach można to odczytać. Ma to być micro logger gps też na 18 hz. Ważna jest waga i wymiary. Nie widzę problemu z zastosowaniem openloggera ale wolę to jeszcze bardziej uprościć. Jak się da:)
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: GPS 10hz arduino mega.

Post autor: pawelsky »

maxiiii pisze:Poradziłem sobie z tą biblioteką. Wszystko już działa prawidłowo. Uzyskałem 18hz. Dzięki.
Mam jeszcze jeden pomysł związany z ubloxem 8. Jednak nie wiem od czego zacząć i nie wiem nawet czy można. Część tych modułów posiada dodatkową pamięć 4M. Wiem, że w ucenter jest możliwość włączenia zapisywania logów bezpośrednio w pamięci ubloxa. Tylko nigdzie nie mogę znaleźć jak to zrobić i na jakich zasadach można to odczytać. Ma to być micro logger gps też na 18 hz. Ważna jest waga i wymiary. Nie widzę problemu z zastosowaniem openloggera ale wolę to jeszcze bardziej uprościć. Jak się da:)
Widze tu pewna sprzecznosc - jesli chcesz miec 18Hz musisz miec modul M8Q lub M8N (no i oczywiscie nie mozesz korzystac np. z GPS i GLONASS systemow jednoczesnie) a te nie posiadaja flasha . Flasha maja moduly M8N ale one nie daja 18Hz.
Awatar użytkownika
maxiiii
Posty: 2348
Rejestracja: piątek 03 kwie 2015, 07:04

Re: GPS 10hz arduino mega.

Post autor: maxiiii »

Wiem o ograniczeniu do 10 hz w odbiornikach z flashem. ale próbuję ograniczyć wielkość obrabianych danych do minimum aby uzyskać jak największą częstotliwość odświeżania. Chcę zjeść ciastko i jeszcze je mieć w zapasie. Nawet gdybym musiał mieć tylko 10 hz ale za to sposób odczytu będzie na tyle łatwy aby zrobił to laik mogę na to przystać. W innym przypadku pozostaje karta micro SD i openlogger. A to podraża system oraz zwiększa wagę. Zawsze jeszcze musi być akumulator i elektronika ładująca go.
Zastanawiam się też która konfiguracja da dokładniejsze wyniki. GPS 18hz czy też GPS i GLONAS 10hz?
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: GPS 10hz arduino mega.

Post autor: pawelsky »

maxiiii pisze:Chcę zjeść ciastko i jeszcze je mieć w zapasie.
Nie mozesz, zeby uzyskac 18Hz firmware musi byc uruchomiony z ROMu z uwagi na zbyt maja wydajnosc przy starcie z flasha. Pomijam juz fakt ze ublox loguje z czestotliwoscia max 1Hz.
maxiiii pisze:Zastanawiam się też która konfiguracja da dokładniejsze wyniki. GPS 18hz czy też GPS i GLONAS 10hz?
Oczywiscie ze Glonass i GPS z uwagi na wieksza liczbe widocznych satelitow. Porownaj sobie DOPy lub accuracy estimate dla obu konfiguracji to bedziesz mial punkt odniesienia.
ODPOWIEDZ