LoginSignup
51
43

More than 3 years have passed since last update.

自作モータドライバー(A3921使用)の紹介

Last updated at Posted at 2020-03-05

はじめに

どうも,としひろです.
今回は現役ロボコニストだった時に設計・製作したモータドライバー(以下,MD)のデータをこれまで部内秘としてきましたが,個人的時効を迎えたので公開します.
ゲートドライバーにA3921を使用したMDのデータはあまり転がってないので是非参考にしてみてください.
*嘘は書きませんが,特別丁寧に書くつもりはないので,ご容赦ください.

キーパーツの詳細

名称 型番 ベンダー   購入先 
フルブリッジゲートドライバ A3921KLPTR-T アレグロ 秋月
デジタルアイソレータ Si8640EC-B-IS1 シリコンラブズ RSコンポーネンツ
NMOSFET RSJ550 Rohm チップワンストップ(*1)
絶縁型電流センサー±12A ACS711ELCTR-12AB-T アレグロ 秋月
CANドライバー MCP2561-E/SN マイクロチップ 秋月
マイコン STM32F303K8T6 STマイクロ 秋月
RJ45 3010-880 Linkman マルツ

回路図と説明

モータドライバーの回路設計とPCB設計はKicad(私はキキャドと呼ぶ)を使いました.
回路図は引継ぎ,修正がしやすいように階層となっています.
グローバル線などの説明はKicad特有ではないと思うので省略します.

上位階層

上位階層は機能ごとに分類されたブロックをまとめ,信号の流れがよく分かり,スマートな回路図を作ることができます.
・J12のpowerはモータドライブ用電源です.詳細は後程.
・H1からH4までのマウンティングホールは基板隅に設置する基板取付穴で,穴径は基本的に3.2mmで設計します.(M3のなべ小ネジがスムーズに入る穴径)
・H5は基板表面に印字するロゴマークのダミーシンボルです.
motor_driver_ver4.2_page-0001.jpg

CAN通信回路

CAN通信は2線式の差動信号によるデータ転送が特徴で,ノイズに強いという特徴から,自動車のECUに使用されていたりします.(今はEthercatが主流だとか)
CANドライバーはPICマイコンでおなじみマイクロチップ社の石で,マイコンに内蔵されているCANインターフェースと直接接続できます.
・CAN通信は差動信号の重畳を防ぐために終端抵抗を120Ω接続することが推奨されています.ロボコンでは毎年変わるルールに合わせてモータドライバの数や配置が換わるので終端となるモタドラが読めません.
そのため終端MDとなるときはスライドスイッチで切り替えて逐次切り替えをできるようにしました.
・CAN通信は某企業さん,他大学のロボコン部ではXHコネクタを使用している傾向がありますが,CAN通信に関してはXHよりもRJ45というEthernetケーブルの接続に用いられるコネクタを使用しました.Ethernetケーブルは内部がツイストペアになっており差動信号には好都合です.
・加えてRJ45を並列に2個並べて,MDをカスケード接続させることで複数のMDの接続を一つのEthernetケーブルで統括通信することができます.
motor_driver_ver4.2_page-0002.jpg

電源回路

MD内には二つの電源があり,モータドライブ用の電源とマイコン用電源がGND独立で存在します.(徹底的にノイズをキャンセルするため)
この回路図はマイコン用電源で,電源電圧は12Vとし,ロータリーエンコーダに要求される電源電圧に対応できるようにさせます.
また,ドライブ回路とマイコン回路の電源が独立しているため,マイコン電源がダウンした時にモータが動作しないように,マイコン回路電源スイッチとドライブ回路内のゲートドライバーのリセットピンがLOWになるようにします.
電源レギュレータには2段構成にすると,1段目のU2に電流が集中するため,シリーズレギュレータは避けてDC/DCコンバータを設置します.なお,5V電源はCANドライバのみに使用するため,CANドライバが3.3Vに対応できれば不要となります.
そして,レギュレータ上部のダイオードは後述するSWDコネクタから流入する電源によってレギュレータ出力側の電位が高くなることによる故障を防ぐためです.
motor_driver_ver4.2_page-0003.jpg

マイコン周辺回路

マイコンにはロボコンでよく使用される低価格かつ機能盛沢山なSTM32F303K8T6の表面実装ICを使用します.
基本的にはNUCLEO-F303K8の回路図を参考にしています.
回路構成はprintfデバッグ用のUART通信コネクタ,JTAG/SWDの書き込み,デバッグコネクタ(非正規)で味気ないので特に説明はありません.
motor_driver_ver4.2_page-0004.jpg

ロータリーエンコーダ入力回路

ロータリーエンコーダはA相,B相,Z相が入力できるエンコーダでかつ,NPNオープンコレクタに対応できるように5V(理由は忘れちまった)でプルアップしています.
部内で購入したエンコーダで動作確認ができているものは
TRD-S1000B(光洋電機の9000円エンコーダ(ミスミものつくり支援で購入))
E6A2-CW5C(オムロンの1万円エンコーダ(ミスミものつくり支援で購入))
EC202A050A(千石の3200円エンコーダ)
なお,単位秒あたりのパルス数(パルス周波数)がマイコンの入力処理に追従できないっていう話もあったりなかったりするので,検討してみてください.(当時の計算では32kHzくらいで大丈夫だった気がする)
motor_driver_ver4.2_page-0005.jpg

モータドライブ回路

モータドライブのゲートドライバ(FETのゲートに入力信号を統括制御する石)にはA3921で約1年半くらい前に秋月電子さんで販売が開始されました.長岡技科大さん,慶応さんでも使用しているらしいですが,さすがに回路図は公開しませんよね(当たり前).
ゲートドライバ周辺の抵抗やらコンデンサの細かい説明をすると気が狂うので,A3921のデータシートをご覧ください.定数もある程度計算しています.
ただ注意点としましては,VREGという確かIC内部で使用する電源がゲートチャージポンプでかなり電流を消費するので容量が大きくインピーダンス特性のよいコンデンサを使用したほうがいいです.
Hブリッジ回路ですが,ゲート部にダイオードやコンデンサを挿入する回路がまあまあありますが,短い競技時間なので高効率は目指さず,コスト面,部品占有率を重視しました.単なるNMOSFET内部の寄生コンデンサによる共振,ダンピングを防ぐだけの回路となりましたが動作に何ら問題ありません.
それと,モータの逆電流を流す還流ダイオードは確かロームの部品です.
電流センサーは中間の回転方向が検出できる位置に配置しました.
motor_driver_ver4.2_page-0006.jpg

電流センサー回路

電流センサにはアレグロの絶縁型の双方向電流センサーを使用しました.
使用するモータがブラシ付きDCモータで,PWM制御をするため位相遅れの影響が出ない範囲の1.6kHzのローパスを通してます.
なお,この電流センサはIP+からIP-にモータ電流を流し,ホール効果で電流を測定するのでセンサの位置は他の電線,磁場から影響を受けない場所に設置するほうがいいと思います.(どの程度影響が出るかは不明)
motor_driver_ver4.2_page-0007.jpg

デジタルアイソレータ回路

一般的には信号絶縁には内部に赤外線LEDが使用されたフォトカプラ(今まではTLP250を使用)を使いますが,部品点数が増えてしまうというのが問題でした.そのため1つの石で4つの信号を転送できるSi8640というデジタルアイソレータを使用して2つのPWM信号,ゲートドライバ用SR信号,PHASE信号を入力できるようにします.
コスト面もフォトカプラ1つ分でデジタルアイソレータ1つ分とリーズナブル.部品の占有率も削減できるのでかなりオススメです.
motor_driver_ver4.2_page-0008.jpg

最後に

回路図に関するご質問等がありましたらTwitterのDMにでもいただけるとお答えします.
他大学のロボコン部の方でも歓迎します.
無断転載はご遠慮ください.

51
43
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
43