(57)【要約】【課題】レゾルバ等の回転角度センサからの、製造ばらつき等に起因する誤差を含む検出結果を、ハードウェア規模の増大を抑えつつ補正して、モータの制御精度を向上させる。【解決手段】ＲＤ変換部からの、誤差を含むＡ，Ｂ，Ｚ各相信号に対し、排他的論理和演算部４１が、Ａ，Ｂ各相信号の排他的論理和である実パルスＰｒを出力する。推定角度パルス信号生成部４３は、Ｚ相信号のパルス発生毎に、直前のＺ相信号パルスの発生周期とＲＤ変換部の分解能に基づき、以後の回転で分解角回転するのに要する時間を推定し、その推定時間をパルス幅とする推定パルスＰｐを出力する。推定パルスカウンタ４４はその推定パルスＰｐをカウントして推定カウント値Ｋｐを出力する。補正量計算部４５は、実パルスＰｒの出力タイミング毎に、補正カウンタ４６からの補正カウント値Ｋｃが推定カウント値Ｋｐに一致するように補正カウント値Ｋｃをカウントアップ（更新）させる。【選択図】図３
2011036041.tif 000002
【特許請求の範囲】
【請求項１】
走行用の動力源になるモータと、
前記モータが一定角度回転する毎にそのことを示す第１の回転情報を出力すると共に、前記一定角度より大きい３６０度／ｎ（ｎは１以上の整数）を基準角度として前記モータが前記基準角度回転する毎にそのことを示す第２の回転情報を出力する回転検出手段と、
を備えた車両に用いられ、
前記回転検出手段から出力される前記第１及び第２の回転情報を用いて前記モータへの通電を制御する車両の走行用モータ制御装置であって、
前記第１の回転情報を補正してその補正結果を補正回転情報として出力する補正手段を備え、該補正手段から出力される前記補正回転情報に基づいて前記モータへの通電を制御するよう構成されており、
前記補正手段は、
前記第１及び第２の回転情報が示す前記モータの回転角度である実検出角度が所定の推定用角度幅だけ変化するタイミング毎に、該実検出角度が現在の値よりも前記基準角度だけ前の値になったときから現在の値になるまでの経過時間を計測し、該計測した経過時間に基づいて、以後の回転において前記一定角度回転するのに要する時間を推定する一定角度回転時間推定手段と、
前記第２の回転情報の出力タイミングを角度推定開始タイミングとして、該角度推定開始タイミングから前記一定角度回転時間推定手段により推定されている時間である推定時間が経過する毎に、該推定時間経過中に前記モータが前記一定角度回転したものと推定して該角度推定開始タイミングを基準とした前記モータの回転角度を推定し、該推定結果を推定回転情報として生成する推定回転情報生成手段と、
前記第１の回転情報の出力タイミング毎に、該出力タイミングにおいて前記推定回転情報生成手段により生成されている前記推定回転情報が示す回転角度である推定回転角度と当該補正手段が現在出力している前記補正回転情報が示す回転角度である補正回転角度とを比較して、該補正回転角度が該推定回転角度に一致するように前記補正回転情報を更新して出力すると共に、前記第２の回転情報の出力タイミング毎に、前記補正回転情報が示す前記補正回転角度が前記推定回転情報が示す前記推定回転角度、及び前記実検出角度と同じ値になるように該補正回転情報を初期化する補正回転情報更新手段と、
を備えたことを特徴とする車両の走行用モータ制御装置。
【請求項２】
請求項１に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記推定回転角度と前記補正回転角度との差である推補差分を算出する推補差分算出手段、
を備え、前記推補差分算出手段による前記推補差分の算出結果に基づき、該推補差分が０ならば、現在出力している前記補正回転情報をそのまま保持し、該推補差分が０ではないならば、現在出力している前記補正回転情報を、現在の前記補正回転角度から前記推補差分に応じた増加量だけ増加した回転角度を示す情報に更新すること、
を特徴とする車両の走行用モータ制御装置。
【請求項３】
請求項２に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記補正回転角度が前記一定角度を最小単位としてその整数（但し負の整数を除く）倍の値となるように前記補正回転情報の更新を行うよう構成されていると共に、前記推補差分算出手段による前記推補差分の算出結果が０ではない場合、該算出結果に基づき、前記補正回転角度が前記推定回転角度よりも前記一定角度だけ小さいならば、現在出力している前記補正回転情報を、現在の前記補正回転角度より前記一定角度だけ増加した回転角度を示す情報に更新し、前記補正回転角度が前記推定回転角度よりも小さく且つその差が前記一定角度よりも大きいならば、現在出力している前記補正回転情報を、現在の前記補正回転角度より前記一定角度の２倍だけ増加した回転角度を示す情報に更新すること、
を特徴とする車両の走行用モータ制御装置。
【請求項４】
請求項１〜請求項３の何れか１項に記載の車両の走行用モータ制御装置において、
前記第１及び第２の回転情報に基づいて、前記角度推定開始タイミングを基準とした前記実検出角度を示す実回転情報を生成する実回転情報生成手段を備え、
前記補正回転情報更新手段は、
前記第１の回転情報の出力タイミングのうち予め決められた複数のタイミングである判断用タイミング毎に、該判断用タイミングにおける前記実検出角度と前記推定回転角度との差である実推差分を算出する実推差分算出手段と、
前記実推差分算出手段により算出された前記実推差分が予め規定されている第１判定用角度を超えているか否かを判断する第１実推差分判断手段と、
前記第１実推差分判断手段により前記実推差分が前記第１判定用角度を超えていると判断された場合に、前記実検出角度と前記補正回転角度との差である実補差分を算出する第１実補差分算出手段と、
を備え、前記第１実推差分判断手段により前記実推差分が前記第１判定用角度を超えていると判断された場合は、前記第１実補差分算出手段により算出される実補差分が予め規定されている第１規定角度より小さくなるように前記補正回転情報を更新すること、
を特徴とする車両の走行用モータ制御装置。
【請求項５】
請求項４に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記第１実推差分判断手段により前記実推差分が前記第１判定用角度を超えていると判断された場合に、前記第１実補差分算出手段により算出される実補差分に基づき、前記実検出角度が前記補正回転角度よりも大きく且つその差が前記第１規定角度以上である規定加速状態であるか否かを判断する加速状態判断手段、
を備え、前記加速状態判断手段により前記規定加速状態であると判断された場合は、現在出力している前記補正回転情報を、現在の前記補正回転角度より前記第１規定角度だけ増加した回転角度を示す情報に更新すること、
を特徴とする車両の走行用モータ制御装置。
【請求項６】
請求項５に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記第１実推差分判断手段により前記実推差分が前記第１判定用角度を超えていると判断された場合に、前記第１実補差分算出手段により算出される実補差分に基づき、前記実検出角度が前記補正回転角度よりも小さく且つその差が前記第１規定角度以上である規定減速状態であるか否かを判断する減速状態判断手段、
を備え、前記減速状態判断手段により前記規定減速状態であると判断された場合は、以後少なくとも、前記判断用タイミング毎に前記規定減速状態であるとの判断が継続する間は、前記実検出角度が前記一定角度を第１規定倍数乗じた角度だけ増加する間に前記補正回転角度が前記一定角度だけ増加するような変化率にて、該補正回転角度が増加するように、前記補正回転情報を更新すること、
を特徴とする車両の走行用モータ制御装置。
【請求項７】
請求項４〜請求項６の何れか１項に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記実推差分算出手段により算出された前記実推差分が、予め規定されている、前記第１判定用角度よりも大きい第２判定用角度を超えているか否かを判断する第２実推差分判断手段、
を備え、前記第２実推差分判断手段により前記実推差分が前記第２判定用角度を超えていると判断された場合は、以後、次に前記第２の回転情報が出力されるまでの間は、前記第１の回転情報の出力タイミング毎に前記実回転情報をそのまま前記補正回転情報として出力すること、
を特徴とする車両の走行用モータ制御装置。
【請求項８】
請求項７に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記実推差分算出手段による算出結果に基づき、前記実検出角度が前記推定回転角度よりも大きいか否かを判断する実推比較判断手段と、
前記第２実推差分判断手段により前記実推差分が前記第２判定用角度を超えていると判断された場合であって、且つ、前記実推比較判断手段により前記実検出角度が前記推定回転角度以下と判断された場合に、前記実検出角度が現在出力している前記補正回転角度に到達するまで待機する待機手段と、
を備え、前記待機手段による待機により前記実検出角度が前記補正回転角度に到達した後は、次に前記第２の回転情報が出力されるまでの間は、前記第１の回転情報の出力タイミング毎に前記実回転情報をそのまま前記補正回転情報として出力すること、
を特徴とする車両の走行用モータ制御装置。
【請求項９】
請求項１〜請求項８の何れか１項に記載の車両の走行用モータ制御装置において、
前記第１及び第２の回転情報に基づいて、前記角度推定開始タイミングを基準とした前記実検出角度を示す実回転情報を生成する実回転情報生成手段を備え、
前記補正回転情報更新手段は、
前記実検出角度が、予め規定した、前記基準角度よりも小さい境界角度を超えたか否かを判断する境界角度判断手段と、
前記境界角度判断手段により前記実検出角度が前記境界角度を超えたと判断されたときに、前記実検出角度と前記補正回転角度との差である実補差分を算出する第２実補差分算出手段と、
を備え、前記第２実補差分算出手段により算出された実補差分が０ならば、以後、次に前記第２の回転情報が出力されるまでの間は、前記第１の回転情報の出力タイミング毎に前記実回転情報をそのまま前記補正回転情報として出力すること、
を特徴とする車両の走行用モータ制御装置。
【請求項１０】
請求項９に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記第２実補差分算出手段により算出された実補差分が０ではなかった場合に、該実補差分に基づき、前記実検出角度が前記補正回転角度よりも大きいか否かを判断し、大きいと判断した場合は、現在出力している前記補正回転情報を、現在の前記補正回転角度より予め規定した第２規定角度だけ増加した回転角度を示す情報に更新すること、
を特徴とする車両の走行用モータ制御装置。
【請求項１１】
請求項９又は請求項１０に記載の車両の走行用モータ制御装置において、
前記補正回転情報更新手段は、
前記第２実補差分算出手段により算出された実補差分が０ではなかった場合に、該実補差分に基づき、前記実検出角度が前記補正回転角度よりも小さいか否かを判断し、小さいと判断した場合は、以後少なくとも、前記第１の回転情報の出力タイミング毎に前記実検出角度が前記補正回転角度よりも小さいとの判断が継続する間は、前記実検出角度が前記一定角度を第２規定倍数乗じた角度だけ増加する間に前記補正回転角度が前記一定角度だけ増加するような変化率にて、該補正回転角度が増加するように、前記補正回転情報を生成すること、
を特徴とする車両の走行用モータ制御装置。
【請求項１２】
請求項１〜請求項１１の何れか１項に記載の車両の走行用モータ制御装置において、
前記一定角度回転時間推定手段は、
前記基準角度を前記推定用角度幅で除算した値を区切り数として、前記実検出角度が前記推定用角度幅だけ変化するタイミング毎に、今回の該タイミングにおける前記経過時間である今回経過時間から前回の該タイミングにおける前記経過時間である前回経過時間を減算し、該減算結果に前記区切り数を乗じた値を前記今回経過時間に加算することにより、推定経過時間を算出して、該算出した推定経過時間に基づいて前記推定時間を推定すること、
を特徴とする車両の走行用モータ制御装置。
【請求項１３】
請求項１〜請求項１２の何れか１項に記載の車両の走行用モータ制御装置において、
前記推定用角度幅は、前記基準角度をｍ（ｍは２以上の整数）で除算した値であること、
を特徴とする車両の走行用モータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の走行用モータを制御する装置に関する。
【背景技術】
【０００２】
例えば電気自動車やハイブリッド自動車、電車などのように走行用の動力源としてモータを備えた車両において、モータを制御するために用いられる走行用モータ制御装置としては、モータの回転角度を検出し、その検出結果に基づいてモータへの通電を制御（詳しくはモータへの通電を行うインバータ等の駆動装置を制御）するよう構成されたものが知られている（例えば、特許文献１参照。）。
【０００３】
特許文献１には、モータの回転角度を検出する回転角度センサとしてレゾルバを用いた制御装置が記載されている。レゾルバは、モータの出力軸の回転と共に回転するロータ、及びステータを備え、ロータの位置によるロータとステータとの間のリラクタンスの変化に応じた（即ちモータの回転角度に応じた）回転検出信号を出力する、周知の回転角度検出用のセンサである。尚、以下の説明では、レゾルバのステータ及びロータを、モータのステータ及びロータと区別するために、それぞれ、「レゾルバステータ」、「レゾルバロータ」という。
【０００４】
レゾルバのより具体的な構成について、位相が電気角で９０度ずれた２つの回転検出信号を出力する２相のレゾルバを例に挙げて説明すると、レゾルバロータ又はレゾルバステータのいずれか一方に一次コイルが設けられ、他方に二次コイルが設けられている。そして、一定周波数の励磁信号が一次コイルに供給されることにより、二次コイルから、励磁信号が振幅変調された信号であって且つ位相が９０度ずれた２つの回転検出信号が出力される。
【０００５】
レゾルバから出力される回転検出信号はアナログ信号である。そのため、レゾルバを用いてモータの回転角度を検出する場合は、通常、レゾルバと共に、このレゾルバからの回転検出信号をモータの回転角度を示すデジタルデータである角度データに変換するレゾルバ・デジタル変換器（ＲＤＣ：Resolver Digital Converter）が用いられる。そして、走行用モータ制御装置は、ＲＤＣからの角度データに基づいてモータへの通電を制御する。
【０００６】
ところで、レゾルバから出力される２つの回転検出信号は、互いに振幅が等しく、また互いにオフセットが無く、更に互いの位相差が規定値（上記例では９０度）であることが理想的であり、ＲＤＣは、レゾルバから入力される２つの回転検出信号がそのように理想的なものである場合に理想的に機能し、回転角度の検出精度が良好になる。
【０００７】
しかし、実際には、レゾルバロータの形状のばらつきや、レゾルバの各コイルの特性、或いはレゾルバロータとレゾルバステータとのギャップのばらつき（以下これらをまとめて「製造ばらつき」ともいう）などの種々の原因により、レゾルバからの回転検出信号は上述した理想的なものとはならず、２相のレゾルバ信号に振幅差やオフセット、位相誤差が生じる可能性がある。つまり、レゾルバからの回転検出信号が、製造ばらつき等に起因する誤差を含むものとなってしまう。
【０００８】
このようにレゾルバからの回転検出信号が誤差を含むものであると、ＲＤＣから出力される角度データも誤差を含むデータとなり、回転角度の検出精度が低下することとなる。具体的には、モータが等速度で回転している場合であっても、ＲＤＣからの角度データが時間に対して比例せずに非線形になってしまう。
【０００９】
すると、走行用モータ制御装置では、そのＲＤＣからの角度データに基づいてモータの回転角度を把握し、モータへの通電を制御するため、モータへの通電がモータの実際の回転角度に応じた適切な値にならず、モータの制御精度が低下してしまうこととなる。
【００１０】
更に具体的な現象としては、例えば、自動車が一定速度で走行しており、且つ、運転者がアクセルペダルの操作力（一般には踏む力）を変えていない場合に、ＲＤＣからの誤差を含む角度データ、即ち実際のモータの回転角度とは異なった回転角度を示すデータに基づいてモータの制御が行われることで、モータの発生トルクが増減してしまい、運転者がアクセルペダルの操作力を変えていないにも関わらず車両に前後方向の加速度が発生してしまう。よって、運転者を含む車両の乗員に不快感を与えてしまう可能性がある。
【００１１】
また、モータの回転角度を検出する回転角度センサとしては、上述したレゾルバ以外にも、例えば一定角度回転する毎にそのことを示す回転検出信号（パルス）を出力すると共にモータが１回転する毎にそのことを示す回転検出信号（パルス）を出力するインクリメンタルエンコーダや、一定角度回転毎にそのときの回転角度を示す回転検出信号（角度データ）を出力するアブソリュートエンコーダ、更には例えば特許文献２に記載されているような、縦型ホール素子と磁気抵抗素子（ＭＲＥ）との組み合わせにより回転角度に応じた回転検出信号を出力するセンサなど、様々な構成・方式のものがあるが、これら各種の回転角度センサにおいても、上述したレゾルバと同様に、製造ばらつき等に起因して回転検出信号に誤差が発生する可能性がある。
【００１２】
これに対し、レゾルバからの、誤差を含む回転検出信号に対して、その誤差を補正する回転位置検出方法が知られている（例えば、特許文献３参照。）。
特許文献３に記載の回転位置検出方法では、モータを定速回転させ、その定速回転している状態において、レゾルバが１回転するために要する時間を計測し、その計測した時間から割り出された複数（レゾルバの分解能に応じた数）の角度データを角度データ基準θｎとして算出する。そして、実際にレゾルバから出力される回転検出信号に基づく回転角度データφｎと上記角度データ基準θｎとを比較し、その誤差を、回転角度データφｎに対応した補正値としてφｎごとにメモリへ保存しておく。このメモリへの保存は予め行っておく。そして、実際にモータを回転制御する際は、実際に回転角度データφｎが入力される毎に、そのφｎに対応して保存されている補正値を用いてそのφｎを補正し、補正後の値として角度データ基準θｎを得る。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平１０−２１５５０４号公報
【特許文献２】特開２００８−１８５４０６号公報
【特許文献３】特開平１０−１７０５３１
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、特許文献３に記載された誤差補正方法では、レゾルバの製造ばらつき等に起因して発生する回転検出信号の誤差を補正することは可能であるものの、その補正のために走行用モータ制御装置のハードウェアの規模が増大するという問題がある。
【００１５】
即ち、特許文献３に記載された誤差補正方法は、所定角度毎（レゾルバの分解能に応じた角度毎）の補正値をメモリに保存しておく必要があるため、大容量のメモリが必要となり、結果、メモリを含むハードウェアの規模が増大してしまうのである。
【００１６】
特に近年、モータをより高精度に制御すべく、その回転角度の検出精度もより高い精度（高分解能）が要求されている。特許文献３に記載された誤差補正方法によってそのような要求に応えようとすると、要求される検出精度が高いほどメモリに保存しておくべき補正値も増え、ハードウェアの規模（メモリの容量）もますます増大してしまう。
【００１７】
本発明は上記課題に鑑みなされたものであり、車両の走行用モータ制御装置において、モータの回転角度を検出する回転角度センサによる、その回転角度センサの製造ばらつき等に起因する誤差を含む検出結果を、ハードウェアの規模の増大を抑えつつ適切に補正して、モータの制御精度を向上させることを目的とする。
【課題を解決するための手段】
【００１８】
上記課題を解決するためになされた請求項１に記載の発明は、走行用の動力源になるモータと、このモータが一定角度回転する毎にそのことを示す第１の回転情報を出力すると共に、上記一定角度より大きい３６０度／ｎ（ｎは１以上の整数）を基準角度としてモータが上記基準角度回転する毎にそのことを示す第２の回転情報を出力する回転検出手段と、を備えた車両に用いられ、回転検出手段から出力される第１及び第２の回転情報を用いてモータへの通電を制御する車両の走行用モータ制御装置であって、第１の回転情報を補正してその補正結果を補正回転情報として出力する補正手段を備えており、この補正手段から出力される補正回転情報に基づいて、モータへの通電を制御するよう構成されている。
【００１９】
そして、補正手段は、一定角度回転時間推定手段と、推定回転情報生成手段と、補正回転情報更新手段と、を備えている。
一定角度回転時間推定手段は、第１及び第２の回転情報が示すモータの回転角度である実検出角度が所定の推定用角度幅だけ変化するタイミング毎に、実検出角度が現在の値よりも基準角度だけ前の値になったときから現在の値になるまでの経過時間を計測し、その計測した経過時間に基づいて、以後の回転において一定角度回転するのに要する時間（推定時間）を推定する。
【００２０】
推定回転情報生成手段は、第２の回転情報の出力タイミングを角度推定開始タイミングとして、その角度推定開始タイミングから上記推定時間が経過する毎に、その推定時間経過中にモータが一定角度回転したものと推定して上記角度推定開始タイミングを基準としたモータの回転角度を推定し、その推定結果を推定回転情報として生成する。
【００２１】
そして、補正回転情報更新手段は、第１の回転情報の出力タイミング毎に、その出力タイミングにおいて推定回転情報生成手段により生成されている推定回転情報が示す回転角度である推定回転角度と当該補正手段が現在出力している補正回転情報が示す回転角度である補正回転角度とを比較して、補正回転角度が推定回転角度に一致するように補正回転情報を更新して出力すると共に、第２の回転情報の出力タイミング毎に、補正回転情報が示す補正回転角度が、推定回転情報が示す推定回転角度、及び実検出角度と同じ値になるように、補正回転情報を初期化する。
【００２２】
一定角度回転時間推定手段が推定する推定時間は、その推定したタイミング以後においてモータが上記一定角度回転するのに要する時間の予測値（推定値）である。この推定時間は、推定するタイミング毎（実検出角度が推定用角度幅だけ変化する毎）に、その直前に基準角度回転するのに要した実際の時間（経過時間）に基づいて推定されるものであるため、推定値であるとはいえ、直前の回転状態が反映された信頼性の高い値である。
【００２３】
そして、推定回転情報生成手段は、上記推定時間に基づき、推定時間が経過する毎にモータが上記一定角度ずつ回転するであろうとの予測を前提に、推定時間が経過する毎に、モータの回転角度が上記一定角度ずつ進んだことを示す推定回転情報（その時点において推定される回転角度を示す情報）を生成する。そのため、このようにして生成される推定回転情報は、直前の回転状態が反映された信頼性の高い情報である。
【００２４】
そこで、補正回転情報更新手段は、第１の回転情報の出力タイミング毎に、現在出力している補正回転情報を、現在生成されている推定回転情報に一致するように更新する。つまり、補正回転情報を推定回転情報に追従させるのであり、且つ、単に追従させるのではなく両者の差（具体的には補正回転角度と推定回転角度との差）がなくなるように、補正回転情報を更新していくのである。
【００２５】
従って、請求項１に記載の走行用モータ制御装置によれば、回転検出手段の製造ばらつき等の種々の要因によって、回転検出手段から出力される上記第１の回転情報が誤差を含むものであったとしても、補正手段によってその誤差が補正された信頼性の高い補正回転情報が生成され、その信頼性の高い補正回転情報がモータの通電制御に用いられる。そのため、既述の特許文献３に記載されているように大容量のメモリが必要となることもなく、よってハードウェアの規模の増大を抑えつつ、モータの制御精度を向上させることができる。
【００２６】
次に、請求項２に記載の発明は、請求項１に記載の車両の走行用モータ制御装置において、補正回転情報更新手段は、推定回転角度と補正回転角度との差である推補差分を算出する推補差分算出手段を備えており、この推補差分算出手段による推補差分の算出結果に基づき、推補差分が０ならば、現在出力している補正回転情報をそのまま保持し、推補差分が０ではないならば、現在出力している補正回転情報を、現在の補正回転角度から推補差分に応じた増加量だけ増加した回転角度を示す情報に更新する。
【００２７】
つまり、推補差分が０ならば現在出力している補正回転角度が推定回転角度に一致しているということであるため、現在の補正回転角度の出力をそのまま保持し、推補差分が０でないならば、現在出力している補正回転角度が推定回転角度よりも遅れているということであるため、現在の補正回転情報が示す補正回転角度から回転角度が増加した新たな補正回転情報を出力するのである。
【００２８】
従って、請求項２に記載の走行用モータ制御装置によれば、補正回転角度の更新を確実に行うことができ、請求項１の効果を確実に得ることができる。
次に、請求項３に記載の発明は、請求項２に記載の車両の走行用モータ制御装置において、補正回転情報更新手段は、補正回転角度が上記一定角度を最小単位としてその整数（但し負の整数を除く）倍の値となるように補正回転情報の更新を行うよう構成されている。そして、この補正回転情報更新手段は、推補差分算出手段による推補差分の算出結果が０ではない場合、その該算出結果に基づき、補正回転角度が推定回転角度よりも上記一定角度だけ小さいならば、現在出力している補正回転情報を、現在の補正回転角度より上記一定角度だけ増加した回転角度を示す情報に更新し、補正回転角度が推定回転角度よりも小さく且つその差が上記一定角度よりも大きいならば、現在出力している補正回転情報を、現在の補正回転角度より上記一定角度の２倍だけ増加した回転角度を示す情報に更新する。
【００２９】
つまり、推補差分が０ではない場合は、推定回転角度に対する補正回転角度の遅れが上記一定角度かそれより大きいかに応じて、補正回転情報が示す補正回転角度の増加量（更新量）を決めるのである。そのため、請求項２に記載の走行用モータ制御装置によれば、補正回転角度の更新をより確実に行うことができ、請求項１の効果をより確実に得ることができる。
【００３０】
次に、請求項４に記載の発明は、請求項１〜請求項３の何れか１項に記載の車両の走行用モータ制御装置において、第１及び第２の回転情報に基づいて、角度推定開始タイミングを基準とした実検出角度を示す実回転情報を生成する実回転情報生成手段を備えている。そして、補正回転情報更新手段は、第１の回転情報の出力タイミングのうち予め決められた複数のタイミングである判断用タイミング毎に、その判断用タイミングにおける実検出角度と推定回転角度との差である実推差分を算出する実推差分算出手段と、この実推差分算出手段により算出された実推差分が予め規定されている第１判定用角度を超えているか否かを判断する第１実推差分判断手段と、この第１実推差分判断手段により実推差分が第１判定用角度を超えていると判断された場合に、実検出角度と補正回転角度との差である実補差分を算出する第１実補差分算出手段と、を備え、第１実推差分判断手段により実推差分が第１判定用角度を超えていると判断された場合は、第１実補差分算出手段により算出される実補差分が予め規定されている第１規定角度より小さくなるように補正回転情報を更新する。
【００３１】
実推差分が第１判定用角度を超えている場合は、モータが等速回転しておらずに加速又は減速しながら回転していることが予想される。そこで、そのように実推差分が第１判定用角度を超えている場合（モータの回転が加・減速であることが予想される場合）は、上述した請求項１〜３のように補正回転角度が推定回転角度に一致するような補正回転情報の更新を行うのではなく、実補差分が第１規定角度より小さくなるように、即ち補正回転角度が実検出角度に追従するように、補正回転情報の更新を行うのである。
【００３２】
従って、請求項４に記載の走行用モータ制御装置によれば、モータの回転が加速又は減速状態となっても、補正回転情報が示す補正回転角度を実際のモータの回転角度に追従させることができる。
【００３３】
そして、上記のようにモータの回転が加・減速状態であることが予想される場合の、補正回転情報の具体的更新方法は種々考えられるが、例えば、加速状態であることが予想される場合には請求項５に記載のように更新することができ、減速状態であることが予想される場合には請求項６に記載のように更新することができる。
【００３４】
即ち、請求項５に記載の車両の走行用モータ制御装置は、補正回転情報更新手段が、第１実推差分判断手段により実推差分が第１判定用角度を超えていると判断された場合に、第１実補差分算出手段により算出される実補差分に基づき、実検出角度が補正回転角度よりも大きく且つその差が第１規定角度以上である規定加速状態であるか否かを判断する加速状態判断手段を備えている。そして、補正回転情報更新手段は、加速状態判断手段により規定加速状態であると判断された場合は、現在出力している補正回転情報を、現在の補正回転角度より第１規定角度だけ増加した回転角度を示す情報に更新する。
【００３５】
このように構成された請求項５に記載の走行用モータ制御装置によれば、実検出角度が補正検出角度よりも第１規定角度以上進んでいる規定加速状態においては、現在の補正回転角度が上記第１規定角度ずつ増加するように補正回転情報が更新されるため、実検出角度に対して遅れている補正回転角度をより迅速に実検出角度に追従させることができる。
【００３６】
一方、請求項６に記載の車両の走行用モータ制御装置は、補正回転情報更新手段が、第１実推差分判断手段により実推差分が第１判定用角度を超えていると判断された場合に、第１実補差分算出手段により算出される実補差分に基づき、実検出角度が補正回転角度よりも小さく且つその差（実検出角度から補正回転角度を減算した値の絶対値）が第１規定角度以上である規定減速状態であるか否かを判断する減速状態判断手段を備えている。そして、補正回転情報更新手段は、減速状態判断手段により規定減速状態であると判断された場合は、以後少なくとも、上記判断用タイミング毎に規定減速状態であるとの判断が継続する間は、実検出角度が上記一定角度を第１規定倍数乗じた角度だけ増加する間に補正回転角度が一定角度だけ増加するような変化率にて、該補正回転角度が増加するように、補正回転情報を更新する。
【００３７】
このように構成された請求項６に記載の走行用モータ制御装置によれば、補正回転角度が実検出角度よりも第１規定角度以上進んでいる規定減速状態においては、補正回転角度が緩やかに増加していくように補正回転情報が更新されるため、実検出角度よりも進んでいる補正回転角度をより適切に実検出角度に追従させることができる。
【００３８】
このように、請求項４〜請求項６に記載の走行用モータ制御装置では、モータの回転が加・減速状態であっても、その加・減速状態に応じた適切な補正回転情報の更新を行うことができるが、加速度或いは減速度が大きすぎると、補正回転角度を実検出角度に追従させるのが困難になるおそれがある。
【００３９】
そこで、加速度或いは減速度が大きすぎる場合は、例えば請求項７に記載のように、実回転情報をそのまま補正回転情報として出力するようにしてもよい。即ち、請求項７に記載の発明は、請求項４〜請求項６の何れか１項に記載の車両の走行用モータ制御装置において、補正回転情報更新手段は、実推差分算出手段により算出された実推差分が、予め規定されている、第１判定用角度よりも大きい第２判定用角度を超えているか否かを判断する第２実推差分判断手段を備えている。そして、補正回転情報更新手段は、第２実推差分判断手段により実推差分が第２判定用角度を超えていると判断された場合は、以後、次に第２の回転情報が出力されるまでの間は、第１の回転情報の出力タイミング毎に、実回転情報をそのまま補正回転情報として出力する。
【００４０】
つまり、実推差分が第２判定用角度を超えていることによりモータの加速度或いは減速度が大きすぎることが予想される場合は、実際の回転状態に追従させることを優先すべく、実回転情報をそのまま補正回転情報として出力するのであり、このようにすることで、急な加速や減速が生じた場合であってもモータの制御性の悪化を抑えることができる。
【００４１】
但し、実推差分が第２判定用角度を超えている場合において実検出角度が推定回転角度よりも小さい場合（即ち減速度が大きすぎることが予想される場合）に、補正回転情報として実回転情報の出力を開始すると、その開始直前の補正回転情報が示す補正回転角度よりもその開始直後の実回転情報が示す実検出角度の方が小さくなってしまう（つまり補正回転角度が瞬間的に戻ってしまう）おそれがある。
【００４２】
そこで、減速度が大きすぎることが予想される場合には、例えば請求項８に記載のように、補正回転情報としての実回転情報の出力をすぐに開始するのではなく、実回転情報が示す実検出角度が補正回転角度に追いつくまでは現在の補正回転情報をそのまま出力するようにするとよい。
【００４３】
即ち、請求項８に記載の発明は、請求項７に記載の車両の走行用モータ制御装置において、補正回転情報更新手段は、実推差分算出手段による算出結果に基づき、実検出角度が推定回転角度よりも大きいか否かを判断する実推比較判断手段と、第２実推差分判断手段により実推差分が第２判定用角度を超えていると判断された場合であって、且つ、実推比較判断手段により実検出角度が推定回転角度以下と判断された場合に、実検出角度が現在出力している補正回転角度に到達するまで待機する待機手段と、を備えている。そして、補正回転情報更新手段は、待機手段による待機により実検出角度が補正回転角度に到達した後は、次に第２の回転情報が出力されるまでの間は、第１の回転情報の出力タイミング毎に実回転情報をそのまま補正回転情報として出力する。
【００４４】
このように、実検出角度が現在出力中の補正回転角度に到達した上で、実回転情報をそのまま補正回転情報として出力するようにすることで、急な減速が生じた場合であっても、補正回転情報を実回転情報にスムーズに追従させることができる。
【００４５】
次に、請求項９に記載の発明は、請求項１〜請求項８の何れか１項に記載の車両の走行用モータ制御装置において、第１及び第２の回転情報に基づいて、角度推定開始タイミングを基準とした実検出角度を示す実回転情報を生成する実回転情報生成手段を備えている。そして、補正回転情報更新手段は、実検出角度が、予め規定した、基準角度よりも小さい境界角度を超えたか否かを判断する境界角度判断手段と、この境界角度判断手段により実検出角度が境界角度を超えたと判断されたときに、実検出角度と補正回転角度との差である実補差分を算出する第２実補差分算出手段と、を備えており、第２実補差分算出手段により算出された実補差分が０ならば、以後、次に第２の回転情報が出力されるまでの間は、第１の回転情報の出力タイミング毎に実回転情報をそのまま補正回転情報として出力する。
【００４６】
このように構成された請求項９に記載の走行用モータ制御装置によれば、角度推定開始タイミングからの実検出角度が境界角度を超えた以後は、実補差分が０であれば次に再び角度推定開始タイミングが来るまでは補正回転情報として実回転情報をそのまま出力するため、補正回転情報を実回転情報に確実に追従させることができ、且つ、次に第２の回転情報が出力されたときの補正回転角度の急激な変化を確実に抑制することができる。
【００４７】
一方、実検出角度が境界角度を超えたときの実補差分が０ではなかった場合は、補正回転情報更新手段は、次に第２の回転情報が出力されるまで、例えば請求項１１や請求項１２に記載のように補正回転情報を更新するようにするとよい。
【００４８】
即ち、請求項１０に記載の発明は、請求項９に記載の車両の走行用モータ制御装置において、補正回転情報更新手段は、第２実補差分算出手段により算出された実補差分が０ではなかった場合に、その実補差分に基づき、実検出角度が補正回転角度よりも大きいか否かを判断する。そして、大きいと判断した場合は、現在出力している補正回転情報を、現在の補正回転角度よりも予め規定した第２規定角度だけ増加した回転角度を示す情報に更新する。
【００４９】
このように、境界角度を超えた以後において、実検出角度が補正回転角度よりも大きい（つまり補正回転角度が実際よりも遅れている）場合には補正回転角度を第２規定角度ずつ増加させていくことで、補正回転情報を実回転情報に確実且つスムーズに追従させることができる。
【００５０】
また、請求項１１に記載の発明は、請求項９又は請求項１０に記載の車両の走行用モータ制御装置において、補正回転情報更新手段は、第２実補差分算出手段により算出された実補差分が０ではなかった場合に、その実補差分に基づき、実検出角度が補正回転角度よりも小さいか否かを判断する。そして、小さいと判断した場合は、以後少なくとも、第１の回転情報の出力タイミング毎に実検出角度が補正回転角度よりも小さいとの判断が継続する間は、実検出角度が一定角度を第２規定倍数乗じた角度だけ増加する間に補正回転角度が一定角度だけ増加するような変化率にて、補正回転角度が増加するように、補正回転情報を生成する。
【００５１】
このように、境界角度を超えた以後において、実検出角度が補正回転角度よりも小さい（つまり補正回転角度が実際よりも進んでいる）場合には補正回転角度を増加させる変化率小さく抑えて少しずつ増加させていくことで、補正回転角度と実回転角度との差を適切に小さくしていくことができ、補正回転情報を実回転情報に確実且つスムーズに追従させることができる。
【００５２】
次に、請求項１２に記載の発明は、請求項１〜請求項１１の何れか１項に記載の車両の走行用モータ制御装置において、一定角度回転時間推定手段は、基準角度を推定用角度幅で除算した値を区切り数として、実検出角度が推定用角度幅だけ変化するタイミング毎に、今回のそのタイミングにおける上記経過時間である今回経過時間から、前回のそのタイミングにおける上記経過時間である前回経過時間を減算し、その減算結果に区切り数を乗じた値を今回経過時間に加算することにより、推定経過時間を算出する。そして、その算出した推定経過時間に基づいて、推定時間を推定する。
【００５３】
推定時間を推定するタイミングにおいて、単にそのタイミング直前の上記経過時間のみに基づいて推定するようにすると、モータの回転状態が加速状態又は減速状態の場合、その加・減速状態が推定時間の推定に反映されない。そのため、例えば加速状態の場合には、推定時間が、実際に上記一定角度回転するのに要する時間（加速状態のため短い）よりも長い時間として推定され、逆に減速状態の場合には、推定時間が、実際に上記一定角度回転するのに要する時間（減速状態のため長い）よりも短い時間として推定されることとなり、加・減速状態の場合には推定時間の推定精度を高精度に維持できなくなる可能性がある。
【００５４】
そこで、請求項１２に記載のように、単に今回経過時間を用いるのではなく、今回経過時間に、今回経過時間とそれより前の前回経過時間との差を加味したものを、推定経過時間として算出する。この推定経過時間は、モータの回転状態（加・減速状態）が考慮されたものである。そのため、この推定経過時間に基づいて推定時間の推定を行えば、加・減速状態であってもその状態に応じたより高精度の推定を行うことができ、このようにして推定された高精度の推定時間に基づいて、推定回転情報生成手段はより高精度な推定回転情報を生成することができる。
【００５５】
次に、請求項１３に記載の発明は、請求項１〜請求項１２の何れか１項に記載の車両の走行用モータ制御装置において、推定用角度幅は、基準角度をｍ（ｍは２以上の整数）で除算した値である。
【００５６】
推定用角度幅をどのように決めるかは任意であり、例えば基準角度を推定用角度幅に決めることもできるが、上記のように基準角度をｍで除算した値を推定用角度幅とすることで、より短い間隔で推定時間を推定（つまり推定時間を更新）することができる。そのため、補正回転情報の更新をより精度良く行うことができ、より精度の良い補正回転情報に基づくより高精度なモータ制御が可能となる。
【図面の簡単な説明】
【００５７】
【図１】実施形態の電気自動車の制御システムを表す構成図である。
【図２】実施形態のレゾルバ及び回転角検出部の概略構成を表す構成図である。
【図３】実施形態の誤差補正部の構成を表す構成図である。
【図４】ＲＤ変換部から出力されるＡ，Ｂ，Ｚ各相信号と、これら信号に基づいて誤差補正部内で生成される実パルスＰｒとそのカウント値（実カウント値Ｋｒ）を説明するための説明図である。
【図５】ＲＤ変換部から出力されるＺ相信号と、このＺ相信号に基づいて誤差補正部内で生成される推定パルスＰｐとそのカウント値（推定カウント値Ｋｐ）を説明するための説明図である。
【図６】実施形態の除算方法を説明するための説明図である。
【図７】補正量計算部にて行われる補正量計算処理を表すフローチャートである。
【図８】図７の補正量計算処理におけるＳ１９０の通常補正動作の詳細を表すフローチャートである。
【図９】図７の補正量計算処理におけるＳ２００の加減速追従動作の詳細を表すフローチャートである。
【図１０】図７の補正量計算処理におけるＳ２１０の最終追従動作の詳細を表すフローチャートである。
【図１１】レゾルバ一周期における回転開始時からの各カウンタ及び補正量計算部の動作例を表す説明図である。
【図１２】レゾルバ一周期における回転開始時からの各カウンタ及び補正量計算部の動作例を表す説明図である。
【図１３】速度変化が考慮された推定パルスの生成方法を説明するための説明図である。
【発明を実施するための形態】
【００５８】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
以下に、本発明が適用された実施形態の、車両の走行用モータ制御装置について説明する。尚、本実施形態の走行用モータ制御装置は、車両としての電気自動車に搭載されて、その電気自動車の動力源となる走行用モータを制御するものである。
【００５９】
まず、図１は、実施形態の電気自動車の制御システムを表す構成図である。
図１に示すように、本実施形態の電気自動車には、公知の交流同期モータからなる走行用モータ（以下単に、モータともいう）１と、直流電源であるバッテリ３と、バッテリ３の直流出力電圧を三相交流に変換し、該変換したＵ相、Ｖ相及びＷ相の三相交流電流によってモータ１を駆動する公知のインバータ５と、インバータ５を介してモータ１を制御する走行用モータ制御装置（以下、ＥＣＵという）７と、が搭載されている。そして、モータ１の出力軸１ａは、ディファレンシャルギヤ９を介して左右の駆動輪１１に連結されている。
【００６０】
尚、インバータ５は、例えばＩＧＢＴ（絶縁ゲート型バイポーラトランジスタ）等からなる６個のスイッチング素子と、それらスイッチング素子を駆動する駆動回路とを備え、その駆動回路が、ＥＣＵ７から入力されるパルス幅変調信号ＵＵ，ＵＶ，ＵＷに基づいて、上記スイッチング素子をオン／オフさせることにより、バッテリ３の直流を三相交流に変換する。
【００６１】
更に、モータ１の出力軸１ａには、該モータ１の回転角度（詳しくは、モータ１のロータの回転角度）を検出するためのセンサとして、レゾルバ１３が設けられている。レゾルバ１３は、レゾルバステータと、そのレゾルバステータ内に回転自在に配置されると共に、モータ１の出力軸１ａに固定されて該出力軸１ａと共に回転するレゾルバロータとを備えている。
【００６２】
そして、レゾルバ１３は、レゾルバロータとレゾルバステータとの間のリラクタンスが、レゾルバロータの回転位置（モータ１の回転角度でもある）によって変化するように構成されており、そのリラクタンスの変化に応じて（即ち、モータ１の回転角度に応じて）正弦波状に振幅が変わると共に位相が電気角で９０°ずれた２つの回転検出信号Ｓａ，Ｓｂを出力する。
【００６３】
より詳しく説明すると、レゾルバ１３において、レゾルバステータには、一次コイルと、２つの二次コイルとが設けられている。そして、一次コイルに一定周波数の励磁信号ｆ（ｔ）が供給されることで、二次コイルの各々から、モータ１の回転角度に応じた回転検出信号として、励磁信号ｆ（ｔ）をｓｉｎθで振幅変調した波形の回転検出信号Ｓａ（＝ｆ（ｔ）・ｓｉｎθ）と、励磁信号ｆ（ｔ）をｃｏｓθで振幅変調した波形の回転検出信号Ｓｂ（＝ｆ（ｔ）・ｓｉｎθ）とが出力される。
【００６４】
尚、θは、モータの回転角度を１以上の整数ｎ倍した角度であり、レゾルバ１３の電気的な回転角度（電気角）を示すものでもある。また、ｎは、モータの一回転あたりにθが回転する回数（即ち、機械角に対する電気角の倍速比）であり、一般には軸倍角と呼ばれる。
【００６５】
また、以下の説明においては、特に断りのない限り、レゾルバ１３について「回転」というときは、レゾルバロータの機械的な回転ではなく電気的な回転を意味し、レゾルバ１３について「周期」というときは、レゾルバ１３の電気的な一回転の期間を意味するものとする。そのため、レゾルバ１３の回転角度とは、レゾルバ１３の電気的な回転角度（電気角）を意味するものである。
【００６６】
本実施形態のレゾルバ１３は、レゾルバロータとレゾルバステータとの間のリラクタンス変化の一周期、即ち回転検出信号Ｓａ，Ｓｂの一周期（詳しくは、基本波成分であるｓｉｎθ及びｃｏｓθの一周期）が、レゾルバロータの一回転（即ち、機械的な一回転でありモータ１の一回転でもある）に対応するように構成されている。つまり、回転検出信号Ｓａ，Ｓｂの電気角とレゾルバロータの機械角とが同じであり、軸倍角が１になっている。
【００６７】
但し、このようにレゾルバ１３の軸倍角が１であるのはあくまでも一例であり、このような構成に限らず、レゾルバ１３は、回転検出信号Ｓａ，ＳｂのＮ周期（Ｎは２以上の整数）が、レゾルバロータの一回転に対応するように構成されているもの（つまり、軸倍角がＮであるもの）であっても良い。
【００６８】
そのため、例えば軸倍角が２のレゾルバの場合、モータ１が一回転する間に、レゾルバ１３の回転角度は０度〜７２０度となる。換言すれば、モータ１が半回転する毎にレゾルバは一回転する、ということである。レゾルバ１３の一回転あたりのモータ１の回転角度は本発明の基準角度に相当するものである。
【００６９】
一方更に、図１に示す如く、インバータ５からモータ１への各相の電流供給線２１，２２，２３の各々には、電流センサ２５，２６，２７が配設されている。そして、電流センサ２５は、モータ１のＵ相電流レベルを検出してこれに対応するＵ相電流信号を出力する。同様に、電流センサ２６は、モータ１のＶ相電流レベルを検出してこれに対応するＶ相電流信号を出力し、電流センサ２７は、モータ１のＷ相電流レベルを検出してこれに対応するＷ相電流信号を出力する。そして、電流センサ２５〜２７からの各相の電流信号は、ＥＣＵ７に入力される。
【００７０】
また更に、電気自動車には、その電気自動車の運転状態を検出するためのセンサとして、アクセルセンサ３１、ブレーキセンサ３２、及びシフトポジションセンサ３３等が設けられている。
【００７１】
アクセルセンサ３１は、運転者によって操作される図示しないアクセルペダルに付設されており、同アクセルペダルの踏み込み量に対応したアクセル開度信号を出力する。ブレーキセンサ３２は、運転者によって操作される図示しないブレーキペダルに付設されており、同ブレーキペダルの踏み込み量に対応したブレーキ油圧信号を出力する。シフトポジションセンサ３３は、運転者によって操作される図示しないシフトレバーに付設されており、当該レバーが車両の前進、ニュートラル、後退、駐車の各モードのいずれかに選択的に操作されたかを検出しこれをシフトポジション信号として出力する。
【００７２】
そして、それら各センサ３１〜３３からの信号（アクセル開度信号，ブレーキ油圧信号，シフトポジション信号）も、車両運転情報としてＥＣＵ７に入力される。
ＥＣＵ７は、レゾルバ１３に励磁信号ｆ（ｔ）を供給すると共に、レゾルバ１３から出出力される回転検出信号Ｓａ，Ｓｂを入力して、その回転検出信号Ｓａ，Ｓｂから、モータ１の回転角度を示すデジタルデータ（以下、角度データという）φを出力する回転角検出部３５と、周知のＣＰＵ、ＲＯＭ、ＲＡＭ、及びＩ／Ｏ回路等からなるマイコン３７と、パルス幅変調回路（ＰＷＭ回路）３９とを備えている。尚、回転角検出部３５から出力される角度データφは、レゾルバ１３の回転角度を表すデータであり、モータ１の回転角度を直接的に表しているものではない。しかし、本実施形態ではレゾルバ１３の軸倍角が１であるため、回転角検出部３５から出力される角度データφは、結果的にはモータ１の回転角度を直接表すものとなっている。
【００７３】
パルス幅変調回路３９は、マイコン３７からの制御信号に従って、三相交流電流の各相に対応したパルス幅変調信号ＵＵ，ＵＶ，ＵＷを生成し、それら各パルス幅変調信号ＵＵ，ＵＶ，ＵＷをインバータ５に出力する。これにより、インバータ５からモータ１へ、Ｕ相、Ｖ相及びＷ相の三相交流電流が供給される。
【００７４】
マイコン３７は、回転角検出部３５からの角度データφを、モータ１の回転角度の検出値として入力すると共に、例えば、その角度データφの単位時間あたりの変化分から、モータ１の回転数（回転速度）を算出する。
【００７５】
そして、マイコン３７は、モータ１の回転情報である回転角度及び回転数と、電流センサ２５〜２７や他のセンサ３１〜３３からの信号に基づいて、インバータ５を駆動することにより、車両の運転状態に応じた所望のトルクをモータ１に発生させる。尚、こうしたモータ１の制御自体は公知のものであるが、簡単に説明しておく。
【００７６】
即ち、マイコン３７は、モータ１の回転角度及び回転数と、車両運転情報（アクセル開度信号、ブレーキ油圧信号及びシフトポジション信号）等に基づいて、モータ１に発生させるべきトルクの要求量を演算し、その要求量に基づいて公知のベクトル演算によりモータ１を通電するための電流指令ベクトルを演算する。そして、その演算結果に基づいて、上記要求量のトルクをモータ１に発生させるための制御信号を、パルス幅変調回路３９に出力する。更に、このとき、マイコン３７は、電流センサ２５〜２７からの電流信号のうちの少なくとも２つ（例えば、Ｕ相電流信号とＷ相電流信号）に基づいて、モータ１に流れる三相の各電流が目標値となるように、パルス幅変調回路３９への制御信号（延いては、パルス幅変調回路３９からインバータ５へのパルス幅変調信号ＵＵ，ＵＶ，ＵＷ）をフィードバック制御する。
【００７７】
次に、回転角検出部３５の構成について、図２及び図３を用いて説明する。図２は、レゾルバ１３及び回転角検出部３５の概略構成を表す構成図であり、図３は、回転角検出部３５を構成する誤差補正部１７の構成を表す構成図である。
【００７８】
図２に示すように、回転角検出部３５は、ＲＤ変換部１６と、誤差補正部１７と、を備えている。ＲＤ変換部１６は、レゾルバ１３に励磁信号ｆ（ｔ）を供給すると共に、レゾルバ１３から出力される回転検出信号Ｓａ，Ｓｂを入力して、その回転検出信号Ｓａ，Ｓｂから、モータ１の回転角度（詳しくはレゾルバ１３の回転角度）を示す回転情報であるＡ相信号、Ｂ相信号、及びＺ相信号を出力する。
【００７９】
ＲＤ変換部１６は、デジタルトラッキング方式のＲＤＣ（Resolver Digital Converter）であり、図示は省略しているものの、その内部で、レゾルバ１３から入力される回転検出信号Ｓａ，Ｓｂを、レゾルバ１３の回転角度を表すデジタルデータ（以下、実検出データという）に変換する。この変換方法についてはよく知られているため、ここでは詳細説明を省略する。
【００８０】
また、ＲＤ変換部１６は、その内部にエンコーダ・エミュレータを備えており、上記変換後の実検出データが、いわゆるインクリメンタルエンコーダが出力する信号と同等の形式のパルス信号（Ａ相信号、Ｂ相信号、Ｚ相信号）にされる。これら各パルス信号の具体例を、図４（ａ）〜（ｃ）に示す。
【００８１】
図４（ａ）〜（ｃ）に示すように、Ａ相信号及びＢ相信号は、いずれも、レゾルバ１３が所定角度回転する毎に１つのパルスが発生するものであり、Ａ相信号とＢ相信号は互いに位相が９０度ずれている。Ｚ相信号は、原点（０度）を指定する信号であり、レゾルバ１３が一回転する毎に１つのパルスが発生する。
【００８２】
なお、詳しくは後述するが、誤差補正部１７では、Ａ相信号及びＢ相信号に基づき、両者の排他的論理和を計算して、その計算結果に応じたパルスである実パルスＰｒ（図４（ｄ）参照）が生成される。この実パルスＰｒの、レゾルバ１３一回転中に発生するパルスエッジ（立ち上がりエッジ及び立ち下がりエッジ）の回数が、ＲＤ変換部１６の分解能を示すものとなる。
【００８３】
具体的には、本実施形態のＲＤ変換部１６の分解能は、１２ｂｉｔ（０〜４０９５）である。そのため、レゾルバ１３が０度〜３６０度まで一回転する間に、実パルスＰｒが２０４８個発生し、よってそのパルスエッジ発生回数は４０９６回となる。
【００８４】
尚、実パルスＰｒのエッジ発生タイミングから次のエッジ発生タイミングまでの間隔をパルス幅として、１つのパルス幅あたりのレゾルバ１３の回転角度が、レゾルバ１３にて検出可能な最小単位の角度であり、この１つのパルス幅あたりのモータ１の実際の回転角度が本発明の「一定角度」に相当するものである。本実施形態では、実パルスＰｒの１つのパルス幅あたりのレゾルバ回転角度は、３６０／４０９６度であり、以下この角度を分解角とも称す。
【００８５】
ところで、レゾルバ１３から出力される２つの回転検出信号Ｓａ，Ｓｂは、互いに振幅が等しく、また互いにオフセットが無く、更に互いの位相差が９０度であることが理想的である。しかし、実際には、上述した製造ばらつき等の種々の原因により、レゾルバ１３からの回転検出信号Ｓａ，Ｓｂは上述した理想的なものとはならず、製造ばらつき等に起因する誤差を含むものとなってしまう。そのため、ＲＤ変換部１６内部で生成される実検出データも誤差を含むデータとなり、これに基づいて生成されるＡ，Ｂ各相信号も誤差を含む信号となってしまう。
【００８６】
そこで本実施形態では、回転角検出部３５内に、ＲＤ変換部１６による検出結果を補正するための誤差補正部１７が設けられている。誤差補正部１７は、ＲＤ変換部１６からＡ，Ｂ，Ｚ各相信号を入力し、これら各相信号に基づいて、レゾルバ１３の製造ばらつき等に起因する誤差が抑えられた（或いは完全に除去された）角度データφを生成する。そして、この誤差補正部１７により生成された角度データφが、マイコン３７へ入力される。
【００８７】
誤差補正部１７は、より詳しくは、図３に示すように、排他的論理和演算部４１と、実パルスカウンタ４２と、推定角度パルス信号生成部４３と、推定パルスカウンタ４４と、補正量計算部４５と、補正カウンタ４６と、出力切替スイッチ４７と、を備えている。
【００８８】
排他的論理和演算部４１は、Ａ相信号及びＢ相信号の排他的論理和を計算して、その計算結果に応じた実パルスＰｒ（図４（ｄ）参照）を生成する。
実パルスカウンタ４２は、排他的論理和演算部４１にて生成された実パルスＰｒが入力され、この実パルスＰｒをカウントする。より詳しくは、実パルスＰｒの立ち上がりエッジ及び立ち下がりエッジを検出して、各エッジの検出タイミングにてカウント値をカウントアップしていく。そして、そのカウント値を実カウント値Ｋｒとして出力する。
【００８９】
この実パルスカウンタ４２には、実パルスＰｒの他にＺ相信号も入力され、Ｚ相信号のパルスが立ち上がるタイミング毎に、実カウント値Ｋｒを０にリセットするよう構成されている。つまり、実パルスカウンタ４２は、Ｚ相信号のパルスエッジ立ち上がりタイミング毎にそのタイミングを基準（実カウント値Ｋｒ＝０）として、実パルスＰｒのカウントを行う。
【００９０】
図４（ｅ）に、実パルスＰｒに対する実カウント値Ｋｒの出力例を示す。図４（ｅ）に示すように、実カウント値Ｋｒは、Ｚ相信号のパルスエッジ立ち上がりタイミングにて０にリセットされ、その後、実パルスＰｒのエッジ発生タイミング毎にカウントアップされていく。本実施形態では、既述の通りＲＤ変換部１６の分解能が１２ｂｉｔであるため、レゾルバ１３が０度〜３６０度まで一回転する間に、実カウント値Ｋｒは０〜４０９５までの値をとる。
【００９１】
推定角度パルス信号生成部４３は、Ｚ相信号のパルスエッジ立ち上がりタイミング毎に、Ｚ相信号のパルス間隔ＴとＲＤ変換部１６の分解能とに基づき、以後の回転において分解角回転するのに要するであろう時間を予測（推定）して、その推定した時間（推定時間）をパルス幅とする推定パルスＰｐを生成する。
【００９２】
具体的には、Ｚ相信号のパルスエッジ立ち上がりタイミング毎に、その直前のＺ相信号のパルス間隔（前回のパルスエッジ立ち上がりタイミングから今回の該タイミングまでの時間間隔）を計測する。この経過時間は、直前にレゾルバ１３が一回転するのに要した実際の時間である。そして、その計測したレゾルバ１３一周期の時間を、レゾルバ１３の分解能で除算（本例では４０９６で除算）することにより、レゾルバ１３の分解能単位での時間を得る。そして、そのようにして得られた分解能単位での時間をパルス幅（推定パルス幅）とする推定パルスＰｐを生成する。
【００９３】
図５を用いてより具体的に説明する。図５（ａ）は、Ｚ相信号を表し、図５（ｂ）は、推定パルスＰｐを表す。図５において、例えば時刻ｔnでＺ相信号のパルスが入力されると、直前のレゾルバ１３の一周期の経過時間Ｔn-1を計測し、その経過時間Ｔn-1を分解能Ｒで除算して、推定パルス幅ΔＴnを得る。これにより、時刻ｔn以後、次にＺ相信号のパルスが入力される時刻ｔn+1までの間は、上記算出した推定パルス幅ΔＴnをパルス幅とする推定パルスＰｐ、即ち推定パルス幅ΔＴnが経過する毎にパルスエッジが発生するような推定パルスＰｐを生成する。
【００９４】
その後、時刻Ｔn+1になってＺ相信号のパルスが再び入力されると、時刻ｔｎのときと全く同じように、直前のレゾルバ１３の一周期の経過時間Ｔnを計測し、その経過時間Ｔnを分解能Ｒで除算して、推定パルス幅ΔＴn+1を得る。これにより、時刻ｔn+1以後、次にＺ相信号のパルスが入力される時刻Ｔn+2までの間は、上記算出した推定パルス幅ΔＴn+1をパルス幅とする推定パルスＰｐを生成する。時刻ｔn+2になったときも同じ要領である。
【００９５】
ここで、推定パルス幅ΔＴを算出する際に行う除算の方法としては、例えば周知のシフト演算により行うことができる。具体的には、直前のレゾルバ一周期の経過時間（Ｚ相信号のパルス間隔）Ｔの計測については、所定の周期でカウントアップするカウンタを使用して、経過時間Ｔに要するカウント値Ｃｔｒを取得する。そして、このカウント値Ｃｔｒを分解能Ｒに応じたｂｉｔ分（本例では１２ｂｉｔ）右シフトすれば、除算結果としての推定パルス幅ΔＴが得られる。
【００９６】
しかし、このような単純なシフト演算による除算結果は、必ずしも精度が高いとはいえず、その結果次第では、推定パルス幅ΔＴの精度が低くなるおそれがある。
そこで、本実施形態では、基本的にはシフト演算を行いつつも、そのシフト演算における右シフトによって無視された１２ｂｉｔ分を考慮することにより、精度の高い推定パルスＰｐを生成するようにしている。その具体的な生成方法について、図６を用いて説明する。
【００９７】
推定パルス幅ΔＴを求めるために、レゾルバ１３の一周期の経過時間Ｔを計測する必要があるが、この経過時間Ｔの計測を、例えば、４０ＭＨｚ（周期２５nsec.）の基本パルスを用いて、一周期中の基本パルス数をカウンタでカウントすることにより行う。そして、一例として、その計測結果が図６（ａ）のような１５桁のカウント値として得られたものとする。このカウント値は、１０進数で表すと「２８２５０」である。つまり、レゾルバ１３の一回転中に基本パルスが２８２５０個カウントされた、ということである。
【００９８】
そして、このカウント値に基づき、推定パルス幅ΔＴを演算する。即ち、ＲＤ変換部１６の分解能（１２ｂｉｔ；０〜４０９５）を考慮し、カウント値「２８２５０」を「４０９６」で除算する。具体的には、シフト演算を用いて、図６（ｂ）に示すように１２ｂｉｔだけ右シフトさせる。これにより、「６」という除算結果が得られる。つまり、推定パルス幅ΔＴは基本パルス６個分の時間である、ということである。
【００９９】
ところが、このようにシフト演算によって得られた除算結果である「６」というのは、正確な値ではない。なぜなら、「６」という演算結果は、右シフトすることによって小数点以下の部分が無視された、正確性に欠けたものだからである。このことは、２８２５０／４０９６の除算を正確に行うと６．８９６９７３・・・となって、６というよりもむしろ７に近い除算結果となることからも明らかである。
【０１００】
そのため、基本パルス６個分という時間を推定パルス幅ΔＴとして推定パルスＰｐを出力するようにすると、無視された小数点以下の分（０．８９６９７３・・・）が誤差となって蓄積されていく。その結果、定速回転しているにもかかわらず、推定パルスＰｐのカウント値（推定カウント値Ｋｐ）が４０９５になっても、まだレゾルバ１３は一回転していない、ということになってしまう。
【０１０１】
そこで本実施形態では、小数点以下の部分を完全に無視することなく、小数点以下の部分が十分に考慮された精度の高い推定パルスＰｐを生成するようにしている。
上述の通り、本来の正しい除算結果は６ではなく、６．８９６９７３・・・であるため、可能であるならば、基本パルスの６．８９６９７３・・・個分の時間を推定パルス幅ΔＴとすべきである。しかし、基本パルスが６．８９６９７３・・・個出力される毎に推定パルスＰｐを出力する、などということは物理的に不可能である。
【０１０２】
そのため、本実施形態では、推定パルス幅ΔＴが基本パルス６個分である推定パルスＰｐ６と、推定パルス幅ΔＴが基本パルス７個分である推定パルスＰｐ７とを、適切に切り替えながら出力する。即ち、除算結果の小数点以下の部分を考慮し、推定パルスＰｐ７を推定パルスＰｐ６よりも多く出力するようにして、結果として、レゾルバ１３が一回転する間に推定パルス幅ΔＴが基本パルスの６．８９６９７３・・・個分の推定パルスＰｐを出力し続けたことと等価な結果となるようにする。
【０１０３】
これを実現すべく、まず、一回転中に出力すべき推定パルスＰｐ７及び推定パルスＰｐ６のそれぞれの総数を算出する。一回転中に出力すべき推定パルスＰｐはトータルで４０９６個であるため、推定パルスＰｐ７と推定パルスＰｐ６の総合計も４０９６となるようにする必要がある。そのため、図６（ｃ）に示すように、上記除算結果の小数点以下の１２ｂｉｔに着目し、この１２ｂｉｔが表す数（図６では「３６７４」）を推定パルスＰｐ７の出力回数としてレジスタ（ｒｅｇ）１にセットし、この１２ｂｉｔの各ｂｉｔを反転させて１を加えたときの数（図６では「４２２」（＝４０９６−３６７４））を推定パルスＰｐ６の出力回数としてレジスタ（ｒｅｇ）２にセットする。
【０１０４】
このとき、例えば推定パルスＰｐ７だけ連続して３６７４回出力し続け、その後に推定パルスＰｐ６だけ連続して４２２回出力し続けたとしても、結果だけをみれば一回転中に所望の数の推定パルスＰｐを出力できることになる。しかし当然ながら、このような偏った出力方法では、推定パルスＰｐ７が出力されている間は誤差がどんどん増大していき、推定パルスＰｐ６へ移行した後は逆に誤差が減っていくというように、過渡的には誤差が非常に大きくなってしまうこととなる。
【０１０５】
つまり、単に推定パルスＰｐ７と推定パルスＰｐ６の出力回数の割合が結果として上記割合（３６７４：４２２）となればいい、というわけではなく、一周期全体に渡って誤差の発生が極力抑制されるように、推定パルスＰｐ７と推定パルスＰｐ６とをバランスよくおりまぜながら出力していく必要がある。例えば推定パルスＰｐ７をＪ回出力したら次は推定パルスＰｐ６をＫ回出力する・・・という具合である。
【０１０６】
まず、ベースとなる割合、即ち、推定パルスＰｐ６を１回に対して推定パルスＰｐ７を何回出力するのが適切かを決める。具体的には、図６（ｃ）に示すように、ｒｅｇ２のＭＳＢから、最初に「１」が出現する最上位ｂｉｔまでのｂｉｔ数から、ベースとなる出力割合を決める。図６（ｃ）の例では、ｒｅｇ２のＭＳＢから４ｂｉｔ目にはじめて「１」が出現する。そこで、ＭＳＢから４ｂｉｔ分に着目し、その４ｂｉｔが表す回数を、各推定パルスＰｐ７，Ｐｐ６の出力割合のベースとする。本例では、推定パルスＰｐ７が１４回で推定パルスＰｐ６が１回、という割合となる。
【０１０７】
このようにしてベースとなる出力割合が得られたら、まずはこの出力割合にて、各推定パルスＰｐ７，Ｐｐ６を出力していく。つまり、まず推定パルスＰｐ７を連続して１４回出力し、次に推定パルスＰｐ６を１回出力し、次に再び推定パルスＰｐ７を連続して１４回出力する、という具合である。
【０１０８】
しかし、このベースとなる出力割合（１４：１）は、という割合は、４ｂｉｔ精度での割合であるため、少々荒い割合である。即ち、出力割合の精度をより高めてみると、例えば図６（ｄ）のように６ｂｉｔ精度で出力割合を決めた場合、５７：６の出力割合となる。更に精度を上げて図６（ｅ）のように７ｂｉｔ精度で出力割合を決めた場合、１１４：１３の出力割合となる。
【０１０９】
これに対し、４ｂｉｔ精度での出力割合である１４：１にて出力し続けるとどうなるかを考えると、例えば推定パルスＰｐ７を５７回出力したとき、推定パルスＰｐ６はまだ４回しか出力されていないこととなり、６ｂｉｔ精度（図６（ｄ））と比べると誤差が生じている。
【０１１０】
そのままさらに１４：１の出力割合で出力し続けると、例えば推定パルスＰｐ７を１１２回出力したとき、推定パルスＰｐ６はまだ８回しか出力されていないこととなり、７ｂｉｔ精度（図６（ｅ））と比べると、明らに誤差が増えている。
【０１１１】
そこで、単にベースとなる出力割合（１４：１）で出力し続けるのではなく、ある程度出力したら、より精度の高い出力割合と比較して、その出力割合と現在の出力回数が一致していなければその出力割合に合わせるようにする。
【０１１２】
つまり、例えば上記例示したように、推定パルスＰｐ７を５７回出力したとき、推定パルスＰｐ６がまだ４回しか出力されていない場合は、推定パルスＰｐ７の出力を５７回で一旦中止して、推定パルスＰｐ６を、その出力回数が６ｂｉｔ精度での回数である６回になるまで、推定パルスＰｐ６を連続して出力する。これにより、推定パルスＰｐ７が５７回、推定パルスＰｐ６が６回と、６ｂｉｔ精度での出力割合に一致したら、再び、ベースとなる出力割合である１４：１の割合にて各推定パルスＰｐ７，Ｐｐ６を出力する。
【０１１３】
そして、次に比較するのは７ｂｉｔ精度での出力割合である１１４：１３である。そのため、各推定パルスＰｐ７，Ｐｐ６のうち、いずれか早くその出力割合が示す回数（推定パルスＰｐ７ならば１１４回、推定パルスＰｐ６ならば１３回）に到達するまでは、ベースの出力割合で出力を継続する。
【０１１４】
すると、本例の場合は、推定パルスＰｐ６が１３回に到達するよりも先に、推定パルスＰｐ７の方が１１４回に到達する。そして、推定パルスＰｐ７が１１４回に到達したとき、推定パルスＰｐ６は９回となっており、７ｂｉｔ精度での出力割合に一致していない。そのため、この場合も推定パルスＰｐ７を一旦中止して、推定パルスＰｐ６を、その出力回数が１３回に到達するまで連続して出力する。これによって、推定パルスＰｐ７が１１４回、推定パルスＰｐ６が１３回と、７ｂｉｔ精度での出力割合に一致したら、再び、ベースとなる出力割合の１４：１で出力する。
【０１１５】
なお、出力割合の精度をどこまで高めるかは任意であり、例えば図６に示したように７ｂｉｔ精度で終えてもよいし、更に精度を高めても良い。
図３に戻り、推定パルスカウンタ４４は、推定角度パルス信号生成部４３にて生成された推定パルスＰｐが入力され、この推定パルスＰｐをカウントする。より詳しくは、推定パルスＰｐの立ち上がりエッジ及び立ち下がりエッジを検出して、各エッジの検出タイミングにてカウント値をカウントアップしていく。そして、そのカウント値を推定カウント値Ｋｐとして出力する。
【０１１６】
この推定パルスカウンタ４４には、推定パルスＰｐの他にＺ相信号も入力され、Ｚ相信号のパルスが立ち上がるタイミング毎に、推定カウント値Ｋｐを０にリセットするよう構成されている。つまり、推定パルスカウンタ４４は、Ｚ相信号のパルスエッジ立ち上がりタイミング毎にそのタイミングを基準（推定カウント値Ｋｐ＝０）として、推定パルスＰｐのカウントを行う。
【０１１７】
図５（ｃ）に、推定パルスＰｐに対する推定カウント値Ｋｐの出力例を示す。図５（ｃ）に示すように、推定カウント値Ｋｐは、Ｚ相信号のパルスエッジ立ち上がりタイミングにて０にリセットされ、その後、推定パルスＰｐのエッジ発生タイミング毎にカウントアップされていく。本実施形態では、ＲＤ変換部１６の分解能が１２ｂｉｔであるため、レゾルバ１３が０度〜３６０度まで一回転する間に、推定カウント値Ｋｐは０〜４０９５までの値をとる。
【０１１８】
つまり、実カウント値Ｋｒは、レゾルバ１３からの各相信号に基づいて生成される実際の検出結果を表す値であるのに対し、推定カウント値Ｋｐは、推定パルス幅ΔＴが経過する毎にレゾルバ１３が分解角ずつ回転していくであろうとの予測のもとに生成されるものである。予測値とはいえ、直前のレゾルバ１３の回転状態が反映された値であるため、信頼性の高い値である。
【０１１９】
補正カウンタ４６は、補正量計算部４５からのカウントアップ指示に従ってカウントアップされていくように補正カウント値Ｋｃを生成する。具体的に説明すると、この補正カウンタ４６には、Ｚ相信号が入力されると共に、実パルスＰｒのエッジ変化タイミング毎に補正量計算部４５から出力される補正量ｄｃが入力される。
【０１２０】
そして、Ｚ相信号のパルスエッジ立ち上がりタイミング毎にそのタイミングを基準（補正カウント値Ｋｃ＝０）として、補正量計算部４５からのカウントアップ指示（補正量ｄｃ）に従ってそのカウント値をカウントアップ（更新）していく。
【０１２１】
出力切替スイッチ４７は、実パルスカウンタ４２からの実カウント値Ｋｒと、補正カウンタ４６からの補正カウント値Ｋｃと、補正量計算部４５からのスイッチ制御信号ｄｓが入力され、実カウント値Ｋｒ及び補正カウント値Ｋｃのうち、スイッチ制御信号ｄｓが示す何れか一方のカウント値を、角度データφとして出力する。
【０１２２】
スイッチ制御信号ｄｓは、０又は１のデジタル信号であり、スイッチ制御信号ｄｓが１のときは補正カウント値Ｋｃを角度データφとして出力し、スイッチ制御信号ｄｓが０のときは実カウント値Ｋｒを角度データφとして出力する。
【０１２３】
補正量計算部４５は、実パルスＰｒのパルスエッジ発生タイミング（換言すれば実カウント値Ｋｒのカウントアップタイミング）毎に、そのタイミングをトリガとして、補正量ｄｃの生成・出力や、スイッチ制御信号ｄｓの設定等を行う。この補正量計算部４５が行う具体的な処理について、図７〜図１０を用いて説明する。
【０１２４】
図７は、補正量計算部４５にて行われる補正量計算処理を表すフローチャートである。補正量計算部４５は、ＥＣＵ７が備える図示しない制御電源から誤差補正部１７へ動作用電源が供給されると動作を開始し、補正量計算処理を実行する。なお、限定されるものではないが、この補正量計算処理は、予想されうるモータ１の最高回転数における推定パルス幅ΔＴよりも短い周期で行われることが望ましい。
【０１２５】
補正量計算部４５は、この補正量計算処理を開始すると、まずＳ１１０にて、Ｚ相信号のパルスが発生（立ち上がりエッジが発生）したか否かを判断する。このとき、Ｚ相信号のパルスが発生した場合は、Ｓ２２０にて補正量ｄｃを０にセットし、続くＳ２３０にてスイッチ制御信号ｄｓを１にセットし（つまり補正カウント値Ｋｃが角度データφとして出力されるように設定）、続くＳ２４０にて第１変数ＤＮ＿ＣＴＲ及び第２変数ＤＮ＿ＣＴＲ２をともに０にセットする。つまり、Ｚ相信号のパルス発生毎に、Ｓ２２０〜Ｓ２４０の一連の初期化処理を行うのである。
【０１２６】
尚、Ｓ１１０におけるＺ相信号のパルスが発生しかた否かの判断は、例えば、実パルスカウンタ４２から入力される実カウント値Ｋｒが０にリセットされたか否かをもって判断したり、推定パルスカウンタ４４から入力される推定カウント値Ｋｐが０にリセットされたか否かをもって判断することができる。或いは、Ｚ相信号を直接取り込んで判断するようにしてもよい。
【０１２７】
一方、Ｓ１１０にて、Ｚ相信号のパルスが発生していない場合は、Ｓ１２０にて、実パルスＰｒの変化（立ち上がりエッジ又は立ち下がりエッジの発生）が生じるまで待ち、実パルスＰｒの変化が生じたときに、Ｓ１３０に進む。
【０１２８】
Ｓ１３０では、推定パルスカウンタ４４からの推定カウント値Ｋｐを取得し、続くＳ１４０で、実パルスカウンタ４２からの実カウント値Ｋｒを取得し、続くＳ１５０で、補正カウンタ４６からの補正カウント値Ｋｃを取得する。このように取得した各カウント値Ｋｐ、Ｋｒ、Ｋｃが、続くＳ１６０以下の処理において用いられる。
【０１２９】
そして、Ｓ１６０にて、実カウント値Ｋｒが、予め規定した規定値Ａ以下か否かを判断する。この判断は、レゾルバ１３がその一周期内（０度〜３６０度）における所定の最終回転領域（規定値Ａが示す回転角度〜３６０度の領域）に入ったか否かを判断するものであり、実カウント値Ｋｒが規定値Ａ以下ならばまだ最終回転領域に入っていないものとしてＳ１７０に進むが、規定値Ａを超えている場合は、最終回転領域に入ったものとしてＳ２１０の最終追従動作に進む。
【０１３０】
実カウント値Ｋｒがまだ規定値Ａ以下である場合は、Ｓ１７０に進み、実カウント値Ｋｒから推定カウント値Ｋｐを減算して、その減算結果を実推偏差ＤＩＦ１として得る。そして、続くＳ１８０にて、実推偏差ＤＩＦ１の絶対値が予め規定した既定値Ｂ以下であるか否かを判断する。
【０１３１】
規定値Ｂは、現在のモータ１の回転状態（レゾルバ１３の回転状態でもある）が定速回転状態か、それとも加速又は減速している加減速状態であるかを判断するための判定用の値である。
【０１３２】
レゾルバ１３が製造ばらつき等のない理想的なものであれば、レゾルバ１３が定速回転しているときは実カウント値Ｋｒと推定カウント値Ｋｐが一致するはずである。しかし、実際にはレゾルバ１３の製造ばらつきや、ＲＤ変換部１６の変換精度などの影響によって、定速回転であっても実カウント値Ｋｒと推定カウント値Ｋｐが一致せず両者にずれが生じる可能性がある。
【０１３３】
そこで、既定値Ｂは、そのようなレゾルバ１３やＲＤ変換部１６等の影響によって生じるカウント値のずれによって誤って加減速状態であると判断されないよう、定速回転時に想定されるカウント値のずれ量よりも大きい所定の値に設定するのが好ましい。
【０１３４】
Ｓ１８０で、実推偏差ＤＩＦ１の絶対値が既定値Ｂ以下と判断した場合は、モータ１は定速回転状態であるものと判断し、Ｓ１９０の通常補正動作に進むが、実推偏差ＤＩＦ１の絶対値が既定値Ｂを超えていると判断した場合は、モータ１は加減速状態であるものと判断し、Ｓ２００の加減速追従動作に進む。
【０１３５】
次に、Ｓ１９０〜Ｓ２１０の各動作の詳細について、それぞれ図８〜図１０を用いて順次説明する。
まず、Ｓ１９０の通常補正動作について、図８を用いて説明する。通常補正動作に移行すると、まずＳ３１０にて、推定カウント値Ｋｐから補正カウント値Ｋｃを減算して、その減算結果を推補偏差ＤＩＦ２として得る。そして、続くＳ３２０にて、推補偏差ＤＩＦ２が０であるか否か、即ち補正カウント値Ｋｃが推定カウント値Ｋｐに一致しているか否かを判断する。
【０１３６】
ここで、推補偏差ＤＩＦ２が０である場合は、Ｓ３３０にて、補正量ｄｃを０に設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃをそのまま保持するように指示して、この通常補正動作を終了する。
【０１３７】
一方、推補偏差ＤＩＦ２が０でない場合は、Ｓ３４０に進み、推補偏差ＤＩＦ２が１であるか否かを判断する。そして、推補偏差ＤＩＦ２が１である場合は、Ｓ３５０に進み、補正量ｄｃを１に設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃを１だけカウントアップするように指示して、この通常補正動作を終了する。また、推補偏差ＤＩＦ２が１でない（即ち２以上である）場合は、Ｓ３６０に進み、補正量ｄｃを２に設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃを２だけカウントアップするように指示して、この通常補正動作を終了する
つまり、推補偏差ＤＩＦ２が０でないということは、現在出力されている補正カウント値Ｋｃが現在の推定カウント値Ｋｐよりも遅れているということであるため、その遅れ分に応じて（即ち推補偏差ＤＩＦ２が１であるか２以上であるかに応じて）、その遅れを取り戻して補正カウント値Ｋｃを推定カウント値Ｋｐに一致させるようにするのである。
【０１３８】
次に、図７の補正量計算処理におけるＳ２００の加減速追従動作について、図９を用いて説明する。加減速追従動作に移行すると、まずＳ４１０にて、現在のスイッチ制御信号ｄｓの値が０であるか否かを判断する。既述のＳ２３０（図７参照）の通り、スイッチ制御信号ｄｓはＺ相信号のパルス発生毎に１に初期化されるが、その後のモータ１の回転状態によっては、後述するように０に設定される可能性がある。
【０１３９】
そこで、加減速追従動作においては、まずはスイッチ制御信号ｄｓの値をみて、ｄｓ＝１ならばＳ４２０以降に進むが、ｄｓ＝０に設定されている場合は、そのままこの加減速追従動作を終了する。即ち、後述するように、スイッチ制御信号が０に設定されるのは、加減速状態の程度（加速度或いは減速度）が大きすぎて補正カウント値Ｋｃを推定カウント値Ｋｐに一致・追従させるのが困難なときや、最終追従動作において補正カウント値Ｋｃが実カウント値Ｋｒに一致していて以後は実カウント値Ｋｒをそのまま角度データφとして出力するのが適切であるときである。そのため、そのような状況になってスイッチ制御信号ｄｓが０に設定された場合は、以後少なくとも、現在のレゾルバ１３の一周期が終わるまでは、そのままスイッチ制御信号ｄｓを０に保持して、実カウント値Ｋｒをそのまま角度データφとして出力するようにしているのである。
【０１４０】
Ｓ４１０でスイッチ制御信号ｄｓが０ではないと判断した場合は、Ｓ４２０にて、Ｓ１７０（図７参照）で得られた実推偏差の絶対値が予め規定した規定値Ｃ（規定値Ｃ＞規定値Ｂ）以上であるか否かを判断する。そして、規定値Ｃ以上であると判断した場合は、加減速状態の程度（加速度或いは減速度）が大きすぎて補正カウント値Ｋｃを推定カウント値Ｋｐに一致・追従させるのが困難であるとして、Ｓ４３０以降に進む。
【０１４１】
Ｓ４３０では、実推偏差ＤＩＦ１が正であるか否か、即ち実カウント値Ｋｒが推定カウント値Ｋｐよりも大きく進んでいる急加速状態であるか否かを判断する。そして、急加速状態であれば、Ｓ４６０に進み、スイッチ制御信号ｄｓを０に設定することにより実カウント値Ｋｒをそのまま角度データφとして出力させるようにして、この加減速追従動作を終了する。
【０１４２】
一方、Ｓ４３０で実推偏差ＤＩＦ１が負であると判断した場合は、実カウント値Ｋｒが推定カウント値Ｋｐよりも大きく遅れている急減速状態である。このような急減速状態の場合に、急加速状態の場合と同様にすぐにスイッチ制御信号ｄｓを０に設定してしまうと、補正カウント値Ｋｃが現在出力している値よりも小さい値に戻ってしまい、システム上、モータ１の回転方向が逆転したと判断されてしまうおそれがある。
【０１４３】
そこで、急減速状態の場合には、まずＳ４４０にて、実カウント値Ｋｒから補正カウント値Ｋｃを減算して、その減算結果を実補偏差ＤＩＦ３として得る。そして、続くＳ４５０にて、実補偏差ＤＩＦ３が０であるか否か判断し、０でなければ再びＳ４４０に戻る。つまり、実カウント値Ｋｒのカウントが進んで実補偏差ＤＩＦ３が０になるまで待機するのである。そして、実補偏差ＤＩＦ３が０になったときに、Ｓ４６０に進み、スイッチ制御信号ｄｓを０に設定する。
【０１４４】
Ｓ４２０において、実推偏差ＤＩＦ１の絶対値がＣ以上ではないと判断した場合、即ち加減速状態であるものの急な加速或いは急な減速状態というわけではない場合は、Ｓ４７０に進み、実カウント値Ｋｒから補正カウント値Ｋｃを減算して、その減算結果を実補偏差ＤＩＦ３として得る。そして、続くＳ４８０にて、実補偏差ＤＩＦ３が予め規定した規定値Ｄ以上であるか否かを判断する。
【０１４５】
既定値Ｄは、加減速状態の程度を判断するための判定用の値であり、実補偏差ＤＩＦ３が既定値Ｄ以上である場合は、加速度が比較的大きい状態（本発明の規定加速状態に相当）であるとして、Ｓ４９０に進む。そして、Ｓ４９０にて、補正量ｄｃを既定値Ｄに設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃを既定値Ｄだけカウントアップするように指示して、この加減速追従動作を終了する。
【０１４６】
Ｓ４８０で、実補偏差ＤＩＦ３が既定値Ｄより小さいと判断した場合は、Ｓ５００にて、実補偏差ＤＩＦ３が−既定値Ｄ（絶対値がＤの負の数）以下であるか否かを判断する。そして、実補偏差ＤＩＦ３が−既定値Ｄ以下ではないと判断した場合は、加減速状態ではあるもののその程度は比較的緩やかであるものとして、そのままこの加減速追従動作を終了する。
【０１４７】
Ｓ５００で、実補偏差ＤＩＦ３が−既定値Ｄ以下であると判断した場合は、減速度が比較的大きい状態（本発明の規定減速状態に相当）であるとして、Ｓ５１０に進み、第１変数ＤＮ＿ＣＴＲが既定値Ｄに一致しているか否かを判断する。
【０１４８】
既述のＳ２４０（図７参照）の通り、第１変数ＤＮ＿ＣＴＲはＺ相信号のパルス発生毎に０にリセットされるため、リセット後初めてこのＳ５１０の判断が行われる際は、第１変数ＤＮ＿ＣＴＲは当然ながらまだ０であって既定値Ｄには達していない。
【０１４９】
そこで、第１変数ＤＮ＿ＣＴＲが既定値Ｄに一致していない場合は、Ｓ５２０に進み、補正量ｄｃを０に設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃをそのまま保持するように指示する。そして、Ｓ５３０にて、第１変数ＤＮ＿ＣＴＲを現在の値から１だけ増加させて、この加減速追従動作を終了する。
【０１５０】
そして、以後の実パルスＰｒのエッジ変化タイミング毎に、再びこの加減速追従動作に進んできて、且つＳ５００で実補偏差ＤＩＦ３が−既定値Ｄ以下であると判断された場合（つまり比較的減速度の大きい状態が継続している場合）は、再びＳ５１０以降の処理が行われることになる。
【０１５１】
そのため、比較的減速度の大きい状態が継続している間は、実パルスＰｒのエッジ変化タイミング毎に、Ｓ５３０の処理により第１変数ＤＮ＿ＣＴＲが１ずつ増加してく。そして、第１変数ＤＮ＿ＣＴＲが既定値Ｄに到達すると（Ｓ５１０：ＹＥＳ）、Ｓ５４０に進み、補正量ｄｃを１に設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃを１だけカウントアップするように指示する。そして、Ｓ５５０にて、第１変数ＤＮ＿ＣＴＲを０にリセットして、この加減速追従動作を終了する。
【０１５２】
このように、実補偏差ＤＩＦ３が−既定値Ｄ以下であって減速度が比較的大きい状態のときは、実パルスＰｒのエッジ変化が既定値Ｄ回生じる毎、即ち実カウント値Ｋｒが示すレゾルバ１３の回転角度が分解角のＤ倍だけ増加する毎にカウント値を１増加させるという割合（変化率）で、補正カウント値Ｋｃをカウントアップしていく。
【０１５３】
既定値Ｄは、上述したように加減速状態の程度を判断するための判定用の値であるが、それに加えて更に、加減速時における、補正カウント値Ｋｃを実カウント値Ｋｒに追従させる際の追従性を決定する値でもある。つまり、規定値Ｄが大きい値であると、加速時において加速度が大きくても、補正カウント値Ｋｃを実カウント値Ｋｒに適切に追従させることができ、減速時において減速度が大きくても、補正カウント値Ｋｃと実カウント値Ｋｒとの差を適切な変化率にて縮めていくことができる。
【０１５４】
具体的に既定値Ｄをどのような値にするかは適宜決めることができ、例えば、図８の通常補正動作時には最大でも補正カウント値Ｋｃのカウントアップ量が２であることを考慮して、それよりも大きい値（この場合は３以上の整数）に設定するようにするとよい。
【０１５５】
なお、Ｓ４９０において補正カウント値Ｋｃをカウントアップさせる値、及びＳ５１０における第１変数ＤＮ＿ＣＴＲとの比較対象の値は、本例ではいずれも既定値Ｄとしたが、必ずしも既定値Ｄとする必要はなく、それぞれ既定値Ｄとは異なる値に設定するようにしてもよい。
【０１５６】
次に、図７の補正量計算処理におけるＳ２１０の最終追従動作について、図１０を用いて説明する。最終追従動作に移行すると、まずＳ６１０にて、現在のスイッチ制御信号ｄｓの値が０であるか否かを判断する。そして、ｄｓ＝１ならばＳ６２０以降に進むが、ｄｓ＝０に設定されている場合は、そのままこの最終追従動作を終了する。
【０１５７】
Ｓ６１０でスイッチ制御信号ｄｓが０ではないと判断した場合は、Ｓ６２０にて、実カウント値Ｋｒから補正カウント値Ｋｃを減算して、その減算結果を実補偏差ＤＩＦ３として得る。そして、続くＳ６３０にて、実補偏差ＤＩＦ３が０であるか否か判断し、０であれば、スイッチ制御信号ｄｓを０に設定して、この最終追従動作を終了する。これにより、以後、次にＺ相信号のパルスが発生するまでの間は、実パルスＰｒのエッジ変化タイミング毎に実カウント値Ｋｒがそのまま角度データφとして出力されることとなる。
【０１５８】
Ｓ６３０において、実補偏差ＤＩＦ３が０ではないと判断した場合は、Ｓ６５０に進み、実補偏差ＤＩＦ３が１以上であるかどうか、即ち実カウント値Ｋｒが補正カウント値Ｋｃより進んでいるかどうかを判断する。そして、実補偏差ＤＩＦ３が１以上であると判断した場合は、Ｓ６６０にて、補正量ｄｃを予め規定した既定値Ｅに設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃを既定値Ｅだけカウントアップするように指示して、この最終追従動作を終了する。
【０１５９】
Ｓ６５０で、実補偏差ＤＩＦ３が１以上ではない、即ち実カウント値Ｋｒが補正カウント値Ｋｃより遅れていると判断した場合は、Ｓ６７０に進み、第２変数ＤＮ＿ＣＴＲ２が既定値Ｅに一致しているか否かを判断する。
【０１６０】
既述のＳ２４０（図７参照）の通り、第２変数ＤＮ＿ＣＴＲ２はＺ相信号のパルス発生毎に０にリセットされるため、リセット後初めてこのＳ６７０の判断が行われる際は、第２変数ＤＮ＿ＣＴＲ２は当然ながらまだ０であって既定値Ｅには達していない。
【０１６１】
そこで、第２変数ＤＮ＿ＣＴＲ２が既定値Ｅに一致していない場合は、Ｓ６８０に進み、補正量ｄｃを０に設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃをそのまま保持するように指示する。そして、Ｓ６９０にて、第２変数ＤＮ＿ＣＴＲ２を現在の値から１だけ増加させて、この最終追従動作を終了する。
【０１６２】
そして、以後の実パルスＰｒのエッジ変化タイミング毎に、再びこの最終追従動作に進んできて、且つＳ６５０で実補偏差ＤＩＦ３が１より小さいと判断された場合（つまり実カウント値Ｋｒが補正カウント値Ｋｃより遅れている状態が継続している場合）は、再びＳ６７０以降の処理が行われることになる。
【０１６３】
そのため、実カウント値Ｋｒが補正カウント値Ｋｃより遅れている状態が継続している間は、実パルスＰｒのエッジ変化タイミング毎に、Ｓ６９０の処理により第２変数ＤＮ＿ＣＴＲ２が１ずつ増加してく。そして、第２変数ＤＮ＿ＣＴＲ２が既定値Ｅに到達すると（Ｓ６７０：ＹＥＳ）、Ｓ７００に進み、補正量ｄｃを１に設定することにより、補正カウンタ４６に対し、現在出力している補正カウント値Ｋｃを１だけカウントアップするように指示する。そして、Ｓ７１０にて、第２変数ＤＮ＿ＣＴＲ２を０にリセットして、この最終追従動作を終了する。
【０１６４】
このように、実カウント値Ｋｒが補正カウント値Ｋｃより遅れているときは、実パルスＰｒのエッジ変化が既定値Ｅ回生じる毎、即ち実カウント値Ｋｒが示すレゾルバ１３の回転角度が分解角のＥ倍だけ増加する毎にカウント値を１増加させるという割合（変化率）で、補正カウント値Ｋｃをカウントアップしていく。
【０１６５】
なお、Ｓ６６０において補正カウント値Ｋｃをカウントアップさせる値、及びＳ６７０における第２変数ＤＮ＿ＣＴＲ２との比較対象の値は、本例ではいずれも既定値Ｅとしたが、必ずしも既定値Ｅとする必要はなく、それぞれ既定値Ｅとは異なる値に設定するようにしてもよい。
【０１６６】
このように、最終追従動作においては、補正カウント値Ｋｃを実カウント値Ｋｒに一致させることが優先され、両者が一致しているならば次にＺ相信号のパルスが発生するまでは実カウント値Ｋｒを角度データφとして出力する。また、補正カウント値Ｋｃが実カウント値Ｋｒに一致していない場合は、両者の大小関係に応じた適切な変化率にて補正カウント値Ｋｃをカウントアップさせて、最終的に補正カウント値Ｋｃが実カウント値Ｋｒに一致するようにする。
【０１６７】
規定値Ｅは、適宜決めることができるが、Ｚ相信号のパルス発生タイミングを基準としたレゾルバ１３の一回転において、その一回転が終了するまでには補正カウント値Ｋｃを実カウント値Ｋｒに一致させることができるような値に決めるのが望ましい。
【０１６８】
ここで、レゾルバ１３の一周期中における、回転開始時からの各カウンタ４２，４４，４６及び補正量計算部４５の動作例を、図１１及び図１２を用いて説明する。尚、図１１及び図１２はいずれも、レゾルバ一周期における回転初期を示しており、最終回転領域にはまだ達していない（つまり実カウント値Ｋｒは規定値Ａ以下である）状態である。また、図１１及び図１２のいずれも、少なくとも図示の範囲内（図１１では実カウント値Ｋｒが０〜７の間、図１２では実カウント値Ｋｒが０〜８の間）では実推偏差ＤＩＦ１の絶対値が規定値Ｂ以下であって通常補正動作（図７のＳ１９０。詳細は図８）が実行される状態を示している。そのため、適宜、図８を参照しつつ説明する。
【０１６９】
まず、図１１は、実カウント値Ｋｒが推定カウント値Ｋｐよりも遅れていく場合の初期の動作例である。図１１に示す例では、Ｚ相信号のパルス発生により各カウント値Ｋｒ，Ｋｐ，Ｋｃ及び補正量ｄｃはいずれも０にリセットされる。そして、そのリセット後、実カウント値Ｋｒについては、実パルスＰｒのエッジ変化タイミング毎に１ずつカウントアップされていく。
【０１７０】
実カウント値Ｋｒが０から１にカウントアップアップされたときは、推補偏差ＤＩＦ２は１であるため、補正量ｄｃが１に設定され、これにより補正カウント値Ｋｃは１だけカウントアップして１となる（図８のＳ３５０）。以後、実カウント値Ｋｒが５にカウントアップされるまでは、上記同様に補正カウント値Ｋｃは１ずつカウントアップしていく。
【０１７１】
そして、実カウント値Ｋｒが５から６にカウントアップされたときは、推定カウント値Ｋｐは７であるのに対して補正カウント値Ｋｃは５であり、その差である推補偏差ＤＩＦ２は２である。そのため、補正量ｄｃは２に設定され、これにより補正カウント値Ｋｃが２つ増加して５から７にカウントアップされる（図８のＳ３６０）。つまり、補正カウント値Ｋｃが推定カウント値Ｋｐと同じ値に一致するようになる。
【０１７２】
次に、図１２は、実カウント値Ｋｒが推定カウント値Ｋｐよりも進んでいく場合の初期の動作例である。図１２に示す例でも、図１１と同じく、Ｚ相信号のパルス発生により各カウント値Ｋｒ，Ｋｐ，Ｋｃ及び補正量ｄｃはいずれも０にリセットされる。そして、そのリセット後、実カウント値Ｋｒについては、実パルスＰｒのエッジ変化タイミング毎に１ずつカウントアップされていく。
【０１７３】
実カウント値Ｋｒが０から１にカウントアップアップされたときは、推補偏差ＤＩＦ２は０であるため、補正量ｄｃが０に設定され、これにより補正カウント値Ｋｃは現在の値である０がそのまま保持される（図８のＳ３３０）。
【０１７４】
そして、実カウント値Ｋｒが１から２にカウントアップアップされたときは、推補偏差ＤＩＦ２は１であるため、補正量ｄｃが１に設定され、これにより補正カウント値Ｋｃは１だけカウントアップして１となる（図８のＳ３５０）。以後、実カウント値Ｋｒが６にカウントアップされるまでは、上記同様に補正カウント値Ｋｃは１ずつカウントアップしていく。
【０１７５】
そして、実カウント値Ｋｒが６から７にカウントアップされたときは、推定カウント値Ｋｐ及び補正カウント値Ｋｃはいずれも同じく５であり、両者の差である推補偏差ＤＩＦ２は０である。そのため、補正量ｄｃは０に設定され、これにより補正カウント値Ｋｃは現在の値である５がそのまま保持される（図８のＳ３３０）。
【０１７６】
このように、実推偏差ＤＩＦ１が既定値Ｂ以下のときに行われる通常補正動作においては、補正カウント値Ｋｃが、推定カウント値Ｋｐに一致するように、補正カウント値Ｋｃのカウントアップ（更新）が行われていく。
【０１７７】
以上説明したように、本実施形態の走行用モータ制御装置（ＥＣＵ）７は、回転角検出部３５が、レゾルバ１３からの回転検出信号Ｓａ，Ｓｂに基づいてＡ，Ｂ，Ｚ各相信号を生成するＲＤ変換部１６と、このＲＤ変換部１６からの各相信号（特にＡ，Ｂ各相信号）を補正してその補正結果を角度データφとして出力する誤差補正部１７を備えている。
【０１７８】
誤差補正部１７は、Ａ，Ｂ各相信号に基づいて実パルスＰｒを生成すると共にその実パルスＰｒをカウントして実カウント値Ｋｒを出力する。また、Ｚ相信号に基づいて推定パルスＰｐを生成すると共に、その推定パルスＰｐをカウントして推定カウント値Ｋｐを出力する。
【０１７９】
そして、補正量計算部４５は、実推偏差ＤＩＦ１の絶対値が規定値Ｂ以下の場合には、通常補正動作を実行する。この通常補正動作では、実パルスＰｒのエッジ変化タイミング毎に、補正カウンタ４６からの補正カウント値Ｋｃを、推定パルスカウンタ４４からの推定カウント値Ｋｐに一致するように更新（カウントアップ）していく。
【０１８０】
そのため、レゾルバ１３の製造ばらつき等の種々の要因によって、レゾルバ１３から出力される回転検出信号Ｓａ，Ｓｂが誤差を含むものであったとしても、誤差補正部１７によってその誤差が補正された信頼性の高い角度データφが生成され、その信頼性の高い角度データφがモータ１の通電制御に用いられる。そのため、既述の特許文献３に記載されている誤差補正方法のように大容量のメモリが必要となることもなく、よってハードウェアの規模の増大を抑えつつ、モータ１の制御精度を向上させることができる。
【０１８１】
しかも、通常補正動作においては、推補偏差ＤＩＦ２が０ならば現在の補正カウント値Ｋｃを保持し、現在の補正カウント値Ｋｃが推定カウント値Ｋｐよりも遅れているならば、その遅れ量に応じたカウントアップ値にて補正カウント値Ｋｃをカウントアップする。そのため、通常補正動作時における補正カウント値Ｋｃの更新をより確実に行うことができる。
【０１８２】
そして、このように通常補正動作が行われることで、例えば電気自動車が一定速度で走行していて且つ運転者がアクセルペダルの操作力を変えていない場合に、ＲＤ変換部１６から誤差を含む信号（各相信号）が出力されても、その誤差を含む信号が補正されるため、一定速度での走行状態を良好に維持でき、運転者等に不快感を与えてしまうのを防ぐことができる。
【０１８３】
また、補正量計算部４５は、実推偏差ＤＩＦ１の絶対値が規定値Ｂ以下ではない（つまり規定値Ｂを超えている）場合は、モータ１が加速状態或いは減速状態であるものとして、加減速追従動作を実行する。この加減速追従動作では、実パルスＰｒのエッジ変化タイミング毎に、実補偏差ＤＩＦ３と規定値Ｄとの比較結果に基づき、実補偏差ＤＩＦ３が規定値Ｄ以上の加速状態である場合には補正カウント値Ｋｃを既定値Ｄだけカウントアップさせる。そのため、モータ１の回転が加速状態となっても、実カウント値Ｋｒに対して遅れている補正カウント値Ｋｃをより迅速に実カウント値Ｋｒに追従させることができる。
【０１８４】
一方、実補偏差ＤＩＦ３が−既定値Ｄ以下の減速状態である場合には、実パルスＰｒのエッジ変化が既定値Ｄ回生じる毎に１だけカウントアップさせるという割合（変化率）で補正カウント値Ｋｃをカウントアップしていく。そのため、モータ１の回転が減速状態となって補正カウント値Ｋｃの方が実検出角度より進んでしまっても、その補正カウント値Ｋｃを適切に実カウント値Ｋｒに追従させることができる。
【０１８５】
更に、加減速追従動作では、加速度や減速度が非常に大きい場合には、実カウント値Ｋｒをそのまま角度データφとして出力するようにしている。そのため、急な加速や減速が生じた場合であっても、モータ１の制御性の悪化を抑えることができる。
【０１８６】
特に、減速度が非常に大きい場合には、単にすぐに実カウント値Ｋｒをそのまま角度データφとして出力し始めるのではなく、実カウント値Ｋｒが補正カウント値Ｋｃに追いつくまで待って、追いついた後に実カウント値Ｋｒを角度データφとして出力するようにしている。そのため、急な減速が生じた場合であっても、角度データφがモータ１の逆転を示すように変化してしまうことを防ぎつつ、角度データφとしての出力を、補正カウント値Ｋｃから実カウント値Ｋｒへスムーズに切り替えることができる。
【０１８７】
また、補正量計算部４５は、実カウント値Ｋｒが規定値Ａを超えた場合、即ちレゾルバ１３の回転角度が回転一周期のうち最終回転領域に到達した場合は、最終追従動作を実行する。この最終追従動作では、実補偏差ＤＩＦ３が０ならば、実カウント値Ｋｒをそのまま角度データφとして出力する。そのため、次のレゾルバ１３の回転周期に移行するときの角度データφの急激な変化を確実に抑制することができる。
【０１８８】
また、最終追従動作において、実補偏差ＤＩＦ３が１以上である場合は、補正カウント値Ｋｃを既定値Ｅだけカウントアップさせる。このように、補正カウント値Ｋｃを規定値Ｅずつ増加させていくことで、最終回転領域において角度データφを実カウント値Ｋｒへと確実且つスムーズに追従させることができる。
【０１８９】
一方、実補偏差ＤＩＦ３が負である場合には、実パルスＰｒのエッジ変化が既定値Ｅ回生じる毎に１だけカウントアップさせるという割合（変化率）で補正カウント値Ｋｃをカウントアップしていく。そのため、最終回転領域において実カウント値Ｋｒが補正カウント値Ｋｃよりも遅れている場合であっても、補正カウント値Ｋｃの増加率を小さく抑えて少しずつカウントアップさせていくことで、補正カウント値と実カウント値との差を適切に小さくしていくことができる。
【０１９０】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、レゾルバ１３及びＲＤ変換部１６は本発明の回転検出手段に相当し、推定角度パルス信号生成部４３は本発明の一定角度回転時間推定手段に相当し、推定パルスカウンタ４４は本発明の推定回転情報生成手段に相当し、補正量計算部４５，補正カウンタ４６，及び出力切替スイッチ４７により本発明の補正回転情報更新手段が構成され、実パルスカウンタ４２は本発明の実回転情報生成手段に相当する。
【０１９１】
また、角度データφ、即ち実カウント値Ｋｒ及び補正カウント値Ｋｃのうち出力切替スイッチ４７により選択されて角度データφとして出力される値は本発明の補正回転情報に相当し、実カウント値Ｋｒは本発明の実回転情報に相当し、推定カウント値Ｋｐは本発明の推定回転情報に相当し、推定パルス幅ΔＴは本発明の推定時間に相当し、Ｚ相信号のパルス発生間隔Ｔは本発明の角度推定開始タイミングに相当し、規定値Ａは本発明の境界角度に相当し、規定値Ｂは本発明の第１判定用角度に相当し、規定値Ｃは本発明の第２判定用角度に相当し、規定値Ｄは本発明の第１規定角度及び第１規定倍数に相当し、規定値Ｅは本発明の第２規定角度及び第２規定倍数に相当し、実推偏差ＤＩＦ１は本発明の実推差分に相当し、推補偏差ＤＩＦ２は本発明の推補差分に相当し、実補差分ＤＩＦ３は本発明の実補差分に相当する。
【０１９２】
また、図７の補正量計算処理において、Ｓ１６０の処理は本発明の境界角度判断手段が実行する処理に相当し、Ｓ１７０の処理は本発明の実推差分算出手段が実行する処理に相当し、Ｓ１８０の処理は本発明の第１実推差分判断手段が実行する処理に相当する。図８の通常補正動作におけるＳ３１０の処理は本発明の推補差分算出手段が実行する処理に相当する。
【０１９３】
また、図９の加減速追従動作において、Ｓ４２０の処理は本発明の第２実推差分判断手段が実行する処理に相当し、Ｓ４３０の処理は本発明の実推比較判断手段が実行する処理に相当し、Ｓ４４０〜Ｓ４５０の処理は本発明の待機手段が実行する処理に相当し、Ｓ４７０の処理は本発明の第１実補差分算出手段が実行する処理に相当し、Ｓ４８０の処理は本発明の加速状態判断手段が実行する処理に相当し、Ｓ５００の処理は本発明の減速状態判断手段が実行する処理に相当する。図１０の最終追従動作におけるＳ６２０の処理は本発明の第２実補差分算出手段が実行する処理に相当する。
【０１９４】
［他の実施形態］
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１９５】
上記実施形態では、推定パルスＰｐの生成方法として、図５を用いて説明した方法、即ちＺ相信号のパルス発生間隔の計測結果に基づいて推定パルス幅ΔＴを推定してそれに基づいて推定パルスＰｐを生成する方法を説明した。しかし、このように単に直前のＺ相信号パルス発生間隔のみに基づいて推定パルス幅ΔＴを推定するようにすると、モータ１の回転状態が加速状態又は減速状態の場合、その加・減速状態が推定パルス幅ΔＴの推定に反映されず、推定パルス幅ΔＴの推定精度（延いては推定パルスＰｐの精度）を高精度に維持できなくなる可能性がある。
【０１９６】
そこで、速度変化をも考慮したより高精度な推定を行うために、レゾルバ１３が一回転（一周期）に要した時間（経過時間）を異なるタイミングで２つ取得し、両者の差を加味して、推定パルス幅ΔＴを推定するようにしてもよい。このように速度変化が考慮された推定パルス幅の推定方法（延いては推定パルスＰｐの生成方法）について、図１３を用いて説明する。
【０１９７】
即ち、この推定方法では、まず、レゾルバ１３の一周期の回転角度を、区切り角θｘ毎に区切る。図１３の例では、区切り角θｘが４５度間隔に設定されているため、０度〜３６０度までの一回転分の角度がθｘ＝４５度の間隔で計８つに区切られている。
【０１９８】
そして、実カウント値Ｋｒが示す回転角度に基づき（実際には実カウント値Ｋｒに基づき）、その回転角度（実カウント値Ｋｒ）が区切り角θｘとなるタイミング毎に、直前の回転周期において同じ区切り角θｘとなったタイミングから今回また区切り角θｘとなるまでの一回転に要した経過時間を計測する。そして、その計測した経過時間を今回経過時間とすると共に、前回の区切り角θｘ到達タイミング（即ち現在の区切り角θｘよりも一区切り分（４５度）前の区切り角θｘに到達したタイミング）において計測した経過時間を前回経過時間として、今回経過時間から前回経過時間を減算した値に区切り数（本例では８）を乗算した値を算出する。この算出した値が、速度変化が定量的に表わされた値（速度変化成分）である。
【０１９９】
そこで、今回経過時間に、その算出した速度変化成分を加えることで、以後レゾルバ１３が一回転するのに要する時間の予測値である推定周期Ｔｐ（本発明の推定経過時間に相当）を得る。この推定周期Ｔｐは、モータ１の現時点での速度変化状態が加味されたものである。そして、この推定周期Ｔｐを分解能Ｒで除算することで、速度変化状態が加味された推定パルス幅が得られる。
【０２００】
このようにして推定パルス幅が得られた後は、実カウント値Ｋｒが示す回転角度が次の区切り角θｘに到達するまでは、その得られた推定パルス幅にて推定パルスＰｐを生成する。
【０２０１】
図１３を用いてより具体的な例を示すと、例えば時刻ｔ０n+1になった時（区切り角θｘ＝０度となった時）には、下記式（１）のように、今回経過時間Ｔｂから前回経過時間Ｔａを減算した値に区切り数８を乗算した値を、今回経過時間Ｔｂに加算することにより、推定周期Ｔｐを算出する。
【０２０２】
Ｔｐ＝Ｔｂ＋（Ｔｂ−Ｔａ）・８  ・・・  （１）
そして、算出した推定周期Ｔｐを分解能Ｒで除算することで、推定パルス幅を算出する。これにより、その算出した推定パルス幅を有する推定パルスＰｐｂの生成を開始し、時刻ｔ０n+1から次の区切り角θｘ（４５度）に到達する時刻ｔ１n+1までは、その推定パルスＰｐｂを生成・出力する。
【０２０３】
その後、時刻ｔ１n+1になった時（区切り角θｘ＝４５度となった時）には、再び上記要領にて推定周期Ｔｐを算出する。即ち、下記式（２）のように、時刻ｔ１n+1における今回経過時間Ｔｃから前回経過時間Ｔｂを減算した値に区切り数８を乗算した値を、今回経過時間Ｔｃに加算することにより、推定周期Ｔｐを算出する。
【０２０４】
Ｔｐ＝Ｔｃ＋（Ｔｃ−Ｔｂ）・８  ・・・  （２）
そして、その算出した推定周期Ｔｐを分解能Ｒで除算して推定パルス幅を算出する。これにより、その算出した推定パルス幅を有する推定パルスＰｐｃの生成を開始し、時刻ｔ１n+1から次の区切り角θｘ（９０度）に到達する時刻ｔ２n+1までは、その推定パルスＰｐｃを生成・出力する。
【０２０５】
以後も、実カウント値Ｋｒが示す回転角度が次の区切り角θｘに到達する毎に、上述した要領にて推定周期Ｔｐの推定、推定パルス幅の算出、その推定パルス幅に基づく推定パルスＰｐの生成を行う。
【０２０６】
尚、区切り角θｘの間隔は、図１３の例では４５度としたが、これはあくまでも一例であり、区切り角θｘの間隔を何度にするかについては適宜決めることができる。例えば、４５度よりも小さい間隔でもよいし、４５度よりも大きい間隔でもよい。一例を挙げるとすれば、区切り間隔を３６０度として、レゾルバ１３の一周期毎に、上述した演算にて推定周期Ｔｐを算出するようにしてもよい。区切り数の観点からいえば、区切り数をどのように設定してもよく、２以上の整数のうち所望の値に設定することができる。但し、好ましくは区切り数が２のべき乗となるように区切り角θｘの間隔を設定するのがよい。
【０２０７】
また、上記実施形態では、図７の補正量計算処理において、実カウント値Ｋｒが既定値Ａ以下である間は、実パルスＰｒのエッジ変化タイミング毎に毎回、実推偏差ＤＩＦ１の絶対値が既定値Ｂ以下かどうかとの判断、即ち加減速状態であるか否かの判断を行うようにしたが（Ｓ１８０）、この判断は必ずしも毎回行う必要はない。例えば、基本的には毎回Ｓ１９０の通常補正動作に進むようにし、所定の回転角度毎に（例えば実パルスＰｒのエッジ変化が所定回数生じる毎に）、Ｓ１８０の判断を行うようにしてもよい。
【０２０８】
また、上記実施形態では、誤差補正部１７に入力される誤差補正対象の検出角度情報が、パルス信号、即ちＲＤ変換部１６からのＡ，Ｂ，Ｚ各相信号であって、これら各相信号に基づいてレゾルバ１３の製造ばらつき等に起因する誤差を補正するようにしたが、誤差補正対象の検出角度情報は、そのようなパルス信号に限らず、回転角度を示すデータであってもよい。
【０２０９】
回転角度を示すデータが入力されるということは、実カウント値Ｋｒが直接入力されるということであるため、その場合は、誤差補正部１７において、排他的論理和演算部４１と実パルスカウンタ４２は不要となる。但し、入力されるデータからＺ相信号に相当する信号を生成して、推定角度パルス信号生成部４３、推定パルスカウンタ４４、及び補正カウンタ４６に入力するか、或いは、推定角度パルス信号生成部４３、推定パルスカウンタ４４、及び補正カウンタ４６をそれぞれ、入力されるデータの値に基づいてレゾルバ１３の一周期タイミングを判断できるような構成とする必要がある。
【０２１０】
また、上記実施形態では、モータ１の回転角度を検出する回転検出手段として、レゾルバ１３及びＲＤ変換部１６からなるものを示したが、本発明が適用可能な回転検出手段はこれに限定されるものではない。
【０２１１】
例えば、既述のインクリメンタルエンコーダや、アブソリュートエンコーダ、更には特許文献２に記載されているような、縦型ホール素子と磁気抵抗素子（ＭＲＥ）との組み合わせにより回転角度に応じたリニアな回転検出信号を出力するセンサなどであってもよく、モータが一定角度回転する毎にそのことを示す回転情報を出力すると共にモータが基準角度（但し一定角度より大きい３６０度／ｎ（ｎは１以上の整数））回転する毎にそのことを示す回転情報を出力するものである限り、回転検出手段の具体的構成は特に限定されない。
【０２１２】
また、上記実施形態では、マイコン３７とは別に回転角検出部３５を設けるようにしたが、回転角検出部３５を構成するＲＤ変換部１６及び誤差補正部１７のうち、例えば誤差補正部１７をマイコン３７に内蔵させてもよいし、誤差補正部１７及びＲＤ変換部１６の双方（即ち回転角検出部３５全体）をマイコン３７に内蔵させるようにしてもよい。
【０２１３】
また、上記実施形態では、本発明を電気自動車に適用した場合について説明したが、電気自動車への適用はあくまでも一例であり、例えば走行用の動力源として内燃機関とモータを備えたいわゆるハイブリッド自動車や、電車（鉄道車両）など、走行用の動力源としてモータを備えたあらゆる車両に適用可能である。
【符号の説明】
【０２１４】
１…モータ、１ａ…出力軸、３…バッテリ、５…インバータ、７…走行用モータ制御装置（ＥＣＵ）、９…ディファレンシャルギヤ、１１…駆動輪、１３…レゾルバ、１６…ＲＤ変換部、１７…誤差補正部、２１…電流供給線、２５，２６，２７…電流センサ、３１…アクセルセンサ、３２…ブレーキセンサ、３３…シフトポジションセンサ、３５…回転角検出部、３７…マイコン、３９…パルス幅変調回路、４１…排他的論理和演算部、４２…実パルスカウンタ、４３…推定角度パルス信号生成部、４４…推定パルスカウンタ、４５…補正量計算部、４６…補正カウンタ、４７…出力切替スイッチ
【図１】
2011036041.tif 000003
【図２】
2011036041.tif 000004
【図３】
2011036041.tif 000005
【図４】
2011036041.tif 000006
【図５】
2011036041.tif 000007
【図７】
2011036041.tif 000008
【図８】
2011036041.tif 000009
【図９】
2011036041.tif 000010
【図１０】
2011036041.tif 000011
【図１１】
2011036041.tif 000012
【図１２】
2011036041.tif 000013
【図６】
2011036041.tif 000014
【図１３】
2011036041.tif 000015