Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Buck/Boost Battery Charger works on dummy load, but does not charge batteries

Status
Not open for further replies.

ben5243

Member level 3
Member level 3
Joined
Feb 26, 2019
Messages
55
Helped
3
Reputation
6
Reaction score
3
Trophy points
8
Activity points
849
Hi,
I have built an LTC4020 basically identical to the DC2134A evaluation board which should be capable of 8A output operating as a CC/CV charger.

My input is 24V and output is 29.2Vfloat for Lithium Ion battery (7S)

When I connect the charger output to a dummy load (large FET with CPU heatshink and adjustable current control), the charger will output 7+ amps and regulate voltage at 29.2V (limited by my benchtop power supply) with measured efficiency of around 93%. The inductor on my PCB gets slightly warm, but not hot.

When I connect the charger to a very large Li-Ion battery at 27V, the charger only outputs about 3.0A and the output voltage is only slightly higher than 27V (so it's not maxed out due to resistance of the battery). The inductor also gets very hot (too hot to touch) when the battery is connected.

I have probed the powerpath FET gate and the LTC4020 chip is not actively limiting the current to the battery, so it is a problem with the buck/boost converter. Is there a reason a battery would cause a 4-switch synchronous buck boost converter to behave differently? I can't understand why the charger is unable to deliver more than 75W of power to the battery, but it can deliver 175W+ to a dummy load.
 

depending on how many cells are in your battery - the current will be less as you exceed the float voltage on the Li-ion battery

if you flatten it first you should see full current
 

The battery is currently at 27V (Float voltage is 29.4V).
When charging the voltage does rise (due to internal resistance of cells), but only to about 27.5V so it is not in CV charging yet.

Something else is going on with the buck/boost driver and I can't seem to figure it out. Adjusting the switching frequency lower has help increase the current supplied to the battery, but not enough to satisfy the design.

I can connect the same battery to a hobby charger and it charges at a full 10A so it is discharged enough to receive full current in CC charging.
 

Hi,

May we see your PCB layout?

Klaus
 

without seeing the schematic - it is impossible to say - if you have a droop R in the feedback path - this would cause the effect you are seeing ...
 

...or wrong (wirewound) shunt or wrong power path PCB layout.. .

Klaus
 

Just show your schematic and list out your specifications.
 

The error amp on that chip is transconductance 8uA o/p and limited open loop gain, any leakage in or around the caps on the ITH pin will cause the power droop you are seeing, C0G or NPO 50V chip caps only and clean the board...!

- - - Updated - - -

if you put a big cap ( 47,000uF ) across your dummy load - do you get the same mis-behaviour?
 

My layout is a bit of a mess right now. In hours of troubleshooting, I've cut a few traces and added wires. At first I thought my layout for the inductor current sense resistors were causing the problem (not a proper kelvin connection) so I've cut those traces at both ends and soldered twisted pair wires to the top of the resistor chip (effectively kelvin connected) to connect them to their filter capacitor next to the LTC4020 and it made no difference at all.

I've switched out the main inductor a few times which has made the biggest change in current output. Now I'm using the same inductor that the DC2134A demo board uses which is giving me the same current output as my original selection (74437529203220)

The circuit should be almost identical to the demo board now, with only difference being voltage output is for 7S and inductor current limit and charge current limit are increased. I was hoping if I could understand why the dummy load works properly, but the battery does not, I could determine why my design or layout isn't working.

I've just discharged the battery to 22V and reconnected. The voltage input is still 24V so it's now operating in Buck mode and current output is even worse, only 1A and inductor still gets hot. Efficiency is about 82%.
If I decrease input voltage down to 20V, it is back to Boost mode and output increases to 2.5A but efficiency is only about 78%.

This makes me think it's more associated with the converter itself, not the powerpath control.

My capacitor on ITH pin (C51) is X7R, 16V, could that really be the issue?

I don't have a 47,000uF capacitor but I have added a 470uF to the battery output pads and the behavior is identical. Voltage ripple with the dummy load is about 120mV on the scope, with the battery the voltage ripple is slightly less, 100mV.
 

Attachments

  • layout.jpg
    layout.jpg
    255 KB · Views: 128
  • Battery Charger Sh01.pdf
    461.3 KB · Views: 159

Curious - can you post some photo's..? with a battery on the o/p you get proper ripple in the choke - i.e. current going backwards and forwards and this is what is causing the choke heating - and more importantly - extra volts across the choke which may be affecting the control ( i.e. it thinks there is more current than there really is ).

You need a quality choke that doesn't get hot - or put 4 in a square 4 arrangement - i.e. same L but half the current in each choke.

- - - Updated - - -

the data sheet suggests 330nF ( 0805 X7R ) on SENSBOT to GND ( i.e. pin 4 - 5 ) to go with the 0.003 ohm sense resistor - worth a try ...
 
Sure, I will try to get some pictures - do you mean of my test setup with dummy load and battery? Or of the PCB?

I think you are on to something with the Csense capacitor. The datasheet shows
csense.jpg
for Csense, of ~330nF like you said. I remember doing this calc, so I have no idea how I got 10nF in my design. I'll get some proper capacitors on order for Ith and Csense....


I just took a look at the voltage across the inductor on the scope (I know this is not as good as measuring current through it) and it seems the converter is stopping periodically.
OCD.jpg
Which would tie directly into Csense value being too small and allowing the overcurrent detection to trigger.

Also, I forgot to mention, the frequency is set to 250kHz now, not 100kHz.

This is in boost mode, no load. Vin = 20V, Vout= 29.2V, Iout= 0A
vin20-noload.jpg

Here is the voltage across the inductor when it is in boost mode with the battery connected, Vin=20V, Vout=22.5V, Iout= 2A
vin20_iout2A.jpg

If I play with the input voltage and bring it closer to the output voltage, the spacing between shutdown events spreads out (more cycles before a shutdown happens). With Vin the same as Vout, the shutdown events go away completely.
 

For comparison, here is the same measurement (voltage across inductor) when the dummy load is connected instead of the battery.

Vin=20.8V Iin=5.28A Vout=29.2V Iout=3.53A
vin20_dummy.jpg

I am starting to think the difference between the dummy load and battery are that the dummy load has its own current limiting and I gradually increase the load and stop before I exceed its power rating. The battery load is instant when connected and there is no current limit so it immediately overwhelms the converter and trips the overcurrent shutdown. I only can measure average charge current so I'm only seeing the average between a few cycles of the converter, then shutdown mode. Is there a reason constantly entering shutdown mode would cause the inductor to get very hot?
 

that makes sense - if if skips straight to some pulse overload condition - can you make the soft start closer to 1 sec?

also slowing the control loop - and adding damping may give you better switching at current limit.
 

For your inductor to be that hot, it seems to me like it is saturating.

Also recheck how your computed your ILmax to select RSENSEA = RSENSEB, and ofcourse CSENSEB.
 

My input is 24V and output is 29.2Vfloat for Lithium Ion battery (7S)
...
When I connect the charger to a very large Li-Ion battery at 27V, the charger only outputs about 3.0A and the output voltage is only slightly higher than 27V (so it's not maxed out due to resistance of the battery).

29v to a 27v battery makes effective 2v going around the system.
To charge at 7A you need to apply a higher voltage to the 27v battery.
 

from the data sheet the choke is well inside saturation limits - it is the 250kHz that will be heating it ...
 

that makes sense - if if skips straight to some pulse overload condition - can you make the soft start closer to 1 sec?

also slowing the control loop - and adding damping may give you better switching at current limit.

The datasheet shows the soft start pin supplies 50uA to a capacitor to employ soft start from 0-1V range, I had a 1uF 6.3V capacitor on that pin, but ultimately will use an DAC with current sinking voltage follower (as drawn in the datasheet) to ramp up charging current slowly and disable charging for any BMS faults. Right now R34 (0 ohm jumper) is not installed but I did test that function and it works as intended.
However the RNG/SS pin I believe is a soft start for the powerpath charging current, not the inductor.

There is also the I_limit pin which can be used as a soft start on the inductor current - perhaps this would be more useful? Same 50uA current source, 0-1V range. I left this pin floating, same as the Demo circuit and the applications guide.

For your inductor to be that hot, it seems to me like it is saturating.

Also recheck how your computed your ILmax to select RSENSEA = RSENSEB, and ofcourse CSENSEB.

I am a little confused about how this datasheet (page 21) refers to IL_max vs I_max. The basic inductor current calc is pretty straight forward-
IL.jpg

A majority of the time I will be in Boost mode. I need 10A output reliably so I designed with a safety factor and used ~12A output. - 24V input, 29.2V, 12A output so I_L ~ 14.6A

Then, in the previous paragraph of the datasheet, the RSENSE calc is shown based on I_LMAX, described as maximum average inductor current. So this must be I_L? I_L = I_LMAX? The datasheet does not say.
IL_max.jpg
So RSENSEA/B = 0.05 / 14.6 A = 3.4mR (I selected 3mR, making I_L actually 14.7A)


Then many pages later in the datasheet, they supply this equation to determine the inductor ripple current, based on I_LMAX.
ILripple.jpg

Using worst case maximum Duty Cycle = 50%,
I_deltaRMS ~ 14.7A * 0.5 * sqrt(1/0.5 - 1) = 14.7A * 0.5 = 7.35A



The datasheet then gives the advice for selecting an inductor:
"Select an inductor that has a saturation current rating at or above 1.25 • IMAX, and an RMS rating above IMAX."

IMAX*1.25 = 18.375 A

The inductor I originally selected (this one) has a current rating of 23.9A @50C rise and Isat at 21.7A

The inductor I have installed right now (this one, same as the DC2134A eval board - capable of 8A output) has a current rating of 19A @50C rise and Isat at 33A

What does "RMS rating above IMAX" mean in this case? The Inductor RMS current rating must be above IMAX, 14.7A? Or did I misunderstand?
Thanks
 

RMS rating above IMAX is referring to the winding cross-sectional area. If the overall cross-sectional area of the winding wire is not thick enough, then the winding wire will fail
...

I noticed that RSENSEA AND RSENSEB programs the maximum average inductor current, not the peak. ILMAX is that average inductor current at full load.

DC = (Vout - Vin)/Vout.
In your case, DC = (29.2 - 24)/29.2 = 0.178

From the inductor datasheet, IMAX is 19A.

- - - Updated - - -

I_deltaRMS = IMAX*DC*sqrt ((1/DC) - 1) = 19*0.178*sqrt ((1/0.178) - 1) = 7.27A.
 
Last edited:
I have changed CSENSEB to 440nF (2x 220nF stacked) and changed the frequency to 120kHz.

At Vin = 24V, Vbatt = 23V, the current output is still only 2A.
At Vin = 30V, Vbatt = 23V, the current output is increased to 4.5A so buck mode is working better, but still limited by something.

At Vin = 24V, here is what is happening. CH1 (yellow) is voltage over RSENSEB (reference to PGND) and CH2 (blue) is voltage at SW2 (VOUT side of inductor)
vin24_120khz.jpg

Zoomed in:
vin24_120khz_zoom.jpg

At +100mV or -150mV, overcurrent detection is triggered. This is showing +800mV and -600mV, which would be +266 and -200amps? Is that right? Is this shoot-through?
It appears to happen when SW2 goes low which is when QD turns off and QC turns on. Or during QA refresh on the input side?

Any ideas?
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top