(57)【特許請求の範囲】
【請求項１】
出力信号の１周期分に相当する角度である電気角の３６０°が機械角の３６０°よりも小さく設定され、回転子の電気角に対応する二相エンコーダ信号を出力する電気角検出部と、
前記二相エンコーダ信号をカウントし、前記電気角の３６０°に対応するデジタル値を最大値としてカウントを行なう二相エンコーダカウンタと、
前記二相エンコーダカウンタのカウント値の変化に基づいて、前記電気角検出部の出力する信号が示す角度が機械角のいずれの位置に相当するかを検出する軸倍角数検出部とを備え、
前記軸倍角数検出部は、前記二相エンコーダカウンタのカウント値の変化に基づいて、前記電気角の３６０°に相当する数までしか表し得ない前記二相エンコーダカウンタのビット数を機械角の３６０°に相当する値を表し得るビット数までさらに拡張するための拡張カウント値を生成し、前記電気角検出部の出力する信号が示す電気角が機械角のいずれの位置に相当するかを示す値として、前記拡張カウント値を出力し、
前記拡張カウント値は、前記電気角検出部の軸倍角に相当する数を上限とする値である、回転角検出装置。
【請求項２】
前記電気角検出部は、
電気角の３６０°が機械角の３６０°よりも小さく設定されたレゾルバと、
前記レゾルバの信号をデジタル値に変換するレゾルバ／デジタルコンバータとを含み、
前記レゾルバ／デジタルコンバータは、Ａ相信号、Ｂ相信号およびＺ相信号を含む前記二相エンコーダ信号を出力する、請求項１に記載の回転角検出装置。
【請求項３】
前記二相エンコーダカウンタは、前記Ａ相信号および前記Ｂ相信号に応じてカウントアップまたはカウントダウンを行ない、前記Ｚ相信号が入力されるとカウント値をクリアし、
前記軸倍角数検出部は、前記二相エンコーダカウンタのカウント値が増加中において前記二相エンコーダカウンタのカウント値がクリアされた場合に、クリアされる直前の前記二相エンコーダカウンタのカウント値がしきい値を超えていたときには、前記拡張カウント値をカウントアップし、
前記Ｚ相信号は、前記電気角の基準位置で出力される信号である、請求項２に記載の回転角検出装置。
【請求項４】
前記電気角検出部は、
機械角の基準位置を検出するセンサをさらに含み、
前記二相エンコーダカウンタは、前記Ａ相信号および前記Ｂ相信号に応じてカウントアップまたはカウントダウンを行ない、前記センサの出力に応じてカウント値をクリアし、
前記軸倍角数検出部は、前記センサの出力に応じて前記拡張カウント値をクリアする、請求項２に記載の回転角検出装置。
【請求項５】
前記軸倍角数検出部の出力に基づいて、機械角の正しい位置に対応する補正を前記二相エンコーダカウンタが出力するデジタル値に対して行なう角度補正部をさらに備える、請求項１に記載の回転角検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回転角検出装置に関し、特に出力信号の１周期分に相当する角度が機械角の３６０°よりも小さく設定されている回転角検出装置に関する。
【背景技術】
【０００２】
電気モータを搭載する自動車やハイブリッド自動車などの車両や、モータを使用する他の電気機器には、モータ駆動システムが搭載されている。このようなモータ駆動システムには、モータの回転角を検出する回転角検出装置が使用される。【０００３】
例えば、特開２００９−７７４８１号公報（特許文献１）には、回転検出センサとしてレゾルバを用い、その出力をデジタル値に変換するＲ／Ｄ（レゾルバ／デジタル）コンバータがカウント値を増減させる旨が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−７７４８１号公報
【特許文献２】特開２００４−２４２３７０号公報
【特許文献３】特開２００８−２５９３４７号公報
【特許文献４】特開平１１−３３７３７１号公報
【特許文献５】特開２００４−６１１５７号公報
【特許文献６】特開２０００−３１４６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
モータの制御は、基本的には極対数に応じて変化する電気角が使用される。たとえば、１極対のモータであれば、機械角と電気角は一致する。しかし、２極対モータの場合は機械角が０°〜３６０°まで変化すると、電気角は０°〜３６０°の変化を２回繰返す。すなわち２極対モータでは、電気角０°〜３６０°の出力だけでは、機械角の０°〜１８０°に対応するのか機械角の１８０°〜３６０°に対応するのか分からない。【０００６】
近年、自動車用などのモータには高トルク化、小型化およびなめらかな制御性などが要求されており、モータの極対数も２極対から４極対、５極対などに増える可能性がある。この場合、レゾルバはそれぞれ２、４、５（２Ｘ、４Ｘ、５Ｘとも表示される）の軸倍角のものを使用するのが通常である。ここで軸倍角（multiplication  factor  of  angle）とは、レゾルバの実際の機械角θｍに対するレゾルバ出力の一周期分の角度（通常は電気角θｅ）の比をいう。すなわち、機械角θｍ＝電気角θｅ／軸倍角Ｎ、の関係が成立する。なお、軸倍角は角度ではなく倍数であるので、軸倍角を本明細書では軸倍角数ともいう場合がある。【０００７】
しかしながら、レゾルバ等の回転角センサを小型化した場合や、軸倍角を大きくした場合、加工精度の問題から同じ電気角であっても軸倍角の数だけ特性がばらつくことがある。センサがこのような特性のばらつきを有する場合には、理想的な特性となるように出力を補正して使用することが望ましい。【０００８】
図１３は、軸倍角Ｎｘのレゾルバの特性の補正について説明するための図である。
図１３を参照して、横軸にはレゾルバの機械角を示し、縦軸には、機械角に対応するカウント値が示されている。レゾルバの特性をそのままデジタル値に変換した場合は理想値に対して出力値のずれが生じている。出力値を理想値に一致させる補正を行なうことにより、回転速度などが正確に算出できるようになる。【０００９】
このような出力値のずれは、センサの加工精度などにより、機械角の０°〜３６０°の位置に対応したずれとなる。つまり、電気角が同じ値であっても、機械角のどの位置に対応するかによってずれ量が異なるので、補正値も変える必要がある。具体的には、電気角の０°〜３６０°が軸倍角２Ｘの場合には、出力値（電気角）が機械角０°〜１８０°に対応するものであるのか、１８０°〜３６０°に対応するものであるのかを認識したうえで補正を行なう必要がある。軸倍角５Ｘの場合には、現在の出力値が示す電気角が５通りの機械角に対応し得る。【００１０】
ところで、レゾルバの出力をデジタル値に変換するＲ／Ｄコンバータの出力としては二相エンコーダ出力が用いられている。二相エンコーダ出力は、Ａ相信号、Ｂ相信号およびＺ相信号を含む。Ａ相信号、Ｂ相信号は回転角度に応じた数のパルスを含む信号である。Ａ相信号とＢ相信号との間にはパルスの立上りおよび立下りエッジに位相差が設けられており、Ａ相信号とＢ相信号の位相関係によって正転か逆転かを知ることができる。またＺ相信号は電気角１回転に１回出力される信号である。モータ制御の分野では、このようなインターフェースが広く用いられている。二相エンコーダ出力を受けて計数する一般的な二相エンコーダカウンタでは電気角は認識できるが、機械角を認識することまではできない。【００１１】
この発明の目的は、二相エンコーダ出力を用いつつも、機械角の位置を認識可能とした回転角検出装置を提供することである。
【課題を解決するための手段】
【００１２】
この発明は、要約すると、回転角検出装置であって、出力信号の１周期分に相当する角度が機械角の３６０°よりも小さく設定された角度検出部と、角度検出部の出力信号に対応するデジタル値を出力するカウンタと、カウンタのカウント値の変化に基づいて、角度検出部の出力する信号が示す角度が機械角のいずれの位置に相当するかを検出する軸倍角数検出部とを備える。【００１３】
好ましくは、角度検出部は、電気角の３６０°が機械角の３６０°よりも小さく設定され、回転子の電気角に対応する二相エンコーダ信号を出力する電気角検出部であり、カウンタは、二相エンコーダ信号をカウントし、電気角に対応するデジタル値を出力する二相エンコーダカウンタであり、軸倍角数検出部は、二相エンコーダカウンタのカウント値の変化に基づいて、電気角検出部の出力する信号が示す電気角が機械角のいずれの位置に相当するかを検出する。【００１４】
より好ましくは、軸倍角数検出部は、二相エンコーダカウンタの上位ビットを機械角の３６０°に相当する値までさらに拡張したカウント値を生成し、拡張したカウント値を出力する。【００１５】
さらに好ましくは、電気角検出部は、電気角の３６０°が機械角の３６０°よりも小さく設定されたレゾルバと、レゾルバの信号をデジタル値に変換するレゾルバ／デジタルコンバータとを含む。レゾルバ／デジタルコンバータは、Ａ相信号、Ｂ相信号およびＺ相信号を含む二相エンコーダ信号を出力する。【００１６】
さらに好ましくは、二相エンコーダカウンタは、Ａ相信号およびＢ相信号に応じてカウントアップまたはカウントダウンを行ない、Ｚ相信号が入力されるとカウント値をクリアする。軸倍角数検出部は、二相エンコーダカウンタのカウント値が増加中において二相エンコーダカウンタのカウント値がクリアされた場合に、クリアされる直前の二相エンコーダカウンタのカウント値がしきい値を超えていたときには、拡張したカウント値をカウントアップする。【００１７】
さらに好ましくは、電気角検出部は、機械角の基準位置を検出するセンサをさらに含む。二相エンコーダカウンタは、Ａ相信号およびＢ相信号に応じてカウントアップまたはカウントダウンを行ない、センサの出力に応じてカウント値をクリアし、軸倍角数検出部は、センサの出力に応じて拡張したカウント値をクリアする。【００１８】
より好ましくは、二相エンコーダカウンタは、Ａ相信号およびＢ相信号に応じてカウントアップまたはカウントダウンを行ない、Ｚ相信号が入力されるとカウント値をクリアする。回転角検出装置は、Ｚ相信号が入力された時の二相エンコーダカウンタのカウント値が異常タイミングに対応する所定範囲内であるか否かを判断するＺ相異常検出部と、Ｚ相異常検出部によって所定範囲内であると判断された場合には、Ｚ相信号が入力された数をカウントし、Ｚ相信号が入力された数がエラーカウントしきい値を超えた場合に軸倍角数検出部が保持する拡張したカウント値をクリアするＺ相異常判定部とをさらに備える。【００１９】
好ましくは、角度検出部は、出力信号として所定角度ごとに１周期分が完了することを示す信号を出力する。カウンタは、出力信号が入力されてから次回の出力信号が入力されるまでの間カウント値をクロック信号に基づいてカウントアップする回転子位置検出部を含む。回転角検出装置は、出力信号が入力された時のカウンタのカウント値が異常タイミングに対応する所定範囲内であるか否かを判断するＺ相異常検出部と、Ｚ相異常検出部によって所定範囲内であると判断された場合には、出力信号が入力された数をカウントし、出力信号が入力された数がエラーカウントしきい値を超えた場合に軸倍角数検出部が保持する拡張したカウント値をクリアするＺ相異常判定部とをさらに備える。【００２０】
好ましくは、回転角検出装置は、軸倍角数検出部の出力に基づいて、機械角の正しい位置に対応する補正をカウンタが出力するデジタル値に対して行なう角度補正部をさらに備える。
【発明の効果】
【００２１】
本発明によれば、二相エンコーダ出力を用いつつも、機械角の位置を認識可能となるため、従来からの制御方式を大幅に変えなくても、回転角センサの特性の補正が可能となる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１の回転角度検出装置が使用される車両１のブロック図である。
【図２】レゾルバの軸倍角について説明するための図である。
【図３】本実施の形態における二相エンコーダカウンタのビット拡張を説明するための図である。
【図４】実施の形態１においてＣＰＵ４０で実行される二相エンコーダカウンタの拡張ビットのカウント制御を説明するためのフローチャートである。
【図５】軸倍角５Ｘのレゾルバを用いた場合のカウンタのカウント値の変化の一例を示す波形図である。
【図６】カウンタ増加中のカウント値のノースマーカー前後の変化を拡大して示す波形図である。
【図７】実施の形態２の回転角度検出装置が使用される車両１Ａのブロック図である。
【図８】実施の形態２においてＣＰＵ４０Ａで実行される二相エンコーダカウンタの拡張ビットのカウント制御を説明するためのフローチャートである。
【図９】実施の形態３の回転角度検出装置が使用される車両１Ｂのブロック図である。
【図１０】実施の形態３において実行される処理を説明するためのフローチャートである。
【図１１】図１０のＸｍａｘ，Ｘｍｉｎを説明するための図である。
【図１２】実施の形態４の回転角度検出装置が使用される車両１Ｃのブロック図である。
【図１３】レゾルバの特性の補正について説明するための図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２４】
［実施の形態１］
図１は、本発明の回転角度検出装置が適用される車両１の構成を示すブロック図である。
【００２５】
図１を参照して、車両１は、インバータ装置２と、モータジェネレータ４とモータジェネレータのロータシャフトに接続されたレゾルバ１２とを含む。車両１が電気自動車、ハイブリッド自動車、燃料電池自動車の場合は、モータジェネレータ４は車輪を駆動するために使用することができる。なお、他の用途にモータジェネレータ４を使用しても良い。
【００２６】
レゾルバ１２は、外周部の形状が中心との距離が周期的に変化するように形成されたロータシャフトと、ステータに設けられた一次巻線１５と、９０°の位相差が生じるようにステータに配置された二つの二次巻線１６，１７とを含む。ロータシャフトの外形は、ステータとのギャップが角度によって正弦波状に変化するような形状であり、軸倍角に対応してその正弦波の数が決められる。レゾルバの一次巻線に正弦波sinωｔの信号を入力すると、９０°の位相差が生じるように配置された二つの二次巻線には、それぞれモータ回転角θに応じて変調された信号sinωｔsinθ，sinωｔcosθが得られる。
【００２７】
インバータ装置２は、ＣＰＵ（Central  Processing  Unit）４０と、ＩＰＭ（Intelligent  Power  Module）７と、電流センサ８，９と、Ｒ／Ｄ（レゾルバ／デジタル）コンバータ１４とを含む。ＩＰＭ７は、モータジェネレータのステータコイルに流す電流を制御するためのＩＧＢＴなどのパワースイッチング素子を含む。モータジェネレータのステータコイルはＵ相、Ｖ相、Ｗ相のコイルを含む。Ｕ相、Ｖ相、Ｗ相のコイルはＹ結線されているので、Ｖ相、Ｗ相の電流を電流センサ８，９によって測定すればＵ相の電流は演算で求めることができる。
【００２８】
インバータ装置２は、さらに、電流センサ８，９の出力をそれぞれ増幅するアンプＡ１，Ａ２と、ＣＰＵ４０からの励磁用参照信号Ｒｅｆに基づいてレゾルバの一次巻線を励磁するアンプＡ３とを含む。
【００２９】
ＣＰＵ４０は、Ｒ／Ｄコンバータ１４から出力される二相エンコーダ信号に基づいてこれをカウントすることにより電気角θｅに対応するカウント値θ１を得る。二相エンコーダ信号は、Ａ相信号ＰＡ、Ｂ相信号ＰＢ、Ｚ相信号ＰＺを含む。また、ＣＰＵ４０は、軸倍角に対応するカウントをさらに行ない、機械角θｍに対応するカウント値θ２を得る。ＣＰＵ４０は、カウント値θ２に基づいてレゾルバの加工精度等に起因する特性バラツキを補正した値θ３を算出しこれをモータ制御に使用する。
【００３０】
このようなＣＰＵ４０の動作は、ソフトウエアでもハードウエアでも実現可能である。ＣＰＵ４０は、Ａ相信号ＰＡとＢ相信号ＰＢとに応じてカウントアップまたはカウントダウンを行ない、Ｚ相信号ＰＺに応じてクリアされる二相エンコーダカウンタ４１と、二相エンコーダカウンタ４１の出力する電気角に対応するカウント値θ１の変化に応じて、軸倍角を考慮して機械角に対応するカウント値θ２を出力する軸倍角数検出部４２と、カウント値θ２に基づいて補正された電気角に対応するカウント値θ３を出力する角度補正部４３と、カウント値θ３とトルク指令値ＴＲと、モータ電流値ＩＶ，ＩＷとに基づいてＵ，Ｖ，Ｗ相の三相ＰＷＭ信号を出力するモータ制御部４４とを含む。Ｕ，Ｖ，Ｗ相の三相ＰＷＭ信号に基づいて、ＩＰＭ７内のＩＧＢＴがオンオフ制御され、モータジェネレータＭＧに通電が行なわれる。
【００３１】
モータジェネレータＭＧにはレゾルバ１２のロータシャフトが機械的に連結される。レゾルバ一次巻線１５には、ＣＰＵ４０内のＤ／Ａコンバータ等により実現される励磁信号発生部４５により生成された例えば１０ｋＨｚの励磁正弦波信号が電流増幅アンプＡ３で増幅され印加される。
【００３２】
レゾルバ１２は、回転トランスであり、二次側のＳＩＮ巻線１６、ＣＯＳ巻線１７にはモータジェネレータＭＧの回転に伴い、変調されたたとえば１０ｋＨｚの正弦波が誘導される。ＳＩＮ巻線１６、ＣＯＳ巻線１７からＲ／Ｄコンバータ１４に与えられた信号は、Ｒ／Ｄコンバータ１４によってデジタル値に変換され、これのデジタル値の変化に対応して二相エンコーダ出力信号ＰＡ，ＰＢ，ＰＺが出力される。
【００３３】
ＩＰＭ７のＶ相、Ｗ相電流値は電流センサ８，９で検出され、バッファアンプＡ１，Ａ２を介しＣＰＵ４０の図示しないＡ／Ｄ変換入力に印加され対応するデジタル値がモータ制御部４４に与えられる。
【００３４】
上位のＥＣＵ（たとえば、ハイブリッド車両では、ハイブリッドＥＣＵ）より通信で送られてきたトルク指令ＴＲと、補正後の電気角θ３、電流値ＩＶ，ＩＷに基づいて、モータ制御部４４はｄｑ軸演算を行ないＰＷＭタイマーとの比較により通電デューティー比を決定する。
【００３５】
図２は、レゾルバの軸倍角について説明するための図である。
図２を参照して、軸倍角が２Ｘの場合のレゾルバについて例示して説明する。図２には、三相２極のモータジェネレータ４に対して、軸倍角が２Ｘのレゾルバ１２が取り付けられた状態が示されている。モータジェネレータ４は、ステータに各々２極のＵ相、Ｖ相、Ｗ相コイルを含み、ロータにＮ極、Ｓ極２対の永久磁石を含む。レゾルバ１２はモータジェネレータ４の極数２に合わせて、軸倍角が２Ｘのものが選択されている。このように選択することにより、モータ制御の際に電気角θｅのみを考えればよく、制御を簡単にすることができる。
【００３６】
モータジェネレータ４のロータが機械角θｍで０°〜１８０°まで半回転すると、レゾルバ１２の出力する電気角θｅは０°〜３６０°の変化をする。そして、モータジェネレータ４のロータが機械角θｍで１８０°〜３６０°まで半回転すると、レゾルバ１２の出力する電気角θｅはさらに、０°〜３６０°の変化をする。
【００３７】
ここで、レゾルバの軸倍角を大きくした場合には、同じ精度の電気角信号を出力するためには、部品加工の精度を高くしない限りレゾルバの体格を大きくする必要がある。またレゾルバを小型化した場合部品加工の精度が同じであれば、電気角信号の精度が悪くなる。したがって、レゾルバの出力を補正して使用することが考えられる。
【００３８】
しかし、図２の例では、機械角０°〜１８０°に対応する電気角と機械角１８０°〜３６０°に対応する電気角では、レゾルバの特性のズレが異なる場合が想定される。これは、特性のズレがレゾルバのロータの偏心、ロータの外周の加工バラツキなどに起因するためである。たとえば、軸倍角が２Ｘであって、ロータとステータの間のギャップ（距離）が正弦波状に変化するようにロータが加工されているＶＲ（バリアブルリラクタンス）レゾルバでは、機械角０°〜１８０°に対応するロータの加工面と機械角１８０°〜３６０°に対応する加工面では精度が異なることも考えられる。
【００３９】
したがって、電気角の補正は機械角に対応させて行なう必要がある。具体的には、例えば同じ電気角１０°の出力値を補正する場合でも、機械角で１０°であるのか１９０°であるのかで、補正値を変えてやる必要がある。このため、本実施の形態では、レゾルバの回転子位置検出機能を軸倍角に合わせて拡張して機械角を得る。
【００４０】
図３は、本実施の形態における二相エンコーダカウンタのビット拡張を説明するための図である。
【００４１】
図３を参照して、一般的な二相エンコーダカウンタとして１０ビットのカウンタを使用しているとする。この場合、図１の二相エンコーダカウンタ４１が１０ビットのカウンタである。１０ビットのカウント値で電気角の０°〜３６０°の範囲が示される。
【００４２】
この１０ビットのカウンタの上位ビットを軸倍角の大きさに合わせて拡張してカウントすることで、機械角を得ることができる。たとえば、軸倍角が２Ｘであれば、０、１の２状態を取ればよいので拡張ビットは１ビットでよい。たとえば軸倍角が５Ｘであれば、０〜４の５状態（０００，００１，０１０，０１１，１００）を取る必要があるので、拡張ビットは３ビット必要になる。拡張したビットに相当するカウントは、図１の軸倍角数検出部４２で行なわれる。
【００４３】
したがって、一般的な二相エンコーダカウンタのカウント値は、電気角θｅ＝０°〜３６０°に対応するカウント値θ１である。拡張したカウンタのカウント値は、機械角θｍ＝０°〜３６０°に対応するカウント値θ２である。
【００４４】
このように、機械角に対応するカウント値が認識できれば、レゾルバの特性ズレの補正を行なうことができる。特性ズレの補正は、図１の角度補正部４３において行なわれる。
【００４５】
たとえば、特性ズレの補正はモータジェネレータを回転させているときに学習させるようにして行なうことができる。たとえば、特開２００４−２４２３７０号公報に記載された方法を機械角に対応させて拡張すれば補正ができる。具体的には、規定時間における二相エンコーダカウンタのカウント値の平均増加率を機械角の１周目（０°〜３６０°）に求める。そして、機械角の２周目（０°〜３６０°）において、二相エンコーダカウンタの予測値を求めておいた平均増加率に基づいて算出する。予測値と実際の二相エンコーダカウンタの値（実際値）が所定の範囲内であれば予測値を補正後の値として採用する。予測値と実際の二相エンコーダカウンタの値が所定の範囲外であれば実際値に基準値の２分の１の値を加減算して補正後の値として採用する。
【００４６】
図４は、実施の形態１においてＣＰＵ４０で実行される二相エンコーダカウンタの拡張ビットのカウント制御を説明するためのフローチャートである。この処理は、図１の軸倍角数検出部４２において実行される処理に対応する。
【００４７】
図４のフローチャートの処理は、図１の二相エンコーダカウンタのカウント値（拡張前のカウント値）が変化する毎に所定のメインルーチンから呼び出されて実行される。
【００４８】
まず、ステップＳ１においてθ１（ｎ−１）＞Ｘ、かつ、θ１（ｎ）＝０が成立するか否かが判断される。ここでθ１（ｎ）は、ｎサイクル目の二相エンコーダカウンタ４１のカウント値であり、図４のフローチャートが実行されるｎサイクル目に対応する時刻での電気角に対応する値である。また、ここでθ１（ｎ−１）は、ｎ−１サイクル目の二相エンコーダカウンタ４１のカウント値であり、図４のフローチャートが実行されるｎ−１サイクル目に対応する時刻での電気角に対応する値である。Ｘはしきい値を示す。このしきい値Ｘについては、後に図６において説明する。
【００４９】
ステップＳ１の条件は、二相エンコーダカウンタ４１にＺ相信号が入力されてカウント値θ１（ｎ）がゼロにクリアされた場合、その１サイクル前のカウント値θ１（ｎ−１）がしきい値Ｘよりも大きいか否かを判断するものである。この条件が成立すると、ステップＳ１からステップＳ２に処理が進む。この場合は、二相エンコーダカウンタ４１がカウントアップしているときにクリアされた場合である。このような場合は拡張ビットをカウントアップする必要がある。
【００５０】
ステップＳ２では、拡張ビットのカウント値ＣＯＵＮＴが軸倍角に対応する最大値ＭＡＸ以上であるか否かが判断される。最大値ＭＡＸは、たとえば、軸倍角２Ｘのレゾルバならば１ビットの二進数で１、軸倍角５Ｘのレゾルバなら３ビットの二進数で１００である。
【００５１】
ステップＳ２において、カウント値ＣＯＵＮＴが最大値ＭＡＸ以上であれば、ステップＳ３に処理が進み、カウント値ＣＯＵＮＴ＝０に設定される。一方カウント値ＣＯＵＮＴが最大値ＭＡＸに到達していなければ、ステップＳ４に処理が進み、カウント値ＣＯＵＮＴに１が加算されて図３の拡張ビット部分のカウントアップが行なわれる。
【００５２】
ステップＳ１において条件が成立しなかった場合には、ステップＳ５に処理が進む。ステップＳ５ではθ１（ｎ−１）＝０、かつ、θ１（ｎ）≧θＭＡＸが成立するか否かが判断される。ここでθ１（ｎ）は、ｎサイクル目の二相エンコーダカウンタ４１のカウント値であり、ｎサイクル目に対応する時刻での電気角に対応する値である。また、ここでθ１（ｎ−１）は、ｎ−１サイクル目の二相エンコーダカウンタ４１のカウント値であり、ｎ−１サイクル目に対応する時刻での電気角に対応する値である。θＭＡＸは、電気角の最大値に対応する二相エンコーダカウンタ４１のカウント値である。
【００５３】
ステップＳ５の条件は、二相エンコーダカウンタ４１にＺ相信号が入力されてカウント値θ１（ｎ−１）がゼロにクリアされた場合、その１サイクル後のカウント値θ１（ｎ）がθＭＡＸ以上であることを判断するものである。この条件が成立すると、ステップＳ５からステップＳ６に処理が進む。この場合は、二相エンコーダカウンタ４１がゼロとなった後にカウントダウンされた場合である。このような場合は拡張ビットのカウント値ＣＯＵＮＴをカウントダウンする必要がある。
【００５４】
ステップＳ６では、拡張ビットのカウント値ＣＯＵＮＴがゼロ以下であるか否かが判断される。ステップＳ６において、カウント値ＣＯＵＮＴがゼロ以下であれば、ステップＳ７に処理が進み、カウント値ＣＯＵＮＴ＝ＭＡＸに設定される。一方カウント値ＣＯＵＮＴがゼロより大きい場合には、ステップＳ８に処理が進み、カウント値ＣＯＵＮＴから１が減算されて図３の拡張ビット部分のカウントダウンが行なわれる。
【００５５】
ステップＳ３，Ｓ４，Ｓ７，Ｓ８のいずれかの処理が実行された後にはステップＳ９に処理が進む。ステップＳ９では、二相エンコーダカウンタ４１の出力値であるθ１と拡張ビットに相当するカウント値ＣＯＵＮＴから、図３で説明したように機械角θｍに相当する拡張されたカウント値θ２が合成される。
【００５６】
ステップＳ９においてカウント値θ２が得られた後には、ステップＳ１０において制御はメインルーチンに移される。
【００５７】
図５は、軸倍角５Ｘのレゾルバを用いた場合のカウンタのカウント値の変化の一例を示す波形図である。
【００５８】
図５を参照して、横軸には、機械角（０°〜３６０°）が示されている。カウント値ＣＯＵＮＴは、電気角が０°〜３６０°変化するごとにカウントアップされている。電気角に対応するカウント値θ１はゼロからθＭＡＸまで繰返し変化する。電気角が３６０°となる時点でＺ相信号が入力され、θＭＡＸとなったカウント値θ１はゼロにクリアされる。このとき、拡張ビットに対応するカウント値ＣＯＵＮＴには１が加算される（図４のステップＳ４）。
【００５９】
このように、Ｚ相信号が入力されるごとにカウント値θ１はゼロにクリアされ、カウント値ＣＯＵＮＴは二進数で０００→００１→０１０→０１１→１００とカウントアップされる。そして軸倍角５Ｘの場合には図４のフローチャートのＭＡＸが１００であるため、ＣＯＵＮＴ＝１００の次にＺ相信号が入力されるとカウント値ＣＯＵＮＴは０００にクリアされる（ステップＳ３）。
【００６０】
また、カウント値θ１およびカウント値ＣＯＵＮＴに基づいて機械角に相当するカウント値θ２が得られていることも図５に示されている。
【００６１】
図６は、カウンタ増加中のカウント値のノースマーカー前後の変化を拡大して示す波形図である。二相エンコーダ出力のＺ相信号をノースマーカー（ＮＭ）と呼ぶこともある。図５においては、θ１がθＭＡＸまで変化し、その直後にゼロに変化した時にＣＯＵＮＴ値が加算されている。しかし、Ｚ相信号はタイミングのズレが生じる場合があるので、多少のズレが許容されるように処理を行なっている。
【００６２】
図６には、図４のステップＳ１のしきい値Ｘが示されている。ステップＳ１の条件によって、θ１がしきい値Ｘを超えていればθＭＡＸまでカウント値がカウントアップされた後でなくてもカウント値ＣＯＵＮＴのカウントアップを行なう。すなわち、θ１（ｎ）＝ゼロとなるのはＺ相信号が図１の二相エンコーダカウンタ４１に入力された場合または二相エンコーダカウンタ４１が最大値θＭＡＸとなりＡ相、Ｂ相信号の変化に基づいて次の加算が行なわれた場合である。
【００６３】
ステップＳ１の処理を行なうことにより、最大値θＭＡＸとなる前にＺ相信号が入力されてしまった場合でもそのときに合わせてカウント値ＣＯＵＮＴのカウントアップを行なうことができる。これにより、機械角に正しく対応したカウント値θ２を得ることができる。
【００６４】
したがって、二相エンコーダ出力を用いつつも、機械角の位置を認識可能となるため、従来からの制御方式を大幅に変えなくても、回転角センサの特性の補正が可能となる。
【００６５】
［実施の形態２］
たとえば軸倍角２Ｘのレゾルバの場合は機械角で０°〜３６０°の１回転する間に電気角０°〜３６０°の変化が２度現れる。実施の形態１では、回転中に精度を学習補正していく場合など、１度目の電気角か２度目の電気角かを見分け、各々に対応する補正を行なえばよい場合に用いることができる。したがって、機械角の絶対位置を把握する必要は無かった。
【００６６】
しかしながら、たとえば、予め工場等において精密な測定機器を使用して補正データを作成し、その精密な測定機器は出荷製品自身には含まれないような場合も想定される。このような場合には補正データを出荷製品に適用する場合に、補正データ作成時の機械角を正しく対応させる必要がある。つまり、補正データ作成時と補正データ使用時とで機械角を合わせておく必要がある。
【００６７】
図７は、実施の形態２の回転角度検出装置が使用される車両１Ａのブロック図である。
図７を参照して、車両１Ａは、レゾルバ１２、ＣＰＵ４０に代えてレゾルバ１２Ａ、ＣＰＵ４０Ａを含む点が、図１の車両１と異なる。他の部分については、車両１Ａの構成は既に説明した車両１と同様であるので説明は繰返さない。
【００６８】
レゾルバ１２Ａは、ロータの機械角０°の位置を検出しクリア信号ＣＬＲを出力するためのセンサ１８を含む。一次巻線１５、および二次巻線１６，１７については図１の場合と同様であり説明は繰返さない。
【００６９】
ＣＰＵ４０Ａは、二相エンコーダカウンタ４１、軸倍角数検出部４２に代えて二相エンコーダカウンタ４１Ａ、軸倍角数検出部４２Ａを含む点が図１のＣＰＵ４０と異なる。他の部分については、ＣＰＵ４０と同様であり説明は繰返さない。
【００７０】
二相エンコーダカウンタ４１Ａは、Ａ相信号ＰＡとＢ相信号ＰＢとに応じてカウントアップまたはカウントダウンを行ない、Ｚ相信号ＰＺに代えてクリア信号ＣＬＲに基づいてゼロにクリアされる。なおＺ相信号ＰＺ、クリア信号ＣＬＲどちらが入力されてもクリアされるように構成されても良い。
【００７１】
軸倍角数検出部４２Ａは、二相エンコーダカウンタ４１の出力する電気角に対応するカウント値θ１の変化に応じて、軸倍角を考慮して機械角に対応するカウント値θ２を出力する。そして、軸倍角数検出部４２Ａは、クリア信号ＣＬＲが入力されると、カウント値θ２をゼロにクリアする。
【００７２】
図８は、実施の形態２においてＣＰＵ４０Ａで実行される二相エンコーダカウンタの拡張ビットのカウント制御を説明するためのフローチャートである。
【００７３】
図８のフローチャートは、図４で説明したフローチャートにステップＳ１１およびＳ１２の処理が追加されている。ステップＳ１〜Ｓ８の処理については、図４で説明した場合と同様であり、説明は繰返さない。
【００７４】
ステップＳ３，Ｓ４，Ｓ７，Ｓ８のいずれかの処理が終了し、カウント値ＣＯＵＮＴが一旦決定されると、ステップＳ１１に処理が進む。ステップＳ１１では、センサ１８から与えられるクリア信号ＣＬＲの入力が有るか否かが判断される。信号ＣＬＲの入力が無い場合は、カウント値ＣＯＵＮＴはそのままステップＳ９に適用される。一方、信号ＣＬＲの入力があった場合は、ステップＳ１２においてカウント値ＣＯＵＮＴはゼロにクリアされ、その後ステップＳ９に処理が進む。
【００７５】
ステップＳ９では、二相エンコーダカウンタ４１の出力値であるθ１と拡張ビットに相当するカウント値ＣＯＵＮＴから、図３で説明したように機械角θｍに相当する拡張されたカウント値θ２が合成される。
【００７６】
ステップＳ９においてカウント値θ２が得られた後には、ステップＳ１０において制御はメインルーチンに移される。
【００７７】
実施の形態２に示した回転角検出装置では、回転センサからの二相エンコーダ出力から機械角の絶対位置を得ることができる。したがって、回転センサの補正データを工場等で作成した場合などであっても、これを正しい位置に適用することが可能となり、より一層の精度の向上した回転センサを実現することができる。
【００７８】
以上の実施の形態１，２について、図１、図７等を再び参照しながら総括する。
図１を参照して、本実施の形態の回転角検出装置は、電気角の３６０°が機械角の３６０°よりも小さく設定され、回転子の電気角に対応する二相エンコーダ信号を出力する電気角検出部（レゾルバ１２およびＲ／Ｄコンバータ１４）と、二相エンコーダ信号をカウントし、電気角に対応するデジタル値を出力する二相エンコーダカウンタ４１と、二相エンコーダカウンタのカウント値の変化に基づいて、検出器の出力する信号が示す電気角が機械角のいずれの位置に相当するかを検出する軸倍角数検出部４２とを備える。
【００７９】
好ましくは、図３に示すように、軸倍角数検出部４２は、二相エンコーダカウンタ４１の上位ビットを機械角の３６０°に相当する値までさらに拡張したカウント値ＣＯＵＮＴを生成し、拡張したカウント値ＣＯＵＮＴを出力する。
【００８０】
より好ましくは、電気角検出部は、電気角の３６０°が機械角の３６０°よりも小さく設定されたレゾルバ１２と、レゾルバの信号をデジタル値に変換するレゾルバ／デジタルコンバータ１４とを含む。レゾルバ／デジタルコンバータ１４は、Ａ相信号、Ｂ相信号およびＺ相信号を含む二相エンコーダ信号を出力する。
【００８１】
さらに好ましくは、二相エンコーダカウンタ４１は、Ａ相信号およびＢ相信号に応じてカウントアップまたはカウントダウンを行ない、Ｚ相信号が入力されるとカウント値をクリアする。図４に示されるように、軸倍角数検出部４２は、二相エンコーダカウンタ４１のカウント値θ１が増加中において二相エンコーダカウンタのカウント値θ１がクリアされた場合に、クリアされる直前の二相エンコーダカウンタのカウント値θ１がしきい値Ｘを超えた場合には（ステップＳ１においてＹＥＳ）拡張したカウント値ＣＯＵＮＴをカウントアップする。また、カウント値θ１がしきい値Ｘを超えた場合で、かつ拡張したカウント値ＣＯＵＮＴがＭＡＸであったときには（ステップＳ２においてＹＥＳ）、拡張したカウント値ＣＯＵＮＴをクリアする。
【００８２】
さらに好ましくは、図７に示すように、電気角検出部は、機械角の基準位置を検出するセンサ１８をさらに含む。二相エンコーダカウンタ４１Ａは、Ａ相信号およびＢ相信号に応じてカウントアップまたはカウントダウンを行ない、センサ１８の出力に応じてカウント値θ１をクリアする。軸倍角数検出部４２Ａは、センサ１８の出力に応じて拡張したカウント値ＣＯＵＮＴをクリアする（図８のステップＳ１１においてＹＥＳ）。
【００８３】
好ましくは、回転角検出装置は、軸倍角数検出部４２の出力に基づいて、機械角の正しい位置に対応する補正を二相エンコーダカウンタが出力するデジタル値に対して行なう角度補正部４３をさらに備える。
【００８４】
［実施の形態３］
実施の形態１で説明した回転角度検出装置では、位置検出器（レゾルバ＋Ｒ／Ｄコンバータやエンコーダなど）が出力するＺ相信号、Ａ相信号およびＢ相信号を受けて軸倍角の判定を行なう。しかし、何らかの影響で期待しないタイミングでＺ相信号が入力された場合、軸倍角の判定が正確に行なえない。たとえば、レゾルバ角０度付近でないタイミングにＺ相信号が入力されると二相エンコーダカウンタがクリアされ、次の軸倍角になったと誤判定する可能性がある。
【００８５】
そこで、実施の形態３では、Ｚ相信号、Ａ相信号およびＢ相信号から求まるレゾルバ角に対して、期待しないタイミングのＺ相信号が発生した場合、そのＺ相信号の入力を無視する。また、期待しないタイミングのＺ相信号が連続して発生した場合、軸倍角の検出をやり直す。
【００８６】
図９は、実施の形態３の回転角度検出装置が使用される車両１Ｂのブロック図である。
図９を参照して、車両１Ｂは、図１に示した車両１Ｂの構成においてインバータ装置２は、ＣＰＵ４０に代えてＣＰＵ４０Ｂを含む。他の部分については、車両１Ｂの構成は既に説明した車両１と同様であるので説明は繰返さない。
【００８７】
ＣＰＵ４０Ｂは、二相エンコーダカウンタ４１、軸倍角数検出部４２に代えて二相エンコーダカウンタ４１Ｂ、軸倍角数検出部４２Ｂを含み、さらにＺ相異常検出部４６と、Ｚ相異常判定部４７とを含む点が図１のＣＰＵ４０と異なる。他の部分については、ＣＰＵ４０と同様であり説明は繰返さない。
【００８８】
二相エンコーダカウンタ４１Ｂは、Ａ相信号ＰＡとＢ相信号ＰＢとに応じてカウント数θ１のカウントアップまたはカウントダウンを行ない、Ｚ相信号ＰＺに応じてクリアされる。軸倍角数検出部４２Ｂは、二相エンコーダカウンタ４１Ｂの出力する電気角に対応するカウント値θ１の変化に応じて、軸倍角を考慮して機械角に対応するカウント値θ２を出力する。具体的には、二相エンコーダカウンタ４１Ｂのキャリーまたはボローに合わせて軸倍角カウンタを増加減する。
【００８９】
Ｚ相異常検出部４６は、カウント値θ１が適切範囲である場合に入力されるＺ相信号を正常し、カウント値θ１が適切範囲外である場合に入力されるＺ相信号を異常とする。つまり、期待されるタイミングのＺ相信号と、期待されないタイミングのＺ相信号とを判別する。
【００９０】
Ｚ相異常判定部４７は、期待されないタイミングで入力されたＺ相信号の回数をカウントし、異常状態の判定を行なう。具体的には、Ｚ相異常判定部４７は、Ｚ相異常検出部４６によって異常とされたＺ相信号の数をカウントし、カウント値がエラーリミット値を超えた場合に、クリア信号ＣＬＲを出力する。クリア信号ＣＬＲによって、二相エンコーダカウンタ４１Ｂおよび軸倍角数検出部４２Ｂの保持する値はゼロにクリアされる。
【００９１】
図１０は、実施の形態３において実行される処理を説明するためのフローチャートである。このフローチャートの処理は、実施の形態１で説明した図４の処理に加えて実行される処理であり、Ｚ相信号ＰＺがＺ相異常検出部４６に入力されるごとに実行される。
【００９２】
図１０を参照して、まず、ステップＳ２１においては、入力されたＺ相信号ＰＺが入力されたタイミングにおけるカウント値θ１の値がＸｍａｘ＜θ１（ｎ）＜Ｘｍｉｎの条件を満たすか否かが判断される。なお、ｎ番目にこのフローチャートの処理が実行された場合であることを示し、次回にこのフローチャートの処理が実行される場合のカウント値はθ１（ｎ＋１）である。
【００９３】
図１１は、図１０のＸｍａｘ，Ｘｍｉｎを説明するための図である。
図１１を参照して、カウント値θ１（ｎ）の値がＸｍｉｎ以上、θｍａｘ以下である期間をＴＡ、カウント値θ１（ｎ）の値がθｍｉｎ以上、Ｘｍａｘ以下である期間をＴＢとし、それ以外の期間をＴＣとする。Ｘｍａｘは、＋０度付近のＺ相入力正常判定しきい値を示し、Ｘｍｉｎは、−０度付近のＺ相入力正常判定しきい値を示す。
【００９４】
Ｒ／Ｄコンバータ１４からのＺ相信号ＰＺは本来ならばθ１（ｎ）＝θｍａｘとなるときに出力されるはずであるが、何らかの理由によりカウント値θ１とＺ相信号ＰＺにズレが生じる場合がある。たとえば、角度検出器（エンコーダやレゾルバやＲ／Ｄコンバータ）及び、角度検出器の構成部品（ワイヤやコネクタ）の故障が原因で、実際の電気角と角度検出器が認識する角度にズレが生じ、Ｚ相信号が出力される。または、ノイズの影響で実際の電気角と角度検出器が認識する角度にズレが生じ、Ｚ相信号が出力される。Ｚ相信号自身に電気ノイズが重畳する場合も考えられる。
【００９５】
そこで、期間ＴＡまたはＴＢに入力されるＺ相信号は正常とし、それ以外の期間ＴＣに入力されるＺ相信号は異常として扱う。二相エンコーダカウンタ４１Ｂは、正常とされたＺ相信号によってクリアされるが、異常として扱われたＺ相信号によってはクリアされない。
【００９６】
しかし、異常である期間ＴＣにおいて何度もＺ相信号が入力されると、二相エンコーダカウンタ４１Ｂのカウント値θ１も信用できない。このため、異常なＺ相信号が発生する回数をカウントし、回数が所定値よりも多ければ二相エンコーダカウンタ４１Ｂをクリアすると共に、軸倍角数検出部４２Ｂがカウントする拡張ビットのカウント値ＣＯＵＮＴもクリアするように制御が行なわれる。
【００９７】
再び図１０を参照して、ステップＳ２１において、条件Ｘｍａｘ＜θ１（ｎ）＜Ｘｍｉｎが成立しなければ（図１１の期間ＴＡまたはＴＢにＺ相信号ＰＺの入力があれば）、ステップＳ２５に処理が進み、制御はメインルーチンに移される。
【００９８】
一方、ステップＳ２１において条件Ｘｍａｘ＜θ１（ｎ）＜Ｘｍｉｎが成立した場合には（図１１の期間ＴＣにＺ相信号ＰＺの入力があれば）、ステップＳ２２に処理が進む。
【００９９】
ステップＳ２２では、Ｚ相の異常タイミング入力のカウント値ＥＲＲＯＲ＿ＣＯＵＮＴが＋１加算される。カウント値ＥＲＲＯＲ＿ＣＯＵＮＴは、図１１の期間ＴＣに入力されるＺ相信号ＰＺをカウントするためのカウント値である。
【０１００】
そしてステップＳ２３においてカウント値ＥＲＲＯＲ＿ＣＯＵＮＴが異常判定しきい値ＥＲＲＯＲを超えたか否かが判断される。ＥＲＲＯＲ＿ＣＯＵＮＴ＞ＥＲＲＯＲが成立した場合には、ステップＳ２４に処理が進み、一方、成立しなければステップＳ２５に処理が進み、制御はメインルーチンに移される。なお、異常判定しきい値ＥＲＲＯＲは１以上であればどのような整数であっても良い。異常判定しきい値ＥＲＲＯＲ＝１に設定した場合には、１度でも図１１の期間ＴＣにＺ相信号ＰＺの入力があれば、カウント値ＣＯＵＮＴのリセット動作が行なわれる。一般には異常判定しきい値ＥＲＲＯＲを２以上の値に設定し、ノイズ等による単発のＺ相信号ＰＺは無視するようにし、複数回Ｚ相信号ＰＺが図１１の期間ＴＣに入力される場合にはリセット動作が行なわれるようにする。
【０１０１】
ステップＳ２４では、軸倍角数検出部４２Ｂのカウントしていたカウント値ＣＯＵＮＴがゼロにクリアされ、同時にカウント値ＥＲＲＯＲ＿ＣＯＵＮＴもゼロにクリアされる。その後ステップＳ２５に処理が進み、制御はメインルーチンに移される。
【０１０２】
実施の形態３について総括すると、図９に示す回転角検出装置は、出力信号の１周期分に相当する角度が機械角の３６０°よりも小さく設定された角度検出部（１２，１４）と、角度検出部の出力信号に対応するデジタル値を出力するカウンタ（４１Ｂ）と、カウンタ（４１Ｂ）のカウント値の変化に基づいて、角度検出部の出力する信号が示す角度が機械角のいずれの位置に相当するかを検出する軸倍角数検出部４２Ｂとを備える。
【０１０３】
好ましくは、角度検出部は、電気角の３６０°が機械角の３６０°よりも小さく設定され、回転子の電気角に対応する二相エンコーダ信号を出力する電気角検出部（１２，１４）であり、カウンタは、二相エンコーダ信号をカウントし、電気角に対応するデジタル値θ１を出力する二相エンコーダカウンタ４１Ｂであり、軸倍角数検出部４２Ｂは、二相エンコーダカウンタ４１Ｂのカウント値の変化に基づいて、電気角検出部の出力する信号が示す電気角が機械角のいずれの位置に相当するかを検出する。
【０１０４】
より好ましくは、軸倍角数検出部４２Ｂは、二相エンコーダカウンタ４１Ｂの上位ビットを機械角の３６０°に相当する値までさらに拡張したカウント値θ２を生成し、拡張したカウント値を出力する。
【０１０５】
より好ましくは、二相エンコーダカウンタ４１Ｂは、Ａ相信号およびＢ相信号に応じてカウントアップまたはカウントダウンを行ない、Ｚ相信号が入力されるとカウント値をクリアする。回転角検出装置は、Ｚ相信号が入力された時の二相エンコーダカウンタ４１Ｂのカウント値が異常タイミングに対応する所定範囲内（図１１の期間ＴＣ内）であるか否かを判断するＺ相異常検出部４６と、Ｚ相異常検出部４６によって所定範囲内であると判断された場合には、Ｚ相信号が入力された数をカウントし、Ｚ相信号が入力された数ＥＲＲＯＲ＿ＣＯＵＮＴがエラーカウントしきい値ＥＲＲＯＲを超えた場合に（ステップＳ２３でＹＥＳ）軸倍角数検出部４２Ｂが保持する拡張したカウント値θ２および拡張ビットＣＯＵＮＴをクリアするＺ相異常判定部４７とをさらに備える。
【０１０６】
実施の形態３では、異常なタイミングでＺ相信号が入力されることが繰返されるような場合を検出して、カウンタをクリアするので、誤動作が起こっても正常復帰する可能性が高くなる。
【０１０７】
［実施の形態４］
実施の形態１〜３では、回転子位置検出装置としてレゾルバを用いる例を示した。これに代えて回転子位置検出装置としてホール素子を用いる場合を説明する。
【０１０８】
図１２は、実施の形態４の回転角度検出装置が使用される車両１Ｃのブロック図である。図１２では、ホール素子１８ＣによってＺ相信号に相当する信号を入力する。
【０１０９】
図１２を参照して、車両１Ｃは、インバータ装置２Ｃと、モータジェネレータ４とモータジェネレータのロータシャフトに接続された回転子位置検出器１２Ｃとを含む。車両１Ｃが電気自動車、ハイブリッド自動車、燃料電池自動車の場合は、モータジェネレータ４は車輪を駆動するために使用することができる。なお、他の用途にモータジェネレータ４を使用しても良い。
【０１１０】
回転子位置検出器１２Ｃは、モータジェネレータ４の回転軸に固定された回転子に埋め込まれた磁石の位置を検出するホール素子１８Ｃを含む。
【０１１１】
インバータ装置２Ｃは、ＣＰＵ４０Ｃと、ＩＰＭ７と、電流センサ８，９とを含む。ＩＰＭ７は、モータジェネレータのステータコイルに流す電流を制御するためのＩＧＢＴなどのパワースイッチング素子を含む。モータジェネレータのステータコイルはＵ相、Ｖ相、Ｗ相のコイルを含む。Ｕ相、Ｖ相、Ｗ相のコイルはＹ結線されているので、Ｖ相、Ｗ相の電流を電流センサ８，９によって測定すればＵ相の電流は演算で求めることができる。
【０１１２】
ＣＰＵ４０Ｃは、回転子位置検出器４１Ｃと、軸倍角数検出部４２Ｃと、角度補正部４３と、モータ制御部４４と、正常タイミング判定部４８ＣとＺ相異常検出部４６ＣとＺ相異常判定部４７Ｃとを含む。角度補正部４３と、モータ制御部４４については、実施の形態１で説明した場合と同様な動作を行なうため、説明は繰返さない。
【０１１３】
ホール素子を用いた場合、センサの分解能が低いため、実角度をそのまま検出することはできない。そのため、モータ回転は急変しないと仮定し、回転子位置検出器４１Ｃは、Ｚ相信号の入力間隔から得られる回転速度と最終Ｚ相入力からの経過時間から角度を推定する。
【０１１４】
より具体的には、たとえば、回転子位置検出器４１Ｃは、ＣＰＵ４０Ｃのクロック信号などでカウントアップされホール素子１８ＣからのＺ相信号に応じてクリアされるタイマーカウンタを含み、クリア直前のタイマーカウンタの値を３６０°に対応する値Ｃ０として記憶し、その記憶値Ｃ０と現在のカウント値Ｃとの比を３６０°に乗じて電気角に対応するカウント値θ１を算出する。つまりθ１＝Ｃ／Ｃ０×３６０となる。
【０１１５】
正常タイミング判定部４８Ｃは、次回のＺ相入力が期待される入力期間（期待入力期間）を算出し、現在の時刻が算出した期待入力期間に該当するか否かを示す信号をＺ相異常検出部４６Ｃに出力する。この期待入力期間は、図１１の期間ＴＡ＋ＴＢに相当する
Ｚ相異常検出部４６Ｃは、ホール素子１８ＣからのＺ相信号が期待入力期間中に入力されたものであるか否かに基づいてＺ相信号の異常を検出する。図１１の期間ＴＣに入力されたＺ相信号は、異常信号と判断し無視する。またその場合Ｚ相異常判定部４７Ｃに異常信号の入力があった旨の出力信号を出力する。
【０１１６】
Ｚ相異常判定部４７Ｃは、Ｚ相異常検出部４６Ｃの出力結果から検出回数や継続時間に基づいて異常判定を行なう。たとえば、所定期間内の異常信号の検出回数がエラーしきい値ＥＲＯＲＲ＿ＣＯＵＮＴを超えた場合に、異常と判定するのでもよい。
【０１１７】
Ｚ相異常判定部４７Ｃは、Ｚ相信号が異常であると判定した場合には、軸倍角数検出部４２Ｃのカウンタをクリアする。
【０１１８】
実施の形態４の回転角検出装置は、出力信号の１周期分に相当する角度が機械角の３６０°よりも小さく設定された角度検出部（１８Ｃ）と、角度検出部の出力信号に対応するデジタル値を出力するカウンタ（回転子位置検出器４１Ｃ）と、カウンタ（回転子位置検出器４１Ｃ）のカウント値θ１の変化に基づいて、角度検出部の出力する信号が示す角度が機械角のいずれの位置に相当するかを検出する軸倍角数検出部４２Ｃとを備える。
【０１１９】
好ましくは、角度検出部（１８Ｃ）は、出力信号として所定角度ごとに１周期分が完了することを示す信号を出力するように構成されたホール素子である。カウンタは、出力信号が入力されてから次回の出力信号が入力されるまでの間カウント値をクロック信号に基づいてカウントアップする回転子位置検出器４１Ｃを含む。回転角検出装置は、出力信号が入力された時のカウンタ（回転子位置検出器４１Ｃ）のカウント値が異常タイミングに対応する所定範囲内であるか否かを判断するＺ相異常検出部４６Ｃと、Ｚ相異常検出部４６Ｃによって所定範囲内であると判断された場合には、出力信号が入力された数をカウントし、出力信号が入力された数がエラーカウントしきい値を超えた場合に軸倍角数検出部４２Ｃが保持する拡張したカウント値をクリアするＺ相異常判定部４７Ｃとをさらに備える。
【０１２０】
実施の形態３と同様に実施の形態４でも、異常なタイミングでＺ相信号が入力されることが繰返されるような場合を検出して、カウンタをクリアするので、誤動作が起こっても正常復帰する可能性が高くなる。
【０１２１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２２】
１，１Ａ〜１Ｃ  車両、２  インバータ装置、４  モータジェネレータ、７  ＩＰＭ、８  電流センサ、１２，１２Ａ  レゾルバ、１４  Ｒ／Ｄコンバータ、１５  一次巻線、１６，１７  二次巻線、１８  センサ、４０，４０Ａ〜４０Ｃ  ＣＰＵ、４１，４１Ａ，４１Ｂ  二相エンコーダカウンタ、４１Ｃ  回転子位置検出器、４２，４２Ａ〜４２Ｃ  軸倍角数検出部、４３  角度補正部、４４  モータ制御部、４５  励磁信号発生部、１８０  機械角、Ａ１〜Ａ３  アンプ。
【図１】
0005494662.tif 000002
【図２】
0005494662.tif 000003
【図３】
0005494662.tif 000004
【図４】
0005494662.tif 000005
【図５】
0005494662.tif 000006
【図６】
0005494662.tif 000007
【図７】
0005494662.tif 000008
【図８】
0005494662.tif 000009
【図９】
0005494662.tif 000010
【図１０】
0005494662.tif 000011
【図１１】
0005494662.tif 000012
【図１２】
0005494662.tif 000013
【図１３】
0005494662.tif 000014