你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教,如何使蜂鸣器响声逐渐变大?

[复制链接]
any012 提问时间:2019-3-23 08:59 /
5ST金币
本帖最后由 any012 于 2019-3-23 09:30 编辑

尝试用定时器实现PWM波输出,8M的主频,预分频80,计数值500,算下来定时器更新周期是2K。定时器每次更新中断里修改比较值,这样500个周期使占空比由0变化到100.
找了个5V的蜂鸣器串了一个电阻接到24V上,实验结果,声音是有变化,但声音变化很怪...
试着在蜂鸣器两端并了一个电容,效果稍好一点,但离预想的差太远。试过10UF的电解电容和1uF的无极性电容。

请教,有什么办法能实现较好的调压功能?

最佳答案

查看完整内容

用无源蜂鸣器试一下,记得用额定电压,几伏的蜂鸣器就给几伏供电。 这样通过PWM频率来控制声音频率,占空比变化来控制声音大小。记得蜂鸣器两端加一个续流二极管,不加的话产生的反压会污染电源。 有源蜂鸣器是有自己固定频率的,很可能你通的频率正好与它的固定频率相叠,产生一个莫名其妙的频率,声音可能会难听。 如果还不行,那么可以换成喇叭,用电解电容隔直流、交流耦合的方式来工作。那样的话驱动就需要是NPN、PNP对管, ...
收藏 评论20 发布时间:2019-3-23 08:59

举报

20个回答
七哥 回答时间:2019-3-23 08:59:57
用无源蜂鸣器试一下,记得用额定电压,几伏的蜂鸣器就给几伏供电。
这样通过PWM频率来控制声音频率,占空比变化来控制声音大小。记得蜂鸣器两端加一个续流二极管,不加的话产生的反压会污染电源。

有源蜂鸣器是有自己固定频率的,很可能你通的频率正好与它的固定频率相叠,产生一个莫名其妙的频率,声音可能会难听。

如果还不行,那么可以换成喇叭,用电解电容隔直流、交流耦合的方式来工作。那样的话驱动就需要是NPN、PNP对管,或NMOS、PMOS对管,做成简单的功放。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

any012 回答时间:2019-3-23 09:38:26
又试了下,预分频4,定时器计数值2000;这样定时器更新频率=8M/4/2K = 1K Hz;
那么经过2秒占空比由0变为100%。
效果还是不太好。
any012 回答时间:2019-3-23 10:14:30
又试了不分频,定时器计数值设为4000,定时器频率 = 8M/4K = 2K;
经过2秒,经过4000个定时器中断,PWM占空比由0变到100%。
效果还是不太理想。

如果固定在1秒或2秒内声音逐渐变大,感觉没办法再提高定时器频率了。频率越高,在2秒内的计数值也就越大。
wenyangzeng 回答时间:2019-3-23 10:14:44
PWM输出为高时,蜂鸣器承受24-3.3=20.7V电压,PWM输出为低时,蜂鸣器承受24V电压,这种电路的接法当然无法得到正确的音量控制,同时CPU承受不了超过3.3V的VCC,会烧片子的。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

any012 回答时间:2019-3-23 10:43:33
wenyangzeng 发表于 2019-3-23 10:14
PWM输出为高时,蜂鸣器承受24-3.3=20.7V电压,PWM输出为低时,蜂鸣器承受24V电压,这种电路的接法当然无法 ...

串电阻了,查了下蜂鸣器的最大工作电流,用20V除这个电流,找了个附近阻值的电阻。

其实,并没有用单品及IO口驱动PWM,而是通过光耦简介控制mos管,mos管开漏接蜂鸣器。
CC4 回答时间:2019-3-23 10:48:29
搞个有源的省事,无源的太麻烦了

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

any012 回答时间:2019-3-23 11:09:37
select326 发表于 2019-3-23 10:48
搞个有源的省事,无源的太麻烦了

用的就是有源蜂鸣器,之所以用PWM,是想调整音量由小变大。
edmundlee 回答时间:2019-3-23 12:14:37
蜂鸣片发声是靠自振, 所以PWM起不到调整音量的作用。
我认为两个方法可以改变声量
一, 变频, 不是变占空比
二, 控制蜂鸣片电端的电压

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

any012 回答时间:2019-3-23 13:42:22
edmundlee 发表于 2019-3-23 12:14
蜂鸣片发声是靠自振, 所以PWM起不到调整音量的作用。
我认为两个方法可以改变声量
一, 变频, 不是变占空 ...

现在就是想用pwm实现调压,已在蜂鸣器两端并了一个1uF的无极性电容。
edmundlee 回答时间:2019-3-23 16:02:13
any012 发表于 2019-3-23 13:42
现在就是想用pwm实现调压,已在蜂鸣器两端并了一个1uF的无极性电容。

你误会我的意思了
用IO输出给蜂鸣器是固定的频率, 这不变, 而我说用PWM控制的电压是指给蜂鸣器接电源的一端, 即是以供电电压的大小来控制声量

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

any012 回答时间:2019-3-23 16:08:09
edmundlee 发表于 2019-3-23 16:02
你误会我的意思了
用IO输出给蜂鸣器是固定的频率, 这不变, 而我说用PWM控制的电压是指给蜂鸣器接电源的 ...

没有误会,我现在就是想用pwm经过电容滤波后后,得到一个渐变的电压,进而改变蜂鸣器的音量。
天地摩登 回答时间:2019-3-23 17:48:51
用三极管的放大原理啊,最好是mos管

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

maxtch 回答时间:2019-3-23 19:44:57
本帖最后由 maxtch 于 2019-3-23 19:46 编辑

有源蜂鸣器如果你想要控制电压,需要用类似于 DC-DC 的 PWM 输出滤波电路,也就是说至少需要续流二极管和电感,如果电压高的话可能需要做半桥。要不然的话你的控制频率会和蜂鸣器本身的频率发生干扰。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

any012 回答时间:2019-3-25 08:45:25
maxtch 发表于 2019-3-23 19:44
有源蜂鸣器如果你想要控制电压,需要用类似于 DC-DC 的 PWM 输出滤波电路,也就是说至少需要续流二极管和电 ...

谢谢,我在输出串个二极管和电感试试。
12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版