




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一个实用的单片机 PID 方式控温实例1:基本情况本例中控制对象是一款小型专用工业烘箱要求恒温范围:室温-300C恒温精度:与 C(其它指标略)他:控制器硬件(参考原理图).单片机采用(C51 系列)TI 公司的 MCS1210Y4(内部有 8 通道 24 位 AD 转换器)串行口在线编程2.前向通道温度信号 (来自烘箱的 Pt100 电阻信号) 经 INA118 放大送入 AD 通道 CH03.后向通道 I/O 口驱动光耦 MOC-3061,再驱动大功率双向可控硅输出4.键盘 up 递增按钮和 down 递减按钮,设置目标温度5.LED(3 位)显示温度值(软件切换显示目标温度或采样温度)6
2、.电源+5V 单电源8:软件介绍(由 C 语言编写)1.流程采样当前温度-PID 运算-PWM(占空比式)输出2.温度采样采样周期是一个很重要的参数其确定取决于烘箱的固有响应特性参数(比如纯滞后时间 0 以及响应时间常数力一般值在 4-20 秒之间(例中取 16 秒)3.PID 运算每采样一次之后进行一次 PID 运算,得到一个输出量,供输出函数调用.为了下面叙述方便先定义几个变量定义:T_target 表示目标温度T_real 表示当前温度T_diff 表示当前温差并且 T_diff=T_target-T_realPID 运算表达式如下PWM_OUT=P_OUT+I_OUT+D_OUT+P_
3、H;(求代数和)其中 P_OUT=KP*(T_diff)称为比例项,KP 是比例系数,比例项的作用是纠正偏差.比例项输出等于比例系数乘当前温差(原理图)I_OUT=KI*E(diff)称为积分项,KI 是积分系数,积分项用于消除系统稳态误差2(diff)含义是由当前算起前面 N 次采样温差的和(例中 N 取 20)D-_OUT=KDAdiff 称为微分项,KD 是微分系数,微分项用于减小系统超调量,增加系统稳定性.(diff 当前温差-上次温差)P_H=KC*(T_target)称为维持功率项,达温后(其它项均趋于 0)此项起抵消散热维持温度的作用,可增加系统稳定性.KC 是维持功率系数如果约
4、定满功率值为 100,停止输出功率值为 0 那末 PWM_OUT 的取值范围就确定为 0-100 主要是为了后面编制输出函数时方便简明,直接调用 PWM_OUT 作为输出占空比的百分数)后面整定系数时就要兼顾 PWM_OUT 的取值范围4 源程序(部分)#defineKP3.0#defineKI0.3#defineKD200.0#defineKC0.1#defineT_c16sbitpid_port=P3 八 5;控制输出端口floatT_target=0;/目标温度floatT_real=0;当前温度floatPWM=0;输出控制量 1-100bitread_AD_enable=0;/PID
5、 运算允许标志位/T0 定时器初始化voidTimer0_Init()(.TMOD|=0 x01;TF0=0;TR0=1;IE|=0 x02;)读取 AD 转换值并刻度voidread_AD(void)(intdelta_ad;unsignedcharad3;ad0=ADRESH;ad1=ADRESM;ad2=ADRESL;delta_ad=ad0*0 x100+ad1-0 x23cb;?if(delta_ad=20)curr_=0;/20 次采样elsecurr_+=1;sum_diff-=diffcurr_;减去最老的一次温差值diffcurr_=T_target-T_real;/当前温差
6、sum_diff+=diffcurr_;加上最新的一次温差值,即当前p_out=KP*diffcurr_;比例项输出比例 x 当前温差i_out=KI*sum_diff;积分项输出积分系数 x 积分值d_out=KD*(diffcurr_-temp);微分项输出微分系数 x 微分值pwm_0=KC*T_target;维持功率项维持系数 x 设定温度if(i_out100)i_out=100;积分分离防止积分饱和if(i_out-100)i_out=-100;PWM=p_out+i_out+d_out+pwm_0;总输出量if(PWM=100)PWM=100;大于 100 时为 100/输出函数
7、voidPWM_OUT(floatPWM)(staticunsignedchart=1;/t=(1100)周期为 4 秒静态变量 40ms 调用一次即 4秒分成 100 份unsignedcharlimit;/pid_value 输出百分比limit=(unsignedchar)PWM;强制转换if(t100)t=1;I*/T0 中断服务程序voidTimer0_ISR()interrupt1using1(staticunsignedintx=0;TH0=(28672)8;/11.0592MHz,interval40mSTL0=(28672+20)&0 xff;/+20compensa
8、te 补尝TF0=0;if(x+)(T_c*25)(x=0;read_AD_enable=1;/PID 运算允许标志位PWM_OUT(PWM);可控硅输出/*主程序*/voidmain(void)(/程序初始化(略)while(1)(if(read_AD_enable=1)/PID 运算允许标志位每 40ms 运算一次 PID 读一次AD(read_AD_enable=0;read_AD();读 ADpid();运算 PID5.参数的整定(这大概是最困难而且费时的事)T_c(采样周期)单从控制精度上考虑,T_c 当然是越小越好,但过小占用处理器的运算时间会加长,从而导致系统成本增加,例中主要考
9、虑被控对象的时间常数和纯滞后时间0,下面用扩充响应曲线法求取 p 及0.a.使系统处于开环,手动直接在被控对象输入端加一个阶跃信号描绘出响应曲线(如图)b.在响应曲线的最大斜率处作切线即可得到0和Tc.选择 T_c,当。占主导地位时,应尽量使0为 T_c 的整倍数如 0=2T_c 或 0=T_C,当0比 T_c 小得多时,可取 T_c=r/10KP(比例系数)先定为 1,做一个简单的只有比例调节的函数,使系统工作于闭环,T_target 定在 150c(恒温范围的中间值)纪录响应曲线,如果曲线没有出现振铃则可能是 KP 偏小,调整 KP,使曲线出现轻微振铃.反之振铃幅度过大,则可能是 KP 偏
10、大.KC(维持功率系数)借用5.中的曲线(如下图)根据图中所示由 KC*150=PWM_H 导出 KCKI(积分系数)KI 的选取与 T_c 和积分时长有关,回过头看源程序 PID 运算函数中有一个静态数组,记录过去 t 时刻到当前的各个温度采样值.每一次采样之后都要更新 (淘汰掉最早的采样值,加入当前采样值).积分时长=T_c*采样个数(即数组大小SIZE)积分时长的选择一般使它大于纯滞后时间8即可,反过来通过 T_c 和0可以确定数组的大小 SIZE ,接着套用下式就可以大致确定 KI 了.KI*SIZE=10%*满功率值KD(微分系数)Kd 取值大致为纯滞后时间0(比如0=200,KD 先取 200,后根据实验在调整)以上的步骤可能要反复进行多次,各个系数也要作相应的调整.这里我介绍一个站长编写的并已成功应用的调试软件 HUANENG.EXE专用于串行口数据分析绘图,可同时描绘 8 条曲线,(VC 编写)使用非常简单,只需在上面源程序中 pid()函数末尾加上几行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合同修改通知书的模板
- 一堤防工程施工方案(完整版)
- 个人工作总结月报范文(3篇)
- 2025年驾驶员超速考试题及答案
- 2025年消防安全知识培训考试题库及答案
- 2025年《药品管理法》试题(附完整答案)
- 2025店铺租赁合同标准版样本
- 2025年医院终末消毒试题及答案
- 儿童饮食提高记忆力
- 2025年大豆电子交易合同
- 福安蟾溪林场储备林2023年作业设计
- GA/T 1471-2018居民身份证制作中心(所)建设规范
- 学生课程免考(修)申请表(模板)
- 粘膜免疫 2课件
- 电子课件-《可编程序控制器及其应用(三菱-第三版)》-A04-1724-课题一-可编程序控制器基础知识
- 统计业务知识(统计法规)课件
- 艾滋病个案流行病学调查表
- 广告策划与创意课件-2
- 地质勘察任务书模板
- 全国中心血站上岗证考试题库
- 环境社会学整本书课件完整版电子教案全套课件最全教学教程ppt(最新)
评论
0/150
提交评论