• 検索結果がありません。

3. デモ機の動作方法

3.1 チューニング

3.1.1 オフセット調整

レゾルバ付きモータを駆動するには、モータの磁極位置をソフトウェア上で正しく設定する必要がありま す。また、併せて電流検出値のオフセット量を調整し、電流のゼロ調整を行う必要があります。この操作を オフセット調整と呼称し、以下の手順で実施します。ここで、モータに負荷が取り付けられている状態では 一部の調整が正常実施できないため、各モータが無負荷な状態で実施します。なお、オフセット調整結果は マイコン内のフラッシュに書き込むため、本操作は一度だけ実施すればよく、電源をOFFにしたあとでも 再度のオフセット調整の必要はありません。ただし、モータまたは制御ボードを変更した場合には必ず実施 する必要があります。

1. 42□または85□ボードにエミュレータ(E1またはE2 Lite)を接続し、「モータ駆動用サンプルソフ

トウェア(42□ボード用はRX24T_ROBOT42_STM_RSLV_FOC、85□ボード用は

RX24T_ROBOT42_STM_RSLV_FOC)を書き込みます。

2. エミュレータを外したのち、RMW通信ボードを介してRMWがインストールされたPCと接続しま す。

3. RMWを起動し、Control Windowにて「com_u1_sw_userif」に0を書き込み、RMW操作モードに切 り替えます。

4. 「com_u1_system_mode」に7を書き込み、オフセット調整を実施します。

5. 「com_u1_system_mode」を読みとり、値が0になったことを確認した後、

「com_u1_system_mode」に8を書き込み、フラッシュ書き込みを実施します。

6. 「com_u1_system_mode」を読みとり、値が0となっていればフラッシュ書き込みが完了し、オフ

セット調整が終了です。

以上の操作を、42□モータ、85□モータの両方に対して実施します。

上記手順を完了後、試運転として、90°位置、-90°位置へ指令を与えて、所望の位置に移動するかの確認 を以下の手順で実施します。動作しなかった場合、オフセット調整のやり直しを試します。

1. com_u1_system_modeに1を書き込み、位置制御を開始します。

2. com_f4_pos_ref_degに90を書き込みます。

3. com_u1_enable_writeに1を書き込み、モータが時計回り方向に90度回転することを確認します。

4. com_f4_pos_ref_degに-90を書き込みます。

5. com_u1_enable_writeに0を書き込み、モータが逆時計周り方向に90度回転することを確認します。

6. com_u1_system_modeに0を書き込み、位置制御を終了します。

3.1.2 共振抑制フィルタ調整

本デモ機はアームとモータがギアレスの直結構造となっているため、機械共振が発生しやすく、共振抑制 フィルタのチューニングが必要となります。42□モータ、85□モータとアームを接続した状態で、42□ ボード、85□ボードそれぞれについて、以下の手順でそれぞれ共振抑制フィルタを調整します。

1. RMWから任意の位置指令を与えてモータを駆動し、そのときの速度指令と実際速度の間の周波数特性

をFFTアナライザで測定して、共振周波数を特定します(図3-1参照)。共振ピークと反共振ピーク がある場合は、それぞれの共振周波数を記録します。また、複数の共振点が見受けられる場合にも、同 様に共振周波数を記録します。なお、FFTアナライザがない場合には、適当な位置指令値を与えたとき に、マイコンでの位置信号フィードバック値をD/Aを使用してモニタリング、または振動センサなど の外部センサをとりつけてモニタリングし、共振波形から共振周波数を推定します(図3-2参照)。

2. モータ駆動用サンプルソフトウェアのプロジェクト内にある、r_app_main.c内のinit_torq_filter関数内 で呼び出されるR_MTR_SRFOC_SetTorqFilterParamの引数を、共振周波数に併せてソフトウェア変 更し、リビルドを実行します。

3. エミュレータを各ボードへ接続し、リビルド後のソフトウェアを書き込みます。

4. 再度、RMWを接続して任意の位置指令を与え、共振特性が改善されていることを確認します。改善さ れていない場合、手順1に戻り、フィルタの修正を行います。

図3-1 FFTアナライザによる共振周波数の確認

R_MTR_SRFOC_SetTorqFilterParam関数の引数仕様は以下の通りです。

• 関数名:R_MTR_SRFOC_SetTorqFilterParam

• 入力:

(uint8_t) id /モータID (uint8_t) no /フィルタ番号

(uint8_t) type /フィルタタイプ(0:フィルタなし、1:一次遅れフィルタ、2:ノッチフィルタ)

(float) freq /周波数[Hz]

(float) q1 / Q1値 (float) q2 / Q2値

共振抑制フィルタは5段階構成であり、パラメータは指定されてフィルタ番号のフィルタに反映されま す。表3-1に示す各パラメータの設定目安を参考に、フィルタのパラメータを決定します。

表3-1 共振抑制フィルタの設定の目安

設定項目(引数) 共振周波数500Hz未満の場合 共振周波数500Hz以上の場合

id MTR_ID_A

no 1から順番に指定してください

type 2(ノッチフィルタ) 1(一次遅れフィルタ)

freq 共振周波数[Hz] 400

q1 1 0

q2 10 0

複数の共振が存在する場合、引数noでフィルタ番号を指定し、多段階の共振抑制フィルタを構築しま す。

例として、共振周波数100Hz、300Hz、900Hzの複数共振があった場合、ソフトウェア上で下記のコード を記述することで、100Hzと300Hzのノッチフィルタ及び400Hzの一次遅れフィルタによる共振抑制フィ ルタを構成し、機械共振を抑制します。

R_MTR_SRFOC_SetTorqFilterParam(MTR_ID_A, 1, 2, 100, 1, 10);

R_MTR_SRFOC_SetTorqFilterParam(MTR_ID_A, 2, 2, 300, 1, 10);

R_MTR_SRFOC_SetTorqFilterParam(MTR_ID_A, 3, 1, 400, 0, 0);

関連したドキュメント