利用单片机内部基准电压测量电源电压的方法(基于单片机电压测量系统设计)
导语:利用单片机内部基准电压测量电源电压
最近做一个蓝牙温度记录仪的项目,MCU采用意法半导体(ST)的STM8L151,纽扣电池供电,需要检测纽扣电池电压,低电量的时候报警。由于纽扣电池的电压在不断的改变,在做设计验证的时候,使用一颗LDO降压后作为ADC基准源,电路图如下:
图中(1)为LDO降压电路,作为ADC的外部电压基准源,如图(3),纽扣电池电压变化的时候VREF_1.8V保持不变。
图中(2)部分为纽扣电池电压的分压电路,分压后作为ADC的采样输入,如图(4)
采用上图电路,可以实现对纽扣电池电压的检测,但是既增加了成本,又增加了电路的复杂性。是否可以考虑其他方法呢?答案是肯定的。
在STM8L151芯片的内部,有一个固定的内部参考电压,ST的技术手册里命名为VREFINT
该内部参考电压的值即使芯片电源电压在工作范围内波动时,它基本维持不变即1.224V,而且该电压信号可以通过指令控制直接连接到ADC 的某个AD 通道而求得该电压对应的AD 值。
这里需要说明一下,该内部参考电压VREFINT并非ADC 的参考电压,ADC 的参考电压
依然是VDD。即使VDD 有所波动,这个VREFINT电压恒定不变,对于ADC 电路而言,它只是个测试点。这里经常有人犯迷糊,把VREFINT内部基准参考电压跟ADC 模块的参考电压混为一谈。
此时在程序上把VREFINT作为ADC的采样电压,纽扣电池电压作为ADC的外部基准电压,那么可以得到一下公式:
只要读出ADC的值,就可以计算出纽扣电池的电压了,电路图如下:
通过和上图对比,可以看此图更加精简。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小畅创作整理编辑!