欢迎进入深圳市格物致新科技有限公司!

020-123456789

新闻中心

联系我们

深圳市格物致新科技有限公司

地址:联系地址联系地址联系地址
电话:020-123456789
传真:020-123456789手机:020-123456789
新闻详情/News Detail

当前位置:网站首页>新闻中心

STM32F103ZET6开发板第3-5讲SHT20温湿度传感器

时间:2024-05-10 01:35:59 阅读量:761 发表时间:2024-05-10 01:35:59

SHT20温湿度传感器实验

实验目的发板

了解SHT20数字温湿度传感器的基本原理。

掌握STM32与SHT20传感器IIC总线通信的第讲程序设计。

实验内容

编写程序检测SHT20温湿度值通过串口1在串口调试助手上显示。湿度编写程序检测SHT20温湿度值通过串口1在艾克姆实验助手上显示。传感

硬件设计湿度测量简介

前面有介绍使用湿敏元件对湿度进行测量的发板方法,这是第讲近几十年来得以迅速发展的电子式湿度测量,其实,湿度早在18世纪人类就发明了干湿球湿度计用以测量湿度,传感称之为干湿球测湿法。发板

干湿球测湿法采用间接测量方法,第讲通过测量干球、湿度湿球的传感温度,再经过计算得到湿度值,发板因此对使用温度没有严格限制,第讲在高温环境下测湿也不会对传感器造成损坏。湿度干湿球湿度计的准确度还取决于干球、湿球两支温度计本身的精度;湿度计必须处于通风状态:只有纱布水套、水质、风速都满足一定要求时,才能达到规定的准确度。

与电子式湿度测量对比:干湿球湿度计的准确度不够高,只有5%~7%RH。干湿球湿度计体积比较大,不易集成到产品中去。但其维护相当简单,在实际使用中,只需定期给湿球加水及更换湿球纱布即可。另外,与电子式湿度传感器相比,干湿球测湿法不会产生老化、精度下降等问题。干湿球湿度计更适合于在高温及恶劣环境的场合使用,抗污染性也比较好。

图1:干湿球湿度计实物图

电子式湿度传感器是近几十年,特别是近20年才迅速发展起来的。湿度传感器生产厂在产品出厂前都要采用标准湿度发生器来逐个标定,电子式湿度传感器的准确度可以达到2%~3%RH。而来自瑞士的Sensirion(盛思锐)是湿度、气体和液体流量测量和控制领域高质量传感器和传感器解决方案的领先制造商。

Sensirion公司成立于1998年,是从苏黎世的瑞士联邦技术学院(ETH)拆分创建,总部位于瑞士苏黎世。员工分布在美国、韩国、日本、中国、中国台湾和德国等国家和地区。瑞士的总部负责研究、开发和生产。下面介绍的SHT20和SHT30均是Sensirion公司推出的高灵敏度、高精度的温湿度传感器。

注:Sensirion公司早期推出的SHT1x系列和SHT7x系列(已停产),因性价比远低于SHT2x系列和SHT3x系列而很少再被采用了。

SHT2X系列数字温湿度传感器

适用于各种应用,并已成为行业标准数字湿度传感器SHT2x系列可用于各种大批量的应用,并且事实上已成为今天的行业标准。SHT2x系列包括低成本版本SHT20(精度误差是±3.0%RH)、标准版本SHT21(精度误差是±2.0%RH)和高端版本SHT25(精度误差是±1.8%RH)。SHT2x湿度传感器系列将电容式湿度传感器、带隙温度传感器和专用模拟和数字集成电路都集成在一个CMOSens®芯片上,使得传感器具有良好的精度,长期稳定性和超低功耗。

下面给出SHT20数字温湿度传感器和带PCB板的SHT20模块的实物图。

图2:SHT20传感器和SHT20模块实物图

注:SHT20模块是艾克姆科技设计的,该模块已在IIC总线上加有上拉电阻。

SHT20数字温湿度传感器的规格参数

下面介绍下SHT20数字温湿度传感器的规格参数,SHT20模块的规格参数在此不做介绍。

表1:SHT20数字温湿度传感器规格参数

参数

规格

工作电压

2.1V~3.6V

芯片尺寸

3mm×3mm×1.1mm

测量范围

温度:-40~+125℃湿度:0~100%RH

精度

温度:±0.3℃湿度:±3%RH(25℃)

分辨率

温度:0.01℃湿度:0.04%RH

衰减值

温度:0.04℃/年湿度:0.5%RH/年

输出信号

IIC接口

反应时间(湿度)

8sec(tau63%)

能耗

3.2uW(8位,1次测量/秒条件下)

引脚数

6个

SHT20数字温湿度传感器的引脚定义

下面介绍SHT20数字温湿度传感器的引脚定义,首先将SHT20数字温湿度传感器的引脚号标注下。

图3:SHT20数字温湿度传感器引脚号

表2:SHT20数字温湿度传感器引脚定义

SHT20引脚号

管脚名

功能描述

1

SDA

串行数据,双向

2

GND

供电地

3

NC

空脚

4

NC

空脚

5

VCC

供电正

6

SCL

串行时钟,双向

SHT20温湿度模块与开发板连接

IK-ZET6开发板上没有SHT20温湿度模块专用的接口,需杜邦线连接SHT20温湿度模块到IK-ZET6开发板上。如下图所示。

图4:SHT20模块与开发板接线图

表3:SHT20传感器与开发板连接

SHT20模块

开发板J3

说明

VCC

3V3

GND

GND

SDA

PB7

非独立GPIO

SCL

PB6

非独立GPIO

注:独立GPIO表示开发板没有其他的电路使用这个GPIO,非独立GPIO说明开发板有其他电路用到了该GPIO。

软件设计SHT20数字温湿度传感器转换公式

SHT20数字温湿度传感器采用的是标准的IIC总线通信。但MCU通过IIC总线读取的信息需要按照一定的计算关系转换成与之对应的温度值和相对湿度值。下面分别给出SHT20的温度转换的计算公式和相对湿度的转换公式。

SHT20的温度转换的计算公式:

图5:温度转换的计算公式

SHT20的相对湿度转换的计算公式:

图6:相对湿度转换的计算公式

SHT20温湿度串口调试助手显示实验(串口1)

注:本节的实验源码是在“实验1:DHT11温湿度传感器-串口调试助手显示(串口1)”的基础上修改。本节对应的实验源码是:“实验1:SHT20温湿度传感器-串口调试助手显示(模拟IIC)”。

工程需要用到的库文件

本例需要用到的c文件如下表所示,工程需要添加下表中的c文件。

表4:实验需要用到的C文件

序号

文件名

后缀

功能描述

1

stm32f10x_rcc

.c

复位与时钟控制器。

2

stm32f10x_gpio

.c

通用输入输出。

3

stm32f10x_usart

.c

通用同步/异步收发器。

4

misc

.c

中断向量控制器。

按下图所示将需要的c文件添加到工程。

图7:在新建工程中添加所需库函数c文件

头文件引用和路径设置

需要引用的头文件

因为在“”文件中使用了标准库和我们自己建的软件延时函数,所以需要引用下面的头文件。

include""

需要包含的头文件路径

本例需要包含的头文件路径如下表:

表5:头文件包含路径

序号

路径

描述

1

..\Lib\F10x_FWLIB\inc

标准库头文件路径。

2

..\User

stm32f10x_头文件在该路径,所以要包含。

3

..\User\bsp

自建的板卡相关的驱动文件路径。

图8:添加头文件包含路径

MCU与SHT20通信所需函数汇集

在“实验1:SHT20温湿度传感器-串口调试助手显示(模拟IIC)”工程中有文件,该文件包括了MCU通过I2C总线与SHT20通信所用到的函数。这些函数是艾克姆科技根据SHT20手册设计的函数,仅供用户参考。下表列举了这些函数。

表6:MCU与SHT20通信相关函数汇集

序号

函数名

功能描述

1

SHT2X_IIC_WriteByte

向SHT20写入一字节数据。

2

SHT2X_IIC_ReadByte

从SHT20读出一串数据。

3

SHT2x_CheckCrc

SHT20校验函数。

4

SHT2x_ReadUserRegister

SHT20读用户寄存器。

5

SHT2x_WriteUserRegister

SHT20写用户寄存器。

6

SHT2x_Calc_T

SHT20温度计算。

7

SHT2x_Calc_RH

SHT20湿度计算。

8

SHT2x_SoftReset

SHT20软件复位。

9

SHT2x_GetSerialNumber

SHT20序列号获取。

10

SHT2X_Init

SHT20初始化。

11

SHT2X_TEST

SHT20温湿度串口发送

编写代码

首先介绍下SHT20初始化函数,代码如下。

代码清单:初始化SHT20

/

案例展示