第三节 充电电路设计:升压拓扑选择与充电策略
好,咱们接着聊充电电路。这部分我把它叫做除颤仪的“能量搬运工”。说白了,就是把电池那几十伏的低压,升到高压电容需要的1500V到2000V。这个环节要是设计不好,整台机器就是个摆设。
我个人习惯把充电电路拆成两个维度来看:用什么拓扑升压,以及怎么控制充电过程。咱们一个一个说。
3.1 升压拓扑选择:反激、推挽、全桥
先说说拓扑。除颤仪里常见的升压拓扑就三种:反激、推挽、全桥。没有绝对的好坏,只有合不合适。
3.1.1 反激拓扑(Flyback)
反激拓扑,结构最简单。一个开关管、一个变压器、一个整流二极管,再加个电容就完事了。我最早做便携式除颤仪时,就用的这个方案。
优点:
- 元件少,成本低
- 不需要输出电感,体积小
- 容易实现多路输出
缺点:
- 变压器利用率低,功率做不大
- 开关管电压应力高,需要高压MOSFET
- 效率一般,通常在80%左右
适用场景:功率在100W以下的小型便携除颤仪。比如AED(自动体外除颤器),电池容量小,对体积要求高。
我的经验:反激拓扑设计时,变压器的漏感是关键。我曾经因为漏感太大,导致开关管尖峰电压直接击穿。后来在变压器绕制时加了屏蔽层,问题才解决。嗯,这里要注意,反激变压器的漏感要控制在初级电感的5%以内。
3.1.2 推挽拓扑(Push-Pull)
推挽拓扑,用两个开关管交替工作。变压器初级有中心抽头,两个管子轮流导通。这个拓扑我用的不多,但有个同事特别喜欢它。
优点:
- 变压器双向磁化,利用率高
- 开关管电压应力低(只有2倍输入电压)
- 驱动电路简单
缺点:
- 变压器需要中心抽头,绕制复杂
- 存在偏磁问题,容易饱和
- 输出纹波较大
避坑指南:我曾经见过一个项目,推挽拓扑的变压器因为偏磁导致饱和,开关管瞬间炸裂。解决办法是在两个开关管的驱动信号中加入死区时间,或者用电流互感器做逐周期限流。
3.1.3 全桥拓扑(Full-Bridge)
全桥拓扑,四个开关管组成H桥。这是大功率除颤仪的首选。我现在的项目,200J以上的除颤能量,用的就是全桥。
优点:
- 功率可以做得很大(几百瓦到几千瓦)
- 变压器利用率最高
- 开关管电压应力低
- 效率高,可以做到90%以上
缺点:
- 元件多,成本高
- 驱动电路复杂,需要隔离驱动
- 控制策略复杂
| 拓扑 | 功率范围 | 效率 | 元件数 | 典型应用 |
|---|---|---|---|---|
| 反激 | <100W | 75-85% | 少 | 便携AED |
| 推挽 | 100-300W | 80-88% | 中 | 中端除颤仪 |
| 全桥 | 300W以上 | 88-93% | 多 | 高端除颤仪 |
3.2 充电控制策略
拓扑选好了,接下来就是怎么控制充电。你想想看,高压电容充电不是简单地把开关管一开一关就完事了。这里面有门道。
3.2.1 恒流充电
恒流充电,就是充电过程中保持电流恒定。这是除颤仪最常用的充电方式。
为什么用恒流?因为电容两端的电压从0V开始上升,如果不用恒流,初始阶段电流会非常大,可能烧坏开关管和变压器。
实现方式很简单:在充电回路中串联一个采样电阻,检测电流。然后用PID调节PWM占空比,让电流稳定在设定值。
// 恒流充电控制伪代码
void charge_constant_current(float target_current) {
while (hv_voltage < target_voltage) {
float actual_current = read_current_sensor();
float error = target_current - actual_current;
float duty = pid_controller(error);
set_pwm_duty(duty);
delay(10); // 10ms控制周期
}
}
关键参数:恒流值一般设置在2A到5A之间。电流太小,充电时间太长;电流太大,变压器和开关管扛不住。我一般取3A,充电时间控制在5秒以内。
3.2.2 恒压充电
恒压充电,就是充电到目标电压后,维持电压不变。这个阶段主要是为了精确控制最终电压。
你可能会问:为什么不一直用恒流?因为恒流充电到后期,电压上升很快,容易过冲。一旦电压超过电容耐压值,电容就炸了。
所以实际设计中,我通常采用先恒流、后恒压的策略。当电压达到目标值的90%时,切换到恒压模式。
// 恒压充电控制伪代码
void charge_constant_voltage(float target_voltage) {
while (1) {
float actual_voltage = read_voltage_sensor();
float error = target_voltage - actual_voltage;
if (abs(error) < 5.0) break; // 误差小于5V,充电完成
float duty = pid_controller(error);
set_pwm_duty(duty);
delay(5);
}
}
3.3 充电策略的实战选择
说了这么多,到底怎么选?我给大家总结一下我的经验:
- 小功率便携设备(AED):反激拓扑 + 恒流充电。简单可靠,成本低。
- 中功率监护除颤仪:推挽拓扑 + 恒流恒压切换。兼顾效率和精度。
- 大功率除颤仪(200J以上):全桥拓扑 + 恒流恒压切换 + 软启动。性能最强,但设计也最复杂。
我的小技巧:在恒流阶段,我习惯加入一个软启动过程。就是刚开始充电时,PWM占空比从0慢慢增加到目标值。这样可以避免变压器和电容的冲击电流。嗯,这个细节很多新手会忽略。
好了,充电电路设计这块就讲到这里。下一节咱们聊聊放电回路,那才是真正的高压脉冲输出部分。到时候我会详细讲H桥放电电路和能量控制算法。