- A+
在硬件设计的过程当中,我们通常使用MCU的AD口去检测某个设备的输出电压,比如做电池电压监测等等,我们有时候需要AD的采样精度特别高,但是在实验的过程中,往往AD值采样是比较粗略的,不精确,容易出现一定幅值的跳变,那么,AD值不精确,往往是由于如下几个原因所导致的。
1. MCU的AD部分基准电压不稳定,即VREF值。
2. MCU内部AD的分辨率较低,通常STM32的采样精度指达到12位等。
3. 硬件系统布线不合理或者是硬件故障,外围电路的串扰干扰AD采样口。
4. MCU在进行AD采样的时,没有进行校准或者没有写算法。
5. AD采样的网络存在很高的阻容性负载,这时出现会AD采样迟滞性效应。
6. 硬件系统出现一定程度的轨道塌陷噪声影响MCU稳定工作。
7. AD采样口外围电路,如采集电池电压检测的分压电阻精确度不高,或输入电阻超过MCU的AD口的最大输入电阻。
8. AD口的响应速度低,不满足外部电路高速要求。
针对上述原因,提高AD的采样精度可以从以下方面着手。
1. 采用高精准的AD基准电压,必要时,不用MCU的VCC输入电源做为参考,可以使用基准稳压源,如TL431等。
2. 采用高分辨率的AD。
3. 合理布线,使硬件串扰最低,必要时,要进行MCU子系统的模数分离,GND也要隔离。
4. AD采样的时,要进行自校准,或写算法,可以采用平均值方法,或是其他高级算法。
5. 尽最大程度的降低阻容性负载。
6. 降低电源的轨道塌陷噪声,采用高质量的滤波电容器。
7. 降低AD口的输入内阻,如果有要求,可以加高精度的集成运放做电压跟随器来解决问题。
8. 提升AD采样口的响应速度。
下面是一篇有关STM的AD采样精度不高的原因,以及相应的解决方案,读者可以下载进行参考。en.CD00211314.pdf