基于LSTM的PMSM转子位置检测算法研究
2022-12-11付闯闯张旭欣金婕
付闯闯,张旭欣,金婕
(上海工程技术大学 电子电气工程学院,松江 201600)
0 引言
永磁同步电机(PMSM)凭借其体积小,效率高,噪声低等优点,被广泛应用于工业控制系统中[1],在矢量控制方法中得到其转子位置的准确信息是控制系统稳定运行的关键条件之一[2]。通常有传感器的位置检测方法存在成本较高,传感器精度易受恶劣环境和传感器磨损等因素的影响[3,4]。无传感器的位置检测方法有效减小了电机的制造成本,提高了系统的可靠性和抗干扰能力[5]。目前基于无传感器的位置检测方法主要有高频信号注入法,滑模观测器法,扩展卡尔曼滤波法等方法;其中文献[6]提出的随机高频正弦电压信号注入法,有效降低了传统高频注入法因高频信号注入产生的额外噪声,但存在转速变化时电机的位置观测误差较大问题。文献[7]采用改进型滑模观测器法减小了系统由于滑模面切换带来的输出抖振,但仍存在相位滞后,转速跟踪误差相对较大等问题。文献[8]采用强跟踪无迹卡尔曼滤波法减小了扩展卡尔曼滤波算法中的计算复杂度,提高了非线性系统的鲁棒性;但存在低速阶段时转速和永磁体位置的估计都与实际值偏差较大的问题。文献[9]引入了BP神经网络解决了位置观测器中参数整定较为复杂的问题,减少了观测器对模型的依赖强度;但是BP神经网络受到自身训练程度的影响,在开始阶段输出波动较大,稳定后存在固有误差等问题。
针对上述问题,本文提出了基于LSTM神经网络实现永磁同步电机转子位置检测的方法;首先对采集到的定子三相电流进行前期处理,设计了电流采样处理模块,优化了神经网络的输入;然后引入带有时序记忆能力的LSTM神经网络,有效解决了传统神经网络面对电机定子三相电流的时序性输入时,转子位置仅与当前时刻电流简单对应的问题,从时序性输入的角度增加了电流前后时刻与电机转子位置电角度的连续性对应关系;有效减小了转子位置预测的误差范围,提高了转子位置的检测精度;最后通过MATLAB中的Simulink环境搭建仿真系统进行验证,通过实验结果的对比,得出本文提出的方法具有较好的转子位置检测能力。
1 PMSM数学模型
定义ia,ib,ic为电机三相定子电流,任意两相定子线圈的互感为M,定子绕组的自感为L,转子在定子绕组中产生的互感磁链为ψm,单项绕组的电阻为Rs,微分算子d/dt为P,电机定子绕组的极对数为np,根据以上定义及基尔霍夫电流定律,有如下等式成立。
三相电流的关系:
永磁同步电机的电压方程为:
其中ωc为转子和定子磁场旋转的电角速度(rad/s):
2 控制系统设计
2.1 LSTM神经网络设计
为了使电机控制系统在有转矩突变和其他扰动的情况下仍能有精确的转子位置检测能力,文中采用带有长短时记忆能力的LSTM神经网络;将电机的定子三相电流作为LSTM神经网络的输入,将电流中包含的相位信息与转子位置对应起来,并通过训练LSTM神经网络输出对应电机转子位置电角度的正弦和余弦波形。
LSTM神经网络模块的连接方式和内部结构设计如图1所示。
图1 LSTM神经网络模块结构
模块内部A为信息之间的传递过程;上边水平穿过顶部的直线表示神经元的状态,仅有一些小的线性操作,容易保持信息不变的流过。
LSTM中用于保护和控制神经元状态的三个门分别为“忘记门”、“输入门”和“输出门”。每个门由一个Sigmoid神经网络层和一个点乘法运算组成。它可以选择性地让信息通过,赋予了LSTM网络具有删除或添加信息到神经元状态的能力。其中每个Sigmoid神经网络层输出[0,1]之间的数字,用来描述每个组件可以通过信息的多少;0表示任何信息都不通过,1表示信息全部通过。
LSTM模块内部的具体算法实现过程为:首先由“忘记门”中的Sigmoid层实现神经元状态中需要丢弃的信息,它查看前一个输出ht-1和当前输入Xt并为上一个单元状态Ct-1中对应的每个信息输出相应的0到1之间的数字ft;由ft与Ct-1相乘得到神经元状态中需要保留下来的信息。其次由“输入门”中Sigmoid层实现神经元状态中需要增加更新部分的信息it;由相邻的tanh层创建将会被加到神经元状态中的候选向量;通过it与相乘得到神经元状态需要增加更新部分的信息。然后由保留的神经元状态信息ft·Ct-1和增加更新部分的神经元状态信息it·进行相加,得到更新后新的神经元状态Ct。最后由“输出门”中的Sigmoid层实现神经元状态中需要输出的信息Ot,更新后的单元状态Ct通过tanh函数将数值规范化到[-1,1]之间,并将其与输出门的Ot相乘,得到此次神经网络的输出信息ht。
每个阶段的计算如下:
忘记门的输出为:
输入门的输出为:
待更新神经元状态的输出为:
更新后的神经元状态输出为:
输出门的输出为:
当前网络选择决定的输出:
2.2 三相电流处理模块设计
为了使采集到的定子三相电流满足神经网络的输入,需要对其进行规格化和同步采样处理。设采集到的电流分别为ia,ib,ic;设规格化系数K为:
规格化之后的三相电流分别为:
由式(11)可知,电流被调整在[-1,1]区间。由于开关管的快速切换给三相电流带来杂波,因此需要与SVPWM波形同步,取SVPWM同步触发采样的离散点采样电流,去除杂波干扰。电流处理模块设计如图2所示。左侧三个输入分别为定子三相电流,经过规格化、采样频率变更和浮点数转二进制数的数据类型转换等处理后输入到ModelSim模块中进行同步触发采样处理,端口trig-in为SVPWM模块输出的三相上管栅端控制信号经“或”操作后产生,以此为触发信号进行同步采样。右端为二进制数转浮点数模块和采样处理后的电流波形输出。
图2 电流处理模块
2.3 系统总体控制设计
实现永磁同步电机闭环控制系统的稳定运行需要各模块间的密切配合;其中各模块间的主要工作过程为:从Simulink仿真系统中直接采集电机的三相定子电流ia,ib,ic;通过规格化和同步触发电流采样去除杂波等干扰;将处理好的三相定子电流iu,iv,iw输入LSTM神经网络模块进行在线训练并得到电机的转子电角度θ;从仿真系统采集电机的角速度量ω并通过外环的速度反馈环节输出速度n*,与给定速度n进行比较得到速度偏差e(n),通过PI电流控制器得到参考电流iqref;其中静止坐标系定子三相电流ia,ib,ic经过Clark变换得到静止两相坐标系电流iα,iβ并将其进行Park变换得到旋转坐标系下的两相电流id,iq;id,iq分别与参考输入电流idref,iqref比较,并经过对应的PI电流控制器得到旋转坐标系下的电压Vd,Vq;经过Park逆变换得到静止两相坐标系下的电压Vα,Vβ;根据矢量电压的合成关系通过SVPWM模块依次产生新的三相电枢电压最后施加到永磁同步电机定子上;最终实现整个电机控制系统的稳定运行。整个电机控制系统的设计如图3所示。
图3 电机控制系统
3 实验结果与分析
3.1 仿真环境与参数设置
为了实现相关验证,系统在MATLAB中的Simulink仿真环境下完成,其中电流采样处理模块采用了Modelsim与Simulink联合仿真验证。仿真系统的电机参数设置如表1所示。
表1 电机系统参数
3.2 电流规格化波形
如图4所示,上面为规格化前的定子三相电流,在0.1s时受转矩变化影响有微小波动,之后迅速稳定。下面为规格化后的定子电流,通过对比可以看出三相定子电流ia,ib,ic经过规格化处理后波形调整在[-0.5,0.5]区间,为后期的处理带来便利。
图4 电流规格化前后波形
3.3 电流同步触发采样处理
如图5所示,上面为规格化后的定子三相电流波形,下面为同步触发采样后的定子三相电流波形;经过对比可知,电流经过同步触发采样后,消除了开关管切换带来的毛刺,去除了干扰,优化了下一阶段系统的输入。
图5 电流同步触发采样前后波形
3.4 电机的速度波形
电机在给定转速为800r/min,t=0.1s时加入T=100N.m的转矩负载。其速度波形如图6所示,刚开始时有微弱的波动,在t=0.02s内稳定在800r/min;在t为0.1s时加入T为100N·m的转矩,波形仍然稳定;说明系统有很好的动态和静态特性。
图6 转速在800r/min时的波形
3.5 转子电角度正弦和余弦波形以及误差
图7为BP神经网络的输出,图8为LSTM神经网络的输出;其中上面为实际的转子位置电角度的正弦和余弦波形波形输出,中间为标准参考输出,下面为实际与参考的误差输出;通过对比可以看出BP神经网络的转子位置检测方法,在初始阶段0.05s以内检测误差达到了35%,在后期稳定后检测误差减小到3%至5%之间;而本文采用的LSTM神经网络检测方法,在初始阶段0.02s内达到稳定,在0.05s时出现微小波动且最大误差为2.8%,稳定后检测误差保持在1%以内。
图7 BP神经网络输出波形及误差
图8 LSTM神经网络输出波形及误差
通过以上实验,传统方法,BP神经网络方法,LSTM神经网络方法的检测效果对比如表2所示。
表2 不同方法对比
通过对比可知LSTM神经网络具有更快速和更精确的转子位置检测能力。
4 结语
本文采用具有长短时记忆能力的LSTM神经网络,实现了在永磁同步电机无位置传感器转子位置检测算法中的应用;通过设计电流采样处理模块,LSTM神经网络预测模块和搭建电机矢量控制闭环系统进行仿真验证;实验结果表明该算法在永磁同步电机的转子位置检测中具有较好的抗扰动能力,并且缩短了检测时间,提高了转子位置检测精度,具有一定的研究和应用价值。