Running synchronous buck at fixed duty in bidirectional mode - Page 1
Forum section: electronics / projects

author: Miyuki
author_rank: Frequent Contributor
timestamp: January 27, 2025, 12:46:42 pm
content: Hi folks,I need a fixed ratio bidirectional DC-DC to connect 24V and 48V battery backup systems.The battery will be just on one side and there are redundant power supplies on both sides.It is all voltage controlled so it needs to keep the voltage ratio fixed.The main purpose is to connect those two systems and spare one backup battery (Lead acid).Can I just slam there a synchronous boost stage driven with ~0.5 duty and call it a day? In theory, it will maintain a nice 1:2 ratio and work bi-directionally.The current state of the system will be a 24V battery then the main power supply will be on the 48V side and the backup supply will be on the 24V side with the battery. Devices feeding from both voltages.Power levels are around 50W that might flow through this DC-DC stage

author: Siwastaja
author_rank: Super Contributor
timestamp: January 27, 2025, 12:52:16 pm
content: It will blow up in transient conditions: including something as simple as start-up.You might be able to deal with it by using oversized MOSFETs, oversized inductor (larger than otherwise necessary saturation current, so that it doesn't saturate), and/or extra series resistances (to limit current) - but a proper solution involves current sensing of some sort, and controlling the MOSFETs to actively limit current.You might be able to do it analog, with current sense amplifier feeding into comparator and that swapping the MOSFET state (i.e. negative overcurrent -> turn slope into positive; positive overcurrent -> turn slope into negative). I did something like that once.

author: mtwieg
author_rank: Frequent Contributor
timestamp: January 27, 2025, 01:18:06 pm
content: Quote from: Miyuki on January 27, 2025, 12:46:42 pmSo in total there are three power supply/sinks, one 48V supply, one 24V "backup" supply, and one 24V battery, how do you presume to connect all three together with only one DCDC stage?

author: aandrew
author_rank: Frequent Contributor
timestamp: January 27, 2025, 10:49:39 pm
content: Quote from: Siwastaja on January 27, 2025, 12:52:16 pmThis sounds kind of interesting -- would you mind describing what you did in more detail?

author: electron_plumber
author_rank: Regular Contributor
timestamp: January 28, 2025, 01:55:40 am
content: You can theoretically run a buck in reverse as a boost, but most converter IC's aren't designed for it. Many off-the-shelf buck controllers are current-mode controlled. And the internal current sensing amplifier often has more dynamic range for "positive" currents than "negative". Chip vendors often add just enough negative sensing range for transient conditions, not for running the converter backwards continuously.You can solve this by going discrete, or using a voltage control or other control topologies.QuoteYou could still use soft-start, and per-cycle current limiting, in an otherwise fixed duty cycle configuration.

author: David Hess
author_rank: Super Contributor
timestamp: January 28, 2025, 08:24:29 am
content: If you can figure out the current limiting, then it will work fine. A fixed duty cycle results in a fixed ratio of input to output voltage, which in this case is 50%. The control circuit is simple and similar to an inverter which drives a center tapped transformer.Quote from: Siwastaja on January 27, 2025, 12:52:16 pmI think that will work, but something more sophisticated might be required.Another feedback loop could trim the duty cycle.

author: Miyuki
author_rank: Frequent Contributor
timestamp: January 29, 2025, 10:26:32 am
content: Current limiting is a valid point.It will probably need to be tested, but a simple peak current shutdown at a fixed level with a reset every cycle might do it.Just put current sense on the coil current and program the digital controller to do so.It might work bidirectionally and put it in constant current when the limit is reached.

author: bsdphk
author_rank: Regular Contributor
timestamp: January 29, 2025, 11:21:17 am
content: Been there, tried that, Dont do it.Itcanbe made to work, but it is simply not worth the bother and risk.Instead use two one way converters and adjust their output voltage to be slightly lower than the primary supplies, so that they only take over when the regular supply fails on the opposite side.It is important to connect the converter inputsdirectlyto the output terminals of the regular supplies, and the outputs to the "far end" (to the extent possible) so that cable-losses do not cause a situation where both converters try to support the other side at the same time, as will happen if you put the two inverters "on top of each other" with too much resistance to the regular supplies.

author: Siwastaja
author_rank: Super Contributor
timestamp: January 29, 2025, 11:27:27 am
content: Terminating the pulse on overcurrent, on pulse-by-pulse basis, should work fine. But you of course need two comparators, one for positive and one for negative overcurrent, and the state you need to transition to (what "terminating" or "off" means!) is the opposite.Quote from: aandrew on January 27, 2025, 10:49:39 pmIt was an analogue constant-current bidirectional battery charger/discharger (so between two banks at different voltage, but not exactly fixed to 50% like OP has), with digitally controlled fine-tune parameter to the current setpoint, and digitally controlled slow-response constant voltage mode (adjusting the analog current setpoint to maintain voltage).Design was something like:* Synchronous buck topology with output (after inductor) current sensing* Bidirectional shunt amplifier (INA something), with output biased to Vcc/2 at zero current* Two analog comparators (fast enough) to provide negative overcurrent and positive overcurrent signals* near-DC (slowly changing) reference levels for the comparators generated by potentiometers (testing) and later MCU PWM DAC* I think I needed a XOR gate somewhere as glue logic* Finally feeding bootstrap gate driver inputs (driver handling the deadtime)Basically just alternating the bridge state (which MOSFET conducts) in forced CCM, with negative and positive overcurrent limits set to produce the triangle ramp on inductor current.IIRC, it really didn't alternate between positive and negative overcurrent limits on every cycle, but rather used comparator hysteresis for setting the dI; and f_sw resulted from that (70kHz or so resulted).I remember it being a bit unstable at very low currents (like <1A for the 30A max design), and finally I ditched it when I wanted to do polyphase and for that a PWM from external clock source is kinda mandatory as this kind of free-running oscillator where the inductance itself defines f_sw was out of question. Then I went into digital solution using STM32F334 which I have discussed on this forum before.But it worked quite well due to its simplicity and at least it wasn't prone to subharmonic oscillation, I did quite many li-ion battery cycling tests with it.