引言
開關電路在單片機電路設計中經常用到,一般有兩個作用,一是電平的轉換,二是增加單片機IO口的驅動能力。雖然這個電路很簡單,也很常用,但是我發現還是有些人電路結構錯誤或者參數不會設置。
電路結構
如圖1所示,三極體開關電路基本結構由基極電阻,集電極電阻(負載)組成。
有些人設計的開關電路就沒有基極電阻,有可能不是他不知道這種電路結構,而是他不會調參數,不管怎麼改變Rb,始終電路都沒有進入飽和區,最後將Rb短接後發現電路正常了,導致他認為這樣電路是可以用的。
事實上,沒有基極電阻,如果說是單片機的IO口接的控制引腳,那麼單片機工程師控制單片機IO口輸出高電平的時候,IO口上的電壓只有0.7V左右。那是由於單片機IO口的電流只有10mA左右,不能給三極體提供足夠大大的電流,以至於拉低電壓至三極體b、e之間的導通電壓0.7V左右。當給三極體基極能夠提供足夠電流,而控制電壓大於三極體b、e之間電壓極限電壓的時候就會燒壞三極體,如果沒有大於它的極限電壓,但是電流很大,時間久了就會導致三極體熱損壞。所以只有設置合適的基極電阻才能保證電路的可靠性。
該電路存在一個問題,就是控制端沒有接任何東西就會出現高阻狀態,三極體的工作狀態是不確定的。為了安全起見,沒有對三極體進行控制的時候,應該讓三極體工作在截止區,要想NPN型三極體截止,Ib就要很小,可以選擇在三極體基極接一個下拉電阻,如圖2所示。取值是要遠大於(10倍以上)Rb的,這樣才能下拉電阻不影響對三極體的控制。小編我個人的取值習慣是100K。
如果我們想驅動無源蜂鳴器,那麼就要在控制端輸入一個方波信號進行控制,這時候就需要三極體進行快速切換,想加快三極體切換速度就要如圖3所示,在Rb上並聯一個加速電容。
其原理是,電容兩端的電壓不能發生突變,那麼控制端給一個高電平的瞬間,電容可以視為短路,此時的電流最大,因此加快了三極體的導通速度,這個暫態過程很快就結束了,電容充電完成後進入了穩態,電容就形如開路,而不影響電路的正常工作。由於電容在控制端高電平期間充了左正右負的電壓,當控制端變成低電平(0V)瞬間電容兩端的電壓不能突變,所以在電容的右端出現了負電壓,加快了三極體的關斷。大多數情況下,加速電容取值約為幾百個pF。為什麼加了加速電容就能實現加快關斷與導通,那是因為三極體是存在結電容的,導通與關斷時間是決定於結電容的充放電時間的,這個現象就叫米勒效應,加了加速電容後,就加快了結電容充放電時間,使得三極體很快跨越了米勒平臺,所以能加快三極體的關斷與導通。
參數計算
三極體的開關狀態就是三極體的飽和與截止,三極體的截止容易實現,只要將IB降為O就可以實現三極體的截止。而三極體的飽和沒有截止那麼實現,開關電路的計算就是在計算三極體進入飽和的參數。要想進行計算,那麼就要了解三極體的飽和特性。
1. 如何判斷飽和?
一是三極體發射結和集電結正偏,基極電流變化,集電極電流幾乎不變。
飽和條件:
1.集電極和電源之間電電阻越大越容易飽和;2.基極電流比較大以使得集電極的電阻上分得的電壓越大,集電極電壓就被拉低,而出現Ub大於Uc的情況。
影響飽和的因素:
1.集電極電阻的大小(負載);2.放大倍數的大小;3.基極電流的大小。
飽和的現象:
1.基極電壓大於集電極電壓;2.Uce為0.5V左右,越小飽和越深。
臨界飽和條件:
Ib=(Vcc/RL)/β
知道這些概念後,我們就知道怎麼去計算參數了。首先我們在設計前期我們應該知道負載一些參數,如電壓電流。負載需要的電流就是設計的關鍵,通過負載電流求得Ib,此時的Ib是三極體臨界飽和的值,一般我們要取數倍才能保證三極體進入深度飽和。然後根據控制端的電壓減去Ube(0.7V)除以Ib就可以得到Rb。
電路設計
1.電路結構確定
我不需要控制背光亮度,只需要控制背光亮與不亮,所以選擇帶下拉電阻的開關電路。如圖4所示。
2.電源電壓確定
通過圖5 就可以知道要想背光正常量的話,電源電壓要大於3.0V,那麼電源電壓就取3.3V。
3.RC阻值確定
RC的作用是分壓,限流,保證背光不被燒。背光是3.0V,電流是15mA,電源是3.3V,那麼RC=(3.3V-3.0V)/15mA=20Ω。
4. RB的確定
根據前面敘述的,臨界飽和的基極電流為IB=IC/β,這裡β取100,那麼IB=15mA/100=150uA,為了保證三極體進入深度飽和,還要取數倍IB,這裡取10倍,那麼飽和IB=150uA*100=1.5mA,單片機IO完全能夠提供1.5mA電流。單片機高電平是3.3V,那麼RB=(3.3V-Ube)/1.5mA=(3.3V-0.7V)/1.5mA=1.733KΩ,因為電阻系列沒有這種電阻,所以我們取2K,因為IB我們取了數倍,所以RB比理論值大一點也是可以行的。
5. R1確定
R1下拉電阻,我在前面已經敘述過了,這裡我們取100K。
6.三極體確定
該電路的電源電壓不高,電流也不大,所以對三極體要求也不是很大,所以選擇9013,8050三極體都可以。下面我們看看這兩款三極體的參數。
如圖8仿真結果
通過,仿真我們發現我們計算的參數已經使得三極體進入了深度飽和,因為Uce=92mV,滿足深度飽和條件。
但是IC沒有達到15mA,那是因為我們忽略了Uce的存在而導致的偏差,但是這一點偏差不影響開關電路的正常工作,可以接受。
因此,我們這種設計的思路是可行的,如果大家有更好的方法就在評論討論討論。