Secondary menu

Weather Balloon - Summer 2011

Manager: Derek
Team: Eric, Joel, Jamie, RyanC
Premise: Launch a high altitude weather ballon with video and still photo capabilities

Introduction

We are going to launch a weather ballon to achieve three goals:

  1. Obtain pictures and video of St. Louis and the earth from high altitude
  2. Execute a well organized project to attract people to Arch Reactor
  3. Provide a good knowledge base and experience for future flights

A KCI1200 balloon is capable of reaching in excess of 90k feet.  We'll have a payload containing a still camera, HD video camera, high altitude GPS, cell phone to broadcast low level GPS and an Arduino logging sensor information.

Team Members

Derek, Eric, Joel, Jamie, and RyanC

Timeline and Milestones

July 30thGrant submitted to AR
July 12thGrant Approved
July 14thOrdered balloon,gps,phone and camera
August 2ndPostponed target date
 Passed HAM test
August 5thAll materials have arrived
August 13thTarget Launch Date
Sept. 11thNew target launch date with full moon

Equipment

Weight Catalog

  • Parachute            68g
  • Video Camera  160g
  • Cell Phone          84g
  • A560 no bat       166g
  •  

Team Notes

  • Need to look into IR and blue filters
  • Moon path

    On Aug 13 the moon rises at 7:41pm and the sun sets at 7:58pm

     

    At 8:10pm the moon will be about 4.5 deg above the horizon.

    At 8:30pm the moon will be about 8.15 deg above the horizon.

    At 8:45pm the moon will be about 10.85 deg above the horizon.

     

    The moon will be approx 240,000 miles from St. Louis.   At 80,000 feet, your camera will only be 15 miles off the surface, which is a difference in angle of 0.006%.  So however far you want the moon off of the horizon in your pictures, you can safely use what you’d observe from the ground.

Links

Writeups:

Videos:

 

Antenna Stuff

Others:

APRS Notes:

FAA/Safety Related:

FLDIGI info:

 

Programming Notes:

<M0JSN> what did you use in the end?
<Upu> ong TEST=((float(LONGM)/60.0)+(float(LONGS)/3600.0))*1000000L;
<Upu> long TEST=((float(LONGM)/60.0)+(float(LONGS)/3600.0))*1000000L;
<Upu> sprintf(TELEMETRYSTRING,"$$AVA,%i.%06li",int(LONGDEC),TEST);
<fsphil> heck of a calculation lol

 

CHDK Script:

--{{
arch reactor balloon script v5
Authors: Arch Reactor Hackerspace (Jamie Bilinski, Derek Sigler, Eric Geldmacher, Ryan Castanho)
Tested on: A480 (Digic 3)

Uses propcase lib
}}
--{{
@title ArchReactor Balloon Script
@param t Min Sec Delay between images
@default t 10
@param j Number of JPEGs/cycle
@default j 10
@param d Number of Raw/cycle
@default d 1
@param e EV Bracketing delta/6
@default e 4
{{--}}
param l est low alt mins
default l 45
param h high alt time mins
default h 110
param r est reenty time min
default r 185
}}

propcase=require("propcase")
h=((t-1)*1000)+930 --adjust for write time
if h < 9000 then w=9000-h else w=1 end --process delay ms after RAW shot
play_sound(4)

function flashoff()
 set_prop(142,2) --no flash
 while not get_prop(142) == 2 do
  press("right")
  release("right")
  sleep(100)
 end
 return true
end

function setfocuslock()
 set_prop(6,3) --infinity
 while not get_prop(6) == 3 do
  press("left")
  release("left")
 end
  press("shoot_half")
  sleep(2000)
  set_aflock(1)
  release("shoot_half")
 return true
end

function snapraws()
set_raw(1)
 for i=1,d do 
   press("shoot_half")
   repeat
     sleep(100)
   until get_shooting() == true
   press("shoot_full")
   release("shoot_full")
   release("shoot_half")
   sleep(w)
   sleep(h)
 end
set_raw(0)
 return true
end

function snapjpgs()
 for i=1,j do 
   press("shoot_half")
   repeat
     sleep(100)
   until get_shooting() == true
   press("shoot_full")
   release("shoot_full")
   release("shoot_half")
   sleep(h)
 end
 return true
end

function snapevbrac()
 evi=get_ev()
 for i=1,e do
  if (evi-(i*32)) < 1 then set_ev(1) else set_ev(evi-(i*32)) end --may need in certain light?
  press("shoot_half")
  repeat
    sleep(100)
  until get_shooting() == true
  press("shoot_full")
  release("shoot_full")
  release("shoot_half")
  sleep(1200)
  set_ev(evi+(i*32))
  press("shoot_half")
  repeat
    sleep(100)
  until get_shooting() == true
  press("shoot_full")
  release("shoot_full")
  release("shoot_half")
  sleep(1200)
 end
 set_ev(evi)
 sleep(h)
end

--{{ Maybe next time!
function logtemp()
print get_temperature(0)
print get_temperature(1)
print get_temperature(2)
end
}}

--MAIN
click("shoot_half") --in case A480 is in play mode
flashoff()
sleep(500)
setfocuslock()
sleep(500)
repeat
 snapjpgs()
 snapraws()
 snapevbrac()
 play_sound(4) --beep each cycle so we know it's running
 until false
sleep(1)
reboot() --meh

 

*replace "{" and "}" with right and left bracket

 

Notes from IRC:

<priyesh> on an NTX2, would you permanently keep the EN pin high or use the microcontroller to take it high only during transmission?
<Darkside> keep it high
<Darkside> we've found that fldigi demodulates RTTY better if theres a constant carrier
<fsphil> unless you're after power savings for a long flight, that's pretty much the only time you'd need to toggle EN
<Darkside> if you don't have it, it can loose the first few bytes as it synchronises
<priyesh> Darkside: ahh. thanks for the advice
<Darkside> sode*
<jgrahamc> On GAGA-1 I had EN tied on permanently because then it's easy to find the carrier.  Also, it doesn't draw much current and there's a 'startup time' whenever EN is enabled.

 

Posted by
Derek Sigler's picture
Derek Sigler
on Wednesday, July 6th, 2011
Filed under balloon
| More