APP下载

BP神经网络在步进电机细分控制的应用

2015-11-18

电气技术 2015年10期
关键词:距角角位移步距

肖 锋

(佛山供电局,广东 佛山 528000)

步进电机的细分控制,不仅能改善电机低速运行时的性能,而且可以提高电机的控制分辨率。目前常用的细分控制法参见文献[1-3],主要有插值法、近似波形法、曲线拟合法、矢量控制法。这些方法都是以一定的数学模型为基础,且都是在某些理想的条件下提出,如磁路线性化、转矩特性理想化、忽略高次谐波等。本文利用 BP神经网络不需要具体数学模型就能够以任意精度逼近任意复杂的非线性映射的特点,引入到步进电机细分控制中,实现步距角均匀控制。

1 步进电机细分控制原理

细分控制就是将步进电机绕组原来整步运行的步距角细分成若干个较小的步距角,解决低速运行时出现低频振荡、失步,高频带负载能力下降的问题,同时提高电机的控制精度[5]。如图 1所示,步进电机细分前步距角为θ=π/2通过改变 A、B相绕组电流,转子在两绕组产生的合成力矩作用下步距角由原来θ=π/2变为θ/3。

图1 步进电机细分后运行图

2 细分控制的实现

本文以德 TI公司型号为 TMS320LF2407A的DSP为控制核心,ST公司生产型号为L298N的驱动芯片构建控制步进电机定子绕组电流,实现步距角细分。检测信号为步进电机步距角,并通过显示平台显示。细分控制实验平台示意图如图2所示。

图2 细分控制实验平台

细分控制电流是通过PWM(脉冲脉宽调制)技术实现的。本文的控制对象为两相永磁步进电机,利用TMS320LF2407A两个独立比较单元产生4路PWM波控制L298N驱动输出所需的细分控制电流,实现对步距角的控制。在这个过程中有两个非线性的过程:①PWM控制信号经过驱动控制输出电压;②输出电压通入步进电机定子绕组后输出的步距角,控制框图如图3所示。

图3 控制信号到步距角的控制框图

由于驱动与步进电机无法建立精确的数学模型,因此很难实现对电机的精确控制。本文将驱动、绕组电流、步进电机看成一个非线性过程,利用BP神经网络具有逼近任意非线性函数的能力计算得到这个过程的相应控制信号。给定步距角为神经网络输入,输出为控制信号(占空比)。将控制信号(占空比)输入到DSP中就可以得到所需要的步距角,这样利用占空比这个精确的控制量就可以实现对步距角的控制,不需要通过测量绕组电流值,这样可以避免电流测量产生的误差,提高控制精度,简化控制过程。

本文神经网络的训练是通过 Matlab平台实现的。Matlab神经网络工具箱为开发者提供很多基于神经网络理论为基础的典型框架和相关函数。这些框架和函数减少了许多手动计算的工作,不仅提高了效率而且还提高了计算的准确度和精度。BP神经网络的建立的基本步骤如下所示。

1)数据归一化,将输入和输出的数据进行归一化处理,加快网络训练的收敛性。首先输入一组归一化后的占空比值M= [0 7 8 22 65 143 171 194 207 230 285 306 324 391 404 500;500 404 391 324 230 143 116 94 83 65 35 27 22 8 7 0]/500,然后,用光电编码器测出这组控制占空比值所对应步进电机的步距角(角位移),测出的角位移数据为数组N=[0 4 5 9 14 17 17 18 18 19 20 20 20 22 22 25]/25。

2)用newff函数创建一个BP神经网络。输入函数net=newff(N,M, [3, 3]);建立一个BP神经网络函数。其中隐含层的传递函数为tansig(正切函数),输出层传递函数为purelin(线性函数),学习函数为learngdm(带动量的梯度下降法的BP学习规则)。训练函数为trainlm(Levenberg_Marquardt的BP算法训练函数)。

3)用train函数训练BP神经网络。设置训练步数。net.trainParam.epochs=1000;训练目标误差net.trainParam.goal=0;学习率 net.trainParam.lr=0.02。设置完成后,输入命令net=train(net,T,P) 对BP网络进行训练。

4)神经网络训练好后,需要拿测试样本进行测试,用来检验网络训练是否达到所需要的效果。在数据采集的过程中,还采集了一组数据用来测试训练结果。这组数据的输入为步进电机步距角位移数组N1=[0 5 10 15 20 25]。用sim函数进行仿真,输入命令M1=sim(net,N1) 后得到结果为[0 8 26 92 289 500;500 387 312 197 36 -1] /500,理想输出的占空比值为 [0 8 27 83 285 500; 500 391 306 207 35 0]/500。经过比较,用BP神经网络模拟出来的占空比值是非常理想的,可以很好的满足要求。为了更直观的观察神经网络的训练情况,输入命令plot(N,M2,N,M2, '+',N1,M1, '*') 后可以得到数据的拟合曲线,如图4所示。

图4 训练拟合曲线图

3 实验及结果分析

为验证BP神经网络在步进电机细分控制中的效果。对步进电机做了3细分、8细分2组实验。其中步进电机3细分和8细分电流波形如图5、图6所示,对应细分角位移数据表1、表2所示。

对实验数据进行分析表明,运用 BP神经网络算法能够实现对步进电机的均匀细分控制。从定子绕组电流波形可以看出,要使步距角均匀细分,定子绕组的电流波形并不是规则的正弦波,会有一定的变形,这也进一步说明了步进电机的输入绕组的电流与输出角位移之间的关系的非线性和复杂性特点。

图5 步进电机3细分绕组电流波形

图6 步进电机8细分绕组电流波形

表1 步进电机3细分角位移数据表

表2 步进电机8细分角位移数据表

4 结论

本文引入 BP算法,在不需要建立精确的数学模型的情况下实现步进电机步距角均匀细分控制。相比过去通过采用近似数学模型的控制方法得到了很大的简化。同时采用“控制电流占空比—输出步距角”特殊的训练方式,利用占空比这个精确的控制信号代替需要测量的电流值控制信号,提高控制精度。

[1] 马西庚, 张卫东. 步进电机细分控制输入输出特性的研究[J]. 石油大学学报(自然科学版), 1998, 22(3):98-100, 11.

[2] 孙宏刚. 两相混合式步进电机细分驱动控制器的研究[D]. 武汉: 华中科技大学, 2006: 19-24.

[3] 孙胜利. 步进电机细分驱动获得均匀步距的方法研究[J]. 微特电机, 1998(5): 21-23, 26.

[4] 刘闯. 一种基于电压 SVPWM 的三相步进电机细分驱动技术研究[J]. 微电机, 2008, 41(3): 45-47.

[5] 阮建国. 步进电机可变细分微机控制系统[J]. 微电机, 1987(2): 25-27.

猜你喜欢

距角角位移步距
小型变桨风力机启动性能研究
基于数据驱动的风电机组最优桨距角 辨识方法
考虑风速差异的风电场减载方案与一次调频策略
单线隧道大型机械化快速施工步距优化研究
一种压电驱动的角位移微动平台设计与优化
采放比及步距的不同对采出率的影响分析
风力发电机组最优桨距角自寻优控制算法设计
发动机扭转减振皮带轮的匹配试验研究
特别的赛跑
充填步距对矸石充填开采覆岩运动影响的数值模拟