锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

DS18B20数字温度计 (一) 电气特性, 寄生供电模式和远距离接线

时间:2022-08-19 06:00:01 30kr电阻电阻30kr20国产电容470kr电阻电容内接线crc6电容

目录

  • DS18B20数字温度计 (一) 电气特性, 寄生供电模式和远距离接线
  • DS18B20数字温度计 (二) 测温, ROM和CRC算法
  • DS18B20数字温度计 (三) 1-WIRE总线ROM搜索算法

DS18B20

DS18B20 它是一种常见的数字温度计芯片, 由于测温准确, 廉价且接线简单, 实际应用广泛, 在各种教学实验套装中,出现率也很高.

在做FwLib_STC8 GPIO例子写的时候 DS18B20, 这个型号看似简单, 但是使用机制更有趣, 一篇幅写不下, 所以抽出内容单独介绍.

参数

  • 1-Wire Bus 总线结构, 允许一条总线连接多个 DS18B20 并分别通信
  • 在普通温度下, 可直接从数据口取电, 此时只需要两条连线.
  • 供电电压 [3.0V, 5.5V]
  • 温度检测范围 [-55°C, 125°C]摄氏度, [-67°F, 257°F]华氏度
  • 精确率: 在 [-10°C, 85°C] 为 ±0.5°C

参数说明

  1. 常温下误差不超过±0.5°C
    国产便宜DS18B20实际测过,
    基本上在这个范围内, 室温二三十摄氏度, 实际测试中获得的个体误差±0.35°C以内.
  2. 功耗很低
    单个DS18B20用一个0.1uF电容蓄电可以驱动
  3. 温度监测可通过三线或双线连接进行
    去掉Vcc和GND, 其实只需要一个IO线, 非常节省MCU的IO资源
  4. 支持在单线总线上连接多个芯片
    通信总线只需要一个IO, 这条线也可以同时与多条线同时使用DS18B20通信, 而且这个距离很长, 可达数百米.

关于最大通信长度和DS18B20节点数量
1-Wire Bus 总线上 DS18B20 与布线形式有关的数量和距离, 在十几厘米的短距离上连接五六十个 DS18B20 没有问题, 如果是上百米的长距离连接, 建议10个以内, 最多不超过20个. 以上前提是供电充足. DS18B这些特点在工业环境中特别有利, 例如一个IDC机房, 几十个测温点只需要一个8位MCU可完成采集, 功耗低,可靠.

Pin脚

一般见3pin的To-92封装, 和普通三极管一样, 让平面朝向自己, Pin脚朝下, 从左到右依次为: GND, DQ, VDD

单个DS18B20的接线

单个DS18B20是最基础的连线方式

普通供电模式

三线连接用于普通供电模式, 电压可选3.3V或5V

  • MCU IO -> DQ
  • GND -> GND
  • 5V/3.3V -> VDD

寄生供电模式

寄生供电模式采用双线连接. 这时候DS18B20的GND和Vdd都要接地. DQ脚是数据通信脚, 也是供电脚, 上位机需要用上拉电阻连接到脚上VCC上, 对于STC8, 可通过寄存器使用PxPU进行设置.

需要注意的是, 并非网上购买的一切DS18B寄生供电模式下可工作20, 有一些批号DS18B寄生供电模式下的电路完全不能工作, 读取只会输出0. 我怀疑是偷工减料, 它节省了寄生供电所需的电容和二极管. 对于这类DS18B20, 在双线模式下工作需要一些额外的电路.

  • MCU IO -> DQ
  • GND -> GND & VDD

模拟寄生供电模式

如果DS18B20不能在寄生供电模式下工作, 可以用一个 0.1uF 电容和1N4148二极管实现双线连接. 这时候 DS18B20 事实上,在普通供电模式下工作.

         -----1N4148-|>|-----          |                    |         |     |DS18B20|-VCC--          |     |       |      | MCU IO-- -DQ--|DS18B20|     0.1uF               |       |      | GND   ----GND-|DS18B20|-GND--  

用面包板模拟寄生供电模式, 背后只有两条连线


多个 DS18B20 接线

在实际场景中, DS18B20 经常成组使用, 在一个区域内收集温度信息, 区域跨度从几十厘米(机箱, 机柜, 车床), 住宅, 机房, 都有可能. 不同的距离和环境有不同的选择, 总结以下情况

可参考本文 1-wire 总线的接线 https://www.loxone.com/enen/kb/wiring-1-wire-devices/

总线连接方式

在下面的结构中S代表 Sensor, DS18B20. MCU是单片机.

总线是推荐的接线方式, 所有的 DS18B20 都连接在同一条线上. 使用总线连接可以达到最远距离通信

 MCU-------8m---S---3m----S----3m----S-----10m-----S  

或者有个别分叉, 分叉靠近总线

 MCU-------8m---------- --S---3m----S-- --10m-----S                       |               |                       1m              1m                       |               |                       S               S 

星形连接方式

若总线产生较多较长的分叉, 变成星形连接, 类似以下接线方式, 星形连接小区域场景中使用星形连接, 与总线连接相比, 长度要短得多.

   S---------8m----MCU                     |                    4m                     |       S------6m----- ----3m------S                     |                    8m                     |    S-- ------4m----- ----6m------------S       |      2m       |       S 

供电方式

集中供电

绝大多数场景使用集中供电. 在这种情况下, 由控制端(MCU端)供电.

如果使用三线则无需注意, 若采用双线连接, 需要注意

  1. 因为通信IO同时负责供电, 因此,需要配置上拉电阻, 短距离场景5上拉电阻KR足够, 但需要减少长距离场景, 可尝试使用2KR的电阻.
  2. 若采用正常供电模式模拟的寄生供电模式, 电压使用5V, 电容器需要靠近 DS18B20 部署, 每个 DS18B20 配一个 0.1uF 的电容.

终端供电

在有条件的场景中, 每个 DS18B20 可单独供电, 此时控制端和 DS18B20 共地, 连接通信IO即可. 为了稳定起见 DS18B20 端可以加配 0.1uF 电容.


参考

  • DS18B20 最大距离 https://forums.raspberrypi.com/viewtopic.php?t=36163#p1337521
  • 40米 CAT5 网线连接7个 DS18B20 https://raspberrypi.stackexchange.com/questions/41234/max-length-of-wire-w-3-3v-or-other-issue
  • 寄生供电模式 https://learn.openenergymonitor.org/electricity-monitoring/temperature/DS18B20-temperature-sensing
  • 寄生供电模式 https://e-radionica.com/en/blog/hum-how-to-use-the-ds18b20-with-paasitic-power-supply/
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章