モータドライバとは
設計例
解説
直流モータを回転させる方法は、端子に電圧をかけることである。
では逆転させるためにはどうするか?
もちろん端子に反対の電圧をかけることで逆転できる。
これは機械屋でも知っていることである。
これは人がやるからこそ簡単な作業であり、マイコンなどの回路からでは非常に難しい作業となる。
これを実現できる回路が、モータドライバである。
モータドライバを構成する要素は次のとおり。
- 信号部
- マイコンなどの回路から信号をうけて動かす場所。マイコンから出力できる電流は小さいため、低電流で動作できなければいけない。
- 電源部
- モータに電力を供給する場所。もっとも電流が流れる場所でもあり、保護回路が入ることも多い。
- 増幅部
- 信号部と電源部をつなぎ、さらにはモータにつながる場所。つまりモータドライバの性能が最も左右される場所。
モータドライバにも種類がある。
- NPチャネルFETモータドライバ
- NチャネルとPチャネルのFETを用いたMD。
Nチャネルドライバに比べ作りやすいが、周波数応答が悪く、高速化させると回路が燃える可能性がある。
- NチャネルFETモータドライバ
- NチャネルのFETのみを用いたMD。
High側にもNチャネルを用いるため、昇圧しなければならない。そのため昇圧回路など回路は複雑化しやすい。
- 電磁リレーモータドライバ
- 物理的接点を持つMD。
安価に製作でき、回路部品も少ないが、物理的接点の切り替え時間の問題からPWMを使用することができない。
- リレーFETモータドライバ
- 回転方向の切り替えを電磁リレーが、回転数をNチャネルのFETが行うMD。
複雑な回路が必要なく比較的安価にモータを制御できるため、利点は多い。
- モータドライバIC
- HブリッジのFETを内蔵したIC。
もっとも安く、組み立ての必要もないが、電流が流せないため小さなモータしか動かすことができない。
そのほかのMDに関する知識
- アイソレート
- 信号部と電源部及び増幅部を電気的に絶縁すること。扱う電流の単位が違うため、逆流などが起きるだけでマイコンが壊れる可能性があるが、それを防止するためにフォトカプラなどを用いる。
- ヒューズ
- 一定以上の電流が流れたとき、自動的に回路を物理的に遮断する素子。一度切れたら戻らないタイプと、時間がたつと元に戻るリセッタブルヒューズがある。
- 放熱
- ヒートシンクやファンを取り付けるだけで,モータドライバの性能は格段に上がる。
もし重量や電力に余裕があれば取り付けておくとよい。
モータドライバの設計法
これができれば立派な回路屋!
なぜ設計が必要なのか・・・
それがわからないやつはメーカー製のモータドライバと性能を見てきなさい。
モータドライバに要求されるものは、電流特性及びサイズ、重量、そして価額である。
そしてこれが大事。
安くても壊れるMDは高くつく!
そんじゃ、一つずつやっていこうか。
中心となるのはやはりHブリッジ。
構成には数種類の方法がある。
- フルNchFETブリッジ
- PcnNcnFET複合ブリッジ
- フルリレーブリッジ
- リレーFET複合ブリッジ
ポイントとなるのは、その切り替え方法。
最も簡単なのはフルリレーブリッジ。PWM非対応でも、ディジタルで簡単に切り替えることができる。
大変なのはフルNchFETブリッジ。高電圧側のFETは、昇圧が必要となる。
しかし、設計が一番難しいのはPchNchFET複合ブリッジだろう。また別のFETに関する知識が必要になる。
では、簡単に組めて、なおかつ性能もそこそこのリレーFET複合ブリッジで解説していこう。
簡単に設計するためにも、回路図エディタを使用することをお勧めする。下はフリーの回路図エディタの一例。
- EScad
- かなり古い回路図エディタ。日本語に難あり。
- bsch3V
- まだ更新されている回路図エディタ。今回はこれを使用。
- 使い方の説明はここではしません。
まず中心となるブリッジを構成する。モータの回路図はなかったので自作。
次にGND側にFETを接続。まだ型番までは決めない。
ここからが本題。
まず電源電圧を決める。モータにかかる電圧でもあるため、モータの仕様でも左右される。
ここでは12Vで設定しておく。
そして実際のリレーの種類を見てみよう。
リレーの接点は許容電圧は100V以上であり、高専ロボコン程度の電圧では問題がない。
しかし、電流の最大値には限界がある。
基本的に、モータのストールにも耐えうる電流許容を持つリレーを選択したほうが良い。
しかしそれほど高電流のリレーの数はあまりない。値段も上がってしまうので注意。
リレーが決まれば、コイルにかける電圧も決まる。電源電圧と等しいなら、何も問題は無い。
しかし電源電圧よりもコイルにかける電圧が低い場合、降圧が必要となる。
方法は二つ。抵抗で分圧or降圧回路を入れる。
もちろん前者のほうが簡単だが、抵抗値はリレーによって違うので注意。分圧の計算はできるように。
ここでは降圧が必要とし、抵抗もわかっているものとしよう。
しかし、まだコイルに接続はしない。
次に考えるのは、制御回路との接続。
アイソレートを行うか、行わないかによって難易度は変化する。
まずは行わずに考えてみようか。
マイコンからの出力電流は±10mA程度。これではコイルを動かすことはできない。
そこで使うのがトランジスタやFET、さらにリレーである。
ここでは簡単にトランジスタを使って作ってみよう。
中でもnpn接合のトランジスタなら、ベース-エミッタ間に電流を流せば動くため、簡単に作ることができる。
逆にpnp接合だと、ベース-エミッタ間に逆電流が流れるが、電圧の違いによりとめることができない。(マイコンは5V程度)
最後は抵抗だが、これは流したくない電流だけつなげればOK。
またFETの放電用にも接続しておく。
これで回路が完成する。
ここからは実際に型番や値を決める必要がある。
まずnpnトランジスタから。
このトランジスタはコイルのオンのために使うため、それなりにコレクターエミッタに電流を流す必要がある。
もっとも一般的なnpnトランジスタである2SC1815を使ってもかまわないが、どうせならば2SDのものを使おう。
いいものがあれば、ダーリントン接続されているトランジスタを使えば、少ない電流でスイッチングできる。
相手がリレーであるためスイッチング速度は低速でよい。
このトランジスタにつながる抵抗は、切り替えに必要な電流の分だけ入れる必要がある。
トランジスタの増幅率とコイルに流したい電流から、必要なベースーエミッタ間電流がわかる。
マイコン側の電圧(主に5V)からこの電流を割ることで、必要な抵抗値がわかる。
マイコン側から出力可能な電流も知っておかないと、マイコンを壊す可能性があるので注意。
コイルにつながっている抵抗は、分圧の概念がわかっていれば計算できるはず。
コイルの抵抗は仕様書に書いてある。
最後にFET。
このFETがもっとも厄介で、それなりに電流が流せる必要がありながら、高速でスイッチングする必要もある。
FET選びに関しては、はやり難しいところがあるので、ここでは省略。
マイコンにつながる抵抗は、10~20オーム程度がよい。
高すぎるとスイッチング性能が下がり、低すぎるとマイコンが壊れることがある。
グランドにつながる抵抗は、10kオーム程度がよい。
これでやっとMDの設計が終わり。
実際に製作して、動作を確認してみよう。
ちなみにこれを作ると1000円くらい。
続・モータドライバの設計法
簡単なリレードライバは、ある程度なら誰でもできる。
次はFETドライバだ。
ただし、リレーFETドライバの方が値段対性能はいいので注意。
最初に電源の決定。
対象とするモータによってFETドライバは大きく異なる。
3.3Vモータの回路と、12Vモータ、24Vモータの回路は考え方や材料が違ってくるので注意。
ここでは最も簡単な12Vでやっておこう。
次に、FETの選定。
フルNchで作るか、PchNchで作るかは好み次第。
比較的考えることの少ないフルNchのFETで設計していこう。
最初に見るべきは、許容ゲート-ソース間電圧。
基本的なパワーMOSFETは、20Vまで耐えられるものが多い。
つまり24V仕様のモータに、電源をそのまま使うことができない。
しかし今回は12Vで解説する。
意外と大事なのはゲート-ソース間静電容量。
これが大きいFETは、スイッチングに時間がかかりやすい。
値を見てもわからない場合は、回路シミュレータを試してみるといい。
スイッチングがなかなかできない。
追記
ここからは知っておくと便利なことを・・・
- MDの周波数特性
- FETのスイッチング特性を始めとした、回路全体の周波数に対する特性。
高い周波数で動かすと何らかの不具合が生じる場合もある。
自作のMDはこれを測定しておくことをお勧めする。
やはり既製品と違い個体差、思いがけない仕様が見つかる可能性がある。
直流動作も確認できると良い。
- 信号線と電力線
- 低電圧動作である信号線と、高電圧、高電流動作である電力線はやはり全く違うもの。
信号線はノイズに強く、電力線は電流が流せる線にしておく必要がある。
- 製作速度
- 性能の高いモータドライバが出来上がった場合、プリント基板にも対応できるように配線しておくことをお勧めする。
やはりMDは部品が多いため結線作業が非常に多く、それが製作速度を下げる要因となりやすい。
- ユニバーサル基板の配線
- きれいな配線には次の理由と条件が挙げられる。
無駄な半田がない。
線が水平、垂直、45度の斜線で構成されている。
ジャンプ線が少ない。
やはり、こだわって作ったMDは壊れにくくなる。
- 瞬間短絡とデッドタイム
- NchFETとPchFETを用いたモータドライバ回路を製作する場合,High側とLow側のFETを同時に切り替えようとすると瞬間的にどちらのFETもスイッチが入って瞬間的に短絡が発生してしまう.
すると大きな電流がFETに流れてしまうため,熱や破壊の原因となってしまう.
そこでどちらのFETのオンまでの時間にタイムラグを設定することで,この短絡を回避することができる.
主にコンデンサと抵抗を用いて作るが,遅くすればするほど出力が下がってしまうだけでなく,高周波で用いることができなくなる.
よってFETに最適な抵抗とコンデンサで設計することが望ましい.
- 開放とショートブレーキ
- モータドライバの機能の一つに,端子開放とショートブレーキがある.
端子開放はその名の通りで,モータの端子をGNDでもVccでもなく自由な状態にする.一方でショートブレーキはどちらの端子もVccまたはGNDに接続するというもの.
特にFETドライバでは高周波に対応できるため,OFF時間にどちらを設定するかにより出力が異なる.
例えば端子開放型では,PWMと回転数がほぼ比例しない代わりに効率がよく,高電圧なノイズが発生しやすい.
一方でショートブレーキ型では,PWMと回転数が比例しやすい代わりにFETが発熱しやすい.
実際のデータがあるわけではないので,どれくらい違うかは言い難いので,そのうち実験はしてみたいと思う.
今回は
かわロボ用として、380向けモータドライバを設計したいと思います。
かわロボではフタバのプロポしか使えないので、受信機に接続しようとすると信号はPWM(1520usベース)ですが、
A3921やA3941はPWM(0~100%)+回転方向になるので、別基板側で変換することにします。
本来であれば受信機からの信号をそのまま基板に入れたいところですが、
人によって使いたいマイコンが違うので、汎用性や放熱を考えてマイコンは別基板とします。
この内容は別ページで解説することにします。
まずはKiCADをインストールします。
KiCAD
推奨設定でインストールを行います。
使用する主な部品はA3921、AUIRFS8407-7TRLとしようと思いましたが、
JLPCBに在庫がなかったので、代替としてA3941(信号入力電圧違い)、IRL40SC209とします。
IRL40SC209も25℃300A1.1mΩとかなりの低抵抗です。
別のFETに変える場合は、ゲート容量が同じくらいか確認しておきましょう。
部品形状としてはTO-263とTO-263-7の違いになりますが、
単純にピン数が多いと抵抗値が下がるので特性が良くなります。
まずはライブラリに部品がないので、それぞれ追加します。
A3921のTSSOP-EPは類似品があるので、EP(部品排熱パッド)のみ調整する形です。
AUIRFS8407TRLはTO263-6などほかの部品があります。
OFF時に上下どちらかのFETを使ってモータ保持電流を流す
OFF時にダイオードを使ってモータ保持電流を流す
OFF時に反転させてモータ保持電流を流す
その他コンデンサ、抵抗を追加していきます。
抵抗などは部品ライブラリに標準品があるので、
値と一緒にJLPCBの部品ライブラリにあるものを選んでいきます。
参考情報ではVREG用コンデンサは100uFになっていますが、
CBOOTの20倍がいいとのことなので、100uFではなく10uFで十分かと思います。
ドライバに外部ON/OFF機能を入れる場合は、バッテリを基板につなぐところにPchMOSFETを追加します。
基本はONにし続けるため、ON時の抵抗値が低いものを優先して選定するといいです。
ゲートの電圧を下げるとONするため、抵抗分圧と下流側抵抗に直列にスイッチを追加できるようにします。
ここは別基板でONできるようにコネクタを追加しておきます。
すべての配線が終わったらPCBの編集になります。
極力電力系の配線が太く短くなるように配線します。
できるだけジャンパを減らしたりするのはノウハウですね。
部品はすべて片面に配置しておくと、アセンブリが安くなります。
シルク配置はとても重要です。
基板設計の中でも保守の面で一番重要になるのはコネクタのピンアサイン情報です。
シルクを使ってちゃんとそれぞれの端子に名前を振っておきましょう。
また問題があったときに版を起こしなおすと、区別がつきにくいので、
ちゃんと基板名称とバージョン、そして油性ペンのメモ領域を確保しましょう。
3Dビューワ機能もあるので、表裏でよく確認しましょう。
私が設計した回路図と外形パターンは以下の通り。
連絡をもらえればデータは配布します。
配線が終わったら、デザインルールチェックをかけます。
たいていの場合はエラーが出るので、一つ一つ直していきます。
デザインルールチェックの設定は、JLPCBの製造条件に合わせておくといいです。
チェックが終わったら、いよいよ発注準備です。
JLPCBの専用プラグインがあるので、それをインストールしておきます。
各部品をJLPCBのパーツ番号が入るように選択していきます。
なぜかここで選んだ部品にフィールドが追加され、勝手にシルクが追加されてましたので、
それぞれ非表示にしておきます。
そのあと、製造用ファイルを生成します。
いよいよ発注です。ここからはオンラインで作業となります。
JLPCBのアカウントがなければ、誰かの招待リンクを使って作成し、ログインします。
製造用ファイル(Zipファイル)をアップロードすると勝手に選んでくれます。
特に変更することもないですが、基板の色等選べます。
アセンブリ(PCBA)も選びます。エコノミックで行きましょう。
ちなみに基板の厚みと色でエコノミックを選べる条件が決まっています。
薄い基板を選ぶ際は注意してください。
基板実装面は表か裏かどちらかになります。
次にアセンブリ用ファイルのアップロードです。
製造用ファイルと一緒に生成されているので同じようにアップロードします。
部品リストが反映されて、ストック情報などが表示されます。
このとき在庫にない部品があると、代替品を選ぶか確認されます。
選ばないと部品実装されません。
そのあと、部品配置情報が正しいことを確認します。
なぜか部品が表示されないFETがありましたので、一回やめて部品配置確認をYesにしてみました。
(この段階で早速ICの向きが間違っていました。)
最後に見積もりが出るので、問題なければカートに追加します。
この辺りは別のサイトを参照するといいでしょう。
配送方法、住所、支払方法を入力していきます。
住所の入力で日本語ページだと国/地域、市区町村/州名、都市の順番になっていますが、
英語ページだと、Country/Region(国/地域)、State(都道府県)、City(市区町村)なので順番が違っています。
まあ日本の郵便局なら間違っていても郵便番号で何とかしてくれると信じましょう。
急ぎでないのであれば送料が安いところを選んで、支払いして終わりです。
1CHドライバだと、5個で発注してちょっとクーポンが適用されて、
基板費$2、実装費$25、部品費$70、送料$20くらいで合計$100超えるくらいになりました。
夕方依頼したところ、夜8時頃に部品配置確認メールが来ました。
ICの向きはちゃんと直してもらえました。
なぜか画像とビューワーの間で部品の位置が違うので確認を依頼しておきました。
今度は夜12時頃。翌朝気が付いて承認。
結局ビューワの位置がずれて表示されたようです。
それから4日で発送の連絡。
発送から4日程度で日本に到着し、約10日で手元に届きました。
郵便番号さえ合っていれば県と市が入れ替わっても大丈夫だったのはさすが日本の輸送業界です。
届いた現物を目視確認しましたが特に問題のない出来。
続いて通電してブレッドボード制御(0%,100%)でモータを回してみます。
無事5枚とも正転、逆転で回りました。
電源が電流を流せないので、モータを回すと電圧が低下しましたが、
モータ駆動はそのまま正常に動作しましたので、電池の抵抗等で電圧が落ちても動くのは大丈夫そうです。
あとは実際にロボットに乗せて駆動してみたいと思います。
まずはここまで。
最終更新:2024年10月27日 23:14