电机速度设定值可以通过一定范围内的电压来表示。系统中采用了串行A/D(如ADS7818)来实现速度设定值的采样。但在电机调速的过程中,电机控制器的功率输出部分会对A/D模拟输入电压产生干扰,进行抗干扰处理。
3 非线性变速积分的PID算法
(1)PID算法的数字实现
离散形式的PID表达式为:
其中:KP,KI,KD分别为调节器的比例、积分和微分系数;E(K),E(K-1)分别为第K次和K-1次时的期望偏差值;P(K)为第K次时调节器的输出。
比例环节的作用是对信号的偏差瞬间做出反应,KP越大,控制作用越强,但过大的KP会导致系统振荡,破坏系统的稳定性。积分环节的作用虽然可以消除静态误差,但也会降低系统的响应速度,增加系统的超调量,甚至使系统出现等幅振荡,减小KI可以降低系统的超调量,但会减慢系统的响应过程。微分环节的作用是阻止偏差的变化,有助于减小超调量,克服振荡,使系统趋于稳定,但其对干扰敏感,不利于系统的鲁棒性。
(2)经典PID算法的积分饱和现象
当电机转速的设定值突然改变,或电机的转速发生突变时,会引起偏差的阶跃,使|E(K)|增大,PID的输出P(K)将急剧增加或减小,以至于超过控制量的上下限PMAX,此时的实际控制量只能限制在PMAX,电机的转速M(K)虽然不断上升,但由于控制量受到限制,其增长的速度减慢,偏差E(K)将比正常情况下持续更长的时间保持在较大的偏差值,从而使得PID算式中的积分项不断地得到累积。当电机转速超过设定值后,开始出现负的偏差,但由于积分项已有相当大的累积值,还要经过相当一段时间后控制量才能脱离饱和区,这就是正向积分饱和,反向积分饱和与此类似。解决的办法:一是缩短PID的采样周期(这一点单片机往往达不到),整定合适的PID参数;二是对PID算法进行改进,可以采用非线性变速积分PID算法。
(3)变速积分的PID算法
变速积分PID算法的基本思想是改变积分项的累加速度,使其与偏差的大小相适应。偏差大时,减弱积分作用,而在偏差较小时则应加强积分作用,为
这时PID算法可改进为:
F的值在0~1区间变化,当偏差大于A+B时,证明此时已进入饱和区,这时F=0,不再进行积分项的累加;|E(K)|≤A+B时,F随偏差的减小而增大,累加速度加快,直至偏差小于B后,累加速度达到最大值1。实际中A,B的值可做一次性整定,当A,B的值选得越大,变速积分对积分饱和抑制作用就越弱,反之越强。笔者的经验:取A=30%[|E(K)|]MAX,B=20%[|E(K)|]MAX为宜。
(4)非线性变速积分的PID算法
变速积分用比例作用消除了大偏差,用积分作用消除小偏差,大部分情况下可基本消除积分饱和现象,同时大大减小了超调量,容易使系统稳定,改善了调节品质,但对于在大范围突然变化时产生的积分饱和现象仍不能很好地消除,这时可采用非线性变速积分的PID算法。
非线性变速积分的PID算法的基本思想是将PID调节器输出限定在有效的范围内,避免P(k)超出执行机构动作范围而产生饱和。程序的框图如图3所示。
4 结 语
在无刷直流电机驱动器中采用非线性变速积分PID算法,消除了一般PID调节器算法中的饱和现象,使电机调速稳定,并具有快速跟随性,同时也使电机具有恒转矩调速特性。
参考文献
[1]Kim Gauen,Jade Alberkrack.Three piecesolution for brushless motor controller design[J].
[2]Motorola MC33035 Brushless DC Motor Control[S].2002.
[3]尔桂花,窦曰轩.运动控制系统[M].北京:清华大学出版社,2002. 现代电子技术
来源:现代电子技术