此项目用的芯片为STM8005,ADC10位精度
最近做一个交流电压采样项目时发现adc所读取出来的数据和其输入的电压偏差较大,但是其他通道的adc数据正常,只有电压采样的数据由问题。最终经过查找后发现是adc输入阻抗过小导致的问题。
目录
一、没改之前的电路
二、改动之后的电路
将10M,510K换成了100K,5.1k,此时adc输出的电压正常。
三、问题可能的原因
查找手册关于这块的说明,发现没有类似于输入阻抗的要求,只有输入电流的限制,猜测有可能是输入电流过小导致的问题。查到网上的一些说法,芯片adc的输入阻抗大概在10k左右,大于这个值就有可能产生问题。查stm8 的datasheet没有找到关于RAIN的说明,查到了stm32中的相关说明,其adc的输入阻抗为50K,所以推测stm8的输入阻抗也应为50K左右。
四、最终解决
随后因为100K,5.1K的配比会导致电压的偏差过大,电压采样的精度过低,在输出端加入了电压跟随器来降低信号的输出阻抗,电压采样正常。