Skocz do zawartości

Arduino GPS speedometer RC do pomiaru prędkości maksymalnej.


maxiiii
 Udostępnij

Rekomendowane odpowiedzi

Hehe - jakiś bum na tego spedometera. To ja też. Od rana męczę Marka o namiary na dobry moduł.

Ogólnie z tymi modułami jest problem - ludzie się skarżą, że te Ubloxy 8M/ N na ali, ebay itd to w większości podróby i nie da się w nich chociażby zmienić konfiguracji na taką jaką ustawił Marek.

 

Ja na spróbowanie wziałem po jednej:

https://pl.aliexpress.com/item/Ma-y-rozmiar-GNSS-GPS-GLONASS-modu-GPS-otrzyma-anteny-neo-m8n-Rozwi-zanie-GNSS-modu/32851353457.html

https://pl.aliexpress.com/item/NOWY-Ma-y-rozmiar-GNSS-GPS-Galileo-BEI-DOU-modu-anteny-neo-m8n-chip-rozwi-zanie/32852578481.html

Ten droższy łapie nawet 20 satelitów ze wszystkich 3 systemów na raz. Może coś z tego będzie.

 

Obydwa mają dobre opinie i są tanie. Mam tez zamiar skorzystać z biblioteki NeoGPS: https://github.com/SlashDevin/NeoGPS, która w przypadku wystąpienia problemów z poprawnym ustawieniem protokołu ublox obsługuje też NMEA. Może nie będzie tak źle.

 

Pozostałe bebechy (ardu + wyświetlacz) kupiłem tutaj:

https://pl.aliexpress.com/item/1PCS-new-version-1pcs-ATMEGA328P-Pro-Mini-328-Mini-ATMEGA328-5V-16MHz/32824418570.html

https://pl.aliexpress.com/item/1pcs-Free-Shipping-White-Blue-White-and-Blue-color-0-96-inch-128X64-OLED-Display-Module/32717950155.html

 

Wychodzi, że koszt takiego GPS spedometera to jakieś 50zł...

Odnośnik do komentarza
Udostępnij na innych stronach

Odpowiem za Marka.

Nie ma czujnika prędkości powietrza - tylko antena GPS więc pomiar jest tylko względem ziemi.

 

Jak dodasz odczyty z kompasu i przepiszesz kod, aby przy nawrocie o 180st zmierzył i zapisał drugą prędkość maksymalną to może uda Ci się odjąć jedną od drugiej i poznasz prędkość wiatru. A stąd poznasz już prędkość względem powietrza. Niektóre autopiloty mają taką funkcjonalność ale potrzebują czujnika pod nazwą rurka Pitota.

Odnośnik do komentarza
Udostępnij na innych stronach

Odpowiem za Marka.

Nie ma czujnika prędkości powietrza - tylko antena GPS więc pomiar jest tylko względem ziemi.

 

Jak dodasz odczyty z kompasu i przepiszesz kod, aby przy nawrocie o 180st zmierzył i zapisał drugą prędkość maksymalną to może uda Ci się odjąć jedną od drugiej i poznasz prędkość wiatru. A stąd poznasz już prędkość względem powietrza. Niektóre autopiloty mają taką funkcjonalność ale potrzebują czujnika pod nazwą rurka Pitota.

Dzięki Przemek.

Tak sądziłem. Czyli pozostaje tylko rurka Pitota.

Jeszcze raz dzięki.

 

Edit: dlaczego zapytałem, ano dlatego, że zauważyłem zastosowanie analogowych czujników temperatury. W rzeczywistych samolotach system GPS wykorzystuje je do obliczeń prędkości względem powietrza (zwłaszcza przy małych prędkościach lotu).

Odnośnik do komentarza
Udostępnij na innych stronach

Tak jak pisałem poprzednio jest to projekt prostego miernika prędkości uzyskującego dane tylko i wyłącznie z danych GPS. Przy zastosowaniu ubloxa 7 dokładność wskazań wynosi 0,1m/s czyli wystarczająco do większości zastosowań.

Plusem jest jego mobilność, wystarczy wrzucić do do dowolnego pojazdu i po chwili mamy dane o prędkości maksymalnej pojazdu. Tak naprawdę to zrobiłem go do sprawdzenia prędkości mojego ślizgu gdzie nie mam zamontowanego autopilota. 

 

Projekt w tej wersji uważam za zakończony i nie będzie już udoskonalany. Skecz został udostępniony i każdy może wprowadzać swoje poprawki. 

Otrzymałem kilka pytań o zastosowany moduł GPS-a. W tym projekcie zastosowałem ublox-a 7 ze względu na to, że arduino wysyła do niego za każdym włączeniem nową konfigurację zmieniającą prędkość połączenia na 38000 i protokół UBLOX oraz zmianę odświeżania pozycji z 1 na 10Hz. Wersja ublox6 nie ma odświeżania 10hz a wersji 8 nie sprawdzałem.

 

Jeżeli ktokolwiek zmieni i ulepszy ten projekt proszę tylko o informację w tym temacie.

  • Lubię to 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeszcze w temacie prędkości względem powietrza to "wystarczy" taki sensor: https://hobbyking.com/en_us/frsky-ass-70-airspeed-sensor-w-smart-port.html

Takie stosuje (używam tylko FrSky) - ale nie zawsze udaje mi się go zmieścić w skrzydle, tam gdzie być powinien.

Myślałem, że ten by mi uprościł sprawę.

Jeszcze raz dziękuję.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Elementy przyszły. Urlop około Świąteczny spędziłem na walce z kodem Marka bo jakimś cudem mój GPS jak i samo Arduino były jakieś inne niż Markowe. Z kodu musiałem wyrzucić wszystko co robiło ładne formatowanie wyświetlanych informacji. Musiałem sięgnąć po dwie bilbioteki NeoSwSerial i NeoGPS. Całkowicie dzialajacy GPS odpaliłem dzisiaj i oczywiście pojechałem na autostradę sprawdzić działanie. Działa jak złoto. Dzięki wielkie Marek za inspirację.

post-386-0-59939000-1546188518_thumb.jpg

post-386-0-61338500-1546188538_thumb.jpg

post-386-0-43338200-1546188566_thumb.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Wyczyszczę kod i też go wrzucę.

Koszt urządzenia z modułem 1802, wyświetlaczem i samym Arduino to 40zl.

Planuje dołożyć moduł karty SD aby zrobić niego prawdziwego loggera. Niemniej obawiam się ze moje arduino może mieć jakiś felerny bootloader który zżera za dużo pamięci i biblioteki SDcard mogą się już nie zmieścić. Zobaczymy.

Odnośnik do komentarza
Udostępnij na innych stronach

Przemek od 3 dni truje mi tyłek, że u niego szkic nie działa. :) I już sam nie wytrzymałem. Musiałem to sprawdzić. :)

Dane które wypracowuje ten układ zajmują 91-92% wolnego miejsca i przy załadowaniu wszystkich danych może cały układ nie działać prawidłowo.

Zmniejszenie ilości danych to tylko częściowe rozwiązanie problemu. Mi działa a dlaczego u niego nie? :)

Zmontowałem drugi taki układ i jak się okazuje mam to samo co Przemek czyli kiszka nic nie działa.

 

Trochę czytania i godzinka w "internetach" i jest rozwiązanie.

 

Wynik: na najnowszej wersji arduino ide nic nie działa. Na starszej 1.8.1 też.

Jak uruchomiłem na wersji 1.0.5 wszystko ruszyło.Widocznie jakieś biblioteki w systemie zostały rozbudowane i zajmują zbyt dużo pamięci. Które to biblioteki niestety ale nie wiem.Ważne, że działa.

 

Do poprzedniego linku dodałem też potrzebne biblioteki do obsługi wyświetlacza oled.

Odnośnik do komentarza
Udostępnij na innych stronach

Udostępniam mój szkic.

To właściwie nowy szkic, bo to co napisał Marek nie chodziło.

Uruchomiłem dopiero do użyciu bibliotek NeoGPS i NeoSWSerial. Do tego potrzebne będą też sterowniki do wyświetlacza Ardafruit Oled:

https://github.com/SlashDevin/NeoSWSerial

https://github.com/SlashDevin/NeoGPS

https://github.com/adafruit/Adafruit-GFX-Library/archive/master.zip

 

Niestety nie jestem super biegły w C++ i część bibliotek jest w szkicu, część trzeba będzie ściągnąć i wgrać sobie do Arduino. Ja używałem wersji 1.8

 

EDIT: szkic jest na tyle prosty, że jeżeli kogoś interesuje wyciąganie innych parametrów niż tylko prędkość wystarczy zaznajomić się z biblioteką neoGPS aby z łatwością poznać dostępne inne dane, które dostarcza moduł GPS. Konfiguracja modułu GPS w uCenter uBloxa to oddzielny temat.

PJ_GPS_.zip

post-386-0-68458500-1546454955_thumb.jpg

post-386-0-13051000-1546454962_thumb.jpg

  • Lubię to 2
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...

W końcu i mi się udało coś zmontować. U mnie też kod do obsługi GPS Marka nie działał. Myślę teraz nad jakimś sensownym algorytmem zerowania wysokości na poziomie lotniska. Problem polega na tym, że odczyt wysokości z modułu GPS zmienia się dosyć mocno podczas podłączania do kolejnych satelit, co trwa trochę czasu. Z drugiej strony głupio by było wyzerować w trakcie lotu ;) 

 

bmLcbMd.jpg

 

Zamówiłem sobie też rurkę pitota, ale to chyba bardziej wykorzystam do MinimOSD, niż loggera.

Odnośnik do komentarza
Udostępnij na innych stronach

 Udostępnij

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.