基于单片机的仓库温度监测系统设计方案第1章绪论1.1 课题研究的背景及意义在信息高速发展的21世纪,电子科学技术的发展日新月异,社会中的诸多行业对各种信息参数的准备度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在三大信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器技术作为新技术革命和信息社会的重要技术基础,是现代科技的开路先锋,也是当代科学技术发展的一个重要标志。
传感器技术、通信技术、计算机技术分别对应信息技术中的采集、传输和处理,尤其是温度传感器技术,在我国各领域已经广泛使用,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
同时,温度监测控制系统已广泛应用于社会生活的各个领域,甚至在不易人们亲自接近的货物储藏的仓库已普遍使用。
检测控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致检测控制系统性能不佳,甚至出现控制不稳定、失控现象。
本设计采用数字温度传感器DS18B20,因其部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
在此基础上本设计又采用单片机芯片AT89C51作为主控制器的核心,形成成熟的温度控制系统,结合DS18B20芯片的小型化,通过单条数据线就可以和主电路连接,把数字温度传感器DS18B20做成探头,探入到仓库中的各个地方,不但增加其实用性,更能串接多个数字温度传感器DS18B20进行多路的温度监测。
1.2 温度传感器国外现状及水平传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工业生产和生活领域,数量高居各种传感器之首。
温度传感器的发展大致经历了以下三个阶段:传统的分离式温度传感器(含敏感元件)、模拟集成温度传感器/控制器和数字温度传感器。
目前,国际上新型温度传感器正从模拟向数字式、由集成向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。
防潮、防霉、防腐、防爆是仓库日常工作的重要容,是衡量仓库管理质量的重要指标。
它直接影响到储备物资的使用寿命和工作可靠性。
为保证日常工作的顺利进行,首要问题是加强仓库温度的监测工作。
但传统的方法是通过人工进行检测,对不符合温度要求的库房进行通风、去湿和降温等工作。
这种人工测试方法费时费力、效率低,且测试的温度误差大,随机性大。
因此我们需要一种造价低廉、使用方便且测量准确的温度监测系统。
温度监测除了用于仓库监测外,还可以广泛应用于机房、图书馆、档案馆、文物馆、生物制药、无菌室等各行各业需要温度监测的场所和领域。
随着我国科技和生产各领域都取得了飞速的发展和进步,发展温度传感器为载体的温度测量技术具有重大意义。
1.3 课题设计任务与目的本设计要求利用温度传感器与单片机实现多路温度采集;温度测量围为-20~33℃,精度为±0.5℃;设有温度报警功能。
能够根据需要方便设定上下限报警温度,当达到报警温度后,能够发出报警声。
本设计目的在于加深对单片机系统的认识,掌握一个系统开发设计的过程;熟悉使用proteus进行硬件仿真,keil进行程序编译。
培养分析问题、解决问题、独立设计和制作电子产品的能力。
1.4 设计思路大多单片机接口输入的信号是数字信号,或有带A/D转换的高端单片机也可以输入模拟信号。
由单片机获取非电信号的温度信息,必须通过温度传感器。
传统的温度测量多以热敏电阻作为温度传感器。
但是,热敏电阻的可靠性差、测量温度精度低,而且还需要经A/D转换成数字信号后才能由单片机进行处理。
因此,使用数字温度传感器可简化硬件设计、方便单片机读取数据、节约成本。
设计温度监测系统需要考虑以下3个方面:(1)温度传感器芯片的选择;(2)单片机和温度传感器的接口电路设计;(3)控制温度传感器实现温度信息采集以及数据传输的软件。
本设计是基于温度传感器的仓库温度检测系统中的温度检测、电路控制、报警系统及显示部分的实现。
以智能温度传感器应用技术和单片机应用技术为核心进行开发,并且以理论分析和该技术方案为基础,在不断地研究过程中进行不断的调整,完成了一个仓库温度监测系统的设计。
第2章系统设计2.1 方案设计2.1.1 设计方案一利用LM35温度感应器在温度变化时转化成电压的等比例变换,然后通过数码管以数字显示出来。
此电路图的核心元件是利用ICL7107来完成功能的转换,ICL7107是一块应用非常广泛的集成电路。
它包含3个1/2位数字A/D转换器,可直接驱动LED数码管,部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动凋零功能等。
制作时,数字显示用的数码管为共阳极,2K可调电阻最好选用多圈电阻,分压电阻选用误差较小的金属膜电阻,其它器件选用正品即可。
该电路稍加改造,还可演变出很多电路,如数显电流表、数显温度计等。
静默电流温度关系。
硬件电路复杂,软件调试复杂,制作成本高,精度不高,不适合在高精度场合使用。
2.1.2 设计方案二利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化易于实现。
该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。
系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC 模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。
该设计采用模数转换硬件电路复杂,软件调试复杂,制作成本高。
故温度计精度不高,不适合在高精度场合使用。
2.1.3 设计方案三在日常生活及工农业生产中经常要用到温度的监测及控制,传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。
本设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件。
DS18B20可以直接读出温度被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路、显示电路。
监测系统控制器使用单片机AT89C51,温度传感器使用DS18B20,用LCD1602液晶显示器实现温度显示。
此电路温度精度高、电路简单、可靠,可以在较高环境要求下准确测温,故采用此方案。
2.2 系统整体设计方框图温度监测系统电路设计总体设计方框图如图2.1所示。
本系统采用单片机及外围电路完成。
最重要的部分即测温电路将采用数字温度芯片测量温度,这样输出的信号为数字信号,可以直接由单片机来处理;晶振电路及复位电路将提供给单片机必不可少的时钟信号和复位信号以使单片机正常工作。
报警电路用于当仓库温度超过额定围时,及时报警通知。
显示电路则是显示仓库温度。
系统的运行流程为:三路温度传感器实时的采集各自的温度信号,输出的数字信号传给单片机,经单片机处理和判断分别分时显示在液晶显示器上。
如果某路的温度超出或低于设定的温度围,则报警器开始报警。
完成上述任务后,返回程序起始位置,循环检测并显示。
图2.1 系统总体框图第3章电子器件介绍本章主要介绍系统设计所需的电子元器件。
电子元器件主要包括单片机(AT89C51)、温度传感器(DS18B20)、和液晶显示器(LCD1602)。
3.1 单片机微型计算机的出现是数字计算机广泛应用到人们生活领域的一个重大转折点。
单片微型计算机是微型计算机发展的一个重要组成部分,它以独特的结构和性能,在国民经济发展的各个领域都得到普遍应用。
单片微型计算机(Single Chip Microcomputer)简称单片机。
由于单片机主要用于系统的控制模块,因而又称作微控制器(Microcontroller Unit,MCU)或者嵌入式控制器(Embedded Controller)。
它将计算机的基本功能部件加以微型化,并集成到一块芯片上,实现了片上系统的设计。
3.1.1 单片机的结构单片机部包含中央处理器部件(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、Flash ROM)、定时器/计数器以及各种输入/输出(I/O)接口。
单片机的结构如图3.1。
图3.1 单片机的结构3.1.2 AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.1.3 AT89C51引脚功能AT89C51 单片机为40 引脚双列直插式封装,其引脚排列和逻辑符号如图3.2 所示。
图3.2 单片机引脚示意图(1)VCC:供电电压。
(2)GND:接地。
(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
(4)P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
(5)P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。