Sunday, March 23, 2014

GPS breakout : UBLOX NEO 6M - GYGPS6MV1

Levou 3 meses para chegar.
GPS Ublox Neo 6M


UPDATE 22/11/2014:
Novo ucenter 8.12
http://www.ublox.com/images/downloads/Product_Docs/u-centersetup_v8.12.zip



Precisa de um GPS embarcado?
Recomendo o Ublox NEO-6M já montado no breakout GY-GPS6MV1
A placa é alimentada com 5V e já possui um LDO para 3.3V.


É preciso presta atenção que a interface serial é de 3.3V e não tolerante a 5V, ou seja, não dá para ligar no Arduino Nano V3 diretamente. Na verdade qualquer microcontrolador com GPIO de 5V vai precisar de um level shift para fazer interface com este módulo.
No caso da Stellaris, Tiva C, STM32, FRDM-KL25Z  pode conectar direto, pois o GPIO é 3.3V.

GY-GPS6MV1 (Ublox NEO-6M) conectado com o Buspirate


GY-GPS6MV1 Breakout

Esquemático do GY-GPS6MV1 (Ublox NEO-6M)


Vamos ao teardown usando o Buspirate, Putty e ferramentas de software da Ublox.

Resetando o buspirate
UART>#
RE
Bus Pirate v3.5
Firmware v6.1 r1676  Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
http://dangerousprototypes.com
HiZ>
HiZ>

Liga e desliga do 5V e 3.3V
UART>w
POWER SUPPLIES OFF
UART>W
POWER SUPPLIES ON

Macros para UART
UART>(0)
 0.Macro menu
 1.Transparent bridge
 2.Live monitor
 3.Bridge with flow control
 4.Auto Baud Detection

Detecção automática de baudrate - descobrir o baurd do GPS
UART>(4)
Waiting activity...
Calculated:     9661 bps
Estimated:      9600 bps
UART>

Setup usando o baudrate estimado de 9600 bps
UART>m
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. LCD
x. exit(without change)

(1)>3
Set serial port speed: (bps)
 1. 300
 2. 1200
 3. 2400
 4. 4800
 5. 9600
 6. 19200
 7. 38400
 8. 57600
 9. 115200
10. BRG raw value

(1)>5
Data bits and parity:
 1. 8, NONE *default
 2. 8, EVEN
 3. 8, ODD
 4. 9, NONE
(1)>
Stop bits:
 1. 1 *default
 2. 2
(1)>
Receive polarity:
 1. Idle 1 *default
 2. Idle 0
(1)>
Select output type:
 1. Open drain (H=Hi-Z, L=GND)
 2. Normal (H=3.3V, L=GND)

(1)>2
Ready

Ativar macro para bridge transparente
UART>(1)
UART bridge
Reset to exit
Are you sure? y

Dados recebidos do GPS - padrão NMEA
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,03,09,,,17,11,,,20,12,,,22*74
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,02,11,,,17,12,,,19*76
$GPGLL,,,,,,V,N*64




$GPVTG,,T,,M,0.126,N,0.233,K,A*24

$GPGGA,023622.00,0801.83890,S,03453.84015,W,1,05,4.58,67.3,M,-10.4,M,,*48

$GPGSA,A,3,18,21,22,27,16,,,,,,,,5.81,4.58,3.58*01

$GPGSV,4,1,15,03,48,198,35,14,45,354,18,15,17,136,,16,20,250,33*7A
$GPGSV,4,2,15,18,44,181,33,21,36,153,27,22,48,243,38,24,07,081,19*7C
$GPGSV,4,3,15,25,08,017,19,27,10,213,32,29,46,048,20,31,05,333,*7D
$GPGSV,4,4,15,33,65,05,333,*7D
$GPGSV,4,4,15,33,65,068,29,37,25,084,29,39,22,085,29*43

$GPGLL,0801.83886,S,03453.84014,W,023623.00,A,A*6C

$GPRMC,023624.00,A,0801.83910,S,03453.84059,W,0.811,,221114,,,A*78



$GPVTG,,T,,M,0.811,N,1.502,K,A*2D
$GPGGA,023624.00,0801.83910,S,03453.84059,W,1,05,4.57,67.6,M,-10.4,M,,*45
$GPGSA,A,3,18,21,22,27,16,,,,,,,,5.81,4.57,3.58*0E
$GPGSV,4,1,15,03,48,198,36,14,45,354,21,15,17,136,,16,20,250,34*74
$GPGSV,4,2,15,18,44,181,33,21,36,153,26,22,48,243,39,24,07,081,20*76
$GPGSV,4,3,15,25,08,01243,39*7B
$GPGSV,4,3,16,24,07,081,,25,08,017,,27,10,213,32,29,46,048,25*7F
$GPGSV,4,4,16,31,05,333,19,33,65,068,29,37,25,084,30,39,22,085,29*74
$GPGLL,0801.83909,S,03453.84060,W,023625.00,A,A*6F
$GPRMC,023626.00,A,0801.83897,S,03453.84052,W,0.194,,221114,,,A*7B

$GPVTG,,T,,M,0.194,N,0.360,K,A*2A
$GPGGA,023626.00,0801.83897,S,03453.84052,W,1,05,4.57,67.5,M,-10.4,M,,*41
$GPGSA,A,3,18,21,22,27,16,,,,,,,,5.80,4.57,3.58*0F
$GPGSV,4,1,16,03,48,198,35,08,,,25,14,45,354,,15,17,136,*4D
$GPGSV,4,2,16,16,20,255,17,136,18*45
$GPGSV,4,2,16,16,20,250,35,18,44,181,32,21,36,153,27,22,48,243,40*75
$GPGSV,4,3,16,24,07,081,21,25,08,017,,27,10,213,32,29,46,048,22*7B
$GPGSV,4,4,16,31,05,333,20,33,65,068,28,37,25,084,28,39,22,085,28*77
$GPGLL,0801.83895,S,03453.84051,W,023627.00,A,A*6B
$GPRMC,023628.00,A,0801.83895,S,03453.84048,W,0.197,,221114,,,A*7F





A família NEO-6M foi descontinuada para dar lugar a novos modelos, isso é bom pois fica mais barato para comprar os que sobraram no mercado chinês.
Mesmo com a sensibilidade de -162 dBm, não consegui usar em ambiente fechado. Até encontra 10 satélites mas não consegue fazer o fix nem 2d e nem 3d.
Se ficar do lado da janela já da para fazer o fix 2d e 3d.
A céu aberto é o fix 2d e 3d leva menos de 10 segundos.

Página legada do NEO-6M
http://www.u-blox.com/en/gps-modules/pvt-modules/previous-generations/neo-6-family.html
  • u-blox 6 position engine:
    • Navigate down to –162 dBm and –148 dBm coldstart
    • Faster acquisition with AssistNow Autonomous
    • Configurable power management
    • Hybrid GPS/SBAS engine (WAAS, EGNOS, MSAS)
    • Anti-jamming technology
  • Simple integration with u-blox wireless modules
  • A-GPS: AssistNow Online and AssistNow Offline services, OMA SUPL compliant
  • Backward compatible (hardware and firmware); easy migration from NEO-5 family or NEO-4S
  • LCC package for reliable and cost effective manufacturing
  • Compatible with u-blox GPS Solution for Android
  • Based on GPS chips qualified according to AEC-Q100
  • Manufactured in ISO/TS 16949 certified sites
  • Qualified according to ISO 16750
Ferramenta U-Center da U-Blox para GPS
https://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.html

U-center conectado no GPS através do Buspirate.
O Baudrate entre o GPS e buspirate é 9600 bps.
Entre o buspirate e o U-center é 115200 bps.