モーターを動かすには大電流を流す必要があります。過去にはトランジスタを使ってモーターを動作させる回路を作りました。そこで、今回はMOSFETを使ってモーターを動作させる回路を作りたいと思います。
MOSFETとトランジスタの使い分けですが、明確な線引きは無いように思います。強いて言えば、大電流を流すときにはMOSFETの方が使用する部品が少なく済むため、MOSFETでいい気がします。トランジスタを使って大電流を流す場合は、トランジスタを二つ接続する(ダーリントン接続)する方法があります。
MOSFETとは
MOSFETとはトランジスタの一種である、FET(電界効果トランジスタ)に区分される電子部品です。MOSFETにはベースとなるn型半導体またはp型半導体の上にベースの半導体とは反対の半導体が二つ設置されています。さらに二つの半導体の上部には絶縁体、その上部には金属が設置されています。n型半導体をベースとしたものを「pチャネルMOSFET」、p型半導体をベースとしてものを「nチャネルMOSFET」といいます。
それぞれにはゲート、ドレイン、ソースと呼ばれる端子がついています。
MOSFETの動作原理についてpチャネルMOSFETを例に説明します。ドレイン-ソース間に電圧をかけただけでは、電流は流れませんのでゲートにも電圧をかける必要があります。
まず、ドレイン-ソース間に加えてゲートに電圧をかけると絶縁体の表面に電荷がたまります。ゲート側の絶縁体には正の電荷が集まり、ドレインとソース側の絶縁体には負の電荷が集まります。電荷が溜まっていくn型半導体に負の電荷が集まり、p型半導体に変わります。このn型半導体から変わったp型半導体のことをpチャネルといいます。ドレインのp型半導体とソースのp型半導体がつながるため、電流が流れるようになります。
MOSFETを使ってモーターを動かす
今回はPWM制御を使い、徐々にモーターの回転数を上げて一定値になったら徐々に回転数を下げることを繰り返す回路を作成しました。
作成した回路
作成した回路は以下になります。
MOSFETはゲートに電圧をかけるとゲートに正の電荷が溜まって、ドレインとソース間に電流が流れるようになります。ゲートをGNDにつなぐと(LOWにする)ドレインとソース間に電流が流れなくなりますが、ゲートに溜まった正の電荷はすぐには流れず、ドレインとソース間の電流が流れなくなるまで数秒程度遅れます。そこで、ゲートとGNDを抵抗(10kΩ)で接続することで、ゲートに溜まった正の電荷をすぐに流れるようにしています。
使用した装置及び部品は下表をご覧ください。
Arduino | 小型コンピュータ搭載のマイコン |
ブレッドボード | 抵抗・ジャンパー線などを使って回路を作る基板 |
抵抗1kΩ | 電圧を下げる端子 |
抵抗10kΩ | 電圧を下げる端子 |
ジャンパー線 | 電気を中継する線 |
MOSFET | 半導体のキャリアの運動によるスイッチング動作と増幅動作をもつ素子 |
DCモーター | 直流電流で動作するモーター |
コンデンサ10μF | 電荷を充放電して電圧を一定にしたり、直流分をカットして交流分のみを取り出す素子 |
整流ダイオード | 順方向にしか電流が流れない半導体 |
ワニ口クリップ | 端がワニ口をしているジャンパー線 |
電池ケース(単三2本) | 3v用電源 |
今回使用するMOSFETは東芝製の2SK4017です。
配線は以下の図をご覧ください。
プログラムコード
プログラムコードは以下になります。
const int MAX = 123;
const int PIN_MOTER = 11;//モーター制御用ピン
void setup() {
// put your setup code here, to run once:
pinMode(PIN_MOTER,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
//徐々に回転数をあげる
for(int i = 0; i < MAX; i++){
analogWrite(PIN_MOTER,i);
delay(10);
}
//徐々に回転数を下げる
for(int j = MAX -1 ; j > 0; j--){
analogWrite(PIN_MOTER,j);
delay(10);
}
}
実行結果
実行結果は以下をご覧ください。※音量注意
まとめ
今回はMOSFETを使ってモーターを動作させる回路を作成しました。トランジスタと同様な動作をする電子部品ですが、使い分けが明確になっていないと思います。
大電流を扱う場合は、トランジスタに比べて部品の数が少なく済むので使う場面があるかと思いますので、MOSFETの動作原理や使い方は知っていおいてよいでしょう。