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ダウンロード・インストールを行ってください.
インストールが完了したら,デスクトップに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 Mode を Quadrature 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