單片機(jī)的IO口可以輸出三種狀態(tài):高電平、低電平、高阻。一般不同封裝和顏色的驅(qū)動電壓和電流都有些許差異,具體要參照使用LED的規(guī)格書。這里演示為2V/20mA就可額定工作條件的LED。
那么利用IO口的低電平狀態(tài)可以設(shè)計(jì)如圖方式1的驅(qū)動LED方法(這個(gè)也是不用三極管情況下常用的方式),利用IO口的高電平狀態(tài)可以設(shè)計(jì)如圖方式2的驅(qū)動LED方式。
那么實(shí)際搭好電路和載入驅(qū)動程序后,方式1可以完美運(yùn)行,但是方式2的燈卻不能亮。為什么呢?這就要引入灌電流和拉電流的概念來解釋了。
1、灌電流:圖中第(1)個(gè)連接方式中,單片機(jī)輸出低電平時(shí),電流方向由外部進(jìn)入單片機(jī),稱為灌電流,電流由外部電源提供。
2、拉電流:圖中第(2)個(gè)連接方式中,單片機(jī)輸出高電平時(shí),電流方向由單片機(jī)輸出到外部,稱為拉電流,電流由單片機(jī)提供,可理解為“外部元件從單片機(jī)取電”。
如果你查看單片機(jī)的規(guī)格書,你會發(fā)現(xiàn)IO口允許外部灌入電流可以達(dá)到幾十mA,但是對所有IO口合計(jì)的總灌入電流是有限制的,所以你需要同時(shí)驅(qū)動幾個(gè)LED亮,可能是行不通的。
而再來看單片機(jī)的拉電流是uA級別的,根本無法驅(qū)動外部LED。那么為什么高電平狀態(tài),驅(qū)動能力這么弱呢?原因是IO口內(nèi)部集成了較大的上拉電阻,而到GND是有一個(gè)開關(guān)管(阻抗非常低、可以忽略)控制的。
上面僅僅講述了單片機(jī)IO口的情況,那么舉一反三,很多IC的GPIO口都會有灌入電流和拉電流的限制,所以在使用的時(shí)候要注意這個(gè)電流的限制。
可以知道使用方式1驅(qū)動LED對LED數(shù)量是有限制的。另外如果LED發(fā)生損壞短路,也會有電流直接流入IO口,可能造成單片機(jī)損壞。就有人引入了三極管來解決這些問題,IO口只負(fù)責(zé)控制三極管通斷即可。
應(yīng)盡可能選三極管飽和后Vce壓降小的。這里飽和后Vce=0.1V。LED 2V/20mA驅(qū)動,那么三極管Ic=20mA。限流電阻R1=(5-2-0.1)V/20mA=145Ω,145不是標(biāo)稱值,那么實(shí)際選擇150Ω的電阻,實(shí)際Ic=(5-2-0.1)V/20mA=19mA。
然后確認(rèn)三極管的放大倍數(shù)Hfe,假設(shè)是100,那么三極管B極電流是19mA/100=0.19mA。
也就是說如果IO口需要驅(qū)動這個(gè)LED,必須支持的最小輸出電流至少為0.19mA。這個(gè)電流非常小,多個(gè)串口同時(shí)驅(qū)動多個(gè)LED,壓力也沒那么大。
但是假如你用的這個(gè)ICIO口最大輸出電流只有0.1mA,還是無法滿足怎么辦,那么就需要NPN+PNP兩個(gè)三極管組合來解決了。
參照上圖,如果只用一個(gè)NPN管來驅(qū)動LED,那么Ic電流=25mA,那么KRC103S 基極電流Ib=Ic/Hfe=25mA/150=0.167mA,很明顯驅(qū)動不了。
那么再加入一個(gè)PNP管KRA102S,PNP管基極電流Ib=Ic/Hfe=25mA/100=0.25mA,然后NPN管導(dǎo)通其Ic=0.25mA,那么IO口的電流就只有0.25mA/150=0.002mA。這樣一來控制IC就能驅(qū)動LED了。
〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號碼或加QQ/微信,由我們的銷售經(jīng)理給您精準(zhǔn)的報(bào)價(jià)以及產(chǎn)品介紹
聯(lián)系號碼:18923864027(同微信)
QQ:709211280