| 本帖最后由 any012 于 2019-3-23 09:30 编辑 尝试用定时器实现PWM波输出,8M的主频,预分频80,计数值500,算下来定时器更新周期是2K。定时器每次更新中断里修改比较值,这样500个周期使占空比由0变化到100. 找了个5V的蜂鸣器串了一个电阻接到24V上,实验结果,声音是有变化,但声音变化很怪... 试着在蜂鸣器两端并了一个电容,效果稍好一点,但离预想的差太远。试过10UF的电解电容和1uF的无极性电容。 请教,有什么办法能实现较好的调压功能? |
微信公众号
手机版
这样通过PWM频率来控制声音频率,占空比变化来控制声音大小。记得蜂鸣器两端加一个续流二极管,不加的话产生的反压会污染电源。
有源蜂鸣器是有自己固定频率的,很可能你通的频率正好与它的固定频率相叠,产生一个莫名其妙的频率,声音可能会难听。
如果还不行,那么可以换成喇叭,用电解电容隔直流、交流耦合的方式来工作。那样的话驱动就需要是NPN、PNP对管,或NMOS、PMOS对管,做成简单的功放。
评分
查看全部评分
那么经过2秒占空比由0变为100%。
效果还是不太好。
经过2秒,经过4000个定时器中断,PWM占空比由0变到100%。
效果还是不太理想。
如果固定在1秒或2秒内声音逐渐变大,感觉没办法再提高定时器频率了。频率越高,在2秒内的计数值也就越大。
评分
查看全部评分
串电阻了,查了下蜂鸣器的最大工作电流,用20V除这个电流,找了个附近阻值的电阻。
其实,并没有用单品及IO口驱动PWM,而是通过光耦简介控制mos管,mos管开漏接蜂鸣器。
评分
查看全部评分
用的就是有源蜂鸣器,之所以用PWM,是想调整音量由小变大。
我认为两个方法可以改变声量
一, 变频, 不是变占空比
二, 控制蜂鸣片电端的电压
评分
查看全部评分
现在就是想用pwm实现调压,已在蜂鸣器两端并了一个1uF的无极性电容。
你误会我的意思了
用IO输出给蜂鸣器是固定的频率, 这不变, 而我说用PWM控制的电压是指给蜂鸣器接电源的一端, 即是以供电电压的大小来控制声量
评分
查看全部评分
没有误会,我现在就是想用pwm经过电容滤波后后,得到一个渐变的电压,进而改变蜂鸣器的音量。
评分
查看全部评分
有源蜂鸣器如果你想要控制电压,需要用类似于 DC-DC 的 PWM 输出滤波电路,也就是说至少需要续流二极管和电感,如果电压高的话可能需要做半桥。要不然的话你的控制频率会和蜂鸣器本身的频率发生干扰。
评分
查看全部评分
谢谢,我在输出串个二极管和电感试试。