0% found this document useful (0 votes)
2 views5 pages

Altimeter For Micro-Rockets

The document describes a lightweight altimeter designed for micro-rockets, weighing only 16 grams and capable of recording atmospheric pressure data at 25 ms intervals. It utilizes SMD components, including a pressure sensor and a microcontroller, to convert pressure readings into altitude data, which can be retrieved via a serial connection to a computer. The altimeter is powered by a 12V battery and has a battery life of approximately four hours, sufficient for typical short-duration flights.

Uploaded by

Leo Sarasua
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views5 pages

Altimeter For Micro-Rockets

The document describes a lightweight altimeter designed for micro-rockets, weighing only 16 grams and capable of recording atmospheric pressure data at 25 ms intervals. It utilizes SMD components, including a pressure sensor and a microcontroller, to convert pressure readings into altitude data, which can be retrieved via a serial connection to a computer. The altimeter is powered by a 12V battery and has a battery life of approximately four hours, sufficient for typical short-duration flights.

Uploaded by

Leo Sarasua
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

readers projects

Altimeter for Micro-Rockets


Higher and higher!
By Anthony le Cren (France)

When dealing with micro-rockets or scale models, it’s


often difficult to find out the altitude. The main problem
is really the weight of the on-board electronics system,
which needs to
be as light as
possible.
This altimeter
using SMD
components
is as light as a
letter (16 g) and has a data recorder that lets you record
atmospheric pressure every 25 ms up to 16,384 stored
values. Once the flight is over, the data are recovered
via a serial connection to a computer and displayed in a
spreadsheet. This then converts the pressure to altitude
and plots the rocket’s behaviour.

The whole thing revolves around an 12 V/50 mAh batter y. The average
Technical MPXH6115A6U pressure sensor from consumption of the altimeter is 12 mA,
specifications Freescale. The sensor’s analogue output
voltage is converted into a 16-bit digital
giving it a battery life of around four hours.
Since the duration of a flight is only a few
• SMD throughout value by the ADS1110 sigma delta minutes, that’s no problem at all. In the
• PIC16F88, analogue-to-digital converter (ADC) from event of an extended flight, two batteries
programmed in Flowcode V4 Texas Instruments. This 6-pin device has an could be used in parallel. The 78L05
I²C bus, making it possible to considerably regulator IC2 in an SOT89 package is vital,
• Uses Tiny PIC Bootloader [2]
reduce the PCB space needed. A PIC16F88 as it provides the regulation down to 5 V
• ADS1110 16-bit I²C A/D converter microcontroller manages the acquisition of needed for powering all the ICs. Don’t
• 32 kB I²C EEPROM memory for around
the digital pressure values and saves them overlook the decoupling with capacitors C1
into a 24LC256 I²C EEPROM memory. The and C2 around the regulator. There isn’t a
5 minutes recording time
circuit is shown in Figure 1. The four LEDs switch — a jumper is all that is needed, once
• MPXH6115A6U pressure sensor are used to check the altimeter is working again, to save weight.
• Powered by a 12 V battery properly in the acquisition and computer The MPXH6115A6U absolute pressure
data recovery phases. sensor (Figure 2) has a sensitivity of
• Weight: 16–20 g Power is provided by a compact P23GA 45.9 mV/kPa. The curve in Figure 3 shows

Note. Readers’ Projects are reproduced based on information supplied by the author(s) only.
The use of Elektor style schematics and other illustrations in this article does not imply the project having passed Elektor Labs for replication to verify claimed operation.

56 04-2011 elektor
readers projects

the mathematical relationship between the


pressure and the sensor’s output voltage. VCC
We can see that it is linear between 15 and
115 kPa.
R3 R2
The expression for the pressure (kilopascal,
kPa) as a function of the voltage becomes:

10k

10k
2 5 8
VCC VCC VCC
Vout + Vs × 0. 095 1 4 1 3 6 IC4 1
PkPa = C4 NC VOUT VIN+ SCL SCK A0
IC3
5 CAPT 7 7 2
Vs × 0. 009
NC NC WP A1
6 8 6 ADS1110-A0 4 5 3
100n NC NC C6 VIN– SDA SDA A0
MPXH6115A6U 24LC256
GND GND VSS
3 47n 2 4
The ADC (Figure 4a) already has everything
we need built-in: clock, programmable VCC
amplifier, voltage reference, I²C interface. SDA SCL
No external components are needed. There
are just the I²C bus pull-up resistors R2 and R1 14
VDD
R3, along with a decoupling capacitor. Here,
10k

15
IC1 6 MODE
the extension A0 in the device part number RA6/OSC2/CLKOUT RB0/INT/CCP1 K2
16 7
(ADS1110-A0) corresponds to the three 4
RA7/OSC1/CLKIN RB1/SDI/SDA
8 RX
RA5/MCLR RB2/SDO/RX/DT
LSBs of the I²C address, which in this case 3 9
RA4/AN4/T0CKIC2OUT RB3/CCP1
is 1001000. The default configuration is 2 10
RA3/AN3/C1OUT/VREF+ RB4/SCK/SCL
going to be used for the internal registers: 1
RA2/AN2/CVREF/VREF– RB5/SS/TX/CK
11 TX

Gain = 1, 15SPS (samples per second, 18


RA1/AN1 RB6/AN5/T1OSO/T1CKI
12
17 13
Table 1) which offers a 15-bit conversion RA0/AN0 RB7/AN6/T1OSI
R8 R7 R6 R5 PIC16F88
— given that the voltage being converted is C7
VSS
1k

1k

1k

1k

always positive. 5
100n
The formula to find out the input voltage as D4 D3 D2 D1
a function of the digital value N is:

N K1
Vout = × Vs
32768 IC2 VCC

7805
BT1
From the two preceding formulas, we can C1 C2 C3 C5
12V
derive the equation for the pressure as a
100u 100u 100n 100n
function of the digital value: 16V 16V

N × Vs + Vs × 0. 095 × 32768
PkPa =
100418 - 16

Vs × 0. 009 × 32768
Figure 1. Circuit of the altimeter.
By measuring the supply voltage accurately,
VS = 4.93 V, the equation becomes, for a
pressure expressed in decipascals (dPa): we’re interested in is the change in pressure, EEPROM IC4. You’ll note the serial link on
not the absolute pressure. However, it is connectors K2 and K3, to let us recover the
possible to modify the equation if you have data stored in the memory, along with the
N + 3113
PdPa = × 100 access to a reference barometer. configuration jumper (Mode).
295 The PIC16F88 microcontroller IC1 is clocked When power is applied, a logic test is carried
by its 8 MHz internal clock, so doesn’t need out on RB0 to find out the operating mode
This is the equation that is going to be used an external crystal. It is mainly used to for the program:
in the altimeter’s microcontroller software. manage the I²C bus between the pressure – RB0 pulled up to 5 V: ‘Run’ mode,
No calibration has been done, since what value reader and the writing into the acquisition of the pressures and storage

elektor 04-2011 57
readers projects

for reprogramming the microcontroller


VS (Figure 5). This board is powered from the
2 altimeter battery.
Sensing
Element
Thin Film Gain Stage #2
Construction
Temperature and Ground
4 VOUT
Warning: You must program the PIC16F88
Compensation Reference with its firmware before soldering it on
and Shift
Gain Stage #1 Circuitry to the board! (file ‘firmware_altimetre.
MPXH6115A6U/T1 hex’ available from this article’s web
MPXHZ6115A6U/T1
CASE 1317- 04 3 page [1]). Use a DIL/SOIC adaptor for your
100418 - 11
programmer.
GND Use a soldering iron with a very fine tip. You
have components to solder on both sides of
the PCB. You should start by fitting all the
Figure 2. Block diagram of the pressure sensor and orientation. components on the track side, starting with
IC3 (the ADC), as it’s the trickiest to solder.
To avoid getting it the wrong way round,
5.0 it’s best to use a
4.5 Transfer Function: MAX magnifying glass
Vout = Vs* (.009*P-.095) ± Error
4.0 VS = 5.0 Vdc to identif y the
TEMP = 0 to 85ºC dot on the device
3.5
TYP that indicates pin
3.0
Output (Volts)

1 (Figure 4b).
2.5 To m i n i m i z e
2.0 the need for
1.5 troubleshooting
1.0 MIN
later, it’s a good
i d ea c h e c k fo r
0.5
the absence
0 of continuity
5

15

25

35

45

55
60
65

75

85

95
100
105
110
115
120
10

20

30

40

50

70

80

90

bet ween each


Pressure (ref: to sealed vacuum) in kPa 100418 - 12
of the pins, and
above all to check
Figure 3. Relationship between sensor output voltage frequently that
and atmospheric pressure. there is no short
between 5 V and
ground. Then
into memory. To minimize the weight of the unit, the come the other
– RB0 pulled down to ground: ‘Read’ computer interface (consisting of an two ICs (make sure you get these the right
mode, for reading the recorded pressures ICL232, IC5) that performs the RS-232 level way round too), the regulator, the 1 kΩ
and configuration (the computer and the adaptation for the computer is connected (marked 102) and 10 kΩ (marked 1002 or
altimeter dialogue via the RS-232 serial to the altimeter only when the data stored 103) SMD resistors, and to complete the
link). in the I²C memory is being recovered or first side, the SMD capacitors.
As for the other side (the component side),
start by soldering in the microcontroller,
Table 1. Configuration of the ADS1110 A/D converter. the four LEDs, and the two capacitors. It’s
tricky to spot the orientation of the pressure
Samples/s Number Minimum Maximum
sensor. If you look at it carefully, there is a
(SPS) of bits code code
chamfer at the bottom left that indicates
15 16 -32 768 32 767 pin 1 (Figure 2).
30 15 -16 384 16 383 There now remain the two regulator
60 14 -8 192 8 191 decoupling capacitors and the pin header.
There’s no holder for the 12 V battery, all
240 12 -2 048 2 047
you have to do is solder like a standard

58 04-2011 elektor
readers projects

resistor in the middle of the PCB. Fitting the


components on the RS-232 board should
100418 - 15
present no problem. However, you should 100418 - 13

take care to solder the female connector


onto the track side in order to facilitate the
connection between the two boards. Figure 4a. Block diagram of the Figure 4b. Use a magnifying glass to
analogue-to-digital converter. identify pin 1.
Firmware
The program is produced using
Flowcode V4. The hex file contains the
Tiny PIC Bootloader [2] bootloader. This
will be very handy for reprogramming the VCC

microcontroller after your own fashion.


To do this, run the ‘[Link]’
application. Select the file ‘[Link]’, C8
R4
19200 baud for the speed, and the COM
1u
port you’re using. 2 16V
1k

Power up the 1 V+ 16
C11 C1+
RS232 inter face K4
1u 3 IC5
board and click on D5 16V
C1– 1
12 13
WriteFlash. The 11
R1OUT R1IN
14
6

program should K3 T1IN T1OUT 2


10 7
T2IN T2OUT 7
immediately be 9 8
R2OUT R2IN 3
written to the PIC 4
C2+
C10 8
(Figure 6). ICL232 4
1u 5 15
After ignition and 16V
C2– 9
V-
t h e r o c ke t h as 5
6 C9
blasted off, the 1u

altitude increases
16V
(if ever y thing’s
going according 100418 - 17

to plan…) and
the atmospheric
pressure reduces.
A s soon as the
software detects Figure 5. The RS-232 interface stays on the ground,
so it has a PCB all to itself.
a large enough
pressure change, it automatically launches
the acquisition for a period that will be a
multiple of 3.2 s.
You can set the pressure threshold that
will trigger recording and the duration of
acquisition using HyperTerminal (Figure 7).
In configuration mode, LED D4 stays lit.
Press the space bar to display the menu.
Select the configuration menu, then enter
three figures for the duration of acquisition
(here 010, i.e. 10 × 3.2 = 32 s). Then set the
trigger threshold between 1 and 9 dPa; the
5 shown in the figure corresponds to an
elevation of around 4 m (1 dPa = 0.83 m).

Launch and making use of the


data

elektor 04-2011 59
readers projects

For testing, it’s perfectly possible to use


this altimeter in a volley boll, on a kite, in
a model aircraft, etc. The only difficulty
will be adjusting the trigger threshold
depending on the weather conditions. If
the sensor is open to the air, the wind may
very well trigger the acquisition without
any elevation in the altitude. The trick
is to protect the sensor like you would a
microphone, with foam, or else to protect
the whole thing inside a case — but that will
Figure 6. Reprogramming the microcontroller is easy increase the overall weight.
thanks to Tiny PIC Bootloader. Once the altimeter has been configured
and installed in/on your flying machine or
object, apply the power using jumper K1.
LED D1 will light for 3 s as the pressure at
ground-level is measured, to be used as
the reference for the spreadsheet plot.
Then LED D2 will light to indicate that
the altimeter is ready to start acquisition.
Tapping lightly on the sensor will simulate
an abrupt pressure variation, and you’ll
see that LEDs D1 and D2 both light for the
duration of the acquisition phase.
To recover the data using HyperTerminal, go
into the Transfer menu in order to capture
the text displayed on the screen, before
reading the pressures out of the EEPROM.
Figure 7. Configuring the altimeter with the help Using your favourite spreadsheet program,
of HyperTerminal. open a new spreadsheet, then paste into
it the previously-recovered text data. All
that now remains to be done is to calculate
the altitude using the formula below and
plot the graph (Figure 8). An example
160
calculation can be found in the file ‘trace.
ods’ [1].
140 Highest point

288.15   Palt 
0.19 
120

Altitude = × 1 − 
100
Ballistics 0.0065   Pref  
Descent on parachute
Altitude in metres

80
where:
– Palt = pressure at the altitude
60
– P ref = reference pressure measured at
ground level (first measurement)
40
Propulsion – 288.15 = air temperature in Kelvin
20

(100418)
0
1 39 77 115 153 191 229 267 305 343 381 419 457 495 533 571 609 647 685 723 761 799 837 875 913 951 989 1027 1065 1103 1141 1179
Internet Links
Data 100418 - 18

[1] [Link]/100418
[2] [Link]/cchiculita/software/
Figure 8. The pressure values recorded during the flight converted into altitudes.
It’s easy to make out the different phases of the flight. [Link]

60 04-2011 elektor

You might also like