打印

48脚的STM32F103C8T6,就是AD有很大跳动

[复制链接]
10546|65
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
chunyang| | 2017-7-31 17:11 | 只看该作者
如果输入是稳定的(务必先确定这一点),要么是编程有误,包括设置不对等,要么是你要求太高,超出了内置ADC的参数,这时需要外置基准甚至使用更高精度的外置ADC。

使用特权

评论回复
板凳
fzyuan| | 2017-7-31 17:34 | 只看该作者
本帖最后由 fzyuan 于 2017-7-31 17:37 编辑

要搞测量电路的话,就不要仅着眼于程序,那会坑死你的。

楼主所说的“AD有很大跳动”,那么“很大”是什么意思?
如果你的AD值最大只有20个字,那么跳动2个字就感觉很大了,但AD并没有对不起你啊,你要做的是将信号放大后再接入AD。
如果你的AD值最大有2000个字,而跳动有200个字,那确实很大了(但还是不一定是AD的锅),这时应该从信号特征着手分析,如果信号本身是无规律的大幅度跳动,在程序上也很难有办法的。
然而,有些信号虽然波动很大(譬如说经过整流的正弦波,无滤波),但是他的变化是有规律的,此时可以在程序上做**,根据其周期性可以将纹波过滤得很干净的。

使用特权

评论回复
地板
ningling_21| | 2017-7-31 17:44 | 只看该作者
跳动有多大?
有无滤波处理?

使用特权

评论回复
5
YEYEYElxj|  楼主 | 2017-7-31 19:09 | 只看该作者
chunyang 发表于 2017-7-31 17:11
如果输入是稳定的(务必先确定这一点),要么是编程有误,包括设置不对等,要么是你要求太高,超出了内置AD ...

输入目前用的是一节干电池,是稳定的。

使用特权

评论回复
6
YEYEYElxj|  楼主 | 2017-7-31 19:10 | 只看该作者
ningling_21 发表于 2017-7-31 17:44
跳动有多大?
有无滤波处理?

跳动有的时候会有后面两位从DE到EF,目前要求是让我不要加滤波电路

使用特权

评论回复
7
YEYEYElxj|  楼主 | 2017-7-31 19:20 | 只看该作者
fzyuan 发表于 2017-7-31 17:34
要搞测量电路的话,就不要仅着眼于程序,那会坑死你的。

楼主所说的“AD有很大跳动”,那么“很大”是什么 ...

如我发图中的data1的最后两位跳动范围都在十位左右,用的输入时是电池

使用特权

评论回复
8
fzyuan| | 2017-7-31 20:14 | 只看该作者
本帖最后由 fzyuan 于 2017-7-31 20:17 编辑
YEYEYElxj 发表于 2017-7-31 19:20
如我发图中的data1的最后两位跳动范围都在十位左右,用的输入时是电池

1.无图;
2.“电池”:
电池是1.5V?3.0V?3.6V?
直接接入到AD端口?
还是分压后到AD?
分压电阻是多少?
分压器输出有没有电容?
电容是多大?
AD采样是单次还是连续?
单次的话间隔时间是多少?
是定时的还是随机的?
连续的话采样率是多少?采样时间是多少?

如果以上问题都能不看程序不看电路直接而准确地回答的话,你就可以解决问题了。
而网友对上述问题也都一无所知,大家怎么可能准确的判断问题所在呢?

使用特权

评论回复
评分
参与人数 1威望 +10 收起 理由
icecut + 10 很给力!
9
Wattle_He| | 2017-7-31 20:18 | 只看该作者
8楼+65536。可以试试把ADC参考电压导进去看看情况。

使用特权

评论回复
10
YEYEYElxj|  楼主 | 2017-7-31 21:19 | 只看该作者
fzyuan 发表于 2017-7-31 20:14
1.无图;
2.“电池”:
电池是1.5V?3.0V?3.6V?

1.1.5V
2.直接接入
3.没有分压,没有电容
4.AD采样连续
5.采样时间239.5个周期
6.你指的什么图

使用特权

评论回复
11
cjseng| | 2017-7-31 22:46 | 只看该作者
芯片电源电压是否稳定?

使用特权

评论回复
12
chunyang| | 2017-7-31 23:25 | 只看该作者
YEYEYElxj 发表于 2017-7-31 19:09
输入目前用的是一节干电池,是稳定的。

先确定接触良好。

使用特权

评论回复
13
微风| | 2017-8-1 00:02 | 只看该作者
AD寄存器有个校准位,是否已经校准?

使用特权

评论回复
14
fzyuan| | 2017-8-1 08:43 | 只看该作者
YEYEYElxj 发表于 2017-7-31 21:19
1.1.5V
2.直接接入
3.没有分压,没有电容

总的跳动不到15mV。
电池是直接接入AD端口,之间有没有串联电阻?
如果有电阻,最好在电阻之后并联电容,特别是在多通道采样时。
你可以把连续的AD数据打印出来看一下,分析数据跳动的规律,以检查其原因。
也需要关注电源电压的噪声,可以用6位半万用表的交流电压档测量一下电源电压的交流分量。

这跳动跟校准之类的应该没有关系,这是稳定性问题而非准确性问题。

使用特权

评论回复
15
YEYEYElxj|  楼主 | 2017-8-1 09:11 | 只看该作者
fzyuan 发表于 2017-8-1 08:43
总的跳动不到15mV。
电池是直接接入AD端口,之间有没有串联电阻?
如果有电阻,最好在电阻之后并联电容, ...

我也觉得是不稳定。
现在就只使用了一个通道采样。然后在10s内,他的跳动规律如图。我打算将仿真器给板子的供电,换成干电池供电

图片1.png (21.51 KB )

图片1.png

使用特权

评论回复
16
fzyuan| | 2017-8-1 09:41 | 只看该作者
YEYEYElxj 发表于 2017-8-1 09:11
我也觉得是不稳定。
现在就只使用了一个通道采样。然后在10s内,他的跳动规律如图。我打算将仿真器给板子 ...

现在看这个10s的数据没有用,要先看AD的连续数据。
譬如:
如果采样率为100ksps(因为楼主没有说明所用采样率,我就假设了),那么可以记录10ms的数据(1000个数据 ),先分析这1000个数据的关系。

使用特权

评论回复
17
YEYEYElxj|  楼主 | 2017-8-1 09:42 | 只看该作者
本帖最后由 YEYEYElxj 于 2017-8-1 09:44 编辑
fzyuan 发表于 2017-8-1 08:43
总的跳动不到15mV。
电池是直接接入AD端口,之间有没有串联电阻?
如果有电阻,最好在电阻之后并联电容, ...

我的板子是这样的

KUA)SX5)K3F0PUE3%RWH5$V.png (231.72 KB )

KUA)SX5)K3F0PUE3%RWH5$V.png

使用特权

评论回复
18
YEYEYElxj|  楼主 | 2017-8-1 09:51 | 只看该作者
fzyuan 发表于 2017-8-1 09:41
现在看这个10s的数据没有用,要先看AD的连续数据。
譬如:
如果采样率为100ksps(因为楼主没有说明所用采 ...

你好,我的采样频率是12MHz
怎么看1000个数据呢?是一直观察寄存器的值得变化吗?

使用特权

评论回复
19
fzyuan| | 2017-8-1 10:08 | 只看该作者
YEYEYElxj 发表于 2017-8-1 09:51
你好,我的采样频率是12MHz
怎么看1000个数据呢?是一直观察寄存器的值得变化吗? ...

采样率不可能是12MHz的,你说的12MHz也许是ADC的时钟,结合你前面的参数,你的采样率可能是47.619ksps。
可以保存1000个数据在内存,完了之后停ADC,然后一次性输出到串口。

使用特权

评论回复
20
fzyuan| | 2017-8-1 10:10 | 只看该作者
YEYEYElxj 发表于 2017-8-1 09:42
我的板子是这样的

然后你测电池电压的时候是用手搭牢的?

使用特权

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

本版积分规则

15

主题

74

帖子

0

粉丝