模型包含什么
被控对象是 CCM Buck 的状态空间平均模型:L·di_L/dt = d·V_in − v_out − i_L·R_L,C·dv_C/dt = i_L − i_load,输出电压取自电容及其 ESR 两端。用四阶龙格-库塔法积分,每个开关周期 8 步。没有开关纹波,看到的是每个周期的平均值,而控制器采样的本来也就是它。
控制器每周期读取一次 v_out,计算 u = Kp·e + Ki·∫e + Kd·d(−v_out)/dt(微分带一阶滤波),除以 1 V 的 PWM 斜坡并把占空比限制在 0 … 0.95。结果在下一个周期生效。这一拍延迟加上 PWM 的零阶保持,就是环路数据里的 1.5·T_s,也是可用穿越频率只能是 f_s 一小部分的主要原因。
默认 4.7 µH 和 100 µF 下,LC 谐振在 7.3 kHz,3 A 时 Q 约为 5.7。单纯的 PI 无法把穿越频率稳定在谐振之上:被控对象在那里已经滞后近 180°,积分器再加 90°。提供相位超前的是微分项,它做的正是 Type III 补偿器两个零点的工作。把 Kd 设为 0,再把 Kp 调低到环路重新稳定,就能看到在带宽上付出的代价。
从振铃读出相位裕度
预设把控制器的两个零点放在穿越频率的 1/6 处,然后搜索能得到目标裕度的穿越频率。比较 55° 和 25° 预设在负载阶跃后的恢复:25° 的情况在回落途中越过参考值,并在大约穿越频率处振铃好几个周期。可见的振荡次数随裕度减小而增加;接近 0° 时振荡不再衰减,占空比开始触碰上下限,所以得到的是有界振荡而不是干净的指数发散。
增益裕度同样重要。固定 Kd,同时提高 Kp 和 Ki,穿越频率会升到延迟主导相位的区域,增益裕度会先于相位裕度崩掉。提高 f_s 会缩短延迟,让同样的增益恢复裕度。这就是电压模式设计中提高开关频率的定量依据。
模型省略了什么
平均化模型只在电感电流为正时有效。二极管整流的 Buck 在谷值电流到零时进入断续模式;强制连续导通的同步 Buck 不会,但损耗会变。页面会标出仿真电流变负的时刻,之后的结果仅供参考。开关纹波、ADC 量化、栅极驱动死区、限流以及真实软启动电路的斜率都没有包含。
请把增益看作无量纲的控制器设置,而不是固件常数。要换算成特定采样频率下的定点系数,请用 PI 离散化计算器;要设计在模拟环路中实现同样超前的 Type III 网络,请用补偿器计算器。两者都在下方链接。
参考资料
R. W. Erickson, D. Maksimović, Fundamentals of Power Electronics, 3rd ed., Springer, 2020, 第 7、9 章(平均化变换器模型、电压模式环路设计)。
G. F. Franklin, J. D. Powell, M. L. Workman, Digital Control of Dynamic Systems, 3rd ed., Addison-Wesley, 1998(采样环路中的零阶保持与计算延迟)。
H. D. Venable, "The K factor: a new mathematical tool for stability analysis and synthesis," Proc. Powercon 10, 1983(Type II / III 补偿的零点配置)。
动画严格按照本页给出的公式绘制。不同教材和软件库的约定各不相同,比较数值前请先确认所用代码的约定。