コギング
電機子と回転子その時期的吸引力が回転角度に依存して細かく脈業する現象。械的な構成によって決まるため通電していなくてもコギングトルクは発生する。
電気角度一周につき,ステータの相数×2の倍数のコギングが発生する.
3相モータの場合,電気角度一周につき6回脈動する.
プログラムによる低減
オープンソースモータドライバ,ODriveはコギングを低減する処理を加えている.
位置Pゲインを思いっきりあげ,超低速で回転させる.このときの位置と保持トルクの関係を保存し,角度を変数としてFF項として追加する.
ここでわかるように,角度に対してLUTを作成するため非常にメモリを消費する.
RoMelaのアクチュエータにも同様のコギング除去機能が実装されている.
調べていると,両方ともペンシルベニア大学MODLABの「Cogging Torque Ripple Minimization via Position-Based Characterization
」がベースとなっている.
こちらの論文にはこのコギング除去のアルゴリズムが記載されている.Anticogging: Torque Ripple Suppression, Modeling, and Parameter Selection
モータ設計による低減
鉄心に補助溝を入れるというアプローチがある。
磁極数と巻線溝(スロット)数の組み合わせから最小化することは可能。
コギングトルクは磁極とスロット数の最小公倍数で発生するため、これらを増やすことで次数を上げることで低減が期待できる。
磁極は2の倍数となる。3相ブラシレスモータであればスロット数は3の倍数となる。以上から、3相ブラシレスモータにおいてコギングトルクは6の倍数で発生する。
この場合磁極数は8以上にする必要があるらしい。