プルダウン抵抗とプルアップ抵抗を使用する場合


42

マイクロコントローラを学び、実験した後、プルアップ抵抗とプルダウン抵抗の概念を理解しました。いつ、どのように使用するのか、そしてどのように機能するのかがわかりました。教えられたので、主にプルアップを使用しましたが、スイッチを閉じるとMCU入力がLOWに設定されるため、常に少し後ろ向きに見えました。プルダウン抵抗を使用する方が理にかなっていると思うので、スイッチが開いているときに入力はLOWになりますが、それは私の考え方です。

単投入力をプルアップまたはダウンする必要がありますか?プルアップよりもプルダウンが優先されるのはいつですか?


3
(他の)エレクトロニクスの新人として、この質問は決して愚かではないと言わざるを得ません。どちらにもなりませんが、「Viewed:1989 times」という理由からです。
steenhulthin 14

*理由* 12998回
マイク・コーサー

回答:


29

答えは、「デフォルト」構成に何をしたいかによって異なります。たとえば、ダウンストリームNチャネルMOSFETがあり、デフォルトをオフにしたいとします。次に、入力が高インピーダンスになった場合、プルダウン抵抗を使用してこの動作を保証します。

回路図

この回路のシミュレーションCircuitLabを使用して作成された回路

一方、アップストリームPチャネルMOSFETがあり、デフォルトでオフにしたいとします。今回は、この動作を作成するためにプルアップ抵抗が必要です。

回路図

この回路をシミュレートする

デバイスをデフォルトでオンにする別のケースもあります。この場合、上記の2つのケースは逆になります(NチャネルMOSFETのプルアップ、PチャネルMOSFETのプルダウン)。

その他の考慮事項:

  1. I2Cラインはプルアップ抵抗を指定します。これは、デバイスがグランドへのオープンドレインを持つことが「期待される」ため、ライン電位を上げる何らかの方法が必要だからです。

  2. アナログコンパレータは通常、オープンドレインデバイスとして構成されているため、高電位出力を得るためにプルアップ抵抗も必要です。

  3. 入力/出力に接続されているものに応じて、プルアップ/プルダウン抵抗を使用してより多くの電流を引き込むことができます。

  4. どちらの構成もアプリケーションで同様に機能します(つまり、どちらの方法でも大きな利点はありません)。

...そして、1つの構成が優先される可能性のある非常に多くのアプリケーション固有の理由。


16

信号にまだ仕様がない場合は、最も意味のあるものを使用してください。入力をactive-highまたはactive-lowにするのはあなたの選択です。

ボタンの場合は、デバウンス回路を使用してください(またはソフトウェアで行ってください)。

回路図

この回路のシミュレーションCircuitLabを使用して作成された回路


私が見たアクティブハイとアクティブローの唯一の並列比較のために+1。ニース、物事を明確にします。
TomServo

15

回路設計が選択可能なものである場合-つまり、回路の残りの部分でプルアップまたはプルダウンを使用する必要がない場合-障害が発生した場合の安全性とセキュリティを考慮する必要があります。

マイクロコントローラーが故障した場合、またはその出力だけが故障した場合、プルアップまたはプルダウンが有効になります。これにより、デバイスの動作がどのように変わりますか?ユーザーを危険にさらしますか?たとえば、発熱体を押し付けることによって?ドアロックを無効にするなど、セキュリティに影響しますか?

プルアップ/ダウン抵抗器は、ワイヤのデフォルト状態を決定します。デフォルトの状態を決定するかどうかは、安全性、セキュリティ、そして最終的に必要な回路の機能に依存します。


5

Arduino / ATmega328を使用している場合は、内蔵のプルアップ抵抗を使用できます。

Atmegaチップには20Kのプルアップ抵抗が組み込まれており、ソフトウェアからアクセスできます。これらの組み込みプルアップ抵抗器にアクセスするには、pinMode()をINPUT_PULLUPとして設定します。これにより、INPUTモードの動作が効果的に反転します。HIGHはセンサーがオフ、LOWはセンサーがオンであることを意味します。

このプルアップの値は、使用するマイクロコントローラーによって異なります。ほとんどのAVRベースのボードでは、値は20kΩ〜50kΩであることが保証されています。Arduino Dueでは、50kΩ〜150kΩです。正確な値については、ボード上のマイクロコントローラーのデータシートを参照してください。

INPUT_PULLUPで構成されたピンにセンサーを接続する場合、もう一方の端をグランドに接続する必要があります。シンプルなスイッチの場合、これにより、スイッチが開いているときにピンがHIGHになり、スイッチが押されたときにLOWになります。

Raspberry Pi も同様です。


4

電源投入シーケンス中の状態を定義するために、マイクロコントローラなどのプログラム可能なデバイスの出力でプルアップまたはダウン-多くの場合ダウン-が必要になることがよくあります。このような出力は、多くの場合、電源投入時に高インピーダンスであり、接続されていないデバイスでは、意図しない信号が発生する可能性があります。たとえば、複数の電源が関係する場合、各セクションを入力にゼロボルトで安全に設計し、プルダウンを使用するのが最善です。

他の回答よりも少しあいまいですが、青い煙と法的措置の脅威を含む例を見てきました。


明確化:問題は、プルアップ抵抗またはプルダウン抵抗を使用する理由ではなく、プルアップまたはプルダウン抵抗を使用するかどうかでした。
オスベイン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.