Kanade Electronicskanaelecom

電界効果トランジスタ

MOS-FET をスイッチとして使うときの基本

トランジスタの中でも、電子工作で一番よく使うのは MOS-FET だと思います。 モーター、LED テープ、ヒーター、ソレノイド、リレー、だいたいの「ちょっと大きい電流をマイコンで ON/OFF したい」は MOS-FET で片付きます。

BJT (Bipolar Junction Transistor) はベース電流でコレクタ電流を制御する素子でした。 一方、MOS-FET はゲート電圧でドレイン-ソース間の抵抗を制御する素子です。 入力が電流ではなく電圧なので、マイコンの GPIO から扱いやすいです。

ただし「ゲートに電圧を入れれば動く」と思って使うと、発熱したり、電源投入時に勝手に ON したり、誘導性負荷で壊れたりします。 FET、便利だけど罠が多い。

MOS-FET の端子

MOS-FET には基本的に 3 本の端子があります。

端子名前役割
GGateON/OFF を制御する入力
DDrain電流が入る側
SSource電流が出る側
BodyBody/Bulk内部基板。多くの部品では S と接続済み

N チャネル MOS-FET では、ゲート-ソース間電圧 𝑉GS が十分大きいと ON になります。 P チャネル MOS-FET では逆に、𝑉GS が十分負になると ON になります。

電子工作でまず覚えるべきは N チャネル MOS-FET のローサイドスイッチです。

VCC ---- 負荷 ---- D  N-MOS  S ---- GND
                    |
GPIO -- Rg -------- G
                    |
                  Rpd
                    |
                   GND

GPIO を High にすると、𝑉GS が上がり、FET が ON になります。 GPIO を Low にすると、𝑉GS が 0 V になり、FET が OFF になります。

これが一番簡単で、一番事故りにくいです。 最初はこれだけでいいです。

BJT との違い

BJT は電流増幅素子です。 ベース電流 𝐼𝐵 を流し、その FE 倍ぐらいのコレクタ電流 𝐼𝐶 を流します。

MOS-FET は、ざっくり言うと可変抵抗です。 ゲート電圧でドレイン-ソース間抵抗 𝑅DS(on) を小さくします。

BJTMOS-FET
制御量ベース電流ゲート-ソース間電圧
入力電流を流すほぼ電流を流さない
ON 時の損失𝑉CE(sat)𝐼𝐶𝑅DS(on)𝐼2𝐷
得意な用途小信号増幅、簡単なスイッチ大電流スイッチ、電源制御

「ほぼ電流を流さない」ので、定常状態では GPIO の負荷が小さいです。 ただしゲートは小さなコンデンサなので、ON/OFF の瞬間には充放電電流が流れます。

高速にスイッチングしたい場合は、ゲート容量をどれだけ速く充放電できるかが効いてきます。 PWM でモーターを回すときに FET が熱くなる原因の一つです。

ロジックレベル FET

データシートで最初に見るべきは 𝑅DS(on) です。 「ON 抵抗」と呼ばれる値です。

ここで注意するのは、𝑉GS の条件です。

表記例意味
𝑅DS(on) at 10 Vゲートに 10 V 入れたときの ON 抵抗
𝑅DS(on) at 4.5 V5 V マイコンで使える可能性が高い
𝑅DS(on) at 2.5 V3.3 V マイコンで使える可能性がある
𝑉GS(th)ほんの少し電流が流れ始めるしきい値

𝑉GS(th) は「ON になる電圧」ではありません。 たとえば 𝑉GS(th)=2𝑉 と書いてあっても、3.3 V で大電流を流せるとは限りません。 これはかなり罠です。

マイコンから直接駆動するなら、𝑉GS=2.5𝑉4.5𝑉 での 𝑅DS(on) が明記されたロジックレベル FET を選びます。 秋月の部品ページだけ見て「なんか強そう!」で買うと、意外と 10 V 駆動前提だったりします。

発熱の見積もり

FET の発熱はまず導通損失を見ます。

𝑃=𝑅DS(on)𝐼2𝐷

たとえば 𝑅DS(on)=20𝑚Ω の FET に 2 A 流すと、

𝑃=0.020×22=0.08𝑊

この程度なら小さなパッケージでもなんとかなりそうです。 一方、𝑅DS(on)=200𝑚Ω だと、

𝑃=0.200×22=0.8𝑊

急に熱くなります。 同じ 2 A でも、ON 抵抗で発熱が 10 倍変わります。

実際にはスイッチング損失、周囲温度、基板の銅箔面積、パッケージの熱抵抗も効きます。 ただ、最初の見積もりとしては 𝐼2𝑅 を見ればだいたい危ない匂いは分かります。

ゲート抵抗

GPIO とゲートの間には、数十 Ω から数百 Ω 程度の抵抗を入れることが多いです。

GPIO ---- Rg ---- Gate

これはゲート容量への突入電流を抑えるためです。 また、配線のインダクタンスとゲート容量で変なリンギングが出るのを少し抑えます。

低速な ON/OFF なら 100 Ω ぐらいを雑に入れておけば十分です。 PWM の周波数が高い、FET が大きい、ゲート配線が長い、という場合はちゃんと波形を見たほうがいいです。

ゲート抵抗を大きくしすぎると、ON/OFF の遷移が遅くなります。 遷移中は FET が中途半端に ON しているので、電圧も電流もかかり、発熱します。 やさしさで入れた抵抗が熱を生む。電子工作、そういうところある。

プルダウン抵抗

ゲートにはプルダウン抵抗を入れます。

Gate ---- Rpd ---- GND

MOS-FET のゲートはほぼ絶縁されているので、何も接続しないと電荷が残ります。 マイコンのリセット中、GPIO が入力状態になっている間、ゲートがふわふわして勝手に ON することがあります。

LED なら一瞬光るだけで済みます。 モーターやヒーターだと普通に困ります。

プルダウン抵抗は 10 kΩ から 100 kΩ ぐらいでよく見ます。 高速スイッチングではゲート電荷を引き抜く経路にもなるので、値を小さめにすることもあります。

誘導性負荷とフライバックダイオード

モーター、リレー、ソレノイドのようなコイルは、電流を急に止めると高い電圧を発生させます。 FET を OFF にした瞬間、コイルは「今まで流れていた電流を流し続けたい」と暴れます。

その逃げ道として、負荷に並列にダイオードを入れます。

VCC ----+---- コイル ----+---- D  N-MOS  S ---- GND
        |               |
        +------|<|------+

このダイオードをフライバックダイオードと呼びます。 リレーや小型 DC モーターを FET で駆動するときは、まず入れます。

ただし、高速に電流を切りたい場合は、普通のダイオードだけだと電流の減衰が遅くなります。 その場合はツェナーダイオードや TVS (Transient Voltage Suppressor) を使うこともあります。 このへんはパワエレの沼です。

ハイサイドスイッチ

負荷の上側、つまり電源側をスイッチしたいこともあります。

VCC ---- S  P-MOS  D ---- 負荷 ---- GND
          |
GPIO ---- G

P チャネル MOS-FET のハイサイドスイッチでは、ゲートをソースと同じ電圧にすると OFF、ゲートを下げると ON です。 5 V 負荷を 5 V マイコンで制御するぐらいなら簡単です。

しかし 12 V 負荷を 3.3 V マイコンで直接制御する場合、GPIO を High にしてもゲートは 3.3 V にしかなりません。 ソースが 12 V なので、𝑉GS=8.7𝑉 になり、普通に ON しっぱなしです。

こういう場合は、NPN トランジスタや N-MOS で P-MOS のゲートを引っ張る、あるいは専用のハイサイドスイッチ IC を使います。 無理にディスクリートで組むより、保護回路入り IC を買った方が早いことも多いです。

ボディダイオード

MOS-FET には内部構造の都合でボディダイオードがあります。 N チャネル MOS-FET では、ソースからドレインへ向かう向きにダイオードが入っているように見えます。

このダイオードのせいで、FET を OFF にしても逆向きには電流が流れることがあります。 電源の逆流防止、バッテリ切替、双方向スイッチを作るときに効いてきます。

完全に双方向を切りたい場合は、FET を背中合わせに 2 個使います。

IN ---- D  N-MOS  S ---- S  N-MOS  D ---- OUT
             |              |
             +------G-------+

リチウムイオン電池の保護回路でよく見る構成です。

よくある失敗

3.3 V で十分 ON していない

𝑉GS(th) だけ見て FET を選ぶと起きます。 LED は光るのに、モーターをつなぐと FET が熱い、みたいな症状になります。

データシートで 𝑅DS(on) の測定条件を見ます。 3.3 V GPIO なら、𝑉GS=2.5𝑉3.3𝑉 付近の値が欲しいです。

ソースを GND に落としていない

N-MOS のローサイドスイッチは、ソースが GND だから簡単です。 ソースが動く回路では、GPIO 電圧ではなく 𝑉GS を見ないといけません。

「ゲートに 5 V 入れたから ON」ではなく、「ゲートがソースより何 V 高いか」が本質です。

ゲートが浮いている

プルダウンなしで組むと、電源投入時に勝手に ON します。 電源投入時の一瞬の挙動は、机の上では見落としやすいです。 展示や実機ではだいたいそこで刺さります。

まとめ

電子工作で MOS-FET を使うときの最小構成は、N チャネル MOS-FET のローサイドスイッチです。

  • ロジックレベル FET を使う
  • 𝑅DS(on)𝑉GS の条件を見る
  • ゲート抵抗を入れる
  • ゲートにプルダウンを入れる
  • コイル負荷にはフライバックダイオードを入れる
  • 発熱はまず 𝐼2𝑅 で見積もる

このあたりを守るだけで、マイコンから大きな負荷をかなり安全に扱えます。 次は CMOS の基本回路を見ていきます。