《武汉工程大学学报》  2010年01期 93-96   出版日期:2010-01-31   ISSN:1674-2869   CN:42-1779/TQ
基于PSOWNN的无刷直流电机转子位置检测方法


引言无刷直流电动机(BLDCM)由于利用了电子换向器取代了机械电刷和机械换向,具有直流电动机优秀的线性机械特性,如运行效率高、调速性能好等诸多优点,同时相对直流电机而言无刷电机革除了电的滑动接触机构, 因而消除了故障产生的主要根源.因此,近年来BLDCM被越来越广泛地应用到各种驱动装置和伺服系统中,以其优越的性能被广泛应用于各个领域.但是由于位置传感器的存在,当电机的工作环境较为恶劣时,使得电机的可靠性降低,影响电机的运行性能.因此,无位置传感器控制成为无刷直流电机研究的一个重要内容.针对其位置检测,国内外学者出了许多方法,然而这些方法各有其优点及局限性[16].小波神经网络WNN是在小波分解的基础上提出的一种前馈神经网络,其思想是用小波元代替神经元,通过仿射变换建立起小波变换与网络系数之间的连接,并应用于函数逼近,小波神经网络具有优良的函数逼近能力,收敛快,全局收敛性等优点[79].粒子群算法(PSO)是基于群智能的全局优化技术,它通过粒子间的相互作用,对解空间进行智能搜索,从而发现最优解[10].粒子群算法本质上属于随机寻优过程, 不存在局部收敛问题;因此将二者结合起来,建立了基于粒子群算法的小波神经网络预测模型,并将之应用于无刷直流电机转子位置检测,取得了令人满意的结果.1位置检测分析以三相桥式Y形联结无刷直流电机为例,电机采用两两导通三相六拍的方式运行,任意时刻电机非导通相的相电流为零,导通的两相电流大小相等方向相反,电机的电压平衡方程为
va
vb
vc=Ra00
0Rb0
00Rcia
ib
ic+
ddtLaLabLac
LbaLbLbc
LcaLcbLcia
ib
ic+ea
eb
ec(1)
式(1)中va,vb,vc为定子绕组相电压;ia,ib,ic为定子绕组相电流;La,Lb,Lc为绕组自感;Lab,Lac,Lba,Lbc,Lca,Lcb为绕组间互感;Ra,Rb,Rc为绕组电阻;ea,eb,ec为反电势.假设三相对称,则La=Lb=Lc=LsRa=Rb=Rc=RLab=Lac=Lba=Lbc=Lca=Lcb=M令Ls-M=L又因为ia+ib+ic=0,于是,式(1)可以改为
va
vb
vc=R00
0R0
00Ria
ib
ic+ddtL00
0L0
00Lia
ib
ic+ea
eb
ec(2)则电机相电压方程为vx=ixR+Ldixdt+ex(3)根据法拉第电磁定律,电机相电压方程为vx=ixR+dψx(θ,ix)dt(4)
式(4)中ψx为相磁链,θ为转子位置.由式(3)和(4)可得dψx(θ,ix)dt=Ldixdt+ex(5)第1期杨海燕,等:基于PSOWNN的无刷直流电机转子位置检测方法
武汉工程大学学报第32卷
根据反电势ex=ωdψx(θe)dθ,式(5)以偏微分方程形式展开并整理可得Δψx=ψxixΔix+ψθΔθ+ψxiΔi(6)
式(6)中为电机另两相的导通相电流.由式(4)得ψx=∫[vx(t)-Rix(t)]dt离散化后可得ψx(k)=ψx(k-1)+T[vx(k)-Rix(k)](7)为了减少随机误差提高测量精度,故采用平均值法求取ψx(k),即:ψx(k)=ψx(k-1)+12T[vx(k)-Rix(k)+
vx(k-1)-Rix(k-1)](8)只要检测到非导通相电压v和导通相电流i,由式(8)就可以计算可得相磁通,依据式(6),以导通相电流和相磁通为输入,网络的输出θ即为预测的转角,从而得到电机的换相信号.2小波神经网络2.1小波网络把小波变换的运算融入到神经网络中去,用小波函数代替常规神经网络的隐层激励函数,即将小波分析和神经网络嵌套式结合,形成小波神经网络,该网络结构为两层前馈式神经网络,采用小波函数为网络的隐层节点,网络的输出是隐层节点输出的线性加权,权值为网络可调参数.网络结构如图1所示,以导通相电流和相磁通为输入,通过5个隐层节点输出θ.图1小波神经网络拓扑图
Fig.1The construction of wavelet NN该网络选用墨西哥帽状小波为隐节点:(x)=(1-x2)e-x22(9)隐含层输入为neti=∑mj=1wijxj(10)其多输入单输出结构的网络输出方程为θ=∑ni=1wi((∑mj=1wijxj+bi)ai)(11)
式(11)中wij是隐含层第i个节点到输入层第j个节点之间的权值;xj是输入层第j个节点的输入;bi是隐含层第i个节点的平移系数;ai是隐含层第i个节点的伸缩系数;(·)是隐层激励函数(小波函数);wi是第i个隐层节点到输出的权值.2.2网络参数初始化网络参数初始值选择的好坏对于网络训练很重要,初始值选择的好,收敛速度快,反之,则收敛速度慢,训练时间长,甚至导致无法收敛.网络参数初始值选择的步骤如下:a.首先随机产生[-1,1]区间上均匀分布的随机数作为权值wij,wi的初始值.b.计算隐含层第i个节点的输入neti,并且求出最大值netimax和最小值netiminc.设母小波的时域中心为r0,半径为Δr,则小波伸缩系在时域的集中区域为[-bi+r0-Δrai,-bi+r0+Δrai]为了使小波伸缩系覆盖输入向量的整个范围,则伸缩平移参数的初始设置必须满足下式-bi+r0-Δrai=netimin
-bi+r0+Δrai=netimax(12)由式(12)则可以得到ai=2Δrnetimax-netimin
bi=(netimax-netimin)(r-Δr)2Δr(13)墨西哥帽小波母函数的时域中心r0=0,半径Δr=1.08.代入式(13)可以求得伸缩系数ai和平移系数bi的初始值.2.3网络训练算法
粒子群优化(PSO)是模仿自然界鸟群,蜂群,鱼群的行为规律的一类随机优化算法图2给出了PSO的流程图,PSO将每个可行解视作一个粒子,每个粒子有两个属性, 位置x与速度v,假设第i个粒子的位置与速度如下:X=(xi1,xi2,…,xiN)(14)V=(vi1,vi2,…,viN)(15)其中N表示问题的维数,每次迭代过程中, 计算每个粒子的适应度函数,然后不断跟踪两个最好的粒子: 一个是当前粒子经历的最好位置, 称为pBest; 另一个是当前粒子的邻域内最好的粒子, 称为 nBest ; 如果邻域为整个粒子群, 那么nBest 变为全局最好的粒子, 称为gBest.因此,某粒子的速度与位置按照下面的公式来更新:V=ωv+c1r1(pBest)+c2r2(nBest-X)(16)X=X+VΔT(17)其中ω表示惯性权重, 控制过去的速度对现在速度的影响c1与c2是正常数, 表示加速度系数,r1与r2是两个在区间[0,1]上满足均匀分布的随机数t表示时间间隔,必须注意的是,粒子速度存在一个上限vmax,以保证粒子的搜索不会太快.根据粒子群算法原理,选取 N 个粒子构成粒子群,其中每个粒子都是D维的向量.这个向量代表神经网络模型中的所有权值,以及网络中隐层节点的小波伸缩、平移系数,所有权值的初始值随机产生, 取值范围为[0,1],粒子初始群体随机产生后,以后各代粒子的位置根据飞行速度的变化而变化.用以下公式衡量每个粒子的适应值.网络最小目标函数为J=12∑p(θs-θ)2(18)
式(18)中p为训练样本个数;θs为输出样本;θ为网络输出.粒子群小波神经网络混合算法的流程图为:(1)确定算法参数.根据神经网络的输入输出样本集确定网络的拓扑结构;按式(14)初始化粒子的位置xid及速度νid,确定粒子个数N、惯性因子ω的初值、最大允许迭代步数kmax、加速系数c1和c2.(2)适应度值计算.以神经网络均方差做为适应度函数,计算出每个粒子的适应度,选出个体极值最好的做为全局极值nBest,记录该最好值的粒子序号,那么该粒子对应的极值就是下次迭代中神经网络的最优权值.(3)更新.计算出每一粒子的适应度值,若优于该粒子当前的个体极值,记录该粒子的位置,且更新个体极值.若所有粒子的个体极值中最好的优于当前全局极值,记录该粒子的序号、位置,且更新全局极值; 权重,位置和速度.(4)检验.迭代达到最大次数或最小误差要求时,停止迭代,全局极值对应的神经网络权值与连接结构,即为训练问题的最优解.否则转到(2) .图2粒子群算法(PSO)流程图
Fig.2The flow chart of PSO算法终止后得到最优的权值,隐层节点的小波伸缩、平移系数.3仿真实验上述以MATLAB为平台对上述方法进行仿真,电机参数设置如下:额定电压72 V,额定转速120 r/s,额定电流5 A,得到的转子空间位置仿真曲线如图3所示,其中(a)为实际转角,(b)为小波神经网络输出,(c)是转角误差曲线,横坐标为时间,纵坐标为电机转角的误差.
图3电机转角仿真图
Fig.3The emulation of the rotor position由图3可知,在电机起动阶段,预测转角误差较大,稳定运行后,误差逐渐减小,从仿真结果可知,利用小波神经网络来控制电机换相能取得很好的效果.4结语通过分析无刷直流电机间接位置检测原理,利用粒子群算法的具有全局优化搜索能力,小波变换具有良好的时频局部性质的特征,建立了基于粒子群算法的小波神经网络模型,克服了神经网络算法易陷入局部最小的缺点,加快了算法的收敛速度.通过仿真可得该模型能够准确得到直流无刷电机的转角位置,从而得到电机的换相信号.