(57)【要約】【課題】エンコーダからの信号に誤差補正を施してエンコーダの位置検出対象の位置を検出する位置検出装置であって、既存の装置よりも、演算負荷が少なく、リアルタイム性も良い位置検出装置を提供する。【解決手段】位置検出装置は、エンコーダからのＡ、Ｂ相信号を、各信号用の一次式により補正する補正部と、各信号用の一次式の各係数を、前回の信号補正時の係数等から算出する係数演算部とを備える。【選択図】図１
2020003254.tif 000002
【特許請求の範囲】
【請求項１】
エンコーダからのＡ相信号及びＢ相信号から、各信号の瞬時値であるＡ相値及びＢ相値を繰り返し取得する取得部と、
前記取得部により前記Ａ相値及び前記Ｂ相値が取得される度に、取得された前記Ａ相値及び前記Ｂ相値から、リサージュ波形の形状がより真円に近づく補正後Ａ相値及び補正後Ｂ相値を演算する補正部であって、前記Ａ相値の一次式である第１演算式を用いて前記補正後Ａ相値を演算し、前記Ｂ相値の一次式である第２演算式を用いて補正後Ｂ相値を演算する補正部と、
前記補正部による今回の演算で使用される前記第１演算式及び前記第２演算式の各係数値を、前記補正部による前回の演算で使用された各係数値と前記補正部により前回演算された前記補正後Ａ相値及び前記補正後Ｂ相値と今回の演算で補正される前記Ａ相値及び前記Ｂ相値から演算する係数演算部と、
前記補正部により演算された前記補正後Ａ相値及び前記補正後Ｂ相値から、前記エンコーダの位置検出対象の位置を演算する位置演算部と、
を備えることを特徴とする位置検出装置。
【請求項２】
前記補正部により用いられる前記第２演算式が、前記Ｂ相値及び前記Ａ相値のそれぞれについての一次式である、
を備えることを特徴とする請求項１に記載の位置検出装置。
【請求項３】
前記係数演算部は、“前記補正後Ａ相値の二乗値＋前記補正後Ｂ相値の二乗値−１”の二乗値が、最小値となるように、最急降下法により、前記補正部による次回の演算で使用される前記第１演算式及び前記第２演算式の各係数値を演算する、
ことを特徴とする請求項１又は２に記載の位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置検出装置に関する。
【背景技術】
【０００２】
モータの位置を検出するためのエンコーダとして、略９０°位相が異なる、正弦波状のＡ相信号及びＢ相信号を出力するエンコーダが知られている。そのようなエンコーダから出力されるＡ、Ｂ相信号には、通常、誤差（オフセット誤差，振幅誤差及び位相誤差の全て又は一部）が含まれる。
【０００３】
そして、誤差が含まれるＡ、Ｂ相信号からでは、モータの位置を正確に演算することができない。そのため、Ａ、Ｂ相信号に含まれるオフセット誤差，振幅誤差及び位相誤差を特定し、特定結果に基づき、Ａ、Ｂ相信号を補正した上で、モータの位置を求める技術（例えば、特許文献１）が開発されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−１７００１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記技術によれば、誤差を含むＡ、Ｂ相信号からモータの位置を正確に求めることが可能となる。ただし、上記技術は、各誤差を特定するために、Ａ、Ｂ相信号の瞬時値の複数の組み合わせからＡ、Ｂ相信号を近似する楕円の方程式の各係数を求めるものとなっている。そのため、上記技術には、複雑な演算が必要とされる、リアルタイム性が悪い（誤差の時間変化への応答性が悪い）、といった問題があった。
【０００６】
本発明は、上記現状に鑑みなされたものであり、誤差補正を行ってエンコーダの位置検出対象の位置を検出する位置検出装置であって、既存の装置よりも、演算負荷が少なく、リアルタイム性も良い位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一観点に係る位置検出装置は、エンコーダからのＡ相信号及びＢ相信号から、各信号の瞬時値であるＡ相値及びＢ相値を繰り返し取得する取得部と、前記取得部により前記Ａ相値及び前記Ｂ相値が取得される度に、取得された前記Ａ相値及び前記Ｂ相値から、リサージュ波形の形状がより真円に近づく補正後Ａ相値及び補正後Ｂ相値を演算する補正部であって、前記Ａ相値の一次式である第１演算式を用いて前記補正後Ａ相値を演算し、前記Ｂ相値の一次式である第２演算式を用いて補正後Ｂ相値を演算する補正部と、前記補正部による今回の演算で使用される前記第１演算式及び前記第２演算式の各係数値を、前記補正部による前回の演算で使用された各係数値と前記補正部により前回演算された前記補正後Ａ相値及び前記補正後Ｂ相値と今回の演算で補正される前記Ａ相値及び前記Ｂ相値から演算する係数演算部と、前記補正部により演算された前記補正後Ａ相値及び前記補正後Ｂ相値から、前記エンコーダの位置検出対象の位置を演算する位置演算部と、を備える。
【０００８】
この位置検出装置の補正部及び係数演算部が行う演算は、上記定義から明らかなように、極めて簡単なものである。また、補正部及び係数演算部のいずれが行う演算も、複数組のＡ相値及びＢ相値を必要としないものとなっている。従って、本発明の上記観点に係る
位置検出装置は、既存の装置よりも、演算負荷が少なく、リアルタイム性も良い位置検出装置として機能する。
【０００９】
なお、第１演算式、第２演算式としては、通常、定数項がある（つまり、定数項が“０”ではない）式が使用される。ただし、オフセット誤差が殆どない場合には、各演算式として、定数項がない（定数項が“０”の）一次式を採用しても良い。また、第２演算式として、前記Ｂ相値及び前記Ａ相値のそれぞれについての一次式を採用しておけば、位相誤差も補正可能な位置検出装置を得ることができる。
【００１０】
また、係数演算部としては、具体的な演算手順が異なる様々なものを採用することができるが、『“前記補正後Ａ相値の二乗値＋前記補正後Ｂ相値の二乗値−１”の二乗値が、最小値となるように、最急降下法により、前記補正部による次回の演算で使用される前記第１演算式及び前記第２演算式の各係数値を演算する』係数演算部を採用しておけば、演算負荷が特に少ない位置検出装置を得ることができる。
【発明の効果】
【００１１】
本発明によれば、誤差補正を行ってエンコーダの位置検出対象の位置を検出する位置検出装置であって、既存の装置よりも、演算負荷が少なく、リアルタイム性も良い位置検出装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の第１実施形態に係る位置検出装置の構成及び使用形態の説明図である。
【図２】図２は、位置検出装置を備えたモータ制御装置の構成の説明図である。
【図３】図３は、位置検出装置の誤差補正性能の説明図である。
【図４】図４は、本発明の第２実施形態に係る位置検出装置の構成及び使用形態の説明図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて、本発明の実施の形態を説明する。
【００１４】
《第１実施形態》
図１に、本発明の第１実施形態に係る位置検出装置１０の構成及び使用形態の説明図を示し、図２に、位置検出装置１０を備えたモータ制御装置２０の構成の説明図を示す。
【００１５】
図１に示してあるように、本実施形態に係る位置検出装置１０は、エンコーダ３１からの、誤差を含むＡ相信号及びＢ相信号に基づき、モータ３０の位置θを演算する装置である。また、位置検出装置１０は、図２に示してあるように、モータ３０を制御するためのモータ制御装置２０内の制御部２３の一機能として実現された装置となっている。なお、このモータ制御装置２０内のモータ駆動回路２２は、制御部２３の制御下、モータ３０に駆動電流を供給するインバータ回路である。制御部２３は、マイクロコントローラ、ＣＰＵ等のプロセッサとその周辺素子から構成された、位置検出装置１０が出力する位置θを利用してモータ３０（モータ駆動回路２２）を制御するユニットである。この制御部２３は、ＰＬＣ等の上位装置３５から入力される指令に従ってモータ３０を制御する。
【００１６】
図１に示してあるように、位置検出装置１０は、２つのＡ／Ｄコンバータ１１ａ及び１１ｂと、補正部１２と、係数演算部１３と、位置演算部１４とを備える。
【００１７】
Ａ／Ｄコンバータ１１ａは、Ａ相信号をデジタル化するためのデバイスである。Ａ／Ｄコンバータ１１ｂは、Ｂ相信号をデジタル化するためのデバイスである。Ａ／Ｄコンバー
タ１１ａ及び１１ｂは、所定周期で同時に入力信号のサンプリングを行って、サンプリング結果（すなわち、各信号の瞬時値）を出力する。以下、Ａ／Ｄコンバータ１１ａが出力するＡ相信号の瞬時値、Ａ／Ｄコンバータ１１ｂが出力するＢ相信号の瞬時値のことを、それぞれ、ｘ、ｙと表記する。
【００１８】
補正部１２は、ｘ及びｙが入力される度に、以下の演算により、ｘ、ｙに対して誤差補正を施すユニットである。
【００１９】
【数１】
2020003254.tif 000003
【００２０】
以下、補正部１２による誤差補正後のｘ、ｙ（上記（１）式、（２）式におけるハット記号付きのｘ、ｙ）のことを、補正後ｘ、補正後ｙと表記する。
【００２１】
係数演算部１３は、補正部１２による今回の演算で使用される上記（１）式及び（２）式の各係数値を、誤差補正対象となっているｘ及びｙと、補正部１２による前回の演算で使用された各係数値と、補正部１２により前回演算された補正後ｘ及び補正後ｙとから算出するユニットである。より具体的には、係数演算部１３は、以下の式により、補正部１２による今回の演算で使用される各係数値を算出するユニットとなっている。
【００２２】
【数２】
2020003254.tif 000004
【００２３】
上記式において、ａｎ、ｂｎ、ｃｎ、ｄｎ、ｆｎは、補正部１２によるｎ回目の演算で使用された係数値である。また、ａｎ＋１、ｂｎ＋１、ｃｎ＋１、ｄｎ＋１、ｆｎ＋１は、補正部１２によるｎ＋１回の演算で使用される係数値であり、μは、上記漸化式による最良係数値の探索の安定性及び収束性を考慮して予め定められる値（＞０）である。
【００２４】
なお、係数演算部１３は、補正部１２による１回目の演算時には、各係数値として、予め設定されている値（例えば、ａ１＝１、ｃ１＝１、ｂ１＝ｄ１＝ｆ１＝０）を出力する。
【００２５】
位置演算部１４は、以下の（９）式で定義される位置θを演算するユニットである。
【００２６】
【数３】
2020003254.tif 000005
【００２７】
ここで、本実施形態に係る位置検出装置１０に、上記構成を採用している理由を説明しておくことにする。
【００２８】
誤差が含まれない場合の、エンコーダ３１のＡ相信号、Ｂ相信号の瞬時値ｘ、ｙは、 cosθ、sinθと表記することができる。従って、オフセット誤差，振幅誤差及び位相誤差
を含む場合の瞬時値ｘ、ｙを、以下の(１０)式、（１１）式で表せることになる。
【００２９】
【数４】
2020003254.tif 000006
【００３０】
（10）式をcosθについての式に変形すると、以下の（12）式が得られる。
【００３１】
【数５】
2020003254.tif 000007
【００３２】
cosθが求めたい値（補正後ｘ）であり、上記(１)式は、この(１２)式におけるｘの係
数、定数項を、それぞれ、ａ、ｂと表記したものである。従って、適切なａ、ｂ値を用いれば、上記(１)式により、ｘから、補正後ｘを算出することができる。
【００３３】
また、(１１)式を、以下の(１３)式（三角関数の加法定理）及び上記(１２)式を用いて、sinθについての式に変形すると、以下の（１４）式が得られる。
【００３４】
【数６】
2020003254.tif 000008
【００３５】
sinθが求めたい値（補正後ｙ）であり、上記(２)式は、(１４)式におけるｙの係数、
定数項、ｘの係数を、それぞれ、ｃ、ｄ、ｆと表記したものである。従って、適切なｃ、ｄ、ｆ値を用いれば、上記(２)式によって、ｘ及びｙから、補正後ｙを算出することができる。
【００３６】
そして、適切な各係数値の求め方には様々なものがあるが、各係数値が最適値である場合に最小値（極小値）を取る、各種偏微分値を求めやすい評価関数Ｑを定めて、最急降下法により各係数値が求められるようにしておけば、演算負荷を低減できる。
【００３７】
そのように考えに基づき、想到されたのが、係数演算部１３の上記演算である。
具体的には、本実施形態に係る位置検出装置１０は、以下の評価関数Ｑが用いられたものとなっている。
【００３８】
【数７】
2020003254.tif 000009
【００３９】
誤差補正が適切に行われている場合、“補正後ｘの二乗値＋補正後ｙの二乗値”は、“１”となる。従って、“補正後ｘの二乗値＋補正後ｙの二乗値−１”の二乗値である上記評価関数Ｑは、各係数値が最適値である場合に最小値０をとる。また、最急降下法により各係数値を算出する場合、以下の演算（つまり、偏微分値を必要とする演算）が行われることになる。
【００４０】
【数８】
2020003254.tif 000010
【００４１】
上記評価関数Ｑは、以下の各式から明らかなように、各偏微分値が極めて簡単に算出できるものとなっている。
【００４２】
【数９】
2020003254.tif 000011
【００４３】
このように、評価関数Ｑを、『“補正後ｘの二乗値＋補正後ｙの二乗値−１”の二乗値』とすれば、各偏微分値が簡単に演算できる。そして、その結果として、各係数値も簡単に演算できることになる。そのため、評価関数Ｑとして、『“補正後ｘの二乗値＋補正後ｙの二乗値−１”の二乗値』を採用した上で、係数演算部１３を、上記（３）〜（８）式で規定される内容の演算を行うように構成しているのである。
【００４４】
以上、説明した構成を有する本実施形態に係る位置検出装置１０では、補正部１２に、図３の上段に示したようなｘ、ｙ（すなわち、リサージュ波形が真円形状とならないｘ、ｙ）が入力されても、補正部１２からは、図３の下段に示したように、リサージュ波形が真円形状となる補正後ｘ及び補正後ｙが出力される。従って、位置検出装置１０によれば、エンコーダ３１からのＡ相信号及びＢ相信号に含まれる誤差に因り位置θの演算結果の精度が劣化することを防止できる。
【００４５】
また、位置検出装置１０の補正部１２及び係数演算部１３が行う演算は、極めて簡単な、複数組のｘ、ｙを必要としないものとなっている。従って、位置検出装置１０は、既存の装置よりも、演算負荷が少なく、リアルタイム性も良い装置であると共に、高機能なＣＰＵ、ＭＰＵ等を用いることなく実現（製造）可能な装置となっていると言うことができる。
【００４６】
《第２実施形態》
図４に、本発明の第２実施形態に係る位置検出装置１０２の構成及び使用形態を示す。
以下、この図を用いて、位置検出装置１０と異なっている部分を中心に、本実施形態に係る位置検出装置１０２の構成及び機能を説明する。
【００４７】
本実施形態に係る位置検出装置１０２は、位相誤差が殆どないＡ相信号及びＢ相信号が入力されることを想定して開発したものである。図４と図１とを比較すれば明らかなように、位置検出装置１０２は、位置検出装置１０（図１）の補正部１２、係数演算部１３を、それぞれ、補正部１２２、係数演算部１３２に置換した装置となっている。
【００４８】
補正部１２２は、以下の演算を行うユニットである。
【００４９】
【数１０】
2020003254.tif 000012
【００５０】
係数演算部１３２は、ｆ値の演算を行わないように係数演算部１３を変形したユニットである。
【００５１】
すなわち、位相誤差が殆どないＡ相信号及びＢ相信号が入力される場合、上記（２）式の代わりに、上記（２１）式を用いることができる。そして、上記した（３）〜（６）式は、（２０）式及び（２１）式の各係数の最適値の算出に、そのまま使用できる式である。従って、上記機能を有する補正部１２２、係数演算部１３２を備えた位置検出装置１０２によれば、エンコーダ３１からのＡ相信号及びＢ相信号のオフセット誤差及び振幅誤差を良好に補正できる。
【００５２】
《変形形態》
上記した各実施形態に係る位置検出装置（１０、１０２）は、各種の変形が可能なものである。例えば、Ａ相信号にオフセット誤差が殆どない場合には、ｂを“０”としておい
ても良く、Ｂ相信号にオフセット誤差が殆どない場合には、ｄを“０”としておいても良い。同様に、Ａ相信号及び／又はＢ相信号に振幅誤差が殆どない場合には、ａ及び／又はｃを“１”としておいても良い。
【００５３】
エンコーダ３１の位置検出対象がモータ３０ではなくても良いことや、位置検出装置を、モータ制御装置２０以外の、θを必要とする装置（ＰＬＣ等）内の装置や、θを必要とする装置と接続されて使用される装置として実現しても良いことなどは当然のことである。
【００５４】
《付記》
１．  エンコーダ（３１）からのＡ相信号及びＢ相信号から、各信号の瞬時値であるＡ相値及びＢ相値を繰り返し取得する取得部（１１ａ、１１ｂ）と、
前記取得部（１１ａ、１１ｂ）により前記Ａ相値及び前記Ｂ相値が取得される度に、取得された前記Ａ相値及び前記Ｂ相値から、リサージュ波形の形状がより真円に近づく補正後Ａ相値及び補正後Ｂ相値を演算する補正部（１２）であって、前記Ａ相値の一次式である第１演算式を用いて前記補正後Ａ相値を演算し、前記Ｂ相値の一次式である第２演算式を用いて補正後Ｂ相値を演算する補正部（１２）と、
前記補正部（１２）による今回の演算で使用される前記第１演算式及び前記第２演算式の各係数値を、前記補正部（１２）による前回の演算で使用された各係数値と前記補正部（１２）により前回演算された前記補正後Ａ相値及び前記補正後Ｂ相値と今回の演算で補正される前記Ａ相値及び前記Ｂ相値から演算する係数演算部（１３）と、
前記補正部（１２）により演算された前記補正後Ａ相値及び前記補正後Ｂ相値から、前記エンコーダの位置検出対象の位置を演算する位置演算部（１４）と、
を備えることを特徴とする位置検出装置（１０）。
【符号の説明】
【００５５】
１０、１０２  位置検出装置
１１ａ、１１ｂ  Ａ／Ｄコンバータ
１２、１２２  補正部
１３、１３２  係数演算部
１４  位置演算部
２０  モータ制御装置
２２  モータ駆動回路
２３  制御部
３０  モータ
３１  エンコーダ
３５  上位装置
【図１】
2020003254.tif 000013
【図２】
2020003254.tif 000014
【図３】
2020003254.tif 000015
【図４】
2020003254.tif 000016