OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6437|回复: 11

求助,怎么用stm32ADC采集正弦波电压值呀

[复制链接]

1

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-10-13
在线时间
7 小时
发表于 2022-1-13 10:09:31 | 显示全部楼层 |阅读模式
1金钱
用55振荡器产生了Vpp=1.3V的正弦波信号,但是用stm32的ADC采集到的电压只有0.35V,是因为ADC不能直接正弦波信号信号吗,求助大哥们怎么操作呀

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1481
金钱
1481
注册时间
2020-8-19
在线时间
336 小时
发表于 2022-1-13 14:50:48 | 显示全部楼层
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-10-13
在线时间
7 小时
 楼主| 发表于 2022-1-13 17:10:53 | 显示全部楼层
bin133 发表于 2022-1-13 14:50
他默认只能测直流的

感谢回答!我在stm32和55振荡器之间又加了一个均方根-直流转换模块AD8361,输入信号的峰峰值为0.6V,Vmax=0.35V,采到的电压值为0.48-0.5左右,和输入电压没有找到什么联系。但是如果用信号发生器输出2KHZ,Vpp=3V,Vmax=1.5V的正弦波信号,ADC采集到的电压就是Vpp/2。
回复

使用道具 举报

12

主题

3402

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8686
金钱
8686
注册时间
2020-5-11
在线时间
4168 小时
发表于 2022-1-14 09:36:21 | 显示全部楼层
万用表测一下ADC输入电压,就知道ADC有没有问题了。
STM32的内置ADC还是不错的,可以做一个1MHz采样率的示波器。
如果你的正弦波频率低于100KHz,那就可以省掉AD8361,正弦信号加几个电阻电容用ADC直接采就行了,采一段时间后计算一下均方根值即可,测峰值就更简单。
专治疑难杂症
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-10-13
在线时间
7 小时
 楼主| 发表于 2022-1-14 10:58:48 | 显示全部楼层
LcwSwust 发表于 2022-1-14 09:36
万用表测一下ADC输入电压,就知道ADC有没有问题了。
STM32的内置ADC还是不错的,可以做一个1MHz采样率的示 ...

感谢回答!我刚发现AD8361工作功率是在100KHZ以上,我现在可以用ADC直接采集正弦波信号了,但是只能采集到正电压,我在想怎么在LCD上显示出采集的一个周期内的最大电压,应该可以直接用比较代码实现吧,还需要外接比较器吗
回复

使用道具 举报

12

主题

3402

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8686
金钱
8686
注册时间
2020-5-11
在线时间
4168 小时
发表于 2022-1-14 11:05:18 | 显示全部楼层
xw1202 发表于 2022-1-14 10:58
感谢回答!我刚发现AD8361工作功率是在100KHZ以上,我现在可以用ADC直接采集正弦波信号了,但是只能采集 ...

若要采集负电压,可以加点偏置,电路:信号输入-电阻1-ADC脚-电阻2-VCC。
要得到最大电压,可由代码实现。
专治疑难杂症
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-10-13
在线时间
7 小时
 楼主| 发表于 2022-1-14 14:54:59 | 显示全部楼层
LcwSwust 发表于 2022-1-14 11:05
若要采集负电压,可以加点偏置,电路:信号输入-电阻1-ADC脚-电阻2-VCC。
要得到最大电压,可由代码 ...

好的,谢谢!
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4947
金钱
4947
注册时间
2015-1-10
在线时间
620 小时
发表于 2022-1-14 15:01:22 | 显示全部楼层
数字信号处理,ADC采集是连续信号离散化了,单周期离散点够多的话就可以拟合成近似连续信号了
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-10-13
在线时间
7 小时
 楼主| 发表于 2022-1-14 16:22:02 | 显示全部楼层
阿侑kevin 发表于 2022-1-14 15:01
数字信号处理,ADC采集是连续信号离散化了,单周期离散点够多的话就可以拟合成近似连续信号了

感谢回复!stm32的ADC功能程序代码中哪里可以更改单周期采集点数,是设置分频那里吗,72M/6=12M,可以设置2分频、6分频、8分频
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4947
金钱
4947
注册时间
2015-1-10
在线时间
620 小时
发表于 2022-1-14 18:36:55 | 显示全部楼层
xw1202 发表于 2022-1-14 16:22
感谢回复!stm32的ADC功能程序代码中哪里可以更改单周期采集点数,是设置分频那里吗,72M/6=12M,可以设 ...

首先看你的正弦波频率,然后定你的采样周期
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-10-13
在线时间
7 小时
 楼主| 发表于 2022-1-14 18:50:59 | 显示全部楼层
阿侑kevin 发表于 2022-1-14 18:36
首先看你的正弦波频率,然后定你的采样周期

是直接求T=1/f吗,还有那个怎么写代码输出最大电压值和最小值呢
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4947
金钱
4947
注册时间
2015-1-10
在线时间
620 小时
发表于 2022-1-17 10:10:26 | 显示全部楼层
xw1202 发表于 2022-1-14 18:50
是直接求T=1/f吗,还有那个怎么写代码输出最大电压值和最小值呢

比如你的频率1Hz,根据香农定理你的采样频率要2Hz以上,一般我都是5倍,如果你要取最值的话就要把采样频率提高更多
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 07:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表