PID温度控制算法

上传人:za****8 文档编号:22072652 上传时间:2021-05-19 格式:PPT 页数:20 大小:1.19MB
返回 下载 相关 举报
PID温度控制算法_第1页
第1页 / 共20页
PID温度控制算法_第2页
第2页 / 共20页
PID温度控制算法_第3页
第3页 / 共20页
点击查看更多>>
资源描述
温度控制算法的软件实现 问 题 ? 1 . 怎样评价温度控制系统控制效果的优劣? 2 . 什么是PID控制算法?什么是数字式PID控制算法? 3 . 什么是积分饱和现象?怎样避免积分饱和现象? 4 . 怎样用C语言编写PID控制程序? 5 . 怎样在PSOC上实现PID控制温度? 6 .怎样测试PID控制器是否正常工作? 问题一:怎样评价温度控制系统控制效果的优劣? 能够快速稳定准确的实现控制 能够将温度偏差值控制在一个较小的范围内 具有较强抵抗干扰的能力 控制超调量不能过大 问题二:什么是PID控制算法?什么是数字 式PID控制算法?PID控制算法:PID控制器是一种线性控制器,它将给定值与实际输出值的偏差 的比例、积分和微分进行线性组合,形成控制量 输出,如图下图所示。 PID控制器方框图)(te)(tu 问题二:什么是PID控制算法?什么是数字式PID控制算法?模拟控制算法:用于模拟控制系统被测参数由传感器变化成统一的标准信号后输入调节器,在调节器中与给定值进行比较,再把比较后的差值经运算后送到执行机构,改变进给量,以达到自动调节的目的。数字控制算法:用于数字控制系统先把过程参数进行采样,并通过模拟量输入通道将模拟量变成数字量,这些数字量通过计算机按一定控制算法进行运算处理,运算结果经转换成模拟量后,由模拟量输出通道输出,并通过执行机构去控制生产,以此达到给定值。 问题三:什么是积分饱和现象?怎样避免积分饱和 现象? 在实际的控制系统中,控制量实际输出值往往受到执行机构性能的限制,而被限制在一定的范围内,即 , 其变化也局限在一定的范围,即 。如果控制量在上述范围内,那么控制可以达到预期效果;一旦超出上述范围,则实际执行机构的控制量就不再是计算值。这相当于在系统中串联了一个饱和非线性环节,因此,将引起不期望的效应,即饱和效应。 问题三:什么是积分饱和现象?怎样避免积分饱和 现象?防止调节器积分饱和的措施一:积分分离法 积分分离的基本思路是:当被调量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。yr t 问题三:什么是积分饱和现象?怎样避免积分饱和现象?防止调节器积分饱和的措施二:遇限削弱积分控制算法 当控制进入饱和区以后,便不再进行积分项的累加,而只执行削弱积分的运算。因而,在计算 ()时,先判断()是否已超出限制值。若(),则只累加负偏差;若(),则累加正偏差。采用遇限削弱积分控制算法后,可以避免控制量长时间停留在饱和区。 问题三:什么是积分饱和现象?怎样避免积分饱和 现象?防止调节器积分饱和的措施三:有效偏差法 当根据位置算法算出的控制量超出限制范围时,控制量实际上只能取边界值,即或,有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不是将实际偏差计入积分累计。因为按实际偏差值计算出的控制量并未实行。 问题四:怎样用C语言编写PID控制程序? 通过采样将模拟信号转变为数字信号,并与目标设置值进行比较分析。同时将二者的偏差通过算法输出,进行反馈调节。整个过程不断循环,从而使得控制的对象保持一个较为恒定的值。 从而将模拟量转变为计算机可以操作的数字信号,则可采用C语言控制整个循环过程。 问题四:怎样用C语言编写PID控制程序? 问题四:怎样用C语言编写PID控制程序? 问题五:怎样在PSOC上实现PID控制温度?在中断程序中定义的临时变量: float de,y0 ; static float Ie=0 ,de1 =0 ; static uint8 PID_Count=0 ; 在主程序外定义的常变量: #define Kp1 2 .1 9 /PID控制参数 #define Ki0 .3 #define Kd 1 0 9 .7 #define Integral_Boundary 1 1 .0 /有限积分边界 uint8 PWM_Output; 问题五:怎样在PSOC上实现PID控制温度? 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(y099) /记录数据的数量 RecorderPt=0; RecC=0; 问题六:怎样测试PID控制器是否正常工作 9 7 .59 89 8 .59 99 9 .51 0 01 0 0 .51 0 11 0 1 .5 1 3 5 7 9 1 1 1 3 1 5 1 7 1 9 2 1 2 3 2 5 2 7 2 9 3 1 3 3 3 5 3 7 3 9 4 1 4 3 4 5 4 7 4 9 5 1 5 3 5 5 5 7 5 9 6 1 6 3 6 5 302 04 06 08 01 0 01 2 0 1 3 5 7 9 1 1 1 3 1 5 1 7 1 9 2 1 2 3 2 5 2 7 2 9 3 1 3 3 3 5 3 7 3 9 4 1 4 3 4 51 9 89 8 .59 99 9 .51 0 01 0 0 .51 0 11 0 1 .51 0 2 0 5 1 0 1 5 2 0 2 5 3 0 3 5 4 0 2 谢 谢 !
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!