×

抖音网红

压电式蜂鸣器工作原理(蜂鸣器型号及参数了解)

douyinfenxiang douyinfenxiang 发表于2024-05-25 20:44:24 浏览18 评论0

抢沙发发表评论

一、 蜂鸣器的类型和原理

1. 压电式

使用压电陶瓷片作为发声器件,通过给 压电陶瓷加交流信号发声

2. 电磁式

通过线圈产生的磁场和磁铁作用,类似于扬声器的工作原理

3. 贴片式

有贴片和直插安装方式

4. 有源蜂鸣器

加电就响,内置信号发生器驱动发声器件,一般的音调都是固定的。

5. 无源蜂鸣器

加电后有咔嚓声, 要用2-5K的方波驱动。无源蜂鸣器的声调会随着外加方波的频率而改变。

二、 蜂鸣器产品参数

下面是某一蜂鸣器的具体参数:

★尺寸(size):φ30mm×19.5mm

★电压范围(Voltage Range):3-20VDC

★额定电压(Rated Voltage):12VDC

★使用频率(frequency):3600±500Hz

★声压(SPL):Min.90dB(12VDC/30cm)

★电流(Current):≤50mA

★成品重量(weight):2g

★支持定制:XXXXXX

三、 蜂鸣器的检测

1. 有源与无源的区分

(1) 外形区别

有源蜂鸣器

无源蜂鸣器

两者的高度略有区别,有源蜂鸣器a,高度为9mm,而无源蜂鸣器b的高度为8mm。如将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。

(2) 电参数的区别

把可调电源设定到蜂鸣器的额定电压,一般的常见蜂鸣器额定电压为1.5v、5v、10v、12v这几种,串联一个100-200欧姆的限流电阻,给蜂鸣器加电,有源蜂鸣器会连续的发出滴滴的声音,或者有规律的滴滴声音。

无源蜂鸣器只在接通或者断开电源的瞬间有咔咔声

使用万用表,测量蜂鸣器的电阻,有源蜂鸣器电阻比较大,一般的都在几百欧以上,无源的蜂鸣器阻值在8、16欧姆左右。

2. 好坏的检测

使用可调电源调至蜂鸣器的额定电压,串联100欧姆电阻,有源蜂鸣器加上额定电压和电流后如果不能产生明亮的滴滴声,如果声音不正常或者不发声,说明质量不良或者已经损坏。

无源蜂鸣器的测试,使用信号发生器调至2KHz,信号经过100欧姆限流电阻后加到蜂鸣器上,如果蜂鸣器发出明亮的滴声,说明产品是良好的,反之如果声音不正常或者干脆没有声音,说明有蜂鸣器不良或者故障。

四、 驱动电路的设计

我们为了使用更多的功能,因此使用无源蜂鸣器。

 

1. 为什么要用三极管?

因为单片机的IO驱动电流较小,直接驱动容易损坏单片机,所以要用三极管来扩大电流

2. 用什么样的三极管?

MPSA92三极管参数:

VCEO:-300V

VCBO=-300V

IC=-500mA

PD=625mA

hFE = 最小25

三极管的选择,因为单片机上电是高电平,因此选用PNP的三极管,上电后蜂鸣器并没有电流,只有在驱动的控制下才会导通。蜂鸣器的工作电流通常在100mA以下,此蜂鸣器工作电流设定为25mA,因此MPSA92是能够满足的,而且也是常用的型号。

3. 电阻R2的计算

设计三极管IC电流25mA,三极管的放大倍数取最小值25,所以基极电流为1mA,

R2=(5-0.7)/0.001=4.3K

功率:4.3*0.001=0.0043W 使用1/8W足够,其它温度系数和耐压也没有问题

五、 驱动程序

//-----------------------------------------------------------------

//名称:蜂鸣器驱动

//设计:非凡创客

//日期: 2015-05-01

//版本:V1.0

//-----------------------------------------------------------------

#include <reg51.h>

#define unc unsigned char

#define uni unsigned int

sbit BUZER = P3^0;//蜂鸣器驱动引脚的定义

//-----------------------------------------------------------------

// 毫秒延时程序

//-----------------------------------------------------------------

void DL(uni x)

{ unc t; while(x--) for(t=0;t<120;t++);

}

//-----------------------------------------------------------------

// 蜂鸣器驱动程序

//-----------------------------------------------------------------

void BUZ()

{

unc t;

for(t=0;t<50;t++)

{

DL(1);

BUZER=~BUZER;

}

}

//-----------------------------------------------------------------

// 主程序

//-----------------------------------------------------------------

void main()

{

while(1)

{

BUZ();

}

}

欢迎评论和点赞,不喜欢的请拍砖!觉得不完美的请给出您的宝贵建议。