トランジスタでスイッチするGPIO の小さな電流で、リレー・モーター・大きな LED を動かす
GPIO から取り出せる電流は十数 mA。モーターや明るい LED、リレーには足りません。トランジスタは「小さな電流で大きな電流のスイッチを入れる」部品で、GPIO とパワーのある部品をつなぐ橋渡しをします。
CONTENTSこの記事の目次+
01 — WHY
なぜ必要か
- GPIO は 3.3V・十数 mA が上限。モーターは数百 mA、リレーのコイルも 50〜100mA
- 5V や 12V で動く部品を、3.3V の GPIO から操作したい
- トランジスタなら、GPIO の数 mA でモーター用の電流を ON/OFF できる
| 負荷 | 電流 | 使うもの |
|---|---|---|
| LED 1 個 | 10mA | GPIO 直結でよい |
| リレー(5V コイル) | 50〜100mA | NPN トランジスタ + 保護ダイオード |
| 小型 DC モーター | 数百 mA〜1A | ロジックレベル MOSFET + 保護ダイオード(またはモータードライバ) |
| サーボ | 信号は GPIO 直結。電源は別 | トランジスタ不要(→ PWM) |
| LED テープ(12V) | 数 A | MOSFET |
02 — NPN
NPN トランジスタ(2SC1815 など)
GPIO を HIGH にするとベースに小さな電流が流れ、コレクタ → エミッタに大きな電流が流れて負荷(モーターやリレー)を駆動します。
- 3 本足:エミッタ(E)・コレクタ(C)・ベース(B)。並びは品種で違うのでデータシートで確認する(2SC1815 は平らな面を正面にして左から E・C・B)
- ベース抵抗 1kΩ:GPIO の 3.3V から約 2.6mA が流れ、その hFE(電流増幅率、100〜300)倍のコレクタ電流を流せる → 数百 mA まで
- 定格:2SC1815 はコレクタ電流 150mA まで。それ以上はパワートランジスタか MOSFET
03 — MOSFET
MOSFET(大きな電流向け)
数百 mA〜数 A を流すなら N チャネル MOSFET です。ゲート(G)に電圧をかけるだけで ON になり、ベース電流のような消費がありません。3.3V の GPIO で確実に ON にするには「ロジックレベル」の MOSFET(例:IRLZ44N。小電流なら 2N7000)を選びます。
ゲート抵抗 100Ω と、ゲート-GND 間の 10kΩ プルダウン抵抗。10kΩ はマイコン起動時にゲートが不定になって勝手に ON するのを防ぎます。
- 「Vgs(th)」(ON になるゲート電圧)が 1〜2V のものを選ぶ。Vgs(th) が 4V のものは 3.3V では半端に ON になって発熱する
- ON 抵抗(Rds(on))が小さいほど発熱しない。数十 mΩ なら数 A でも放熱板なしで済むことが多い
04 — FLYBACK DIODE
モーター・リレーには保護ダイオード
モーターやリレーのコイルは、電流を切った瞬間に大きな逆電圧を出します(逆起電力)。これがトランジスタを壊します。コイルと並列に、帯(カソード)を電源側にしてダイオード(1N4007 など)を入れます。
普段はダイオードに電流は流れません。スイッチを切った瞬間に発生する高電圧の逆起電力だけをダイオードが電源側へ逃がしてトランジスタを守ります。
05 — WATCH OUT
注意点
負荷の電源(12V など)とマイコンの GND をつながないと、ゲートに電圧がかからず ON になりません。
NPN / N-ch は負荷の GND 側に置きます。電源側(ハイサイド)に置くと 3.3V では ON になりません。
大電流ではトランジスタが熱くなります。触って熱いなら放熱板をつけるか、ON 抵抗の小さい MOSFET に替えます。
06 — CHECK YOURSELF
理解チェック
Q1GPIO で 5V のリレーを動かしたい。最低限必要な部品は?答えを見る
NPN トランジスタ、ベース抵抗 1kΩ、コイルと並列の保護ダイオード。
Q212V モーターを MOSFET でつないだが回らない。確認することは?答えを見る
12V 電源の GND とマイコンの GND がつながっているか。MOSFET がロジックレベル(Vgs(th) 1〜2V)か。
