蜂鳴器實驗
蜂鳴器的簡介
蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“ZZG”、“LB”、“JD”等)表示。
蜂鳴器的構(gòu)造原理
????????1、壓電式蜂鳴器
壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。
多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.5~15V直流工作電壓),多諧振蕩器起振,輸出100~500HZ的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。
壓電蜂鳴片?由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。
????????2、電磁式蜂鳴器
電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。
接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。
蜂鳴器工作發(fā)聲原理圖
蜂鳴器的發(fā)聲原理由振動裝置和諧振裝置組成,而蜂鳴器又分為無源他激型與有源自激型。
無源他激型蜂鳴器的工作發(fā)聲原理是:方波信號輸入諧振裝置轉(zhuǎn)換為聲音信號輸出,無源他激型蜂鳴器的工作發(fā)聲原理圖如下圖:
?????????有源自激型蜂鳴器的工作發(fā)聲原理是:直流電源輸入經(jīng)過振蕩系統(tǒng)的放大取樣電路在諧振裝置作用下產(chǎn)生聲音信號,有源自激型蜂鳴器的工作發(fā)聲原理圖如下圖:
蜂鳴器的分類
BUZZER蜂鳴器的分類:
????????1、按其驅(qū)動方式的原理分,可分為:有源蜂鳴器(內(nèi)含驅(qū)動線路,也叫自激式蜂鳴器)和無源蜂鳴器(外部驅(qū)動,也叫他激式蜂鳴器);
????????2、按構(gòu)造方式的不同,可分為:電磁式蜂鳴器和壓電式蜂鳴器;
????????3、按封裝的不同,可分為:DIP BUZZER(插針蜂鳴器)和SMD BUZZER(貼片式蜂鳴器);
????????4、按電流的不同,可分為:直流蜂鳴器和交流蜂鳴器。
????????其中,以直流最為常見壓電式蜂鳴器,用的是壓電材料,即當(dāng)受到外力導(dǎo)致壓電材料發(fā)生形變時壓電材料會產(chǎn)生電荷。同樣,當(dāng)通電時壓電材料會發(fā)生形變。
電磁式蜂鳴器,主要是利用通電導(dǎo)體會產(chǎn)生磁場的特性,用一個固定的永久磁鐵與通電導(dǎo)體產(chǎn)生磁力推動固定在線圈上的鼓膜。
????????由于兩種蜂鳴器發(fā)音原理不同,壓電式結(jié)構(gòu)簡單耐用但音調(diào)單一,適用于報警器等設(shè)備。而電磁式由于音質(zhì)好,所以多用于語音、音樂等設(shè)備。
有源蜂鳴器和無源蜂鳴器
????????有源蜂鳴器和無源蜂鳴器的外觀如下圖中a、b所示。
?
????????????????????????????????????????????????????????????????a)有源 b)無源?
判斷有源蜂鳴器和無源蜂鳴器的方法:
????????從上圖中a、b外觀上看,兩種蜂鳴器好像一樣,但仔細看,兩者的高度略有區(qū)別,有源蜂鳴器a,高度為9mm,而無源蜂鳴器b的高度為8mm。如將兩種蜂鳴器的引腳都朝上放置時,可以看出有綠色電路板的一種是無源蜂鳴器,沒有電路板而用黑膠封閉的一種是有源蜂鳴器。
????????進一步判斷有源蜂鳴器和無源蜂鳴器,還可以用萬用表電阻檔Rxl檔測試:用黑表筆接蜂鳴器 "-"引腳,紅表筆在另一引腳上來回碰觸,如果觸發(fā)出咔、咔聲的且電阻只有8Ω(或16Ω)的是無源蜂鳴器;如果能發(fā)出持續(xù)聲音的,且電阻在幾百歐以上的,是有源蜂鳴器。
????????有源蜂鳴器直接接上額定電源(新的蜂鳴器在標(biāo)簽上都有注明)就可連續(xù)發(fā)聲;而無源蜂鳴器則和電磁揚聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。
有源蜂鳴器與無源蜂鳴器的區(qū)別:
????????注意:這里的“源”不是指電源,而是指震蕩源。
????????也就是說,有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會叫;
????????而無源內(nèi)部不帶震蕩源,所以如果用直流信號無法令其鳴叫。必須用2K-5K的方波去驅(qū)動它。
????????有源蜂鳴器往往比無源的貴,就是因為里面多個震蕩電路。
無源蜂鳴器的優(yōu)點是:
????????1. 便宜
????????2. 聲音頻率可控,可以做出“多來米發(fā)索拉西”的效果
????????3. 在一些特例中,可以和LED復(fù)用一個控制口
有源蜂鳴器的優(yōu)點是:
????????程序控制方便
硬件設(shè)計
????????本章需要用到的硬件有:
????????1)指示燈 DS0
????????2)蜂鳴器
????????蜂鳴器的驅(qū)動信號連接在 STM32 的 PB8 上。
????????圖中我們用到一個 NPN 三極管(S8050)來驅(qū)動蜂鳴器,R33 主要用于防止蜂鳴器的誤發(fā)聲。
????????當(dāng) PB8 輸出高電平的時候,蜂鳴器將發(fā)聲,當(dāng) PB.8 輸出低電平的時候,蜂鳴器停止發(fā)聲。
?
軟件設(shè)計
?????? 在工程文件目錄下面新建兩個文件夾分別為:beep.c和beep.h。并在把源文件添加到工程,和添加頭文件的路徑。
?????? 在beep.c中的代碼為:
#include "beep.h"
//初始化 PB8 為輸出口.并使能這個口的時鐘
//LED IO 初始化
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
//使能 GPIOB 端口時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //BEEP-->GPIOB.8 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度為 50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //根據(jù)參數(shù)初始化 GPIOB.8
GPIO_ResetBits(GPIOB,GPIO_Pin_8); //輸出 0,關(guān)閉蜂鳴器輸出
}
????????這段代碼 僅包含 1 個函數(shù):void BEEP_Init(void),該函數(shù)的作用就是使能 PORTB 的時鐘,同時配置 PB8 為推挽輸出。
????????在beep.h中的代碼為:
#ifndef __BEEP_H
#define __BEEP_H
#include "sys.h"
//蜂鳴器端口定義
#define BEEP PBout(8) // BEEP,蜂鳴器接口
void BEEP_Init(void); //初始化
#endif
????????通過位帶操作來實現(xiàn)某個 IO 口的輸出控制,BEEP 就直接代 表了 PB8 的輸出狀態(tài)。我們只需要令 BEEP=1,就可以讓蜂鳴器發(fā)聲。
????????在 main.c 里面編寫如下代碼:
#include "sys.h"
#include "delay.h"
#include "led.h"
#include "beep.h"
//ALIENTEK 精英 STM32 開發(fā)板實驗 2
//蜂鳴器實驗
int main(void)
{
delay_init(); //延時函數(shù)初始化
LED_Init(); //初始化與 LED 連接的硬件接口
BEEP_Init(); //初始化蜂鳴器端口
while(1)
{
LED0=0;
BEEP=0;
delay_ms(300);
LED0=1;
BEEP=1;
delay_ms(300);
}
}
?文章來源:http://www.zghlxwxcb.cn/news/detail-455723.html
實驗現(xiàn)象
????????DS0 亮的時候蜂鳴器不叫,而 DS0 滅的時候,蜂鳴器叫(因為他們的有效信號相反)。間隔為 0.3 秒左右,符合程序設(shè)計。文章來源地址http://www.zghlxwxcb.cn/news/detail-455723.html
到了這里,關(guān)于【STM32學(xué)習(xí)筆記】(10)——蜂鳴器實驗詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!