ST-MCSDKでPMSMモータを動かす

はじめに

NUCLEO STM32F446REとIHM07M1の組み合わせに、ST MCSDK(ソフトウェア)を組み込んで、ドローンに使用可能なA2208-1100KVモータを動かした。FOCに手入れなくても動作可能になった。確認環境、確認手順を以下にメモしておく。中間生成物のモータプロファイルとワークベンチに、結果物のSTM32CubeIDEプロジェクトを含めるリポジトリをGithubに公開済み。

確認環境

NUCLEO STM32F446RE
X-NUCLEO-IHM07M1
A2208-1100KV SM-PMSM Motor
DC Power Output 14.8V
X-CUBE-MCSDK_5.4.7(Motor profiler & Motor workbench含む)
stm32cubemx-win_v6-3-0
stm32cubeide_1.14.0_19471_20231121_1200_x86_64.
Windows 11

※何回かの試行錯誤から、MCSDK_5.4.7と、stm32cubemx-win_v6-3-0の組み合わせではエラーなく行けると確認された。

確認手順

以下、Motor Profiler→Workbench→STM32CubeIDE→WorkbenchMonitorの順でメモしていく。

Motor Profiler

12極=6ペア、3セル=14.8V、1100KV * 14.8V=16280RPM、永久磁石は回転子表面実装=SM-PMSMとして入力して、一度モータを馳せて、測定したモータプロファイルを書き出す。入力したMAX SPEEDまでモータを回転させるので、机に固定することに注意すること。

motor-profiler
motor-profiler

Workbench

Workbenchを立ち上げて、制御ボード、モータドライバ、モータプロファイルとともに、Workbenchプロジェクトを書き出す。

create-workbench
create-workbench

save-workbench
save-workbench

project-generation
project-generation

STM32CubeIDE

Workbenchプロジェクトを読み込んで、コンパイルして制御ボードに書き込む。

stm32cubeide-import-workbench
stm32cubeide-import-workbench

Workbench Monitor

Workbench Monitorを立ち上げて、Start/Stop Motorでモータを制御する。

workbench-monitor
workbench-monitor

リポジトリ

https://github.com/soarbear/stm32f446-ihm07m1に公開済み。

参考資料

STM32向けモータ制御ソフトウェア開発キット(MCSDK)
X-NUCLEO-IHM07M1
Three-phase brushless DC motor driver expansion board based on L6230 for STM32 Nucleo

NUCLEO-F446RE
STM32 Nucleo-64 development board with STM32F446RE MCU, supports Arduino and ST morpho connectivity

1+

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア