View Full Version : More fun with GPS

06-02-2010, 11:57 PM
At UPEC I did a little presentation on my rocket telemetry gizmo. I've also been working on getting a GPS receiver in the rocket to send the rocket's position to a ground station, using the same XBee radios I use in the telemetry gizmo. I've flown the GPS transmitter once, and got good data, but couldn't use those data out in the field because they were going into my netbook, which I can't read out in the sunlight. It's just too much of a pain to move the netbook into the shade somewhere (which is only semi-effective at reducing glare anyway) while keeping the receiver out in the clear.

So I've been working on a Prop-based ground station connected to an LCD. This morning I got most of it working, and I'm really pleased with what it does. I've put the GPS receiver and an XBee on a breadboard, connectd a 3.3V supply, and leave it running out on my balcony, sending the GPS data out. It's nothing but the GPS, the XBee, the power supply, and an LED connected through a resistor to the GPS's 1 second time base output, blinking to show that the GPS is working. There's a functionally equivalent version mounted in one of my rocket altimeter bays, but I'm not using it for testing until everything else is ready, so as to preserve the batteries.

Then in here I've got a Prop Proto board with one of Martin Hebel's now discontinued AppBee Proto B boards carrying the XBee, and a Parallax 4x20·LCD screen. Using the GPS_Float object, I've got it displaying
- The name of current NMEA string being received (GPGGA, GPRMC, etc.)
- Whether or not it is receiving valid data.
- The current UTC hour, minute, second.
- The altitude and azimuth of each of the satellites in view, stepped through one at a time.
Then it clears the screen and shows the GPS module's latitude and longitude, and then starts over again.

It's a real hoot to watch the satellite altitude and azimuth data change slowly as they move across the sky. This is stuff that would have seemed like wild science fiction to me 10 or 15 years ago.

Anyway, with essentially no changes to software, you can have an XBee send the GPS data to those GPS sample programs, rather than have the Prop directly wired to the GPS module. That means that very little hardware needs to be in the rocket - almost everything can be on the ground. I'm expecting to use a board about 1.25" x 3.5" plus a 4xAA battery pack. I've had no problem reading LCD screens out in the field, so I know that part will work.

I'm really pleased with how easy it is to get the software for this kind of thing working. Eventually I want to be able to connect a handheld serial GPS to the Prop base station and when I have the appropiate position data, press a button to send a $GPWPL sentence to set a waypoint with the rocket's position in the handheld GPS. I have a simple breadboard adapter that should make that pretty easy. I also want to be able to display course and speed over ground along with altitude on the way down under parachute - in other words, to measure the winds aloft. That'll take quite a bit more programming, and some juggling to get the barometric altitude from the altimeter at the same time as the GPS data, but should be doable. The course and speed over ground part I can probably get running in the next half hour, as they're part of the GPS_Float object.

Post Edited (sylvie369) : 6/2/2010 9:15:33 PM GMT

06-03-2010, 12:08 AM
I like your appoach to using the xbee's as a 'wireless sensor link' so to say. i too am working on something like this, not rocketry, but a remote telemetry system. using gps, compass, accelerometer and other data, basically the prop would be just formatting the data from the sensors to transmit over the xbee's. but i really like the way you took the controller out of the linking part.

I'm just 7*1027 atoms floating through time and space in close formation. -KF4IXM

06-03-2010, 01:24 AM
I worked on a ground-based remote sensor thing with a student this spring, and we did have a processor on the transmitting end as well as the receiver, but my motto for rockets is "keep the computer on the ground whenver possible". A device that sends out serial data (like GPS) can just be connected right up to the XBee, and all of the processing done on the receiving end.

At some point I'm going to try it with one of those $35 Parallax GPS units - that'd bring the cost of the flying part down to about $85 (GPS+XBee+board+battery), which is FAR better than the $250+ 2-meter APRS units most rocketeers seem to be using. The receiving station should be quite a bit cheaper as well - a Prop protoboard, an XBee board, XBee, and LCD.

Post Edited (sylvie369) : 6/2/2010 6:31:02 PM GMT

Dave Hein
06-03-2010, 01:28 AM
Which GPS and XBee modules are you using?

06-03-2010, 01:33 AM
Dave Hein said...
Which GPS and XBee modules are you using?

The·GPS that I've already flown was the Byonics GPS 2, a hockey-puck style receiver connected by DB-9 to a custom board I designed, powering the GPS and XBee. It lost lock on the way up, briefly, as is expected in a rocket, but reacquired quickly, which is the most important thing, I think. If I'd been able to read the data out in the field, it would have led me to within 13 feet of my rocket - probably less than the distance between the parachute and the electronics bay.

I'm expecting in a few weeks·to get a new custom board that will replace the clumsy GPS 2 with a SUP500F that I got from Sparkfun, and I hope to fly that in July. Again, a less expensive module would be a big plus.

I'm using 2.4 GHz XBee Pro (series 1) modules with wire antennas, on both transmit and receive ends. The range will be limited - less than 1 mile, but fine for my purposes for the time being. If I get it working well, I'll upgrade to 900 MHz XBees later.

08-03-2010, 11:38 PM
Update: I flew this again on Sunday, this time with a standalone Propeller-based receiver unit to display GPS data on an LCD, as well as·separately feeding an XBee receiver into a terminal program to capture the GPS track. I flew it for the first time on a dual-deployment-equipped rocket, using an Aerotech J500 motor, to 2415 feet. As expected, there was a brief loss of GPS lock on the way up, but recovered before apogee, and a good lock all the way down.

I had little problem capturing the data, which, again, are sent down by XBee Pro (2.4 GHz version) to my ground stations (see images below). The only difficulty is setting up the capture, as it's very hard to see the laptop screen out in the sunlight, or even under a canopy on the range. That's where the Prop-based receiver shines, as the LCD screen is easy to see in the sunlight. I had ti receive the NMEA strings, parse out the position, altitude, course and speed over ground, and fix quality data, and display them on the LCD. That worked great. It was spectacular to have winds aloft information as the rocket came down. Of course putting elaborate tracking stuff on a rocket is the best way to guarantee that it lands near the pad. My other three flights this weekend all landed in gullies out of view, so I had to walk around for 1/2-hour for each of them to come at it from the correct angle so I could see them. The one equipped with GPS landed only 500 feet away from the pad, with the parachute in plain view from the range head. Still, I took the coordinates from the LCD screen, put 'em in my handheld Garmin unit, and used the navigation features of that unit to walk right to the rocket. Pretty slick.

Dave Hein
08-04-2010, 03:13 AM
That's very impressive.· Do you have a webpage where you describe your design in more detail?· I would be interested in using something like this for a high altitude balloon.· What is the maximum range of the 2.4 GHz XBee?· It seems like the range could be extended quite a bit by mounting ground-station XBee at the focus of a satellite dish.· Have you looked into using a directional antenna with the XBee to increase it's range?