三相同期モータの最大トルク制御

目次

  • 目次
  •  はじめに
    • SPMSMの電流とトルクの関係
    • IPMSMの電流とトルクの関係
  • IPMSMの最大トルク制御 
    • 最大トルク制御の概念
    • 最適な電流位相の導出
    • 電流に対するトルクのマップ化
  • シミュレーション

 はじめに

前回,三相同期モータ(ブラシレスDCモータ,PMSM)の運動モデルの立式と,ベクトル制御によるトルク制御のシミュレーションを行いました.

hamachannel.hatenablog.com

PMSMでは,Park変換と呼ばれる回転子に固定した d-q座標系への変換によって,電流とトルクの関係が簡単に表すことができます.

PMSMの種類である,表面磁石同期電動機(Surface Permanent Magnet Synchronous Motor; SPMSM)埋込磁石同期電動機(Interior Permanent Magnet Synchronous Motor; IPMSM)の電流とトルクの関係は以下のようになります.

SPMSMの電流とトルクの関係

\begin{align}
T = \frac{P_{n}}{2} \Phi_{a} i_{q}
\end{align}

SPMSMの場合には,トルクと q軸電流が比例関係にあり,簡単に目標トルクを出すための電流値を求めることができます.

\begin{align}
i_{q} = \frac{2T}{P_{n} \Phi_{a}}
\end{align}

IPMSMの電流とトルクの関係

\begin{align}
T = \frac{P_{n}}{2}[ \Phi_{a} i_{q} + ( L_{d} - L_{q} ) i_{d} i_{q} ]
\end{align}

一方でIPMSMでは右辺第2項のラクタンストルクが発生するため,id=0制御によってリラクタンストルクの項を消去し,トルクを出すために必要な電流値を算出していました.

 i_{d}に関する項が消え,SPMSMと全く同じ以下の式になります.

\begin{align}
i_{q} = \frac{2T}{P_{n} \Phi_{a}}
\end{align}

一方で,IPMSMではリラクタンストルクを上手く利用することで,同じ電流でより大きなトルクを生み出すことができます.

これを実現する手法が最大トルク制御です.

続きを読む

三相同期モータ(ブラシレスDCモータ)のベクトル制御

目次

  • 目次
  • はじめに
  • 永久磁石同期電動機の運動モデル
    •  電圧と電流の関係
    • 電流とトルクの関係
    • モータの機械的特性
    • 機械角と電気角の関係
    • dq座標とabc座標の変換
      • Park変換(abc軸からdq軸への変換)
      • 逆Park変換(dq軸からabc軸への変換)
    • PMSMの運動モデル
  • ベクトル制御
    • PIコントローラ
    • 非干渉化
    •  トルク指令
  • シミュレーション

はじめに

ブラシレスDCモータについて調べてみたところ,割りと簡単にモデル化できそうだったのでやってみました.

ブラシレスDCモータとは,三相同期モータにドライバが乗っかったもののことを指すようです. これら2つの違いはハードウェアというよりは,動かす手法(ソフトウェア)の違いに起因するようです.

ざっくりと以下の種類があるようです.

  • 三相同期モータ(周波数制御)
    直接三相交流を入力する.ドライバなし.
  • ブラシレスDCモータ(120度通電制御)
    直流を入力する.ドライバによって回転子の角度に応じて通電する相をスイッチングする.
  • ベクトル制御
    直流を入力する.ドライバによって回転子の角度に応じてインバータにより正弦波を与える.

詳細については述べませんが,これらは全て永久磁石同期電動機(Permanent Magnet Synchronous Motor; PMSM)という種類のモータです.

またPMSMには表面磁石同期電動機(Surface Permanent Magnet Synchronous Motor; SPMSM)埋込磁石同期電動機(Interior Permanent Magnet Synchronous Motor; IPMSM)の2種類があります.

基本的な動作についてはRENESASのウェブページが詳しいです.

www.renesas.com

このなかでも最も新しい手法がベクトル制御で,これを用いることで三相モータの高効率な特性を活かしつつ,DCモータのように簡単な制御を行うことができます.

今回は,永久磁石同期電動機をモデル化し,ベクトル制御を行ってみます.

ベクトル制御といってもモータの出力軸トルクを所望の値に制御することを目的とします.

続きを読む

カルマンフィルタの基礎式を代数とベイズ定理から見る

 目次

  •  目次
  •  はじめに
  • 対象とする運動モデル
  • 状態を予測する方法
    • 運動モデルを利用した予測
    • 観測による推定
    • 予測と推定の組み合わせ
  •  カルマンフィルタ
    • 最適カルマンゲインとは
    • 最適とは何か
    • 分散を最小化するゲインの導出
    • カルマンゲインのパラメータ導出
      • 入力による分散
      • 観測による分散
    • カルマンフィルタによる状態推定
    • 分散の更新
      • 事前推定
      • 事後推定
  • 対象が高次元の場合
    • 変わるところ
    • 多次元でのカルマンフィルタ
  • おわりに

 はじめに

カルマンフィルタの歴史ももう長いことと思いますが,各所で各人なりにまとめられているあたり,なかなか理解の難しいものなんだなあと感じています.

例に漏れず自分もカルマンフィルタの原理がいまいちピンとこなかったので自分なりにまとめてみました.

カルマンフィルタ(Kalman Filter)はフィルタと名付けられてはいますが,使われ方としてはフィルタよりも現代制御のオブザーバ(Observer; 状態推定器)に近いような気がします.

観測した情報から,状態ベクトルが真値に最も近くなるように推定するものです.

概念は以下のところでわかりやすく説明されています.

bufonmake.blogspot.jp

qiita.com

 ただ,数式として少し省略されているところもあったので,改めてまとめるに至りました.

基本的に,代数とベイズの定理のみから丁寧に導出していこうという感じです.

カルマンゲインの式の導出,予測値の算出,分散の更新は天下り的な部分も多いので,今回はこれらの導出に焦点を当ててみました.

統計的にみて,予測値と実プラントの誤差が最小となるように演繹的に求めていくとカルマンフィルタの式に行き着くあたり,統計学の応用先の代表例になっているだけのことはあるなあ,という感想です.

ここでは,状態空間と観測空間が同一の場合のみ扱います.

続きを読む

数式処理ソフトウェアで立式した運動方程式をSimulinkで実行する

目次

はじめに

 運動方程式の立て方とラグランジュ

制御工学で避けては通れないのが運動方程式の立式です.

プラントモデリングではもちろんのこと,現代制御に代表されるモデルベース制御では制御ロジックを構築するために運動方程式状態方程式)が必要になります.

運動方程式の立式というと,ほぼラグランジュ法(オイラーラグランジュ方程式)一択のような気がしています.

いまいちこのあたりの用語を掴みきれていないのですが,汎函数と呼ばれる"函数を変数とした函数"を変分(汎函数での微分)することで運動方程式を求めるといった流れです.

たとえば, f(t) = at函数と呼ばれ, \frac{df(t)}{dt}という操作が微分と呼ばれることはご存知のとおりです.
それと似たような関係で, I[f(t)] = Af(t)函数と呼び, \frac{dI[f(t)]}{df(t)}変分と呼ぶようです.

物体の運動の場合,最も必要エネルギの少ない方向に物体が運動するという原理があるらしく(最小作用の原理?),以下の形式で与えられます.

\begin{align}
I[ y ] = \int^{b}_{a}f( x, y, y' ) dx
\end{align}

特に運動の場合は,右辺 f(x,y,y')ラグランジアン Lというエネルギ量で与えるようです.

合っている自信はないですが,以下の式のようなイメージです.(時間微分なのでドットで書いています)

\begin{align}
I[ x ] = \int^{b}_{a}L( t, x, \dot{x} ) dt
\end{align}

これはある時刻 aから bまでのエネルギの合計となります.
上の式が最小になるようにすれば良いということで, I[x]の変分(微分)がゼロとなるような x(停留値)を求めれば良いことになります.

この解(停留値)は決まっていて,これをオイラーラグランジュ方程式と呼びます.

\begin{align}
\frac{d}{dt}\left( \frac{\partial L}{\partial \dot{x}} \right) - \left( \frac{\partial L}{\partial x} \right) = 0
\end{align}

解の形式が決まっているのでシーケンシャルに解けて便利なのですが,非常に計算量が多いです.

前置きが長くなりましたがこれを数式処理ソフトウェアで楽にしようというのが今回のコンセプトです.

使用するソフトウェア

この記事では数式処理ソフトウェアとして以下を使用しています.

恐らく運動方程式を求めたあとはMATLAB/SimulinkとかPyControlとかでシミュレーションすることになると思うのですが,結論としてはwxMaxima優位といった印象です.

運動方程式の対象

今回,2重振り子を例として,Simulinkでのシミュレーションまでやってみようかと思います.

f:id:blockahead:20180114105203p:plain

f:id:blockahead:20180114105207p:plain

ラグランジュ法では物体の運動エネルギ,位置エネルギの関係を与えてあげることが必要になります.

逆に言うとエネルギまで出せてしまえばあとはソフトウェア任せにできます.

事前にやってみたところ,wxMaximaのインストールから結果確認まで45分程度で終わりました.

続きを読む

Predictive Functional Controlの実装

目次

  • 目次
  •  Predictive Functional Controlとは?
  • 概念
    • 線形時不変システムのみを対象とする
    • 自由応答と強制応答に分解する
    • 制御入力を基底函数のみで表現する
    • 最適化問題を解かない
    • 入力制約は扱えるが出力制約は考慮しない
  • 実装
    • 自由応答
    • 強制応答
    • システム全体の応答
    • 参照軌道
  • シミュレーション(MATLAB/Simulink

 Predictive Functional Controlとは?

まずはじめに,Predictive Functional Control (PFC)とは何者か?についてです.

PFCとはモデル予測制御(Model Predictive Control; MPC)のひとつです.Richaletによって提案されました.
Richaletは著書でPFCはPID制御に置き換わる制御則に成り得るのではないかと主張しています.

Predictive Functional Control: Principles and Industrial Applications (Advances in Industrial Control)

Predictive Functional Control: Principles and Industrial Applications (Advances in Industrial Control)

 

 

モデル予測制御の分類についてはMyEnigmaさんのところが詳しいのではないかと思います.

myenigma.hatenablog.com

 

また,実装は以下の論文を参考にしています.
(というより,こちらの先生にお世話になりました)

www.jstage.jst.go.jp

www.akita-pu.ac.jp

 

続きを読む