circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

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.