Trying to DIY build an extremely bright LED source for a scientific computer vision photo system

Quick summary: I'm looking to mount ~25,000 lumens worth of high-powered LEDs inside a water-cooled aluminum box with a 12V DC Lithium battery pack, and briefly blink them on and off every 2 seconds.

------------

To back up and give some context, I'm a fish ecologist working on a novel camera-based contraption to count and measure tiny drifting invertebrates (such as midge larvae) and similar-looking debris (which distract fish from feeding on the drifting bugs) in an Alaskan river. The idea is to place this device in the river, close to the surface, and take pictures of a small (like 9x6") chamber through which river water is flowing. Later, back at the lab, computer vision algorithms I've already developed will count and measure the bugs and debris particles from these images. The camera will be looking down at the upper glass window of the flow-through chamber from within a watertight aluminum box (roughly 12x12" footprint by 48" tall), within which are mounted the lights that illuminate the chamber from above (and are positioned at an angle where the camera can't see them). I've worked out most aspects of the system, but the lighting remains a challenge.

The device needs to take roughly 1800 pictures in a row at 2-second intervals. I want to use an aperture of f/8 for suitable depth-of-field, a shutter speed of 1/8000s to eliminate motion blur, and a low ISO (around 400) to minimize noise. These camera settings mean I need very bright lighting -- rough calculations recommend somewhere in the ballpark of 25,000 lumens total. At first I thought a couple of flashes with high-speed sync might do the trick, but it turns out they all have overheating protection that would kick in long before I'm done shooting. Instead, I'm now looking to replace flashes by using a Raspberry Pi Zero to quickly switch on some super-bright LEDs, send the camera a remote shutter release signal, and switch the LEDs off until the next shot 2 seconds later.

I think I have two big advantages with regard to heat dissipation and power consumption:

  1. The lights can be mounted on solid copper or aluminum pieces laying flush against the 1/4" aluminum chamber walls that extend down on all sides into flowing water at 35-55 degrees F. The device will only ever be tested outside this cold water for very brief periods.
  2. The lights only need to be on very briefly for each shot. I don't know how brief exactly; it depends how quickly both aspects of the system (lighting and camera) respond to the Pi's instructions.

While trying to put together parts for this system I've come to realize how much I didn't know about the limitations and requirements of electronics at this power level, so I have a ton of questions. First, I'll lay out what I'm thinking of using and why:

Power source -- A 150 Wh Lithium power pack such as this one from Paxcess, contained within the device, near the top (and near the camera). It needs to power several low-power DC components (Sony A7R II camera, Raspberry Pi, and a tiny fan that circulates air through an exterior desiccant chamber to prevent condensation) but pretty much all the power can go to the lighting. The three 12V DC output ports can apparently support current up to 10 A each. I'm using one to power the camera via an adapter, and the other two can go to lighting, meaning I can have 2 separate lighting circuits that go up to 10 A each. I'm trying to stick with DC so I don't have to lose power and generate heat running the AC inverter on the power pack. I would like to make the system self-contained (using a small enough power supply that it can fit in the box rather than running a power cable over the water to a source on land).

Relay module -- To allow the Pi to control the two lighting circuits without getting fried, I bought a SunFounder 2 Channel DC 5V Relay Module with Optocoupler. Each circuit would then split into a parallel component for the LEDs.

LEDs -- Six Cree XHP70 or XHP70.2s. I don't have the equipment or skills for reflow soldering, so I bought some Cree XHP 70 Modules from Opulent Americas. (The datasheet now shows the XHP70.2, but the only ones I could find for sale were for the XHP70). I wanted XHP70.2 but couldn't find pre-soldered modules anywhere -- however, I recently found linked from this forum that Fasttech has lots of pre-soldered starboards for the XHP70.2, so I am thinking about returning the Opulent ones untouched and getting the XHP70.2 instead. Each circuit coming out of a 12V/10A port on the power pack would have 3 of these LEDs in parallel trying to draw the recommended 2.4 A each.

LED drivers -- I really don't know. The only one I found that looks maybe adequate is this one made for the XHP50. I'd prefer to avoid something with lots of exposed parts, although theoretically these would be mounted in a very well-protected part of the device so that's not a 100 % strict requirement. One problem with the one I linked is that it's 3A, which is slightly above what's recommended for the LEDs and would also bring the total of a 3-parallel-LED circuit to 9A when the converters below are only rated for 8A. Ideally I'd like a better match.

DC converter -- I learned today that I can't drive the 12V forward voltage LEDs with a 12V power source, so I'm looking at putting one of these Knakro 12V to 15V 8A DC-to-DC converters in each circuit before splitting into the parallel component for the LEDs.

General wiring -- The DC outputs of the power supply linked above seem to support 5.5 mm OD, 2.1 mm ID barrel jacks. A search on Digikey shows the thickest wire being used with those kind of connectors as 18 gauge, which is generally rated for 2.3 A. How are the ports rated for 10A when they only accept wiring rated for 2.3 A? I was thinking of using barrel jacks with associated using splitters like these to form most of the circuitry, but the wiring all seems too thin for the current involved. I must be missing something.

Mostly, I'd like to know what general problems there are with my plan... or recommendations for how you would do it all differently. I'm surely overlooking some amateur mistakes and would like to discover and fix them ASAP. I have a few specific questions too:

  1. How quickly can the LEDs go from off to near full output, and back again? Is it reasonable to expect that I can turn them on for something like 1/8 second to take each picture, saving a lot of power in the process? Or are some of the components going to slow that down or wear out from cycling like that thousands of times?

  2. Any reason to stick with the XHP70s I bought, and not get XHP70.2 instead?
  3. Are the boards that come with the LED modules I linked probably adequate for heat dissipation given that they'll be mounted on water-cooled aluminum, or should I be looking at a Sinkpad with much higher thermal conductivity and just learn how to reflow solder?
  4. We're going to go to great lengths to make sure these electronics are never exposed to water, but if the extremely unexpected happens -- say a tree falls on it or some idiot runs it over with a boat -- is there anything I can build into the system to protect the components, or more importantly the people around them, from sustaining too much damage?

Thanks in advance for any advice!

These lights, when switching on an off a FET can have strobe modes with pretty fast delays. Faster if you aim for it in the design and programming, but sub-millisecond I suppose. I set my smallest to something like 0.3ms on one light, but 1ms is brighter - 0.3 starts to turn off before full brightness. Your camera’s rolling shutter will last much longer than 1/8000sec so you just need to define a certain delay and that’ll do it. Might run a bit long to avoid syncing issues if things go out of time over the course of 1800 seconds. Perhaps you can prevent that given the camera triggering it, of course. You only need that every two seconds, so heat should be no issue, and you can exceed ratings by a fair amount on your leds for a short time, letting them cool in between. You’re sure you want to use LED instead of looking for a strobe with a cycle time under 2 seconds? That way, you do get a sharper image, you know, given how fast a flashtube goes off. I swear there’s plenty out there with that cycle time at reasonable power levels.

LEDs can be flickered on’n’off at least into the MHz. They’re just diodes. The bigger and more “capacitive” they are, sure, their speed will decrease, but not too much.

Do you want as brief and bright a flash as possible? Consider something like an avalanche oscillator, with a period of about 2sec. Or just put all the LEDs in series, and charge a capacitor with a high-enough voltage to then dump that to the LEDs as if they’re a flashtube. Current won’t be controlled or regulated, but energy (joules) will. You’ll be hitting the LEDs with an extremely low duty-cycle (eg, 1ms out of 2s, or 1/2000th). A big honkin’ FET could “trigger” each pulse.

Quick example… A starter motor in a car isn’t meant to run at 12V for any length of time. It might be a 1V motor continuous, but when you hit it with 12V at huge currents, it’s enough to start the car. But it runs only for a few seconds at a time. Keep cranking, and it will burn out quickly. So it’s designed not to run continuously, but only for very very short bursts.

Same with the LEDs. Huge currents being dumped through them but for extremely short pulses, you won’t need huge heatsinks, if any at all. The average current (and thus wattage), will be rather small.

Thanks Spaceminions.

I know there are strobes with short enough recycle times, but I’m guessing that they would — like every flash I looked up — have some automatic overheating shut-off mechanism after some number of shots way below the necessary 1800.

I’m also not sure if any of them can sustain that number of shots on the kind of battery power we’ll be able to take out into the wilderness to run this thing.

I’m open to options if I’m wrong about those assumptions.

I think Lightbringer is spot on with his observations. I’d say you could just use a FET along with a circuit to generate the two-second flash cycle (could be a 555 timer) and run it for quite some time without any heat issues. Use very high powered LEDs like the XHP series quad die emitters. Call it a day.

Perhaps Dale (member DB Custom) will stick his nose in here and give his more professional opinion. He is a photographer, and has also built hundreds of lights, some of them extremely bright! He could probably tell you exactly what will work and how to build it. :wink:

Thank you all for the thoughts so far.

Sort of. I expect there will be a little bit of variable lag time between the Raspberry Pi telling the camera to take a picture and the camera doing it. Maybe that’ll be 1/2 second, maybe 1/100th. I won’t know that for a couple days because my initial plan to control the camera from the Pi (via USB and the gphoto2 library) isn’t going to work due to silly firmware limitations that block the specific feature I need. So I’m hoping it’ll work out to emulate an analog shutter release cable instead, for which parts are in the mail. I’ll set that up and then figure out the response time, which will determine how long I need to light the LEDs for. I’m fairly sure it won’t be possible to actually pulse the light for just 1 ms, even with exposures of 1/8000 s. But maybe 100 ms will be doable, followed by a 1900 ms break.

What do people think about the wiring question? Is it no problem to push ~9A though wire rated for 2.3A if it’s only for these very short bursts?

Forget using the Pi to control the whole pulse. Get a 74123 with the right values to define a fixed pulse (use a potentiometer to trim it), and the Pi would only trigger the start of the pulse. The ’123 would turn the FET on and off.

What’s the advantage to using the 74123 as opposed to controlling the pulse with the Pi?

Turn a knob vs tweaking code.

No concerns about latency, delays, consistent pulse widths, etc.

Pulse generation is pretty reliable on even a Windows system - many machines run CNC machines which rely on precisely timed pulses. Which makes me wonder if a chopper stepper motor drive would somehow work?

If you need 100ms of ontime, you need a better solution.

How come?

Troutnut, actually your application is very straighforward. If your duty cycle is little (e.g flash duration very short), then you only need to worry about cooling average power. base on your description, I think air cooling is enough.

For brightness, i imagine you plan to use same brightness for each flash. The easy thing to do is to use mosfet to switch the led on and off, and use a low value high current resistor to limit current. You can use higher voltage off-the-shelf converter to generate stable voltage (such as 15V) and add big capacitor on output. If your power supply is big enough then you don’t need to worry about voltage drop during pulse, and current across led will be mostly constant base on which resistor value you choose.

unfortunately I believe xhp70 led phosphor actually has luminscent effect when power is turn off, so it still glows for a few hundred ms brightly and then dim quickly after. This may be sufficient for your need though.

For wires, 25000 lumen at short duration and short duty cycle is probably not too much average current, so any good wire is good enough. I think 18awg is ok as long as not too long. Keep inductance low and twist wire together. I suggest use optocoupler from Pi to mosfet as you suggest. Using mosfet and pi, it is very easy to pulse led for very short duration. For camera shutter release, if it is regular camera, you can look online for many easy way to control shutter release with mosfet from Pi. You can also use arduino or any other mcu to control. good luck for cool project!

Your solution should be good enough to not need an on pulse much longer than perhaps twice the total length of the exposure (which, when talking about dslr’s, is not the same as the shutter speed), or you should keep looking for better solutions. That should be something like 8-10ms of ontime, since the common shutter sync speed of 1/250sec is 4ms.

You can probably find how much of a delay between the start of an exposure and the trigger from whatever source triggers your camera there is, and then a few milliseconds before that delay ends, trigger the mosfet which drives your LEDs.

It leaves room for a millsecond here or there of timing trouble, as well as the couple milliseconds or so it might take to reach full brightness on this setup (on the q8, it doesn’t take this long - it comes partly on in 0.3ms and fully on in somewhat under one, IIRC).

Really, though, I still kind of think a cheap strobe with battery power and sub-2s recycle time is what I’d want to try researching… but hey, not the solution you wanted.