嵌入式硬件篇---蜂鸣器

article/2025/8/11 20:53:38

蜂鸣器是一种常用的电子发声元件,主要分为有源蜂鸣器无源蜂鸣器两类。它们在结构、工作原理、驱动方式、应用场景等方面存在显著差异。以下是详细介绍:

一、核心定义与结构差异

1. 有源蜂鸣器
  • 定义
    “有源” 指内部自带振荡电路,无需外部提供振荡信号即可发声。这里的 “源” 是指振荡源,而非电源。
  • 结构
    主要由振荡电路发声元件(电磁线圈、磁铁、振动膜片)外壳组成。振荡电路一般包含三极管、电阻、电容等元件,可产生固定频率的驱动信号。

 

2. 无源蜂鸣器
  • 定义
    “无源” 指内部没有振荡电路,需要外部输入特定频率的脉冲信号才能发声。
  • 结构
    主要由电磁线圈磁铁振动膜片组成,结构更简单,体积通常更小。

二、工作原理对比

1. 有源蜂鸣器
  • 工作机制
    接通直流电源(如 5V)后,内部振荡电路自动产生周期性的驱动信号,使电磁线圈与磁铁相互作用,带动膜片振动发声。
  • 发声特点
    • 通电后立即发出固定频率的连续音(如单调的 “滴” 声)。
    • 频率由内部振荡电路决定,无法通过外部信号改变音调,只能通过通断电源控制发声与否。
2. 无源蜂鸣器
  • 工作机制
    需要外部电路(如单片机)提供交变电压信号(如方波),当信号频率与蜂鸣器的固有频率一致时,产生共振发声。
  • 发声特点
    • 可通过调整输入信号的频率改变音调(如发出不同频率的 “嘀嘀” 声)。
    • 输入直流信号或频率不符的交流信号,则不会发声。

三、驱动方式与电路要求

1. 有源蜂鸣器
  • 驱动方式
    直接接入直流电源即可工作,无需复杂的驱动电路。
  • 典型电路
    • 电源正极→蜂鸣器正极→蜂鸣器负极→限流电阻→接地。
    • 可通过三极管或 MOS 管控制电源通断,实现开关控制(如单片机 IO 口驱动)。
  • 优点
    驱动简单,适合新手或对电路复杂度要求低的场景。
  • 缺点
    无法调制音调,功能单一。
2. 无源蜂鸣器
  • 驱动方式
    需要交流驱动信号(如 500Hz~4kHz 的方波),通常由单片机或信号发生器提供。
  • 典型电路
    • 通过单片机 IO 口输出 PWM(脉冲宽度调制)信号,经三极管放大后驱动蜂鸣器。
    • 需搭配电阻、电容等元件稳定信号。
  • 优点
    可通过编程灵活控制音调、节奏,实现音乐播放、多频率报警等功能。
  • 缺点
    驱动电路较复杂,需掌握信号发生和放大技术。

四、主要参数对比

参数有源蜂鸣器无源蜂鸣器
工作电压直流(DC),常见 3V~12V直流 + 交流(需叠加交变信号)
驱动信号频率固定(由内部电路决定)可调(需外部输入 0~ 数千 Hz)
电流消耗较大(因内部振荡电路耗电)较小(仅电磁线圈耗电)
发声频率范围单一频率(如 2kHz、2.7kHz)宽范围(如 200Hz~5kHz)
体积通常较大(含振荡电路)较小(结构简单)
成本较高(内部元件更多)较低

五、应用场景

1. 有源蜂鸣器
  • 简单报警场景
    如电子门铃、热水器提示音、工控设备故障报警(仅需单一提示音)。
  • 低成本产品
    如玩具、简易电子装置,无需复杂音效。
2. 无源蜂鸣器
  • 智能设备与嵌入式系统
    如单片机开发板(Arduino、STM32)、智能家电(空调、洗衣机的提示音)。
  • 音乐与音效场景
    如电子琴、游戏机音效、汽车倒车雷达(可发出不同频率的 “滴滴” 声)。
  • 高频通信设备
    如 RFID 读卡器、传感器报警(需可调频率信号)。

六、如何区分两者?

  1. 外观判断
    • 有源蜂鸣器外壳上通常标有 “+”“-” 极性,且底部可能有电路板;
    • 无源蜂鸣器无极性标识,结构更扁平,底部无明显电路元件。
  2. 通电测试
    • 接入直流电源后,有源蜂鸣器立即发声,无源蜂鸣器不发声。
  3. 引脚数量
    • 部分有源蜂鸣器有 3 根引脚(电源 +、电源 -、信号输入),但多数为 2 引脚(仅电源正负);
    • 无源蜂鸣器通常为 2 引脚(不分正负,但需注意交流信号极性)。

七、选型建议

  • 选择有源蜂鸣器
    若只需单一提示音,追求电路简单、快速实现功能(如电子锁开锁提示)。
  • 选择无源蜂鸣器
    若需要灵活控制音效(如播放乐曲、多档报警音),或系统具备信号发生能力(如单片机)。

两者各有优劣,实际应用中需根据功能需求、电路复杂度和成本预算综合考虑。


http://www.hkcw.cn/article/RiDXQrhLqs.shtml

相关文章

工程的焊接技术

一、焊接设备与材料 焊接设备:对应不同焊接方法,如焊条电弧焊设备包括电焊机、焊钳、接地夹等。 焊接材料 焊条 分类:按熔渣性质分为碱性焊条(低氢型)和酸性焊条。 选用原则:根据焊接场景选择,…

HackMyVM-Teacher

信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.43.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-01 01:02 EDT Nmap scan report for 192.168.43.1 Host is up (0.0084s latency). MAC Address: C6:45:66:05:91:88 (Unknow…

AE矩形工具蒙版找不到椭圆形工具怎么办?

是不是也跟我一样遇到了这个问题 ? 还以为是自己安装的版本有问题。其实并没有。 只需要选择矩形工具,鼠标左键,长按1s即可有其他选项 这样就解决啦

Linux 学习-模拟实现【简易版bash】

1、bash本质 在模拟实现前,先得了解 bash 的本质 bash 也是一个进程,并且是不断运行中的进程 证明:常显示的命令输入提示符就是 bash 不断打印输出的结果 输入指令后,bash 会创建子进程,并进行程序替换 证明&#x…

【Android SDK(adb命令环境)工具安装下载教程】

1、打开下载地址:SDK 平台工具版本说明 | Android Studio | Android Developers 2、下载Android SDK Platform-Tools压缩包,选择路径进行解压 3、复制SDK文件platform-tools保存的路径 4、配置adb环境变量;按下wini,在设置界面搜索”环境…

Redis可视化工具 RDM mac安装使用

第一步:https://pan.baidu.com/s/10vpdhw7YfDD7G4yZCGtqQg?at1673701651004将dmg下载 第二部:点击下载的dmg文件进行安装、mac可能会提示: 无法验证此App不包含恶意软件 解决方法: 打开系统偏好设置>安全性与隐私>通用&am…

Mac 使用 Crossover 加载 Windows Steam 游戏库,实现 Windows/Mac 共享移动硬盘

Mac 使用 Crossover 加载 Windows Steam 游戏库,实现 Windows/Mac 共享移动硬盘 1. 在Crossover上安装Steam2. Steam容器加载移动硬盘3. 配置Steam库 前言:本文介绍了如何在Crossover上安装Steam并加载外接移动硬盘,实现在Window上下载的游戏…

Mac上媲美TortoiseSVN 的Svn的强大客户端 — macSvn

什么是macSvn? 如果你使用过 svn 那肯定听说过 TortoiseSVN, 但是 TortoiseSVN 并不支持在 mac 上使用。而 macSvn 是一款专为macOS设计的SVN(Subversion)客户端,它和TortoiseSVN一样,提供了直观的图形化操作方式.操作非常方便! …

给Android Studio配置本地gradle和maven镜像地址,加快访问速度

Android Studio在创建工程后默认会访问Google自己的官网去下载gradle和maven依赖项,国内访问Google的速度相当慢,如果没有科学上网的话,甚至无法访问。本文记录如何解决这些问题。 配置本地gradle 下载gradle 首先需要去国内的网站下载gra…

Flutter 打包报错:Execution failed for task ‘:flutter_plugin_android_lifecycle的解决办法

本篇文章主要讲解:Flutter 打包报错:Execution failed for task :flutter_plugin_android_lifecycle的解决办法。 日期:2025年2月16日 作者:任聪聪 报错现象: 报文信息: FAILURE:Buildfailedwithexception…

uniapp从入门到精通(全网保姆式教程)~ 别再说你不会开发小程序了

目录 一、介绍 二、环境搭建(hello world) 2.1 下载HBuilderX 2.2 下载微信开发者工具 2.3 创建uniapp项目 2.4 在浏览器运行 2.5 在微信开发者工具运行 2.6 在手机上运行 三、项目基本目录结构 四、开发规范概述 五、全局配置文件&#xff0…

macOS包管理器HomeBrew的安装和使用(适合小白)

Homebrew 是 macOS 上广受欢迎的包管理器,它让安装、更新、卸载和管理开发工具及应用程序变得非常简单,通过HomeBrew,用户可以快速获取最新版本的软件包,而无需手动下载和安装。本文将简单介绍如何在 Mac 上安装 Homebrew 以及如何…

Android 15 适配之16K Page Size :为什么它会是最坑的一个适配点

首先什么是 Page Size ?一般意义上,页面(Page)指的就是 Linux 虚拟内存管理中使用的最小数据单位,页面大小(Page Size)就是虚拟地址空间中的页面大小, Linux 中进程的虚拟地址空间是由固定大小的页面组成。 Page Size 对于虚拟内…

adblock:为AdGuard和uBlock Origin定制的个性化过滤规则

adblock:为AdGuard和uBlock Origin定制的个性化过滤规则 adblock Personal filters and rules for AdGuard/uBlock Origin 项目地址: https://gitcode.com/gh_mirrors/adb/adblock 项目介绍 adblock 项目是一个开源的过滤规则集合,专门为AdGuard…

Xcode16 iOS18 编译问题适配

问题1:ADClient编译报错问题 报错信息 Undefined symbols for architecture arm64:"_OBJC_CLASS_$_ADClient", referenced from:in ViewController.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use …

Mac如何连上Windows共享文件夹

首先保证mac和windows在同一局域网下 接着打开mac的【finder】,点击【Go】->【Connect to Server】 接下来输入 windows的IP,格式如下 smb://ip,然后点击【Connect】 接下来输入账号密码登录即可 由于我们的是任何人都可以访问,所以我选的…

手拆STL

vector v e c t o r vector vector,动态数组。 先来看一下它的一些基本操作及其拆后残渣。 1.a.push_back(x),将 x x x加入动态数组 a a a的末尾。 实现:a[cnt]x 2.a.size(),查询动态数组 a a a中元素的数量。 实现:cn…

CppCon 2014 学习: C++ Test-driven Development

“Elephant in the Room”这个比喻常用来形容那些大家都知道但没人愿意讨论的重大问题。 这段内容讲的是软件质量管理的经典做法和潜在的问题: 经典做法:开发完成后才进行人工测试(manual testing after creation)。隐喻“Cape o…

vscode编辑器怎么使用提高开发uVision 项目的效率,如何编译Keil MDK项目?

用vscode编译uVision 项目只需要安装一个Keil Assistant插件,即可用vscode开发“keil 项目”。极大提高开发速度! 1.安装Keil Assistant插件 安装插件成功之后,应该会让安装一个东西,点击安装即可 2.配置安装包路径 3.打开 uVi…

w~大模型~合集7

我自己的原文哦~ https://blog.51cto.com/whaosoft/13960246 #语言模型是否会规划未来 token Transformer本可以深谋远虑,但就是不做,语言模型是否会规划未来 token?这篇论文给你答案。 「别让 Yann LeCun 看见了。」 Yann LeCun 表示太迟了&am…