三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

135、LLC谐振变换器的数字PID控制

135、LLC谐振变换器的数字PID控制

135、LLC谐振变换器的数字PID控制

一、一个让我失眠三天的调试问题

去年做一款300W的LLC电源,客户要求动态响应从10%负载跳变到90%负载时,输出电压过冲不超过200mV。我信心满满地写了三段式PID,结果上电测试——输出振荡得像心电图,频率在80kHz到120kHz之间来回飘,MOS管温度直接飙到95℃。

拆掉数字控制,换成模拟运放搭的PI,稳如老狗。但客户要的是数字控制,能远程调压、能记录故障日志。那问题出在哪?后来发现,LLC的增益曲线天生就是非线性的,你用线性PID去控一个非线性对象,不出鬼才怪。

二、LLC的“脾气”你得摸清楚

LLC谐振变换器跟Buck、Boost这些传统拓扑最大的区别在于:它的增益不是单调的。在谐振频率点附近,增益曲线相对平缓;一旦偏离谐振点,增益变化率急剧增大。更麻烦的是,轻载时LLC进入间歇模式(Burst Mode),这时候PID的积分项会疯狂累积,等负载突然加重,积分饱和释放,输出直接飞起来。

我习惯把LLC的传递函数分成三段来看:

  • 低于谐振频率区域:增益随频率降低而升高,但斜率陡峭,相位滞后严重
  • 谐振频率点附近:增益变化平缓,相位裕度相对较好
  • 高于谐振频率区域:增益随频率升高而降低,但存在右半平面零点效应

数字PID要同时应付这三个区域,传统固定参数肯定不行。我见过有人把PID参数调得特别软,结果动态

← 返回列表