0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LEDを抵抗なしで電源につなぐと煙が出る理由。オームの法則で電流を計算して確かめる

0
Posted at

みなさん、こんにちは。エンジニアの皆さんは「オームの法則」を学校で習いましたよね? 「V = IR」 。あのシンプルな式。

でも、正直なところ 「式は覚えてるけど、実際の回路でどう使うかイメージできない」 って人、結構多いんじゃないですか?

実は先日、ある電子工作初心者の方が「LEDに抵抗をつけずに直接電源につないだら、一瞬で煙が出た」と嘆いていました。これ、オームの法則を「体感」できていれば絶対にやらないミスなんです。

今日は、ブラウザで動く無料ツール「オームの法則シミュレーター」を題材に、式の意味から実装、そして現場での落とし穴まで、コード付きで徹底解説します。


ざっくり本質 — 「水の流れ」で理解する

オームの法則を一言で表すならこうです。

「電圧は押す力、抵抗は邪魔する力、電流は実際に流れる量」

イメージしてみてください。

  • 電圧(V) = 水道の蛇口をひねる強さ(水圧)
  • 抵抗(R) = ホースをギュッと押さえる強さ(流れにくさ)
  • 電流(I) = 実際にホースから出てくる水の量

蛇口を強くひねれば(電圧UP)、水はたくさん出る(電流UP)。
ホースを強く押さえれば(抵抗UP)、水は減る(電流DOWN)。

これがオームの法則の本質。シミュレーターでスライダーを動かすと、この関係がアニメーションで一目瞭然なんです。


数式で理解する — 3つの顔を持つ法則

さて、ここからは少しだけ数式に入ります。でも怖がらないでください。中学レベルの算数です。

オームの法則には3つの表現があります。測定できる値によって使い分けるんです。

V = I \times R
I = \frac{V}{R}, \quad R = \frac{V}{I}

そして、消費電力の公式もセットで覚えましょう。

P = VI = I^2 R = \frac{V^2}{R}

この $P$(電力、単位はW:ワット)が実務で最も重要。なぜなら、抵抗で消費された電力はすべて熱になるからです。

例えば、 $5V$ の電源に $10\Omega$ の抵抗をつなぐと、流れる電流は:

I = \frac{5V}{10\Omega} = 0.5A

消費電力は:

P = I^2 R = (0.5)^2 \times 10 = 2.5W

この $2.5W$ がジュール熱として抵抗から放出されます。小さな抵抗(例えば1/4W用)にこれを流すと、確実に煙が出ます。


コードで実装する ★最重要★

ここからが本題。シミュレーターの計算ロジックを、実際に動くJavaScriptコードで再現してみましょう。

このコードは、スライダーの値から電流・電力を計算し、直列・並列の合成抵抗も求めます。

/**
 * オームの法則シミュレーター コアロジック
 * 使い方: node またはブラウザのコンソールで実行
 */

class OhmsLawSimulator {
  /**
   * @param {number} voltage - 電源電圧 [V]
   * @param {number[]} resistors - 抵抗値の配列 [Ω]
   * @param {'series'|'parallel'} mode - 接続方式
   */
  constructor(voltage, resistors, mode = 'series') {
    this.voltage = voltage;
    this.resistors = resistors;
    this.mode = mode;
  }

  /** 合成抵抗を計算 */
  calcTotalResistance() {
    const R = this.resistors;
    if (this.mode === 'series') {
      // 直列: 単純な足し算
      return R.reduce((sum, r) => sum + r, 0);
    } else {
      // 並列: 逆数の和の逆数
      const invSum = R.reduce((sum, r) => sum + 1 / r, 0);
      return 1 / invSum;
    }
  }

  /** 全電流を計算(オームの法則) */
  calcTotalCurrent() {
    const R_total = this.calcTotalResistance();
    return this.voltage / R_total;
  }

  /** 各抵抗の電圧降下を計算 */
  calcVoltageDrops() {
    const I_total = this.calcTotalCurrent();
    if (this.mode === 'series') {
      // 直列: 電流は共通、V = IR で各抵抗の電圧降下
      return this.resistors.map(r => I_total * r);
    } else {
      // 並列: 電圧は共通(電源電圧と同じ)
      return this.resistors.map(() => this.voltage);
    }
  }

  /** 各抵抗の消費電力を計算 */
  calcPowerDissipations() {
    const I_total = this.calcTotalCurrent();
    if (this.mode === 'series') {
      // 直列: P = I^2 * R
      return this.resistors.map(r => I_total ** 2 * r);
    } else {
      // 並列: 各抵抗に流れる電流は V/R
      return this.resistors.map(r => (this.voltage ** 2) / r);
    }
  }

  /** 全結果を表示 */
  displayResults() {
    const R_total = this.calcTotalResistance();
    const I_total = this.calcTotalCurrent();
    const V_drops = this.calcVoltageDrops();
    const P_diss = this.calcPowerDissipations();

    console.log(`=== オームの法則 計算結果 ===`);
    console.log(`接続方式: ${this.mode === 'series' ? '直列' : '並列'}`);
    console.log(`電源電圧: ${this.voltage} V`);
    console.log(`各抵抗値: [${this.resistors.join(', ')}] Ω`);
    console.log(`合成抵抗: ${R_total.toFixed(3)} Ω`);
    console.log(`全電流:   ${I_total.toFixed(3)} A`);
    console.log(`---`);
    this.resistors.forEach((r, i) => {
      console.log(`抵抗R${i+1} (${r}Ω): 電圧降下=${V_drops[i].toFixed(3)}V, 消費電力=${P_diss[i].toFixed(3)}W`);
    });
    console.log(`総消費電力: ${P_diss.reduce((a,b) => a+b, 0).toFixed(3)} W`);
  }
}

// ===== 実行例 =====
// 例1: 直列回路(電源12V, 抵抗10Ωと20Ω)
const circuit1 = new OhmsLawSimulator(12, [10, 20], 'series');
circuit1.displayResults();

console.log('\n'); // 空行

// 例2: 並列回路(電源12V, 抵抗10Ωと20Ω)
const circuit2 = new OhmsLawSimulator(12, [10, 20], 'parallel');
circuit2.displayResults();

このコード、Node.jsが入っていればコピペで即実行できます。
「直列」と「並列」で結果がどう変わるか、実際に動かしてみてください。


数値例で確かめる

では、具体的な数値で計算してみましょう。

条件: 電源電圧 $V = 12V$(車のバッテリー相当)、抵抗 $R_1 = 10\Omega$、$R_2 = 20\Omega$

直列の場合

合成抵抗:

R_{total} = 10 + 20 = 30\Omega

全電流:

I = \frac{12V}{30\Omega} = 0.4A

電圧降下(各抵抗にかかる電圧):

  • $R_1$: $V_1 = 0.4A \times 10\Omega = 4V$
  • $R_2$: $V_2 = 0.4A \times 20\Omega = 8V$
  • 確認: $4V + 8V = 12V$ ✓

消費電力:

  • $R_1$: $P_1 = (0.4)^2 \times 10 = 1.6W$
  • $R_2$: $P_2 = (0.4)^2 \times 20 = 3.2W$
  • 合計: $4.8W$

並列の場合

合成抵抗:

\frac{1}{R_{total}} = \frac{1}{10} + \frac{1}{20} = 0.1 + 0.05 = 0.15
R_{total} = \frac{1}{0.15} \approx 6.667\Omega

全電流:

I = \frac{12V}{6.667\Omega} \approx 1.8A

各抵抗の電流:

  • $R_1$: $I_1 = \frac{12V}{10\Omega} = 1.2A$
  • $R_2$: $I_2 = \frac{12V}{20\Omega} = 0.6A$
  • 確認: $1.2A + 0.6A = 1.8A$ ✓

消費電力:

  • $R_1$: $P_1 = \frac{12^2}{10} = 14.4W$ ← 注意!
  • $R_2$: $P_2 = \frac{12^2}{20} = 7.2W$
  • 合計: $21.6W$

ここで重要な発見があります。

直列では $R_1$ の消費電力は $1.6W$ だったのに、並列では $14.4W$ に跳ね上がっています。
もし $R_1$ が1/4W(0.25W)の抵抗だったら? 一瞬で煙がでます。

これが、冒頭で「抵抗を小さくしすぎると煙が出る」と言った理由です。


シミュレーターで遊ぶ — 3つの実験

それでは、実際にオームの法則シミュレーターを開いて、一緒に実験してみましょう。

実験1: 「抵抗を大きくするとどうなるか」

  1. 電圧V: 10V に固定
  2. 抵抗R: スライダーをゆっくり右に動かす(1Ω → 100Ω)

観察されること:

  • 電流Iの値が 10A → 0.1A に減少
  • アニメーションの電子の流れが 速い → 遅い に変化
  • 電球の明るさが 明るい → 暗い に変化

なぜ?
オームの法則 $I = V/R$ より、Vが一定ならRが大きいほどIは小さくなります。抵抗は「電流のブレーキ」 なんです。

実験2: 「直列 vs 並列 — どっちが明るい?」

  1. 接続方式: 「直列」モードに
  2. 抵抗R1: 10Ω、抵抗R2: 10Ω(同じ値)
  3. 電流Iと電球の明るさを確認
  4. 次に「並列」モードに切り替え

結果の違い:

  • 直列: 合成抵抗 $20\Omega$ → 電流 $0.5A$(電源10Vの場合)
  • 並列: 合成抵抗 $5\Omega$ → 電流 $2.0A$(同じ電源)

並列の方が4倍も明るいんです。これ、家庭のコンセントが並列な理由の一つ。全部の機器に同じ電圧(100V)をかけられるからです。

実験3: 「消費電力の恐ろしさを体感」

  1. 電圧V: 12V
  2. 抵抗R: 2Ω(かなり小さい値)
  3. 消費電力Pの表示をチェック

結果: $P = 12^2 / 2 = 72W$

現実の話: 一般的なチップ抵抗(0603サイズ)の定格は0.1W程度。72Wもの電力をかけたら、一瞬で発火します。シミュレーターで安全に「やらかし体験」ができるんです。


現場でハマるポイント — 3つの落とし穴

落とし穴1: 「電圧を上げれば電流は比例する」と思い込む

正しくは: 抵抗が一定なら、の話。

現実の回路、特に半導体(LEDやトランジスタ) は、電圧を上げると内部抵抗が急激に下がることがあります。これをアバランシェ降伏と言います。

例えばLEDに3V以上かけると、内部抵抗がほぼ0Ωに。すると $I = V/R$ のRが極小になり、理論上は無限大の電流が流れます。実際は配線抵抗で制限されますが、それでもLEDは一瞬で壊れます。

対策: 必ず電流制限抵抗を直列に入れる。これが電子工作の基本中の基本。

落とし穴2: 並列合成抵抗の計算ミス

よくある間違い: 「2Ωと100Ωの並列だから、だいたい半分の51Ωくらいでしょ」

正解: $1/(1/2 + 1/100) = 1/(0.5 + 0.01) = 1/0.51 \approx 1.96\Omega$

ほぼ小さい方の抵抗値に引っ張られます。これは直感に反するので、初心者がよく間違えるポイント。

覚え方: 並列は「小さい抵抗が支配的」。電流は抵抗の小さい方にたくさん流れるからです。

落とし穴3: シミュレーターは「理想電源」を仮定している

シミュレーター上の電源は内部抵抗が0Ωの理想電圧源です。

でも現実の電池には内部抵抗があります。例えば単三乾電池の内部抵抗は約0.5Ω。
モーターを始動するとき、車のヘッドライトが一瞬暗くなるのは、内部抵抗による電圧降下のせい。

実務では: 電源の内部抵抗も考慮した設計が必要。シミュレーターで「理想値」を学んだら、次は実際の部品のデータシートを見る習慣をつけましょう。


まとめ — 今日から使える3つの知識

  1. オームの法則は「水の流れ」でイメージする
    電圧=押す力、抵抗=邪魔、電流=流れる量。これで直感が効く。

  2. 消費電力 $P = I^2R$ が最も危険
    抵抗を小さくすると、消費電力は「二乗」で増える。部品の定格を必ず確認。

  3. 直列と並列では性質が真逆
    直列=電流一定・電圧分配、並列=電圧一定・電流分配。合成抵抗の計算は暗記必須。

そして何より、実際に手を動かして学ぶのが一番の近道です。

▶ オームの法則シミュレーター — ブラウザで即動作、登録不要

このツールでスライダーを動かしながら、今日学んだことを1つずつ確認してみてください。「あ、本当にそうなるんだ」 という発見が、きっとあなたの理解を確実なものにします。

NovaSolverでは1,600以上の工学シミュレーターを無料公開中 👉 一覧はこちら


P.S. 冒頭の「LEDを壊した初心者」の話、実は昔の私です。あの煙の匂いと「しまった」という後悔は今でも忘れられません。でも、あの失敗があったからこそ、オームの法則を「体感」できた。皆さんはシミュレーターで安全に学んでくださいね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?