打印

adc 跳变

[复制链接]
2604|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pttptt85|  楼主 | 2013-5-3 21:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我将VSSA和GND连在一起,VDDA和VCC通过一个电感连在一起,并有滤波电容。
用电阻将外边的信号分压,在接地电阻端并一个电容。
将ADC时钟为8M,ADC采样时间为239.5个时钟周期。
最后ADC的得到的值总是跳变的,且最大与最小的误差有0.2v左右。用万用表测试CPU的ADC脚电压稳定到小数点后第2位(即不变)。
请高手帮忙解决一下撒?是什么原因呢?
沙发
jiaxinhui| | 2013-5-3 21:34 | 只看该作者
把ADC的采样周期降低试试。

使用特权

评论回复
板凳
pttptt85|  楼主 | 2013-5-3 22:06 | 只看该作者
如果采样周期为1.5的话误差更大

使用特权

评论回复
地板
清风致影| | 2013-5-4 09:14 | 只看该作者
多采几次平均看看

使用特权

评论回复
5
mmuuss586| | 2013-5-4 09:25 | 只看该作者
1、输入
用高速万用表测直流信号或交流信号;
或用示波器测;
判断输入信号稳定性到底怎么样;
2、程序
从低速到高速,一步步往上试,看有什么区别。

使用特权

评论回复
6
pttptt85|  楼主 | 2013-5-4 13:54 | 只看该作者
我用51做同样的ADC,小数点后第3位都比较稳定。
速度越低,跳变越小(小数点后第2位,有时第1位),速度越高,数据有时完全不可用

使用特权

评论回复
7
dream_yi| | 2013-5-4 14:47 | 只看该作者
现在的问题可以试试:
  1.测试电源电压是否稳定,用示波器看看纹波.
  2.ADC配置是否得当,初始化是否校准了.

使用特权

评论回复
8
hawksabre| | 2013-5-4 17:47 | 只看该作者
降低采样率   这样会不会好一点   试一下   

使用特权

评论回复
9
pttptt85|  楼主 | 2013-5-5 09:58 | 只看该作者
电源不用考虑了,我用的是电池,信号源用的是手持的发生器,应该很干净。
ADC已经是APB2时钟的8分频了,采样时间是239.5,基本上是最低了,
但还是跳变,比如:2V的信号,测试得:1.93、2.05、1.91、2.11。。。,
最大和最低之间差不多又0.2v的变化。

使用特权

评论回复
10
dream_yi| | 2013-5-5 12:06 | 只看该作者
还是看一下电源吧,PC USB都不稳定 。你试着跟踪一下VDDA的电压就知道是不是了。

使用特权

评论回复
11
pttptt85|  楼主 | 2013-5-5 15:23 | 只看该作者
我用51系列怎么没有遇到这样的情况呢?
STM32难道就这么不稳吗?

使用特权

评论回复
12
ysumryxsx| | 2013-5-7 09:57 | 只看该作者
有没插JTAG?

使用特权

评论回复
13
IJK| | 2013-5-7 10:32 | 只看该作者
pttptt85 发表于 2013-5-5 09:58
电源不用考虑了,我用的是电池,信号源用的是手持的发生器,应该很干净。
ADC已经是APB2时钟的8分频了,采 ...

用电池做电源,其实不能保证就好,好的电源关键在于内阻低。

使用特权

评论回复
14
IJK| | 2013-5-7 10:40 | 只看该作者
话说STM32的ADC,随便用用都还马马虎虎:
电源用PC的USB 5V。信号直接测Vdda 用10k电位器的分压,当然后面有简单的RC滤波(47ohm+0.1uF)。我采样了超过10000个点,没有作平均,最大、最小的差值是20左右,相当于20/4096 = 0.49%,相当于16mV(假定Vdda=3.3V)

初步感觉LZ的问题在于硬件,可以用示波器的交流档看看Vdda电源和信号的纹波。

使用特权

评论回复
15
IJK| | 2013-5-7 10:42 | 只看该作者
另外,LZ用的是哪个STM32芯片?

使用特权

评论回复
16
yyxlmq1314| | 2014-9-29 21:29 | 只看该作者
其实我有个问题想问的,就是STM32F051R8的ADC的,配置成ADC通道的时候,GPIO口悬空的时候用万用表测量会有VCC/2的压降,这个压降对ADC采样有没有影响呢?

使用特权

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

本版积分规则

45

主题

110

帖子

1

粉丝