Modulo GPS NEO6MV2

Buonasera a tutti,
Ho comprato di recente un modulo gps neo6mv2 e devo naturalmente ricavare le coordinate della mia posizione. Il modulo comprato è questo ed è arrivato con i pin da saldare, motivo per cui li ho saldati.
Ho collegato arduino al modulo come:

VCC - 3.3V
RX - 4
TX - 3
GND - GND

E ho caricato il codice riportato di seguito, ma non pare collegarsi ai satelliti indipendentemente dal tempo che lascio il tutto all'aperto. Sulla porta seriale restituisce questi valori:

=========   GPS READY   =========
bbR� 
 
 
 
 
lat = 0.00     lon = 0.00
 
 
 
 
 
�j
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,00*79.99,99.99,99.99* 
 
 
 
 
lat = 0.00     lon = 0.00
 
 
 
 
 
30
$GPGSV,1,1,00*79
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N* 
 
 
 
 
lat = 0.00     lon = 0.00
 
 
 
 
 

E prosegue così senza collegarsi. Ho collegato il VCC ai 3.3V perché si scalda parecchio se collegato ai 5, mentre ai 3.3 raggiunge una temperatura sostenibile. Temo di aver fuso il modulo mentre saldavo i pin anche se non ci sono stato tanto tempo, inoltre la saldatura è molto pulita e non vi sono corto circuiti visibili. Inizialmente avevo invertito rx e tx, spero non abbia danneggiato il modulo. La domanda è quindi se vi sono errori nel codice e se non è così quale possa essere la causa del malfunzionamento del modulo.
Grazie a tutti
Mattez

Il codice:

#include <SoftwareSerial.h>
#include <TinyGPS.h>
float lat = 0.00;
float lon = 0.00;

SoftwareSerial gpsSerial(3,4); //RX: 4 -TX:3

TinyGPS gps;

void setup() {
  Serial.begin(9600);
  gpsSerial.begin(9600);
  Serial.println("=========   GPS READY   =========");
  tone(9, 261, 500);
}

void loop() {
  while(gpsSerial.available()){
    char c = gpsSerial.read();
    Serial.print(c);
    if(gps.encode(c)){
      gps.f_get_position(&lat, &lon);
    }
  }
  Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" ");
  Serial.print("lat = ");
  Serial.print(lat);
  Serial.print("     lon = ");
  Serial.println(lon);
  Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" ");
  delay(1000);
  if(lat != 0.00){
    tone(9, 261, 500);
  }
}

A prima vista sembrerebbe che non rilevi satelliti

Sei in casa o fuori casa?

Devi anche specificare a che scheda Arduino hai connesso il GPS. Se la scheda lavora con I/O a 5V quasi certamente devi alimentare il GPS a 5V (UNO r3 ed r4, nano, mega).

Ciao.

Per @Salvorhardin sono fuori casa, in cortile per intenderci, per questo motivo mi sembra strano che sia un problema di connessione con i satelliti dopo 30min di attesa all'aria aperta.
Sto impiegando un Arduino Uno r3. Inizialmente lo avevo collegato ai 5V ma notavo che il chip si scaldava parecchio e sono passato ai 5V per timore di fondere il modulo. Successivamente ho preso un po di coraggio ma anche ai 5V non sembrerebbe collegarsi ai satelliti.

Quanto e' "parecchio" ?
Non dovrebbe scaldare tanto in entrambi casi. Unica differenza dovrebbe essere calore che dissipa regolatore (chip accanto a rx/tx pin) se alimentato 5V, ma nemmeno quello tanto.
Potresti postare foto dove si vede bene saldatura e componenti vicino.

Devi sapere esattamente se va alimentato a 5V o a 3,3V! Se funziona a 3,3V e lo hai alimentato a 5V, probabilmente si è guastato ed è rimasta funzionante solo la parte cha manda fuori i dati seriali.
Considera che ci sono moduli GPS a basso costo fatti male, brutte copie, poco sensibili: io, per esempio, anni fa realizzai un apparecchio con un modulo cinese economico dichiarato NEO 8M che, inizialmente, riusciva ad agganciare i satelliti, ma ora a fatica riesce a leggere data e ora indicando 0 satelliti agganciati. Come dice Guglielmo, se i moduli GPS originali costano decine di Euro, non si può sperare che gli "stessi" venduti dai cinesi a 1/10 del prezzo funzionino altrettanto bene... Gli unici a basso costo che funzionano discretamente sono gli originali di marche cinesi, non imitazioni di altre marche.

... basta ricordare QUESTA vecchia discussione ... ed esempio, Aliexpress è pieno di U-Blox finti :roll_eyes:

Guglielmo

Con parecchio intendo che brucia, ti viene da togliere il dito per intenderci. Non ho misurato la temperatura anche perché non saprei come fare, ma se ce ne è necessità ci posso provare. Le saldature:

@Datman non so se il modulo vada alimentato a 3.3V o 5V perché su amazon dice 3V-5V e mi è arrivato unicamente questo senza alcuna scheda d'uso.
A questo punto mi sembra di avere capito che il problema è nel modulo a basso costo. Mi consigliate di riprenderne uno simile oppure avete qualche altro modulo equivalente che però sia più documentato e sicuro da utilizzare?

Non e' normale. Ma riscalda schermatura metallica di NEO oppure regolatore? Lato destro sembra marrone, ma da foto si vede male..

Saldatura sembra buona. Usare cavo nero per VCC e' una strada per errori...

Tuo modulo dovrebbe funzionare sia 3v3 che 5v avendo LDO (XC6204 se non sbaglio).
Tx/rx e' comunque 3v3.

Riscalda la schermatura metallica del Neo. Esattamente dove c'è scritto Ublox.
Mi scuso per i colori ma ho raccattato i primi fili che ho trovato​:sweat_smile: sistemerò
In conclusione ci sarebbe qualche altro test da fare o devo dare il modulo per perso?

Fai ultima prova con solo 3v3 e gnd connesso e senti se scalda.
Se si, e non vuoi iniziare a cambiare componenti e fare ore di prove, puoi considerare per perso.

E' un ricevitore radio non trasmette quindi non deve scaldare, a me è successo ad esempio con un paio di moduli bluetooth tra tanti, nuovi, il problema era sulle saldature del chip BGA, dato il basso costo non mi sono nemmeno preoccupato di dissaldarlo e reballing

Andavano all'accensione poi quando si scaldavano stop, il consumo andava da 30-40 mA se ben ricordo ( riceve e trasmette) a oltre 100mA

Se li testano dopo l'assemblaggio lo fanno per pochi secondi, ....se li testano....

Osservando il colore dei fili che hai usato cerca di usare per GND e VCC nero e rosso così eviti di invertire il connettore, basta una sola volta per danneggiarlo

Volendo posso provare, dipende quali componenti dovrei cambiare dato che con le saldature non sono molto bravo, in particolare in quelle più piccole come possono essere quelle del chip. Le prove posso provare di farle volendo, non ho fretta.

@icio capisco bene, purtroppo era già successo in passato con un altro modulo. Di solito utilizzo questo produttore tedesco con cui non ho mai avuto problemi, ma di moduli gps non ne ha.
Se dovessi acquistarne uno nuovamente quale mi consigliereste?
Per la scelta del modulo mi ero basato sul progetto a cui sto lavorando che sarebbe un "navigatorino"; sono già riuscito a mostrare su un monitor tft la mappa in base alle coordinate che gli fornisci, motivo per cui mi serve il modulo gps. Necessito principalmente delle coordiante geografiche, ma anche velocità e data e ora non sarebbero male da avere.
Grazie a tutti per l'aiuto che mi avete dato fino ad ora :slight_smile: