Hey everyone! I’ve been working very hard to get the ball rolling on the data acquisition payload of the balloon. I’ve made some good progress, and I’m very excited to share it with y’all!
Data Acquisition Overview
I wanted to start this update with a high level overview of what the payload will look like. Below is a diagram of how the device connections will be laid out, and what is connected to what.
In in addition to the design, I picked each sensor for a specific reason. Some we’re pretty in depth, while others we’re pretty simple. I wanted to outline my motivations for each sensor.
1. Honeywell Pressure Sensor
After looking through the various barometers that are typically available I noticed that most of the sensors have a fairly restricted operating region. Since we are aiming to go up to about ~100,000 feet the pressure will be incredibly low. Therefore, I need something that I could rely on to operate from sea level to vacuum or near-vacuum. In comes the Honeywell Sensor. This device is fantastic for our purposes because it is a digital sensor (I2C to be exact), it uses a vacuum for its reference, and it operates from 0-15 PSI. This allows us to get some pretty great data from the ground level, up to 100,000 feet, without the worry of voltage or temperature changes affecting the sensor.
2. Thermocouple Board
For temperature sensing I picked a MAX31855K breakout board. Thermocouples are a great resource for temperature measurement due to the fact that we can measure the temperature outside of the payload, while using the on-board thermocouple thermometer to measure the internal temperature. In addition, the thermocouple can measure temperatures in the range of -200C to 700C which makes it a perfect device for measuring atmospheric temperatures.
3. Sparkfun 9DoF
This was a great device for monitoring the motion of our payload. It can monitor acceleration on X,Y,Z, pitch, yaw, roll, and magnetic fields in order to calculate the heading. Not only was it only $15, but it also operates over I2C and has a great library provided by Sparkfun. Due to it’s low cost and ease of use, I decided it would be the best device.
4. RHT03 Humidity Sensor
I picked this device due to its low cost, and ability to operate between 0-100% Relative Humidity. In addition, it is very simple to interface with.
5. GPS5HA High Altitude GPS
I picked this device because it is directly compatible with the TinyTrak4, and works up to altitudes of 275,590 ft.
Data Acquisition Progress
Over the past week I have put in a large amount of work into splitting the GPS data stream off into the arduino. This is needed so that we can transmit the current position of the balloon over GPS, but also log the position of the balloon in proportion to the rest of the data.
To begin the process I had to take the RS232 standard (-8v to 8v in this case) the GPS used and convert it to the TTL standard (0v to 5v) so that the Arduino can understand the GPS. I just happened to have a “CD4049UB Hex Inverting Buffer and Converter ” laying around so I used it for the converting. Then I hooked my Bus Pirate to the output to verify it worked correctly.
Next, I hooked up the output of the CD4049UB to the Arduino and ran a demo program to verify that it works and decodes correctly. (Note: I covered some of the location data to hide my precise location)
Next, I put everything together to verify that the radio transmitted my location while the Arduino decoded the data.
Finally, I put the circuit onto a custom arduino shield, added the battery headers, and redirected the GPS output into a CSV file stored on the SD card.
(Note, I missed a comma when I was writing the program. This is not the planned final output)
Last, but not least I recorded a video of the APRS online view as I drove my car around with the system in the passenger seat.
If there’s any questions about how something works, or why I did something feel free to ask in the comments! Hope you enjoy the progress updates, and continue to look forward to more!