电机控制杂谈——永磁同步电机中的永磁体谐波反电势

2024-03-27 22:12

本文主要是介绍电机控制杂谈——永磁同步电机中的永磁体谐波反电势,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.问题的引出

在我的谐波抑制专题中,讲了三种谐波抑制的策略。当时是通过增大逆变器死区来产生较大的谐波。但是在实际电机里面,我感觉死区的影响基本上没有。。。课题组的驱动器中,逆变器的非线性其实基本可以忽略不计了。

但是,目前研究的最多的就是永磁同步电机PMSM了,永磁同步电机的反电势不太可能是非常理想的正弦波,多多少少都会有谐波的。以我用的电机为例子,测出的反电势里面只有1%的五次谐波,但是实际运行中,相电流中的五次谐波电流非常明显。。。。。。仅仅是1%而已。。。。。。

所以呢,就想搭建一个具有谐波反电势的PMSM。

一般来说,三相电机里面,永磁体谐波一般就考虑五次和七次就ok了。例如下图,这是参考文献1中的永磁体反电势的波形以及FFT分析。可以看到五七次的占比比较大,3、9次谐波在星型三相电机里面是不存在的,所以不考虑。

参考文献1:

Lyu Z, Wu L, Yi J, et al. Hybrid frame-based current control scheme for LC-equipped PMSM with non-sinusoidal back-EMF[J]. IEEE Transactions on Power Electronics, 2023, 38(5): 5994-6004.

 

为什么3、9次谐波在星型三相电机里面是不存在的?可以看看我之前写的内容。

永磁同步电机中3的倍数次谐波为什么不存在? - 知乎写这个回答,还想顺便回答一下其他几个相关的问题。1.永磁同步电机中3的倍数次谐波为什么不存在?2.在静止…icon-default.png?t=N7T8https://www.zhihu.com/question/362376425/answer/3372378100

好,那我现在的想法是想搭建一个具有五七次谐波反电势的PMSM,但是simulink没有这玩意呢。

那这样的话,我只能自己搭建新的PMSM模型了。然后呢,我找了找有没有什么论文里对PMSM的永磁体五七次谐波反电势进行建模。找了好久,终于找到了。

2.考虑五七次谐波反电势的PMSM数值模型

参考文献2:

Lyu Z, Wu L, Song P. A Novel Harmonic Current Control Method for Torque Ripple Reduction of SPMSM Considering DC-Link Voltage Limit[J]. IEEE Transactions on Power Electronics, 2023.

在参考文献2中,浙大吴老师给出了五七次谐波磁链的表达式:

值得注意的是这个theta5和theta7,五七次谐波磁链的初始相位确实不一定和基波初始相位一致,很多论文都没有考虑到这一点。

这篇参考文献中并没有给考虑磁链谐波的d-q电压方程,然后找了找,发现在参考文献1(这篇也是浙大吴老师的论文)中给了考虑磁链谐波的d-q电压方程。

我自己试着推导了一下,发现是ok的,计算的没错。 

 

3.考虑五七次谐波反电势的PMSM simulink模型搭建

(1)不考虑谐波反电势的PMSM模型

先搭建一个不考虑五七次谐波的PMSM模型吧,模型内部如下。因为我自己之前已经搭建过了,这里就不在赘述了。我是用dq坐标系搭出来的。

现在来和simulink自带的PMSM模型做个对比,看看我搭出来的PMSM是否正确。

自己搭建的
系统自带的

直接看启动电流的波形吧,仿真时间为0.01s。

 

搭出来的PMSM模型与simulink自带PMSM模型电流波形基本一致了。说明搭建的是正确的。

(2)考虑五次谐波反电势的PMSM模型

那接下来再搭包含五次谐波反电势的PMSM模型吧。注意,我个人是比较喜欢一步一步来,一步一步验证模型是否正确,而不是直接把整个模型都搭建好。

就老老实实按照公式搭建就好了。

把五次反电势加入到d-q电压方程之后,我把五次谐波磁链的数值设置为基本磁链的1%,而五次谐波反电势的变化频率是基波的五倍,所以这时候的五次谐波反电势实际上是占基波反电势的5%

加入五次谐波反电势前的相电流FFT分析

 

加入五次谐波反电势后的相电流FFT分析

可以看到,加入五次谐波反电势之后,相电流中的五次谐波有了很明显的提升,而其他次谐波基本不变。但是这里注意到,好像七次谐波电流也上升了。

这是由于数字系统的一拍延时导致的。首先,由于相电流存在五次谐波,然后呢,d-q电流就是存在6次谐波。然后导致d-q电流环输出的d-q电压参考值了也存在6次谐波,经过考虑数字延时的坐标变化,可能就把d-q电压参考值的6次谐波,变换到相电流的7次谐波里面去了。

现在验证一下这个问题。我原本的模型里是在PWM生成之前加了一拍延时的,现在我把一拍延时拿走。

 

加入五次谐波反电势后且不考虑一拍延时的相电流FFT分析

可以看到,这时候的七次谐波就没有了。说明模型搭建的没问题。

从这里也可以发现,即使电机里面有五次谐波反电势,而没有七次谐波反电势,但由于数字延时的影响,也会使相电流产生七次谐波。

(3)考虑七次谐波反电势的PMSM模型

五次搭好了,那我们就来看看七次。

我把五次谐波磁链数值设置为0,七次谐波磁链设置为基本磁链的1%,同理,由于七次谐波的速度是基波的七倍,所以此时七次谐波反电势数值为基波的7%。

加入七次谐波反电势后且不考虑一拍延时的相电流FFT分析

加入七次谐波之后,五次谐波也没有增长,说明模型搭建ok。

(4)考虑五七次谐波反电势的PMSM模型

既然五七次都搭建好了,那就来看看仿真结果吧。

 

仿真参数:(五次谐波反电势设置为基波反电势的5%,七次谐波反电势设置为基波反电势的7%)

Tpwm = 1e-4;%开关周期

Tspeed = 5e-4;%转速采样周期

Ts = 5e-7;%仿真步长

Pn = 4;%电机极对数

Ls = 8.5e-3;%定子电感,采用隐极的,Ld=Lq=Ls

Ld = Ls;

Lq = Ls;

Rs = 3;%定子电阻

flux = 0.1688;%永磁体磁链

B = 0.0004924;

J = 0.0013;

%谐波反电势参数

theta5 = 0;

theta7 = 0;

Flux5 = 0.001688*1;

Flux7 = 0.001688*1;

Vdc = 311;%直流母线电压

iqmax = 20;%额定电流

电流环PI调节器带宽为200Hz时的相电流FFT

可以看到,这个相电流的畸变还是挺明显的。

3.五七次谐波的抑制

值得注意的是,PI本身对交流量就具有一定的抑制作用,带宽足够大的时候是可以跟上交流量的。刚才的电流环PI带宽是200Hz,我把电流环带宽改成1000Hz看看效果。

电流环PI调节器带宽为1000Hz时的相电流FFT

可以看到呢,相电流THD明显下降了,五七次谐波已经减少了一些。

之前已经讲过了五七次谐波的抑制,最方便的还是直接用PIR调节器。我这里设置

Kr = 500;%电流环R调节器的谐振增益

wc = 10;%电流环R调节器的谐振带宽

从下面这个图可以看到,PIR调节器的抑制效果还是很好的,把五七次谐波电流抑制到了0.3%以下。

电流环采用PIR调节器时的相电流FFT

 

 

 

 

 

 

 

 

 

 

 

这篇关于电机控制杂谈——永磁同步电机中的永磁体谐波反电势的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853550

相关文章

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1