打印

双ADC同步规则模式,ADC1数据偶尔出现毛刺,ADC2正常

[复制链接]
6757|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
st316|  楼主 | 2012-11-28 15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 st316 于 2012-11-28 15:15 编辑

我用双ADC同步规则模式采样三相电压与电流。
ADC1:Ua-->Ub-->Uc
ADC2:Ia -->Ib -->Ic

采样出来的数据,发现通过ADC1转换出来的数据偶尔会有毛刺,ADC2转换出来的电流信号平滑。如下图:


怀疑是电压信号不稳,于是将ADC1与ADC2采样的信号交换,改成如下:
ADC1:Ia -->Ib -->Ic
ADC2:Ua-->Ub-->Uc
发现通过ADC1转换出来的电流数据有毛刺,电压平滑。
由此可推断,所给信号没问题。

问题应该出在ADC1上,但ADC1的配置与ADC2没什么区别,采样时间也都是一样的。
沙发
st316|  楼主 | 2012-11-28 19:33 | 只看该作者
用过双ADC的说说

使用特权

评论回复
板凳
st316|  楼主 | 2012-11-28 23:32 | 只看该作者
有人用过这个模式吗

使用特权

评论回复
地板
IJK| | 2012-11-29 17:08 | 只看该作者
用的是STM32F1吗?

使用特权

评论回复
5
st316|  楼主 | 2012-11-29 19:08 | 只看该作者
4# IJK 芯片是STM32F103RBT6

使用特权

评论回复
6
st316|  楼主 | 2012-11-29 19:32 | 只看该作者
本帖最后由 st316 于 2012-11-29 19:34 编辑

重新说明一下现象。

硬件连接:
1、Ua--ADC通道1,Ub--ADC通道2,Uc--ADC通道3
2、Ia--ADC通道4,Ib--ADC通道5,Ic--ADC通道6

第一次实验:
双ADC同步规则模式,ADC1与ADC2的规则通道顺序如下:
ADC1:Ua--ADC通道1,Ub--ADC通道2,Uc--ADC通道3
ADC2:Ia--ADC通道4,Ib--ADC通道5,Ic--ADC通道6
现象:
Ua、Ub、Uc转换得到的信号有毛刺,如上面的两张图;
Ia、Ib、Ic转换得到的信号是标准的正弦波,很平滑。

第二次实验:
双ADC同步规则模式,ADC1与ADC2的规则通道顺序如下:
ADC1:Ia--ADC通道4,Ib--ADC通道5,Ic--ADC通道6
ADC2:Ua--ADC通道1,Ub--ADC通道2,Uc--ADC通道3
现象:
Ia、Ib、Ic转换得到的信号有毛刺,如上面的两张图;
Ua、Ub、Uc转换得到的信号是标准的正弦波,很平滑。

于是,可不可以这样认为:通过ADC1转换出来的信号就有毛刺,而ADC2转换得到的的就没问题。同时,始终是ADC1出来的数据有毛刺,而和ADC1、ADC2具体转换哪些通道没有关系。

使用特权

评论回复
7
st316|  楼主 | 2012-12-4 15:54 | 只看该作者
香水城最近怎么都不来了啊

使用特权

评论回复
8
song19881218| | 2012-12-4 17:03 | 只看该作者
还有这种现象?

使用特权

评论回复
9
uet_cache| | 2012-12-4 17:19 | 只看该作者
是不是你的ADC1和ADC2设置有所区别。这种问题没遇到过。

使用特权

评论回复
10
tanbow| | 2012-12-10 22:50 | 只看该作者
请问楼主问题是否已经解决,我也碰到类似的情况了!

使用特权

评论回复
11
LDTEST| | 2012-12-11 13:20 | 只看该作者
建议楼组去找下 STM32 bug 说明的 文档,其中好像就有关于 ADC1的采集毛刺说明,不过好像是启动时 有一下

使用特权

评论回复
12
st316|  楼主 | 2012-12-23 23:06 | 只看该作者
本帖最后由 st316 于 2012-12-23 23:10 编辑
tanbow 发表于 2012-12-10 22:50
请问楼主问题是否已经解决,我也碰到类似的情况了!

问题解决了,应该是信号本身的问题,芯片的ADC没问题的。
最初的现象确实是如我上述描述的那样,让人不得不怀疑是ADC的问题,后来用示波器查看,发现电压信号进AD前的波形就不如电流信号那般平滑,最后,在硬件上解决了电压信号有毛刺的问题后,再用AD去采样,得到的电压与电流数据就都很平滑了,问题莫名奇妙的就没了。
你可以先用示波器看下输入信号的波形。

使用特权

评论回复
13
明月小厨| | 2012-12-24 00:42 | 只看该作者
ADC的确有局限性的,好象是说单次启动转换的时候,有个小小的异常信号,mV级的;具体情况我记不清楚了;

使用特权

评论回复
14
tanbow| | 2012-12-25 13:32 | 只看该作者
楼上的大哥,能否再回忆一下,给指点指点啊!
在这个问题上,楼主是幸运的,莫名其妙的问题,莫名其妙就解决了,借楼主的帖子,我也说说我碰到的问题,和大家讨论一下有关STM32的AD使用问题,期盼有经验的大侠提点一下!

我是使用STM32F103VCT6上的ADC1采用扫描的模式顺序转换14个通道,每个通道的采样时间配置都完全一样,55个时钟周期,每次扫描转换由定时器触发,通过DMA读取转换数据。14个通道分别测量8路交流电流、6路交流电压,每周波24点采样,测试过程中发现,而部分通道测量精度较低,测量值飘动特别大。
    例如项目中是使用ADC的13、14和15通道分别测量A、B、C三相电压,测试中发现13通道测量的A相电压值稳定,精度非常好,而14、15通道测量的B、C相电压值飘动很大。此时很自然是用示波器观察14、15通道的输入信号是否有毛刺,观测结果是输入信号非常正常,没有任何毛刺!
    为了进一步排除是输入信号的问题,我做了个简单的实验,将原13通道的输入信号断开,把14通道的输入信号通过飞线引到13通道上,就是用13、14通道同时测量同一个输入信号(原14通道的输入信号),结果发现问题依旧,依然是13通道的测量值非常稳定,而14通道测量值飘动很大,两通道的两周波采样结果如下图:

图中红色为13通道的采样结果,蓝色为14通道的采样结果。可以看出在某些采样点上,通道14的AD转换值出现了明显的偏差,而且是采样值偏低了!再撤掉输入的交流信号,此时13和14通道相当于直接输入交流信号的偏置电压1.65V,观察两通道的AD转换值,13通道的转换值在2238~3340之间飘动,AD有2位的飘动,比较稳定,而14通道的转换值则比较有意思,大部分在2238~3340之间飘动,但偶尔有些转换值会偏低,甚至偏低到2231,相当于AD有4位的飘动了,这样的话12位的AD只能顶8位用了!
      同一个输入信号,分别用不同的AD通道进行采样,测量精度却相差较大,换个芯片情况依旧,这个问题困扰了我很长时间了!原打算使用STM32F103这个平台对公司的产品进行更新换代,现在看来该芯片的AD部分电路还真不容易掌握,问题未搞清楚前是不敢轻举妄动了!希望给位大侠能不吝指点一下,提出可能的原因,我将一一验证并给大家汇报验证结果,共同提高!


file:///C:\DOCUME~1\IBM-TH~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.jpgfile:///C:\DOCUME~1\IBM-TH~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.jpg

未命名3.JPEG (40.39 KB )

未命名3.JPEG

使用特权

评论回复
15
qiurenguo| | 2012-12-25 13:52 | 只看该作者
我弄电池内阻仪和你差不多,不过是单相的,嘿嘿。采的挺稳定的。也是双AD模式,才20hz信号。还加了一个注入模式。我觉得应该是电路问题

使用特权

评论回复
16
qiurenguo| | 2012-12-25 13:52 | 只看该作者
用的通道好像是AD1和AD2

使用特权

评论回复
17
st316|  楼主 | 2012-12-25 22:25 | 只看该作者
tanbow 发表于 2012-12-25 13:32
楼上的大哥,能否再回忆一下,给指点指点啊!
在这个问题上,楼主是幸运的,莫名其妙的问题,莫名其妙就解 ...
再撤掉输入的交流信号,此时13和14通道相当于直接输入交流信号的偏置电压1.65V,观察两通道的AD转换值,13通道的转换值在2238~3340之间飘动,AD有2位的飘动,比较稳定,而14通道的转换值则比较有意思,大部分在2238~3340之间飘动,但偶尔有些转换值会偏低,甚至偏低到2231,相当于AD有4位的飘动了

1.65V转换的结果怎么是在2238~3340之间呢,应该是4096/2=2048附近啊。

使用特权

评论回复
18
st316|  楼主 | 2012-12-25 22:42 | 只看该作者
照你贴出来的图看,你的偏置电压应该是2240/4096*3.3=1.8V,而不是你期望的1.65V。
另外,加大输入信号的幅度,也就是说,使采样点在0-4095间分布得更广,转换后的数据,还有这样的问题吗?
ADC的时钟最大只能14M,这点有没有注意?超过14M了就有精度下降的问题。不过通道13又没问题,所以这点应该不是问题所在。
好运!

使用特权

评论回复
19
tanbow| | 2012-12-26 09:45 | 只看该作者
st316 发表于 2012-12-25 22:42
照你贴出来的图看,你的偏置电压应该是2240/4096*3.3=1.8V,而不是你期望的1.65V。
另外,加大输入信号的幅 ...

1、偏置电压没有错,我使用的是片外3V的AD基准源,2240/4096*3=1.64V;
2、加大输入信号的幅度,问题依旧存在;
3、ADC的时钟是12M,有关ADC配置是否正确的问题基本上是第一时间考虑的,应该没什么问题。
幸好当初项目设计的余度较大,虽然某些通道存在精度问题,但仍然能达到项目要求的测量精度!
    从我做过的实验来看,基本可以肯定这个问题跟外部的信号输入电路无关,现在只剩下数模电路之间的布局和电源供电问题值得怀疑了,有关数模电路的布局问题考虑较多的是一点接地的方式和位置,这方面也作了一些实验,但没什么头绪,隐隐觉得是跟电源的供电问题有关,抽个时间发个邮件给ST的技术支持看有没有什么回应再说吧。
    顺便总结一下STM32F103的使用心得吧,这个芯片性价比是高,光看数据文档的话,片上资源比同等价格的其他芯片要丰富的多,非常适合运行一个小的操作系统做一些测控类的项目!但天下没有免费的午餐,低廉的价格带来的就是芯片上相关的外围电路设计过于简单,适应性不强,没想象中的好用(或许是我期望值太高了)
A、芯片FLASH的读取速度在高速时需要插入总线等待,72M的运行频率下时需要插入一个等待时间,如果程序是在FLASH运行的话,那就相当于程序的运行速度是36M了。如果程序运算量较大的话就要注意啦,尝试把运算的程序搬移到片上SRAM运行吧

使用特权

评论回复
20
tanbow| | 2012-12-26 09:55 | 只看该作者
B、片上RTC时钟起振问题,相当大家或多或少都会碰到吧,就不多说了!
C、最后一个就是我碰到这个AD测量通道精度问题了,虽然用增大设计余度的方法来躲开了这个问题,但我至少可以认为芯片AD的抗干扰能力不强,初步估计电磁兼容试验中的EFT快速瞬变抗扰试验对该芯片的AD采样值影响会非常大,只能又在软件上折腾一翻了!有关电磁兼容的试验,我的项目还没开始进行,结果出来再跟大家分享!

使用特权

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

本版积分规则

21

主题

167

帖子

3

粉丝