133、LLC谐振变换器的MCU控制实现
133、LLC谐振变换器的MCU控制实现
从一次炸管说起
去年夏天,实验室空调坏了,我正调试一块300W的LLC电源板。示波器上波形还正常,我转身去拿万用表,回来就闻到一股焦糊味——两个MOS管炸了,驱动芯片也冒了烟。检查代码发现,死区时间设置没问题,频率变化范围也对,问题出在MCU的PWM模块启动时序上:我让PWM输出和主功率同时使能,结果谐振腔还没建立稳态,硬开关直接干穿了。
那次之后我明白,LLC的MCU控制,核心不在算法多花哨,而在时序、保护、和硬件特性的精确匹配。今天这篇笔记,就聊聊我用STM32G4做LLC控制时踩过的坑和总结的经验。
控制架构:别把简单问题复杂化
LLC的MCU控制,本质上就三件事:频率调节、死区管理、状态机切换。别一上来就想着做全数字锁相环或者自适应算法,先把基础框架搭稳。
我习惯用这种分层结构:
- 底层:PWM生成、ADC采样、硬件保护(CMP+HRTIM)
- 中间层:频率计算、软启动曲线、过流/过压阈值判断
- 应用层:状态机(启动→软启→稳态→轻载→待机→故障)
重点说PWM。LLC需要互补的50%占空比方波,死区时间固定但可调。STM32G4的HRTIM(高分辨率定时器)是神器,时基精度能做到217ps,频率步进0.1Hz级别。但别被“高分辨率”忽悠了——HRTIM的配置极其繁琐,寄存器多到让