PID控制原理讲解

上传人:M****1 文档编号:510603603 上传时间:2024-02-28 格式:DOCX 页数:6 大小:20.48KB
返回 下载 相关 举报
PID控制原理讲解_第1页
第1页 / 共6页
PID控制原理讲解_第2页
第2页 / 共6页
PID控制原理讲解_第3页
第3页 / 共6页
PID控制原理讲解_第4页
第4页 / 共6页
PID控制原理讲解_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《PID控制原理讲解》由会员分享,可在线阅读,更多相关《PID控制原理讲解(6页珍藏版)》请在金锄头文库上搜索。

1、PID控制原理讲解The manuscript was revised on the evening of 2021PID控制原理讲解经常有人问有关PID的用法,看一些有关单片及应用的书上都有关于PID的应用原理,但是面对具体的问题就不知道如何应用了,主要的问题是里面所用到的参数以及计算结果需要进行什么经常有人问有关PID的用法,看一些有关单片及应用的书上都有关于PID的应用原理,但是面 对具体的问题就不知道如何应用了,主要的问题是里面所用到的参数以及计算结果需要进行什 么处理,通过什么样的换算才能具体的应用于实际,另外在计算方法上也存在着数值计算的算 法问题,今天我在这里例举温度控中的PID

2、部分,希望能够把PID的具体应用说明白。一般书上提供的计算公式中的几个名词:1. 直接计算法和增量算法,这里的所谓增量算法就是相对于标准算法的相邻两次运算之差,得到的 结果是增量,也就是说,在上一次的控制量的基础上需要增加(负值意味着减少)控制量,例 如对于可控硅电机调速系统,就是可控硅的触发相位还需要提前(或迟后)的量,对于温度控 制就是需要增加(或减少)加热比例,根据具体的应用适当选择采用哪一种算法,但基本的控 制方法、原理是完全一样的,直接计算得到的是当前需要的控制量,相邻两次控制量的差就是 增量;2基本偏差e(t),表示当前测量值与设定目标间的差,设定目标是被减数,结果可以是正或负,正

3、 数表示还没有达到,负数表示已经超过了设定值。这是面向比例项用的变动数据。3累计偏差工(e)= e(t)+e(t-l)+e(t-2)+e(l),这是我们每一次测量到的偏差值的总和,这是代 数和,考虑到他的正负符号的运算的,这是面向积分项用的一个变动数据。4基本偏差的相对偏差e(t)-e(t-1),用本次的基本偏差减去上一次的基本偏差,用于考察当前控制的对象的趋势,作为快速反应的重要依据,这是面向微分项的一个变动数据。5三个基本参数:Kp,Ki,Kd.这是做好一个控制器的关键常数,分别称为比例常数、积分常数和 微分常数,不同的控制对象他们需要选择不同的数值,还需要经过现场调试才能获得较好的效 果

4、。6.标准的直接计算法公式:Pout(t)=Kp*e(t)+Ki*e(t)+Kd*(e(t) -e(tT);上一次的计算值:Pout(t-l)=Kp*e(t-l)+Ki*e(t- 1)+Kd*(e(t-l)-e(t-2);两式相减得到增量法计算公式:Pdlt=Kp*(e(t)-e(tT)+Ki*e(t)+Kd*(e(t) -2*e(tT)+e(t-2);*这里我们对工项的表示应该是对e(i)从1到t全部总和,但为了打字的简便就记作Se(t).三个基本参数Kp, Ki, Kd.在实际控制中的作用:比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用 用以减少偏差。比

5、例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下 降,甚至造成系统的不稳定。积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,甚至无 差,积分调节停止,积分调节输出一常值。积分作用的强弱取决于积分时间常数 Ti,Ti 越小, 积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变 慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能遇见偏差变化的趋势, 因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改 善系统的动态

6、性能。在微分时间选择合适情况下。可以减少超调,减少调节时间。微分作用对 噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应是变化 率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节 规律相结合,组成PD或PID控制器。具体应用中的数值量化处理:上面只是控制算法的数学方法,似乎有点抽象,在具体的控制项目中怎样对应呢?也就是 具体的量化问题。下面举一个在温度控制中的处理方法。对于加温的温度控制可以采用调节供电电压或在一定的时间循环周期内的供电时间比例来 调节加温控制温度,一般以调节加温时间比例比较简单,也是控制上比较常用的方法。调压法 控制的

7、原理是通过可控硅的处罚相位角达到对电压的调节,这个电压是指有效电压,直观上就 是对一个正弦波形的前边切掉一块,用不同的切割位置以保留剩余的面积。为了叙述方便,我 们还是采用控制时间比例的办法:我们设定一个标准的加温周期,例如 2 分钟,我们就在这个 两分钟周期内对输出进行控制,也就是说在这个 2分钟内加温多少时间,全速加温就是连续整 个周期(2 分钟)都加温,当然停止加温就是完全不输出,根据我们的计算可以让加温时间在 0-2分钟内变化,比如计算所得我们在这一个周期内应该加温 1分30秒,经过两分钟以后再测 量被加温物体的温度,通过计算我们应该加温1分28秒,等等等等,这里除了加温以外的时间 就

8、是不加温,等等下一个周期到来,再进行实际测量计算下一周期我们的输出量,周而复始, 不断地修正我们的输出量,以达到对温度有效控制。为了对应我们的程序处理上的方便,我们在程序内部一般并不是用时分秒来计算的,通常 我们会使用系统的一个定时器用于系统全部时钟,例如显示刷新、键盘扫描等,相对于计算来 说,我们的控制周期比较长,所以我们可以对 2分钟进行细分,例如我们用每分钟进行100等 分,则两分钟就是 200 等分,用于我们的温度控制,这样的输出比例的变化已经足够了,我们 可以有200个输出等级了。取 200的另一个好处是,对应于我们的 8位单片机刚好可以在一个 字节内进行运算,程序简单运算速度快。当

9、需要改变我们的定时周期时,有些不同的加热对 象,例如较大热惯性的加热对象时,可能 2分钟周期太短了,我们可以通过修改基本定时常数 的办法来实现,而保持我们的 200 等分不变。我们对 2分钟进行200 等分,算一下他的每一个 基本单位的具体时间?To=60*2/200=600ms这对于单片机来说太长了,因为如果我让我的定时器做到这么慢的定时周期就干不了别的 事了,为了显示、键盘等的处理一般我们定时在5-10ms,所以就需要另外设定一个变量tTempl 在每一个定时中断发生时对tTempl计数。例如我的系统定时器的定时常数对应于10ms,则设 定 tTempl 在达到60 的时候才确认是达到 6

10、00ms 了,才作为一个基本的输出时间单位。对应于 总周期的修改,我们的200等分可以不用修改,而只要修改我们的变量tTempl的判断边界就可 以了,例如对应于2分钟时是60,则在3分钟为周期时边界改为90就行了,定下了我们的基 本控制时间分辨率以后,我们的计算就可以不用改变了。当然,根据您的具体对象也可以修改 这个等分数,我这里只是作为一个举例:例如 200 等分。温控仪器不离开测温器件,无论用什么测温器件(传感器),对于控制上来说,首先需要 将测到的值换算为温度数据,一般我们国内都采用摄氏度。C,工业上使用的测温器件一般都是 非线性的器件,经过放大、A/D转换所得到的电压数据与温度呈非线性

11、关系,存在着微小的差 异,一般采用电压值表的办法获得实际温度,这个表格是以每一个温度点上的电压值来表述 的,由于我们的单片机rom的大小限制,这个表格也不可能做得很细,基本上以度作为间隔, 也就是说直接查表只能获得度为单位的温度值,而实际测量的温度可能是介于T与T+1度之 间,在PID控制计算上,这样的分辨率是不够的,所以我们还需要进一步获得具体的温度精确 数据,一般采用将T与T+1之间的电压差和AD实际值(mv)进行定分比分点的办法(更精确的 是采用二次插值计算法)获得温度的精确数值,也就是获得小数部分。如果能够做到 1/10 度的 温度分辨率精度就可以基本满足控制运算要求了,所以我们可以用

12、定点数的办法处理。不采用 浮点数是因为单片机的运算速度不适合用浮点数,定点数处理,就是将温度的内部运算单位放 大 10倍,在用于显示的时候再除以 10 也就是固定显示一个小数点位置。如果想让我们的控制 做的更好,还可以再提高温度的内部精度,例如精确到 1/100 度,这也是现在高级温控仪采用 的精度,但在通常情况下这个精度似乎有点过剩。PID的三个基本参数Kp,Ki,Kd,般由试验确定,根据我们的实际工作对象去初步确 定,然后在实际运行过程中进行调节,以达到相对理想的效果,为了达到比较好的控制效果, 这三个参数般不采用整数,但同时为了减轻单片机的运算量,通常采用 2 的整倍数放大的办 法确定这

13、些参数,在运算结果中再除以 2 的整倍数,因为单片机运算中可以用移位来完成,速 度比较快,常用的是8倍或16倍放大,注意这三个参数采用相同的放大比例。编程的过程中自 己从头到尾要清楚我的参数是经过放大了的,就不会忘记对运算结果还原。通过怎样的运算来获得2-200加温比例数据呢?很简单,为了说明这个问题,我们先假定 只考虑最简单的比例控制算法,假定我们的控制范围是在 200 度,则设定温度与实践温度的差 的最大值就是200 (度),我们就用去他去输出,这时的参数Kp=1,当我们为了提高加热速 度,而使受控制的区域缩小,例如只控制50度范围,如目标温度设定为230,我们控制的范围 就在180-23

14、0范围内,这时的差值不够200,我们就把计算得到的数字乘以4就得到0-200的 数据了,假定当前实测温度为222,则230-222=8再乘以4算得32,这就作为我们的输出比例 数据。当然我们这里还没有考虑超温的情况,计算产生了负数。这部分将作为我们控制输出 的基本量,上面的计算是对应于Kp=4DE,再加入微分和积分项,这时我们的Kp可以基本保持 不变。Kp在这里基本确立了我们的起始控制点到目标值之间的控制范围,微分和积分项在这里 只是作为附加部分,基本不影响控制范围。当温度突然下降度时,我们希望补上多少比例区 进行下轮的加热呢这就是微分系数:早我经过这么久的控制,目标温度还是低了点,我希 望用

15、多少的比例去弥补这个长期欠温呢这就是积分常数,我想你已经大概已经确定了这些数据 了。一句话,比例常数决定我们参与在目标点以前真正控制的范围,Kp=基本时间总周期/控制 范围。Ki,Kd是您希望的反应对策速度,看你有没有耐心去逐步达到稳定点,过激了会起反作 用的,过于胆小怕事是达不到预期目标的。最后,在计算结果交付于输出之前,还需要进行些修正,例如当计算结果大于 200时按 200 输出,计算结果小于零时按零输出。处理上的些常用方法为了提高测温的 准确性,往往需要进行多次测温。然后剔除测得结果中的最大值和最小 值。把剩余值的数值相加在计算平均值,这样比较有利于抗干扰,或者由于其他原因引起的测 量

16、值波动,初期的处理是很必要的。测温工作和PID计算一般安排在上一个输出周期的最后阶 段就提前进行的最后阶段就提前进行,测温次数般在 7-13 次,去掉最大最下数以后保留 5-11 次用于运算,均值运算的累加部分将安排在每一次测温以后逐步进行,不会过多占用系统时 间。只有系统的时间允许,尽可能的测多几次,所得到的结果也会相对精确点。运算将会占用很长的时间,这是相对于我们的一个基本定时周期来讲的,一个系统定时周 期内我们的系统还要处理很多事情,例如显示的刷新、键盘的扫描、键盘码的处理执行等等, 如果我们的运算占用很多时间的话那么就会出现一个系统定时周期内完不成的情况。所以如果 您的系统仅仅是一台温控仪的话,就可以将运算部分放到主程序中进行,而常规的刷新扫描之 类的才放在定时中断里处理,这样编制的主程序就非常清晰明了,这是比较理想的情况。如果 温度控制仅仅作为您的系统中的一部分小插曲,那就需要认真考虑

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号