蔡展鹏,赵韡,冯昕宇,程浩田
(中北大学 山西省先进制造技术重点实验室,山西 太原 030051)
无刷直流电机由于其具有高动态响应、高效率的特点,在机器人、电动汽车和光盘驱动等诸多领域得到了广泛应用。速度调节是实现电机精确速度控制和位置控制的重要方面[1]。自动化控制领域中, 非线性PID是目前应用较多的一种PID算法,但由于被控对象的复杂与多变性、外界干扰等问题,非线性PID控制对于电机的控制精度常常达不到要求。因此,对电机伺服控制系统的研究至关重要。
El-SAMAHY Adel A等[2]使用一种带有PID补偿器的模型参考自适应控制系统(MRAC),研究其应用于无刷直流电机的情况,并与模糊自适应PID控制相比较,得出带有PID补偿器的MRAC对扰动有更强适应能力的结论。潘玉成等[3]将模糊控制与RBF神经网络结合,改善传统集合中模糊性扩大所产生的问题,有效提高了系统的控制性能与控制精度。罗娜等[4]研究直流电机的控制算法,提出模糊前馈PID的智能控制算法,但PID整定结果没有达到最优,最终的控制效果还可以进一步优化。王迪等[5]将非线性PID控制应用于微型燃气轮机,一定程度提高了微型燃气轮机工作的稳定性,但对于非线性PID的组合还有待优化。
本文提出一种新型控制系统:基于模糊内核的改进非线性PID(improved non-linear PID, INLPID)控制系统。针对非线性PID的缺陷,通过分析系统反馈信号、划分误差的非线性区间,设计出误差饱和函数,提出了基于误差累积调节的改进非线性PID算法,并结合模糊算法的思想,对改进非线性PID系统的反馈增益系数进行在线调整,提高了系统在阶跃响应中的响应速度并减小了稳态误差,增加了伺服系统的控制精度与鲁棒性。
无刷直流电机是一个单输入、单输出系统,根据自动控制理论[6],在忽略电机轴上的黏性摩擦系数后,电机空载下传递函数为
式中:Cm为电机转矩系数;Ce为反电动势常数;J为电机转动惯量;La为线电感;Ra为线电阻。本文所选无刷直流电机参数如表1所示。最后计算得到电机传递函数为
表1 无刷直流电机各项参数
经典PID算法将误差的比例、积分与微分信号通过线性组合,利用反馈信号计算得来的误差来消除误差。但在实际使用中,由于被控对象的不确定性以及理论与实际应用的不一致性,导致了系统输出容易产生震荡与过饱和,PID这种线性组合显然不是最佳的组合形式[7]。针对以上PID算法的缺陷,韩京清[8]提出了三种非线性PID控制器,其中一种是将误差的比例与微分信号通过动态的非线性组合来消除误差,表达式为
u=β1fal1(e1,α1,δ)+β2fal2(e2,α2,δ)
式中:β1、β2为非线性PID控制器的反馈增益系数;e1为输入与输出偏差;e2为输入微分与输出微分的偏差;α1、α2为控制器可调参数,取值范围为0<α1<1<α2;δ为连续线段性的区间长度;fal为关于e、α、δ的饱和函数,能有效抑制输出信号产生高频振荡。这种非线性PID控制器在保留了传统PID控制器结构简单的基础上,大大增加了系统对外界干扰与对系统特性参数改变的适应性,更易于工程应用[9]。
遗憾的是,这种非线性组合虽然比传统PID控制更有效,对于误差的调整更精确,但对于结构复杂或结构和特性参数等易受外界干扰而发生改变的系统。在使用非线性PD控制时,输出信号与输入信号会产生无法消除的稳态误差,使得系统最终的控制效果无法满足实际使用要求。
由于非线性PID控制只对单次的偏差进行比例计算和偏差的微分进行微分运算,没有将系统累积偏差加入计算,导致在面对复杂或精密的系统时难以调控,输出结果容易产生偏差,而且在非线性PID控制下,过高的比例增益系数β1和过高的微分增益系数β2都会导致信号无法收敛,而过低的β1和β2又会使信号产生极大的稳态误差和高频震荡,无法有效地对被控对象进行调控。
针对以上非线性PD控制系统输出信号产生稳态误差的问题,提出了基于误差累积调节的改进PID算法,在初始非线性PD组合中加入误差饱和函数err(ea,e1,α3,δ),消除系统稳态误差,增加系统的鲁棒性与控制精度。
改进非线性PID表达式为
u=β1fal1(e1,α1,δ)+β2fal2(e2,α2,δ)+β3err(ea,e1,α3,δ)
式中:β3定义为积分增益系数;ea为误差的累积;α3定义为调节参数;err为关于ea、e、α、δ的误差饱和函数,通过误差|e1|相对于δ的大小设置小段线性区间,对绝对值小于δ的误差累加,对绝对值大于δ的误差加以约束幂次,使得最终误差累积始终处于合适范围。3个饱和函数fal1、fal2、err表达式为:
在实际生产中,由于外在环境的干扰或负载的突变,被控对象的部分特性参数或结构会发生改变。采用自适应控制能够在线辨识被控对象的特性参数,实时改变控制策略,使控制效果始终良好[10]。采用模糊控制能对非线性、多参数系统或难以确定数学模型的系统加以控制[11]。
模糊理论的思想是以系统动态误差e和误差变化率ec为输入,计算机根据已设定的模糊逻辑,运用模糊推理得到输出。由于输出是随误差的变化而实时调整的,而模糊逻辑依靠专家经验确定,模糊逻辑与参数一旦确定无法更改,一定程度上降低了系统的自适应能力[12]。模糊理论与改进非线性PID结合,组成随误差反馈而动态调整的新算法,可以很好地解决系统结构不确定性和系统干扰问题。
基于模糊内核的改进非线性PID算法即是对β1、β2、β3三个反馈增益系数运用模糊推理进行在线调整,表达式为
u=(β1+△β1)fal(e1,α1,δ)+(β2+△β2)fal(e2,α2,δ)+(β3+△β3)err(ea,e1,α3,δ)
模糊控制器为两输入三输出系统,两个输入误差e与误差变化率ec的模糊论域均为[-3,3],模糊论域划分为3个模糊子集:N(负)、Z(零)、P(正)。3个输出△β1、△β2、△β3的模糊论域分别为[-1/8,1/8]、[0,3/425]、[0,3/1 000],模糊论域划分为3个模糊子集:N(负)、Z(零)、P(正)。根据专家经验总结出输入e、ec与输出△β1、△β2、△β3的定性关系,得到9条模糊控制规则,见表2。表中3个输出从左到右为△β1、△β2、△β3。
表2 模糊控制规则表
为探究本文所提出的基于模糊内核的改进非线性PID算法,共进行了两组SIMULINK仿真实验。
第一组实验将提出的改进非线性PID算法与传统的非线性PID算法进行对比,研究两种算法在直流电机阶跃响应曲线中的调速性能,验证提出的理论可以克服典型的非线性PID算法的缺陷,在使用中能完全消除系统的稳态误差。
第二组实验将提出的基于模糊内核的改进非线性PID算法(图1)与改进非线性PID算法、模糊PID算法进行对比,研究三种算法在无刷直流电机阶跃响应中的调速性能,并给出新型算法在方波跟踪中的性能表现。
图1 基于模糊内核改进非线性PID结构
第一组仿真结果见图2。分析得出,在无刷直流电机调速系统中,非线性PID(NLPID)控制虽然能快速响应输入信号,但系统输出与输入间存在一定的稳态误差无法消除,使得非线性PID控制无法满足需要高精度控制的生产环境。本文所提出的改进非线性PID(INLPID)算法则可以快速复现输入,完全消除系统稳态误差,成功克服了非线性PID算法的缺陷。
图2 非线性PID与改进非线性PID对比
第二组仿真结果见图3、图4。分析图3得出,在直流电机伺服系统阶跃响应中,控制效果最好的是基于模糊内核的改进非线性PID(INLPID(Fuzzy))控制系统,信号没有过调,从开始响应到稳态误差在2%以内,上升时间为0.019s,比改进的非线性PID(INLPID)控制少了42.4%,比模糊PID(FuzzyPID)控制少了98.1%,可以满足对直流电机的高速响应与高精度调节的控制要求。图4为方波信号跟踪仿真结果,分析结果得出,基于模糊内核的改进非线性PID系统鲁棒性良好,在输入信号突变下也具有快速跟踪能力。
图3 阶跃响应仿真结果
图4 基于模糊内核的改进非线性PID方波跟踪结果
对无刷直流电机伺服控制系统进行了研究,提出了一种新型控制算法:基于模糊内核的改进非线性PID算法。与改进的非线性PID算法进行了对比,通过仿真验证了所提出的改进非线性PID算法能消除非线性PID控制的缺点,消除系统输出信号的稳态误差,证明了新型算法可以用于复杂非线性系统,实现快速精准的伺服系统调控。与非线性PID算法、模糊PID算法两种算法进行对比,研究新型算法用于电机伺服控制的调速性能,通过仿真验证了基于模糊内核的改进非线性PID算法能完全去除信号超调,极大程度地提升系统响应速度与控制精度,并且能实现信号快速跟踪,具有良好的鲁棒性。基于模糊内核的改进非线性PID能实现无刷直流电机快速、精确、稳定的速度调节,适合于具有结构不确定性的非线性系统的自适应控制。