恒温箱温度计算机控制系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西南科技大学计算机控制系统报告设计名称:恒温箱温度计算机控制系统设计姓名:XXX学号:XXX班级:自动09XX指导教师:聂诗良起止日期:2012.10.15--2012.11.15西南科技大学信息工程学院制2设计任务书学生班级:自动0903学生姓名:XXX学号:2009XXX设计名称:恒温箱温度计算机控制系统设计起止日期:10月15日——11月15日指导教师:聂诗良设计要求:设计52单片机的恒温箱控制系统设计时,需要考虑下面几个方面的内容:选择合适的温度传感器芯片。显然,本文中的核心器件是单片机和温度传感器,单片机采用常用的51单片机即可,而温度传感器的选择则需慎重。单片机和温度传感器的接口电路设计。控制温度传感器实现温度信息采集以及数据传输的软件设计。3恒温箱温度计算机控制系统设计摘要:本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C51作为主控芯片,液晶作为显示输出,实现了对温度的实时测量与恒定控制。关键词:恒温,AT89S52单片机,温度传感元件4TheincubatortemperaturecomputercontrolsystemdesignAbstract:Thedesignfromtheactualapplicationtoselectasmallsize,andrelativelyhighaccuracydigitaltemperaturesensingelementDS18B20astemperaturecollector,AT89C51microcontrollerasthemasterchip,digitaltubedisplayoutputtoachievereal-timemeasurementoftemperatureandconstantcontrol.Keyword:Thermostat.AT89S52microcontroller;Temperaturesensorelement;51设计目的和意义利用AT89S52对温度进行控制,采用单总线传输方式的DS18B20作为温度传感器,与按键、液晶显示、报鸣器等外部辅助硬件共同组成一个温度控制系统,实现温度的自我调节。2控制要求1)温度采集传感器采用热电阻或热电偶,或一体化数字温度传感器DS18B20。(2)控制灯泡亮度或发热量,采用继电器开关控制或用可控硅平滑控制。(3)采用单片机或PLC作为控制器。(4)采用LED或LCD或PC机的液晶显示器作为显示器,同时显示给定温度和实际温度。(5)采用自制按键或PC机的键盘作为温度给定值输入。(6)恒温箱实际温度达到给定值时(误差要求±1℃)需声光提示,声音时延5秒后停止。(7)恒温箱最高温度≤50℃。(8)系统操作流程是:1)确认系统连接就绪,无安全隐患;2)系统上电;3)设置温度给定值后,启动系统工作,系统进入温度自动控制工作状态。4)系统工作完毕后,若不需系统工作,则可关闭系统电源,查看并确保系统无安全隐患后可离开。3.系统总体结构设计温度控制系统是一个过程控制系统,组成框图如图1所示计算机控制系统框图图1控制器执行器温度传感器被控对象6R14.7KVCC3DQ2GND1IC2DS18B20VCCP1.0本系统中CPU选择为AT89S52单片机,执行器为可控硅,控制加热灯泡通断,检测装置为ds18B20温度传感器,采集温度并反馈给单片机。另外还有键盘输入部分、显示部分以及报警部分。总体框图如下图2系统原理框图BELLBELLQ1VCC图3基本硬件电路图4功能模块根据上面对工作流程的分析,系统软件可以分为以下几个功能模块:(1)键盘管理:监测键盘输入,接收温度预置,启动系统工作。(2)显示:显示设置温度及当前温度。(3)温度检测及温度值变换:完成A/D转换及数字滤波。(4)温度控制:根据检测到的温度控制电灯泡工作。(5)报警:当预置温度或当前炉温越限时报警。系统硬件设计DS18B20测温电路DS18B20数字温度计是Dallas公司生产的1-Wire器件,即单总线器件。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。因此用它来组成一个测温系LCD1602报警DS18B20AT89S52键盘输入可控硅灯泡7统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。通过编程,DS18B20可以实现9~12位的温度读数。信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。每片DS18B20在出厂时都设有唯一的产品序列号,因此多个DS18B20可以挂接于同一条单线总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。DS18B20的特点介绍(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0~+5.5V。(4)测温范围为-55~+125℃。在-10~+85℃范围内误差为0.5℃。(5)通过编程可实现9~12位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。单线(1-wire)技术目前常用的微机和外设之间数据传输的串行总线有I2C总线、SPI总线等,其中,I2C总线采用同步串行两线(一根时钟线、一根数据线)方式,而SPI总线采用同步串行三线(一根时钟线、一根输入线和一根数据出线)方式。这两种总线需要至少两根或两根以上的信号线。美国达拉斯半导体公司推出了一项特有的单线(1-wire)技术。该技术与上述总线不同,它采用单根信号线,即可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单线技术具有线路简单、硬件开销少、成本低廉、便于扩展的优点。单线技术适用于单主机系统,单主机能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单线器件,它们之间的数据交换、控制都由这根线完成。主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放该线,而让其他设备使用。单线通常要外接一个约5KΩ的上拉电阻,这样,当该线闲置时,其状态为高电平。主机和从机之间的通信主要分3个步骤:初始化单线器件、识别单线器件和单线数据传输。由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能应答,主机访问每个单线器件必须严格遵循单线命令序列,即遵守上述3个步骤的顺序。如果命令序列混乱,单线器件将不会响应主机。所有的单线器件都要遵循严格的协议,以保证数据的完整性。1-wire协议由复位脉冲、应8答脉冲、写0、写1、读0和读1这几种信号类型组成。这些信号中,除了应答脉冲,其他均由主机发起,并且所有命令和数据都是字节的地位在前DS18B20的引脚及功能介绍DS18B20的外形及TO-92封装引脚排列见左图,其引脚功能描述见表1,实测温度和数字输出的对应关系见表2.表1DS18B20详细引脚功能描述表2温度值分辨率配置表温度数字输出(二进制)数字输出(十六进制)+125℃000001111101000007D0H+85℃00000101010100000550H+25.0625℃00000001100100010191H+10.125℃000000001010001000A2h+0.5℃00000000000010000008H0℃0000000000000000000H-0.5℃1111111111110000FFF8H-10.125℃1111111101011110FF5EH-25.0625℃1111111001101111FF6FH-55℃1111110010010000FC90H序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。9DS18B20的使用方法由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序,置总线为低电平并保持至少480us,然后拉高电平,等待从端重新拉低电平作为响应,则总线复位完成。(1)DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。(3)DS18B20的写时序,对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。(4)DS18B20在电路中的连接,见图4。1-wire总线支持一主多从式结构,硬件上需外接上拉电阻。当一方完成数据通信需要释放总线时,只需将总线置高点平即可;若需要获得总线进行通信时则要监视总线是否空闲,若空闲,则置低电平获得总线控制权。R14.7KVCC3DQ2GND1IC2DS18B20VCCP1.0图4DS18B20测温电路DS18B20采集温度程序如下:#includeincludes.h//=============================================////=============DS18b20模块初始化===============////=============================================//sbitDQ=P2^7;//-----------delayDs18b20延时函数10voiddelayDs18b20(uinti)//延时函数{while(i--);}//----------18b20初始化函数voidInit_DS18B20(void){DQ=1;//DQ复位delayDs18b20(8);//稍做延时DQ=0;//单片机将DQ拉低delayDs18b20(80);//精确延时大于480usDQ=1;//拉高总线delayDs18b20(20);}//----------读一个字节ucharReadOneChar(void){uchari=0;uchardat=0;for(i=8;i0;i--){DQ=0;//给脉冲信号dat=1;DQ=1;//给脉冲信号if(DQ)dat|=0x80;delayDs18b20

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功