コイルに電流を流すと磁場が生じ、その磁場が自らのコイルを貫く磁束を作ります。電流が変化すると磁束も変化し、ファラデーの法則により起電力が誘導されます。この「自分自身への電磁誘導」を定量化するのが自己インダクタンスです。
本記事の内容
- 自己インダクタンス $L$ の定義
- ソレノイドの $L$ の計算
- 相互インダクタンス $M$
- 磁気エネルギー $U = LI^2/2$
- RL回路の過渡応答
- Pythonでの可視化
前提知識
自己インダクタンス
定義
$N$ 巻きコイルに電流 $I$ を流したとき、コイルを貫く全磁束鎖交数 $N\Phi_B$ は $I$ に比例します:
$$ \boxed{L = \frac{N\Phi_B}{I}} $$
$L$ の単位はヘンリー [H] です。自己誘導起電力は:
$$ \mathcal{E}_L = -L\frac{dI}{dt} $$
ソレノイドの自己インダクタンス
長さ $l$、巻数 $N$、断面積 $A$ のソレノイドの内部磁場:$B = \mu_0 nI = \mu_0 NI/l$
$$ L = \frac{N\Phi_B}{I} = \frac{N \cdot BA}{I} = \frac{N \cdot \mu_0 NI A / l}{I} = \frac{\mu_0 N^2 A}{l} $$
$$ \boxed{L = \mu_0 n^2 Al = \frac{\mu_0 N^2 A}{l}} $$
相互インダクタンス
2つのコイルがあるとき、コイル1の電流 $I_1$ がコイル2に鎖交する磁束を $\Phi_{21}$ とすると:
$$ M = \frac{N_2\Phi_{21}}{I_1} $$
ノイマンの公式より、$M_{12} = M_{21} = M$ が成り立ちます。
結合係数
$$ k = \frac{M}{\sqrt{L_1 L_2}}, \quad 0 \leq k \leq 1 $$
$k = 1$ で完全結合(理想変圧器)。
磁気エネルギー
インダクタンス $L$ に電流 $I$ が蓄えるエネルギー:
$$ \boxed{U = \frac{1}{2}LI^2} $$
導出:$dW = \mathcal{E}_L I \, dt = LI \, dI$ を積分して $U = \int_0^I LI’ \, dI’ = LI^2/2$
RL回路の過渡応答
充電過程(スイッチON)
$$ V_0 = L\frac{dI}{dt} + RI $$
$$ \boxed{I(t) = \frac{V_0}{R}\left(1 – e^{-t/\tau}\right), \quad \tau = \frac{L}{R}} $$
放電過程
$$ I(t) = I_0 e^{-t/\tau} $$
Pythonでの可視化
import numpy as np
import matplotlib.pyplot as plt
fig, axes = plt.subplots(1, 3, figsize=(16, 5))
# (1) RL回路の過渡応答
V0 = 12; R = 100; L = 0.5
tau = L / R
t = np.linspace(0, 5*tau, 300)
I_on = V0/R * (1 - np.exp(-t/tau))
I_off = V0/R * np.exp(-t/tau)
axes[0].plot(t*1e3, I_on*1e3, 'b-', lw=2.5, label='Switch ON')
axes[0].plot(t*1e3, I_off*1e3, 'r--', lw=2.5, label='Switch OFF')
axes[0].axhline(V0/R*1e3, color='gray', ls=':', alpha=0.5)
axes[0].axvline(tau*1e3, color='g', ls='--', alpha=0.5, label=f'$\\tau$={tau*1e3:.1f}ms')
axes[0].set_xlabel('Time [ms]'); axes[0].set_ylabel('Current [mA]')
axes[0].set_title('RL circuit transient', fontsize=13)
axes[0].legend(); axes[0].grid(True, alpha=0.3)
# (2) 磁気エネルギー vs 電流
I_range = np.linspace(0, 5, 200)
for L_val in [0.1, 0.5, 1.0, 2.0]:
U = 0.5 * L_val * I_range**2
axes[1].plot(I_range, U, lw=2, label=f'L={L_val}H')
axes[1].set_xlabel('Current [A]'); axes[1].set_ylabel('Energy [J]')
axes[1].set_title('Stored energy $U=LI^2/2$', fontsize=13)
axes[1].legend(); axes[1].grid(True, alpha=0.3)
# (3) ソレノイドのL vs 巻数
n_range = np.linspace(100, 5000, 200) # 巻数/m
mu0 = 4*np.pi*1e-7; A = 1e-4; l = 0.1
L_sol = mu0 * n_range**2 * A * l
axes[2].plot(n_range, L_sol*1e3, 'b-', lw=2.5)
axes[2].set_xlabel('Turns per meter $n$ [1/m]'); axes[2].set_ylabel('$L$ [mH]')
axes[2].set_title('Solenoid inductance', fontsize=13)
axes[2].grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
まとめ
- 自己インダクタンス: $L = N\Phi_B/I$、自己誘導起電力 $\mathcal{E} = -LdI/dt$
- ソレノイド: $L = \mu_0 N^2 A/l$
- 相互インダクタンス: $M = N_2\Phi_{21}/I_1$、結合係数 $k = M/\sqrt{L_1L_2}$
- 磁気エネルギー: $U = LI^2/2$
- RL回路の時定数: $\tau = L/R$
次のステップとして、以下の記事も参考にしてください。