I've been spending lots of time on the flight computer this week. A kindly gentleman on the Arduino forums also pointed me to the TinyGPS library, which parses GPS data. It checks the data too, to make sure there are no weird sentences!
I got header pins today for use with the servo, installed those and played around with it for a while. The code didn't take long to write but I had to learn a new trick for how to convert a number sent to arduino over the serial port into an actual number, instead of multiple separate bytes (i.e. without this trick 180 gets sent as 1, then 8, then 0.)
I've also managed to write successfully to the SD card, although that proved troublesome. The access time to write to the drive is around 200ms, which is quite a long time. I tried using a buffer, but the one I was using was so big it was taking up too much of the Arduino's RAM. So I had to shorten it. Right now it works, but not as well as I might have liked. I might just leave it, since I will be transmitting the GPS data back in real time.
On that note: major change to the project - radios are back in. After reading this story, and also after talking to the FAA I decided it's safer to put a radio on board to transmit the GPS data realtime. If the package lands in an area without Boost mobile reception I would never find it (but the Boost mobile phone will remain on board, weight permitting, to serve as a backup). As for the FAA, they don't really have any rules about launching rockets from weather balloons. They have rules on launching rockets, and on weather balloons, but if I'm going to carry out this project I'll need to coordinate with them and with local ATC.
Speaking of FAA regs, I've looked through their regulations (a link is provided on the "Resources for aspiring ballooners" page), and I'm going to work towards making this payload under 4 pounds so that I'm not obligated to follow their regulations (since the bottom of my rocket is a circle 2.5" in diameter I think I would violate the 3 oz per square inch rule). Still, I will try to follow as many as practical to show them good faith for whenever I launch the rocket. This is another impetus for re-adding the radio, I think it will make it easier for the FAA/ATC to approve this activity.
So with a lot of the groundwork for the flight computer in place, I find myself lacking in the hardware department. I plan to do some tests next week involving construction techniques for the side deploy parachute, as well as for placement of the various electronics. I need to make sure everything this secure, because when those rocket motors light up, there will be more than 50 lbs of for
This is a figure of altitude data from the GPS sensor. I managed to take it with me on a flight out to the midwest where I was meeting some friends, and I was really excited to be able to get such data.
Then I saw the same picture you're looking at now. The readings, while managing to capture the "gist" of what was going on, had errors in a number of places. All throughout the flight, readings were bouncing around between the true altitude and something else. As a matter of fact, that picture even has some data reduction methods applied to it already via throwing out values above 15000m.
The GPS lost signal as the plane took off, but thankfully managed to reacquire signal it reached altitude. All the way through, however, the data was mangled. Sentence were cut short, or smashed together with other sentences. Sometimes the decimal point in the altitude reading simply got lost, nowhere to be found.
After implementing a bunch of data filters in MATLAB, I was able to improve the output significantly:
Name: Nickolai Belakovski