作为一名检测工程师,研究检测仪器会显得“务正业”一些。本篇笔记介绍我设计的一款基于DS18B20的高精度数字温度计。
1、DS18B20介绍
DS18B20是一款高精度数字温度传感器,具备-55°C至+125°C的宽广测温范围和9至12位的可调分辨率,最高可达到0.0625°C的精度。
DS18B20因其出色的性能被广泛应用于家用电器、工业系统、环境监测等领域,适用于冷冻库、粮仓、储罐、电讯机房、电力机房、电缆线槽等测温和控制领域。
DS18B20温度传感器使用的是单总线(1-Wire)串行通信协议,三个线分别为VCC、GND、DAT。
2、实验装置
我设计了一块简易的PCB板,集成了ESP32-C3开发板、0.96英寸LCD显示屏、ADS1115模数转换器以及多个接口,做为温度、电压等测量的实验装置。
本次实验,我们将DS18B20的DAT线接在ESP32-C3的0引脚上。
3、温度测试
DS18B20温度计需要用到onewire、ds18x20两个库,这两个库都是Micropython自带的。
Micropython官网有相关示例:
测试代码参考如下:
运行后,终端打印出测量的温度:
4、phyphox实现
Phyphox 是一款利用智能手机传感器进行物理实验的应用。它能够访问手机的加速度计、磁力计、陀螺仪、光强度计、压力计、GPS、麦克风等多种传感器,从而进行各种物理实验,如测量重力加速度、制作声纳、测量电梯速度等。Phyphox 支持通过蓝牙与外部设备如ESP32等进行连接,从而扩展更多传感器,开展更多类型的实验。
phyphoxBLE的驱动、DS18B20温度测量源码这里就不详细介绍了,直接下载:https://gitee.com/py2012/phyphox。
我们的实验装置中ESP32-C3开发板自带蓝牙模块,可以通过蓝牙将数据传输到手机上,使用phyphox进行数据的实时分析和可视化。
修改前面的代码,增加相关功能:
实现测量数据展示在手机上的phyphox中,并形成温度时间曲线:
5、测量液体
DS18B20温度传感器是防水、耐寒、耐高温的,我们拿来做个小实验,测量一小杯热水的自然降温过程:
测量结果从70度左右缓慢下降至30度左右,手机中phyphox形成降温曲线图:
6、行业应用
这款基于DS18B20的高精度数字温度计,具有便携性、宽广的测量范围和较好的稳定性等特点。在实验室中,经过校准后,可用于设备的期间核查,比如烘箱、恒温箱等的期间核查。
此外,这款温度计可通过程序设计,对高温设备、不稳定设备进行实时监控,一旦检测到温度超出预设范围,自动触发断电机制,以保障设备和人员的安全。