说在前面:这是我看了哔哩哔哩UP主烟雨洲不冷的视频之后搭建的模型,参数与up主的一样,只是在一些优化方面模型不同,觉得文字不够清晰的可以去看这位UP主的视频。
这是建模整体麻烦点的地方在SVPWM模块
首先建立电流环与位置环速度环。注意得到的电流参数,后面要用。
PS:那个小球球可以搜“sum" 一定要把符号改了,默认是正反馈,我们搭建的这个系统是负反馈。
进行坐标变换 反PARK变换 即 id iq变为iα,iβ (发现我有的字母写错了,不过无伤大雅哈哈哈哈)
第一个function里面的代码
function alpha = fcn(id,iq,theata)
alpha = cos(theata)*id-sin(theata)*iq;
%反PARK变换
第二个function里面的代码
function beta = fcn(id,iq,theata)
beta = cos(theata)*iq+sin(theata)*id;
这样就得到了ialpha ibeta
将信号接入SVPWM中
SVPWM调制可以看我的上一篇博客,这里就不过多赘述了。
接入负载--电机
电机参数需要调整一下
逆变器搜索IGBT,选择2口的模块,直流电源设置为520V。数据选择那个分出去的模块不是demux,是总线bus selector,选择总线之后点击它,reflesh一下,按照我的顺序将信息选中,点击select就可以了。
PS:我使用了很多的 goto 与from模块,就是那个5边形,像一个小屋的模块,好处很多,特别是对于我这种总容易犯错还不乐意连线的菜菜。
这是PWM波形比较的三角波具体参数,参数的设置关系到了PWM波的好坏,不可以忽略。
接下来建立clark变换
第一个function代码
function ialpha = fcn(ia,ib,ic)
ialpha = (3/2)*(ia-0.5*ib-0.5*ic);
第二个function
function ibeta = fcn(ia,ib,ic)
ibeta = (3/2)*(ia*0+0.5*sqrt(3)*ib-0.5*sqrt(3)*ic);
接线如图,abc的值直接从电机信号那里连出来。
然后是PARK变换
第一个function代码
function id = fcn(ialpha,ibeta,theata)
id = cos(theata)*ialpha+sin(theata)*ibeta;
第二个function代码
function iq = fcn(ialpha,ibeta,theata)
iq = cos(theata)*ibeta-sin(theata)*ialpha;
接线接起来,注意角度theata需要乘以电机极对数。
将得到的电流反馈回电流环与位置环速度环
这样就算是将模型建立完成了。
下面来看一下转速结果,我将位置环的PI参数调整为了P=2;I=5.其他的未改变。
控制效果还可以,不过还可以调整PI参数使性能更好。