使用上拉電阻

2021-09-30 13:31:31 字數 2010 閱讀 6871

上拉電阻在使用微控制器(mcus)或者其他數字邏輯器件的時候很常見。本教程會解釋什麼時候和什麼地方會用到上拉電阻,然後我們會通過乙個簡單的計算來展示為什麼上拉電阻很重要。

我們設想你有乙個mcu,它有乙個配置成輸入的引腳。如果沒有東西連線在該引腳上,並且你的程式要讀這個引腳的狀態,這個狀態是高(拉到vcc)還是低(接地)?這很難說。這種情況叫做懸空。為了防止這種未知狀態,就需要乙個上拉或者下拉電阻來保證引腳處於高電平還是低電平狀態,同時需要流過少部分電流。

簡單起見,我們將把注意力放在上拉電阻上,因為它們比下拉電阻更常見。它們使用相同的概念,除了上拉電阻連線到高電平(通常3.3v或者5v,並且作為vcc),而下拉電阻連線到地。

上拉電阻經常和按鍵以及開關在一起使用。

通過使用上拉電阻,輸入引腳將在按鍵按下時讀到高電平。換句話說,vcc和輸入引腳(不是和地)之間會有小電流流過,輸入引腳讀出的電壓接近vcc。按鍵按下時,輸入引腳直接接地。電流通過電阻流入地,輸入引腳讀出低電平。記住,如果這裡沒有這個電阻,你的按鍵將使vcc接地,這是很糟糕的,就是我們說的短路。

那麼怎麼選擇電阻值呢?

簡短的答案就是你需要乙個近似10kω的電阻來上拉。

小電阻值叫做強上拉(更多電流),高電阻值叫做弱上拉(小電流)。

選擇上拉電阻的阻值需要滿足兩個條件:

1、按鍵按下,引腳電平拉低。r1的阻值控制你希望vcc流出多少電流通過按鍵到地。

2、按鍵未按下,引腳電平拉高。上拉電阻控制引腳的電平。

對於條件1,你不希望電阻值過低。電阻值越低,按鍵按下的時候就會消耗更多的能量。一般你希望電阻值稍大一些(10kω),但是你不希望阻值過大,以免和條件2衝突。乙個4mω的電阻可以作為上拉電阻,但是它的阻值太大(太弱)以至於不能在所有情況下正常工作。

條件2的一般規則是使用乙個近似小於輸入引腳阻抗(r2)1/10數量級的上拉電阻(r1)。微控制器的輸入引腳阻抗範圍在100k-1mω。這裡,阻抗只是電阻值的另一種說法,在上圖中用r2表示。因為,按鍵按下時,小電流就會從vcc流過r1進入引腳。上拉電阻r1和輸入引腳阻抗r2分得電壓,這個電壓需要足夠高來使得輸入引腳讀出高電平狀態。

舉個例子,如果你使用乙個1mω的電阻來上拉,輸入引腳阻抗約為1mω(構成乙個分壓器),輸入引腳上的電壓將是vcc的一半,微控制器引腳可能不是高電平狀態。在乙個5v系統中,mcu讀出引腳狀態電壓是2.5v會是什麼狀況?是高還是低?mcu不知道結果,你可能讀出高或者低狀態。而10k到100kω可以避免大部分的問題。

既然上拉電阻需求這麼廣泛,很多mcu,比如arduino平台上的atmega328 微控制器,有可以開啟和禁用的內部上拉電阻。啟用arduino的內部上拉電阻,你可以在你的setup函式中使用下面一行**:

[cpp]view plain

copy

print?

pinmode(5,input_pullup); // enable internal pull-up resistor on pin 5

pinmode(5,input_pullup); // enable internal pull-up resistor on pin 5
所有這些因素都會影響決定使用多大的上拉電阻。

我們考慮你在上面的電路中按鍵按下時,希望限制電流到1ma左右。其中vcc=5v,你需要使用多大的電阻。

使用歐姆定理很容易計算上拉電阻的阻值:

根據上面的電路圖,歐姆定理公式變成:

記住在計算前將所有單位轉換成伏特、安培和歐姆(比如1ma=0.001a),接出電阻為5kω

上拉電阻 下拉電阻的使用場景

參考 記得誠電子設計 上拉,從字面意思就是往上面拉,數位電路中 上 指的是啥?指邏輯1,在電路設計中,邏輯1代表高電平。那把什麼往上面拉呢,當然不會是電源,也不會是地,那只能是訊號了。自然就會得到概念,把乙個訊號通過乙個電阻接到高電平,叫作上拉,這個電阻充當的作用就是上拉電阻。把乙個訊號通過乙個電阻...

上拉電阻 下拉電阻總結

上拉電阻 1 當ttl電路驅動coms電路時,如果ttl電路輸出的高電平低於coms電路的最低高電平 一般為3.5v 這時就需要在ttl的輸出端接上拉電阻,以提高輸出高電平的值。2 oc閘電路必須加上拉電阻,才能使用。3 為加大輸出引腳的驅動能力,有的微控制器管腳上也常使用上拉電阻。4 在coms晶...

上拉電阻 下拉電阻總結

上拉電阻 1 當ttl電路驅動coms電路時,如果ttl電路輸出的高電平低於coms電路的最低高電平 一般為3.5v 這時就需要在ttl的輸出端接上拉電阻,以提高輸出高電平的值。2 oc閘電路必須加上拉電阻,才能使用。3 為加大輸出引腳的驅動能力,有的微控制器管腳上也常使用上拉電阻。4 在coms晶...