找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

材料表上写的是有源蜂鸣器,但高电平或低电平都不叫

查看数: 5065 | 评论数: 18 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-12-3 10:34

正文摘要:

只有给个方波它才叫而且声音特小,请问这是怎么回事啊?我就想让它声音放大点,求大神指点

回复

ID:180919 发表于 2020-12-7 11:28
先看下蜂鸣器电压是多少V?三极管先3904比较好,3904 CE极小电流电压能达到0V

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:373388 发表于 2020-12-7 11:20
1.有源蜂鸣器有正负极,正负极接错会不响;
2.如果没有正负极标注,可能就是无源分鸣器;

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:703227 发表于 2020-12-6 21:58
蜂鸣器换了
ID:491875 发表于 2020-12-6 08:42
注意!有源蜂鸣器有极性的!接错了也不会叫!
ID:420836 发表于 2020-12-6 01:57
这个应该是无源蜂鸣器
ID:783844 发表于 2020-12-5 21:01
你这个要换有源蜂鸣器,这样给高电平就能响了哦!
ID:517466 发表于 2020-12-5 10:59
这种无源的蜂鸣器,必须施加合适的方波,模拟正弦波,才能发声。声音大小,和声波的频率、强度有关。也就是说,你需要调整方波的输出频率和占空比才行。看你的电路图, 估计电压是不能改了,但是还可以试试换放大倍数大一些的三极管。另外可以参考网上用方波模拟音乐发声的程序,应该有很多。以下是一个模拟发声的程序,使用STC89C52,+5V电源,声音还是比较明显的:
#include <reg52.h>   
#include <intrins.h>   
//频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;   
sbit Beep =  P0^4 ;

unsigned char n=0;  //n为节拍常数变量   
unsigned char code music_tab[] ={   
0x18, 0x30, 0x1C , 0x10, //格式为: 频率常数, 节拍常数, 频率常数, 节拍常数,   
0x20, 0x40, 0x1C , 0x10,   
0x18, 0x10, 0x20 , 0x10,   
0x1C, 0x10, 0x18 , 0x40,   
0x1C, 0x20, 0x20 , 0x20,   
0x1C, 0x20, 0x18 , 0x20,   
0x20, 0x80, 0xFF , 0x20,   
0x30, 0x1C, 0x10 , 0x18,   
0x20, 0x15, 0x20 , 0x1C,   
0x20, 0x20, 0x20 , 0x26,   
0x40, 0x20, 0x20 , 0x2B,   
0x20, 0x26, 0x20 , 0x20,   
0x20, 0x30, 0x80 , 0xFF,   
0x20, 0x20, 0x1C , 0x10,   
0x18, 0x10, 0x20 , 0x20,   
0x26, 0x20, 0x2B , 0x20,   
0x30, 0x20, 0x2B , 0x40,   
0x20, 0x20, 0x1C , 0x10,   
0x18, 0x10, 0x20 , 0x20,   
0x26, 0x20, 0x2B , 0x20,   
0x30, 0x20, 0x2B , 0x40,   
0x20, 0x30, 0x1C , 0x10,   
0x18, 0x20, 0x15 , 0x20,   
0x1C, 0x20, 0x20 , 0x20,   
0x26, 0x40, 0x20 , 0x20,   
0x2B, 0x20, 0x26 , 0x20,   
0x20, 0x20, 0x30 , 0x80,   
0x20, 0x30, 0x1C , 0x10,   
0x20, 0x10, 0x1C , 0x10,   
0x20, 0x20, 0x26 , 0x20,   
0x2B, 0x20, 0x30 , 0x20,   
0x2B, 0x40, 0x20 , 0x15,   
0x1F, 0x05, 0x20 , 0x10,   
0x1C, 0x10, 0x20 , 0x20,   
0x26, 0x20, 0x2B , 0x20,   
0x30, 0x20, 0x2B , 0x40,   
0x20, 0x30, 0x1C , 0x10,   
0x18, 0x20, 0x15 , 0x20,   
0x1C, 0x20, 0x20 , 0x20,   
0x26, 0x40, 0x20 , 0x20,   
0x2B, 0x20, 0x26 , 0x20,   
0x20, 0x20, 0x30 , 0x30,   
0x20, 0x30, 0x1C , 0x10,   
0x18, 0x40, 0x1C , 0x20,   
0x20, 0x20, 0x26 , 0x40,   
0x13, 0x60, 0x18 , 0x20,   
0x15, 0x40, 0x13 , 0x40,   
0x18, 0x80, 0x00   
};   

void delay (unsigned char m)   //控制频率延时   
{   
unsigned i=3*m;   
while(--i);   
}   
void delayms(unsigned char a)  //豪秒延时子程序   
{   
  while(--a);     
}   
void main()   
{
        unsigned char p,m;   //m为频率常数变量   
        unsigned char i=0;   
        TMOD&=0x0f;   
        TMOD|=0x01;   
        TH0=0xd8;TL0=0xef;   
        IE=0x82;   
play:
        while(1)   
    {   
        a:  p=music_tab[i];   
                if(p==0x00)      
                {
                        i=0, delayms(1000); goto play; //如果碰到结束符,延时1秒,回到开始再来一遍  
                }      
                else
                        if(p==0xff)  
                        {
                                i=i+1;delayms(100),TR0=0; goto a;  //若碰到休止符,延时100ms,继续取下一音符
                        }      
                        else
                        {
                                m=music_tab[i++], n=music_tab[i++];         //取频率常数 和 节拍常数
                        }      
                        TR0=1;                                             //开定时器0   
                while(n!=0)                    //等待节拍完成,输出音频  
                {
                        Beep=~Beep;
                        delay(m);   
                }
                TR0=0;                                             //关定时器0   
    }   
}
void int0() interrupt 1   //采用中断定时器0 控制节拍   
{  
        TH0=0xd8;   
        TL0=0xef;   
        n--;   
}

无源发声.jpg (36.25 KB, 下载次数: 78)

无源发声.jpg

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:491875 发表于 2020-12-5 10:30
mengsiu 发表于 2020-12-4 15:31
我个人喜欢用pnp来驱动

PNP驱动存在缺陷,当蜂鸣器供电大于驱动(单片机)供电时,可能不受控或者损坏单片机I/O 口。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:568565 发表于 2020-12-4 16:41
有源蜂鸣器底部是黑色封装而不是电路板,你看看是不是
ID:568565 发表于 2020-12-4 16:40
要换有源蜂鸣器,这样给高电平就能响了,而且用5V的话会非常响(把贴纸撕掉的情况下)
ID:326116 发表于 2020-12-4 16:10
可能需要加三极管放大信号吧。再给引脚方波
ID:16255 发表于 2020-12-4 15:31
我个人喜欢用pnp来驱动

ID:16255 发表于 2020-12-4 15:27
先确认一下,蜂鸣器的电压是不是3.3V供电的,一般看贴纸,红色的是3.3V,蓝色的是5V,黑色的是12V。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:692599 发表于 2020-12-3 14:05
明显的供电电压太低,做过试验的,低压太低声音小甚至完全不响
ID:46065 发表于 2020-12-3 14:03
3.3V去掉9013的压降,可能电压不够了吧
ID:853728 发表于 2020-12-3 13:58
量下3.3V电是否正常
ID:278840 发表于 2020-12-3 13:36
你这个蜂鸣器应该是无源蜂鸣器
ID:88256 发表于 2020-12-3 13:30
材料表写的不一定就对,需要自己检查,可以拿个5V电源按极性触碰一下蜂鸣器看是否会鸣叫(无源的只有触碰瞬间会有一声响);另外,有源的一般都是5V供电,你这个电压不足肯定不够响(甚至可能都会不响),蜂鸣器有问题也会造成响声不够大

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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