水温恒控系统课程设计_第1页
水温恒控系统课程设计_第2页
水温恒控系统课程设计_第3页
水温恒控系统课程设计_第4页
水温恒控系统课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度控制。而以往温度控制是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。针对此问题,本系统设计的目的是实现一种可连续高精度调温的温度控制系统,它应用广泛,功能强大,是一款既实用又廉价的控制系统。本设计是以AT89S51单片机作为主控芯片来对水温进行实时监测与控制,设计的恒温控制系统实现了基本的温度控制功能。在输入给定温度后,在液晶显示屏上显示出温度系数,定时器开始工作,每隔五秒钟检测一次水温,当温度低于设定温度时,系统输出的驱动信号的占空比增大,使加热电阻丝加热,使温度快速上升;当温度上升到设

2、定温度时,系统输出占孔比为0的波形,停止加热。反之,如果水温高于设定温度时,降温系统就开始工作。同时分别设置功能键、功能返回键、功能加一键和功能减一键四个按键来对设定温度进行调节。关键词:AT89S51;温度;控制;系统目录综述11系统方法选择和论证21.1 基本要求21.说明2 系统基本方案21.2.1 各模块方案选择和论证31.2.2 系统各模块的最终方案42系统的硬件设计与实现52.1 系统的硬件基本组成部分5主要单元电路的设计52.2.1 控制电路及执行电路的设计52.2.2 传感器电路设计62.2.3 按键电路设计62.2.4 1602液晶显示器63系统程序设计8 系统的软件设计83

3、.1.1 主程序模块83.1.2 功能实现模块83.1.3 运算控制模块83.2 温度转换设计93.3 系统主程序流程图104结论11课程设计体会12参考文献13附录一14附录二15综述随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能

4、正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。1 系统方

5、法选择和论证1.1 基本要求设计一个水温恒控系统,能够将水温恒控在所设置的温度范围下,并显示出所测量的温度。.1 说明本系统采用DS18B20温度传感器,测量温度范围为55125,在-10+85时精度为±。降温系统和升温系统可分别使用风扇和电阻丝。1.2 系统的基本方案根据题目的要求,系统可以划分为控制和检测部分。其中信号检测部分有DS18B20温度传感器来实现温度的采集,模数的转换。控制部分包括按键模块和显示模块。模块框图如图1-1所示。 温度示数 显示加热系统 控制 芯片被测对象 采样降温系统键盘输入图1-1水温恒控系统的模块框图1.2.1 各模块方案选择和论证(1) 控制器模块

6、根据题目的要求,控制器主要用于传感器的数据处理和显示输出,还有对数据分析处理后所发出的指令,对于控制器有以下两种方案。方案一:采用ATMEL公司生产的AVR系列单片机作为系统的控制器。AVR系列单片机具有高速、高可靠性、功能强和低功耗的特点,并且具有丰富的外部设备,I/O口驱动能力大。但是做水温恒控系统不需这么复杂的控制器,而且控制器的价格还比较昂贵,做出的设备性价比不高,不适合大量投入生产。方案二:采用同为ATMEL公司生产的AT89S5X系列中AT89S51单片机作为主控芯片,该芯片的算术运算能力强,软件编程灵活,自由度大,并且其功耗低、体积小、技术成熟,能完全满足本次系统的操作内容,而且

7、操作较为简单,价格便宜,性价比较高。(2) 温度采集模块方案一:1温度传感器温度传感器采用补偿型NTC热敏电阻其主要性能如下:补偿型NTC热敏电阻 B值误差范围小,对于阻值误差范围在5的产品,其一致性、互换性良好。适合于一般精度的温度测量和计量设备。但是使用中需要添加额外的方案二:选用DS18B20温度传感器。美国Dallas 半导体公司的数字化温度传感器DS1820 是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网

8、络,为测量系统的构建引入全新概念。DS18B20 具有独特的单线接口方式,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯;它的适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电;其,可实现高精度测温,测量结果直接输出数字温度信号;以"一线总线"串行传送给CPU,同时可传送CRC 校验码,具有极强的抗干扰纠错能力;并且可以不使用A/D转换器,减少了外围电路的连接,所以我决定选择DS18B20作为温度模块的采样器。(3) 显示模块方案一:采用LED数码管显示。LED数码管在单片机系统中的应用非常普遍,LED数码管是由多个发光

9、二极管组成的,通过点亮不同的数码管来进行不同数字的显示。虽然操作比较简单,但是比较占用单片机的I/O端口,而且可能有些需要的文字在数码管上无法表示出来,且变化不灵活,所以不予采用。方案二:采用1602液晶显示屏器示。液晶显示器的主要工作原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。液晶体积小、功耗低、显示操作简单。可以较为随意的显示出想要的字符,变换较为灵活,故采纳1602液晶显示器作为显示模块。1.2.2 系统各模块的最终方案经过仔细分析和论证,决定了系统各模块的最终方案如下:(1) 控制模块:AT89S51(2) 温度采集模块:DS18B20温度传感器(3) 显示模块:LC

10、D1602液晶显示器系统的基本框图如图1-3所示:AT89S51数据采集 传感器 显示电路水温 控制电路命令键输入控制水温图1-3水温恒控系统的基本框图2 系统的硬件设计与实现2.1 系统的硬件基本组成部分本系统是采用AT89S51单片机作为主控芯片,通过DS18B20温度传感器对水温进行采样并将数字量传递给单片机;在单片机进行数据分析处理后,在用LCD液晶显示器将温度显示出来。通过输出指令来控制其执行电路,由单片机的输出开关量来控制风扇或电阻丝,来实现温度的升降。2.2 主要单元电路的设计2.2.1 控制电路及执行电路的设计主控芯片AT89S51选择的晶振频率为12MHZ,它的最小系统如图2

11、-1所示图2-1单片机的最小系统原理图由单片机的输出开关量来控制风扇或电炉来实现水温的降低或升高。设计中采用光电耦合器进行强电和弱电的隔离,但还要考虑输出信号要对可控硅进行触发,以便接通降温电路或升温电路,所以晶闸管选用既有光电隔离又有触发功能的MC3051,如图2-2所示。图2-2 单片机的控制执行电路2.2.2 传感器电路设计DS18B20采用的是单条信号线,既可传输时钟,又可传输数据,而且数据的传输是双向的,电路原理图如图2-3所示。图2-3DS18B20电路图2.2.3 按键电路设计其中K4为功能控制键接到单片机的外部中断INT0引脚处,当K4键被按下时,触发外部中断,使程序进入中断子

12、程序中,K1键和K2键分别为功能加一键和功能减一键用来调节设定的温度系数,当K3被按下时,系统跳出按键的外部中断程序。图2-4按键电路原理图2.2.4 LCD1602液晶显示设计1602液晶有8个数据口,其中的RS端口为数据或命令选择端,RW为读写选择端,E为使能信号,是液晶1602操作过程中必不可少的端口,它的电路原理图如2-4所示。图2-41602液晶显示器电路原理图3 系统程序设计3.1 系统的软件设计软件设计采用模块化设计,由主程序模块、功能实现模块和运算模块3大模块组成。3.主程序模块在主程序中首先定义好伪指令对应的程序地址变量,在给定PID算法的参数值,然后通过按键确定要求控制的温

13、度,且使按键的外部中断为高优先级以便使主程序能实时响应键盘按下的处理。软件设定定时器T0为5s定时,在无键按下时,每隔5s响应一次,来采集DS18B20温度传感器采集的温度信号数据。3.功能实现模块主要由中断处理子程序、键盘处理子程序、DS18B20转换程序和显示子程序等组成。(1) 键盘中断子程序。当功能键被按下时,触发外部中断,跳入到中断子程序之后,首先先进行现场保护,对累加器A和PSW寄存器中的数值进行保护,之后可以通过功能加一键或功能减一键对期望温度进行设定,设定完成后在进行现场恢复,对累加器A和PSW寄存器中的数值进行恢复,之后返回中断断点处继续执行程序。(2) T0中断子程序。首先

14、应在主程序中对T0定时器进行初始化,并装入初值,如果选择方式一进行工作的话,每次最大只能定时65.5ms,所以还得在定时中断中加入一个76次的循环判断程序才能达到5s一次的定时。在定时中断这个过程,单片机要完成包括温度的采样处理,判断温度是否超出或达到标准温度值,如果没有达到可以调用PID算法子程序并输出控制信号。(3) DS18B20,可实现高精度测温,测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,再将测得的数值乘以0.0625即可得到实际温度值。(4) 显示子程序。需要先对液晶1602进行初始化,将固定不变的字符装入到1602中,之后设置好1602的写指

15、令与写数据的子程序。当处理完数据需要表示的时候,先调用1602中的写指令子程序,决定将显示数据放在哪里显示,在调用写数据子程序,将数据具体显示出来。3.运算控制模块涉及PID算法及判断温度的精度大小子程序等。3.2 温度转换设计3.温度控制算法通常,水温控制都采用偏差控制法。偏差控制的原理是先求出实测水温对所需水温的偏差值,然后对偏差值处理获得控制信号去调节电阻丝的加热功率,以实现对水温的控制。在工业上,偏差控制又称PID控制,这是工业控制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。3.温度控制程序框图温度控制程序的设计应考虑如下:1)键盘扫描、键码识别和温度显示;2)水温采样

16、、数字滤波;3)数据处理;4)温度分析和处理;5)输出指令调整温度控制程序框图如图3-1所示设定温度显示当前温度PID参数输入水温采样数据处理,得到水温降温系统判断温度Y是否超出设定温度N加热系统图3-1温度控制程序框图 开始定义伪指令DS18B20初始化液晶显示初始化中断初始化PID参数输入开启总中断 等待中断响应数据处理显示当前温度值图3-2主程序流程图4 结论在水温恒控系统工作时,首先输入设定的温度值,单片机通过外部中断接受到数据后,经过分析处理,将设定的温度值显示在1602液晶显示器上;之后开启定时器中断,等待每五秒一次的定时器中断,当定时器中断触发后,单片机对DS18B20温度传感器

17、进行温度的采集,并将得到的数据与设定的温度进行比较判断,如果高于系统的设定温度,则降温系统开始工作;如果低于设定温度,升温系统工作;如果等于系统的设定温度,则不工作,返回主程序中。再继续通过定时与温度采集来检测水温的变化,从而实现智能化控制。提高了系统的性能,使得控制系统的可靠性更加可靠。在程序的设计时,应跟据之前绘制的流程图来进行编制。在中断响应的时候,应该注意对累加器A和状态寄存器PSW中的数据进行保护,避免之后发生数据混乱。温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器也应运而生。随着单片机产品的迅猛发展,渐渐的会有更多高性能、低价格的新型单片机和温度传感器出发,

18、使得控制的范围越来越大,精度越来越高,从而有效的提升了产品的性能。课程设计体会通过本次课程设计,让我对理论的学习有了更扎实的理解,尤其是单片机这门课理论与实践的联系是十分紧密的。通过课程设计我将所学到的知识连贯起来、融会贯通,通过自己动手的摸索与结合生活中的实践,对知识的掌握更加透彻。在设计过程中,不仅是在电力电子这一学科,而且还结合了我们以前所学过的许多知识,而且有些在课堂上、书本上比较难理解的知识点通过这次课程设计也有了进一步的了解,通过自身实践作图等都对其有了更深刻的理解。在设计过程中,由于时间较为仓促,且自身水平能力有限,在做的过程中还是出现了许多问题,例如在解决驱动部分的升降温系统并

19、没有太联系到实际的应用,在编程中将输出的控制信号采用了较为简单的输出方式,虽然算法变的简单些,但可能会在实际应用中导致干扰性较大,稳定性不太好,这也是也一个不足之处,我会争取想出更好的解决方案来。参考文献1 何力民. 单片机应用技术选编【M】.北京:北京航空航天大学出版社,19932胡汉才. 单片机原理及其接口技术【M】.北京:清华大学出版社,19963 张毅刚. MCS-51实用汇编子程序设计【M】.哈尔滨:哈尔滨工业大学出版社,20034 郭天祥.新概念51单片机C语言教程【M】.北京:电子工业出版社,2009.15张毅刚.单片机原理及应用【M】.北京:高等教育出版社,20附录一:系统电路

20、图附录二:系统程序/*基于AT89S51单片机的水温恒控系统电力11-2班孙鹤鸣*/ORG 0000HLJMP MAINORG 0003HLJMP INT0ORG 000BHLJMP T0ORG 0100H/*主函数*/MIAN:LJMP INIT_18B20A;DS18B20初始化LJMP LCD_INIT;液晶1602初始化MOVA,#00HMOVLCD_DAT,ALCALLLCD_W_CMD;设置液晶的初始状态LCALLLCD_W_DATEMOVDELAYED,#14HLCALLDELAY_MSMOVSP,#60HMOVTMOD,#01H;定时器0初始化设置MOVTH0,#00H;装入初

21、值MOV TL0,#00HMOVR0,#4CHSETBTR0SETBET0SETBEX0SETBIT0SETBEA;打开总中断HERE:SJMPHERE;原地循环,等待中断响应/*初始化18b20*/INIT_18B20A:CLREACLRDQ1 MOVR7,#15HMOVR6,#00HDJNZR6,$ ;延时DJNZR7,$-2SETBDQ1MOVR6,#0FFHATSR2:JNB DQ1 ,ATSR3 DJNZR6,ATSR2AJMPATSR4ATSR3: SETBF0 ;置标志位,表明DS18B20存在AJMPATSR5ATSR4: CLR F0;表明不存在ATSR5: ;延时2MsMO

22、VR7,#56HMOV R6,#00H;延时2MSDJNZR6,$DJNZR7,$-2 SETBEA RET/*写DS18B20程序*/WRITE_18B20A:CLREAMOV R2,#8CLRCAWR1:CLRDQ1;拉低端口,准备数据传送;数据需在15us之内出现在端口上;延时10usMOVR6,#70HDJNZR6,$RRC A ;数据输出到端口MOVDQ1,C;延时50uMOVR7,#02MOV R6,#20H;延时50USDJNZR6,$DJNZR7,$-2SETBDQ1;拉高端口 DJNZR2,AWR1;8bit发送完成?,未完继续;延时1usMOVR6,#0BHDJNZR6,$

23、SETBEARET/*读18B20程序*/READ_18B20A:CLREA MOVR2,#8ARE01: CLRDQ1;拉低数据端口;延时2usMOVR6,#16HDJNZR6,$SETB DQ1;释放数据端口;延时3usMOVR6,#21HDJNZR6,$MOVC,DQ1;读取数据到CRRC A;移位到a;延时55usMOVR7,#02MOV R6,#63H;延时55USDJNZR6,$DJNZR7,$-2SETB DQ1 DJNZR2,ARE01;读完8bit?未完继续 ;延时1usMOVR6,#0BHDJNZR6,$SETBEARET/*液晶显示程序*/*1602写数据函数,数据存在L

24、CD_DAT*/LCD_W_DATA:SETBLCD_RSCLRLCD_RWNOPMOVLCD_DATA,LCD_DATSETBLCD_ENNOPCLRLCD_ENRET/*1602写命令函数,命令存在LCD_DAT*/LCD_W_CMD:CLRLCD_RSCLRLCD_RWNOPMOVLCD_DATA,LCD_DATSETBLCD_ENNOPCLRLCD_ENRET/*1602初始化函数*/LCD_INIT:MOVDELAYED,#30LCALLDELAY_MSMOVLCD_DAT,#38HLCALLLCD_CMDMOVDELAYED,#10LCALLDELAY_MS MOVLCD_DAT,

25、#38HLCALLLCD_CMDMOVDELAYED,#10LCALLDELAY_MSMOVLCD_DAT,#38HLCALLLCD_CMDMOVDELAYED,#10LCALLDELAY_MSMOVLCD_DAT,#038HLCALLLCD_W_CMDMOVLCD_DAT,#08HLCALLLCD_W_CMDMOVLCD_DAT,#01HLCALLLCD_W_CMDMOVLCD_DAT,#06HLCALLLCD_W_CMDMOVLCD_DAT,#0CHLCALLLCD_W_CMDRET/*延时函数,延时时间为DELAYED*0.5毫秒 0100毫秒的延时*/DELAY_MS:MOVR7,DELAYEDD1:MOVR6,#0F8HD2:DJNZR6,D2DJNZR7,D1RET/*延时函数,延时时间为DELAYED*2微秒 0500微秒的延时*/DEL

温馨提示

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

评论

0/150

提交评论