起因
我用STM32采集一个电压数据,感觉波动比较大,
修改了ADC采集为定时采集或连续采集,ADC结果的数据为DMA自动传送或程序读取到后程序自己传送,感觉效果差不多;
加了各种硬件滤波,感觉效果不是很明显。
也请教了网络上的各位朋友,有人说STM32的ADC效果不好,跳变很大;有人说STM32的ADC效果很好,波动可以做到2-3个跳变。
做了一些试验,主要是为了请教各位,看是不是我有什么地方出问题了,还是STM32的ADC就是稳定性不好。
附件中有测试数据和程序,程序是用 MDK 3.80 编译的,如果要用 MDK 4.x 编译,请复制 MDK4版本\USER 目录下的文件,覆盖到 USER 目录下
本次试验的说明
1 板子用的是原子的 ALIENTEK MiniSTM32,我买了6、7块板子,都换过了,结果差不多
2 接线都是负端接 ALIENTEK MiniSTM32 的 GND,电阻分压的正端直接取 MiniSTM32 的 3.3V
3 本次试验是为了看STM32的ADC的稳定性,所以数据没有用软件滤波,
我用了软件滤波,波动(最大值-最小值)大概可以降到未滤波前的 10%,基本可以接受。
4 程序我自己写了一些,也换了网络上各位朋友共享的程序,感觉差不多,现在这个是
的 3个通道ADC+DMA+串口
5 ADC数据结果
---------------------------------------------------