[STM32F0] F070的IIC读取SHT40-AD1B-R2温湿度与实际偏差较大,10%以上

[复制链接]
 楼主| 地瓜patch 发表于 2025-7-10 16:19 | 显示全部楼层 |阅读模式
读取SHT40-AD1B-R2温湿度与实际偏差较大
读取温度28.96℃,实际温度24.6℃
读取湿度47%RH,实际湿度52%RH

void SHT40_Read_Temperature_Humidity(void)
{
        uint8_t I2C_Transmit_Data[1];
        I2C_Transmit_Data[0]=0xFD;
        uint8_t I2C_Receive_Data[6];
        HAL_I2C_Master_Transmit(&hi2c1, SHT30_Write, I2C_Transmit_Data,1,HAL_MAX_DELAY);
  HAL_Delay(8);
        HAL_I2C_Master_Receive(&hi2c1, SHT30_Read, I2C_Receive_Data,6,HAL_MAX_DELAY);

  Temperature_data = (175 * ((I2C_Receive_Data[0] << 8) | (I2C_Receive_Data[1]))/65535.0 - 45) * 100;
  Humidity_data    = (125 * ((I2C_Receive_Data[3] << 8) | (I2C_Receive_Data[4]))/65535.0 - 6    ) * 100;  
}


zcyxh12345 发表于 2025-7-18 08:35 | 显示全部楼层
需要水合校准的
 楼主| 地瓜patch 发表于 2025-7-18 09:42 | 显示全部楼层

请教,这种数字传感器不是已经校准过的么?直接IIC读取数据
jcky001 发表于 2025-7-18 16:06 | 显示全部楼层
建议用低噪声LDO为传感器供电,并在VDD引脚就近添加0.1μF陶瓷电容滤波,减少电源纹波干扰。
 楼主| 地瓜patch 发表于 2025-7-18 17:37 | 显示全部楼层
jcky001 发表于 2025-7-18 16:06
建议用低噪声LDO为传感器供电,并在VDD引脚就近添加0.1μF陶瓷电容滤波,减少电源纹波干扰。 ...

有道理,供电是用整流滤波后的电源,同时给另一路模拟元件供电,采集精度良好
kzlzqi 发表于 2025-7-25 14:59 | 显示全部楼层
代码中对温度和湿度的计算未使用浮点数精确运算,可能引入截断误差。
小夏天的大西瓜 发表于 2025-7-27 23:03 | 显示全部楼层
建议用低噪声LDO为传感器供电,减少电源纹波干扰
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1800

主题

14824

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:出一块TI-PLABS-AMP-EVM

1800

主题

14824

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部