温湿度传感器 温湿度传感器多以温湿度一体式的探头作为测温元件,将温度和湿度信号采集出来,经过稳压滤波、运算放大、非线性校正、V/I转换、恒流及反向保护等电路处理后,转换成与温度和湿度成线性关系的电流信号或电压信号输出,也可以直接通过主控芯片进行串口或I2C等接口输出。 主要使用场景 室内环境监测:温湿度传感器可以用于监测室内空气的温度和湿度水平,例如在办公室、住宅、实验室等场所中。这对于保持室内环境的舒适性、控制空调和加湿设备的运行非常重要。 仓储和物流:在仓储和物流行业中,温湿度传感器被用于监测存储和运输环境的温度和湿度。这对于保持货物的质量和安全非常关键,特别是对于某些易受温湿度影响的产品,如食品、药品等。 农业和温室种植:温湿度传感器在农业和温室种植中起着重要作用。它们可以帮助农民监测土壤的温度和湿度水平,从而确定最佳的种植条件。此外,温湿度传感器还可用于控制温室内的温度、湿度和灌溉系统,以促进作物的生长。 医疗保健:在医疗保健领域,温湿度传感器被广泛应用于医院、实验室和药房等地方。它们可以监测药品和生物样本的温度和湿度,确保其质量和有效性。此外,温湿度传感器还可以用于监测手术室和病房等区域的温度和湿度,以提供舒适和安全的环境。 工业自动化:在工业领域,温湿度传感器用于监测和控制生产过程中的温度和湿度。它们可以帮助维持设备的正常运行,并监测潜在的问题或故障。此外,温湿度传感器还可用于监测工厂环境中的温度和湿度,确保工作人员的安全和舒适。 这些只是温湿度传感器的一些主要使用场景,实际上它们在许多其他领域和应用中也有广泛的应用,如能源管理、气象预测、电子设备保护等。 基本原理 开发板集成了一个i2c接口的的AHT20温湿度传感器。i2c硬件原理见硬件手册,通信协议见3.2.2小节,我们前面这些章节已经介绍了i2c的基本通信原理,本节我们主要关注的是AHT20作为i2c从设备,是如何与ELF 1板卡进行通讯的。 传感器通讯过程 (一)启动传感器 第一步,将传感器上电,电压为所选择的 VDD电源电压(范围介于2.0V与5.5V之间)。上电后传感器最多需要20ms时间。(此时SCL为高电平)以达到空闲状态即做好准备接收由主机 (MCU)发送的命令。 (二)启动/停止时序 每个传输序列都以Start状态作为开始并以Stop 状态作为结束。 启动传输状态( S )- 当SCL 为高电平时,SDA 由高电平转换为低电平。开始状态是由主机控制的一种特殊的总线状态,指示从机传输开始( Start 之后,BUS 总线一般被认为处于占线状态)
停止传输状态(P)- 当SCL 高电平时,SDA 线上从低电平转换为高电平。停止状态是由主机控制的一种特殊的总线状态,指示从机传输结束(Stop 之后,BUS 总线一般被 认为处于闲置状态)
(三)发送命令 在启动传输后,随后传输的首字节包括7位的I2C设备地址 0x38和一个SDA方向位 x(读R:‘1',写W:‘0’)。在第8个SCL时钟下降沿之后,通过拉低 SDA引脚 (ACK位),指示传感器数据接收正常。 在发送测量命令0xAC之后,MCU必须等到测量完成,基本的命令在下方进行概述。从机返回的状态位说明。
(四)传感器读取流程 1.上电后要等待40ms,读取温湿度值之前, 首先要看状态字的校准使能位Bit[3]是否为 1(通过发送0x71可以获取一个字节的状态字),如果不为1,要发送0xBE命令(初始化),此命令参数有两个字节, 第一个字节为0x08,第二个字节为0x00,然后等待10ms。 2.直接发送 0xAC命令(触发测量),此命令参数有两个字节,第一个字节为 0x33,第二个字节为0x00。 3.等待80ms待测量完成,如果读取状态字Bit[7]为0,表示测量完成,然后可以连续读取六个字节;否则继续等待。 4.当接收完六个字节后,紧接着下一个字节是CRC校验数据,用户可以根据需要读出,如果接收端需要CRC校验,则在接收完第六个字节后发ACK应答,否则发NACK结束,CRC初始值为0XFF,CRC8校验多项式为: 5.计算温湿度值。
(五)软复位 用于在无需关闭和再次打开电源的情况下,重新启动传感器系统。在接收到这个命令之后,传感器系统开始重新初始化,并恢复默认设置状态,软复位所需时间不超过20 毫秒。
|