Introduction to the PSAS Avionics Systems and Team
First of all, the entire goal of our avionics systems has been to achieve 'open source active guidance' for the amateur community. We've aproached this VERY slowly, and methodically, and this will hopefully give you a bit of an intro on how we got there. But first, make sure you're not interested in another team:
- If you're interested in the flight computer software (C, Java and Haskell), see the Software Team.
- If you're interested in RF communications, see the Communications Team.
- If you're interested in data fusion, filtering and navigation algorithms see the Uncertainty Team.
Launch Vehicle No. 0 (LV0) Avionics (circa 1998)
We started out very small, with a simple 8 bit RISC microcontroller (a Microchip PIC16F76), a single axis accelerometer, a B&W video camera broadcasting on a 400 MHz amateur TV system, and a 300 bps (yes, 300 bps) data downlink on the audio channel of the ATV broadcast. See ourfor more details on this project:
As a proof of concept, LV0 worked beuatifully. So we did what any good engineer would do: we through it out and started over.
Launch Vehicle No. 1 (LV1) Avionics (circa 1999)
We increased the complexity of the avionics system for the next generation rocket, but it was essentially the same architecture. We moved to a PIC17C66, added a GPS, a really crude IMU, 4800 bps downlink on the audio channel, a 2m uplink system, and a pyrotechnic recovery system. It was our first major system, and like all first major systems, it was mostly terrible. But for it's time it was pretty good. See
Launch Vehicle No. 1 (LV1b) Avionics (circa 2001)
The LV1b system was a major upgrade to the LV1 system. We moved to a 19.2 kbps 900 MHz telemetry system, a much better flight computer (PIC17C766) that included raw data capture, and a real IMU. See a
LV1b was great, but it had some severe problems. The primary lithium battery lasted about 20 minutes, and took hours to change. And only one person could program the 17C766 using 8 bit assembly language in a pretty broken Microchip Windows-based IDE. We had an ICE, but software was so so painful it really slowed things down.
Launch Vehicle No. 2 (LV2) Avionics (circa 2005)
The original LV2 avionics system had its origins in a whitepaper from 1999. Note that this whitepaper is horribly, horribly out of date and comes from a time before we moved to a true flight computer running Linux. But it's a good introduction to the project, and to why we've taken the route that we have. See http://psas.pdx.edu/ProjectLV2/lv2 avionics design.pdf
But, instead of just implementing the white paper, we rounded up a bunch of CS folks, and had honest-to-gosh design meetings which included ME, CS, and EE folks. We designed a system that we thought would enable us to 1) do distributed development on 2) had a very sane hardware package.
LV2 had an PC104 x86 flight computer running Debian Linux 2.4.14. It talked over the Controller Area Network (CAN) to a serial of nodes, including the LV1b IMU, a COTS GPS board, an avionics power system board which was a smart interface to 4 power switches and a 14.4V 4 AHr battery pack, a pyrotechnic recovery system which included a battery backup and a 2m radio interface, and a WiFi (yes, WiFi!) telemetry system. It required a fairly sophisticated ground system, including an amazing helical ground receive antenna, a Linux server, and another x86/Linux/!Wifi launch tower computer. Add in some java telemetry and launch contrl software, and you're doing alright.
- BlockDiagram of the LV2 Avionics System.
- Here are the block diagram posters to give you a flavor for the current system:
We launched the LV2 system on August 20th, 2005. It was a stunning technological success (first > Mach 1 WiFi link, we think), but then it hit the ground at 500 mph after it's gunpowder pyrotechnic recovery system failed due to old age and lack of atmospheric conductivity. 4 years of work and one very customized payload were reduced to little tiny pieces of plastic, epoxy and silicon in milliseconds.
Avionics System 3
We had lots of intense discussions: rebuilt LV2 exactly as it was? Or refactor? The refactorers won out, and we moved to a !PowerPC flight computer after a getting a grant from IBM, moved to ARMs for the avionics nodes, and we're currently attempting USB as an avionics bus instead of CAN. USB is a little insane for an avionics bus, but it's got huge advantages in software (or so the software team tells us!) and speed.
And this system should be capable of doing what we need: with GPL-GPS, and a new IMU, and some real computational horsepower in the flight computer, we should be able to do actual navigation algorithms including data fusion like Kalman filtering. If that's the case, we'll finally have an avionics system that might be capable of active guidance.
So that's where we are right now!
There's ALWAYS stuff to do. Really. And it can be as big or as little of a project as you'd like. See this list of possible projects on the main avionics page.
First of all, come to a meeting! It's absolutely the best way of getting involved. See our Schedule page for the latest schedule.
Second of all, if you're an active volunteer, you should join our mailing list. Note that we ask that only active volunteers join the mailing list... we ask that 'lurkers' use the archives instead. Thanks.