蜂鸣器完全指南:让电子设备“会说话”的秘密

分类: 365bet国内 发布时间: 2025-07-28 22:56:50 作者: admin

1. 蜂鸣器是谁?

蜂鸣器是1903年由工程师H.S. Warren发明雏形 ,是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。

这个指甲盖大小的元件,承包了你生活中80%的电子提示音!只会说"滴滴""嘟嘟",却是国际通用电子语。

2.蜂鸣器的分类

蜂鸣器的分类可从工作原理、驱动方式、应用特性等维度进行划分,如下:

(1)按工作原理分为压电式蜂鸣器和电磁式蜂鸣器;

(2)按驱动方式分为有源蜂鸣器(内含驱动线路,也叫自激式蜂鸣器)和无源蜂鸣器(外部驱动,也叫他激式蜂鸣器);

(3)按封装的不同,可分为:DIP BUZZER(插针蜂鸣器)和SMD BUZZER(贴片式蜂鸣器);

插针式(DIP):传统焊接方式,适用于低频场景。

贴片式(SMD)**:适应高频PCB布局,体积更小。

(4)按电流的不同,可分为:直流蜂鸣器和交流蜂鸣器,其中,以直流最为常见压电式蜂鸣器,用的是压电材料,即当受到外力导致压电材料发生形变时压电材料会产生电荷。同样,当通电时压电材料会发生形变。

(5)按功能与结构分为单音蜂鸣器、多音蜂鸣器、共振蜂鸣器、可编程蜂鸣器

单音蜂鸣器:输出固定频率声音,适用于简单提示场景;

多音蜂鸣器:支持频率编程,可合成多种音效,用于工业控制系统;

共振蜂鸣器:利用共振腔放大特定频率声音,如超声波测距传感器;

可编程蜂鸣器:通过MCU控制输出节奏和音调,灵活性高。

(6)按特殊用途分超声波蜂鸣器、薄膜蜂鸣器

超声波蜂鸣器:频率超过20kHz,用于非接触检测;

薄膜蜂鸣器:超薄设计,集成于可穿戴设备。

压电式蜂鸣器

组成:由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。

核心原理:利用压电陶瓷的逆压电效应(施加电场时形变振动)发声,由多谐振荡器、压电陶瓷片、共鸣箱组成。

特点:

◦ 功耗低(3-24V直流驱动),体积小,适合高频(1.5-2.5kHz)场景;

◦ 耐高温,常用于电子手表、贺卡、报警器等小型设备。

电磁式蜂鸣器

组成:由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成,接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

核心原理:通过电磁线圈与永磁铁相互作用,带动振动膜片发声。

特点:

◦ 声压大(85-120分贝),适合低频(100-500Hz)嘈杂环境;

◦ 需驱动电流较大,常见于计算机、打印机工业报警器、汽车电子等。

有源蜂鸣器和无源蜂鸣器

注意:这里的“源”不是指电源,而是指震荡源。

也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用2K-5K的方波去驱动它;

有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。

有源蜂鸣器

•特点:内置振荡电路,通电即发声(固定频率),驱动简单但灵活性低。

•识别:外壳多为黑色,电阻值较高(几百Ω)。

•应用:单一警报声场景,如家电提示音。

无源蜂鸣器

• 特点:需外部提供脉冲信号(1.5-5kHz),频率可调,可模拟音乐。

• 识别:外壳电路板为绿色,电阻值低(8Ω或16Ω)。

• 应用:需复杂音效的场景,如电子玩具、音乐播放器。

3. 发声原理大揭秘

电磁式蜂鸣器(常见于无源蜂鸣器)

结构:由线圈、磁铁、振动膜片组成。

原理:

电流通过线圈产生磁场,与内部磁铁相互作用。

磁场力驱动振动膜片周期性振动,推动空气发声。

改变电流频率可调整振动频率,从而改变音调。

压电式蜂鸣器(常见于有源蜂鸣器)

结构:由压电陶瓷片和金属振动片组成。

原理:

压电陶瓷在电压作用下发生形变(压电效应)。

形变带动金属片振动,产生声波。

固定频率的振荡电路控制振动频率。

4. 如何让蜂鸣器唱歌?

由于有源蜂鸣器频率固定,声音单一,所以如果想用蜂鸣器唱歌的话,需要使用无源蜂鸣器。

驱动电路

主控引脚可直接连接蜂鸣器进行控制发声,若蜂鸣器声音小,可使用三极管(如8050)或MOSFET放大信号。

音乐原理

音高与频率

每个音符对应一个频率(如中央C音频率为262Hz)。

常见音阶频率表(C调):

音符C4D4E4F4G4A4B4C5频率262294330349392440494523 节拍与时值

音乐节奏由音符的持续时间决定(如全音符、二分音符、四分音符等)。

示例:若四分音符=500ms,则二分音符=1000ms,八分音符=250ms。

代码实现(以Arduino为例)

1. 定义音符频率和节拍

// 定义C调音符频率(单位:Hz)

#define NOTE_C4 262

#define NOTE_D4 294

#define NOTE_E4 330

#define NOTE_F4 349

#define NOTE_G4 392

#define NOTE_A4 440

#define NOTE_B4 494

#define NOTE_C5 523

// 示例乐谱《小星星》的音符和节拍

int melody[] = {

NOTE_C4, NOTE_C4, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_A4, NOTE_G4,

NOTE_F4, NOTE_F4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_C4

};

int noteDurations[] = {

4, 4, 4, 4, 4, 4, 2, // 四分音符=4,二分音符=2

4, 4, 4, 4, 4, 4, 2

};

2. 播放音乐的主程序

void setup() {

pinMode(9, OUTPUT); // 蜂鸣器接D9

}

void loop() {

for (int i = 0; i < sizeof(melody)/sizeof(int); i++) {

// 计算音符持续时间(假设四分音符=500ms)

int duration = 1000 / noteDurations[i];

// 播放当前音符

tone(9, melody[i], duration);

// 音符间隔(增加10%的停顿,避免粘连)

delay(duration * 1.1);

// 停止发声

noTone(9);

}

delay(2000); // 循环间隔

}

代码实现(STM32为例)

1. 配置定时器(以TIM3为例):

选择TIM3,设置模式为PWM Generation CH1。

预分频器(Prescaler):根据主频计算(如72MHz主频,目标频率262Hz):

Prescaler = 72 - 1; // 分频后时钟=1MHz

Counter Period (ARR) = (1MHz / 目标频率) - 1 初始占空比设为50%(Pulse = ARR / 2)。

开启定时器:

在main.c中调用HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1)。

2. 定义音符频率表

// C调音阶频率表(单位:Hz)

const uint16_t Note_Freq[] = {

262, 294, 330, 349, 392, 440, 494, 523 // C4~C5

};

// 示例乐谱《小星星》(音符索引和节拍)

const uint8_t Melody[] = {0, 0, 4, 4, 5, 5, 4, 3, 3, 2, 2, 1, 1, 0};

const uint8_t Note_Duration[] = {4,4,4,4,4,4,2, 4,4,4,4,4,4,2}; // 四分音符=4

3. PWM频率动态调整函数

void Set_PWM_Freq(uint32_t freq) {

if (freq == 0) {

__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, 0); // 关闭输出

return;

}

uint32_t arr = (1000000 / freq) - 1; // 预分频后时钟=1MHz

__HAL_TIM_SET_AUTORELOAD(&htim3, arr);

__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, arr / 2); // 占空比50%

}

4. 主程序播放逻辑

int main(void) {

HAL_Init();

SystemClock_Config();

MX_TIM3_Init();

HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);

while (1) {

for (int i = 0; i < sizeof(Melody); i++) {

uint16_t freq = Note_Freq[Melody[i]];

uint16_t duration = 500 / Note_Duration[i]; // 四分音符=500ms

Set_PWM_Freq(freq); // 设置频率

HAL_Delay(duration); // 持续发音

Set_PWM_Freq(0); // 停止发音

HAL_Delay(50); // 音符间隔

}

HAL_Delay(2000); // 循环间隔

}

}

注意:如果想要好的音效,建议使用扬声器!

5. 选型建议

口诀:电磁式低频声大,压电式高频声小,有源则声单一,无源则声多变

"要便宜选电磁,求省电找压电;高频场景压电强,低频应用电磁香"

• 低频高音量:优先选电磁式蜂鸣器(如工业报警);

• 高频轻量化:选压电式蜂鸣器(如电子门铃);

• 复杂音效控制:无源蜂鸣器配合PWM信号驱动;

• 快速部署:有源蜂鸣器直接接直流电源。

上一篇: 换屏1550元!小米MIX 4维修价格公布 下一篇: 梦幻西游钓鱼玩法

相关文章

襄阳属于哪个市哪个省(中国行政区划——湖北襄阳)

襄阳属于哪个市哪个省(中国行政区划——湖北襄阳)

猫咪沙发

猫咪沙发

《泰拉瑞亚》炼药台怎么做?炼药台合成方法

《泰拉瑞亚》炼药台怎么做?炼药台合成方法

车载收音机时间的怎么调整?

车载收音机时间的怎么调整?

【经验贴】Windows11锁屏聚焦失效/不换壁纸怎么解决

【经验贴】Windows11锁屏聚焦失效/不换壁纸怎么解决

德云社丨“筱”鲜肉天团五一登陆深圳!三大必冲理由,笑到扶墙出!

德云社丨“筱”鲜肉天团五一登陆深圳!三大必冲理由,笑到扶墙出!