• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Moduł GPS Neo-6M-0-001 i problem z odbiorem danych
#1
Witam serdecznie wszystkich,
zakupiłem Moduł GPS NEO-6M-0-001 i mam problem z jego działaniem. Pierwszy raz mam styczność z takim modułem, więc doczytałem, że po podłączeniu powinna się świecić dioda na module, która u mnie się nie świeci. Próbowałem podłączyć za pomocą wtyki goldpin - nic. Spróbowałem więc po prostu podłączyć przy pomocy przewodów męsko-męskich - również dioda się nie paliła, ale przetestowałem razem z kodem. Wgrałem jeden z prostszych kodów, aby sprawdzić czy na Monitorze portu szeregowego coś się pojawia i wyszło coś takiego.

Kod:
Kod:
#include <SoftwareSerial.h>

// The serial connection to the GPS module
SoftwareSerial ss(12, 13);

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

void loop(){
  while (ss.available() > 0){
    // get the byte data from the GPS
    byte gpsData = ss.read();
    Serial.write(gpsData);
  }
}
Monitor portu szeregowego:
[Obrazek: RKe73iR.jpg]

Jeśli po podłączeniu nie świeci się dioda i pokazuje znaki zapytania, to znaczy, że otrzymałem uszkodzony moduł czy może być wina czegoś innego? Aby załapało i wyświetliło te znaki zapytania, to musiałem poruszać końcówkami tych przewodów w otworach modułu.
 
Odpowiedź
#2
Ścierwo w monitorze portu szeregowego najczęściej związane jest z nieprawidłowym baudrate.

Jedyne, co mogę w tej sytuacji polecić to zmiana baudrate. Możesz również po linijce z while dodać jakiś Serial.println z dowolnym tekstem - będziesz wiedział, czy ss.available > 0 w ogóle ma miejsce i czy moduł coś wysyła.

Poczytaj w datasheet modułu - piszą coś o pinach konfiguracyjnych.
 
Odpowiedź
#3
[Obrazek: oS5LnYc.png]

Po dopisaniu do kodu 
Kod:
Serial.println("Test");
W while, wychodzi takie coś jak na screenie wyżej, oczywiście muszę poruszać końcówkami przewodów w otworach modułu, bo w innym przypadku nic się nie dzieje. Zmiana baudrate w kodzie nic nie zmieniła, było to samo, chyba że miałeś namyśli jakąś konfigurację baudrate w inny sposób, bo widziałem o jakimś pinie PSS, jednak w moim GY-GPS6MV2 nie ma takiego pinu
 
Odpowiedź
#4
Jeśli nie masz wlutowanych przewodów i próbujesz z tym pracować na docisk to też mogą być takie efekty. Z jednej strony dobrze jest przetestować przed uruchomieniem by móc zwrócić uszkodzony w ciągu 14 dni, ale też nie można przesadzać.
Ewentualnie są takie specjalne uchwyty, zapewniające dość dobry, stały i pewny nacisk bez lutowania:
   
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#5
Jutro poszukam wtyki do tego, niemniej jednak przy zetknięciu końcówki przewodu z otworami nie powinno to mimo wszystko działać? Rozumiem, że mogłoby przerywać, ale chyba jednak mimo wszystko jakiekolwiek dane powinny się pojawiać, a tego u mnie nie ma.

Mam jedynie wtyk szpilkowy, z którym testowałem i wpinałem moduł do płytki stylowej, ale niewiele to zmienia, bo wtyk ma taką samą grubość jak zwykły przewód.
[Obrazek: HltHG5n_d.webp?maxwidth=640&shape=thumb&fidelity=medium]
 
Odpowiedź
#6
Takim połączeniem można testować miganie led, nie komunikację, były już takie problemy na forum, więc jest to prawdopodobna przyczyna. Nawet jak są piny zlutowane, a jest "zimny lut" to może nie działać prawidłowo, przejechanie grotem lutownicy cudownie uzdrawia układ, a co dopiero takie coś. Nie twierdzę że jest to niemożliwe, bo z raz udało mi się wgrać soft parę kB takim połączeniem, ale to loteria, kilka prób, docisk starałem się utrzymywać równomierny na wszystkie piny.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#7
Może na samym module masz zimne luty.

A tak w ogóle to czym masz to wszystko połączone? Jakie długości przewodów?
 
Odpowiedź
#8
A więc sytuacja wygląda następująco. Przylutowałem piny do otworów, podłączyłem do przewodów i to samo, czasem łapie sygnał, czasem nie. Zauważyłem, że odłączając i podłączając przewód od GND, to wtedy czasem łapie sygnał, tak jakby to była wina tego pinu. Postanowiłem więc odciąć wtyczkę od jednego przewodu, zdjąć delikatnie izolację i przyłożyć do GND sam kabel, reszta normalnie podłączona do przewodów. Przy dotknięciu pinu GND to łapie sygnał, ale od razu znika, więc kabel zabrałem i znowu przyłożyłem i taka sama sytuacja, każde powtórzenie to samo, w kółko się powtarza, nie ma stałego sygnału na monitorze portu szeregowego. Przez przypadek dotknąłem zamiast GND to pinu TX i wtedy też złapało sygnał. Czy może mi ktoś powiedzieć czym to może być spowodowane? I czy to oznacza, że moduł jednak jest uszkodzony czy wina jest jednak w czymś innym? Przylutowane jest dobrze, piny nie są połączone, każdy oddzielnie.

Przewody mam o długości 20 cm, najzwyklejsze
https://botland.com.pl/przewody-polaczen...28702.html
 
Odpowiedź
#9
Używasz softserial do komunikacji, to też może być przyczyna. Poza tym wyrażaj się jasno, łapie sygnał to dla modułu GPS oznacza łapanie fixa na satelity, a Ty walczyłeś z komunikacją.
Soft serial może lepiej działać na pinach 2 i 3. Pewne działanie zapewnia UART sprzętowy, w UNO tego nie zrobisz. Ewentualnie można podłaczyć GPS do terminala w PC i tu wydawać komendy z klawiatury. Jak nie masz osobnego modułu UART-USB, to możesz użyć UNO, jak go do tego przygotować i podłączyć znajdziesz schematy w Google, generalnie to jest ustawienie na stałe RESET i włączenie się w piny TX/RX, ale TX-TX i RX-RX (wyjątkowo, bo TX UNO jest jednocześnie RX modułu UART-USB na płytce UNO).
Albo można użyć płytki, która ma więcej sprzętowych UART jak LEONARDO, MICRO, MEGA.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#10
Zrób zdjęcie jak masz to podłączone albo podrzuć jakiś schemat.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości