SPMSMの速度ベクトル制御だと、その現象は「異常」ではなく、条件によってはわりと起こり得る挙動です。ただし、本当に正常かどうかを切り分けるために確認したいポイントがいくつかあります。
まず、なぜ「一度減ってからまた増える」ことが起こり得るかのイメージです。
・低速〜中速の加速中
静摩擦や負荷を振り切るために最初は大きめのトルク(q軸電流)が必要
速度が上がって一度走り出すと、必要トルクが一時的に下がることがある
→ その結果、速度を上げている途中で「iq指令がむしろ減る」区間が見える
・さらに速度が上がっていく領域
鉄損・風損・粘性摩擦が増えるので、高速側ではトルクがまた必要になる
→ ある速度を境にiq指令が再び増えていく
特に「ほぼ無負荷で空転させているが、やはり同じような波形になる」場合は、損失・摩擦や速度指令の与え方(ランプの傾き)によるものの可能性があります。
一方で、本当に設定ミスや制御ロジックの影響でおかしな挙動になっている可能性もあるので、以下を順に確認してみてください。
・モータパラメータがサンプルプログラムと一致しているか
極数、Rs、Ld/Lq、磁束、定格電流などが正しいか
これがズレていると、q軸電流制限や弱め界磁への入り方が変な速度で発生します。
・d軸電流の挙動
本来SPMSMの基本ベクトル制御では、d軸電流はおおむね0近辺になるはずです。
d軸に大きく電流が流れていたり、速度でd軸電流が変に変化していないかを確認してください。
→ 変換角度(電気角)やエンコーダ極数設定が間違っていると、q軸とd軸が混ざって見えます。
・速度フィードバックとスケーリング
エンコーダ・ホール等から求めた角速度のスケール(rad/s, rpm)の変換が正しいか
極対数の設定が正しいか
間違っているとPIが「実際より速い/遅い」と誤認し、変な電流指令の変化になります。
・速度PIのゲインと上限値
PI出力(トルク指令、つまりiq指令)の上限値・下限値が速度によって切り替わっていないか
ベース速度付近から弱め界磁制御(電圧制限)が動作して、iqが制限される実装もあります。
サンプルコード内に、速度や電圧を見てiqを制限している処理がないか確認してください。
・負荷側の特性
ファン・ポンプのような負荷であれば、トルクは速度の2乗〜3乗で増えます。
その場合、ある速度までは「負荷がまだ軽くてトルクが下がる」ように見え、さらに上げると一気に必要トルクが増えてiqが増えます。
負荷トルク曲線と、観測しているiq指令の変化が整合しているかを見てみてください。
切り分けとしては、
・モータをほぼ無負荷で空転させたとき
・速度指令を一定のランプでゆっくり上げたとき
に、d軸電流や実測トルクと合わせて波形を見て、「摩擦・損失による自然な変化」に見えるか、「明らかに設定や計算がおかしい波形」かを判断していくのがよいと思います。
もし可能であれば
・使用モータの定数
・負荷の種類
・d軸電流、電圧指令(vd, vq)、速度PI出力の上限値
あたりを整理してメーカに問い合わせると、サンプルプログラム側の仕様や制限も含めて具体的にコメントをもらいやすいです。