一、问题展示
本电工在做一款库房,医疗冷链用的温度记录仪产品,产品硬件方案不复杂,体现如下:
STM8L+LCD+KEY+FLASH+NTC,供电方式为3V纽扣电池直接供电。
由于低功耗的需求,NTC直接用单片机IO口供电,以便于在睡眠的时候,关闭NTC电源。
产品出货挺稳定,最近遇到个专业的制药企业的客户,在测试我的产品时候,低于零下20℃后,产品开始出现问题,温度不准确,比实际温度要高4℃以上,这是整个方案的问题。
二、解决过程和方法
开始以为是纽扣电池问题,所以尝试用稳压源供电,然后至于低温下测试,结果温度还是不正确,电源方面的原因排除了。
接下来看NTC阻值表,以及我的二分法快速查表是否正确,将ADC值赋值几个固定值(这个值是零下20℃以下的采样值),几个cesium结果,查表法是没问题的,此因素排除。
根据多年温度产品经验,思路聚焦在供电IO口上,睡眠唤醒后,ADC采样前,NTC供电IO要给高电平,这个动作以后,才能采样,我是这么做的,没错。
但是!!!问题出在这了,之前delay10ms,在常温下,甚至零下10℃以上,是没问题的,很低的温度就不行了,我不断的加大延时时间,到1s左右,问题解决了,温度误差在1℃范围内。
三、结论
在低功耗温度产品,NTC用IO供电方案中,睡眠唤醒后,NTC供电IO给高电平的时间一定要充足,超低温下,IO电平要很长时间才能稳定下来,10ms对于单片机来说很长了,但是不够,本次产品BUG的经验值是1S以上。
希望能给做类似产品的电友一点参考价值。
来源:CSDN
作者:电子浪\人/
链接:https://blog.csdn.net/xuechengchang/article/details/103987756