Flying the weather balloon

The day finally arrived to fly the balloon. From what I could find on the internet each cubic foot of helium will lift 28gms and although it was difficult to confirm, it seemed that the party balloon gas contained about 14 cubic feet of Helium. I needed about 1 kg of lift, so I would need three to four containers of gas. These gas containers were supposed to fill around 50 x 9 inch balloons.

I used a 5kg spring balance to measure the lift and discovered that each container of Helium gave about 250gms of lift and not the calculated 440 gms. I filled the balloon with six containers of gas giving 1.3kg of lift, which as it turned out was a little too much! I purchased a kite winder from Amazon and two spools of a lightweight kite string. This string had a breaking strain of 3 to 4 kg and 300 feet weighed 83 gms. The total weight of balloon, string and electronics package was 733 gms.

The balloon took about 45 minutes to fill and was just under five feet in diameter. The filling  tube was a thicker material than the main balloon and just over an inch in diameter. I used a large rubber bung with a hole in it and attached 2 metres of rubber tube. I connected the rubber tube to the valve on the container directly and did not use the balloon filling valve that is normally used to fill party balloons.

By the time the first container was empty the balloon had started to rise, I tethered it to a table. I measured the lift after each container had emptied by tying a loop in the tether string and a 5kg spring balance was hooked onto this. Pulling the spring balance down and the reading on the balance gave the lift. After five containers of gas had been used the lift was just over 1 kg, but adding in the weight of the balloon this gives 1200 gms, or 240 gms of lift per container of gas. This would have been more than enough to lift my payload, but I decided to add one more container of gas to give a lift of 1300 gms (total 1500 gms with the balloon weight).  The filling tube was folded over and cable ties used to seal it. Kite string was passed through the loop formed and the electronics payload suspended from this loop.

It was surprising how hard it was to pull the ballon down by the string and obvious that for safety sake thick protective glove should be worn to avoid injury from the kite string pulling through the fingers. The electronics package was attached. The wind speed had increased from 2km/hour to about 14km/hour by the time I was ready to fly the balloon and it was extremely difficult to handle. The payload was spinning wildly around the balloon kite string and a completely different means of hanging from the balloon will be needed next time.

The balloon was allowed to rise slowly by controlling the kite string reel, but this needed some effort. The balloon was stopped at about 50 feet to take photographs, but the payload was spinning wildly around the balloon string. Allowing the balloon to rise to about 100 feet had to be stopped as the strong wind was carrying the balloon horizontally as well as upwards. It was decided that it was not safe to continue and the balloon was brought back down to the ground.

The balloon probably had too much lift and probably should have been left at about 1 kg lift. Next time I would not attempt to fly a balloon if the wind speed was above 5km/ hour. To stop the payload spinning wildly I think it should be suspended so that the kite string went through the centre of the payload.


The electronics package hanging from the ballon.

What about the performance of the payload? The electronics consisted of a Raspberry Pi model B+ fitted with. BMP 180 pressure sensor, a DHT11 humidity sensor (temperature could be read from either of theses two). Plugged into the USB sockets was a WiFi dongle, an 8gb memory stick for pictures, a LPRS 900mhz radio and a FTDI adaptor. A UBLOX Neo 6 GPS connected to a logic level converter was connected to the FTDI adaptor. A Raspberry Pi camera was used to take pictures.

A python script was used to collect data from the sensors and send and receive data from the ground station using the LRPS radio. WiFi could be used to control the camera up to about 100 feet which allowed an Android phone (using raspiCAM Remote) to take pictures or BerryCam on an iPad. However, the main control was over the LRPS radio using a VB6 program on a Windows laptop. This program was described in an earlier blog.

One of the planned activities was to measure the height of the balloon using GPS, atmospheric pressure and from the ground by measuring a distance of about 50 feet from the point where the ballon was tethered, the measuring the angle from the ground to the balloon. Trigonometry was used to calculate the height of the balloon. All three methods gave different results!

Photographic results: The spinning of the payload gave some interesting still images. Straight lines were strongly curved and the image blurred as the camera moved. The best result was from video, the camera faced straight down and the violent spinning made watching the video a little uncomfortable. However, some good still frames were extracted and next time I will shoot video at 90 frames per second ( so it can be slowed down to reduce the effects of spinning) and extract stills rather than trying to take still images.

The cost: I purchased the Helium from Amazon at £25 per container and the weather balloons at £3 each, so to launch the balloon costs £153. However, I felt that only five Helium containers were needed reducing the cost to £128. The kite reel, kite string and electronics package are all reusable and cost around £70.

Further thoughts: Wait for still weather, the original plan was to let the balloon rise to 300 or more feet, but with any wind the balloon could travel some way horizontally and become impossible to control. The balloon could be used over several days, if somewhere safe to store it overnight could be found. Some modification of the software is needed, the ability to use 90 GPS for video needs to be added. Using VNC to talk to the Raspberry Pi caused the Python script to close when the Pi lost the WiFi, but experiments have shown that running the Python using SSH may prevent this happening.


Remote control of Raspberry Pi camera using LRPS easyRadios

The electronics package that will be used for my Weather Balloon project is now complete. It consists of a Raspberry Pi Model B+, fitted with a Real Time Clock module and a camera. Power is supplied by a USB power ‘brick’ that provides 5 volts at 2 amps and should do that for 6 to 8 hours. An EA900TRS radio, a WiFi dongle, an 8gb USB memory stick and a GPS consisting of a USB FTDI board connected to a logic level converter then to a Ublox NEO6 GPS.

The total current consumption is about 450ma rising to about 750ma when the camera operates. The total weight is under 400gms and it will be packaged in a container constructed from foam board.

A python program reads the Serial Data stream from the EA900TRS radio. This consists of commands from the ground that can take single images, timelapse video and video files. The location and height can also be sent back to the ground from the balloon.

On the ground a laptop fitted with another EA900TRS radio runs a control programme written in Visual Basic.

This control programme allows the following:

Taking single pictures, Timelapse video and Videos. The interval and runtime for timelapse videos and runtime for videos can be altered from drop down lists.

GPS data showing location and height can be requested and it is a simple matter to input the latitude and longitude readings into Google Earth to show the location of the balloon.

A number of diagnostic data can be sent back from the balloon, the temperature of the EA900TRS, signal strength at the balloon and data from the radio on the PC, temperature, baud rate, channel number, Tx power output and signal strength.

A countdown timer is useful for determining if contact with the balloon has been lost. The balloon sends a response back to the ground when the requested action has been completed. If the signal is lost this response will not be received and the control panel will ‘lock up’ waiting for a signal that will never come. To get around this a BREAK button is provided, pressing this will stop the console looking for a response from the balloon.

A Sync button resets both the ground unit and the balloon to ensure the variables on both units match, this is used after contact has been lost, then regained. A ‘Find Me’ button can be used to confirm that communication exists between the balloon and ground.

The Raspberry Pi runs ‘header less’ and a WiFi Access Point is used in the field to allow the Raspberry Pi to be set up, and to allow an iPad to take pictures using Berrycam. The expected range for this is at least 100 feet.

All images are stored on an 8gb nano USB memory stick.

One example of the need for through testing occurred when I took the unit outside to test the range of the radios. The Raspberry Pi was set up using WiFi, then taken outside, everything went well until I returned inside. The Raspberry Pi did not reconnect to the WiFi and the only way to shut it down was to pull the power plug – not the best thing to do. The answer was to add another button (not shown in the image above) that shut the Pi down. The control panel sends a shutdown command, the Pi receives this and uses

os.system("sudo shutdown -h now")

to shutdown the Raspberry Pi.