电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

温度控制的PID算法及C程序实现

  • 资源ID:491282616       资源大小:113.50KB        全文页数:7页
  • 资源格式: DOCX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

温度控制的PID算法及C程序实现

。温度控制与 PID 算法温度控制与PID 算法 j 较为复杂, 下面结合实际浅显易懂的阐述一下PID 控制理论, 将温度控制及PID 算法作一个简单的描述。1温度控制的框图这是一个典型的闭环控制系统,用于控制加热温区的温度(PV)保持在恒定的温度设定值 (SV) 。系统通过温度采集单元反馈回来的实时温度信号(PV)获取偏差值(EV),偏差值经过 PID 调节器运算输出, 控制发热管的发热功率, 以克服偏差, 促使偏差趋近于零。例如,当某一时刻炉内过 PCB板较多,带走的热量较多时,即导致温区温度下降,这时,通过反馈的调节作用,将使温度迅速回升。其调节过程如下:温度控制的功率输出采用脉宽调制的方法。 固态继电器 SSR的输出端为脉宽可调的电压 UOUT 。 当 SSR的触发角触发时,电源电压 UAN通过 SSR的输出端加到发热管的两端;当 SSR的触发角没有触发信号时, SSR关断。因此,发热管两端的平均电压为Ud (t/T)* U=K* UANAN其中 K= t/T ,为一个周期T 中, SSR触发导通的比率,称为负载电压系数或是占空比,K的变化率在 0 1 之间。一般是周期 T 固定不便,调节 t,当 t 在 0 T 的范围内变化时,发热管的电压即在0 U之间变化,这种调节方法称为定频调宽法。下面将要描述的PIDAN调节器的算式在这里的实质即是运算求出一个实时变化的,能够保证加热温区在外界干扰。1。的情况下仍能保持温度在一个较小的范围内变化的合理的负载电压系数K。2. 温度控制的两个阶段温度控制系统是一个惯性较大的系统, 也就是说, 当给温区开始加热之后, 并不能立即观察得到温区温度的明显上升; 同样的, 当关闭加热之后, 温区的温度仍然有一定程度的上升。 另外,热电偶对温度的检测, 与实际的温区温度相比较, 也存在一定的滞后效应。这给温度的控制带来了困难。因此,如果在温度检测值(PV)到达设定值时才关断输出,可能因温度的滞后效应而长时间超出设定值,需要较长时间才能回到设定值;如果在温度检测值( PV)未到设定值时即关断输出,则可能因关断较早而导致温度难以达到设定值。为了合理地处理系统响应速度(即加热速度) 与系统稳定性之间地矛盾,我们把温度控制分为两个阶段。2。( 1)PID 调节前阶段在这个阶段,因为温区的温度距离设定值还很远,为了加快加热速度,SSR 与发热管处于满负荷输出状态,只有当温度上升速度超过控制参数“加速速率”, SSR才关闭输出。“加速速率” 描述的是温度在单位时间的跨度,反映的是温度升降的快慢,如上图所示。用“加速速率”限制温升过快,是为了降低温度进入PID 调节区的惯性,避免首次到达温度设定值(SV)时超调过大。在这个阶段,要么占空比K=0, SSR关闭;要么占空比K=100 , SSR全速输出。PID 调节器不起作用,仅由“加速速率”控制温升快慢。( 2) PID调节阶段在这个阶段, PID 调节器调节输出,根据偏差值计算占空比(0 100),保证偏差 (EV) 趋近于零 , 即使系统受到外部干扰时,也能使系统回到平衡状态。3 PID 算法PID控制的原理是基于下面的算式:输出 M(t) 是比例项,积分项和微分项的函数。其中:M(t)PID回路的输出,是时间的函数KcPID回路的比例增益ePID回路的偏差(设定值(SV)与过程变量(PV) 之差)Minitial PID回路的静态输出值为了能让数字计算机处理这个算式,连续算式必须离散化为周期采样偏差算式,才能用来计算输出值。数字计算机处理的算式如下:从这个公式可以看出,积分项是从第一个采样周期到当前采样周期所有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是当前采样的函数。在数字计算机中,不保存所有的误差项,其实也不必要。由于计算机从第一次采样开始,每有一个过程采样值必须计算一次输出值,只需要保存前一次过程值(PVn-1)和积分项前值。利用计算机处理的重复性,可以将以上算式变换为:。3。其中:Mn在第 n 采样时刻, PID 回路的输出计算值SVPID回路设定值PVn在第 n 采样时刻的过程变量值PVn-1在第 n 1 采样时刻的过程变量值MX积分前项值MintialPID回路的静态输出值KcPID回路的比例增益KI积分项的比例常数KI=Kc * Ts / TiTs是离散化时的采样时间间隔Ti是积分时间参数;KD微分项的比例常数KD=Kc * Td / TsTs是离散化时的采样时间间隔Td 是微分时间参数;从上面 PID 的算式,可以分析三个基本参数Kc, KI, KD在实际控制中的作用:( 1)比例调节作用: 比例项按比例反应系统的偏差, 系统一旦出现了偏差, 比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少偏差。但是过大的比例调节,使系统的稳定性下降,甚至造成系统的不稳定。( 2) 积分调节作用:积分项消除系统的稳态误差,提高无差度。只要有偏差,积分就进行,直到无偏差时,积分运算才停止,积分调节项输出一常数值。积分作用的强弱取决于积分时间常数 Ti , Ti 越小,积分作用越强。积分控制可提高系统的无差度,但积分项输出响应缓慢,使得系统调节时间增长。( 3)微分调节作用:微分项反映系统过程变量的变化率(PVn-1- PVn) / Ts ),具有预见性,能预见变化的趋势,因此,能产生超前的调节作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间参数 Td 选择合适的情况下,可以减少超调,减少调节时间。微分调节对干扰有放大效果,过强的微分调节,对系统抗干扰不利。此外,微分项反映的是过程变量的变化率,而当过程变量没有变化时,微分调节输出为零。微分调节不能单独使用,需要与另外两种调节规律相结合,组成 PD或 PID 调节器。以上面的推导, C 程序如下/*pid 算法 C源程序,还有实现pid 自动调整。 51 用于控制温度26-100 摄氏度。TIME:2011-07-29 20:15:07*/#include <stdlib.h>#include "global_varible.h"/* * 模块名 : PID。4。* 描述 : PID 调节子程序*采用 PID-PD 算法。在偏差绝对值大于e 时,用 PD算法,以改善动态品质。*当偏差绝对值小于e 时,用 PID 算法,提高稳定精度。* PIDout=kp*e(t)+ki*e(t)+e(t-1)+.+e(1)+kd*e(t)-e(t-1) *=* 入口 :无* 出口 :无* 改变 : PID_T_Run= 加热时间控制*/void PID_Math(void)signed long ee1;/偏差一阶/signed long ee2;/偏差二阶signed long d_out; /积分输出if(!Flag_PID_T_OK)return;Flag_PID_T_OK = 0;Temp_Set = 3700; /温度控制设定值37.00 度PID_e0 = Temp_Set - Temp_Now; /本次偏差ee1= PID_e0 - PID_e1;/计算一阶偏差/ee2 = PID_e0-2*PID_e1+PID_e2;/计算二阶偏差/ 一阶偏差的限制范围if(ee1 > 500)ee1 = 500;if(ee1 < -500)ee1 = -500;PID_e_SUM += PID_e0;/偏差之和/ 积分最多累计的温差if(PID_e_SUM > 200)PID_e_SUM = 200;if(PID_e_SUM < -200)PID_e_SUM = -200;PID_Out = PID_kp * PID_e0 + PID_kd * ee1;/ 计算 PID 比例和微分输出if(abs(PID_e0) < 200)/ 如果温度相差小于1.5度则计入PID 积分输出if(abs(PID_e0) > 100)/ 如果温度相差大于1 度时积分累计限制if(PID_e_SUM > 100)PID_e_SUM = 100;if(PID_e_SUM < -100)PID_e_SUM = -100;d_out = PID_ki * PID_e_SUM;/ 积分输出if(PID_e0 < -5)/ 当前温度高于设定温度0.5 度时积分累计限制if(PID_e_SUM > 150) PID_e_SUM = 150;。5。if(PID_e_SUM > 0)d_out >>= 1;/ 当

注意事项

本文(温度控制的PID算法及C程序实现)为本站会员(人***)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.