※本記事にはプロモーション(広告)が含まれています。
DCモーターをマイコンで回すときは、端子で MOSFET に合図だけを出し、モーターの電流は電池から流します。要る部品は MOSFET・ダイオード・0.1µF・100µF の4つで、役目は4つの部品の節、選び方は早見表へ。
DCモーターをマイコンで回す。LED の次に作りたくなる回路ですが、LED と同じつなぎ方では動きません。動いても、マイコンが急にリセットしたり、部品が壊れたりします。
この記事では、模型でおなじみのマブチ FA-130 を例に、モーターの「くせ」と、それぞれに効く部品を、データシートの数字で順番に見ていきます。

この記事で作るもの:マイコンで DC モーターを回す回路
3.3V のマイコンの合図で、単3電池2本(3V)のモーターを ON/OFF する回路です。部品は MOSFET・ダイオード・コンデンサ2つと、ゲートの抵抗2本です。
マイコンの端子は、MOSFET のゲートに 3.3V か 0V の合図を出すだけです。モーターに流れる電流は、電池の+から、モーター、MOSFET を通って、電池の−へ戻ります。
| 部品 | この記事の例 | 役目 |
|---|---|---|
| MOSFET | AO3400A(N チャネル) | 電池→モーター→GND の道をつなぐ・切る |
| ダイオード | 1N5819(ショットキー) | OFF の瞬間のモーターの電流を逃がす |
| 小さなコンデンサ | 0.1µF(セラミック) | モーターのノイズを足元で吸う |
| 大きなコンデンサ | 100µF(電解) | 起動の一瞬の電流を近くから出す |
| ゲートの抵抗 | 220Ω と 100kΩ | 切り替えの電流を抑える・OFF を保つ |
MOSFET のまわり(ゲート抵抗 220Ω とプルダウン 100kΩ)は、トランジスタと MOSFET を比べた記事で LED を点けた回路と同じです。負荷が LED からモーターに変わっただけ、と考えると入りやすくなります。
3.3V のマイコンで ON できる MOSFET の見分け方と、ゲートの2本の抵抗
つまり、LED の回路にモーター用の「ダイオード1本とコンデンサ2つ」を足したものが、この記事の回路です。

なぜマイコンの端子で直接回せないのか:起動の瞬間は 2.1A
FA-130RA-18100(3V)は、回っているだけで 0.15A、回りはじめの瞬間は 2.1A 流れます。マイコンの端子が出せるのは数mA〜十数mA ほどなので、起動の電流はその約140倍です。
マブチのデータシートには、モーターの電流が3つ書かれています。何も回さないとき(無負荷)、いちばん効率よく回るとき(最高効率)、軸を止められたとき(停動)です。
| 状態 | 電流(3V) | 回転の速さ |
|---|---|---|
| 無負荷(何もつけずに回す) | 0.15A | 12,300回/分 |
| 最高効率(ほどよい重さを回す) | 0.56A | 9,710回/分 |
| 停動(止まっている・回りはじめ) | 2.10A | 0 |
マイコンの端子(GPIO)が出せる電流は、品種にもよりますが数mA〜十数mA ほどです。無負荷の 0.15A でも約10倍、起動の 2.1A なら約140倍です(15mA を目安にした場合)。端子につなぐと、端子もマイコンも壊れるおそれがあります。
つまり、マイコンは合図だけ、モーターの電流は MOSFET を通して電池から、と役割を分けます。

モーターは回りはじめが一番電流を食う:起動の電流の正体
止まっているモーターは、ただのコイル(巻いた線)の抵抗です。FA-130RA-18100 では 3V÷2.10A≒1.43Ω と見積もれ、電流は 3V÷1.43Ω=2.1A になります。回りだすとモーターが逆向きの電圧(逆起電力)を出し、電流は減ります。
モーターの中には、細い銅の線を巻いたコイルがあります。止まっているときは、この線の抵抗(とブラシの接触)だけで電流が決まります。
抵抗の 1.43Ω は、データシートの停動電流 2.10A から逆算した見積もりです。回りだすと、モーターは発電機のように電源と逆向きの電圧(逆起電力)を出します。その分だけコイルにかかる電圧が減り、電流は 0.15〜0.56A まで下がります。
モーターがなぜ回るのか。磁石と電流の力、整流子のしくみを図で
つまり、部品を選ぶときは「回っているときの電流」ではなく「起動の電流」で選びます。

4つの部品の役目:MOSFET・ダイオード・0.1µF・100µF
MOSFET は電流の道をつなぐスイッチです。残りの3つは、モーターの「くせ」への対策です。ダイオードは OFF の瞬間の電流、0.1µF はブラシのノイズ、100µF は起動の一瞬の電流を受け持ちます。
MOSFET:スイッチ
マイコンの 3.3V でゲートを ON にすると、ドレインとソースの間がつながり、電池→モーター→GND の道ができます。モーターの下(GND 側)に置くので「ローサイド」のスイッチと呼びます。
ダイオード:OFF の瞬間の逃げ道
モーターはコイルなので、電流を急に止められるのをきらい、OFF にした瞬間も同じ向きに流しつづけようとします。行き場がないと、MOSFET のドレインに高い電圧がかかります。モーターと逆向きにダイオードを付けると、その電流がダイオードを回って静かに消えます。
OFF の瞬間に高い電圧が出るしくみと、フリーホイールダイオードの選び方
0.1µF:ブラシのノイズを足元で吸う
FA-130 のようなブラシ付きのモーターは、回るたびにブラシと整流子の接点で小さな火花が出て、細かいノイズを出します。モーターの2本の端子の間に 0.1µF のセラミックコンデンサを付けると、ノイズを出どころで吸い取れます。ロボット部品の通販会社 Pololu の資料も、0.1µF をモーターのケースのできるだけ近くに付ける方法を紹介しています。
100µF:一瞬の電流を近くから出す
起動の瞬間、電池から長い線を通って電流が来るまでのわずかな時間、電圧がストンと下がります。電源の入口や MOSFET の近くに 100µF の電解コンデンサを置くと、その一瞬の電流を近くから出せます。
パスコンを部品の近くに置く理由。デカップリングとバイパスの違いも
つまり、MOSFET で「つなぐ」、ダイオードで「OFF を守る」、コンデンサ2つで「ノイズと一瞬の電流を受け止める」です。

電流の道:ON のときと、OFF にした瞬間
ON のときは、電池→モーター→MOSFET→電池と流れます。OFF にした瞬間は、MOSFET の道が切れるので、モーターの電流はダイオードを通ってモーターに戻る輪を回り、だんだん消えます。
回路図の上で、電流の道を指でたどってみます。ON のとき、ダイオードは向きが逆なので電流は流れません。電池の+から出た電流は、モーターを通り、MOSFET のドレインからソースへ抜け、電池の−へ戻ります。
OFF にした瞬間、MOSFET の道は切れます。でもモーターの中の電流は、急には止まれません。モーターの下の端子から出た電流は、ダイオードを下から上へ通り、モーターの上の端子へ戻ります。この輪を回るあいだに、電流はモーターの抵抗とダイオードで熱になって消えます。
このとき MOSFET のドレインの電圧は、電池の 3V にダイオードの電圧(1N5819 は 1A で最大 0.60V)を足した約3.6V までしか上がりません。AO3400A の VDS の最大 30V に対して十分に低く、MOSFET を守れます。
つまり、ダイオードは ON のあいだは休み、OFF の瞬間だけ働く「逃げ道」です。

部品を選ぶ3ステップ:起動の電流から決める
STEP 1 でモーターの起動の電流(2.1A)を調べ、STEP 2 でその電流でも熱くならない MOSFET、STEP 3 で電源の2倍以上の電圧に耐えるダイオードとコンデンサを選びます。
「2倍以上」は、この記事の目安です。モーターの電源の電圧が上がっても、ダイオードやコンデンサが耐えられるよう、余裕を持たせます。
つまり、モーターのデータシートの「停動」の行を見つければ、残りの部品はそこから順に決まります。

計算例:AO3400A の損失と、ドレインの電圧
MOSFET の損失は、無負荷 1.1mW、最高効率 15mW、起動 0.20W です。起動の電流のまま止められても、温度の上がりは 0.20W×125℃/W≒25℃ です。
まず、MOSFET を入れたときの起動の電流を出します。モーターの抵抗に MOSFET の RDS(on) が足されるので、少しだけ減ります。
| 状態 | 電流 I | VDS=I×RDS(on) | 損失 P=I²×RDS(on) |
|---|---|---|---|
| 無負荷 | 0.15A | 7mV | 1.1mW |
| 最高効率 | 0.56A | 27mV | 15mW |
| 起動 | 2.03A | 98mV | 0.20W |
RDS(on) は、AO3400A の VGS=2.5V の最大 48mΩ を使いました。マイコンの 3.3V はそれより高いので、実際の損失はもう少し小さくなります(安全側の計算)。
起動の電流は、ふつうは回りだすまでの短い時間だけ流れます。それでも、軸が何かに引っかかって止まったまま 2.03A が流れつづけた場合を考えておきます。AO3400A の熱抵抗は 125℃/W なので、温度の上がりは約25℃です。MOSFET は持ちこたえますが、モーターの巻線は熱くなるので、止まったら電源を切るようにします。
部品表から電流を足し上げて、電源の容量を決める5ステップ
つまり、AO3400A なら起動の 2.0A でも余裕があり、ふだんの損失は 15mW ほどで熱くなりません。

電源の分け方:モーターは電池、マイコンは別の電源、GND はつなぐ
モーターとマイコンの電源は分けます。ただし GND(−の側)は1本でつなぎます。GND がつながっていないと、マイコンの 3.3V が MOSFET にとって何Vなのかが決まらず、モーターは回りません。
マイコンとモーターを同じ電源から取ると、起動の 2.1A が流れた瞬間に電源の電圧が下がります。マイコンは電圧が下がるとリセットするので、「モーターを回そうとするたびにマイコンが再起動する」ことになります。
そこで、マイコンは USB などから、モーターは単3電池2本から、と電源を分けます。このとき、マイコンの GND と電池の−は、必ず線でつなぎます。
配線は、モーターに大きな電流が流れる線(電池・モーター・MOSFET・GND)を太く短くし、マイコンの GND は MOSFET のソースの近くでつなぐと、モーターの電流がマイコンの GND の線を通らずに済みます。
つまり、「電源は分ける・GND は1本でつなぐ」が、モーターとマイコンを一緒に使うときの基本です。

100µF はどれだけ助けになる? ΔV=I×t÷C で計算する
コンデンサだけで 2.1A を出すと、10µs なら電圧は 0.21V しか下がりませんが、1ms では 21V も下がる計算になります。100µF は「一瞬」の穴埋めで、起動の電流そのものは電池が出します。
コンデンサが電流を出すと、ためていた電気が減り、電圧が下がります。下がる電圧は、次の式で見積もれます。
| コンデンサだけで出す時間 | 計算 | 電圧の下がり |
|---|---|---|
| 10µs(ノイズのような一瞬) | 2.1 × 0.00001 ÷ 0.0001 | 0.21V |
| 1ms | 2.1 × 0.001 ÷ 0.0001 | 21V |
1ms で 21V は、電池の 3V より大きいので、実際にはコンデンサは空になってしまいます。モーターが回りだすまでの時間はモーターと回すものによって変わりますが、1ms よりずっと長いことが多いです。起動の電流は、結局は電池と配線が出すしかありません。
では 100µF は要らないのかというと、そうではありません。電池から MOSFET までの線には、わずかな抵抗とインダクタンス(電流の変化をきらう性質)があります。電流が急に増えた最初の一瞬は、線の向こうの電池より、すぐそばのコンデンサのほうが早く電流を出せます。
大きなコンデンサ(バルク)と小さなパスコンの違いと、容量の決め方
つまり、太く短い線と元気な電池が「本命」、100µF は線の遅れを埋める「つなぎ役」です。

速さを変えるなら PWM:ON の割合で平均の電圧が変わる
MOSFET を速く ON/OFF し、ON の時間の割合(デューティ比)を変えると、モーターにかかる平均の電圧が変わり、速さが変わります。3V でデューティ 50% なら平均 1.5V です。
ここまでの回路は ON か OFF かだけでした。マイコンの PWM の機能を使って、ゲートの合図を速く ON/OFF すると、同じ回路のまま速さを変えられます。
| デューティ比 | 平均の電圧(3V のとき) |
|---|---|
| 25% | 0.75V |
| 50% | 1.50V |
| 75% | 2.25V |
モーターはコイルと回る軸の重さがあるので、速い ON/OFF にはついてこられず、平均の電圧で回っているようにふるまいます。
PWM では OFF が何度もくり返されるので、そのたびにダイオードが電流を逃がします。ダイオードを付け忘れると、OFF のたびに MOSFET に高い電圧がかかります。速く切り替わるショットキーダイオードを選ぶのは、このためです。
PWM の周波数をいくつにするか(低すぎるとモーターが「ジー」と鳴る、高すぎると MOSFET の切り替えの損失が増える)は、連載の「PWM 制御とは」の記事でくわしく扱います。
つまり、速さを変えたいときも回路は同じで、マイコンの合図を PWM にするだけです。

早見表:小さな DC モーターの部品の選び方
どの部品も「起動の電流」と「電源の電圧」で決めます。MOSFET は 2.5V の RDS(on) の行と I²R、ダイオードはショットキーで電源の2倍以上、0.1µF はモーターの足、100µF は電源の入口です。
| 部品 | 種類 | 電圧 | 電流・置き場所 |
|---|---|---|---|
| MOSFET | RDS(on) に 2.5V の行(3.3V のマイコン) | VDS が電源の2倍以上 | 起動の電流で I²×RDS(on) を計算 |
| ダイオード | ショットキー | 逆向きの電圧が電源の2倍以上 | モーターの電流以上 |
| 0.1µF | セラミック(向きなし) | 耐圧が電源の2倍以上 | モーターの端子に直接 |
| 100µF | 電解(向きあり) | 耐圧が電源より高く | 電源の入口・MOSFET の近く |
| ゲートの抵抗 | 220Ω+100kΩ | 3.3V で約15mA・33µA | プルダウンで OFF を保つ |
「2倍以上」「220Ω・100kΩ」はこの記事の目安です。モーターの電圧や大きさが変わったら、STEP 1 からやり直して、データシートの保証値(最大・最小)で確かめます。
ゲートのプルダウンが要る理由。「浮いている」入力のふるまいを図で
つまり、迷ったらこの表の5行を上から確かめれば、小さな DC モーターの回路はそろいます。

ブレッドボードで組む:電池と GND の線を先に
先に電池の+と−をレールにつなぎ、マイコンの GND も同じ GND のレールへつなぎます。MOSFET(変換基板)の S を GND、D をモーターの−側、ダイオードの帯をモーターの+側に向けます。
0.1µF は、本当はモーターの端子に直接はんだ付けするのがいちばん効きます。ブレッドボードで試すときは、モーターの線のすぐそばの列に差します。
つまり、レール → MOSFET → モーターまわり → 100µF の順に差すと、迷わず組めます。

テスターで確かめる:VGS・VDS・電池の3か所
回っているとき、① VGS(ゲートとソース)が約3.3V、② VDS(ドレインとソース)が 0.1V 以下(計算では約27mV)、③ 電池が 2.5V 以上なら、回路はうまく動いています。
最低限ここだけ
余裕があれば
③ 電池の+と−を、モーターが回っているあいだに測ります。止まっているときの約3V から大きく下がる(この記事では 2.5V を目安)なら、電池が弱っているか、線が細く長すぎます。テスターは速い落ち込みは見られないので、起動の瞬間の落ち込みが気になるときは、オシロスコープで電源の電圧を見ます。
つまり、①で合図、②でスイッチ、③で電源を確かめれば、どこが悪いかを切り分けられます。

よくある失敗4つ:DC モーターをマイコンで回すとき
ダイオードを逆向きに付ける・GND をつながない・マイコンの電源からモーターの電源を取る・電解コンデンサを逆に付ける、の4つがよくある失敗です。
1. ダイオードが逆向き
ON にした瞬間、電池→ダイオード→MOSFET→電池の道ができ、モーターを通らずにショートします。帯(カソード)は電池の+側に向けます。
2. GND をつながない
マイコンの GND と電池の−がつながっていないと、マイコンの 3.3V がゲートとソースの間にかかりません。回らない、ときどきしか回らない、といった動きになります。
3. マイコンの電源からモーターの電源を取る
起動の 2.1A で電源の電圧が下がり、マイコンがリセットをくり返します。モーターは電池など別の電源から回します。
4. 電解コンデンサが逆
電解コンデンサは+と−が決まっています。逆につなぐと、ふくらんだり壊れたりします。帯(−)の足を GND 側へ向けます。
つまり、向き(ダイオード・電解)と、電源(GND・分ける)の2種類を、電源を入れる前に確かめます。


