Skip to content

温湿度传感器(SHT10) ​

数字温湿度复合传感器 · 两线串行接口 · 已校准数字输出

一、理论基础 ​

1.1 传感器概述 ​

SHT10 属于 SHTxx 系列单芯片温湿度复合传感器,是一款含有已校准数字信号输出的温湿度传感器。它应用专利的工业 CMOS 过程微加工技术(CMOSens®),确保产品具有极高的可靠性与卓越的长期稳定性。

传感器内部集成了:

  • 电容式聚合体测湿元件:检测相对湿度
  • 能隙式测温元件:检测温度
  • 14 位 A/D 转换器:将模拟信号数字化
  • 串行接口电路:与单片机通信

因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。

1.2 关键特性 ​

参数规格
湿度测量范围0 ~ 100% RH
温度测量范围-40 ~ +123.8 ℃
湿度精度±4.5% RH(典型)
温度精度±0.5 ℃(25℃)
分辨率湿度 12bit / 温度 14bit
供电电压2.4 ~ 5.5 V
接口两线串行接口(类 I²C,非标准)
封装4 针单排引脚 / SMD LCC

1.3 工作原理 ​

湿度测量:电容式聚合体测湿元件的介电常数随环境相对湿度变化,导致电容值变化,经信号调理电路转换为电压信号,再经 14 位 ADC 数字化。

温度测量:能隙式(Band-gap)测温元件利用半导体 PN 结电压随温度线性变化的特性,输出与温度成正比的电压信号,经 ADC 数字化。

校准:每个 SHTxx 传感器都在极为精确的湿度校验室中进行校准,校准系数以程序形式存储在 OTP 内存中,传感器内部在检测信号处理过程中自动调用这些校准系数,用户无需额外校准。

1.4 典型应用 ​

  • 环境监测(气象站、室内环境)
  • 农业大棚(温湿度监控与自动调节)
  • 智能家居(空调、加湿器联动)
  • 海洋气象(岸基站、浮标温湿度采集)
  • 工业过程控制

二、实验实例:SHT10 温湿度采集 ​

2.1 实验目的 ​

  1. 掌握温湿度传感器的操作方法
  2. 掌握温湿度传感器采集程序的编程方法

2.2 实验内容 ​

在 IAR 集成开发环境中编写温湿度传感器采集程序,循环采集温度和湿度值,并通过串口输出。

2.3 预备知识 ​

  1. 了解 C 语言的基本知识
  2. 了解 IAR 中编写和调试程序的方法

2.4 实验设备 ​

  • 硬件:WSN-V 教学实验箱(带传感器 1 扩展板)、PC 机
  • 软件:Windows + IAR EW for 8051 开发环境、串口调试助手

2.5 接口电路 ​

通过 CC2530 的 I/O 口仿真 SHT10 要求的串行接口时序,以读出 SHT10 温湿度传感器采集的当前温度和湿度值。

SHT10 温湿度传感器接口电路

引脚连接:

SHT10 引脚CC2530 引脚说明
VCCVCC3.3电源 3.3V
GNDGND地
DATAP1.6双向数据线(4.7K 上拉)
SCKP1.7串行时钟线

2.6 关键函数 ​

void Sensor_PIN_INT(void):读写温湿度传感器实验时,对相应的 I/O 口进行配置。

uint16 ReadAdcValue(uint8 ChannelNum, uint8 DecimationRate, uint8 RefVoltage):用指定的参考电压、分辨率,读出指定 A/D 端口的数据。

参数说明
ChannelNum采集通道号 0-0xF(1000: AIN0–AIN1, 1010: AIN4–AIN5, 1110: 内部温度传感器, 1111: VDD/3)
DecimationRate分辨率(00: 64→7bit, 01: 128→9bit, 10: 256→10bit, 11: 512→12bit)
RefVoltage参考电压(00: 内部参考, 01: AIN7 外部参考, 10: AVDD5, 11: AIN6–AIN7 差分)
返回值16bit 采集的 A/D 数据

2.7 实验步骤 ​

  1. 连接好仿真器,及带传感器 1 扩展板的通用调试母板
  2. 参照 IAR 安装及使用说明中的步骤"新建工程 → 添加配置 → 添加文件 → 编译链接 → 下载调试运行",新建工程 SHT10,添加相应文件并修改工程设置
  3. 创建 SHT10.c 并加入到工程中
  4. 编写 SHT10 相关函数,在设定的间隔时间循环显示温度和湿度的值,并通过串口发送
  5. 编译 SHT10,成功后下载并运行,通过串口调试助手观察温湿度值

2.8 实验结果 ​

SHT10 温湿度采集串口输出结果

串口调试助手循环显示采集到的温度(Temperature)和湿度(humidity)值,数据随环境温湿度变化而实时更新。

知识点

SHT10 的两线串行接口不是标准 I²C,需要用单片机 IO 口手动仿真其时序(启动序列、测量命令、读数据、CRC 校验)。湿度原始值需通过公式 RH_linear = c1 + c2·SORH + c3·SORH² 换算为相对湿度,温度原始值通过 T = d1 + d2·SOt 换算为摄氏度。

内容来源:《WSN-V 物联网综合教学实验指导书》第 7 章·7.5 温湿度传感器采集实验,结合课程教学经验整理。


aioteer · 物联网专业课程群

💬AI 伴学配置