拆开的那个保温杯用了NTC来测温,它的优点是便宜,缺点就是温度误差很大,在一些对温度精度要求不高的场合可以用,但要是要求精度的话就不能选用NTC了,这次我想做一个精度更高的,因此选了GX18B20,这个芯片兼容DS18b20,但精度更高,可以到0.1℃。
驱动18b20的程序网上有很多,在这里就不再赘述,我主要说说我觉得比较重要的几点。
1.电容开关芯片
这个模块是用纽扣电池来供电的,所以就要求它的静态功耗低,这样的芯片有很多,比如JL223B,这个芯片是由外部电容开控制它的打开和关闭的,在它的一个IO口上外接一个触摸弹簧,当手或者其它物体接近这个弹簧就能控制这个芯片打开或者关闭电流,从而控制单片机工作。
使用这种芯片开作为开关基本上就不用考虑功耗的问题, 我做这个模块静态功耗只有5uA,纽扣电池完全够用了。
2.单片机的选型
选择哪种单片机呢?首先肯定要便宜,然后就是IO口要足够驱动数码管,当然质量也不能差,毕竟保温杯经常都得装沸水的,杯盖的温度应该也低不到哪里去。在这我选的是stm8l051,驱动GX18b20和数码管IO口足够了,至于驱动数码管当然是用了动态扫描的方式了。
3需要注意的小细节
首先就是电容开关的灵敏度,这个需要根据实际情况来调整,具体调整方法参阅芯片说明文档。
其次就是需要注意结构设计,这个小模块我用的是MSOP8封装的GX18b20,但这种贴片的封装用在这里的测温效果反而不好,因为芯片与被测物体的接触不太方便,使用TO92或者TO92S封装的反而效果更好一些。
总的来说这个模块实现起来其实并不难,但这个思路的可以用到的地方有很多,这是我第一次和大家分享自己的一些小心得,有不正确的地方希望大家多多指正,共同进步。