Arduinoで20mA以上を使うLEDなどを利用するとき、ICを破損させないためにトランジスター又はMOSFETを利用する必要があります。数百mAまでなら気にならない程度ですが、トランジスタはMOSFETに比べて電力の損失が大きいためMOSFETがよく使われます。
そのMOSFETですが、トランジスター以上に選び方が分かりにくくなっています。今回は用途ごとに安いMOSFETでも大丈夫かが分かる事を目標にします。
p型?n型?
まず最初に気になるのはp型(pチャネル)とn型(nチャネル)のMOSFETが存在することです。これはトランジスタのPNP型とNPN型の違いのようなもので、出力ピンがマイナスの役割をするかプラスの役割をするかの違いです。
p型であればMOSFETからの出力はLEDの長いほう=アノード(+)側につなぎます。n型であれば短いほう=カソード(-)側につなぎます。当然、もう一方は(抵抗などを介して)反対の電圧につなぎます。
インターネット上ではn型の回路がよくありますが、LEDの制御ならばリレーの置き換えにはp型が扱いやすいとされているのでp型でもいいと思います。
ドレイン電流、ゲートしきい値電圧、RDS(on)
よく分からない単語が出てきましたが、この3つの用語を理解すればだいたい必要なMOSFETが見つけられます。
最初のドレイン電流は、MOSFETを通して流せる電流の最大値です。しかし、これは下記のように「ゲート」ピンにかける電圧の大きさに制限されます。
二つ目のゲートしきい値電圧(Vth)は、この電圧以上を「ゲート」に入力するとオンになるという値です。
では、 ゲートしきい値電圧の最小が2.0VのMOSFETがあったときに、室温においてLEDを3.3V電源で光らせられるでしょうか?この場合、光らせる事はできません。温度が高くなるほどゲートしきい値電圧は下がるため、この最小値はあくまで高温での動作を表しています。また、高温であっても最小値では1mAしか流せません。
ここで役に立つのがデータシートの下部にあるID-VGSグラフで、 ゲートしきい値電圧とドレイン電流の関係を見ることが出来ます。 ゲートしきい値電圧が高くなればなるほどドレイン電流が大きくなるのが分かると思います。グラフには3つほど線がありますが、これは先ほどの温度変化に対応しています。普通は、真ん中の線が室温を表します。
ちなみに、残念ながら3.3Vで制御できるMOSFETはそんなに多くありません。
最後のRDS(on)はMOSFETがオンになっているときの抵抗を表します。これが大きければ大きいほど消費電力が増え、逆に小さいほど優れたMOSFETだと言う事ができます。
エンハンス型、デプレッション型
また、MOSFETにはエンハンス型とデプレッション型があります。エンハンス型は「ゲート」に入力していないときにオフであり、デプレッション型は「ゲート」に入力していないときにオンになります。普通はエンハンス型を使います。