"Professional" camera LEDs dimming

So, I want to make my own "professional" camera leds with different color temperatures and Arduino Nano - Bluetooth control. My plan was to make two lights with 2.5 meters of each color temperature, 7.5 meters total (12 v ~ 7.5 A)

I purchase well-known high CRI LEDs, and now I'm suffering with dimming each color.

I tried using IRF520N MOSFET on a strip of LED (only for camera test), but flickering is very noticeable. After some research I find that I can change frequency of PWM pins on arduino, so with the help of PWM.h library I increase it from 490 to 1500 Hz, and it became barely noticeable, but still quite flickering on low PWM voltage though.

Second option is to use LED driver with PWM control such is MeanWell LDD-1000H. But I did not understand something in its datasheet. For example, it says output switching frequency is 40KHz ~ 1000KHz, but PWM frequency is 100 ~ 1KHz, so output frequency is the same 100 ~ 1KHz? I think so, because videos where they were reviewed showed that they also flicker a lot. And secondly, the output voltage is 2 ~ 52VDC, and as I understand, it depends on the input? So if I connect 12 volts, I get 9 volts at the output?

But after some brainstorm, I decided to make it constant current operational. My plan now is to connect three LED stripes of same color in series, so I can make them 36 volts driven, and current will be ~500 mA with the help of PicoBuck LED Driver (COM-13705) I can make three light boxes (36 volts, 1.5 A) each.

Am I on the right way, or should I back to MOSFET option?

Please supply a link to the PicoBuck driver.

https://www.sparkfun.com/products/13705

Well, it is encouraging because it says you can use an analog voltage to control the current, vs. PWM. The switching frequency is high enough to avoid camera flicker problems.

You will have to provide some variable analog voltage from the Arduino, though. A DAC, or else a low pass filter on the PWM.

There is a limitation that you can't adjust the current below 20% of maximum. That's only two F stops.

I don't know but it's possible to make a PWM-controlled constant current (or controlled current) power supply that puts-out pure-DC with no PWM/switching of the LEDs. Regular (constant voltage) switching power supplies put-out pure-DC and the "switching" is filtered-out. (Usually they aren't PWM controlled but that's a different issue.) That's a whole different "theory" than PWM dimming which makes the LED appear to dim. (PWM can truly dim incandescent lights because they can't change brightness instantly.)

With constant current the voltage adjusts automatically to whatever is required to get the current. As long as the current is correct, the voltage will be correct for your particular LEDs,

Ohm's Law (a law of nature) still applies, but LEDs are non-linear so the resistance changes with voltage. If you have a low resistance load the voltage drops and the current remains the same. If you short the output the voltage drops to almost zero and the current remains the same. (Unlike regular constant-voltage power supplies, nothing bad happens if you short a constant-current supply.) If you disconnect the load (or if the resistance is very high) the voltage goes to the maximum that the power supply can put-out as it "tries" to push current through an infinite (or high resistance) load.

No. Not unless the MOSFET is part of a constant-current power supply.

How else are they regulated then? :face_with_raised_eyebrow:

Yeah, it can be done, but it's actually not as problematic as it may sound. If you look at the datasheet of a typical buck led driver IC, you'll notice it often lists a capacitor (typically 1 uF or so) across the LEDs to smooth the average current through the LEDs. This should reduce even camera-detected flicker.

Yes and no.

A typical buck LED driver does two things: it maintains an (average) constant current through the LEDs when they're on, and it allows external circuitry to turn the LEDs on and off. The latter is what you're doing with PWM, so that's the 100Hz ~1kHz frequency. But the LED current, when the LEDs are on, is in fact usually regulated through a buck circuit, with a current sense resistor, a MOSFET (usually integrated into the LED driver IC, but sometimes external) and an external inductor. This creates a circuit that basically very rapidly switches the current through the LEDs and the inductor, but due to the presence of the inductor the LEDs 'see' a smoothed current (which can even be smoothed further with an additional capacitor; see above). The buck driver circuit also has its own operating frequency, and this is often between 10kHz and 1MHz, with common frequencies being a few hundred kHz. The buck frequency is set by the value of the external inductor and is hence an engineering decision (it's a tradeoff between the advantages and disadvantages of higher vs. lower frequencies, respectively).
Long story short: if you PWM drive LEDs that are controlled by a buck LED driver, for all intents and purposes you get a fairly clean PWM-ed output, with the LEDs fully on (and fairly constantly so) during the on-phase and fully off during the off-phase.

Going back to the start for a bit; is this for video-work? If so, have you actually thought about what kind of PWM frequency would be necessary? Yes, I know - if you throw a lot of light at your scene, your camera will reduce exposure (back in the old days this was a lower 'angle' of the rotary shutter), for instance 1/1000, and that will make lights flicker especially if there PWM frequency of the lights is close to the shutter speed. However...why would you allow the camera to reach such fast shutter speeds? It's generally not desirable to do so, and from a cinematographic viewpoint, you'd be happier with your camera running at something like 1/50 or 1/100 shutter speeds. If you want to know why, watch these:

So UNLESS YOU'RE DOING HIGH-SPEED capture (which would evidently require faster shutter speeds), you don't need very high PWM frequencies. A few hundred Hz is actually enough - so the PWM output of an Arduino would be fine.

If, for whatever reason, you still want faster PWM frequencies, you'll need to design your LED drivers and PWM controller to allow for this. As you've noticed, the Arduino libraries are limited in what you can do in terms of frequencies, so let's put those aside for a bit. The first part is the LED drivers; as said before, LEDs need to be fed a constant current. I assume you're familiar with this and how it's often done; if not, use Google.

If you're using LED strips, I'm assuming that these are the kind with current limiter resistors all over the place. Inefficient, but for this particular purpose actually OK, because they have a fast (more or less instantaneous) response. The only thing is that you want the power supply to be able to keep up with the fast switching; some hefty buffer capacitors will help.

Then for the PWM drive part - you mention an IRF520 MOSFET. That's kind of...well, ancient technology, but the principle should work. HOWEVER, driving the gate of an IRF520 directly from an Arduino will give poor performance at high PWM frequencies. A power MOSFET has significant input capacity and a poor little Arduino (or most other logic chips) just isn't designed to handle that. So ideally add a gate driver (they come in convenient ready-made IC's).

And then the final part, how to get faster PWM frequencies? Well, that's the simple bit - ditch the Arduino and use something like an ESP32. It'll give you >10kHz PWM frequency at high resolution (12bit or so at 10kHz if memory serves). If you only need 8 bit resolution, you can even go higher. Problem solved! At least, that's how I did it (not for video lights, but a different application that benefits from high PWM speed & resolution). I didn't use LED strips because I find them inefficient and they're simply physically too big for me, so I went for discrete SMD leds and MP24894 led drivers. But the same principle works just as well for LED strips switched with a power MOSFET and a suitable gate driver.

But...TL;DR: think first if you really need a very high PWM frequency. My position is that most likely the <1kHz frequency you can easily get with off-the-shelf drivers is more than good enough!

I recommend another FET transistor (eg IRLZ44N) and a large increase of PWM frequency (maybe ~30kHz).

https://arduinoinfo.mywikis.net/wiki/Arduino-PWM-Frequency

Read my post above.
1: Probably unnecessary
2: More complicated than it seems if you want to do it right

Actually, you will find that almost all constant-current LED drivers have a (quite significant) capacitor across the output. This is why you cannot put a switch in series with the output to attempt to implement PWM on such a constant-current driver.

Basically, all options include PWM in one form or another. Sometimes I think the option of connecting a stepper motor to a variable resistor doesn't look so crazy anymore, :rofl:.

Anyway, I've realized that easiest way is to use a MOSFET as the whole internet is talking about. In that case, the question is what is better and easier, driving LEDs by connecting them in parallel (12 v, 1.5 A) or in series (36 v, 500 mA). Of course it will depend on the MOSFET I have to choose, but I'm aiming for the safer option, which would prevent LEDs and Arduino from cooking.

Regarding frequency, I tested section of LED strip, with camera shutter at 1/50. I got the following results: standard frequency 490hz - flicker disappears only at 100% signal, at 980hz at 60-100%, at 1500hz at 20-100%.

Yes, there may be a problem with high shutter frequency at high speed shooting, that's why I doubt the usefulness of digital LED control in the first place. Well as I have already understood getting what I want, namely Bluetooth control is the only way to get it.

As another option I will try to make arduino's PWM output frequency variable, and set the desired frequency at the right light. I have to check if PWM.h library provides this possibility.

Inductors still exist!

A suitable inductor combined with a capacitor will smooth out PWM in the actual LED circuit. They are not commonly used because of size (and cost) but - they do exist!

Didn't read all the replies, but the Meanwell L series (not the H) also have AFAIK "voltage dimming".
So no PWM (flicker) at all.

Meanwell (and PicoBuck) drivers are for strings of bare (1-3watt) LEDs. Not for LED strips.
Leo..

Yes, but the PicoBuck PWM is above 100kHz. Also it has an output control voltage input. So I'm confused about why you are ruling it out.

The more I read into this topic, the more I realise that you can't get away with just a mosfet... and the more I realise I know nothing...

I'm not ruling it out just yet, but I realise it will be running at its maximum and that's not good, I suppose. If I were to use it, I'd have to connect three LED strips in series to each channel, which is 36 volts and 600 milliamps per channel, is ideal for my project, but there's no safety reserve left.

And besides, the local dealer sells this module for two and a half times as much as SparkFun, which makes it not pricey, but overpricey. Although, I would buy it without thinking if I knew for sure it would work for me, but my initial knowledge doesn't give me 100 percent confidence that I won't burn something.

I don't know the prices but it must be much less than camera equipment...

The PicoBuck used the same circuitry as the Meanwell modules, so they basically have the same PWM specifications, despite what the marketing blur says.

What is important with the LED driver chip is minimum 'on' and 'off' times.
With 50% PWM you can have a PWM frequency of 50kHz, or even 100kHz.
With a 25% PWM setting, those numbers halve.
With 8-bit PWM, and on a setting of 1 or 254, you should not go above 100k/256 = ~400Hz.
So if you limit PWM range, you can safely increase PWM frequency.

Don't forget what I've said about DC dimming. The PicoBuck should also be able to do that.
The PicoBuck however tops at 2watt/LED and strings of 6 (on a 24volt supply).
Leo..

As said, Meanwell modules and PicoBuck drivers are the wrong choice for LED strips.

White LED strips (with 0.2watt LEDs): Mosfets.
LEDs on a star base (with 3watt LEDs): Meanwell 1000 (3watt) or Picobuck(1 or 2 watt).
Leo..

Ok, thank you all for answers. I porches some IRLZ44N mosfets , and one PicoBuck for testing. Perhaps with some adjustment of the PWM signal, I can get rid of the flickering.

Get an inductor and a capacitor.

Oh, you will need a commutating diode too. :grin: