pid温度控制算法

pid温度控制算法

ID:25166114

大小:1.19 MB

页数:20页

时间:2018-11-15

pid温度控制算法_第1页
pid温度控制算法_第2页
pid温度控制算法_第3页
pid温度控制算法_第4页
pid温度控制算法_第5页
资源描述:

《pid温度控制算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

3、实际的控制系统中,控制量实际输出值往往受到执行机构性能的限制,而被限制在一定的范围内,即umin≤u≤umax,其变化也局限在一定的范围,即u<umax。如果控制量u在上述范围内,那么PID控制可以达到预期效果;一旦超出上述范围,则实际执行机构的控制量就不再是计算值。这相当于在系统中串联了一个饱和非线性环节,因此,将引起不期望的效应,即饱和效应。问题三:什么是积分饱和现象?怎样避免积分饱和现象?防止PID调节器积分饱和的措施一:积分分离法积分分离的基本思路是:当被调量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消

4、除静差,提高控制精度。问题三:什么是积分饱和现象?怎样避免积分饱和现象?防止PID调节器积分饱和的措施二:遇限削弱积分PID控制算法当控制进入饱和区以后,便不再进行积分项的累加,而只执行削弱积分的运算。因而,在计算u(k)时,先判断u(k-1)是否已超出限制值。若u(k-1)>umax,则只累加负偏差;若u(k-1)<umax,则累加正偏差。采用遇限削弱积分PID控制算法后,可以避免控制量长时间停留在饱和区。问题三:什么是积分饱和现象?怎样避免积分饱和现象?防止PID调节器积分饱和的措施三:有效偏差法当根据PID位置算法算出的控制量超出限制范围时,控制量实际上只能取边界值,即u=umax

5、或u=umin,有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不是将实际偏差计入积分累计。因为按实际偏差值计算出的控制量并未实行。问题四:怎样用C语言编写PID控制程序?通过采样将模拟信号转变为数字信号,并与目标设置值进行比较分析。同时将二者的偏差通过算法输出,进行反馈调节。整个过程不断循环,从而使得控制的对象保持一个较为恒定的值。从而将模拟量转变为计算机可以操作的数字信号,则可采用C语言控制整个循环过程。问题四:怎样用C语言编写PID控制程序?问题四:怎样用C语言编写PID控制程序?问题五:怎样在PSOC上实现PID控制温度?在中断程序中定义的临时变量:floatd

6、e,y0;staticfloatIe=0,de1=0;staticuint8PID_Count=0;在主程序外定义的常变量:#defineKp12.19//PID控制参数#defineKi0.3#defineKd109.7#defineIntegral_Boundary11.0//有限积分边界uint8PWM_Output;问题五:怎样在PSOC上实现PID控制温度?PID_Count++;if(PID_Count>100){PID_Count=0;de=Target_Temp-Current_Temp;//求温度误差eif((de-Int

7、egral_Boundary))//如果处于有限积分边界之内Ie=Ie+Ki*de;//求误差的积分elseIe=0;//在边界外时积分清零y0=Kp*de+Ie+Kd*(de-de1)+128;//求输出if(y0>255)y0=255;if(y0<0)y0=0;PWM_Output=(uint8)y0;de1=de;PWM_1_WriteCompare1(PWM_Output);//刷新PWM输出问题六:怎样测试PID控制器是否

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。