ver2.0の使い方,特性などについて解説していきます.
DIRの入力が反転されているので,ver1.0とは正転,逆転の入力が反対になっています.
不具合が見つかったら僕に連絡するかIssuesを投げていただけると助かります.
基板サイズ:65.68[mm]×51[mm]
大きな変更から順に書いていきます.
とても細かい変更も一応書いておきます.
-
入力が浮いても暴走しなくなった
これが一番大きな改善点です.
ロボコンにおいて恐らくロボットの暴走が一番避けたいことだと思うので...(ver1.0を使用していたときは別に暴走対策用の回路を作っていました) -
DIRの入力をゲートドライバICに合わせた
ver1.0と同じ入力になるように組むよりも,PWMと同様にDIRの入力も反転したほうが部品点数が少なく済むなどのメリットがあったため,DIRも入力を反転しました.
(絶縁用のフォトカプラで更に入力が反転されるので)結果的に,ゲートドライバICに入力されている信号はこのモータードライバに入力している信号と一致します.
そのため,前モータードライバと異なりDIRが1で正回転,0で負回転です. -
ボタン入力が優先になった
ver1.0はボタン入力とマイコン入力の優先順位が同じだったため,マイコン入力が特定の状態でないとボタンが正常に動かないクソ仕様でした.
そのため今回の回路ではマイコン入力が任意の状態でもボタンが正常に動くように回路を組み直しました. -
ボタンとスライドスイッチの位置を逆にした
ボタンを上から押しやすくするため,スライドスイッチよりも上にボタンを配置しました. -
SAとSB,FF1とFF2の位置を逆にした
ver1.0はFF1とFF2の位置がデータシートのFault Definitionsに載っている順と逆に書いてしまったため,エラーを吐いた時に間違えやすく,さらにシルクが小さすぎてどのLEDがFF1か分からなくなっていたため本当にゴミでした.
SAとSBについても,ボタンの配置と逆にしていたので左のボタンを押すと右のLEDが光るという仕様になっていました.
そのため,これらのLEDの位置を逆にしました. -
シルクとQRコードを大きくして読みやすくした
シルクが小さすぎてはんだ付けの際やLEDを見る際などに非常に不便だったのでシルクを全体的に大きくしました.
また,基板裏面のQRコードはアプリを使用すると(恐らくQRコードの補完機能で)読み取れるのですが,IPhoneのカメラアプリなどを使用して読み取ろうとする人が読み取れないと言っていたのでQRコードも大きくしました. -
ICの背面パッドをGNDに接続するようにした
ICの背面パッドは放熱を良くするため,GNDのインピーダンスを低くするために設けられているのですが,ver1.0ではそれ用のパッドをつけ忘れてしまいICの背面パッドを基板に接続することができませんでした.
今回は背面パッド用のGNDパッドを基板に設けてあるので基板に接続することができます.
ver1.0の共通点が多々あるので所々コピペしますが一応ver1.0のドキュメントを参照しなくてもわかるようにします.
また,ver1.0と違うところはわかりやすいように💫で示します(きれい).
前モータードライバ(野獣)にはない機能があるので使用者は必ず確認してください.
長くなるため折りたたみます.
使い方
まずはLAP/SM切り替えスイッチについて説明していきます.
-
LAP/SM切り替えスイッチ
このスイッチは名前の通り,LAP方式とSM方式を切り替えることできるスイッチです.
基板にあるシルクの通り,スライドスイッチを"SM"の文字の方にスライドするとSM方式,"LAP"の文字の方にスライドするとLAP方式となります.
SM方式を採用する場合にはPWMピンにはPWM信号を流し,DIRピンには回転方向の信号を流してください(下の表参照)
LAP方式を採用する場合はPWMピンには何も繋げずにDIRピンにPWM信号を流してください.
LAP/SM方式の場合の各ピンの真理値表は以下のようになっています.PWM DIR 出力(SM) 1~100% 0 負回転💫 1~100% 1 正回転💫 0% $\phi$ ブレーキ DIR 出力(LAP) 0~49% 負回転💫 50% 無回転 51~100% 正回転💫 LAP方式とSM方式の違いはこのページを参照してください.
安全性や効率の観点から基本的にはSM方式を採用してください. -
このボタンを押すことで手動でモーターを動かすことができます.
モータが駆動しないとき,このモータードライバの問題かその他の問題かを判別したり,機構がちゃんと動くかのテスト等に活用してください.
SAボタンを押すと正回転,SBボタンを押すと負回転になります.
💫PWM信号による入力よりもボタン入力が優先になっています.
💫LAP方式でもこのボタンを使用することができます. -
このLEDが光っているということはなにかこのモータードライバに不具合があるということです.
なんの不具合があるかは下の表を参考にしてください.ちなみに,この表のFault LatchedにYesがついているエラーは,もしエラーの状態が治ったとしてもリセットボタンを押さないとエラーが出力されたまま動作しなくなるので,リセットボタンを押してください.
また,この表だけじゃ情報不足でわからないと思います.
全部英語ですがA3921のデータシートのp12~p13に乗っています.A3921のデータシートは公式サイトからダウンロードしてください.
ちなみに,このモータードライバを設計するときにA3921のデータシートを読むモチベのためにQiitaで記事を書いたので,A3921を使いたい!みたいなことがあればここから飛んでください.リセットボタンを押すとA3921がスリープモードに入り,動作しなくなります.(離すと再び動作します.)
スリープモードに入ることで,A3921が検知していた異常が全てリセットされます. -
このLEDの表示を見ることで,モータがどちらの方向に回転しているかを知ることができます.
PowerUnit BseriesのOUT+の電位がOUT-よりも高くなっているときのモータの回転方向を正とすると,SAが光っているときは正回転を,SBが光っているときは負回転をしています.
ちなみに,SM方式の場合は片方のみLEDが光りますが,LAP方式の場合は両方のLEDが光るはずです.
LAP方式の場合はLEDの光の強さで回転方向を読み取ってください.(SAの光の方が強ければ正回転,SBの光の方が強ければ負回転です.) -
電源表示LED
DUBがちゃんと電源に接続されているなら,このLEDが光っているはずです.
PowerUnit Bseriesか遠野に挿している場合で,電源に接続しているのにこのLEDが光らない場合は非常停止スイッチが接続されていない可能性があります.
PowerUnit Bseriesか遠野の「SWITCH」に非常停止スイッチがしっかりと接続されているかを確認してください. -
GitHub QRコード
このページにアクセスしているということはこのQRコードから飛んできたということは置いといて一応説明しておきます.
このQRコードを読み込むことでこのページに飛ぶことができます.
使用前には極力このページに飛んで仕様を再確認しておくと良いでしょう.
ちなみに,レポジトリ名が「DriveUnit Bseries」ではなく「MoterDriver_v1」なのはリポジトリ名を変更するとURLが変更されるためこのQRコードからこのページに飛ぶことができなくなるからです......(ver2.0なのにMoterDriver_v1???)基本的には以上がver2.0のDUBの機能です.
機能など,このモータドライバについて質問があれば何らかの手段で僕に連絡していただければ答えます.
ここからは抵抗値をいじって変えるような設定の変更方法等を書いていきます.
なので回路班の方が見ることを想定しています.
長くなるので折りたたみます.
使い方(応用編)
-
デッドタイムの調整
このモータードライバはデッドタイムを変更することができます.
どこで変えることができるかというと,R13の抵抗値を変えることで変更することができます.
R13には3kΩから240kΩまでの2012サイズのチップ抵抗を接続してください.
デッドタイムとR13の抵抗値の関係は次の近似式で計算することができます.$$ t_{DEAD}(nom)=50+\frac{7200}{1.2+\frac{200}{R_{DEAD}}} $$
ここで,
$R_{DEAD}$ の単位は[kΩ],$t_{DEAD}$ の単位は[ns]です. -
短絡検出の基準電圧の調整
このモータードライバはハイサイドのFETがオンになっているときの電圧を監視してその値がゲートドライバICのVDSTHピンに入力されている電圧よりも高ければ短絡していると判断しエラーを出力しています.
まず,正常の場合は下記の画像のように電圧降下が殆どモータで起きるのでハイサイドのFETでの電圧降下は非常に小さいです.
次に,短絡している場合は下記の画像のようにモータを介さずに電流が流れるためFETでの電圧降下が非常に大きくなります.
この仕組みを利用して短絡検出を行っていますが,VDSTHピンに入力される電圧が大きすぎても短絡が検出されにくくなり,逆に小さすぎても短絡してないときにエラーが発生する可能性が出てきてしまうため,VDSTHに入力する電圧の検討は重要です.
VDSTHに入力する値はR2,R14の抵抗値を調整することで変更することが可能であり,内部で以下のような回路になっています.
ここで,2.2kΩの方がR14,3.3kΩの方がR2です.
式で書いたほうがわかりやすいと思うので...$$ V_{DSTH}=5\times\frac{R2}{R2+R14} $$
で求められます.
ここで,V5ピンから出力される電流を小さくするためR2とR14には大きな値の抵抗を使用することを推奨します.Note
出力の大きいモータのduty比を0%から100%に急にすると大電流が流れるためこの短絡検出機能が作動してしまうことがあります.
その場合はR14の抵抗を0[Ω]抵抗に変えることでこの短絡検出機能を無効にすることができます.
部品の値段は頻繁に変動するため示さないことにしましたが,ver1.0と同じ部品をほぼ同じ量使用しているため値段はver1.0より少し高いくらいだと思います.
チップ抵抗は特性等あまり重要でないので2012サイズの同じ値の抵抗なら何でも大丈夫ですが,コンデンサはDCバイアス等を考慮しているためここに示されているものと同じものを使用することを強く推奨します.