猿まね電子工作

電子工作にハマった中年オヤジのブログです。経験は20代の頃に少しだけ。でも、一応理系ということで、Raspberry Pi(ラズベリーパイ)やArduino(アルドゥイーノ)を始め、いろんな電子部品をいじくり倒し、本能のおもむくまま、猿マネで作りたいモノを作りまくります。

Raspberry Pi お役立ち記事

ちょっとわかりにくいプルアップ抵抗について

2017/02/18

スポンサードリンク

初心者向けの本では、プルダウン抵抗についての説明はあっても、プルアップ抵抗についての説明は省略されている本が目立ちます。

プルダウン抵抗もプルアップ抵抗も、ICの端子の信号が1(HIGH)なのか0(LOW)なのかをハッキリとさせるためにつける抵抗です。

プルアップ抵抗をつけるのは、

・スイッチOFFで、IOポートが1(HIGH:電圧がかかっている状態)

・スイッチONで、IOポートが0(LOW:電圧がほぼゼロの状態)

となる回路の場合。

プルダウン抵抗とは逆の動きになります。

さて、プルアップ抵抗を理解するにあたって肝心なのが、IC内部についてです。

IOポートの端子から内部は、小さい電流しか流れないように、抵抗が大きくしてあるということ。

この抵抗については、交流などの「電気的な抵抗」も含めてインピーダンスと呼ぶらしいです。

Raspberry PiのIOポートである、GPIOを例に図を描いてみました。

私も、回路については詳しい方ではないので、私の頭の中のイメージを元に描いてます。

【スイッチOFF】 【スイッチON】
プルアップ抵抗OFF プルアップ抵抗ON

・スイッチONの場合(右図)

スイッチがONになると、プルアップ抵抗(10[kΩ])に電流が流れて両端に3.3[V]の電位差が発生します。

抵抗から先の電位差は、グランド(GND:0[V])に直結しているため、0[V]になります。

スポンサードリンク

GPIO端子も、抵抗から先に枝分かれしてつながっているので、同じく0[V]になります。

つまり信号は0(LOW)です。

・スイッチOFFの場合(左図)

普通なら次の図ようになると思いませんか?

プルアップ抵抗(10[kΩ])の両端に電位差が発生して、抵抗から先の電位は低下してGPIO端子はほぼ0[V]、つまり信号は0、つまりLOWになるのでは?・・・と。

【スイッチOFF:普通なら・・・】
プルアップ抵抗OFF 普通に考えるなら

 

ここでカギになるのが、GPIO端子に流れる電流の大きさです。

プルアップ抵抗(10[kΩ])から先の電流の行き先は、GPIO端子のみです。

GPIO端子から先には大きな抵抗がついているのでほとんど電流は流れません。

プルアップ抵抗に電流が流れない場合、両端の電位差はほぼ0[V]となります。

つまり、GPIO端子には電源電圧とほぼ同じ3.3[V]がかかる事となり、信号は1(HIGH)となります。

【スイッチOFF】
プルアップ抵抗OFF

 

ちょっと難しいですが、私なりにはこれで何とかイメージできました。

プルダウン抵抗の記事と同様、こまかな点は間違えているかもしれません。

神経質な方は、自分なりに専門書を読み漁ってみてください。

スポンサードリンク

-Raspberry Pi お役立ち記事