发新帖我要提问
12
返回列表
打印
[电路/定理]

单片机模数转换中遇到的奇特现象,不知道大家遇到过否?

[复制链接]
楼主: 幸福至上
手机看帖
扫描二维码
随时随地手机跟帖
21
幸福至上|  楼主 | 2015-3-17 17:04 | 只看该作者 回帖奖励 |倒序浏览

貌似和手册上提供的都不太一样,谢谢,我仔细研究下,看能否理解懂~~

使用特权

评论回复
22
linqing171| | 2015-3-17 17:04 | 只看该作者
可能性1:
二极管随电流不同, 压差变化巨大.
采样的时候,漏入到AD的电流为固定的流入IO 1uA, 而不采样的时候, 可能漏电流为0±0.1uA,甚至寄生的上拉电阻会拉高.
所以到地放个大电阻消耗掉这部分电流.

可能性2: 你的前级信号有波动
二极管和后面的电容形成了 峰值检波电路
C21并联个100k电阻, 一切都清净了

使用特权

评论回复
23
linqing171| | 2015-3-17 17:07 | 只看该作者
步骤1 把二极管去了,不采样模式,测试C21上的电压.
步骤2 在上步骤基础上, 下拉1M电阻, 继续测试C21上的电压

使用高阻抗的运放缓冲后测试(输入漏电流极小的运放)

使用特权

评论回复
24
幸福至上|  楼主 | 2015-3-17 17:08 | 只看该作者
你好陌生人 发表于 2015-3-17 16:42
个人感觉,流过D10的电流不同,D10的管压降是不同的,所以造成的采样不准确 ...

嗯,应该是的。300左右的AD差值代表:1.5V的电压变化,和该二极管的电流/电压曲线图还是很能吻合的。

使用特权

评论回复
25
幸福至上|  楼主 | 2015-3-17 17:13 | 只看该作者
lvyunhua 发表于 2015-3-17 16:56
AD采样,需要考虑很多因素的影响,电源电压变化、线路阻抗变化、元器件参数、环境温度、外接干扰影响等都需 ...

版主说的确实,不过这需要多看书,多实践才行。所以要想做出个好的设计,平时就要多看多问多做。这次和大家讨论此现象,注意到了也学到了很多。:)

使用特权

评论回复
26
幸福至上|  楼主 | 2015-3-17 17:23 | 只看该作者
linqing171 发表于 2015-3-17 17:04
可能性1:
二极管随电流不同, 压差变化巨大.
采样的时候,漏入到AD的电流为固定的流入IO 1uA, 而不采样的时候 ...

非常感谢你的分析啊,实在是太透彻了,我觉得应该也是这么回事,我去试试AD输入端下拉一个大电阻试试。看来下一版还是要用运放进行缓冲才算好。

使用特权

评论回复
27
幸福至上|  楼主 | 2015-3-17 17:25 | 只看该作者
lfc315 发表于 2015-3-17 16:27
楼主你可以这样试试:
单片机不要开启AD转换,把C21加大到105,上电等待几分钟,在电路进入稳态以后,接上 ...

呃,你说的这种方法我大概理解你的意思了,不过具体的现象原因待我查一查,/(ㄒoㄒ)/~~

使用特权

评论回复
28
幸福至上|  楼主 | 2015-3-17 17:37 | 只看该作者
linqing171 发表于 2015-3-17 17:07
步骤1 把二极管去了,不采样模式,测试C21上的电压.
步骤2 在上步骤基础上, 下拉1M电阻, 继续测试C21上的电压 ...

我将D10去掉后短接,R19换成100K的电阻,上电再次测量,读数就基本稳定在:514-515之间了,看来确实需要一个电阻到地来消耗这部分电流。

使用特权

评论回复
29
teddeng| | 2015-3-17 22:04 | 只看该作者
stc这单片机,做些简单的应用还可以,稍微讲究一点的,什么参数都别指望他给你,说白了还是有些东西不过关,那个兼容STM32的GD也是一样,干脆不写,省得越描越黑。就像这ADC,你要是看看ST,MICROCHIP的手册关于ADC的描述,就知道差别有多大了。不知道你采样速度是多少,速度越快,那个滤波电容,以及输入电阻就越讲究。

使用特权

评论回复
30
幸福至上|  楼主 | 2015-3-17 22:57 | 只看该作者
teddeng 发表于 2015-3-17 22:04
stc这单片机,做些简单的应用还可以,稍微讲究一点的,什么参数都别指望他给你,说白了还是有些东西不过关 ...

╮(╯▽╰)╭,要求不严格的应用还是用一下嘛,实在是要求比较精密稳定的,肯定不能用STC搞。能用则用,全当支持下国产了嘛:lol

使用特权

评论回复
31
lxj19901115| | 2015-3-18 17:51 | 只看该作者
你这个主要是104电容充电情况引起的,然后你用万用表测的话,发现很正常,那么呢,针对这个,你在软件部分应该这样做,
1 降低的你的ADC采样的时钟,
2 在读取AD数据之前,你应该要有个60-100NS的延时,然后在去读取数据,在对读取出来的数据,连续采集100次左右,算平均值,这样算出来的值跟理论值相差的AD数值应该在6以内,属于正常的误差范围

使用特权

评论回复
32
lxj19901115| | 2015-3-18 17:53 | 只看该作者
而且像这类AD采集电路的话,引起的误差,,,跟走线有很大的关系,,

使用特权

评论回复
33
幸福至上|  楼主 | 2015-3-18 17:56 | 只看该作者
lxj19901115 发表于 2015-3-18 17:53
而且像这类AD采集电路的话,引起的误差,,,跟走线有很大的关系,,

谢谢建议。ADC采集时钟已降至最慢速度,采样的数据头几次都是丢弃的,可能采样次数还需要增加一些。我觉得AD采集有误差跟我在AD部分的布局,布线有很大关系~

使用特权

评论回复
34
mengjunok| | 2015-3-20 09:33 | 只看该作者
9楼说的对,D10反向电阻很大,放电很慢,应增加一个放电的电阻或三极管。

使用特权

评论回复
35
幸福至上|  楼主 | 2015-3-20 14:21 | 只看该作者
mengjunok 发表于 2015-3-20 09:33
9楼说的对,D10反向电阻很大,放电很慢,应增加一个放电的电阻或三极管。

去掉D10,R19改为100K电阻,采样基本很准确了~

使用特权

评论回复
36
zouqh888| | 2017-3-5 22:35 | 只看该作者
你好,我也是用ACS712 测量电机输出电流的,我可以跟你请教问题吗?我的qq是36880574,我看你学的比我厉害多了,想清你帮我这个小白呢,或者我加你qq也行。我这边是用pwm输出,我的读书更加乱,我取不到正常运行电流,但是我用万用表测量电压是稳定的。可以沟通下没?

使用特权

评论回复
37
戈卫东| | 2017-3-5 23:16 | 只看该作者
你这串二极管的搞法来源于哪里?无法理解。。。。。

使用特权

评论回复
38
幸福至上|  楼主 | 2017-3-6 00:14 | 只看该作者
戈卫东 发表于 2017-3-5 23:16
你这串二极管的搞法来源于哪里?无法理解。。。。。

acs712芯片手册上的参考电路,当时初次接触该芯片,就照着搬过来,出来这种问题,现在早已修正了。

使用特权

评论回复
39
zhuyemm| | 2017-3-6 10:40 | 只看该作者
不是已经由2个电阻分压了么?二极管显得多余吧;

使用特权

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

本版积分规则