Balloon Collaboration
September 21, 2019, 01:42:25 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: DaddyB, Larry and Dan are your administrators...Private message for any problems or issues with the Forum//barntekadmin
 
   Home   Help Search gallery Calendar Login Register  
Pages: [1] 2
  Print  
Author Topic: GPS Data Collecting  (Read 5878 times)
Larry
Administrator
Hero Member
*****
Posts: 1167



View Profile
« on: October 30, 2009, 11:49:54 PM »

Ok, after talking with DaddyB, I have been inspired to resume my project of trying to collect gps data so I can record it to an eeprom.  Not only have I been inspired, but I have actually begun working on it.  I first rigged up the gps to read directly into the computer so I could examine the GPS statements it was generating.  The GPS rcvr I am using generates 4 statements.

$GPGGA
$GPGSA
$GPRMC
$GPGSV

This link explaine each statement.

I have decieded to focus on the $GPGGA statement.  I have now managed to read the full statements and discard all but the $GPGGA statements.  And it turns out that I am able to rceive these statements each second. 

Now, I need to start working on parsing out the information.  Then I will work on saving it to the eeprom.  Saving shouldn't be that big of a deal since I proved that out with my Wx Datalogger.  I just have to decide what data I will save and what I will discard.
« Last Edit: October 30, 2009, 11:55:12 PM by Larry » Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #1 on: October 31, 2009, 04:46:38 AM »

Very cool...can't wait to see how this comes out!  Smiley
Logged
Larry
Administrator
Hero Member
*****
Posts: 1167



View Profile
« Reply #2 on: November 01, 2009, 03:26:57 PM »

Dan the Man,
Could you do a little research and see if you can find out which GPS Statements your GPS unit sends out?  I am thinking about using this Datalogger to log the GPS statements during the balloon flight, if I can tap the signal off of you gps.
Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #3 on: November 01, 2009, 05:07:33 PM »

I think mine does all the ones you had listed, but I'll look to make sure...the TinyTrack just pulls what it wants for its own use...I'll post what I find here and email the datasheet to you (actually the datasheet is on the Links page - Garmin GPS15) ... you can also program the gps to only output whatever you want to see but I haven't built a programming interface for the GPS...I'll let you know
Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #4 on: November 01, 2009, 05:55:12 PM »

Ok documentation says: GPALM GPGGA GPGLL GPGSA GPGSV GPRMC and GPVTG (NMWA sentences) and PGRMB PGRME PGRMM PGRMT and PGRMV (Garmin proprietary)

Here is a copy of the spec sheet, chapter 4 has descriptions of the various sentence structures (size and meaning of elements) so it should make your programming a LOT easier (not so hit and miss)...the pdf file is 'secured' so you can't cut and paste, but you can print it...Hope this helps...
« Last Edit: November 01, 2009, 06:00:07 PM by Dan » Logged
Larry
Administrator
Hero Member
*****
Posts: 1167



View Profile
« Reply #5 on: November 02, 2009, 02:59:52 AM »

Cool, Thanks for the info.  The gps unit I am using only provides the 4 statements, but since yours is the one that is gonna be on the balloon, its good that it has more options.    I am still thinking of recording the $GPGGA and the $GPRMC statements.  That will record Lat/Lon, Time, Date, Altitude, Bearing, and Speed.  I had written the code for the pic to actually parse out the different information, but for the balloon trip, I think I will just record the whole statement.  We can then cypher out what info we want on the ground.

Study the different statemants and give me your opinion on which statements we need to record.

The eeproms that I will be using will record 1024 pages of info; 128 characters per page.  If you fill a page, the eeprom will not automatically roll over to the next page.  The easiest way to do this would be write the 80 characters, then point to the next page and write the next 80 charaters.  Of course, that woulod waste a lot of memory space.  Let's see, 2 statements per recording, 1 recording per page would be 512 recordings.  If we record every 30 seconds, that would be  256 minutes of data recorded, or 4.2 hours.  I think this would provide plenty of recording space.  Besides, I can actually use 4 of these eeproms for all the data storage, for a total of 4096 pages(roughly 500K bytes of storage).

I just have to MAKE SURE that I don't allow it to wrap around and over write the data that has already been collected.   Wink
Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #6 on: November 03, 2009, 03:07:09 AM »

I think you can get it all with the GPGGA sentence...was there something specific you wanted to capture by pulling the GPRMC sentence? just curious...
Logged
Larry
Administrator
Hero Member
*****
Posts: 1167



View Profile
« Reply #7 on: November 03, 2009, 01:07:00 PM »

Yeah, the GPRMC statement will give speed and bearing info.  Not critical, but thought it would be good.
Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #8 on: November 03, 2009, 03:35:27 PM »

Ooops sorry my bust, that WOULD be good to have...I didn't notice that when I read up, I will go back and re-read...

Also, something else that's interesting, if you can lash up the output of your gps directly to your computer, using Hyperterminal or some similar ASCII terminal program to read the raw data, it's a steady stream coming out so your program will have to be quick to catch the right stuff..hahah
Logged
Larry
Administrator
Hero Member
*****
Posts: 1167



View Profile
« Reply #9 on: November 04, 2009, 01:33:54 AM »

Yeah, that was the hardest part.  I did finally figure out how to get what I wanted.

I have now completed (i think) then GPS Statement Gitter/Storer and Sender.  The way I have it working right now is that is receives the GPS signal from the GPS unit and stores the $GPGGA and the $GPRMC statements in the PIC's eeprom.  If PORTA.7 goes High, then the PIC reads the 2 statements from the eeprom and sends it out the RS232 line. 

My idea is that I will have a central data collector that will be connected to all the experiments.  There will be 2 lines.  One will be the RS232 line and the other will be a Ready line.  Every 30 seconds the Data Collector will set the ready on each experiment high for 2 seconds. during that time, the experiment will send whatever data it wants to store down the RS232 line.  What ever the Data Collector receives will be stored in the EEPROMS (hopefully in an organized manner).  Once the 2 seconds is up, that line will go low and the Ready line on the next experiment will go high.  and so on until all the experiments have been interigated.  Once all the data has been collected, I can then send all the collected data to the UHF Xmiter for broadcast back to the ground. 

I am thinking about limiting the amount of data from each experiment to 64 characters per interigation. Since each eeprom page is 128 characters, this would make storrage a lot easier.  Organization would be easier as well.


Anyway, what do ya'll think??
Logged
DaddyB
Administrator
Full Member
*****
Posts: 144



View Profile
« Reply #10 on: November 04, 2009, 02:12:52 AM »

Hey, that sounds good too me!
Now, if I get the radiation counter going, I just need to be sure that it's output is less than 64 characters, right?
As for my part, I don't think that will be a problem.
You done good...    Cheesy
This morning, I started working on the program to read the counts.  I didn't get very far, because of dizziness, but hopefully, will get back on it tomorrow.
Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #11 on: November 04, 2009, 04:03:59 AM »

Cool...sounds like you've got your 'protocol' worked out...
Logged
Larry
Administrator
Hero Member
*****
Posts: 1167



View Profile
« Reply #12 on: November 04, 2009, 01:14:11 PM »

hehe  Well, I am still working it out.  After more thought, I may limit the data string from the experiments to 32 characters or even 16.  I don't think DaddyB's guy-ger counter will require 64 Chars and I think my wx info can be crammed into 16 Chars.

DaddyB, I hope you do your ZiG meter again.  I think we should get all the info possible on each flight.  

Dan, will you be able to find a place to tap the rs232 signal from your GPS unit to send to my Data Collector?  Also, at what Baud Rate does your GPS run?
« Last Edit: November 04, 2009, 01:16:58 PM by Larry » Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #13 on: November 04, 2009, 04:29:02 PM »

For the interface, you'll have to retrieve the package from DaddyB and play with it..I don't have it here (got no room to play with my toys)...you can program the GPS to run from 300 to 36000 bps, just need to make sure to reprogram the tinytrak if you change it...DaddyB has everything there in his shop, including used batteries to power it all up (and don't forget the null modem connector if you want to reprogram the TinyTrak)...You'll need to build an interface cable to program up the GPS but I think all the pinouts are in the documentation (link is up above)...I can't find the tiny trak programming app that I used to program it up last year so I can't tell you what the speed was set at, but it will be in the program memory...if you don't have the tiny trak program interface it's free on the byonics website...

(MAN! I miss my shop!)
Logged
Dan
Administrator
Full Member
*****
Posts: 175



View Profile
« Reply #14 on: November 04, 2009, 04:52:53 PM »

Oh yeah, one more thing I just thought about, if you're planning to use DaddyB's "TinyPack" to do the modem stuff, it's limited to 80 characters per transmission...The new tinyTrack 4 is a full blown TNC...I can order that and have it shipped to you if you think that will be a better bet (gotta change those ones and zeros into tones somehow)...
Logged
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!