前言:最近被一个LLC的环路折磨的要命,在没有环路分析仪的情况如何对LLC进行理论上的环路稳定性分析?于是我摸索一个稍微具有可行性的方法,虽然没有直接测试的准确,但是也具有一定的参考价值。 方法:利用软件仿真得到LLC的从控制到输出的频率响应bode波形,然后利用controlSystemDesigner将该波形生成传递函数,然后再将该传递函数导入controlSystemDesigner中,再设计补偿的传递函数。
软件:
1,各种能仿真AC的软件比如:psim,simplis, plecs等等。
2,matlab。
操作流程:
1,在仿真软件中得到从控制到输出的传递函数,这里要注意的是VCO的增益要确定,如果不能确定VCO的增益,该传递函数就不准了,但是bode的外型波还是一样的,只是增益有区别,后面可以针对性乘以一个增益进去。 在plecs中的操作是在稳态工作点叠加一个人为设计的扰动进去,然后观察输出波形上的响应,可见下图。
扫描波形:
plecs里面的环路扫描和现实中我们扫描的操作是一样的,就是利用注入的正弦波调试输出,可见下图在稳态工作点上的注入的不同频率干扰。
扫描结果:
根据该结果在matlab中描绘出Bode图的外型,然后软件会自动输出传递函数。
输出的传递函数为: 4.6868e10 (s+1.865e05) (s+1.387e04) ------------------------------------------------- (s+6.087e05) (s+3.59e05) (s+7.68e04) (s+3.142e04) 然后利用该传递函数作为controlSystemDesigner的G初始化,代码:controlSystemDesigner(Gx)。 就可以利用优化工具能自动输出想要的动态响应了,比如我用PID,目前是在FC =2K, PM>60deg,系统自动输出:
系统帮你输出PID参数。
总结:确实是一套非常高效的办法,决定明天上机测试一下。
代码:% LLC SISO TF%
时间:2019年1月05日
clear all;echo offclc
% TF:
% 4.6868e10 (s+1.387e04) (s+1.865e05)% -------------------------------------------------% (s+3.142e04) (s+7.68e04) (s+3.59e05) (s+6.087e05)
num = 4.6868e10 * conv( [1 1.387e04], [1 1.865e05]);den = conv(conv([1 3.142e04], [1 7.68e04]), conv([1 3.59e05], [1 6.087e05]));
Gx = tf(num, den); %利用num和den生成传递函数zpk(Gx) %将传递函数显示为零点-极点增益的形式bode = (Gx) % 转换为普通传递函数的形式h = bodeplot(Gx) %打印bode图,从10 ~ 1000Kgrid on; setoptions(h,'FreqUnits','Hz','PhaseVisible','on');
controlSystemDesigner(Gx)
如果觉得有意思,就关注一波吧。