网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 技术文库 >> 嵌入式 >> 文章正文
  [组图]基于AVR单片机和DS18B20的多点温度测量系统         ★★★ 【字体:
基于AVR单片机和DS18B20的多点温度测量系统
作者:高玉芹    文章来源:仪表技术    点击数:    更新时间:2007-1-24    

摘 要:介绍基于AVR单片机、BASCOM-AVR语言和DS18B20传感器的多点温度测量系统。利用AVR单片机内部的E2PROM,建立了位置编号和传感器序列号的对应关系表,实现了在多点温度测量系统中对多个传感器的识别和处理,并给出了具体的编程实例。
  关键词:单总线;数字温度传感器;单片机

Several Points Temperature Measuring System Based on AVR SCM and DS18B20

GAO Yuqin

(Xuzhou Institute of Technology, Xuzhou 221008, China)

  Abstract: Several points temperature measuring system based on SCM and DS18B20 was introduced. Using E2PROM inside of AVR SCM, a corresponding relation list of position number and sensor series number had been established, realizing the recognition and dealing of many sensors in the system, a specific programming example had also been given.
  Key words: monobus; digital temperature sensor; SCM


1DS18B20
BASCOM-AVR简介
  DS18B20是美国DALLAS公司生产的单总线数字温度传感器,从DS18B20读出或写入的信息仅需要一根口线。在单总线工作方式下,允许一条信号线上挂接多个DS18B20,特别适合于构成远距离多点温度测控系统,从而大大简化了系统布线,提高了可靠性,降低了成本,而实现这些的关键在于每片DS18B20都有唯一的ROM代码(64位产品序列号)。在多点温度测控系统中,ROM代码是识别和操作DS18B20的基础;无论读取还是选择对某一个传感器进行操作,主机必须发送64ROM代码。
  BASCOM-AVRMSC Electronics公司推出的基于AVR系统的软件开发仿真平台。程序语句和Micrsoft VB/QB高度兼容;为标准LCD显示器、I2C芯片和单总线协议芯片等扩充了专用语句;内置模拟终端和程序下载功能;内置软件仿真平台用于测试;编译产生的运行代码可在所有带内部存储器的AVR微控制器中运行。DEMO版本可生成2KB程序代码。BASCOM-AVRDEMO版安装软件包可到http//www.mcselec.com免费下载。

2硬件设计

 

  图1为温度检测系统原理图,DS18B20采用寄生电源方式供电。主机采用AVR单片机90S8515I/OPC1可以挂接多个DS18B20LCD显示器采用TC1602AT(S)R(2×16字符)。开关K1打开时为正常工作方式,LCD依次循环显示各个测量点的编号(在上一行显示)和当前转换温度(在下一行显示)。开关K1闭合时,借助Z1和拨动开关K2测定DS18B20 ROM代码。ATMEL公司的AVR单片机是基于新的精简指令RISC结构的,吸取PIC8051单片机的优点,并作了重大改进,内载Flash存储器、E2PROM(存储DS18B20的序列号等)SRAMI/O口线可直接驱动LED。它能采用高级语言编程,目前国际上已有许多公司推出了CBasic等基于高级程序设计语言的AVR开发软件和平台。

3测量方法及软件设计
3.1
获取序列号(64ROM代码)

  操作单总线数字温度传感器必须严格按规定的协议操作,即应按以下顺序操作:初始化、ROM操作命令、暂存存储器操作命令、数据传输。在ROM操作命令中,有两条命令专门用于获取传感器序列号:读ROM命令(33H)和搜索ROM命令(F0H)。读ROM命令只能在总线上仅有一个传感器的情况下使用。搜索ROM命令则允许总线主机使用一种消去处理方法来识别总线上所有的传感器序列号。为了建立64ROM代码和测量位置点传感器之间的关系,我们选用读ROM命令(33H)DS18B2064ROM代码结构如图2所示:

  8位产品类型号对DS18B2028H。中间的48位序列号唯一的标识着每个传感器,最高位的一个字节是对前7个字节的内容所生成的CRC校验码。获取64ROM代码方法如下:对所有的DS18B20按现场位置编号(123…),将PC1引脚从T处和后级断开,按下开关K1,将要测试的DS18B20逐一插入Z1插座,将拨动开关拨到和插入Z1插座的DS18B20的编号相对应的数值上,单片机90S8515读取拨动开关的数值(编号),执行如下程序即可读取DS18B2064ROM代码并按编号存入其内部的E2PROM中,从而建立测量位置点和传感器64ROM代码之间的关系表。64位序列号用8个字节单元来存储,位置号为nDS18B20,其64位序列号在E2PROM中从(n-1)×8开始的单元存放。程序的主要部分如下:
    
  

  如果某一传感器损坏,只需按上述连接方法,拨动开关K2输入损坏传感器的位置编号,将新的DS18B20插入Z1插座重新测试,单片机自动根据读取的编号值将测得的ROM代码取代E2PROM中相同位置编号处的原ROM代码即可。
3.2
多点温度的巡回测量
  开关K1打开,将T断开处接上。由于已经在上面获取了多个DS18B20ROM代码并在AVR单片机内部的E2PROM中建立了测量位置点和传感器64ROM代码之间的关系表,因此对多个温度的巡回测量的步骤如下:
  (1)发跳过ROM命令CCH
  (2)发启动所有在线的DS18B20进行温度转换命令44H
  (3)延迟1s
  (4)发匹配ROM命令55H
  (5)按照E2PROM中建立的关系表的顺序取出64ROM代码发送到单总线。
  (6)发读温度值命令BEH,读取温度值。
  (7)进行CRC校验和数据处理后送LCD显示器显示。
  (8)重复第4步到第7步,直到所有的DS18B20测量处理完。
  (9)再重复第1步到第8步,进行下一轮的巡回测量。
  如果只对某一个DS18B20进行温度测量,只要将第1步的跳过ROM命令CCH,改为匹配ROM命令55H,将拨动开关拨到和要测量的DS18B20的编号相对应的数值上,单片机90S8515读取拨动开关的数值(编号)n,到E2PROM建立的关系表中从(n-1)×8开始的单元取出ROM代码发送到总线,去掉第8步,其余和上面步骤相似即可。
  测试中,DS18B20选择芯片出厂时默认的12位转换精度,转换的结果用16位符号扩展的二进制补码读数形式提供。关于DS18B20可参考DALLAS公司的数据手册。
  多点温度巡回测量的主要程序如下:
 
  
  
  
  上述两个程序可以编写为两个子程序,主程序在初始化工作完成后,读开关K1的状态,如为打开状态调用温度巡回测量部分的子程序;如为闭合状态调用获取ROM代码子程序。

4温度报警处理
4.1
设置报警限值

  DS18B20设有温度高低限报警功能。DSl8B20的存储器由两部分组成:一个是9字节的静态RAM,其中第0和第1字节用于存储16位的温度转换值,第2(高温限TH)和第3字节(低温限TL)作为温度报警限值或通用存储器单元供用户使用;另一个是非易失性的E2PROM。当静态RAM作为温度报警限值使用时,可以在系统安装和工作前,用写RAM命令4EH将高温限TH和低温限TL写入第2和第3字节单元。由于静态RAM掉电后信息即丢失,因此需要再通过拷贝RAM命令48H将第2和第3字节单元的温度报警限值拷贝到E2PROM中。主程序只要在初始化部分使用重调E2PROM命令B8H,就可以将E2PROM中的温度报警限值重新拷贝到静态RAM中。
4.2
报警处理
  系统正常工作时,在启动所有的DS18B20作温度转换后,可以使用报警搜索命令ECH,发现温度值高于TH或低于TL的数值时,则读取报警的DS18B20ROM代码,通过查AVR单片机内部E2PROM中测量位置点和传感器64ROM代码之间的关系表即可得到报警的DS18B20的位置编号,从而启动语音报警或在LCD上显示报警点的位置编号。
  本文的设计方法,将DS18B20 ROM代码的获取和温度的测量融为一体,利用单片机内部的E2PROM建立了测量位置点和ROM代码之间的关系表,用简单的硬件及编程方法实现了多点温度的测量、数字温度传感器的出错指示和识别,大大有利于系统的调试和扩充,能有效降低成本,缩短开发周期。在粮库测温系统、冷库测温系统、中央空调系统、智能建筑自控系统等多点温度测量系统中将获得广泛的应用。

参考文献

1]耿德根,等.AVR高速嵌入式单片机原理与应用[M.北京:北京航空航天大学出版社,2001.
2BASCOM-AVR HELP文件[Z.
3DALLAS DS18B20数据手册[Z.http//www.maximic.com.

 

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号