PMB-248 does not update the location when moving.
Diego Pontones
Posts: 11
Hi, I am having problems with two brand new PMB-248 (PMB-248 with cable)
GPS does not seem to update coordinates even if I move.
They will only update coordinates for a few seconds after intitial power up and then the only way to get new coordinates is to power off and on again.
Same results with two GPSs, with either TTL and RS-232 and with either 3.3 V or 5 V. Tried first with Propeller objects that parse NMEA strings but as I could not see the latitude and longitude updating connected them then with direct RS-232 connection to a PC and could see that the location does not change even if I move, while other parameters do update in every new NMEA string.
Both GPSs do the same... I looked at the 4 different NMEA strings and everything looks fine: time updates, report satellites, Fix quality=1 = GPS fix, etc.
This GPS is supposed to have a 2m accuracy so definitely something is wrong. Bellow you can see samples of the output of both GPSs.
I also downloaded the SW from the PolstarGPS web page (PCTester1.6 and PolView) and both of them show the NMEA strings and the time and satellites info, however the coordinates do not change. If I power off and on the GPS then I will get new correct coordinates.
GPS PCB has this note:
PEA-932 Rev.01
Bellow a sample of both captures (while outside and walking):
GPS 1
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025743.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4A
$GPGGA,025744.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*52
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025744.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4D
$GPGGA,025745.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*53
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025745.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4C
$GPGGA,025746.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*50
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPGSV,3,1,12,28,88,109,42,11,54,066,40,17,54,275,45,08,31,198,33*75
$GPGSV,3,2,12,20,21,122,31,32,20,092,34,27,16,321,,04,09,210,24*7C
$GPGSV,3,3,12,09,08,328,,07,04,177,35,26,03,297,,19,02,073,*73
$GPRMC,025746.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4F
$GPGGA,0 25747.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*51
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025747.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4E
$GPGGA,025748.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*5E
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025748.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*41
$GPGGA,025749.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*5F
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025749.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*40
$GPGGA,025750.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*57
GPS 2
$GPGGA,030544.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*51
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPGSV,3,1,12,28,85,134,40,17,56,279,41,11,51,064,37,08,27,197,40*75
$GPGSV,3,2,12,20,23,119,32,32,22,089,32,27,17,319,,04,13,211,33*7D
$GPGSV,3,3,12,09,10,326,,26,01,294,,07,01,176,15,19,,075,*77
$GPRMC,030544.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*76
$GPGGA,030545.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*50
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030545.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*77
$GPGGA,030546.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*53
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030546.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*74
$GPGGA,030547.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*52
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,03 0547.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*75
$GPGGA,030548.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*5D
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030548.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*7A
$GPGGA,030549.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*5C
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPGSV,3,1,12,28,85,134,45,17,56,279,42,11,51,064,38,08,27,197,41*7D
$GPGSV,3,2,12,20,23,119,39,32,22,089,41,27,17,319,,04,13,211,35*74
$GPGSV,3,3,12,09,10,326,14,26,01,294,,07,01,176,15,19,,075,*72
$GPRMC,030549.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*7B
$GPGGA,030550.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*54
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030550.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*73
$GPGGA,030551.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*55
Any help will be greatly appreciated
GPS does not seem to update coordinates even if I move.
They will only update coordinates for a few seconds after intitial power up and then the only way to get new coordinates is to power off and on again.
Same results with two GPSs, with either TTL and RS-232 and with either 3.3 V or 5 V. Tried first with Propeller objects that parse NMEA strings but as I could not see the latitude and longitude updating connected them then with direct RS-232 connection to a PC and could see that the location does not change even if I move, while other parameters do update in every new NMEA string.
Both GPSs do the same... I looked at the 4 different NMEA strings and everything looks fine: time updates, report satellites, Fix quality=1 = GPS fix, etc.
This GPS is supposed to have a 2m accuracy so definitely something is wrong. Bellow you can see samples of the output of both GPSs.
I also downloaded the SW from the PolstarGPS web page (PCTester1.6 and PolView) and both of them show the NMEA strings and the time and satellites info, however the coordinates do not change. If I power off and on the GPS then I will get new correct coordinates.
GPS PCB has this note:
PEA-932 Rev.01
Bellow a sample of both captures (while outside and walking):
GPS 1
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025743.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4A
$GPGGA,025744.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*52
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025744.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4D
$GPGGA,025745.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*53
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025745.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4C
$GPGGA,025746.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*50
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPGSV,3,1,12,28,88,109,42,11,54,066,40,17,54,275,45,08,31,198,33*75
$GPGSV,3,2,12,20,21,122,31,32,20,092,34,27,16,321,,04,09,210,24*7C
$GPGSV,3,3,12,09,08,328,,07,04,177,35,26,03,297,,19,02,073,*73
$GPRMC,025746.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4F
$GPGGA,0 25747.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*51
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025747.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*4E
$GPGGA,025748.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*5E
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025748.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*41
$GPGGA,025749.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*5F
$GPGSA,A,3,28,17,11,20,08,32,,,,,,,3.7,2.1,3.1*30
$GPRMC,025749.000,A,4518.9728,N,07543.9185,W,0.00,28.51,040610,,,A*40
$GPGGA,025750.000,4518.9728,N,07543.9185,W,1,06,2.1,96.2,M,-34.2,M,,0000*57
GPS 2
$GPGGA,030544.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*51
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPGSV,3,1,12,28,85,134,40,17,56,279,41,11,51,064,37,08,27,197,40*75
$GPGSV,3,2,12,20,23,119,32,32,22,089,32,27,17,319,,04,13,211,33*7D
$GPGSV,3,3,12,09,10,326,,26,01,294,,07,01,176,15,19,,075,*77
$GPRMC,030544.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*76
$GPGGA,030545.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*50
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030545.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*77
$GPGGA,030546.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*53
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030546.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*74
$GPGGA,030547.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*52
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,03 0547.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*75
$GPGGA,030548.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*5D
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030548.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*7A
$GPGGA,030549.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*5C
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPGSV,3,1,12,28,85,134,45,17,56,279,42,11,51,064,38,08,27,197,41*7D
$GPGSV,3,2,12,20,23,119,39,32,22,089,41,27,17,319,,04,13,211,35*74
$GPGSV,3,3,12,09,10,326,14,26,01,294,,07,01,176,15,19,,075,*72
$GPRMC,030549.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*7B
$GPGGA,030550.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*54
$GPGSA,A,3,17,28,11,20,08,,,,,,,,4.5,2.3,3.8*3F
$GPRMC,030550.000,A,4518.9750,N,07543.9202,W,0.00,341.35,040610,,,A*73
$GPGGA,030551.000,4518.9750,N,07543.9202,W,1,05,2.3,82.0,M,-34.2,M,,0000*55
Any help will be greatly appreciated
Comments
Also, how far are you moving? Is it outdoors?
Jim
John Abshier
I did more tests today and I confirmed that if I walk about 30/40 meters the Lat and Long will be updated, but then I will have to walk 30 or 40 meters more to get another location. I just tested another GPS from another vendor with my original Propeller code and it does update the location every meter or so as I expected.
I have two PMB-248 and they both work in the same way, updating location only after 30 or 40 metters.
Regards
The PMB-248 uses the SONY CXD2951GA-4 chip, I found a document describing the commands it accepts (http://www.google.ca/url?sa=t&source=web&cd=1&ved=0CBQQFjAA&url=http://gpsd.googlecode.com/files/cxd2951-commands.pdf&rct=j&q=gSV+CLR+CD&ei=fCAJTMe5M4G8lQf1_aDcDg&usg=AFQjCNGyz_u1eucpNwao-QM0S4ZWxl0ihw), I am trying to find if there is a command that can toggle such a feature, do you know how the feature was called and/or what command did you use to disable it?
Thanks
Diego Pontones
@WLK ON
or
@WLK OFF
Also tried to send the @WLK command with the spin code bellow. If the GPS accepts the commands it is supposed to echo back the command and give a response.
This is the code I am using to send and receive data from the GPS and to echo everything to the serial terminal:
''
''Diego Pontones (Jun 4, 2010)
''Captures incoming data from a GPS at 4800 Bauds and sends it to the serial termimal
''
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
OBJ
SerScreen : "FullDuplexSerial"
SerGPS : "FullDuplexSerial"
Pub Main | rb
SerScreen.start(31, 30, 0, 57600)
SerGPS.start(1, 2, 0, 4_800) 'GPS PMB-248 TTL Pins 1 and 2
waitcnt(clkfreq * 2 + cnt)
SerScreen.str(string("Send Config Strings to GPS"))
waitcnt(clkfreq * 2 + cnt)
'Send @PV+CR+LF
serGPS.str(string("@PV"))
serGPS.tx(13)
serGPS.tx(10)
waitcnt(clkfreq * 2 + cnt)
'Send @WLK ON+CR+LF
serGPS.str(string("@WLK ON"))
serGPS.tx(13)
serGPS.tx(10)
waitcnt(clkfreq * 2 + cnt)
repeat
rb:=SerGPS.rx
SerScreen.tx(rb)
Thanks
Diego
Found a couple of Sony documents, one mentions the @WLK ON command to enable walking mode another one (for another Sony product) mentions a feature called POSITION LOCK which when enabled:
"The position will be locked if the current speed and distance traveled are both less than their respective thresholds. Threshold speed (DEFAULT 0.5 m/s) and threshold distance (DEFAULT 100m)"...
which seems what is happening here. I confirmed the above by taking the robot, and instead of just walking, I ran with it and right away I could see the Lat and Long updating every couple of meters or so, if I go back to walking it again locks the position for about 30 meters.
Problem is that a GPS that is advertised for robotics applications should come with the POSITION LOCK feature disabled by default or at least come with instructions on how to disable it.
I tried sending commands via TTL or RS-232, none of the commands seem to work as the GPS never responds back nor the mode appears to change.
Any help will be appreciated. I suppose this must have been noticed by somebody else before, unless everybody is using this GPS for faster moving applications.
Thank you
I am using the Parallax “Smart GPS” :
·http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/GPS/List/0/SortField/4/ProductID/396/Default.aspx
and I don’t have the problem with updating locations when standing still and running in /RAW Mode. As a matter of fact, the reading will vary +/- 50 meters at rest. These become a lot more accurate when you are moving.
The question on programming the new GPS’s has come up a few times before, (“why does the GPS have a receive line if you can’t talk to it”[noparse];)[/noparse]. There has been no answer from Parallax.
We really need an official announcement from Parallax on this situation.
Jim
@WA ON 0
[noparse][[/noparse]WA] Done (ON) SVID:AUTO
@WLK ON
[noparse][[/noparse]WLK] Done (ON)
and @NC
@NC 10001000
[noparse][[/noparse]NC] Done (GGA: 1, GLL: 0, GSA: 0, GSV: 0, RMC: 1, VTG: 0, ZDA: 0, PSGSA: 0)
Post Edited (Timmoore) : 6/5/2010 6:29:56 PM GMT
Can you please share the configuration and code you are using to send the commands to the PMB-248?
Also, can you please capture the first strings that come out of your PMB-248 after power up to see if it is the same version as mine:
$PSRFTXT,Version: GSW3.5.0_3.5.00.00-SDK-3EP2.01 *46
$PSRFTXT,PL-090709-NMEA4800_S_DM1_G1_CM205_KLP-LX*66
$PSRFTXT,TOW: 533610*17
$PSRFTXT,WK: 1586*6F
$PSRFTXT,POS: 1107262 -4354151 4512178*06
$PSRFTXT,CLK: 96283*2B
$PSRFTXT,CHNL: 12*73
$PSRFTXT,Baud rate: 4800*6
Thanks
Diego
Just tested outside and latitude/longitude changing over small amounts. Also found a bug and updated the archive to fix it.
Post Edited (Timmoore) : 6/5/2010 7:53:32 PM GMT
Before, I had downloaded a couple of test programs from the PolstarGPS web page (PCTester1.6 and PolView) http://www.polstargps.com/Polstar_Support_Test_PCTester.html , these programs have the option to send commands to the GPS but I don't get any response with them neither. When using that software I ran a serial port sniffer to confirm the software was sending the @WLK ON + CR + LF and it did but the GPS never echoed back anything.
It would appear as if I had not connected properly the RX pins (TTL pins with the propeller, RS-232 pins with the PC) but I have checked the connections.
Thanks for the help.
Diego
If it is that a small pair of needle nose pliers will straighten them out but they will always be easy to bend.
I was checking the forums and I saw that somebody else ( forums.parallax.com/forums/default.aspx?f=36&m=419756 ) got a PMB-648 when he ordered a PMB-248.
I checked the pictures of both GPSs and that seems to be my case too. It seems that the robotshop.ca guys sent me a couple of 648s instead of the 248s invoiced. The 648s are more expensive and supposed to be better, they track 20 satellites instead of 12 but according to the comparison table ( http://www.parallax.com/ProductInfo/Accessories/GPSComparisonTable/tabid/831/Default.aspx ) the 648 accuracy is 5 meters and the 248 is much better at 2 meters!
Anyway, I need now to check the specs and commands for the 648 and see if I can activate the walk mode.
Regards
Diego
You can try this, set the gps type to 3 in the original test program and use this version of gps_io.spin. I haven't tested it but it should set the gps to sirf binary, send the disable static nav command and switch back to nmea.
Post Edited (Timmoore) : 6/6/2010 4:28:10 AM GMT
Once realizing it was really a 648 and after disabling the static navigation with ID 143 as suggested by Tim the GPS is updating coordinates all the time for very short movements.
Code I used to sent the configuration strings bellow.
Thank you!
Diego
Modification to: GPS_Str_NMEA_Lite.spin v1.0
PUB StartCOGs(rX_FR_GPS,tX_TO_GPS,nmea_Mode,nmea_Baud) : oKay | i
...
GPS_UART.str(string("$PSRF100,0,4800,8,1,0*0F",_CR,_LF)) 'Switch to SiRF binary protocol at 4800,8,N,1
'Diable Static Navigation
waitcnt(clkfreq + cnt)
repeat i from 0 to 9
GPS_UART.tx(BYTE[noparse][[/noparse]@DisStatNav])
'Switch back To NMEA Protocol Message ID 129, leave only GGA and RMC strings and keep speed at 4800
waitcnt(clkfreq/2 + cnt)
repeat i from 0 to 31
GPS_UART.tx(BYTE[noparse][[/noparse]@BackToNMEA])
...
DAT
'Static Navigation, Message ID 143
DisStatNav BYTE $A0, $A2, $00, $02, $8F, $00, $00, $8F, $B0, $B3 'SiRF Disable Static Navigation, "A0A200028F00008FB0B3"
'Switch back To NMEA Protocol Message ID 129 at 4800 bauds, leave on GGA and RMC strings updating oce per second.
BackToNMEA BYTE $A0, $A2, $00, $18, $81, $02, $01, $01, $00, $01, $00, $01, $00, $01, $01, $01, $00, $01, $00, $01, $00, $01, $00, $01, $00, $01, $12, $C0, $01, $61, $B0, $B3
Jim
Re posting part of the code from previous post as it did not paste properly.
Diego
My place of trial in the state of Indonesia, especially the city of Malang. I attach the GPS inside the black box and I put dimobil.
why be so? and have a long wait actually Fix GPS.
how the solution ?
what the effect of weather was overcast and in the room?
GPS PMB 248, I attach for tracking the position of the car, so I hide inside a car GPS. What is the solution let the GPS can capture data quickly position (fix data)?
Essentially PMB 248 GPS I use as a monitoring vehicle, what is the solution?
thx
Also how are you testing whether you have a fix? Are you displaying all the sentences from the GPS? If so can you give us some output. I am particular interested in the $GPGSV messages that show how many satellites are visable and how strong the signals are.
I recently tried to modifiy my code to disable the static navigation per your modifications and now do not get any data from the GPS unit. Not sure if I sent the wrong command to the unit. I am not sure how to fix this. Could you post your modified code? I am not sure what I am doing wrong or how to fix it??
Thanks,
Andy
I've tried using your test program but every time I try and compile it it errors
What errors are you seeing?
Latest BST code can be found here:
http://www.fnarfbargle.com/bst/Latest/
@Tim Error occurs on line 53 of GPS_IO.spin "#ifdef USEGPSCPG". At least on my side it does.
Jim