在數(shù)字電路設(shè)計的中,往往需要把數(shù)字信號經(jīng)過開關(guān)擴流器件來驅(qū)動一些蜂鳴器、led、繼電器等需要較大電流的器件,用得最多的開關(guān)擴流器件要數(shù)三極管。然而在使用的過程中,如果電路設(shè)計不當,三極管無法工作在正常的開關(guān)狀態(tài),就達不到預(yù)期的目的,有時就是因為這些小小的錯誤而導(dǎo)致重新打板,導(dǎo)致浪費。本人在這個方面就吃過虧,所以把自己使用三極管的一些經(jīng)驗以及一些常見的誤區(qū)給大家分享一下,在電路設(shè)計的過程中可以減少一些不必要的麻煩。
下面來看幾個三極管做開關(guān)的常用電路畫法。幾個例子都是蜂鳴器作為被驅(qū)動器件。
圖一的a 電路用的是npn管,注意蜂鳴器接在三極管的集電極,驅(qū)動信號可以是常見的3.3v或者5vttl,高電平開通,電阻按照經(jīng)驗法可以取4.7k。例如a電路,開通時假設(shè)為高電平5v,基極電流ib=(5v-0.7v)/4.7k=0.9ma,可以使三極管完全飽和。b 電路用的是pnp管,同樣把蜂鳴器接在三極管的集電極,不同的是驅(qū)動信號是5v的ttl電平。以上這兩個都可以正常工作,只要pwm驅(qū)動信號工作在合適的頻率,蜂鳴器(有源)都會發(fā)出最大的聲音。
圖二的這兩個電路相比圖一來說,最大的區(qū)別在于被驅(qū)動器件接在三極管的發(fā)射極。同樣看c電路,開通時假設(shè)為高電平5v,基極電流ib=(5v-0.7v-ul)/4.7k,其中ul為被驅(qū)動器件上的壓降??梢钥吹?,同樣取基極電阻為4.7k,流過的基極電流會比圖一a電路的要小,小多少要看ul是多少。如果ul比較大,那么相應(yīng)的ib就小,很有可能導(dǎo)致三極管無法工作在飽和狀態(tài),使得被驅(qū)動器件無法動作。有人會說把基極電阻減小就可以了呀,可是被驅(qū)動器件的壓降是很難獲知的,有些被驅(qū)動器件的壓降是變動的,這樣一來基極電阻就較難選擇合適的值,阻值選擇太大就會驅(qū)動失敗,選擇太小,損耗又變大。所以,在非不得已的情況下,不建議選用圖二的這兩種電路。
我們再來看圖三這兩個電路。驅(qū)動信號為3.3vttl電平,而被驅(qū)動器件開通電壓需要5v。在3.3v的mcu電路中,不小心的話很容易就設(shè)計出這兩種電路,而這兩種電路都是錯誤的。先分析e電路,這是典型的發(fā)射極正偏,集電極反偏的放大電路,或者叫射極輸出器。當pwm信號為3.3v時,三極管發(fā)射極電壓為3.3v-0.7v = 2.6v,無法達到期望的5v。圖三f電路也是一個很失敗的電路,首先這個電路開通是沒有問題的,當驅(qū)動信號為低電平時,被驅(qū)動器件可以正常動作。然而這個電路是無法關(guān)斷的,當驅(qū)動信號pwm為3.3v高電平的時候,ube = 5v - 3.3v = 1.7v仍然可以使三極管開通,于是無法關(guān)斷。在這里,有人會說用過這個電路,沒有問題啊,而且mcu的電壓也是3.3v。我說你用的肯定是od(開漏)驅(qū)動方式,而且是真正的od或者是5v容忍的od,比如stm32的很多io口都可以設(shè)置為5v容忍的od驅(qū)動方式(但是有些是不行的)。當驅(qū)動信號為od門驅(qū)動方式時,輸出高電平,信號就變成了高阻態(tài),流過基極的電流為零,三極管可以有效關(guān)斷,這個時候f電路依然有效。
綜合以上幾種電路的情況分析,得到圖四這兩種個人認為是最優(yōu)的驅(qū)動電路,與圖一不同的是,圖四在基極與發(fā)射極之間多加了一個100k的電阻,這個電阻也是有一定作用的,可以讓三極管有一個已知的默認狀態(tài)。當輸入信號去除的時候,三極管還處于關(guān)斷狀態(tài)。在安全和穩(wěn)定的方面考慮,多加的這個電阻還是很有必要的,或者說可以讓三極管工作在更好的開關(guān)狀態(tài)。
三極管作為開關(guān)器件,雖然驅(qū)動電路很簡單,要使電路工作更加穩(wěn)定可靠,還是不能掉以輕心。為了不容易出錯,個人建議是優(yōu)先采用圖四的電路,盡量不采用圖二的電路,避免使用圖三的工作狀況。