(57)【要約】【課題】回転角度の検出精度を向上することができる回転角度検出装置を提供すること。【解決手段】クランク軸２００ａに対して変速機構１５を介して回転軸１４が連結されるＩＳＧ１００の回転角度検出装置１は、磁気センサ９２から検出された検出結果に基づき、補正前回転角度として算出する算出部２１と、所定の運転状態であるか否かを判定する運転状態判定部２４と、所定の運転状態であると判定された場合に、変速比に基づいて特定される変動周期において検出された補正前回転角度に基づき、補正前回転角度の誤差の補正に利用されるマップを設定するマップ設定部２５と、マップを参照して補正前回転角度の誤差補正値を推定し、推定された誤差補正値によって補正前回転角度を補正する補正部２３と、を備える。【選択図】      図２
2020030172.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関（２００）のクランク軸（２００ａ）に対して変速機構（１５）を介して回転軸（１４）が連結される回転電機（１００）の回転角度検出装置（１）において、
前記回転電機の前記回転軸に設けられた角度検出センサ（９２）と、
前記角度検出センサから検出された検出結果に基づき、前記回転軸の回転角度を補正前回転角度として算出する算出部（２１）と、
前記内燃機関及び前記回転電機が所定の運転状態であるか否かを判定する運転状態判定部（２４）と、
前記運転状態判定部により所定の運転状態であると判定された場合に、前記変速機構の変速比に基づいて特定される変動周期において検出された補正前回転角度に基づき、前記補正前回転角度の誤差の補正に利用されるマップを設定するマップ設定部（２５）と、
前記マップを参照して前記補正前回転角度の誤差補正値を推定し、推定された誤差補正値によって前記補正前回転角度を補正する補正部（２３）と、を備える回転角度検出装置。
【請求項２】
前記回転電機及び前記内燃機関がそれぞれ予め決められた状態となる基準状態であるか否かを判定する基準状態判定部（２６）を備え、
前記補正部は、前記基準状態であると判定されたことを契機に、前記マップ設定部により設定されたマップを参照して、前記補正前回転角度を補正する請求項１に記載の回転角度検出装置。
【請求項３】
前記マップ設定部は、前記変速機構の変速比に基づいて、前記基準状態となってから、次の基準状態となるまでの変動周期を特定する請求項２に記載の回転角度検出装置。
【請求項４】
前記基準状態判定部は、前記回転角度が予め定められた第１角度であり、かつ、前記内燃機関のクランク角が予め定められた第２角度である場合に、前記基準状態であると判定する請求項３に記載の回転角度検出装置。
【請求項５】
前記マップ設定部は、前記変速機構の変速比及び前記内燃機関の気筒数に基づいて、前記基準状態となってから、次の基準状態となるまでの変動周期を特定する請求項２に記載の回転角度検出装置。
【請求項６】
前記基準状態判定部は、前記回転角度が予め定められた第１角度であり、かつ、前記内燃機関が有する複数の気筒のうち、予め決められた気筒が燃焼サイクルにおいて所定の行程である場合であって、クランク角が予め定められた第２角度である場合に、基準状態であると判定する請求項５に記載の回転角度検出装置。
【請求項７】
前記第１角度は、前記回転軸の基準位置を示す角度であり、
前記第２角度は、前記内燃機関が備える気筒の上死点又は下死点を示す角度である請求項４又は６に記載の回転角度検出装置。
【請求項８】
前記運転状態判定部は、前記内燃機関がアイドリング状態であることを条件にして、所定の運転状態と判定する請求項１〜７のうちいずれか１項に記載の回転角度検出装置。
【請求項９】
前記運転状態判定部は、前記内燃機関の回転速度が予め決められた範囲内であることを条件にして、所定の運転状態と判定する請求項１〜８のうちいずれか１項に記載の回転角度検出装置。
【請求項１０】
前記運転状態判定部は、前記回転電機の温度が予め決められた範囲内であることを条件にして、所定の運転状態と判定する請求項１〜９のうちいずれか１項に記載の回転角度検出装置。
【請求項１１】
前記運転状態判定部は、前記回転電機への通電が行われてないことを条件にして、所定の運転状態と判定する請求項１〜１０のうちいずれか１項に記載の回転角度検出装置。
【請求項１２】
前記回転軸が基準位置から所定角度まで回転する検出期間において検出された補正前回転角度に基づき、前記補正前回転角度の誤差補正に利用される誤差補正値を算出し、学習する補正値学習部（２２）を備え、
前記補正部は、前記回転軸の回転速度が閾値未満である場合、前記マップを参照して前記補正前回転角度を補正する一方、前記回転速度が閾値以上である場合には、前記補正値学習部により学習された誤差補正値によって前記補正前回転角度を補正する請求項１〜１１のうちいずれか１項に記載の回転角度検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転電機における回転軸の回転角度を検出する回転角度検出装置に関するものである。
【背景技術】
【０００２】
従来、磁気センサを用いて、モータ（回転電機）の回転軸における回転角度を検出する回転角度検出装置が知られている（例えば、特許文献１〜３）。これらの回転角度検出装置では、漏れ磁束や温度上昇等に基づく回転角度の検出誤差を算出し、検出誤差を補正することにより、回転角度の検出精度を向上させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１３３３７６号公報
【特許文献２】特開２０１６−１２８７７２号公報
【特許文献３】特開２０１７−１７８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、モータがエンジンのクランク軸に連結されるオルタネータやＩＳＧ等である場合、次のような要因により角度誤差が生じると考えられる。例えば、エンジンの圧縮行程においては、混合気を圧縮するため、クランク軸の回転速度が減速し、それに伴い、モータの回転軸も減速すると考えられる。また、燃焼行程においては、混合気の燃焼によりクランク軸の回転速度が加速し、それに伴い、モータの回転軸も加速すると考えられる。すなわち、エンジンの動作による回転速度のムラにより、検出される回転角度に誤差が生じる可能性がある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、その主たる目的は、回転角度の検出精度を向上することができる回転角度検出装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の手段は、内燃機関のクランク軸に対して変速機構を介して回転軸が連結される回転電機の回転角度検出装置において、前記回転電機の前記回転軸に設けられた角度検出センサと、前記角度検出センサから検出された検出結果に基づき、前記回転軸の回転角度を補正前回転角度として算出する算出部と、前記内燃機関及び前記回転電機が所定の運転状態であるか否かを判定する運転状態判定部と、前記判定部により所定の運転状態であると判定された場合に、前記変速機構の変速比に基づいて特定される変動周期において検出された補正前回転角度に基づき、前記補正前回転角度の誤差の補正に利用されるマップを設定するマップ設定部と、前記マップを参照して前記補正前回転角度の誤差補正値を推定し、推定された誤差補正値によって前記補正前回転角度を補正する補正部と、を備えることを要旨とする。
【０００７】
クランク軸の回転速度に速度変動が生じた場合、当該クランク軸に連結されている回転軸の回転角度にも影響を与える。このため、例えば、回転軸が等速であることを前提として誤差を補正すると、正確に誤差を補正することができず、回転角度の検出精度が悪くなる。
【０００８】
そこで、内燃機関及び回転電機が所定の運転状態である場合に補正前回転角度を検出し、当該補正前回転角度に基づいて、補正前回転角度の誤差の補正に利用されるマップを設定した。このマップには、クランク軸の回転速度変動の影響が反映されているため、このマップを基準として、検出された補正前回転角度を比較判定すれば、クランク軸の回転速度変動による影響を取り除いて誤差を推定することができ、誤差の推定精度を向上することができる。よって、回転角度の検出精度を向上させることができる。
【０００９】
ところで、マップと補正前回転角度との比較判定を行う都合上、マップを設定する場合、補正前回転角度の変動周期を特定して、マップを設定する必要がある。しかしながら、補正前回転角度のみでは、回転軸が何回転した場合に、内燃機関の状態（例えば、クランク角）が同じ状態となるか不明である。そこで、変速比を用いることにより、変動周期を特定し、その変動周期において検出した補正前回転角度に基づいてマップを設定した。これにより、補正前回転角度の変動周期ごとにマップを設定することができ、マップと補正前回転角度との比較判定を適切に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】ＩＳＧの断面図。
【図２】制御システムのブロック図。
【図３】割込み角ごとの補正前回転角度と経過時間を示す図。
【図４】マップ設定処理を示すフローチャート。
【図５】エンジンの回転速度変動を示す図。
【図６】回転角度のマップを示す図。
【図７】補正値学習処理を示すフローチャート。
【図８】補正処理を示すフローチャート。
【図９】第２実施形態におけるエンジンの回転速度変動を示す図。
【図１０】第２実施形態におけるマップ設定処理を示すフローチャート。
【図１１】第２実施形態における回転角度のマップを示す図。
【発明を実施するための形態】
【００１１】
（第１実施形態）
以下、実施形態について図面に基づき説明を行う。なお、以下の実施形態相互において、互いに同一もしくは均等である部分には、図中、同一符号を付しており、同一符号の部分についてはその説明を援用する。本実施形態に係る回転電機は、車両に搭載されるものである。図１に本実施形態に係る回転電機を示し、図２に当該回転電機を制御する制御システムについて示す。
【００１２】
図１及び図２に示す回転電機は、電動部であるモータ１０と、モータ１０を制御する制御部である制御装置２０と、を有するモータ機能付き発電機であり、機電一体型のＩＳＧ（Integrated Starter Generator）として構成されている。以下、単にＩＳＧ１００と示す。モータ１０は、巻線界磁型のものであり、具体的には３相巻線を有する巻線界磁型同期機である。ＩＳＧ１００は、内燃機関としてのエンジン２００のクランク軸２００ａや車軸の回転により発電（回生発電）を行う発電機能と、クランク軸２００ａに駆動力（回転力）を付与する力行機能とを備えている。
【００１３】
モータ１０は、ハウジング１１と、ハウジング１１に固定される固定子１２と、固定子１２に対して回転する回転子１３と、回転子１３が固定される回転軸１４と、を備える。以下、本実施形態において、軸方向とは、回転軸１４の軸方向のことを示し（図において矢印Ｙ１で示す）、径方向とは、回転軸１４の径方向のことを示す（図において矢印Ｙ２で示す）。
【００１４】
ハウジング１１は、円筒形状に形成されており、その軸心が回転軸１４と同軸となっている。ハウジング１１の軸方向外側（図１では、右側）に、制御装置２０が固定されている。その一方で、ハウジング１１内には、固定子１２及び回転子１３等が収容されている。
【００１５】
固定子１２は、ハウジング１１の軸方向略中央において、ハウジング１１の内周に沿って円筒状に設けられており、ハウジング１１に固定されている。固定子１２は、磁気回路の一部を構成するものであり、固定子コア１２ａと、電機子巻線１２ｂとを備える。
【００１６】
固定子コア１２ａは、磁性体によって円環状に形成されており、その軸心が回転軸１４と同軸となっている。固定子コア１２ａは、電機子巻線１２ｂを保持する。なお、固定子コア１２ａは、電機子巻線１２ｂを収容する複数のスロットを備えており、電機子巻線１２ｂは、当該スロットに収容され保持されている。
【００１７】
電機子巻線１２ｂは、２組のＹ結線された３相巻線により構成されている。そして、電機子巻線１２ｂは、電力（交流電力）が供給されることで磁束を発生する。また、電機子巻線１２ｂは、回転子１３が発生する磁束と鎖交することで電力（交流電力）を発生する。
【００１８】
回転子１３は、磁気回路の一部を構成するものであり、磁性体からなる回転子コア１３ａと、回転子コア１３ａに保持される界磁巻線１３ｂと、を備える。
【００１９】
回転子コア１３ａは、いわゆるランデル型ポールコアであり、円環状の中空部を備え、当該中空部に界磁巻線１３ｂが収容されている。回転子コア１３ａは、その外周面を、固定子コア１２ａの内周面と離間させた状態で対向するように配置されている。また、回転子コア１３ａには、回転軸１４が挿通され、回転軸１４と一体回転するように回転軸１４に固定されている。
【００２０】
界磁巻線１３ｂは、直流電力が供給されることで磁束を発生し、回転子コア１３ａの外周面に磁極を形成する。これにより、固定子１２に交流電力が供給されている場合には、固定子１２が発生する磁束と鎖交し、回転子１３が回転することとなる。また、回転子１３が回転することにより、固定子１２の電機子巻線１２ｂに交流電力を発生させることとなる。
【００２１】
回転軸１４は、ハウジング１１に設けられた軸受１１ａ，１１ｂを介して、ハウジング１１に回転可能に支持されている。回転軸１４には、その軸方向中央部分において回転子１３が固定されている。また、軸方向において、回転軸１４の両端部は、ハウジング１１から突出しており、制御装置２０とは反対側（図１において左側）の端部は、変速機構１５、例えば、ベルト及びプーリを用いた動力伝達機構等を介してエンジン２００のクランク軸２００ａに連結される。
【００２２】
また、軸方向において、回転軸１４の端部（制御装置２０側の端部）は、制御装置２０内に挿入されている。当該回転軸１４の端部には、ブラシ８０と接触し、ブラシ８０を介してバッテリから供給される直流電力を界磁巻線１３ｂに供給するスリップリング１４ａが設けられている。そして、図示しない配線を介してスリップリング１４ａは、界磁巻線１３ｂに接続されている。
【００２３】
また、回転軸１４の先端部（制御装置２０側の先端部）には、信号出力部としての磁石９１が配置されている。また、制御装置２０側には、先端部に配置された磁石９１と対向する角度検出センサとしての磁気センサ９２が固定されている。
【００２４】
磁石９１は、円板状に形成されており、磁束（信号）を発生する。磁石９１の円形状の表面のうち、一方の半円部分にＮ極が、他方の半円部分にＳ極が形成されている。磁石９１は、円の中心を回転軸１４の軸心と一致させた状態で回転軸１４に固定されている。
【００２５】
磁気センサ９２は、所定方向の磁束密度を検出する素子である。磁気センサ９２は、制御装置２０に固定され、磁石９１から所定距離を隔てて配置されている。厚さ方向が回転軸１４の軸方向となるとともに、中心が回転軸１４の軸心と一致するように設けられている。磁気センサ９２の出力端子は、制御装置２０に接続されている。
【００２６】
次に、制御装置２０について説明する。前述したように、制御装置２０は、モータ１０のハウジング１１の軸方向外側に固定されている。制御装置２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ及びＩ／Ｏ等を備えたマイクロコンピュータを主体として構成されており、ＣＰＵがＲＯＭに記憶されているプログラムを実行することにより、各種機能を実現する。なお、各種機能は、ハードウェアである電子回路によって実現されてもよく、あるいは、少なくとも一部をソフトウェア、すなわちコンピュータ上で実行される処理によって実現されてもよい。
【００２７】
制御装置２０が備える機能としては、例えば、外部（例えばバッテリ）からの電力を変換し、モータ１０に供給して駆動力を発生させる機能と、モータ１０からの電力を変換して外部に電力を供給する機能を有する。また、例えば、制御装置２０は、磁気センサ９２から入力された回転角度に関する情報を利用して、モータ１０の制御などを行う機能を備える。本実施形態の回転角度検出装置１は、制御装置２０と、磁気センサ９２と、磁石９１と、を備えている。
【００２８】
ところで、磁気センサ９２が検出する検出結果に基づき算出された回転角度は、通常、角度誤差が含まれている。角度誤差の要因としては、例えば、電機子巻線１２ｂや界磁巻線１３ｂに流れる電流に基づき発生する漏れ磁束により、磁気センサ９２に影響を与え、角度誤差が生じる場合がある。また、磁石９１の温度変化などにより、磁石９１が発生する磁束密度が変化し、角度誤差が生じる場合もある。このため、制御装置２０は、角度誤差を補正する機能を備える。詳しく説明すると、制御装置２０は、算出部２１と、補正値学習部２２と、補正部２３と、運転状態判定部２４と、マップ設定部２５と、基準状態判定部２６としての機能を備える。
【００２９】
算出部２１として機能する制御装置２０は、磁気センサ９２から検出された検出結果に基づき、回転軸１４の回転角度を補正前回転角度として算出する。すなわち、回転軸１４の回転に伴い磁石９１が、磁気センサ９２に対して回転すると、磁気センサ９２により検出される磁束密度が変化する。そこで、算出部２１は、磁気センサ９２により検出された磁束密度の変化に基づき、回転軸１４の補正前回転角度を算出する。なお、当該補正前回転角度には、前述したような角度誤差が含まれている場合がある。
【００３０】
補正値学習部２２として機能する制御装置２０は、回転軸１４が基準位置から所定角度まで回転する検出期間において検出された補正前回転角度に基づき、補正前回転角度の誤差補正に利用される誤差補正値を算出し、学習するものである。基準位置とは、基準位置信号（ノースマーカ信号（ＮＭ信号））が入力された位置である。基準位置信号とは、回転子１３（及び回転軸１４）が基準とする角度に位置したときに出力される信号である。また、所定角度は、３６０°（１回転）としている。すなわち、基準位置信号が入力されたときから、次の基準位置信号が入力されるまでの期間が、検出期間に相当する。
【００３１】
以下、学習方法について詳しく図３に基づき説明する。補正値学習部２２は、検出期間において、補正前回転角度が、予め決められた割込み角Ａ（ｎ）と一致するごとに、基準位置からの経過時間ｔ（ｎ）を取得する。基準位置からの経過時間ｔ（ｎ）とは、基準位置信号を入力してからの経過時間である。当該経過時間は、制御装置２０が計測している。そして、割込み角Ａ（ｎ）と対応付けて経過時間ｔ（ｎ）を制御装置２０の記憶装置に記憶する。また、割込み角Ａ（ｎ）は、数式（１）に示すように、１回転（３６０°）を定数Ｎで分割して求められる。なお、定数Ｎは、２以上の自然数であり、変数ｎは、定数Ｎ以下の自然数である。
【００３２】
割込み角Ａ（ｎ）＝３６０°／定数Ｎ×変数ｎ・・・（１）
本実施形態では、Ｎ＝１６とし、割込み角Ａ（ｎ）を、図３に示すように、２２．５°（ｎ＝１），４５°（ｎ＝２），６７．５°（ｎ＝３），・・・・，３３７．５°（ｎ＝１５），３６０°（ｎ＝１６）とする。また、検出期間の開始から終了までに経過する時間、すなわち、基準位置信号を入力してから次の基準位置信号を入力するまでの時間を、回転時間Ｔとして取得し、記憶する。図３において、割込み角Ａ（ｎ）と経過時間ｔ（ｎ）との関係を示す。また、図３では、実線が、磁気センサ９２の検出結果に基づく補正前回転角度を示し、破線が、回転軸１４が一定の回転速度ＲＳで回転していることを前提として、回転時間Ｔが経過する時に当該回転軸１４が１回転する場合における理想角度（理想値）を示す。
【００３３】
次に、補正値学習部２２は、数式（２）に基づき、回転時間Ｔ及び経過時間ｔ（ｎ）を利用して、回転軸１４が一定の回転速度ＲＳで回転していると仮定した場合に、基準位置から当該経過時間ｔ（ｎ）を経過した時における理想角度である割り込み実角Ｉ（ｎ）を算出する。つまり、回転角度（理想値）と、経過時間ｔ（ｎ）と、が比例関係にあるとして、回転角度を比例配分することにより、割り込み実角Ｉ（ｎ）を算出する。
【００３４】
割り込み実角Ｉ（ｎ）＝３６０°×経過時間ｔ（ｎ）／回転時間Ｔ・・・（２）
そして、補正値学習部２２は、検出値である割込み角Ａ（ｎ）と、理想値である割り込み実角Ｉ（ｎ）とを比較して、角度誤差を取得する。具体的には、補正値学習部２２は、数式（３）に基づき、割込み角Ａ（ｎ）から割り込み実角Ｉ（ｎ）を減算することにより、変動誤差Ｅ（ｎ）を算出する。なお、経過時間ｔ（Ｎ）は、回転時間Ｔとし、変動誤差Ｅ（Ｎ）は、「０」とする。
【００３５】
変動誤差Ｅ（ｎ）＝割込み角Ａ（ｎ）−割り込み実角Ｉ（ｎ）・・・（３）
回転軸１４の回転速度ＲＳが一定でない場合、基準位置から補正前回転角度が３６０°となった時と、基準位置から再び基準位置に達した時とで、ずれが生じる場合がある。この場合、上記数式（３）で算出した変動誤差Ｅ（ｎ）には、このずれに基づく誤差が含まれている。
【００３６】
そこで、補正値学習部２２は、数式（４）〜（６）を利用して、このずれに基づく誤差を変動誤差Ｅ（ｎ）から取り除き、誤差補正値Ｃ（ｎ）を算出する。すなわち、補正値学習部２２は、数式（４）に示すように、変動誤差Ｅ（ｎ）の積算値を算出する。
【００３７】
積算値Ｘ＝変動誤差Ｅ（１）＋変動誤差Ｅ（２）＋・・・＋変動誤差Ｅ（Ｎ）・・・（４）
ここで、回転軸１４が１回転する間に、元の基準位置に戻ること（誤差がゼロとなること）、及び回転速度ＲＳは一定であることを前提としている。すなわち、１回転時におけるずれは、各割込み角において均等に生じているとして、補正値学習部２２は、数式（５）に示すように、積算値Ｘを定数Ｎで除算することにより、各変動誤差Ｅ（ｎ）に含まれる基準位置ずれＧを算出する。
【００３８】
基準位置ずれＧ＝積算値Ｘ／定数Ｎ・・・（５）
そして、補正値学習部２２は、数式（６）に示すように、各変動誤差Ｅ（ｎ）から当該基準位置ずれＧを減算することにより、各割込み角Ａ（ｎ）における誤差補正値Ｃ（ｎ）を算出する。
【００３９】
誤差補正値Ｃ（ｎ）＝変動誤差Ｅ（ｎ）−基準位置ずれＧ・・・（６）
そして、補正値学習部２２は、算出した誤差補正値Ｃ（ｎ）を、割込み角Ａ（ｎ）ごとに学習する。すなわち、補正値学習部２２は、誤差補正値Ｃ（ｎ）を、割込み角Ａ（ｎ）ごとに対応付けて制御装置２０の記憶装置に記憶する。
【００４０】
補正部２３として機能する制御装置２０は、回転軸１４の回転速度ＲＳが閾値以上である場合、学習された誤差補正値Ｃ（ｎ）に基づき、補正前回転角度を補正する。なお、学習された誤差補正値Ｃ（ｎ）に基づき、どのように補正前回転角度を補正するかは任意の方法でよい。例えば、誤差補正値Ｃ（ｎ）から誤差補正値の近似曲線を演算し、誤差補正値の近似曲線を利用して、補正前回転角度ごとの誤差補正値を特定し、補正前回転角度を補正してもよい。また、例えば、補正前回転角度が割込み角Ａ（ｎ）と一致するごとに、当該割込み角Ａ（ｎ）に対応する誤差補正値Ｃ（ｎ）を加減算することにより、補正後の回転角度ＲＡを算出してもよい。
【００４１】
ところで、回転軸１４の回転速度ＲＳが遅い場合、早い場合と比較して、検出期間中に、回転速度ＲＳに変動が生じやすい。すなわち、回転軸１４の回転速度ＲＳが遅い場合、早い場合と比較して、基準位置から１回転するまでの間における回転速度ＲＳが一定でなく、ムラが生じやすい。例えば、０〜１８０度まで回転する際における回転速度ＲＳと、１８０〜３６０度まで回転する際における回転速度ＲＳが異なるという状態が生じやすい。
【００４２】
特に、本実施形態では、ＩＳＧ１００の回転軸１４は、エンジン２００のクランク軸２００ａと連結されるものであり、クランク軸２００ａと連動するため、その回転の影響を受けやすい。すなわち、エンジン２００の駆動中、燃焼行程では、回転軸１４は、加速しやすく、圧縮行程では、減速しやすい。つまり、回転軸１４の回転速度ＲＳにばらつきが生じやすい。このことは、回転軸１４の回転速度ＲＳが遅い場合、早い場合と比較して、特に顕著となる。つまり、回転軸１４の回転速度ＲＳの変動幅が大きくなりやすい。
【００４３】
そして、このように検出期間における回転軸１４の回転速度ＲＳの変動幅が大きいにもかかわらず、前述したように、検出期間における回転軸１４の回転速度ＲＳが一定であることを前提として誤差補正値Ｃ（ｎ）を算出している。このため、この誤差補正値Ｃ（ｎ）を誤差補正に利用すると、回転角度ＲＡの検出精度が低下する。そこで、本実施形態では、エンジン２００の駆動中、回転軸１４の回転速度ＲＳが遅い場合等、前述した方法で学習した値では、高精度な誤差補正値Ｃ（ｎ）を算出することが期待できない場合には、以下に説明するマップにより、誤差補正値を推定することとした。なお、以下では、補正値学習部２２による学習に基づく誤差補正値を、誤差補正値Ｃ（ｎ）と示す場合がある一方、マップに基づいて推定される誤差補正値を、誤差補正値Ｄと示す場合がある。
【００４４】
まず、マップ設定処理について図４に基づいて説明する。マップ設定処理は、イグニッションオン後、所定周期ごとに制御装置２０により実行される。
【００４５】
制御装置２０は、エンジン２００が所定の運転状態であるか否かを判定する（ステップＳ３０１）。所定の運転状態とは、例えば、エンジン２００がアイドリング状態である状態のことである。アイドリング状態とするのは、クランク軸２００ａが車軸（図示略）に対して駆動力を伝えない状態となっているため、駆動力を伝える状態と比較して、燃焼行程等に基づく回転軸１４の回転速度ＲＳの変化が大きいからである。つまり、回転角度ＲＡの変化が大きく、把握しやすいからである。また、加減速しない状態であるため、回転速度ＲＳの平均がそろいやすいという利点や、平均回転速度が車両走行中である場合に比較して低速であるため、回転角度ＲＡの角度変化に要する時間が長くなるという利点もあるからである。すなわち、アイドリング状態としたのは、検出精度を向上させることができるという利点があるからである。
【００４６】
具体的に所定の運転状態（アイドリング状態）の成立条件について説明すると、例えば、エンジン２００のエンジン回転数（エンジン２００の回転速度ＮＥ）が予め決められた範囲内であることが成立条件に含まれる。エンジン２００の回転速度ＮＥは、エンジン２００（より詳しくは、エンジン２００を制御するエンジンＥＣＵ）から、取得してもよいし、補正前回転角度の検出結果に基づいて算出してもよい。つまり、補正前回転角度を時間微分して極値（又は変曲点）を特定し、当該極値（又は変曲点）の間隔に基づいてエンジン２００の回転速度ＮＥを特定してもよい。また、回転軸１４が基準位置に到達する間隔（つまり、回転軸１４の回転周期）及び変速比（ギヤ比、プーリー比又は減速比）に基づいてエンジン２００の回転速度ＮＥを算出してもよい。
【００４７】
なお、エンジン２００の回転速度ＮＥ（エンジン回転数）の代わりに、回転軸１４の回転速度ＲＳが予め決められた範囲内であることが成立条件に含めてもよい。回転軸１４の回転速度ＲＳは、例えば、回転軸１４が基準位置に到達する間隔に基づき、算出可能である。
【００４８】
また、本実施形態において、所定の運転状態の成立条件には、例えば、ＩＳＧ１００の温度が予め決められた範囲内であることが含まれる。温度は、ＩＳＧ１００に設けられた温度センサの検出結果に基づき判定すればよい。なお、ＩＳＧ１００の温度の代わりに、エンジン２００の温度（水温）が予め決められた範囲内であるか否かを判定してもよい。また、本実施形態において、所定の運転状態の成立条件には、例えば、ＩＳＧ１００とバッテリ（図示略）との間において通電が行われていないこと、すなわち、ＩＳＧ１００の電機子巻線１２ｂ及び界磁巻線１３ｂに、通電が行われていないことが含まれる。
【００４９】
このステップＳ３０１の処理を実行することにより、制御装置２０は、運転状態判定部２４としての機能を備えていることとなる。
【００５０】
制御装置２０は、所定の運転状態であると判定しなかった場合（ステップＳ３０１：ＮＯ）、設定処理を終了する。一方、制御装置２０は、所定の運転状態であると判定した場合（ステップＳ３０１：ＹＥＳ）、回転軸１４の回転角度の変動周期を特定する（ステップＳ３０２）。
【００５１】
ステップＳ３０２について詳しく説明する。エンジン２００の回転速度ＮＥは、一般的に、燃焼サイクル内の各行程に応じて上昇と降下とを繰り返し、図５に示すような波形（放物線が連続するような波形）となる。つまり、１８０°ＣＡごとに極小値となり、その後、各気筒での燃焼により回転速度ＮＥが上昇する。したがって、エンジン２００の回転速度ＮＥの極小値が上死点（又は下死点）に相当する。そして、エンジン２００の気筒が１往復することにより、エンジン２００のクランク軸２００ａは１回転（３６０°ＣＡ）する。なお、本実施形態におけるエンジン２００は、４気筒であるため、クランク軸２００ａは２回転（７２０°ＣＡ）することにより、エンジン２００の動作周期（１燃焼サイクル：吸気行程−圧縮行程−膨張行程（燃焼行程）−排気行程）が終了する。つまり、エンジン２００は、４ストローク／１サイクルエンジンである。なお、図５では、各気筒＃１〜＃４の行程に関連付けて、エンジン２００の回転速度ＮＥを示す。
【００５２】
一方、クランク軸２００ａと回転軸１４とは、変速機構１５を介して連結されている。つまり、回転軸１４は、クランク軸２００ａに対して所定の変速比で連結されている。このため、クランク軸２００ａの状態（クランク角ＣＡ）と、回転軸１４の状態（回転角度ＲＡ）とが、それぞれ同じ状態（同じ位相）となる変動周期を特定するためには、変速比を考慮する必要がある。本実施形態では、回転軸１４の回転回数を単位として変動周期を特定する。例えば、変速比が１：３（クランク軸２００ａ：回転軸１４）の関係にある場合、変動周期は、回転軸１４が３回転したときに、１周期経過したこととなる。同様に、変速比が１．０：２．３（クランク軸２００ａ：回転軸１４）の関係にある場合、変動周期は、回転軸１４が２３回転（クランク軸２００ａが１０回転）したときに、１周期経過したこととなる。
【００５３】
つまり、クランク軸２００ａの回転回数をＭ（ただしＭは整数）とし、回転軸１４の回転回数をＬ（ただし、Ｌは整数）とした場合において、Ｍ：Ｌが変速比に一致する場合、Ｌの最小値が変動周期に相当する。
【００５４】
変動周期を特定した後、制御装置２０は、ＩＳＧ１００及びエンジン２００が基準状態となったか否かを判定する（ステップＳ３０３）。例えば、回転軸１４の回転角度ＲＡが第１角度となった場合であって、クランク角ＣＡが第２角度となった場合に、基準状態となったと判定する。ステップＳ３０３を実施することにより、制御装置２０は、基準状態判定部２６としての機能を備えることとなる。
【００５５】
第１角度は、任意であるが、最も精度よく検出できる基準位置を示す角度（基準位置信号を入力する角度）であることが望ましい。第１角度を、基準位置を示す角度とした場合、基準位置信号を入力した時点が、回転軸１４の回転角度ＲＡが第１角度となった時点に相当する。同様に、第２角度は、任意であるが、最も精度よく検出できる上死点（又は下死点）を示す角度であることが望ましい。上死点（又は下死点）を示す角度であるか否かの判定方法は、前述したように、エンジンＥＣＵから取得してもよいし、補正前回転角度を時間微分して判定してもよい。
【００５６】
なお、回転軸１４の回転角度ＲＡが第１角度となった時点と、クランク角ＣＡが第２角度となった時点とは、必ずしも同時である必要はなく、所定の範囲内であれば、ステップＳ３０３を肯定判定してもよい。
【００５７】
ステップＳ３０３の判定結果が否定の場合、制御装置２０は、マップ設定処理を終了する。一方、ステップＳ３０３の判定結果が肯定の場合、制御装置２０は、磁気センサ９２の検出結果に基づき、補正前回転角度を算出し、基準状態に達した時からの経過時間に関係づけて共に記憶する（ステップＳ３０４）。
【００５８】
次に、制御装置２０は、ステップＳ３０２で特定した変動周期を経過したか否かを判定する（ステップＳ３０５）。変動周期が経過したか否かは、回転軸１４の回転角度ＲＡが変動周期に相当する角度分回転したか否かに基づいて、判定してもよい。また、基準位置となった回数（つまり、回転軸１４の回転回数）が変動周期に相当する回数に達したか否かに基づいて、判定してもよい。また、エンジンＥＣＵから取得したクランク軸２００ａの回転回数に基づいて、判定してもよい。
【００５９】
ステップＳ３０５の判定結果が否定の場合（ステップＳ３０５：ＮＯ）、制御装置２０は、ステップＳ３０４の処理に移行し、変動周期を経過するまで、繰り返し実行する。
【００６０】
一方、変動周期が終了した場合（ステップＳ３０５：ＹＥＳ）、制御装置２０は、記憶した補正前回転角度と経過時間との関係に基づいて、マップを設定する（ステップＳ３０６）。具体的には、記憶した補正前回転角度と経過時間との関係に基づいて、図６に示すような回転軸１４の回転角度ＲＡの時間変化を示す近似曲線を算出し、当該近似曲線をマップとして設定する。このマップは、所定の運転状態である場合における磁気センサ９２の検出結果を利用して設定されている。つまり、エンジン２００の回転速度ＮＥがほぼ一定である状況下で、ＩＳＧ１００の温度が所定の範囲内であり、かつ、漏れ磁束が少ない状況下における磁気センサ９２の検出結果を利用して設定されている。このため、速度変化に基づく誤差や、温度に基づく誤差、及び漏れ磁束に基づく誤差が少ない基準として利用しうるマップであるといえる。なお、図６における破線は、エンジン２００の回転速度ＮＥを模式的に示し、図６では、変速比が１：３であることを前提として図示している。
【００６１】
制御装置２０は、マップの設定後、マップを記憶し（ステップＳ３０７）、マップ設定処理を終了する。これらのステップＳ３０４〜Ｓ３０７の処理により、制御装置２０は、マップ設定部２５としての機能を備えることとなる。
【００６２】
そして、補正部２３は、エンジン２００の駆動中、回転軸１４の回転速度ＲＳが予め決められた閾値未満である場合、このマップを参照して補正前回転角度の誤差補正値Ｄを推定し、推定された誤差補正値Ｄによって補正前回転角度を補正する。
【００６３】
具体的には、回転軸１４の回転速度ＲＳに応じて、マップの変動周期を比例変化させて比較する。例えば、補正時における回転軸１４の回転速度ＲＳが、マップ設定時における回転速度ＲＳの２倍である場合、マップの変動周期が１／２となるように縮小する。
【００６４】
そして、基準状態となったタイミングからの経過時間に基づき、補正前回転角度と、当該マップにより特定される回転角度ＲＡとを比較し、誤差補正値Ｄを推定（算出）する。そして、算出した誤差補正値Ｄを用いて補正前回転角度を補正する。
【００６５】
一方、補正部２３は、回転速度ＲＳが予め決められた閾値以上である場合、前回の検出期間において誤差補正値Ｃ（ｎ）が学習されていれば、前述したように、学習された誤差補正値Ｃ（ｎ）に基づき、補正前回転角度を補正する。
【００６６】
なお、本実施形態では、エンジン２００が駆動していない場合であって、回転速度ＲＳが予め決められた閾値未満である場合、誤差補正を行わない。また、回転速度ＲＳが予め決められた閾値以上である場合に、前回の検出期間において誤差補正値Ｃ（ｎ）が学習されていない場合においても、誤差補正を行わない。また、回転速度ＲＳが予め決められた閾値未満である場合に、マップが設定されていない場合においても、誤差補正を行わない。
【００６７】
また、閾値は、エンジン２００が駆動中である場合には、停止中である場合と比較して、大きな値が設定される。すなわち、回転速度ＲＳが低速時である場合、高速時である場合と比較して、エンジン２００の駆動に基づく影響を受けやすい。つまり、検出期間中における回転速度ＲＳの変動幅が大きくなりやすい。一方、エンジン２００が停止している場合、検出期間中における回転速度ＲＳの変動幅が小さくなりやすい。そこで、閾値は、エンジン２００が駆動中である場合には、停止中である場合と比較して大きくしている。
【００６８】
また、補正値学習部２２は、前回の検出期間における回転速度ＲＳに比較して、今回の検出期間における回転速度ＲＳの変動幅が所定の速度幅よりも大きい場合、学習を禁止する。例えば、前回の回転時間に対する今回の回転時間の割合が所定の許容範囲外である場合、学習を禁止する。
【００６９】
また、補正値学習部２２は、ＩＳＧ１００に流れる電流の変動幅が所定の電流幅よりも大きい場合、学習を禁止する。ＩＳＧ１００に流れる電流とは、例えば、界磁巻線１３ｂの界磁電流であり、また、電機子巻線１２ｂに流れる電機子電流である。前回の検出期間において検出した電流と、今回の検出期間において検出した電流との差が、所定範囲外である場合、学習を禁止する。電流は、例えば、電流センサなどにより計測すればよい。
【００７０】
すなわち、補正値学習部２２は、前回の検出期間における回転速度ＲＳに比較して、今回の検出期間における回転速度ＲＳの変動幅が所定の速度幅以内であって、ＩＳＧ１００に流れる電流の変動幅が所定の電流幅以内であることを条件として、誤差補正値を算出し、学習することとなる。
【００７１】
次に、補正値学習処理の流れについて図７に基づき説明する。補正値学習処理は、制御装置２０により所定周期ごとに実行される。
【００７２】
制御装置２０は、回転軸１４の回転速度ＲＳが閾値以上であるか否かを判定する（ステップＳ１０１）。この判定結果が否定の場合、補正値学習処理を終了する。一方、ステップＳ１０１の判定結果が肯定の場合、制御装置２０は、回転軸１４が基準位置であるか否か、すなわち、基準位置信号を入力したか否かを判定する（ステップＳ１０２）。この判定結果が否定の場合には、補正値学習処理を終了する。一方、ステップＳ１０１の判定結果が肯定の場合、制御装置２０は、磁気センサ９２の検出結果に基づき、補正前回転角度を算出する（ステップＳ１０３）。そして、制御装置２０は、算出された補正前回転角度が割込み角Ａ（ｎ）と一致したか否かを判定する（ステップＳ１０４）。
【００７３】
この判定結果が肯定の場合、制御装置２０は、基準位置信号の入力時からの経過時間ｔ（ｎ）を取得し、割込み角Ａ（ｎ）に対応付けて記憶する（ステップＳ１０５）。ステップＳ１０４の判定結果が否定の場合、又はステップＳ１０４の処理後、制御装置２０は、検出期間を経過したか否かを判定する（ステップＳ１０６）。すなわち、制御装置２０は、基準位置信号を再び入力したか否かを判定する。この判定結果が否定の場合、制御装置２０は、所定時間経過後、ステップＳ１０３以降の処理を再び実行する。
【００７４】
一方、ステップＳ１０６の判定結果が肯定の場合、制御装置２０は、回転時間Ｔを取得する（ステップＳ１０７）。つまり、ステップＳ１０２の基準位置信号を入力してからステップＳ１０６における基準位置信号を入力するまでの時間を、回転時間Ｔとして取得する。
【００７５】
次に、制御装置２０は、誤差補正値Ｃ（ｎ）を算出可能であるか否かを判定する（ステップＳ１０８）。ステップＳ１０８において、制御装置２０は、前回の検出期間における回転速度ＲＳに比較して、今回の検出期間における回転速度ＲＳの変動幅が所定の速度幅以内であって、モータ１０に流れる電流の変動幅が所定の電流幅以内であるか否かを判定する。つまり、所定の精度以上の誤差補正値Ｃ（ｎ）を算出可能であるか否かを判定する。
【００７６】
ステップＳ１０８の判定結果が肯定の場合、制御装置２０は、前述したように、数式（２）〜（６）を利用して、誤差補正値Ｃ（ｎ）を、割込み角Ａ（ｎ）ごとに算出する（ステップＳ１０９）。そして、制御装置２０は、誤差補正値Ｃ（ｎ）を、割込み角Ａ（ｎ）ごとに対応付けて制御装置２０の記憶装置に記憶（学習）する（ステップＳ１１０）。そして、補正値学習処理を終了する。一方、ステップＳ１０８の判定結果が否定の場合、制御装置２０は、補正値学習処理を終了する。
【００７７】
次に、補正処理について図８に基づいて説明する。補正処理は、所定周期ごとに制御装置２０により実行される。なお、補正値学習処理の実行中であっても、補正処理の実行周期となったことを契機に、補正値学習処理を中断して、補正処理を実行し、補正処理の終了後、中断した補正値学習処理を再開する。
【００７８】
制御装置２０は、回転軸１４の回転速度ＲＳが閾値以上であるか否かを判定する（ステップＳ２０１）。閾値は、エンジン２００が駆動中であるか否かにより変更される。ステップＳ２０１の判定結果が肯定の場合、制御装置２０は、補正値学習処理において誤差補正値Ｃ（ｎ）がすでに学習（記憶）されているか否かを判定する（ステップＳ２０２）。
【００７９】
ステップＳ２０２の判定結果が肯定の場合、制御装置２０は、学習された誤差補正値Ｃ（ｎ）に基づき、磁気センサ９２の検出結果に基づいて算出された補正前回転角度を、補正する（ステップＳ２０３）。そして、補正処理を終了する。一方、ステップＳ２０２の判定結果が否定の場合、制御装置２０は、補正処理を終了する。
【００８０】
一方、ステップＳ２０１の判定結果が否定の場合、制御装置２０は、エンジン２００が駆動中であるか否かを判定する（ステップＳ２０４）。この判定結果が否定の場合、補正処理を終了する。
【００８１】
ステップＳ２０４の判定結果が肯定の場合、制御装置２０は、マップ設定処理により設定されたマップが記憶されているか否かを判定する（ステップＳ２０５）。この判定結果が否定の場合、制御装置２０は、補正処理を終了する。
【００８２】
一方、ステップＳ２０５の判定結果が肯定の場合、マップを読み出し、読み出したマップを参照し、誤差補正値Ｄを推定する（ステップＳ２０６）。制御装置２０は、ステップＳ２０５で推定された誤差補正値Ｄに基づき、磁気センサ９２の検出結果に基づいて算出された補正前回転角度を、補正する（ステップＳ２０７）。そして、補正処理を終了する。
【００８３】
制御装置２０は、補正処理終了後、補正された回転角度ＲＡに基づき、モータ１０の制御などを実行する。
【００８４】
以上詳述した上記実施形態によれば、次の優れた効果が得られる。
【００８５】
エンジン２００の回転速度ＮＥに変動が生じた場合、クランク軸２００ａに連結されている回転軸１４の回転角度ＲＡにも影響を与える。このため、例えば、回転軸１４が等速であることを前提として学習した誤差補正値Ｃ（ｎ）に基づいて誤差補正すると、正確に誤差を補正することができず、回転角度ＲＡの検出精度が悪くなる。
【００８６】
そこで、エンジン２００及びＩＳＧ１００が所定の運転状態である場合に補正前回転角度を検出し、当該補正前回転角度に基づいて、補正前回転角度の誤差の補正に利用されるマップを設定した。このマップには、クランク軸２００ａの回転速度変動の影響が反映されているため、このマップを基準として、検出された補正前回転角度を比較判定すれば、クランク軸２００ａの回転速度変動による影響を取り除いて誤差を推定することができ、誤差の推定精度を向上することができる。よって、回転角度ＲＡの検出精度を向上させることができる。
【００８７】
ところで、マップと補正前回転角度との比較判定を行う都合上、マップを設定する場合、補正前回転角度の変動周期を特定して、マップを設定する必要がある。すなわち、図６に示すように、回転軸１４の回転角度ＲＡの変動周期は、回転軸１４が１回転（３６０°）する周期と一致するわけではなく、クランク軸２００ａの回転周期を考慮する必要がある。また、クランク軸２００ａと回転軸１４とは変速機構１５により連結しているため、クランク軸２００ａの回転周期を考慮する際には、その変速比も考慮する必要がある。すなわち、補正前回転角度のみでは、回転軸１４が何回転した場合に、エンジン２００のクランク角ＣＡが同じ位相となるか不明である。そこで、変速比を用いることにより、変動周期を特定し、その変動周期において検出した補正前回転角度に基づいてマップを設定した。これにより、補正前回転角度の変動周期ごとにマップを設定することができ、マップと補正前回転角度との比較判定を適切に行うことができる。
【００８８】
基準状態判定部２６が、回転軸１４の回転角度ＲＡが予め定められた第１角度であり、かつ、クランク角ＣＡが予め定められた第２角度である場合に、基準状態であると判定する。そして、補正部２３は、基準状態であると判定されたことを契機に、マップを参照して、補正前回転角度を補正する。これにより、マップと補正前回転角度との比較判定を行う際の始点を揃えることができ、マップと補正前回転角度との比較判定を適切に行うことができる。つまり、検出精度を向上させることができる。
【００８９】
マップ設定部２５は、変速機構１５の変速比に基づいて、基準状態となってから、次の基準状態となるまでの変動周期を特定している。これにより、マップと補正前回転角度との比較判定を行う際の始点及び終点を揃えることができ、マップと補正前回転角度との比較判定を適切に行うことができる。つまり、検出精度を向上させることができる。
【００９０】
回転軸１４の基準位置は、他の角度と異なり、特定しやすい。また、気筒の上死点又は下死点を示す角度は、極値（又は変曲点）となるため、他の角度と異なり、特定しやすい。そこで、第１角度を、回転軸１４の基準位置を示す角度にし、第２角度を、気筒の上死点（又は下死点）を示す角度にした。このため、基準状態を正確に判定しやすくなる。
【００９１】
制御装置２０は、エンジン２００がアイドリング状態であることを条件にして、所定の運転状態であると判定した。より詳しくは、制御装置２０は、エンジン２００の回転速度ＮＥが予め決められた範囲内であることを条件にして、所定の運転状態であると判定した。これにより、速度変化が小さく、かつ、回転速度ＲＳが低速の状態で取得した検出結果に基づいてマップを設定するため、基準として適切なものとすることができ、検出精度を向上することができる。
【００９２】
また、制御装置２０は、ＩＳＧ１００の温度が予め決められた範囲内であることを条件にして、所定の運転状態と判定する。これにより、温度に基づく誤差が少ない状態でマップを設定するため、基準として適切なものとすることができ、検出精度を向上することができる。
【００９３】
また、制御装置２０は、ＩＳＧ１００への通電が行われてないことを条件にして、所定の運転状態と判定する。これにより、漏れ磁束の影響が少ない場合に、マップを設定するため、基準として適切なものとすることができ、検出精度を向上することができる。
【００９４】
制御装置２０は、回転軸１４の回転速度ＲＳが閾値未満である場合には、マップを参照して誤差補正値Ｄを推定し、推定された誤差補正値Ｄによって補正前回転角度を補正する。一方、制御装置２０は、回転速度ＲＳが閾値以上である場合、補正値学習部２２により学習された誤差補正値Ｃ（ｎ）によって補正前回転角度を補正する。これにより、回転軸１４の回転速度が遅く、検出期間中における回転速度の変動が大きくなりやすい場合、すなわち、補正値学習部２２が誤差補正値Ｃ（ｎ）を算出する際に誤差が生じやすい場合には、誤差マップの誤差補正値を利用することにより、回転角度ＲＡの検出精度を向上させることができる。
【００９５】
一方、回転軸１４の回転速度が速く、検出期間中における回転速度の変動が小さくなりやすい場合、すなわち、補正値学習部２２が誤差補正値Ｃ（ｎ）を算出する際に誤差が生じにくい場合には、学習した誤差補正値Ｃ（ｎ）を利用することにより、回転角度ＲＡの検出精度を向上させることができる。
【００９６】
（第２実施形態）
次に、第２実施形態の制御装置について説明する。なお、以下では、各実施形態で互いに同一又は均等である部分には同一符号を付しており、同一符号の部分についてはその説明を援用する。
【００９７】
エンジン２００の気筒数が複数存在する場合（例えば４気筒の場合）において、気筒特性により、図９に示すように、１燃焼サイクル中において、エンジン２００の回転速度ＮＥに変動が生じる場合がある。つまり、各気筒＃１〜＃４の燃焼行程ごとに、回転速度ＮＥの変動波形が異なる場合がある。具体的には、エンジン２００の回転変動において、気筒ごとに、最低回転速度ＮＬ、最高回転速度ＮＨ、回転変動量ΔＮＫを算出した場合、最低回転速度ＮＬはほぼ同じである一方、最高回転速度ＮＨ（つまり、回転変動量ΔＮＫ）が異なる。この違いは、気筒におけるシール性の違いや、インジェクタの劣化度合い、気筒内のクリアランス（死容積等）の違いなどによるものである。また、気筒の燃料噴射の状態が相違しても、回転変動量ΔＮＫの気筒間ばらつきが生じる。
【００９８】
このため、マップ設定処理においてマップを設定する場合には、気筒の違いも考慮して、変動周期を設定することが望ましい。ここで、第２実施形態におけるマップ設定処理について図１０に基づいて説明する。
【００９９】
制御装置２０は、第１実施形態のステップＳ３０１と同様に、エンジン２００が所定の運転状態であるか否かを判定する（ステップＳ４０１）。制御装置２０は、所定の運転状態であると判定しなかった場合（ステップＳ４０１：ＮＯ）、設定処理を終了する。一方、制御装置２０は、所定の運転状態であると判定した場合（ステップＳ４０１：ＹＥＳ）、回転軸１４の回転角度ＲＡの変動周期を特定する（ステップＳ４０２）。
【０１００】
ステップＳ４０２について詳しく説明する。エンジン２００が４気筒である場合、エンジン２００の回転速度ＮＥは、１燃焼サイクルごとに、同じような変動を繰り返す。つまり、クランク軸２００ａは２回転（７２０°ＣＡ）するごとに、同じような変動を繰り返す。一方、回転軸１４は、クランク軸２００ａに対して所定の変速比（ギヤ比）で連結されている。
【０１０１】
このため、予め決められた気筒（例えば、気筒＃３）が燃焼行程である場合におけるクランク角ＣＡと、回転軸１４の回転角度ＲＡとが、それぞれ同じ状態（同じ位相）となる変動周期を特定するためには、気筒数及び変速比を考慮する必要がある。そして、本実施形態では、回転軸１４の回転回数を単位として変動周期を特定する。
【０１０２】
例えば、気筒数が４で、変速比が１：３（クランク軸２００ａ：回転軸１４）の関係にある場合、変動周期は、回転軸１４が６回転（クランク軸２００ａが２回転）したときに、１周期経過したこととなる。同様に、変速比が１．０：２．３（クランク軸２００ａ：回転軸１４）の関係にある場合、変動周期は、回転軸１４が２３回転（クランク軸２００ａが１０回転）したときに、１周期経過したこととなる。
【０１０３】
つまり、クランク軸２００ａの回転回数を２Ｍ（ただし２Ｍは偶数）とし、回転軸１４の回転回数をＬ（ただし、Ｌは整数）とした場合において、２Ｍ：Ｌが変速比に一致する場合、Ｌの最小値が変動周期に相当する。
【０１０４】
変動周期を特定した後、制御装置２０は、ＩＳＧ１００及びエンジン２００が基準状態となったか否かを判定する（ステップＳ４０３）。例えば、回転軸１４の回転角度ＲＡが第１角度となった場合であって、予め決められた気筒（例えば、気筒＃３）が燃焼サイクルにおいて所定の行程（例えば、燃焼行程）となり、かつ、クランク角が予め定められた第２角度である場合に、基準状態となったと判定する。なお、気筒＃３が燃焼行程であるか否かは、例えば、補正前回転角度から、エンジン２００の回転速度ＮＥや死点の間隔を算出して、推定すればよい。また、エンジンＥＣＵから情報を取得してもよい。
【０１０５】
第１角度は、任意であるが、最も精度よく検出できる基準位置を示す角度（基準位置信号を入力する角度）であることが望ましい。同様に、第２角度は、任意であるが、最も精度よく検出できる上死点（又は下死点）を示す角度であることが望ましい。
【０１０６】
ステップＳ４０３の判定結果が否定の場合、制御装置２０は、マップ設定処理を終了する。一方、ステップＳ４０３の判定結果が肯定の場合、制御装置２０は、磁気センサ９２の検出結果に基づき、補正前回転角度を算出し、基準状態に達した時からの経過時間に関係づけて共に記憶する（ステップＳ４０４）。ステップＳ４０４以降の処理は、第１実施形態のステップＳ３０４以降の処理と同じであるため、説明を省略する。
【０１０７】
この結果、図１１に示すような回転軸１４の回転角度ＲＡの時間変化を示すマップが設定される。このマップに示すように、気筒の違いが反映されるように、変動周期が設定されている。このため、補正部２３が、第１実施形態と同様にして、このマップを参照して補正前回転角度を補正する場合、変動周期及び気筒の違いも考慮して誤差補正が行われることとなる。つまり、気筒の違いによる誤差が抑制される。
【０１０８】
なお、図１１における破線は、エンジン２００の回転速度ＮＥの速度変動を示し、図１１では、変速比が１：３であることを前提として回転軸１４の回転角度ＲＡを図示している。
【０１０９】
そして、補正部２３は、第１実施形態と同様に、エンジン２００の駆動中、回転軸１４の回転速度ＲＳが予め決められた閾値未満である場合、このマップを参照して補正前回転角度の誤差補正値Ｄを推定し、推定された誤差補正値Ｄによって補正前回転角度を補正する。
【０１１０】
以上詳述した上記実施形態によれば、次の優れた効果が得られる。
【０１１１】
エンジン２００の気筒が複数存在する場合、所定の運転状態であっても、気筒＃１〜＃４の違いにより、回転速度ＲＳが異なる場合がある（ムラが生じる場合がある）。このため、マップを設定する場合には、気筒の違いも考慮して、変動周期を設定することが望ましい。そこで、変速比及び気筒数に基づいて、基準状態となってから、次の基準状態となるまでの変動周期を特定することとした。これにより、気筒の違いによる回転速度ＲＳの速度変化も考慮してマップを作成することができ、検出精度を向上させることができる。
【０１１２】
また、制御装置２０は、回転角度ＲＡが第１角度となった場合であって、気筒＃３が燃焼行程となり、かつ、クランク角が第２角度である場合に、基準状態となったと判定する。これにより、気筒が複数存在する場合であっても、マップと補正前回転角度との比較判定を行う際の始点を揃えることができ、マップと補正前回転角度との比較判定を適切に行うことができる。つまり、検出精度を向上させることができる。
【０１１３】
（他の実施形態）
本発明は、上記実施形態に限定されず、例えば以下のように実施してもよい。なお、以下では、各実施形態で互いに同一又は均等である部分には同一符号を付しており、同一符号の部分についてはその説明を援用する。
【０１１４】
・上記実施形態では、ＩＳＧ１００の制御装置２０に、算出部２１、補正値学習部２２、補正部２３、運転状態判定部２４、マップ設定部２５、及び基準状態判定部２６を備えた。この別例として、ＩＳＧ１００の制御装置２０とは別の制御装置に、算出部２１、補正値学習部２２、補正部２３、運転状態判定部２４、マップ設定部２５、及び基準状態判定部２６の機能のうち１部又は全部を備えてもよい。
【０１１５】
・上記実施形態において、基準位置は複数設けられていてもよい。すなわち、所定角度（例えば、１８０°）間隔で基準位置信号を出力するように構成されていてもよい。この場合、第１基準位置（０°）から第２基準位置（１８０°）までの間を検出期間として設定してもよい。
【０１１６】
・上記実施形態において、閾値は、エンジン２００が駆動中であるか否かによって、変更しなくてもよい。
【０１１７】
・上記実施形態において、補正値学習部２２は、回転速度の変動幅が所定の速度幅以内でなくても、誤差補正値を算出し、学習してもよい。同様に、ＩＳＧ１００に流れる電流の変動幅が所定の電流幅以内でなくても、誤差補正値を算出し、学習してもよい。
【０１１８】
・上記実施形態において、磁石９１及び磁気センサ９２の代わりにレゾルバを採用してもよい。この場合、例えば、回転子に設けられるレゾルバの励磁コイルが信号出力部に相当し、検出コイルがセンサに相当する。
【０１１９】
・上記実施形態において、マップの設定方法を任意に変更してもよい。例えば、補正前回転角度を時間微分して、始点を特定し、始点の間隔（平均値）からエンジン２００の回転速度ＮＥ（理想値）の変動波形を算出する。そして、エンジン２００の回転速度ＮＥと変速比を用いて、理想的な回転速度ＲＳの変動波形を推定し、理想的な回転速度ＲＳの変動波形を積分することにより、理想的な回転角度ＲＡの変動波形を算出し、マップとして設定してもよい。
【０１２０】
・上記実施形態において、回転速度ＲＳが閾値未満であっても、誤差補正値Ｃ（ｎ）を算出し、学習してもよい。
【０１２１】
・上記実施形態では、回転軸１４の回転速度ＲＳが予め決められた閾値未満である場合であって、エンジン２００が駆動していない場合、誤差補正を行わないが、行ってもよい。この場合、例えば、マップ設定処理において設定されるマップとは異なる専用マップを予め記憶しておき、補正部２３は、それを参照して誤差を補正すればよい。専用マップは、例えば、工場出荷時に、エンジン２００が駆動していない場合であって、ＩＳＧ１００への通電が停止している場合に、手動などにより回転軸１４を回転させることにより、取得すればよい。
【０１２２】
また、エンジン２００の駆動していない場合、クランク軸２００ａからの影響が少なくなり、回転軸１４の角度誤差が小さくなる傾向がある。このため、回転軸１４の回転速度ＲＳが予め決められた閾値未満である場合であっても、エンジン２００が駆動していない場合、学習した誤差補正値Ｃ（ｎ）に基づいて、補正前回転角度を補正してもよい。
【０１２３】
・上記実施形態では、誤差補正値Ｃ（ｎ）を学習していない場合、誤差補正を実施しなかったが、実施してもよい。この場合、例えば、マップ設定処理において設定されるマップ、又は異なる専用マップを予め記憶しておき、補正部２３は、それを参照して誤差を補正すればよい。
【０１２４】
・上記実施形態において、マップ設定処理は、気筒間の噴射ばらつきを抑制する気筒間噴射量補正制御（ＦＣＣＢ補正制御）の実行後、実行されるようにしてもよい。これにより、各気筒間の回転速度変動の差が平滑化されるため、マップ設定処理においてより好適なマップを設定することができ、回転角度ＲＡの検出精度を向上させることができる。
【符号の説明】
【０１２５】
１…回転角度検出装置、１４…回転軸、１５…変速機構、２１…算出部、２３…補正部、２４…運転状態判定部、２５…マップ設定部、９２…磁気センサ、２００…エンジン、２００ａ…クランク軸。
【図１】
2020030172.tif 000003
【図２】
2020030172.tif 000004
【図３】
2020030172.tif 000005
【図４】
2020030172.tif 000006
【図５】
2020030172.tif 000007
【図６】
2020030172.tif 000008
【図７】
2020030172.tif 000009
【図８】
2020030172.tif 000010
【図９】
2020030172.tif 000011
【図１０】
2020030172.tif 000012
【図１１】
2020030172.tif 000013