This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LM3409: Output current is different on every device connected

Part Number: LM3409


Tool/software:

Hi!

We have a design based on LM3409 IC. The original idea was to adjust the output current with a PWM signal on the EN pin.

After the first batch we started to test the circuit, but the currents were not close to the desired value. And it was not linear as well.

The first test was with a 1kHz pwm, but it instantly burnt out one of the LEDs we are using. Then we changed to 64 kHz.

The schematic is the following:

The design parameters and calculations are inculded in the led_driver.m file. The script was tested with the datasheet examples, it seemed to be working. (It is attached at the end of the post)

The problems we are facing are:

1) The PWM duty cycle is not linear to the current consumption.

2) In different leds the output current with the same duty cycle is different.

3) Even with EN pulled to Vin, and trying to control with Iadj pin, the output current at 1V is around 50mA.

Any help is appriciated! Thank you!

Coff = 470; %in pF
Vadj = 1.24; %in V
Vin = 24;
Vo = 22; %in V
Rsns = 0.08; %in Ohm
Iled = 1.3;
ilpp=0.085;
iledpp = 0.020;
rd = 2;
eta =0.95;
vinpp=0.500;
iled=1.3;
fsw = 515;
rdson = 0.012;
Vfd = 0.5;

Roff = -(1-Vo/(eta*Vin))/(490*1e-12*fsw*1e3*log(1-1.24/Vo))/1000
Roff=2.400
toff = -(Coff+20)*Roff*log(1-(1.24/Vo))
fsw = 1e6*(1-(Vo/(Vin*eta)))/toff
ton = 1/(fsw*1e3)-toff*1e-9
Cin_min=iled*ton*1e9/(1e3*vinpp)
L = Vo*toff/(1000*ilpp)
L=18
ilmax=iled+ilpp/2
Rsns=Vadj/(5*ilmax)
Rsns = 0.18
iled = Vadj/(5*Rsns) - ilpp/2
ilpp = Vo*toff/(1000*L)
Zc = 1e3*rd*iledpp/(ilpp-iledpp)
Co_min=1e6/(2*pi*fsw*Zc)
itrms = iled * sqrt(Vo/(Vin*eta)*(1+1/12*(ilpp/iled)^2))
Pt = itrms^2*rdson
id=(1-Vo/(eta*Vin))*iled
Pd=Vfd*id

  • Hello Balázs,

    I noticed a potential typo in your calculations. You mentioned Rsns = 0.18 ohms, but earlier in your calculations and in the schematic, Rsns = 0.08 ohms was used. Please verify you used the correct value for the desired output current. If the wrong value was used that would have a large impact in the LED current and definitely could lead to burnt LEDs if they were not rated for the increased current. 

    As far as the non-linearity between PWM and current, dimming frequency should be at least one order of magnitude lower than the steady state switching frequency to
    prevent aliasing. However, for good linear response across the entire dimming range, the dimming frequency may need to be even lower. I would try lowering your PWM frequency especially considering the possibility the LED burnt due to an incorrect LED current.

    Before we dive too deep into your other problems please review the Rsns typo and see how it propagates throughout your calculations. Let me know how it goes.

    Thanks,

    Jaron

  • Hello Jaron,

    Thank you for your feedback. Yes, that is a typo, we tried different Rsns, and that is the last result, I copied it. Sorry about that.

    In the original design there is 0.08 Ohm resistor.

    The original design was based on the 0.08 Ohm resistor, the measurements we took was with 0.08 Ohm resistor. The wrong currents made us try different values.

  • Hello Balázs,

    I'm noticing more problems with your calculations. Starting with the first equation for Roff, I have copied and pasted your values and equations into excel and am not getting the same result as you. You also have the result listed as Roff = 2.400 instead of Roff = 2400, to be clear I can't get either result from your equation and values but in subsequent equations it appears you are using Roff = 2.400 instead of Roff = 2400 and not compensating with any multipliers. 

    Along the same vein, in your equation for toff it appears you are plugging in 470 for Coff instead of 470e-12 to account for the units. 

    I recommend starting your calculations over from scratch paying close attention to the units. 

    Thanks,

    Jaron

  • Hello Jaron,

    My calculations were based on the example of 9.2.2 in the datasheet. I had a deep look at the dimensions, everything seems fine for me. I applied the design vaules of the example design, and got the same results.

    Some values are hard coded, like the 470pF:
    Roff = -(1-Vo/(eta*Vin))/(490*1e-12*fsw*1e3*log(1-1.24/Vo))/1000

    Here fsw was designed as an input in kHz, therefore the 1e3 next to it. At the end it was devided by 1000 to get the resistance in kOhms. After that, every equation was in the same dimensions as in the datasheet's detailed design guide.

    So far I can see the same results as in the datasheet.

    Another question came to my mind. How does the driver circuit reacts to a lower voltage LED? 

  • Hello Balázs,

    I've attached my spreadsheet. It appears that you recorded the incorrect result for Roff but used the correct result in all subsequent calculations. I am getting Roff = 5.51 kOhm not 2.4 kOhm and when 5.51 is used in the subsequent equations you get the correct results. Please review. 

    The device regulates current, not voltage. It adjusts the output voltage to whatever is needed to supply the set current through the LED. If the LED has a lower forward voltage, the circuit will reduce the output voltage accordingly while keeping the current constant.

    Thanks,
    Jaron

    LM3409 calculations for Balázs.xlsx

  • Hello Jaron,

    Thank you for your worksheet. I found a difference in the calculations. It seems like excel's LOG function is on base 10, if not specified differently, however octave's log is equivalent to ln, which was given in the datasheet.

    After adding the e base into excel, I get the same results as in octave.