上拉電阻器非常普遍,您會(huì)一直在數(shù)字電路中看到它。 它只是一個(gè)電阻器,從輸入端連接到Vdd,電路的正電源。
上拉電阻用于確保在未按下按鈕時(shí)輸入引腳上具有高電平狀態(tài)。 如果沒有一個(gè),您的輸入將是浮動(dòng)的,并且您有可能在輸入在高和低之間隨機(jī)變化,因?yàn)樗诳諝庵惺叭≡胍簟?/p>
如何選擇上拉電阻值
低電阻值稱為強(qiáng)上拉(電流流動(dòng)較多),高電阻值稱為弱上拉(電流較少)
規(guī)則 1:值不能太高。
上拉值越高,輸入端的電壓就越低。 重要的是,電壓要足夠高,芯片才能將其視為高電平或邏輯1輸入。
例如,如果使用具有 10V 電源的 CD4017,則輸入端至少需要 7V 才能將其視為 HIGH。
規(guī)則2:但它也不能太小。
例如,如果您選擇100 Ω,問題是當(dāng)按下按鈕時(shí),您會(huì)獲得大量電流流經(jīng)它。
使用9V電源時(shí),您可以在100 Ω(90
mA)獲得9V電壓。 這是不必要的功率浪費(fèi),但這也意味著電阻器需要承受0.81W。 大多數(shù)電阻器只能處理高達(dá)0.25W的功率。
經(jīng)驗(yàn)法則
一般規(guī)則是使用比輸入引腳的輸入阻抗(R2)小一個(gè)數(shù)量級(jí)(1/10)的上拉電阻(R1),小10倍的電阻值。
通常,10 kΩ的上拉值就可以解決問題。 但是,如果您想了解它的工作原理,請(qǐng)繼續(xù)閱讀。
上拉電阻器如何工作?
您可以使用分壓器公式查找未按下按鈕時(shí)輸入引腳上的電壓:
如果對(duì)上拉R1使用1MΩ電阻,并且輸入引腳的阻抗R2約為1MΩ(形成分壓器),則輸入引腳上的電壓約為VCC的一半,并且微控制器可能不會(huì)將引腳記錄為處于高電平狀態(tài)。 在5V系統(tǒng)上,輸入電壓為2.5V
計(jì)算示例
假設(shè)您的芯片的輸入阻抗為1MΩ(對(duì)于許多芯片來說,100kΩ至1MΩ是正常的)。 如果您的電源是9V,并且您選擇10
kΩ的上拉電阻值,那么輸入引腳上的電壓是多少?
輸入引腳上的電壓為8.9V,足以用作高電平輸入。
通常,如果您堅(jiān)持使用不超過輸入阻抗十倍的上拉電阻的經(jīng)驗(yàn)法則,您將確保輸入引腳上始終具有至少90%的VDD電壓。
總結(jié)
由于通常需要上拉電阻,因此許多MCU(如Arduino平臺(tái)上的ATmega328微控制器)都具有可以啟用和禁用的內(nèi)部上拉電阻。 要在 Arduino
上啟用內(nèi)部上拉,您可以在 setup() 函數(shù)中使用以下代碼行:
COPY CODEpinMode(5, INPUT_PULLUP); // Enable internal pull-up resistor on pin 5
需要指出的另一件事是,上拉電阻越大,引腳對(duì)電壓變化的響應(yīng)速度就越慢。 這是因?yàn)轲侂娸斎胍_的系統(tǒng)本質(zhì)上是一個(gè)與上拉電阻耦合的電容器,因此形成RC濾波器,而RC濾波器需要一些時(shí)間來充電和放電。 如果您有一個(gè)非常快速變化的信號(hào)(如USB),高阻值上拉電阻可以限制引腳改變狀態(tài)的速度(信號(hào)還具有可靠性)。 這就是為什么您經(jīng)常會(huì)在USB信號(hào)線上看到1k至4.7KΩ電阻的原因。
所有這些因素都決定了使用什么值的上拉電阻器。
-
上拉電阻
+關(guān)注
關(guān)注
5文章
366瀏覽量
31168 -
電阻器
+關(guān)注
關(guān)注
21文章
4047瀏覽量
63524 -
分壓器
+關(guān)注
關(guān)注
0文章
223瀏覽量
19306 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1639瀏覽量
81900 -
電阻值
+關(guān)注
關(guān)注
0文章
89瀏覽量
11621
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論