ここからは、実際に開発環境をセットアップしてサンプルコードを動かすまでの流れを、エンジニア目線で詳しく解説します。
初めての方でも迷わないよう、つまずきやすいポイントや「ここが便利!」というコツも交えて紹介します。
まずはIDE(MCUXpresso)を起動しましょう。
インストール直後は「Welcome画面」が表示されるので、ここからスタートです。
ポイント
初回起動時は少し時間がかかることも。焦らず待ちましょう!
SDK(ソフトウェア開発キット)には、たくさんのサンプルプロジェクトが入っています。
今回は「mc_pmsm_enc」という、エンコーダ付きPMSMモータ制御のサンプルを使います。

コツ
サンプル名で迷ったら「pmsm」「motor」などで検索すると見つけやすいです。
プロジェクトをインポートしたら、まず「Release」ビルドに切り替えましょう。
Debugビルドでも動きますが、Releaseの方が最適化されていて実機動作に向いています。
USBケーブルでMCU-LinkコネクタとPCを接続し、
「Build」アイコンをクリックしてビルド開始!
次に「GUI Flash Tool」アイコン
をクリックし、
デバッガが正しく認識されているか確認してからフラッシュ書き込みを行います。


トラブルシューティング
デバッガが認識されない場合は、USBケーブルの抜き差しや、PCの再起動で直ることも。
ビルドが完了すると、プロジェクトの「Release」フォルダにバイナリファイルが生成されます。
エラーが出た場合は、SDKのバージョンやインポート手順をもう一度確認しましょう。
「GUI Flash Tool」でターゲットボードに書き込みます。
書き込みが終わると、いよいよ実機でサンプルが動かせます!
ここからは、FreeMASTER(MCAT)を使ってリアルタイムでモータの状態を観測します。
IDEの「Project Explorer」から motor_control フォルダ内の pmsm_float_enc.pmpx をダブルクリックすると、FreeMASTERが起動します。
体験談
初めて波形がリアルタイムで動くのを見たときは「おおっ!」と感動しました。
左上の緑色「GO!」ボタンをクリックして通信開始。
うまく通信できない場合は、
Projectメニュー → Options → Commタブで、正しいCOMポート(115200bps)を選択しましょう。

コツ
COMポートが分からない場合は「COM_ALL」で試すと自動検出してくれることも!
いよいよデモのスタート!
ホストボード上のSW2ボタンを押すと、モータが回転し始めます。
Speed画面では、実際の回転速度がグラフで表示されるので、動きが一目で分かります。


感動ポイント
初めてモータが回った瞬間は、思わず「やった!」と声が出ました。
グラフがリアルタイムで動くのも楽しい!
デモをオフにしてから、モータの電源(DC24V)を外すと、
MCAT画面にフォルト(障害)の原因が表示され、ホストボードの赤いLEDが点滅します。


電源を再接続し、LEDの点滅が止まったら「M1 Fault Clear」をクリックしてフォルトをクリアしましょう。
注意点
フォルトが出たままだとモータが動かないので、必ずクリアしましょう。
Speed画面で「M1 Application Switch」をONにすると、
アプリケーションの電源が入り、速度を自由に変更できます。
逆回転させたい場合は「-1000」のようにマイナス値を入力すればOK!
遊び方
いろいろな速度を試してみたり、逆回転させてみたりすると、モータ制御の面白さが実感できます!
ボードとの通信がうまくいかない時は?
FreeMASTERでボードと通信できない場合は、
Projectメニュー → Options → Commタブで、正しいCOMポートと通信速度(115200bps)を設定しましょう。
もしCOMポートが分からない場合は「COM_ALL」で試すのもアリです!
デバッグ機能を使えば、プログラムの動きを細かく観察できます。
ブレークポイントを設定して、変数の値や処理の流れを確認しましょう。
初心者向けアドバイス
まずは「main関数」や「割り込み処理」など、動きが分かりやすい場所からデバッグしてみるのがおすすめです。
ここからは、実際のプロジェクト構成や主要なソースコードについて、エンジニア向けに解説します。




ポイント
「motor_control」フォルダには、モータ制御のロジックが詰まっています。
気になる関数や変数を見つけたら、コメントやドキュメントも参考にしましょう!
今回は、NXPの開発環境を使ってモータ制御のサンプルを動かすところまでを体験しました。
次回は、サンプルコードの中身をさらに深掘りしたり、パラメータを変更して自分だけのモータ制御にチャレンジしてみましょう!(4月公開予定)
疑問や「ここが分からない!」というポイントがあれば、コメントでぜひ教えてください!
NXPのモーター制御の記事をまとめたサイトはこちら↓
=========================
お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」もご参照ください。
(既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。)
NXPのFRDMボード「FRDM-MCXA156」を使用して、モーター制御について分かりやすく解説していきます。基礎編と実践編に分かれていますので、興味のある内容から参考いただければ幸いです。
・基礎編①~⑦、実践編①~③
今回は実践編②として、ソフトウェアのセットアップから、実際にモータ制御のサンプル・コードを動かすまでをご紹介します。