🎃

STM32 B-G431-ESC1 でブラシレスモータを回す【準備編】

に公開

この記事の概要

この記事では,MCSDKの環境構築 ~ モータをPCで回す方法までをご紹介しています.

環境

マイコン:STM32 B-G431B-ESC1
モータ:MN5212 KV340
エンコーダ:AMT102
STM32 B-G431B-ESC1には,電源,エンコーダ,CAN用の線を取り付る場所があり,事前にはんだ付けを行う必要があります.

X-CUBE-MCSDK-6 のインストール

STM公式サイトからX-CUBE-MCSDK-6ダウンロード・インストールを行ってください.
https://www.st.com/ja/embedded-software/x-cube-mcsdk.html

インストールが完了したら,デスクトップにMotorControlWorkbenchのアイコンが表示されるようになると思います.早速こちらのアプリケーションを開きます.

ST Motor Control Workbench

ボードとモータを選択

ホーム上部の+New Projectを押してください.

BOARDをクリックし,使用するBoardを選びます(私の場合はMN5212).

次に,Motorを選ぶのですが,今回使用するブラシレスモータ(MN5212)の設定は,デフォルトでは用意されていません...とりあえず適当なモータを選択します.

①プロジェクト名を入力し,②Createします!

モータの設定

画面が以下のように切り替わります.
Motorをクリックして,Motorの編集画面に移ります.

モータの設定を行います.今回使用するブラシレスモータ(MN5212 KV340)のパラメータを入力していきます.

エンコーダを使用する場合は,一番最後のQuadrature Encoderも忘れず設定を行います.

Encoderの設定

Speed Sensing Selectionで,Speed Sensor ModeQuadrature Encoder に設定します.

プロジェクトの生成

次に,Generate the ProjectからGENERATEを行います.

しばらく待つと完了するので,OPEN FOLDERから作成したプロジェクトの階層へ移動します.

移動先の階層内にある STM32CubeIDE > .cproject からCubeIDEを起動します.
(CubeIDEをインストールしていない方はこちら

CubeIDEでファームウェアを書き込む

main.c は (Your project folder) > Apprication > User > Src > main.cにあります.
プロジェクトが開けたら,プログラムの書き込みを行います.

ST Motor Pilot

ファームウェアの書き込みが終わったら,いよいよモータを回しましょう!

MotorControl WorkbenchのHomeに戻り,メニューからMotor Pilotを開きます.(開くまでに1~2分かかると思います...)

以下のような画面が表示されます.

次の手順でBoardとの接続を試みます...

  • Boardを繋げる
  • ST Linkの接続されているCOM Portを選択する.
  • Connectを押す

Connectできました 🎉
ここで,Under Voltageというエラーが出ていますが,大丈夫.これは単にVBUSに電源を投入していないことによるエラーです.

いよいよ電源を投入します(今回は安定化電源を用いました).
Ack Faultsを押して,エラーをクリアします.

idle 状態になったら正常です.
次に,①rpmを小さくしておく(安全のため,2か所) ②Start の手順で進めます.

あとは,Advanced Configurationからスピード,トルク,電流のゲインを調整することで,思い通りに回します.ゲインの大きさによってモータの挙動が大きく変化するので,十分に注意して行ってください.
エラーが出たらその都度,Ack Faultsを押して,エラーをクリアします.

お疲れさまでした!

Discussion