温度记录仪之低温下ADC采样不准跳变问题

隐身守侯 提交于 2020-01-16 03:54:45

一、问题展示

     本电工在做一款库房,医疗冷链用的温度记录仪产品,产品硬件方案不复杂,体现如下:

     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以上。

    希望能给做类似产品的电友一点参考价值。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!