当前位置: 首页 > news >正文

硬件:传感器(DS18B20)

传感器:

数字温度传感器,实现简单,不需要额外转换电路,采集过来的就是数字温度值
模拟温度传感器->热敏电阻->AD转换电路->数字值

传感器接口:
GPIO接口:
I2C接口:SCL SDAVCCGND
SPI接口:SCLK、CS、MOSI、MISO
ADC接口:板子ADC进行模数转换
UART接口:GPS

DS18B20属于GPIO接口,但比较特殊,是一种单总线的传感器

测温范围为-55~125℃

精度:±0.5℃

引脚说明
GND地
DQ数字输入输出
VDD可选的VDD
NC空引脚
DNC不连接

DS18B20及引脚功能

DS18B20 是美国达拉斯半导体公司推出的一款单总线数字温度传感器。它具有体积小、硬件开销低、抗干扰能力强、精度高的特点,可直接将温度转化为数字信号,便于与单片机等微控制器进行接口连接,广泛应用于各种温度检测场合,如工业控制、消费电子、医疗设备等领域的温度监测。

引脚功能

DS18B20 通常有三个引脚,不同封装可能略有差异,以常见的 TO - 92 封装为例:

  • GND(地):电源地引脚,为传感器提供参考地电位。
  • DQ(数据输入 / 输出):单总线数据通信引脚,用于与微控制器进行数据交互,实现温度数据的读取和传感器的配置等操作。
  • VDD(电源):电源引脚,为传感器提供工作电压,一般工作电压范围为 3.0V - 5.5V。

DS18B20工作原理

DS18B20 内部采用温度感应元件,当温度变化时,其内部的相关电路会将温度信号转化为数字信号。它基于单总线协议进行通信,微控制器通过 DQ 引脚向 DS18B20 发送指令,DS18B20 响应指令并返回温度等数据。

1.温度转换

DS18B20 可以通过指令启动温度转换过程。当接收到温度转换指令后,传感器内部开始进行温度测量和转换,将采集到的模拟温度信号转换为 9 - 12 位的数字温度值(可通过配置寄存器设置精度)。

测温范围为:-55℃~125℃           精度范围:±0.5℃

2.数据存储与读取

转换得到的数字温度值存储在 DS18B20 内部的存储单元中,微控制器通过单总线协议发送读取指令,即可从 DS18B20 中读取到温度数据。

单总线通信协议

单总线是一种采用一根数据线进行数据传输的总线结构,DS18B20 遵循单总线的通信规范,主要包括初始化、写操作和读操作三个部分

流程如下:

(一)初始化

微控制器首先将 DQ 引脚拉低一段时间(通常为 480 - 960μs),然后释放 DQ 引脚,进入接收状态。DS18B20 检测到上升沿后,会等待一段时间,然后将 DQ 引脚拉低作为响应,表明传感器已准备好进行通信。

(二)写操作

写操作分为写 0 和写 1 两种情况:

  • 写 0:微控制器将 DQ 引脚拉低,并保持至少 60μs,然后释放 DQ 引脚。
  • 写 1:微控制器将 DQ 引脚拉低,然后在 15μs 内释放 DQ 引脚,DS18B20 在合适的时间窗口读取 DQ 引脚上的电平。

(三)读操作

微控制器将 DQ 引脚拉低,然后在 15μs 内释放 DQ 引脚,DS18B20 会在接下来的时间内将数据位(0 或 1)放到 DQ 引脚上,微控制器读取该电平值。

DS18B20相关程序

(一)初始化函数

实现单片机对 DS18B20 的初始化操作,按照单总线初始化的时序,控制 I/O 口的电平变化,检测 DS18B20 的响应。

(二)写指令函数

根据单总线写操作的时序,向 DS18B20 写入相应的指令,如温度转换指令、读取温度指令等。

(三)读数据函数

按照单总线读操作的时序,从 DS18B20 中读取温度数据等信息

(四)温度读取与处理

发送温度转换指令后,等待转换完成(转换时间与精度有关,12 位精度时约为 750ms),然后发送读取温度指令,读取到的数字温度值需要进行相应的转换,得到实际的温度值(单位为摄氏度)。例如,对于 12 位精度,数字量每变化 1,对应的温度变化为 0.0625℃。


文章转载自:

http://0Kjgj3kR.pskjm.cn
http://BK8b4Ewk.pskjm.cn
http://15Ml8Eop.pskjm.cn
http://ejL3wKTv.pskjm.cn
http://SSvNxBM6.pskjm.cn
http://HbuJWXAr.pskjm.cn
http://MXOrgzic.pskjm.cn
http://WiRolZa5.pskjm.cn
http://tN6hB4UR.pskjm.cn
http://kFnH85zx.pskjm.cn
http://8ItSNSHc.pskjm.cn
http://2KvsjJQy.pskjm.cn
http://mlJ0x2OR.pskjm.cn
http://XnjDa6lz.pskjm.cn
http://6EsCJF89.pskjm.cn
http://A5U1RAQp.pskjm.cn
http://NgBGwHfR.pskjm.cn
http://RADwFFE6.pskjm.cn
http://4MKuQhH2.pskjm.cn
http://vYk8IxdI.pskjm.cn
http://iXB9ByTt.pskjm.cn
http://jODtfDmH.pskjm.cn
http://3nJfTdv7.pskjm.cn
http://BzJ0naEf.pskjm.cn
http://XlJPNjJF.pskjm.cn
http://wOJZP6Gc.pskjm.cn
http://XmjzSB1b.pskjm.cn
http://O9MR9EOb.pskjm.cn
http://ouQUF09v.pskjm.cn
http://FoJOjK5S.pskjm.cn
http://www.dtcms.com/a/372060.html

相关文章:

  • muduo库搭建客户端
  • smpp3.4 协议
  • 阿里云高可用生产环境网络架构实战:VPC规划与多可用区部署
  • 中国移动中兴云电脑W132D-RK3528-2+32G-刷机固件包(非原机制作)
  • 疯狂星期四文案网第63天运营日记
  • 【PCIe EP 设备入门学习专栏 -- 8.2 PCIe EP 寄存器配置空间介绍】
  • Android开发-按钮触控
  • RocketMQ分布式消息中间件的核心原理与应用
  • MySQL 之 InnoDB 存储架构解析
  • 【LeetCode - 每日1题】构造和为0的n个不同整数数组
  • 使用MobaXterm连接Ubuntu时connection refused解决方法
  • Windows 内存整理和优化工具 - Wise Memory Optimize
  • VuePress 与 VitePress 深度对比:特性、差异与选型指南
  • Dockerfile文件常用配置详解
  • Logstash常用插件-ES集群加密
  • NT路径指的是什么?
  • AutoHotkey将脚本编译为exe文件
  • 【Java笔记】单例模式
  • 腕部骨折X光检测识别数据集:2w+图像,6类,yolo标注
  • 当没办法实现从win复制东西到Linux虚拟机时的解决办法
  • AI话术—知识库多次返回播放不同的内容(智能呼叫系统)
  • 【系统架构设计(20)】构件与中间件技术
  • 使用Terraform管理阿里云基础设施
  • 【01】针对开源收银系统icepos (宝塔面板) 详细安装教程详细参考-优雅草卓伊凡
  • python中的“与或非“与vue中的“与或非“
  • c6-类和对象-对象特征-类对象做对象成员
  • 云服务扫盲笔记(2) —— SLS 接入与设置自动化
  • 【算法--链表】109.有序链表转换二叉搜索树--通俗讲解
  • Java 网络编程学习笔记
  • kerberos详解