Electronic – Open-loop Buck LED dimming

buckemcledled stripled-driver

About this buck LED driver…

enter image description here

TL/DR the questions:

1) I intend to drive the FET from a microcontroller PWM via a suitable FET driver. This open loop control scheme seems too simple. Is it a trap? I don't need accurate current control as this is for lighting my living room, 20% error on the current is okay, but I do need a wide dimming dynamic range.

2) Would a high side FET instead of low-side help with EMI by referencing the load to ground? Or will solid decoupling on VCC combined with the output cap be enough?

3) Do I need to put a filter on the output so my wires and strips won't radiate, or will it be okay with the inductor and output cap? The filter will only cost me a ferrite bead since there'll be several paralleled ceramic caps on the output, might as well split them in two groups and stick a ferrite bead in between.

Rest of relevant information:

Power Supply: 24V 10A, adjustable to 25.6V

Load: this is for a variable color temperature light which is implemented with 2700K and 5600K LED MCPCB modules. These LEDs have exceptional color rendition. In order to expand the color temperature range, I added 2200K 24V Strips and some 24V Red Strip too for extra coziness. This is mounted on aluminium extrusion. All MCPCBs and strips are designed to be driven with 24V and include resistors.

Each LED color will get one copy of the driver above. Max currents are 5600K LEDs @ 3.6A, 2700K @ 3.6A, 2200K @ 1.5A, Red @ 1A.

LED IV characteristics, if needed:

enter image description here

Links to datasheets FET Inductor (10µH for high current channels, 22-33µH for the others).

Control scheme:

Frequency will be between 100 and 250k, not decided yet.

Duty cycle is constrained by minimum ON-time and minimum OFF-time, so I'd simply switch to pulse density modulation in software at very low and very high power, ie some cycles would be fully ON or fully OFF, and others would have a pulse. I'd use software dithering (aka sigma delta) to randomly distribute the pulses to make sure it doesn't flicker. This is my preferred option, also it would allow to phase shift the channels, a bit like in a multiphase buck, to reduce demands on the power supply.

When the buck works in discontinuous mode (inductor current reaches 0 and stays there during part of the cycle) each cycle results in inductor current ramping up then down which pumps a certain amount of charge into the output cap, which results in a current source controlled by frequency and ON-time. This is a nice feature. It'll be inaccurate but a 10-20% variation in output is unnoticeable anyway, and it won't flicker. Plus, at very low current, dynamic resistance of the LEDs increases which makes the output cap's RC filtering action more effective.

At high power when the inductor current is continuous, then PWM will simply control the output voltage. In this mode, the resistors on the LED modules dominate their impedance, so they can be voltage-controlled I guess. I measured the voltage on the MCPCB resistors, and it turns out that the current in each series string of LED is very well balanced. The manufacturer bins their LEDs by forward voltage, so that explains it, the LEDs are actually matched. Neat.

I know I'll have to devise a control law from desired intensity to PWM/PDM values, and that it won't be super accurate, but as long as it's monotonous and I can set the intensity and color temperature with +/- buttons on my remote control, that will do just fine.

Best Answer

There is nothing wrong with running this setup as open-loop. Closed-loop is only really needed if trying to achieve some exact repeatable output, like a voltage regulator. In this case, all you're trying to get is a lighted output and the chances of noticing if the voltage is 19.2V or 19.7 after turning the light on are very small.

Now what I would suggest is to move the MOSFET to the input of the circuit rather than the output. The circuit as it sits will radiate a lot because the switching current is in the entire thing. By moving the MOSFET to the input the switching currents will be filtered before being delivered to the LEDs. Then by placing the buck converter in a metal enclosure, the radiation will be limited. Be sure to provision for a snubber on the MOSFET. Not having a snubber is a quick way to overheat the FET.

enter image description here

Also, make sure that the inductor is capable of delivering the continuous current if the MOSFET is on all the time without overheating and obviously fuse everything.