PID控制及其应用

  • 格式:docx
  • 大小:63.40 KB
  • 文档页数:5

学习文档 仅供参考 1. 简介

PID控制指的是一种闭环控制方式,将输入输出偏差的比例〔P〕、积分〔I〕和微分〔D〕通过线性组合构成控制量,对被控制对象进行控制。

2. PID控制原理

在模拟控制系统中,控制器最常用的控制规律是PID控制。模拟PID控制系统原理框图如图1-1所示。系统由模拟PID控制器和被控对象组成。

PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差

PID的控制规律为

或写成传递函数的形式

式中,Kp---比例系数;Ti--积分时间常数;Td---微分时间常数。

简单说来,PID控制器各校正环节的作用如下:

(1)比例环节:成比例地反映控制系统的偏差信号error(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。

(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI,TI越大,积分作用越弱,反之那么越强。

(3)微分环节:反映偏差信号的变化趋势〔变化速率〕,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。

3. 数字PID算法原理

在计算控制系统中,使用的是数字PID控制器,数字PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。

位置式算法输出的是执行机构的实际位置,如有干扰的话,会导致大幅度变化。

而增量式PID是指数字控制器的输出只是控制量的增量,所以电机控制一般都采用增量式PID算法。

增量式PID算法公式: 学习文档 仅供参考

----△u( k ) = Kp△e(k)+Kie(k)+Kd[△e(k)-△e(k-1)]

----△e(k) = e(k) – e(k-1)

-----△e(k-1) = e(k-1) – e(k-2)

-----e(k) = r(k) – c(k) (因在速度控制导通角上开始是从大变小,所以该公式须变成c(k)-r(k))

参数说明:

k--------------采样序号, k = 0, 1, 2----;

r(t)-----------速度给定值;

c(t)-----------速度实际输出值;

△u( k )------第K次采样时刻的电脑输出增量值;

e(k)----------第K次采样时刻输入的偏差值;

e(k-1)--------第(k-1)次采样时刻输入的偏差值;

KI-------------积分系数,KI = KP*T/TI;

KD------------微分系数,KD = KP*TD/T;

T--------------采样调期;

Kp------------比例系数;

TI-------------积分时间常数

TD------------微分时间常数 学习文档 仅供参考

4. PID控制参数整定方法

PID控制参数的自动整定分两步进行,第一步是初始确定PID控制参数;第二步是在初定的PID控制参数根底上,根据直线电机控制系统的响应过程和控制目标期望值,修正初定的PID参数,直至电机系统的控制指标符合所需求为止.

在数字控制系统中,采样周期T是一个比较重要的因素,采样周期的选取,应与PID参数的整定综合考虑,选取采样周期时,一般应考虑以下几个因素:

(1) 采样周期应远小于对象的扰动信号的周期。

(2) 采样周期应比对象的时间常数小得多,否那么采样信号无法反映瞬变过程.

(3) 对象所要求的调节品质,在电脑运算速度允许的情况下,采样周期短,调节品质好.

(4) 性能价格比,从控制性能来考虑,希望采样周期短,但电脑运算速度,以及A/D和D/A的转换速度要相应的提高,导致电脑的费用增加。

(5) 电脑所承担的工作量,如果控制的回路数多,计算量大,那么采样周期要加长,反之,可以缩短。

由上述分析可知,采样周期受各种因素的影响,有些是相互矛盾的,必须视具体情况和主要的要求作出折中的选择,在直线电机的单片机控制系统中,PID调节控制过程是在定时中断状态下完成的,因此,采样周期T的大小必须保证中断效劳程序的正常运行。在不影响中断程序运行的情况下,可取采样周期T = 0.1t (t 为电机系统的纯滞后时间).当中断程序的开始

计算 KP, KI, KD

设e(k-1) = e(k-2) =

计算偏差值e(k) = r(k) – c(k)

计算控制量△u( k )

△u( k ) = Kp△e(k)+Kie(k)+Kd[△e(k)-△e(k-1)]

输出△u( k )

为下一时刻做准备

e(k-2) = e(k-1), e(k-1) = e(k)

采样时间到? 被控制对象(包括步进电动机)

Y N 学习文档 仅供参考 运行时间Tz大于0.1t时,那么取T = Tz. 因此,采样周期可按下式确定:

初始确定数字PID控制参数时,在用上述方法确定的采样周期T的条件下,从直线电机的数字PID调节控制回路中,去掉数字控制器的微分控制作用和积分控制作用,只采用比例调节环节来确定系统的振荡周期Ts 和临界比例系数Ks.由单片机系统自动控制比例系数Kp,并逐渐增大Kp,直到电机系统发生持续的等幅振荡,然后由单片机系统自动记录电机系统发生持续的等幅振荡,然后由单片机系统自动记录电机系统发生等幅振荡时的临界比例度δs和相应的临界振荡周期Ts.

δs = 1 / Ks

Ks-----等幅振荡时的临界比例系数.

根据所测得的临界比例度δs和临界振荡周期Ts,便可初始确定数字PID的控制参数为

利用初始确定的数字PID控制参数,便可以对直线电机系统进行实时控制,采用人工智能方法实现PID控制参数的自动整定,以到达良好的电机控制效果.

5. PID应用程序实例

B_Error = (6000000/((_D_Pulse * _D_Clock) * B_AvrSpeed)) - B_Speed_Goal;

_D_Pulse: 马达转一圈产生多少信号,取决于磁极对数, 一对那么对应一个信号。

_D_Clock: 单片机定时器最小间隔时间(4MHz时,1us)

B_AvrSpeed: HALL反响一个信号周期的时间(单位是us)

B_Speed_Goal: 当前需要的目标速度(rpm),这个值一般是目标速度除以10,也就是理论能把电机转速偏差控制在10转左右.

6000000: 是一分钟(转成us)除以10,以便跟目标速度相对应.

对应公式为: e(k) = c(k)- r(k)

B_Delta_Error = B_Error - B_Error_1;

对应公式为: △e(k) = e(k) – e(k-1)

B_cal_temp = (_D_Ki *B_Error) +

((_D_Kd *(B_Delta_Error - B_Delta_Error_1))<<3) +

((_D_Kp *B_Delta_Error)<<4);

对应公式为: △u( k ) = Kp△e(k)+Kie(k)+Kd[△e(k)-△e(k-1)]

B_KpidM = B_cal_temp >> 9; 学习文档 仅供参考 因理论得出的调整值会很大,须进行适当的衰减,右移9位,相当于除以512.

值太大,电机容易跑飞,不好控制,值太小那么加速太慢,这个值可以根据调试决定.

B_KpidM: 为导通角的调整量

if(B_KpidM > 127)

{

B_KpidM = 127;

}

else if(B_KpidM < --127)

{

B_KpidM = -127;

}

以上为增加电机稳定性,提高抗干扰能力,防止调整量饱和.设置每次调整量最大不超过127us.这个值可以根据转速上下来决定,低速时可适当增大此值(以改善HUNTING现象),高速时可不用那么大。

B_Error_1 = B_Error;

B_Delta_Error_1 = B_Delta_Error;

此为赋值操作,为下一次计算做准备.

B_New_Angle = B_Old_Angle + B_KpidM;

得出新的导通角为以前的导通角加上计算出来的调整量,这个调整量可能是正的,也可以是负的.