智能温度测量系统.docx
- 文档编号:28584416
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:24
- 大小:122.80KB
智能温度测量系统.docx
《智能温度测量系统.docx》由会员分享,可在线阅读,更多相关《智能温度测量系统.docx(24页珍藏版)》请在冰豆网上搜索。
智能温度测量系统
基于单片机的智能温度测量系统设计
摘要
传统检测温度的方法是用模拟温度传感器。
信号经取样、放大后通过模数转换,再交给单片机处理。
这种方法经过众多器件,易受干扰、不易控制且精度不高。
本文介绍了一种基于单片机的智能温度测量系统,系统主要通过对单总线可编程温度传感器DS18B20的特性及其工作原理进行了分析、研究,显示模块由两位一体的共阳数码管和两个9012组成。
并以AT89C51单片机为开发平台,通过相应的软、硬件设计开发出具有实用价值的智能温度测量系统。
该测温系统能取得并显示8点的温度数据,可直接应用在一些需要测量温度的场合。
本设计的多点温度测量系统由单片机、温度传感器、显示电路、通信模块共4个模块组成。
本文对以上四个部分的软硬件设计作了详细的阐述,介绍了核心芯片的选型,外围电路的连接,芯片与芯片之间的连接电路,程序设计方法和相应的软件程序。
本系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词单片机;温度传感器;共阳数码管
Basedonsingle-chipmicrocomputerintelligenttemperaturemeasurementsystemdesign
Abstract
Traditionaltestingtemperaturemethodistousesimulatedtemperaturesensor.Signalbysampling,amplification,thendeliveredbyfrequency-fieldSCMprocessing.Thismethodafternumerousdevice,easyinterference,noteasytocontrolandtheprecisionisnothigh.Thispaperintroducesakindofintelligenttemperaturemeasurementbasedonsingle-chipmicrocomputersystem,mainlythroughsinglebusprogrammabletemperaturesensorDS18B20characteristicandworkprinciplearestudiedandthedisplaymoduleconsistsoftwooneofYangdigitaltubesandtwo9012composition.AndwithAT89C51fordevelopmentplatform,andthroughthecorrespondingsoftwareandhardwaredesigndeveloppracticalintelligenttemperaturemeasuringsystem.Thetemperaturemeasuringsystemcanobtainanddisplaythe8o'clocktemperaturedata,whichcanbedirectlyappliedinsomerequiresmeasuringtemperatureoccasion.
Thisdesignofmulti-pointtemperaturemeasuringsystembysingle-chipmicrocomputer,temperaturesensors,displaycircuit,communicationmoduletotally5module.Inthispaper,thedesignofthesoftwareandhardwareabovefivepartsfordetail,introducesthecorechipperiphery,circuitconnection,chipandcmoscircuitconnectionbetween,programdesignmethodandthecorrespondingsoftwareprograms.Thissystemstructureissimple,stronganti-jammingcapability,suitableforaharshenvironmenttemperaturemeasurementonthesite,havebroadapplicationprospect.
Keywordssingle-chipmicrocomputer;temperaturesensor;TotalYangdigitaltube
0
0
0
0
0
1
1
1
2
3
3
第1章绪论
课题的研究背景及意义
温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:
如大气及空调房中温度的高低,直接影响着人们的身体健康;在大规模集成电路生产线上,环境温度不适当,会严重影响产品的质量。
测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。
那么传统的温度测量装置一般都是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成A/D转换器能接受的模拟量,再经过采样、保持电路进行A/D转换,最终送入单片机及其相应的外围电路来完成监控的。
以这种方式的话,当单片机进行多点温度测量时,所用模拟温度传感器增多,单片机的转换与处理任务很重,对系统的可靠性要求会很苛刻,是系统变得复杂[1]。
因此设计一种基于Atmel公司的AT89C51的温度测量系统,利用美国Dallas半导体公司推出的一种智能数字温度传感器DS18B20来实现温度的精确测量,以RT1602C为字符液晶显示器显示被测温度,具有实用价值。
具有可靠性高、线路简单、测量精度高、功能便于扩展等优点。
国内发展现状
我国对于温室控制技术的研究较晚,始于20世纪80年度。
我国工程技术人员在吸收发达国家温室控制技术的基础上,才掌握了人工气候室内微机控制技术,该技术仅限于温度、湿度和CO2浓度等单项环境因子的控制。
我国温室设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。
在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。
我国温室现状还远温室装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点[2]。
国外发展状况
国外对温室环境控制技术研究较早,始于20世纪70年代。
先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。
80年代末出现了分布式控制系统。
目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。
现状世界各国的温室控制技术发展很快,一些国家在实现自动化的基础上正向着全自动化、无人化的方向发展。
像园艺强国荷兰,以先进的鲜花技术着称于世,其玻璃温室全部由计算机操作。
英国伦敦大学农学院研制的温室计算机遥控技术可以观测50千米以外温室内的光、温、湿、气和水等环境状况,进行遥控。
系统整体目标
要求单片机系统应具有可靠性高、操作维护方便、性价比高等特点。
1.4.1可靠性
高可靠性是单片机系统应用的前提,在系统设计的每一个环节都应给将可靠性作为首要设计准则。
提供系统的可靠性通常通过以下几个方面考虑:
使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施;输入输出通道采用抗干扰措施;进行软硬件滤波;系统自诊断功能等。
1.4.2操作维护方便
在系统软硬件设计时,应从操作者角度考虑操作和维护方便,尽量减少对操作人员专用知识的要求,以利于系统的推广。
因此在设计时,要尽量减少人机交互接口,多采用操作内置或简化的方法。
同时系统应配有现场故障诊断程序,一旦发生故障能有效地保证对故障定位,以便进行维护。
1.4.3性价比
单片机除体积小、功耗低等特点外,最大的优势在于高性价比。
一个单片机应用系统能否被广泛使用,性价比是其中一个关键因素。
因此,在设计时,除了保持高性能外,尽可能降低成本,如简化外围硬件电路,在系统性能和速度允许的情况下尽可能用软件功能代替硬件功能等。
第2章总体设计方案
方案一
测温电路的设计,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案二
考虑使用温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,直接读取被测温度值,之后进行转换,依次完成设计要求。
比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。
在本系统的电路设计方框图如图所示,它由三部分组成:
①控制部分主芯片采用单片机AT89C51;②显示部分采用3位LED数码管以动态扫描方式实现温度显示;③温度采集部分采用DS18B20温度传感器。
图温度计电路总体设计方案
1.控制部分
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.显示部分
显示电路采用3位共阳LED数码管,从P0口送数,P2口扫描。
3.温度采集部分
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。
这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。
数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的口,单片机接受温度并存储。
此部分只用到DS18B20和单片机,硬件很简单
(1)DS18B20的性能特点如下[6]:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为~;
●零待机功耗;
●温度以3位数字显示;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
(2)DS18B20的内部结构
DS18B20采用3脚PR-35封装,如图所示;DS18B20的内部结构,如图所示。
图DS18B20封装
(3)DS18B20内部结构主要由四部分组成[7]:
位光刻ROM。
开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因[10]。
64位闪速ROM的结构如下.
图DS18B20内部结构
2.非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。
3.高速暂存存储,可以设置DS18B20温度转换的精度。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PRAM。
高速暂存RAM的结构为8字节的存储器,结构如图所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
它的内部存储器结构和字节定义如表、所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。
表内部存储器结构
Byte0
温度测量值LSB(50H)
Byte1
温度测量值MSB(50H)
E2PROM
Byte2
TH高温寄存器
----
TH高温寄存器
Byte3
TL低温寄存器
----
TL低温寄存器
Byte4
配位寄存器
----
配位寄存器
Byte5
预留(FFH)
Byte6
预留(0CH)
Byte7
预留(IOH)
Byte8
循环冗余码校验(CRC)
DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,如表。
表DS18B20字节定义
TM
R1
R0
1
1
1
1
1
由表可见,分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表是一部分温度值对应的二进制温度数据[8]。
表温度转换时间表
R1
R0
分辨率/位
温度最大转向时间/ms
0
0
9
0
1
10
1
0
11
375
1
1
12
750
表 一部分温度对应值表
温度/℃
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+
0000000110010000
0191H
+
0000000010100001
00A2H
+
0000000000000010
0008H
0
0000000000001000
0000H
1111111111110000
FFF8H
的产生
在64bROM的最高有效字节中存储有循环冗余校验码(CRC)。
主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。
另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作按协议进行。
操作协议为:
初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据
第3章系统实现
温度传感器的历史及简介
温度的测量是从金属(物质)的热胀冷缩开始。
水银温度计至今仍是各种温度测量的计量标准。
可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。
代替水银的有酒精温度计和金属簧片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指示。
不过在居民住宅中使用已可满足要求。
在工业生产和实验研究中为了配合远传仪表指示,出现了许多不同的温度检测方法,常用的有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。
它们都是基于温度变化引起其物理参数(如电阻值,热电势等)的变化的原理。
随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。
DSl8820是美国Dallas半导体公司继DSl820之后最新推出的一种改进型智能数字温度传感器。
与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过编程实现9~12位的数字值读数方式;可以分别在ms和750ms内完成9位和12位的数字量;从DSl8820读出信息或写入DSl8820信息仅需要1根口线(单线接口);温度变换功率来源于数据总线,总线身也可以向所挂接的DSl8820供电,而无需额外电源。
使用DSl8820可使系统结构更趋简单,可靠性更高。
DSl8B20在测温精度、转换时间、传输距离、分辨率等方面较DSl820有了很大的改进[10]。
DS18B20的工作原理
3.2.1DS1820的工作时序
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过
三个步骤:
1.每一次读写之前都必须要对DS18B20进行复位;
2.复位成功后发送一条ROM指令;
3.最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待15~60微秒左右后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
其工作时序包括初始化时序、写时序和读时序,具体工作方法如图,,所示。
(1)初始化时序
图初始化时序
总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。
应答脉冲使主机知道,总线上有从机设备,且准备就绪。
主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。
接着主机释放总线,Ω上拉电阻将总线拉高,延时15~60us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时480us[9]。
(2)写时序
写时序包括写0时序和写1时序。
所有写时序至少需要60us,且在2次独立的写时序之间至少需要1us的恢复时间,都是以总线拉低开始。
写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。
写0时序,主机输出低电平,延时60us,然后释放总线,延时2us。
(3)读时序
总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机
图写时序
图读时序
发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。
所有读时序至少需要60us,且在2次独立的读时序之间至少需要1us的恢复时间。
每个读时序都由主机发起,至少拉低总线1us。
主机在读时序期间必须释放总线,并且在时序起始后的15us之内采样总线状态。
主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50us[5]
读取温度子程序[13]:
REDTEMP:
LCALLRESET
MOVA,#0CCH
LCALLWRITE
MOVA,#44H
LCALLWRITE
LCALLDELAY750
LCALLRESET
MOVA,#0CCH
LCALLWRITE
MOVA,#0BEH;读存储器
LCALLWRITE
LCALLREAD
MOV66H,65H;温度低字节存于66H
LCALLREAD
MOV67H,65H;温度高字节存于67H
RET
3.2.2ROM操作命令
当主机收到DSl8B20的响应信号后,便可以发出ROM操作命令之一,这些命令如表:
ROM操作命令。
DS18B20的测温原理
3.3.1DS18B20的测温原理
每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中。
主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出。
程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。
DS18B20的测温原理如图所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值.
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
图的测温原理
3.3.2DS18B20的测温流程
单片机系统
图DS18B20测温流程
单片机是一种集成在芯片,是采用技术把具有数据处理能力的中央处理器CPURAM、、多种I/O口和中断系统、定时器/等功能(可能还包括显示驱动电路、电路、模拟多路转换器、等电路)集成到一块硅片上构成的一个小而完善的[3]。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[4]。
单片机如图
3.4.1主要特性
·与MCS-51兼容
·4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
图AT89C51和AT89C2051单片机
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
3.4.2管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 温度 测量 系统