起因
我用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
-----------------------------------------------------------------------
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
我的参考电压是先用DC-DC把12V转5V或直接从电脑的USB取5v,而后通过 1117 转 3.3V ,电压波动应该不大了。如果这个都算电压波动大,那请教大家在实际中是用什么电压的方案。
还有 859724644 能不能把你的采集程序给一个我参考下,谢谢。
1,被测电压的稳定性。
2,参考电压的稳定性。
3,接线方式(GND尽可能靠近VSSA)
---------------------------------
1,被测电压的稳定性。
1路是用2节新的干电池提供,另外2路是用电阻分压,接线都是负端接 ALIENTEK MiniSTM32 的 GND,电阻分压的正端直接取 MiniSTM32 的 3.3V
2,参考电压的稳定性。
参考电压,我是用原子板。
3,接线方式(GND尽可能靠近VSSA)
原子板,被测电压负端接 ALIENTEK MiniSTM32 的 GND
---------------------------------
我用了原子的实验,测 3.3V 电压是很稳定,但如果被测电压不是 3.3v,波动也不小。
我做了试验,3.3v很稳定,我用电阻分压(没有用可变电阻无级调整),如果电压下降到接近3.2V时,出现比较大的波动。
我个人认为STM32的ADC饱和电压应该是小于 3.3V,这样测量3.3V电压,即使有波动也是在饱和范围内,所以看不出波动,感觉跳变很小。
我看了网络上的ADC试验都是测量 3.3V 的,859724644 你的项目板子测测 < 3.0V 的信号,看看波动如何可以吗?
一周热门 更多>