蜂鸣器介绍

419 阅读4分钟

蜂鸣器介绍

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。

压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工作电压),多谐振荡器起振,输出 1.5~5kHZ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。

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

其实一句话就可概括它们之间的区别, 想要压电式蜂鸣器发声, 需提供一定频率的脉冲信号; 想要电磁式蜂鸣器发声, 只需提供电源即可。其他开发板上可能使用的蜂鸣器是有源蜂鸣器,属于电磁式蜂鸣器类型。这里说的有源,并不是指电源的意思,而是指蜂鸣器内部是否含有振荡电路,有源蜂鸣器内部自带振荡电路,只需提供电源即可发声,而无源蜂鸣器则需提供一定频率的脉冲信号才能发声, 频率大小通常在 1.5-5KHz 之间。 有源蜂鸣器实物图如下图所示:

image-20220901133812781

如果给有源蜂鸣器加一个 1.5-5KHz 的脉冲信号,同样也会发声,而且改变这个频率,就可以调节蜂鸣器音调, 产生各种不同音色、音调的声音。 如果改变输出电平的高低电平占空比,则可以改变蜂鸣器的声音大小。

硬件设计

在前面章节中我们已经对 51 单片机的 GPIO 做了简单介绍, 并且还使用了其中 IO 口直接控制开发板上的 LED。对于本章要实现蜂鸣器的控制,我们能否直接使用 STC89CXX 的 IO 口驱动呢?答案是否定的,因为 51 单片机 IO 口的驱动能力较弱(即使外接上拉电阻),而蜂鸣器驱动需要约 30mA,所以非常困难,即使可以驱动,那对于整个芯片的其 IO 剩下驱动能力就更加弱甚至无法工作。所以我们不会直接使用 IO 口驱动蜂鸣器,而是通过三极管把电流放大后再驱动蜂鸣器,这样 51 单片机的 IO 口只需要提供不到 1mA 的电流就可控制蜂鸣器。所以我们也经常说到 51 单片机芯片是用来做控制的,而不是驱动。

我们普中 51-单核-A2 开发板上的蜂鸣器模块电路如下图所示:

image-20220901134506290

从上图中可以看出,该电路是集成的,蜂鸣器控制管脚直接连接到 51 单片 机的 P1^5 IO 口上。开发板上使用的是无源蜂鸣器,它需要一定频率的脉冲(高 低电平)才会发声.

图中 TP1 PNP 三极管起到一个电流放大作用,从而可以驱动蜂鸣器。当 J7 端子有一个高电平进来时,PNP 三极管 TP1 截止,蜂鸣器不得电,当 J7 端子有一个低电平进来时,PNP 三极管 TP1 导通,蜂鸣器得电,如果 J7 端子有一个一定频率的脉冲信号(高低电平不断翻转)时,无源蜂鸣器发出声音。而有源蜂鸣器则只需电源即可发声,如果您使用的是有源蜂鸣器就需要考虑外界对 J7 引脚电平的干扰问题。

大家使用有源蜂鸣器时可参考如下电路设计:

image-20220901134923633

通过电阻 R2 和 PNP 三极管 TP1 进行电流放大,从而驱动蜂鸣器。电阻 R1是一个上拉电阻,用来防止蜂鸣器误发声。当 BEEP 引脚输出低电平时,PNP 三极管导通蜂鸣器发声; 当 BEEP 引脚输出高电平时,PNP 三极管截止,蜂鸣器停止发声