SAME70 マイコンでBLDCモータを回そう[モータ運転編]
今回動かすPMSM_FOCソフトウェア
今回動作させるプログラムは、PMSM_FOC using PLL Estimatorというものです。第2回のソフトウェア導入編で入れたmc_apps_sam_e7x_s7x_v7xフォルダの中のindex.htmlを参照いただくと、その詳細をご覧いただくことができます。
MPLAB® X IDEでの操作
それでは実際にMPLAB X IDEを使用してプロジェクトを導入していきましょう。
プロジェクトの導入
MPLABを起動して、ソフトウェア導入編でローカルに置いたモータ・プロジェクトを開きます。
File → Open Projectをクリックして、Harmony(あるいはHarmony3)の下記フォルダを開いてください。
下記のプロジェクト・ファイルを選択し、Open Projectボタンをクリックしてください。
下記がプロジェクトを開いた画面になります。
MHC(MPLAB Harmony Configurator)の起動
モータ関連の設定を行うために、MHC(MPLAB Harmony Configurator)を起動します。
Tools → Embedded → MPLAB Harmony 3 Configuratorをクリックします。
初回MHCの起動時に下記画面が出たら、現在のMPLABのウィンドウに組み込んで使用するために、まず下記の左画面ののSelect Nativeボタンをクリックしてください。そして、右画面が表示されたら、先に進めるためにI Understandボタンをクリックしてください。
Configuration Database Setup画面となるので、ここはLaunchボタンをクリックします。
MHC画面となり、中央にProject Graphが設定されます。
モータ・パラメータの設定
Configuration OptionsのMotor Parametersをクリックします。
使用するモータBLY172S-24V-4000に合わせて値の変更を行います。
MHCコードの生成
先のフロッピー・ボタンを押しただけでは、MHCの設定として保存はされますが、実行コードには反映されません。コードに反映させるためにはMHC → Generate Codeをクリックします。
プロジェクトのクリーン&ビルド
コード生成が終わったら、クリーン&ビルドボタンを押します。
ビルドが完了すると下記メッセージが出ます。
問題なくビルドできましたので、いよいよ、モータを回してみましょう。
ICD4の接続とボード電源の投入
ICD4のUSBケーブルをPCに接続します。ボード用の電源DC24Vを投入します。
プログラムの書き込みと実行
Debug Projectボタンを押します。
初回はエミュレータの設定が必要な場合があります。その場合はICD4を選択してください。
ICD4に接続後は、プログラムがロードされて、Runningとなり、自動的に実行が始まります。
モータの運転
これで、すでにプログラムが走っている状態となっています。ボード上のS2ボタンを押して、モータが回ることを確認してみましょう。スイッチS2、S3、ボリュームPOT1の仕様は下記になります。S2はモータのスタート/ストップ、S3は回転方向の設定、POT1でモータ回転数の変更が行えます。モータを停止させたいときは、もう一度S2を押します。
なお、本プログラムはFLASHメモリからの起動となるため、一度エミュレータでプログラムを書き込めば、その後はボード単独(エミュレータなし)で動作させることができます。
エミュレータ使用時のモータ停止処理とボード電源オフ
エミュレータでモータを動かしている場合は下記の手順で停止操作を行い、モータが回転している状態で、絶対に電源を切らない様にしてください。
①ボード上のS2を押して、モータの運転を停止させて、実際のモータの停止を確認します。
②デバッガのポーズ・ボタンを押します。
③デバッガの停止ボタンを押します。
④下記画面の様にデバッグモードから抜けたことを確認して、ボードの電源を切ってください。
単独動作時のモータ停止処理とボード電源オフ
モータが回転している状態でボードの電源を切らない様にしてください。モータが回転している時は、S2を押して、必ずモータが停止していることを確認してから電源を切ってください。
まとめ
全4回にわたり、SAME70PIMボードとMCLV-2ボードを使用してBLDCモータを回す手順について説明しました。今回使用したモータ「BLY172S-24V-4000」と同様に、ご利用のモータのスペックに合わせて調整することで本環境でモータを回すことができるでしょう。
高性能なSAME70マイコンであれば、このプログラムでデフォルトとなっているPWM周波数(20KHz)をさらに上昇させてモータを回すこともできますし、イントロダクション編で説明した接続のように低電圧や高電圧のモータドライバを設計すれば、使用したソフトウェアを流用いただくことも可能です。SAME70マイコンを使用して、ぜひモータ制御にチャレンジしてみてください。