JP2021012052A - 座標データ回転演算装置及び座標データ回転演算方法 - Google Patents
座標データ回転演算装置及び座標データ回転演算方法 Download PDFInfo
- Publication number
- JP2021012052A JP2021012052A JP2019125097A JP2019125097A JP2021012052A JP 2021012052 A JP2021012052 A JP 2021012052A JP 2019125097 A JP2019125097 A JP 2019125097A JP 2019125097 A JP2019125097 A JP 2019125097A JP 2021012052 A JP2021012052 A JP 2021012052A
- Authority
- JP
- Japan
- Prior art keywords
- coordinate data
- rotation
- harmonic
- fundamental wave
- selector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Transmission And Conversion Of Sensor Element Output (AREA)
- Optical Transform (AREA)
Abstract
【課題】基本波のベクトルの偏角を演算することができる座標データ回転演算装置を提供することを課題とする。【解決手段】座標データ回転演算装置は、基本波座標データ又は基本波回転座標データを選択する基本波セレクタ(311)と、高調波座標データ又は高調波回転座標データを選択する高調波セレクタ(312)と、基本波セレクタ及び高調波セレクタにより選択された座標データを基に回転方向を決定する回転方向決定部(302)と、決定された回転方向に、基本波セレクタにより選択された座標データを回転させ基本波回転座標データを出力する基本波回転演算部(303)と、決定された回転方向に、高調波セレクタにより選択された座標データを回転させ高調波回転座標データを出力する高調波回転演算部(304)と、決定された回転方向を基に、基本波回転演算部により回転された回転角を累積加算する回転角累積加算部(305)とを有する。【選択図】図4
Description
本発明は、座標データ回転演算装置及び座標データ回転演算方法に関する。
モータ等の回転体の角度、位置、移動量等を検出するために、光学式のロータリエンコーダが利用されている。この種のロータリエンコーダは、物理的なパターンを刻んだ回転信号板の一方の側から発光ダイオード等の発光素子で均一光を照射する。そして、フォトダイオード又はフォトトランジスタ等の受光素子により、信号パターンを透過した後の透過光、又は信号板からの反射光を受光し検知することにより電気信号パターンを形成する。そして、その電気信号パターンに基づいてエンコーダ出力信号を生成する。
エンコーダには、機能的区分けとして、インクリメンタル方式とアブソリュート方式が知られている。インクリメンタル方式のエンコーダでは、内挿処理(電気分割)により高精度な位置検出を実現する技術が知られている。これは、エンコーダ信号の振幅及びオフセットの値が揃っており、互いの位相が90°異なる2相のアナログ正弦波と余弦波信号が出力されていることを前提条件としている。そのため、その前提条件に近づけるように、エンコーダからの出力信号を補正した後、内挿処理を行う場合もある。
具体的な内挿処理の方法として、特許文献1に開示されるような逆正接(arctan)演算による方法が知られている。この逆正接演算の別の方法として、CORDIC(COordinate Rotation DIgital Computer)と呼ばれる座標データ回転演算処理装置が非特許文献1に開示されている。CORDICは、入力信号を2次元座標データとして扱い、この2次元座標データの座標回転を、ビットシフトと加減算という単純な演算の繰り返しのみで逆正接演算を実現することが可能である。非特許文献1には、CORDICの基本形が示されている。ただし、実際のエンコーダ出力信号は、高調波成分が含まれており、理想的な正弦波信号ではない。そのため、エンコーダが出力する2相アナログ信号間の、振幅、オフセット及び位相を調整し補正しても、補正後の信号は厳密な正弦波・余弦波信号とはならず、その結果、内挿処理を行う際に検出誤差が発生する。
そこで、特許文献2では、このような検出誤差を補正するため、エンコーダの検出変位量(検出角度)を微分した値、つまり、変位速度が一定となるような補正値を生成し、その補正値を検出位置毎に持つことによって、検出位置を補正する方法が開示されている。また、特許文献3では、検出誤差の推移が周期的であるため、その検出誤差量を正弦波に近似することによって、検出誤差量を逐次演算し、検出位置を補正する方法が開示されている。
J. E. Volder. "The CORDIC trigonometric computing technique",IRE Transaction Electronic Computers,EC−8:330−334,1959.
しかし、例えば、特許文献2では、検出位置の分解能分だけ補正値が必要となるため、検出位置の高分解能化にともなって補正値を格納するメモリ領域が膨大になる課題がある。また、特許文献3では、補正値を演算するための演算時間が必要になる。それに加え、たとえ検出誤差が理想的な正弦波に近似できた場合であっても、検出誤差を演算するために用いている位置情報(参照位置)が、誤差を含む検出位置となってしまうために、原理的に検出誤差の演算精度が低い課題がある。
本発明の目的は、補正値演算や補正値演算用のメモリを必要とせず、基本波及び高調波を含む2次元座標データから基本波のベクトルの偏角を演算することができる座標データ回転演算装置及び座標データ回転演算方法を提供することである。
本発明の座標データ回転演算装置は、基本波及び高調波を含む2次元座標データを入力し、前記2次元座標データの基本波のベクトルの偏角を演算する座標データ回転演算装置であって、第1回目では前記2次元座標データのうちの基本波の座標データを選択し、第2回目以降では基本波回転座標データを選択する基本波セレクタと、第1回目では前記2次元座標データのうちの高調波の座標データを選択し、第2回目以降では高調波回転座標データを選択する高調波セレクタと、前記基本波セレクタにより選択された座標データ及び前記高調波セレクタにより選択された座標データを基に回転方向を決定する回転方向決定部と、前記回転方向決定部により決定された回転方向に、前記基本波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波回転演算部と、前記回転方向決定部により決定された回転方向に、前記高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記高調波回転座標データとして前記高調波セレクタに出力する高調波回転演算部と、前記回転方向決定部により決定された回転方向を基に、前記基本波回転演算部により回転された回転角を累積加算することにより、前記2次元座標データの基本波のベクトルの偏角に収束させる回転角累積加算部とを有する。
本発明によれば、補正値演算や補正値演算用のメモリを必要とせず、基本波及び高調波を含む2次元座標データから基本波のベクトルの偏角を演算することができる。
(第1の実施形態)
図1は、本発明の第1の実施形態によるモータに取り付けられた光学式エンコーダが出力する2相のA相信号及びB相信号を表す図である。A相信号及びB相信号は、相互に位相が90°異なる余弦波と正弦波である。例えば、モータは、正弦波信号をパルスとしてカウントすることにより、モータの回転位置を正弦波の周期単位で計測することができる。また、モータは、正弦波と余弦波の位相を検出することによって、何周期目の何度位相の位置かを知ることができる。モータ回転位置の検出精度は、位相検出の精度によって決まるため、位相検出を正確に行う必要がある。しかし、実際のエンコーダの出力信号には、高調波が重畳しているため、理想的な正弦波と余弦波ではない。ただし、出力信号が生成されるメカニズム上、出力信号波形はほぼ対称波形とみなせる。出力信号波形が対称波形である場合、重畳する高調波は奇数次高調波に限られる。また、次数が高次になると、出力信号のパワーは急激に小さくなる。よって、まず望まれるのは、3次高調波を考慮した位相検出であり、その次に5次高調波まで考慮した位相検出である。それらについて、以下に説明する。
図1は、本発明の第1の実施形態によるモータに取り付けられた光学式エンコーダが出力する2相のA相信号及びB相信号を表す図である。A相信号及びB相信号は、相互に位相が90°異なる余弦波と正弦波である。例えば、モータは、正弦波信号をパルスとしてカウントすることにより、モータの回転位置を正弦波の周期単位で計測することができる。また、モータは、正弦波と余弦波の位相を検出することによって、何周期目の何度位相の位置かを知ることができる。モータ回転位置の検出精度は、位相検出の精度によって決まるため、位相検出を正確に行う必要がある。しかし、実際のエンコーダの出力信号には、高調波が重畳しているため、理想的な正弦波と余弦波ではない。ただし、出力信号が生成されるメカニズム上、出力信号波形はほぼ対称波形とみなせる。出力信号波形が対称波形である場合、重畳する高調波は奇数次高調波に限られる。また、次数が高次になると、出力信号のパワーは急激に小さくなる。よって、まず望まれるのは、3次高調波を考慮した位相検出であり、その次に5次高調波まで考慮した位相検出である。それらについて、以下に説明する。
図2は、CORDICのベクタモードの動作を説明するための図である。CORDICは、座標データ回転演算装置である。CORDICは、ベクタモードで、入力2次元ベクトルデータ(X,Y)の偏角を、CORDIC回転演算を利用して演算する。CORDICは、2次元ベクトルデータ(X,Y)を、予め決められた回転角シーケンスθi=tan-1(2-i)でx軸の方へ逐次回転し、最終的に回転後のベクトルをx軸にほぼ一致させ、その累積回転角θnを偏角とする。ここで、i=0,1,2,・・・である。累積回転角θnは、回転角シーケンスθiを、各回転毎に決定される回転方向を加味して累積加算した値、すなわち、θn=Σsign(Yi)・θiにて計算される。ここで、sign(Yi)は、θi回転する時の2次元ベクトルデータのy軸成分の正負符号を±1で表したものであり、+1なら右方向、−1なら左方向に回転する。
図3は、基準ベクトルを回転してベクタモード機能を実現する説明図である。CORDICは、上記のベクタモードとは異なり、x軸上の基準ベクトル(1,0)をCORDIC回転演算で2次元ベクトルデータ(X,Y)の方へ回転して向きを一致させた時の回転角として偏角を求めることも原理上は可能である。すなわち、その基準ベクトル(1,0)を左θ回転した後の座標は(cosθ,sinθ)となり、次の回転方向を判定する判別式は、次式(1)のようになる。
Y/X≧sinθ/cosθ ・・・(1)
Y/X≧sinθ/cosθ ・・・(1)
次の回転方向は、判別式(1)が真なら左方向へ、偽なら右方向となる。しかし、一般的に、CORDICによる偏角の計算で、このような式を用いることは有り得ないし、目にすることもない。何故なら、判別式(1)では除算が必要であり、判別式(1)の分母を移項したとしても乗算が残ってしまい、CORDICの特徴である単純な演算、すなわち、ビットシフト演算と加減演算に置き換えられないからである。
しかし、本発明の実施形態では、判別式(1)は極めて重要である。本実施形態のCORDICの特徴は、この判別式(1)を高調波が重畳した信号へ拡張して、それをベクタモード用の判別式に変形したものを用いる点にあるからである。判別式(1)を高調波が重畳した信号へ拡張する前に、まず、判別式(1)をベクタモード用の判別式に変形すると、次式(2)のようになる。
−Xsinθ+Ycosθ≧0 ・・・(2)
−Xsinθ+Ycosθ≧0 ・・・(2)
判定式(2)は、図2のように、ベクトル(X,Y)を右方向へθ回転した時のy軸成分が0以上であるかどうか、すなわち、回転したベクトルがx軸を超えたかどうかを判定する式と解釈できる。この判別式(2)は、CORDICのベクタモードにおける判別式そのものである。
ちなみに、判別式(1)では基準ベクトル(1,0)を回転するのに対し、判別式(2)では入力2次元ベクトル(X,Y)を回転するため、同じ判別結果で、回転する方向は逆になる。このように、基準ベクトル回転用の判別式(1)からベクタモード用の判別式(2)が得られることが分かる。
ここで、判別式(1)を3次高調波が重畳した信号へ拡張する。基本波と3次高調波の振幅値のそれぞれをα、βの既知とすると、基本波に3次高調波が重畳する時の判別式は、次式(3)のようになる。
Y/X≧(αsinθ+βsin3θ)/(αcosθ−βcos3θ) ・・・(3)
Y/X≧(αsinθ+βsin3θ)/(αcosθ−βcos3θ) ・・・(3)
判別式(3)の両辺の分子は、3次高調波が重畳した信号の正弦波位相成分に対応し、両方の分母は、3次高調波が重畳した信号の余弦波位相成分に対応する。そして、式(3)の両辺が等しい時のθが求める偏角θnである。右辺の分母のβの前の−符号は、基本波における余弦波の90度位相差が3次高調波では270度位相差、すなわち−90度位相差になるためである。このことから、3次高調波の見かけ上の回転方向は基本波とは逆方向になる。
判別式(3)による回転方向の判定は、次のようになる。判別式(3)が真の場合は、まだ回転が足りないため、基本波基準ベクトル(α,0)と3次高調波基準ベクトル(β,0)の各々を更に初期方向へ回転させる。また、判別式(3)が偽の場合は、回転しすぎのため、基本波基準ベクトル(α,0)と3次高調波基準ベクトル(β,0)の各々を逆方向へ回転させる。また、基本波基準ベクトル(α,0)を回転角シーケンスθiで回転させる時、3次高調波基準ベクトル(β,0)をその3倍の3θiで回転させる。これは判別式(3)に基づく仮想的な処理であり、実際には次のような処理を行う。
判別式(1)をベクタモード用の判別式(2)へ変形したように、判別式(3)をベクタモード用の判別式に変形すると、次式(4)のようになる。
Y(αcosθ−βcos3θ)≧X(αsinθ+βsin3θ)
αYcosθ−βYcos3θ≧αXsinθ+βXsin3θ
(−αXsinθ+αYcosθ)−(βXsin3θ+βYcos3θ)≧0 ・・・(4)
Y(αcosθ−βcos3θ)≧X(αsinθ+βsin3θ)
αYcosθ−βYcos3θ≧αXsinθ+βXsin3θ
(−αXsinθ+αYcosθ)−(βXsin3θ+βYcos3θ)≧0 ・・・(4)
判別式(4)の左辺における左側の第1括弧内の式は、入力2次元ベクトルデータの基本波成分の右θ回転に対応し、第2括弧内の式は、3次高調波成分の左3θ回転に対応する。入力2次元ベクトル(X,Y)の各要素には、基本波成分と3次高調波成分が混在するため、判別式(4)の左辺の第1括弧内には3次高調波成分、第2括弧内には基本波成分が混在することになる。これらの混在成分は各々が不要な成分であるが、回転の最終段階すなわち入力2次元ベクトルを回転した先がx軸と合致した時、相殺されてゼロになるため無視することができる。該混在成分が相殺されることは計算で確認することができるが、その計算を示すことは省略する。何故なら、判別式(4)が別の判別式を変形して得られたことが、その不要な成分が相殺されることを保証していると言えるからである。
ちなみに、判別式(4)による回転方向の制御は、次のようになる。CORDICは、判別式(4)が真の場合は、まだ回転が足りないため、基本波座標(αX,αY)と3次高調波座標(βX,βY)を更に初期方向へ回転させる。また、CORDICは、判別式(4)が偽の場合は、基本波座標(αX,αY)と3次高調波座標(βX,βY)を逆方向へ回転させる。これまでの説明は、判別式(4)に基づく、CORDICの原理を説明した。
図4(A)は、本実施形態によるCORDICの構成例を示すブロック図であり、上記のCORDICの原理を実現する。CORDICは、座標データ回転演算装置であり、座標変換生成部301、回転方向判別部302、基本波用CORDIC回転演算部303、3次高調波用CORDIC回転演算部304、回転角累積演算部305、及びセレクタ311,312を有する。座標変換生成部301は、入力2次元座標データ(X,Y)と基本波振幅αと3次高調波振幅βを入力し、基本回転を適用する基本波座標データ(αX,αY)と3倍回転を適用する3次高調波座標データ(βX,βY)を生成する。基本波用CORDIC回転演算部303は、基本波回転演算部であり、基本波座標データを基本回転させる。3次高調波用CORDIC回転演算部304は、3次高調波回転演算部であり、3次高調波座標データを3倍回転させる。回転方向判別部302は、2つのCORDIC回転演算部303及び304の入力データを参照し、判別式(4)に基づいて、その入力データの回転方向を決定する。回転角累積演算部305は、回転角累積加算部であり、基本波用CORDIC回転演算部303における回転角を累積加算する。
次に、CORDICの座標データ回転演算方法を説明する。座標変換生成部301は、入力された2次元座標データ(X,Y)に、事前に計測した基本波振幅値αを乗算し、基本波初期座標データ(αX,αY)をセレクタ311に出力する。また、座標変換生成部301は、入力された2次元座標データ(X,Y)に、事前に計測した3次高調波振幅値βを乗算し、3次高調波初期座標データ(βX,βY)をセレクタ312に出力する。セレクタ311は、基本波セレクタであり、第1回目(i=0)では、基本波初期座標データ(αX,αY)を選択して基本波用CORDIC回転演算部303に出力する。セレクタ312は、3次高調波セレクタであり、第1回目(i=0)では、3次高調波初期座標データ(βX,βY)を選択して3次高調波用CORDIC回転演算部304に出力する。また、セレクタ311は、第2回目以降(i=1以降)では、基本波用CORDIC回転演算部303が出力する基本波回転演算データを選択して基本波用CORDIC回転演算部303に出力する。セレクタ312は、第2回目以降(i=1以降)では、3次高調波用CORDIC回転演算部304が出力する3次高調波回転座標データを選択して3次高調波用CORDIC回転演算部304に出力する。
回転方向判別部302は、回転方向決定部であり、セレクタ311及び312により選択された座標データを基に、判別式(4)を用いて、CORDIC回転演算部303及び304の回転方向を決定する。基本波用CORDIC回転演算部303は、回転方向判別部302により決定された回転方向に、セレクタ311が出力する座標データに対して、回転角シーケンスθiの回転を行い、基本波回転座標データをセレクタ311に出力する。具体的には、基本波用CORDIC回転演算部303は、第iサイクル(iは0以上の整数)では、tan-1(2-i)の回転角の回転を行う。3次高調波用CORDIC回転演算部304は、回転方向判別部302により決定された回転方向に、セレクタ312が出力する座標データに対して、回転角シーケンスθiの3倍の3θiの回転を行い、3次高調波回転座標データをセレクタ312に出力する。具体的には、3次高調波用CORDIC回転演算部304は、第iサイクルでは、3×tan-1(2-i)の回転角の回転を行う。すなわち、3次高調波用CORDIC回転演算部304は、基本波用CORDIC回転演算部303の回転角に対して高調波の次数倍(3倍)の回転角の回転を行う。
CORDIC回転演算部303及び304が回転演算を繰り返すと、CORDIC回転演算部303及び304が出力する回転座標データはやがてほぼx軸に合致する。回転座標データとx軸との残差は、回転演算の繰り返し回数と演算ビット数に依存し、回数演算の繰り返し回数と演算ビット数が多い程、残差は小さい。回転角累積演算部305は、回転方向判別部302により決定された回転方向を基に、CORDIC回転演算部303により回転された回転角を累積加算することにより、2次元座標データの基本波のベクトルの偏角θnに収束させる。以上のように、CORDICは、基本波及び3次高調波を含む2次元座標データを入力し、2次元座標データの基本波のベクトルの偏角θnを演算する。
次に、回転方向判別部302の回転方向の判別について説明する。CORDIC回転演算部303及び304が回転角シーケンスθiの最初のCORDIC回転演算を行う直前、回転方向判別部302は、座標変換生成部301が生成した2つのy軸成分データαYとβYを入力し、その差分αY−βYを計算する。そして、回転方向判別部302は、の差分αY−βYが0以上か否かによって、最初の回転方向を決定する。CORDIC回転演算部303及び304は、回転方向判別部302が決定した回転方向に対して、それぞれ、θi(i=0)及び3θi(i=0)の回転を行い、回転座標データを出力する。セレクタ311及び312は、それぞれ、CORDIC回転演算部303及び304が生成した回転座標データを選択して、CORDIC回転演算部303及び304に出力する。次に、CORDIC回転演算部303及び304は、2回目の回転を行う。回転方向判別部302は、次式(5)により計算されるy軸成分の差分が0以上か否かにより、2回目の回転方向を決定する。
式(5)の左辺の2つの回転演算は、各々がCORDIC回転演算部303及び304により行われる。右辺に示す2つの回転演算結果のy軸成分の差分は、判別式(4)の左辺と同じである。図4(A)に示すCORDICの構成は、判別式(4)に対応したものであることが、これによって明確になった。
回転方向判別部302は、3回目以降の回転演算の回転方向については、式(5)におけるθiを累積した回転角に置き換えたものとし、同様に、判別式(4)に基づいて、回転方向を決定する。
次に、基本波と3次高調波の正弦波と余弦波の振幅が違う場合の判別式について説明する。基本波の正弦波と余弦波の振幅をαとα’とし、3次高調波の正弦波と余弦波の振幅をβとβ’とすると、判別式(3)及び(4)は次式(6)及び(7)のようになる。
Y/X≧(αsinθ+βsin3θ)/(α’cosθ−β’cos3θ) ・・・(6)
(−αXsinθ+α’Ycosθ)−(βXsin3θ+β’Ycos3θ)≧0 ・・・(7)
Y/X≧(αsinθ+βsin3θ)/(α’cosθ−β’cos3θ) ・・・(6)
(−αXsinθ+α’Ycosθ)−(βXsin3θ+β’Ycos3θ)≧0 ・・・(7)
座標変換生成部301は、1次元のαとβを入力する代わりに、2次元の(α,α’)と(β,β’)を入力し、2次元座標(αX,α’Y)及び(βX,β’Y)を出力する。これ以降の処理は、上記と同じである。よって、座標変換生成部301を上記のように変更するだけで、基本波と3次高調波の正弦波と余弦波の振幅が異なる場合へも容易に適用できることが分かる。
図4(B)は、本実施形態によるCORDICの他の構成例を示す図であり、図4(A)に対して、スケーリング補正部321を追加したものである。CORDIC回転演算部303及び304は、簡易なビットシフトと加減算のみで座標回転を行うため、回転後のベクトルの絶対値が若干変化してしまう。基本波と3次高調波では回転角が異なるため、両者のベクトルの絶対値の変化率が異なり、両者の回転後の座標データを単純に加算することができなくなってしまう。そのため、両方もしくはどちらかの絶対値を補正して絶対値の変化率を揃える必要がある。
図4(A)のCORDICでは、基本波をθi回転した後に(1+2-2i)を乗算すると、基本波と3次高調波の絶対値の変化率を揃えることができる。この演算は、ビットシフトと加算のみで演算できる。これは1つの方法であり、他の方法でもよい。このようなベクトルの絶対値を補正する演算をスケーリング補正と呼ぶ。図4(B)では、スケーリング補正部321は、CORDIC回転演算部303が出力する基本波回転座標データとCORDIC回転演算部304が出力する3次高調波回転座標データの各々のベクトルの絶対値の変化率を揃えるためのスケーリング補正を行う。スケーリング補正部321は、基本波スケーリング補正部であり、ビットシフト及び加算によるスケーリング補正を行う。スケーリング補正部321は、第iサイクルでは、CORDIC回転演算部303が出力する回転座標データに対して(1+2-2i)を乗算し、その乗算結果を基本波回転座標データとしてセレクタ311に出力する。セレクタ311は、i=1以降では、スケーリング補正部321の出力データを選択してCORDIC回転演算部303に出力する。
ところで、高調波が重畳していない基本波のみを回転するCORDICの場合、スケーリング補正部321のスケーリング補正を回転演算毎に行う必要がなく、全回転演算の前又は後にまとめて1回だけスケーリング補正を行えばよい。そのため、CORDICの演算の前又は後で行う他の演算と一緒に行うことが多い。この場合、図4(A)のように、スケーリング補正部321は明示的に示されない。よって、本発明の基本概念を表現するCORDICは、スケーリング補正部321を省略した図4(A)で表される。これに対して、実際の処理に即したCORDICは、スケーリング補正部321を含む図4(B)で表される。
(第2の実施形態)
第1の実施形態では、重畳する高調波が3次高調波のみであったが、実際の機器では5次以上の高調波も重畳している。ただし、高調波のパワーは、高次になる程、急激に減衰するため、5次以上の高調波を無視できる場合もある。逆に、高精度な測定を要求される場合は、その精度に応じて、より高次の高調波も無視することなく、処理する必要がある。そこで、本発明の第2の実施形態では、より高次の高調波として5次の高調波まで処理する場合について説明する。
第1の実施形態では、重畳する高調波が3次高調波のみであったが、実際の機器では5次以上の高調波も重畳している。ただし、高調波のパワーは、高次になる程、急激に減衰するため、5次以上の高調波を無視できる場合もある。逆に、高精度な測定を要求される場合は、その精度に応じて、より高次の高調波も無視することなく、処理する必要がある。そこで、本発明の第2の実施形態では、より高次の高調波として5次の高調波まで処理する場合について説明する。
まず、上記の判別式(3)を5次高調波を含めた式に拡張する。5次高調波の振幅をγとした時、判別式は、次式(8)のようになる。
Y/X≧(αsinθ+βsin3θ+γsin5θ)/(αcosθ−βcos3θ+γcos5θ) ・・・(8)
Y/X≧(αsinθ+βsin3θ+γsin5θ)/(αcosθ−βcos3θ+γcos5θ) ・・・(8)
基本波における90度位相差は、5次高調波で450度位相差となり、90度位相差と同じになるため、右辺の分母のγの前の符号は+になる。そして、5次高調波の回転方向は、基本波とは同じ方向になる。
次に、判別式(8)をベクタモード用の判別式に変形すると、次式(9)のようになる。
Y(αcosθ−βcos3θ+γcos5θ)≧X(αsinθ+βsin3θ+γsin5θ)
αYcosθ−βYcos3θ+γYcos5θ≧αXsinθ+βXsin3θ+γXsin5θ
(−αXsinθ+αYcosθ)−(βXsin3θ+βYcos3θ)+(−γXsin5θ+γYcos5θ)≧0 ・・・(9)
Y(αcosθ−βcos3θ+γcos5θ)≧X(αsinθ+βsin3θ+γsin5θ)
αYcosθ−βYcos3θ+γYcos5θ≧αXsinθ+βXsin3θ+γXsin5θ
(−αXsinθ+αYcosθ)−(βXsin3θ+βYcos3θ)+(−γXsin5θ+γYcos5θ)≧0 ・・・(9)
判別式(9)の左辺の第3括弧の式は、5次高調波成分を右5θ回転する新たな項である。第1括弧ないし第3括弧の各々に不要な成分であるが、入力2次元ベクトルを回転した先がx軸と合致した時、相殺されてゼロになる。
図5(A)は、本発明の第2の実施形態によるCORDICの構成例を示す図である。図5(A)は、図4(A)に対して、セレクタ413及び5次高調波CORDIC回転演算部405を追加し、座標変換生成部301及び回転方向判別部302の代わりに、座標変換生成部401及び回転方向判別部402を設けたものである。5次高調波CORDIC回転演算部405は、5次高調波回転演算部である。本実施形態のCORDICは、判別式(9)に基づく処理を行う。以下、本実施形態が第1の実施形態と異なる点を説明する。座標変換生成部401は、入力2次元座標データ(X,Y)と基本波振幅αと3次高調波振幅βと5次高調波振幅γを入力し、基本波初期座標データ(αX,αY)と3次高調波初期座標データ(βX,βY)と5次高調波初期座標データ(γX,γY)を出力する。具体的には、座標変換生成部401は、2次元座標データ(X,Y)に基本波振幅αを乗算し、基本波初期座標データ(αX,αY)をセレクタ311に出力する。また、座標変換生成部401は、2次元座標データ(X,Y)に3次高調波振幅βを乗算し、3次高調波初期座標データ(βX,βY)をセレクタ312に出力する。また、座標変換生成部401は、2次元座標データ(X,Y)に5次高調波振幅γを乗算し、5次高調波初期座標データ(γX,γY)をセレクタ413に出力する。セレクタ413は、5次高調波セレクタであり、第1回目(i=0)では、座標変換生成部401が出力する5次高調波初期座標データ(γX,γY)を選択してCORDIC回転演算部405に出力する。また、セレクタ413は、第2回目以降(i=1以降)では、CORDIC回転演算部405が出力する5次高調波用回転データを選択してCORDIC回転演算部405に出力する。回転方向判別部402は、回転方向決定部であり、セレクタ311、312及び413により選択された座標データを基に、判別式(9)を用いて、回転方向を決定する。CORDIC回転演算部405は、回転方向判別部402により決定された回転方向に、セレクタ413により選択された座標データに対して、回転角シーケンスθiの5倍の5θiの回転を行い、5次高調波回転座標データをセレクタ413に出力する。すなわち、CORDIC回転演算部405は、第iサイクルでは、5×tan-1(2-i)の回転角の回転を行う。なお、より高次の高調波へ対応して精度を向上させる場合には、7次高調波用、9次高調波用のCORDIC回転演算部を追加すればよい。
図5(B)は、本実施形態によるCORDICの他の構成例を示す図であり、図5(A)に対してスケーリング補正部421及び422を追加したものである。スケーリング補正部421及び422は、図4(B)と同様に、複数のCORDIC回転演算部303,304,405の入出力絶対値の変化率を揃えるために、1つを基準に定め、他の2つの出力にスケーリング補正を行う。その一例として、スケーリング補正部421は、基本波スケーリング補正部である。スケーリング補正部421は、基本波用CORDIC回転演算部303の出力データに対してスケーリング補正を行い、スケーリング補正部422は、3次高調波用CORDIC回転演算部304の出力データに対してスケーリング補正を行う。
具体的には、スケーリング補正部421は、第iサイクルでは、基本波用CORDIC回転演算部303の出力データに対して、(1+2-2i)×(1+2-2i)を乗算し、その乗算結果を基本波回転座標データとしてセレクタ311に出力する。スケーリング補正部422は、3次高調波スケーリング補正部であり、第iサイクルでは、3次高調波用CORDIC回転演算部304の出力データに対して、(1+2-2i)を乗算し、その乗算結
果を3次高調波回転座標データとしてセレクタ312に出力する。スケーリング補正部422はビットシフトと加算からなる演算を1回行い、スケーリング補正部421はビットシフトと加算からなる演算を2回行う。セレクタ311は、i=1以降では、スケーリング補正部421の出力データを選択してCORDIC回転演算部303に出力する。セレクタ312は、i=1以降では、スケーリング補正部422の出力データを選択してCORDIC回転演算部304に出力する。
果を3次高調波回転座標データとしてセレクタ312に出力する。スケーリング補正部422はビットシフトと加算からなる演算を1回行い、スケーリング補正部421はビットシフトと加算からなる演算を2回行う。セレクタ311は、i=1以降では、スケーリング補正部421の出力データを選択してCORDIC回転演算部303に出力する。セレクタ312は、i=1以降では、スケーリング補正部422の出力データを選択してCORDIC回転演算部304に出力する。
(第3の実施形態)
第1及び第2の実施形態では、重畳する高調波と基本波との初期位相差が無く、高調波と基本波の初期位相が同相の場合について説明した。実際の波形には、モータの構造的な要因により高調波毎に基本波への位相差が発生する。3次高調波の基本波に対する初期位相がφの時、前記判別式(3)は次式(10)及び(11)のようになる。
Y/X≧(αsinθ+βsin(3θ+φ))/(αcosθ−βcos(3θ+φ)) ・・・(10)
(−αXsinθ+αYcosθ)−(βXsin(3θ+φ)+βYcos(3θ+φ))≧0 ・・・(11)
第1及び第2の実施形態では、重畳する高調波と基本波との初期位相差が無く、高調波と基本波の初期位相が同相の場合について説明した。実際の波形には、モータの構造的な要因により高調波毎に基本波への位相差が発生する。3次高調波の基本波に対する初期位相がφの時、前記判別式(3)は次式(10)及び(11)のようになる。
Y/X≧(αsinθ+βsin(3θ+φ))/(αcosθ−βcos(3θ+φ)) ・・・(10)
(−αXsinθ+αYcosθ)−(βXsin(3θ+φ)+βYcos(3θ+φ))≧0 ・・・(11)
この位相φは観測した波形を解析処理することによって収集することができ、モータの構造が変わらなければ変動するものではないため、基本的には一度収集すればよい。収集した位相φは、CORDIC演算処理において、初期位相シフト処理として実現する必要がある。そこで、図6(A)に示すように、3次高調波用CORDIC回転演算部304の前段のセレクタ312に入力する初期座標(βX,βY)を、位相φだけ回転するための3次高調波座標回転部601を設ける。該3次高調波座標回転部601は、入力される座標(βX,βY)を回転して、(βXcosφ−βYsinφ,βXsinφ+βYcosφ)を出力する。3次高調波として処理される信号は、該座標回転部601にて位相φの回転を受けた後、3次高調波用CORDIC回転演算部304にて3θの回転を受けるため、トータルで3θ+φの回転を受ける。よって上記判別式(11)に対応した判別が行われる。
さらに、5次高調波が重畳し基本波に対する初期位相がψの時、前記判別式(9)は次式(12)のようになる。
(−αXsinθ+αYcosθ)−(βXsin(3θ+φ)+βYcos(3θ+φ))+(−γXsin(5θ+ψ)+γYcos(5θ+ψ))≧0 ・・・(12)
(−αXsinθ+αYcosθ)−(βXsin(3θ+φ)+βYcos(3θ+φ))+(−γXsin(5θ+ψ)+γYcos(5θ+ψ))≧0 ・・・(12)
上記判別が可能な構成は、図5(B)の構成に、前記3次高調波の初期座標を回転する3次高調波座標回転部601と5次高調波の初期座標を回転する5次高調波座標回転部701を、対応するセレクタの前段に設けた図6(B)に示す構成になる。3次高調波座標回転部601は図6(A)における601と同じ動作であり、5次高調波座標回転部701は、入力される座標(γX,γY)を回転して、(γXcosψ+γYsinψ,−γXsinψ+γYcosψ)を出力する。3次高調波と同様に、5次高調波として処理される信号は、該座標回転部701にて位相ψの回転を受けた後、5次高調波用CORDIC回転演算部405にて5θの回転を受けるため、トータルで5θ+ψの回転を受ける。よって上記判別式(12)に対応した判別が可能となる。
なお、位相φ及び位相ψは、高調波と基本波との初期位相差であり、工場出荷時において、観測したモータの波形に対して周波数変換を行い、予め取得することが望ましい。取得された位相φは、事前設定パラメータとして、3次高調波用CORDIC回転演算部304に記憶される。同様に、取得された位相ψは、事前設定パラメータとして、5次高調波用CORDIC回転演算部405に記憶される。位相φ及び位相ψは、モータの個体差によって変動するため、製品ごとに、周波数変換を行い、取得してもよい。一方で、モータの個体差による変動が小さい場合は、代表的なモータの位相φ及び位相ψを取得し、他の製品に流用しても良い。
また、位相φ及び位相ψは、単位時間あたりのモータの回転数によって、動的に変動することがある。予め、所定の回転数ごとに、位相φ及び位相ψを取得しておき、所定の回転数ごとの位相φ及び位相ψを、3次高調波用CORDIC回転演算部304及び5次高調波用CORDIC回転演算部405に記憶しておいてもよい。
また、位相φ及び位相ψは、前述の通り、基本的には一度収集すればよいが、経年劣化などにより変動することもある。その場合は、キャリブレーションとして、製品稼働後に、工場出荷時と同様に、改めて観測したモータの波形に対して周波数変換を行い、位相φ及び位相ψを取得してもよい。
第1、第2及び第3の実施形態によれば、高調波が重畳した正弦波・余弦波の瞬時値から、その瞬時における基本波の回転角の位相を高精度で検出することができ、高調波歪み補正用の補正値演算や補正値メモリが不要になる。また、第1及び第2の実施形態は、補正値演算が必要でないため、低遅延で位相を検出でき、モータの回転位置を高速に検出でき、モータ等の位置制御がし易くなる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
301,401 座標変換生成部、302,402 回転方向判別部、303 基本波用CORDIC回転演算部、304 3次高調波用CORDIC回転演算部、405 5次高調波用CORDIC回転演算部、305 回転角累積演算部、311,312,413 セレクタ、321,421,422 スケーリング補正部、601,701 高調波座標回転部
Claims (15)
- 基本波及び高調波を含む2次元座標データを入力し、前記2次元座標データの基本波のベクトルの偏角を演算する座標データ回転演算装置であって、
第1回目では前記2次元座標データのうちの基本波の座標データを選択し、第2回目以降では基本波回転座標データを選択する基本波セレクタと、
第1回目では前記2次元座標データのうちの高調波の座標データを選択し、第2回目以降では高調波回転座標データを選択する高調波セレクタと、
前記基本波セレクタにより選択された座標データ及び前記高調波セレクタにより選択された座標データを基に回転方向を決定する回転方向決定部と、
前記回転方向決定部により決定された回転方向に、前記基本波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波回転演算部と、
前記回転方向決定部により決定された回転方向に、前記高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記高調波回転座標データとして前記高調波セレクタに出力する高調波回転演算部と、
前記回転方向決定部により決定された回転方向を基に、前記基本波回転演算部により回転された回転角を累積加算することにより、前記2次元座標データの基本波のベクトルの偏角に収束させる回転角累積加算部と
を有することを特徴とする座標データ回転演算装置。 - さらに、前記基本波セレクタに入力される前記基本波回転座標データと前記高調波セレクタに入力される前記高調波回転座標データとのベクトルの絶対値の変化率を揃えるためのスケーリング補正を行うスケーリング補正部を有することを特徴とする請求項1記載の座標データ回転演算装置。
- さらに、2次元座標データと基本波振幅と高調波振幅を入力し、前記2次元座標データに前記基本波振幅を乗算し、前記基本波の座標データを前記基本波セレクタに出力し、前記2次元座標データに前記高調波振幅を乗算し、前記高調波の座標データを前記高調波セレクタに出力する座標変換生成部を有することを特徴とする請求項1又は2記載の座標データ回転演算装置。
- 前記基本波回転演算部は、第iサイクル(iは0以上の整数)では、tan-1(2-i)の回転角の回転を行い、
前記高調波回転演算部は、前記基本波回転演算部の回転角に対して前記高調波の次数倍の回転角の回転を行うことを特徴とする請求項1〜3のいずれか1項に記載の座標データ回転演算装置。 - 前記高調波セレクタは、第1回目では前記2次元座標データのうちの3次高調波の座標データを選択し、第2回目以降では3次高調波回転座標データを選択する3次高調波セレクタを有し、
前記回転方向決定部は、前記基本波セレクタにより選択された座標データ及び前記3次高調波セレクタにより選択された座標データを基に回転方向を決定し、
前記高調波回転演算部は、前記回転方向決定部により決定された回転方向に、前記3次高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記3次高調波回転座標データとして前記3次高調波セレクタに出力する3次高調波回転演算部を有することを特徴とする請求項1記載の座標データ回転演算装置。 - 前記基本波回転演算部は、第iサイクル(iは0以上の整数)では、tan-1(2-i)の回転角の回転を行い、
前記3次高調波回転演算部は、第iサイクルでは、3×tan-1(2-i)の回転角の回転を行うことを特徴とする請求項5記載の座標データ回転演算装置。 - さらに、第iサイクルでは、前記基本波回転演算部により回転された座標データに対して(1+2-2i)を乗算して座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波スケーリング補正部を有することを特徴とする請求項6記載の座標データ回転演算装置。
- さらに、2次元座標データと基本波振幅と3次高調波振幅を入力し、前記2次元座標データに前記基本波振幅を乗算し、前記基本波の座標データを前記基本波セレクタに出力し、前記2次元座標データに前記3次高調波振幅を乗算し、前記3次高調波の座標データを前記3次高調波セレクタに出力する座標変換生成部を有することを特徴とする請求項5〜7のいずれか1項に記載の座標データ回転演算装置。
- 前記高調波セレクタは、
第1回目では前記2次元座標データのうちの3次高調波の座標データを選択し、第2回目以降では3次高調波回転座標データを選択する3次高調波セレクタと、
第1回目では前記2次元座標データのうちの5次高調波の座標データを選択し、第2回目以降では5次高調波回転座標データを選択する5次高調波セレクタとを有し、
前記回転方向決定部は、前記基本波セレクタにより選択された座標データと前記3次高調波セレクタにより選択された座標データと前記5次高調波セレクタにより選択された座標データを基に回転方向を決定し、
前記高調波回転演算部は、
前記回転方向決定部により決定された回転方向に、前記3次高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記3次高調波回転座標データとして前記3次高調波セレクタに出力する3次高調波回転演算部と、
前記回転方向決定部により決定された回転方向に、前記5次高調波セレクタにより選択された座標データを回転させ、前記回転させた座標データを前記5次高調波回転座標データとして前記5次高調波セレクタに出力する5次高調波回転演算部とを有することを特徴とする請求項1記載の座標データ回転演算装置。 - 前記基本波回転演算部は、第iサイクル(iは0以上の整数)では、tan-1(2-i)の回転角の回転を行い、
前記3次高調波回転演算部は、第iサイクルでは、3×tan-1(2-i)の回転角の回転を行い、
前記5次高調波回転演算部は、第iサイクルでは、5×tan-1(2-i)の回転角の回転を行うことを特徴とする請求項9記載の座標データ回転演算装置。 - さらに、第iサイクルでは、前記基本波回転演算部により回転された座標データに対して(1+2-2i)×(1+2-2i)を乗算して座標データを前記基本波回転座標データとして前記基本波セレクタに出力する基本波スケーリング補正部と、
第iサイクルでは、前記3次高調波回転演算部により回転された座標データに対して(1+2-2i)を乗算して座標データを前記3次高調波回転座標データとして前記3次高調波セレクタに出力する3次高調波スケーリング補正部とを有することを特徴とする請求項10記載の座標データ回転演算装置。 - さらに、2次元座標データと基本波振幅と3次高調波振幅と5次高調波振幅を入力し、前記2次元座標データに前記基本波振幅を乗算し、前記基本波の座標データを前記基本波セレクタに出力し、前記2次元座標データに前記3次高調波振幅を乗算し、前記3次高調波の座標データを前記3次高調波セレクタに出力し、前記2次元座標データに前記5次高調波振幅を乗算し、前記5次高調波の座標データを前記5次高調波セレクタに出力する座標変換生成部を有することを特徴とする請求項9〜11のいずれか1項に記載の座標データ回転演算装置。
- 前記高調波回転座標データには、前記高調波と前記基本波との初期位相差が含まれていることを特徴とする請求項1〜12のいずれか1項に記載の座標データ回転演算装置。
- 前記高調波と前記基本波との初期位相差は、予め取得されることを特徴とする請求項13記載の座標データ回転演算装置。
- 基本波及び高調波を含む2次元座標データを入力し、前記2次元座標データの基本波のベクトルの偏角を演算する座標データ回転演算方法であって、
基本波セレクタにより、第1回目では前記2次元座標データのうちの基本波の座標データを選択し、第2回目以降では基本波回転座標データを選択する基本波セレクタステップと、
高調波セレクタにより、第1回目では前記2次元座標データのうちの高調波の座標データを選択し、第2回目以降では高調波回転座標データを選択する高調波セレクタステップと、
回転方向決定部により、前記基本波セレクタステップで選択された座標データ及び前記高調波セレクタステップで選択された座標データを基に回転方向を決定する回転方向決定ステップと、
基本波回転演算部により、前記回転方向決定ステップで決定された回転方向に、前記基本波セレクタステップで選択された座標データを回転させ、前記回転させた座標データを前記基本波回転座標データとして出力する基本波回転演算ステップと、
高調波回転演算部により、前記回転方向決定ステップで決定された回転方向に、前記高調波セレクタステップで選択された座標データを回転させ、前記回転させた座標データを前記高調波回転座標データとして出力する高調波回転演算ステップと、
回転角累積加算部により、前記回転方向決定ステップで決定された回転方向を基に、前記基本波回転演算ステップで回転された回転角を累積加算することにより、前記2次元座標データの基本波のベクトルの偏角に収束させる回転角累積加算ステップと
を有することを特徴とする座標データ回転演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019125097A JP2021012052A (ja) | 2019-07-04 | 2019-07-04 | 座標データ回転演算装置及び座標データ回転演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019125097A JP2021012052A (ja) | 2019-07-04 | 2019-07-04 | 座標データ回転演算装置及び座標データ回転演算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021012052A true JP2021012052A (ja) | 2021-02-04 |
Family
ID=74227601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019125097A Pending JP2021012052A (ja) | 2019-07-04 | 2019-07-04 | 座標データ回転演算装置及び座標データ回転演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021012052A (ja) |
-
2019
- 2019-07-04 JP JP2019125097A patent/JP2021012052A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5041419B2 (ja) | レゾルバ装置およびレゾルバの角度検出装置とその方法 | |
JP5281102B2 (ja) | レゾルバ装置、レゾルバの角度検出装置およびその方法 | |
EP1647810A1 (en) | Encoder output signal correction apparatus and method | |
JP2006112859A (ja) | エンコーダ出力信号補正装置 | |
WO2007148461A1 (ja) | エンコーダ信号の位相補正回路 | |
JPH07174586A (ja) | 増分位置検出器の可動周期目盛盤の絶対位置測定方法及びその装置 | |
JP2010216961A (ja) | エンコーダ出力信号補正装置及び方法 | |
JP2017151061A (ja) | 内挿方法及び内挿装置 | |
US8219603B2 (en) | Waveform correction apparatus and waveform correction method | |
JP4515120B2 (ja) | レゾルバディジタル角度変換装置および方法ならびにプログラム | |
KR20190065302A (ko) | 모터 포지션 검출기들과의 오프셋 및 게인 드리프트 관련 각도 오차들의 보정 | |
KR100959215B1 (ko) | 속도 검출 장치 | |
US10312837B2 (en) | Information processing apparatus, and recording medium storing computer program | |
JP2021012052A (ja) | 座標データ回転演算装置及び座標データ回転演算方法 | |
WO1990004754A1 (en) | System for processing position signals | |
JP3365063B2 (ja) | 回転角度検出方法 | |
JP4987269B2 (ja) | 速度検出装置およびサーボモータ | |
JP6750857B2 (ja) | 座標データ回転演算装置及び座標データ回転演算方法 | |
WO2009142118A1 (ja) | 速度検出装置およびサーボモータ | |
CN112461274B (zh) | 一种圆光栅编码器信号生成方法 | |
JP4943171B2 (ja) | 振幅検出装置 | |
JP2004108774A (ja) | 光学式エンコーダの位置検出方法 | |
JP3967963B2 (ja) | アブソリュート変位検出装置 | |
KR101604446B1 (ko) | 광학 인코더 | |
Koli et al. | Balancing of a rotating shaft using computed order tracking |