プルダウン抵抗


18

電気工学を理解するために、私はこのチュートリアルに出くわしました。

http://www.ladyada.net/learn/arduino/lesson5.html

私はスイッチに着くまで図を理解しました。ブレッドボードまたは図でスイッチがどのように機能するかわかりません。これは私が考えている特定のものです(これはプルダウン抵抗です):

ここに画像の説明を入力してください

実装は次のとおりです。

ここに画像の説明を入力してください

図に基づいて、私が起こっていると思うのは、スイッチに電源が入り、ボタンが上がっていると回路が完成しないことです。ボタンが押された場合、電流はピン2への抵抗が最小の経路を通過します(100Ω<10kΩ)。

チュートリアルで説明されている方法は、ボタンが上がっていても回路はまだ完成しているように聞こえますが、10kオームの抵抗器が電力をグランドに引き寄せます。10kオームと100オームの両方が等しい電流を受け取っている場合、ピン2に開いているよりも高い抵抗を介して電流がグラウンドに引き寄せられる方法または理由は正ではありません。


3
余談:電流が流れる場所ではなく、各ポイントでの電圧の観点から回路を考えてみてください。これは、私が最初にEEを学んだときの理解を助けました。
geometrikal

この質問に対する回答の質に失望しています。代わりにAddOhmsがこのビデオを見ることをお勧めします。。私はそれを説明するのに十分なこの概念を理解していませんが、執筆時点でのここでの答え、フローティング状態の原因、またはプルアップまたはプッシュダウンのいずれが問題を解決するかについても言及していません
エヴァンキャロル

@EvanCarroll一方、質問執筆時点では、あなたに興味を持っていること、これらのことについて尋ねていません。
ドミトリーGrigoryev

回答:


29

まず、今のところ100Ωの抵抗器を忘れてください。ボタンの操作には必要ありませんが、プログラミングエラーが発生した場合の保護としてのみ使用できます。

  • ボタンが押されると、P2は+5 Vに直接接続されるため、「1」である高レベルとして表示されます。
  • ボタンを離すと、+ 5 Vはカウントされなくなり、ポートとグランドの間に10kΩだけが入ります。

×


次に、100Ω抵抗器。誤ってピンを出力してローに設定した場合、ボタンを押すと短絡が発生します。マイクロコントローラーはピンに0 Vを設定し、同じピンに+5 Vのスイッチを設定します。マイクロコントローラはそれを好まないため、ICが破損する可能性があります。これらの場合、100Ωの抵抗で電流を50 mAに制限する必要があります。(それでも少し多すぎるので、1kΩの抵抗が良いでしょう。)

(低リークは別として)入力ピンに電流が流れないため、抵抗器での電圧降下はほとんどありません。

10kΩは、プルアップまたはプルダウンの一般的な値です。値を小さくすると、さらに電圧降下が小さくなりますが、10 mVまたは1 mVでもそれほど違いはありません。しかし、他にも何かがあります。ボタンを押すと、抵抗器に5 Vが流れるため、5 V / 10kΩ= 500 µAの電流が流れます。これは問題を引き起こさないほど低く、とにかく長い間ボタンを押したままにしないでしょう。ただし、ボタンをスイッチに置き換えることもできます。スイッチは長い間閉じている場合があります。次に、1kΩプルダウンを選択した場合、スイッチが閉じている限り、抵抗に5 mAが流れますが、これは少し無駄です。10kΩが適切な値です。


これを上下逆にしてプルアップ抵抗を取得し、ボタンが押されたときにグランドに切り替えることができることに注意してください。

ここに画像の説明を入力してください

これによりロジックが反転します。ボタンを押すと「1」ではなく「0」になりますが、動作は同じです。ボタンを押すと入力が0 Vになり、ボタンを離すと抵抗が接続されます+5 Vレベルへの入力(ごくわずかな電圧降下)。

これは通常行われている方法であり、マイクロコントローラーの製造元はこれを考慮に入れています。ほとんどのマイクロコントローラーには、ソフトウェアでアクティブまたは非アクティブにできる内部プルアップ抵抗があります。内部プルアップを使用する場合、ボタンをグランドに接続するだけで十分です。(一部のマイクロコントローラーには構成可能なプルダウンもありますが、これらはあまり一般的ではありません。)


この答えから、プッシュダウン方法が浮動状態の問題をどのように解決するかは明確ではないと思います。
エヴァンキャロル

7

スイッチは電力を消費して出力信号を生成する派手なデバイスではないことに注意してください。代わりに、ボタンを押して回路に追加または削除するだけのワイヤーと考えてください。

スイッチが切断されている(押されていない)場合、電流の唯一の可能な経路は、P2両方の抵抗器からグランドまでです。したがって、マイクロコントローラーはLOWを読み取ります。

スイッチが接続されている(押されている)場合:

  • 電源からスイッチを介して流れる電流

  • 一部の電流は、100オームの抵抗器を介してに流れますP2。マイクロコントローラーはHIGHを読み取ります。

  • 少量の電流が10キロオームの抵抗を介してグランドに流れます。これは基本的に無駄な電力です。

100オームの抵抗器が最大電流を制限するためにちょうどそこにあることに注意してくださいP2。マイクロコントローラのP2入力はすでに高インピーダンスであり、多くの電流をシンクしないため、通常、このような回路には含まれません。ただし、100オームの抵抗を含めることは、ソフトウェアにバグまたは論理エラーがありP2、代わりに出力として使用しようとする場合に役立ちます。その場合、マイクロコントローラーがP2ローに駆動しようとしているが、スイッチが短絡してハイに接続していると、マイクロコントローラーのピンが損傷する可能性があります。安全のために、100オームの抵抗はその場合の最大電流を制限します。


5

ボタンを押すと、入力にロジックハイレベル(+5 V)が設定されます。ただし、抵抗を省略してボタンを離すと、入力ピンはフローティング状態になります。これは、HCMOSではレベルが定義されていないことを意味します。これは望ましくないため、抵抗を使用して入力をグランドに引き下げます。そうしないとボタンを押すと短絡が発生するため、抵抗が必要です。

入力は高インピーダンスです。つまり、入力にはほとんど電流が流れません。抵抗器を流れる電流がゼロの場合、抵抗器の両端の電圧がゼロになるため(オームの法則)、一方の側の0 Vは入力ピンでも0 V(または非常に近く)になります。

これはボタンを接続する1つの方法ですが、抵抗とボタンを交換して、抵抗が+5 Vになり、ボタンが接地されるようにすることもできます。次に、ロジックが逆になります。ボタンを押すと、入力ピンが低レベルになります。ただし、ほとんどのマイクロコントローラーにはプルアップ抵抗が組み込まれているため、これはよく行われます。ボタンのみが必要な場合は、外部抵抗を省略できます。内部プルアップを有効にする必要がある場合があることに注意してください。



この回答 も参照してください。


この答えから、プッシュダウン方法が浮動状態の問題をどのように解決するかは明確ではないと思います。
エヴァンキャロル

4

10kohm抵抗はプルダウン抵抗と呼ばれます。これは、「グリーン」ノード(100ohm抵抗と10kohm抵抗を接続している)がスイッチによって+ 5Vに接続されていない場合、そのノードはグランドに引き下げられます(そのブランチを流れる電流が小さいと仮定するため) 、明らかに)。スイッチが閉じられると、そのノードは+ 5Vの電位を獲得します。

これは、論理IC(ANDゲート、ORゲートなど)の入力を制御するために使用されます。これらの回路は、入力に確定値がない場合(0または1値)に不規則に動作するためです。論理ゲートの入力をフローティングのままにすると、出力を確実に決定できないため、決定された入力(0または1)を常にゲートの入力に適用することをお勧めします。この場合、P2は特定の論理ゲートへの入力になり、スイッチが開いているときの入力値は0(GND)です。スイッチを閉じると、入力値は1(+ 5V)になります。


2

電流は最小抵抗の経路を取ります

このよくある誤解がどこから来たのかはわかりませんが、それはオームの法則と直接矛盾するため、実際間違っています。電流は、抵抗に反比例して、考えられるすべての経路を取ります。5kを10k抵抗に印加すると、提供する代替パス(低抵抗またはそれ以外)の数に関係なく、0.5mAが流れます。

ちなみに、100オームの抵抗器を通るその経路は、抵抗器がグランドに接続されていないため必ずしも「最小抵抗」ではありません。典型的には、その抵抗を10Ωを超えるインピーダンスのMCU入力に接続し、10k抵抗を抵抗が最小の経路にします。


1

プルダウン抵抗が必要な理由は、マイクロコントローラがCMOSデバイスであり、したがって入力ピンが最終的にMOSFETのゲートであるためです。

プッシュボタンが電球、LED、またはリレーを制御している場合、オープン回路が「オフ」になるため、プルダウン抵抗は必要ありません。ボタンを放すと、電流が流れなくなるため、電球が消灯します。

デバイスが元の7400シリーズロジックチップのような真のTTLデバイスである場合、これらの入力はバイポーラトランジスタであり、ボタンを放すとベースエミッタジャンクションに電流が流れないため、プルダウン抵抗は不要です。 "オフ"。

対照的に、マイクロコントローラーの入力は、コンデンサーのように機能するMOSFETゲートです。ゲート電圧が十分に高い場合、入力は「オン」です。ボタンを押すと、電流が100R抵抗を介してマイクロコントローラに流れ込みます。ゲートはコンデンサのように(非常に速く)充電され、入力は「オン」になります。ボタンを離すとどうなりますか?これ以上電流は流れません。しかし、それは入力にとって何を意味するのでしょうか?プルダウン抵抗がない場合、ゲートの電荷はどこにも行きません。電圧はちょうど5Vの近くにあり、入力はまだ「オン」のままです。プルダウン抵抗はゲート電荷を排出するため、その電圧は「オン」レベルを下回ります。これは、デジタル入力が「オフ」と見なされるようにするためのものです。

これを試すには、2つのボタンを入力ピンに接続します。1つを5Vに、もう1つをグランドに接続します。5Vボタンを押すと、入力がオンになります。リリースすると、GNDに接続されているものを押すまでオンのままになります。


TTLでは、実際には導通しないベースエミッタジャンクションですが、考えられる方法ではありません。入力は入力NPNトランジスタのエミッタであり、入力がローになるとトランジスタが導通します。フローティングは高と同じです。
-stevenvh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.