2001/10/14 【電子回路編TOPに戻る】
以前、4.DCモーター駆動回路で、DCモータードライブの方法と具体的な回路例をご紹介しました。しかし、その時に利用したドライバICの最大電流は1Aでした。1Aの電流では模型用の小型モーターはドライブできても、ちょっと大きめのギヤードモーターをドライブすることはできません。実際にタミヤのギヤードモータ540K75などを繋いで回そうとしても、スカスカ...と言って唸りながらすぐに止まってしまいます。
今回ドライブの目標とするギヤードモーターは、タミヤの3633K200です。このギヤードモーターは、約4.3A程度の電流で、実用上の最大トルク55Kg/cmを発生させます。通常はここまでのトルクを必要とすることもないとは思いますが、最大で4A程度をドライブできる回路を今回の目標とします。
DCモーターをドライブするためのICは各社から発売されていますが、大きくても2〜3A程度までのドライブ能力のものしか見当たらず、パワーMOSFETをディスクリートで組んで作ろうかと思っていたところ、トラ技8月号の特集記事「コンテストのためのロボット製作」でSTマイクロエレクトロニクス製のドライバIC、L6203の紹介記事を目にしました。
7−1.L6203 モータードライバIC
L6203は、STマイクロエレクトロニクス製のDCモーターフルブリッジドライバICです。外観と概略仕様を以下に示します。
トラ技の特集で目にした時から、あっちこっちの通販などを当たったのですが見当たらず、最後の手段でSTマイクロエレクトロニクスにメールで「直接売って貰えませんか?」といった相談をしたところ、なんとサンプル扱いとして8個も無料で送ってきてくれました! STマイクロさんありがとう。
![]() |
![]() |
![]() |
| 項 目 | 値 | ![]() |
|
| 電源電圧 | 最大 | 48V | |
| 最小 | 12V | ||
| 最大ピーク電流 | 5A | ||
| 最大実効電流 | 4A | ||
| オン抵抗 | 0.3Ω | ||
| 入 力 | TTLレベル | ||
| 最大動作周波数 | 100KHz | ||
外観的には、ちょうどタコのような形をしています。横からみると、端子が長く前に突き出ている様子が分かると思います。この端子、実は2.54ピッチになっておらず、ユニバーサル基板などに実装する場合にはラジオペンチで無理やり2.54ピッチに合わせ込む必要があります。さらに、端子が太いため、そのままではユニバーサル基板に刺さりません。なので、ニッパで端子の太さを2/3くらいに細くしてから実装する必要があります。(タダでもらったので文句言いません...)
最大の強みは実効電流が4Aであることです。また、内部のスイッチング素子にパワーDMOS−FETを採用しているため、トランジスタのようなコレクタ−エミッタ間の電圧ドロップがなく、ON抵抗が0.3Ωと低いことです。とは言っても、4Aの電流が0.3Ωの抵抗を流れると4.8Wになるため、そうとう熱くなるし、同様に1.2Vもの電圧降下も起きますので、やはり0.3Ωという数字は小さくもありませんね。ディスクリートのパワーMOS−FETには、ON抵抗がこれより一桁小さなものもあります。
内部回路的には、典型的なブリッジドライバ回路です。電源をVs-SENSE間に掛け、モーターはOUT1−OUT2間に接続します。そして、IN1、IN2端子に加えるTTLレベルの制御信号と、ENABLE信号とでDCモーターの制御を行ないます。
制御信号のロジックは以下の通りです。
■L6203動作ロジック
| INPUT |
動 作 |
||
| ENABLE = H | IN1 | IN2 | |
| L | L |
左下と右下のFETだけが共にONになる。 モーターの両端はSENSE(GND)端子を介してループとなり、ブレーキ動作となる。 |
|
| L | H |
左下と右上のFETだけが共にONになる。 Vs→OUT2→OUT1→SENSE(GND)の方向に電流が流れ、モーターが回転する。 |
|
| H | L |
左上と右下のFETだけが共にONになる。 Vs→OUT1→OUT2→SENSE(GND)の方向に電流が流れ、上記と逆方向にモーターが回転する。 |
|
| H | H |
左上と右上のFETだけが共にONになる。 モーターの両端は電源Vs端子を介してループとなり、ブレーキ動作となる。 |
|
| ENABLE = L | X | X | 全てのFETがOFF状態となる。 |
7−2.L6203を使ったモータードライブ回路【その1】
今回、L6203の動作を確認するため、英文データシートに掲載されている参考回路を元に以下のようなテスト回路を組んでみました。

■Vs端子、SENSE端子
Vsは電源端子で、今回はDC12Vを加えます。動力用の電流はVs端子からOUT1→DC MOTOR→OUT2と流れ、SENSE端子から抜けます。データブック上の推奨回路では、SENSE端子に0.5Ωの抵抗を繋いでからGNDに落としています。これはモーターに流れる電流量を外部の回路から電圧という形で検知するために利用するようですが、今回は必要ないので直接GNDに接続します。推奨回路ではVs端子から0.1マイクロのコンデンサでGNDに接続されていますが、平滑用だと思うのでもっと大きめの容量の電解コンデンサにして良いと思います。
■BOOT1/BOOT2端子
L6203の内部はパワーMOS FETで構成されています。パワーMOS FETはゲートに加える電圧を充分高くしてあげて完全に飽和領域で動作させないと、ソース−ドレイン間の抵抗値が中途半端に高くなってしまいます。L6203内部にはそのためと思われるチャージポンプ回路が内蔵されており、BOOT1とBOOT2の端子に接続する0.15μのコンデンサもそのためのものです。0.15μという値は推奨回路のままです。
■OUT1/OUT2端子
ここにDCモーターを接続します。推奨回路では、この周辺にちょこちょことコンデンサや抵抗なども接続されていましたが、今回は敢えて外してあります。しかしダイオードだけは残しておきました。これは、DCモーターへの電源供給を絶った瞬間に発生する逆起電力を逃がしてあげる効果を期待してのことです。
■VREF端子
この端子に関わる内部動作が力弥にはイマイチよく分かりません。スミマセン...。英文のデータシードをくまなくまじめに翻訳すれば分かるのでしょうが、あまり気が進まないので...。大よその検討はつくのですが、あまりいい加減なこともご紹介できないので、ここでは触れないことにしておきます。なお、データシートによれば、0.22μFのコンデンサ容量が一番いいらしいです。
■GND端子
内部ロジック用のGND端子です。
■IN1/IN2端子の動作
今回の回路では、手っ取り早くL6203の動作を確認したかったので、IN1を5V、IN2をGNDに固定で接続してしまいました。なので、モーターの回転方向は片方向のみです。
■ENABLE端子の動作
ENABLE端子は1KΩの抵抗でプルダウンしています。なので通常は0(ゼロ)Vで、スイッチSWを押すと5Vになります。つまり、スイッチSWを押した時だけモーターが回転します。
で、以下の写真が実際にユニバーサル基板に組んでみた様子です。
半田面の写真はあまり人にお見せできるようなものではありませんが、ご容赦ください。
![]() |
![]() |
![]() |
一番右の写真は、L6203の基板実装状態を拡大したものです。もともとの足が2.54ピッチになっていなかったため、無理やり合わせ込んで押し込んだ様子が分かりますか?
ついでに、以下が実験回路全般の写真です。
![]() |
AKI-H8の小型マザーを接続していますが、これはただ単にロジック用の5V電源を供給しているだけなので、何もしていません。
モーターを動かすのは真中の基板の赤い押しボタンだけです。 ちなみに、モーターはタミヤの3633K200です。 |
■動かした結果...
真中の赤い押しボタンを押すとギヤードは勢い良く回りだし、何の問題もありません。回っているモーターも非常に強力で、手で抑えたくらいでは止まる素振りも見せません。そして、赤い押しボタンを離すと、モーターは停止します。
ところが...
このギヤードモーターは相当慣性力が強いらしく、赤いボタンを離してから(ENABLE端子がGNDレベルになってから)、なんと軸が1回転も惰性で回ってしまいます。いくら無負荷状態とはいえ、電源の供給を絶ってから1回転も回り続けるようだと、この先正確な回転角度の制御はおぼつきません。
ENABLE端子をGNDレベルにすると、ブリッジを構成する内部の4個のFETは、全てOFFの状態となります。つまりモーターの両端子はオープン状態と一緒です。これでは惰性で回り続けても文句が言えないため、ちょっと回路を手直しして見ます。
7−3.L6203を使ったモータードライブ回路【その2】
さっきのドライブ回路をちょっと手直しして、以下のような回路にしました。手直ししたのは、IN2端子とENABLE端子の回路のみです。

■IN1/IN2端子の動作
今度の回路では、IN1は5V固定ですが、IN2をプルアップしておき、スイッチSWを押すとGNDレベルになるようにしました。つまり、スイッチSWを押さない間は、IN1/IN2ともに5V(Hレベル)となり、内部的にはブレーキ動作になります。ただし、ここでも片方向のみの動作です。
■ENABLE端子の動作
上記の動作をさせるためには、ENABLE端子が常にHレベルでなければなりません。つまりENABEL端子を5Vに接続してしまいます。
写真はさっきのものとほとんど見分けがつかないくらい同じなので、省略させてもらいます。(^^;
■動かした結果...
さっきと同様に赤い押しボタンを押すと、勢い良くモーターが回り始めます。そしてボタンを離すと、「キュッ」といって、本当にブレーキが付いているのではないか?というくらい良く止まります。タミヤのギヤボックスで実験をしていた頃よりも、はるかに良く止まります。これは200:1という高いギヤ比と、ドライブ電流の高さによりものではないかと思うのですが、これなら正確な角度制御にも充分使えるレベルではないか思います。
というわけで、ひとまずL6203を使ったちょっと大きめのギヤードモーターの駆動実験は成功です。試しにもうひと回り大きなギヤードモーター540K75なども、無負荷状態ですが勢い良く駆動させることができました。(あくまで無負荷です!)
L6203にはENABLE端子が付いているので、PWM制御に向いているかなと思ったのですが、ENABLE端子だけに頼っていてはブレーキング動作が出来ないので、もうひと工夫が必要そうです。