打印
[STM32F1]

STM32 ADC采样正弦波信号

[复制链接]
5742|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyjie|  楼主 | 2021-6-2 23:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
信号幅度小的时候采样很不准

使用特权

评论回复
沙发
zhenykun| | 2021-6-2 23:51 | 只看该作者

楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
wyjie|  楼主 | 2021-6-2 23:53 | 只看该作者
用的芯片是STM32F103RCT6,用来采集一个正弦信号的幅度,编写的代码是连续采样200次,取其中的最大值作为正弦信号幅度的一半,当外部输入的信号幅度为1.2V左右时,采到的值是对的,采3.3V或者GND时,值也对,但是当把正弦信号幅度降到100mV左右时,转化出来的值差的很大,直接读数在0X04xx的样子

使用特权

评论回复
地板
xxrs| | 2021-6-2 23:55 | 只看该作者
放大啊,用运放,放大。

使用特权

评论回复
5
spark周| | 2021-6-2 23:57 | 只看该作者
设置多个通道,带运放的那个可以采用一个IO控制开启或关断,当小于多少的时候直接采用放大后的信号策略

使用特权

评论回复
6
supernan| | 2021-6-2 23:58 | 只看该作者
ADC应有5mV的精度,100mV出现不准的话,可以先查查信号干扰是否过大。

使用特权

评论回复
7
heweibig| | 2021-6-3 20:34 | 只看该作者
干扰没处理好,或者数据处理有问题。

使用特权

评论回复
8
dingy| | 2021-6-3 20:40 | 只看该作者
STM32F103RCT6是12位ADC,最大转换值是0xfff,你在转换100mv电压时读数在0X04XX已经很大了呀。假设是0X0400,十进制就是1024了

使用特权

评论回复
9
xxrs| | 2021-6-3 20:42 | 只看该作者
楼主的板子转换100mV×4(400mV)就是4096,溢出了。

使用特权

评论回复
10
wyjie|  楼主 | 2021-6-3 20:45 | 只看该作者
电路里面的正弦信号是幅度变化的,幅度较大的信号采的对,信号幅度下降后采不准了

使用特权

评论回复
11
wyjie|  楼主 | 2021-6-3 20:47 | 只看该作者
,这样要改硬件,成本很高啊

使用特权

评论回复
12
wyjie|  楼主 | 2021-6-3 20:48 | 只看该作者
不好意思,最后一句话没有听懂,0X4xx是不对啊,1.2V才0X2xx呢

使用特权

评论回复
13
wyjie|  楼主 | 2021-6-3 20:50 | 只看该作者
干扰倒是值得考虑,数据我还没有处理呢,是直接读到的值

使用特权

评论回复
14
wyjie|  楼主 | 2021-6-3 20:52 | 只看该作者
嗯嗯,5楼也说是干扰,我把示波器带宽改全宽看看

使用特权

评论回复
15
huangchui| | 2021-6-3 20:54 | 只看该作者
,并没有大干扰,头疼了

使用特权

评论回复
16
jlyuan| | 2021-6-3 20:57 | 只看该作者
"直接读数在0X04xx的样子"是楼主自己在贴中提及的。

使用特权

评论回复
17
jlyuan| | 2021-6-3 20:59 | 只看该作者
采样频率是固定的吗

使用特权

评论回复
18
zwll| | 2021-6-3 21:05 | 只看该作者
使用FFT转换一下计算。

使用特权

评论回复
19
wyjie|  楼主 | 2021-6-3 21:09 | 只看该作者
嗯嗯,是的

使用特权

评论回复
20
wyjie|  楼主 | 2021-6-3 21:11 | 只看该作者
不会,但是问题被我找出来了

使用特权

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

本版积分规则

927

主题

12706

帖子

5

粉丝