打印
[STM32]

吐槽一下stm32的adc模块!

[复制链接]
10931|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近被stm32的adc整疯了!!!实验平台为正点原子stm32mini板,板子为电脑usb5v供电。测试点为板子上3.3v电压的1/2分压(分压电阻为4.6k)。测试了40组数据。测试最大值-最小值=7mv。12位转换勉强能保持住仅最后3位变动。软件采用30组采样,排序,去掉最小10组、最大10组数据,中间10组取平均值。这样做并不好,效率太低了!!!即使这样,数据还是不理想。怎么办?求大家指点一下怎么再提高一下稳定性。送上测量数据:
1.648
1.649
1.649
1.649
1.649
1.65
1.65
1.65
1.65
1.65
1.65
1.65
1.65
1.651
1.651
1.651
1.651
1.651
1.651
1.652
1.652
1.652
1.652
1.653
1.653
1.653
1.653
1.653
1.653
1.654
1.654
1.654
1.654
1.654
1.654
1.654
1.654
1.654
1.654
1.654
1.655

2014-10-21_104610.jpg (156.82 KB )

2014-10-21_104610.jpg

相关帖子

沙发
平常心kxy|  楼主 | 2014-10-21 10:50 | 只看该作者
上边的数据排序了。送上原始数据:
1.651
1.649
1.65
1.651
1.654
1.65
1.65
1.654
1.654
1.653
1.653
1.649
1.654
1.65
1.653
1.654
1.655
1.65
1.654
1.654
1.653
1.651
1.653
1.654
1.654
1.65
1.649
1.652
1.649
1.653
1.652
1.654
1.651
1.652
1.648
1.651
1.651
1.65
1.65
1.652
1.654

使用特权

评论回复
板凳
ningling_21| | 2014-10-21 13:17 | 只看该作者
ADC电路的电源和参考电压很重要

使用特权

评论回复
地板
coody| | 2014-10-21 15:20 | 只看该作者
LZ的结果已经很好啦!
我用STM32F103R8T6,没有外部基准的,我用一个很好的电源供模拟电压,ADC跳动还是很厉害的,超过10个字,比普通的8位MCU的ADC都差。
类似的电路用在STC或AVR上都很少跳动。

使用特权

评论回复
5
dirtwillfly| | 2014-10-21 21:04 | 只看该作者
基准电压很重要

使用特权

评论回复
6
平常心kxy|  楼主 | 2014-10-21 21:20 | 只看该作者
dirtwillfly 发表于 2014-10-21 21:04
基准电压很重要

stm32rbt6基准电压是内部的。这个我控制不了啊

使用特权

评论回复
7
平常心kxy|  楼主 | 2014-10-21 22:09 | 只看该作者
ningling_21 发表于 2014-10-21 13:17
ADC电路的电源和参考电压很重要

用它测量干电池的电压效果好的多。波动最大也就是4mv

使用特权

评论回复
8
Jack315| | 2014-10-22 07:51 | 只看该作者
计算平均值建议使用移动平均的方法。这个方法比较容易设计出高效的代码。

稳定性有两部分组成:
1. 被测单元的稳定性
2. 测量系统的稳定性

系统电源的稳定性对上述两个方面都有影响。单片机内部ADC基准源的稳定性实际上受单片机电源的稳定性(纹波)的影响。改善测量系统稳定性的方法就是要提高单片机供电电压的稳定性。从测量数据来看,电源纹波和单片机自身的高频脉冲对电源的干扰应该是造成稳定性问题的主要原因。

使用特权

评论回复
9
yhn1973| | 2014-10-22 09:09 | 只看该作者
方法有问题。采用等间隔采样,0.1ms采样1次,采样200次做算术平均即可

使用特权

评论回复
10
dirtwillfly| | 2014-10-22 09:26 | 只看该作者
平常心kxy 发表于 2014-10-21 21:20
stm32rbt6基准电压是内部的。这个我控制不了啊

可以采用外部基准IC

使用特权

评论回复
11
zhaoyu2005| | 2014-10-22 09:29 | 只看该作者
LZ需要补习的东西太多了,估计连ADC的原理还不是很清楚。影响测量结果的因素好几个,一看到不是期望的数据就怀疑STM32的ADC性能,还拿跳动数值和8位的比,你知道分辨率和精度啥意思么,你弄个24位(非积分型)的外置ADC,跳动更厉害,难道专门的ADC也不行?

使用特权

评论回复
12
平常心kxy|  楼主 | 2014-10-22 12:04 | 只看该作者
zhaoyu2005 发表于 2014-10-22 09:29
LZ需要补习的东西太多了,估计连ADC的原理还不是很清楚。影响测量结果的因素好几个,一看到不是期望的数据 ...

你说的对。adc的原理现在都不想看了,大学时2学过都忘得差不多了基本就是采样,比较等等吧,现在焦头烂额也木有心情看,分辨率和精度的概念与这个ad波动大没啥关系吧。现在只是考虑影响ad的原因。对于32,想到的就是:参考电压的稳定、输入阻抗要小一些。现在测干电池还是比较好。测传感器运放输出还是波动大。求指点一下:放大器4502输出怎么才能滤除噪声。

使用特权

评论回复
13
zhaoyu2005| | 2014-10-23 09:09 | 只看该作者
先考虑下同样的信号,同样的基准电压问什么8位ADC跳动小,然后看下stm32的ADC采样周期和信号内阻的关系,再者先测电池的电压,让滤波后的数据几乎不跳,才考虑测传感器的放大信号

使用特权

评论回复
14
车彦锋| | 2014-10-23 09:20 | 只看该作者

使用特权

评论回复
15
qqljhang| | 2014-11-8 21:31 | 只看该作者
既然测干 电池电压木问题,那说明ADC基本上是没问题的。 问题在于放大输出后的电压测不稳,那么是不是需要用示波器先测一下实际物理电压到底稳不稳呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

107

帖子

3

粉丝