モータドライバの選定

調べていくと自前でサーボの制御をするためにはどうやら モータドライバと言うものが必要な事が分かりました。

モータドライバと言うのは要するにモーターを回すための ICですね。DCモータと言うのは単純に電流を流すと回ります。 電流の方向で正回転/逆回転が決まります。 その電流のON/OFFや流れる方向をマイコンから制御する ためのICがモータドライバというわけです。

モータドライバの性能は一般的に流せる電流の大きさと 電流のON/OFFのスピードで表すようです。 流せる電流が大きければパワーのあるモータを回せますし ON/OFFのスピードが速ければ短い間隔で制御ができます。

今回調査したモータドライバです。 左上から以下のようになってます。

上の段
メーカー型番電圧電流(ave)電流(peak)備考
東芝TA8428K7〜27V1.5A3.0A-
東芝TA7279P0〜16V1.0A3.0Aドライバ2個入り
?BAL6686???双葉S3003のドライバ
自作2SJ377,2SK22310〜60V5.0A20.0A自作FETモータドライバ

下の段
メーカー型番電圧電流(ave)電流(peak)備考
東芝TA7257P0〜18V1.5A4.5Aモータ、ロジック別電源
東芝TA7267BP0〜18V1.0A3.0Aモータ、ロジック別電源
自作2SB908,2SD12230〜80V4.0A?自作Trモータドライバ
自作2SJ377,2SK22310〜60V5.0A20.0A上の段の実装面積縮小版

この基板を使って以下のような簡単な実験をしてみました。

・マイコン(H8-3052F)からデューティー比50%のパルスを周期を変えて入力
・モータにかかる電圧を測定

実験はこんな感じでやってみました。

モータは双葉のサーボS3003から取り出したものです。 モータの端子間の電圧を測定します。 モータの電源は6V 2Aの物を直接繋いでいます。 実験結果は以下の通り。

周期10ms5.2ms2.6ms1.3ms0.65ms0.32ms0.16ms
TA7257P4.02V4.18V3.64V2.83V1.20V--
TA8428K4.17V4.11V4.04V3.84V3.41V2.68V1.75V
TA7279P4.14V4.12V4.02V3.81V3.36V2.68V1.80V
TA7267BP4.14V4.11V4.04V3.82V3.39V2.65V1.71V
BAL66865.40V5.35V5.28V5.07V4.59V3.81V2.83V
自作(トランジスタ)4.17V4.14V4.06V3.91V3.52V2.92V2.09V
自作(FET-1)5.48V5.45V5.38V5.21V4.79V4.02V2.95V
自作(FET-2)5.46V5.46V5.38V5.19V4.76V3.98V2.91V

TA7257P

実験中、TA7257Pがおかしな挙動を示すことが分かりました。 周期が5msあたりからデューティーを100%に上げて行っても なぜか電圧が下がったりデューティー比の変化に対して リニアに電圧が変化しないという現象が起きます。 実験に使ったICが壊れている可能性もあるので4つ程 ICを変えて調べましたが同じ症状が出ました。 原因は良くわかりませんが取り合えずTA7257Pは選考から外します。

その他の東芝系IC

基本的に、全て似たような挙動を示します。 ただ6V入力に対してデューティ100%(最大)でも4.8Vしかモータへ かかりません。電圧のドロップが大きいようです。 また周期が短くなるにつれて電圧のドロップも 大きくなるのでIC自体のスイッチングスピードも結構遅いようです。

BAL6686

双葉のサーボS3003に搭載されていたものを取り出して実験してみました。 さすがにサーボに搭載されていたドライバ だけにかなり性能が良いですね。デューティ100%できっちり6Vかかり ますし、周期が短くなっても比較的電圧の落ち込みが少ない所をみると スイッチング速度もかなり速いようです。 ただ発熱が激しく、モータに負荷をかけて暫く回していると 熱ダレしてパワーが落ちてきます。また入手性が良くない (普通に売ってないのでサーボを買うしかない)のが問題です。 実際いろいろ実験しているうちに2つほど燃やしてしまいました。

自作(トランジスタ)

なかなか決め手がないまま悩んでいたのですが無いなら作れという 事で東芝のトランジスタ(ダーリントン)でHブリッジを作ってみました。 ブリッジのハイ側はPNPタイプの2SB908。ロー側はNPNタイプの2SD1223を 使いました。両者ともフライホイールダイオードを内蔵しています。 ロジックの電源は5Vのため、ハイ側をフルスイング(6Vまで駆動) させるために2SD1223のベースは東芝の2SC2458で駆動しています。 さらに2SC2458のターンオフを早めるためにスピードアップコンデンサ0.22uを入れました。 しかし性能は東芝系ドライバICと殆ど同じと言う情けない結果になってしまいました。

自作(FET-1)

BAL6686に負けない性能のドライバを作るために今度はFETを試してみました。 ハイ側は東芝のP型FETの2SJ377、ロー側は東芝のN型FETの2SK2231です。 2SJ377のゲートを東芝の2SC2458で駆動しスピードアップコンデンサを 入れているのは上のトランジスタの場合と同じです。 結果は全てにおいてBAL6686を上回る素晴らしい性能を示しました。 熱ダレも全く無く完璧です。

自作(FET-2)

最後に上のFETの実装面積を削減するために東芝の2SC2458をFETタイプの NECの2SK1132に変更しました。これで入力抵抗とスピードアップコンデンサが 必要無くなります。さらにプルアップ、ダウン抵抗を基板裏面に配置して 最小実装面積を確認してみました。これならロボットの間接の数だけH-ブリッジを 組んでもあまり面積を取らずに済みそうです。配線は大変そうですが。。。

モータドライバ選定結果
男なら自作しかないでしょう!!