背景 调试基于STM32为主控,内部ADC采集电阻分压式电压值电路,STM32未使用参考电压源,直接将Vref接至3V3供电端,发现采集后电压误差较大,其电路图如下所示。 理论计算 根据分压公式,理想Vr=1.967V。 调试 万用表电压值测量如下图。 判断采集电压误差大,与程序无关,电路问题。 去掉D1二极管与同时去掉D1二极管与R3电阻,其值相同,如下值。 判断二极管导致了电压异常。 最终电路修改为如下形式,理由为STM32内部自带钳位二极管,且稳压二极管反向特性较差,加上后,改变了ADC通路特性,导致损耗。 又将51K与10K更换100K与20K,计算后其精度更高。