More fun with GPS
sylvie369
Posts: 1,622
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
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
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I'm just 7*1027 atoms floating through time and space in close formation. -KF4IXM
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
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.
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.