怎么利用内部15通道的Bandgap电压来测量外部电压
各位大师们,MCU是STC8H1K08,VREF是接到VCC的5V上的,怎么利用内部15通道的Bandgap电压来测量外部电压,外部电压是用ADC12来检测,有相关的计算公式或是参考代码吗?谢谢!请参考
我看了这个参考程序是检测电源电压VCC的,没有检测外部其它ADC口的电压的,所以有点不是很明白,要检测其它AD口的电压要怎么处理,谢谢解答! 你没看完:
好的,明白,谢谢! 利用内部15通道的Bandgap电压来校准外部电压,外部电压是用ADC12来检测:
读取ADC12,读取ADC15,则输入电压 = BGV * ADC12/ADC15。
为了避免浮点运算,转成整数运算,比如BGV取1.19V,则输入电压 = (u32)1190*ADC12/ADC15,结果单位为mV,比如结果为2355,则为2.355V。 好的,解答得非常祥细,非常感谢! 还有个地方不是很明白,这个BGV电压从ROM中读取出来,固定的1.19V还是一个变化的电压呢?会受电压变化的影响吗? 本帖最后由 梁工 于 2023-3-14 16:07 编辑
qjy822 发表于 2023-3-14 15:32
还有个地方不是很明白,这个BGV电压从ROM中读取出来,固定的1.19V还是一个变化的电压呢?会受电压变化的影 ...
BGV电压从ROM中读取出来的是生产测试时的实际电压,固定的1.19V是额定电压(Normal),这BGV在MCU2.5~5.5V供电时,其变化一般会小于1%。
如果你的VREF要更高的精度和更小的温度系数,请外挂基准。好的基准一般比MCU贵得多。
好的,明白,目前这个精度已经够用了,谢谢!
页:
[1]
2