如果需要高精度的ADC采样,最好的方式是外接单独的高精度ADC模块,16bit或者24bi的SPI通讯接口的ADC模块能够有效提高ADC采样精度。
STM32的ADC部分都是12bit的,不考虑干扰问题也只能识别0~4095,有效分辨率则会更低一些。
首先,ADC的位数是固定的了,如果选择好上芯片型号,那么精度的确定,从两方面,硬件与软件
硬件上,使用比较稳定的ADC参考电压,纹波要尽量的小,
外部的ADC部分的电路布局要与其他的高速信号距离远一些,有必要时加上隔离
软件上
做好软件上的滤波,根据实时性的要求,采用不同的滤波算法得到不同的精度要求。
题主的意思应该是使用片上ADC。这种情况下,ADC位数是固定的。
想办法提高参考基准电压精度,使用基准电压芯片提供参考电压;程序上过采样,同时考虑合适的滤波算法。
采样精度不好提高
采样分辨率可以考虑过采样
另外要考虑用外接基准,而且要纹波小的