DCモーター用のドライバー
このページは電子工作の初級者用向けの内容で、専門的技術的な内容ではありません。
モータードライバーは、モーターの回転方向を変えたり、回転数を変化させることができるような機能をIC化した部品です。 DCモーター用ドライバー以外にも、ステップモーターや交流モーター用などの製品があります。
ここでは、電子工作に用いる小型のDCモーター用のドライバICの使い方などを紹介します。
DCモーターの正逆転と回転速度調節
DCモーターの回転方向を変えるためには、前のページ(→こちら)の記事の ①2つの電池(電源)の極性をスイッチで切り替える方法 ②1つの電源で2回路2接点のスイッチ(中立付き)を使って切り替える方法 ③スイッチ等で「Hブリッジ回路」を使う方法・・・ などの方法があります。
DCモーターの回転速度は、基本的には電圧を変化させて制御するのですが、前のページで試したように、モーターの特性上、モーター単独での超低速の制御は難しいということも見てきました。
モータードライバーの用途に合わせて、そのような特殊な状態に対処できるのかをみていきます。
DC用モータードライバーとは
回転方向を変える方法については、モータードライバー(モータードライバ用のIC)の多くは、上の ③Hブリッジを用いて無接点で制御する方法が主流です。
あとで説明しますが、ドライバーICの制御用端子に規定の電圧を加えるだけで、無接点でモーターの回転方向を変えることができるようになっています。
PRさらに、モータードライバICを使うと、DCモーターに「ブレーキをかけた状態」を作り出すことができます。 もちろん、電気的なブレーキなので、強力なブレーキ力は望めませんが・・・。
そして、問題の、DCモーターの回転速度を変える方法は、前のページ(→こちら)でみたように、動いている状態では、供給する電圧を変える方法が一般的です。
その他の方法としては、例えば、モーターに可変抵抗を直列することで、電圧・電流が変化するので、ある程度の速度が変えることなども考えられますが、抵抗を使うと、電圧降下分のエネルギーが、発熱で失われたり、熱の悪影響を受けますし、何よりも、効率が悪くなるので、PWMという、パルス制御を用いたモータードライバーを用いることが多く行われます。
このPWMは、この後で説明していますが、発振パルスのパルス幅を変えて、電圧電流値を制御する方法によって、DCモーターの回転速度を変えています。
ただ、アナログ回路でパルスを使うには、回路を構成するための部品数が増えるので、他の機能を合わせてデジタル(例えばマイコンなど)で処理する方法のほうが扱いやすいことから、一般的にはマイコンを使ってモータードライバーを利用してコントロールさせる記事が多いのですが、これらをアナログ的に使う場合でも、あえてデジタルを意識する必要はありませんので、モータードライバーICは、気軽に使えます。
下のモータードライバーDRV8832のように、制御の理屈などを意識しなくても、ボリュームを回して速度の調節ができるものもあります。
さらに、その他の状況監視機能などが組み込まれているモータードライバーもあります。
このHPはアナログ中心に紹介していますので、デジタル的な説明にならないようにして、まず、このモータードライバーDRV8832について見ていきます。
PR先のページで見たモーター特性の図をもう一度見てみましょう。
この図は、平易に言うと、①負荷が増えると電流を食う(電流が増える) ②負荷が増えると回わりにくくなる ③回転数が下がると回りにくくなる ④電圧を下げると回転数が下がる・・・ などを示しています。
つまりここでは、DCモーター単独で回転数を変えるには、モーターに加える電圧を下げるのが手っ取り早いのですが、そうすると、回転力(トルク)も低下してきます。
実際にやってみるとわかりやすいのですが、高い回転数の状態から、加える電圧を徐々に下げていくと、回転中は、慣性(惰性)もあるので、結構低速まで回転数を落とすことができます。 しかし、始動させる場合はうまくいきません。
モーターが止まっている状態から、電圧を徐々に上げて、モーターを回転させようとすると、無負荷の場合は(モーターによるのですが) ある程度低い電圧から始動しますが、少し負荷のかかった使用状態では、起動時の電圧がある程度高くなっていなければ回り始めませんし、回転する電圧になって回転し始めると、急に(例えば、1000RPM以上の)高回転で回り始めるので、「ゆっくりと回り始める」と言う感じにはなってくれません。(→前のページでも説明しています)
それを払拭した方法の一つがPMWという方法です。
PRPWM(パルス幅制御駆動)とは
「PWM(パルス幅制御駆動)」という方法は、電圧(電流)をパルス状に加えることで回転を制御しようというものです。
この図はイメージですが、青色のパルス電圧を加えると、オレンジ色のように、パルスが累積されて、あたかも電力(電流と電圧)がゆっくりと付加されているような状態になります。
これは、モーターの標準電圧より、かなり高い電圧のパルスを加えるのですが、一定時間後には、パルス条件に応じた、ある一定の回転数に落ち着きます。 図はそれを模式的に示しています。
パルス幅(周波数)を変えるものもあります。
モーターの回転速度を調節しようとすれば、パルス高さ(電圧)とパルス幅(周波数)を変えるか、または、デューティ比(1周期内のON-OFF割合)を変えればそれが可能になります。(後半でも説明しています)
このPWM方式の利点は、3V駆動のモーターであっても、パルス電圧(Vpp)を、たとえば10V などのように、かなり高い電圧が使えるために、流せる電流に余裕ができ、トルクが高く取れることにあります。
もちろん、パルス電圧を高くしても、周波数が高いので、モーターに加わる、見かけの平均電圧はかなり低く、パルス電圧の数分の一になっているように振る舞うので、モーターに高電圧のダメージを与えることなく、100~200RMP程度の低い回転数でモーターを回し始めることができます。
(この図は再掲しています)
ただし、このような仕組みや動作をアナログ回路で作り出すよりも、デジタルのほうが簡単です。
そのために、モータードライバーを用いて、マイコンなどによって、停止状態を保持するような機能を含めて、デジタル的にパルス制御によって速度を変えているのが一般的で、直流電車のインバータ制御なども同じような考え方です。
逆に、DCモーターを複雑なアナログ回路を使って、速度を落とす必要があるかどうか・・・ですが、問題は、電圧を下げて低速になるとトルクが落ちるので、ギヤーセット(減速ギヤ)などで回転を落として、クラッチなどでON-OFFするほうがパワーも低下しないので、交流モーターと同じように、定速回転で使うほうが使いやすいかもしれません。
このPWMを使って、DCモーターをゼロ速度から起動して、速度を変える・・・という使い方は、DCモーターの大きな長所といえるでしょう。
モータードライバーは、デジタルを意識しないでも、ICを使うだけでDCモーターを制御できることから、アナログということに、こだわるほどのものではありません。
DC用モータードライバーの例
私の手元にあるモータードライバーの製品例です。 ここでは、デジタル的なものと意識しないで、アナログDCで使用するもの・・・としてみていきます。
ドライバ選択は、正逆転だけでいいか、速度調節が必要か・・・
真ん中のDRV8832には速度調節機能がありますが、他の2つは速度調節機能がないタイプです。
いずれも、無接点でのON・OFF・正逆転の機能が備わっています。
(注)ここでいう速度調節は、充分に回転できる電圧で正逆転させるため、上で取り上げた、起動時にゆっくりと始動させるのは、うまくできない・・・と考えておいてください。
真ん中のDRV8832は、秋月電子さんで購入したモジュール化されたドライバーで、VREF・VSET という端子を用いて速度調節をします。
最も簡単な方法では、ボリューム(可変抵抗器)をつけることで、それを回して速度調節ができます。
PRもちろん、前のページでも取り上げましたが、ドライバー製品を使わないで、デジタル回路でパルス駆動する方法の例を、この記事の最後に紹介しています。
まずここでは、ドライバーの市販品を使って、手動で(アナログ的に)正逆回転、ストップの動作に加えて、速度調節できるドライバーの例を紹介します。
DRV8832のモータードライバモジュール
これは秋月電子さんが販売しているDRV8832のモジュールです。 ドライバー自体のIC(10本足の部品)は5mm程度と小さいために、電子工作で取り扱うには、このようにモジュール化されておれば非常に使いやすくて便利です。(このモジュールの価格は200円程度でした)
次のページでは、非常に小さなドライバーNJU7386 のモジュール基板へのはんだ付けの仕方を紹介しています(上の写真の3つのうちの右側の製品)。
DRV8832の一般的な使い方の例
ここでは10kΩの半固定抵抗を使って回転速度を変えます。
ここでは、電源電圧5Vをそのまま加えています。(DRV8832の作動範囲は2.75~6Vです)
この表では、IN1・IN2の「1」はプラス電圧を、もう一方の 「0」はGNDに接続することを表しています。
そして、このように、どちらかの端子に電圧をかけると正逆転させることができます。
また、OUT側の「H」は「電圧が出ていること」を示しています。 また、LはGNDレベル、Zはフリーな状態ということを表しています。
これをブレッドボードに配線して、モーターの代わりにテスターをつけて電圧を測りました。
表のIN1・IN2のどちらかに5V(実測値4.95V)をかけてボリュームを回すと、出力側では+0.15V~+4.95Vで正転し、反対にすると、-0.15V~-4.95Vの電圧がでていますので、これで正逆転と速度のコントロールができることがわかります。(注:ここでも、停止状態からゆっくり起動させる「スロースタート」はうまくできません)
INの電圧を切り替えて加えるのには、切り替えスイッチ(スナップスイッチなど)を使えば問題ないでしょう。
PR【注意】 多くのモータードライバーは「動作電源電圧の範囲」が指定されています。 これは、電源電圧が出力電圧に関係するためで、モーターの常用電圧にも注意しておく必要があります。(高い電圧を加えるとモーターが焼損します)
このドライバーDRV8832は入力電圧が3~6V程度になっていますので、3Vのモーターを使うのであれば、モーター保護のために、モーターに合わせた3V程度の電源電圧にするか、固定抵抗を10kΩに直列するなどの対策をして、高い電圧が出ないような安全策を考えておきましょう。
さらに、注意点としては、回転をかえるときには、少し時間をとってゆっくり変化させるようにしましょう。
これは、モータードライバーを使わないでスイッチで逆転させる場合も同様で、負荷によって、正逆転時に大きな電流が流れるためです。
回転を変えるときには、回転が落ちるまでのインターバルを取るようにし、急な正逆転は避けるようにしましょう。
また、ここでは、模型や電子工作でよく使うFA130やRA280などの小さなモーターを使っているので、電流も少なく、発熱する問題もないのですが、たくさんの電流に耐えるモータードライバーを使おうとすると高価になるので、電流量や発熱対策が必要になる場合もあるので、注意が必要です。
PR(おことわり) 今回のDRV8832には、「FAULTn端子」を使って電流制限ができる便利な機能があるようですが、私自体が使い方がよくわからなかったので、ここでは使っていません。
→Amazonのページでも、いろんなドライバーが販売されています
次に、使いやすい形状のモータードライバを紹介します。
TK8428K
上に示した写真の左側のモータドライバー TK8428K は、ブレッドボードやユニバーサル基板には使いやすい形状です。
このTK8428Kはすでに旧型番となっていて、代替品では、TB6643などの同形状のものなどがあります。
電子部品の入れ替わりは避けられません。 代替品を探す場合は、「DCモーター用」「電源電圧」「モーター電圧」「モーター電流」をチェックして使えるかどうかを見ておけば、特に問題は生じません。
WEBでモータードライバーを探すと、非常に小さい実装部品用のものが多いようです。 このように部品が小さいと、通常のはんだ付けでの工作は無理ですが、例えば、写真の NJU7386 は、単体では小さいのですが、秋月電子ではモジュール化用の基板があるので、それを使って、 次のページで使用例を紹介していますので参考にしてください。
モータードライバーを使う長短所
私がやっている電子工作の程度では、回転を落とすのであれば、トルク面でも有利なギヤーによる減速のほうが実用的と思っています。
そのために、私自身は、特にモータードライバーはほとんど使いませんが、モータードライバーを使うと、無接点で電気的に操作できるので、いろんな使い方が広がるでしょう。
アナログ回路で、モータードライバーを使ってDCモーターの制御をする場合、 ①無接点にしたい ②回路をコンパクトにしたい ③いろいろな保護回路や警報回路が内蔵されている ・・・・ などのメリットがあります。 価格も高価でないので、使うときの利点は多いでしょう。
ただ、ユニバーサル基板に組み付けるとすると、 (A)小さくて取り扱いにくい (B)余分な費用がかかる (C)使い方がわかりにくい・・・などのデメリットもあります。
*****
最後になりますが、モータードライバー製品ではないのですが、前のページでも少し紹介した、秋月電子さんから販売されている、タイマーIC「NE555」を使った、スイッチングによるDCモーターの速度調節キットがあります。 使ってみると、結構低速で起動停止ができます。 低速での起動や停止がうまく動作したのは、これだけでしたので、ここでもう一度紹介します。
スイッチングによるモーター速度調節
秋月電子さんから、写真のよな「PWM DCモーター 速度可変キット」が販売されています。
500円と安価ですし、組み立て工作も楽しめますので、興味ある方は秋月さんのHPをチェックしてみてください。
回路的には、下側のNE555のデータシートにある回路とよく似た回路で構成されており、タイマーIC(NE555)を使って方形波を発振させて、FETを使ってモーター電流を制御しているという回路構成で、写真のように非常にシンプルなものです。 これは 9V で作動させるようになっています。
PR下の回路図はキットに添付されていた回路図です。 その下側に示した回路図はNE555タイマーICのデータシートの推奨回路例を引用していますが、このように、この製品は、NE555の基本回路を使って、うまく構成されています。
この秋月電子さんの製品を組み立てました。 製作も簡単で、確実に動きます。
秋月電子さんの回路では、上のNE555の基本回路の固定抵抗RAをボリュームに変えて、それによってデューティ比を変えて速度をコントロールしています。
もちろん、この場合も、モーターに電圧がかかりすぎないように、回転状態に注意してください。
上が低速回転のときで、下が、それよりも少し回転を上げたときのオシロスコープの波形とデータです。
少しノイズをひろっているのは無視してください。 ボリュームを右に回していくと、デューティ比が上がり、電流量が増えて回転数が上がるのですが、画面の出力電圧(山の高さ:Vpp 写真では11.13V、13.28Vとなっていますが)、発振周期(T)や周波数(F)は回転数が上がると増えているのが確認できます。
この、モーターにかかる電圧 Vpp(例えば13Vなど)の全電圧がモーターにかかっているのではなく、上で見たようにパルス電圧のために平均化されて、見かけの電圧はその何%かに低下しているので、パルス電圧がこんなに高くても、3V用のモーターが焼け切れることはありません。
ボリュームを左に絞っていくと、モーターは毎秒1回転程度の超低速で回りますし、右に回すと通常の高速回転します。
結構なめらかですので、なにかに使えそうならチェックしてみてください。
以上ですが、次のページでも、もう少し、モータードライバーについて取り上げています。
PR
Page Top▲