Tu(n?1)?KP{e(n?1)?TI?e(n)?i?1n?1TD[e(n?1)?e(n?2)]}?u0T (2.6)
将式(2.2)和式(2.6)相减,即得数字PID增量型控制算式为
?u(n)?u(n)?u(n?1)?KP[e(n)?e(n?1)]?KIe(n)?KD[e(n)?2e(n?1)?e(n?2)] (2.7)
式中: KP称为比例增益;
KI?KP
TTI称为积分系数;
KD?KPTDT称为微分系数。
2.3. 凑试法整定PID参数
增大比例系数 Kp,一般将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例 系数会使系统有较大的超调,并产生振荡,使稳定性变坏。 增大积分时间 Ti 有利于减小超调,减小振荡;使系统更加稳定,但系统静差的消除将随之减慢。 增大微分时间 Td 亦有利于加快系统响应,使超调量减小,稳定性增加,但系统对扰动的抑制能 力减弱,对扰动有较敏感的响应。
在凑试时,可参考以上参数对系统控制过程的影响趋势,对参数调整实行先比例、后积分,再微分的整定步骤。
(1)首先整定比例部分,将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统没有静差或静差已经小到允许范围内,并且对响应曲线已经满意,则只需要比例调节器即可。
(2)如果在比例调节的基础上系统的静差不能满足设计要求,则必须加入积分环节。将已经调节好的比例系数略为缩小(一般缩小为原值的0.8),然后减小积分时间,使得系统在保持良好动态性能的情况下,静差得到消除。在此过程中,可根据响应曲线的好坏反复改变比例系数与积分时间,以期待得到满意的控制过程与整定参数。
(3)如果在上述调整过程中对系统的动态过程反复调整还不能得到满意的结果,则可以加入微分环节。一般的系统D =0,1或2。只有部分滞后较大的系统,D值才可能调大些。
PID参数修改后,可以适度修改设定值(人为的阶跃扰动)观察系统的跟踪响应,以判断PID参数是否合适。 P值太小,I值太小或D值太大均会引起系统超调振荡。
6
2.4. 直流电机调速与测速
调速:根据PWM控制的基本原理可知,一段时间内加在惯性负载两端的PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,可通过改变输出的占空比来改变电压从而改变速度。
测速:在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较,通过偏差进行PID运算,因此速度采集电路是整个系统不可缺少的部分。本次设计中应用了比较常见的光电测速方法来实现,其具体做法是将电机轴上固定一圆盘,且其边缘上有N个等分凹槽如图3.5(a)所示,在圆盘的一侧固定一个发光二极管,其位置对准凹槽处,在另一侧和发光二极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处时,发光二极管通过缝隙将光照射到光敏三极管上,三极管导通,反之三极管截止,电路如图3.4(b)所示,从图中可以得出电机每转一圈在P3.3的输出端就会产生N个低电平。这样就可根据低电平的数量来计算电机此时转速了。例如当电机以一定的转速运行时,P1.2将输出如图3.5所示的脉冲,若知道一段时间t内传感器输出的低脉冲数为n,则电机转速v=n/t。
发光二极管圆盘光敏三极管200Ω+5VR1R2470ΩP3.3 (a) (b)
图2.2 电机速度采集方案
三、硬件电路设计
7
3.1. 电机驱动及传感器电路
图3.1 电机驱动及传感器电路
3.2. 串口发送数据电路
图3.2 串口电路
3.3. LCD1602显示屏电路
图3.3 LCD1602显示屏电路
8
四、程序设计
4.1. PID增量式算法
本系统设计的核心算法为PID算法,它根据本次采样的数据与设定值进行比较得出偏差e(n),对偏差进行P、I、D运算最终利用运算结果控制PWM脉冲的占空比来实现对加在电机两端电压的调节[10],进而控制电机转速。其运算公式为:
?U?KP[e(n)?e(n?1)]?KIe(n)?KD[e(n)?2e(n?1)?e(n?2)]
4.2. 系统程序流程图
初始化包括对时钟,中断的初始化,检测完数据再进行PID调节,输出数据,显示并发送。
开始 计算e(n)
初始化 计算Ki*e(n)
计算Kp*[e(n) 检测 -e(n-1)]
PID 计算Kd[e(n) 调节 -2e(n-1)+e(n-2)]
输出显示 计算出△U 串口发送数据 得出占空比 speed=speed+△U 图4.1 系统程序流程图
en2=en1 en1=en
返回
图4.2 PID增量式算法图
9
4.3. 消除积分不灵敏的办法
在本实验,因为转速和占空比是要成正比例关系的,当比如占空比的最小单位是1/100的时候,可能一个最小单位对应的转速是(3~4)rps,那这样的话就消除不了静差,如果把最小单位改成1/400的时候,可能一个最小单位对应不了1rps,但是占空比会累加,从而使转速改变1rps。附上某个区域的对应关系如图4.3所示:
0 0 11 2 22 16 33 71 44 94 55 104
5 6 7 8 9 0 1 1 1 1 16 17 18 19 20 4 5 5 5 7 27 28 29 30 31 44 49 55 60 64 38 39 40 41 42 85 87 89 90 91 49 50 51 52 53 99 100 101 102 102 图4.3
红色代表占空比,比如1代表1/400占空比,白色代表转速,黄色代表线性关系的转速。
1 0 12 2 23 22 34 75 45 95 56 104 2 0 13 3 24 27 35 78 46 97 3 0 14 3 25 33 36 80 47 98 4 0 15 4 26 39 37 82 48 99 10 2 21 11 32 67 43 93 54 103
4.4. 抗积分饱和的办法
如果执行机构机构已到达极限位置,仍然不能消除偏差时,由于积分作用,尽管计算PID差分方程式所得的运算结果继续增大或者减小,但执行机构已无相应动作,这就是积分饱和。当出现积分饱和时,势必使超调量增加,控制品质变坏。作为防止积分饱和的办法之一,可对计算出的控制量u(k)限幅,同时把积分作用切除掉。程序体现:
if(speed>400)speed=400; if(speed<0) speed=0;
10