DS18B20温度传感器
- 供应商
- 北京昆仑中大工控技术发展有限公司
- 认证
- 报价
- ¥60.00元每PCS
- 品牌
- 昆仑中大
- 型号
- KZY
- 种类
- 温度
- 联系电话
- 86-01069287679
- 手机号
- 13681457568
- 高级销售工程师
- 杜宏宇
- 所在地
- klzd@sinometer.com.cn
品牌 | 昆仑中大 | 型号 | kzy |
种类 | 温度 | 材料 | 陶瓷 |
材料物理性质 | 半导体 | 材料晶体结构 | 多晶 |
制作工艺 | 集成 | 输出信号 | 模拟型 |
防护等级 | ip65 | 线性度 | 0.01(%f.s.) |
迟滞 | 0.1(%f.s.) | 重复性 | 0.1(%f.s.) |
灵敏度 | 0.1 | 漂移 | 0.1 |
分辨率 | 0.01 |
(1)独特的单线接口方式:ds18b20与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:+3.0~ +5.5 v。
(4)测温范围:-55 ~+125 ℃。固有测温分辨率为0.5 ℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个ds18b20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
2.ds18b20的内部结构
ds18b20采用3脚pr35封装或8脚soic封装,其内部结构框图如图1所示。
低5位一直都是1,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动,r1和r0决定温度转换的精度位数,即是来设置分辨率,如表1所示(ds18b20出厂时被设置为12位)。
当ds18b20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0062
5 ℃/lsb形式表示。温度值格式如下:
对应的温度计算:当符号位s=0时,直接将二进制位转换为十进制;当s=1时,先将补码变换为原码,再计算十进制值。表2是对应的一部分温度值。
ds18b20完成温度转换后,就把测得的温度值与th,tl作比较,若t>th或t<tl,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只ds18b20同时测量温度并进行告警搜索。
(4) crc的产生
在64 b
rom的高有效字节中存储有循环冗余校验码(crc)。主机根据rom的前56位来计算crc值,并和存入ds18b20中的crc值做比较,以判断主机收到的rom数据是否正确。
4.ds18b20与单片机的典型接口设计
以mcs51单片机为例,图3中采用寄生电源供电方式,
p1 1口接单线总线为保证在有效的ds18b20时钟周期内提供足够的电流,可用一个mosfet管和89c51的p10来完成对总线的上拉[2]。当ds18b20处于写存储器操作和温度a/d变换操作时,总线上必须有强的上拉,上拉开启时间大为10
μs。采用寄生电源供电方式是vdd和gnd端均接地。由于单线制只有一根线,因此发送接收口必须是三态的。主机控制ds18b20完成温度转换必须经过3个步骤:初始化、rom操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12
mhz,根据ds18b20的初始化时序、写时序和读时序,分别编写3个子程序:init为初始化子程序,write为写(命令或数据)子程序,read为读数据子程序,所有的数据读写均由低位开始,实际在实验中不用这种方式,只要在数据线上加一个上拉电阻4.7
kω,另外2个脚分别接电源和地。
5.ds18b20的延时问题
虽然ds18b20有诸多优点,但使用起来并非易事,由于采用单总线数据传输方式,ds18b20的数据i/o均由同一条线完成。因此,对读写的操作时序要求严格。为保证ds18b20的严格i/o时序,需要做较的延时。在ds18b20操作中,用到的延时有15
μs,90 μs,270 μs,540 μs等。因这些延时均为15μs的整数倍,因此可编写一个delay15(n)函数,源码如下:
展开全文