はじめに
自作キーボードをやっているとプルダウン、プルアップ抵抗が出てきます。
プルダウン抵抗はわかりやすいのにプルアップ抵抗マジ意味わかんなかったけど、ようやく理解できたのでそれのメモです。
プルアップ抵抗とは
スイッチ押して無い時に電圧がかかって、押した時に電圧が消える
inputピン
inputピンの中には抵抗が入っていて、それがinputモードのときはGNDと繋がっている
直列回路
直列回路の抵抗計算
R=R1+R2
I=I1=I2
このように抵抗を1つの抵抗として計算するのを合成抵抗と言う
各抵抗に流れる電流は同じ
各抵抗にかかる電圧の計算式
V=Rn*I
例:
R1 = 10
R2 = 20
V = 5
I = 5 / 30
並列回路
並列回路は電源に複数の抵抗が並列に繋がっている回路
I=I1+I2
これも合成抵抗としてまずは並列な部分を1つの抵抗として抵抗値を出す。
計算式は以下の通り
\frac{1}{R} = \frac{1}{R1} + \frac{1}{R2}
特徴として、合成抵抗の抵抗値は必ず並列回路の合計の抵抗値よりも低くなる
抵抗値が低くなると流れる電流が増える
イメージとしては2つの抵抗に十分な電流を流そうとする働きがあるので、全体に必要な電流が増える
電流は抵抗値が大きい程小さくなる
I = \frac{V}{R}
プルアップ抵抗の仕組み
V=5V \\
R1=10 \\
R2=1K \\
R3=1
の場合
R1とR2の直列回路だけで、R3がなければ、合成抵抗は
R=1000 + 10 \\
R=1010Ω
合成電流は
I=\frac{5}{1010} \\
I=0.004950495049505 A \\
I=4.950495049505 mA
R1の電圧V1は
V1 = 0.004950495049505 * 10
V1 = 0.04950495049505
R2の電圧V2は
V2 = 0.004950495049505 * 1000
V2 = 4.950495049505
の様に、殆どの電圧を持っていっている
また、電流は
I=V/Rなので、
I1=0.04950495049505/10 \\
I1=0.004950495049505A \\
I2=\frac{4.950495049505}{1000} \\
I2=0.004950495049505
直列回路はIが同じなので正しい計算値ですね。
電圧はR3が登場すると逆転する
R2とR3を並列の合成抵抗として
R1=10 \\
R2R3=1000/1001 \\
R2R3=0.999000999000999 \\
R=10+1000/1001 \\
R=10.999000999000999
抵抗値が1010からだいぶ小さくなりましたね
I=\frac{5}{10.999000999000999} \\
I=0.454586739327884A
これが全体を流れる電流です
ちなみにR1単体の場合は0.5Aになります。
R1は比例定数なのでこれが大きいほど今回発生した約0.045の誤差は小さくなります。
R1にかかる電圧V1は
V1 = 0.454586739327884 \times 10
V1 = 4.54586739327884
混合回路の場合電流は、R2とR3は1000対1で、比が逆になった分が流れるので、1対1000の電流で、R3に流れる電流の1000分の1だけがR2に流れる

なので、混合回路で抵抗をつないでない導線をGNDに繋げるとほとんどの電圧が10Kの抵抗に取られるし、導線の抵抗は限りなく低いため、10000000対1とか、もっと凄い数値かもしれないが、ほぼ全ての電流は導線側を流れていって、inputピン側には電流は全然流れないって事なんだとか