在實際的應用中,雖然有源蜂鳴器控制簡單,缺陷是成本比較高,在潮濕的環(huán)境用久了,容易損壞。而無源蜂鳴器彌補了有源蜂鳴器缺點,但問題是無源蜂鳴器需要PWM驅動。在系統(tǒng)的設計中,微控制器的PWM資源往往是比較緊張的,同時使用PWM驅動也加大了軟件開發(fā)的難度。接下來筆者將引領大家學習如何設計一個無需PWM也能驅動無源蜂鳴器的低成本電路。
1.1 無源蜂鳴器常規(guī)驅動電路
圖1 無源蜂鳴器常規(guī)驅動電路
如圖1所示,此圖為無源蜂鳴器的常規(guī)驅動電路。需要在輸入端輸入一定頻率PWM的信號才能使蜂鳴器發(fā)聲。為了解放PWM資源,實現(xiàn)簡單控制,必須如有源蜂鳴器一樣提供一個振蕩電路。而有源蜂鳴器主要使用LC振蕩,如果要實際搭建此電路,電感參數(shù)比較難控制,而且成本高。此時,自然會想到簡易的RC振蕩,而由三極管構成的RC多諧振蕩電路顯然是一個不錯的選擇。
1.2 三極管多諧振蕩電路
圖2 三極管多諧振蕩電路
三極管多諧振蕩的通用電路如圖2所示。這個電路起振的原理主要是通過電阻與電容的充放電使三極管交替導通。首先,在電路上電時,分別通過R1與R4對電容C1與C2進行充電。由于三極管元件的參數(shù)不可能完全一致,可以假設三極管Q1首先飽和導通,由于電容兩端的電壓不能突變,Q2的B極此時變成負壓,Q2截止,Vo端輸出高電平;C1通過R2進行充電,當C2的電位使BE極正向偏置時,Q2導通,Vo端輸出低電平;同理C2電容兩端電壓不能突變,Q1的B極電壓變?yōu)樨搲?,此時Q1截止。這樣循環(huán)往復,使在Vo端輸,一定頻率的方波信號。如圖3所示,筆者使用示波器截取了Q1與Q2的B極和E極的波形,可以發(fā)現(xiàn)與上面的分析是吻合的。
圖3 多諧振蕩電路充放電波形
從以上的分析可以看出,Vo的輸出信號頻率受到R2與C1,R3與C2充放電速度的控制。假設,以Q2的C極作為信號的輸出,R2與C1的充電時間T1決定了輸出信號高電平時間,而R3與C2的充電時間T2決定了信號輸出低電平時間。而信號的頻率為:f=1/(T1+T2)。由此,可以推導出輸出信號的公式。由于RC充電時間公式:t=R*C*Ln[(E-V0)/(E-Vt)],在本電路中,E為VCC,V0為-(VCC-Vbe),Vt為Vbe,則,最終的公式為:t=R*C*Ln[(2*VCC-Vbe)/(VCC-Vbe)]。
接下來,就可以進行電路參數(shù)設計了。而筆者手中的蜂鳴器振蕩頻率全是2.4KHz的,所以此處只計算此頻率的參數(shù)。設電容C1=C2=0.1μF,VCC=5V,Vbe=0.63V則可以計算出電阻參數(shù):R=1/(2*10-7*2.4*103*Ln[(2*5-0.63)/(5-0.63)])=2.7KΩ。至于R1與R4的取值,只需要參數(shù)比R2與R3小一些即可,而信號輸出的邊沿的陡峭程度受這兩個電阻影響,電阻越小,邊沿越陡峭。按照此計算的參數(shù)搭建電路,測試頻率如圖4所示,實際頻率與理論值接近。
圖4 多諧振蕩Vo實際輸出信號
1.3 無源蜂鳴器驅動電路改進
上面的振蕩電路已經(jīng)有了,下面又該如何驅動并且控制無源蜂鳴器呢?其實,只需要將電路進行簡單修改即可實現(xiàn)目的。
第一,將原電路R4替換成為蜂鳴器,并在蜂鳴器兩端并聯(lián)二極管。細心的讀者如果看過《EasyARM-iMX283教你設計蜂鳴器電路》,會發(fā)現(xiàn)在無源蜂鳴器兩端沒有并聯(lián)電容。通過實際的電路測量,無源蜂鳴器并沒有產(chǎn)生尖峰脈沖,所以去掉此電容,如圖5所示。[!--empirenews.page--]
蜂鳴器兩端的續(xù)流二極管的選擇十分的重要。如果二極管選擇不當,可能會引起蜂鳴器電路的不穩(wěn)定。通常使用的1N4148開關二極管,可能會使電路的充電回路不穩(wěn)定,使蜂鳴器的發(fā)聲比較嘶啞。在此電路中筆者建議二極管最好選擇肖特基類型的二極管。
圖5 無源蜂鳴器驅動電路
第二,為電路加入了一個控制端。在實際的電路中,不能讓蜂鳴器一直鳴叫,所以需要進行控制??刂齐娐?,筆者想到了兩種,讀者也可以發(fā)揮自己的想象,改進電路。
(1)在Q的B極通過一個小的電阻接到單片機的IO口,但此方法要求單片機IO處于開漏或弱上拉狀態(tài)。當單片機輸出低電平時,B極電壓非常低,不會飽和導通,振蕩也就停止了,蜂鳴器不叫;當IO輸出高電平,由于處于弱上拉(內(nèi)部上拉電阻一般幾十K歐姆)或開漏狀態(tài),對電路的充放電電路幾乎沒有影響,電路開始振蕩,蜂鳴器鳴叫,電路如圖6的a圖所示。
(2)使用一個二極管對電路電路進行隔離,如果單片機IO一不小心處于了推挽輸出狀態(tài),使用第一種方式電路的頻率就將被改變。如果使用二極管隔離,這樣不用擔心電路異常了,可以實現(xiàn)如(1)相同的簡單控制。但要注意,此時二極管的導通壓降一定要比三極管的Vbe小,使三極管處于截止狀態(tài),電路如圖6的b圖所示。
通過比較兩種方式可以發(fā)現(xiàn)加一個小電阻是一個即簡單又廉價的控制方式,但如果想要“偷懶”,二極管的隔離是很好的選擇。
圖6 無源蜂鳴器控制電路
1.4 無源蜂鳴器電路兼容設計
圖7 無源蜂鳴器兼容設計電路
為了電路的兼容性的設計,即可驅動無源蜂鳴器又能驅動有源蜂鳴器,筆者設計如圖7所示的改進電路。與圖6的b圖所示的電路比較,主要增加了兩個電阻和兩個電容。在實際的使用的過程中,可以根據(jù)實際的工程應用,選擇合適的驅動電路。
如果是驅動無源蜂鳴器,如圖7的a圖所示,圖中標為紅色的器件都不用焊接。而如果在設計過程中想讓電路使用有源蜂鳴器,可以修改為如圖7的b圖所示的電路,同樣圖中的紅色的器件不用焊接即可。
1.5 驅動電路局限性分析
其實,仔細的分析這個電路也存在一定的局限性。由于此三極管多諧振蕩電路的振蕩頻率主要是通過RC的沖放電時間來決定的。所以,電阻和電容的選擇尤其的重要。在大多數(shù)環(huán)境下,其實電阻的穩(wěn)定性是比較好的,電容最易受到溫度變化的影響。本次試驗筆者使用了100nF電容,通過廠家提供的器件手冊,在-55~+125度范圍內(nèi)誤差為±10%。也就是說,如果常溫(25度)頻率為2.4KHz,在惡劣的溫度環(huán)境下振蕩將在2.16KHz~2.64KHz范圍內(nèi),因此,在高低溫的環(huán)境下音調(diào)可能會發(fā)生一定的變化。
為了驗證猜想,筆者也做了一個簡單的試驗作為驗證。筆者將電路板的溫度控制到85度左右,然后使用示波器抓取此時三極管的輸出波形。通過示波器發(fā)現(xiàn),確實如所預料的一般,振蕩頻率發(fā)生了改變,變成了2.7KHz左右,與預估的頻率相近。然后,為了測試電路的低溫特性,又將電路板的溫度控制到-40度左右。此時,測試蜂鳴器的輸出頻率為2.25KHz左右。這個數(shù)據(jù)也在初始的預計的范圍以內(nèi),有興趣的讀者也可以自己實踐試一試。
1.6 產(chǎn)品推薦
如圖8所示,此為廣州致遠電子設計的M283工業(yè)級核心板。此產(chǎn)品是基于Freescale i.MX283 ARM9高性能處理器設計,頻率高達454MHz,電源管理單元集成高效片上DC/DC,極低功耗,支持鋰離子電池供電。M283核心板適用于快速開發(fā)一系列最具創(chuàng)新性的應用,如智能網(wǎng)關、手持機、掃描儀以及便攜式醫(yī)療設備等。
圖8 M283核心板