1. 项目概述
Boost和Buck电路作为DC-DC变换器的两大基础拓扑,在电源设计中扮演着至关重要的角色。Boost电路能够将输入电压升高,而Buck电路则实现降压功能。这两种电路拓扑广泛应用于各类电子设备中,从手机充电器到工业电源系统都能见到它们的身影。
在实际工程应用中,单纯的开环控制往往难以满足严苛的性能要求。负载突变时输出电压波动大、动态响应慢等问题常常困扰着工程师们。为此,我们引入了双闭环控制策略——电压外环负责维持稳定的输出电压,电流内环则快速响应负载变化。这种控制架构不仅提升了系统的动态性能,还大大增强了抗干扰能力。
2. 电路拓扑与控制原理
2.1 Boost电路工作原理
Boost电路的核心在于电感的储能和释放。当开关管导通时,电感储存能量;开关管关断时,电感释放能量与输入电压叠加,从而产生高于输入的输出电压。其电压转换关系为:
Vout = Vin / (1 - D)
其中D为占空比。需要注意的是,占空比理论上不能达到1,实际应用中通常限制在0.8以下,以确保电感有足够的复位时间。
2.2 Buck电路工作原理
Buck电路通过PWM控制开关管的导通时间来实现降压。当开关管导通时,输入电压通过电感和电容向负载供电;开关管关断时,电感通过续流二极管维持电流。其电压转换关系为:
Vout = D × Vin
Buck电路的占空比理论上可以在0到1之间变化,但实际应用中也会设置一定的限制范围。
2.3 双闭环控制架构
双闭环控制系统由两个嵌套的控制环组成:
- 电压外环:监测输出电压,与参考值比较后产生电流指令
- 电流内环:跟踪电感电流,快速响应负载变化
这种架构的优势在于:
- 电压环确保稳态精度
- 电流环提供快速的动态响应
- 内在的电流限制保护功能
3. 硬件设计与实现
3.1 关键元器件选型
3.1.1 功率电感选择
电感值的选择需要考虑以下几个因素:
- 输入输出电压范围
- 开关频率
- 允许的电流纹波
计算公式:
L = (Vin × D) / (ΔI × fsw)
其中ΔI通常取额定电流的20%-40%,fsw为开关频率。
3.1.2 功率开关管选择
MOSFET的选择要点:
- 耐压:至少为最大输入电压的1.5倍
- 导通电阻Rds(on):影响效率的关键参数
- 栅极电荷Qg:影响驱动电路设计
3.1.3 输出电容选择
输出电容需要满足:
- 足够的容量以减小输出电压纹波
- 低的ESR以降低纹波电压
- 足够的耐压余量
3.2 PCB布局要点
良好的PCB布局对开关电源的性能至关重要:
-
功率回路面积最小化
- 缩短高频电流路径
- 减小辐射EMI
-
地平面设计
- 采用星型接地
- 区分功率地和信号地
-
电流采样走线
- 远离开关节点
- 采用差分走线方式
-
散热考虑
- 为发热元件提供足够的铜箔面积
- 必要时添加散热孔
4. 软件控制实现
4.1 控制算法实现
4.1.1 电压外环PID实现
电压环负责维持稳定的输出电压,其实现代码如下:
c复制float voltage_loop(float Vref, float Vout) {
static float integral = 0;
float error = Vref - Vout;
integral += error * Ts; //积分项
float output = Kp_v * error + Ki_v * integral;
return constrain(output, 0, I_max); //限制电流给定
}
参数整定要点:
- 先从较小的Kp_v开始
- Ki_v的取值要保证系统稳定
- 加入抗饱和处理
4.1.2 电流内环PI实现
电流环实现快速电流跟踪:
c复制float current_loop(float Iref, float I_L) {
static float integral = 0;
float error = Iref - I_L;
integral += error * Ts;
return Kp_i * error + Ki_i * integral;
}
调试技巧:
- 先调电流环再调电压环
- 观察电感电流波形
- 确保采样与PWM同步
4.2 占空比控制策略
4.2.1 基本占空比计算
根据工作模式计算初始占空比:
c复制float duty_adjust(float Vin, float Vout, int mode) {
float duty;
if(mode == BOOST) {
duty = 1 - (Vin / Vout);
return constrain(duty, 0.05, 0.8);
} else { //BUCK模式
duty = Vout / Vin;
return constrain(duty, 0.1, 0.9);
}
}
4.2.2 平滑过渡实现
为避免突变带来的冲击,实现占空比斜坡变化:
c复制void duty_ramp(float target_duty) {
static float current_duty = 0;
float step = 0.01; //每10ms调整1%
while(fabs(target_duty - current_duty) > step){
current_duty += (target_duty > current_duty) ? step : -step;
set_pwm_duty(current_duty);
delay_ms(10);
}
}
5. 系统调试与优化
5.1 调试步骤
-
开环测试
- 验证功率级基本功能
- 检查开关波形是否正常
-
电流环调试
- 断开电压环
- 调整PI参数至临界阻尼
-
电压环调试
- 接入电压环
- 逐步增加负载观察响应
-
动态测试
- 负载阶跃测试
- 输入电压变化测试
5.2 常见问题排查
5.2.1 振荡问题
可能原因:
- 控制环路相位裕度不足
- PCB布局不良引入噪声
- 采样电路延迟过大
解决方案:
- 重新调整PI参数
- 检查布局,优化地平面
- 增加采样滤波电容
5.2.2 效率低下
可能原因:
- 开关损耗过大
- 导通损耗过高
- 驱动电路设计不当
改进措施:
- 优化死区时间
- 选择更低Rds(on)的MOSFET
- 改进栅极驱动
5.2.3 输出电压不稳
可能原因:
- 反馈环路参数不当
- 基准电压不稳定
- 负载变化过快
解决方法:
- 重新整定PID参数
- 检查基准电压源
- 考虑增加前馈控制
6. 实测性能与优化建议
6.1 典型性能指标
基于STM32实现的数字控制Boost-Buck系统实测数据:
| 参数 | Boost模式(12V→24V) | Buck模式(24V→5V) |
|---|---|---|
| 最大输出电流 | 2A | 3A |
| 效率 | 92% | 94% |
| 负载调整率 | <0.5% | <0.3% |
| 线性调整率 | <0.2% | <0.1% |
| 纹波电压 | <100mV | <50mV |
| 恢复时间(0.5A阶跃) | 2ms | 1ms |
6.2 进阶优化方向
-
自适应控制算法
- 根据工作点自动调整PID参数
- 实现参数自整定
-
多模式控制
- 根据负载情况自动切换PWM/PFM模式
- 轻载时提高效率
-
故障保护增强
- 过流、过压、过热保护
- 故障自恢复功能
-
通信接口扩展
- 增加UART/CAN通信
- 实现远程监控和参数调整
在实际应用中,电源设计往往需要在性能、成本和可靠性之间取得平衡。通过合理的拓扑选择、精心的元器件选型和细致的控制算法设计,可以打造出满足各种应用需求的高性能DC-DC变换系统。
