← Back to projects

Supercapacitor Buffer

A bidirectional power stage for smoothing pulsed DC loads

  • Altium
  • LTspice
  • STM32

Overview

This project explores a bidirectional buck-boost stage that places a supercapacitor bank between a constrained DC source and a pulsed load. The controller charges the bank when headroom is available, then supports the rail during fast load steps.

Design targets

Parameter Target Measured
Input voltage 12 V nominal 11.8–12.2 V
Peak load 8 A for 250 ms 8 A for 250 ms
Rail droop < 500 mV 310 mV
Switching frequency 250 kHz 248 kHz

The primary constraint was limiting source current without slowing the load’s transient response.

Control approach

The STM32 samples the source current, rail voltage, and capacitor voltage. A fast inner current loop handles the converter while a slower supervisory loop sets charge and discharge limits.

current_error = current_target - current_measured;
duty_command += kp * current_error + ki * current_integral;
duty_command = clamp(duty_command, DUTY_MIN, DUTY_MAX);

Results

Bench testing confirmed stable transitions between charge and assist modes. The next revision will add per-cell monitoring and reduce the high-current loop area in the PCB layout.