simulink永磁同步电机电机建模,采用SVPWM调制

说在前面:这是我看了哔哩哔哩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参数使性能更好。

  • 6
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值