August
2005, Issue 181
Flight
Computer for High-Power Rocketry
ZSAT
II
ZSAT
II is a lot like ZSAT I, but it has a few more features
(see Figure 1). I used a bigger microcontroller, the
Z8F642, which has 64 KB of on-chip flash memory and
4 KB of on-chip RAM. It also includes a Trimble GPS
module, a MaxStream long-range RF module, and a control
for a 2.4-GHz wireless video camera (see Photo 4).
|

(Click
here to enlarge)
|
Figure
1—A Z8F642 microcontroller monitors and controls
the ZSAT II flight computer. This flash memory-based
microcontroller has 64 KB bytes of program memory.
New features, changes, and improvements are easy
to download via the debug connector J3. |
|


(Click
here to enlarge)
|
Photo
4a—The ZSAT II flight computer includes a Trimble
GPS module and GPS antenna mounted on top of 9-V
batteries. The IrDA transceiver is located just
below the Sky label at the top of the board. This
location lines up with a window that I cut in the
payload bay. b—Here you can see the MaxStream 900-MHz
RF module, the battery holder for GPS backup battery,
and a terminal block for connecting the wireless
camera |
ZSAT
II can measure acceleration, temperature, and altitude.
An Analog Devices ADXL250 ±50-g dual-axis accelerometer
measures acceleration. I selected a dual-axis accelerometer
to measure both x and y forces. The accelerometer’s
outputs, each of which goes into an ADC channel, are
sampled to detect a launch and continue to save samples
in the external SPI flash memory during a flight. The
most important thing here is to mount the accelerometer
in the right direction.
After
you turn on and enable the flight computer using the
Palm IrDA software, the main control loop reads the
x accelerometer input and waits for a force in the upward
direction to start the flight data logging. A backwards
accelerometer means no flight data!
Altitude
is measured with a Motorola MPX4100 pressure sensor.
The sensor’s output is connected to an ADC input on
the Z8F642 MCU. When the rocket is armed for flight
using the IrDA port, a reading is sampled to determine
the launch site’s pressure, which is then used to calculate
the altitude. During the flight, samples are continually
taken and saved in the external SPI flash memory.
A
Trimble GPS Module is available on the Z8F642’s serial
port 0, which is shared with the IrDA transceiver. A
routine yet to be developed will sample the GPS inputs
and switch back to look for pending IrDA data. During
flight, serial port 0 is turned over to the GPS module.
After the flight (pressure sample = baseline), the control
firmware needs to sample the GPS input. This data is
transmitted via the MaxStream RF module on serial port
1 to signal the rocket’s positions on the playa.
Listing
1 is ZSAT II’s main control loop. The go_for_launch
flag is set when a command is sent over either the IrDA
port or the 900-MHz RF link. This triggers the flight
computer to start sampling the accelerometer channel
looking for a Launch Detect. A sampled value over 0x5A
hex tells the system that the rocket is in the air.
From this point on, all ADC channels are sampled and
saved in an SPI EEPROM for me to review after the flight
using my IrDA PDA or computer.