水温控制系统论文.doc_第1页
水温控制系统论文.doc_第2页
水温控制系统论文.doc_第3页
水温控制系统论文.doc_第4页
水温控制系统论文.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题: 水温控制系统(本科组)摘要: 本设计根据课题要求,无论主控单元还是各检测器单元都选用了价格低廉的AT89S52单片机为CPU,选用完全符合测量温度范围要求且工作一致性很高的PT100热电阻作为温度传感器。由自行设计的恒流源电路构成能补偿温度传感器线路的采样电路,信号的调理主要由失调电压很低、线性误差小的通用放大器LM358来完成。还可以通过主控单元的键盘来设定检测器的测量范围参量,并具有温度显示、在设定范围内自动加热降温等功能。为提高测量精度,采用0.1级的标准电阻箱对系统进行与PT100的分度表进行误差对比。经过各项实验测试,该系统的性能指标达到了任务书的基本要求,而且在各检测单元方面达到或超过发挥部分的要求。关键词: 89S52单片机 ; PT100 ; LM358. 系统方案选择和论证1.1 设计任务设计并制作一个水温自动控制系统,控制对象为1升水,容器为搪瓷器皿(其他容器也可)。水温可以在一定范围内设定,并能实现在1070量程范围内对每一点温度的自动控制,以保持设定的温度基本保持不变。1.1.1 任务要求(1)可键盘设定控制温度值,并能用液晶显示,显示最小区分度为0.1;(2)可以测量并显示水的实际温度。温度测量误差在0.5内;(3)水温控制系统应具有全量程(1070)内的升温、降温功能(降温可用半导体制冷片、升温用800以内的电加热器);(4)在全量程内任意设定一个温度值(例如起始温度+15内),控制系统可以实现该给定温度的恒值自动控制。控制的最大动态误差4,静态1,系统达到稳态的时间15min(最少两个波动周期);(5)当设定温度突变(温度变化+20)时,控制的最大动态误差2,系统达到稳态的时间8min(最少两个波动周期); (6)温度控制的静态误差0.2(在最小稳态时间内);(7)在设定温度发生突变(温度变化+20)时,用液晶屏显示水温随时间变化的实时曲线(最少显示两个波动周期)。1.2 主要单元电路的设计1.2.1 CPU(中央处理器)的选择方案一:采用8031作为控制核心,以使用最为普遍的器件ADC0804作模数转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。此方案简易可行,器件的价格便宜,但8031内部没有程序存储器, 需要扩展,增加了电路的复杂性。方案二:此方案采用89S52单片机实现,此单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。进行数据转换,控制电路部分采用继电器控制,此方案电路简单并且可以满足题目中的各项要求的数据。将两个方案一比较便可得出一个结论,采用Atmel单片机来实现本题目,不管是从结构上,还是从工作量上都占有很大的优势,所以最后决定使用AT89S52作为该控制系统的核心。总体框图如图所示。传感器放大器A/D89S52CPU显示键盘控制电路电加热器制冷片系统框图1.2.2 传感器模块的选择方案一:采用极为普遍的晶体管3DG6作为温度传感器,廉价的电压/频率转换器(V/F)LM331与AT89S52单片机组成的温度测量仪。但该方案抗干扰性差,数据处理复杂,数据存放空间大,受市场限制。3DG6温度采集电路方案二:采用热电阻传感器,铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、稳定性好等特点,被广泛用于中温(-200+650)范围的温度测量中。PT100是一种广泛应用的测温元件,在-50+600范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性较正。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将Pt电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。由于本课题的任务要求测量的范围为1070,测量的分辨率为0.1,综上所述,决定采用线性度相对较好的PT100作为本课题的温度传感器,具体的型号为WZP型铂电阻,该传感器的测温范围从-200650。1.3 系统设计的原理图/原理图 1602液晶显示模块原理图. 放大器的调试此方案中Pt电阻接法如图所示。Pt电阻接法R2、R3、R4 和Pt100 组成传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过TL431 稳至2.5V。从电桥获取的差分信号通过两级运放放大后输入单片机。电桥的一个桥臂采用可调电阻R3,通过调节R3 可以调整输入到运放的差分电压信号大小,通常用于调整零点。放大电路采用LM358 集成运算放大器,为了防止单级放大倍数过高带来的非线性误差,放大电路采用两级放大,如图所示,前一级约为10 倍,后一级约为3倍。温度在0100 度变化,当温度上升时,Pt100 阻值变大,输入放大电路的差分信号变大,放大电路的输出电压Av 对应升高。为防止运放LM358 的工作电压波动,输出电压Av 随之波动,最后导致A/D 转换的结果波动,使测量结果上下跳变,在电桥部分虽然经过TL431 稳压,但整个模块的电压VCC 也一定要稳定。在调试过程中,将PT100用电阻箱代替来模拟温度的变化,再测量两级放大器的输出电压,来证实所设计放大器是线性的。下面是验证放大器线性度的实验数据。单位: 电阻:欧姆 电压:伏特电阻100120140160180200220240首级放大器输入0.1670.2000.2330.670.3000.3330.3670.399首级放大器输出-1.667-2.001-2.325-2.673-3.003-3.320-3.655-3.996偏置电压1.6671.6671.6671.6671.6671.6671.6671.667二级放大器净输入0-0.334-0.658-1.006-1.336-1.653-1.988-2.329二级放大器输出00.6661.3202.0122.6713.3133.9864.653增益*19.9620.0220.0220.0119.9819.9720.01从上面可看出两级放大器的放大倍数是基本恒定的,因此本放大器的设计也是比较成功的。3. 系统的软件设计3.1 主程序模块程序按照模块化设计,所有功能都可通过调用子程序完成。主程序包括温度采集与识别模块,键盘扫描识别模块,加热制冷控制模块,液晶显示模块。其流程图如图所示。 开始 系统初始化 显示预设温度 按键扫描 N 按键处理 Y 是否有采样数据处理 A/D转换处理 系统计算 继电器控制 主程序流程图3.2 按键模块按键扫描:由于机械触点有弹性,在按下或弹起按键时会出现弹跳抖动过程,从最初按下到接触稳定要经过数毫秒的弹跳时间,实际效果好像是反复按了几下,这一情况肉眼是不易看清的,但是计算机却能识别,于是出错的信号将导致完全错误、甚至更严重的后果。因此为了保证探险键识别的准确性,必须消除抖动。消抖处理有硬件和软件两种方法:硬件消抖是利用加抖动电路滤避免产生抖动信号;软件消抖是利用数字滤波技术来消除抖动。本方案采用软件的方法,利用主程序循环扫描,主程序每循环一次扫描到的键值相同时,则说明是某键按下。键按下的过程sbit S1 = P25;sbit S2 = P26;sbit S3 = P27;unsigned GetCh (void) unsigned char s = 0,k = 0; if(!S1) s = 1; 对于不同按键按下赋予不同的数值,以供后 if(!S2) s = 2; 面程序判断 if(!S3) s = 3; k = s; if(s) while(s) delay(1000);s = 0;if(!S1) s = 1; if(!S2) s = 2; if(!S3) s = 3; return k;4. 系统的测试结果4.1 温度值的测量温度010.020.030.040.050.060.070.0测量值0.210.319.729.840.350.060.370.2误差0.20.3-0.3-0.20.300.30.2温度80.090.0100.0110.0120.0130.0140.0150.0测量值80.190.2100.0误差.1 误差分析 根据原理设计和实际制作,简单分析一下本温度测量的误差来源:(1) PT100本身的非线性,而分段时采用线性拟合(模型误差);(2) ADC0804的转换误差;(3) 放大器在一定程度上的非线性;(4) 恒流源的微小变化;(5) 用任意板钩接等因素造成的共地阻抗、电磁干扰等种种因素;(6) 非高精度电阻箱带来的系统误差等。5.特色与创新(1) 设计了高稳定度的桥式电路作为温度采样电路。(2) 制作了比较人性化的、简便易学的操作界面,大大丰富了该水温检测系统的内涵,使本系统具有信息化的特点。6.总结本系统以单片机AT89S52芯片为核心部件,利用传感器技术,A/D转换原理,液晶显示技术,键盘原理并配合一套独特的软件算法实现了对水温的动态显示实时控制。具有操作简单,控制安全可靠,易维护等特点。系统直观明了的显示运行过程的诸多参数,便于操作员及时掌握系统运行状况。经过测试,程序基本达到了所需功能,程序运行安全可靠。在本设计中还有很多需要完善的地方:(1)系统设计是针对水体的温度控制,许多参数都是在水体的情况下设定的,有一定的应用局限性,可以在后续的完善工作中继续研究。(2)系统可以采用远程控制的方式实现控制,那样应用将会更加普遍,当然需要了解较多的通信协议技术和相关的控制算法。(3)程序编写方面,没有对系统进行具体的优化。在今后的完善系统工作中,需要针对所选硬件外设对系统进行详细的优化工作。确保工艺控制的最优化。在本次设计的过程中,遇到了许多突发事件和各种困难,设计制作曾一度中断,但通过仔细分析和调整状态后解决了所遇到的问题。在这个过程中大家深刻地体会到共同协作的重要性,并提高了解决问题的能力。参考文献. 高吉祥主编. 全国大学生电子设计竞培训系列教程. 北京:电子工业出版社. 杨素行主编. 模拟电子技术基础简明教程(第三版). 北京:高等教育出版社,. 何立民. MCS-51系列单片机应用系统设计,系统配置与接口技术. 北京:北京航空航天大学出版社,1990年. 谭浩强. 程序设计. 北京:清华大学出版社. 2005附录:系统软件程序:#include #defineuint unsigned int#define uchar unsigned charuchar table=I like pic;uchar table1=;uchar table2=0123456789;sbit lcden=P20;sbit lcrw=P21;sbit lcdrs=P22;sbit adcs=P23;sbit adrd=P24;sbit adwr=P25;sbit key2=P26; sbit key3=P27;sbit key1=P31;sbit key4=P32;sbit d1=P33;/加热sbit d2=P34;/制冷uint sum;uchar num,s1num,aa,bb,s,g,shi,ge,temp,temp1,bai,shi,ge;delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110 ;y0;y-); void write_com(uchar com) lcdrs=0; lcrw=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; void write_data(uchar date) lcdrs=1; lcrw=0; P0=date; lcden=1; delay(20); lcden=0; void init() lcrw=0; lcden=0; write_com(0x38); write_com(0x0e); write_com(0x06); write_com(0x01); write_com(0x83);/改了第一行地址 for(num=0;numbai)|(s=bai)&(gshi) /升温程序 d1=0; d2=1; if(sbai)|(s=bai)&(gshi) /实际温度做基准 d1=1; d2=0; if(s=bai)&(g=shi) d1=1; d2=1; if(key1=0|key2=0|key3=0) goto loop; void main()init(); while(1) adcs=0; adwr=0; delay(5); adcs=1; adwr=1; delay(5); adcs=0; adrd=0; temp=P1; delay(5); adc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论