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