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