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.
Can you slow the turn on of the active fets? this will help

a two stage filter to your current sense seems like a good idea, say 2 x 100 ohm with 470pF across, then 2 x 470ohm with 100pF across going to pins 4 & 5 - this will hopefully get rid of the spikes but still give you fast response ( remove the 440nF )

It would appear your diodes have large reverse recovery ( inside the fets or the schottkies ) snubbers across all devices will help too

- - - Updated - - -

p.s. get the soft start working - if it starts lovely then goes to pulse skipping after reaching nearly full pwm - you know it is the control ...

- - - Updated - - -

OK - I just had a look at the gate drive - would be helpful to put in say 22 ohm as a turn on resistor on each fet - and a schottky diode ( 500mA 40V ) backward across each 22R for fast turn off - this will help immensely in reducing noise due to reverse current in diodes.

Also - for a given choke size there is an optimum freq of operation - too high and the freq losses in the core may get you - even though the current ripple is reduced - there is an eddy current pulse every time you put volts across the choke - AND - going too low in freq gives too much ripple which causes wire heating ( RMS goes up) and deltaB heating in the core ( larger flux swing) , some where in the range 100 - 150kHz is usually the sweet spot.

- - - Updated - - -

also make sure the batt charging ckt is not limiting current to the batt for some reason ....
 
Last edited:

You have to size all the components first.

Calculate Lmin from equations on page 23. Calculate for both buck and boost modes and then take the bigger value to be your design Lmin.
 

You have to size all the components first.

Calculate Lmin from equations on page 23. Calculate for both buck and boost modes and then take the bigger value to be your design Lmin.

The only way to calculate Lmin with the equations in the datasheet is to first know I_max and deltaI_max so I wanted to make sure I was finding those and using those correctly.

Assuming my input supply can range from 22-26V,

Worst case buck mode will be:
L_MIN = (22V*(1-[22/26])) / (120kHz * 7.35A * 14.7A) = 261nH

Worst case boost mode will be:
L_MIN = (22V*(1-[22/30])) / (120kHz * 7.35A * 14.7A) = 452nH

5.6uH definitely gives me enough L, is it too much causing too much noise and ringing? I was originally intending for the design to work with a much wider input voltage (down to 12V) at a lower output current, which is why my L is so high. The demo board uses the exact same inductor. If I can gain stability in the control by using less L, I can order something like this?
https://katalog.we-online.de/pbs/datasheet/7443556130.pdf

OK - I just had a look at the gate drive - would be helpful to put in say 22 ohm as a turn on resistor on each fet - and a schottky diode ( 500mA 40V ) backward across each 22R for fast turn off - this will help immensely in reducing noise due to reverse current in diodes.

This is my next step, I will let you know how it goes and also try your other suggestions. Thanks!
 

No improvement. Something is still limiting the average charging current.

Used 22R with 50V 500mA SBR diode in reverse to slow turn on time but allow fast turn off time, no improvement, Iout = 2.2A still

Also added 1uF capacitor to I_LIMIT pin for slow start. It seems to be working (charges up on boot) but does not improve stability.

Using the dummy load, I can increase the current draw all the way up to about 7A, 29.2V output before the powerpath P-FET starts to limit current (gate increases and output voltage drops off).
This should not happen until 10A with Rcs set to 5mR (0.05/0.005 = 10A)

But even if the powerpath P-FET is limiting output current to 7A, I should still see more than 2A output to the battery?




Would a smaller choke value (like 1uH?) be better for me since my Vout is very close to Vin and duty cycle will typically be low? Vin= [22...26V] Vout=[22..29.2V]

I've started to look at different controllers because I cannot get the LTC4020 to work and there is no design reference I can follow.
The LTC3789 4-switch buck/boost controller has a completely different equation for calculating minimum inductance
LTC3789.jpg

With my same values for this design, I get:
Lboost = 17uH
Lbuck = 0.4uH
(I'm assuming the %Ripple term is in percent (20) not decimal (0.2) because of the 100 in the top of the equation)

Why would my inductor value for this synchronous converter be so different than the LTC4020?
 

It should be 20. 0.2% as ripple would of course be too tight.

You probably need more patience. Take a little time out. A little more thoughtful view might just be all you need. I'd say you should abolish completely the idea of emulating the other board. Concentrate more on the datasheet information.

One thing you haven't done is providing your schematic as is.
 

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
View attachment 152561

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?

Yes I came in to post this after reading your OP.

The battery is a voltage source of its own so your converter needs to operate in a continuous current limit mode. It's possible the converter is hitting much higher currents for short periods of time, saturating the inductor, etc in these fault events.

To vet the power stage with the battery as a load I would try to get it running with a requested output voltage equal to the battery voltage. This should be zero current. Then slowly ramp up the requested output voltage and you should be able to manipulate the current until you get to the operating point you're looking for.


Now you need to design a current regulation loop that does that for you....
 

please post the wave forms when soft starting on the battery - this will be very instructive
 

It should be 20. 0.2% as ripple would of course be too tight.

You probably need more patience. Take a little time out. A little more thoughtful view might just be all you need. I'd say you should abolish completely the idea of emulating the other board. Concentrate more on the datasheet information.

One thing you haven't done is providing your schematic as is.

Unfortunately I am not highly experienced with larger power and switching components. I have done many asynchronous buck or boost converters with controllers but they are hard to screw up. This is my first synchronous converter so maybe it was a bit ambitious. The LTC4020 is advertised in a way that it doesn't require a lot of difficult design or tuning and is the exact solution I need. I really don't know any more than the basic theory of buck-boost controllers and definitely don't know how to properly spec an inductor. But the fact that I can't even get close to the Eval board capabilities using all the same parts as the Eval board must mean I went wrong somewhere else.
I think I need to look at a design where the powerpath and battery charge control are separate from the buck/boost converter. Basically a LTC4000 and LTC3789 which is what the Eval board DC1721B has.

The schematic I attached to my 2nd post is exactly how it sat when I posted it. All that has changed since then are suggestions from this thread - larger CsenseB capacitor, changed the switching frequency to 120kHz, adding I_Limit soft start capacitor, and adding gate resistors and reverse diodes.



Now you need to design a current regulation loop that does that for you....

If I wanted to do that myself I wouldn't have chosen the LTC4020 which is advertised as doing exactly that. The problem is I don't know enough about the regulation loop to figure out why it's not working.
 

The app note suggestion of 330nF across the I sense pins is a very lazy form of attempt at filtering - and takes no account of the L in the traces leading to it - this is why I suggested the 2RC, 2RC approach which works very well at ridding spikes.

You are pretty close but more info is needed to track down the cause - posting soft start waveforms will tell if it works properly up until some other control takes over...

look at all the control waveforms on your dummy load and then repeat with battery - put 0.5 ohm in series with battery and see if this makes a difference

from experience the reverse current available from the batt is causing interference when a fet turns on - if you can trace this you will solve it ...
 

Simulation showing typical waveforms. Control is by op amp. Supply voltage varies between 15 and 30v.

Since it is current controlled the op amp turns on the transistor, until the sense resistor rises to 12A (regardless what is the supply voltage). Likewise the battery receives 12A pulses of current (when one transistor shuts off and the other transistor turns on).

The pulses are ramp waves. Duty cycle is approx 50 percent. So average charge current=3A. Your inductor has a saturation spec of 33A. If you want 6 or 7A average charge current (as read on an old-fashioned analog meter), then you must minimize all parasitic resistance in your system.

buck-boost opamp controlled supply 15-30v charges 27v battery 12A pulses.png

Hysteresis range is determined by the 200k pot and the 500pF capacitor. The capacitor provides a time delay, just the right amount to maintain oscillations.
 

Update - Linear Tech support has finally responded to me in regard to questions on their LTC4020 datasheet (after 2 weeks) and included their proprietary design spreadsheet for the LTC4020. It's password protected so I cannot see how they calculate their values however.
I've updated it with all my specifications and their suggested choke is 0.6uH also, however that results in huge inductor currents (50A Ipeak).
If I put 5.6uH into the spreadsheet, it shows the IL choke current range from 18.5A (at Vin=22V) to 15.7A (at Vin=26V). My RsenseA/B sense resistors are 3mR for 16.6A Iavg limit.
spreadsheet.jpg

I guess I need to increase the Iavg limit?

It brings me back to these equations from the datasheet:
IL.jpg

Using 12A output (same as spreadsheet), I do not get the same values the spreadsheet gets at Vin=22V
IL ~ 12A * (29.2/22)
...
IL ~ 15.9A So where does the 18.3A come from? Safety factor?

I've stacked parallel RsenseA/B resistors so my I_LIMIT is now effectively set to double (33A) as an experiment. Output current to the battery is increased to 4.0A but still limited. I know it's the converter because when I decrease the input voltage, the current output decreases
 

Usually these problems are linked to RFI noise getting into the current sense pins - hard to see with a scope because putting the scope probe on the pin introduces MORE noise - use a leaded 10k ( or 4k7) resistor attached to the end of the probe with 4mm of wire from the R body to probe the I sense pins - you may be able to see something

if you probe directly and it gets worse ( less charging current ) you know RFI is the problem ...

It may pay to put a flux band around the choke and hook it to 0v via a 4R7 - this will limit magnetic RFI from getting into your control chip ( and the tracks from I sense R to the chip )
 
Update:
SUCCESS!!

I tried to add the 2-stage filter to CsenseB, but did not have all the right components on hand so for a test, I added 1uF capacitor to CsenseA and CsenseB. Now happily charging at 10.091 A

Now that I finally know the problem I can start working on Rev 2 and improve the layout (6 layer PCB- this one is 2 layer), with parallel sense traces, kelvin connections, and 2 stage filters.

With no airflow, the warmest part of the board gets about 66 degrees C but in the final solution there will be some heatsinks and fans. I need to increase Irms rating of the bulk capacitors, they get slightly warm and don't meet the specifications recommended by LTC's spreadsheet.

After 10 minutes of charging, the inductor has started making a hissing/static noise - this is the 22uH choke that has a lower saturation current (this one) so I need to improve that.

I have a lot more testing and changes to make but thank you all for helping me narrow down on the problem!
 

Well done - tell me - did the caps go from the pins to the local nearby 0v?
 

Usually these problems are linked to RFI noise getting into the current sense pins - hard to see with a scope because putting the scope probe on the pin introduces MORE noise - use a leaded 10k ( or 4k7) resistor attached to the end of the probe with 4mm of wire from the R body to probe the I sense pins - you may be able to see something
I believe you are 100% correct. I have been using a scope probe with ground wire clip but trying to measure current sense over 3mR, the induced noise in the ground wire and probe tip are more than the true signal - so it makes me think there is 200A spikes. I recently learned about these ground tips to use that reduce the loop area of the probe and reference-
PSo3N.jpg

This helped a little but still not perfect.

if you probe directly and it gets worse ( less charging current ) you know RFI is the problem ...
Yes.... that is why I went searching for the ground probe tip, that's exactly what was happening. Everytime I connected the ground clip, the current would change.

It may pay to put a flux band around the choke and hook it to 0v via a 4R7 - this will limit magnetic RFI from getting into your control chip ( and the tracks from I sense R to the chip )

Can you explain where I would find something like this? The PCB is pretty tight with a microcontroller and some sensors. I tried to keep the inductor as far from everything as possible but any shielding would help. Especially if I end up needing a toroidal core inductor to handle the current. Thanks!
 

look up flux band on google - brass thin sheet formed around outside of choke or Tx
 
The 1uF caps replaced CsenseA and CsenseB - they are close to the LTC4020. Highlighted (C39 and C40)
csenseb.jpg

(You can see my absolutely shameful trace routing for these sense leads here... I cut these traces on one of the prototype boards to solder twisted pair directly to the capacitor pads). This will be the first changes I make for the next revision and also add pads for filter components.

Thanks again Easy peasy!
 

Well done - tell me - did the caps go from the pins to the local nearby 0v?

snip2.jpg

- - - Updated - - -

flux band per the above

- - - Updated - - -

It seems you are are now all sorted - well done ...!

- - - Updated - - -

p.s. a photo of the lash-up would be instructive to other viewers on here ...?

- - - Updated - - -

Also - perhaps an oscillograph of the switching nodes at full power too ... ?
 

Easy peasy,
Unsure what you mean about the lash-up.
I have two prototype boards built - and have smoked most of the components on each a handful of times and reworked them dozens of times (I've gone through at least 10 LTC4020 chips...). A few accidental shorts with probes, bad solder reflow, and one reverse polarity event (~20V connected to the SGND pin on the data connector that blew up almost every chip on the PCB)
At the moment only one PCB is functional - which is the one I have not modified any traces on. The only updates to the functional PCB from the original schematic are:
-Change switching frequency to 120kHz
-Double-stack RsenseA and RsenseB to double the inductor current limit (now theoretical 33A limit which is too high)
-Add 1uF to CsenseA and CsenseB

As it sits right now - the overcurrent detection for the choke is probably not functional or safe. The choke cannot handle 33A, and the 1uF capacitor will make it slow to detect. But now that I know the problem, I can do testing and redesign the current sense to work properly. But with the traces routed poorly, I need to order new PCBs.
I'm still confused and a bit frustrated about how to properly calculate the I_limit current given the equations in the datasheet versus the spreadsheet (with inaccessible equations). Possibly with good RFI immunity, the values I selected originally would work okay.

Here are pictures of my 2 PCBs, if it is any help to any other users:

This is the one that does not work right now (I think the LTC4020 chip is blown and I am out of replacements)
DSC_1006.JPG

This is the board I have working. It has all sets of FETs installed, my original choke (22uH)
DSC_1005.JPG

I tried to capture soft start waveforms when it was not working but my scope was not triggering properly and I could not get a trigger on battery connection. It triggered twice correctly then stopped completely so I need to figure that out.

Here is the voltage over the inductor now when it is working (SW2 - SW1) at about 5A output with 4.7uH choke set to 196kHz (the 22uH choke was squealing too much so I had to change it).
I am thinking the sharp peak is RFI on the probe tip. Now that it is charging at full power I have to use a larger, non-isolated power supply so the probe ground creates a ground loop through Earth which is causing some strange behavior also.
DSC_1008.JPG
 

Getting there, it appears to be switching every 5uS = 200kHz...? if you put the shunt back to 0.003 ohms I take it you do not get full current?

The turn off spike is due to the fact there is not enough C right by the fets, or the routing from the fets to the caps is too long ( same thing ) causing turn off spike due to the energy in the wiring L and ESL of the electro's - it is a hard thing to get enough C close by - possibly worth slowing the turn off ( and turn on ) just a little.

A larger value inductor should not impede performance - it just means the control loop has to be a little slower - it has to have sufficiently low losses of course ( Rdc and Rac and core losses )

You have done pretty well - I hope the tidy up works just as well if not better - p.s. try a 10uF cap 1206 or bigger ( 50/100V) right across the shunts, and

caps to local gnd on the I sense pins right by the IC ( I know it is hard to find room ) but try on the working lash-up

Kind regards, EP.

- - - Updated - - -

p.s. it would be instructive to look across Q4, and Q5 ...
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top