We want an electronics package that can do a couple of things:
- Figure out where the rocket is
- Control the chute ejection systems
- Control staging and ignite secondary engines
- Record flight data
- Provide system status information
- Upload/download to a pc
- Control on-board devices (e.g. cameras)
- Do real-time math (e.g. Kalman filtering.)
- Be easily swapable amongst a variety of rockets.
We may also have various self-contained items: a small transmitter to aid in
recovery, a corner reflector for ground based telemetry.
We consider a number of solutions...
- A PC/104 system.
This is quite attractive: the rocket would be able to run
Linux. Unfortunately, the form-factor of
the cards is just too big: these will not fit into anything less than a
4" diameter rocket.
- An
Intel 80x96-based system.
This is a nice chip, but it's not cheap and I can't find a free C-compiler
for it.
- Multiple Basic stamp
microcontrollers.
These are small enough to fit in a
2" tube, and cheap, and run a high-level language (*cough* Basic.)
- Multiple SX-28
microcontrollers.
These are small, very fast, and cheap.
These talk a custom machine language.
The SX-28 multi-processor set up looks like the way to go. Darren goes to
work designing "rocket-bus." This will be a modular system of microcontroller
cards talking to each other via a token-ring network. I like the modular
idea, but dislike the token-ring aspect: lose one card, and we lose the
entire system. Even with watchdog timers and in-flight reboot, I'm skeptical.
I also want electronics modules in different stages of the rocket: a
token-ring approach will need to deal with in-flight network partitioning.
I figure Darren will come up with a good solution here.
Regardless of the final bus configuration, we need a number of system
modules. These can be linked together to produce a custom package for
a specific mission:
- A power/clock module. Must provide power and timing to all other cards.
Needs master/slave modes for multi-stage rockets.
- A data recorder. The simplest approach is just to record everything that
comes over the bus. 64M would be more than enough. It might also be nice to
have a flash-ram-in-a-can recorder. This would be useful for post-mortem
analysis.
- Analog input interfaces.
- Accelerometer. Seems useful, especially for apogee detection. DMR
believes double-integration for altitude will be totally unreliable.
- Inclinometer. Nice to have, hard to achieve.
- Barometeric pressure sensor. Well, it worked in Darren's rocket for chute
deployment, but I don't want to rely on this for altitude estimation.
- Stain gauges. I want to know where the weak-points in the rocket are.
- Thermometers. Not important for small engines, but I'm going to need these
for the bigger ones.
- Gyroscopes. May need hi-altitude active controls. Gyro based input may be
good here.
- Digital I/O devices
- External RS232 interface. Needed for final systems check, pre-flight
parameter downloading, and post-flight data extraction.
- External Status, Arming Interface. At the least, I want to have a
happy/unhappy LED on all rocket bodies.
- GPS Receiver. An all-round good idea. Hard to find one that fits in
less than a three inch tube though.
- Radio link to ground system. Would be nice to know what the rocket is
doing when it's out of sight.
- High power output. Must provide high power to ignite motors and ignition
charges.
- Controller boards. Listen for input from other devices, and kick out
commands/status info when specific conditions are met. This card will
control the various output devices.
Notes
Off-the-shelf capacitors, etc, may have a hard time with the rapid change to
low atmospheric pressure: we need to either seal the electronics package
or buy components that don't explode.