Canon SX230HS vs. CHDK: Motion-Detection Shutter Delay

Given those results showing that I had badly misjudged the delay from the time the CHDK motion-detection script notices a change until the time the shutter opens, some tests were obviously in order. I covered a door with black cloth, pinned a yardstick with metric divisions (it’s actually 4 ft long) to the cloth, set up the camera a meter away, zoomed in on the stick, fired up CHDK, and dropped a squishy foam star…

A composite image from three trials at 1/100 sec, ISO 800, manual everything, and the star starting with its bottom at the top of the stick:

SX230HS CHDK MD delay - 10 ms shutter

SX230HS CHDK MD delay – 10 ms shutter

There’s no way to know exactly when the CHDK script detected the falling object, but I think it’s reasonable to assume the star was about halfway visible: call it a 50 mm drop that takes 100 ms.

In the left image, the bottom reaches 140 mm at 170 ms, which says the shutter delay is about 70 ms.

In the right image, the bottom is at 380 mm at 280 ms, so the delay is a whopping 180 ms.

The majority of the images, at all shutter speeds, seem to trigger with the bottom of the star around 250 mm at 225 ms, for a shutter delay of 125 ms. Based on a bunch of other pictures, a reasonable guesstimate would be a shutter delay of 125 -30 +30 ms, which says the shutter must be open for about 60 ms = 1/17 s; the camera can do 1/25, 1/20, 1/15, 1/13, and 1/10 in that range, so 1/15 s = 67 ms sounds about right.

Here’s a hand-picked assortment of shutter speeds, chosen for about the same vertical position when the shutter opens, showing that the motion blur scales exactly the way you’d expect:

SX230HS CHDK MD - shutter variations

SX230HS CHDK MD – shutter variations

Those are 1/100, 1/50, 1/25 and 1/13 s, respectively, all at ISO 800 with the iris wide open at f/4. You can see the increasing exposure from left to right.

In order to catch an object at 200 mm below the trigger point, the LED must flash almost immediately after the object breaks the laser beam in the sensor. Assuming the drop starts just above the beam, the timings for 1/15 s = 67 ms work out to (in round numbers):

  • Minimum: open @ 100 ms = 50 mm, remain open until 170 ms = 140 mm
  • Maximum: open @ 160 ms = 120 mm, remain open until 230 ms = 250 mm

That says the Xenon strobe must happen 165 ms after the beam breaks, with ±5 ms tolerance on either side, and the object will be 130 mm below the sensor.

The minimum shutter time might be 1/10 s = 100 ms, just to build up some slack:

  • Minimum: open @ 100 ms = 50 mm, remain open until 200 ms = 200 mm
  • Maximum: open @ 160 ms = 120 mm, remain open until 260 ms = 330 mm

That way, the strobe can happen anywhere between 160 and 200 ms, with some assurance of catching the object between 120 and 200 mm below the beam.

Adjusting those delays is a simple matter of software, but ya gotta know where to start…

  1. #1 by solaandjin on 2014-03-25 - 13:15

    You probably have done this but haven’t mentioned: have you adjusted the various CHDK motion sensing parameters to best suit your situation? Turning the sensitivity way up, etc.

    • #2 by Ed on 2014-03-25 - 14:03

      Configuring the CHDK script can easily become a thirteen-dimension random walk, but I set it up for a 5×5 matrix, 4 pixel step, and a threshold of 5. All that, as nearly as I could tell, made absolutely no difference in the delay compared to the default configuration; I didn’t spend much time measuring the various configurations.

      I’m not convinced I have it right, but it sufficed to move things forward…

  1. Strobe Photography: Delay vs. Position | The Smell of Molten Projects in the Morning