M5Stack BLDCモータードライバユニット 火入れ

Home > 電子工作 > M5Stack BLDCモータードライバユニット 火入れ
すき 0
うんこ 0

M5Stack用BLDCモータードライバユニットを購入しました。

もろもろ味見してみたので報告いたします。

 

 

1st 火入れ&味見

開封から火入れをライブ配信しました。

以下のドキュメントを参考に専用ライブラリを導入してブラシレスモータの回転を確認しました。

BLDCモータードライバユニットはドライバIC DRV11873を用いてSTM32を介してI2C制御しています。

1st動作の様子は以下のとおり

ブラシレスモータは以下を使用しました。

 

配信ではライブラリのサンプルコードを参考に上の動画のオープンループによる回転とクローズドループによる回転を確認しました。

更にATOMS3を用いて内蔵のIMUと連動させての回転も確認しました。

 

AudiostockでBGM・効果音を販売中!

モジュール複数使用

ライブ配信のコメントでドライバユニットの複数使用の設定方法を教えてもらったので試してみました。

ユニットのI2Cアドレスを変更するサンプルコードで一方のアドレスを変えて同一I2C信号で2個のブラシレスモータ(ユニット)を制御します。

 

無事に2個動作しました。

 

M5StuickC Plus2 でも動作確認

倒立振子

2個のブラシレスモータを動かせるようになったのでこれより倒立振子の制作を目指します。

M5StickC Plus2とドライバユニットとブラシレスモータで倒立振子を構成

オープンループモード

オープンループモードサンプルコードを参考にモータを回転させて倒立振子動作を試してみました。

うまく動きませんでした。。

 
回転方向を切り替える際に回転速度0を指定してモータステートをスタンバイにする必要があり手順が厳しくスムーズに反転切換動作ができません。

さらに回転開始時に急峻にまわってしまいます。

 
オープンループモードで倒立振子は難しいようです。

クローズドループモード

クローズドループモードサンプルコードを参考に検証を進めました。

クローズドループのサンプルコードには回転速度を検出する関数も使用されていたので観測してみました。

やはり回転開始時のオーバーシュートが見て取れます。
クローズドループではモータ制御のPIDパラメータも調整可能のようなのでこのオーバーシュートの改善は可能だと思います。

一番の問題はクローズドループモードではスタンバイ状態から動作状態への移行に時間がかかることです。

測定したところスタンバイ状態から動作状態に切り替わるのに約2.7秒かかっていました。

このユニットでは回転方向の切り替えには必ずスタンバイ状態にする必要があるので、クローズドループモードでも倒立振子の実現は難しいようです。。

おわりに

ここではM5Stack用BLDCモータードライバユニットを味見してみました。

倒立振子の実現を目指して色々検証しましたが現状このユニットで倒立振子は難しいようです。

回転方向の切り替えの手順に内部コントローラSTM32による制約があり ちょっと使いにくいので今度分解してドライバIC DRV11873を直接おいじりできないか検証してみたいと思います。

次の記事

M5Stack BLDCモータードライバユニット DRV11873 おイジり

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください