ブラシ付きDCモータのセンサレス制御のためのパラメータ同定

2連休中の現実逃避がてら年末年始にやっていたことのまとめ.IoTロギ犬でやったセンサレス速度制御の続き

パラメータ同定の目的

今回パラメータを同定しようとしたのは,制御系の自動チューニングのためです.

普通のフィードバック制御は対象のパラメータを知らずに適当にゲイン設計してもそこそこ動きます.その場合,応答を見ながらいい感じにゲイン調整することとなり,限界感度法などPIDチューニング方法はあるものの,基本的には試行錯誤が必要です.外乱オブザーバなど,パラメータ変動にロバストな制御方法を使うにしても,ノミナルパラメータのオーダーがある程度近くないと,発散したり,ノイズに敏感になったりします.

センサレス制御の場合はさらに深刻で,パラメータ誤差がそのまま推定誤差に繋がりますし,場合によっては制御系が発散します.

というわけで,ブラシ付きDCモータについて「電気的,機械的パラメータの同定の自動化」に挑戦しました.電気的パラメータは電流制御系と逆起電力推定による角速度推定に,機械的パラメータは角速度推定に基づくセンサレス速度制御系に用います.

外乱オブザーバを使う場合には,あとは帯域を指定してあげれば制御系が組めるわけです.モータが違っても制御したい帯域は大体同じなので,パラメータさえ同定してしまえばどんなモータもチューニング無しでそこそこいい感じに制御できます.

方針とか

電気系も機械系も周波数応答を何点かとって,最小二乗法でパラメータを求めます.印加する信号の振幅とか,サンプルをとる周波数とか,人間が決めることが多いですが,今回試した幾つかのモータでは全部同じ設定でそこそこの決定係数がでました.

電気系の場合には,モータが回転しないようにオフセットなしで電圧を印加します.

機械系の場合には,静止摩擦の影響を避けるためにオフセットありで電流を流します.

結果とか

まずは電気系のパラメータ同定結果です.そのへんに転がっていたFA-130的なモータはインダクタンスが370uH, 抵抗が1.1Ωとなりました.LCRメータは持ってないし,テスタの電池は切れていたので同定したパラメータの妥当性はわかりません().最小二乗法による線形回帰式の決定係数は0.98でした.

パラメータを700uH, 1.9Ωとした場合と,パラメータ同定後の電流応答を比較します.指令値は500mA,制御系は電圧外乱オブザーバです.ires.png

電圧外乱オブザーバのおかげで,パラメータ同定前でも設計した帯域どおりの応答が実現されていますが,実際よりも大きい電気的パラメータが設定されているため,ノイズに弱く,同定後の応答に比べて暴れていることがわかります.

次に機械系パラメータの同定です.正しい単位でパラメータを同定するためにはトルク定数が既知であるか,エンコーダが付いている必要があります.今回はいずれもなかったので,同定された値は謎の単位ですが,制御系もそれで組めば安定はします.制御系の指令値としては逆起電力の値を与えることになります.下の図では0.17Vを指令値としています.

bemf

パラメータ同定前の応答で10ms付近にある谷ですが,何回測定しても出てきました.パラメータ同定によって応答が改善されたことがわかります.定常状態でのリップルはコギングの影響だと思われます.ということは推定外乱の波の数を数えれば,エンコーダがなくてもトルク定数を求められそうですね.ただし,モータの先に負荷が何もないという前提が必要になるでしょう.(ギヤボックスが付くだけで摩擦の変動に埋もれる)

エンコーダ付きのモータが手元にないので実際の各速度との比較が出来ていませんが,今回推定したパラメータだと逆起電力指令で20mVくらいから1回転3秒くらいで実際にモータが回り始めるようです.

おわりに

面倒なのでデータにはまとめていませんがロボサイトモータ,260的なモータでもパラメータ同定と,センサレス速度制御ができました.どのモータでも制御系のゲインは一緒だったので,これでモータ制御系の自動チューニングが実現できそうです.

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中