当前位置:
AIGC文章详情

张大妈

【嵌入式开发教程】湿敏电阻测湿度实现

源自UP主:碎岁念年七安

02-13 11:11

这篇内容深入解析了湿敏电阻在嵌入式系统中的实现方案,从湿度基本概念到驱动电路设计,再到ADC数据采集和温度补偿算法,为嵌入式开发者提供了完整的湿度测量解决方案。

【嵌入式开发教程】湿敏电阻测湿度实现智能速览

  • 湿敏电阻需交流电源驱动以防止极化和电解作用

  • 湿度与温度强相关,测量时必须进行温度补偿

  • 实际项目采用250Hz驱动频率而非厂商建议的1kHz

  • 通过定时器中断实现精确的方波生成和ADC采样

  • 湿敏电阻精度有限,存在±5%RH的测量误差

【嵌入式开发教程】湿敏电阻测湿度实现精华内容

湿敏电阻的驱动和测量涉及多个技术细节,包括交流电源设计、ADC采样时序控制和温度补偿算法,下面将详细解析这些关键实现方法。

湿度基本概念

湿度通常指相对湿度,即在某一温度下空气中所含水蒸气的实际密度与该温度下饱和密度之比。

例如10℃时饱和绝对湿度为9.4g/m³,11℃时为10g/m³。若在10℃测得湿度50%,换算到11℃下的湿度值为9.4×50%÷10=47%。

这表明湿度测量与温度密切相关,必须考虑温度补偿才能获得准确结果。

驱动电路设计

湿敏电阻需要交流电源驱动以防止极化和电解作用,这使其驱动电路比热敏电阻更复杂。

典型电路使用三个I/O口:PB0和PB1构成交流电源驱动(当PB0为高时PB1为低,反之亦然),PC4作为ADC采集端口。

电路包含多个电阻:湿敏电阻串联470Ω电阻,并联1MΩ电阻,再串联39KΩ分压电阻。这个设计来自厂商指导,可直接应用。

驱动频率选择

厂商建议使用1kHz频率驱动湿敏电阻(周期1ms,高低电平各500μs),但实际项目经验表明250Hz(周期4ms)已足够。

降低频率后测量数据无显著变化,且对湿敏电阻寿命和材料无影响。更重要的是,250Hz只需1ms定时器中断,而1kHz需要250μs中断,会显著增加CPU负担。

ADC采样应在方波中间位置进行,因为实际方波存在上升和下降过程,中间采样更准确。

ADC数值预处理

为减轻CPU运算负担,可在代码中将阻值表预先转换为ADC数值表。

例如25℃、20%湿度时对应ADC值为183。这个数值是通过电路计算得出:当PB0为高PB1为低时,ADC采集39KΩ电阻电压值。

计算过程:湿敏电阻5MΩ并联1MΩ得833KΩ,加上39KΩ分压电阻,ADC采集的电压比例为39÷872≈4.47%,12位ADC(0-4095)对应值约为183。

温度补偿算法

湿敏电阻的阻值随温度和湿度变化,需二维数组表示(温度间隔5℃,湿度间隔5%RH)。

当测量温度不在表格节点时(如18℃位于15℃和20℃之间),采用线性插值计算对应ADC值。

算法步骤:先定位温度区间(18℃÷5=3,即第3行和第4行),对每个湿度点,用公式计算中间值:arr[i] = row3[i] + (row4[i]-row3[i])×(18%5)/5。

通过循环处理18个湿度点,得到18℃下的完整ADC对应表。

精度限制说明

湿敏电阻存在±5%RH的精度限制,极端情况下偏差可能达10%RH。

例如实际湿度50%时,测量结果可能在45%-55%范围内。这是由传感器物理特性决定的,无法通过算法完全消除。

厂商参数表显示:工作温度0-60℃,湿度95%RH以下(非结露),响应时间吸湿≤20s、脱湿≤40s,年稳定性≤1%RH/年。

在应用中需根据精度要求决定是否采用更高精度传感器。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章