最近在做一个低功耗报警指示器要求用纽扣电池供电、电路尽量精简、还不能占用单片机IO口。翻旧笔记时又看到了那个很有年代感但依然好用的方案——三脚压电陶瓷片自激振荡驱动蜂鸣器。整个驱动核心只需要1个晶体管加两颗电阻比想象中简单得多也比常见教程里那些“8050三极管电容电阻搭多谐振荡器”的方案更省元件、更省电。标题里说的三脚压电陶瓷片不是普通两脚压电蜂鸣片而是多了一个“反馈电极”的版本。如果手里只有两脚片那确实必须外接一个振荡源或者多几个晶体管才能响但有了反馈电极单片晶体管的放大作用就能配合它构成闭环自激振荡通电即响频率由压电陶瓷片自身的机械谐振特性决定。这篇准备把这个单管方案的原理、参数计算、搭接调试、故障排查写清楚顺便聊聊它和MCU驱动、双管振荡器的取舍。适合正在做电池供电设备、想省成本省空间或者单纯想理解“自激振荡”到底是什么的人。1. 先弄明白三脚压电片多出来的那只脚是用来“回馈”的1.1 两脚片和三脚片在结构上的本质差别普通两脚压电蜂鸣片正面是陶瓷片、背面是黄铜基片两个电极之间施加电压时陶瓷片会发生机械形变反过来敲击它或让它被迫振动时两个电极之间也会感应出电压——这是压电陶瓷的“正压电效应”和“逆压电效应”。三脚压电片的结构要复杂一点它通常有三个焊片或三根引线一个是驱动电极一个是反馈电极还有一个是公共电极。公共电极一般接在整个圆片的基板上驱动电极负责接收外部驱动信号而反馈电极的作用是单独把陶瓷片“因机械振动产生的电压”引出来。这个反馈电极是三脚片自激振荡的关键。你可以把压电片想象成一面鼓你拍它一下施加驱动电压它会振动而在振动过程中它的应力变化又会被反馈电极“感应”到输出一个与振动频率相同的电压信号。这个信号刚好可以被用作下一轮驱动的输入形成一个闭环。1.2 自激振荡其实就相当于“话筒对着音箱”理解自激振荡最直接的生活类比就是话筒对着音箱导致的啸叫。你对着话筒说话声音经音箱放大后传出去又被话筒接收、再次放大只要放大倍数够大并且声音回到话筒时的相位跟原信号一致系统就“停不下来”变成稳定的啸叫。压电蜂鸣片的单管自激电路也是这个道理。三极管是放大器压电陶瓷片既是发声器又是“传声器”三极管集电极电流的变化让压电片产生形变形变引起反馈电极输出一个感应电压这个电压通过电阻回到三极管基极被再次放大再驱动压电片。只要环路增益超过1并且相位正确振荡就建立起来了。振荡频率不是随便定的它会被压电陶瓷片的机械谐振频率“锁住”。压电片在自身谐振频率附近形变幅度最大反馈信号最强所以整个环路只在这个频率附近容易满足振荡条件。这也是为什么这个电路很少有人为调整频率换一个谐振点不同的压电片音调就变了。2. 单管自激振荡电路整机核心真的只有1个晶体管2.1 电路构成与每个元件的作用单管自激振荡的经典结构如下三脚压电片的驱动脚接电源正极公共脚接NPN三极管的集电极反馈脚通过电阻R1接到三极管基极基极再通过电阻R2接到地发射极直接接地。各元件角色如下表所示元件位置作用Q1NPN发射极接地集电极接压电片公共脚放大器、开关管把基极反馈信号放大后驱动压电片R1反馈电阻反馈脚 → 基极把反馈电极的高阻抗信号耦合到基极控制反馈强度R2偏置/泄放电阻基极 → GND提供初始导通偏置帮助起振同时泄放基极电荷压电片驱动脚VCC通过公共脚和三极管流过的电流形成激励压电片公共脚三极管集电极被三极管拉低或释放使压电片两端电压发生变化压电片反馈脚R1 → 基极输出与机械振动同步的感应电压构成正反馈闭环严格说如果只追求“能响”R2在很多电路里都可以省掉因为反馈电阻R1本身也会给基极一个直流电平。但从稳定性角度我建议保留R2尤其工作在3V以下低压时它能让静态工作点更确定。标题说“1个晶体管”指的是真正的有源放大器件只有三极管外围电阻不算“驱动管”。2.2 为什么会响从起振到稳幅的完整过程上电瞬间电源通过R1或者R2回路给三极管基极一个微小电流三极管进入线性放大区。只要有一点噪声或上电冲击集电极电流就会发生微小变化从而改变压电片驱动脚和公共脚两端的电压压电片开始轻微形变。形变立刻在反馈电极上感应出一个电压信号通过R1回到基极。如果反馈信号与三极管基极需要的激励方向一致就构成正反馈于是振荡幅度像滚雪球一样迅速增大。信号增大的过程中三极管会逐渐进入饱和/截止的开关状态放大倍数下降振荡幅度被限制在“供电电压允许的范围”附近于是形成稳定的输出。从示波器上观察三极管集电极的波形通常不是漂亮的正弦波而是带削顶的正弦波或者近似方波的形状。没关系压电蜂鸣器本身就是高Q值机械振子只有基波成分能驱动它产生明显声音谐波大多被机械系统过滤掉了。2.3 电源电压和静态工作点的矛盾自激振荡电路对静态工作点有一定要求。三极管不能一直深度饱和也不能截止太深否则反馈信号无法被有效放大。R2和R1共同决定基极电位和反馈强度R2太小会把基极按死在地R1太小会让反馈电极被低阻抗拉低两种情况都会导致不起振或输出声音极小。使用3V纽扣电池和5V USB电源时电路都能工作但阻值需要微调。原因很简单电源电压变了三极管进入饱和的深度和反馈信号幅度都会改变。后面第3节会给出可以直接照抄的阻值估算方法。3. 元件选型与参数计算3V和5V下的阻值到底怎么定3.1 三极管怎么选9013、S8050、2SC1815都行NPN小功率三极管都可以用我常用的是S8050和9013。选择时主要看三个参数耐压VCEO至少大于供电电压3V~5V应用完全没有压力集电极电流IC压电蜂鸣器的平均电流通常只有几毫安绝大多数小信号三极管都满足直流放大倍数hFE尽量选100以上的放大倍数太低会导致反馈不足起振困难。下面这个表可以照抄型号hFEVCEO适合电压备注S8050100~30025V3V~9V管子便宜饱和特性好最常用9013100~30025V3V~5V经典小信号管容易买到2SC1815100~30050V3V~12V老牌音频小信号管噪声低2N2222100~30040V5V~12V国际上通用国内也常见实际焊接时务必要先确认管脚排列。S8050/9013的封装通常从左到右是E/C/B但不同厂商可能有差异不要想当然。判断方法很简单用万用表二极管档找到和其他两脚都呈单向导通的脚就是基极再根据管子上印的丝印对照PDF确认发射极和集电极。3.2 电阻阻值怎么估算从期望电流倒推假设供电电压VCC3V期望平均工作电流5mA左右。三极管饱和时集电极电流由电源电压、压电片和限流电阻决定。压电陶瓷片在谐振频率下等效阻抗在几十千欧到几百千欧之间容性占主导所以平均电流不会太大。基极反馈电阻R1100kΩ~220kΩ承担两个任务一是把反馈电极的高阻抗信号传输到基极二是不让基极被过强的信号推动导致管子严重饱和。R1选100kΩ比较稳如果振荡波形削顶严重或电流偏大可以加大到220kΩ~470kΩ。基极偏置/泄放电阻R251kΩ~100kΩ用于设置初始终导通。R2取100kΩ时基极经它到地的漏电流很小主要作用是把基极直流电位固定在GND附近避免外部干扰误触发放大。实测下来R2取51kΩ~100kΩ都能起振没什么严格的计算公式按推荐值来就行。再给出一个5V版本的推荐表方便直接用参数3V推荐5V推荐备注Q1S8050 / 9013S8050 / 9013NPNhFE大于100R1100kΩ~220kΩ220kΩ~470kΩ反馈耦合电阻R251kΩ~100kΩ51kΩ~100kΩ基极偏置/泄放电阻R3可选10Ω~100Ω100Ω~330Ω集电极串入限制过大电流压电片谐振频率2.7k~4kHz同左决定最终音调这里强调一下网上很多电路图会在集电极和压电片公共脚之间串一个R3或者不等压电片直接接VCC而是在驱动脚和VCC之间串一个电阻。这个电阻并不是“必须品”但它能降低过激励导致的失真、限制三极管功耗。在5V供电时建议加上3V时可以用0Ω直连。3.3 压电片的谐振频率决定了你听到的音调三脚压电片的规格书上通常标有“谐振频率”常见的是2.7kHz、3.3kHz、4.0kHz几档。频率越低音调越低频率越高人耳感觉越尖锐刺耳。报警器通常选2.7kHz~3.3kHz穿透力适中寻找遗失物品的蜂鸣器可以选4kHz以上更容易被听见。谐振频率并不只决定音调还直接关系到驱动效率。振荡电路是利用压电片机械谐振来实现选频的只有落在谐振频率附近的信号才能被有效放大。压电片个体差异较大同一批次的谐振频率也可能差几百赫兹所以如果要做出“听起来差不多”的一批产品必须在装配前用简易测试电路筛选一致性问题。4. 从面包板搭电路到实测完整调试过程记录4.1 搭接顺序与工具准备需要准备的材料不多一块面包板、一个NPN三极管S8050、两个电阻100kΩ和1MΩ可以临时用电位器代替、一个三脚压电片、一个3V电池或可调电源。示波器能极大提高调试效率没有示波器也可以用万用表交流电压档和耳朵来判断。搭接顺序建议这样先把三个元件固定到面包板上三极管插入面包板中间区域注意E/C/B三脚跨在左右两个隔离槽两侧压电片驱动脚接VCC公共脚接三极管集电极CR1一端接压电片反馈脚另一端接三极管基极BR2接到三极管基极B和GND之间发射极E直接接GND接上电源。上电之前用万用表通断档复测一遍VCC到GND之间不应该有短路否则立刻断电检查。4.2 通电后的观察点与波形特征接上3V电池如果电路正常压电片应该立刻发出连续蜂鸣声。这时候用示波器探头接地夹接GND探头点三极管集电极C可以看到幅度接近电源电压的振荡波形。频率用示波器自动测量功能读一下一般会落在压电片标称谐振频率附近。用万用表直流电流档串联在电源回路里可以看到静态电流通常在5mA左右。如果电流异常大超过15mA或者几乎为0说明电路工作点有问题需要按第5节的排查逻辑检查。没有示波器时可以用万用表的AC电压档量压电片两端的交流电压有声音且AC读数在1V以上基本就是正常振荡了。比较两台试样时AC读数的大小可以粗略反映响度差异。4.3 让声音更响、更稳、更省电的三个微调方向第一步先调R1把振幅和反馈调到平衡位置。用100kΩ电位器替代R1从最大阻值往小转听到声音逐渐变大。找到一个“声音最响且没有破音”的位置停住断电后用万用表测量电位器当前阻值换固定电阻。第二步看电流。把万用表串进电源回路观察发声时的平均电流。对于3V纽扣电池供电的系统建议把电流控制在5mA以下。如果电流超标在压电片驱动脚和VCC之间串一个100Ω~330Ω的电阻电流会明显下降音量只损失一点点。第三步确认低温或低压环境下的稳定性。用可调电源从2.5V慢慢升到5V观察是否每个电压点都能持续振荡。如果低压时偶尔停振可以适当减小R1或把R2从100kΩ改为47kΩ。这两个操作都能增强起振阶段的环路增益。5. 不起振、声音小、频率异常常见故障定位手册5.1 不起振的排查链路不起振是自激振荡电路最常遇到的问题。别急着怀疑电路结构按下面的顺序查基本能定位查电源用万用表量VCC和GND之间的实际电压排除电池没电、接触不良。压电蜂鸣器电流只有几毫安但电池座簧片氧化导致的压降很容易被忽略。查三极管引脚确认三极管的E/C/B是否和电路一致最常见的错误是把C和E接反。换上之前先用二极管档确认管子没有烧坏。查压电片引脚定义三脚压电片的电压反馈脚和驱动脚如果接反本来应该构成的正反馈就变成负反馈电路直接不响。把反馈脚和驱动脚两根线对调再试一次这是最有效的验证手段。查反馈电阻R1阻值R1太大大于2MΩ时反馈太弱起振困难R1太小小于10kΩ时反馈脚被低阻抗拉死同样不起振。换成100kΩ试一次。查R2是否把基极按死R2如果只有1kΩ以下基极被强制拉低到地三极管完全截止反馈信号也被旁路。R2取51kΩ~100kΩ比较合适。查焊接/接触面包板场合重点检查压电片引脚是否插牢焊板场合用放大镜检查焊点有没有虚焊、桥连。我调试时犯过的最大错误是在面包板上同时测量阻值万用表红黑表笔没有接触好误判了一整根导线“断线”花了十分钟才发现只是插线松了。5.2 声音小、发闷的原因和处理方向声音小通常有三种原因第一种是压电片没有贴紧共鸣腔。压电蜂鸣片的声音效率高度依赖背后的共鸣腔如果你的压电片直接裸露在空气中声音会明显偏小。多个调试经验是把压电片贴在薄的塑料外壳上利用外壳当共鸣腔音量能大好几倍。第二种是反馈强度不够。此时压电片虽然起振但振荡幅度还没达到最大值。可以尝试把R1从220kΩ改成100kΩ或者把R2从100kΩ改成47kΩ。第三种是供电电压实在太低。低于2.2V时很多S8050的增益已经下降振荡幅度非常小。如果一定要用3V以下供电建议改用hFE更高的管子比如9013H档或者达林顿管。5.3 频率不稳、刺耳噪声和偶发停振如果明显感觉音调漂移、时响时不响优先检查接触。自激振荡对阻抗十分敏感压电片引线稍微松动反馈信号幅度就会变化导致间歇停振。用万用表轻轻拉拽每条引线看看有没有“拉一下就断声”的情况。还有一个容易被忽视的问题手碰电路时正常手一离开就停振。这说明振荡环路增益刚好卡在临界点手靠近时人体电容引入了额外反馈才使振荡维持。正规做法是降低R1到原来的60%~80%增大振荡裕量。刺耳破音则与过激励有关。振荡信号幅度接近甚至超过压电片的线性区压电片被过分驱动后产生大量高次谐波听起来就“破”了。处理方法是增大串联限流电阻R3集电极与压电片之间或在压电片两端并联一个10nF~100nF的电容把高频毛刺滤掉。5.4 同一型号的压电片个体差异大是正常的三脚压电片的反馈电极输出阻抗很高不同批次之间的等效电容、谐振频率、反馈灵敏度差异都不小。经常出现“手头这一片怎么调都响换一个新买的就不响”的情况。这不一定是你电路错了很可能只是新的压电片反馈信号强度不足。对策是在正式选型时拿至少5片不同批次的压电片各测一遍找出R1的取值范围。比如某款压电片5片样品都在R1取100kΩ~220kΩ时可以稳定起振就固定R1为100kΩ确保最弱的一片也能起振。如果样品差异过大宁可换反馈灵敏度更高的压电片也不要去迁就参数最差的样品。6. 和另外几种驱动方案比一比什么场景才值得用单管自激6.1 四种常见压电蜂鸣器驱动方案对比方案元件数频率稳定性音调灵活性静态功耗成本调试难度适合场景单管自激振荡3~6个由压电片机械谐振决定受个体差异影响不能编程只能单音极低10mA最低中低报警器、门铃、仪表提示音双管多谐振荡器8~12个由RC常数决定中等改RC可调频率较高低低简单发声玩具、教学演示MCU软件PWM需单片机IO口三极管/MOS稳定可精确控频可编程旋律可调音量取决于MCU睡眠设计较高中多功能消费电子、智能家居专用驱动IC1个IC少量外围稳定部分支持外部电阻调频极低中等低大批量电子产品从上表可以看出单管自激最大的优势是成本低、静态功耗低、完全不依赖软件但它几乎没有频率灵活性。6.2 我建议把这些场景交给单管自激如果你在做一个电池供电的防盗报警器、门铃提示、倒车雷达提示、仪器仪表报警提示只需要“上电就响、断电就停”的单音效果单管自激是性价比最高的方案。它非常适合那种“不想让主控芯片一直跑来产生波形”的场景。很多低功耗MCU在睡眠模式下不能输出稳定PWM而单管自激电路只要给它一个稳定的电源就响断电就静音完全不需要程序干预。之前做过一个设备侧面的“充电完成提醒”充电时一路电源给到蜂鸣器振荡电路充满后继电器切断供电蜂鸣器自动停止。整个提醒电路只有两个元件加一个三极管成本不到一毛钱比在MCU里写PWM还稳定。6.3 想让MCU控制自激电路别直接接IO口有时候不想让蜂鸣器一直响还想让单片机控制它。正确做法是把自激振荡电路当成一个“负载”用一个N沟道MOS管或普通NPN三极管控制它的电源通断。不要试图直接用MCU的IO口去拉放单片压电片的反馈脚这样会引入数字电源噪声也容易让反馈信号失真。通过一个“使能开关”控制整个振荡电路的电源是最干净、最可靠的方式。如果MCU控制的是GND侧注意MCU、蜂鸣器电路、其他外设要共地否则会有回路噪声。如果系统还有蓝牙、WiFi模块建议给振荡电路加一个10Ω~100Ω的电源滤波电阻再并联一个100μF电解电容防止压电片的脉冲电流干扰无线射频。最后说一个实操经验压电蜂鸣器驱动电路做了很多次后我发现最影响量产一致性的不是电阻电容而是压电片本身。即便是同一个供应商不同批次的谐振频率也可能差几百赫兹导致最后出声听起来“有的尖锐、有的闷”。如果对音调一致性要求高下单时一定要让供应商提供谐振频率的分档报告并在来料检验环节用上一节提到的简单测试电路抽检。这个细节比你在三极管上花多少心思都管用。
阅读完成 · 觉得有帮助?