(第1の実施形態)
本発明の第1の実施形態では、モータ制御装置を2相ステッピングモータに適用した場合を例示する。まず、図1と図2を参照して、本実施形態のモータ駆動制御装置について、基本的な構成及びモータ制御装置の制御方法を説明する。図1は、本発明の第1の実施形態のモータ制御装置の構成例を示す図である。図2は、インバータからモータまでの電気的な接続例を示す図である。モータ制御装置は、図1に示すように、2相ステッピングモータ11、電流検出部12、位置推定部13、速度演算部14、駆動電圧指令生成部15、PWM信号発生部16、及びインバータ17を有する。2相ステッピングモータ11は、永久磁石を備えたロータ111と、A相とB相の2相の巻き線112A,112Bを有するステータとを有する。
電流検出部12は、図2に示すように、電流検出抵抗121A,121Bと電流演算部122A,122Bとを有し、それぞれ、モータ11のA相巻き線112Aに流れる電流とB相巻き線112Bに流れる電流を検出する。ここで、検出したA相巻き線112Aに流れる電流をiα_detとし、B相巻き線112Bに流れる電流をiβ_detとする。電流検出抵抗121A、121Bは、50mΩの抵抗であり、インバータ17と巻き線112A,112Bとの間に直列に接続される。電流演算部122A、122Bは、電流検出抵抗121A、121Bの両端電圧を測定し、測定した電圧値と電流検出抵抗121A,121Bの抵抗値から巻き線112A,112Bに流れる電流を算出する。
位置推定部13は、駆動電圧指令生成部15の駆動電圧指令と電流検出部12により検出された電流を基に、演算し、モータ11のロータ111の磁極位置θ0を推定する。推定した磁極位置をθ0とする。詳細説明は、後述する。速度演算部14は、位置推定部13により推定されたモータ11の磁極位置θ0を基に、モータ11の回転速度velを演算する。速度演算部14は、磁極位置θ0の所定時間の変化量を求め、変化量を所定時間で除算することで速度velを推定する。
駆動電圧指令生成部15は、速度制御部151、αβ→dq変換部152、電流制御部153、及びdq→αβ変換部154を有し、位置推定部13から入力される磁極位置θ0、速度演算部14から入力される推定速度velに基づき、駆動電圧指令を生成する。αβ→dq変換部152及びdq→αβ変換部154は、それぞれ、固定座標系であるαβ座標系と、回転座標系であるdq座標系の相互の座標系に変換する。dq座標系は、電圧や電流を直流量として扱えるという利点がある。速度制御部151は、速度演算部14により演算された速度velとCPUから入力される目標速度指令vel*とを比較し、その両者の差分である速度偏差を算出する。そして、速度制御部151は、速度偏差にPI制御の速度制御演算を施し、モータの発生トルクに寄与するq軸電流指令Iq*を出力し、d軸電流指令Id*=0を出力する。αβ→dq変換部152は、式(1)に示すように、電流検出部12から入力されるA相とB相の巻き線112A,112Bの電流検出値iα_det、iβ_detをdq座標系の電流検出値id_det、iq_detに変換する。
電流制御部153は、dq座標系のフィードバック制御によって実現する。電流制御部153は、速度制御部151から入力される電流指令値id*、iq*とdq変換部152から入力される電流検出値id_det、iq_detとの差分である電流偏差を算出する。そして、電流制御部153は、算出された電流偏差にPI制御の制御演算を施し、モータ11に電流指令通りに電流を流すための駆動電圧指令値Vd、Vqを出力する。
αβ→dq変換部154は、式(2)に示すように、電流制御部153から入力されるdq座標系の駆動電圧指令値Vd、Vqをαβ座標系の駆動電圧指令値Vα、Vβに変換する。VαはA相巻き線に印加するための電圧指令であり、VβはB相巻き線に印加するための電圧指令である。
PWM信号生成部16は、入力される駆動電圧指令値Vα、Vβに応じてパルス幅変調されたPWM信号をインバータ17に出力する。インバータ17は、入力されるPWM信号によって駆動され、駆動電圧指令値Vα、Vβに対応した交流電圧を巻き線112A、112Bに印加する。図2に示すように、インバータ17は、A相巻き線112Aの駆動用に4つのFET171A、173A、175A、177Aと4つのダイオード172A、174A、176A、178Aを有する。また、インバータ17は、B相巻き線112Bの駆動用に4つのFET171B、173B、175B、177Bと4つのダイオード172B、174B、176B、178Bを有する。これらのFETは、PWM信号生成部16から入力されるPWM信号Aph、Apl、Anh、Anl、Bph、Bpl、Bnh、Bnlによって駆動される。これらのダイオードは、還流ダイオードである。インバータ17の出力電圧VApとVAnが、A相巻き線112AにA相電流検出抵抗121Aを介して印加され、出力電圧VBpとVBnが、B相巻き線112BにB相電流検出抵抗121Bを介して印加される。駆動電圧指令生成部15とPWM信号発生部16とインバータ17は、駆動電圧生成部であり、位置推定部13により推定された位置θ0と速度演算部14により演算された速度velを基に、モータ11の巻き線112A及び112Bに印加する電圧を生成する。
次に、位置推定部13について説明する。位置推定部13は、A相巻き線112A、B相巻き線112Bのそれぞれに生じる逆起電圧Vbackα、Vbackβを推定し、推定した逆起電圧の位相を求めることにより、磁極位置θ0を推定する。図3は、図1で示したモータ制御装置の位置推定部13の構成例を示す図である。位置推定部13は、逆起電圧推定部21、象限判定部22、逆正接演算部23、及び角度変換部24を有する。以降では、まず逆起電圧推定部21を説明し、次に象限判定部22、角度変換部24について説明し、その後に逆正接演算部23について説明する。
まず、逆起電圧推定部21について説明する。逆起電圧推定部21は、駆動電圧指令生成部15の2相駆動電圧指令値Vα、Vβと、電流検出部12の電流検出値iα_det、iβ_detを基に、モータ11に発生するA相とB相の2相の逆起電圧Vbackα、Vbackβを推定する。逆起電圧の推定は、式(3)に示すモータの回路方程式によって行う。ここで、Rは巻き線112A,112Bの抵抗値であり、Lは巻き線112A,112Bのインダクタンス値であり、あらかじめ記憶されたものを用いる。
次に、象限判定部22と角度変換部24について説明する。以降では、CORDIC演算をXY座標系で説明するために、式(4)に示すように、A相逆起電圧Vbackαを実軸の値X0、B相逆起電圧信号Vbackβを虚軸の値Y0とする。逆起電圧推定部21は、A相逆起電圧VbackαとB相逆起電圧信号Vbackβに対応する二次元平面上の座標データ(X0,Y0)を象限判定部22に出力する。象限判定部22と角度変換部24は、この座標データ(X0,Y0)を基に、ロータ111の磁極位置θ0を推定する。
象限判定部22は、2相の逆起電圧の座標(X0,Y0)が第何象限にあるかを判定し、座標が第二〜第四象限にある場合に第一象限へ座標移動し、座標移動した先の座標を(X,Y)とする。すなわち、象限判定部22は、逆起電圧推定部21により推定された逆起電圧の座標データ(X0,Y0)が位置する象限を判定する。そして、象限判定部22は、判定した象限に応じて逆起電圧の座標データ(X0,Y0)を移動させることにより、逆正接演算部23に出力する座標データ(X,Y)を生成する。第一象限へ座標移動する理由は、逆正接演算部23が0°〜90°の一象限分の角度を求める演算であり、第二〜四象限も含めた全象限の角度を求めるためには、象限判定の結果と組み合わせる必要があるからである。座標移動の方法は、例えば回転移動や対称移動である。本実施形態では、回転移動を採用した場合を説明する。角度変換部24は、象限判定部22で座標移動した分の角度と逆正接演算の結果を合わせることで磁極位置θ0を求める。
2相の逆起電圧の座標(X0,Y0)がある象限ごとで場合分けをして、具体的な処理を説明する。まず、座標(X0,Y0)が第一象限にある場合を説明する。X0≧0かつY0≧0の場合、象限判定部22は、座標が第一象限にあると判定する。座標の移動は行わない。逆正接演算部23への入力座標(X,Y)は、式(5)に示す通り、2相逆起電圧の座標(X0,Y0)の値そのままである。角度変換部24は、式(6)に示すように、逆正接演算結果θを磁極位置θ0としてそのまま出力する。
次に、座標(X0,Y0)が第二象限にある場合を説明する。X0<0かつY0≧0の場合、象限判定部22は、座標が第二象限にあると判定し、式(7)に示すように、−90度の回転移動で座標(X0,Y0)から座標(X,Y) へと第一象限に移動させる。図4(a)にこの座標移動の図を示す。元々の角度θ0は、式(8)のようにθに変換される。逆正接演算部23は、象限判定部22により移動された座標データ(X,Y)を用いて逆正接演算を行うことにより、偏角θを算出する。最後に、角度変換部24は、式(9)に示すように、逆正接演算結果の偏角θに90度加算して元の角度θ0を求めて出力する。
次に、座標(X0,Y0)がX0<0かつY0<0の場合、象限判定部22は、座標が第三象限にあると判定し、式(10)に示すように、−180度の回転移動をして第一象限に移動させる。図4(b)にこの座標移動の図を示す。元々の角度θ0は、式(11)のようにθに変換される。逆正接演算部23は、座標データ(X,Y)を用いて逆正接演算を行い、偏角θを算出する。最後に、角度変換部24は、式(12)により、元の角度θ0を求めて出力する。
次に、座標(X0,Y0)がX0≧0かつY0<0の場合、象限判定部22は、座標が第四象限にあると判定し、式(13)に示すように、−270度の回転移動をして第一象限に移動させる。図4(c)にこの座標移動の図を示す。元々の角度θ0は、式(14)のようにθに変換される。逆正接演算部23は、座標データ(X,Y)を用いて逆正接演算を行い、偏角θを算出する。最後に、角度変換部24は、式(15)により、元の角度θ0を求めて出力する。
以上のように、まず、象限判定部22は、座標(X0,Y0)の象限判定及び座標移動を行う。逆正接演算部23は、座標データ(X,Y)を用いて逆正接演算を行い、偏角θを算出する。角度変換部24は、象限判定部22による座標データ(X0,Y0)の移動に応じて、逆正接演算部23により算出された偏角θを補正することにより、ロータ111の磁極位置に対応する偏角θ0を算出する。具体的には、角度変換部24は、座標移動した分の角度と逆正接演算の結果の偏角θを合わせることで磁極位置の偏角θ0を求める。
次に、逆正接演算部23について説明する。逆正接演算部23は、本実施形態の特徴である高調波を考慮した逆正接演算であるので、まず処理計算の原理を説明した後に、実際の処理構成の説明を行う。
図5は、2相ステッピングモータの逆起電圧波形である。図5の逆起電圧波形では、3次の高調波成分を多く含む波形である。そこで、3次高調波を考慮した式(16)を定義する。
a1は、基本波成分の強度であり、a3は3次高調波成分の強度である。3次高調波成分は、高調波成分の位相がφずれているが、加法定理を用いて式(17)のように3次高調波成分を2項の式にし、さらに式(18)とすると、式(19)が得られる。
以後、この式(19)を基に、処理計算の原理説明をする。a1は基本波成分の強度であり、a31、a32は3次高調波成分の第1項と第2項の強度である。高調波を考慮した逆正接演算では、この強度は既知情報である。強度情報は、基本波と高調波成分の強度の比が分かればよいので、基本波を1として、高調波を基本波に対する比率にしてもよい。強度情報の取得に関しては、本実施形態の最後に詳しく述べる。なお、以後の説明では、式(19)のa1が掛かっている項を、基本波成分と呼び、a31が掛かっている項を3次高調波第1項成分、a32が掛かっている項を3次高調波第2項成分と呼ぶことにする。式(19)は、θ0の関数の式であるが、象限判定部22が、式(5)〜(15)のように、座標を第一象限に移動すると、式(20)に示すθの関数式になる。そして、式(20)から式(21)に示す関係式が得られる。関係式(21)を変形すると、式(22)に示す関係式になる。
本実施形態の逆正接演算部23は、式(22)のように、高調波成分を含めた関係式を満たすθを求めることで、高調波の影響による逆正接演算の誤差を低減させる。逆正接演算部23は、θを求める過程において、回転演算を行う。ここでは、式(22)の高調波成分を含めた関係式について、回転演算との対応を説明する。式(22)の左辺第一項及び第二項(a1Ycosθ−a1Xsinθ)は、座標(a1X,a1Y)に対してθ右回転演算(式(23))をしたときのY座標の結果Yout1と一致する。
また、式(22)の左辺第三項及び第四項(a31Ycos3θ−a31Xsin3θ)は、座標(a31X,a31Y)に対して3θ左回転演算(式(24))をしたときのY座標の結果Yout31と一致する。
また、式(22)の左辺第五項及び第六項(a32Ysin3θ−a32Xcos3θ)は、座標(a32X,a32Y)に対して3θ左回転演算(式(25))をしたときのX座標の結果を符号反転したもの−Xout32と一致する。
このように、式(22)は、式(23)、(24)、(25)にある回転演算の結果と対応がとれ、式(26)に示す式で表すことができる。
本実施形態の逆正接演算部23は、一般的なCORDIC演算と同様に、繰り返し毎に回転角度を小さくしていく回転演算と、次回の回転方向の判別を繰り返すことによって、θを求める。一般的なCORDIC演算に対して本実施形態の逆正接演算の異なる点は、基本波成分だけでなく、高調波成分の回転演算も行い、各成分の回転演算の結果を用いて、式(26)に示す高調波成分を含む関係式を満たすθを求める点である。式(26)を満たすθを繰り返し回転演算により探索するために、式(26)に基づいた式(27)に示す判別式で次回の回転演算の回転方向を判別する。
逆正接演算部23は、回転演算と回転方向の判別を繰り返した後、基本波成分の繰り返し回転演算した角度の合計を求めることにより、式(26)を満たすθを算出する。以上が、高調波成分を考慮した逆正接演算の処理計算の原理説明である。次に、実際の逆正接演算部23の構成と処理の流れについて、図6及び図7を用いて説明する。
図6は高調波を考慮した逆正接演算部23の構成例を示す図であり、図7は高調波を考慮したフローチャートである。図6に示す通り、逆正接演算部23は、初期値生成部30、基本波成分の回転演算部31、3次高調波第1項成分の回転演算部32、3次高調波第2項成分の回転演算部33、回転方向判別部34、及び偏角演算部35を有する。具体的な処理の流れを、図7に示すフローチャートを参照して説明する。
ステップS101では、逆正接演算部23は、X、Yデータが更新されると、新たに逆正接演算を行うために、ループカウンタiを0にクリアする。次に、ステップS102では、初期値生成部30は、後段の各成分の回転演算を行うための初期入力座標を生成する。次に、ステップS103では、各成分の回転演算部31、32、33は、回転演算処理を行う。次に、ステップS104では、回転方向判別部34は、各成分の回転演算部31、32及び33の回転演算の結果を基に、回転演算部31、32及び33の次回の回転演算の回転方向を判別する。次に、ステップS105では、逆正接演算部23は、ループカウンタiをインクリメントする。次に、ステップS106では、逆正接演算部23は、ループカウンタiが繰り返し回数m以下である場合にはステップS103に処理を戻し、ループカウンタiが繰り返し回数mより大きい場合にはステップS107に処理を進める。ステップS107では、偏角演算部35は、基本波成分の回転演算部31が回転演算した回転角の合計を基本波の偏角θとして算出する。以上が一連の高調波成分を考慮したCORDIC演算処理である。
次に、図6に示す高調波を考慮した逆正接演算部23の各処理部の説明をする。初期値生成部30は、上位の制御手段から与えられる強度情報(a1,a31,a32)とA相データXとB相データYを基に、後段の回転演算部31、32、33の初期入力座標を生成する。基本波成分の回転演算部31の初期入力座標は(a1X,a1Y)であり、3次高調波第1項成分と第2項成分の回転演算部32、33の初期入力座標は(a31X,a31Y)と(a32X,a32Y)である。初期値生成部30は、座標データ(X,Y)と逆起電圧の基本波の強度a1と高調波の強度a31、a32を基に、基本波の座標データの初期値(a1X,a1Y)と、高調波の座標データの初期値(a31X,a31Y)及び(a32X,a32Y)を生成する。初期値生成部30は、基本波の座標データの初期値(a1X,a1Y)を回転演算部31に出力し、高調波の座標データの初期値(a31X,a31Y)を回転演算部32に出力し、高調波の座標データの初期値(a32X,a32Y)を回転演算部33に出力する。これらは、原理説明にあった回転演算式(式(23)、式(24)、式(25))の回転演算される座標と一致する。
次に、各成分の回転演算部31、32、33を説明する。これらは、原理説明にあった回転演算式(式(23)、式(24)、式(25))に対応するものである。まず、基本波成分の回転演算部31について説明する。基本波成分の回転演算部31は、選択部311、θi回転部312、及び絶対値補正部313を有する。選択部311は、後段の回転部312に渡す入力座標を選択する。具体的には、選択部311は、繰り返し演算1回目では初期値生成部30で生成された初期値(a1X,a1Y)を選択し、繰り返し演算2回目以降では1回前の基本波成分の回転演算部31の結果を選択する。θi回転部312は、式(28)に示すループカウンタiに応じた回転演算を実行する。
ここで、(x1_i-1,y1_i-1)はθi回転部312の入力座標データであり、(x1_i,y1_i)はθi回転部312の出力座標データを表す。また、最終的な繰り返し演算回数mに対して、ループカウンタiは0からm−1の値をとる。また、式(28)においてループカウンタiが0の時、右辺の座標データが(x1_-1,y1_-1)となるが、これは繰り返し演算回数1回目として選択部311で選択される初期値(a1X,a1Y)のことである。回転方向は、回転方向δiと基準回転方向δdef1によって決まる。回転方向δiは、繰り返し演算回数1回目(i=0)の時では1、それ以降では回転方向判別部34の判別結果によって1あるいは−1が選択される。一方、基準回転方向δdef1は、繰り返し演算回数ごと変化しない、各成分で設定されるものである。基準回転方向δdef1は、回転方向判別式(26)の基本波成分の要素(Yout1)が求まる回転演算式(式23)の回転方向と、初回の回転演算の回転方向が一致する値を設定する。基本波成分の要素(Yout1)が求まる回転演算式(式23)の回転方向が右回転方向であり、また回転方向δiは初回が1であるので、基準回転方向δdef1は−1の値となる。さらに、式(28)で示される回転演算回数iに対する回転演算の実回転角θiは式(29)で示される。
絶対値補正部313は、基本波成分のθi回転部312と後述する3次高調波成分の回転演算3θi回転部322の回転演算回数の差(=2回)による絶対値ズレの補正を行う。回転部312、322の回転処理は、ベクトルの長さ(=絶対値)が回転角度に応じて変化する処理である。基本波成分のθi回転部312と後述する3次高調波成分の回転演算3θi回転部322では、回転演算回数の差(=2回)があるため、絶対値の変化の割合に差が生じて、高調波を考慮したCORDIC演算に誤差が生じてしまう。それを防ぐために、絶対値補正部313は絶対値の補正を行う。すなわち、絶対値補正部313は、回転演算部31の回転演算の結果と回転演算部32,33の回転演算の結果の絶対値の変化の割合を揃えるように、回転演算部31の回転演算の結果の絶対値を補正する。回転演算1回の絶対値の補正係数Ciは、式(30)に示す通りであり、式(31)に示す演算を実施する。
右辺のX1_in、Y1_inはθi回転部312の出力である補正前回転座標データであり、左辺のX1_out、Y1_outは絶対値補正部313によって補正された(更新された)回転座標データである。絶対値補正部313は、回転演算部31の基本波と回転演算部32,33の高調波の次数の差が正の偶数の場合、式(32)のように、正方向の+θiの回転演算と負方向の−θiの回転演算とを対とした往復の回転演算を行うことにより、絶対値補正を行う。負方向の−θiの回転演算は、正方向の+θiの回転演算と同じ回転角で負方向の−θiの回転演算である。式(32)では、乗算を使わず、CORDIC演算の特徴のビットシフトと加減算によって演算が可能である。
次に、3次高調波第1項成分の回転演算部32について説明する。回転演算部32は、選択部321、及び3θi回転部322を有する。選択部321は、後段の回転部322に渡す入力座標を選択する。具体的には、選択部321は、繰り返し演算1回目では初期値生成部30で生成された初期値(a31X,a31Y)を選択し、繰り返し演算2回目以降では1回前の3次高調波成分の回転演算部32の結果を選択する。3θi回転部322は、CORDIC回転演算の特徴を有しており、式(33)に示す繰り返し回転演算回数iに応じた回転演算を実行する。
3θi回転部322は、基本波成分のθi回転部312の処理と同様の処理を行う。初期値は、(a31X,a31Y)である。回転方向は、回転方向δiと基準回転方向δdef31によって決まる。回転方向δiは、繰り返し演算回数1回目(i=0)の時には1、それ以降では回転方向判別部34の判別結果によって1あるいは−1が選択される。基準回転方向δdef31は、各成分で設定されるものであり、3次高調波第1項成分の要素(Yout31)が求まる回転演算式(式(23))の回転方向と、初回の回転演算の回転方向が一致する値、1を設定する。式(33)で示される回転演算の実回転角3θiは、式(34)で示される。
次に、3次高調波第2項成分の回転演算部33を説明する。回転演算部33は、3次高調波第1項成分と同様に考えて、初期値を(a32X,a32Y)とし、式(35)に示す回転演算を実行する。
以上が、各回転演算部31、32、33の処理説明である。次に、回転方向判別部34を説明する。回転方向判別部34は、各成分の回転演算部31、32、33の結果を基に、次回の繰り返し回転演算の回転方向δiを決定する。回転方向δiを決定する判別式は、処理計算の原理の説明で述べたように、式(36)に示す通りである。
この式(36)が真の時にはδiは1、偽の時にはδiは−1になり、次回の繰り返し回転演算が実行される。図8は、以上で説明した各成分の回転演算の基準方向δdefと回転方向判別式の要素をまとめた表を示す。これらの回転演算と回転方向判別は、最終的な繰り返し演算回数m実行されることによって、式(26)に収束していく回転座標データと回転角情報となるδiデータ列(データの履歴)が得られる。最後の演算行程として、偏角演算部35は、δiデータ列に対して式(37)に示す演算を行うことによって、高調波成分を除いた基本波成分が成す偏角θを求める。
以上のようにして、逆正接演算部23は、高調波成分を考慮した逆正接演算を行う。回転演算部31は、基本波回転演算部であり、回転角を減少させながら基本波の座標データの回転演算を繰り返す。回転演算部32及び33は、高調波回転演算部であり、回転角を減少させながら高調波の座標データの回転演算を繰り返す。回転演算部32は、第1の高調波回転演算部であり、高調波の第1項の座標データの回転演算を行う。回転演算部33は、第2の高調波回転演算部であり、高調波の第2項の座標データの回転演算を行う。
次に、高調波を考慮してCORDIC演算した効果について説明する。図5に示した逆起電圧信号を、基本波を前提とした一般的なCORDIC演算を用いて位置推定した場合の推定誤差を図9(a)に示す。また、本実施形態である高調波を考慮したCORDIC演算を用いて位置推定した場合の推定誤差を図9(b)に示す。基本波成分強度情報a1が1.65、3次高調波第1項の成分強度情報a31が−0.021、3次高調波第2項の成分強度情報a32が0.048の場合の演算結果である。検出誤差は、図9(a)の演算で約±2.52[deg]程度だったのが、本実施形態による図9(b)の演算で約±0.97[deg]程度となり、誤差の低減ができている。
なお、本実施形態では、3次高調波を考慮した式(19)を定義し、定義式に基づいた逆正接演算を行ったが、他の高調波成分が大きれば、その高調波成分を含めた式を定義して同様の演算を行えば良い。また、座標が第二〜四象限の時に、象限判定部22は座標を第一象限に座標移動するが、その過程で定義式が変化することがある。定義式の変化については、第2の実施形態と第3の実施形態で詳細に説明をするが、変化した定義式を基に高調波を考慮したCORDIC演算をすればよい。
次に、高調波成分を考慮したCORDIC演算をする上で必要となる各成分の強度情報(a1,a31,a32)の取得について説明する。強度情報は、事前取得する方法と、駆動中に取得する方法がある。ここでは、まず駆動中に取得する方法について述べる。駆動中の強度情報の取得は、駆動中の推定逆起電圧を基に行う。強度情報の取得精度を上げるために、できるだけ実際の速度変動を小さくする条件に切り替えて強度情報取得を行う。
図10は、強度情報取得動作例を示すフローチャートである。モータ制御装置は、CPUから強度情報取得動作が指令されると、図10に示す処理を開始する。強度情報取得動作が指令されると、ステップS201では、モータ制御装置は、高調波を考慮しない基本波のみのCORDIC演算による位置推定に切り替える。これにより、逆起電圧の高調波成分による推定誤差が現れるようになる。基本波のみのCORDIC演算を行う方法として、歪補正CORDIC演算の各成分の強度情報のうち、高調波成分の強度情報を0にすることで、基本波のみのCORDIC演算が実現できる。
次に、ステップS202では、モータ制御装置は、駆動電圧指令生成部15により、モータ11の通常駆動の回転速度の中の最小速度よりも速い速度の速度指令値に変更する。回転速度を大きくすることによって、逆起電圧高調波による回転速度変動の周波数が高周波にシフトし、イナーシャによる働きで、実際の回転速度変動は小さくなる。なお、逆起電圧の振幅は速度に比例して大きくなるが、基本波成分と高調波成分の振幅の比は保たれる。そのため、回転速度を大きくして取得した強度情報は、取得時の回転速度と異なる条件で駆動しているときの逆正接演算に使うことが可能である。
次に、ステップS203では、モータ制御装置は、速度制御部151の速度制御のゲインを下げる。具体的には、モータ制御装置は、速度制御部151の速度制御の制御ループ内に逆起電圧の高調波成分の周波数のゲインを下げるノッチフィルタなどの帯域除去フィルタを挿入する。または、モータ制御装置は、速度制御のPIゲインを下げる。これにより、推定速度の誤差情報を基にした制御を抑制することができる。モータ制御装置は、モータ11の通常駆動の速度制御部151の速度制御のゲインより小さい速度制御のゲインに変更する。
最後に、ステップS204では、モータ制御装置は、上記の状態のモータ11の駆動中に逆起電圧推定部21により推定された逆起電圧の波形をフーリエ変換して、各成分の強度情報を取得する。モータ制御装置は、複数回各成分強度情報を取得し、平均化することで強度情報の精度を上げることが可能である。以上が、駆動中に強度情報を取得する動作の説明である。
なお、駆動中に強度情報を取得する上で速度変動を小さくするために、負荷状態を、推定誤差補正駆動時と比較して、負荷トルクが小さくなる状態に変更してもよい。負荷トルクを小さくすることでモータの電流が小さくなり、モータの電流に応じて発生するトルクリップルによる速度変動が減少する。負荷トルクを低減させる例としては、回転部材に当接する部材を離間させるなどがある。モータ制御装置は、モータ11の通常駆動の負荷の中の最大負荷よりも小さい負荷の駆動中に強度情報を取得する。
また、イナーシャを大きくすることによって、速度変動を低減させてもよい。イナーシャを大きくする例としては、フライホイールなどの慣性体を負荷に連結させるなどがある。モータ制御装置は、モータ11の通常駆動のイナーシャの中の最小イナーシャよりも大きいイナーシャの駆動中に強度情報を取得する。
逆起電圧の強度情報取得動作を行うタイミングは、工場での組み立て時やモータ制御装置の立ち上げ時に一度のみでも電源投入毎でも通常動作実施毎でも良い。制御対象となるモータの特徴などに応じて、適切な方法を選択すれば良い。駆動中に強度情報を得ることによって、モータごとの逆起電圧の強度情報のばらつきに対応可能でありながら、1つ1つのモータで事前測定をする作業が不要となる。
なお、以下のように、強度情報を事前取得しておいて高調波を考慮した逆正接演算を行ってもよい。例えば、有限要素法を用いた磁場解析により逆起電圧データを算出し、周波数分析して各成分の強度情報を得ても良い。あるいは、対象のモータを別のモータに連結させて回転させ、対象のモータで発生する逆起電圧を測定して、そのデータを周波数分析することによって各成分の強度情報を得ても良い。
以上のように、逆起電圧の高調波成分の強度情報を取得し、その強度情報を用いて高調波を考慮した逆正接演算を行うことよって、高調波による磁極位置の推定誤差を低減できる。また、推定した位置情報から算出する速度の誤差も低減できる。正確な推定位置と推定速度を基にモータを駆動制御することで、回転むらの低減、騒音及び振動の低減、効率低下の抑制が可能となる。
(第2の実施形態)
本発明の第2の実施形態では、モータ制御装置を、3相DCブラシレスモータに適用した場合を例示する。第2の実施形態は、第1の実施形態と比較し、巻き線が3相になるため、駆動回路が3相駆動用となり、駆動電圧と駆動電流が3相となる。しかし、位置推定演算は、駆動電圧と駆動電流を3相2相変換することにより2相として扱うことができ、逆起電圧も第1の実施形態と同様に2相で推定でき、逆正接演算することにより位置推定することができる。また、第2の実施形態は、第1の実施形態と同様に、高調波成分も含めた逆起電圧の定義式に基づき、逆正接演算することにより、高調波による位置推定誤差を低減することが可能である。なお、本実施形態では、3相モータに限らず、2相モータでも起こりえる現象であるが、象限判定部の第二〜四象限にある場合の座標移動により、2相逆起電圧の定義式が変化することについて説明を加える。
以下では、まず、3相DCブラシレスモータの制御装置の概要を説明する。次に、位置推定部の説明をする。この中で、高調波を考慮した逆正接演算の原理説明として、逆起電圧の定義式と回転演算の関係について、さらに象限ごと定義式が変化することについて説明をする。最後に、高調波を考慮した逆正接演算部の構成と効果について説明する。はじめに、3相DCブラシレスモータのモータ制御装置の概略を、図11と図12を参照して説明する。
図11は第2の実施形態のモータ制御装置の構成例を示す図であり、図12はインバータからモータまでの電気的な接続例を示す図である。モータ制御装置は、図11に示すように、モータ41、電流検出部42、位置推定部43、速度演算部44、駆動電圧指令生成部45、PWM信号発生部46、及びインバータ47を有する。モータ41は、永久磁石を備えたロータと、U相・V相・W相の3相巻き線412U,412V,412Wを有するステータによって構成されている。電流検出部42は、図11に示すように、電流検出抵抗421と電流演算部422とuvw→αβ変換部423を有し、モータ41に流れるUVW各相の電流を検出し、3相2相変換部(uvw→αβ変換)423により、2相の電流に変換して出力する。式(38)は、検出したUVWの3相の電流iu_det、iv_det、iw_detを、2相のiα_det、iβ_detの電流に変換する3相2相変換の式である。
位置推定部43は、駆動電圧指令生成部45の駆動電圧指令と電流検出部42の電流検出値に基づく演算により、モータ41のロータの磁極位置θ0を推定する。詳細は後で述べる。速度演算部44は、位置推定部43から入力されるモータ41の磁極位置θ0からモータ41の回転速度を算出する。駆動電圧指令生成部45は、速度制御部151、αβ→dq変換部152、電流制御部153、dq→αβ変換部154、及びαβ→uvw変換部451を有する。第2の実施形態は、第1の実施形態の2相ステッピングモータの場合と比較して、3相ブラシレスモータでは、3相の駆動電圧指令が必要となるため、式(39)に示すαβ→uvw変換部451が追加されている。
PWM信号生成部46は、入力される駆動電圧指令値Vu、Vv、Vwに応じて、パルス幅変調されたPWM信号を出力する。インバータ47は、入力されるPWM信号によって駆動され、駆動電圧指令値Vu、Vv、Vwに対応した交流電圧を巻線412U、412V、412Wに印加する。インバータ47からモータ41までの電気的な接続は、図12に示す通りである。インバータ47は、6つのFET471U、473U、471V、473V、471W、473Wと、6つのダイオード472U、474U、472V、474V、472W、474Wを有する。FET471U、473U、471V、473V、471W、473Wは、PWM信号生成部46から入力されるPWM信号によって駆動される。ダイオード472U、474U、472V、474V、472W、474Wは、還流ダイオードである。インバータ47の出力は、UVWの3相分あり、それぞれ電流検出抵抗421U、421V、421Wを介して、モータ41のコイル412U、412V、412Wに接続されている。以上、3相DCブラシレスモータの制御装置について述べた。
次に、位置推定部43の構成を、図13を参照して説明する。位置推定部43は、基本的には第1の実施形態と同様で、2相の駆動電圧Vα、Vβと2相の検出電流iα_detとiβ_detからモータ41に発生する逆起電圧Vbackα、Vbackβを算出する。そして、位置推定部43は、2相の逆起電圧を逆正接演算することにより、磁極位置θ0を推定する。図13に示すように、位置推定部43は、逆起電圧推定部21、象限判定部22、逆正接演算部51、及び角度変換部24を有する。本実施形態では、象限ごとに定義式が変化することに対応するために、象限情報を逆正接演算部51に入力している点が第1の実施形態と異なる。逆起電圧推定部21、象限判定部22、角度変換部24は、第1の実施形態と同じである。象限判定部22は、2相逆起電圧(X0,Y0)が第二〜四象限にある場合、回転移動で第一象限へ座標移動する。角度変換部24は、座標移動に応じた元の角度θ0の計算を行う。
図14(a)に示すのは、3相ブラシレスモータの2相逆起電圧波形である。3相逆起電圧波形は、図14(b)に示す通り、U相V相W相で120°位相がずれた波形であるが、2相では図14(a)に示す波形となる。この2相の逆起電圧波形は、2次、5次、7次の高調波成分を多く含む波形である。そこで、2次、5次、7次を考慮した2相逆起電圧の定義式を式(40)に示す。
a1は基本波成分、a21、a22は2次高調波第1項成分と第2項成分、a51、a52は5次高調波第1項成分と第2項成分、a71、a72は7次高調波第1項成分と第2項成分の強度情報である。各高調波成分が2項に分かれている理由は、第1の実施形態で述べたように、基本波成分に対して高調波成分の位相がずれているためである。ここで、象限ごとに定義式が変化することについて説明をする。2相逆起電圧の座標(X0,Y0)が第一象限の場合は、象限判定部22は、式(5)、(6)のように座標移動を行わないため、X0(θ0)、Y0(θ0)の式(40)は、X(θ)、Y(θ)の式(41)となる。
2相逆起電圧の座標(X0,Y0)が第二〜四象限の場合を考える。座標(X0,Y0)が第二〜四象限の場合、象限判定部22は、式(7)〜(15)に示す回転移動を行う。回転移動をしたとき、基本波成分に対して高調波成分はその高調波の次数倍の回転移動となっているため、基本波成分と高調波成分で位相差が生じ、定義式が変わる。具体的に、座標(X0,Y0)が第二象限にある場合を考える。式(7)〜(9)に示す回転移動によって、式(42)に示すX(θ)、Y(θ)の関数となる。加法定理を用いて整理すると、式(42)は式(43)となる。このように、回転移動後の式(43)は、座標(X0,Y0)が第一象限にある場合の式(41)と異なる関数になる。
同様にして、座標が第三象限にある場合、第四象限にある場合は、回転移動により、式(44)、(45)に示すX(θ)、Y(θ)の関数になる。これらの式(44)、(45)も、式(41)と異なる関数になる。
このように、象限判定部32の座標移動により、象限ごとに定義式が変化する。第1の実施形態では、θの関数が座標(X0,Y0)の象限によって変化しなかったので不要であったが、このように座標(X0,Y0)の象限ごとに定義式が変化する場合は、その変化に応じた演算処理をする必要がある。次に、定義式と各成分の回転演算の関係について述べる。これは、第1の実施形態と同様である。ここでは、2相逆起電圧の座標(X0,Y0)が第一象限の場合についてのみ述べる。2相逆起電圧の座標(X0,Y0)が第二〜四象限の場合に関しては、変化した定義式を基に同様に求まる。2相逆起電圧の座標(X0,Y0)が第一象限の場合の定義式(41)から式(46)に示す関係式が求められる。さらに、式(46)の関係式を変形すると、式(47)に示す関係式が求められる。
ここで、定義式から求まる関係式(47)と各成分の回転演算の関係を述べる。式(47)の左辺第一項及び第二項(−a1Xsinθ+a1Ycosθ)は、座標(a1X,a1Y)に対してθ右回転演算(式(48))をしたときのY座標の結果Yout1と一致する。
式(47)の左辺第三項及び第四項(a21Xsin2θ+a21Ycos2θ)は、座標(a21X,a21Y)に対して2θ左回転演算(式(49))をしたときのY座標の結果Yout21と一致する。
式(47)の左辺第五項及び第六項(−a22Xcos2θ+a22Ysin2θ)は、座標(a22X,a22Y)に対して2θ左回転演算(式(50))をしたときのX座標の結果を符号反転したもの−Xout22と一致する。
式(47)の左辺第七項及び第八項(a51Xsin5θ+a51Ycos5θ)は、座標(a51X,a51Y)に対して5θ左回転演算(式(51))をしたときのY座標の結果Yout51と一致する。
式(47)の左辺第九項及び第十項(−a52Xcos5θ+a52Ysin5θ)は、座標(a52X,a52Y)に対して5θ左回転演算(式(52))をしたときのX座標の結果を符号反転したもの−Xout52と一致する。
式(47)の左辺第十一項及び第十二項(−a71Xsin7θ+a71Ycos7θ)は、座標(a71X,a71Y)に対して7θ右回転演算(式(53))をしたときのY座標の結果Yout71と一致する。
式(47)の左辺第十三項及び第十四項(a72Xcos7θ+a72Ysin7θ)は、座標(a72X,a72Y)に対して7θ左回転演算(式(54))をしたときのX座標の結果Xout72と一致する。
よって、式(47)は、式(55)で表される。
この式(55)に示す式を満たすθを、第1の実施形態同様に、高調波成分も含めた繰り返し回転演算と回転方向判別を繰り返すことによって求める。上記の関係式と各成分の回転演算の対応関係を用いて、図15に、各次成分の回転演算の基準方向δdefと回転方向判別式の要素をまとめた表を示す。図15では、2相逆起電圧の座標(X0,Y0)が第二〜四象限の場合も同様に、各次成分の回転演算の基準方向δdefと回転方向判別式の要素を求めた結果を記している。この表に示すように、高調波を考慮したCORDIC演算処理では、座標(X0,Y0)の象限に応じて演算を行う。
次に、高調波を考慮した逆正接演算部51の構成について、図16を参照して説明する。初期値生成部60は、各成分の回転演算の初期値を生成する。各成分の回転演算の選択部611、621、631、641、651、661、671は、繰り返し回転演算回数1回目のときは初期値を選択し、繰り返し回転演算回数2回目以降のときは前回の演算の結果を選択する。各成分の回転演算612、622、632、642、652、662、672は、それぞれ、式(56)〜(62)に示すように、繰り返し回転演算回数iに応じた回転演算を実行する。基本波成分の回転演算部612は、式(56)の回転演算を行う。2次高調波第1項成分の回転演算部622は、式(57)の回転演算を行う。2次高調波第2項成分の回転演算部632は、式(58)の回転演算を行う。5次高調波第1項成分の回転演算部642は、式(59)の回転演算を行う。5次高調波第2項成分の回転演算部652は、式(60)の回転演算を行う。7次高調波第1項成分の回転演算部662は、式(61)の回転演算を行う。7次高調波第2項成分の回転演算部672は、式(62)の回転演算を行う。
絶対値補正部613、623、633、643、653は、それぞれ、7次高調波成分の7θi回転演算部662,672の回転演算回数との差による絶対値ズレを補正する。すなわち、基本波成分の絶対値補正部613は、6回分で式(63)に示す演算を実施する。2次高調波第1項、第2項成分の絶対値補正部623、633は、5回分で式(64)、(65)に示す演算を実施する。
5次高調波第1項、第2項成分の絶対値補正部643、653は、2回分で式(66)、(67)に示す演算を実施する。
回転演算1回の補正係数Ciは、上記の式(30)に示した通りである。回転方向判別部68は、各成分の回転演算部61〜67の結果を用いて、次の回転演算の回転方向δiを決定する。回転方向判別部68は、象限判定部22により判定された座標(X0,Y0)の象限に応じて、回転方向の判別式(判別方法)を変化させる。象限ごとの判別式は、図15に示す通りである。以上の各成分の回転演算と回転方向判別は、最終的な繰り返し演算回数m実行されることによって、定義式から導かれる関係式に収束していく回転座標データと回転角情報となるδiデータ列(データの履歴)が得られる。最後の演算行程として、偏角演算部69は、δiデータ列に対し、第1の実施形態で示した式(37)の演算を行うことによって、高調波成分を除いた基本波成分が成す偏角θを求める。以上のようにして、逆正接演算部51は、高調波成分を考慮した逆正接演算を行う。
次に、図16の構成により高調波を考慮して逆正接演算を行った効果について説明する。図14(a)に示す2相の逆起電圧信号を、基本波を前提とした一般的なCORDIC演算を用いて位置推定した場合の推定誤差を図17(a)に示す。また、本実施形態である高調波を考慮したCORDIC演算を用いて位置推定した場合の推定誤差を図17(b)に示す。検出誤差は、図17(a)の演算で約±2.52[deg]程度だったのが、本実施形態による図17(b)の演算で約±0.30[deg]程度となり、大幅に誤差が減少している。なお、各成分の強度情報は、a1が1.75、a21が−0.008、a22が−0.021、a51が−0.078、a52が−0.002、a71が−0.023、a72が0.001として演算を行った。このように、モータ41の磁極位置の推定誤差が低減されることにより、推定した磁極位置より算出される速度の誤差も低減できる。誤差の少ない正確な位置、速度に基づいてモータ41を駆動制御できるようになるため、モータ41の回転むらの低減、振動及び騒音の低減、効率の向上が実現できる。
なお、本実施形態では、2相逆起電圧を2次、5次、7次の高調波成分を考慮した式(40)と定義して、高調波を考慮したCORDIC演算を示したが、必要に応じて他の次数についても考慮することができる。2相逆起電圧の式を式(68)に示すように一般化して、基準回転方向δdefと回転判別式の要素をまとめた表を図18に示す。図18の表は、座標(X0,Y0)が第二〜四象限にあるときの座標移動方法として回転移動を採用した場合の表である。
an1が掛っている項は第1項成分、an2が掛っている項は第2項成分である。また、それぞれの項の符号は±で一般化している。また、nは高調波の次数である。回転判別式の要素は、次数nを4で除算した余りの値(mod(n,4))によって異なる。2相の信号が任意の定義式の場合にも、図18の表に対応する演算処理を行うことで、2相信号の高調波による逆正接演算誤差を低減させることが可能となる。
(第3の実施形態)
本発明の第3の実施形態は、2相逆起電圧の座標(X0,Y0)が第二〜四象限の時の位置推定部の象限判定部における座標移動方法として、回転移動ではなく対称移動を採用した場合を例示する。座標移動の方法が異なると、定義式の変化の仕方も異なる。本実施形態は、第2の実施形態と同様に、変化した定義式に基づいて、高調波を考慮したCORDIC演算処理をすれば良い。
以下、本実施形態は、第2実施形態と同様に、3相ブラシレスモータのモータ制御装置について説明する。また、2相逆起電圧の定義式も、第2の実施形態と同様ものとして説明する。本実施形態では、第2の実施形態との相違点である、対称移動による座標移動についてと、対称移動による座標移動を行った場合の2相逆起電圧の定義式の変化について、説明する。
まず、第3の実施形態における象限判定部22と角度変換部24について説明する。象限判定部22は、2相逆起電圧の座標(X0,Y0)の象限を判定し、座標が第二〜四象限にある場合に第一象限へ座標移動を行う。本実施形態では、座標移動方法として、対称移動を採用する。まず、象限判定部22は、座標(X0,Y0)が第一象限にある場合は、座標移動を行わない。逆正接演算部51への入力座標(X,Y)は、式(5)に示す通り、2相逆起電圧(X0,Y0)の値そのままである。角度変換部24は、式(6)に示すように、逆正接演算結果θを磁極位置θ0としてそのまま出力する。
次に、座標(X0,Y0)が第二象限にある場合を説明する。X0<0かつY0≧0の場合、象限判定部22は、座標が第二象限にあると判定し、式(69)に示すように、y軸に関して対称移動で座標(X0,Y0)から座標(X,Y)へと第一象限に変換する。図19(a)にこの座標移動の図を示す。元々の角度θ0は、式(70)のように、θに変換される。逆正接演算部51は、(X,Y)を入力座標としてθの角度を求める。そして、最後に、角度変換部24は、式(71)に示すように、逆正接演算結果θを180度から減算して元の角度θ0を求めて出力する。
次に、座標(X0,Y0)がX0<0かつY0<0の場合、象限判定部22は、座標が第三象限にあると判定し、式(72)に示すように、原点に関して対称移動で第一象限に移動させる。図19(b)にこの座標移動の図を示す。元々の角度θ0は、式(73)のように、θに変換される。逆正接演算部51は(X,Y)を入力座標としてθの角度を求める。最後に、角度変換部24は、式(74)により、元の角度θ0を求めて出力する。
次に、座標(X0,Y0)がX0≧0かつY0<0の場合、象限判定部22は、座標が第四象限にあると判定し、式(75)に示すように、X軸に関して対称移動で第一象限に移動させる。図19(c)にこの座標移動の図を示す。元々の角度θ0は、式(76)のように、θに変換される。逆正接演算部51は、(X,Y)を入力座標としてθの角度を求める。最後に、角度変換部24は、式(77)により元の角度θ0を求めて出力する。
以上の処理により、角度θ0を求めることができる。次に、以上の座標移動をしたときの定義式の変化について説明する。3相ブラシレスモータの2相の逆起電圧波形は、第2の実施形態と同様に、式(40)に示す定義式で表される。まず、2相逆起電圧の座標(X0,Y0)が第一象限の場合の説明をする。式(5)、(6)のように、象限判定部22は、座標移動を行わないため、X(θ)、Y(θ)の関数は式(78)となる。
次に、2相逆起電圧の座標(X0,Y0)が第二象限の場合の説明をする。式(69)〜(77)に示す対称移動の変換処理によって、式(79)に示すX(θ)、Y(θ)の関数となる。この式(79)は、式(78)と異なる関数になっている。
同様に、2相逆起電圧の座標(X0,Y0)が第三象限にある場合、第四象限にある場合は、対称移動により、式(80)、(81)に示すX(θ)、Y(θ)の関数になる。
このように、象限判定部22の対称移動による座標移動により、定義式が変化する。第2の実施形態でも回転移動により定義式が変化したが、本実施形態の対称移動による定義式の変化は、第2の実施形態の変化の仕方と異なる。本実施形態は、第2の実施形態と同様に、変化した定義式に基づいて、高調波を考慮したCORDIC演算処理をすれば良い。各次成分の回転方向判別式の要素をまとめた表を図20に示す。高調波を考慮したCORDIC演算は、第2の実施形態で示した図16と同様の構成である。本実施形態は、象限ごとの回転方向判別式を図20に示すように変化させて演算することで、第2の実施形態と同様の効果を得ることができる。本実施形態の結果は、第2の実施形態と同様に、図17(a)、図17(b)に示す通りである。以上、逆起電圧が成す座標が第二〜四象限の時の座標移動を対称移動で行った場合でも、座標移動により変化する定義式に基づいて、高調波CORDIC演算を行うことによって、位置推定誤差を大幅に低減することが可能となる。
なお、本実施形態では、3相ブラシレスモータを例にして対称移動を採用した場合を説明したが、2相ステッピングモータでも同様に対称移動を採用して、定義式の変化に基づいて演算することで位置推定誤差の低減が可能である。また、本実施形態では、2相逆起電圧を2次、5次、7次の高調波成分を考慮した式(40)と定義して、高調波を考慮したCORDIC演算を示したが、必要に応じて他の次数についても考慮することができる。第2の実施形態の最後でも述べたが、2相逆起電圧を式(68)に示すように一般化して、基準回転方向δdefと回転判別式の要素をまとめた表を図21に示す。図21の表は、座標(X0,Y0)が第二〜四象限にあるときの座標移動方法として対称移動を採用した場合の表である。2相の信号が任意の定義式の場合にも、図21の表に対応する演算処理を行うことで、2相信号の高調波による逆正接演算誤差を低減させることが可能となる。
(第4の実施形態)
本発明の第4の実施形態は、高調波を考慮した逆正接演算の他の構成について説明する。第1〜第3の実施形態では、強度情報と座標情報を回転演算の前の初期値に含めて演算を行っていたが、本実施形態では、回転演算の初期値には含めずに回転方向判別部で含めて演算する。回転方向判別式は、第1〜第3の実施形態と同様の方法で求めた式であり、定義式に基づく関係式を満たすθを繰り返し回転演算により探索することに変わりはない。本実施形態では、第1の実施形態と同様に、2相ステッピングモータのモータ制御装置とし、2相逆起電圧の定義式も第1の実施形態と同様に、式(19)として説明する。関係式は、第1の実施形態と同様に、式(22)となる。本実施形態では、第1の実施形態と同様に、この関係式を満たすθを求める。以下では、高調波を考慮した逆正接演算の構成について、第1の実施形態と異なる点を述べる。
図22は、第4の実施形態のよる高調波を考慮した逆正接演算部23の構成例を示す図である。各部の説明をする。まず、基本波成分の回転演算部71について説明する。基本波成分の回転演算部71は、選択部711、θi回転部712、及び絶対値補正部713を有する。選択部711は、後段の回転部712に渡す入力座標を選択する。具体的には、選択部711は、繰り返し演算1回目では初期値(1,0)を選択し、繰り返し演算2回目以降では1回前の基本波成分の回転演算部71の結果を選択する。θi回転部712は、CORDIC回転演算の特徴を有しており、第1の実施形態の基本波成分の回転演算部と同じように、式(82)の回転演算を行う。
また、絶対値補正部713も、第1の実施形態と同様に、θi回転部712と3次高調波成分の3θi回転部722の回転演算回数の差(=2回)による絶対値ズレを補正する。基本波成分の回転演算部71の出力は、繰り返し演算1回目の初期値が(1,0)であるため、(cosθ,sinθ)に相当する。
次に、3次高調波成分の回転演算部72について説明する。3次高調波成分の回転演算部72は、選択部721、及び3θi回転部722を有する。選択部721は、後段の回転部722に渡す入力座標を選択する。具体的には、選択部721は、繰り返し演算1回目では初期値(1,0)を選択し、繰り返し演算2回目以降では1回前の3次高調波成分の回転演算部72の結果を選択する。3θi回転部722は、CORDIC回転演算の特徴を有しており、第1の実施形態の3次高調波成分の回転演算部と同じように、式(83)の回転演算を行う。
3次高調波成分の回転演算部72の出力は、繰り返し演算1回目の初期値が(1,0)であるため、(cos3θ,sin3θ)に相当する。次に、回転方向判別部73を説明する。回転方向判別部73は、各成分の回転演算部71の回転演算の結果(cosθ,sinθ)、回転演算部72の回転演算の結果(cos3θ,sin3θ)と、強度情報a1、a31、a32と、座標(X,Y)を基に、次回の回転演算の回転方向δiを判定する。ここで、強度情報a1は逆起電圧の基本波の強度であり、強度情報a31は3次高調波第1項の強度であり、強度情報a32は3次高調波第2項の強度である。回転方向δiを決定する判別式は、式(84)である。
この式(84)は、第1の実施形態の判別式と同じである。式(84)が真の時には回転方向δiは1、式(84)が偽の時には回転方向δiは−1の値をとる。このように、判別式には基本波成分と3次高調波成分が含まれており、これは高調波を考慮したθの探索を行っていることを意味している。以上のように、回転方向δiが決定され、次回の繰り返し回転演算が実行可能となる。以上の各成分の回転演算と回転方向判別を、最終的な繰り返し演算回数m実行されることによって、関係式(22)に収束していく回転座標データと回転角情報となるδiデータ列(データの履歴)が得られる。第1の実施形態と同様に、最後の演算行程として偏角演算部74は、δiデータ列に対して式(37)に示す演算を行うことによって、高調波成分を除いた基本波成分が成す偏角θを求める。
以上のように、本実施形態は、想定する波形の定義式(19)から導出される関係式(22)に基づき、高調波を考慮したCORDIC演算を行う。位置推定誤差の低減効果については、第1の実施形態と同様である。高調波を考慮しない一般的なCORDIC演算をした場合の推定誤差を図9(a)に示す。図22に示す高調波を考慮したCORDIC演算をした場合の推定誤差を図9(b)に示す。本実施形態でも、位置推定誤差を低減することが可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。