【超入門】電子回路 プルアップとプルダウンの説明
マイコンを使って制御するときに入力でよく利用するのはスイッチになります。何も工夫せずにマイコンへ接続すると、チャタリングが起こるため、思うような処理ができなくなります。
開放状態
下記の図を見てください。マイコン(マイクロコンピュータ)にスイッチ入力を接続しようとすると下記のような配線になると思います。スイッチONの時は、入力端子に電源電圧がそのままかかります。ゆえに、スイッチONの時は問題ありません。しかし、OFFのときは、GNDに接続されておらず、電源電圧にも接続されていない状態です。この状態を「開放」といいます。もしくは「浮いてる」ともいいます。この状態は、電子回路的に絶対やってはいけない状態になります。
理由は、外乱(静電気等の電圧)によってマイコンがラッチアップの状態になります。ラッチアップは、CMOS特有の現象ですが、マイコンが破損します。
プルアップ
開放状態を回避するためにはどうすればよいでしょうか?答えは、スイッチのON・OFFいずれかの状態であってもVddかGNDどちらかに接続する状態を作ればよいのです。回答としては、下記のように接続します。抵抗がVdd側にあるのをプルアップと呼びます。計算は、中学校で学習するオームの法則を使って証明できます。すこしわかりにくいのが、スイッチOFFの状態でしょうか。
スイッチOFFの場合は、電流が流れません。マイコンの入力抵抗は、理論値として無限大です。ゆえに、スイッチOFFの場合は、電源電圧がそのままスイッチにかかっているようにマイコン側から見えます。コンセントと同じですね。
スイッチを押すと「0」となりスイッチを話すと「1」になるため負論理とよばれています。マイコンを設計するときは、負論理で組む場合が多いです。理由としては、スイッチOFFの状態の方がONより長いためです。ラッチアップの説明時にノイズの話をしましたが、電波がこれだけ世の中に飛び交っていると、ノイズの影響が多くなります。その際に、影響を受けにくいのは、電圧が高い状態、つまりVddの状態にしておくほうが安心できるということです。
プルダウン
スイッチと抵抗をプルアップと反対にしたものになります。こちらは、「1」と「0」の状態が反対になります。こちらは、正論理となります。
チャタリングとは
ウィキペディアに詳しく記載されています。プルアップとプルダウンだけでは、入力処理をしっかりと対応したといえません。貼り付けてあった画像にあるように、スイッチを押したさいにONとOFFが数μ秒で振れる状態となります。一度、実行してみるとわかりますが、スイッチ一回で255回押した状態になったこともあるので、プログラミングで対応するか、フィルタリング回路を設計にいれるか、開発者の腕の見せ所になりますね。
おわりに
入力回路は、スイッチ入力でよく使われます。ただし、プルアップとプルダウンだけで対応できるわけではありません。部品や作りたいものに合わせて、回路側で対応するのか、プログラム側で対応するのかを決定する必要があります。色々、ものづくりの経験を多くしていき状況にあった方法で解決すればよいかと思います。
“【超入門】電子回路 プルアップとプルダウンの説明” に対して1件のコメントがあります。