数字温度传感器DS18B20在变电站测温的应用

发布者:SparklingMelody最新更新时间:2021-05-07 来源: eefocus关键字:数字温度传感器  DS18B20 手机看文章 扫描二维码
随时随地手机看文章

一 概述


温度是一种最基本的环境参数,与人民生活和工农业生产有着密切的关系,在电力供应中离不开温度测量。液压操作动机的断路器是电网的重要设备,保证断路器液压操作机构油路的正常运转对保证电网安全具有重要意义。当环境温度降低到一定程度后,断路器的油路流动受到影响,液压油黏度增大不利于油路的流动,影响断路器的特性。正常情况下,该装置显示当时温度值。当气温升高或降低到规定值时,此装置会立即自动安全关闭或打开加温装置,防止发生事故,是变电站不可缺少的保护装置。因此研究温度的测量方法和测量装置在实际生产中有着重要的意义。


测量温度的关键是温度传感器。随着技术飞速发展,传感器已进入第三代数字传感器。本测温系统采用的DS18B20就是属于这种传感器。


DALLAS半导体公司生产的DS18B20是一种但总线温度传感器属于新一代是配微处理器的智能温度传感器,这种传感器具有体积小、精度高、接口方便、传输距离远等特点。广泛应用在工业、农业、军事等领域的控制仪器、测控系统中。


二 DS18B20的介绍


1.DS18B20的几个特点:


a. DS18B20因为采用了单总线技术,可通过串行口线,也可通过其他I/O口线与微机直接接 传感器直接输出被测温度值(二进制数)。


b.其测量温度范围为:-55℃————+125℃,


c.测量分辨率为:0.0625℃,是其他传感器无法相比的。



图1 DS18B20外部形状及管脚


d.内含64位只读存储器ROM,(内存出厂序列号,是对应每一个器件的唯一号),还又RAM 存有温度当前转换值及符号。


e.用户可分别设定每个器件的温度上、下限。


f.内含寄生电源。


2. DS18b20的结构:


a. 64位光刻ROM ,可以看作是DS18B20的地址序列号,如表一所示。



表1


b.高速暂存器RAM共占0、1两个单元:



表2


两个8位的RAM中,存放二进制的数,高五位是符号位,如果温度大于0OC,这五位数为0,将测到的数值乘以0.0625,即得到实际的温度值;如果温度小于0OC,高五位为1,测到的数值需要取反加1,再乘以0.0625 ,才得到实际的温度值。


c. 九个寄存器的名称及作用:



表3


三 DS18B20 的控制方法


DS18B20的操作是通过执行操作命令实现的, 其控制程序是按照DS18B20的通讯协议编制的。单片机与DS18B20交换数据,CPU按照单总线协议在总线上产生复位时序和读写时序来实现的。其中包含复位脉冲、响应脉冲、读、写时序,只有响应脉冲是DS18B20发出的,其他都有单片机发出。时序的具体要求如下:


(1) 复位脉冲:单片机发出一个宽为480—960μs的负脉冲之后再发出5—60μs的正脉冲,此时DS18B20会发出一个60—240μs的响应脉冲,复位时序结束。也就是呼应阶段。


(2) 写时间片:写一位二进制的信息,周期至少为61μS,其中含1μS的恢复时间,单片机启动写程序后15—60μs期间DS18B20自动采样数据线,低电平为“0”,高电平为“1”。单片机写“0”时,要持续低电平60—120μs,写“1”时,要在启动后15μs之内使数据线变为高电平。


(3) 读时间片:读一位二进制数据,周期及恢复时间要求与写时间片相同。单片机启动读时序之后,至少保持1μs低电平,然后在接近启动后15μs之前读入数据。低电平为“0”,高电平为“1”。



图2 初始化时序



图3 读/写时序


(4) ROM 操作命令的执行:


在 ROM 操作命令中,有两条命令专门用于获取传感器序列号:读ROM命令(33H)和搜索ROM命令(FOH)。读ROM命令只在总线上只有一个传感器的情况下使用。具体 的 搜 索过程为:(1)单片机发出复位脉冲进行初始化,连接在P3。5口上的传感器则发出存在脉冲做出响应。(2)单片机在单总线上发出搜索ROM命令。(3)单片机从单总线上读一位数据。ds18b20的工作时序分别有初始化时序、写时序、读时序、转换时序等,根据传感器的这些时序要求编写出子程序、主程序



表4


四 测温系统的硬件设计


本系统选择体积小、成本低、内带2K EEPROM的89C2051作为控制芯片,晶振采用12MHZ,用74LS07,74LS04驱动三个LED数码管和一个继电器线圈从而驱动电加热设备。P3.5口作为采集温度信号线,P1口作为显示数据线,与P3.3,P3.4组成显示的个位、十位及符号位,采用动态扫描显示。在本系统中测控一路温度信号,DS18B20通过单总线方式连接在单片机的P3。5.引脚上,用户可设定所需的温度测定值(包括上限值和下限值),P3.1引脚控制电热设备启动与停止,从而达到控制温度效果。整个硬件系统简单、明晰。



图3 DS18B20测温硬件原理图


五 系统软件设计:


系统对温度检测控并实时显示温度值。所选用的温度传感器芯片DS18B20属于新一代适配微处理器的智能温度传感器,时序复杂,在编程及运行中均须严格安照时序进行。


测温系统的工作流程:初始化——-获取序列号的ROM操作命令——-写存储器操作命令——-读转换数据——-处理数据—-显示温度—-启动控制设备。主程序功能是调用各功能子程序、控制电热设备开启与停止。子程序包括:对DS18B20初始化子程序、读子程序、写子程序、温度转换子程序、数值计算子程序、显示子程序。(见程序方框图)


此系统程序编写虽然比AD590测温复杂,但省去A/D转换环节硬件,提高精度及抗干扰能力,系统稳定。


结束语


本文作者创新点采用的是DS18B20是最新的单线数字温度传感器,其技术含量高,时序复杂,但成本低,在测温要求精度高的情况下也能满足,是首选元器件。本装置采用89C2051单片机+串行智能传感器来完成此功能。不管从经济还是技术上看都是优等的选择。


参考文献


[1] DALLAS DS18B20 Programmaable Resolution 1-Wire Digital Thermometer [EB/OL]. Http//pdfserv.maxim-ic.com/arpdf/DS18B20.PD.2002


[2] 基于单片机的智能终端中汉字显示的处理[M].微计算机信息,2003,4:43-46


[3] 沙占友.智能化集成温度传感器原理与应用[M].北京:机械工业出版社,2002.


关键字:数字温度传感器  DS18B20 引用地址:数字温度传感器DS18B20在变电站测温的应用

上一篇:51单片机Keil C延时程序的简单研究
下一篇:关于51单片机几个精确延时程序

推荐阅读最新更新时间:2024-10-28 12:10

如何为数字温度传感器选择系统接口
热敏电阻、热电偶、模拟硅温度传感器和镍/铂电阻式温度检测器(RTD),需要进行校准以达到所需的温度精度。作为混合信号器件的数字温度传感器则不需要进行校准,它们具有集成数字逻辑,工作温度范围为-55℃到50℃,采用绝对温度比例(PTAT)电路,通过检测二极管的基极-发射极电压(VBE)的变化来测量本地/远程温度。它具有简单的集成硬件来保存温度值并对温度设定点、器件工作模式、睡眠模式以及快/慢转换速率进行编程设定。数据通过IC间总线(I2C总线)、系统管理总线(SMBus)或串行外围接口(SPI)来通信。实际上,每个器件在生产时均会进行调整,温度检测精度达到±0.5℃以内或者更高,性价比和可靠性均很高。这些优点使得数字温度传感器在几乎任
[嵌入式]
AVR M16 8M 的DS18B20头文件
只需调用gettemp();就可以了!出口参数wmh是显示的高位,wml使显示的低位,然后调用你的显示程序就可以了! /************************************************************************* ds18b20头文件 M16 内部8M *************************************************************************/ #define CLR_DIR_1WIRE DDRC&=~BIT(2) //只要修改这里的参数就可以了!呵呵! #define SET_DIR_1WIRE
[单片机]
51单片机学习笔记:DS18B20测温程序
C代码 #include my51.h #include smg.h #include ds18b20.h void main() //测试 ,6位数码管显示温度值 { u8 i=0; u16 temp=0; while(1) { temp=ds18b20_readTemperaData(); for(i=0;i 100;i++) { displaySMG(ds18b20_processTempData(temp)); } } } C代码 #if
[单片机]
51单片机学习笔记:<font color='red'>DS18B20</font><font color='red'>测温</font>程序
利用ds18b20检测当前温度isd1420语音芯片的温度报警程序
利用ds18b20检测当前温度isd1420语音芯片的温度报警程序 功能:利用ds18b20检测当前温度,通过和设定参数的比较,给ISD1420发出 报警脉冲,通过功率放大器LM386 驱动喇叭报警。 注:isd1420的报警采用延时方式(isd1420的延时报警取决于录音时间的长短) #include reg51.h #include intrins.h #include absaCC.h #define uchar unsigned char #define uint unsigned int #define PLAYE_ADDR XBYTE //语音报警地址 #define BUSY 0x80 //
[单片机]
arm力天电子 lpc2148基于DS18B20的温度控制系统
//读一位数据(读位程序) 1unsigned char tmpreadbit(void) //read a bit 2{ 3 unsigned char dat; 4 DS_OUT(); //端口设置为输出 5 DS_L(); //DS=0 6 //Delayn(1); //2uS 7 DS_IN(); //input 8 //Delayn(1); 9 if(DS_R()!=0) 10 dat=1; 11 else 12 dat=0; 13 DelaynUs(50); 14 return (dat); 15} //读一个字节数据 (读字节程序) 16unsign
[单片机]
DS18B20测试程序
#include reg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char /************DS18B20**********/ sbit DQ=P3^7; uchar temph=0,templ=0; uint t=0; float tt=0; void delay_b20(uint z)//ds18b20延时 { while(z--); } void b20_reset(void)//ds18b20复位 { uchar ready=0; DQ=1; delay_b20(8); DQ=0;
[单片机]
单片机教程及学习之LCD1602显示DS18B20温度实验
#include reg52.h #include intrins.h typedef unsigned int uint; typedef unsigned char uchar; sbit LCD_RS=P2^0; sbit LCD_RW=P2^1; sbit LCD_EN=P2^2; sbit DQ=P3^4; uchar Temp_Value ={0x00,0x00}; uchar Temp=0; uchar Display_Digit ={0,0,0,0}; bit DS18B20_IS_OK=1; uchar code df_tab ={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};//de
[单片机]
基于DS18B20与TMS320LF2407A的测温系统
  前 言   DS18B2普遍都是和单片机配合使用,很少有关于DSP与DS18B20的连接的接口报道,所以此文详细介绍了TMS320LF2407与 DS18B20的连接方法,并且很详细的介绍了如何用C语言完成精确的软件延时,从而完成DS18B20与TMS320LF2407之间的基于单线总线协议的数据通讯。   1 DS18B20的时序   1. 1 复位时序   复位使用DS18B20时,首先需将其复位,然后才能执行其它命令。复位时,主机将数据线拉为低电平并保持480us~960us,然后释放数据线,再由上拉电阻将数据线拉高15~60us,等待DS18B20发出存在脉冲,存在脉冲有效时间为60~240us,这样,就完成了
[测试测量]
基于<font color='red'>DS18B20</font>与TMS320LF2407A的<font color='red'>测温</font>系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved