Building a mult-camera rig - page 13 - Hotwire! Hardware Mods, Accessories and Insights - CHDK Forum

Building a mult-camera rig

  • 244 Replies
  • 36801 Views
Advertisements
I used stop watch ( on line ) and point both cameras to take the picture , than I compared the the time in the pictures

I used stop watch ( on line ) and point both cameras to take the picture , than I compared the the time in the pictures
Sync between two cameras tends to vary over many shots.  You probably want to repeat the test about 10 times to be sure how closely they stay sync'd.
Ported :   A1200    SD940   G10    Powershot N    G16

A long time ago a friend emailed this reply regarding sync testing using an Android stopwatch :-

------------------------------------------------------------------
> Your stopwatch readings are identical to one msec.
> How can that be unless you were very lucky ?

I found a reason.

Android device redraws every 16 - 17 mSec.
------------------------------------------------------------------

I do not really understand what he is suggesting.

I guess he is saying because of screen refresh the maximum display resolution of the stopwatch count is one msec because it may be displayed after 16msec OR 17msec.


I guess he is saying because of screen refresh the maximum display resolution of the stopwatch count is one msec because it may be displayed after 16msec OR 17msec.
I think it might be simpler than that if he means the android app only updates the displayed count value every 16 mSec. 

That would imply that a system with a fixed  sync error of 8 mSec would show the same value on both cameras 50% of the time, a fixed sync error of 16 mSec would show the same value on both camera 1 time out of 15 and a 1 msec fixed sync error would show the same value on both cameras 15 out of 16 times.
Ported :   A1200    SD940   G10    Powershot N    G16

He seems to be referring to the Android device rather than the App.

*

Online reyalp

  • ******
  • 11993
I used stop watch ( on line ) and point both cameras to take the picture , than I compared the the time in the pictures
Pictures of text on a display will generally only get you within the refresh rate of the display at best. At 60hz that would that would be 16.6... ms. You *might* be able to do something clever like waterwingz is suggesting, but I would have to do the homework very carefully before having any confidence in the results. You also need to be sure your stopwatch app was actually displaying at the display refresh rate, which might well not be true for a browser app.

If you have a CRT you and do better by catching the actual beam. See http://chdk.setepontos.com/index.php?topic=6231.msg81365#msg81365

I wrote some hacky code to display gray code on the built in LEDs of a raspberry pi, which should be substantially better though still subject to some hard to quantify error due to linux multi-tasking.  I can share this if anyone is interested. I believe waterwingz built an arduino based solution which should be substantially more accurate.
Don't forget what the H stands for.

I wrote some hacky code to display gray code on the built in LEDs of a raspberry pi, which should be substantially better though still subject to some hard to quantify error due to linux multi-tasking.  I can share this if anyone is interested. I believe waterwingz built an arduino based solution which should be substantially more accurate.
The slickest way I've seen yet is to use an oscilloscope - http://chdk.setepontos.com/index.php?topic=11058.msg108660#msg108660

Ported :   A1200    SD940   G10    Powershot N    G16


I've updated my bcamHost / bcamRem lua script to sort downloaded images into one subdirectory per shot with the images renamed to the camera number (i.e. Shot_8/Camera_nnn.jpg)

link> bcam.zip

Runs well enough for a "proof of concept".   Ideally I'd like to add a bit of code that lets you know if all the cameras you were expecting to be there are connected and running the bcamRem.lua script.

From the command line there are essentially four useful commands :

Code: [Select]
chdkptp  -e"exec bc=require('bcamHost') bc:reset()"
chdkptp  -e"exec bc=require('bcamHost') bc:shoot()"
chdkptp  -e"exec bc=require('bcamHost') bc:download()"
chdkptp  -e"exec bc=require('bcamHost') bc:shutdown()"
I think the meaning is pretty self explanatory.
Ported :   A1200    SD940   G10    Powershot N    G16


 

Related Topics