导读:本期文章主要介绍永磁同步电机矢量控制,两种控制策略(id=0和MPTA)。在相同工况条件下,比较两种控制策略各自的控制性能。
如需要文章中的仿真模型,关注微信公众号:浅谈电机控制,获取。
一、永磁同步电机矢量控制(FOC)
1.1永磁同步电机矢量控制策略

本文主要介绍前两种控制,后面的后期再单独介绍。
小结:
1.2工作原理
矢量控制也称为磁场定向控制。由于在永磁同步电机输入交流电时会在电机内部产生电磁转矩和耦合磁场,这会影响电机的运行并给永磁同步电机的控制带来新的问题。而矢量控制技术能够利用两次坐标变换将控制简单化。矢量控制要经过 Clark 变化和 Park 变化,先通过 Clark 变换将电机被控量从三相静止坐标系转换到两相静止坐标系,然后通过 Park 变换将电机被控量从两相静止坐标系转换到两相旋转坐标系。通过上述步骤,可以把复杂的交流电机控制转换为简单的直流电机控制。


图1 永磁同步电机矢量控制系统框图(id=0)
MTPA 控制是在矢量控制基础上发展的一种控制技术,由于IPMSM 具备凸极特性,所以被广泛应用在IPMSM 控制中,在输出相同大小电磁转矩的同时,可以更有效地提高电流的利用率,在近年来已成为研究的热点。MTPA 的实现方式主要有:解析公式法、查表法、高频信号注入法等。
(1)解析公式法
解析公式法是通过以电机的电磁转矩方程作为限制条件,对电机的定子电流建立拉格朗日函数,然后求偏导后再使之等于零,如此即可求解出d、q 轴上定子电流与定子电流矢量角的表达式。在电机参数确定后,即可通过公式进行运算确定MTPA 矢量角。

图2 永磁同步电机矢量控制系统框图(MTPA)
MTPA 控制是在定子电流最小的情况下使得输出的电磁转矩最大化的一种控制方式,当电机的转速在基速以下,工作在恒转矩运行区时,电机的消耗主要为铜耗,选用 MTPA 控制,不仅能够使定子电流最小,最大程度地降低铜耗,而且减小了逆变器的负担,降低了功率器件的损耗。
对比SPMSM 和IPMSM,两者存在结构上的差异,前者不存在磁阻转矩,所以id=0 控制即为其最大转矩电流比控制,并且在 SPMSM 调速系统中得到了广泛的应用。

1.3 FOC系统仿真搭建及各模块介绍
永磁同步电机矢量控制主要包括速度环、电流环、坐标变换、电压补偿和空间电压矢量脉宽调制(SVM)模块。

图3 基于SVM的永磁同步电机矢量控制系统仿真模型
往期的文章中关于异步电机矢量控制的文章中,速度环、电流环和坐标变换都有详细介绍,同样也适用于永磁同步电机。接下来只介绍一下前馈解耦和SVM。
(1)前馈解耦

(2)SVM总结
6个有效空间电压矢量,在一个输出基波电压周期内各自依次连续作用1/6周期,逆变器运行于这种状态时会得到一个正六边形的旋转磁场。六个有效电压矢量各自连续作用1/6T,显然不能得到一个圆形的旋转磁场。所以这种六拍阶梯波逆变器的性能较差。

图(2-1)正六边形的旋转磁场
电机转动形成圆形的旋转磁场。如何使逆变器输出的正六边形的旋转磁场变成一个圆形旋转磁场?

SVPWM使逆变器输出的电压矢量进行切换以获得准圆形旋转磁场。SVPWM的实质就是用逆变器可输出的电压矢量与作用时间的线性组合去逼近所期望的空间电压矢量,具体就是对逆变器中功率器件的开通和关断状态进行正确的控制。
(2.1、SVPWM实现过程
从上节的分析可知,哪几个电压空间矢量和其作用的时间是SVPWM的两个根本的问题。要实现SVPWM,仿真搭建时需要注意和解决的几个问题。
(1)电压空间矢量所在扇区的判断;
(2)基本矢量作用时间的计算;
(3)基本矢量的作用顺序及扇区切换点时间确定;
(4)PWM波生成。
只要解决以上4个问题,就能实现SVPWM,具体实现过程可以回顾往期文章。
(2.2、SVPWM发波方式
从矢量合成的原理可知,矢量圆中的任意非零矢量,无论作用先后,都可以利用与它相邻的两个基础矢量合成而来。常见的SVPWM的调制方式分为七段式和五段式两种,两种方式零矢量的插入方式不同。由于七段式调整方式,谐波含量更小,实际应用较多。
(2.2.1七段式发波方式
常见的七段式的扇区I内的波形如图所示:

图(2-3) 七段式发波
从零矢量开始,并以零矢量结束,各矢量左右对称,中间为零矢量(111)。为了说明上述发波方式的原理,我们做一张矢量合成的原理图。图中整个矢量空间被六个基础矢量等分成六个扇区,假设每个扇区内的Uref是我们想要合成的矢量。

图(2-4) 参考电压矢量合成
第I扇区内,从原点出发,无论是沿着红线所规划的路径还是沿着蓝线所规划的路径行进,都可以到达目的矢量Uref处。为了方便表示,我们以ABC状态所代表的十进制值表示该状态对应的矢量,那么U60(110)则可以用十进制6表示,U0(100)可以用十进制的4表示,7表示U(111),0表示U(000)。假设我们沿着蓝线路径走,那么一开始先走6,随后是4,之后又是4,最后是6,这样就达到了目的矢量Uref处。如果是6-4-6-4的顺序走,也可以达到目的矢量处,但是由于PWM是对称发波,所以必须保证左右对称的原则。为了尽量减少谐波,减少开关管切换次数,以及通断过程中的损耗,每次只改变一个功率管的状态,并合理的利用零矢量。我们以七段式PWM调整方式为例,两边和中间都是零矢量,基础矢量左右对称,每个周期由七段波形组成。再看蓝线路径,先是矢量6状态,6表示110,前后插入零矢量,并遵循开关次数最少原则,那么6的前面应该是7(111),如果是0(000),那么开关管切换了两次,违背了最少切换的原则。6(110)的后面是4(100),中间插入零矢量,那么这个0矢量应该插入的是0(000),而不是7(111),如果插入7(111)那么开关管状态切换了两次,违背了最少切换的原则。之后保证左右对称,且只改变一个开关管的状态,因此插入的是4(100),随后是6(110),最后以零矢量7(111)结束。我们看一下红线路径,先开始矢量4(100),前后插入零矢量,并遵循开关切换最少原则,那么开始的零矢量应为0(000),而不是7(111);之后是矢量6(110),中间插入零矢量,基于开关切换最少原则,这个零矢量应该为7(111),而不是0(000),因为从6(110)到7(111)只改变了一次开关管状态,紧接着还是6(110),之后是矢量4(100),最后插入零矢量0(000)。于是,我们得到两条合成目的矢量Uref的路径,由于蓝线路径的起始矢量为零矢量7(111),也就意味着A、B、C三相上桥臂都打开,而实际使用中都是从开关管无效状态开始,因此七段式PWM调整方式实际使用中常常按红线路径顺序发波。
(2.2.2五段式发波方式
再看五段式发波方式,五段式顾名思义,每个PWM周期由五段组成,也就是只能插入一种零矢量,或者插入0(000)或者插入7(111),而且要保证对称性,因此零矢量只能在中间。由于不同的扇区可以插入不同的零矢量,因此五段式的调整方式可以有很多种组合。假设每个PWM周期只插入0(000)矢量,那么基于最少开关切换原则,扇区I内的顺序为6(110)->4(100)->0(000)->4(100)->6(110)整个矢量圆不同扇区内的发波顺序如下图蓝线所示。

图(2-5)五段式发波(1)
如果插入的中间零矢量为7(111),那么五段式的发波顺序又变成了下图红线所示:

图(2-6)五段式发波(2)
单纯的只在每个周期插入单一的零矢量,会导致功率开关管的发热不均匀,于是可以分扇区插入不同的零矢量,我们可以在扇区I、III、V内插入0(000),在扇区II、IV、VI内插入7(111)矢量,比如下图:

图(2-7)七段式发波(3)
当然也可以在扇区I、III、V内插入7(111),在扇区II、IV、VI内插入矢量0(000)。或者每个扇区再细分为两部分,每隔30°插入一个不同的零矢量,零矢量7(111)和零矢量0(000)交替使用,因此五段式PWM的调整方式种类最多。每种方式开关管的损耗不同,所产生的谐波也不同。
1.4 FOC系统仿真分析
1.4.1电机参数

1.4.2电机运行的工况
仿真中永磁同步电机的参数如上表所示。仿真运行的采样率为10K,在1.5秒前,速度参考值设为500r/min,在2.5秒后参考速度设置为800r/min,在之间为1000r/min。电机以20N.m加载启动,1秒后加载40N.m运行。
1.4.3仿真波形分析

图4 永磁同步电机矢量控制系统仿真(id=0)

图5 永磁同步电机矢量控制系统仿真波形变化情况

图6 永磁同步电机矢量控制系统仿真(MPTA)

图7永磁同步电机矢量控制系统仿真波形变化情况
1.5 id=0和MTPA控制策略波形对比

(a)

(b)
图8 id=0和MTPA控制策略仿真波形对比
由图(a)转速响应波形对比可知,相比于id=0 控制,MTPA 控制的转速具有更快的反应速度,能够更快地到达稳态,并且具有更好的抗扰动能力,鲁棒性更强。由图(b)可以看到,在电机运行到稳态时,𝑖𝑑=0 控制下的电机定子电流𝐼𝑠幅值最大值比 MTPA 控制下的电机定子电流𝐼𝑠幅值最大值大很多。由此可知利用 MTPA 控制可以有效地降低电机稳态运行时的能耗,提高效率。MTPA 控制可以有效地减小电机电流的幅值,较𝑖𝑑=0控制而言,在节能减排方面具有较大的优势。
思考:1、id和iq的作用?
在直流电机控制系统中,由于其电枢电流与励磁电流互相垂直,不会产生耦合关系,从而能够实现单独控制。运用这种思想,在同步旋转坐标系d-q 轴下,把永磁同步电机定子三相电流坐标转化为电流分量𝑖𝑑、𝑖𝑞,d 轴电流方向始终与磁场轴线方向一致,通过控制d 轴电流可以完成对磁链的控制,故又可称𝑖𝑑为励磁电流,而q 轴电流分量决定了电磁转矩大小,𝑖𝑞称为转矩电流。
2、id为什么可以小于零?
永磁电机(IPMSM)矢量控制(MPTA)id小于0,削弱永磁体磁场又可以充分利用磁阻转矩。永磁体磁场削弱后,永磁转矩下降,但磁阻转矩大幅度增加,总的输出转矩是变大的。
补充:PMSM输出转矩=永磁转矩+磁阻转矩;(id>0,加强永磁体磁场;id<0,削弱永磁体磁场。)
磁阻转矩:是由于d轴和q轴磁阻不一致引起的。因为磁通总是会优先选择走磁阻最小的路径,两个轴磁阻的不一致导致磁通在路径选择上也发生了偏向性。相同电流的情况下,dq轴磁阻差越大,磁阻转矩也就越大。
磁阻转矩=clarke变换系数*极对数*(Ld-Lq)*id*iq。

3、异步电机FOC中id是否可以小于零?
后面再讨论。
1.6 小结
针对永磁同步电机,采用矢量控制法将励磁电流定位到转子磁极上,通过调节转矩电流和励磁电流,获得最佳转矩。在瞬态过程中,无论负荷骤增还是骤降,矢量控制都可以根据电机转速的变化自动调节电压、频率和相位,从而迅速将瞬态过程恢复平衡。矢量控制使系统的动态特性和转矩响应能力更好,同时提高了系统的控制精度和响应速度,使电机调速范围更宽。所以,矢量控制策略目前在永磁同步电机控制领域依然被广泛使用。但是,矢量控制增加了运算系统的复杂程度,提高了运算量;矢量控制对控制器的要求高,因此需要速度更快的 DSP;转子磁链的计算容易受到转子电阻的影响。
二、总结
虽然永磁同步电机在其结构、功率因数以及可靠性等方面有很大的优势,但其弱磁能力比较差,且调速范围很小不容易实现电机的精准控制。而通过对永磁同步电机控制策略的研究,可以大大提高其控制性能。
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时
在我的Character模型中,我添加了:字符.rbbefore_savedoself.profile_picture_url=asset_path('icon.png')end但是,对于数据库中已存在的所有角色,它们的profile_picture_url为nil。因此,我想进入控制台并遍历所有这些并进行设置。在我试过的控制台中:Character.find_eachdo|c|c.profile_picture_url=asset_path('icon.png')end但这给出了错误:NoMethodError:undefinedmethod`asset_path'formain:O
当我进入Rails控制台时,我已将pry设置为加载代替irb。我找不到该页面或不记得如何将其恢复为默认行为,因为它似乎干扰了我的Rubymine调试器。有什么建议吗? 最佳答案 我刚发现问题,pry-railsgem。忘记了它的目的是让“railsconsole”打开pry。 关于ruby-on-rails-带有Pry的Rails控制台,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question
我正在尝试将$stdout设置为临时写入一个文件,然后返回到一个文件。test.rb:old_stdout=$stdout$stdout.reopen("mytestfile.out",'w+')puts"thisgoesinmytestfile"$stdout=old_stdoutputs"thisshouldbeontheconsole"$stdout.reopen("mytestfile1.out",'w+')puts"thisgoesinmytestfile1:"$stdout=old_stdoutputs"thisshouldbebackontheconsole"这是输出。r
我在思考流量控制的最佳实践。我应该走哪条路?1)不要检查任何东西并让程序失败(更清晰的代码,自然的错误消息):defself.fetch(feed_id)feed=Feed.find(feed_id)feed.fetchend2)通过返回nil静默失败(但是,“CleanCode”说,你永远不应该返回null):defself.fetch(feed_id)returnunlessfeed_idfeed=Feed.find(feed_id)returnunlessfeedfeed.fetchend3)抛出异常(因为不按id查找feed是异常的):defself.fetch(feed_id