Pulse-powered current limiter

Hi,

I am experimenting with white LED COBs and wanted to power them from a constant current source while still having the PWM dimming capability. The current limiter should be located next to the diode and the lamp "interface" should be regular two wires. In other words, the current limiter should be capable of being powered from a +12V/open drain source with the PWM frequency of ~400Hz.

I started my experiments with a boring two-transistor series MOSFET/BJT current limiter. The voltage at the MOSFET source turns on a BJT that steals the MOSFET gate voltage, stabilizing the drain current. It works, but the V_BE tempco makes the current drift way beyond my comfort zone. OTOH, an opamp-based current limiter + a decent reference would keep the current rock-solid, but it can go nuts during the PWM edge transients.

Any suggestion on how to make a limiter capable of being PWM-powered and maintaining stable current during the ON phase down to, say, 3% accuracy over the 11-15V input voltage range and 25-80 degrees C temperature would be appreciated. The nominal LED voltage is 9V and the required current is ~500mA. Are there any particularly forgiving opamps?

Best regards, Piotr

Reply to
Piotr Wyderski
Loading thread data ...

Depletion fet? They aren't accurate to 3%, but an LED shouldn't need that sort of precision.

Reply to
John Larkin

fredag den 18. februar 2022 kl. 22.29.33 UTC+1 skrev Piotr Wyderski:

MOSFET and something like the lower voltage TL431, TLVH431 ?

maybe a diode and capacitor to provide a constant supply for the gate/reference

Reply to
Lasse Langwadt Christensen

John Larkin wrote:

I love them, but they have pretty high V_TH and it is temperature-dependent too. Too much voltage drop and doesn't solve the tempco issue -- a regular 2 BJT limiter performs better.

Absolute accuracy is not required, but some value of the current should remain relatively stable. What's the point of PWM dimming if the lamp current can drift away by 20% just because the lamp has been turned on for some time?

Below is one idea. The differential amplifier looks good, so at the sim level it boils down to the tempco of the reference. Google says 5.6V zeners are particularly good, but I don't know how good is good. Looks like it would be worth torturing with a hotair gun with the Q5 and Q7 being a BCV61 and Q1 and Q2 a BCM847.

Best regards, Piotr

Version 4 SHEET 1 1700 1204 WIRE 0 -224 -64 -224 WIRE 160 -224 0 -224 WIRE 1360 -224 160 -224 WIRE 1536 -224 1360 -224 WIRE 0 -208 0 -224 WIRE 160 -192 160 -224 WIRE 0 -112 0 -128 WIRE 1360 -48 1360 -224 WIRE 160 -32 160 -112 WIRE 160 -32 -64 -32 WIRE 608 -32 160 -32 WIRE 160 -16 160 -32 WIRE 608 0 608 -32 WIRE 160 64 160 48 WIRE 608 96 608 80 WIRE 608 96 464 96 WIRE 608 128 608 96 WIRE 608 224 608 208 WIRE -64 400 -64 -32 WIRE 1536 416 1536 -224 WIRE 1536 544 1536 496 WIRE -64 576 -64 480 WIRE 144 576 -64 576 WIRE -64 608 -64 576 WIRE 144 608 144 576 WIRE 1360 624 1360 32 WIRE 1360 624 1248 624 WIRE 1488 624 1360 624 WIRE -240 656 -336 656 WIRE -128 656 -160 656 WIRE 288 656 208 656 WIRE 1248 656 1248 624 WIRE 1360 688 1360 624 WIRE 1536 688 1536 640 WIRE 1696 688 1536 688 WIRE 1536 704 1536 688 WIRE 144 736 144 704 WIRE 1248 736 1248 720 WIRE 1248 736 144 736 WIRE 1296 736 1248 736 WIRE 288 752 288 656 WIRE -64 800 -64 704 WIRE 32 800 -64 800 WIRE 1536 800 1536 784 WIRE 464 832 464 96 WIRE 464 832 288 832 WIRE -64 864 -64 800 WIRE 144 864 144 736 WIRE 32 912 32 800 WIRE 32 912 0 912 WIRE 80 912 32 912 WIRE 288 976 288 944 WIRE 1360 992 1360 784 WIRE -64 1008 -64 960 WIRE 144 1008 144 960 WIRE -336 1200 -336 656 WIRE 1696 1200 1696 688 WIRE 1696 1200 -336 1200 FLAG 0 -112 0 FLAG 288 976 0 FLAG 160 64 0 FLAG 1360 992 0 FLAG -64 1008 0 FLAG 144 1008 0 FLAG 1536 800 0 FLAG 608 224 0 SYMBOL pnp -128 704 M180 SYMATTR InstName Q1 SYMATTR Value BC557C SYMBOL pnp 208 704 R180 SYMATTR InstName Q2 SYMATTR Value BC557C SYMBOL voltage 0 -224 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 12 SYMBOL res 272 736 R0 SYMATTR InstName R3 SYMATTR Value 1 SYMBOL voltage 288 848 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V2 SYMATTR Value 0.6 SYMBOL res -144 640 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R4 SYMATTR Value 1 SYMBOL npn 1296 688 R0 SYMATTR InstName Q3 SYMATTR Value BC547B SYMBOL cap 1232 656 R0 WINDOW 3 -55 51 Left 2 SYMATTR InstName C1 SYMATTR Value 100p SYMBOL res 1344 -64 R0 SYMATTR InstName R5 SYMATTR Value 4k7 SYMBOL zener 176 48 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D1 SYMATTR Value BZX84C6V2L SYMATTR Description Diode SYMATTR Type diode SYMBOL res 144 -208 R0 SYMATTR InstName R6 SYMATTR Value 1k SYMBOL npn 0 864 M0 SYMATTR InstName Q5 SYMATTR Value BC547B SYMBOL npn 80 864 R0 SYMATTR InstName Q7 SYMATTR Value BC547B SYMBOL res -80 384 R0 SYMATTR InstName R2 SYMATTR Value 10k SYMBOL nmos 1488 544 R0 SYMATTR InstName M1 SYMATTR Value FDS4885C_N SYMBOL res 1520 688 R0 SYMATTR InstName R8 SYMATTR Value 1.2 SYMBOL res 1520 400 R0 SYMATTR InstName R9 SYMATTR Value 1 SYMBOL res 592 -16 R0 SYMATTR InstName R1 SYMATTR Value 9.6k SYMBOL res 592 112 R0 SYMATTR InstName R7 SYMATTR Value 1k TEXT -344 584 Left 2 !.tran 1

Reply to
Piotr Wyderski

I was experimenting with the MAX8515 from Mouser, but it was a total disaster. It looks as if the the physical part and the datasheet were completely unrelated. IMHO the origin excludes counterfeiting, but the way the part misbehaves makes me think that even the pinout cannot be right. If I just connect IN and PGND/GND and leave FB and OUT unconnected, the chip draws 40mA, while the datasheet says 1mA max. When I connect FB to GND, the current consumption goes to 0. The scope says it is not oscillating. No idea where the 40mA goes, as the high-power path is through the OUT pin. When connected to the FET, it jumps to the

40mA mode and starts oscillating at the OUT. 100nF kills the oscillations, but the chip looks offended and keeps the FET almost off. Same behaviour with 3 different chips.

I had similar experience last year with some Maxim boost converter -- the chip looked haunted, while a TI part did the job right out of the box. Not going to use any Maxim part anymore.

I have suddenly started liking discretes.

I considered this, but keep it a last resort solution.

Best regards, Piotr

Reply to
Piotr Wyderski

It's just an LED! I doubt that you would notice 20% light output change. LEDs get dimmer as the temp goes up anyhow.

There are cheap LED current limiter chips.

Or maybe an LM1117 and a resistor.

Reply to
John Larkin

At lower voltage, there's integrated solutions for onesie white-output LEDs, like AMC7135 (that one's about 350 mA, 6V), in three-pin packages. At 9V nominal, even the venerable uA723 with a pass transistor could do something close to valid, with its overcurrent limit; maybe 10% accuracy.

Reply to
whit3rd

But would it like pulsed supply? This is the core issue, not how to build a limiter itself. I have no idea what's inside a real opamp/refrence/LDO and the models probably do no cover this aspect. Or maybe they do, some randomly selected LTC opamps went monkey in LTspice.

Best regards, Potr

Reply to
Piotr Wyderski

A small resistor to swamp the tempco?

Reply to
David Eather

or an NPN with two diodes as reference, all thermally connected

Reply to
Lasse Langwadt Christensen

Haha! A sign of maturity and useful in a time of supply shortages and no second sources!

piglet

Reply to
piglet

It can be even simpler, just use the TLV431 as a kind of NPN with precisely defined Vbe, as in this sketch ...

formatting link

piglet

Reply to
piglet

This is exactly how I wanted to use the MAX8515, but for some reason it just doesn't work. It even does notwork without the FET - it looks like it needs tons of capacitance to start behaving.

Best regards, Piotr

Reply to
Piotr Wyderski

For an op-amp based current limiter, you want one that comes out of saturation fast, i.e. in a small fraction of your PWM period. Some are orders of magnitude better than others in this respect, but it's rarely mentioned in the datasheet.

There was a list of good ones in AoE III IIRC. I'll have a look in my copy when I'm back in the office next week.

Reply to
Rhydian

I am not familiar with the MAX8515 but knowing the way they think it is probably massively over complicated and expects a proper unvarying supply rail. The simple '431 can work to surprisingly high frequency. If even a '431 is unbearable then since this is an undemanding application you could make a two NPN diff amp with a reference somewhere from 0.9 to

1.5V made from a divided down zener?

piglet

Reply to
piglet

Just thinking - some op amps misbehave when driving a capacative load. Not any load but only a value between certain values. Does it still misbehave if you isolate the 8515 and the fet with say 1k?

Reply to
David Eather

This is exactly what my sim does:

formatting link
Best regards, Piotr

Reply to
Piotr Wyderski

On 20/02/2022 7:12 am, Piotr Wyderski wrote:

Sorry but I don't understand the need for a second 431?

I was thinking of something much simpler, like this ...

Version 4 SHEET 1 1700 1204 WIRE 464 -224 48 -224 WIRE 800 -224 464 -224 WIRE 976 -224 800 -224 WIRE 1184 -224 976 -224 WIRE 464 -192 464 -224 WIRE 1184 -48 1184 -224 WIRE 464 -32 464 -112 WIRE 608 -32 464 -32 WIRE 976 16 976 -224 WIRE 608 64 608 -32 WIRE 1184 80 1184 32 WIRE 464 112 464 -32 WIRE 976 160 976 96 WIRE 1136 160 976 160 WIRE 48 176 48 -224 WIRE 800 192 800 -224 WIRE 976 192 976 160 WIRE 608 240 608 144 WIRE 736 240 608 240 WIRE 1184 240 1184 176 WIRE 1184 240 1040 240 WIRE 800 304 800 288 WIRE 896 304 800 304 WIRE 976 304 976 288 WIRE 976 304 896 304 WIRE 608 352 608 240 WIRE 896 368 896 304 WIRE 1184 384 1184 240 WIRE 48 528 48 256 WIRE 464 528 464 176 WIRE 464 528 48 528 WIRE 608 528 608 432 WIRE 608 528 464 528 WIRE 896 528 896 448 WIRE 896 528 608 528 WIRE 1184 528 1184 464 WIRE 1184 528 896 528 WIRE 48 576 48 528 FLAG 48 576 0 SYMBOL voltage 48 160 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(11 15 0 1 0) SYMBOL res 960 0 R0 SYMATTR InstName R5 SYMATTR Value 22k SYMBOL zener 480 176 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D1 SYMATTR Value BZX84C6V2L SYMATTR Description Diode SYMATTR Type diode SYMBOL res 448 -208 R0 SYMATTR InstName R6 SYMATTR Value 470 SYMBOL npn 1040 192 M0 SYMATTR InstName Q5 SYMATTR Value BC547B SYMBOL npn 736 192 R0 SYMATTR InstName Q7 SYMATTR Value BC547B SYMBOL nmos 1136 80 R0 SYMATTR InstName M1 SYMATTR Value FDS4885C_N SYMBOL res 1168 368 R0 SYMATTR InstName R8 SYMATTR Value 2.2 SYMBOL res 1168 -64 R0 SYMATTR InstName R9 SYMATTR Value 1 SYMBOL res 592 48 R0 SYMATTR InstName R1 SYMATTR Value 22k SYMBOL res 592 336 R0 SYMATTR InstName R7 SYMATTR Value 4700 SYMBOL res 880 352 R0 SYMATTR InstName R2 SYMATTR Value 470 TEXT 112 584 Left 2 !.tran 1 TEXT 336 584 Left 2 ;Piotr - EPW SED FEB 2022 - PWM-able current sink

piglet

Reply to
piglet

This is to ensure low voltage drop at the current sense resistor. It moves the 0-0.6V CS range to 2.5-3.1V where the second 431 can start regulating, as its V_REF is 2.5V.

I have just prototyped this one and its performance is stunning -- it starts with 497mA and I cannot move it by more than 4mA with the hotair gun. In the 11-15 V_IN range I can see no current change, it is only temperature-dependent. Problems: at 250mA it is inherently stable, at

500mA it starts oscillating, so a 22nF cap at the main REF is required to kill it. [snip your sim -- thank you, most interesting. It requires >1V reference though. My PNP diff amp was to allow <0.6V]

Best regards, Piotr

Reply to
Piotr Wyderski

Thanks, yes I understood it within a few minutes of my first reply, it should work fine - as you then proved!

piglet

Reply to
piglet

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.