I am developing industrial monitoring system, at this moment with Raspberry Pi and its camera (this might change if it is not satisfactory). The camera will take still pictures of the scene once in a few seconds. Since the objects are moving, it has shutter time max 1/1000s. After some experiments, I determined I need around 10kLux light source which is either turned on all the time (though without producing excessive heat), which is turned on and off programatically, bracketing the camera action, or one which can be synced with the camera shutter using the camera's chip flash sync.

The camera unfortunately has rolling shutter, so xenon flash tubes are out, AFAIK -- their light interval is probably too short, there would be partial exposure -- but that's just what I understand from readings sources, so I will be glad to be corrected here).

What other flash options do I have? I will be glad to use LED-based flash, but need reliable circuitry around it as well. Ready-made industrial cameras systems costing over $4000 are something I would like to avoid, if possible.

I would like to ask for pointer in which way to go, keywords to search for, or even marketed products which would be suitable. I am personally only moderately skilled in low-level electronics, but have colleagues who know that stuff.

  • 1
    \$\begingroup\$ If you really need 1/1000 sec. exposure in order to "stop" the motion, you should be looking for a sensor that has global shutter capability. Then your flash issue becomes moot. \$\endgroup\$ – Dave Tweed Nov 13 '14 at 12:42
  • \$\begingroup\$ no idea where you got the 1ms shutter time for moving, i think 4-5ms is reasonably ok. \$\endgroup\$ – KyranF Nov 13 '14 at 13:58
  • \$\begingroup\$ @KyranF: I was considering the motion maxing around .5m/s; thus to limit the blur to 0.5mm, I need at most 1/1000. \$\endgroup\$ – eudoxos Nov 13 '14 at 14:46
  • \$\begingroup\$ is that relative movement from the camera? further away things are, the less they move relative to the camera. \$\endgroup\$ – KyranF Nov 13 '14 at 14:58
  • \$\begingroup\$ Instead of considering expensive or custom flash options with a cheap built-in camera, why not just get a slightly more expensive camera (with a proper shutter instead of a rolling shutter) and a standard flash? \$\endgroup\$ – Nick Johnson Nov 13 '14 at 15:25

Rolling shutter with fast moving objects is just not a good mix. You don't mention some key elements of your requirements (like imager format, frame rate etc.) so it will be hard to recommend a solution. It's likely you will need to go to a ILT (Inter Line Transfer) CCD for a global shutter.

You also don't say what control you have over the the rolling rest and the rolling read so again it will be hard to give any recommendations.

The one fall back that you do have is to do the following. - Set you exposure time to be longer than a frame time (or as long as possible) - Figure out how to determine when the Imager has finished the rolling reset - Keep everything in the dark - Fire your flash once the imager has finished the reset but has not started to read out the imager. - Read out the imager

Note: - this will adversely affect your frame rate.

  • \$\begingroup\$ Resolution around 4Mpix, frame rate once in 5 seconds is enough. I don't think I have control over rolling rest/read with the RPi camera. If you can recommend a global shutter camera with flash sync interface, I will be very happy about that. \$\endgroup\$ – eudoxos Nov 13 '14 at 15:04

I'm not quite sure I understand the issue, but I'll take a stab at it anyway.

I'm assuming you can get a light source that you can turn on and off with digital logic, and your problem is that the flash sync signal isn't long enough to keep the light on for your image acquisition.

If this is the case, just use the flash sync to trigger a monostable multivibrator (i.e., a one shot) with a pulse long enough to allow the image capture, then use the output of the one shot to turn on your light source.

Not sure you can achieve the same functionality with the Pi alone. It would be simple on a microcontroller with full interrupt functionality, but then you lose the imaging and file handling convenience of the Pi. You might consider a Beaglebone Black, which has its own microcontroller (though I haven't read much about using it).

In any case, the one-shot is a one-chip circuit, and shouldn't be burdensome to implement.

  • \$\begingroup\$ The issue is that on/off light sources (like LED or halogen lamps) don't produce enough light (I need roughly 20kLux, based on preliminary experiments), and the xenon flash pulse is too short to play well with the rolling shutter. So something in-between is what I'm looking for. \$\endgroup\$ – eudoxos Nov 13 '14 at 14:53
  • \$\begingroup\$ @eudoxos ledlight.com/… I can't do the conversion without knowing your geometry, but is 17Klumen enough for you?? \$\endgroup\$ – Scott Seidman Nov 13 '14 at 15:05
  • \$\begingroup\$ brute force method, but looks good, thanks! \$\endgroup\$ – eudoxos Nov 13 '14 at 15:12

Depending on how much ambient light there is, one possible solution is to use the fastest X-sync speed the camera is capable of, then fire a xenon flash or several of them in sync. The flashes will only illuminate the subject for the short 1/1000 second exposure time (make sure the flashes are that short). If the ambient light is low enough, then very little light in comparison will be captured during the rest of the time the shutter is open but the flashes aren't illuminating the subject.

The extreme case of this is a totally dark room and the shutter always open. The scene will only be captured during the brief time of the flash. This is exactly how Doc Egerton made those famous high speed pictures, like a bullet thru a apple, so many years ago. The mechanical shutter wasn't anywhere near as fast as the exposure time, which came from the speed of the flash, not the speed of the shutter.

  • \$\begingroup\$ Thanks for suggestions. This shows light emission of a xenon tube in time. So the problem is on the contrary that xenons are too fast, and the rolling shutter will cause different exposure at different places of the image. \$\endgroup\$ – eudoxos Nov 13 '14 at 14:50
  • \$\begingroup\$ @eudoxos: Right, that's why I said to use the mechanical shutter at its X-sync speed, not the fast speed you actually want for the photograph. The X-sync speed is that speed at which the whole shutter is open at one time. \$\endgroup\$ – Olin Lathrop Nov 13 '14 at 14:54

We replaced an old (strobbing) Xenon flash lamp with a bright white LED. Flashing it for a few milliseconds every second or so should not be a problem. For the circuit, I'd do an opamp as voltage controlled current source with a FET as the pass element. With a little sense resistor to measure the current. I can scribble out a circuit if you don't know what I mean. (something like this, but it needs a bit more around the feedback path.)

  • \$\begingroup\$ Does the flashing LED emit more light than when lit continuously? I found 250W LED reflectors giving 25kLux, but they cost over $1000; but if we can get the pulse to be much brigther than continuous light, that would be a big win. \$\endgroup\$ – eudoxos Nov 13 '14 at 15:05
  • \$\begingroup\$ You can probably run the LED at a higher current. But I don't know the time frame... I'm guessing a few ms may be pushing it. (Check the spec sheet of the LED) We don't use ours above the DC rated current. (in fact it's run lower... those things are darn bright!) (10,000 lux is like a bright day outdoors... do you really need that much light? Maybe a better camera is needed? \$\endgroup\$ – George Herold Nov 13 '14 at 15:21
  • \$\begingroup\$ Yep, right, better camera would do, but we try low-budget first; the RPi camera has the "lens" diameter about 2mm, tiny, so it need a lot of light for short exposure... If you know a good camera for decent price, let me know. \$\endgroup\$ – eudoxos Nov 13 '14 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.