1. 半桥闭环LLC谐振变换器仿真概述
作为一名电力电子工程师,我最近在调试一款半桥LLC谐振变换器时,深刻体会到闭环控制策略对系统性能的影响。LLC拓扑因其高效率、软开关特性,在电源设计中越来越受欢迎,但如何实现平稳启动和稳定控制一直是工程实践中的难点。
这次仿真主要对比三种控制策略:软启动、PI控制和柔化给定信号。通过Saber仿真平台搭建了完整的半桥LLC电路模型,输入电压400V,输出24V/10A,谐振频率100kHz。下面我将分享具体的实现方法和波形对比结果,这些经验对于从事开关电源设计的同行应该会有所启发。
2. 仿真平台搭建与参数设计
2.1 电路拓扑选择
采用典型的半桥LLC谐振变换器结构,包含:
- 输入电容:2个470μF电解电容串联
- 功率开关管:C3M0065090D SiC MOSFET
- 谐振网络:Lr=22μH,Cr=115nF,Lm=110μH
- 输出整流:MBR20100CT肖特基二极管
- 输出滤波:330μF固态电容
关键设计要点:Lm/Lr比值选为5,确保在宽负载范围内都能实现ZVS。谐振电容选用C0G材质的MLCC以保证高频特性。
2.2 控制回路实现
使用电压模式控制,反馈环路包含:
- 输出电压采样:电阻分压网络+运放缓冲
- 误差放大器:OPA2188实现Type II补偿
- PWM调制器:UC3875芯片模型
- 驱动电路:隔离驱动芯片Si8233
仿真中特别关注了PCB寄生参数的影响,在模型中添加了:
- 开关管DS间寄生电容:120pF
- 变压器漏感:0.5μH
- 走线电阻:20mΩ
3. 三种控制策略实现细节
3.1 软启动策略实现
在硬件电路中,软启动通常通过以下方式实现:
- 初始阶段将误差放大器输出钳位在0V
- 用恒流源对软启动电容充电
- 充电电压作为PWM占空比的上限
仿真中采用更灵活的数字控制方式:
c复制// 软启动算法伪代码
#define SOFT_START_TIME 10ms // 软启动时长
#define FINAL_DUTY 0.45 // 目标占空比
void soft_start() {
static uint32_t start_time = get_system_tick();
float elapsed = get_system_tick() - start_time;
if(elapsed < SOFT_START_TIME) {
current_duty = FINAL_DUTY * (elapsed / SOFT_START_TIME);
} else {
current_duty = FINAL_DUTY;
}
}
实测波形显示,软启动使输入电流峰值从32A降至18A,有效避免了启动时的电流冲击。
3.2 PI控制器设计
采用离散化PI算法,关键参数计算过程:
- 确定穿越频率:取开关频率的1/10,即10kHz
- 计算比例系数Kp:
- 开环增益在10kHz处需要达到0dB
- 系统在10kHz处固有增益为-24dB
- 因此Kp = 10^(24/20) ≈ 15.8
- 积分时间常数Ti:
- 取相位裕度60°时的积分时间
- 计算得Ti = 0.16ms
- Ki = Kp*(Ts/Ti) = 15.8*(1us/0.16ms) ≈ 0.1
实际代码实现:
c复制typedef struct {
float Kp;
float Ki;
float integral;
float max_output;
} PI_Controller;
float pi_update(PI_Controller *pi, float error) {
pi->integral += error;
// 抗积分饱和处理
if(pi->integral > pi->max_output) {
pi->integral = pi->max_output;
} else if(pi->integral < -pi->max_output) {
pi->integral = -pi->max_output;
}
return pi->Kp * error + pi->Ki * pi->integral;
}
3.3 信号柔化处理
采用二阶低通滤波器对给定信号进行处理:
code复制 1
H(s) = ----------
s²/w² + s/(Qw) + 1
参数选择:
- 截止频率w=2π*1kHz
- 品质因数Q=0.707(Butterworth特性)
数字实现采用双线性变换法:
matlab复制% MATLAB设计示例
fs = 100e3; % 采样频率
fc = 1e3; % 截止频率
[b,a] = butter(2,fc/(fs/2));
% 转换为差分方程系数
a1 = a(2); a2 = a(3);
b0 = b(1); b1 = b(2); b2 = b(3);
实际C代码实现:
c复制float filter_signal(float input) {
static float x1=0, x2=0, y1=0, y2=0;
float output = b0*input + b1*x1 + b2*x2 - a1*y1 - a2*y2;
// 更新状态变量
x2 = x1;
x1 = input;
y2 = y1;
y1 = output;
return output;
}
4. 波形对比与性能分析
4.1 启动特性对比
| 控制方式 | 输入电流峰值 | 输出电压建立时间 | 过冲电压 |
|---|---|---|---|
| 直接启动 | 32A | 2ms | 28% |
| 软启动 | 18A | 8ms | 5% |
| 柔化信号 | 22A | 6ms | 8% |
实测发现:单纯使用PI控制时启动特性最差,需要配合软启动或信号柔化使用。
4.2 动态响应对比
负载阶跃测试(50%-100%-50%变化):
- 纯PI控制:
- 恢复时间:120μs
- 电压跌落:8%
- PI+柔化信号:
- 恢复时间:180μs
- 电压跌落:5%
- PI+软启动:
- 恢复时间:200μs
- 电压跌落:6%
4.3 稳态性能对比
在满载条件下测量:
- 输出电压纹波:
- 纯PI:±0.5%
- 柔化信号:±0.3%
- 软启动:±0.4%
- 效率差异在0.5%以内
5. 工程实践中的经验总结
5.1 参数调试技巧
-
软启动时间设置:
- 太短:失去软启动意义
- 太长:影响系统响应
- 经验公式:t_soft = 3*Lr/(V_in/I_limit)
-
PI参数整定:
- 先设Ki=0,增大Kp至系统开始振荡,然后取1/2该值
- 再增大Ki直到恢复时间满足要求
- 最后微调获得最佳动态性能
-
柔化滤波器设计:
- 截止频率应低于1/5开关频率
- 但高于控制环路带宽的2倍
5.2 常见问题排查
-
启动失败:
- 检查软启动电路是否正常工作
- 确认功率器件Vgs波形是否完整
- 测量谐振电流是否建立
-
稳态振荡:
- 可能是相位裕度不足
- 尝试减小Ki或增加补偿网络相位提升
-
动态响应差:
- 检查误差放大器带宽
- 确认反馈采样延迟是否过大
5.3 实测波形分析
从示波器捕获的关键波形可以看出:
- 软启动时谐振电流呈线性增长
- PI控制下占空比会有明显调整过程
- 柔化信号使参考电压变化更平滑
具体波形特征:
- 软启动:Vgs脉冲宽度逐渐增大
- PI控制:误差电压随时间积分变化
- 柔化信号:参考电压无突变点
6. 方案选择建议
根据不同的应用场景推荐:
-
对启动特性要求高的场合:
- 必须使用软启动
- 可配合电流限制电路
- 示例:电池充电设备
-
需要快速动态响应的系统:
- 优先选择纯PI控制
- 适当提高穿越频率
- 示例:服务器电源
-
对噪声敏感的应用:
- 采用信号柔化处理
- 可结合前馈控制
- 示例:医疗设备电源
在实际项目中,我通常会先通过仿真验证控制策略,然后用以下步骤实现:
- 搭建硬件原型
- 测试开环特性
- 逐步引入闭环控制
- 优化动态性能
- 进行应力测试
这种系统化的调试方法可以避免很多潜在问题。
