APP下载

基于BPNN的超声波电动机转速控制与实验研究

2019-09-04武海强徐文潭王光庆崔素娟赵泽翔谭江平

微特电机 2019年8期
关键词:阶跃传递函数电动机

武海强,徐文潭,王光庆,崔素娟,赵泽翔,谭江平

(浙江工商大学, 杭州 310018)

0 引 言

超声波电动机作为一种全新的微特电机,通过压电材料的逆压电效应,将电能转化为机械能,具有抗干扰、低速大扭矩、响应速度快、结构设计灵活等优点,在现代工业中有着广阔的应用前景。

超声波电动机的运行过程包括多个层次的能量转换。压电陶瓷将高频电压激励通过逆压电效应转换为定子表面的微观机械能,由定转子接触面将微观机械能通过摩擦作用转换为转子的宏观运动。在这个过程中,定转子长时间摩擦,使得电机温度升高,定子的谐振频率产生漂移,此时电机转速变化具有明显的非线性特性[2-3]。此外,温度升高也会对压电陶瓷的压电效应产生影响,内部的极化翻转更容易改变,而且高温会对压电片与定子间的粘合剂产生一定的作用,这些就是使得超声波电动机非线性加重的原因[4]。超声波电动机因特殊的能量转换机制和能量传递方式,导致其运行过程具有非线性特征强、控制准确度低和稳定性差的特点[1]。

为改善超声波电动机的控制特性,已有多种不依赖电机数学模型的控制策略被提出。文献[5-6]提出了运用驱动电压和电机温度作为控制量的控制系统,电压控制有明显的控制死区,而温度控制的滞后性较为明显,两种策略的实时控制效果均不理想。以频率作为控制量,实现转速在线调节的控制策略有模型自适应[7]、单神经元自适应[8]、H∞混合灵敏度法[9]等,这些控制策略需要复杂的算法和大量计算来寻找最优参数,不利于实时控制。

针对行波型超声波电动机,本文基于阶跃响应对超声波电动机模型进行参数识别,根据该识别结果,研究了基于BP神经网络(以下简称BPNN)算法的速度控制策略;利用实验选出合适的参数集,在保证较快响应速度的同时,减少算法的在线计算量,提高实时控制速度,在电机目标转速跳变的运行过程中具有较高的跟踪精度;建立了电机速度控制实验系统,通过实验研究控制策略的实际控制效果,给出对应的实验数据和结论。

1 超声波电动机模型的参数识别

在选定驱动电压频率作为控制变量时,频率作为输入量的控制模型就显得更加重要。控制模型是否合适,将直接影响分析测试的复杂度和准确性。本文通过实测电机的频率-转速阶跃响应特性以及辨识方法,构建超声波电动机的频率-转速控制模型。超声波电动机的起动响应具有衰减振荡的特性,因此,可以采用二阶欠阻尼振荡模型对电机模型参数进行辨识。

设该电机的频率-转速控制模型传递函数[11-12]:

(1)

式中:K=ν1/f,ν1是稳定转速,f是输入的阶跃频率值;τ是延迟时间;ξ和ωn为模型的等待识别参数,分别表示电机的阻尼系数和谐振频率。

对式(1)做归一化处理,可以得到二阶欠阻尼标准模型单位的传递函数:

(2)

由式(2)可以得到归一化的阶跃响应表达式:

(3)

由式(3)可以得到ξ和ωn为待识别的模型参数:

(4)

通过式(2)的电机阶跃响应模型,采用特征点法对实测频率和转速数据进行辨识计算。实验中所用的Φ60行波型超声波电动机,工作频率范围是41.0~45.7 kHz,经过尝试性开环运行测试,选定输入阶跃频率范围是41.5~45.0 kHz。表1是输入频率数值后,电机阶跃响应稳定后对应的转速。

表1 阶跃响应测试数据分布

利用表1结果和式(2)识别得到的最优模型参数:

(5)

辨识后的控制模型输出与实测数据误差平均值最小。目标转速80 r/min和50 r/min时的实测与仿真数据的对比结果如图1所示,可见,识别结果与实测数据比较吻合,特别是稳定运转状态下,两者之间的误差控制在2%以内。

(a) 80 r/min

(b) 50 r/min

图1电机实测与仿真阶跃响应对比结果

2 基于BPNN的电机转速控制

2.1 BPNN算法设计

BPNN控制主要包括神经网络控制器和神经网络辨识器[10],基于BPNN的超声波电动机转速控制原理结构如图2所示。考虑到控制对象实时调整的动态要求,神经网络辨识器应具备高速识别和快速响应特性,而且还应该有一定的容错性,避免未知干扰引起系统较大的振荡。

图2神经网络控制结构图

BPNN是有方向的多层次的前馈型神经网络,一般采用s型函数作为神经元的传递函数。s型函数输出量可以连续地映射到函数划定范围内,超声波电动机控制的非线性特性借助BPNN的这一特性可以得到较好的解决。

BPNN的学习规则是网络权值和阈值通过反向传播,沿着负梯度方向修正,即:

xk+1=xk-αkgk

(6)

式中:xk是权值和阈值矩阵;gk是当前变现函数的梯度值;αk是学习速率。假设网络层数为三层,输入节点设为xi,隐层节点为yj,输出层为zl,输入层和隐含层的网络权值为Wji,隐含层和输出层的网络权值为Vjl。当输出节点的期望值为tl时,隐含层输出:

(7)

输出节点的输出值:

(8)

输出节点的误差:

(9)

输出节点的误差一般用来对比网络训练时所设置的误差指标。如果输出节点的误差小于所设定的误差指标,则说明网络已经训练完成。如果网络训练长时间不能达到要求,说明选择的网络训练方法有问题,因此需要设定合适的迭代次数来控制迭代时间。当迭代次数达到设定值时,输出节点的误差还未达到要求,训练过程立即终止。

BP网络常用的传递函数有三种:log-sigmoid型函数,输入值任意,输出值位于0和1之间;tan-sigmoid型传递函数,输入值不限,输出值介于-1和+1之间;purelin线性传递函数,输入和输出值都可以取任意值。本文设计的神经网络PID算法的输出量为Kp,Ki,Kd值,实际操作时为了避免产生系统振荡,需要将输出值转变为对应参数的增量。log-sigmoid型函数的输出值只能取正数,所以不可用。归一化处理是网络训练之前必要的数据处理手段,一是为了方便tan-sigmoid型传递函数的应用,使数据映射到传递函数的作用域中;二是减小权值调整幅度,消除原始数据集影响。

BP网络常用的训练函数分别为trainbfg,traingd和traingdm。trainbfg是BFGS拟牛顿BP函数,可以训练任意神经网络;traingd为批梯度下降训练函数,沿网络性能负梯度方向调整网络性能参数的权值和阈值;traingdm为动量批梯度下降函数,可以有效地避免局部最小问题在网络训练中出现。

2.2 BPNN结构

三层BP网络可以实现对任意非线性模型的辨识,将电机转速误差e和误差变化率ec作为BPNN的输入,Kp,Ki,Kd作为神经网络的输出,加上中间隐含层,组成的三层神经网络结构如图3所示。

图3BPNN结构

由于输入和输出值都进行了归一化处理,网络中都设为tan-sigmoid传递函数。对于隐含层节点数的确定并没有一个明确的标准,往往需要通过大量的数据验证后的经验获得。隐含层节点数的多少决定着训练网络的优劣,节点数过少,网络泛化能力差,适应性不够;节点数过多,增加训练时间,造成网络过适应性,隐含层节点数参考以下公式得到:

(10)

式中:m为隐含层节点数;n为输入层节点数;o为输出层节点数;a为1~10之间的常数。

用MATLAB构建三层BP网络,传递函数分别设定为tansig和purelin,训练算法默认选择trainlm。使用电机控制数据中间变量,每组变量包括[eecΔKpΔKiΔKd]。设定隐含层节点m的起始数目为5,进行1 000次训练后的网络收敛误差如表2所示。假设最小误差为1×10-5,训练网络达到误差要求所需的迭代次数N如表3所示。

表2 网络训练收敛误差值

表3 网络训练误差达标迭代次数

从表2和表3中数据可以看出,同样训练次数下,隐含层节点数为11时收敛误差最小;同样的收敛误差下,隐含层节点数为7时迭代次数最小。

2.3 BPNN训练

训练BP网络的样本由模糊PID控制算法中的过程量构成,每一组数据由e,ec两个输入变量和ΔKp,ΔKi和ΔKd三个输出变量组成,记为[(e,ec),(ΔKp,ΔKi,ΔKd)]。训练过程如图4所示,误差e和误差变化率ec沿网络正向传播,输出ΔKp,ΔKi,ΔKd值,网络输出值与训练数据总的输出值之间的差值分别为误差ep,ei,ed,误差值沿网络反方向传播,修改网络层之间的权值和网络节点的阈值。对于隐含层单个节点,抽象过程如图5所示。

图4BP网络数据传输过程

图5单节点数据传递过程

对于传递函数tansig,则有:

(11)

得到五例电机实测数据,每例数据包括100组[(e,ec),(ΔKp,ΔKi,ΔKd)]。其中两例用于网络训练,调整网络层之间的权重,两例用于测试训练网络的准确度,最后一例数据用于验证。图6和图7是隐藏层节点数为7时的网络训练误差曲线和回归曲线。

图6训练误差曲线

图7训练回归曲线

由图6结果可见,训练达到91次时,网络达到设定最小收敛误差1×10-5,收敛速度较快。图7为网络训练全部样本回归曲线,此时线性相关系数R为0.998 1,训练输出与拟合结果重合,可见训练后的网络具有良好的适应性。

2.4 BPNN算法仿真分析

设定电机目标转速值为100 r/min,用训练好的BP网络去调整控制PID的参数变化,得到电机转速阶跃响应曲线如图8所示。可以看出,响应稳定时间约为30 ms,要快于定值PID和模糊PID控制,并且没有超调,BPNN对电机起动特性的改善要远远强于定值PID和模糊PID控制。设定电机转速区间为80~100 r/min,仿真BP网络控制下电机模型的转速跟踪情况和PID参数值变化情况,结果分别如图9、图10所示。由图9和图10可知,电机转速下降时出现了轻微的超调,同时Kp和Ki参数也出现了超调现象,但是电机转速在上升过程中却没有超调现象,对应时间段内PID参数值也都未发生超调。电机转速上升和下降的响应时间都在25 ms左右,响应速度要远远快于模糊PID控制。仿真结果表明,BP网络对电机转速的控制性能要好于模糊控制方式,控制系统稳定性和响应速度上都有一定提升。

图8阶跃响应曲线

图9模型转速跟踪情况

图10BP网络PID参数变化曲线

3 控制系统搭建与实验研究

3.1 控制系统

本文选用Φ60行波型超声波电动机为控制对象,如图11所示,电机谐振频率为41.6 kHz。图12是搭建的电机转速控制实验平台,包括Φ60行波型超声波电动机,DSP2407A开发平台及其外围电路,驱动电路模块,OMRON公司生产的EB50S8A-5000p/r型光电编码器,JC2733D型直流电源,TDS2024C示波器以及PC机。

图11控制对象超声波电动机

图12电机转速控制平台

(a) BPNN训练过程 (b) BPNN控制电机流程

图13BPNN控制算法流程

3.2 实测结果与比较

为了验证本文控制算法的效果,将BPNN-PID算法与模糊PID算法的控制结果进行了比较。图14是设定转速值为100 r/min时,电机在模糊PID算法控制下实测的阶跃响应曲线。电机转速响应稳定时间约为40 ms,最大超调量约为17%,稳态时转速误差为5%。图15是电机在BPNN-PID算法控制下的阶跃响应曲线。电机响应稳定时间约为30 ms,没有超调发生,稳态时转速误差为2%,相比于模糊PID控制效果,具有更好的起动稳定性。

图16是目标转速设定在80~100 r/min之间,模糊PID算法电机转速跟踪实测曲线。电机减速时转速响应时间约为35 ms,电机加速时响应时间约为33 ms,且转速调节过程中存在明显的振荡现象。图17是BPNN-PID算法时电机转速跟踪实测曲线。转速下降时没有明显的超调,响应时间约为32 ms;转速上升过程中有轻微的超调,其响应时间约为31 ms。图18是两算法转速误差统计结果。BPNN-PID算法的稳定性明显好于模糊PID算法,避免了模糊PID算法控制下0误差值附近振荡的情况;BPNN-PID具有更小的超调量,稳态转速误差控制在2 r/min以内,优于模糊PID算法结果。

图14模糊PID电机阶跃响应测试结果

图15BPNN-PID电机阶跃响应实测结果

图16模糊PID电机转速跟踪实测结果

图17BPNN-PID电机转速跟踪实测结果

图18稳定运行时误差统计图

4 结 语

针对超声波电动机非线性强和转速控制难等问题,设计了基于BPNN-PID算法的超声波电动机转速控制策略,搭建了控制平台,仿真、实测和对比验证了本文的BPNN-PID算法的实用性和的有效性。BPNN-PID具有较强的适应性,对控制参数的调整更加趋于线性,因此其控制效果要优于模糊PID算法,且具有更小的超调量,稳态时转速误差控制在2 r/min以内,实时控制精度达到±2%。

猜你喜欢

阶跃传递函数电动机
基于阶跃双包层光纤的螺旋型光纤传感器
浅析电动机日常维护与保养
永磁同步电动机的节能计算
基于LabVIEW的火焰传递函数测量系统
探讨单位阶跃信号的教学
红外成像系统的调制传递函数测试
基于KB0的电动机软启动控制系统
电动机的保护配合及CPS在民用建筑中的应用
基于传递函数自我优化的BP网络算法改进
一种阶跃函数在矩形时间窗口频域特性的分析方法