恒温箱温度计算机控制系统设计(共25页).doc
《恒温箱温度计算机控制系统设计(共25页).doc》由会员分享,可在线阅读,更多相关《恒温箱温度计算机控制系统设计(共25页).doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上西南科技大学计算机控制系统报告设计名称: 恒温箱温度计算机控制系统设计 姓 名: XXX 学 号: XXX 班 级: 自动09XX 指导教师: 聂诗良 起止日期: 2012.10.15-2012.11.15 西南科技大学信息工程学院制专心-专注-专业设 计 任 务 书学生班级: 自动0903 学生姓名: XXX 学号: 2009XXX 设计名称: 恒温箱温度计算机控制系统设计 起止日期: 10月15日11月15日 指导教师: 聂诗良 设计要求: 设计52单片机的恒温箱控制系统设计时,需要考虑下面几个方面的内容:选择合适的温度传感器芯片。显然,本文中的核心器件是单片机和
2、温度传感器,单片机采用常用的51单片机即可,而温度传感器的选择则需慎重。单片机和温度传感器的接口电路设计。控制温度传感器实现温度信息采集以及数据传输的软件设计。恒温箱温度计算机控制系统设计摘要:本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C51作为主控芯片,液晶作为显示输出,实现了对温度的实时测量与恒定控制。关键词:恒温,AT89S52 单片机,温度传感元件The incubator temperature computer control system designAbstract: The design from the ac
3、tual application to select a small size, and relatively high accuracy digital temperature sensing element DS18B20 as temperature collector, AT89C51 microcontroller as the master chip, digital tube display output to achieve real-time measurement of temperature and constant control .Keyword: Thermosta
4、t. AT89S52 microcontroller; Temperature sensor element; 1设计目的和意义利用AT89S52对温度进行控制,采用单总线传输方式的DS18B20作为温度传感器,与按键、液晶显示、报鸣器等外部辅助硬件共同组成一个温度控制系统,实现温度的自我调节。2控制要求1)温度采集传感器采用热电阻或热电偶,或一体化数字温度传感器DS18B20。(2)控制灯泡亮度或发热量,采用继电器开关控制或用可控硅平滑控制。(3)采用单片机或PLC作为控制器。(4)采用LED或LCD或PC机的液晶显示器作为显示器,同时显示给定温度和实际温度。(5)采用自制按键或PC机的键盘
5、作为温度给定值输入。(6)恒温箱实际温度达到给定值时(误差要求1)需声光提示,声音时延5秒后停止。(7)恒温箱最高温度50。(8)系统操作流程是:1)确认系统连接就绪,无安全隐患;2)系统上电;3)设置温度给定值后,启动系统工作,系统进入温度自动控制工作状态。4)系统工作完毕后,若不需系统工作,则可关闭系统电源,查看并确保系统无安全隐患后可离开。3.系统总体结构设计温度控制系统是一个过程控制系统,组成框图如图 1 所示 控制器执行器温度传感器被控对象 计算机控制系统框图 图1本系统中 CPU 选择为AT89S52单片机,执行器为可控硅,控制加热灯泡通断,检测装置为ds18B20温度传感器,采集
6、温度并反馈给单片机。另外还有键盘输入部分、显示部分以及报警部分。总体框图如下LCD1602报警DS18B20AT89S52键盘输入可控硅灯泡图2 系统原理框图图3基本硬件电路图4功能模块根据上面对工作流程的分析,系统软件可以分为以下几个功能模块:(1) 键盘管理:监测键盘输入,接收温度预置,启动系统工作。(2) 显示:显示设置温度及当前温度。(3) 温度检测及温度值变换:完成A/D转换及数字滤波。(4) 温度控制:根据检测到的温度控制电灯泡工作。(5) 报警:当预置温度或当前炉温越限时报警。系统硬件设计DS18B20测温电路DS18B20数字温度计是Dallas公司生产的1Wire器件即单总线
7、器件。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。通过编程,DS18B20可以实现912位的温度读数。信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外
8、部电源。每片DS18B20在出厂时都设有唯一的产品序列号,因此多个DS18B20可以挂接于同一条单线总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。DS18B20的特点介绍(1) 独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯(2) 在使用中不需要任何外围元件。 (3)可用数据线供电,电压范围:+3.0+5.5 V。 (4)测温范围为-55 +125 。在-10+85范围内误差为0.5 。 (5)通过编程可实现912位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。
9、(7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。单线(1-wire)技术目前常用的微机和外设之间数据传输的串行总线有I2C总线、SPI总线等,其中,I2C总线采用同步串行两线(一根时钟线、一根数据线)方式,而SPI总线采用同步串行三线(一根时钟线、一根输入线和一根数据出线)方式。这两种总线需要至少两根或两根以上的信号线。美国达拉斯半导体公司推出了一项特有的单线(1-wire)技术。该技术与上述总线不同,它采用单根
10、信号线,即可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单线技术具有线路简单、硬件开销少、成本低廉、便于扩展的优点。单线技术适用于单主机系统,单主机能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单线器件,它们之间的数据交换、控制都由这根线完成。主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放该线,而让其他设备使用。单线通常要外接一个约5K的上拉电阻,这样,当该线闲置时,其状态为高电平。主机和从机之间的通信主要分3个步骤:初始化单线器件、识别单线器件和单线数据传输。由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能
11、应答,主机访问每个单线器件必须严格遵循单线命令序列,即遵守上述3个步骤的顺序。如果命令序列混乱,单线器件将不会响应主机。所有的单线器件都要遵循严格的协议,以保证数据的完整性。1-wire协议由复位脉冲、应答脉冲、写0、写1、读0和读1这几种信号类型组成。这些信号中,除了应答脉冲,其他均由主机发起,并且所有命令和数据都是字节的地位在前DS18B20的引脚及功能介绍DS18B20的外形及TO92封装引脚排列见左图,其引脚功能描述见表1,实测温度和数字输出的对应关系见表2.表1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄
12、生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。表2 温度值分辨率配置表温度数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008H00000 0000 0000 0000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101
13、 1110FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90HDS18B20的使用方法由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有
14、时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20的复位时序,置总线为低电平并保持至少480us,然后拉高电平,等待从端重新拉低电平作为响应,则总线复位完成。(1) DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。
15、 (3) DS18B20的写时序 ,对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 (4) DS18B20在电路中的连接,见图4。1- wire总线支持一主多从式结构,硬件上需外接上拉电阻。当一方完成数据通信需要释放总线时,只需将总线置高点平即可;若需要获得总线进行通信时则要监视总线是否空闲,若空闲,则置低电平获得总线控制权。图4 DS18B
16、20测温电路DS18B20采集温度程序如下: #include/=/=DS18b20模块初始化=/=/ sbit DQ = P27;/-delayDs18b20延时函数void delayDs18b20(uint i)/延时函数 while(i-);/-18b20初始化函数void Init_DS18B20(void) DQ = 1; /DQ复位 delayDs18b20(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delayDs18b20(80); /精确延时 大于 480us DQ = 1; /拉高总线 delayDs18b20(20);/-读一个字节uchar ReadOne
17、Char(void)uchar i=0;uchar dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delayDs18b20(5); return(dat);/-写一个字节void WriteOneChar(uchar dat) uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delayDs18b20(5); DQ = 1; dat=1; delayDs18b20(5);/-读取温度float ReadTemperature(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 恒温箱 温度 计算机 控制系统 设计 25
限制150内