基于单片机的仓库温度监测系统设计方案.docx
《基于单片机的仓库温度监测系统设计方案.docx》由会员分享,可在线阅读,更多相关《基于单片机的仓库温度监测系统设计方案.docx(52页珍藏版)》请在冰豆网上搜索。
![基于单片机的仓库温度监测系统设计方案.docx](https://file1.bdocx.com/fileroot1/2023-4/18/18c1f94d-013b-44b8-9c0e-34cf592801f9/18c1f94d-013b-44b8-9c0e-34cf592801f91.gif)
基于单片机的仓库温度监测系统设计方案
基于单片机的仓库温度监测系统设计方案
第1章绪论
1.1课题研究的背景及意义
在信息高速发展的21世纪,电子科学技术的发展日新月异,社会中的诸多行业对各种信息参数的准备度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在三大信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器技术作为新技术革命和信息社会的重要技术基础,是现代科技的开路先锋,也是当代科学技术发展的一个重要标志。
传感器技术、通信技术、计算机技术分别对应信息技术中的采集、传输和处理,尤其是温度传感器技术,在我国各领域已经广泛使用,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
同时,温度监测控制系统已广泛应用于社会生活的各个领域,甚至在不易人们亲自接近的货物储藏的仓库已普遍使用。
检测控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致检测控制系统性能不佳,甚至出现控制不稳定、失控现象。
本设计采用数字温度传感器DS18B20因其部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B2C只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
在此基础上本设计又采用单片机芯片AT89C51作为主控制器的核心,形成成熟的温度控制系统,结合DS18B20芯片的小型化,通过单条数据线就可以和主电路连接,把数字温度传感器DS18B20故成探头,探入到仓库中的各个地方,不但增加其实用性,更能串接多个数字温度传感器DS18B2C进行多路的温度监测。
1.2温度传感器国外现状及水平
传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工业生产和生活领域,数量高居各种传感器之首。
温度传感器的发展大致经历了以下三个阶段:
传统的分离式温度传感器(含敏感元件)、模拟集成温度传感器/控制器和数字温度传感器。
目前,国际上新型温度传感器正从模拟向数字式、由集成向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。
防潮、防霉、防腐、防爆是仓库日常工作的重要容,是衡量仓库管理质量的重要指标。
它直接影响到储备物资的使用寿命和工作可靠性。
为保证日常工作的顺利进行,首要问题是加强仓库温度的监测工作。
但传统的方法是通过人工进行检测,对不符合温度要求的库房进行通风、去湿和降温等工作。
这种人工测试方法费时费力、效率低,且测试的温度误差大,随机性大。
因此我们需要一种造价低廉、使用方便且测量准确的温度监测系统。
温度监测除了用于仓库监测外,还可以广泛应用于机房、图书馆、档案馆、文物馆、生物制药、无菌室等各行各业需要温度监测的场所和领域。
随着我国科技和生产各领域都取得了飞速的发展和进步,发展温度传感器为载体的温度测量技术具有重大意义。
1.3课题设计任务与目的
本设计要求利用温度传感器与单片机实现多路温度采集;温度测量围为
-20~33C,精度为土0.5C;设有温度报警功能。
能够根据需要方便设定上下限报警温度,当达到报警温度后,能够发出报警声。
本设计目的在于加深对单片机系统的认识,掌握一个系统开发设计的过程;熟悉使用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设计方案二
利用集成温度传感器AD59C设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化易于实现。
该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经
由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4D3D2、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章电子器件介绍
本章主要介绍系统设计所需的电子元器件。
电子元器件主要包括单片机
(AT89C5)温度传感器(DS18B20、和液晶显示器(LCD1602。
3.1单片机
微型计算机的出现是数字计算机广泛应用到人们生活领域的一个重大转折点。
单片微型计算机是微型计算机发展的一个重要组成部分,它以独特的结构和
性能,在国民经济发展的各个领域都得到普遍应用。
单片微型计算机(SingleChipMicrocomputer、简称单片机。
由于单片机
主要用于系统的控制模块,因而又称作微控制器(MicrocontrollerUnit,MCU)
或者嵌入式控制器(EmbeddecController)。
它将计算机的基本功能部件加以微型化,并集成到一块芯片上,实现了片上系统的设计。
3.1.1单片机的结构
单片机部包含中央处理器部件(CPU、数据存储器(RAM、程序存储器(ROMEPROMFIashROM、定时器/计数器以及各种输入/输出(I/O、接口。
单片机的结构如图3.1。
ROM
时钟
KAM
IO接口
定时器/计数器—-
图3.1单片机的结构
3.1.2AT89C51简介
AT89C51是一种带4K字节FLASH存储器(FPERO—FlashProgrammableandErasableReadOnlyMemory、的低电压、高性能CMOS位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL勺AT89C51是一种高效微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的万案
3.1.3AT89C51引脚功能
AT89C51单片机为40引脚双列直插式封装,其引脚排列和逻辑符号如图
3.2所示。
"n
T
40
□vcc
P1,1厂
2
肓
1PO.a(ADO)
P1.2厂
s
38
1PO1(ADI)
P1.3匚
37
□P0.2(AD2)
P1.4C
r
36
□P0.3(AD3)
P1.6C
z
35
□PO.A(AD4)
P1XL
F
34
□P0.5(AD5)
P1,7L
B
S3
JP0.5(AD6)
RST匚
二
32
□P07(AD7)
(RXD)P3.0匚
10
31
□EA/VPP
(TXDlP3.1L
11
30
」ajzt^noG
(INTO)P3卫匚
12
2&
□P5EN
EINTT)P3.3匚
13
28
JP2JCA15J
(TO)P3.4匚
14
27
1P2.6(A14)
(T1)円占r
15
刑
1F2'(Al3)
(WR)P3.6匚
16
25
□P2A(A12)
(RD»P3.7匚
17
24
□P2.3(A11)
XTAL2□
18
23
□P2.2(AlO)
XTAL1匚
19
22
_lPk.i{Ay:
i
□NDL
才
」P2.C(Ae.
图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”时,其管脚被部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。
P2
口在FLASH编程和校验时接收高八位地址信号和控制信号。
(6)P3口:
P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“T后,它们被部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C5啲一些特殊功能口,如下表3.1所示:
表3.1P3口第二功能
引脚
功能
P3.0
RXD(串行接口输入)
P3.1
TXD(串行接口输出)
P3.2
/INT0(外部中断0输入)
P3.3
/INT1(外部中断1输入)
P3.4
T0(定时器0输入信号)
P3.5
T1(定时器1输入信号)
P3.6
/WR(外部数据存储器读选通)
P3.7
/RD(外部数据存储器写选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
(7)RST复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(8)ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存
地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE
端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用
作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOV,MOV指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(9)/PSEN外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
(10)/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器
(OOOOH-FFFFH,不管是否有部程序存储器。
注意加密方式1时,/EA将部锁定为RESET当/EA端保持高电平时,此间部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP。
(11)XTAL1反向振荡放大器的输入及部时钟工作电路的输入。
(12)XTAL2来自反向振荡器的输出。
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片振荡器。
石晶振荡和瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应
不接。
有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.1.4芯片擦除
整个PERO阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU亭止工作。
但RAM定时器,计
数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM勺容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.2DS18B2O温度传感器
DS18B2C数字温度传感器接线方便,封装后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877LTM8874等
等。
主要根据应用场合的不同而改变其外观。
封装后的DS18B2C如图3.3所示可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
3.2.1DS18B2O的主要特性
(1)适应电压围更宽,电压围:
3.0〜5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B2C支持多点组网功能,多个DS18B2C可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路。
(5)温围—55C〜+125C。
(6)可编程的分辨率为9〜12位,对应的可分辨温度分别为0.5C、0.25C、0.125C和0.0625C,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
图3.3DS18B20封装图
3.2.2DS18B20的外形和部结构
DS18B2部结构主要由四部分组成:
64位光刻ROM温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GN助电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
DS18B2的外形及管脚排列如图3.4:
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该
DS18B2的地址序列码。
64位光刻ROM勺排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B2自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1光刻ROM勺作用是使每一个DS18B2都各不相同,这样就可以实现一根总线上挂接多个DS18B2的目的。
F瓦邛封装
L0——
1s
GND一
21
DSISE20
NC—
36
NC—
45
一Vcc
._NC
.—NG
—NC
SOSI^f装
图3.4DS18B20的外形及管脚排列
DS18B20勺部结构如图3.5:
存储器和控«
电源检测一
T衣
匸^-:
詡立
和
接口
*■
配裁佛
图3.5DS18B20部结构图
DS18B2中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625C/LSB形式表达,其中S为符号位。
如表3.2所示:
表3.2DS18B20温度值格式表
LSSvf«
¥
2*
才1
1才
2"
21
I3
2』
bti15IhitlNtHhii12bit11.bti10
bit9MN
MSByte
S
s
s
s
S
于
2$
2』
这是12位转化后得到的12位数据,存储在18B20勺两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125C的数字输出为07D0H+25.0625C的数字输出为0191H,-25.0625C的数字输出为FE6FH-55C的数字输出为FC90H。
如表3.3所示
表3.3DS18B20温度数据表
二进制层示
卜八:
进別表示
+325
000001111MHOOOO
07D0H
+25.0625
0191H
t10.125
OMMMO10100010
00A2B
+0.5
OCOaOflWfl(DOI000
OOCRH
0
(ii4ndmvrn
O00OH
-0.5
11JJJ1111JIJIUOO
-KI125
11lliIHC1011110
KF5EH
liliinoQiioii]i
FE6FH
-55
111111001(I)30000
FC90H
DS18B2C温度传感器的部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAMf者存放高温度和低温度触发器TH、TL和结构寄存器。
配置寄存器的结构见表3.4。
表3.4配置寄存器
TM
R1
R0
1
1
1
1
1
低五位一直都是“1”TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B2C出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如表3.5所示:
(DS18B2C出厂时被设置为12位)
表3.5温度分辨率设置表
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
高速暂存存储器由9个字节组成,其分配如表3.6所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和
第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
表2.3是对应的一部分温度值。
第九个字节是冗余检验字节。
表3.6DS18B20暂存寄存器分布
寄存器容
字节地址
温度值低位(LSByte)
0
温度值高位(MSByte)
1
高温限值(TH)
2
低温限值(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校验值
8
根据DS18B20的通讯协议,主机(单片机)控制DS18B2C完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B2C进行复位操作,复位成功后发送一条ROM旨令见表3.7,最后发送RAM旨令见表3.8,这样才能对DS18B2C进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,当DS1