~適当な工作情報を投げるブログ

ゲーム、音楽なども作ってるよ~



ロボット向けBLDCモータドライバの開発

 ラジコン用ESCだと急峻な制御も難しいし, かといってメーカ製ドライバはバカ高い…。どうしようかと悩んだ末, 自分で作ることにしました。Makerの本能。

 

設計思想

 とりあえず, 私個人ではロボット向けにそこらへんの安いBLDCをサーボのように使えるようにしたいというニーズがあったため, 次のことを前提にして開発をスタートしました。

・シリアルとアナログ入力で制御できる

・シリアル通信は半二重通信でパワーケーブルともにデイジーチェーン可能である

・速度制御, 角度制御が可能である

・誘起電圧オブザーバによりセンサレス自己位置推定を実現する

・各相電流フィードバックによりトルク制御

・20Aくらいのドローン用BLDCが満足に回せるパワー

・小型

 ロボット向けなら60Aもいらんなぁと思いつつ, 汎用性考えるとデカめのモータも回せるようにしたいなぁと葛藤がありました。

しかし, パワーを求めると基板サイズも発熱も大きくなりますし, 今回は欲をいわず20A程度のモータがまわせるレベルの設計にすることとしました。

 

主回路とゲートドライブ

 まず悩むのがスイッチング素子の選定とゲートドライブトポロジーです。

基板自体を小型化したいので, 市販のESCのようにFETクラスタ用の別基板を用意することはしたくなく, 小型SMDパッケージでそれなりに電流を流せるFETを探すのは大変でした。

基板サイズからすると電流を流せるゲートドライバを組む余裕は無いと判断したので, ゲート容量も小さいものを選ぶ必要がありました。

素子は結局 Digikey でいい感じの素子を試験的に購入。良ければ決定という手法を取りました。(コスト考えるのも大変なんですよねぇ~)

 

 ゲートドライブに関してはゲートドライブICや三相プリドライバにコストを割きたくなかったので, 簡単に高速フォトカプラでブートストラップ回路を組む事にしました。

 

制御まわり

 MCU(マイコン)には半二重シリアルをハードサポートする事が求められたのと主回路用にシンメトリPWMの生成が容易であることなどから, STmicro のSTM32F303K8 を採用することにしました。

ファームウェアに関してはPWM用タイマ周りと位置推定アルゴリズム, 電流保護やWDTなどの保護周りを慎重に実装します。

というのも, この手のパワー回路をMCUで動かす回路はちょっとのポカミスで素子を全部焼きますので…。

 

f:id:Kamomesan:20191105115157j:plain

設計つかれた

 

到着した基板

 今回はPCBgogoさんに基板製造を発注しました。

高性能モータ制御プロダクトには, イルカのようになめらかに!という思いを込めて「Dolphin Motor」というシリーズ名をつけることにしました。

 

f:id:Kamomesan:20191105115256j:plain

届いた基板

 基板は2枚面付けとし, 捨て板追加とマウスビット追加を依頼しました。

こうすると手でパキっと割れて楽チンです。

 

f:id:Kamomesan:20191105115453j:plain

フォトカプラたち

MCUとブートストラップ用フォトカプラ群です。

いいかんじ!!なんかエモい。

 

 

 

f:id:Kamomesan:20191105115533j:plain

電流フィードバック波形

1相の電流フィードバック波形です。

すごいきれいで制御が楽でした。

配線を考えて引くとこうゆうところで得をします。大事。

そのうちプロトコルとかコマンドの一覧をまとめなければ。

 

販売について

 テスラキットと同じくECサイトでの販売を考えてます。

現状量産できそうにないので少量ならDMにて相談にのります。

相談は @kt_electronics まで。