(57)【要約】【課題】温度情報や駆動速度によらず、少ないサンプリング値から正確な振幅を算出し、振幅変化による補正値の更新が可能なこと。【解決手段】対象の駆動部に対して目標速度を指示する駆動指示部と、目標速度に基づいて駆動部が一定速度で変位しているか否かを判定する速度判定部と、駆動部の変位量に対応して周期的に変化する位置検出信号を出力する位置検出部と、対象が一定速度で変位していると判定されると、上記位置検出信号を所定のサンプリング周期毎にサンプリングされた各検出値に基づいて位置検出信号の振幅値を算出する振幅取得部と、振幅値に基づいて位置検出信号に対する振幅補正値を算出して位置検出信号を補正する補正部と、補正された位置検出信号に基づいて駆動部の変位位置を算出する位置算出部とを具備する位置制御装置である。【選択図】図１
2016045638.tif 000002
【特許請求の範囲】
【請求項１】
変位駆動される駆動部に対して目標速度を指示する駆動指示部と、
前記目標速度に基づいて前記駆動部が一定速度で変位しているか否かを判定する第１の速度判定部と、
前記駆動部の変位量を検出し、当該変位量に対応して周期的に変化する２相の位置検出信号を出力する位置検出部と、
前記第１の速度判定部により前記駆動部が一定速度で変位していると判定されると、前記位置検出部から出力される前記位置検出信号を所定のサンプリング周期毎にサンプリングしてそのサンプリング値に基づいて前記位置検出信号の振幅値を算出する振幅取得部と、
前記振幅取得部によって算出された前記振幅値に基づいて前記位置検出信号に対する振幅補正値を算出し、当該振幅補正値に基づいて前記位置検出信号を補正する補正部と、
前記補正部によって補正された前記位置検出信号に基づいて前記駆動部の変位位置を算出する位置算出部と、
を具備する位置制御装置。
【請求項２】
前記位置算出部により算出された前記駆動部の前記変位位置と、前記駆動指示部により指示された前記目標速度とに基づいて前記駆動部が一定速度で変位しているか否かを判定する第２の速度判定部を備え、
前記振幅取得部は、前記第２の速度判定部により前記駆動部が一定速度で変位していると判定すると、前記位置検出部から出力される前記位置検出信号を前記所定のサンプリング周期毎にサンプリングしてそのサンプリング値に基づいて前記位置検出信号の前記振幅量を算出する、
請求項１記載の位置制御装置。
【請求項３】
前記振幅取得部は、前記所定のサンプリング周期毎の前記各サンプリング値の比と、当該各サンプリング値の比の理論値とを比較し、これら比が等しくなったときに前記位置検出信号の最大振幅値を算出する請求項１又は２に記載の位置制御装置。
【請求項４】
前記位置検出部は、前記２相の位置検出信号として正弦波信号を出力し、
前記振幅取得部は、前記サンプリング周期毎にサンプリングされる前記各サンプリング値をそれぞれ１サンプリング周期保持する保持部と、
前記保持部に保持されている前記１サンプリング周期前の前記サンプリング値と、前記サンプリング周期毎にサンプリングされる前記サンプリング値との第１の比を求める第１の比算出部と、
前記第１の比に対応する前記理論値を第２の比として算出する第２の比算出部と、
前記第１の比と前記第２の比とを比較し、当該第１の比と第２の比とが等しいと、前記サンプリング周期毎のサンプリング時における前記正弦波信号の位相値と、前記正弦波信号の繰り返し角周波数と、前記保持部に保持されている前記サンプリング値とに基づいて前記位置検出信号の前記最大振幅値を演算する最大振幅演算部と、
を有する請求項３に記載の位置制御装置。
【請求項５】
前記第２の比算出部は、前記駆動指示部によって指示される前記目標速度に基づいて前記位置検出信号の繰り返し角周波数を特定する角周波数検出部と、
前記角周波数検出部により特定された前記繰り返し角周波数に基づいて周期変化する基準関数を特定する基準関数算出部と、
前記基準関数算出部により特定された前記基準関数に対して所用の周期に基づいて設定される前記サンプリング周期毎のサンプリング時に対応する第１の基準関数値と、前記サンプリング周期毎のサンプリング時と前記所定のサンプリング周期との和であるサンプリング時に対応する第２の基準関数値との第２の比を算出する比較参照値算出部と、
を含み、
前記最大振幅演算部は、前記第１の比と前記第２の比とを比較し、当該第１の比と第２の比とが等しいときの前記サンプリング時を算出し、当該サンプリング時に対応する前記正弦波信号の位相値を算出する位相値特定部と、
前記位相値特定部によって算出された前記正弦波信号の位相値と、前記角周波数検出部によって特定された前記繰り返し角周波数と、前記所定のサンプリング周期毎のサンプリング値とに基づいて前記位置検出部により検出される前記正弦波信号の前記最大振幅値を算出する最大振幅量算出部と、
を含む、
請求項４に記載の位置制御装置。
【請求項６】
前記基準関数算出部は、前記基準関数として前記繰り返し角周波数による正弦波関数を特定する請求項５に記載の位置制御装置。
【請求項７】
前記比較参照値算出部は、前記サンプリング周期をＴ、前記サンプリング周期Ｔ毎のサンプリング時をｔ１、当該サンプリング時ｔ１よりも１サンプリング周期Ｔ後のサンプリング時をｔ２、任意の時間周期をｔ’、繰り返し角速度をω、サンプリング周波数をＦ（＝１／Ｔ）とすると、  
ｔ’＜（１／Ｆ）＜π／ω  
が成立する請求項５に記載の位置制御装置。
【請求項８】
前記サンプリング周期毎のサンプリング時をｔ１とし、当該サンプリング時ｔ１から１サンプリング周期後のサンプリング時をｔ２とし、前記正弦波信号の繰り返し角周波数をωとし、前記サンプリング周期をＴとし、当該サンプリング周期Ｔよりも短い任意の周期をｔ’とし、前記サンプリングの周波数をｆ（＝１／Ｔ）とし、前記サンプリング時ｔ１にサンプリングされた前記サンプリング値をＸ＝sin(ω・ｔ１)とし、前記サンプリング時ｔ２にサンプリングされた前記サンプリング値をＹ＝sin(ω・ｔ２)とすると、
前記第１の比算出部は、前記サンプリング時ｔ１の前記サンプリング値Ｘ＝sin(ω・ｔ１)と、前記サンプリング時ｔ２の前記サンプリング値Ｙ＝sin(ω・ｔ２)との比、
Ｘ／Ｙ＝sin(ω・ｔ１)／sin(ω・ｔ２)
を前記第１の比として求め、
前記第２の比算出部は、所用の補間期間ｔ＝ｔ’・ｋに対して既知の正弦波関数ｘ’とｙ’との比ｘ'／ｙ'、
ｘ’＝sin（ωｔ'・ｋ)
ｙ’＝sin［ω(ｔ'・ｋ＋１／ｆ)］
ｘ'／ｙ'＝sin（ωｔ'・ｋ）／sin［ω(t'・ｋ＋１／ｆ)］
但し  ｔ’ ＜ （ｔ２−ｔ１）、ｋ＝０，１，２，・・・・，ｎ（整数）
を前記理論値として算出し、
前記最大振幅量算出部は、前記第１の比Ｘ／Ｙと前記第２の比ｘ'／ｙ'とを比較し、当該第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とが等しいと、前記位置検出部から出力される前記正弦波信号の最大振幅値α’、
α’＝Ｘ／sin（ω＋ｔ１）
を算出し、
前記補正部は、前記最大振幅量算出部により算出された前記最大振幅値α’と、所用の正規化値α０’との比から補正係数γ、
γ＝α０’／α’
を算出し、当該補正係数γに基づいて前記振幅補正値を算出し、当該振幅補正値に基づいて前記位置検出信号を補正する、
請求項４に記載の位置制御装置。
【請求項９】
前記角周波数検出部は、前記駆動指示部から指示される前記目標速度と、前記第１の速度判定部により前記駆動部が一定速度で変位しているか否かの判定結果とに基づいて前記正弦波信号の前記繰り返し角周波数を特定する請求項５に記載の位置制御装置。
【請求項１０】
前記位置検出部は、前記２相の位置検出信号として、前記駆動部の変位量に応じてそれぞれ周期的に変化し、かつ互いに９０度の位相差を有する第１の正弦波信号と第２の正弦波信号とを出力し、
前記振幅取得部は、前記位置検出部から出力される前記第１の正弦波信号を所定のサンプリング周期毎にサンプリングし、そのサンプリング値に基づいて前記第１の正弦波信号の第１の振幅値を算出する第１の振幅取得部と、前記位置検出部から出力される前記第２の正弦波信号を所定のサンプリング周期毎にサンプリングし、そのサンプリング値に基づいて前記第２の正弦波信号の第２の振幅値を算出する第２の振幅取得部とを有し、
前記補正部は、前記第１の振幅取得部によって算出された前記第１の振幅値に基づいて前記第１の正弦波信号に対する第１の振幅補正値を算出し、当該第１の振幅補正値に基づいて前記第１の正弦波信号の振幅値を補正する第１の補正部と、前記第２の振幅取得部によって算出された前記第２の振幅値に基づいて前記第２の正弦波信号に対する第２の振幅補正値を算出し、当該第２の振幅補正値に基づいて前記第２の正弦波信号の振幅値を補正する第２の補正部とを有し、
前記位置算出部は、前記第１の補正部により補正された前記第１の正弦波信号と前記第２の補正部により補正された前記第２の正弦波信号とから得られる位相角を算出して前記駆動部の変位位置を算出する、
請求項１に記載の位置制御装置。
【請求項１１】
変位駆動される駆動部に対して駆動指示部から目標速度を指示し、
前記目標速度に基づいて前記駆動部が一定速度で変位しているか否かを第１の速度判定部により判定し、
前記駆動部の変位量を位置検出部により検出し、当該変位量に対応して周期的に変化する位置検出信号を出力し、
前記駆動部が一定速度で変位していると判定されると、振幅取得部により前記位置検出部から出力される前記位置検出信号を所定のサンプリング周期毎にサンプリングしてそのサンプリング値に基づいて前記位置検出信号の振幅値を算出し、
前記算出された前記振幅値に基づいて補正部により前記位置検出信号に対する振幅補正値を算出し、当該振幅補正値に基づいて前記位置検出信号を補正し、
前記補正された前記位置検出信号に基づいて位置算出部により前記駆動部の変位位置を算出する、
位置制御方法。
【請求項１２】
前記位置算出部により算出された前記駆動部の前記変位位置と、前記駆動指示部により指示された前記目標速度とに基づいて前記駆動部が一定速度で変位しているか否かを第２の速度判定部により判定し、
駆動部が一定速度で変位していると判定すると、前記振幅取得部によって前記位置検出部から出力される前記位置検出信号を前記所定のサンプリング周期毎にサンプリングしてそのサンプリング値に基づいて前記位置検出信号の前記振幅値を算出する、
請求項１１記載の位置制御方法。
【請求項１３】
駆動部に対して目標速度を指示させ、当該目標速度に基づいて前記駆動部が一定速度で移動駆動させているか否かを判定させ、かつ前記駆動部の変位量を前記位置検出部により検出させ、当該変位量に対応して周期的に変化する位置検出信号を出力させる位置制御装置のコンピュータに、
前記駆動部が一定速度で変位していると判定されると、前記位置検出部から出力される前記位置検出信号を所定のサンプリング周期毎にサンプリングさせ、そのサンプリング値に基づいて前記位置検出信号の振幅値を算出させる振幅取得機能と、
前記振幅取得機能によって算出された前記振幅値に基づいて前記位置検出信号に対する振幅補正値を算出させ、当該振幅補正値に基づいて前記位置検出信号を補正させる補正機能と、
前記補正機能によって補正された前記位置検出信号に基づいて前記駆動部の変位位置を算出させる位置算出機能と、
を実現させるための位置制御プログラム。
【請求項１４】
前記位置算出機能により算出された前記駆動部の前記変位位置に基づいて前記駆動部の駆動速度を判定させる速度判定機能を有し、
前記速度判定機能は、前記移動速度検出機能により検出された前記駆動速度と、前記駆動指示部により指示された前記目標速度とに基づいて前記駆動部が一定速度で変位しているか否かを判定させ、
前記振幅取得機能は、前記速度判定機能により前記駆動部が一定速度で変位していると判定されると、前記位置検出機能から出力される前記位置検出信号を前記所定のサンプリング周期毎にサンプリングさせ、そのサンプリング値に基づいて前記位置検出信号の前記振幅値を算出させる、
を実現させるための請求項１３記載の位置制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象の変位に対応する互いに直交する２相（Ａ相とＢ相）の正弦波信号を内挿処理して高分解能を得るエンコーダを用いた位置制御に係り、上記２相の正弦波信号のオフセット及び振幅を補正する位置制御装置、位置制御方法及び位置制御プログラムに関する。
【背景技術】
【０００２】
リニア（回転）エンコーダは、エンコーダスケールと、当該エンコーダスケールと対になるＧＭＲ（巨大磁気抵抗効果）センサ等の位置検出器とを有する。このリニアエンコーダを用いた位置検出の技術では、ＧＭＲセンサ等の位置検出器から出力される２相の正弦波信号に対する極座標の角度（位相角）とエンコーダピッチとから対象の位置を算出している。なお、２相の正弦波信号は、互いに変位又は変位角に対して９０度位相が異なる。
【０００３】
ＧＭＲセンサ又は磁性体を用いたエンコーダの場合、当該エンコーダに用いられる磁性体の磁束密度は、温度により変化することが一般的に知られている。このため、センサ出力信号の振幅は、温度変化によって異なった値を示す。従って、センサ出力信号の振幅から正確な位置を算出するためには、センサ出力信号の振幅変化率を補正する必要がある。
【０００４】
このような振幅変化率を補正する技術としては、例えば２相の正弦波信号のピーク値と周辺温度とを検出して振幅変化率を算出して補正する技術が提案されている。例えば、特許文献１は、２相の正弦波信号の周波数を検出し、閾値以下の周波数の場合、正弦波信号の最大値と最小値とを取得し、その振幅から補正値を算出し、閾値以上の周波数の場合、センサ周辺に備えた温度検出器から検出した温度と予め求めた温度係数の値から補正値を算出することを開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−５１５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、正弦波信号のピーク値から振幅変化率を求めるため、サンプリング周期に対して十分に遅い速度（周波数）でしか正確な補正量を算出することができない。  
又、１相の正弦波信号の最大値と最小値とを検出するために、最短でも１／２周期、２相の場合は３／４周期駆動する必要があり、振幅検出に時間が掛かる。このため、動的に補正量が検出できるとは言えない。  
さらに高速で対象を駆動をしている場合、ピーク値の検出ができず、温度変化率から求めた補正量を適応せざるを得ないため、温度検出器が必要不可欠となる。
【０００７】
本発明は、上記従来の課題を解決するものであり、温度情報や駆動速度によらず、少ないサンプリング値から正確な振幅を算出し、振幅変化による補正値の更新が可能な位置制御装置、位置制御方法及び位置制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の主要な局面に係る位置制御装置は、変位駆動される駆動部に対して目標速度を指示する駆動指示部と、前記目標速度に基づいて前記駆動部が一定速度で変位しているか否かを判定する第１の速度判定部と、前記駆動部の変位量を検出し、当該変位量に対応して周期的に変化する位置検出信号を出力する位置検出部と、前記第１の速度判定部により前記駆動部が一定速度で変位していると判定されると、前記位置検出部から出力される前記位置検出信号を所定のサンプリング周期毎にサンプリングしてそのサンプリング値に基づいて前記位置検出信号の振幅値を算出する振幅取得部と、前記振幅取得部によって算出された前記振幅値に基づいて前記位置検出信号に対する振幅補正値を算出し、当該振幅補正値に基づいて前記位置検出信号を補正する補正部と、前記補正部によって補正された前記位置検出信号に基づいて前記駆動部の変位位置を算出する位置算出部と、を具備する。
【０００９】
本発明の主要な局面に係る位置制御方法は、変位駆動される駆動部に対して駆動指示部から目標速度を指示し、前記目標速度に基づいて前記駆動部が一定速度で変位しているか否かを第１の速度判定部により判定し、前記駆動部の変位量を位置検出部により検出し、当該変位量に対応して周期的に変化する位置検出信号を出力し、前記駆動部が一定速度で変位していると判定されると、振幅取得部により前記位置検出部から出力される前記位置検出信号を所定のサンプリング周期毎にサンプリングしてそのサンプリング値に基づいて前記位置検出信号の振幅値を算出し、前記算出された前記振幅値に基づいて補正部により前記位置検出信号に対する振幅補正値を算出し、当該振幅補正値に基づいて前記位置検出信号を補正し、前記補正された前記位置検出信号に基づいて位置算出部により前記駆動部の変位位置を算出する。
【００１０】
本発明の主要な局面に係る位置制御プログラムは、駆動部に対して目標速度を指示させ、当該目標速度に基づいて前記駆動部が一定速度で移動駆動させているか否かを判定させ、かつ前記駆動部の変位量を前記位置検出部により検出させ、当該変位量に対応して周期的に変化する位置検出信号を出力させる位置制御装置のコンピュータに、前記駆動部が一定速度で変位していると判定されると、前記位置検出部から出力される前記位置検出信号を所定のサンプリング周期毎にサンプリングさせ、そのサンプリング値に基づいて前記位置検出信号の振幅値を算出させる振幅取得機能と、前記振幅取得機能によって算出された前記振幅値に基づいて前記位置検出信号に対する振幅補正値を算出させ、当該振幅補正値に基づいて前記位置検出信号を補正させる補正機能と、前記補正機能によって補正された前記位置検出信号に基づいて前記駆動部の変位位置を算出させる位置算出機能とを実現させる。
【発明の効果】
【００１１】
本発明によれば、温度情報や駆動速度によらず、少ないサンプリング値から正確な振幅を算出し、振幅変化による補正値の更新が可能な位置制御装置、位置制御方法及び位置制御プログラムを提供できる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る位置制御装置の第１の実施の形態を示すブロック構成図である。
【図２】同装置における制御対象となる駆動部を移動制御するときの加速期間と定速期間と減速期間とから成る台形の速度変化と、位置検出部から出力されるＡ相又はＢ相のいずれか一方の正弦波信号の時間変化とを示す図である。
【図３】同装置における位置検出部から出力されるＡ相とＢ相との２相の正弦波信号をＡＤ変換部によって所定サンプリング時間間隔でデジタル化した値を取得する作用を示す図である。
【図４】同装置におけるＡ相・Ｂ相出力振幅演算部を示す機能ブロック図である。
【図５】同装置における駆動部を移動制御させるための目標指示値の時間変化すなわち移動速度プロファイルの種類を示す図である。
【図６】同装置における全体の補正処理フローチャートである。
【図７】同装置における位置算出部から出力される２相の正弦波信号に対する全体の補正処理フローチャートである。
【図８】本発明に係る第２の実施の形態における位置制御装置を示すブロック構成図である。
【図９】本発明に係る第２の実施の形態における位置検出部から出力される正弦波出力を補正処理する全体処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
［第１の実施の形態］  
以下、本発明の第１の実施の形態について図面を参照して説明する。  
図１は位置制御装置１のブロック構成図を示す。この位置制御装置１は、制御対象となる駆動部２を、駆動指示部３から指示される目標指示値Ｎ（駆動速度）に従って駆動制御するもので、駆動指示部３と、速度判定部４と、位置検出部５と、ＡＤ変換部６と、補正部７と、振幅取得部２０と、補正値演算部１０と、格納部１１と、位置算出部１２と、タイミング生成部１３とを有する。  
この位置制御装置１は、コンピュータから成り、かつプログラムメモリを有する主制御部２１を搭載する。この位置制御装置１は、主制御部２１から発せられる指示によって駆動指示部３と、速度判定部４と、位置検出部５と、ＡＤ変換部６と、補正部７と、振幅取得部２０と、補正値演算部１０と、格納部１１と、位置算出部１２と、タイミング生成部１３とが動作制御される。上記プログラムメモリには、主制御部２１によって、駆動部２に対して目標速度を指示させ、当該目標速度に基づいて駆動部２が一定速度で移動駆動させているか否かを判定させ、かつ駆動部２の変位量を位置検出部５により検出させ、当該変位量に対応して周期的に変化する位置検出信号、例えば、駆動部２の移動量に応じた互いに９０度位相の異なるＡ相とＢ相の２つの正弦波信号を出力させるための位置制御プログラムが格納されている。
【００１４】
この位置制御プログラムは、駆動部２が一定速度で変位していると判定されると、位置検出部５から出力される２つの正弦波信号を所定のサンプリング周期Ｔ毎にサンプリングさせ、そのサンプリング値に基づいて２つの正弦波信号の振幅量を算出させる振幅取得機能と、この振幅取得機能によって算出された振幅量に基づいて２つの正弦波信号に対する振幅補正値を算出させ、当該振幅補正値に基づいて２つの正弦波信号を補正させる補正機能と、この補正機能によって補正された２つの正弦波信号に基づいて駆動部２の変位位置を算出させる位置算出機能とを実現させる。
【００１５】
駆動指示部３は、制御対象となる駆動部２に対して目標指示値Ｎ（駆動速度）を指示する。この駆動指示部３から指示される目標指示値Ｎは、速度判定部４にも送られる。  
速度判定部４は、駆動指示部３から指示された目標指示値Ｎを入力して現在の指示速度、例えば加速期間、定速期間、又は減速期間のいずれであるのかを判定する。  
位置検出部５は、駆動部２の移動量（変位量）に応じた互いに９０度位相の異なるＡ相とＢ相の２つの正弦波信号を出力する。この位置検出部５は、例えば、２相磁気エンコーダ又は光学式のエンコーダが用いられる。２相磁気エンコーダは、所定幅ピッチで磁極が着磁され、駆動部２の移動駆動と連動する磁気スケールと、この磁気スケールに隣接し、かつそれぞれ所定幅に固定配置された２組の磁気抵抗素子（ＭＲ素子）とから成る。光学式のエンコーダは、光の反射又は透過率を所定の幅毎に可変する光スケールを有し、この光スケールに対して投射光を反射又は透過させた成分の光の強度を検出する。
【００１６】
ＡＤ変換部６は、位置検出部５から出力されるＡ相とＢ相との２つの正弦波信号を入力し、Ａ相の正弦波信号を所定のサンプリング周期Ｔ毎にデジタル変換してそのデジタルＡ１信号を出力し、かつＢ相の正弦波信号を所定のサンプリング周期Ｔ毎にデジタル変換してそのデジタルＢ１信号を出力する。
【００１７】
なお、このＡＤ変換部６には、タイミング生成部１３が接続されている。このタイミング生成部１３は、所定のサンプリング周期Ｔ毎に例えばハイレベルに変化するパルス状のタイミング信号を出力する。従って、ＡＤ変換部６は、タイミング生成部１３から出力されるパルス状のタイミング信号が例えばハイレベルへの変化時に位置検出部５からの正弦波信号をデジタルデータに変換する。
【００１８】
補正部７は、ＡＤ変換部６から出力されたデジタルＡ１信号を入力し、このデジタルＡ１信号のオフセットと振幅とを補正し、任意の値に正規化したデジタルＡ２信号を出力し、かつＡＤ変換部６から出力されたデジタルＢ１信号を入力し、このデジタルＢ１信号のオフセットと振幅とを補正し、任意の値に正規化したデジタルＢ２信号を出力する。  
この補正部７は、後述する補正値演算部１０により算出されるＡ相の正弦波信号に対する第１の振幅補正値によりデジタルＡ１信号を補正し、かつ同補正値演算部１０により算出されるＢ相の正弦波信号の最大振幅量に基づいてＢ相の正弦波信号に対する第２の振幅補正値によりデジタルＢ１信号を補正する。
【００１９】
この補正部７には、第１の保持部８Ａを介してＡ相出力振幅演算部９Ａが接続されると共に、Ａ相出力振幅演算部９Ａが直接接続されている。第１の保持部８Ａは、補正部７により補正されたデジタルＡ２信号を１サンプリング周期Ｔの期間保持してＡ相出力振幅演算部９Ａに送る。これにより、Ａ相出力振幅演算部９Ａには、現時点において補正部７により補正されたＡ２信号と、１サンプリング周期Ｔ前において補正部７により補正されたＡ２信号とがＡ相出力振幅演算部９Ａに送られる。
【００２０】
又、補正部７には、第２の保持部８Ｂを介してＢ相出力振幅演算部９Ｂが接続されると共に、Ｂ相出力振幅演算部９Ｂが直接接続されている。第２の保持部８Ｂは、補正部７により補正されたデジタルＢ２信号を１サンプリング周期保持してＢ相出力振幅演算部９Ｂに送る。これにより、Ｂ相出力振幅演算部９Ｂには、現時点において補正部７により補正されたデジタルＢ２信号と、１サンプリング周期前において補正部７により補正されたデジタルＢ２信号とが送られる。
【００２１】
振幅取得部２０は、補正部７により補正されたデジタルＡ２信号とデジタルＢ２信号とを入力し、速度判定部４から駆動部２が一定速度で移動（変位）しているとの判定結果を受けると、位置検出部５から出力されるＡ相とＢ相の２つの正弦波信号、ここでは位置検出部５から出力され、ＡＤ変換部６によりＡＤ変換され、補正部７によりオフセットと振幅との補正が行われたデジタルＡ２信号とデジタルＢ２信号とをそれぞれ所定のサンプリング周期Ｔ毎にサンプリングし、これらサンプリングされた各サンプリング値に基づいてＡ相とＢ相の２つの正弦波信号の振幅量を算出する。
【００２２】
具体的に振幅取得部２０は、Ａ相及びＢ相の２つの正弦波信号のそれぞれに対して、所定のサンプリング周期Ｔ毎に順次サンプリングをする。そして、振幅取得部２０は、Ａ相又はＢ相の２つの正弦波信号に対して、それぞれ時系列に連続して取得される２つのサンプリング値の比と、当該各サンプリング値の比の理論値とを比較し、これら各サンプリング値の比と理論値とが等しくなったときに、Ａ相とＢ相の２つの正弦波信号の最大振幅量を算出する。この振幅取得部２０は、第１の保持部８Ａと、第２の保持部８Ｂと、Ａ相出力振幅演算部９Ａと、Ｂ相出力振幅演算部９Ｂとを有する。
【００２３】
Ａ相出力振幅演算部９Ａは、補正部７から出力される現時点でのサンプリング値Ａ２と、第１の保持部８Ａに保持されている１サンプリング周期Ｔ前のサンプリング値ａ２と、速度判定部４により判定された現在の指示速度とを入力し、これらサンプリング値Ａ２、サンプリング値ａ２と、現在の指示速度とからＡ相の正弦波信号の最大振幅量（ピーク値）を算出する。
【００２４】
Ｂ相出力振幅演算部９Ｂは、補正部７から出力される現時点でのサンプリング値Ｂ２と、第２の保持部８Ｂに保持されている１サンプリング周期Ｔ前のサンプリング値ｂ２と、速度判定部４により判定された現在の指示速度とを入力し、これらサンプリング値Ｂ２、サンプリング値ｂ２と、現在の指示速度とからＢ相の正弦波信号の最大振幅量（ピーク値）を算出する。
【００２５】
補正値演算部１０は、Ａ相出力振幅演算部９Ａにより算出されたＡ相の正弦波信号の最大振幅量と、Ｂ相出力振幅演算部９Ｂにより算出されたＢ相の正弦波信号の最大振幅量とを入力し、このうちＡ相の正弦波信号の最大振幅量に基づいて当該Ａ相の正弦波信号に対する第１の振幅補正値を算出し、Ｂ相の正弦波信号の最大振幅量に基づいて当該Ｂ相の正弦波信号に対する第２の振幅補正値を算出する。
【００２６】
具体的に補正値演算部１０は、Ａ相出力振幅演算部９Ａにより算出されたＡ相の正弦波信号の最大振幅量と振幅正規化値との比から第１の振幅補正値を算出し、かつＢ相出力振幅演算部９Ｂにより算出されたＢ相の正弦波信号の最大振幅量と振幅正規化値との比から第２の振幅補正値を算出する。
【００２７】
格納部１１には、補正値演算部１０により算出された第１の振幅補正値と、第２の振幅補正値とが格納される。  
位置算出部１２は、駆動部２の移動量に応じた互いに９０度位相の異なるＡ相とＢ相との２相の正弦波信号の各サンプリング値、すなわち位置検出部５から出力され、ＡＤ変換部６によりＡＤ変換され、補正部７によりオフセットと振幅との補正が行われたデジタルＡ２信号とデジタルＢ２信号とを所定のサンプリング周期Ｔ毎にサンプリングした各サンプリング値に基づいて駆動部２の駆動位置を算出する。この位置算出部１２は、Ａ相とＢ相との２相の正弦波信号の各サンプリング値の比率を算出するものとなり、Ａ相とＢ相との２相の正弦波信号の取り得るベクトル軌跡の位相角を算出することによって駆動部２の駆動位置を算出する。  
なお、上記第１の実施の形態は、Ａ相とＢ相との２相の正弦波信号に基づいて駆動部２の駆動位置を算出しているが、これに限らず、Ａ相又はＢ相のうちいずれか一方の正弦波信号の検出値に基づいて当該一方の正弦波信号の取り得るベクトル軌跡の位相角を算出し、この位相角から駆動部２の駆動位置を算出するようにしてもよい。
【００２８】
次に、本装置１における補正値演算部１０による第１と第２の振幅補正値の算出方法について図２及び図３を参照して説明する。  
図２は駆動部２を移動制御するときの駆動速度の一例（下側）と、同駆動部２を移動制御するときの位置検出部５から出力されるＡ相又はＢ相のいずれか一方の正弦波信号（上側）の時間変化を示す。
【００２９】
駆動部２は、駆動指示部３から指示される目標指示値Ｎに基づいて目標駆動速度、目標駆動方向及び目標位置（以下、駆動速度、駆動方向及び目標位置と称する）に従って駆動される。駆動指示部３から指示される目標指示値Ｎに従った駆動速度は、一般的な速度変化を示すもので、例えば図２下部に示すように加速期間と定速期間と減速期間とから成る台形の速度変化を示す。  
同図２上部には、駆動部２が台形速度駆動に追従している場合の位置検出部５から出力される正弦波信号の時間変化を示す。定速期間中の駆動速度をＶ、エンコーダのピッチ（正弦波1周期分の距離）をＰとすると、繰り返し角周波数ωは次式（１）により表される。  
ω＝（Ｖ／Ｐ）・２π                                …（１）
次に、基準となる環境温度条件である環境温度ＴＫ０において位置検出部５から出力されるＡ相とＢ相との２相の正弦波信号について説明する。  
定速期間中において、位置検出部５から出力されるＡ相の正弦波信号は、次式（２）により表される。  
Ａ１ＴＫ０＝α0・sin(ωt)＋β0                      …（２）  
β0はオフセット電圧  
環境温度ＴＫ０で予め調整した初期補正量と、所用の振幅の正規化値α0’を用いると、補正部７から出力されるデジタルＡ２信号は、次式（３）により表される。  
Ａ２ＴＫ０＝α0’・sin(ωt)                          …（３）  
ここで、初期補正量とは、Ａ相、Ｂ相の各々の振幅中心値及びＡ相、Ｂ相の振幅が所用の振幅の正規化値α0’となるようなゲイン値である。
【００３０】
補正部７は、ＡＤ変換部６から出力されるデジタルＡ１信号に対して第１の振幅補正値を適用し、かつデジタルＢ１信号に対して第２の振幅補正値を適用することにより振幅±α0’の符号を持つ値を得る。  
位置検出部１２として温度変化に対するオフセットレベルの変動が小さいセンサ、例えばＧＭＲセンサなどの場合、上記式（２）の第２項は、初期補正量を適用できるので、任意の環境温度ＴＫにおけるデジタルＡ２信号は、次式（４）のように表される。  
Ａ２ＴＫ＝α’・sin(ωt)                                …（４）
次に、補正部７による振幅補正量の算出作用について図３を参照して具体的に説明する。  
図３は位置検出部５から出力されるＡ相又はＢ相との２相の正弦波信号のどちらか１つをＡＤ変換部６によって所定のサンプリング周期Ｔでデジタル化した値を取得する作用を示す。同図においてｔ１、ｔ２、・・・、ｔｍ（ｍ＝自然数）をサンプリング時刻とし、例えばＴ（＝ｔ１−ｔ２）をサンプリング周期Ｔとする。なお、サンプリング周期Ｔは、任意に設定可能である。
【００３１】
環境温度ＴＫにおいて、サンプリング周期Ｔの２周期に亘る各サンプリング時ｔ１、ｔ２において連続的に取得した各デジタルＡ２信号のサンプリング値をそれぞれＸ（ｔ１），Ｙ（ｔ２）とする。サンプリング周期Ｔ（＝ｔ１−ｔ２）の逆数は、サンプリング周波数Ｆ（＝１／Ｔ）Ｈｚとなる。
【００３２】
ここで、各サンプリング時ｔ１、ｔ２の各サンプリング値Ｘ（ｔ１）、Ｙ（ｔ２）をそれぞれサンプリング時間ｔ１、ｔ２に関係なくＸ、Ｙとして表し、第１の比Ｘ／Ｙを求めると、次式（５）に示すように、  
Ｘ／Ｙ＝sin(ω・ｔ１)／sin(ω・ｔ２)                        …（５）
となり、振幅成分が相殺される。  
ωは、上記式（１）に示すように既知の値の繰り返し角周波数となる。
【００３３】
そこで、サンプリング周波数Ｆの逆数となるサンプリング周期１／Ｆ（＝Ｔ）よりも十分に早い周期間隔ｔ'の整数ｋ倍となる補間期間ｔ’・ｋを用いて次式（６）に示す第２の比、すなわち、  
ｘ'／ｙ' ＝ sin(ωｔ'・ｋ)／sin[ω(ｔ'・ｋ＋１／Ｆ)]    …（６）  
ｔ’＜（ｔ２−ｔ１）
なお、ｋ＝０，１，２，３，・・・，ｎ（整数）  
の関係が成り立つ補間値ｋを求めると、  
ｔ'・ｋ＝ｔ１                                        …（７）
となり定速期間中のsin(ω・ｔ１)の値が算出できる。
【００３４】
上記式（５）に示す第１の比Ｘ／Ｙは、実際に取得された値（実測値）の比、すなわち位置検出部５から出力されたＡ相又はＢ相の正弦波信号をＡＤ変換部６によってＡＤ変換（デジタル化）し、所定のサンプリング周期Ｔ毎（ｔ＝ｔ１、ｔ＝ｔ２）で取得した値ＸとＹとの比である。
【００３５】
上記式（６）に示す第２の比ｘ'／ｙ'は、補間期間ｔ＝ｔ’・ｋに対して既知の正弦波関数であるｘ’＝sin(ωt'・ｋ)、及びｙ’＝sin[ω(ｔ'・ｋ＋１／Ｆ)]でそれぞれ算出される理論算出値である。この式（６）は、駆動部２が等速移動している場合、上記式（１）により決まる角周波数ωの正弦波信号で変化する理論的な値を示す。
【００３６】
そして、補正部７の振幅補正量を算出するのには、上記式（５）に示す第１の比Ｘ／Ｙと上記式（６）に示す第２の比ｘ'／ｙ'の各値が比較される。すなわち、第１の比Ｘ／Ｙと任意のｋの値となる第２の比ｘ'／ｙ'の値との比較が行われ、この比較判定の結果、次式（７）に示すように両者が等しくなるｋの値が算出される。  
ｘ'／ｙ'＝Ｘ／Ｙ                                  …（８）
この比較判定によって上記式（７）に示すように上記式（５）と上記式（６）とが等しくなる条件では、補間期間ｔ＝ｔ’・ｋは、  
ｔ’・ｋ＝ｔ１  
ｔ’・ｋ＋（１／Ｆ）＝ｔ２          …（９）  
となる。すなわち、ｔ’・ｋ＝ｔ１（サンプリング時）からサンプリング周期Ｔ（＝１／Ｆ）が経過すると、サンプリング時ｔ２になる補間値ｋを求める。
【００３７】
従って、実測値から得た上記式（５）に示す第１の比Ｘ／Ｙの値と、理論算出値である上記式（６）に示す第２の比ｘ'／ｙ'の値とが等しくなる場合、位置検出部５から出力される正弦波信号に対して繰り返し角周波数ωと位相とが確定できる。  
よって、任意の環境温度ＴＫにおける位置検出部５から出力される正弦波信号の振幅（最大振幅値α’は、上記式（６）に示すsin(ω・ｔ１)及びサンプリング時間ｔ１のときのＡ２信号の値Ｘとを用いると、次式（１０）によって算出される。  
α’＝Ｘ／sin（ω・ｔ１）                            …（１０）  
この式（１０）により算出された最大振幅値α’と、任意の振幅の正規化値α0’との比から任意の環境温度ＴＫにおける振幅変化に伴う補正係数γは、次式（１１）により算出される。  
γ＝α0’／α’                                  …（１１）
このように図２に示す台形速度制御では、定速期間中に、上記式（６）から上記式（１１）の演算により位置検出部５から出力されるＡ相とＢ相との正弦波信号に対する振幅補正値、すなわちＡ１信号に対する第１の振幅補正値と、Ｂ１信号に対する第２の振幅補正値とを算出し、第１の振幅補正値によってＡ１信号を補正し、第２の振幅補正値によってＢ１信号を補正する。
【００３８】
なお、任意の時間周期（ｔ’）は、現在のサンプリング時（ｔ＝ｔ２)から１つ前のサンプリング時（ｔ＝ｔ１)との時間差（ｔ２−ｔ１）から算出されるサンプリング周波数Ｆ（（＝１／（ｔ１-ｔ２））に対して次式（１２）が成り立つ条件である。  
ｔ’＜（１／Ｆ）＜π／ω                          …（１２）
図４はＡ相出力振幅演算部９Ａの機能ブロック図を示す。なお、Ｂ相出力振幅演算部９Ｂの機能ブロック図は、Ａ相出力振幅演算部９Ａの機能ブロック図と同一なので、その説明は省略する。このＡ相出力振幅演算部９Ａの機能ブロック図は、上記式（１）乃至（１２）に示す処理を機能ブロックとして示す。
【００３９】
このＡ相出力振幅演算部９Ａは、実際に取得された値（実測値）のＸとＹとの第１の比比Ｘ／Ｙを算出し、理論算出値である第２の比ｘ'／ｙ'を算出し、これらＸ／Ｙの値と理論算出値であるｘ'／ｙ'の値とを比較し、これら値が等しくなる場合から任意の環境温度ＴＫにおける位置検出部５から出力される正弦波信号の振幅（最大振幅値α’）を算出するもので、第１の比算出部１００と、第２の比算出部１０１と、最大振幅演算部１０２とを有する。
【００４０】
第１の比算出部１００は、例えば図３に示す各サンプリング時ｔ１、ｔ２のうち現在のサンプリング時（ｔ＝ｔ２)のサンプリング値を第２の検出値Ｙとし、当該第２の検出値Ｙと保持部８Ａ又は８Ｂに保持されている１サンプリング周期前のサンプリング値を第１の検出値Ｘとし、これら第２の検出値Ｙと第１の検出値Ｘとの第１の比Ｘ／Ｙを算出する。なお、この第１の比算出部１００は、検出値比率算出部１００とも称して説明する。  
この検出値比率算出部１００は、上記式（５）に基づいて位置検出部５から出力されるＡ相又はＢ相の正弦波信号に対して所定のサンプリング周期Ｔ（＝ｔ２−ｔ１）で取得したＡ２信号とａ２信号のそれぞれでの検出値（Ｘ値とＹ値）の比率である上記第１の比Ｘ／Ｙを算出する。
【００４１】
第２の比算出部１０１は、第１の比Ｘ／Ｙに対応する理論算出値を第２の比ｘ'／ｙ'として算出するもので、角速度検出部９２と、基準関数算出部９３と、比較参照値算出部９４とを有する。
【００４２】
角周波数検出部９２は、速度判定部４により判定した指示速度が定速状態であるのか否かの判定結果と、定速状態であると判定されたときの駆動速度ｖの値とを入力し、当該駆動速度ｖから上記式（１）に基づいて繰り返し角周波数ωを算出する。
【００４３】
基準関数算出部９３は、角速度検出部９２により算出された繰り返し角速度ωに対応する繰り返し周期である基準関数を設定し、２つの任意のサンプリング時（ｔ’・ｋ、ｔ’・ｋ＋１／Ｆ）のそれぞれの基準関数の演算値（ｘ’、ｙ’）を算出する。  
基準関数は、上記式（６）に基づき、正弦波関数としてそれぞれの演算値（ｘ’、ｙ’）を算出する。  
ｘ' ＝ sin(ωｔ'・ｋ)                            …（１３）  
ｙ' ＝ sin[ω(ｔ'・ｋ＋１／Ｆ)]                  …（１４）  
ｔ’＜（ｔ２-ｔ１）  
なお、ｋ＝０，１，２，３，・・・，ｎ（整数）
比較参照値算出部９４は、基準関数算出部９３により設定されたサンプリング時ｔ’・ｋに対する基準関数のそれぞれの演算値（ｘ’、ｙ’）の第２の比ｘ’／ｙ’を第２算出値として上記式（６）に基づいて算出する。
【００４４】
最大振幅演算部１０２は、第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とを比較し、当該第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とが等しくなった場合、例えば、サンプリング時ｔ１における位置検出部５から出力されるＡ相又はＢ相の正弦波信号の位相値と、同Ａ相又はＢ相の正弦波信号の繰り返し角周波数ωと、保持部８Ａ又は８Ｂに保持されている１サンプリング周期Ｔ前のサンプリング値Ｘとに基づいて位置検出部５から出力される正弦波信号の振幅（最大振幅値α’）を演算し求めるもので、位相値特定部９５と、最大振幅値算出部９６とを有する。
【００４５】
位相値特定部９５は、検出値比率算出部１００により算出された第１の比Ｘ／Ｙと、比較参照値算出部９４によって算出されたサンプリング時ｔ’・ｋでの第２の比ｘ'／ｙ'とを比較する。  
この比較の結果、第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とが等しくなければ、基準関数算出部９３は、再度、補間期間ｔ’・ｋの値である整数ｋの値を変えて角速度検出部９２により算出された繰り返し角速度ωに対応する繰り返し周期である基準関数を設定し、２つの任意のサンプリング時（ｔ’・ｋ、ｔ’・ｋ＋１／Ｆ）のそれぞれの基準関数の演算値（ｘ’、ｙ’）を算出する。  
一方、第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とが上記式（８）に示すように等しくなれば、位相値特定部９５は、上記式（９）に示すように補間期間ｔ’・ｋからデジタルＡ２信号のＸ値のサンプリング時ｔ１を推定する。
【００４６】
最大振幅値算出部９６は、位相値特定部９５によって上記式（９）に示すように推定された補間期間ｔ’・ｋと、角周波数検出部９２によって算出された繰り返し角周波数ωと、サンプリング時ｔ＝ｔ１のときの位置検出部５から出力されるＡ相とＢ相との２相の正弦波信号のサンプリング値Ｘにより上記式（１０）に基づいて最大振幅値α’を算出する。
【００４７】
次に、上記補正係数γの算出を可否する判断について説明する。  
図５は駆動部２を移動制御させるための駆動指示部３から指示される目標指示値Ｎの時間変化すなわち移動速度プロファイルの各種類を示す。同図は最高速度Ｖ１が定速期間となる台形速度プロファイルＦ１と、定速期間をもたない加速減速速度プロファイルＦ２と、これらプロファイルＦ１、Ｆ２に対して移動方向が反対でかつ最高速度Ｖ２が定速期間となる台形速度プロファイルＦ３との一例を示す。
【００４８】
駆動部２は、上記図５に示す各移動速度プロファイルの目標指示値Ｎに従って駆動方向と駆動速度とが変更されながら駆動される。このように駆動部２を移動速度プロファイルの目標指示値Ｎに従って制御しているとき、速度判定部４は、駆動指示部３から指示されている現在の目標指示値Ｎを入力し、この目標指示値Ｎから現在速度が加速期間、定速期間、又は減速期間のいずれかであるのかを判定する。
【００４９】
この判定の結果、定速期間であれば、補正値演算部１０は、上記式（６）乃至式（７）から補正係数γを算出し、当該補正係数γを基に補正値、すなわちＡ１信号に対する第１の振幅補正値と、Ｂ１信号に対する第２の振幅補正値とを更新する。  
一方、速度判定部４の判定の結果、駆動部２が加速期間又は減速期間であれば、補正値演算部１０は、１サンプリング周期Ｔ前のサンプリング時のＡ１信号に対する第１の振幅補正値と、Ｂ１信号に対する第２の振幅補正値とを維持し、これら第１と第２の振幅補正値の更新を行わない。
【００５０】
次に、上記の如く構成された装置１の動作について図６に示す全体の補正処理フローチャートについて説明する。  
駆動指示部３は、ステップＳ１において、駆動部２に対して目標指示値Ｎを指示する。この目標指示値Ｎは、速度判定部４にも送られる。  
速度判定部４は、ステップＳ２において、駆動指示部３から指示された目標指示値Ｎを入力して現在の指示速度が例えば加速期間、定速期間、又は減速期間のいずれであるのかを判定する。  
この判定の結果、定速期間であれば、速度判定部４は、ステップＳ３において、駆動指示部３から指示された目標指示値Ｎから第１の振幅補正値と第２の振幅補正値とを算出する上で必要な駆動速度Ｖを設定する。  
補正値演算部１０は、ステップＳ４において、Ａ相出力振幅演算部９Ａにより算出されたＡ相の正弦波信号の最大振幅量と振幅正規化値との比から第１の振幅補正値を算出し、かつＢ相出力振幅演算部９Ｂにより算出されたＢ相の正弦波信号の最大振幅量と振幅正規化値との比から第２の振幅補正値を算出する。  
補正値演算部１０は、ステップＳ５において、第１の振幅補正値と第２の振幅補正値に更新する。
【００５１】
位置算出部１２は、ステップＳ６において、駆動部２の移動量に応じた互いに９０度位相の異なるＡ相とＢ相との２相の正弦波信号の各検出値、すなわち位置検出部５から出力され、ＡＤ変換部６によりＡＤ変換され、補正部７によりオフセットと振幅との補正が行われたデジタルＡ２信号とデジタルＢ２信号とを所定のサンプリング周期Ｔ毎にサンプリングした各サンプリング値に基づいて駆動部２の移動位置を算出する。  
なお、上記ステップＳ２での判定の結果、定速期間以外であれば、速度判定部４は、ステップＳ７に移り、予め設定されていた更新前の第１の振幅補正値と第２の振幅補正値とを維持して終了する。
【００５２】
次に、上記補正値算出（ステップＳ４）について図７に示す補正値算出フロートチャートに従って説明する。  
位置検出部５は、駆動部２の移動量に応じた互いに９０度位相の異なるＡ相とＢ相の２つの正弦波信号を出力する。  
ＡＤ変換部６は、位置検出部５から出力されるＡ相とＢ相との２つの正弦波信号を入力し、これら正弦波信号をサンプリング周期Ｔ毎にデジタルのＡ１信号とＢ１信号とに変換する。
【００５３】
補正部７は、ステップＳ１１において、サンプリング周期Ｔ（＝１／Ｆ）毎のサンプリング時、例えばサンプリング時ｔ１、ｔ２等になったか否かを判定する。この判定の結果、サンプリング周期Ｔでなければ、補正部７は、ステップＳ１１を繰り返し、サンプリング周期Ｔ毎のサンプリング時、例えばサンプリング時ｔ１、ｔ２等になるまで待つ。  
この判定の結果、サンプリング周期Ｔ毎のサンプリング時、例えばサンプリング時ｔ１、ｔ２等になると、補正部７は、ステップＳ１２に移り、ＡＤ変換部６から出力されるデジタルＡ１信号及びデジタルＢ１信号を入力する。例えば、補正部７は、図３に示すようにサンプリング時ｔ（＝ｔ１、ｔ２、・・・、ｔｍ）毎にデジタルＡ１信号及びデジタルＢ１信号を入力する。なお、このときのＡ相の正弦波信号は、上記式（２）と同様に、  
Ａ１ＴＫ＝α’・sin(ωt)＋β  
により表される。なお、同式（２）では基準となる環境温度条件である温度Ｔ（＝ＴＫ０）を含まない。
【００５４】
補正部７は、ステップＳ１３において、ＡＤ変換部６により生成されたデジタルＡ１信号とデジタルＢ１信号とを入力し、これらデジタルＡ１信号とデジタルＢ１信号とのオフセットと振幅とを補正し、任意の値に正規化したデジタルＡ２信号とデジタルＢ２信号とを出力する。例えば、補正部７は、デジタルＡ１信号を補正し、正規化することにより上記式（４）のように表されるデジタルＡ２信号を出力する。なお、下記の式は、環境温度ＴＫにおけるＡ２ＴＫ信号を示す。  
Ａ２ＴＫ＝α’・sin(ωt)  
補正部７は、ステップＳ１４において、サンプリング周期Ｔ毎にサンプリングするデジタルＡ１信号とデジタルＢ１信号とを補正値算出に用いるために、例えば図３に示すように現サンプリング時刻ｔ２においてＡ１信号を補正して取得したＡ２ＴＫ信号をＸ（ｔ２）として第１の保持部８Ａに保持し、１サンプリング周期Ｔ前のサンプリング時刻ｔ１において保持したＡ２ＴＫ信号をＹ（ｔ１）としてＡ相出力振幅演算部９Ａに送る。  
なお、サンプリング時刻ｔ３においては、現サンプリング時刻ｔ３においてＡ１信号を補正して取得したＡ２ＴＫ信号をＸ（ｔ３）として第１の保持部８Ａに保持し、１サンプリング周期Ｔ前のサンプリング時刻ｔ２において保持したＡ２ＴＫ信号をＹ（ｔ２）としてＡ相出力振幅演算部９Ａに送る。
【００５５】
Ａ相出力振幅演算部９Ａは、ステップＳ１５において、サンプリング周期Ｔ毎にサンプリングしたＡ１信号により連続的にＡ２ＴＫ信号を取得したか否かを判定する。この判定の結果、連続的にＡ２ＴＫ信号を取得していれば、Ａ相出力振幅演算部９Ａの角速度検出部９２は、ステップＳ１６に移行して上記式（１）に示す繰り返し角周波数ω、  
ω＝（Ｖ／Ｐ）・２π  
を算出する。  
なお、上記判定の結果、連続的にＡ２ＴＫ信号を取得していなければ、上記ステップＳ１１に戻り、サンプリング周期Ｔ（＝１／Ｆ）毎のサンプリング時になったか否かの判定が行われる。
【００５６】
このＡ相出力振幅演算部９Ａの第１の比算出部１００は、ステップＳ１７において、各サンプリング時に取得されたサンプリング値Ｘ、Ｙを用いて上記式（５）に示す第１の比Ｘ／Ｙを求める。  
Ｘ／Ｙ＝sin(ωｔ１)／sin(ωｔ２)  
第１の比Ｘ／Ｙは、実際に各サンプリング時において取得された実測値の比である。
【００５７】
基準関数算出部９３は、ステップＳ１８において、補間期間ｔ’・ｋを設定する。  
この基準関数算出部９３は、角速度検出部９２により算出された繰り返し角速度ωに対応する繰り返し周期である基準関数を設定し、２つの任意のサンプリング時（ｔ’・ｋ、ｔ’・ｋ＋１／Ｆ）のそれぞれの基準関数の演算値（ｘ’、ｙ’）を算出する。この基準関数は、正弦波関数としてそれぞれの演算値（ｘ’、ｙ’）を算出する。  
ｘ'＝sin(ωｔ'・ｋ)  
ｙ' ＝sin[ω(ｔ'・ｋ＋１／Ｆ)]  
比較参照値算出部９４は、ステップＳ１９において、基準関数算出部９３により設定された補間期間ｔ’・ｋに対する基準関数のそれぞれの演算値（ｘ’、ｙ’）の第２の比ｘ’／ｙ’を第２算出値として上記式（６）に基づいて算出する。  
ｘ'／ｙ' ＝ sin(ωｔ'・ｋ)／sin[ω(ｔ'・ｋ＋１／Ｆ)]  
位相値特定部９５は、ステップＳ２０において、検出値比率算出部１００により算出された第１の比Ｘ／Ｙと、比較参照値算出部９４によって算出された補間期間ｔ’・ｋでの第２の比ｘ'／ｙ'とを比較し、上記式（８）に示すように第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とが一致するか否かを判定する。  
Ｘ／Ｙ＝ｘ'／ｙ'  
この判定の結果、第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とが一致しなければ、基準関数算出部９３は、ステップＳ２１において、再度、補間期間ｔ‘×ｋの値であるｋの値を変えて角速度検出部９２により算出された角速度ωに対応する繰り返し時間周期である基準関数を設定し、ｔ’・ｋ を ｔ’・（ｋ＋１）としてステップＳ１９に戻り、再び、第２の比ｘ'／ｙ'を算出する。
【００５８】
一方、上記判定の結果、第１の比Ｘ／Ｙと第２の比ｘ'／ｙ'とが等しければ、位相値特定部９５は、上記式（９）に示すように、このときの補間期間ｔ’・ｋからＡ２信号のＸ値のサンプリング時ｔ１を推定する。
【００５９】
最大振幅値算出部９６は、ステップＳ２２において、位相値特定部９５によって上記式（９）に示すように推定された補間期間ｔ’・ｋと、角周波数検出部９２によって算出された繰り返し角周波数ωと、サンプリング時ｔ＝ｔ１のときの位置検出部５から出力されるＡ相とＢ相との２相の正弦波信号のサンプリング値Ｘにより上記式（１０）に基づいて最大振幅値α’を算出する。  
α’＝Ｘ／sin（ωｔ１）
補正値演算部１０は、ステップＳ２３において、上記式（１１）を用いて補正係数γを算出する。  
γ＝α0’／α’  
この補正値演算部１０は、当該補正係数γを基に補正値、すなわちＡ１信号に対する第１の振幅補正値と、Ｂ１信号に対する第２の振幅補正値とを更新する。  
なお、速度判定部４の判定の結果、駆動部２が加速期間又は減速期間であれば、補正値演算部１０は、１サンプリング周期Ｔ前のサンプリング時のＡ１信号に対する第１の振幅補正値と、Ｂ１信号に対する第２の振幅補正値とを維持し、これら第１と第２の振幅補正値の更新を行わない。
【００６０】
補正値演算部１０は、Ａ相出力振幅演算部９Ａにより算出されたＡ相の正弦波信号の最大振幅量と振幅正規化値との比から第１の振幅補正値を算出し、かつＢ相出力振幅演算部９Ｂにより算出されたＢ相の正弦波信号の最大振幅量と振幅正規化値との比から第２の振幅補正値を算出する。
【００６１】
格納部１１には、補正値演算部１０により算出された第１の振幅補正値と、第２の振幅補正値とが格納される。  
補正部７は、補正値演算部１０により算出される第１の振幅補正値によりＡ１信号とＢ１信号と補正する。なお、この補正部７は、補正値演算部１０により算出されるＡ相の正弦波信号に対する第１の振幅補正値によりＡ１信号を補正し、かつ同補正値演算部１０により算出されるＢ相の正弦波信号の最大振幅量に基づいて当該Ｂ相の正弦波信号に対する第２の振幅補正値によりＢ１信号を補正する。
【００６２】
このように上記第１の実施の形態によれば、目標指示値Ｎに基づいて駆動部２が一定速度で変位しているか否かを判定し、この駆動部２の変位量を検出して当該変位量に対応して周期的に変化する互いに９０度位相の異なるＡ相とＢ相の２つの正弦波信号を出力し、駆動部２が一定速度で変位していると判定されると、２つの正弦波信号を所定のサンプリング周期Ｔ毎にサンプリングし、当該サンプリングされたＡ１信号及びＢ１信号に基づいて２つの正弦波信号の振幅量を算出し、当該振幅量に基づいて２つの正弦波信号に対する振幅補正値を算出して補正し、この補正された２つの正弦波信号に基づいて駆動部２の変位位置を算出するので、周囲の温度情報又は駆動部２の駆動速度の少なくとも一方又は両方によらず、又は位置検出部５から出力されるＡ相とＢ相の２つの正弦波信号の周波数（速度）によらず、Ａ相とＢ相の２つの正弦波信号の少ないサンプリング数のＡ１信号及びＢ１信号から正確な振幅を算出し、この振幅変化による補正値、すなわちＡ１信号に対する第１の振幅補正値と、Ｂ１信号に対する第２の振幅補正値の更新ができる。
【００６３】
これにより、駆動部２を常時駆動制御するような制御装置に本装置１を適用する場合においても、温度情報や駆動速度によらず、少ないサンプリング数から正確な振幅を算出し、振幅変化による補正値の更新ができる。
［第２の実施の形態］  
次に、本発明の第２の実施の形態について図面を参照して説明する。なお、図１と同一部分には同一符号を付してその説明は省略する。  
図８は位置制御装置１のブロック構成図を示す。本装置１の第２の実施の形態と相違するところは、位置保持部３０と、速度判定部３１とを備えている点である。  
主制御部２１のプログラムメモリには、上記第１の実施の形態と同様の位置制御プログラムが格納されている。この位置制御プログラムは、駆動部２が一定速度で変位していると判定されると、位置検出部５から出力される２つの正弦波信号を所定のサンプリング周期毎にサンプリングさせ、そのサンプリング値に基づいて２つの正弦波信号の振幅量を算出させる振幅取得機能と、この振幅取得機能によって算出された振幅量に基づいて２つの正弦波信号に対する振幅補正値を算出させ、当該振幅補正値に基づいて２つの正弦波信号を補正させる補正機能と、この補正機能によって補正された２つの正弦波信号に基づいて駆動部２の変位位置を算出させる位置算出機能と、を実現させ、さらに、位置算出機能により算出された駆動部２の変位位置に基づいて駆動部２の駆動速度を判定させる速度判定機能を有し、速度判定機能は、移動速度検出機能により検出された駆動速度と、駆動指示部３により指示された目標速度とに基づいて駆動部２が一定速度で変位しているか否かを判定させ、振幅取得機能は、速度判定機能により駆動部２が一定速度で変位していると判定されると、位置検出機能から出力される２つの正弦波信号を所定のサンプリング周期毎にサンプリングさせ、そのサンプリング値に基づいて２つの正弦波信号の振幅量を算出させることを実現させる。
【００６４】
位置保持部３０は、位置算出部１２に接続され、この位置算出部１２により算出された駆動部２の駆動位置を保持する。  
速度判定部３１は、位置保持部２５に保持された駆動部２の駆動位置と、駆動指示部２３から指示される目標指示値Ｎとに基づいて駆動部２の速度判定を行う。
【００６５】
上記第１の実施の形態では、駆動部２が等速で駆動しているか否かの判定を駆動指示部３から指示される目標指示値Ｎのみで行っている。  
これに対して本実施の形態では、速度判定部３１が実際に位置検出部１２により検出した駆動部２の駆動位置により判定している。
【００６６】
このような構成にするのは、駆動部２は、必ずしも正確に駆動指示部３から指示される目標指示値Ｎに追従しているとは限らない。  
従って、本実施の形態では、図８に示す構成のように位置算出部１２の後段に、位置保持部３０と、速度判定部３１とを設け、位置算出部１２により連続的に算出される駆動部２の駆動位置と、サンプリング周波数Ｆとから駆動部２の現在の速度を算出する。
【００６７】
速度判定部３１は、位置算出部１２に基づいて算出された現在速度と、駆動指示部２３から指示される目標指示値Ｎに対する閾値とを比較し、現在速度が目標指示値Ｎに対する閾値以内、例えば指示速度±５％以内であるか否かを判定する。  
この判定の結果、現在速度が目標指示値Ｎに対する閾値以内、例えば指示速度±５％以内であれば、速度判定部３１は、駆動部２が定速中であると判定する。  
駆動部２が定速中であれば、速度判定部３１は、Ａ相出力振幅演算部９Ａと、Ｂ相出力振幅演算部９Ｂとに対して補正係数の算出許可の信号を出力する。
【００６８】
次に、上記の如く構成された装置１の動作について図９に示す位置算出部１２から出力されるＡ相とＢ相との正弦波信号に対する全体の補正処理フローチャートについて説明する。  
本実施の形態の上記第１の実施の形態と相違するステップは、ステップＳ３０における速度の判定と、ステップＳ３１における駆動部２の速度の検出と、ステップＳ３２における定速期間であるか否かの判定と、ステップＳ３３における駆動部２の駆動位置の判定と、ステップＳ３４における駆動位置の保持とである。
【００６９】
駆動部２の速度の判定（ステップＳ３０）では、速度判定部３１は、位置保持部２５に保持された駆動部２の駆動位置と、駆動指示部２３から指示される目標指示値Ｎとに基づいて駆動部２の速度判定を行う。
【００７０】
駆動部２の速度の検出（ステップＳ３１）では、上記ステップＳ６において位置算出部１２により算出された駆動部２の位置を現在位置（Ｐ０）として保持する。すなわち、位置算出部１２は、ステップＳ６において、駆動部２の移動量に応じた互いに９０度位相の異なるＡ相とＢ相との２相の正弦波信号をサンプリング周期Ｔ毎にサンプリングしたＡ１信号とＢ１信号とに基づいて駆動部２の現在位置（Ｐｏ）を算出する。  
なお、駆動部２の現在位置（Ｐｏ）は、サンプリング周期Ｔ毎に算出されるので、現時点のサンプリング時刻で算出された駆動部２の現在位置をＰｏ１とし、１サンプリング周期前のサンプリング時刻で算出された駆動部２の現在位置をＰｏ０とする。
【００７１】
速度判定部３１は、現時点のサンプリング時刻で算出された駆動部２の現在位置Ｐｏ１と、１サンプリング周期前のサンプリング時刻で算出された駆動部２の現在位置Ｐｏ０と、サンプリング周波数Ｆとに基づいて次式（１５）から駆動部２の現在の速度を算出する。  
現在速度＝（Ｐｏ０−Ｐｏ１）×Ｆ                …（１５）  
定速期間であるか否かの判定（ステップＳ３２）では、速度判定部３１は、位置算出部１２に基づいて算出された現在速度と、駆動指示部２３から指示される目標指示値Ｎに対する閾値とを比較し、現在速度が目標指示値Ｎに対する閾値以内、例えば指示速度±５％以内であるか否かを判定する。
【００７２】
この判定の結果、現在速度が目標指示値Ｎに対する閾値以内、例えば指示速度±５％以内であれば、速度判定部３１は、駆動部２が定速中であると判定する。
【００７３】
駆動部２の駆動位置の判定（ステップＳ３３）では、位置算出部１２は、上記同様に、駆動部２の移動量に応じた互いに９０度位相の異なるＡ相とＢ相との２相の正弦波信号をサンプリング周期Ｔ毎にサンプリングしたＡ１信号とＢ１信号とに基づいて駆動部２の現在位置（Ｐｏ）を算出する。
【００７４】
駆動部２の駆動位置の保持（ステップＳ３４）では、現時点のサンプリング時刻で算出された駆動部２の現在位置をＰｏ１とし、１サンプリング周期前のサンプリング時刻で算出された駆動部２の現在位置をＰｏ０として保持する。
【００７５】
このように上記第２の実施の形態によれば、位置算出部１２の後段に、位置保持部３０と、速度判定部３１とを設け、位置算出部１２により連続的に算出される駆動部２の駆動位置と、サンプリング周波数Ｆとから駆動部２の現在の速度を算出するので、かかる構成であっても、上記第１の実施の形態と同様の効果を奏することができる。
【００７６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。  
【符号の説明】
【００７７】
１：位置制御装置、２：駆動部、３：駆動指示部、４：速度判定部、５：位置検出部、６：ＡＤ変換部、７：補正部、８Ａ：第１の保持部、９Ａ：Ａ相出力振幅演算部、８Ｂ：第２の保持部、９Ｂ：Ｂ相出力振幅演算部、１０：補正値演算部、１１：格納部、１２：位置算出部、１３：タイミング生成部、２０：振幅取得部、２１：主制御部、３０：位置保持部、３１：速度判定部、９２：角速度検出部、９３：基準関数算出部、９４：比較参照値算出部、９５：位相値特定部、９６：最大振幅値算出部、１００：第１の比算出部、１０１：第２の比算出部、１０２：最大振幅演算部。
【図１】
2016045638.tif 000003
【図２】
2016045638.tif 000004
【図３】
2016045638.tif 000005
【図４】
2016045638.tif 000006
【図５】
2016045638.tif 000007
【図６】
2016045638.tif 000008
【図７】
2016045638.tif 000009
【図８】
2016045638.tif 000010
【図９】
2016045638.tif 000011