STM32 Simulink 自动代码生成电机控制——57次谐波抑制仿真到代码生成

目录

谐波产生的原因

谐波抑制的方法

生成代码实机演示

总结


谐波产生的原因

造成电机电流谐波因素主要有两方面原因:
1)电机本体方面,如齿槽效应、绕组分布形式、磁路磁饱和效应、转子磁极结构等引起的电机气隙磁场畸变;

2)逆变器方面,如开关器件的死区时间、管压降等非线性特性

在 PMSM 稳态运行中,因气隙磁场畸变、逆变器管压降和死区时间等因素,导致电机电流波形畸
变,使其含有 5、7、11、13 次等一系列谐波分量。这些谐波电流分量,会导致电机转矩脉动,其中 5、7 次谐波电流分量对电机运行影响较大,会导致电机电磁转矩产生 6 次脉动. 如下图,有些电机因为结构等问题,FOC控制后电流不正弦,比如用一个方波电机跑FOC,就会出现磁场畸变情况,波形类似下图

图1. 电机运行时其中一相的相电流波形

还有由于死区时间造成的相电流不正弦,零电流钳位等现像,如下图实测的死区时间造成的电流波形不正弦

图2. 死区时间引起的相电流不正弦的波形

 以上都会产生高次谐波,引起转矩脉动,这里通过实验和理论分析发现,通过抑制57次谐波可以在中高速在一定程度上起到死区补尝的效果,但是低速大负载死区效应还是很明显,这个就需要进行死区补偿。

谐波抑制的方法

1. 引起谐波的原因既然是电机本体,那就优化电机的设计,提高正弦度

2. 死区效应和开关管的时间,那就加死区补偿。

但是如果电机设计好了,已经是一个定型的电机,没办法优化电机,那就需要增加谐波抑制算法

这里通过谐波提取和注入的方式去抑制高次谐波. 仿真通过step时间触发谐波补偿模块,方便对比补偿前后的电流波形变化,生成代码只需要注释掉step模块,连接上Harmonic_Com_Enable就可以了。

 图3. 谐波补偿算法模块

仿真效果如图:

  图4. 补偿前后仿真效果

生成代码实机演示

在电机开始运行,通过Keil使能谐波补偿函数,运行效果如下

                                 图5. 生成代码后在电机上的运行效果                                

总结

个人觉得谐波补偿算法可以在一定程度上提升电机控制的性能,但是也不是必需要加的,比如说电机的正弦度很好,只需要加死区补偿即可。

模型链接:https://item.taobao.com/item.htm?id=710610872867&spm=a1z10.1-c.w4004-13354255027.15.41292a1f58UIQV​​​​​​​

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡洛斯伊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值