专家PID控制器在农用无刷直流电机控制系统中的应用
2015-12-22陈伟松王剑平杨晓洪昆明理工大学信息工程与自动化学院云南昆明650500
陈伟松,王剑平,张 果,杨晓洪 (昆明理工大学信息工程与自动化学院,云南昆明650500)
无刷直流电机由于具有结构简单、体积小、重量轻、效率高、调速性能好等特点,在农业领域得到了日益广泛的应用[1]。但是由于无刷直流电机是一种多变量、非系统,强耦合的控制系统,如电枢反应的非线性、转动惯量和相电阻的变化等,采用常规的PID控制并不能提供很好的控制性能[2-3]。因此,将模糊 PID,模糊神经网络 PID,PSO 自适应PID等应用在无刷直流电机上的控制算法不断被提出。模糊PID复杂度低,应用在实际控制中比较多,但像模糊神经网络、PSO优化等这些复杂度远高于常规PID,且计算量大,导致软硬件成本提高,现有的控制无刷直流电机的单片机及DSP难以支撑这样的运算量,所以在无刷直流电机实际应用上有所限制[4]。
为此,该文在结合常规PID的基础上,研究了改进方式,结合理论分析和实际验证,采用专家PID算法进行无刷直流闭环转速控制,专家PID算法运算量比常规PID只有少量增加。试验证明,专家PID具有良好的控制效果。
1 无刷直流电机转速控制系统
无刷直流转速控制系统采用带3个霍尔传感器的无刷直流电机。3个霍尔传感器连接单片机,可根据3个霍尔传感器的电平状态,获得电机转子的位置信息,然后根据位置信息进行电机换相,从而带动电机转动。与此同时,通过定时器检测换一次相所需时间秒数△T,根据公式RPM=60/6×△TN(△T-时间,S;N-磁极对数)计算出电机速度[5]。无刷直流电机转速控制系统的硬件结构如图1所示,通过STM32处理器采集霍尔传感器信号进行换相并检测运行速度。把获取的转速与给定速度产生的偏差进行专家PID处理,处理后产生6路PWM进行无刷直流电机转速控制。
整个无刷直流电机转速控制系统程序设计如图2所示。在启动无刷直流电机后,通过检测霍尔传感器信号来计算实时运行速度和位置信号,每间隔50 ms执行一次专家PID处理并更新PWM值来调整电机转速。
2 专家PID控制规则
2.1 专家PID控制规则 专家控制的实质是基于受控对象和控制规律的各种认识,并以智能的方式利用这些知识来设计控制器。利用专家经验来设计PID参数便构成专家PID控制。针对无刷直流电机闭环转速控制,令r(k)为给定速度值,y(k)为实测速度,e(k)表示离散化的当前采样时刻的误差值。e(k-1),e(k-2)分别表示前一个和前两个采样时刻的误差值,△e(k)为速度误差变化值,则有
e(k)=r(k)-y(k)
△e(k)=e(k)-e(k-1)
△e(k-1)=e(k-1)-e(k-2)
专家PID控制器主要由专家判断组成,根据误差e(k)及其变化Δe(k),可设计专家PID控制器,该控制器可分为5种情况进行设计[6-7]。实际应用在无刷直流电机的专家PID程序也是按这种5种情况进行设计的,这5种情况作分别如下:
(1)当|e(k)|>M1时,说明误差的绝对值已经很大,控制器输出应按照最大(小)输出,以迅速调整误差,使误差绝对值以最大速度减小。此时,他相当于实施开环控制。
(2)当e(k)Δe(k)>0时,说明误差正朝绝对值增大方向变化,或者误差为某一常值;此时,如果|e(k)|≥M2,说明误差也较大,可考虑实施较强的控制作用,以达到使误差绝对值朝减小方向变化,并迅速减小误差的绝对值,控制器输出为:
u(k)=u(k-1)+k1{kp[e(k)-e(k-1)]+kie(k)+kd[e(k)-2e(k-1)+e(k-2)]}
此时,如果|e(k)|<M2,说明尽管误差朝绝对值增大方向变化,但误差绝对值本身并不很大,考虑实施一般的控制作用,控制器输出为:
u(k)=u(k-1)+kp[e(k)-e(k-1)]+kie(k)+kd[e
(k)-2e(k-1)+e(k-2)]。
(3)当e(k)Δe(k)<0且e(k)Δe(k-1)>0,或e(k)=0时,说明误差绝对值朝减小方向变化,或已达到平衡状态,可考虑保持控制器输出不变。
(4)当e(k)Δe(k)<0且 e(k)Δe(k-1)<0时,说明误差处于极值状态,如果此时误差绝对值较大,即|e(k)|≥M2,可实施较强的控制作用:
u(k)=uv(k-1)+k1kpem(k)
如果|e(k)|<M2,可实施较弱的控制作用:
u(k)=u(k-1)+k2kpem(k)。
(5)当|e(k)|≤ε时,说明误差绝对值很小,此时加入积分,减少稳态误差。
u(k)=u(k-1)+kp[e(k)-e(k-1)]+kie(k)
上述规则u(k)为第k次控制器的输出;u(k-1)为第k-1次控制器的输出;k1为增益放大系数,k1>1;k2为抑制系数,0 <k2<1;M1,M2为设定的误差界限,M1>M2;ε—任意小的正整数;em(k)—误差e的第k个极值。
2.2 专家PID实际应用 由于专家PID的使用是建立在增量式PID的基础上,同时设置微分环节kd=0,因此此次无刷直流电机转速专家PID控制系统采用的是增量式专家PI调节器。令a为转速相对误差,a=|e(k)|/r(k),r(k)为给定转速,e(k)为给定转速与实测转速的误差,并且在STM32处理器中采取每50 ms计算一次e(k)和一次专家PID。整个转速闭环专家PID控制器结构如图3所示。
根据理论分析,结合无刷直流电机特性设置5条专家PID规则,这5条规则分别如下:
(1)假设转速相对误差a>0.2的情况下(这里的0.2对应上文专家PID理论中的M1),说明误差的绝对值已经很大,可以进行速度开环控制,此时增量式专家PID控制控制器的输出公式为:
△u(k)=e(k)×PWM_PERIOD/max
其中:PWM_PERIOD为PWM周期,在STM32微处理器中则对应PWM周期脉冲数,max为占空比为1时电机最大转速的2倍。由于实际获取电机转速最大值时可能会出现一些危险情况比如过电流这种情况发生,因此如果不知电机最大转速的情况下,可以用这种类似方法估计max值,在开环转速控制下把PWM占空比调至0.5,获得此时的电机转速,并把此时电机的转速乘以4估计出max值,之后若发现运行规则1时出现转速超调情况,可调大max值,若没出现超调情况但开环效果控制较弱,可调小max。
(2)如果满足e(k)Δe(k)>0或者△e(k)=0的话,说明误差正朝绝对值增大方向变化,或者误差为某一常值。可接着进行判断,如果转速相对误差a≥0.1(这里的0.1对应上文专家PID理论中的M2)的情况下,可考虑较强的控制作用,此时增量式专家PID控制控制器的输出公式:
△u(k)=k1×kp×e(k)(k1>1)
否则a<0.1则输出公式为:
△u(k)=k2×kp×e(k)(0<k2<1)
在此次无刷直流电机转速控制中,k1、k2值分别设置为k1=1.3,k2=0.98。
(3)如果满足e(k)Δe(k)<0且e(k)Δe(k-1)>0或e(k)=0的话,说明上次专家PID运算时采用的规则(即采用上面的规则(1)、(2)或下面的(4)、(5))起到转速误差减小或为零的作用,此时依然采用上次运行的规则,以助转速误差继续减小或继续保持为零。举例来说,当满足条件e(k)Δe(k)<0且e(k)Δe(k-1)>0或e(k)=0时若上次专家PID运算采用的规则为规则(2),那么继续调用规则(2)。
(4)如果满足e(k)Δe(k)<0且e(k)Δe(k-1)<0的话,说明误差处于极值状态,可接着进行判断,如果转速相对误差a≥0.1,可考虑较强的控制作用,此时增量式专家PID控制控制器的输出公式为:
△u(k)=k3×kp×e(k-1)(k3>1)
否则a<0.1则输出公式为:
△u(k)=k4×kp×e(k-1)(0<k4<1)
在无刷直流电机转速控制中,k1、k2值分别设置为k3=2,k4=0.4。
(5)如果a≤0.004(这里的0.004对应上文专家PID理论的ε)的话,说明误差绝对值很小,此时采用增量式PI调节器。
△u(k)=kp×△e(k)+kie(k)
3 验证分析
为了检验专家PID在无刷直流电机实际应用中的控制效果,利用现有硬件和软件进行验证,硬件平台采用额定功率为60 W,额定电压为24 V的带霍尔传感器无刷直流电机,控制器为STM32处理器。软件为采用QT工具编写的一款通过串口实时采集电机速度并描绘速度曲线的上位机软件,描绘出的曲线图Y轴为电机速度单位r/min,X轴对应时间s。
首先进行传统增量式PID与专家PID在无刷直流电机闭环转速应用中的比较,设置增量式PID和专家PID中的比例参数和积分参数都为kp=0.2,ki=0.005,kd=0。给定速度均为2 500 r/min。
图4为增量式PID控制下的速度曲线,响应时间0.3 s,超调量为0,可见设置的比例积分参数为理想参数。
图5为专家PID的速度曲线,响应时间0.2 s,超调量为0,响应时间比增量式PID快0.1 s。同样设置另一组参数,设置增量式PID和专家PID中的比例参数和积分微分参数都为 kp=0.5,ki=0.03,kd=0。给定速度均为2 500 r/min。
图6为增量式PID控制下的速度曲线,响应时间3.45 s,超调量为96.72%,出现严重超调现象。
图7为专家PID控制下的速度曲线,响应时间0.25 s,超调量为0。
可以看出,在比例、积分微分参数设置理想的情况下,增量式PID与专家PID均实现无超调,但专家PID响应时间比增量PID响应短。在比例,积分微分参数设置不理想的情况下,增量式PID响应时间长,且超调量大,但专家PID在相同比例积分参数情况下,却能有效抑制超调,且响应时间短。由于篇幅有限,未能继续展现更多不同比例积分微分参数下增量式PID与专家PID的速度波形图。但多次试验发现,类似图4~7的对比情况,若要实现速度曲线无超调且响应时间短,增量式PID比例积分微分参数调节难度大,局限于某个数值,适合的参数范围窄。但专家PID的比例积分微分参数调节难度小,并不局限某个数值,只要设置在一定范围内都能实现无超调且响应时间短。例如从图4~7可以看出,增量PID只有在参数理想情况下,才能实现无超调且响应时间短,但专家PID在参数相对增量PID理想与不理想情况下,都能实现无超调且响应时间短。
同时进行验证专家PID在无刷直流电机转速闭环控制系统的转速跟随能力。在STM32处理器中设置0~2 s期间电机的给定速度为2 500 r/min,到2 s时电机给定转速变为1 500 r/min。
从图8转速跟踪曲线,可以看出,电机无超调且快速上升至2 500 r/min,在2 s时,电机转速迅速降落到1 500 r/min,过渡时间短,大概为0.2 s。这反映出在专家PID的控制下,电机的实际转速能在较大范围内实现良好的给定转速跟踪性能。
4 结束语
该文介绍了专家PID在农用无刷直流电机的应用,对增量式PID和专家PID在无刷直流电机转速闭环控制应用效果进行了对比,同时验证了专家PID在无刷直流电机转速闭环控制系统的转速跟随能力。试验结果表明,专家PID在无刷直流电机转速控制中能够有效抑制超调,响应时间短,具有良好的转速跟随性能。同时比例积分微分参数的数值调节难度小,并不局限于某个数值,只要设置在一定范围内都能实现无超调且响应时间短,在农业机械电机控制方面有着良好的应用。
[1]李军伟,崔师,李连强,等.基于模糊PID的无刷直流电机控制系统设计开发[J].机械设计与制造,2013(2):77 -79.
[2]夏长亮,刘丹,王迎发,等.基于模糊规则的无刷直流电机免疫PID控制[J].电工技术学报,2007,22(9):68 -73.
[3]任晶莹,姚绪梁,蔡晶,等.基于神经网络控制器的直流无刷电机控制研究[J].农机研究化,2012(6):226-229.
[4]史敬灼,刘玉.超声电机简单专家PID速度控制[J].中国电机工程学报,2013,33(36):120 -125.
[5]郭清,王元昔.霍尔传感器在直流电机转速测量中的应用研究[J].传感器与微系统,2011,30(7):54 -56.
[6]袁碧金,吴雷,李鹏程.基于专家PID控制三相交流斩波调压系统[J].电力电子技术,2010,44(5):82 -83.
[7]杨立秋,宋立忠.船用起重机消摆系统的专家PID控制[J].计算机仿真,2011(10):161-164.