关于STM32的ADC稳定性的问题,请原子兄和各位朋友指导

2019-10-15 21:13发布

起因 我用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数据结果 ----------------------------------------------------------------------- (1) 第1次试验的电压是用电阻分压
通道 电压(V) 理论值 最小 最大 平均 波动 PC0 CH10 2.0358 2527 2519 2572 2557.438849 53 PB0 CH8 2.8600 3550 3548 3614 3582.064748 66 PB1 CH9 2.4440 3034 3043 3120 3070.784173 77 ----------------------------------------------------------------------- (2) 第2次试验的电压 CH8 CH9 电压是用电阻分压 CH10 电压是用2节新的干电池连接的
通道 电压(V) 理论值 最小 最大 平均 波动 PC0 CH10 3.188 3957 3917 3988 3962.340909 71 PB0 CH8 2.8600 3550 3558 3599 3580.409091 41 PB1 CH9 2.4440 3034 3034 3092 3068.25 58 -----------------------------------------------------------------------
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
23条回答
huangxw
2019-10-16 14:30
回复【6楼】859724644:
---------------------------------
我用了原子的实验,测 3.3V 电压是很稳定,但如果被测电压不是 3.3v,波动也不小。
我做了试验,3.3v很稳定,我用电阻分压(没有用可变电阻无级调整),如果电压下降到接近3.2V时,出现比较大的波动。
我个人认为STM32的ADC饱和电压应该是小于 3.3V,这样测量3.3V电压,即使有波动也是在饱和范围内,所以看不出波动,感觉跳变很小。
我看了网络上的ADC试验都是测量 3.3V 的,859724644 你的项目板子测测 < 3.0V 的信号,看看波动如何可以吗?

一周热门 更多>