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

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

[复制链接]
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版