(57)【要約】【課題】制御方式に関係なく、回転位置センサーの誤差を補正可能な電動機制御装置を提供する。【解決手段】誤差補正部７１は、回転位置センサー６０からのセンサー値の予測値を演算し、その演算した予測値とセンサー値との差の絶対値である偏差を演算する。そして、誤差補正部７１は、偏差が基準偏差よりも小さいとき予測値をセンサー補正値とし、偏差が基準偏差以上であるとき、センサー値に基準偏差を加減算した値をセンサー補正値とする。３相／２相変換部７２、電流指令生成部７３、減算器７４，７５、ＰＩ制御部７６、２相／３相変換部７７およびＰＷＭ生成部７８は、誤差補正部７１により補正されたセンサー補正値を用いてインバータ３０を制御するための信号ＰＷＭを生成してインバータ３０へ出力する。【選択図】        図１
2004242370.tif 000002
【特許請求の範囲】
【請求項１】
電動機に含まれる回転子の回転位置を検出する回転位置センサーと、
前記回転位置センサーにより検出されたセンサー値を補正したセンサー補正値を用いて、前記電動機を駆動する駆動装置を制御する制御手段と、
前記回転位置センサーにより検出されるセンサー値の予測値を演算し、その演算した予測値に基づいて前記回転位置センサーにより検出されたセンサー値を補正し、その補正したセンサー値を前記センサー補正値として前記制御手段へ出力する補正手段とを備える電動機制御装置。
【請求項２】
前記補正手段は、前記回転位置センサーにより検出されたセンサー値と前記演算した予測値との差の絶対値である偏差を演算し、その演算した偏差を基準偏差と比較した比較結果に応じて前記検出されたセンサー値を補正する、請求項１に記載の電動機制御装置。
【請求項３】
前記補正手段は、前記偏差が前記基準偏差よりも小さいとき、前記演算した予測値を前記センサー補正値とし、前記偏差が前記基準偏差よりも大きいとき、前記検出されたセンサー値に前記基準偏差を加減算した値を前記センサー補正値とする、請求項２に記載の電動機制御装置。
【請求項４】
前記補正手段は、前記センサー値が許容誤差の上限値よりも大きいとき、前記検出されたセンサー値から前記基準偏差を減算した値を前記センサー補正値とし、前記センサー値が前記許容誤差の下限値よりも小さいとき、前記検出されたセンサー値に前記基準偏差を加算した値を前記センサー補正値とする、請求項３に記載の電動機制御装置。
【請求項５】
前記補正手段は、前記回転位置センサーから出力されるセンサー値の所定期間における平均値を演算し、その演算した平均値に基づいて前記予測値を演算する、請求項１から請求項４のいずれか１項に記載の電動機制御装置。
【請求項６】
前記所定期間は、前記回転子が１８０度の整数倍回転するのに必要な時間である、請求項５に記載の電動機制御装置。
【請求項７】
前記センサー値に含まれる誤差の種類を検出し、その検出した誤差の種類に応じて前記所定期間を設定する誤差検出手段をさらに備え、
前記補正手段は、前記誤差検出手段により設定された所定期間において前記平均値を演算する、請求項５に記載の電動機制御装置。
【請求項８】
前記誤差検出手段は、前記誤差の種類として０．５次の誤差を検出したとき、前記回転子が１８０度の整数倍回転するのに必要な時間を前記所定期間として設定する、請求項７に記載の電動機制御装置。
【請求項９】
前記誤差検出手段は、前記誤差の種類として１．０次の誤差を検出したとき、前記回転子が９０度の整数倍回転するのに必要な時間を前記所定期間として設定する、請求項７に記載の電動機制御装置。
【請求項１０】
前記誤差検出手段は、前記誤差の種類として２．０次の誤差を検出したとき、前記回転子が４５度の整数倍回転するのに必要な時間を前記所定期間として設定する、請求項７に記載の電動機制御装置。
【請求項１１】
前記補正手段により演算された前記偏差が最大誤差よりも大きいとき、前記回転位置センサーが故障していると判定する故障判定手段をさらに備える、請求項１から請求項１０のいずれか１項に記載の電動機制御装置。
【請求項１２】
電動機に含まれる回転子の回転位置を検出する回転位置センサーのセンサー値の補正をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
前記回転位置センサーにより検出されるセンサー値の予測値を演算する第１のステップと、
前記演算された予測値と、前記回転位置センサーにより検出されたセンサー値との差の絶対値である偏差を演算する第２のステップと、
前記演算された偏差を基準偏差と比較する第３のステップと、
前記比較結果に応じて前記センサー値を補正する第４のステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１３】
前記第４のステップは、前記偏差が前記基準偏差よりも小さいとき、前記演算した予測値を前記センサー値を補正したセンサー補正値とする、請求項１２に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１４】
前記第４のステップは、前記偏差が前記基準偏差よりも大きいとき、前記検出されたセンサー値に前記基準偏差を加減算した値を前記センサー値を補正したセンサー補正値とする、請求項１２に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１５】
前記第４のステップは、前記センサー値が許容誤差の上限値よりも大きいとき、前記検出されたセンサー値から前記基準偏差を減算した値を前記センサー補正値とし、前記センサー値が前記許容誤差の下限値よりも小さいとき、前記検出されたセンサー値に前記基準偏差を加算した値を前記センサー補正値とする、請求項１４に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１６】
前記第１のステップは、
前記回転位置センサーから出力されるセンサー値の所定期間における平均値を演算する第１のサブステップと、
前記演算された平均値に基づいて前記予測値を演算する第２のサブステップとを含む、請求項１２から請求項１５のいずれか１項に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１７】
前記第１のサブステップは、前記回転子が１８０度の整数倍回転するのに必要な時間を前記所定期間として前記平均値を演算する、請求項１６に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１８】
前記センサー値に含まれる誤差の種類を検出する第５のステップをさらにコンピュータに実行させ、
前記第１のサブステップは、前記検出された誤差の種類に応じて決定された所定期間において前記平均値を演算する、請求項１６に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１９】
前記第１のサブステップは、前記誤差の種類として０．５次の誤差が検出されたとき、前記回転子が１８０度の整数倍回転するのに必要な時間を前記所定期間として前記平均値を演算する、請求項１８に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項２０】
前記第１のサブステップは、前記誤差の種類として１．０次の誤差が検出されたとき、前記回転子が９０度の整数倍回転するのに必要な時間を前記所定期間として前記平均値を演算する、請求項１８に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項２１】
前記第１のサブステップは、前記誤差の種類として２．０次の誤差が検出されたとき、前記回転子が４５度の整数倍回転するのに必要な時間を前記所定期間として前記平均値を演算する、請求項１８に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項２２】
前記演算された前記偏差が最大誤差よりも大きいとき、前記回転位置センサーが故障していると判定する第６のステップをさらにコンピュータに実行させる、請求項１２から請求項２１のいずれか１項に記載のコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、レゾルバの出力を補正して電動機を制御する電動機制御装置および回転位置センサーのセンサー値の補正をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体に関するものである。
【０００２】
【従来の技術】
回転磁界によりモータの回転子を連続して回転するために回転子の位置を検出することが行なわれている。そして、この回転子の位置検出は、回転軸に取付けられたレゾルバにより行われる。
【０００３】
すなわち、レゾルバは、回転する回転子の位置を検出し、回転子の各位置に対応する位置信号をアナログ信号として出力する。コンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、レゾルバからのアナログ信号をデジタル信号に変換し、その変換したデジタル信号に基づいて、回転磁界を生成するための交流電流を回転子の外周部に設けられたステータコイル（通常、３相コイルから成る。）に流す駆動信号を生成してインバータへ出力する。インバータは、ＣＰＵからの駆動信号に基づいて、ステータコイルの各相に所定のタイミングで所定の交流電流を流す。これにより、ステータコイルは、回転磁界を生成し、回転子は、ステータコイルからの回転磁界により回転する。
【０００４】
しかし、レゾルバは、通常、０．５次誤差、１次誤差および２次誤差等の誤差を生じるので、レゾルバからの出力は、時間とともに直線的に回転角が大きくなる特性を示さない。
【０００５】
そこで、特開２００２−３１５３８１号公報には、モータの回転速度Ｖｍを推定し、その推定した回転速度Ｖｍに基づいてモータのコイルに通電を行なう技術が開示されている。すなわち、ブラシレスモータのロータ位置に応じて、複数の位置検出素子から出力される位置検出信号Ｓａ〜Ｓｃの出力状態が変化する信号変化期間ｔｎが測定される。そして、信号変化期間ｔｎにおける位置検出信号Ｓａ〜Ｓｃの出力状態の変化率Ｒｔが演算され、その演算された変化率Ｒｔは所定値と比較される。
【０００６】
その結果、回転速度Ｖｍは、変化率Ｒｔが所定値よりも大きいとき、最新の信号変化期間ｔｎに基づき推定され、変化率Ｒｔが所定値以下であるとき、信号変化期間ｔｎ〜ｔｎ−５の平均値に基づいて推定される。
【０００７】
そして、推定された回転速度Ｖｍに基づいて、ブラシレスモータのコイルへの通電が行なわれる。
【０００８】
【特許文献１】
特開２００２−３１５３８１号公報
【０００９】
【特許文献２】
特開平７−１６８６２９号公報
【００１０】
【特許文献３】
特開２００１−２１１６９８号公報
【００１１】
【特許文献４】
特開２００１−１６５７０７号公報
【００１２】
【発明が解決しようとする課題】
しかし、特開２００２−３１５３８１号公報に開示された電動機の制御方法は、ＰＷＭ制御を前提とした制御方法であり、その他の制御方法に適用することができないという問題がある。
【００１３】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、制御方式に関係なく、回転位置センサーの誤差を補正可能な電動機制御装置を提供することである。
【００１４】
また、この発明の別の目的は、制御方式に関係なく、回転位置センサーのセンサー値の補正をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することである。
【００１５】
【課題を解決するための手段および発明の効果】
この発明によれば、電動機制御装置は、回転位置センサーと、制御手段と、補正手段とを備える。回転位置センサーは、電動機に含まれる回転子の回転位置を検出する。制御手段は、回転位置センサーにより検出されたセンサー値を補正したセンサー補正値を用いて、電動機を駆動する駆動装置を制御する。補正手段は、回転位置センサーにより検出されるセンサー値の予測値を演算し、その演算した予測値に基づいて回転位置センサーにより検出されたセンサー値を補正し、その補正したセンサー値をセンサー補正値として制御手段へ出力する。
【００１６】
好ましくは、補正手段は、回転位置センサーにより検出されたセンサー値と演算した予測値との差の絶対値である偏差を演算し、その演算した偏差を基準偏差と比較した比較結果に応じて検出されたセンサー値を補正する。
【００１７】
好ましくは、補正手段は、偏差が基準偏差よりも小さいとき、演算した予測値をセンサー補正値とし、偏差が基準偏差よりも大きいとき、検出されたセンサー値に基準偏差を加減算した値をセンサー補正値とする。
【００１８】
好ましくは、補正手段は、センサー値が許容誤差の上限値よりも大きいとき、検出されたセンサー値から基準偏差を減算した値をセンサー補正値とし、センサー値が許容誤差の下限値よりも小さいとき、検出されたセンサー値に基準偏差を加算した値をセンサー補正値とする。
【００１９】
好ましくは、補正手段は、回転位置センサーから出力されるセンサー値の所定期間における平均値を演算し、その演算した平均値に基づいて予測値を演算する。
【００２０】
好ましくは、所定期間は、回転子が１８０度の整数倍回転するのに必要な時間である。
【００２１】
好ましくは、電動機制御装置は、誤差検出手段をさらに備える。誤差検出手段は、センサー値に含まれる誤差の種類を検出し、その検出した誤差の種類に応じて所定期間を設定する。そして、補正手段は、誤差検出手段により設定された所定期間において平均値を演算する。
【００２２】
好ましくは、誤差検出手段は、誤差の種類として０．５次の誤差を検出したとき、回転子が１８０度の整数倍回転するのに必要な時間を所定期間として設定する。
【００２３】
好ましくは、誤差検出手段は、誤差の種類として１．０次の誤差を検出したとき、回転子が９０度の整数倍回転するのに必要な時間を所定期間として設定する。
【００２４】
好ましくは、誤差検出手段は、誤差の種類として２．０次の誤差を検出したとき、回転子が４５度の整数倍回転するのに必要な時間を所定期間として設定する。
【００２５】
好ましくは、電動機制御装置は、故障判定手段をさらに備える。故障判定手段は、補正手段により演算された偏差が最大誤差よりも大きいとき、回転位置センサーが故障していると判定する。
【００２６】
また、この発明によれば、電動機に含まれる回転子の回転位置を検出する回転位置センサーのセンサー値の補正をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体は、回転位置センサーにより検出されるセンサー値の予測値を演算する第１のステップと、演算された予測値と、回転位置センサーにより検出されたセンサー値との差の絶対値である偏差を演算する第２のステップと、演算された偏差を基準偏差と比較する第３のステップと、比較結果に応じてセンサー値を補正する第４のステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００２７】
好ましくは、第４のステップは、偏差が基準偏差よりも小さいとき、演算した予測値をセンサー値を補正したセンサー補正値とする。
【００２８】
好ましくは、第４のステップは、偏差が基準偏差よりも大きいとき、検出されたセンサー値に基準偏差を加減算した値をセンサー値を補正したセンサー補正値とする。
【００２９】
好ましくは、第４のステップは、センサー値が許容誤差の上限値よりも大きいとき、検出されたセンサー値から基準偏差を減算した値をセンサー補正値とし、センサー値が許容誤差の下限値よりも小さいとき、検出されたセンサー値に基準偏差を加算した値をセンサー補正値とする。
【００３０】
好ましくは、第１のステップは、回転位置センサーから出力されるセンサー値の所定期間における平均値を演算する第１のサブステップと、演算された平均値に基づいて予測値を演算する第２のサブステップとを含む。
【００３１】
好ましくは、第１のサブステップは、回転子が１８０度の整数倍回転するのに必要な時間を所定期間として平均値を演算する。
【００３２】
好ましくは、プログラムは、センサー値に含まれる誤差の種類を検出する第５のステップをさらにコンピュータに実行させ、第１のサブステップは、検出された誤差の種類に応じて決定された所定期間において平均値を演算する。
【００３３】
好ましくは、第１のサブステップは、誤差の種類として０．５次の誤差が検出されたとき、回転子が１８０度の整数倍回転するのに必要な時間を所定期間として平均値を演算する。
【００３４】
好ましくは、第１のサブステップは、誤差の種類として１．０次の誤差が検出されたとき、回転子が９０度の整数倍回転するのに必要な時間を所定期間として平均値を演算する。
【００３５】
好ましくは、第１のサブステップは、誤差の種類として２．０次の誤差が検出されたとき、回転子が４５度の整数倍回転するのに必要な時間を所定期間として平均値を演算する。
【００３６】
好ましくは、プログラムは、演算された偏差が最大誤差よりも大きいとき、回転位置センサーが故障していると判定する第６のステップをさらにコンピュータに実行させる。
【００３７】
この発明においては、電動機のロータの回転位置を示すセンサー値の予測値が演算され、その演算された予測値に基づいてセンサー値が補正される。
【００３８】
したがって、この発明によれば、電動機の制御方式に関係なく、センサー値を補正できる。
【００３９】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００４０】
［実施の形態１］
図１を参照して、この発明の実施の形態１による電動機制御装置を備えるモータ駆動装置１００は、直流電源１０と、コンデンサ２０と、インバータ３０と、電流センサー４０と、回転位置センサー６０と、制御装置７０とを備える。
【００４１】
電源ライン１は、直流電源１０の正極に接続され、アースライン２は、直流電源１０の負極に接続される。コンデンサ２０は、電源ライン１とアースライン２との間に接続される。そして、コンデンサ２０は、直流電源１０からの直流電圧を平滑化し、その平滑化した直流電圧をインバータ３０に供給する。
【００４２】
インバータ３０は、コンデンサ２０を介して直流電圧を受け、その受けた直流電圧を制御装置７０からの信号ＰＷＭによって交流電圧に変換して同期モータ５０を駆動する。
【００４３】
電流センサー４０は、同期モータ５０に流れるモータ電流Ｉｕ，Ｉｖを検出し、その検出したモータ電流Ｉｕ，Ｉｖを制御装置７０へ出力する。なお、図１においては、電流センサー４０は、２個しか示されていない。これは、同期モータ５０が３相同期モータの場合、２つの相に流れるモータ電流Ｉｕ，Ｉｖを検出すれば、その検出されたモータ電流Ｉｕ，Ｉｖに基づいて残りの相に流れるモータ電流Ｉｗを演算できるからである。したがって、３相の各々に流れるモータ電流Ｉｕ，Ｉｖ，Ｉｗを独自に検出する場合、３個の電流センサー４０を設けてもよい。
【００４４】
同期モータ５０は、Ｕ相コイル、Ｖ相コイルおよびＷ相コイルをステータコイルとして含む３相の同期モータである。
【００４５】
回転位置センサー６０は、同期モータ５０のロータの回転位置を検出し、その検出した回転位置を示すセンサー値θｂを制御装置７０へ出力する。
【００４６】
制御装置７０は、誤差補正部７１と、３相／２相変換部７２と、電流指令生成部７３と、減算器７４，７５と、ＰＩ制御部７６と、２相／３相変換部７７と、ＰＷＭ生成部７８とを含む。
【００４７】
誤差補正部７１は、回転位置センサー６０からセンサー値θｂを受け、その受けたセンサー値θｂを後述する方法によって補正する。そして、誤差補正部７１は、補正したセンサー補正値θｈを３相／２相変換部７２および２相／３相変換部７７へ出力する。
【００４８】
３相／２相変換部７２は、２個の電流センサー４０，４０からモータ電流Ｉｕ，Ｉｖを受ける。そして、３相／２相変換部７２は、モータ電流Ｉｕ，Ｉｖに基づいてモータ電流Ｉｗ＝−Ｉｕ−Ｉｖを演算する。
【００４９】
そうすると、３相／２相変換部７２は、モータ電流Ｉｕ，Ｉｖ，Ｉｗを誤差補正部７１からのセンサー値θｈを用いて三相二相変換する。すなわち、３相／２相変換部７２は、モータ電流Ｉｕ，Ｉｖ，Ｉｗおよびセンサー補正値θｈを次式に代入して電流値Ｉｄ，Ｉｑを演算する。
【００５０】
【数１】
2004242370.tif 000003
つまり、３相／２相変換部７２は、同期モータ５０の３相コイルの各相に流れる３相のモータ電流Ｉｕ，Ｉｖ，Ｉｗをセンサー補正値θｈを用いてｄ軸およびｑ軸に流れる電流値Ｉｄ，Ｉｑに変換する。そして、３相／２相変換部７２は、演算した電流値Ｉｄを減算器７４へ出力し、演算した電流値Ｉｑを減算器７５へ出力する。
【００５１】
電流指令生成部７３は、モータ駆動装置１００の外部に設けられたＥＣＵ（Ｅｌｅｃｔｒｉｃａｌ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）からトルク指令値ＴＲを受け、その受けたトルク指令値ＴＲによって指定されたトルクを出力するための電流指令Ｉｄ＊，Ｉｑ＊を生成する。そして、電流指令生成部７３は、生成した電流指令Ｉｄ＊を減算器７４へ出力し、生成した電流指令Ｉｑ＊を減算器７５へ出力する。
【００５２】
減算器７４は、電流指令Ｉｄ＊と電流値Ｉｄとの偏差ΔＩｄを演算し、その演算した偏差ΔＩｄをＰＩ制御部７６へ出力する。また、減算器７５は、電流指令Ｉｑ＊と電流値Ｉｑとの偏差ΔＩｑを演算し、その演算した偏差ΔＩｑをＰＩ制御部７６へ出力する。
【００５３】
ＰＩ制御部７６は、偏差ΔＩｄ，ΔＩｑに対してＰＩゲインを用いてモータ電流調整用の電圧操作量Ｖｄ，Ｖｑを演算し、その演算した電圧操作量Ｖｄ，Ｖｑを２相／３相変換部７７へ出力する。
【００５４】
２相／３相変換部７７は、ＰＩ制御部７６からの電圧操作量Ｖｄ，Ｖｑを誤差補正部７１からのセンサー補正値θｈを用いて二相三相変換する。すなわち、２相／３相変換部７７は、ＰＩ制御部７６からの電圧操作量Ｖｄ，Ｖｑおよび誤差補正部７１からのセンサー補正値θｈを次式に代入して同期モータ５０の３相コイルに印加する電圧の操作量Ｖｕ，Ｖｖ，Ｖｗを演算する。
【００５５】
【数２】
2004242370.tif 000004
つまり、２相／３相変換部７７は、ｄ軸およびｑ軸に印加する電圧の操作量Ｖｄ，Ｖｑをセンサー補正値θｈを用いて同期モータ５０の３相コイルに印加する電圧の操作量Ｖｕ，Ｖｖ，Ｖｗに変換する。
【００５６】
そして、２相／３相変換部７７は、電圧の操作量Ｖｕ，Ｖｖ，ＶｗをＰＷＭ生成部７８へ出力する。
【００５７】
ＰＷＭ生成部７８は、電圧の操作量Ｖｕ，Ｖｖ，Ｖｗに基づいて信号ＰＷＭを生成し、その生成した信号ＰＷＭをインバータ３０へ出力する。
【００５８】
図２は、インバータ３０の回路図を示す。図２を参照して、インバータ３０は、Ｕ相アーム１５と、Ｖ相アーム１６と、Ｗ相アーム１７とを含む。Ｕ相アーム１５、Ｖ相アーム１６およびＷ相アーム１７は、電源ライン１とアースライン２との間に並列に設けられる。
【００５９】
Ｕ相アーム１５は、直列に接続されたＮＰＮトランジスタＱ３，Ｑ４から成り、Ｖ相アーム１６は、直列に接続されたＮＰＮトランジスタＱ５，Ｑ６から成り、Ｗ相アーム１７は、直列に接続されたＮＰＮトランジスタＱ７，Ｑ８から成る。また、各ＮＰＮトランジスタＱ３〜Ｑ８のコレクタ−エミッタ間には、エミッタ側からコレクタ側へ電流を流すダイオードＤ３〜Ｄ８がそれぞれ接続されている。
【００６０】
インバータ３０の各相アームの中間点は、同期モータ５０の各相コイルの各相端に接続されている。すなわち、同期モータ５０のＵ相コイルの他端がＮＰＮトランジスタＱ３，Ｑ４の中間点に、Ｖ相コイルの他端がＮＰＮトランジスタＱ５，Ｑ６の中間点に、Ｗ相コイルの他端がＮＰＮトランジスタＱ７，Ｑ８の中間点にそれぞれ接続されている。
【００６１】
図３を参照して、誤差補正部７１におけるセンサー値θｂの補正方法について説明する。なお、図３は、回転位置センサー６０が１．０次の誤差を含むセンサー値θｂを出力する場合について示す。
【００６２】
曲線ｋ１は、タイミングＴｘとタイミングＴｙとの間の所定期間Δｔ１（「規定期間」とも言う。以下同じ。）における回転位置センサー６０からのセンサー値θｂを示す。誤差補正部７１は、タイミングＴｘにおけるＰｈａｓｅ（Ｔｘ）とタイミングＴｙにおけるＰｈａｓｅ（Ｔｙ）とを用いて、ロータの移動量の平均値ＰＨａｖを演算する。そして、誤差補正部７１は、演算した平均値ＰＨａｖに時間Δｔ１を乗算することにより直線ｋ２によって示される予測値を演算する。
【００６３】
そうすると、誤差補正部７１は、所定期間Δｔ１に隣接する所定期間Δｔ２（タイミングＴｙ〜タイミングＴｚ）において、回転位置センサー６０からのセンサー値θｂ（曲線ｋ３によって示される。）と予測値ｋ２との差の絶対値、すなわち、偏差ΔＰｈを演算する。
【００６４】
そして、誤差補正部７１は、偏差ΔＰｈを許容誤差Ｐｈ＿Ｊの半分の値に相当する基準偏差Ｐｈ＿Ｊ／２と比較し、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも小さいとき、予測値ｋ２をセンサー値θｂを補正したセンサー補正値θｈとし、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも大きいとき、回転位置センサー６０からのセンサー値θｂに基準偏差Ｐｈ＿Ｊ／２を加減算した値をセンサー補正値θｈとする。
【００６５】
偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも大きいとき、センサー値θｂが許容誤差Ｐｈ＿Ｊの上限値（直線ｋ４によって示される。）よりも大きい場合と、センサー値θｂが許容誤差Ｐｈ＿Ｊの下限値（直線ｋ５によって示される。）よりも小さい場合とが存在する。そこで、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも大きいとき、次のようにセンサー値θｂを補正する。
【００６６】
すなわち、誤差補正部７１は、センサー値θｂが許容誤差Ｐｈ＿Ｊの上限値よりも大きいとき、回転位置センサー６０からのセンサー値θｂから基準偏差Ｐｈ＿Ｊ／２を減算した値θｂ−Ｐｈ＿Ｊ／２をセンサー補正値θｈとし、センサー値θｂが許容誤差Ｐｈ＿Ｊの下限値よりも小さいとき、回転位置センサー６０からのセンサー値θｂに基準偏差Ｐｈ＿Ｊ／２を加算した値θｂ＋Ｐｈ＿Ｊ／２をセンサー補正値θｈとする。
【００６７】
これにより、センサー値θｂが許容誤差Ｐｈ＿Ｊの範囲を超える誤差を含んでいる場合でもセンサー補正値θｈは、許容誤差Ｐｈ＿Ｊ内に入る。許容誤差Ｐｈ＿Ｊの上限値（直線ｋ４によって示される。）および下限値（直線ｋ５によって示される。）は、回転位置センサー６０の出荷時に設定される基準値とコンデンサ２０に過電圧が印加されない値とを考慮して決定される。そして、回転位置センサー６０からのセンサー値θｂは、設定された許容誤差Ｐｈ＿Ｊの上限値または下限値から基準偏差Ｐｈ＿Ｊ／２を超えてずれることは殆どないので、センサー値θｂが許容誤差Ｐｈ＿Ｊの上限値よりも大きいとき、センサー値θｂから基準偏差Ｐｈ＿Ｊ／２を減算することによりセンサー補正値θｈは許容誤差Ｐｈ＿Ｊ内に入り、センサー値θｂが許容誤差Ｐｈ＿Ｊの下限値よりも小さいとき、センサー値θｂに基準偏差Ｐｈ＿Ｊ／２を加算することによりセンサー補正値θｈは許容誤差Ｐｈ＿Ｊ内に入る。
【００６８】
そうすると、タイミングＴｙからタイミングＴ１までの期間、偏差ΔＰｈは、基準偏差Ｐｈ＿Ｊ／２よりも小さいので、タイミングＴｙからタイミングＴ１までの期間、予測値ｋ２がセンサー補正値θｈとして用いられ、タイミングＴ１以降、センサー値θｂに基準偏差Ｐｈ＿Ｊ／２を加算した値θｂ＋Ｐｈ＿Ｊ／２がセンサー補正値θｈとして用いられる。すなわち、センサー補正値θｈは、曲線ｋ６によって示される。
【００６９】
偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも小さいとき（タイミングＴｙからタイミングＴ１までの間）、センサー値θｂに代えて予測値（曲線ｋ３によって示される。）を用いることにしたのは、所定期間Δｔ１における平均値ＰＨａｖから演算された予測値は、センサー値θｂが時間に対してリニアに変化する特性を有するので誤差を含まないときのセンサー値に近い特性を示すと考えられ、その誤差を含まないときのセンサー値に近い予測値を用いることにより同期モータ５０の制御性を向上させるためである。
【００７０】
また、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも大きいとき（タイミングＴ１以降）、予測値ではなくセンサー値θｂを基準偏差Ｐｈ＿Ｊ／２により補正することにしたのは、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも大きくなる場合、予測値は同期モータ５０の実際の回転位置から大きくずれており、センサー値θｂに基準偏差Ｐｈ＿Ｊ／２を加減算した値の方が実際の回転位置に近いと考えられるからである。
【００７１】
上述したように、所定期間Δｔ１において演算された予測値に基づいて所定期間Δｔ２におけるセンサー値θｂが補正される。
【００７２】
そして、所定期間Δｔ２における予測値が上述した方法により演算され、その演算された予測値を用いて所定期間Δｔ２に隣接する所定期間においてセンサー値θｂが補正される。このように、この発明においては、ある１つの所定期間において回転位置センサー６０からのセンサー値θｂの予測値を演算し、その演算した予測値を用いて次の所定期間におけるセンサー値を補正するとともにセンサー値の予測値を演算する。そして、その演算した予測値をさらに次の所定期間におけるセンサー値の補正に用いる。
【００７３】
つまり、予測値の演算と、その演算した予測値を用いたセンサー値の補正とを順次繰返すことにより、センサー補正値θｈは許容誤差Ｐｈ＿Ｊ内に含まれるようになる。
【００７４】
したがって、この発明は、センサー補正値θｈが許容誤差Ｐｈ＿Ｊ内に入るように、回転位置センサー６０からのセンサー値θｂを補正することを特徴とする。
【００７５】
また、この発明においては、好ましくは、平均値ＰＨａｖを演算するための期間Δｔ１は、同期モータ５０のロータが１８０度の整数倍回転するのに必要な時間に設定される。
【００７６】
上記においては、１．０次の誤差を含むセンサー値の補正について説明したが、０．５次の誤差または２．０次の誤差を含むセンサー値についても、上述した方法によって補正される。
【００７７】
図４を参照して、誤差補正部７１においてセンサー値θｂを補正する動作について説明する。なお、上記においては、回転位置センサー６０からのセンサー値は、θｂによって表わされたが、同期モータ５０の制御は所定のタイミングで行なわれるため、図４においては、同期モータ５０の制御タイミングにおけるセンサー値を示すものとしてＰｈａｓｅ（Ｔｎ）が用いられている。
【００７８】
一連の動作が開始されると、誤差補正部７１は、回転位置センサー６０からセンサー値Ｐｈａｓｅ（Ｔｎ）を取り込む（ステップＳ１０）。そして、誤差補正部７１は、上述した方法によって規定期間Ｔｘ〜Ｔｙにおけるロータの移動量の平均値ＰＨａｖ＝［Ｐｈａｓｅ（Ｔｙ）−Ｐｈａｓｅ（Ｔｘ）］／［Ｔｙ−Ｔｘ］を演算する（ステップＳ１２）。その後、誤差補正部７１は、演算した平均値ＰＨａｖを用いて制御タイミングＴｎにおける予測値Ｐｈａｓｅ＿ｅｓｔ（Ｔｎ）＝Ｐｈａｓｅ（Ｔｎ−１）＋（Ｔｎ−Ｔｎ−１）×ＰＨａｖを演算する（ステップＳ１４）。そして、誤差補正部７１は、予測値Ｐｈａｓｅ＿ｅｓｔ（Ｔｎ）とセンサー値Ｐｈａｓｅ（Ｔｎ）との差の絶対値である偏差ΔＰｈを上述した方法により演算する（ステップＳ１６）。
【００７９】
そうすると、誤差補正部７１は、演算した偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも小さいか否かを判定する（ステップＳ１８）。そして、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも小さくないとき、誤差補正部７１は、センサー値Ｐｈａｓｅ（Ｔｎ）に基準偏差Ｐｈ＿Ｊ／２を加減算した値をセンサー補正値とする。
【００８０】
具体的には、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２以上であるとき、すなわち、回転位置センサー６０からのセンサー値Ｐｈａｓｅ（Ｔｎ）が許容誤差Ｐｈ＿Ｊの上限値以上であるとき、センサー値Ｐｈａｓｅ（Ｔｎ）から基準偏差Ｐｈ＿Ｊ／２を減算した値Ｐｈａｓｅ（Ｔｎ）−Ｐｈ＿Ｊ／２をセンサー補正値Ｐｈａｓｅ（Ｔｎ）＝Ｐｈａｓｅ（Ｔｎ）−Ｐｈ＿Ｊ／２とする。また、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも小さいとき、すなわち、回転位置センサー６０からのセンサー値Ｐｈａｓｅ（Ｔｎ）が許容誤差Ｐｈ＿Ｊの下限値よりも小さいとき、センサー値Ｐｈａｓｅ（Ｔｎ）に基準偏差Ｐｈ＿Ｊ／２を加算した値Ｐｈａｓｅ（Ｔｎ）＋Ｐｈ＿Ｊ／２をセンサー補正値Ｐｈａｓｅ（Ｔｎ）＝Ｐｈａｓｅ（Ｔｎ）＋Ｐｈ＿Ｊ／２とする（ステップＳ２０）。
【００８１】
一方、ステップＳ１８において、偏差ΔＰｈが基準偏差Ｐｈ＿Ｊ／２よりも小さいと判定されたとき、誤差補正部７１は、ステップＳ１４において演算した予測値Ｐｈａｓｅ＿ｅｓｔ（Ｔｎ）をセンサー補正値Ｐｈａｓｅ（Ｔｎ）とする（ステップＳ２２）。
【００８２】
そして、ステップＳ２０またはステップＳ２２の後、一連の動作が終了する。
なお、誤差補正部７１におけるセンサー値の補正は、実際にはＣＰＵによって実行され、ＣＰＵは、図４に示す各ステップを備えるプログラムをＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から読み出し、図４に示す各ステップを実行して回転位置センサー６０からのセンサー値を補正する。
【００８３】
したがって、ＲＯＭは、回転位置センサー６０からのセンサー値の補正をコンピュータ（ＣＰＵ）に実行させるためのプログラムを記録したコンピュータ（ＣＰＵ）読取り可能な記録媒体に相当する。
【００８４】
再び、図１を参照して、モータ駆動装置１００の動作について説明する。一連の動作が開始されると、回転位置センサー６０は、同期モータ５０の回転子の回転位置を検出してセンサー値θｂを制御装置７０へ出力する。電流センサー４０は、同期モータ５０に流れるモータ電流Ｉｕ，Ｉｖを検出して制御装置７０へ出力する。
【００８５】
そうすると、制御装置７０の誤差補正部７１は、回転位置センサー６０からのセンサー値θｂを上述した方法により補正し、センサー補正値θｈを３相／２相変換部７２および２相／３相変換部７７へ出力する。３相／２相変換部７２は、電流センサー４０からのモータ電流Ｉｕ，Ｉｖに基づいてモータ電流Ｉｗを演算する。そして、３相／２相変換部７２は、誤差補正部７１からのセンサー補正値θｈおよびモータ電流Ｉｕ，Ｉｖ，Ｉｗを式（１）に代入して電流値Ｉｄ，Ｉｑを演算し、誤差補正部７１からのセンサー補正値θｈを用いてモータ電流Ｉｕ，Ｉｖ，Ｉｗを同期モータ５０のｄ軸およびｑ軸に流れる電流値Ｉｄ，Ｉｑに変換する。
【００８６】
電流指令生成部７３は、外部ＥＣＵから受けたトルク指令値ＴＲに応じて、同期モータ５０がトルク指令値ＴＲによって指定されたトルクを出力するための電流指令値Ｉｄ＊，Ｉｑ＊を演算する。減算器７４は、電流指令生成部７３によって演算された電流指令値Ｉｄ＊から３相／２相変換部７２によって変換された電流値Ｉｄを減算し、偏差ΔＩｄを演算する。また、減算器７５は、電流指令生成部７３によって演算された電流指令値Ｉｑ＊から３相／２相変換部７２によって変換された電流値Ｉｑを減算し、偏差ΔＩｑを演算する。
【００８７】
ＰＩ制御部７６は、偏差ΔＩｄ，ΔＩｑに対してＰＩゲインを用いて同期モータ５０のモータ電流調整用の電圧操作量Ｖｄ，Ｖｑを演算する。そして、２相／３相変換部７７は、誤差補正部７１からのセンサー補正値θｈおよびＰＩ制御部７６からの電圧操作量Ｖｄ，Ｖｑを式（２）に代入して電圧Ｖｕ，Ｖｖ，Ｖｗを演算し、誤差補正部７１からのセンサー補正値θｈを用いてＰＩ制御部７６からの電圧操作量Ｖｄ，Ｖｑを二相三相変換する。ＰＷＭ生成部７８は、２相／３相変換部７７からの電圧Ｖｕ，Ｖｖ，Ｖｗに基づいて信号ＰＷＭを生成し、その生成した信号ＰＷＭをインバータ３０のＮＰＮトランジスタＱ３〜Ｑ８へ出力する。
【００８８】
ＮＰＮトランジスタＱ３〜Ｑ８は、信号ＰＷＭに応じてオン／オフされ、インバータ３０は、直流電源１０からの直流電圧を交流電圧に変換して同期モータ５０を駆動する。
【００８９】
これにより、回転位置センサー６０からのセンサー値θｂに誤差が含まれていても、センサー値θｂを補正してコンデンサ２０に過電圧が印加されないように同期モータを駆動できる。
【００９０】
なお、誤差補正部７１は、センサー値を補正する「補正手段」を構成する。
また、３相／２相変換部７２、電流指令生成部７３、減算器７４，７５、ＰＩ制御部７６、２相／３相変換部７７およびＰＷＭ生成部７８は、誤差補正部７１によって補正されたセンサー値を用いて同期モータ５０を制御する「制御手段」を構成する。
【００９１】
さらに、電流センサー４０、回転位置センサー６０および制御装置７０は、「電動機制御装置」を構成する。
【００９２】
実施の形態１による電動機制御装置を備えたモータ駆動装置は、図５に示すモータ駆動装置１００Ａであってもよい。図５を参照して、モータ駆動装置１００Ａは、モータ駆動装置１００の制御装置７０を制御装置７０Ａに代えたものであり、その他は、モータ駆動装置１００と同じである。制御装置７０Ａは、制御装置７０の誤差補正部７１を誤差補正部７１Ａに代えたものであり、その他は、制御装置７０と同じである。
【００９３】
誤差補正部７１Ａは、誤差補正部７１の機能に加え、回転位置センサー６０が異常であるか否かを判定する機能を有する。そして、誤差補正部７１Ａは、回転位置センサー６０が異常であると判定したとき信号ＥＭＧをモータ駆動装置１００Ａの外部に設けられた表示器（図示せず）へ出力する。
【００９４】
誤差補正部７１Ａは、上述した方法によって演算した偏差ΔＰｈが最大誤差Ｐｈ＿Ｄよりも小さいか否かを判定する。そして、誤差補正部７１Ａは、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄ以上であるとき回転位置センサー６０が故障していると判定し、信号ＥＭＧを生成する。また、誤差補正部７１Ａは、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄよりも小さいとき、上述したように、偏差ΔＰｈを基準偏差Ｐｈ＿Ｊ／２と比較し、その比較結果に応じてセンサー値θｂを補正する。
【００９５】
最大誤差Ｐｈ＿Ｄは、同期モータ５０の制御破綻を来すような値に設定され、より具体的には、同期モータ５０を車両に搭載した場合、車両の回転変動の最大値に設定される。
【００９６】
偏差ΔＰｈが最大誤差Ｐｈ＿Ｄ以上であるとき、回転位置センサー６０が故障していると判定することにしたのは、回転位置センサー６０が故障していなければ偏差ΔＰｈは最大誤差Ｐｈ＿Ｄよりも小さくなり、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄ以上になった原因は回転位置センサー６０の故障しか考えられないからである。
【００９７】
図６を参照して、誤差補正部７１Ａにおいてセンサー値θｂを補正する動作について説明する。図６に示すフローチャートは図４に示すフローチャートにステップＳ１７，Ｓ２４を追加したものであり、その他は、図４に示すフローチャートと同じである。
【００９８】
偏差ΔＰｈが演算されると（ステップＳ１６）、誤差補正部７１Ａは、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄよりも小さいか否かを判定する（ステップＳ１７）。そして、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄよりも小さいとき、上述したステップＳ１８、Ｓ２０，Ｓ２２が実行される。
【００９９】
ステップＳ１７において、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄ以上であると判定されたとき、誤差補正部７１Ａは、回転位置センサー６０が故障していると判定し（ステップＳ２４）、信号ＥＭＧを生成して外部に設けられた表示器へ出力する。そしてステップＳ２０またはＳ２２またはＳ２４の後、一連の動作が終了する。
【０１００】
このように、モータ駆動装置１００Ａにおいては、回転位置センサー６０が故障しているか否かを判定し、回転位置センサー６０が故障していない場合にセンサー値θｂを補正するので、回転位置センサー６０が正常に動作していることを前提にしてセンサー値θｂの補正を正確に行なうことができる。
【０１０１】
なお、誤差補正部７１Ａにおけるセンサー値の補正は、実際にはＣＰＵによって実行され、ＣＰＵは、図６に示す各ステップを備えるプログラムをＲＯＭから読み出し、図６に示す各ステップを実行して回転位置センサー６０からのセンサー値を補正する。
【０１０２】
したがって、ＲＯＭは、回転位置センサー６０からのセンサー値の補正をコンピュータ（ＣＰＵ）に実行させるためのプログラムを記録したコンピュータ（ＣＰＵ）読取り可能な記録媒体に相当する。
【０１０３】
モータ駆動装置１００Ａの動作は、モータ駆動装置１００の動作において誤差補正部７１の動作を上述した誤差補正部７１Ａの動作に代えたものであり、その他はモータ駆動装置１００の動作と同じである。
【０１０４】
なお、誤差補正部７１Ａは、センサー値を補正する「補正手段」を構成する。
また、３相／２相変換部７２、電流指令生成部７３、減算器７４，７５、ＰＩ制御部７６、２相／３相変換部７７およびＰＷＭ生成部７８は、誤差補正部７１Ａによって補正されたセンサー値を用いて同期モータ５０を制御する「制御手段」を構成する。
【０１０５】
さらに、電流センサー４０、回転位置センサー６０および制御装置７０Ａは、「電動機制御装置」を構成する。
【０１０６】
その他は、モータ駆動装置１００に関して説明したとおりである。
実施の形態１によれば、電動機制御装置は、所定期間における回転位置センサーからのセンサー値の平均値に基づいて予測値を演算し、その演算した予測値とセンサー値との偏差を演算し、その演算した偏差が基準偏差よりも小さいとき予測値をセンサー補正値とし、偏差が基準偏差よりも大きいときセンサー値に基準偏差を加減算した値をセンサー補正値とする誤差補正部を備えるので、同期モータの制御方式に関係なく、センサー値を補正できる。
【０１０７】
［実施の形態２］
図７を参照して、実施の形態２による電動機制御装置を備えるモータ駆動装置１００Ｂは、モータ駆動装置１００の制御装置７０を制御装置７０Ｂに代えたものであり、その他は、モータ駆動装置１００と同じである。
【０１０８】
制御装置７０Ｂは、制御装置７０に誤差検出部７９を追加したものであり、その他は、制御装置７０と同じである。
【０１０９】
誤差検出部７９は、回転位置センサー６０からセンサー値θｂを受け、その受けたセンサー値θｂに含まれる誤差の種類（０．５次の誤差、１．０次の誤差、および２．０次の誤差のいずれか）を検出する。
【０１１０】
図８を参照して、誤差の種類の検出方法について説明する。誤差検出部７９は、同期モータ５０のロータが３６０度回転したときのセンサー値θｂを回転位置センサー６０から受ける。また、誤差検出部７９は、ロータが３６０度回転するために必要な時間ｔ１を内蔵したタイマーにより測定する。そして、誤差検出部７９は、３６０度を時間ｔ１で除算してロータの平均回転速度を演算し、その演算した平均回転速度を用いて直線ｋ７を決定する。
【０１１１】
図８において、曲線ｋ８は０．５次の誤差を表わし、曲線ｋ９は１．０次の誤差を表わし、曲線ｋ１０は２．０次の誤差を表わす。誤差検出部７９は、センサー値θｂと直線ｋ７との差の絶対値、すなわち、偏差Δθｂを演算する。
【０１１２】
センサー値θｂが０．５次の誤差ｋ８を含んでいるとき、偏差Δθｂのデータは、２個の「０」を含み、センサー値θｂが１．０次の誤差ｋ９を含んでいるとき、偏差Δθｂのデータは、３個の「０」を含み、センサー値θｂが２．０次の誤差ｋ１０を含んでいるとき、５個の「０」を含む。したがって、誤差検出部７９は、偏差Δθｂのデータに含まれる「０」の個数によりセンサー値θｂに含まれる誤差の種類を検出する。
【０１１３】
そして、誤差検出部７９は、センサー値θｂに含まれる誤差の種類として０．５次の誤差を検出したとき、同期モータ５０のロータが１８０度の整数倍回転するために必要な時間を規定期間ＴＤ１として誤差補正部７１へ出力する。また、誤差検出部７９は、センサー値θｂに含まれる誤差の種類として１．０次の誤差を検出したとき、同期モータ５０のロータが９０度の整数倍回転するために必要な時間を規定期間ＴＤ２として誤差補正部７１へ出力する。さらに、誤差検出部７９は、センサー値θｂに含まれる誤差の種類として２．０次の誤差を検出したとき、同期モータ５０のロータが４５度の整数倍回転するために必要な時間を規定期間ＴＤ３として誤差補正部７１へ出力する。
【０１１４】
０．５次の誤差がセンサー値θｂに含まれる場合、ロータが１８０度の整数倍回転するために必要な時間を規定期間とするのは、ロータが１８０度の整数倍回転したとき、０．５次の誤差が最も大きくなるからである。また、１．０次の誤差がセンサー値θｂに含まれる場合、ロータが９０度の整数倍回転するために必要な時間を規定期間とするのは、ロータが９０度の整数倍回転したとき、１．０次の誤差が最も大きくなるからである。さらに、２．０次の誤差がセンサー値θｂに含まれる場合、ロータが４５度の整数倍回転するために必要な時間を規定期間とするのは、ロータが４５度の整数倍回転したとき、２．０次の誤差が最も大きくなるからである。
【０１１５】
したがって、この発明は、ロータがセンサー値θｂの誤差が最大になる角度まで回転するために必要な時間を規定期間として設定することを特徴とする。
【０１１６】
誤差補正部７１は、誤差検出部７９からの規定期間（ＴＤ１〜３のいずれか）において、上述した平均値ＰＨａｖを演算し、その演算した平均値ＰＨａｖを用いて予測値を演算する。そして、誤差補正部７１は、演算した予測値を用いて上述した方法により回転位置センサー６０からのセンサー値θｂを補正する。
【０１１７】
図９を参照して、誤差補正部７１および誤差検出部７９においてセンサー値θｂを補正する動作について説明する。図９に示すフローチャートは、図４に示すフローチャートにステップＳ６，Ｓ８を追加したものであり、その他は、図４に示すフローチャートと同じである。
【０１１８】
一連の動作が開始されると、誤差検出部７９は、回転位置センサー６０からセンサー値θｂを受け、上述した方法によってセンサー値θｂに含まれる誤差の種類を検出する（ステップＳ６）。そして、誤差検出部７９は、検出した誤差の種類に応じて規定時間Ｔｘ〜Ｔｙ（規定期間ＴＤ１〜ＴＤ３のいずれか）を決定し、その決定した規定時間Ｔｘ〜Ｔｙを誤差補正部７１へ出力する。
【０１１９】
その後、上述したステップＳ１０〜Ｓ２２が実行されてセンサー値θｂが補正される。
【０１２０】
このように、実施の形態２においては、センサー値θｂに含まれる誤差の種類が検出され、その検出された誤差の種類に応じて決定された所定期間において平均値ＰＨａｖおよび予測値が演算されてセンサー値θｂが補正される。
【０１２１】
なお、誤差補正部７１および誤差検出部７９におけるセンサー値の補正は、実際にはＣＰＵによって実行され、ＣＰＵは、図９に示す各ステップを備えるプログラムをＲＯＭから読み出し、図９に示す各ステップを実行して回転位置センサー６０からのセンサー値を補正する。
【０１２２】
したがって、ＲＯＭは、回転位置センサー６０からのセンサー値の補正をコンピュータ（ＣＰＵ）に実行させるためのプログラムを記録したコンピュータ（ＣＰＵ）読取り可能な記録媒体に相当する。
【０１２３】
モータ駆動装置１００Ｂの動作は、モータ駆動装置１００の動作に誤差検出部７９の動作を追加したものであり、その他はモータ駆動装置１００の動作と同じである。
【０１２４】
なお、誤差補正部７１および誤差検出部７９は、センサー値を補正する「補正手段」を構成する。
【０１２５】
また、３相／２相変換部７２、電流指令生成部７３、減算器７４，７５、ＰＩ制御部７６、２相／３相変換部７７およびＰＷＭ生成部７８は、誤差補正部７１および誤差検出部７９によって補正されたセンサー値を用いて同期モータ５０を制御する「制御手段」を構成する。
【０１２６】
さらに、電流センサー４０、回転位置センサー６０および制御装置７０Ｂは、「電動機制御装置」を構成する。
【０１２７】
その他は、モータ駆動装置１００に関して説明したとおりである。
実施の形態２による電動機制御装置を備えるモータ駆動装置は、図１０に示すモータ駆動装置１００Ｃであってもよい。
【０１２８】
図１０を参照して、モータ駆動装置１００Ｃは、モータ駆動装置１００Ａの制御装置７０Ａを制御装置７０Ｃに代えたものであり、その他は、モータ駆動装置１００Ａと同じである。
【０１２９】
制御装置７０Ｃは、制御装置７０Ａに誤差検出部７９を追加したものであり、その他は、制御装置７０Ａと同じである。
【０１３０】
誤差検出部７９は、上述した方法により、センサー値θｂに含まれる誤差の種類を検出し、その検出した誤差の種類に応じた所定期間（ＴＤ１〜３のいずれか）を設定して誤差補正部７１Ａへ出力する。
【０１３１】
誤差補正部７１Ａは、誤差検出部７９からの所定期間（ＴＤ１〜３のいずれか）における平均値ＰＨａｖおよび予測値を演算し、その演算した予測値を用いて偏差ΔＰｈを演算する。そして、誤差補正部７１Ａは、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄよりも小さいとき、偏差ΔＰｈと基準偏差Ｐｈ＿Ｊ／２との比較結果に応じてセンサー値θｂを補正する。また、誤差補正部７１Ａは、偏差ΔＰｈが最大誤差Ｐｈ＿Ｄ以上であるとき、回転位置センサー６０が故障していると判定し、信号ＥＭＧを生成して外部に設けられた表示器（図示せず）へ出力する。
【０１３２】
図１１を参照して、誤差補正部７１Ａおよび誤差検出部７９においてセンサー値θｂを補正する動作について説明する。図１１に示すフローチャートは図６に示すフローチャートにステップＳ６，Ｓ８を追加したものであり、その他は、図６に示すフローチャートと同じである。
【０１３３】
また、ステップＳ６，Ｓ８は、図９に示すフローチャートにおいて説明したとおりである。
【０１３４】
なお、誤差補正部７１Ａおよび誤差検出部７９におけるセンサー値の補正は、実際にはＣＰＵによって実行され、ＣＰＵは、図１１に示す各ステップを備えるプログラムをＲＯＭから読み出し、図１１に示す各ステップを実行して回転位置センサー６０からのセンサー値を補正する。
【０１３５】
したがって、ＲＯＭは、回転位置センサー６０からのセンサー値の補正をコンピュータ（ＣＰＵ）に実行させるためのプログラムを記録したコンピュータ（ＣＰＵ）読取り可能な記録媒体に相当する。
【０１３６】
モータ駆動装置１００Ｃの動作は、モータ駆動装置１００Ａの動作に誤差検出部７９の動作を追加したものであり、その他はモータ駆動装置１００Ａの動作と同じである。
【０１３７】
なお、誤差補正部７１Ａおよび誤差検出部７９は、センサー値を補正する「補正手段」を構成する。
【０１３８】
また、３相／２相変換部７２、電流指令生成部７３、減算器７４，７５、ＰＩ制御部７６、２相／３相変換部７７およびＰＷＭ生成部７８は、誤差補正部７１Ａおよび誤差検出部７９によって補正されたセンサー値を用いて同期モータ５０を制御する「制御手段」を構成する。
【０１３９】
さらに、電流センサー４０、回転位置センサー６０および制御装置７０Ｃは、「電動機制御装置」を構成する。
【０１４０】
その他は、モータ駆動装置１００Ａに関して説明したとおりである。
上述したように、実施の形態２においては、センサー値θｂに含まれる誤差の種類を検出し、その検出した誤差の種類に応じて設定された所定期間（ＴＤ１〜３のいずれか）を設定してセンサー値θｂを補正することを特徴とする。
【０１４１】
その他は、実施の形態１と同じである。
実施の形態２によれば、電動機制御装置は、回転位置センサーからのセンサー値に含まれる誤差の種類に応じて所定期間を設定する誤差検出部と、誤差検出部により設定された所定期間における回転位置センサーからのセンサー値の平均値に基づいて予測値を演算し、その演算した予測値とセンサー値との偏差を演算し、その演算した偏差が基準偏差よりも小さいとき予測値をセンサー補正値とし、偏差が基準偏差よりも大きいときセンサー値に基準偏差を加減算した値をセンサー補正値とする誤差補正部を備えるので、センサー値に含まれる誤差に応じてセンサー値を補正できる。
【０１４２】
なお、上述したモータ駆動装置１００，１００Ａ，１００Ｂ，１００Ｃは、ハイブリッド自動車または電気自動車に搭載され、ハイブリッド自動車または電気自動車の駆動輪を駆動する駆動モータを駆動する。そして、モータ駆動装置１００，１００Ａ，１００Ｂ，１００Ｃは、回転位置センサー６０からのセンサー値θｂの誤差が許容誤差に入るようにセンサー値θｂを補正し、その補正したセンサー補正値θｈに基づいて駆動モータを駆動する。したがって、安定して駆動モータを駆動でき、ハイブリッド自動車または電気自動車はスムーズに走行できる。
【０１４３】
また、上記においては、ＰＷＭ制御方式のものについて説明したが、この発明は、回転位置センサーにより検出されたセンサー値に基づいて予測値を演算し、その演算した予測値を用いてセンサー値を補正するため、ＰＷＭ制御方式のものに限らず、種々の制御方式、たとえば、過変調制御方式、矩形（１パルス）制御方式等の電動機制御方式に適用可能である。
【０１４４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】実施の形態１による電動機制御装置を備えたモータ駆動装置の概略ブロック図である。
【図２】図１に示すインバータの回路図である。
【図３】図１に示す回転位置センサーからのセンサー値の補正方法を説明するための図である。
【図４】図１に示す誤差補正部においてセンサー値を補正する動作を説明するためのフローチャートである。
【図５】実施の形態１による電動機制御装置を備えたモータ駆動装置の他の概略ブロック図である。
【図６】図５に示す誤差補正部においてセンサー値を補正する動作を説明するためのフローチャートである。
【図７】実施の形態２による電動機制御装置を備えたモータ駆動装置の概略ブロック図である。
【図８】回転位置センサーからのセンサー値に含まれる誤差の種類を検出する方法を説明するための図である。
【図９】図７に示す誤差補正部および誤差検出部においてセンサー値を補正する動作を説明するためのフローチャートである。
【図１０】実施の形態２による電動機制御装置を備えたモータ駆動装置の他の概略ブロック図である。
【図１１】図１０に示す誤差補正部および誤差検出部においてセンサー値を補正する動作を説明するためのフローチャートである。
【符号の説明】
１  電源ライン、２  アースライン、１０  直流電源、１５  Ｕ相アーム、１６  Ｖ相アーム、１７  Ｗ相アーム、２０  コンデンサ、３０  インバータ、４０  電流センサー、５０  同期モータ、６０  回転位置センサー、７０，７０Ａ，７０Ｂ，７０Ｃ  制御装置、７１，７１Ａ  誤差補正部、７２  ３相／２相変換部、７３  電流指令生成部、７４，７５  減算器、７６  ＰＩ制御部、７７  ２相／３相変換部、７８  ＰＷＭ生成部、７９  誤差検出部、１００，１００Ａ，１００Ｂ，１００Ｃ  モータ駆動装置、Ｑ３〜Ｑ８  ＮＰＮトランジスタ、Ｄ３〜Ｄ８  ダイオード。
【図１】
2004242370.tif 000005
【図２】
2004242370.tif 000006
【図３】
2004242370.tif 000007
【図４】
2004242370.tif 000008
【図５】
2004242370.tif 000009
【図６】
2004242370.tif 000010
【図７】
2004242370.tif 000011
【図８】
2004242370.tif 000012
【図９】
2004242370.tif 000013
【図１０】
2004242370.tif 000014
【図１１】
2004242370.tif 000015