利用matlab中的controlSystemDesigner加速你的环路设计

前言:最近被一个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)

如果觉得有意思,就关注一波吧。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 598
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧