Design and Launch of a High Altitude Balloon

Design and Launch of a High Altitude Balloon
Matt Barnes and Herschel Pangborn
Penn State Department of Mechanical Engineering
ME 445 -- Dec 2012
Outline
1.Abstract
2.Introduction to High Altitude Balllons
3.Hardware/Software
3.1.Overview and Bill of Materials
3.2.Arduino
3.2.1.Communication
3.2.1.1.GSM module
3.2.1.2.Data Logger
3.2.2.Localization
3.2.2.1.GPS
3.2.3.Sensors
3.2.3.1.Barometer
3.2.3.2.Temperature Sensor
3.2.4.Power Supply
3.3.SPOT Satellite GPS Messenger
3.4.Image collection
3.4.1.GoPro Hero
3.4.2.iPhone
3.5.Balloon System
3.5.1.Balloon
3.5.2.Helium
3.5.3.Parachute
3.5.4.Styrofoam Cooler and Packaging
4.Flight Results and Takeaways
5.Appendix A
1. Abstract
!
High-altitude balloons (HABs) are conventionally used to collect weather data,
including pressure, temperature, humidity, and wind speeds, up to an altitude of at least
100,000 feet. The scope of this project is to create and launch an electronic system for
real-time tracking and data monitoring for a HAB. GPS data, temperature, and pressure
are published to an on-board SD card and sent via SMS to a cell-phone on the ground.
Thus, users are able to track the position for balloon recovery. Two onboard cameras
capture still images throughout the two hour flight.
2. Introduction
!
A HAB consists of two systems, as seen in Figure 1.
The balloon provides the necessary lift using the buoyancy
force of hydrogen or helium. The radiosonde is tied below the
balloon, and contains the electronics necessary for taking
measurements and communicating with users on the ground.
!
Our primary contribution to HABs is the development of
the radiosonde. The project goals were to provide real-time
tracking, accurately calculate altitude, and capture photos of
the flight. GPS was the clear choice for determining position
and altitude, though several possibilities exist for
communication. Radio transmitters, such as high-power xBee
units, are frequently used with HABs (www.sparkfun.com/
tutorials/185). FM systems allow high-data rate transmissions
throughout the entire flight, but are expensive and require
users to follow closely below on the ground. Further, the
choice of antenna requires significant design considerations
regarding the tradeoff between omni-direction and unidirectional transmission.
!
We chose to use a cell-phone GSM module for ground
communication. GSM modules cost significantly less than
high-power FM transmitters/receivers, and do not require the
user to follow under the balloon. Data is sent via SMS to the
userʼs cellphone. However, areas of cellphone coverage
blackout create a real and uncontrollable challenge. Thus, we
employed backup localization equipment to extend the
coverage area and improve robustness. Together, the custom
GSM system and backup systems provide sufficient data
collection and communication reliability. To ensure accurate
altitude measurement, a temperature sensor and barometer
were used to estimate altitude.
Figure 1. A high altitude
balloon system
3. Hardware/Software
!
3.1 Overview & Bill of Materials
!
The hardware and software requirements for the HAB were decomposed into
four tasks: communication, localization, sensors, and image collection. We used an
Arduino system to perform all but the latter. A cellular shield packaged with an SM5100B
module sent text messages across the AT&T network, communicating data about the
balloonʼs state (most importantly location, but also altitude and external temperature). A
Logomatic datalogger was implemented on board to save locally all the data read into
the Arduino at a greater rate than could be sent via text. A SUP500F GPS receiver
supplied location data to the Arduino, while a BMP085 barometric pressure and
temperature sensor was used to acquire altitude and external temperature. Lastly, a
DS18B20 temperature sensor collected internal temperature. Several pre-existing
software libraries were used to simplify the task of implementing these devices on the
Arduino platform. Eight lithium AA batteries in series powered the system via the
Arduinoʼs DC power jack.
!
As a back up localization system, we employed a SPOT Satellite Messenger,
originally designed to allow hikers to report their status and call for help if needed. This
device broadcasted its location every 15 minutes to communications satellites, which in
turn published the information to a web interface.
!
An iPhone 4 set to take one photo every 30 seconds, and a GoPro Hero taking
one photo every five seconds, were used for image acquisition. The battery system of
the latter was hacked to increase runtime.
!
The physical package of the HAB was composed of a 30ʼ maximum diameter
latex weather balloon filled with helium, a styrofoam cooler used to house all
electronics, and a homemade parachute. Table 1 below presents a bill of materials for
the project.
Table 1: Bill of Materials
System
Arduino
Item
Cost to Team
Arduino UNO R3
Free
Cellular Shield with SM5100B
$99.95 (SparkFun)
Quad-band Cellular Duck Antenna SMA
$7.95 (SparkFun)
AT&T Prepaid Sim Card & Five Days
Unlimited Texting
$12.00 (AT&T)
Logomatic V2 Serial SD Datalogger
Free
2GB micro SD Card
Free
System
SPOT
Image
Collection
Balloon
Item
Cost to Team
SUP500F 10Hz GPS Receiver
Free
3.3V - 5V Logic Level Converter
$1.95 (SparkFun)
DS18B20 Temperature Sensor
$4.25 (SparkFun)
BMP085 Barometer & Breakout Board
$19.95 (SparkFun)
8 x AA Energizer Lithium Batteries
$22.99 (RadioShack)
8 x AA Battery Enclosure
Free
Snap Battery Connector
Free
2.1 mm DC Power Plug
Free
SPOT Satellite GPS Messenger
Free
Basic Service Plan & Track Progress
Subscription
Free
4 x AAA Energizer Lithium Batteries
$9.99 (CVS)
iPhone 4
Free
iTimeLapsePro App
$1.99 (iTunes App Store)
GoPro Hero
Free
8GB SD Card
Free
4 x AA Energizer Lithium Batteries
$12.99 (RadioShack)
4 x AA Battery Enclosure
Free
20ʼ Diameter Weather Balloon
$45.95 (Amazon)
Helium
$50 (PSU General Store)
Plastic Bag for Parachute
Free
Styrofoam Container
Free
Duct Tape & Twine
Free
TOTAL COST: $289.96
*Tax and shipping not included
3.2. Arduino
!
We used an Arduino Uno R3 microprocessor as the
“brain” of the data acquisition and communication system.
This model was available at no cost, and also provided an
excellent balance between weight and features (number of
I/O pins, etc.). In order to have plugs for voltage input and
ground for all the devices used in the system, the
Arduinoʼs 5V, 3.3V, and GND pins were were each
connected to a 4-way bus. Arduino release 1.0.3 was used
when coding. Much of the required code had already been
developed by others and posted to the web, however
these individual files had to be assembled into one driver.
This was done by turning the pre-existing scripts into
functions and using pointer variables to pass memory
addresses.
Arduino Uno R3
3.2.1. Communication
3.2.1.1. GSM module
!
An SM5100B cellular module and shield, as well
as a cellular antenna, were used to send any string
under a certain length from the Arduino as a text
message to a number predesignated in the code. In
addition to being powered by the Arduinoʼs the 5V and
GND, the module used pins 2 and 3 for serial
communications. The SoftwareSerial library was
included to enable these pins as a serial port. Special
strings had to be sent to the module to set it to SMS
mode and prepare it to receive a text string. A prepaid
SIM card from AT&T gave the module a number from
which to send its messages. Unlimited texting on this card
costs $2.00/day on days in which it is used.
SMB5100B Module
and Shield
3.2.1.2. Data Logger
!
A Logomatic V2 Serial SD Datalogger was used to
store time, location, altitude, and temperature data onto a
2GB micro-SD card. This was connected to the standard
RX and TX pins on the Arduino (0 and 1). The data was
therefore printed to the USB serial monitor when the
Arduino was connected to a computer, which made
debugging the code much simpler. 5V and GND from the
Arduino were used to power the Logomatic.
Logomatic V2 Serial
SD Datalogger
3.2.2. Localization
3.2.2.1. GPS
!
We used a SUP500F, 10 Hz GPS receiver with an
integrated antenna to collect location information for the
Arduino system. This module is rated to be accurate
within 2.5m of true location. It was powered by the
Arduinoʼs 3.3V and GND, however could not be directly
plugged into I/O pins because its serial outputs are scaled
between 0V and 3.3V, while the Arduino expects 0V to 5V.
A logic level converter was used to step up the signals to
the range required by the Arduino. The logic level
converter was connected to 3.3V RX and TX, as well as
3.3V and GND on one side of the board, and to 5V RX
and TX, as well as 5V and GND on the other side. Using
the SoftwareSerial library to treat pins 4 and 5 a serial port
and the TinyGPS library for Arduino, collecting and
parsing NMEA strings from the GPS took just a few short
commands. This provided latitude, longitude, altitude
(rated up to 60,000 ft), Coordinated Universal Time (UTC),
and velocity.
SUP500F GPS
3.3V-5V Logic Level
Converter
3.2.3.Sensors
3.2.3.1. Barometer
!
!
A BMP085 barometric pressure sensor and breakout
board was used to collect a secondary altitude
measurement, in addition to that of the GPS. This sensor is
accurate to within +/-4 hPa up to 30,000 ft at temperatures
between -20ºC and 0ºC. It also provides temperature
measurements as low as -40ºC. Connecting this device was
as simple as providing 3.3V and GND and plugging into
analog inputs A4 and A5 on the Arduino. Coding the
barometer was a much more difficult task, however an
existing script was found online, which was converted into a
function using pointer variables and called from the main
script. This code uses the Arduino Wire library, which
enables communication with the I2C bus used by the
sensor.
BMP085 Barometric
Pressure Sensor
3.2.3.2. Temperature Sensor
!
A second temperature sensor was desired in order to
measure the internal temperature of the balloon payload. A
DS18B20 one wire digital sensor was used to fulfill this task.
It is accurate to within +/-0.5ºC in environments as cold as
-55ºC. This device was connected to 5V and GND from the
Arduino, and also to pin 10. The Arduino OneWire library,
developed for communications with one wire devices from
Maxim/Dallas, was used in code to communicate with this
sensor, and is actually packaged with an example sketch
capable of reading temperatures from the DS18B20. Again,
all that was required was to convert this sketch into a
function using pointer variables, and to call it from within the
main script.
DS18B20 Temperature
Sensor
3.2.4. Power Supply
!
Energizer Lithium AA batteries were chosen as
power supply for the Arduino. Lithiums are known to
operate in exceptionally cold conditions, which was vital
given the altitude to which we expected the balloon to
travel. Eight of these were connected in series using a
battery container from Radioshack, which provided external
connection via a battery snap connecter. Another snap
connector was soldered onto a 3.3mm, center positive DC
jack that could be plugged into the Arduino.
Energizer Lithium AA
Battery
3.3. SPOT Satellite GPS Messenger
!
It was critical that we had at least one additional GPS
backup system, in the event that the Arduino system failed.
A tracking device commonly employed in DIY high altitude
balloon experiments is the SPOT Satellite GPS Messenger,
an integrated GPS and communications unit used by hikers,
which is capable of posting its location to a web interface
every 10 minutes. This device is deal for its compactness,
durability, and simplicity of use, and was loaned to us by a
friend at no cost. It operates in conditions as cold as -30ºC
and as high as 21,325 ft in altitude. It runs on three, AAA
Lithium batteries, which will last long enough to send
350-700 check-in messages depending on the clarity of the
field of view to the sky.
SPOT Satellite GPS
Messenger
3.4. Image collection
3.4.1. GoPro Hero
!
One of two image collection devices used was a 5megapixel GoPro Hero sports camera with a wide angle,
fisheye lens. This was set to take one photo every five
seconds continuously, storing to an 8GB SD card. While
the device nominally takes two, AAA batteries, it was
hacked to increase lifetime. A four AA battery enclosure
was used, and modified so that two pairs of two batteries
were in series. Each pair was then soldered directly to the
battery terminals of the GoPro in parallel. This provided
the necessary voltage to the camera, but with several
times the amp-hour rating of that when powered by AAAs.
Again, Energizer Lithium batteries were used.
GoPro Hero
3.4.2. iPhone
!
An Apple iPhone 4 with a 5-megapixel camera was
used as a secondary image collection device. A program
called iTimeLapsePro was purchased from the iTunes App
Store and set to take one photo every 30-seconds
indefinitely. By turning off all wireless communications and
setting the phone displayʼs contrast to its minimum setting,
the lifetime of the phone was maximized.
Apple iPhone 4
3.5 Balloon System
3.5.1. Balloon
!
Our team used a 600g professional latex
weather balloon capable of inflating to 30 ft in diameter.
When inflated to 6 ft diameter at ground level, the
balloon provides 4 lb of lift, and continues to expand
before bursting at around 100,000 ft. Inflating required
special care, including using latex gloves to prevent
transfer of corrosive oils and a soft ground cloth to
protect from ground debris. Inflation diameter was
approximated by comparing the height of a graduate
student observing the launch who happened to be 6 ft
tall. We tied off the balloon using nylon rope.
Latex Weather Balloon
3.5.2. Helium
!
Most weather balloons are filled with hydrogen
due to the lower cost and higher buoyancy force. Our
team chose to use helium for safety reasons, and
purchased a 244 cubic foot cylinder for delivery to the
storage area in 25 Reber. The MNE instrument room
loaned us a balloon pressure regulator, and we
constructed a filling tube using flexible plastic tubing and
a right angle PVC connector.
Helium Tank
3.5.3. Parachute
!
We constructed a simple 36” diameter
parachute using a plastic trash bag and nylon rope.
Duct tape prevented tearing, and a circular posterboard spacer forced the parachute to open on
decent. The nylon rope continued through the
center towards the balloon.
Parachute
3.5.4 Styrofoam Cooler and Packaging
We chose a styrofoam cooler to house the radiosonde
because it is light, protects the electronics from impact,
and insulates against the elements. The GoPro
attached to the outside, and a small hole allowed the
iPhone camera to see outside. The Arduino GPS and
GSM antenna attached to the outside, and duct tape
securely held everything together.
Styrofoam Cooler
4. Flight Results and Takeaways
Prior to launch, we simulated the flight path using a predictor from HabHub.org. The data
was exported as a Keyhole Markup Language (.kml) file, and imported into Google Earth,
as shown in Figure 2. The predicted flight path was used to generate vehicle driving
directions.
Our team launched the completed high altitude balloon on the morning of December 15,
2012 from Old Main Lawn. Filling the balloon required special care, including using latex
gloves, a soft ground cloth, and a custom filling tube. Ascent rate was very fast, and
concerns regarding surrounding trees and buildings were quickly dismissed. Shortly after
lift-off, the Arduino system failed due to unknown reasons. We speculate a poor
connection caused loss of power, as data to both the SD logger and GSM module
abruptly terminated. Fortunately, the SPOT locator continued to function at lower altitudes
during lift-off and landing. Upon arriving at the landing sight, we found the radiosonde
hanging from a tree, attached by the parachute and balloon. With the aid of the farmer
owning the land, we cut down two trees to recover all project materials. Although the
cameras froze at higher altitudes, pictures of most of the flight are included in Appendix A.
Based on our experience, we would make the following changes to the radiosonde. First,
all connections should be soldered to prevent loss of power. Ideally, this would be
achieved using an Arduino breakout board. Second, an electrical heating system using a
Figure 2. Predicted flight (yellow line) and actual recorded waypoints (blue markers)
small battery and power resistor should be included to prevent freezing. Extensive quality
control must be implemented to ensure reliability, including shake tests and coldtemperature tests inside a freezer. Lastly, a quick release mechanism between the
styrofoam container and parachute/balloon would allow easy recovery from trees. Upon
receiving a particular SMS text, the Arduino could instruct a servo or solenoid to release
the nylon string, thus allowing the radiosonde to freely fall to the ground.
Appendix A
Top: Filling up the balloon on Old Main Lawn. Bottom: The assembled radiosonde
Top: Onboard view before liftoff. Bottom: Liftoff.
Top: View of Old Main. Bottom: Ascending above Happy Valley
Top: Entering the clouds. Bottom: Emerging above the clouds
View of Earth from near-space, approximately 100,000 ft.
Top: Landsite in rural Bethel, PA. Bottom: Cutting trees to retrieve radiosonde