(57)【要約】【課題】  角度検出を精度よく行うのに好適な位置検出器の誤差パラメータ抽出装置を提供する。【解決手段】  レゾルバ信号cosθ，sinθについて５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5を取得し、取得したサンプリング値ａ1〜ａ5、ｂ1〜ｂ5に基づいて、式（１）〜（７）により、オフセット、位相誤差および振幅差を補正するための誤差パラメータｒ、ｃ、ｄ、δを算出し、算出した誤差パラメータｒ、ｃ、ｄ、δに基づいて回転角度位置θを補正する。【選択図】  図２
2007033412.tif 000002
【特許請求の範囲】
【請求項１】
回転子の回転角度に応じて変化する位相の異なる２つの位置検出信号を出力する２相のレゾルバから前記位置検出信号を入力し、入力した位置検出信号に基づいて前記回転子の回転角度位置を検出する位置検出器と、前記位置検出器に適用される誤差パラメータ抽出装置とを備える装置であって、
前記位置検出器は、前記２つの位置検出信号のそれぞれについて回転角度位置が異なる任意の少なくとも２つずつのサンプリング値を取得するサンプリング値取得手段と、前記少なくとも２つずつのサンプリング値を前記誤差パラメータ抽出装置に送信し、前記誤差パラメータ抽出装置から誤差パラメータを受信する第１の入出力手段と、前記誤差パラメータを記憶するメモリと、前記サンプリング値取得手段で取得したサンプリング値および前記メモリの誤差パラメータに基づいて、前記回転子の回転角度位置を補正する回転角度位置補正手段とを備え、
前記誤差パラメータ抽出装置は、前記第１の入出力手段から送信された前記サンプリング値を受信し、前記誤差パラメータを前記位置検出器に送信する第２の入出力手段と、受信した前記サンプリング値に基づいて、前記２つの位置検出信号の誤差を補正するための誤差パラメータを算出する誤差パラメータ算出手段とを備えることを特徴とする位置検出器の誤差パラメータ抽出装置。
【請求項２】
請求項１において、
前記サンプリング値取得手段は、回転角度位置が異なる任意の少なくとも２つずつのサンプリング値ａ1〜ａnおよびｂ1〜ｂnを取得し、
前記誤差パラメータ算出手段は、前記サンプリング値取得手段で取得したサンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、次の２つの式により、前記２つの位置検出信号の誤差を補正するための誤差パラメータを算出することを特徴とする位置検出器の誤差パラメータ抽出装置。
ａi  ＝  Ａｃｏｓθi＋ｃ
ｂi  ＝  Ｂｓｉｎ（θi＋δ）＋ｄ
ただし、ｉ＝１、…、ｎ
【請求項３】
請求項２において、
ｎは２以上の整数であり、
前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式でｃ＝０、ｄ＝０およびδ＝０とした場合の式により、前記２つの位置検出信号の振幅差を補正するための誤差パラメータを算出するか、または、前記２つの式でｃ＝０、ｄ＝０およびＡ＝Ｂとした場合の式により、前記２つの位置検出信号の振幅差を補正するための誤差パラメータを算出することを特徴とする位置検出器の誤差パラメータ抽出装置。
【請求項４】
請求項２において、
ｎは３以上の整数であり、
前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式でｃ＝０およびｄ＝０とした場合の式により、前記２つの位置検出信号の振幅差および位相誤差を補正するための誤差パラメータを算出するか、または、前記２つの式でＡ＝Ｂおよびδ＝０とした場合の式により、前記２つの位置検出信号のオフセットを補正するための誤差パラメータを算出することを特徴とする位置検出器の誤差パラメータ抽出装置。
【請求項５】
請求項２において、
ｎは４以上の整数であり、
前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式でＡ＝Ｂとした場合の式により、前記２つの位置検出信号のオフセットおよび位相誤差を補正するための誤差パラメータを算出するか、または、前記２つの式でδ＝０とした場合の式により、前記２つの位置検出信号のオフセットおよび振幅差を補正するための誤差パラメータを算出することを特徴とする位置検出器の誤差パラメータ抽出装置。
【請求項６】
請求項２において、
ｎは５以上の整数であり、
前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式により、前記２つの位置検出信号のオフセット、位相誤差および振幅差を補正するための誤差パラメータを算出することを特徴とする位置検出器の誤差パラメータ抽出装置。
【請求項７】
回転子の回転角度に応じて変化する位相の異なる２つの位置検出信号を出力する２相のレゾルバから前記位置検出信号を入力し、入力した位置検出信号に基づいて前記回転子の回転角度位置を検出する位置検出器であって、
前記２つの位置検出信号のそれぞれについてサンプリング値を取得するサンプリング値取得手段と、前記サンプリング値から回転角度位置が異なる任意の少なくとも２つずつのサンプリング値を選択して保存するサンプリング値選択手段と、前記サンプリング値選択手段で保存された前記少なくとも２つずつのサンプリング値に基づいて、前記２つの位置検出信号の誤差を補正するための誤差パラメータを算出する誤差パラメータ算出手段と、前記誤差パラメータを記憶するメモリと、前記サンプリング値取得手段で取得した前記２つの位置検出信号のサンプリング値および前記メモリの誤差パラメータに基づいて、前記回転子の回転角度位置を補正する回転角度位置補正手段とを備えることを特徴とする誤差補正機能を備える位置検出器。
【請求項８】
請求項１〜７のいずれか１項に記載の位置検出器を備えることを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器に係り、特に、角度検出を精度よく行うのに好適な位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器に関する。
【背景技術】
【０００２】
回転子の回転角度を検出するセンサとしては、レゾルバが用いられている。レゾルバは、モータ等の回転軸に回転自在に取り付けられ、ロータとステータの間のリラクタンスがロータの位置により変化し、その変化に応じた電圧のレゾルバ信号を出力する。レゾルバからのレゾルバ信号はアナログであるため、これをディジタル信号に変換するレゾルバ用ディジタル変換器（ＲＤＣ：Resolver Digital Converter）が用意されている。
【０００３】
レゾルバには、位相が９０°異なる２つのレゾルバ信号を出力する２相のレゾルバがある。２相のレゾルバを用いる場合、ＲＤＣは、レゾルバから得られる２つのレゾルバ信号に基づいて、回転軸の回転角度位置を位置検出データとして検出する。レゾルバ信号は、誤差がない正弦波形であることが理想的である。しかし、実際は、ロータの形状のばらつき、コイルの特性、ロータとステータのギャップのばらつき等の原因により、レゾルバ信号に振幅差、オフセットおよび位相誤差が生じる。
【０００４】
従来、レゾルバ信号の誤差を考慮して補正を行う技術としては、例えば、特許文献１記載の位置検出器の補正方法、特許文献２記載の角度検出装置、および特許文献３記載のレゾルバの位相誤差補償方法が知られている。
特許文献１、２には、レゾルバ信号の振幅差を補正する技術が、特許文献３には、レゾルバ信号の位相誤差を補正する技術がそれぞれ開示されている。
【特許文献１】特開２００３−１６６８０３号公報
【特許文献２】特開２００４−１７７２７３号公報
【特許文献３】特開昭５９−１４８８１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１、２記載の発明は、レゾルバ信号の振幅差を補正して位置検出データを検出するため、レゾルバ信号に振幅差が生じても精度のよい角度検出を行うことができる。しかしながら、レゾルバ信号には、振幅差だけではなくオフセットも生じる。ＶＲ型のレゾルバの場合、励磁巻線と検出巻線が同じステータに巻かれているため、漏洩磁束の影響によって出力信号にオフセットが発生する。２相のレゾルバを用いる場合は、２つのレゾルバ信号の振幅比をとって回転角度位置を検出するため、オフセットによる影響は少なくない。振幅差を補正するだけでは、オフセットが生じた場合は、ほとんどの角度位置で誤差が生じることになる。したがって、特許文献１、２記載の発明にあっては、オフセットが生じた場合に角度検出を精度よく行うことができないという問題があった。
【０００６】
また、特許文献３記載の発明は、レゾルバ信号の位相誤差を考慮して補正を行うが、オフセットが生じた場合は上記同様の問題がある。また、レゾルバ信号を回路により補正し、補正したレゾルバ信号に基づいて位置検出データを検出するため、補正されたレゾルバ信号は、位相誤差が低減されても回路誤差が含まれてしまう。
このような問題は、レゾルバ信号にオフセットが生じた場合に限らず、位相誤差および振幅差が一度に生じた場合にも同様に想定される。すなわち、特許文献１、２記載の発明にあっては、振幅差の影響を低減できるが位相誤差の影響により検出精度が低下し、特許文献３記載の発明にあっては、位相誤差の影響を低減できるが振幅差の影響により検出精度が低下する。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、角度検出を精度よく行うのに好適な位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る請求項１記載の位置検出器の誤差パラメータ抽出装置は、回転子の回転角度に応じて変化する位相の異なる２つの位置検出信号を出力する２相のレゾルバから前記位置検出信号を入力し、入力した位置検出信号に基づいて前記回転子の回転角度位置を検出する位置検出器と、前記位置検出器に適用される誤差パラメータ抽出装置とを備える装置であって、前記位置検出器は、前記２つの位置検出信号のそれぞれについて回転角度位置が異なる任意の少なくとも２つずつのサンプリング値を取得するサンプリング値取得手段と、前記少なくとも２つずつのサンプリング値を前記誤差パラメータ抽出装置に送信し、前記誤差パラメータ抽出装置から誤差パラメータを受信する第１の入出力手段と、前記誤差パラメータを記憶するメモリと、前記サンプリング値取得手段で取得したサンプリング値および前記メモリの誤差パラメータに基づいて、前記回転子の回転角度位置を補正する回転角度位置補正手段とを備え、前記誤差パラメータ抽出装置は、前記第１の入出力手段から送信された前記サンプリング値を受信し、前記誤差パラメータを前記位置検出器に送信する第２の入出力手段と、受信した前記サンプリング値に基づいて、前記２つの位置検出信号の誤差を補正するための誤差パラメータを算出する誤差パラメータ算出手段とを備える。
【０００８】
このような構成であれば、位置検出器では、サンプリング値取得手段により、２つの位置検出信号のそれぞれについて回転角度位置が異なる任意の少なくとも２つずつのサンプリング値が取得され、第１の入出力手段により、取得されたサンプリング値が誤差パラメータ抽出装置に送信される。
誤差パラメータ抽出装置では、第２の入出力手段によりサンプリング値を受信すると、誤差パラメータ算出手段により、受信したサンプリング値に基づいて、２つの位置検出信号の誤差を補正するための誤差パラメータが算出される。そして、第２の入出力手段により、算出された誤差パラメータが位置検出器に送信される。
位置検出器では、第１の入出力手段により誤差パラメータを受信すると、受信した誤差パラメータがメモリに記憶される。そして、回転角度位置補正手段により、取得されたサンプリング値およびメモリの誤差パラメータに基づいて、回転子の回転角度位置が補正される。
【０００９】
さらに、本発明に係る請求項２記載の位置検出器の誤差パラメータ抽出装置は、請求項１記載の位置検出器の誤差パラメータ抽出装置において、前記サンプリング値取得手段は、回転角度位置が異なる任意の少なくとも２つずつのサンプリング値ａ1〜ａnおよびｂ1〜ｂnを取得し、前記誤差パラメータ算出手段は、前記サンプリング値取得手段で取得したサンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、次の２つの式により、前記２つの位置検出信号の誤差を補正するための誤差パラメータを算出する。
ａi  ＝  Ａｃｏｓθi＋ｃ
ｂi  ＝  Ｂｓｉｎ（θi＋δ）＋ｄ
ただし、ｉ＝１、…、ｎ
このような構成であれば、サンプリング値取得手段により、サンプリング値ａ1〜ａnおよびｂ1〜ｂnが取得され、誤差パラメータ算出手段により、取得されたサンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、上記２つの式により誤差パラメータが算出される。
【００１０】
さらに、本発明に係る請求項３記載の位置検出器の誤差パラメータ抽出装置は、請求項２記載の位置検出器の誤差パラメータ抽出装置において、ｎは２以上の整数であり、前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式でｃ＝０、ｄ＝０およびδ＝０とした場合の式により、前記２つの位置検出信号の振幅差を補正するための誤差パラメータを算出するか、または、前記２つの式でｃ＝０、ｄ＝０およびＡ＝Ｂとした場合の式により、前記２つの位置検出信号の振幅差を補正するための誤差パラメータを算出する。
【００１１】
このような構成であれば、誤差パラメータ算出手段により、サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、上記２つの式でｃ＝０、ｄ＝０およびδ＝０とした場合の式により、２つの位置検出信号の振幅差を補正するための誤差パラメータが算出される。または、２つの式でｃ＝０、ｄ＝０およびＡ＝Ｂとした場合の式により、２つの位置検出信号の振幅差を補正するための誤差パラメータが算出される。
【００１２】
さらに、本発明に係る請求項４記載の位置検出器の誤差パラメータ抽出装置は、請求項２記載の位置検出器の誤差パラメータ抽出装置において、ｎは３以上の整数であり、前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式でｃ＝０およびｄ＝０とした場合の式により、前記２つの位置検出信号の振幅差および位相誤差を補正するための誤差パラメータを算出するか、または、前記２つの式でＡ＝Ｂおよびδ＝０とした場合の式により、前記２つの位置検出信号のオフセットを補正するための誤差パラメータを算出する。
【００１３】
このような構成であれば、誤差パラメータ算出手段により、サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、２つの位置検出信号の振幅差および位相誤差を補正するための誤差パラメータが算出される。または、２つの式でＡ＝Ｂおよびδ＝０とした場合の式により、２つの位置検出信号のオフセットを補正するための誤差パラメータが算出される。
【００１４】
さらに、本発明に係る請求項５記載の位置検出器の誤差パラメータ抽出装置は、請求項２記載の位置検出器の誤差パラメータ抽出装置において、ｎは４以上の整数であり、前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式でＡ＝Ｂとした場合の式により、前記２つの位置検出信号のオフセットおよび位相誤差を補正するための誤差パラメータを算出するか、または、前記２つの式でδ＝０とした場合の式により、前記２つの位置検出信号のオフセットおよび振幅差を補正するための誤差パラメータを算出する。
【００１５】
このような構成であれば、誤差パラメータ算出手段により、サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、２つの式でＡ＝Ｂとした場合の式により、２つの位置検出信号のオフセットおよび位相誤差を補正するための誤差パラメータが算出される。または、２つの式でδ＝０とした場合の式により、２つの位置検出信号のオフセットおよび振幅差を補正するための誤差パラメータが算出される。
【００１６】
さらに、本発明に係る請求項６記載の位置検出器の誤差パラメータ抽出装置は、請求項２記載の位置検出器の誤差パラメータ抽出装置において、ｎは５以上の整数であり、前記誤差パラメータ算出手段は、前記サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、前記２つの式により、前記２つの位置検出信号のオフセット、位相誤差および振幅差を補正するための誤差パラメータを算出する。
このような構成であれば、誤差パラメータ算出手段により、サンプリング値ａ1〜ａnおよびｂ1〜ｂnに基づいて、２つの式により、２つの位置検出信号のオフセット、位相誤差および振幅差を補正するための誤差パラメータが算出される。
【００１７】
一方、上記目的を達成するために、本発明に係る請求項７記載の誤差補正機能を備える位置検出器は、回転子の回転角度に応じて変化する位相の異なる２つの位置検出信号を出力する２相のレゾルバから前記位置検出信号を入力し、入力した位置検出信号に基づいて前記回転子の回転角度位置を検出する位置検出器であって、前記２つの位置検出信号のそれぞれについてサンプリング値を取得するサンプリング値取得手段と、前記サンプリング値から回転角度位置が異なる任意の少なくとも２つずつのサンプリング値を選択して保存するサンプリング値選択手段と、前記サンプリング値選択手段で保存された前記少なくとも２つずつのサンプリング値に基づいて、前記２つの位置検出信号の誤差を補正するための誤差パラメータを算出する誤差パラメータ算出手段と、前記誤差パラメータを記憶するメモリと、前記サンプリング値取得手段で取得した前記２つの位置検出信号のサンプリング値および前記メモリの誤差パラメータに基づいて、前記回転子の回転角度位置を補正する回転角度位置補正手段とを備える。
【００１８】
このような構成であれば、サンプリング値取得手段により、２つの位置検出信号のそれぞれについてサンプリング値が取得され、サンプリング値選択手段により、取得されたサンプリング値から回転角度位置が異なる任意の少なくとも２つずつのサンプリング値が選択されて保存される。次いで、誤差パラメータ算出手段により、保存された少なくとも２つずつのサンプリング値に基づいて、２つの位置検出信号の誤差を補正するための誤差パラメータが算出され、算出された誤差パラメータがメモリに記憶される。そして、回転角度位置補正手段により、取得された２つの位置検出信号のサンプリング値およびメモリの誤差パラメータに基づいて、回転子の回転角度位置が補正される。
一方、上記目的を達成するために、本発明に係る請求項８記載のモータ制御装置は、請求項１〜７のいずれか１項に記載の位置検出器を備える。
【発明の効果】
【００１９】
以上説明したように、本発明に係る請求項１記載の位置検出器の誤差パラメータ抽出装置、または請求項７記載の誤差補正機能を備える位置検出器によれば、誤差を補正するための誤差パラメータに基づいて回転角度位置が補正されるので、従来に比して、位置検出信号に誤差が生じても、精度のよい角度検出を行うことができるという効果が得られる。また、回路による補正を行わないので、位置検出信号の回路誤差を低減することができるという効果も得られる。
さらに、本発明に係る請求項２記載の位置検出器の誤差パラメータ抽出装置によれば、誤差を補正するための誤差パラメータを正確に算出することができるので、さらに精度のよい角度検出を行うことができるという効果が得られる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の第１の実施の形態を図面を参照しながら説明する。図１ないし図５は、本発明に係る位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器の第１の実施の形態を示す図である。
まず、本発明に係る位置検出器の誤差パラメータ抽出装置の構成を説明する。
図１は、位置検出器の誤差パラメータ抽出装置の構成を示すブロック図である。
【００２１】
位置検出器の誤差パラメータ抽出装置は、図１に示すように、モータ等の回転軸に回転自在に取り付けられた２相のレゾルバ１０と、レゾルバ１０からの出力信号に基づいて回転軸の回転角度位置を位置検出データとして検出するＲＤＣ２０と、ＲＤＣ２０からの出力信号に基づいて誤差パラメータを算出する誤差パラメータ抽出装置３０とを有して構成されている。
【００２２】
レゾルバ１０は、円筒状のステータと、回転軸を把持してステータ内に回転自在に配設されたロータとで構成されており、ロータとステータとの間のリラクタンスがロータの位置により変化し、ロータの１回転につきリラクタンス変化の基本波成分が１周期となるように構成されている。すなわち、ロータの内径中心をステータの内径中心と一致させ、ロータの外形中心をその内径中心から一定の偏心量だけ偏心させるようにしてロータの肉厚を変化させてあり、これによってリラクタンスがロータの位置により変化するようになっている。このため、レゾルバ１０は、回転軸の回転角度に応じて変化するレゾルバ信号cosθと、レゾルバ信号cosθに対して位相が９０°異なるレゾルバ信号sinθを出力する。
【００２３】
ＲＤＣ２０は、レゾルバ１０に励磁信号sinωｔを出力する励磁信号生成部と、誤差パラメータを記憶するパラメータ記憶部とを有して構成されている。また、ロータを回転させてレゾルバ信号cosθとsinθを異なる任意の５つの回転角度位置でサンプリングして、各５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5を取得する。そして、誤差パラメータ抽出装置３０にこれら１０個のサンプリング値を送出する。
誤差パラメータ抽出装置３０は、レゾルバ信号cosθ，sinθのサンプリング値ａ1〜ａ5、ｂ1〜ｂ5をＲＤＣ２０からそれぞれ取得し、取得したサンプリング値に基づいて、レゾルバ信号cosθ，sinθのオフセット、位相誤差および振幅差を補正するための誤差パラメータを算出し、算出した誤差パラメータをＲＤＣ２０に保存する。
【００２４】
次に、誤差パラメータ抽出装置３０の処理を説明する。
図２は、誤差パラメータ抽出装置３０で実行される誤差パラメータ算出処理を示すフローチャートである。
誤差パラメータ算出処理は、誤差パラメータ抽出装置３０で実行されると、図２に示すように、まず、ステップＳ１００に移行する。
ステップＳ１００では、サンプリング値の取得要求をＲＤＣ２０に出力し、ステップＳ１０２に移行して、レゾルバ信号cosθおよびsinθのサンプリング値ａおよびｂをＲＤＣ２０から取得し、ステップＳ１０６に移行する。
【００２５】
ステップＳ１０６では、レゾルバ信号cosθ，sinθについて５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5を取得したか否かを判定し、５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5を取得したと判定したとき(Yes)は、ステップＳ１０８に移行する。
ステップＳ１０８では、取得したサンプリング値ａ1〜ａ5、ｂ1〜ｂ5に基づいて、次のように誤差パラメータを算出する。
オフセット、位相誤差および振幅差がレゾルバ信号に含まれているとし、２つのレゾルバ信号を下式（１）、（２）により表す。下式（１），（２）において、ｃ、ｄはオフセット、δは位相誤差、Ａ、Ｂは異なる振幅である。
ａ＝Ａcosθ＋ｃ                                              …（１）
ｂ＝Ｂsin（θ＋δ）＋ｄ                                      …（２）
【００２６】
サンプリング値ａ1〜ａ5、ｂ1〜ｂ5を上式（１）、（２）に代入すると、下式（３）が得られる。
ａ1＝Ａcosθ1＋ｃ  ，  ｂ1＝Ｂsin（θ1＋δ）＋ｄ
ａ2＝Ａcosθ2＋ｃ  ，  ｂ2＝Ｂsin（θ2＋δ）＋ｄ
ａ3＝Ａcosθ3＋ｃ  ，  ｂ3＝Ｂsin（θ3＋δ）＋ｄ
ａ4＝Ａcosθ4＋ｃ  ，  ｂ4＝Ｂsin（θ4＋δ）＋ｄ
ａ5＝Ａcosθ5＋ｃ  ，  ｂ5＝Ｂsin（θ5＋δ）＋ｄ  …（３）
【００２７】
ここで、ｒ＝Ａ／Ｂ、ｂi＝Ｂsinθicosδ＋Ｂcosθisinδ＋ｄ（ｉ＝１〜５）とすると、下式（４）が得られる。
（ａ1−ｃ）2＋（ｒ／cosδ）2｛ｂ1−ｄ−（ａ1−ｃ）sinδ／ｒ｝2＝Ａ2
（ａ2−ｃ）2＋（ｒ／cosδ）2｛ｂ2−ｄ−（ａ2−ｃ）sinδ／ｒ｝2＝Ａ2
（ａ3−ｃ）2＋（ｒ／cosδ）2｛ｂ3−ｄ−（ａ3−ｃ）sinδ／ｒ｝2＝Ａ2
（ａ4−ｃ）2＋（ｒ／cosδ）2｛ｂ4−ｄ−（ａ4−ｃ）sinδ／ｒ｝2＝Ａ2
（ａ5−ｃ）2＋（ｒ／cosδ）2｛ｂ5−ｄ−（ａ5−ｃ）sinδ／ｒ｝2＝Ａ2  …（４）
【００２８】
ここで、ｗ＝ｃ−ｄｒsinδ、ｘ＝ｄｒ2−ｃｒsinδ、ｙ＝ｒ2、ｚ＝ｒsinδとすると、下式（５）のような４元１次連立方程式が得られる。
２（ａ1−ａ2）ｗ＋２（ｂ1−ｂ2）ｘ−（ｂ12−ｂ22）ｙ＋２（ａ1ｂ1−ａ2ｂ2）ｚ＝ａ12−ａ22
２（ａ2−ａ3）ｗ＋２（ｂ2−ｂ3）ｘ−（ｂ22−ｂ32）ｙ＋２（ａ2ｂ2−ａ3ｂ3）ｚ＝ａ22−ａ32
２（ａ3−ａ4）ｗ＋２（ｂ3−ｂ4）ｘ−（ｂ32−ｂ42）ｙ＋２（ａ3ｂ3−ａ4ｂ4）ｚ＝ａ32−ａ42
２（ａ4−ａ5）ｗ＋２（ｂ4−ｂ5）ｘ−（ｂ42−ｂ52）ｙ＋２（ａ4ｂ4−ａ5ｂ5）ｚ＝ａ42−ａ52  …（５）
上式（５）を解くと、ｗ、ｘ、ｙ、ｚを求めることができる。４元１次連立方程式は、公知の計算方法により解くことができる。
【００２９】
また、ｒ＝Ａ／Ｂ＝ｙ1/2、sinδ＝ｚ／ｒ、δ＝sin-1ｚ／ｒ、cosδ＝｛１−（ｚ／ｒ）2｝1/2なので、上式（５）により求めたｗ、ｘ、ｙ、ｚを代入すると、下式（６）のｃとｄを未知数とする連立方程式が得られる。
ｃ−ｚｄ＝ｗ
−ｚｃ＋ｙｄ＝ｘ                                              …（６）
【００３０】
したがって、上式（６）から下式（７）が得られる。
ｃ＝（ｗｙ＋ｙｚ）／（ｙ−ｚ2）
ｄ＝（ｘ＋ｗｚ）／（ｙ−ｚ2）                              …（７）
上式（７）によりｃ、ｄを求めることができる。ｒ、ｃ、ｄ、δが誤差パラメータとなる。
次いで、ステップＳ１１０に移行して、算出した誤差パラメータｒ、ｃ、ｄ、δをＲＤＣ２０に送って記憶させ、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ１０６で、５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5をまだ取得していないと判定したとき(No)は、ステップＳ１００に移行する。
【００３１】
次に、ＲＤＣ２０の処理を説明する。
初めに、誤差パラメータ保存処理を説明する。
図３は、ＲＤＣ２０で実行される誤差パラメータ保存処理を示すフローチャートである。
誤差パラメータ保存処理は、ＲＤＣ２０で実行されると、図３に示すように、まず、ステップＳ１５０に移行する。
ステップＳ１５０では、サンプリング値取得要求を受信し、ステップＳ１５２に移行して、レゾルバ信号cosθおよびsinθを同時にサンプリングしてサンプリング値ａ、ｂを取得し、ステップＳ１５４に移行して、取得したサンプリング値ａ、ｂを誤差パラメータ抽出装置３０に送信し、ステップＳ１５６に移行する。
【００３２】
ステップＳ１５６では、サンプリング値ａ、ｂを５セット送信したか否かを判定し、サンプリング値ａ、ｂを５セット送信したと判定したとき(Yes)は、ステップＳ１５８に移行して、誤差パラメータを受信し、ステップＳ１６０に移行して、受信した誤差パラメータをパラメータ記憶部に記憶させ、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ１５６で、サンプリング値ａ、ｂを５セット送信していないと判定したとき(No)は、ステップＳ１５０に移行する。
【００３３】
次に、回転角度位置算出処理を説明する。
図４は、ＲＤＣ２０で実行される回転角度位置算出処理を示すフローチャートである。
回転角度位置算出処理は、ＲＤＣ２０で実行されると、図４に示すように、まず、ステップＳ２００に移行する。
ステップＳ２００では、サンプリングタイマを起動し、ステップＳ２０２に移行して、サンプリングタイマに基づいてサンプリングタイミングになったか否かを判定し、サンプリングタイミングになったと判定したとき(Yes)は、ステップＳ２０４に移行する。
ステップＳ２０４では、レゾルバ信号cosθとsinθを同時にサンプリングしてサンプリング値ａとｂを取得し、ステップＳ２０８に移行する。
【００３４】
ステップＳ２０８では、パラメータ記憶部の誤差パラメータｒ、ｃ、ｄ、δおよび取得したサンプリング値ａ、ｂに基づいて回転角度位置θを算出する。サンプリングタイミングｔでの回転角度位置θ（ｔ）は、下式（８）により算出することができる。下式（８）において、ｒ、ｃ、ｄ、δは誤差パラメータ、ａ（ｔ）、ｂ（ｔ）は、サンプリングタイミングｔで取得したサンプリング値ａ、ｂである。
θ（ｔ）＝tan-1［｛ｒ（ｂ（ｔ）−ｄ）／（ａ（ｔ）−ｃ）−sinδ｝／cosδ］  …（８）
【００３５】
上式（８）により、オフセット、位相誤差および振幅差を補正することができる。
次いで、ステップＳ２１０に移行して、算出した回転角度位置θを位置検出データとして出力し、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ２０２で、サンプリングタイミングになっていないと判定したとき(No)は、サンプリングタイミングになるまでステップＳ２０２で待機する。
【００３６】
次に、本実施の形態の動作を説明する。
まず、ＲＤＣ２０の本稼働に先立ってＲＤＣ２０を製造時等に試験稼働させる。
誤差パラメータ抽出装置３０では、ステップＳ１００を経て、サンプリング値の取得要求がＲＤＣ２０に出力される。
ＲＤＣ２０では、取得要求が入力されると、レゾルバ信号cosθ，sinθが同時にサンプリングされ、サンプリング値ａ、ｂが誤差パラメータ抽出装置３０に出力される。
【００３７】
誤差パラメータ抽出装置３０では、レゾルバ信号cosθ，sinθについて異なる回転角度位置で５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5が取得されるまでサンプリング値の取得が繰り返し行われる。必要数のサンプリング値が取得されると、ステップＳ１０８を経て、取得されたサンプリング値ａ1〜ａ5、ｂ1〜ｂ5に基づいて、上式（１）〜（７）により、オフセット、位相誤差および振幅差を補正するための誤差パラメータｒ、ｃ、ｄ、δが算出される。そして、ステップＳ１１０を経て、算出された誤差パラメータｒ、ｃ、ｄ、δがＲＤＣ２０に記憶される。
【００３８】
次に、ＲＤＣ２０を本稼働させる。
ＲＤＣ２０では、サンプリングタイミングになると、ステップＳ２０４を経て、レゾルバ信号cosθ，sinθが同時にサンプリングされ、サンプリング値ａ、ｂが取得される。そして、ステップＳ２０８，Ｓ２１０を経て、パラメータ記憶部の誤差パラメータｒ、ｃ、ｄ、δおよび取得されたサンプリング値ａ、ｂに基づいて、上式（８）により回転角度位置θが算出され、算出された回転角度位置θが位置検出データとして出力される。
【００３９】
図５は、レゾルバ信号cosθ，sinθに、Ａ＝30000、Ｂ＝29900、ｃ＝4000、ｄ＝-1000、δ＝３°の誤差が含まれる場合の回転位置算出結果を示す図である。
３６０°を65536（１６bit）に分割した場合、回転角度位置は、ｎ＾で示すように、ロータの絶対位置が小さい領域では下方に歪み、ロータの絶対位置が大きい領域では上方に歪んでいる。これは、オフセット、位相誤差および振幅差による影響であり、歪んでいる領域については、回転角度位置を正確に算出できないことを示している。
【００４０】
これに対し、ｒ＝1.11111、ｃ＝4000、ｄ＝-1000、δ＝0.05236[rad]を誤差パラメータとして算出し、回転角度位置を補正したところ、回転角度位置は、ｎで示すように、ロータの絶対位置と回転角度位置がほぼ１対１になった。本発明による補正が有効であることが言える。なお、Δｎは、ｎとｎ＾の差である。
このようにして、本実施の形態では、レゾルバ信号cosθ，sinθについて５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5を取得し、取得したサンプリング値ａ1〜ａ5、ｂ1〜ｂ5に基づいて、上式（１）〜（７）により、オフセット、位相誤差および振幅差を補正するための誤差パラメータｒ、ｃ、ｄ、δを算出し、算出した誤差パラメータｒ、ｃ、ｄ、δに基づいて回転角度位置θを補正するようになっている。
【００４１】
これにより、オフセット、位相誤差および振幅差を補正するための誤差パラメータに基づいて回転角度位置が補正されるので、従来に比して、位置検出信号にオフセット、位相誤差および振幅差が生じても、精度のよい角度検出を行うことができる。また、回路による補正を行わないので、位置検出信号の回路誤差を低減することができる。
上記第１の実施の形態において、ステップＳ１０２，Ｓ１１０は、請求項１記載の第２の入出力手段に対応し、ステップＳ１０８は、請求項１ないし６記載の誤差パラメータ算出手段に対応し、ステップＳ１５２は、請求項１または２記載のサンプリング値取得手段に対応し、ステップＳ１５４，Ｓ１５８は、請求項１記載の第１の入出力手段に対応している。また、ステップＳ２０８は、請求項１記載の回転角度位置補正手段に対応している。
【００４２】
次に、本発明の第２の実施の形態を図面を参照しながら説明する。図６は、本発明に係る位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器の第２の実施の形態を示す図である。
本実施の形態は、本発明に係る位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器を、誤差パラメータに基づいて回転角度位置を補正する場合について適用したものであり、上記第１の実施の形態と異なるのは、ＲＤＣ２０で誤差パラメータを算出する点にある。なお、以下、上記第１の実施の形態と異なる部分についてのみ説明し、上記第１の実施の形態と重複する部分については同一の符号を付して説明を省略する。
【００４３】
まず、ＲＤＣ２０の処理を説明する。
図６は、ＲＤＣ２０で実行される回転角度位置算出処理を示すフローチャートである。
回転角度位置算出処理は、ＲＤＣ２０で実行されると、図６に示すように、まず、ステップＳ３００に移行する。
ステップＳ３００では、パラメータ記憶部に誤差パラメータが記憶されているか否かを判定し、誤差パラメータが記憶されていないと判定したとき(No)は、ステップＳ３０２に移行して、ステップＳ１０２〜Ｓ１１０と同様の誤差パラメータ算出処理を実行し、ステップＳ２００に移行する。そして、ステップＳ２００〜Ｓ２１０を経て、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ３００で、誤差パラメータが記憶されていると判定したとき(Yes)は、ステップＳ２００に移行する。
【００４４】
次に、本実施の形態の動作を説明する。
ＲＤＣ２０では、ステップＳ３０２を経て、レゾルバ信号cosθ、sinθが同時にサンプリングされ、５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5が取得される。必要数のサンプリング値が取得されると、取得されたサンプリング値ａ1〜ａ5、ｂ1〜ｂ5に基づいて、上式（１）〜（７）により、オフセット、位相誤差および振幅差を補正するための誤差パラメータｒ、ｃ、ｄ、δが算出される。そして、算出された誤差パラメータｒ、ｃ、ｄ、δがＲＤＣ２０に保存される。
【００４５】
なお、ＲＤＣ２０の本稼働時については、上記第１の実施の形態と同様に、パラメータ記憶部の誤差パラメータｒ、ｃ、ｄ、δおよび取得されたサンプリング値ａ、ｂに基づいて、上式（８）により回転角度位置θが算出される。
上記第２の実施の形態において、ステップＳ３０２は、請求項７記載の誤差パラメータ算出手段に対応し、ステップＳ２０８は、請求項７記載の回転角度位置補正手段に対応している。
【００４６】
次に、本発明の第３の実施の形態を図面を参照しながら説明する。オフセット、振幅または位相誤差は、レゾルバ１０とＲＤＣ２０の設計および製造上の誤差の状況、運転状態その他の環境により、それらの影響を無視できる場合もあり得るので、製造上の誤差の状況、運転状態その他の環境に応じて必要な誤差パラメータのみを算出することにより、４つの誤差パラメータを常に算出する場合に比して、演算負荷を小さくすることができる。図７は、本発明に係る位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器の第３の実施の形態を示す図である。
本実施の形態は、本発明に係る位置検出器の誤差パラメータ抽出装置および誤差補正機能を備える位置検出器を、オフセット、位相誤差または振幅差の大きさに基づいて誤差パラメータの算出処理を異ならせる場合について適用したものである。
【００４７】
まず、ＲＤＣ２０の処理を説明する。
図７は、ＲＤＣ２０で実行される誤差パラメータ算出処理の場合分けを示すフローチャートである。
誤差パラメータ算出処理は、誤差パラメータ抽出装置３０で実行されると、図７に示すように、まず、ステップＳ４０６に移行して、オフセットがあらかじめ定められた値以上であるか否かを判定し、オフセットがあらかじめ定められた値以上であると判定したとき(Yes)は、ステップＳ４０８に移行して、位相誤差があらかじめ定められた値以上であるか否かを判定し、位相誤差があらかじめ定められた値以上であると判定したとき(Yes)は、ステップＳ４１０に移行する。
【００４８】
ステップＳ４１０では、振幅差があらかじめ定められた値以上であるか否かを判定し、振幅差があらかじめ定められた値以上であると判定したとき(Yes)は、ステップＳ４１２に移行して、第１誤差パラメータ算出処理を実行し、一連の処理を終了して元の処理に復帰させる。第１誤差パラメータ算出処理は、次のように行われる。すなわち、オフセット、位相誤差および振幅差を補正するための誤差パラメータを算出する第１誤差パラメータ算出処理を実行する。第１誤差パラメータ算出処理は、レゾルバ信号cosθ，sinθについて５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5を取得し、取得したサンプリング値ａ1〜ａ5、ｂ1〜ｂ5に基づいて、上式（１）〜（７）により、誤差パラメータｒ、ｃ、ｄ、δを算出し、算出した誤差パラメータｒ、ｃ、ｄ、δをパラメータ記憶部に保存する。
【００４９】
一方、ステップＳ４１０で、振幅差が所定未満であると判定したとき(No)は、ステップＳ４１４に移行する。
ステップＳ４１４では、オフセットおよび位相誤差を補正するための誤差パラメータを算出する第２誤差パラメータ算出処理を実行する。第２誤差パラメータ算出処理は、レゾルバ信号cosθ，sinθについて４個のサンプリング値ａ1〜ａ4、ｂ1〜ｂ4を取得し、取得したサンプリング値ａ1〜ａ4、ｂ1〜ｂ4に基づいて、下式（９）により、誤差パラメータｃ、ｄ、δを算出し、算出した誤差パラメータｃ、ｄ、δをパラメータ記憶部に保存する。下式（９）から誤差パラメータｃ、ｄ、δを求めるのは、上式（４）〜（７）と同様に行うことができる。
ａ1＝cosθ1＋ｃ  ，  ｂ1＝sin（θ1＋δ）＋ｄ
ａ2＝cosθ2＋ｃ  ，  ｂ2＝sin（θ2＋δ）＋ｄ
ａ3＝cosθ3＋ｃ  ，  ｂ3＝sin（θ3＋δ）＋ｄ
ａ4＝cosθ4＋ｃ  ，  ｂ4＝sin（θ4＋δ）＋ｄ      …（９）
ステップＳ４１４の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
【００５０】
一方、ステップＳ４０８で、位相誤差が所定未満であると判定したとき(No)は、ステップＳ４１６に移行して、振幅差があらかじめ定められた値以上であるか否かを判定し、振幅差があらかじめ定められた値以上であると判定したとき(Yes)は、ステップＳ４１８に移行する。
ステップＳ４１８では、オフセットおよび振幅差を補正するための誤差パラメータを算出する第３誤差パラメータ算出処理を実行する。第３誤差パラメータ算出処理は、レゾルバ信号cosθ，sinθについて４個のサンプリング値ａ1〜ａ4、ｂ1〜ｂ4を取得し、取得したサンプリング値ａ1〜ａ4、ｂ1〜ｂ4に基づいて、下式（10）により、誤差パラメータｒ、ｃ、ｄを算出し、算出した誤差パラメータｒ、ｃ、ｄをパラメータ記憶部に保存する。下式（10）から誤差パラメータｒ、ｃ、ｄを求めるのは、上式（４）〜（７）と同様に行うことができる。
ａ1＝Ａcosθ1＋ｃ  ，  ｂ1＝Ｂsinθ1＋ｄ
ａ2＝Ａcosθ2＋ｃ  ，  ｂ2＝Ｂsinθ2＋ｄ
ａ3＝Ａcosθ3＋ｃ  ，  ｂ3＝Ｂsinθ3＋ｄ
ａ4＝Ａcosθ4＋ｃ  ，  ｂ4＝Ｂsinθ4＋ｄ          …（10）
ステップＳ４１８の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
【００５１】
一方、ステップＳ４１６で、振幅差が所定未満であると判定したとき(No)は、ステップＳ４２０に移行する。
ステップＳ４２０では、オフセットを補正するための誤差パラメータを算出する第４誤差パラメータ算出処理を実行する。第４誤差パラメータ算出処理は、レゾルバ信号cosθ，sinθについて３個のサンプリング値ａ1〜ａ3、ｂ1〜ｂ3を取得し、取得したサンプリング値ａ1〜ａ3、ｂ1〜ｂ3に基づいて、下式（11）により、誤差パラメータｃ、ｄを算出し、算出した誤差パラメータｃ、ｄをパラメータ記憶部に保存する。下式（11）から誤差パラメータｃ、ｄを求めるのは、上式（４）〜（７）と同様に行うことができる。
ａ1＝Ａcosθ1＋ｃ  ，  ｂ1＝Ａsinθ1＋ｄ
ａ2＝Ａcosθ2＋ｃ  ，  ｂ2＝Ａsinθ2＋ｄ
ａ3＝Ａcosθ3＋ｃ  ，  ｂ3＝Ａsinθ3＋ｄ          …（11）
ステップＳ４２０の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
【００５２】
一方、ステップＳ４０６で、オフセットが所定未満であると判定したとき(No)は、ステップＳ４２２に移行して、位相誤差があらかじめ定められた値以上であるか否かを判定し、位相誤差があらかじめ定められた値以上であると判定したとき(Yes)は、ステップＳ４２４に移行して、振幅差があらかじめ定められた値以上であるか否かを判定し、振幅差があらかじめ定められた値以上であると判定したとき(Yes)は、ステップＳ４２６に移行する。
【００５３】
ステップＳ４２６では、位相誤差および振幅差を補正するための誤差パラメータを算出する第５誤差パラメータ算出処理を実行する。第５誤差パラメータ算出処理は、レゾルバ信号cosθ，sinθについて３個のサンプリング値ａ1〜ａ3、ｂ1〜ｂ3を取得し、取得したサンプリング値ａ1〜ａ3、ｂ1〜ｂ3に基づいて、下式（12）により、誤差パラメータｒ、δを算出し、算出した誤差パラメータｒ、δをパラメータ記憶部に保存する。下式（12）から誤差パラメータｒ、δを求めるのは、上式（４）〜（７）と同様に行うことができる。
ａ1＝Ａcosθ1  ，  ｂ1＝Ｂsin（θ1＋δ）
ａ2＝Ａcosθ2  ，  ｂ2＝Ｂsin（θ2＋δ）
ａ3＝Ａcosθ3  ，  ｂ3＝Ｂsin（θ3＋δ）          …（12）
ステップＳ４２６の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
【００５４】
一方、ステップＳ４２４で、振幅差が所定未満であると判定したとき(No)は、ステップＳ４２８に移行する。
ステップＳ４２８では、位相誤差を補正するための誤差パラメータを算出する第６誤差パラメータ算出処理を実行する。第６誤差パラメータ算出処理は、レゾルバ信号cosθ，sinθについて２個のサンプリング値ａ1、ａ2、ｂ1、ｂ2を取得し、取得したサンプリング値ａ1、ａ2、ｂ1、ｂ2に基づいて、下式（13）により、誤差パラメータδを算出し、算出した誤差パラメータδをパラメータ記憶部に保存する。下式（13）から誤差パラメータδを求めるのは、上式（４）〜（７）と同様に行うことができる。
ａ1＝Ａcosθ1  ，  ｂ1＝Ａsin（θ1＋δ）
ａ2＝Ａcosθ2  ，  ｂ2＝Ａsin（θ2＋δ）          …（13）
ステップＳ４２８の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
【００５５】
一方、ステップＳ４２２で、位相誤差が所定未満であると判定したとき(No)は、ステップＳ４３０に移行して、振幅差があらかじめ定められた値以上であるか否かを判定し、振幅差があらかじめ定められた値以上であると判定したとき(Yes)は、ステップＳ４３２に移行する。
ステップＳ４３２では、振幅差を補正するための誤差パラメータを算出する第７誤差パラメータ算出処理を実行する。第７誤差パラメータ算出処理は、レゾルバ信号cosθ，sinθについて２個のサンプリング値ａ1、ａ2、ｂ1、ｂ2を取得し、取得したサンプリング値ａ1、ａ2、ｂ1、ｂ2に基づいて、下式（14）により、誤差パラメータｒを算出し、算出した誤差パラメータｒをパラメータ記憶部に保存する。下式（14）から誤差パラメータｒを求めるのは、上式（４）〜（７）と同様に行うことができる。
ａ1＝Ａcosθ1  ，  ｂ1＝Ｂsinθ1
ａ2＝Ａcosθ2  ，  ｂ2＝Ｂsinθ2                  …（14）
ステップＳ４３２の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ４３０で、振幅差が所定未満であると判定したとき(No)は、一連の処理を終了して元の処理に復帰させる。
【００５６】
次に、本実施の形態の動作を説明する。
ＲＤＣ２０では、オフセット、位相誤差および振幅差が大きい場合は、ステップＳ４１２を経て、５個のサンプリング値ａ1〜ａ5、ｂ1〜ｂ5が取得され、取得されたサンプリング値ａ1〜ａ5、ｂ1〜ｂ5に基づいて、上式（１）〜（７）により、オフセット、位相誤差および振幅差を補正するための誤差パラメータｒ、ｃ、ｄ、δが算出される。
【００５７】
また、ＲＤＣ２０では、オフセットおよび位相誤差が大きく、振幅差が小さい場合は、ステップＳ４１４を経て、４個のサンプリング値ａ1〜ａ4、ｂ1〜ｂ4が取得され、取得されたサンプリング値ａ1〜ａ4、ｂ1〜ｂ4に基づいて、上式（９）により、オフセットおよび位相誤差を補正するための誤差パラメータｃ、ｄ、δが算出される。
また、ＲＤＣ２０では、オフセットおよび振幅差が大きく、位相誤差が小さい場合は、ステップＳ４１８を経て、４個のサンプリング値ａ1〜ａ4、ｂ1〜ｂ4が取得され、取得されたサンプリング値ａ1〜ａ4、ｂ1〜ｂ4に基づいて、上式（10）により、オフセットおよび振幅差を補正するための誤差パラメータｒ、ｃ、ｄが算出される。
【００５８】
また、ＲＤＣ２０では、オフセットが大きく、位相誤差および振幅差が小さい場合は、ステップＳ４２０を経て、３個のサンプリング値ａ1〜ａ3、ｂ1〜ｂ3が取得され、取得されたサンプリング値ａ1〜ａ3、ｂ1〜ｂ3に基づいて、上式（11）により、オフセットを補正するための誤差パラメータｃ、ｄが算出される。
また、ＲＤＣ２０では、位相誤差および振幅差が大きく、オフセットが小さい場合は、ステップＳ４２６を経て、３個のサンプリング値ａ1〜ａ3、ｂ1〜ｂ3が取得され、取得されたサンプリング値ａ1〜ａ3、ｂ1〜ｂ3に基づいて、上式（12）により、位相誤差および振幅差を補正するための誤差パラメータｒ、δが算出される。
【００５９】
また、ＲＤＣ２０では、位相誤差が大きく、オフセットおよび振幅差が小さい場合は、ステップＳ４２８を経て、２個のサンプリング値ａ1、ａ2、ｂ1、ｂ2が取得され、取得されたサンプリング値ａ1、ａ2、ｂ1、ｂ2に基づいて、上式（13）により、位相誤差を補正するための誤差パラメータδが算出される。
また、ＲＤＣ２０では、振幅差が大きく、オフセットおよび位相誤差が小さい場合は、ステップＳ４３２を経て、２個のサンプリング値ａ1、ａ2、ｂ1、ｂ2が取得され、取得されたサンプリング値ａ1、ａ2、ｂ1、ｂ2に基づいて、上式（14）により、振幅差を補正するための誤差パラメータｒが算出される。
【００６０】
このようにして、本実施の形態では、オフセット、位相誤差または振幅差があらかじめ定められた値以上であるときは、あらかじめ定められた値以上となる誤差を補正するための誤差パラメータだけを算出するようになっている。
また、第２ないし第７誤差パラメータ算出処理における計算は、第１誤差パラメータ算出処理における計算、すなわち、上式（３）〜（７）で展開した計算より容易であることはいうまでもなく、角度位置の補正計算は、上式（８）で誤差パラメータをｒは１、その他は０と置くだけでよい。
【００６１】
なお、上記第１の実施の形態においては、オフセット、位相誤差および振幅差を補正するための誤差パラメータを算出するように構成したが、これに限らず、オフセット、位相誤差および振幅差のうちいずれかの誤差を補正するための誤差パラメータを算出するように構成することもできる。
また、上記第２の実施の形態においては、図６のフローチャートに示す回転角度位置算出処理を実行するように構成したが、これに限らず、図８および図９のフローチャートに示す回転角度位置算出処理を実行するように構成することもできる。
【００６２】
図８は、図６に示す回転角度位置算出処理と並行して誤差パラメータを自動的に更新することができるフローチャートである。
図８の回転角度位置算出処理は、ＲＤＣ２０において実行されると、ステップＳ５００に移行して、ｒ＝１、ｃ＝ｄ＝δ＝０、ｆall＝０とし、ステップＳ５０２に移行して、サンプリングタイマを起動し、ステップＳ５０４に移行して、タイマ割込を許可し、ステップＳ５０６に移行する。
【００６３】
ステップＳ５０６では、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っているか否かを、fallが「１」か「０」かにより判定し、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っていると判定したとき(Yes)は、ステップＳ５０８に移行して、誤差パラメータ算出処理を実行し、ステップＳ５１０に移行する。
ステップＳ５１０では、算出した誤差パラメータをパラメータ記憶部に記憶することによって更新を完了し、ステップＳ５１２に移行して、最も古いサンプリング値ａold、ｂoldをクリアし、fall＝０とし、ステップＳ５１４に移行する。
【００６４】
ステップＳ５１４では、処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、一連の処理を終了する。
一方、ステップＳ５１４で、処理が終了しないと判定したとき(No)、およびステップＳ５０６で、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っていないと判定したとき(No)はいずれも、ステップＳ５０６に移行する。
【００６５】
次に、タイマ割込処理を説明する。
図９は、タイマ割込処理を示すフローチャートである。
タイマ割込処理は、ステップＳ５０４のタイマ割込の許可によって起動されると、ステップＳ５５０に移行して、サンプリング値ａ(t)、ｂ(t)を同時に取得し、ステップＳ５５２に移行して、サンプリング値ａ(t)、ｂ(t)および誤差パラメータに基づいて回転角度位置θ(t)を計算し、ステップＳ５５４に移行して、算出した回転角度位置θ(t)を出力し、ステップＳ５５６に移行する。
【００６６】
ステップＳ５５６では、誤差パラメータの更新のためにサンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っているか否かを判定し、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っていないと判定したとき(No)は、ステップＳ５５８に移行する。
ステップＳ５５８では、｜ａlast−ａ(t)｜＞αまたは｜ｂlast−ｂ(t)｜＞αが成立するか否かを判定し、いずれかが成立すると判定したとき(Yes)は、ステップＳ５６０に移行して、サンプリング値ａ(t)、ｂ(t)をａlast、ｂlastとして記憶し、ステップＳ５６２に移行する。
【００６７】
ステップＳ５６２では、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っているか否かを判定し、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っていると判定したとき(Yes)は、ステップＳ５６４に移行して、ｆall＝１とし、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ５５６で、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っていると判定したとき(Yes)、ステップＳ５６２で、サンプリング値ａ1〜ａn、ｂ1〜ｂnが揃っていないと判定したとき(No)、ステップＳ５５８で、｜ａlast−ａ(t)｜＞αまたは｜ｂlast−ｂ(t)｜＞αが成立しないと判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
【００６８】
また、上記第１ないし第３の実施の形態においては、２相のレゾルバ１０から位相の異なる２つの位置検出信号を取得し、取得した位置検出信号に基づいて誤差パラメータを算出するように構成したが、これに限らず、３相以上のレゾルバから位相の異なる３つ以上の位置検出信号を取得し、取得した位置検出信号に基づいて誤差パラメータを算出するように構成することもできる。
【図面の簡単な説明】
【００６９】
【図１】位置検出器の誤差パラメータ抽出装置の構成を示すブロック図である。
【図２】誤差パラメータ抽出装置３０で実行される誤差パラメータ算出処理を示すフローチャートである。
【図３】ＲＤＣ２０で実行される誤差パラメータ保存処理を示すフローチャートである。
【図４】ＲＤＣ２０で実行される回転角度位置算出処理を示すフローチャートである。
【図５】レゾルバ信号cosθ，sinθに、Ａ＝30000、Ｂ＝29900、ｃ＝4000、ｄ＝-1000、δ＝３°の誤差が含まれる場合の回転位置算出結果を示す図である。
【図６】ＲＤＣ２０で実行される回転角度位置算出処理を示すフローチャートである。
【図７】ＲＤＣ２０で実行される誤差パラメータ算出処理の場合分けを示すフローチャートである。
【図８】図６に示す回転角度位置算出処理と並行して誤差パラメータを自動的に更新することができるフローチャートである。
【図９】タイマ割込処理を示すフローチャートである。
【符号の説明】
【００７０】
１０                レゾルバ
２０                ＲＤＣ
３０                誤差パラメータ抽出装置
【図１】
2007033412.tif 000003
【図２】
2007033412.tif 000004
【図３】
2007033412.tif 000005
【図４】
2007033412.tif 000006
【図５】
2007033412.tif 000007
【図６】
2007033412.tif 000008
【図７】
2007033412.tif 000009
【図８】
2007033412.tif 000010
【図９】
2007033412.tif 000011