打印
[运放]

lm358采集语音信号,经STM32自带AD进行转换,求帮帮忙

[复制链接]
8489|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
cool_coder| | 2015-1-4 17:07 | 只看该作者
为什么不用3.3V的运放呢? 另外,不会C2输出就进ADC吧?

使用特权

评论回复
板凳
伊轩海|  楼主 | 2015-1-4 17:18 | 只看该作者
cool_coder 发表于 2015-1-4 17:07
为什么不用3.3V的运放呢? 另外,不会C2输出就进ADC吧?

lm358可以用3.3V吧,它的单电源电压范围3-32V;是想着打算C2输出就接MCU的ADC引脚,有什么问题吗??

使用特权

评论回复
地板
yanwen217| | 2015-1-4 19:30 | 只看该作者
伊轩海 发表于 2015-1-4 17:18
lm358可以用3.3V吧,它的单电源电压范围3-32V;是想着打算C2输出就接MCU的ADC引脚,有什么问题吗?? ...

1.LM358给3.3V供电下,输入输出的范围是0~1.8V,算上直流偏置,实际就是0.9V的动态范围。
2.R1阻值太大了,通常的驻极体内阻是2.2K,故R1取2.2K左右比较合适;
3.输出经过C2隔直后,输出就是以GND为基准了,是有负压的,要确认ADC的输入范围哈

使用特权

评论回复
评论
在这里 2018-5-13 18:16 回复TA
@yanwen217 “.LM358给3.3V供电下......实际就是0.9V的动态范围” 请教,为什么是0.9V,3.3V供电,直流偏置是1.65V,动态范围不是±1.65吗?谢谢! 
评分
参与人数 1威望 +1 收起 理由
伊轩海 + 1 赞一个!
5
玄德| | 2015-1-4 21:13 | 只看该作者
本帖最后由 玄德 于 2015-1-4 21:15 编辑


LS说得不错。3.3v供电+轨对轨运放,才比较合适。同时C2撤销,换成小电阻。

另外,如果要实用,可能还要考虑自动增益控制,否则会失真的。


使用特权

评论回复
6
伊轩海|  楼主 | 2015-1-4 21:47 | 只看该作者
yanwen217 发表于 2015-1-4 19:30
1.LM358给3.3V供电下,输入输出的范围是0~1.8V,算上直流偏置,实际就是0.9V的动态范围。
2.R1阻值太大了 ...

谢谢你给的分析,STM32的AD电压范围是0-3.3V的,我想问一下,那我的LM358是不是不可以接5V电压?另外,为什么加了C2隔直后会有负压呢?能不能把C2换小点的值?谢谢!!

使用特权

评论回复
7
伊轩海|  楼主 | 2015-1-4 21:50 | 只看该作者
玄德 发表于 2015-1-4 21:13
LS说得不错。3.3v供电+轨对轨运放,才比较合适。同时C2撤销,换成小电阻。

另外,如果要实用,可能还要考 ...

谢谢你的解答,如果撤销C2,换成多大的小电阻好呢??还有,我是要实现语音的采集转换的,应该如何减少自动增益控制呢?谢谢!!

使用特权

评论回复
8
玄德| | 2015-1-4 22:31 | 只看该作者
伊轩海 发表于 2015-1-4 21:50
谢谢你的解答,如果撤销C2,换成多大的小电阻好呢??还有,我是要实现语音的采集转换的,应该如何减少自 ...


电阻大概100Ω~1K
自动增益控制,我说不好怎么加,要查资料了。

使用特权

评论回复
9
玄德| | 2015-1-4 22:44 | 只看该作者

另外,语言采样频率至少要几十K,大量数据怎么处理?

使用特权

评论回复
10
伊轩海|  楼主 | 2015-1-4 22:55 | 只看该作者
玄德 发表于 2015-1-4 22:44
另外,语言采样频率至少要几十K,大量数据怎么处理?

就通过STM32自带的ADC来处理啊,还有定时器定时采样,要用软件实现

使用特权

评论回复
11
伊轩海|  楼主 | 2015-1-4 22:57 | 只看该作者
玄德 发表于 2015-1-4 22:31
电阻大概100Ω~1K
自动增益控制,我说不好怎么加,要查资料了。

我能不能在后面加个RC一阶低通滤波器,然后再接入ADC引脚??谢谢!

使用特权

评论回复
12
玄德| | 2015-1-5 00:25 | 只看该作者

当然可以,截止频率选适当;

大量数据,我意思是说,你存储还是发走?

使用特权

评论回复
13
伊轩海|  楼主 | 2015-1-5 10:41 | 只看该作者
玄德 发表于 2015-1-5 00:25
当然可以,截止频率选适当;

大量数据,我意思是说,你存储还是发走?

我是想通过ADC转换之后,再经NRF24L01无线传输发送出去,另一边用另一个NRF24L01接收,然后通过DAC还原声音信号。。想请教一下,我能不能在后面加个RC一阶低通滤波器,然后再接入ADC引脚??谢谢!

使用特权

评论回复
14
伏尔加的鱼| | 2015-1-5 11:45 | 只看该作者
请问你这个图用什么软件画的?谢谢!

使用特权

评论回复
15
伊轩海|  楼主 | 2015-1-5 11:49 | 只看该作者
伏尔加的鱼 发表于 2015-1-5 11:45
请问你这个图用什么软件画的?谢谢!

额,那些电阻、电容等元器件的值是用windows画图软件画的,原图是没有这些值的,而且原图是网上找的。。这个图有什么问题吗?

使用特权

评论回复
16
大秦正声| | 2015-1-5 11:58 | 只看该作者
lm358N
输出用电阻分压

使用特权

评论回复
17
大秦正声| | 2015-1-5 11:59 | 只看该作者
这个电路很好的!

使用特权

评论回复
18
tuzihog| | 2015-1-5 12:22 | 只看该作者
关注一下

使用特权

评论回复
19
zmguahy| | 2015-1-5 14:36 | 只看该作者
伊轩海 发表于 2015-1-4 21:47
谢谢你给的分析,STM32的AD电压范围是0-3.3V的,我想问一下,那我的LM358是不是不可以接5V电压?另外,为 ...

C2隔离直流了,当然就会有负压了。这是因为LM358作为单电源使用了,所以在运放正向输入端采用电阻分压的方式给运放提供了2.5V的直流偏置电压,输出后你用C2直接给2.5V电压隔掉了~

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
伊轩海 + 1 赞一个!
20
huayuliang| | 2015-1-5 20:30 | 只看该作者
MCU的ADC是单向电压范围,楼主的MCU默认是0~3.3V。因输入信号为交流信号,必须使信号偏移到ADC输入电压范围的1/2。而运放已经配置为单电源供电,而且同相输入端已经提供了1/2VCC的偏置电压。所以运放输出不需要用电容隔断直流电压。
但楼主的运放供电为5V,或者是改运放及供电电压,或者是改动运放的偏置电压。综合考虑,改用3.3V电源及3.3V运放最为划算。

普通的驻极体话筒偏置正确时,输出信号为12~15mV。放大倍数楼主自己算吧。
很明显,一般的轨至轨输出运放即可满足要求,并不需要轨至轨输入的。且STM32自带的ADC位数并不高,对运放要求相对也低~~

运放输出至ADC需要加低通滤波器,做抗混叠。简单的RC即可满足一般需求。
自动增益的电路可以搜 Mic preamplifier with AGC。
还有,发射之前需要压缩动态范围。可以搜索 audio compressor。嗯,百度就算了,bing吧,google是指望不上了。估计楼主并不想在硬件上多费功夫。但不知MCU性能如何,可以用软件做这些。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
伊轩海 + 1 很给力!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

72

帖子

4

粉丝