Adam Cordingley

Dual-Phase Synchronous Buck - 1000W

(IN PROGRESS) Building a digitally controlled dual-phase synchronous buck converter

My university robotics team, CWRUbotix does frequent bench-testing of our robots. So I've taken it upon myself to build an adequate bench power supply. It needs to be variable from less than 12V to at least 48V and supply as much as 1000W. That's a lot of power supply. I found that sourcing beefy transformers is pretty hard, so I decided to start with off-the-shelf AC-to-DC power supplies. Then I would implement some kind of buck converter. For 1000W, I knew it would have to be multiphase. I started with the following basic concept:

12V power supplies are easy to come by ($18.88 each on Amazon>), so I figured I'd stack up 4 of them to acheive the 48V required (I trim each one up to 12.5V to account for losses). After some back-of-the-envelope calculations and much deliberation, I decided on two phases. I also decided to make it a synchronous topology because I need efficiency (even 5% loss at 1000W would be 50W to dissipate).

Next, I decided I would make it digitally controlled. The main driver behind this was discovering some STM32's have high-resolution timers. Their inner workings are pretty neat and they're highly configurable. The bottom line is they allow high resolution PWM even at relatively high frequency (100's of kHz in this application). My jumping off point was this application note from ST: AN4539 - HRTIM cookbook. It has examples for a single phase synchronous buck and a multi-phase asynchronous buck, but some augmentation was needed for my application, as I will discuss shortly.

Design Process

For the schematics, jump on down to here.

Power Section

To me, the most critical choices in this design were the switching transistors, inductors, and switching frequency. Finding suitable magnetics was the toughest part to me, so that's where I started. I wanted the largest inductance possible (to keep the switching frequency as low as possible) with the highest saturation rating possible. I identified a 6.8uH inductor with a 32A saturation current. That would do it.

Analog Front-End

Another important choice was how to handle the analog front end. Using the built-in 12-bit ADC's and basic feedback circuitry, it would allow at best about 12mV resolution. With some oversampling, that could be enough to make me happy. But I figured as long as I'm building this from scratch, I might as well make it nice. Although a 16-bit ADC would be sufficient, I elected to use a 24-bit ADC, the AD7172, because why not. It's highest sample rate is 31.25 kSPS, and at that rate about 20 bits are noise free. If this unit does nothing else, it will measure voltage and current really well.

Major Component Summary

Component Description Manufacturer MFG Part #
Microcontroller IC MCU 32BIT 64KB FLASH 64LQFP STMicroelectronics STM32F334R8T6
ADC IC ADC 24BIT SIGMA-DELTA 24TSSOP Analog Devices AD7172-2
MOSFETs MOSFET N-CH 100V 131A D2PK TO263 Vishay Siliconix SUM70060E-GE3
Inductors FIXED IND 6.8UH 36A 3.1 MOHM SMD Bourns SRP2313AA-6R8M
Output Caps CAP ALUM 220UF 20% 160V RADIAL Nichicon UCS2C221MHD1TN

Control Waveforms

The Schematics