18B20资料.docx
《18B20资料.docx》由会员分享,可在线阅读,更多相关《18B20资料.docx(19页珍藏版)》请在冰豆网上搜索。
18B20资料
温度传感器DS18B20资料
2008-08-2816:
06
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
目前DS18B20批量采购价格仅10元左右。
在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。
另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。
因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。
新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。
DS18B20、DS1822的特性
DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!
性能价格比也非常出色!
DS1822与DS18B20软件兼容,是DS18B20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
DS18B20、DS1822"一线总线"数字化温度传感器
同DS1820一样,DS18B20也支持"一线总线"接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为±2°C。
现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
一、DS18B20的主要特性
(1)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
二、DS18B20的外形和内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如下图1:
图1:
DS18B20外形及引脚排列图
DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
图2:
DS18B20内部结构图
三、DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
图3:
DS18B20测温原理框图
DS18B20有4个主要的数据部件:
(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
表1:
DS18B20温度值格式表
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
表2:
DS18B20温度数据表
(3)DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
(4)配置寄存器
该字节各位的意义如下:
表3:
配置寄存器结构
TM
R1
R0
1
1
1
1
1
低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位)
表4:
温度分辨率设置表
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
四、高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
表?
2是对应的一部分温度值。
第九个字节是冗余检验字节。
表5:
DS18B20暂存寄存器分布
寄存器内容
字节地址
温度值低位(LSByte)
0
温度值高位(MSByte)
1
高温限值(TH)
2
低温限值(TL)
3
配置寄存器
4
保留
5
保留
6
保留
7
CRC校验值
8
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
表6:
ROM指令表
指令
约定代码
功能
读ROM
33H
读DS1820温度传感器ROM中的编码(即64位地址)
符合ROM
55H
发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。
搜索ROM
0FOH
用于确定挂接在同一总线上DS1820的个数和识别64位ROM地址。
为操作各器件作好准备。
跳过ROM
0CCH
忽略64位ROM地址,直接向DS1820发温度变换命令。
适用于单片工作。
告警搜索命令
0ECH
执行后只有温度超过设定值上限或下限的片子才做出响应。
表6:
RAM指令表
指令
约定代码
功能
温度变换
44H
启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。
结果存入内部9字节RAM中。
读暂存器
0BEH
读内部RAM中9字节的内容
写暂存器
4EH
发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。
复制暂存器
48H
将RAM中第3、4字节的内容复制到EEPROM中。
重调EEPROM
0B8H
将EEPROM中内容恢复到RAM中的第3、4字节。
读供电方式
0B4H
读DS1820的供电模式。
寄生供电时DS1820发送“0”,外接电源供电DS1820发送“1”。
五、DS18B20的应用电路
DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。
下面就是DS18B20几个不同应用方式下的测温电路图:
[1]、DS18B20寄生电源供电方式电路图
如下面图4所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:
在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。
独特的寄生电源方式有三个好处:
1)进行远距离测温时,无需本地电源
2)可以在没有常规电源的条件下读取ROM
3)电路更加简洁,仅用一根I/O口实现测温
要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。
因此,图4电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。
并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。
注:
站长曾经就此电路做过实验,在实验中,降低电源电压VCC,当低于4.5V时,测出的温度值比实际的温度高,误差较大。
。
。
当电源电压降为4V时,温度误差有3℃之多,这就应该是因为寄生电源汲取能量不够造成的吧,因此,站长建议大家在开发测温系统时不要使用此电路。
图4
[2]、DS18B20寄生电源强上拉供电方式电路图
改进的寄生电源供电方式如下面图5所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μS内把I/O线转换到强上拉状态。
在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。
图5
注意:
在图4和图5寄生电源供电方式中,DS18B20的VDD引脚必须接地
[3]、DS18B20的外部电源供电方式
在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。
注意:
在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。
图6:
外部供电方式单点测温电路
图7:
外部供电方式的多点测温电路图
外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。
站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。
在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。
六、DS1820使用中注意事项
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。
2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。
当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
3)连接DS1820的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接
资料来源
数码管
数码管是一种半导体发光器件,其基本单元是发光二极管。
(实物参照图片)
【数码管的分类】
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
[数码管的驱动方式】
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
①静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
②动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
【数码管参数】
8字高度:
8字上沿与下沿的距离。
比外型高度小。
通常用英寸来表示。
范围一般为0.25-20英寸。
长*宽*高:
长——数码管正放时,水平方向的长度;宽——数码管正放时,垂直方向上的长度;高——数码管的厚度。
时钟点:
四位数码管中,第二位8与第三位8字中间的二个点。
一般用于显示时钟中的秒。
【数码管应用】
数码管是一类显示屏通过对其不同的管脚输入相对的电流会使其发亮从而显示出数字
可以显示时间日期温度等索用可以用数字代替的参数
由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛空调热水器冰箱等等
绝大多数热水器用的都是数码管其他家电也用液晶屏与荧光屏
数码管使用的电流与电压
电流:
静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。
电压:
查引脚排布图,看一下每段的芯片数量是多少?
当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。
恒流驱动与非恒流驱动对数码管的影响
1、显示效果:
由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大,并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。
另外,当温度变化时驱动芯片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。
2、安全性:
即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。
另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。
超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。
为什么数码管亮度不均匀?
关于亮度一致性的问题是一个行业内的常见问题。
有二个大的因素影响到亮度一致性。
一是使用原材料芯片的选取,一是使用数码管时采取的控制方式。
1、原材料--芯片的VF和亮度和波长是一个正态分布,
即使筛选过芯片,VF和亮度和波长已在一个很小的范围了,生产出来的产品还是在一个范围内,结果就是亮度不一致。
2、要保证数码管亮度一样,在控制方式选取上也有差别
最好的办法是恒流控制,流过每一个发光二极管的电流都是相同的,这样发光二极管看起来亮度就是一样的了。
如恒压控制,则导致VF不相同的发光二极管分到的电流不相同,所以亮度也不同。
当然以上二个条件是相辅相成的。
怎样测量数码管引脚,分共阴和共阳?
找公共共阴和公共共阳首先,我们找个电源(3到5伏)和1个1K(几百的也欧的也行)的电阻, VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。
相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。
也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。
数字温度传感器DS18B20的原理与应用
2009年01月01日星期四15:
07
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
2DS18B20的内部结构
DS18B20内部结构如图1所示,主要由4部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图4)。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
图1DS18B20的内部结构
图2DS18B20的管脚排列
(a)初始化时序
(b)写时序
(c)读时序
图3DS18B20的工作时序图
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输