电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

基于DS18B20 的多路温度监测系统设计与仿真

来源:华强电子网 作者:华仔 浏览:143

标签:

摘要: 摘要:提出一种基于DS18B20 和AT89C51 的多路温度监测系统,详细介绍了系统的硬软件设计。该设计通过DS18B20单总线结构与单片机多路并行输入相结合的硬件改进方式,克服了DS18B20采用单总线结构时温度数据读取慢、单总线驱动能力不足的问题,实现了多路温度实时快速读取和巡回监测。该系统还具有超温报警,与上位机通讯等功能。最后,利用Proteus与Keil C51软件联合仿真实现了设计的

摘要:提出一种基于DS18B20 和AT89C51 的多路温度监测系统,详细介绍了系统的硬软件设计。该设计通过DS18B20单总线结构与单片机多路并行输入相结合的硬件改进方式,克服了DS18B20采用单总线结构时温度数据读取慢、单总线驱动能力不足的问题,实现了多路温度实时快速读取和巡回监测。该系统还具有超温报警,与上位机通讯等功能。

最后,利用Proteus与Keil C51软件联合仿真实现了设计的仿真调试。

0 引言

在实时温度监控系统中,如大棚温度监控、冷库测温、智能建筑温度控制等系统中,经常需要进行多路温度的采集和检测。快速、可靠地采集到高精度温度数据可为控制系统的工作提供可靠的依据。传统上,温度测量方法多以热敏电阻、热电偶等为温度敏感元件,但都存在可靠性差、精度低、需A/D转换以及线路复杂等的缺点。

本文提出采用美国Dallas 公司生产的单总线数字温度传感器DS18B20和AT89C51单片机构成高精度的多路温度监测系统,在单片机的控制下巡回监测多路温度,高低温度超限报警,并可实现与上位机通讯等功能。

1 DS18B20 简介

DSl8B20是Dallas公司推出的1-Wire式单总线智能数字温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,温度测量范围为-55~125 ℃;可通过编程实现9~12位的转换精度,对应的可分辨温度分别为0.5 ℃,0.25 ℃,0.125 ℃和0.062 5 ℃,可满足高精度设计要求;在9位分辨率时最多在93.75 ms内把温度转换为数字,12位分辨率时最多在750 ms内把温度值转换为数字;电源供电范围3.0~5.5 V;读取或写入信息到DS18B20仅需要单总线接口(即将地址线、数据线、控制线合成一条信号线);测量结果直接输出数字温度信号,串行传送给CPU 同时可传送CRC 校验码,具有极强的抗干扰纠错能力;使用DS18B20可使系统结构简洁,可靠性更高。以上特性使得DSl8B20 非常适用于构建高精度的多路温度采集与检测系统。

2 硬件电路设计

系统原理框图如图1 所示,系统由多片DS18B20、AT89C51单片机、LED 驱动显示电路、温度上下限设定电路、报警提示电路、串行通信接口、时钟电路、复位电路等构成。

系统采用8 片DS18B20 构成温度采集电路,8 片DS18B20采用单总线与并行输入相结合的方式接至单片机的P1口。单片机巡回采集各路DS18B20送来的温度信息后,通过软件设计算法,将处理后的温度信息及相应的温度路数通过LED 数码管显示出来,各路温度值的上下限可通过P3.2~P3.4独立式键盘进行设定。若某路超过温度设定的上下限将进行通过P3.5或P3.6进行报警提示。此外,可通过串行口RS 232 模块将各路温度数据送上位机处理。系统采用Proteus仿真软件设计的仿真电路如图2所示,此时LED显示的是第3路温度值。

2.1 测温电路设计

采用8 片DS18B20 组成多路测温电路。DS18B20内部均有一个全球惟一的64位产品序列号,单片机通过序列号可对一条总线上的多路DS18B20进行控制,读取其温度。但DS18B20仅由单总线采集多路温度数据时,软件设计算法复杂,读取速度慢,无法适用于实时性要求高的测温场合。特别是当单总线上挂接的DS18B20传感器个数大于8个时,采用寄生电源供电方式亦存在总线驱动能力不足等问题[3].为此,本设计采用“单总线结构+并行I/O 口输入”相结合的方式,实时巡回采集多路DS18B20的温度信息。具体做法是:硬件上将8片DS18B20的单总线分别连到单片机的并行P1口引脚,同时各片DS18B20的电源端采用外部电源供电方式,且每个单总线另接一个4.7 kΩ的上拉电阻到5 V电源以保证达到足够的工作电流;软件上读取多路温度与读取单路温度的操作类似,不需读取读出所用DS18B20的序列号,而只需通过参数传递来循环读取各路温度数据(软件设计中介绍)。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67