PID温度控制算法课件_第1页
PID温度控制算法课件_第2页
PID温度控制算法课件_第3页
PID温度控制算法课件_第4页
PID温度控制算法课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PID温度控制算法,温度控制算法的软件实现,PID温度控制算法,问题?,1. 怎样评价温度控制系统控制效果的优劣? 2. 什么是PID控制算法?什么是数字式PID控制算法? 3. 什么是积分饱和现象?怎样避免积分饱和现象? 4. 怎样用C语言编写PID控制程序? 5. 怎样在PSOC上实现PID控制温度? 6.怎样测试PID控制器是否正常工作?,PID温度控制算法,问题一:怎样评价温度控制系统控制效果的优劣?,能够快速稳定准确的实现控制 能够将温度偏差值控制在一个较小的范围内 具有较强抵抗干扰的能力 控制超调量不能过大,PID温度控制算法,问题二:什么是PID控制算法?什么是数字 式PID控制

2、算法?,PID控制算法: PID控制器是一种线性控制器,它将给定值与实际输出值的偏差 的比例、积分和微分进行线性组合,形成控制量 输出,如图下图所示。 PID控制器方框图,PID温度控制算法,问题二:什么是PID控制算法?什么是数字式PID控制算法?,模拟控制算法:用于模拟控制系统 被测参数由传感器变化成统一的标准信号后输入调节器,在调节器中与给定值进行比较,再把比较后的差值经运算后送到执行机构,改变进给量,以达到自动调节的目的。 数字控制算法:用于数字控制系统 先把过程参数进行采样,并通过模拟量输入通道将模拟量变成数字量,这些数字量通过计算机按一定控制算法进行运算处理,运算结果经转换成模拟量

3、后,由模拟量输出通道输出,并通过执行机构去控制生产,以此达到给定值。,PID温度控制算法,问题三:什么是积分饱和现象?怎样避免积分饱和 现象?,在实际的控制系统中,控制量实际输出值往往受到执行机构性能的限制,而被限制在一定的范围内,即 , 其变化也局限在一定的范围,即 。 如果控制量在上述范围内,那么控制可以达到预期效果;一旦超出上述范围,则实际执行机构的控制量就不再是计算值。这相当于在系统中串联了一个饱和非线性环节,因此,将引起不期望的效应,即饱和效应。,PID温度控制算法,问题三:什么是积分饱和现象?怎样避免积分饱和 现象?,防止调节器积分饱和的措施一: 积分分离法 积分分离的基本思路是:

4、当被调 量与设定值偏差较大时,取消积分作 用,以免由于积分作用使系统稳定性 降低,超调量增大;当被控量接近给 定值时,引入积分控制,以便消除静 差,提高控制精度。,PID温度控制算法,问题三:什么是积分饱和现象?怎样避免积分饱和现象?,防止调节器积分饱和的措施二: 遇限削弱积分控制算法 当控制进入饱和区以后,便不再进行积分项的累加,而只执行削弱积分的运算。因而,在计算()时,先判断()是否已超出限制值。若(),则只累加负偏差;若(),则累加正偏差。采用遇限削弱积分控制算法后,可以避免控制量长时间停留在饱和区。,PID温度控制算法,问题三:什么是积分饱和现象?怎样避免积分饱和 现象?,防止调节器

5、积分饱和的措施三: 有效偏差法 当根据位置算法算出的控制量超出限制范围时,控制量实际上只能取边界值,即或,有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不是将实际偏差计入积分累计。因为按实际偏差值计算出的控制量并未实行。,PID温度控制算法,问题四:怎样用C语言编写PID控制程序?,通过采样将模拟信号转变为数字信号,并与目标设置值进行比较分析。同时将二者的偏差通过算法输出,进行反馈调节。整个过程不断循环,从而使得控制的对象保持一个较为恒定的值。 从而将模拟量转变为计算机可以操作的数字信号,则可采用C语言控制整个循环过程。,PID温度控制算法,问题四:怎样用C语言编写PID控

6、制程序?,PID温度控制算法,问题四:怎样用C语言编写PID控制程序?,PID温度控制算法,问题五:怎样在PSOC上实现PID控制温度?,在中断程序中定义的临时变量: float de,y0; static float Ie=0,de1=0; static uint8 PID_Count=0; 在主程序外定义的常变量: #define Kp12.19/PID控制参数 #define Ki0.3 #define Kd 109.7 #define Integral_Boundary 11.0/有限积分边界 uint8 PWM_Output;,PID温度控制算法,问题五:怎样在PSOC上实现PID控

7、制温度?,PID_Count+; if(PID_Count100) PID_Count=0; de=Target_Temp-Current_Temp;/求温度误差e if(de-Integral_Boundary)/如果处于有限积分边界之内 Ie=Ie+Ki*de;/求误差的积分 else Ie=0;/在边界外时积分清零 y0=Kp*de+Ie+Kd*(de-de1)+128;/求输出 if(y0255) y0=255; if(y00) y0=0; PWM_Output=(uint8)y0; de1=de; PWM_1_WriteCompare1(PWM_Output);/刷新PWM输出,PI

8、D温度控制算法,问题六:怎样测试PID控制器是否正常工作,通过得到的响应曲线进行分析,从而判断PID控制器是否正常工作,PID温度控制算法,问题六:怎样测试PID控制器是否正常工作,PID温度控制算法,问题六:怎样测试PID控制器是否正常工作,将电烙铁连上,并设置一个目标温度;从开始给电烙铁加热,直到电烙铁达到目标温度并稳定在一个范围内。则开始记录数码管上显示的温度,从而得到此时电烙铁的温度。每隔一秒记录一次,并连续记录多组数据,然后绘制出温度变化曲线。观察温度曲线的变化是否在合理的范围内。,PID温度控制算法,问题六:怎样测试PID控制器是否正常工作,RecC+; if(RecC=1000) /每10秒记录一个数据 Recorder1RecorderPt=Current_Temp; Recorder2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论