文档
无源蜂鸣器技术文档
概述
无源蜂鸣器(Passive Piezo Buzzer)是一种基于压电陶瓷片的发声元件,内部不含振荡电路,必须由外部提供方波或PWM信号才能发声。与有源蜂鸣器不同,无源蜂鸣器可以通过改变驱动频率来发出不同音调,适合播放简单旋律。
应用场景
- 电子DIY项目提示音
- 闹钟、定时器报警
- 玩具音乐播放
- 嵌入式系统状态指示
- 门铃、电子琴等
引脚定义
| 引脚 | 名称 | 说明 |
|---|---|---|
| 1 | + | 正极,接MCU GPIO(通过三极管驱动)或直接接PWM输出 |
| 2 | - | 负极,接GND |
注意:无源蜂鸣器正负极通常有标识,长脚为正极(+),短脚为负极(-)。外壳上也可能印有"+"符号。
电气特性
| 参数 | 典型值 | 单位 |
|---|---|---|
| 工作电压 | 3 ~ 5 | V |
| 额定电流 | ≤30 | mA |
| 谐振频率 | 2.3 | kHz |
| 频率响应范围 | 1.5 ~ 4 | kHz |
| 声压级(10cm处) | ≥85 | dB |
| 线圈电阻 | 16 ~ 42 | Ω |
| 工作温度 | -20 ~ +70 | ℃ |
典型应用电路
方案一:GPIO直驱(仅限小电流MCU引脚)
MCU PWM GPIO ------|>|------ 蜂鸣器(+) ---- 蜂鸣器(-) ---- GND
1N4148
⚠️ 仅当蜂鸣器电流 ≤ MCU引脚最大驱动电流(通常8~20mA)时可直驱,不推荐。
方案二:NPN三极管驱动(推荐)
VCC (3.3V/5V)
│
├── 蜂鸣器(+)
│
├── 蜂鸣器(-) ──┐
│ │ C (集电极)
│ B ___|/ (NPN管, 如S8050/2N2222)
│ |\>
│ │ E (发射极)
│ │
R1 (1kΩ) │
│ │
MCU PWM GPIO ──────┘────────── GND
- R1:基极限流电阻,典型值 1kΩ
- 三极管:S8050(NPN),Ic ≥ 100mA
- 续流二极管:1N4148 并联在蜂鸣器两端(阴极接VCC侧),防止反电动势损坏三极管
使用注意事项
- 必须用PWM/方波驱动:直流电无法使无源蜂鸣器发声,需要 1.5kHz~4kHz 的方波信号。
- 加续流二极管:蜂鸣器是感性负载,关断时会产生反向电动势,应并联续流二极管保护驱动管。
- 选用合适的三极管:S8050、2N2222、BC547 等NPN管均可,Ic 至少100mA。
- 限流电阻不可省略:基极电阻防止MCU引脚过流。
- 避免长时间连续发声:长时间工作可能导致线圈发热。
- tone() 函数适用:Arduino 环境下可直接使用
tone(pin, frequency, duration)函数驱动。 - 音调频率参考:
- C4 (Do): 262Hz
- D4 (Re): 294Hz
- E4 (Mi): 330Hz
- F4 (Fa): 349Hz
- G4 (Sol): 392Hz
- A4 (La): 440Hz
- B4 (Si): 494Hz
- C5 (Do): 523Hz