FETによるモータドライバの作成

私、宮田耕自はこのページに記載した全ての内容に対し著作権を主張します。 個人的に利用されるか、非営利を目的とする教材等にご利用される場合 の転載については、自由に利用することを許可致します。 本ページ内の情報を利用して製作された機器を用いて公式のイベントに出場される方は その旨をメールにてご連絡頂ければ幸いです。
また本情報の利用においては全て個人の責任で行ってください。 この情報の利用によるおけるあらゆる被害に私は一切の責任を負いません。
営利目的の出版物、その他などに利用される場合には、無断転載の一切を禁止します。 ただし、事前にメールにてその旨をご連絡頂ければ、その趣旨により転載を許可致します。

はじめに
ここではモータードライバの選定でちょこっと紹介した 自作のFETモータドライバについて解説します。 FETって何?という方は本屋さんに行けばトラ技スペシャル等で詳細に説明があるので、 予めお読みになることをお勧めします。 また、モータードライバやH-ブリッジって何?と言う人は 電子工作の実験室モータの制御法のページ に詳しく解説されているので先に御覧になるとよろしいかと思います。

モータドライバ回路
H-ブリッジを中心に部品点数、制御に必要な配線数が最小になる回路構成を考えます。 私が用いたモータドライバの回路図は以下のようになっています。

中心に配置したP-MFET-1,P-MFET-2とN-MFET-1,N-MFET-2の四つのパワーFETでH-ブリッジを構成しています。 左右のI-0,I-1はマイコン等が出力する制御線。上部のO-0、O-1はモータに接続します。 VCCはモータ用電源でマイコン側とは基本的に別物です。GNDはマイコン等のロジック側と同一の電位になるようにします。 必要な部品は前述のパワーFETのP型2個、N型2個と小信号用FETのN型が2個。後は抵抗4つです。 制御線は2本のみで片側ハイで正転、逆側ハイで逆転、両方ローでストップ動作が可能です。 両方ともハイにすると貫通電流が流れてFETが燃えてしまうので要注意です。 ちなみにブレーキ動作はサーボでは使用しないと思ったので思いきって省いています。 ブレーキ動作が欲しい場合はさらに部品がいくつか追加する必要がありますね。

I-0I-1モーター動作
LowLowストップ
HighLow正転
LowHigh逆転
HighHigh設定禁止!

回路の説明ですが、まずH-ブリッジのハイ側の2つのFETがP型になっています。 ここにN型を使うと以下の図のようにモーターに供給する電圧(Va)を電源電圧(Vcc)まで上げようとした時、 FETのゲート電圧(Vb)をVccより上げなければならなくなってしまいます。(普通は無理) そうするとVaはVcc以下となる上、Vbの電圧不足からFETのゲートが半開き状態になってしまいます。 これにより効率が悪くなるうえ、FETの発熱が大きくなってしまうのです。 P型では逆に電源電圧より下げればFETのゲートが開くので効率良く電源の能力をフルに引き出せるようになります。

次にP型のFETに接続しているN型の小信号用FET(N-FET-1,N-FET-2)ですが、これは前述のP型FETのゲートを閉じるために必要なのです。 どう言うことかというとP型FETは「ゲート電圧=モータ電源電圧」の時ゲートが閉じます。つまりモータの電源に6V、制御信号側が5Vとか だと「ゲートの電圧 = モータ電源電圧-1V」となりゲートが半開きになってしまいます。モータ電源が7.2Vとかだとほぼ全開で 全く閉じれなくなってしまいます。それじゃダメでしょと言うことでN型FETの出番です。N型はゲート電圧=0Vで全閉じ。 ゲート電圧=2〜4V(ものによる)で全開です。 つまりN型のゲートが0Vの時、以下図のように、 [FET(N-FET-1,2)が全閉じ] -> [抵抗(R-1,2)によりP型FET(P-MFET-1,2)のゲート電圧=モータ電源まで上昇] -> [P型全閉じ] となります。

またN型のゲートが2〜4Vの時は、以下の図のように [FETが全開] -> [N型FETによりP型のゲート電圧=0Vまで降下] -> [P型全開] となります。

さらにこのお陰でH-ブリッジ上下のP、N型FETともに制御線が0Vで全閉じ2〜4Vで全開と動作が一致するので、 制御線を共通に出来ます。

最後に4つの抵抗ですが、上の2つ(R-1,R-2)は先ほどのようにP型FETのゲートを閉じる役割があります。 その他に、4つ共制御側の信号が不安定(ハイインピー)な場合に勝手にゲートが開いてモーターが回ったり、 H-ブリッジを構成する4つのFET全てが全開になって貫通電流が流れFETが燃えてしまうのを防ぎます。

FETの選定
H-ブリッジを構成するFETを選定します。 まずはメーカーのサイトからデータシートをダウンロードします。 FETを製造している代表的なメーカーのサイトをあげておきます。

東芝セミコンダクター
NECエレクトロニクス
日立製作所半導体グループ

H-ブリッジを組むときに私がデータシート注目したポイントは以下の項目です。

1.パッケージ
DIP部品(足が基板を貫通するタイプ)を使いユニバーサル基板上に実装する場合、 部品のサイズが重要になってきます。特にロボットは非常に多くのモーターを駆動するため、 その分モータードライバを必要とします。ですのでモータドライバの構成要素であるFETのパッケージサイズが 基板の大きさに与えるインパクトは非常に大きいと言っても良いでしょう。 今回はパワー系は東芝のPW-MOLD、小信号用はNECのSSTと言うパッケージを選択しました。 2.54mmピッチのユニバーサル基板の3穴分の大きさで 基板一面に敷き詰められます。

2.最大電流/電圧
データシートの絶対最大定格に載っていると思います。電圧は20VもあればOKでしょう。 問題は電流の方ですが、H-ブリッジ用のパワーFETに関して言えばは、 使用するサーボの起動電流より大きいものを選ぶ事をお勧めします。 サーボがロック状態になった場合はFETに起動電流が流れ続けるのでパルスではなくDCの方を見ましょう。 今回使用した東芝のN型FET 2SK2231、P型FET 2SJ377共に5Aです。 使用するサーボは最大でも2A〜2.2A程度なので十分と思われます。
次に小信号用 N型 FET(N-FET-1,2)の電流ですが、これはプルアップ抵抗(R-1,2)による電流より十分大な電流を流せる物を選ぶようにします。 今回は330ΩでVccの電圧は6Vを想定しているのでプルアップ抵抗による電流は最大6V/330Ω=19mAです。 ちなみに電源電圧が9.6Vの場合は29mAです。余裕を見て50mA位流せれば十分でしょう。 今回使用したNECの2SK1132は100mAと十分な性能を持っています。

3.オン抵抗
H-ブリッジを構成するパワーFETに関して非常に重要な項目です。 これはFETが全開時にどの程度の抵抗となるかを示しています。 この値と想定する最大電流の積がモーター起動時(最大トルク発生時)の電圧損失となります。 損失分はダイレクトに最大トルクの減少に効いてきます。 今回使用したN型FETの2SK2231は0.12Ω。P型FETの2SJ377は0.16Ωです。 モーターの起動電流を2.2Aとすると電圧の損失は (0.12 + 0.16) × 2.2A = 0.616Vとなります。 電圧の損失は10%ですね。さらに電力の損失は W = V×A = 0.616×2.2 = 1.36Wとなります。 この分はそのままFETの発熱になります。許容損失は20Wと許容範囲なのですが、 今回は放熱処理(ヒートシンク等)を一切しないので出来れば改善したい部分でもあります。

4.入力容量
制御系(マイコン等)がFETのゲートをダイレクトに操作できるかの目安になります。 関係するのはN型パワーFETと、小信号用のN型FETです。 今回使用した2SK2231と2SK1132の入力容量はそれぞれ370pFと7pFです。合計377pFですね。 正直に言って何mAあればこの容量を駆動できるかは良く分かっていないのですが、 今回使用するFPGA EPF10K10の端子駆動電流 25mAの場合はオシロスコープで見る限り 波形のなまりは確認できなかったので良しとしました。 マイコン等は端子駆動電流が足りない場合があると思いますので、 その場合は74AC系のバッファをかませると良いと思います。

5.ゲート閾値電圧
ゲートカットオフ電圧と表記している物もあります。 この電圧以上にゲートの電圧を上げなければFETを駆動することは出来ません。 5V系の電源を使うICならまず大丈夫ですが3.3V系の場合などは注意が必要です。 この電圧が大きい場合は最悪電流を全く流せないという事態も考えられます。

6.ターンON&ターンOFF時間
FETのON、OFFに必要な時間です。 とりあえずこの時間より速い周期のPWM制御波形を突っ込むことは避けましょう。 今回は最速でも16KHz(62.5us)までの周期でしか制御しないのでFETのターンON+ターンOFF時間の 0.245usより十分遅いのでOKですね。また周期全体におけるスイッチング時間が0.245us/62.5us = 0.392% と少ないためスイッチングロスも皆無といえるでしょう。 問題は正転逆転切り替え時に貫通電流が流れてしまうことです。 この時の損失は莫大でFETを破壊しかねません。 今回は切り替え時に一定期間ストップ動作を挟むことで回避しています。

7.ダイオード
モータに加える電圧を突然切るとモーター内のコイルの逆起電力のためFETに通常と逆方向の電圧がかかります。 通常はそれを外付けのダイオードで吸収するのですが、実装面積削減のためFETにダイオードが入っている物を 選んだ方が良いでしょう。パワーFETなら普通は入っているのですが念のため確認します。 またブレーキ動作を実現する場合は内臓のダイオードの容量が不足する場合があるので その場合も外付けダイオードを追加する必要があります。

8.購入先の確保
最後に、折角データシートと睨めっこして選んだFETも購入できなければ意味はありません。 良いかも!と思ったら即、購入先を検討しましょう。 私はサトー電気で購入しました。 逆にいうとサトー電気で購入できる物からFETを選択したと言っても良いくらいです。

モータドライバの作成
FETの選定が終わり全ての部品が揃ったらさっそくモータドライバの回路を組んで見ましょう。 大電流が流れるため半田のブリッジや配線ミスには十分に気をつけましょう。 今回作成したモータドライバ回路を以下に示します。
手前の5ピンコネクタはマイコン電源(5V)、モータ電源(6V)、GND、I-0、I-1となっています。 マイコン電源は使っていません。奥側の2ピンはO-0、O-1でモーターに繋ぎます。 御覧のように回路自体は非常に単純でコンパクトすが必要十分な機能を持っています。 またこの回路は様々な応用や発展が考えられると思います。 FETをさらに大電流が流せるものに変えればそのままラジコン用の540クラスのモータ等もドライブできると思いますよ。 モーターを回せると色々面白い事ができるので、あなたもチャレンジしてみてはいかがでしょう?

Low-side PWM
次に一歩進んでLow-side PWMを紹介します。前述のON-FREE制御でも速度制御はできますが、 PWMのデューティー比と速度がリニアに制御できません。リニア制御を行うには4線制御する 以下の回路がお勧めです。詳しくは私の発表したテクニカルカンファレンスの資料を 参考にしてくださいね。

回路的にはHigh側とLow側を分けて個別に制御できるようになってます。 制御線は4本になりましたが、回路的には抵抗が2本追加されただけですね。 早速ですが下の表を使って制御方法を説明します。

I-1HI-1LI-2HI-2Lモーター動作
Low Low Low Low フリー
Low HighLow Highブレーキ1
HighLow HighLow ブレーキ2
HighHigh- - 設定禁止!
- - HighHigh設定禁止!
HighLow Low PWM 正転
Low PWM HighLow 逆転

フリーは前述のストップと同じでHブリッジのFETが全て閉じた状態です。 ブレーキ1はHブリッジのN型のFETが両方ともONの状態でモータ端子間がショートしているため ブレーキ動作になります。ブレーキ2はONしているのがP型の場合のブレーキ動作となります。 設定禁止とあるのは縦に並んだP型とN型のFETが共にONになるため貫通電流が流れて FETが燃えてしまうのでやってはいけない動作になります。 正転のところにPWMとあるのはこの端子をON-OFFする比率を変えることで速度制御できる事を示します。 逆転の場合も同様にPWMでリニアに速度制御できます。

今回の回路ではLow-side(I-xL端子)をマイコン端子で直接ドライブするため端子に負担が掛かります。 念のためI-XL端子に直列に抵抗を入れるなどしてマイコンを保護してあげるといいと思います。 ただそれでは高速なPWM制御が出来なくなってしまいます。P型と同じように小信号FET等を追加してあげて ドライブ能力を強化すれば高速なドライブが可能となりますが、それは皆さんでチャレンジしてみて くださいね!

2003/02/12

HOME