![PID温度控制器-(38485)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/25/158a1263-fbe3-4028-ac6d-63b26ef4cef8/158a1263-fbe3-4028-ac6d-63b26ef4cef81.gif)
![PID温度控制器-(38485)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/25/158a1263-fbe3-4028-ac6d-63b26ef4cef8/158a1263-fbe3-4028-ac6d-63b26ef4cef82.gif)
![PID温度控制器-(38485)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/25/158a1263-fbe3-4028-ac6d-63b26ef4cef8/158a1263-fbe3-4028-ac6d-63b26ef4cef83.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、设计内容21.1温度控制21.2设计方案2二、软件设计02.1主程序流程图02.2DS18B20实现温度转换和温度数值读取流程图12.3显示流程图2三、PID控制23.1PID简介23.2PID控制算法4四、电路设计74.1功能模块设计74.2电路连接设计8温度检测电路8继电器控温电路9外部电路10参考文献11附录PID温度控制器程序12、设计内容1.1温度控制本设计以水为测量对象,温度测量电路接收传感器的信号,并将模拟信号通过模/数转换器转换为数字信号,送入单片机系统,与预设的温度对比,通过一定的控制算法,控制继电器的通断,从而控制加热器的工作,使得水温维持在设定的温度。温度控制算法精确
2、控制温度加热,以温度最小为优化目标。温度是工业控制对象的主要的被控参数之一,如冶金,机械,食品,化工各类工业中广泛使用的各种加热炉,热处理炉,反应炉等。在过去多是米用常规的模拟调节器对温度进行控制,本设计采用了单片微型机对温度实现自动控制。1.2设计方案温度控制系统是一种比较常见和典型的过程控制系统。温度是工业生产过程中重要的被控参数之一,当今计算机控制技术在这方面的应用,已使温度控制系统达到自动化、智能化,比过去单纯采用电子线路进行PID调节的控制效果要好得多,可控性方面也有了很大的提高。温度是一个非线性的对象,具有大惯性的特点,在低温段惯性较大,在高温段惯性较小。对于这种温控对象,一般认为
3、它具有以下的传递函数形式:这是传统的二位式模拟控制方案,其基本思想与方案一相同,但由于采用上下限比较电路,所以控制精度有所提高。这种方法还是模拟控制方式,因此也不能实现复杂的控制算法使控制精度做得较高,而且不能用数码管显示,对键盘进行设定。采用89C51单片机系统来实现。单片机软件编程灵活、自由度大,可用软件编程来实现各种控制算法和逻辑控制。单片机系统可以使用数码管来显示水温的实际值,能用键盘输入设定值。选用了AT89C51芯片,不需要外扩展存储器,可使系统整体结构更为简单。采用以单片机为控制核心的控制系统,尤其对温度控制,可达到模拟控制所达不到的效果,并且实现显示和键盘设定功能,大大提高了系
4、统的智能化。这也使得系统所测得结果的精度大大提高。AT89C51是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能CM0S8&微处理器,俗称单片机。而在众多的51系列单片机中,要算ATMEL公司的AT89C5便实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。而这种单片机对开发设备的要求非常低,开发时间也能大大缩短。DS18B20是一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转
5、化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片。它具有独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯。采用数字信号输出提高了信号抗干扰能力和温度测量精度。它的工作电压使用范围宽3.05.5V可以采用外部供电方式,也可以采用寄生电源方式,即当总线DQ为高电平时,窃取信号能量给DS18B20供电。它还有负压特性,电源极性接反时,DS18B20不会因接错线而烧毁,但不能正常工作。可以通过编程而实现912位的温度转换精度设置。设定的分辨率越高,所需要的温度数据转换时间就越长,在实际应用中要将分辨率和转换时间权衡考虑。RS-232接口是个人计算机
6、上的通讯接口之一,是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE和数据通讯设备(DCE之间串行二进制数据交换接口技术标准”。该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。随着设备的不断改进,出现了代替DB25的DB9接口二、软件设计2.1主程序流程图系统的主程序流程图如图2-1所示,当有信号输入时,主程序启动,根据内部设定的条件逐步运行,达到设计目的。图2-1主程序流程图2.2DS18B20实现温度转换和温度数值读取流程图图2-
7、2为DS18B20实现温度转换和温度数值读取流程图,用于系统的温度转换和温度数值的读取。2.3显示流程图图2-3为系统的显示流程图。主要是通过对传输信号进行显示后,给操作者提供提示。的显示和监控的目的。显示后,给操作者提供提示。的显示和监控的目的。以到达为本系统提供对温度串行口初始化串行口初始化向缓冲区送数据查段码送显示图2-3显示流程图三、PID控制3.1PID简介PID控制器是一种线性控制器,它根据给定值厂r(t)与实际输出值y(t)构成控制偏差e(t):e(t)=r(t)-y(t)(3.1)将偏差e(t)的比例(Proportional)、积分(Integral)和微分(Derivati
8、ve)通过线性组合构成控制量,对被控对象进行控制,因此称为PID控制。PID控制系统原理如图3-1所示。图3-1PID控制系统原理图de(t)dt(3.3)其控制规律为:-1/u(t)=心e(t)0e(t)dtT°-T1(3.2)或者写成传递函数的形式为:1G(s)=Kp(1TdS)TS式中Kp:比例系数:积分时间常数Td:微分时间常数PID控制器各校正环节的作用如下:(1) 比例环节即时成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差;(2) 积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,Ti越大,积分作用越弱
9、,反之则越强;(3) 微分环节能够反映偏差信号的变化趋势(变化速率),并且能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。3.2PID控制算法由于计算机控制是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量。因此,(3.2)式中的积分和微分项不能直接使用,需要进行离散化处理。现令T为采样周期,以一系列的采样时刻点kT代表连续时间t,以累加求和近似代替积分,以一阶后向差分近似代替微分,做如下的近似变换:t二kT(3.4)tkk0e(t)Te(jT)=T'e(j)j=0j=0(3.5)de(t)e(kT)_ek_1e(k)-e(k
10、-1)dtTT(3.6)其中,T为采样周期,e(k)为系统第k次采样时刻的偏差值,e(k-i)为系统第(k-i)次采样时刻的偏差值,k为采样序号,k=0,1,2,。将上面的(3.5)式和(3.6)式代入(3.2)式,则可以得到离散的PID表达式:ITkTd,u(k)=Kpe(k)-e(j)卡e(k)e(k1)lI5TJ如果采样周期T足够小,该算式可以很好的逼近模拟PID算式,因而使被控过程与连续控制过程十分接近。通常把(3.7)式称为PID的位置式控制算法。若在(3.7)式中,令:©二上四(称为积分系数)T1Kd二0严(称为微分系数)k则u(k)=Kpe(k)Ke(j)心e(k)-e
11、(k-1)1j=e(3.8)(3.8)式即为离散化的位置式PID控制算法的编程表达式。可以看出,每次输出与过去的所有状态都有关,要想计算u(k),不仅涉及e(k)和e(k-1),且须将历次e(j)相加,计算复杂,浪费内存。下面,推导计算较为简单的递推算式。为此,对(3.8)式作如下的变动:考虑到第(k-1)次采样时有ITkt|u(k-1)=KPe(k-1)'e(j)-De(k-1)-e(k-2)】IT1uTJ(3.9)使(3.8)式两边对应减去(3.9)式,得u(k)-u(k-1)=KPe(k)e(k1)Te(k)耳e(k)一2e(k一1)e(k2)lIT1TJ整理后得u(k)二u(k
12、-1)KPe(k)-e(k-1)Te(k)互e(k)-2e(k-1)e(k-2)ITiTJ=u(k-1)KP(1TE/k)-KP(1玉)e(k-1)KPTDe(2)TiTTT=u(k-1)a°e(k)-a1e(k-1)a2e(k-2)(3.10)其中,其中,aKpTD,(3.10)式就是PID位置式得递推形式。如果令:u(k)=u(k)-u(k-1)贝廿:u(ka0e(ka1e(1)a2e(2)式中的ao、a1、a2同(3.10)式中的一样。因为在计算机控制中,ao、a1、a2都可以事先求出,所以,实际控制时只须获得e(k)、e(k1)、e(k-2)三个有限的偏差值就可以求出控制增量
13、。由于其控制输出对应执行机构的位置的增量,故(3.11)式通常被称为PID控制的增量式算式。增量式PID控制算法与位置式控制算法比较,有如下的一些优点:(1) 位置式算法每次输出与整个过去状态有关,算式中要用到过去偏差的累加值e(j),容易产生较大的累计误差。而增量式中只须计算增量,算式中不需要累加,控制增量的确定仅与最近几次偏差米样值有关,当存在计算误差或者精度不足时,对控制量的影响较小,且较容易通过加权处理获得比较好的控制效果;(2) 由于计算机只输出控制增量,所以误动作影响小,而且必要时可以用逻辑判断的方法去掉,对系统安全运行有利;手动一自动切换时冲击比较小。鉴于以上优点,本系统的控制算
14、法即采用增量式的PID控制算法。四、电路设计4.1功能模块设计数字温度传感器DS18B20从设备不同的位置采集温度,并将数字信号送入AT89C51单片机系统,单片机获取采集的温度值,经过处理后得到当前环境中一个比较稳定的温度值,根据当前设定的温度上下限值,再通过PID控制算法控制继电器的通断,从而控制加热器的工作,使得水温维持在设定的温度。当采集的温度经处理后没有达到设定的温度值时,单片机控制继电器开启升温设备(加热器)。图4-1单片机电路图4.2电路连接设计温度检测电路温度检测用DS18B20温度传感器,DS18B20是单线数字式测温芯片,它能在现场采集温度数据,并将温度数据直接转换成数字量
15、,并将数字信号送入AT89C51单片机系统。图4-2为温度检测电路图。422继电器控温电路当DS18B20采集到温度后,会将温度值传送到单片机。单片机获取采集的温度值,经过处理后得到当前环境中一个比较稳定的温度值,根据当前设定的温度上下限值,再通过PID控制算法控制继电器的通断,从而控制加热器的工作,得水温维持在设定的温度。IJO.IT*-Ip*1*-itixt4pi.lT弋:XIT】i-?:?-423外部电路图4-3继电器控温电路图启动、复位电路用于系统的开始和重置参考文献1 余锡存主编.单片机原理与接口技术.西安电子科技大学出版社,2001,7.2 刘金琨.先进PID控制及其MATLAB真
16、M.北京:电子工业出版社,2003.3 曹巧媛主编.单片机原理及应用(第二版)M.北京:电子工业出版社,2002.4 康华光主编.电子技术基础M.北京:高等教育出版社,1998,121-142.5 何立民.单片机高级教程应用M.北京:北京航空航天大学出版社,2000,3-14.金发庆等编.传感器技术与应用M.北京机械工业出版社,2002.7 秦实宏等.单片机原理与应用技术M.北京:中国水利水电出版社,2005,27-48.8 陈忠华.基于单片机的温度智能控制系统的设计与实现D.大连理工大学硕士学位论文,2006.附录PID温度控制器程序#pragmadbcode#include<AT89
17、C51.H>#include"INTRINS.H"#defineBUSY1(DQ1=0)sbitDQ1=P3A5;脚#defineBUSY1(DQ1=0)sbitDQ1=P3A5;脚/定义busy信号/定义18B20单总线引18B20读入温度函数voidds_reset_1(void);/声明18B20复位函数voidwr_ds18_1(chardat);/声明18B20写入函数voidtime_delay(unsignedchartime);/声明延时函数intget_temp_1(void);/声明voiddelay(unsignedintx);/声明延时函数vo
18、idread_ROM(void);/声明18B20读ROM函数intget_temp_d(void);/声明获取温度函数voiddsnit(void);化函数voidds_getT(void);温度显示值函数voidhot();/*/以下定义声明18B20初始声明18B20获得各种变量unsignedcharResultsignal;intResultTemperatureLH,ResultTemperatureLL,ResultTemperatureH;unsignedcharROM8;unsignedcharidataTMP;unsignedcharidataTMP_d;unsignedc
19、harf;unsignedcharrd_ds18_1();unsignedintTemH,TemL;/温度的整数部分和小数部分unsignedintcount;/定义小数计算部/定义小数计算部unsignedinttt1,tt2;分voidmain()dsnit();while(1)ds_getT();/18B20初始化/使用该函数获得温度,整数部分存储到TemH小数部分存储到count的低8位if(TMP_d<tt1)hot();/*18B20*/voidds_init(void)初始化函数/reset/skipromunsignedintk=0;ds_reset_1();ds_res
20、et_1();wr_ds18_1(0xcc);_nop_();wr_ds18_1(0x7f);ds_reset_1();wr_ds18_1(0xcc);_nop_();wr_ds18_1(0x44);for(k=0;k<11000;k+)time_delay(255);ds_reset_1();voidds_getT(void)wr_ds18_1(0xcc);wr_ds18_1(0xbe);TemH=get_temp_1();TemL=get_temp_d();TemH&=OxOOff;TemL&=OxOOff;count=(TemH*256+TemL)*6.25;*延时
21、程序,单位us,大于*voidtime_delay(unsignedchartime)time=time-10;time=time/6;while(time!=O)time-;/*/ds18b20ds18b20/*reset*/*voidds_reset_1(void)unsignedcharidatacount=0;DQ1=0;time_delay(240);time_delay(240);DQ1=1;return;voidcheck_pre_1(void)while(DQI);while(DQ1);time_delay(30);voidread_ROM(void)intn;ds_reset
22、_1();check_pre_1();wr_ds18_1(0x33);for(n=0;n<8;n+)ROMn=rd_ds18_1();/*/*Readabitfrom1820位读取*/*/*bittmrbit_1(void)idatachari=0;bitdat;DQ1=0;_nop_();DQ1=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();dat=DQ1;time_delay(50);returndat;
23、/*/字节读取*/*readabetyfromds18b20/*/unsignedcharrd_ds18_1()unsignedcharidatai,j,dat=0;for(i=1;iv=8;i+)j=tmrbit_1();dat=(jvv(i-1)|dat;returndat;*/*writeabetyfromds18b20写字节*/*/voidwr_ds18_1(chardat)signedcharidatai=0;unsignedcharidataj;bittestb;for(j=1;jv=8;j+)testb=dat&0x01;dat=dat>>1;if(testb
24、)DQ1=0;_nop_();_nop_();DQ1=1;time_delay(60);elseDQ1=0;time_delay(50);DQ1=1;_nop_();_nop_();intget_temp_1(void)unsignedcharidataa=0,b=0;unsignedcharidatai;EA=O;ds_reset_1();check_pre_1();wr_ds18_1(0xcc);wr_ds18_1(0x44);while(BUSY1);ds_reset_1();check_pre_1();wr_ds18_1(0xcc);wr_ds18_1(0xbe);a=rd_ds18_
25、1();b=rd_ds18_1();i=b;/*则为负温*/i=(i>>4);if(i=O)f=0;TMP=(a>>4)|(b<<4);a=(a&OxOf);if(a>8)TMP=(TMP+1);elsef=1;a=a>>4;b=b<<4;TMP=(a|b);TMP=TMP;TMP=(TMP+1);EA=1;return(TMP);intget_temp_d(void)unsignedcharidataa=0,b=0;unsignedcharidatai,m;EA=O;/ds_reset_1();check_pre_1(
26、);wr_ds18_1(0xcc);wr_ds18_1(0x44);while(BUSYI);ds_reset_1();check_pre_1();wr_ds18_1(0xcc);wr_ds18_1(0xbe);a=rd_ds18_1();b=rd_ds18_1();/*/*i=b;则为负温*/i=(i>>4);if(i=0)f=0;TMP=(a>>4)|(b<<4);a=(a&OxOf);TMP_d=a;elsef=1;a=a;a=(a+1);b=b;b=(b+1);m=a;a=a>>4;b=b<<4;TMP=(a|b);m=(m&0x0f);TMP_d=m;EA=1;return(TMP_d);voiddelay(unsignedintx)unsignedinti;for(i=0;i<x;i+);voidhot()2.PID控制#defineFiltA0.1;()#defineFiltB0.9/(1-FilterA)#defineKp1.75/PID#defineKi0.00125/PID数#defineKd3.0/PID#defineEmax0.1/voidhot()2.PID控制#defineFiltA0.1;()#defineFiltB0.9/(1-FilterA)#defineKp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人住房按揭贷款合同样本
- 个人房屋抵押借款正式合同书
- 上海全日制员工劳动合同模板
- 2024年文化产业合作项目执行合同
- 上海市蔬菜购销合同标准文本
- 中外合资企业投资合同
- 临时工人员劳务合同
- 二手房转让合同范本大全
- XX公司与XX建筑企业室内环境污染治理合作协议合同
- 个人借款给公司合同书样本
- 安全生产网格员培训
- 小学数学分数四则混合运算300题带答案
- 林下野鸡养殖建设项目可行性研究报告
- 心肺复苏术课件2024新版
- 苜蓿青贮料质量分级DB41-T 1906-2019
- 新鲜牛肉购销合同模板
- 2024年内蒙古呼和浩特市中考文科综合试题卷(含答案)
- 大型商场招商招租方案(2篇)
- 会阴擦洗课件
- 2024年交管12123学法减分考试题库和答案
- 临床下肢深静脉血栓的预防和护理新进展
评论
0/150
提交评论