學習和試驗微控制器後,我了解了上拉和下拉電阻的概念。我現在了解何時以及如何使用它們,以及它們如何工作。我主要是使用上拉電路的,因為我受過這方面的知識,但對我來說似乎總是有些倒退,因為關閉開關會將MCU輸入設置為LOW。我認為使用下拉電阻會更有意義,以便在開關斷開時輸入為LOW,但這只是我的想法。
我應該拉我的電阻嗎?單擲輸入向上還是向下?何時拉低優先於拉高,反之亦然?
學習和試驗微控制器後,我了解了上拉和下拉電阻的概念。我現在了解何時以及如何使用它們,以及它們如何工作。我主要是使用上拉電路的,因為我受過這方面的知識,但對我來說似乎總是有些倒退,因為關閉開關會將MCU輸入設置為LOW。我認為使用下拉電阻會更有意義,以便在開關斷開時輸入為LOW,但這只是我的想法。
我應該拉我的電阻嗎?單擲輸入向上還是向下?何時拉低優先於拉高,反之亦然?
答案取決於您希望“默認”配置是什麼。例如,假設您有一個下游N溝道MOSFET,並且您希望它默認關閉。然後,如果輸入變為高阻抗,則可以使用下拉電阻來確保這種行為。
模擬該電路 –另一方面,使用 CircuitLab sup>
創建的原理圖,假設您有一個上游P溝道MOSFET,並且希望將其默認關閉。這次需要一個上拉電阻來產生這種行為。
模擬該電路 sup>
在另一種情況下,您希望設備默認開啟,在這種情況下,以上兩種情況將被顛倒(N溝道MOSFET上拉,P溝道MOSFET上拉)。
其他一些注意事項:
I2C線指定上拉電阻,因為“預計”器件的漏極開路接地,並且因此,需要某種方式來提高線路電勢。
模擬比較器通常被配置為漏極開路設備,因此還需要上拉電阻來獲得高電勢輸出。 / p>
您可以使用上拉/下拉電阻吸收更多電流,具體取決於連接到輸入/輸出的內容。
這兩種配置可以在您的應用程序中同樣出色地工作(即,一種方法或另一種方法都沒有明顯的優勢)。
...以及任何數量的非常應用程序-首選一種配置的具體原因。
如果信號尚無規格,請使用對您最有意義的一種。您可以選擇輸入 active-high 或 active-low 。
如果是按鈕,請確保使用去抖電路(或在軟件中進行)。
模擬該電路 –使用 CircuitLab sup>
創建的示意圖如果您的電路設計可以選擇-換句話說,電路的其餘部分不需要使用上拉或下拉-那麼在發生故障的情況下應考慮安全性。
如果您的微控制器發生故障,或者只是該輸出發生故障,則上拉或下拉將生效。這將如何改變您設備的操作?會否使用戶處於危險之中-例如通過強加加熱元件?會影響安全性,例如禁用門鎖嗎?
上拉/下拉電阻器確定電線的默認狀態。確定默認狀態應該取決於安全性,安全性以及最終所需的電路功能。
如果您正在使用Arduino / ATmega328,則可以使用內置上拉電阻器。
Atmega芯片內置了20K上拉電阻器可以從軟件訪問。通過將pinMode()設置為INPUT_PULLUP可以訪問這些內置的上拉電阻。這有效地反轉了INPUT模式的行為,其中HIGH表示傳感器處於關閉狀態,LOW表示傳感器處於開啟狀態。
此上拉的值取決於所使用的微控制器。在大多數基於AVR的板上,該值保證在20kΩ至50kΩ之間。在Arduino Due上,它介於50kΩ和150kΩ之間。有關確切值,請參閱板上微控制器的數據表。
將傳感器連接到配置有INPUT_PULLUP的引腳時,另一端應接地。對於簡單的開關,這會導致在打開開關時該引腳讀為HIGH,而在按下開關時該引腳讀為LOW。
Raspberry Pi 也具有它們。
您通常希望對可編程器件(如微控制器)的輸出進行上拉或下拉(通常是下拉),以在加電序列中定義其狀態。這樣的輸出在通電時通常是高阻抗的,如果不這樣做,連接的設備可能會收到意想不到的信號。例如,如果涉及多個電源,則最好將每個部分設計為安全的,輸入端為零伏,並使用下拉電阻。
比其他答案更晦澀難懂,但我已經看到一些例子,其中涉及到藍色煙霧和法律訴訟威脅。