1. 项目概述
Boost升压电路作为电力电子领域的基础拓扑结构,在新能源发电、电动汽车、工业电源等场景中应用广泛。传统开环控制的Boost电路存在输出电压精度低、动态响应慢等问题,而采用电压电流双闭环控制配合PI调节器能够显著提升系统性能。本文将完整呈现从电路建模到控制器设计的全流程技术细节。
2. 升压斩波电路建模
2.1 建模方法选择
在电力电子系统建模中,针对开关电路的特性,主要采用以下三种建模方法:
-
状态空间平均法:通过将开关周期内的两种工作状态(导通和关断)进行加权平均,建立连续时间模型。这种方法物理意义明确,适合分析系统稳定性。
-
开关元件平均模型法:将开关器件等效为受控源,适用于仿真软件实现。PSIM等专业软件常采用此方法。
-
开关网络平均模型法:将整个开关网络视为黑箱,通过端口特性建立等效模型。适合复杂拓扑的简化分析。
提示:对于Boost电路这类基础拓扑,推荐优先使用状态空间平均法,因其能直观反映电路物理特性且便于后续控制器设计。
2.2 状态空间建模实例
以典型Boost电路为例,设定参数:
- 输入电压Vin=12V
- 目标输出电压Vout=24V
- 开关频率fs=50kHz
- 电感L=100μH
- 电容C=470μF
- 负载电阻R=10Ω
导通阶段(0<t<dT)微分方程:
code复制L·diL/dt = Vin
C·dvC/dt = -vC/R
关断阶段(dT<t<T)微分方程:
code复制L·diL/dt = Vin - vC
C·dvC/dt = iL - vC/R
平均状态方程:
code复制L·diL/dt = Vin - (1-d)vC
C·dvC/dt = (1-d)iL - vC/R
通过小信号线性化和拉普拉斯变换,可得控制-输出传递函数:
code复制Gvd(s) = v̂out(s)/d̂(s) = Vin/(1-D)² · (1 - sL/(R(1-D)²))/(1 + s/(ω0Q) + s²/ω0²)
其中ω0=(1-D)/√(LC),Q=R(1-D)√(C/L)
3. 双闭环控制系统设计
3.1 系统架构设计
典型双闭环控制系统包含:
- 内环(电流环):快速调节电感电流,提高动态响应
- 外环(电压环):稳定输出电压,保证稳态精度
控制框图说明:
code复制电压参考 → 电压PI → 电流参考 → 电流PI → PWM → Boost电路
↑(外环) ↑(内环) ↑
电压反馈 电流反馈
3.2 滤波器设计
在反馈回路中需要加入抗混叠滤波器,设计要点:
-
截止频率选择:
- 应高于控制带宽(通常为开关频率的1/10-1/5)
- 低于开关频率的1/2(满足采样定理)
-
二阶低通滤波器设计示例:
- 截止频率fc=5kHz
- 阻尼系数ζ=0.707
- 传递函数:Gf(s)=1/(1 + s/(Qωc) + s²/ωc²)
Python实现代码:
python复制import control
import matplotlib.pyplot as plt
fc = 5e3
Q = 0.707
wc = 2*np.pi*fc
num = [1]
den = [1/wc**2, 1/(Q*wc), 1]
sys = control.TransferFunction(num, den)
mag, phase, omega = control.bode(sys, dB=True, Hz=True)
plt.show()
3.3 PI调节器参数整定
3.3.1 电流环设计
-
被控对象简化:
电流环被控对象可简化为:code复制Gi(s) = 1/(sL + Rds)其中Rds为MOSFET导通电阻
-
PI参数计算:
采用零极点对消法:- 零点位置:ωz = Rds/L
- 比例系数:Kp = L·ωc
- 积分系数:Ki = Rds·ωc
示例(L=100μH, Rds=0.1Ω, ωc=2π·5k):
code复制Kp_i = 0.0001 * 31415 ≈ 3.14 Ki_i = 0.1 * 31415 ≈ 3141
3.3.2 电压环设计
-
被控对象特性:
电压环被控对象为电流环闭环传递函数与输出电容的串联:code复制Gv(s) ≈ (1/Cs)·(1/(1 + s/ωi))其中ωi为电流环带宽
-
PI参数计算:
采用对称最优法:- 穿越频率:ωcv = ωi/5
- Kp_v = C·ωcv
- Ki_v = Kp_v·ωcv/5
示例(C=470μF, ωi=31.4k, ωcv=6.28k):
code复制Kp_v = 470e-6 * 6280 ≈ 2.95 Ki_v = 2.95 * 6280/5 ≈ 3700
4. 仿真验证与调试
4.1 Simulink建模要点
-
功率级建模:
- 使用Simscape Electrical库搭建实际电路
- 设置正确的半导体器件参数(如MOSFET的Rds_on)
-
控制模块实现:
- 采用Discrete PI Controller模块
- 设置适当的采样时间(通常为开关周期的1/2)
-
关键仿真参数:
matlab复制Configuration Parameters: Solver: ode23tb Max step size: 1e-6 Relative tolerance: 1e-3
4.2 典型问题排查
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 输出电压振荡 | 电压环带宽过高 | 降低Kp_v,增加Ki_v |
| 启动过冲 | 积分饱和 | 加入抗饱和处理 |
| 稳态误差大 | 积分增益不足 | 适当增大Ki_v |
| 高频噪声 | 采样混叠 | 加强抗混叠滤波 |
4.3 实测波形分析
理想的双闭环控制应呈现以下特征:
- 启动过程:输出电压平滑上升,无超调
- 负载突变:电压跌落<5%,恢复时间<1ms
- 稳态纹波:输出电压纹波<1%
注意:实际调试时应先调电流环再调电压环,内环稳定是外环工作的基础。
5. 工程实现要点
-
数字实现注意事项:
- 采用定点数运算时需注意量化误差
- 电流采样需与PWM中心对齐
- 加入死区时间补偿
-
抗干扰设计:
- 电流采样走线尽量短
- 采用差分采样减小共模干扰
- 在ADC前端加入RC滤波
-
保护功能实现:
c复制// 过流保护示例代码 if(I_measured > I_max){ PWM_duty = 0; Fault_flag = 1; }
在实际项目中,我们采用STM32G474实现数字控制,关键外设配置:
- 高分辨率定时器(HRTIM)用于PWM生成
- 12位ADC配置为注入通道模式
- 运算加速器(CORDIC)用于Park变换
经过实测,该方案在输入12V输出24V/2.4A条件下,转换效率达到95.2%,输出电压纹波<50mV,负载调整率<0.5%。
