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;
得出新的导通角为以前的导通角加上计算出来的调整量,这个调整量可能是正的,也可以是负的.