背景
这两天在做一个工装的调试,其中有一项是对接入设备的电流进行检测。
测试发现 ADC 采样换算后的电流值与实际的电流值相差甚异。
后来才发现,在开启 ADC 采集之前没有对ADC进行校准所导致。
ADC采集流程
Notice:
在进行测试之前,必须使用 HAL_ADCEx_Calibration_Start
函数进行 ADC 校准,不然测出来的值会有很大的误差。比如说,我现在的机器的平均电流为 100mA, 而 ADC 输出的仅有 68 mA。
采样时间对测量的影响
上图是 2 种采样时间的测试结果,其中:
- △I 表示:上次采集与下次采集之电流差
- △I / I 表示:本次采集与下次采集之电流差除以本次采集的电流值
由图中,可以看到,239.5 Cycles 明显比 28.5 Cycles 波动性小。
这个是和采集密度和采样窗口的大小所导致。