公务员期刊网 论文中心 正文

力矩电机优化设计软件开发及应用

前言:想要写出一篇引人入胜的文章?我们特意为您整理了力矩电机优化设计软件开发及应用范文,希望能给你带来灵感和参考,敬请阅读。

力矩电机优化设计软件开发及应用

摘要:应用VB.NET开发出一款力矩电机优化设计软件,将电磁计算程序封装化,通过图形设备接口、多线程技术实现了电机的动态优化。软件内置了粒子群优化算法,结合基于数量级的惩罚函数法,将约束优化问题转化为无约束优化问题,实现了电机的优化设计。以一种异步力矩电机为例,利用软件对它的起动性能进行优化,对比ANSYS的仿真结果,验证了该软件的优化结果是正确有效的。

关键词:电机优化设计软件;粒子群优化算法;惩罚函数法;异步力矩电机;起动性能

0引言

作为工业生产中的一种重要动力设备,电机被广泛应用到各行各业中。随着工业技术的发展,人们对各种系列电机的性能、成本等指标要求也随之提高,需要尽可能合理地设计出电机。传统的电机设计方法需要大量的人工计算,其计算过程效率低、周期长且容易出错。商业电机设计软件虽可以解决上述问题,但大多来自于国外,其软件界面非中文,操作繁琐,不易学习,且价格昂贵。因此,开发出具有自主创新意义并且与实际生产紧密联系的电机设计软件是十分必要的[1]。本文开发的软件不但可以进行基本的电磁计算,还可进行高度自由化的优化设计,除此之外,利用多线程技术实现的动态优化,也是本软件的特色所在。所谓的电机优化设计就是在满足国家标准、用户要求以及其它一些特定的约束条件下,设计出的电机在力矩、效率、功率因数等性能指标或者成本方面达到最优[2]。为了使电机的性能达到最优,需要采用优化算法进行优化设计,文献[3-10]分别使用了改进NSGA-II算法、进化算法、差分进化算法、改进布谷鸟算法、重心邻域算法、田口法、改进型代理模型优化算法及量子遗传算法解决了各种类型的电机优化问题。本文提出一种基于特殊惩罚函数法的粒子群优化算法,这种惩罚函数法引入“平衡数量级”的概念,尤其适用于解决电机优化等工程实际问题。本文使用VB.NET编程语言,结合力矩电机的电磁计算程序及粒子群优化算法,开发出一款力矩电机优化设计软件,并利用该软件实现异步力矩电机的优化,通过ANSYS的有限元仿真,验证了优化结果是正确有效的。

1电机优化算法设计

电机优化问题的本质就是不断重复电磁计算过程,在若干方案清单中找到性能最优的那套方案。同时,电机各参数间存在复杂的耦合联系,一个参数的寻优过程往往是在牺牲另一参数的基础上进行,需要特定的约束条件加以限制。因此,电机优化问题属于非线性约束优化问题。一般的非线性优化问题可表示:式中:x为优化变量,f(x)为目标函数,gj(x)为不等式约束条件,hj(x)为等式约束条件。为了解决上述问题,需设计一套合理的优化算法。本文设计了一种结合惩罚函数法的粒子群优化算法,其整体思路为:使目标函数加入惩罚项,形成增广目标函数,作为粒子群算法的适应度函数,将约束优化问题转化为无约束优化问题,有如下公式:式中:fitness(x)为适应度函数,f(x)为问题的目标函数,φ(x)为惩罚函数。惩罚函数可表示:式中:Cj为惩罚系数,Gj(x)表示个体与可行域边界的距离,gj(x)为不等式约束条件,hj(x)为等式约束条件,ε为等式约束条件下的最大容忍值。电机优化设计与其它一般优化设计问题最显著的区别是:不同优化目标的单位不同导致它们的数量级不同,若惩罚项不随优化目标数量级改变而改变,其惩罚效果就会变得极其不稳定。本文设计的惩罚函数在式(2)和式(3)的基础上,调整惩罚系数Cj,实现优化目标和约束条件数量级的协调。惩罚系数公式如下:式中:f(x)为当前的目标函数,Stj(x)为当前第j个约束的取值,M为约束强度(或惩罚强度)。f(x)Stj(x)可以计算出当前优化目标与约束条件的数量级差,系数M可以调整这个数量级差带来的影响。该算法除了拥有惩罚函数法本身的优势外,还具有以下优点:1)算法参数较少,仅需设置一个M;2)可充分考虑不同变量间的数量级差异,适合解决工程实际问题;3)算法逻辑简单,易于实现;4)不含循环、递归等复杂结构,时间复杂度低,算法运行较快。

2电机优化设计软件开发

本软件基于Windows平台,利用VisualStudio2019的VB.NET编程语言进行开发。

2.1用户界面设计

用户界面是人机交互的唯一渠道,应在基本功能齐全的前提下尽量简单明了、易于使用,图1为软件的基本构架图。软件分为计算和优化两大模块,可分别实现电磁计算和优化设计。其中输入界面是两大模块的公共起始界面,当用户完整输入各个电机参数后,程序会读取对应文本框(TextBox)的信息,并以字符串的形式存储在内存变量中,当需要调用其数值时,可使用Val()函数将字符串型变量强制转换为数值型变量。

2.2主要技术

2.2.1面向对象思想。由于电机的电磁计算程序天生具有封装性,于是使用类的概念将其抽象化、封装化,称为电磁计算类(DCJSClass),方便管理不同方案、不同模块间的电机参数。电磁计算类中包含基本的成员变量、初始化方法和电磁计算方法,其中成员变量包括电机的输入变量、输出变量、中间变量,初始化方法类似构造方法,它可以初始化所有成员变量并为输入变量赋值,电磁计算方法是该类的核心,它负责完成整个电磁计算过程,并为所有输出变量赋值。与其它编程语言一样,若要调用类的方法必须先创建一个该类的对象,即按照类的模板创建一个它的实例。本软件以电磁计算类为模板创建了两个对象,分别为DCJS1,DCJS2,其中DCJS1用于计算模块,DCJS2用于优化模块,两大模块的电机数据相互独立,互不影响。实现电磁计算的流程:首先创建一个公共的(Public)对象,即DCJS1,接着调用初始化方法,读取输入界面中的数据,为所有输入变量赋值,之后调用电磁计算方法,为所有输出变量赋值,最后通过形如“对象.变量名”的方式调用任意输出变量,输出电磁计算清单。2.2.2图形设备接口。图形设备接口(GDI+)是基于.NET框架下的一种绘图技术,它可以实现几何图形、数学图象的绘制。本文利用该技术实现了电机槽形及磁化曲线、优化过程曲线等各种数学图象的绘制,下面简要介绍数学图象的绘制。在绘图前,需首先声明一个Graphics变量,以给定绘图的画板,这里选择PictureBox控件作为绘图的画板。绘制图象的步骤如下:(1)建立坐标系网格:使用黑色画笔,利用DrawLine方法在PictureBox内画9条等距的横线和竖线。(2)坐标标注:获取自变量和因变量的取值范围,并将它们平均分成10份标记在坐标轴上。(3)数值转换:将实际值转换为对应的象素坐标。(4)图象绘制:使用红色画笔,利用DrawLine方法依次连续绘制直线,形成曲线。2.2.3多线程技术。电机优化过程具有运算量大、循环结构多、函数调用频繁等特点,时间复杂度高,在默认参数下需十几秒的时间方可完成。若不采用多线程技术,用户界面会有较长的时间处于不可响应状态,即处于一种“假死”状态。其实,Windows桌面应用程序会默认创建一个UI线程,出现“假死”的原因就是用户在UI线程上调用了耗时较长的过程,程序必需等待这个过程结束方可响应用户操作。本文采取多线程技术避免了上述问题的发生,其实现:当用户点击“开始”时,触发此按钮的Button_Click事件,该事件会创建新的线程,整个算法程序和曲线绘制过程都将传入到该线程中,此时调用该线程的Start方法以开启这个线程;在线程运行期间,优化曲线将实时绘制,用户可通过“暂停/继续”按钮控制该线程的执行,代码上通过一对Suspend、Resume方法操控线程的挂起与恢复,在暂停期间,用户可任意修改算法的属性参数,在恢复线程后算法会以新的属性继续执行。

2.3优化算法实现

本文的电机优化设计软件属于通用性的优化设计,它有不确定的目标函数、不确定的优化变量。当用户点击“优化”按钮时,程序会首先判断寻优的方向,这个方向可以是最大值方向也可以是最小值方向;接着,程序会依次判断各个可优化变量是否被选中,若为选中状态,则按式(5)和式(6)初始化粒子的位置和速度:X=Val(TextBox1.Text)+[Val(TextBox2.Text)-Val(TextBox1.Text)]*Rnd(5)V=vmax*[Val(TextBox2.Text)-Val(TextBox1.Text)]*(2*Rnd-1)(6)式中:Val(TextBox1.Text)为变量的下限,Val(TextBox2.Text)为变量的上限,Rnd为[0,1]上的随机数,vmax为最大速度占比。若为非选中状态,则仅将输入界面的对应数值赋予该变量,且当作常量处理。经过初始化后,粒子的位置由全部输入变量构成,但它们仅有一个或几个是优化变量,计算粒子的初始适应度值需要根据优化目标的选择而改变;计算初始适应度值后,可通过排序算法找出最优适应度值,该粒子即为第0代的全局最优粒子;接下来,算法会进行N次迭代,每次迭代更新一次惯性权重,并依次更新每个粒子的速度、位置、个体最优适应度值,再更新一次全局最优适应度值,更新粒子速度时要首先判断是否超速,若当前粒子速度大于最大速度,则令该粒子速度等于最大速度,反之则令该粒子速度等于最小速度,处理边界问题时要判断粒子是否越界,若超越上限或下限,则令该粒子处在边界位置上;当达到最大迭代次数时,循环结束,算法终止,输出最优方案。

3力矩电机优化设计软件应用实例

力矩电机具有输出转矩大、起动性能良好的特点,本文借助力矩电机优化设计软件,对一款异步力矩电机的起动性能进行优化,并利用ANSYS辅助验证。

3.1初始方案分析

本文选取一套异步力矩电机方案,其模型如图2所示,表1给出了该电机的基本结构参数。对于异步力矩电机,主要关心它的起动性能,表2给出了ANSYS的RMxprt模块及本软件计算得到的起动性能参数对比。由于RMxprt与本软件都是采用等效电路的方法计算电机,因此得到的性能参数也基本相同。将RMxprt的模型导入到Maxwell2D,进行额定负载下的起动仿真,图3、图4分别为负载起动仿真的转矩曲线和绕组电流曲线。由图3、图4可知,起动转矩最大约为150N·m,并最终稳定于71N·m左右;起动过程中电流最大幅值为130A左右,约300ms后逐渐稳定,稳定后电流有效值约为12.44A。

3.2起动性能优化

本文选择异步力矩电机的起动转矩Tst为优化目标,转子槽纵向尺寸(hr0、hr1、hr2)、定转子铁心长度(L1、L2,并令L1=L2=L)为优化变量,起动电流Ist为约束条件,且满足Ist≤77.301A,即令起动电流不允许超过初始方案的数值。为了不过度影响其它性能参数,需将各个优化变量限制在较小的范围内,表3给出了各个优化变量的范围。由软件的动态优化功能得出,本文的最小约束强度约为1.6,本文取M=2的情况进行优化设计。经过软件的优化计算,得到图5的优化结果及图6、图7的优化过程曲线,表4给出了优化前后的对比。可以看出,优化后的起动转矩为154.3N"m,相比优化前的150.08N"m提升了4.22N"m,起动电流维持77.301A不变,说明起动性能有所提升,接下来需结合ANSYS验证这一结论。将优化后的方案导入到ANSYS的RMxprt模块中,经计算初步得到起动性能参数,表5给出了起动性能优化前后的数据对比。对比优化前后的数据,起动电流较之前有所降低,且起动电流倍数也略有下降;起动转矩由152.012N"m增加到156.36N"m,增加了4.348N"m,优化幅度约为2.86%,与本文计算得到的结果基本相同,说明本文的优化结果是正确有效的,实现了在不增加起动电流的基础上尽可能地增大起动转矩。将RMxprt的模型导入到Maxwe112D中,同样进行额定负载下的起动仿真,得到图8和图9的负载起动转矩曲线、负载起动绕组电流曲线,图10为稳态下的电机磁密云图。由优化后的转矩曲线可以看出,起动过程中转矩最大可达157N"m,较优化前的最大转矩有所提升;再对比优化前后的绕组电流曲线,起动过程的最大电流依旧保持130A左右,优化前后的结果没有变化,这与本文得到的结论基本相同。由磁密云图可以看出,磁密最大出现在定子齿部,约为1.5T}并未达到定转子铁心的磁饱和区间,说明电机的结构尺寸设计是合理的。

4结语

本文实现了力矩电机优化设计软件的开发,同时利用该软件完成了异步力矩电机的优化设计,主要成果如下:(1>设计出一款适合电机优化设计的现代智能优化算法,该算法结合了粒子群优化算法和惩罚函数法,同时,惩罚函数考虑了约束条件与优化目标的数量级关系,并引入了约束强度用来控制这一关系。(2)开发出力矩电机优化设计软件,采用面向对象的编程思想,将电磁计算过程封装为类,并以此类创建两个独立的对象,分别负责管理计算模块和优化模块的电机数据。软件可实现同类电机的任意优化问题,并为用户提供动态优化功能。(3)以一款异步力矩电机为例,通过软件对该电机的起动性能进行优化。其中起动转矩由150.08N"m增加到154.3N"m,优化幅度约为2.81%,而起动电流保持初始值,说明起动性能有所提升。经ANSYS软件的仿真验证,验证了它的优化结果是正确有效的。

作者:白金成 胡岩 单位:沈阳工业大学电气工程学院