Override temperature shutdown? - Feature Requests - CHDK Forum

Override temperature shutdown?

  • 10 Replies
  • 5252 Views
Override temperature shutdown?
« on: 10 / April / 2014, 22:34:53 »
Advertisements
Just did a high altitude balloon launch and the SD1400 shutdown due to what I think was lens temperature?  Anyway to override this or even be able to intercept this functionality in the camera? Here were the stats from Happy Logger created log file in a lua script:

Picture: 110
Date: 2014-06-04
Time: 15:41:47
Battery Voltage:  3360
Lens Temperature: -13c
CCD Temperature: 2c
Battery Temperature: -2c
Elapsed time: 0h 55m 0s


Yes, I know there are mechanical ways to keep things warm but would like to rip down firmware barriers as well if possible.

Thanks!

Re: Override temperature shutdown?
« Reply #1 on: 10 / April / 2014, 22:42:28 »
Batteries don't tend to do well at low temperatures.  What is the normal cutout voltage if you let the script run until the battery poops out?  Looking at the log, you might very well be there as of the last entry?

Update : in answer to your original question, there is nothing in CHDK that intentionally lets you bypass any of Canon's built-in hardware protection limits AFAIK
« Last Edit: 10 / April / 2014, 22:47:06 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

Re: Override temperature shutdown?
« Reply #2 on: 10 / April / 2014, 22:58:20 »
Thanks for the response!   Yes, LiPos don't like extreme heat or cold but my ground tests gave me voltage cutoff down to 3.006V.  That is the last log file and picture and I did get a nice pic at about 90k feet but other telemetry indicates I went another 5-10k feet.

I had high hopes it would be in firmware and not hardware but I guess you can't win them all. My only concern with putting anything in front of the lens, like lexan, is that it will fog up and/or glare.  :(
« Last Edit: 10 / April / 2014, 23:10:59 by eniel@earthlink.net »

Re: Override temperature shutdown?
« Reply #3 on: 10 / April / 2014, 23:12:30 »
Thanks for the response!   Yes, LiPos don't like extreme heat or cold but my ground tests gave me voltage cutoff down to 3006mAh.  That is the last log file and picture and I did get a nice pic at about 90k feet but other telemetry indicates I went another 5-10k feet.
What were you using for a script?  There may be other battery saving options available.

Quote
I had high hopes it would be in firmware and not hardware but I guess you can't win them all. My only concern with putting anything in front of the lens, like lexan, is that it will fog up and/or glare.  :(
People have done pretty nice jobs building insulated enclosures where just the front of the camera lens is exposed.  Or is that what you had already?
Ported :   A1200    SD940   G10    Powershot N    G16


Re: Override temperature shutdown?
« Reply #4 on: 10 / April / 2014, 23:44:58 »
I used a script from this site, stock with no mods called:

HAPPy Intervalometer script for CHDK written in the Lua programming language.
Version 0.1 Feb 12, 2011
Authors: Fraser McCrossan and Greg Lawler


The script did everything it was supposed to and kudos to the authors by the way.  I did rig up an external 1S 2200mAh hour LiPo and in ground tests, get seven hours of pictures at 30second intervals on a 4GB SD card. As you can see from the log file, I got less than an hour.  I figured seven hours for a ~two hour flight would be enough buffer.  :o I am discharging the LiPo as I type this and am 99.9% sure it is not a battery issue.


The enclosure is one inch thick styro-foam with the extended lense of the camera being flush with the outside wall.  There are hand warmers inside the enclosure for batteries and electronics.

I will do more freezer tests but will concentrate on the camera itself more.

Thanks and keep the suggestions coming!

Re: Override temperature shutdown?
« Reply #5 on: 10 / April / 2014, 23:50:22 »
I used a script from this site, stock with no mods called:
Umm .. what site?  A link would help ...

Quote
As you can see from the log file, I got less than an hour. 
Log file?

Quote
I figured seven hours for a ~two hour flight would be enough buffer.  :o I am discharging the LiPo as I type this and am 99.9% sure it is not a battery issue.

The enclosure is one inch thick styro-foam with the extended lense of the camera being flush with the outside wall.  There are hand warmers inside the enclosure for batteries and electronics.

I will do more freezer tests but will concentrate on the camera itself more.
I'd be surprised if the Canon firmware has a low temperature shut down.  But right now I don't believe anyone knows.   Per you earlier post, its probably a firwmare function if it exists - but as I also said,  you won't likely find anyone here willing to bypass those sorts of limits and risk damaging cameras.
Ported :   A1200    SD940   G10    Powershot N    G16

Re: Override temperature shutdown?
« Reply #6 on: 11 / April / 2014, 00:12:50 »
Sorry, the main CHDK wiki site.  I just tried to search it for a link but can't find it. I downloaded it over a year ago.  Here's the full script:

Code: [Select]
--[[
HAPPy Intervalometer script for CHDK written in the Lua programming language.
Version 0.1 Feb 12, 2011
 
This script will configure your Canon camera to auto-focus, take a photo
every x seconds and will record the temperature of the lens, CCD and battery
to a log file.
The script can be run in Endless mode until the battery or storage space runs out.
 
Authors: Fraser McCrossan and Greg Lawler
 
HAPPy project - High Altitude Photo Project - http://heffrey.com.
A high altitude balloon project which aims to photograph the earth from near space.
 
Features:
 - HAPPy logging - write temperature (C), battery voltage (mV) and timestamp data to log file.
 - Log files located in CHDK/LOGS/
 - Endless mode - will keep taking photos until battery dies or card is full.
 - Turn off the display a given number of frames after starting to conserve battery.
 - Auto focus and expose for each photo.
 
--]]
 
--[[
@title bstak1
@param s Interval seconds
@default s 20
@param h Sequence hours
@default h 0
@param m Sequence minutes
@default m 5
@param e Endless? 0=No 1=Yes
@default e 1
@param f Focus: 0=Every 1=Start
@default f 0
@param d Display off frame 0=Never
@default d 2
@param l Enable HAPPy log 1=Yes
@default l 1
--]]
 
-- convert parameters into readable variable names
secs_frame, hours, minutes, endless, focus_at_start, display_off_frame = s, h, m, (e > 0), (f > 0), d
 
props = require "propcase"
 
-- derive actual running parameters from the more human-friendly input
-- parameters
function calculate_parameters (seconds_per_frame, hours, minutes, start_ticks)
   local ticks_per_frame = 1000 * secs_frame -- ticks per frame
   local total_frames = (hours * 3600 + minutes * 60) / secs_frame -- total frames
   local end_ticks = start_ticks + total_frames * ticks_per_frame -- ticks at end of sequence
   return ticks_per_frame, total_frames, end_ticks
end
 
function HAPPy_time()
   yy = (get_time("Y"))
   hh = (get_time("h"))
   if (tonumber(hh)<10) then
      hh = "0"..hh
   end
   mi = (get_time("m"))
   if (tonumber(mi)<10) then
      mi = "0"..mi
   end
   ss = (get_time("s"))
   if (tonumber(ss)<10) then
      ss = "0"..ss
   end
   mm   = (get_time("M"))
   if (tonumber(mm)<10) then
      mm = "0"..mm
   end
   dd   = (get_time("D"))
   if (tonumber(dd)<10) then
      dd = "0"..dd
   end
   hhmmss = hh .. ":" .. mi .. ":" .. ss
   MMYYYY = yy .. "-" .. dd .. "-" .. mm
end
 
function HAPPy_log( i )
  HAPPy_time()
  print_screen( i )
  print( "Picture: "..i )
  print( "Date:",MMYYYY )
  print( "Time:",hhmmss )
  print( "Battery Voltage: ",get_vbatt())
  print( "Lens Temperature:",get_temperature(0))
  print( "CCD Temperature:",get_temperature(1))
  print( "Battery Temperature:",get_temperature(2))
end
 
function print_status (frame, total_frames, ticks_per_frame, end_ticks, endless)
   local free = get_jpg_count()
   HAPPy_log( frame )
   if endless then
      local h, m, s = ticks_to_hms(frame * ticks_per_frame)
      print("Elapsed time: " .. h .. "h " .. m .. "m " .. s .. "s")
   else
      local h, m, s = ticks_to_hms(end_ticks - get_tick_count())
      print(frame .. "/" .. total_frames .. ", " .. h .. "h" .. m .. "m" .. s .. "s/" .. free .. " left")
   end
end
 
function ticks_to_hms (ticks)
   local secs = (ticks + 500) / 1000 -- round to nearest seconds
   local s = secs % 60
   secs = secs / 60
   local m = secs % 60
   local h = secs / 60
   return h, m, s
end
 
-- sleep, but using wait_click(); return true if a key was pressed, else false
function next_frame_sleep (frame, start_ticks, ticks_per_frame)
   -- this calculates the number of ticks between now and the time of
   -- the next frame
   local sleep_time = (start_ticks + frame * ticks_per_frame) - get_tick_count()
   if sleep_time < 1 then
      sleep_time = 1
   end
   wait_click(sleep_time)
   return not is_key("no_key")
end
 
-- delay for the appropriate amount of time, but respond to
-- the display key (allows turning off display to save power)
-- return true if we should exit, else false
function frame_delay (frame, start_ticks, ticks_per_frame)
   -- this returns true while a key has been pressed, and false if
   -- none
   while next_frame_sleep (frame, start_ticks, ticks_per_frame) do
      -- honour the display button
      if is_key("display") then
         click("display")
      end
      -- if set key is pressed, indicate that we should stop
      if is_key("set") then
         return true
      end
   end
   return false
end
 
-- if the display mode is not the passed mode, click display and return true
-- otherwise return false
function seek_display_mode(mode)
   if get_prop(props.DISPLAY_MODE) == mode then
      return false
   else
      click "display"
      return true
   end
end
 
-- switch to autofocus mode, pre-focus, then go to manual focus mode
function pre_focus()
   local focused = false
   local try = 1
   while not focused and try <= 5 do
      print("Pre-focus attempt " .. try)
      press("shoot_half")
      sleep(2000)
      if get_prop(67) > 0 then
         focused = true
         set_aflock(1)
      end
      release("shoot_half")
      sleep(500)
      try = try + 1
   end
   return focused
end
 
if focus_at_start then
   if not pre_focus() then
      print "Unable to reach pre-focus"
   end
end
 
start_ticks = get_tick_count()
 
ticks_per_frame, total_frames, end_ticks = calculate_parameters(secs_frame, hours, minutes, start_ticks)
 
frame = 1
original_display_mode = get_prop(props.DISPLAY_MODE)
target_display_mode = 2 -- off
 
print "Press SET to exit"
 
while endless or frame <= total_frames do
   print_status(frame, total_frames, ticks_per_frame, end_ticks, endless)
   if display_off_frame > 0 and frame >= display_off_frame then
      seek_display_mode(target_display_mode)
   end
   shoot()
   if frame_delay(frame, start_ticks, ticks_per_frame) then
      print "User quit"
      break
   end
   frame = frame + 1
end
 
-- restore display mode
if display_off_frame > 0 then
   while seek_display_mode(original_display_mode) do
      sleep(1000)
   end
end
 
-- restore focus mode
set_aflock(0)




The log file entry in my first post says:

Elapsed time: 0h 55m 0s



Various other google searches indicates there are temperature limits. But they are coming from Canon's tech support. Well, you know how that goes.

I'm not concerned with damaging the camera as long as I get the SD card back. Temperature is the last thing that will hurt the Canon on a balloon flight.  Found that out on my first flight when the parachute got tangled.  :D

Re: Override temperature shutdown?
« Reply #7 on: 11 / April / 2014, 10:20:50 »
Sorry, the main CHDK wiki site.  I just tried to search it for a link but can't find it. I downloaded it over a year ago. 
Google is your friend :  http://www.zinkwazi.com/scripts/chdk-intervalometer/

Quote
Various other google searches indicates there are temperature limits. But they are coming from Canon's tech support. Well, you know how that goes.
It will be interesting to hear how your "freezer" tests go.
Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline ahull

  • *****
  • 634
Re: Override temperature shutdown?
« Reply #8 on: 11 / April / 2014, 17:19:18 »
Bear in mind that if your telemetry figures are correct, you will most likely be dealing with external temperatures as low as or possibly lower than -60C (http://www.physicalgeography.net/fundamentals/7b.html ), so very good insulation and localised heating may be your only option.

Placing the camera in your domestic freezer 'aint going to come close to these temperatures.

We are talking about an experiment with dry ice or liquid nitrogen.

Your lens temp of -13C suggests that your insulation is certainly helping, but perhaps a multiple layer aluminium foil and polystyrene lamination, and an optical glass window (a 35mm SLR type camera lens filter, used something like this perhaps) might have to be added to the mix.

One other thing.. are we allowed to see the results of the previous flights?
« Last Edit: 11 / April / 2014, 17:29:28 by ahull »

Re: Override temperature shutdown?
« Reply #9 on: 11 / April / 2014, 21:55:00 »
Hi ahull,

Correct on temp but the payload will not be at peak altitude long enough to saturate to that temperature level. I have crewed on many of flights that were far less sophisticated than I as far as insulation and heating. Granted, most were using GoPros. I'm the only one I know that is using this model of Canon(SD1400).  Knowing that recovery is not a sure thing, I'd rather try to make a $40 Canon work than a $250 GoPro.

The freezer is close enough without spending more time and money on tests than the actual launch. That's what makes it fun is a little of the unknown. Yes, I have even looked at vacuum chambers to test the pressure sensors. But in the end, each launch is it's own test of various subsystems and you get the added bonus of some cool pictures along the way. The launch and recovery are a blast because you get your friends and their kids involved and even with a SPOT tracker, the recovery is like a treasure hunt.  Oops, I'm babbling, sorry.

Thanks for the link! I always enjoy checking out the ingenuity of others and their low cost, effective ideas.

RE: "results of my previous flight with the canon."  I don't have a good pic of the results of it hitting the ground at ~50mph, but the lens was still extended and was bent about 30degrees down :-[. My homemade PCB was cracked in half but the SPOT tracker still worked.

At the risk of going of topic, I'll post the last two pics from my latest flight that I am referring to.  I recovered the payload with everything intact this time. I apologize to the mods in advance.

 Update:  Couldn't bring myself to cut down the resolution to post here. So here is a google drive link of all the pics from Sunday's flight:
https://drive.google.com/folderview?id=0BxUoz5Ay87KOR2tISkpIODc3T0E&usp=sharing
« Last Edit: 11 / April / 2014, 22:15:22 by eniel »

 

Related Topics