您的位置 首页 kreess

筆記:由灌電流、拉電流、上拉電阻和下拉電阻所引出的幾個問題並進行簡單的分析

灌電流灌電流指電流由外部向端口內流入,示例電路如下圖所示:圖一PIN腳LED1與單片機的GPIO相連。我們知道,當LED1輸出為低電平時,LED燈RUN才會亮;針對上圖,我

灌電流

灌電流指電流由外部向端口內流入,示例電路如下圖所示:

圖一

PIN腳LED1與單片機的GPIO相連。我們知道,當LED1輸出為低電平時,LED燈RUN才會亮;針對上圖,我們一般會有下面兩個疑問:

  1. 為什麼要串聯R6?
  2. R6的值如何確定?

問題1要從LED燈RUN開始說起。發光二極管是消耗功率的器件,以億光的一種紅色貼片發光二極管為例,查看手冊,可以看到其部分參數說明如下圖:

圖二

由上圖②可知這款發光二極管的最大功耗為60mW,又P=UI,且極限條件下IF=25mA,可算得U=2.4V,即發光二極管的極限電壓為2.4V;由上圖③可知,這款發光二極管正常工作狀態下VF取值范圍為1.7V~2.2V,如果直接用3.3V的電壓給到發光二極管時極有可能會把二極管燒壞,因此串聯一個電阻可以分壓,電阻分掉電源加在二極管上的電壓,電壓小瞭,發光二極管的電流也就小瞭,即該電阻實際上起到限流作用。

單片機的GPIO口對灌電流和拉電流有明確的要求,這裡以STM32G030C8T6為例,查看數據手冊,如下圖:

圖三

通過手冊我們可以瞭解到,STM32G030C8T6這款單片機GPIO口的輸出電流為±6mA,灌入電流為±15mA(對於STM32F系列的芯片,輸出電流一般能達到±8mA,灌入電流一般能達到20mA)。因此,如果灌入單片機IO口的電流超過最大灌入電流允許值,會燒壞單片機的IO口。

綜上,串聯電阻R6是為瞭限流,防止發光二極管燒毀和GPIO燒壞。

對於問題2,由於該電路是串聯電路,滿足公式:VCC=I*R6+UF,VCC即3.3V,UF的取值范圍為1.7~2.2V,IF取典型值5mA(IF要小於單片機能承受的最大灌入電流),綜上就可以算出R6的取值范圍在220R-320R之間(實際電路中IF較小,R6的取值需根據實際的電流計算)。

拉電流

拉電流指電流由內部端口向外部流出,示例電路如下圖所示:

圖四

上圖所示的電路是利用三極管來控制發光二極管WHITE1的亮滅,電路中CTRL連接單片機的GPIO,我們知道:當CTRL輸出高電平時,三極管導通,形成完整回路,發光二極管點亮。由上圖引出三個問題:

  1. 三極管在此的作用是什麼?
  2. 三極管如何選型?
  3. 各電阻的作用,以及如何取值。

對於問題1,從三極管的一些基本知識說起。三極管內部結構有集電區、基區和發射區這三個區域,包含集電結和發射結兩個PN結。從對應的區域引出的電極分別稱為集電極(c)、基極(b)、發射極(e)。從結構上可以分為NPN型三極管和PNP型三極管。

正向偏置:假設在PN結上外加一個正向電壓,即電源的正極接P區,電源的負極接N區,稱為正向偏置;反向偏置則相反。當PN結正向偏置時,回路中將產生一個較大的正向電流,PN結處於導通狀態,當PN結反向偏置時,回路中的反向電流非常小,幾乎等於0,PN結處於截至狀態。正向偏置時,隻要在PN結兩端加上一個很小的正向電壓,就可得到較大的正向電流,為防止回路中電流過大,一般可以串聯一個電阻。

當輸入回路中的電流iB不變時,輸出回路中的電流Ic與電壓Uce之間的關系稱為輸出特性曲線,在輸出特性曲線上可以劃分為截止區、放大區和飽和區。NPN型三極管的輸出特性如下圖所示:

圖五

一般將ib≤0的區域稱為截止區。在截止區,三極管的發射結和集電結都處於反向偏置狀態,對於NPN型三極管來說,Ube<0,Ubc<0。在放大區,當iB的值一定時,ic的值基本不隨Uce而變化。當基極電流有一個較小的變化量Δib時,相應地集電極電流將產生較大的變化量Δic,即有如下關系:Δic=βΔib,體現三極管的電流放大作用。

在放大區,三極管的發射結正向偏置,集電結反向偏置,對於NPN型三極管來說,Ube>0,Ubc<0。當uce較小時,管子的集電極電流ic基本不隨基極電流ib而變化,這種現象稱為飽和。在飽和區,三極管失去放大作用,發射結和集電結都處於正向偏置狀態,對於NPN型三極管來說,Uce>0,Ubc>0。

回到問題上,判斷三極管的作用,應該從需求出發。我們需要用端口CTRL控制發光二極管的亮滅,則需要三極管在此處充當開關作用。當三極管做“關”作用時,ib≤0,可以認為三極管工作在截止區;當三極管做“開”作用時,需要有電壓從集電極到發射極,即uce>0,當三極管充當開關作用時,我們希望三極管的壓降盡可能地小,以至於能通過更大的電壓,由三極管的輸出特性曲線可知,三極管“開”作用應該工作在飽和區。

當uce=ube,即ucb=0時,三極管到達臨界飽和狀態,通常對於矽管而言,臨界飽和時三極管的集電極和發射極之間的飽和壓降Uces=0.7V。三極管臨界飽和時基極應註入的電流為:Ibs=(VCC-Uces)/βRc,可通過對比基極偏置電流Ib與Ibs的大小關系來判斷三極管處於何種狀態:當Ib≥Ibs時,三極管處於飽和狀態,當0<Ib<Ibs時,三極管處於放大狀態。

對於問題2,選用三極管做開關作用時需要瞭解以下主要參數:

  • 集電極最大允許電流ICM:規定三極管電流放大系數β變化不超過允許值時的集電極最大電流稱為ICM,當三極管的集電極電流超過一定數值時,其電流放大系數β將下降,因此在使用時應使ICM大於實際最大工作電流icmax的兩倍以上;
  • BVCEO是三極管基極開路時,集電極-發射極反向擊穿電壓:如果在使用中加載集電極和發射極之間的電壓超過這個數值時,將可能使三極管產生很大的集電電流,這種現象稱為擊穿;小功率三極管BVCEO的選擇可以根據電路中電源電壓決定,一般情況下要求三極管的BVCEO大於電路中的電源最高電壓即可;
  • PCM是三極管最大允許耗散功率;三極管工作時,管子兩端的壓降為uCE,集電極流過的電流為ic,損耗的瞬時功率為pc=IcUce,集電極電流在集電結上會產生熱量而使三極管發熱,若耗散功耗過大,三極管性能會下降。
  • 反向飽和電流ICBO和穿透電流ICEO:實際選用三極管時,要求三極管的ICBO和ICEO盡可能小一些,這兩個反向電流的值越小,表明三極管的質量越高。

對於問題3,先明確各電阻的作用。R4的作用是限流,當三極管導通時電路有以下關系:5V=IR4+VF+Uces,其中發光二極管VF的工作電壓約為1.7V,三極管飽和壓降Uces約為0.7V,電路中的工作電流可根據流過發光二極管的電流大約估算(參考圖二取5mA),這樣就可以大約確定R4的值。

R6的作用同樣是限流,我們先忽略R7,根據發光二極管中正向電壓VF,在確定三極管型號後,可以知道其放大倍數,由ic=βib可以算出R6的電流,這裡取單片機輸出3.3V電壓,二極管的VF即ic取5mA、三極管的β為100且導通時Vbe為0.7V,則加在基極的限流電阻Rb=(3.3V-0.7V)/(ic/β)=52K,也就是說隻要Rb<52K,三極管就能工作在飽和狀態。

R7的作用是下拉,因為單片機上電瞬間GPIO口的電平是不確定的,添加下拉電阻是防止單片機在上電瞬間出現誤操作,從而偏離預設。

上拉電阻和下拉電阻

上拉:把一個不確定的信號通過電阻連接到高電平,即電信號初始化為高電平(對輸入而言)。

下拉:把一個不確定的信號通過電阻連接到低電平,使電信號初始化為低電平(對輸出而言)。

單片機在上電瞬間引腳的電平是不確定的,上拉和下拉電阻是為瞭防止其在上電瞬間發生誤動作,提高電路的穩定性。在單片機輸出高電平時,受其他外圍電路的影響單片機在輸出高電平時不足以達到VCC狀態,因此會影響整個系統的正常工作,因此上拉電阻能提高輸出管腳的帶負載能力。

幹貨|上拉電阻和下拉電阻的定義、作用、應用案例及阻值選擇-面包板社區

TTL驅動CMOS:標準的TTL電平的VOHmax(高電平輸出最大值)為2.4V,而CMOS的VIHmin(高電平輸入最小值)為3.5V,當TTL驅動CMOS時,TTL輸出高電平時CMOS可能無法有效識別高電平,因此可在TTL輸出上加上一個上拉電阻,將TTL的輸出高電平提高到5V,使CMOS有效識別;TTL低電平驅動CMOS時,TTL的VOLmax(低電平輸出最大值)為0.5V,小於CMOS的VILmax(低電平輸入最大值)的1.5V,因此TTL的低電平可以正常被CMOS識別。


如有錯誤,懇請評論區指出,非常感謝!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部