(57)【特許請求の範囲】
【請求項１】
操舵ハンドルに連結されたステアリングシャフトの途中に配設されるトーションバーと、前記トーションバーの一端側をロータとしてステータに対する前記ロータの回転角である第１回転角に応じた振幅の２相の検出信号を出力する一対の検出コイルを有する第１レゾルバと、前記トーションバーの他端側をロータとして前記ステータに対する前記ロータの回転角である第２回転角に応じた振幅の２相の検出信号を出力する一対の検出コイルを有する第２レゾルバとを備えたレゾルバユニットと、
前記第１レゾルバから出力される２相の検出信号に基づいて前記第１回転角を演算し、前記第２レゾルバから出力される２相の検出信号に基づいて前記第２回転角を演算する回転角演算手段と、
前記演算された第１回転角と第２回転角とに基づいて前記ステアリングシャフトに働く操舵トルクを演算するトルク演算手段と、
前記第１レゾルバあるいは第２レゾルバの何れかで、前記一対の検出コイルの片側に異常が発生していることを検出する異常検出手段と、
前記検出コイルの片側の異常発生が検出されているとき、前記異常が発生している検出コイルと対をなす他方の検出コイルの出力する検出信号から一義的に回転角を求めることができる状況となる場合に、前記他方の検出コイルの出力する検出信号から異常側レゾルバの回転角を演算する異常時回転角演算手段と
を備えたトルク検出装置において、
前記第１レゾルバと第２レゾルバの少なくとも一方は、前記操舵ハンドルが中立位置で前記トーションバーが捩れていない状態における前記ロータと前記ステータとの相対位置関係が、前記一対の検出コイルの一方の検出信号の振幅がゼロで他方の検出信号の振幅が最大となる位置を基準位置として、前記基準位置に対して電気角で４５°＋９０°×Ｋ（Ｋは整数）だけずれるように、前記ロータと前記ステータとの組み付け位相が設定されていることを特徴とするトルク検出装置。
【請求項２】
請求項１記載のトルク検出装置と、
運転者の操舵操作をアシストするアシストトルクを発生する電動モータと、
前記トルク演算手段により演算された操舵トルクに基づいて前記電動モータを駆動制御するアシスト制御手段と
を備えた電動パワーステアリング装置であって、
前記検出コイルの片側に異常が発生している場合に、前記異常が発生している検出コイルと対をなす他方の検出コイルの出力する検出信号から一義的に回転角を求めることができない回転角不確定領域を、前記電動モータの電気角領域に対応させた不確定モータ電気角領域として記憶した不確定モータ電気角領域記憶手段と、
前記電動モータの電気角を検出するモータ電気角検出手段と、
前記検出コイルの片側の異常発生が検出されているとき、前記モータ電気角検出手段により検出された電動モータの電気角と、前記不確定モータ電気角領域記憶手段に記憶された不確定モータ電気角領域とに基づいて、前記電動モータの電気角が前記不確定モータ電気角領域に留まらないように、前記電動モータを駆動制御する不確定領域通過制御手段と
を備えたことを特徴とする電動パワーステアリング装置。
【請求項３】
前記不確定領域通過制御手段は、
前記検出コイルの片側に異常が検出されているときに、前記電動モータの電気角が前記不確定モータ電気角領域に入る場合に、前記アシスト制御手段が設定する前記電動モータの目標電流を増加補正することを特徴とする請求項２記載の電動パワーステアリング装置。
【請求項４】
前記電動モータの回転速度を検出するモータ回転速度検出手段を備え、
前記不確定領域通過制御手段は、前記電動モータの回転速度が大きい場合は小さい場合に比べて、前記電動モータの目標電流の増加補正量を少なくすることを特徴とする請求項３記載の電動パワーステアリング装置。
【請求項５】
前記回転角不確定領域は、前記回転角演算手段が前記第１回転角および前記第２回転角を演算する演算周期あたりに前記第１回転角あるいは前記第２回転角が変化する回転角変化量が所定変化量以内であるという回転角変化条件に基づいて設定されることを特徴とする請求項２ないし請求項４の何れか一項記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操舵トルクを検出するトルク検出装置、および、トルク検出装置により検出された操舵トルクに基づいて運転者の操舵操作をアシストする電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、運転者の操舵操作に対して操舵アシストトルクを付与する電動パワーステアリング装置が知られている。電動パワーステアリング装置は、ステアリングシャフトに働いた操舵トルクをトルク検出装置で検出し、操舵トルクが大きくなるにしたがって増加する目標アシストトルクを算出し、算出した目標アシストトルクが得られるように、電動モータの通電量をフィードバック制御する。従って、電動パワーステアリング装置においては、特に、トルク検出装置の信頼性が要求される。
【０００３】
トルク検出装置は、ステアリングシャフトに設けたトーションバーの捩れ角度を検出することにより、この捩れ角度に比例した操舵トルクを算出する。例えば、特許文献１にて提案されたトルク検出装置は、２つのレゾルバを用いてトーションバーの捻れ角度を検出する構成を採用している。このトルク検出装置においては、トーションバーの一端側に第１レゾルバを、他端側に第２レゾルバを設け、第１レゾルバにて検出される第１回転角θ１と第２レゾルバにて検出される第２回転角θ２との差から、操舵トルクを検出する。
【０００４】
各レゾルバは、励磁用交流信号が供給されてロータコイルに通電する励磁コイルと、トーションバーの周囲のステータに固定される一対の検出コイル（ｓｉｎ相検出コイル，ｃｏｓ相検出コイル）とを備えている。一対の検出コイルは、互いに電気角で９０度（π／２）ずらして組み付けられる。ｓｉｎ相検出コイルは、ロータの回転角（電気角）のｓｉｎ値に応じた振幅となる交流信号を出力し、ｃｏｓ相検出コイルは、ロータの回転角（電気角）のｃｏｓ値に応じた振幅となる交流信号を出力する。従って、レゾルバで検出されるロータの回転角は、ｓｉｎ相検出コイルの出力信号の振幅をｃｏｓ相検出コイルの出力信号の振幅で除算した値のアークタンジェント値に基づいて演算することができる。
【０００５】
この特許文献１にて提案されたトルク検出装置は、一方のレゾルバにおける検出コイルの一つが断線した場合でも、正常なレゾルバで検出された回転角が所定角度範囲に入っている場合には、断線したコイルと対をなす他方の検出コイルの出力信号を使って回転角を演算する。これは、第１レゾルバにて検出される第１回転角θ１と第２レゾルバにて検出される第２回転角θ２との機械的な角度差が常に一定値以下になるという条件に基づいて、正常なレゾルバで検出された回転角が所定角度範囲に入っている状況においては、断線したコイルと対をなす他方の検出コイルの出力信号から回転角を一義的に求めることができることを利用したものである。従って、正常なレゾルバで検出された回転角が所定角度範囲に入っている状況においては、第１回転角θ１と第２回転角θ２との差から操舵トルクを検出することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３１５１８２号公報
【発明の概要】
【０００７】
こうした構成においては、断線したコイルと対をなす他方の検出コイルの出力信号から回転角を一義的に求めることができない角度領域である回転角不確定領域が存在するため、その回転角不確定領域においては、他の方法で回転角を推定することになる。ところが、従来のトルク検出装置は、以下の理由により、操舵ハンドルが中立位置であって操舵操作されていない状態（以下、ハンドル中立状態と呼ぶ）においては、ｓｉｎ相検出コイルの異常時には、常に、レゾルバの電気角が回転角不確定領域に入ってしまい、回転角を一義的に求めることができない。
【０００８】
従来のトルク検出装置は、ロータコイルが巻回されるロータと、検出コイル（ｓｉｎ相検出コイル，ｃｏｓ相検出コイル）が巻回されるステータとが相対回転自在に設けられている。そして、ロータとステータとは、ハンドル中立状態において、ｓｉｎ相検出コイルの出力する検出信号の振幅がゼロでｃｏｓ相検出コイルの出力する検出信号の振幅が最大となるような相対位置関係で組み付けられている。
【０００９】
ハンドル中立状態におけるレゾルバの電気角を０°とすると、特許文献１のトルク検出装置では、異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、異常が検出されていないレゾルバの電気角θｅが（０°−α）＜θｅ＜（０°＋α）の範囲、および、（１８０°−α）＜θｅ＜（１８０°＋α）の範囲に入る場合には、異常が検出されているレゾルバのｃｏｓ相検出コイルの振幅からは一義的に回転角を求めることができない。これは、ｃｏｓ相検出コイルの振幅では、異常が検出されているレゾルバの電気角θｅが０°あるいは１８０°を挟んでプラスマイナスどちら側に位置するのか分からないからである。
【００１０】
また、第１回転角θ１と第２回転角θ２との機械的な角度差が常に一定値以下になるという条件とは異なる別の条件を使ってｃｏｓ相検出コイルのみの振幅から回転角を求めようとしても、大きさの差はあるものの、やはり、電気角θｅが０°を中心とした範囲、および、１８０°を中心とした範囲において回転角不確定領域が存在する。
【００１１】
従って、ハンドル中立状態においては、ｓｉｎ相検出コイルの異常時に、常に、レゾルバの電気角が回転角不確定領域に入ってしまい、回転角を検出することができない。このため、予め定めた推定方法により操舵トルクを推定せざるを得ない。従って、ハンドル中立状態という発生頻度の高い状況において、推定トルク値が使われることになってしまい、正常側の検出コイルの検出信号を有効利用できていない。
【００１２】
本発明は、上記問題に対処するためになされたもので、検出コイルの一方が断線した場合でも、操舵トルクを検出できなくなる状況を低減することを目的とする。
【００１３】
上記目的を達成するために、本発明の特徴は、操舵ハンドル（１１）に連結されたステアリングシャフト（１２）の途中に配設されるトーションバー（１２ａ）と、前記トーションバーの一端側をロータとしてステータに対する前記ロータの回転角である第１回転角に応じた振幅の２相の検出信号を出力する一対の検出コイル（１１２，１１３）を有する第１レゾルバ（１１０）と、前記トーションバーの他端側をロータとして前記ステータに対する前記ロータの回転角である第２回転角に応じた振幅の２相の検出信号を出力する一対の検出コイル（１２２，１２３）を有する第２レゾルバ（１２０）とを備えたレゾルバユニット（１００）と、前記第１レゾルバから出力される２相の検出信号に基づいて前記第１回転角を演算し、前記第２レゾルバから出力される２相の検出信号に基づいて前記第２回転角を演算する回転角演算手段（Ｓ１５）と、前記演算された第１回転角と第２回転角とに基づいて前記ステアリングシャフトに働く操舵トルクを演算するトルク演算手段（Ｓ１６）と、前記第１レゾルバあるいは第２レゾルバの何れかで、前記一対の検出コイルの片側に異常が発生していることを検出する異常検出手段（Ｓ１３）と、前記検出コイルの片側の異常発生が検出されているとき、前記異常が発生している検出コイルと対をなす他方の検出コイルの出力する検出信号から一義的に回転角を求めることができる状況となる場合に、前記他方の検出コイルの出力する検出信号から異常側レゾルバの回転角を演算する異常時回転角演算手段（Ｓ３０，Ｓ４０）とを備えたトルク検出装置において、
前記第１レゾルバと第２レゾルバの少なくとも一方は、前記操舵ハンドルが中立位置で前記トーションバーが捩れていない状態における前記ロータと前記ステータとの相対位置関係が、前記一対の検出コイルの一方の検出信号の振幅がゼロで他方の検出信号の振幅が最大となる位置を基準位置として、前記基準位置に対して電気角で４５°＋９０°×Ｋ（Ｋは整数）だけずれるように、前記ロータと前記ステータとの組み付け位相が設定されていることにある。
【００１４】
本発明においては、ステアリングシャフトの途中に設けられるトーションバーの一端側に第１レゾルバが設けられ、他端側に第２レゾルバが設けられる。第１レゾルバは、トーションバーの一端側となるロータと、そのロータの周囲に設けられロータの回転を許容するステータと、ステータに対するロータの回転角（第１回転角）に応じた振幅の２相の検出信号を出力する一対の検出コイルとを備えている。例えば、第１レゾルバは、ロータにロータコイルを、ステータにｓｉｎ相検出コイルとｃｏｓ相検出コイルとを備え、ロータコイルに交流電圧信号が入力されることで、ｓｉｎ相検出コイルから第１回転角のｓｉｎ値に応じた振幅の検出信号（交流電圧信号）を出力し、ｃｏｓ相検出コイルから第１回転角のｃｏｓ値に応じた振幅の検出信号（交流電圧信号）を出力する。
【００１５】
第２レゾルバは、トーションバーの他端側となるロータと、そのロータの周囲に設けられロータの回転を許容するステータと、ステータに対するロータの回転角（第２回転角）に応じた振幅の２相の検出信号を出力する一対の検出コイルとを備えている。例えば、第２レゾルバは、ロータにロータコイルを、ステータにｓｉｎ相検出コイルとｃｏｓ相検出コイルとを備え、ロータコイルに交流電圧信号が入力されることで、ｓｉｎ相検出コイルから第２回転角のｓｉｎ値に応じた振幅の検出信号を出力し、ｃｏｓ相検出コイルから第２回転角のｃｏｓ値に応じた振幅の検出信号を出力する。
【００１６】
回転角演算手段は、第１レゾルバから出力される２相の検出信号に基づいて第１回転角を演算し、第２レゾルバから出力される２相の検出信号に基づいて第２回転角を演算する。例えば、各レゾルバにおけるｓｉｎ相検出信号（電気角のｓｉｎ値に応じた振幅の検出信号）とｃｏｓ相検出信号（電気角のｃｏｓ値に応じた振幅の検出信号）との振幅をそれぞれ検出し、ｓｉｎ相検出信号の振幅をｃｏｓ相検出信号の振幅で除算した値のアークタンジェント値に基づいて回転角を演算することができる。
【００１７】
尚、第１回転角および第２回転角は、第１レゾルバおよび第２レゾルバの機械角であっても電気角であってもよい。機械角と電気角とは一定の関係を有するからである。回転角を機械角とした場合には、ｓｉｎ相検出コイルは、回転角を電気角に変換した角度のｓｉｎ値に応じた振幅の検出信号を出力し、ｃｏｓ相検出コイルは、回転角を電気角に変換した角度のｃｏｓ値に応じた振幅の検出信号を出力する。
【００１８】
トルク演算手段は、こうして演算された第１回転角と第２回転角との差に基づいてステアリングシャフトに働く操舵トルクを演算する。つまり、トーションバーの捩れ角度を検出することにより、その捩れ角度に比例した操舵トルクを演算する。
【００１９】
レゾルバの検出コイルの信号出力ライン等が断線した場合には、検出コイルから正常な検出信号が出力されなくなる。このとき、一対の検出コイルのうち一方のみに異常が発生している場合においては、他方の検出コイルの出力信号から一義的に回転角を求めることができる状況が存在する。そこで、異常検出手段が、第１レゾルバあるいは第２レゾルバの何れかで、一対の検出コイルの片側に異常が発生していることを検出すると、異常時回転角演算手段が、他方の検出コイルの出力する検出信号から一義的に回転角を求めることができる状況となる場合に、他方の検出コイルの出力する検出信号から、異常側レゾルバ（異常が発生している検出コイルを有するレゾルバ）の回転角を演算する。
【００２０】
従って、他方の検出コイルの出力信号から一義的に回転角を求めることができる状況においては、操舵トルクを演算することができ、操舵トルクに基づいてアシスト制御を行うことができる。しかし、他方の検出コイルの出力信号から一義的に回転角を求めることができない状況も発生する。
【００２１】
他方の検出コイルの出力信号から一義的に回転角を求めることができない状況は、各検出コイルの出力する検出信号の振幅が最大値となる近傍において発生する。例えば、ｓｉｎ相検出信号の振幅が最大となる位置においては、ｃｏｓ相検出信号の振幅はゼロになり、ｃｏｓ相検出信号の振幅が最大となる位置においては、ｓｉｎ相検出信号の振幅はゼロになる。従来装置においては、ｓｉｎ相検出信号の振幅がゼロでｃｏｓ相検出信号の振幅が最大となる位置を基準位置として、この基準位置が、操舵ハンドルが中立位置で、かつ、トーションバーが捩れていない状態での位置と一致するように、ロータとステータとの組み付け位相を設定して、その設定された位置関係でロータとステータとが組み付けられていた。しかし、そのような組み付け位相でロータとステータとを組み付けた場合には、ｓｉｎ相検出コイルが故障した場合には、ハンドル中立状態において、常に、ｃｏｓ相検出コイルの出力信号から一義的に回転角を求めることができない。
【００２２】
そこで、本発明においては、ハンドル中立状態におけるロータとステータとの相対位置関係が、基準位置に対して電気角で４５°＋９０°×Ｋ（Ｋは整数：０または１または２または３）だけずれるように、ロータとステータとの組み付け位相が設定されている。従って、各レゾルバの基準位置を電気角で０°とすると、ハンドル中立状態は、レゾルバの電気角が、４５°，１３５°，２２５°，３１５°のいずれかとなる。
【００２３】
ｓｉｎ相検出コイルが故障した場合には、レゾルバの電気角が０°および１８０°を中心とした所定角度範囲において、ｃｏｓ相検出コイルの出力信号からは一義的に回転角を求めることができず、ｃｏｓ相検出コイルが故障した場合には、レゾルバの電気角が９０°および２７０°を中心とした所定角度範囲において、ｓｉｎ相検出コイルの出力信号からは一義的に回転角を求めることができない。従って、本発明では、ハンドル中立状態においては、故障した検出コイルが何れの相（ｓｉｎ相、ｃｏｓ相）のものであっても、他方の検出コイルの出力信号から一義的に回転角を求めることができる。
【００２４】
この結果、本発明のトルク検出装置によれば、検出コイルの一方が断線した場合でも、操舵トルクを検出できなくなる状況（頻度）を低減することができる。
【００２５】
本発明は、トルク検出装置だけでなく、このトルク検出装置を備えた電動パワーステアリング装置にも適用することができる。
【００２６】
本発明の電動パワーステアリング装置の特徴は、上述したトルク検出装置と、運転者の操舵操作をアシストするアシストトルクを発生する電動モータ（２１）と、前記トルク演算手段により演算された操舵トルクに基づいて前記電動モータを駆動制御するアシスト制御手段（３１，４０）とを備えた電動パワーステアリング装置であって、
前記検出コイルの片側に異常が発生している場合に、前記異常が発生している検出コイルと対をなす他方の検出コイルの出力する検出信号から一義的に回転角を求めることができない回転角不確定領域を、前記電動モータの電気角領域に対応させた不確定モータ電気角領域として記憶した不確定モータ電気角領域記憶手段（３３）と、前記電動モータの電気角を検出するモータ電気角検出手段（６１，３０７）と、前記検出コイルの片側の異常発生が検出されているとき、前記モータ電気角検出手段により検出された電動モータの電気角と、前記不確定モータ電気角領域記憶手段に記憶された不確定モータ電気角領域とに基づいて、前記電動モータの電気角が前記不確定モータ電気角領域に留まらないように、前記電動モータを駆動制御する不確定領域通過制御手段（３１０）とを備えたことにある。
【００２７】
本発明の電動パワーステアリング装置においては、アシスト制御手段が、トルク演算手段により演算された操舵トルクに基づいて電動モータを駆動制御する。電動モータは、例えば、減速機等を介してステアリングシャフトの出力側に連結され、運転者の操舵操作をアシストするアシストトルクを発生する。この場合、電動モータは、ステアリングシャフトに回転トルクを付与するようにしてもよいし、ステアリングシャフトに連結されるラックバーに連結してラックバーに対して軸方向の力を付与するようにしてもよい。
【００２８】
レゾルバの検出コイルの信号出力ライン等が断線した場合には、検出コイルから正常な検出信号が出力されなくなる。このとき、一対の検出コイルのうち一方のみに異常が発生している場合、他方の検出コイルの出力信号から一義的に回転角を求めることができる状況においては、操舵トルクを演算して操舵アシストを行うことができる。しかし、他方の検出コイルの出力信号から一義的に回転角を求めることができない状況も発生する。この場合には、操舵トルクを正確に演算することができない。そこで、本発明においては、他方の検出コイルの出力信号から一義的に回転角を求めることができない状況を回避するために、不確定モータ電気角領域記憶手段と、モータ電気角検出手段と、不確定領域通過制御手段とを備えている。
【００２９】
不確定モータ電気角領域記憶手段は、他方の検出コイルの出力信号から一義的に回転角を求めることができないレゾルバの回転角不確定領域を電動モータの電気角領域に対応させた不確定モータ電気角領域として記憶している。従って、電動モータの電気角が不確定モータ電気角領域に入る場合には、異常が発生しているレゾルバの回転角を演算することができない。
【００３０】
そこで、不確定領域通過制御手段は、検出コイルの片側の異常発生が検出されているとき、モータ電気角検出手段により検出された電動モータの電気角と、不確定モータ電気角領域記憶手段に記憶された不確定モータ電気角領域とに基づいて、電動モータの電気角が不確定モータ電気角領域に留まらないように、電動モータを駆動制御する。従って、異常が発生しているレゾルバの回転角が回転角不確定領域を通り越すようになる。この結果、本発明によれば、検出コイルの一方が断線した場合でも、操舵トルクを検出できなくなる状況を低減することができる。
【００３１】
また、このように不確定領域通過制御手段が、電動モータの電気角が不確定モータ電気角領域に留まらないように電動モータを駆動制御すると、それによるトルクリップル（トルク変動）が操舵ハンドルを介して運転者に伝達され、操舵フィーリングが低下する。しかし、本発明においては、ロータとステータとの相対位置関係が、基準位置に対して電気角で４５°＋９０°×Ｋ（Ｋは整数）だけずれるようにロータとステータとの組み付け位相が設定されているため、ハンドル中立状態においては、電動モータの電気角が不確定モータ電気角領域に入らない。このため、ハンドル中立状態においては、不確定モータ電気角領域通過用のトルクが発生しない。この結果、不確定モータ電気角領域通過用のトルクの発生頻度を低くすることができ、トルクリップルによる操舵フィーリングの低下を抑制することができる。また、直進走行や高速域走行における操作性を向上させることができる。
【００３２】
本発明の電動パワーステアリング装置の他の特徴は、前記不確定領域通過制御手段は、前記検出コイルの片側に異常が検出されているときに、前記電動モータの電気角が前記不確定モータ電気角領域に入る場合に、前記アシスト制御手段が設定する前記電動モータの目標電流を増加補正することにある。
【００３３】
本発明においては、電動モータの電気角が不確定モータ電気角領域に入る場合に、アシスト制御手段が設定する電動モータの目標電流を増加補正する。これにより、電動モータの電気角が不確定モータ電気角領域を容易に通り越せるようになる。
【００３４】
本発明の他の特徴は、前記電動モータの回転速度を検出するモータ回転速度検出手段（３１２）を備え、前記不確定領域通過制御手段は、前記電動モータの回転速度が大きい場合は小さい場合に比べて、前記電動モータの目標電流の増加補正量を少なくする（３１３，３１４）ことにある。
【００３５】
本発明においては、電動モータの回転速度が大きい場合は小さい場合に比べて、電動モータの目標電流の増加補正量が少なくなる。従って、電動モータの回転慣性が大きく、回転角の不確定モータ電気角領域を通過しやすい状況においては、目標電流の増加補正量が少なくなるため、適切な目標電流が設定され、必要以上に電動モータが回されることが防止される。これにより、トルクリップルを更に低減することができる。
【００３６】
本発明の他の特徴は、前記回転角不確定領域は、前記回転角演算手段が前記第１回転角および前記第２回転角を演算する演算周期あたりに前記第１回転角あるいは前記第２回転角が変化する回転角変化量が所定変化量以内であるという回転角変化条件に基づいて設定されることにある。
【００３７】
この場合、例えば、前記回転角不確定領域は、前記異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、前記異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性がある領域に設定され、前記異常が検出されている検出コイルがｃｏｓ相検出コイルである場合には、前記異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性がある領域に設定されるとよい。
【００３８】
回転角演算手段の演算周期にステアリングシャフトの回転速度を乗算すれば一演算周期のあいだに変化した回転角の変化量、つまり、回転角変化量が求められる。一方、操舵ハンドルを回転操作する速度には限界があるため、回転角変化量は、所定変化量以内となる。このため、一演算周期前に算出された異常側レゾルバの電気角に基づいて、異常が検出されている検出コイルを有する異常側レゾルバの回転角を一義的に算出することができる回転角確定領域と、一義的に算出することができない回転角不確定領域とに判別することができる。
【００３９】
異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過できる状況にあると、ｃｏｓ相検出コイルから出力される検出信号の振幅からは一義的に回転角を決めることができない。これは、異常側レゾルバの電気角が、０°あるいは１８０°を挟んでどちら側にあるのか分からないためである。同様に、異常が検出されている検出コイルがｃｏｓ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過できる状況にあると、ｓｉｎ相検出コイルから出力される検出信号の振幅からは一義的に回転角を決めることができない。これは、異常側レゾルバの電気角が、９０°あるいは２７０°を挟んでどちら側にあるのか分からないためである。
【００４０】
そこで、本発明においては、回転角不確定領域を、異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性がある領域に設定し、異常が検出されている検出コイルがｃｏｓ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性がある領域に設定する。従って、本発明によれば、回転角不確定領域を狭くすることができるため、不確定領域通過制御手段により電動モータが駆動制御されても、操舵フィーリングに与える影響を少なくすることができる。
【００４１】
尚、上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件を前記符号によって規定される実施形態に限定させるものではない。
【図面の簡単な説明】
【００４２】
【図１】実施形態としての電動パワーステアリング装置の概略構成図である。
【図２】アシスト演算部の機能ブロック図である。
【図３】トルクセンサユニットの構造を表す断面図である。
【図４】トルクセンサユニットの電気回路構成図である。
【図５】第１条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図６】第２条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図７】操舵トルク検出ルーチンを表すフローチャートである。
【図８】第２回転角計算ルーチン（サブルーチン）を表すフローチャートである。
【図９】第１回転角計算ルーチン（サブルーチン）を表すフローチャートである。
【図１０】第１条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図１１】第２条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図１２】かさ上げ電流演算ルーチンを表すフローチャートである。
【図１３】かさ上げ電流マップを表すグラフで、（ａ）は、ｓｉｎ相異常時におけるかさ上げ電流マップ、（ｂ）は、ｃｏｓ相異常時におけるかさ上げ電流マップを表す。
【図１４】ゲイン設定マップを表すグラフである。
【図１５】ｓｉｎ相の振幅とｃｏｓ相の振幅と電気角との関係を表す図である。
【図１６】レゾルバの電気角θｅに対するｓｉｎ相検出信号とｃｏｓ相検出信号の電圧波形を表すグラフである。。
【図１７】第２条件下算出不能範囲とハンドル中立位置との関係を電気角θｅで表したグラフである。
【図１８】ロータ部とステータ部との組み付け位相を表す説明図である。
【発明を実施するための形態】
【００４３】
以下、本発明の一実施形態について図面を用いて説明する。図１は、実施形態としてトルク検出装置を備えた電動パワーステアリング装置の概略構成図である。
【００４４】
車両の電動パワーステアリング装置は、操舵ハンドル１１の操舵により転舵輪である左右前輪ＦＷ１，ＦＷを転舵する転舵機構１０と、転舵機構１０に設けられ操舵アシストトルクを発生するパワーアシスト部２０と、パワーアシスト部２０の電動モータ２１を駆動制御するアシスト制御装置５０（以下、アシストＥＣＵ５０と呼ぶ）と、車速センサ６０と、レゾルバユニット１００とを備えている。
【００４５】
転舵機構１０は、ステアリングシャフト１２を回転可能に備えている。ステアリングシャフト１２の上端には、操舵ハンドル１１が一体回転可能に接続され、ステアリングシャフト１２の下端には、ピニオンギヤ１３が一体回転可能に接続されている。ピニオンギヤ１３は、ラックバー１４に形成されたラック歯と噛み合ってラックアンドピニオン機構を構成する。ラックバー１４の両端には、図示しないタイロッドおよびナックルアームを介して左右前輪ＦＷ１，ＦＷ２が転舵可能に接続されている。左右前輪ＦＷ１，ＦＷ２は、ステアリングシャフト１２の軸線回りの回転に伴うラックバー１４の軸線方向の変位に応じて左右に転舵される。
【００４６】
ラックバー１４には、パワーアシスト部２０が組み付けられている。パワーアシスト部２０は、操舵アシスト用の電動モータ２１（例えば、３相ＤＣブラシレスモータ）とボールねじ機構２２とからなる。電動モータ２１の回転軸は、ボールねじ機構２２を介してラックバー１４に動力伝達可能に接続されていて、その回転により左右前輪ＦＷ１，ＦＷ２の転舵をアシストする。ボールねじ機構２２は、減速器および回転−直線変換器として機能するもので、電動モータ２１の回転を減速するとともに直線運動に変換してラックバー１４に伝達する。尚、電動モータ２１をラックバー１４に組み付けるのに代えて、電動モータ２１をステアリングシャフト１２に組み付けて、電動モータ２１の回転を減速器を介してステアリングシャフト１２に伝達して同シャフト１２を軸線周りに駆動するように構成してもよい。
【００４７】
電動モータ２１には、その回転軸の回転角を検出するための回転角センサ６１が設けられている。この回転角センサ６１は、電動モータ２１内に組み込まれ、電動モータ２１の回転子の回転角度位置に応じた検出信号を出力するもので、レゾルバにより構成される。この回転角センサ６１の検出信号は、電動モータ２１の回転角および回転速度の計算に利用される。一方、この電動モータ２１の回転角は、転舵輪である前輪ＦＷ１，ＦＷ２の舵角に対応するため舵角の検出に利用される。
【００４８】
ステアリングシャフト１２は、その軸方向の途中にトーションバー１２ａが設けられる。ステアリングシャフト１２において、トーションバー１２ａの上端と操舵ハンドル１１とを連結する部分を入力シャフト１２inと呼び、トーションバー１２ａの下端とピニオンギヤ１３とを連結する部分を出力シャフト１２outと呼ぶ。
【００４９】
ステアリングシャフト１２には、レゾルバユニット１００が設けられている。レゾルバユニット１００は、トーションバー１２ａと、入力シャフト１２inに組み付けられた第１レゾルバ１１０と、出力シャフト１２outに組み付けられた第２レゾルバ１２０とから構成される。第１レゾルバ１１０は、入力シャフト１２inの回転角（トーションバー１２ａの一端側における回転角であって本発明の第１回転角に相当する）に応じた信号を出力し、第２レゾルバ１２０は、出力シャフト１２outの回転角（トーションバー１２ａの他端側における回転角であって本発明の第２回転角に相当する）に応じた信号を出力する。操舵ハンドル１１が回動操作されると、ステアリングシャフト１２にトルクが働いてトーションバー１２ａが捩れる。トーションバー１２ａの捩れ角度は、ステアリングシャフト１２に働く操舵トルクに比例する。従って、第１レゾルバ１１０で検出される第１回転角θ１と、第２レゾルバ１２０で検出される第２回転角θ２との差を求めることでステアリングシャフト１２に働く操舵トルクを検出することができる。第１レゾルバ１１０、第２レゾルバ１２０は、アシストＥＣＵ５０に接続されている。
【００５０】
アシストＥＣＵ５０は、マイクロコンピュータおよび信号処理回路等を備えた演算部３０と、スイッチング回路で構成されるモータ駆動回路４０（例えば、３相インバータ回路）とを備えている。演算部３０は、アシスト演算部３１と、トルク演算部３２と、記憶部３３とから構成される。トルク演算部３２は、レゾルバユニット１００に接続されて、ステアリングシャフト１２に働く操舵トルクを演算により検出する。また、トルク演算部３２は、運転者に異常を報知するための警告ランプ６５を接続しており、後述する断線検出時に警告ランプ６５を点灯する。アシスト演算部３１は、トルク演算部３２により検出された操舵トルクに基づいて電動モータ２１の制御量を演算し、それに対応した制御信号をモータ駆動回路４０に出力する。記憶部３３は、アシスト演算部３１およびトルク演算部３２が使用する各種の制御プログラムや制御用データ等を記憶したメモリから構成される。
【００５１】
モータ駆動回路４０は、アシスト演算部３１から出力されるＰＷＭ制御信号を入力して、内部のスイッチング素子のデューティ比を制御することにより電動モータ２１への通電量を調整する。モータ駆動回路４０には、電動モータ２１に流れる電流を検出する電流センサ４１が設けられる。
【００５２】
アシスト演算部３１は、電流センサ４１、車速センサ６０、回転角センサ６１を接続している。車速センサ６０は、車速ｖｘを表す車速検出信号を出力する。また、アシスト演算部３１は、トルク演算部３２により算出した操舵トルクの計算結果を入力する。
【００５３】
次に、アシスト演算部３１について説明する。図２は、アシストＥＣＵ５０のマイクロコンピュータのプログラム制御により処理されるアシスト演算部３１の機能ブロック図である。アシスト演算部３１は、ｄ−ｑ座標系で表される電流ベクトル制御により電動モータ２１の通電を制御するもので、その機能に着目すると、アシストトルク設定部３０１、アシスト電流指令部３０２、フィードバック制御部３０３、３相／２相座標変換部３０４、２相／３相座標変換部３０５、ＰＷＭ信号発生部３０６、電気角変換部３０７、および、かさ上げ電流設定部３１０を備えている。
【００５４】
アシストトルク設定部３０１は、車速センサ６０により検出される車速ｖｘと、トルク演算部３２により算出された操舵トルクＴｒとを取得し、取得した車速ｖｘと操舵トルクＴｒに基づいて、目標アシストトルクＴ＊を算出する。目標アシストトルクＴ＊は、記憶部３３に記憶した図示しないアシストマップにより、操舵トルクＴｒが大きくなるにしたがって増加し、かつ、車速ｖｘが増加するにしたがって減少するように設定される。
【００５５】
アシストトルク設定部３０１は、目標アシストトルクＴ＊をアシスト電流指令部３０２に出力する。アシスト電流指令部３０２は、目標アシストトルクＴ＊をトルク定数で除算することにより、ｄ−ｑ座標におけるｑ軸指令電流Ｉｑ＊を算出する。また、アシスト電流指令部３０２は、ｄ軸指令電流Ｉｄ＊をゼロ（Ｉｄ＊＝０）に設定する。尚、ｑ軸指令電流Ｉｑ＊は、電動モータ２１でトルクを発生させるように働く。ｄ軸指令電流Ｉｄ＊は、電動モータ２１の弱め界磁制御に利用されるが、ここでは、ゼロとして説明する。
【００５６】
アシスト電流指令部３０２は、ｄ軸指令電流Ｉｄ＊をフィードバック制御部３０３に出力し、ｑ軸指令電流Ｉｑ＊をかさ上げ電流設定部３１０に出力する。かさ上げ電流設定部３１０は、後述するかさ上げ電流演算ルーチンを実行することにより、アシスト電流指令部３０２から入力したｑ軸指令電流Ｉｑ＊を補正し、その補正したｑ軸指令電流Ｉｑ＊を最終的なｑ軸指令電流Ｉｑ＊としてフィードバック制御部３０３に出力する。尚、かさ上げ電流設定部３１０については後述する。
【００５７】
フィードバック制御部３０３は、ｑ軸指令電流Ｉｑ＊からｑ軸実電流Ｉｑを減算した偏差ΔＩｑを算出し、この偏差ΔＩｑを使った比例積分制御によりｑ軸実電流Ｉｑがｑ軸指令電流Ｉｑ＊に追従するようにｑ軸指令電圧Ｖｑ＊を計算する。同様に、ｄ軸指令電流Ｉｄ＊からｄ軸実電流Ｉｄを減算した偏差ΔＩｄを算出し、この偏差ΔＩｄを使った比例積分制御によりｄ軸実電流Ｉｄがｄ軸指令電流Ｉｄ＊に追従するようにｄ軸指令電圧Ｖｄ＊を計算する。
【００５８】
ｑ軸実電流Ｉｑおよびｄ軸実電流Ｉｄは、電動モータ２１のコイルに実際に流れた３相電流の検出値Ｉu，Ｉv，Ｉwをｄ−ｑ座標の２相電流に変換したものである。この３相電流Ｉu，Ｉv，Ｉwからｄ−ｑ座標の２相電流Ｉｄ，Ｉｑへの変換は、３相／２相座標変換部３０４によって行われる。３相／２相座標変換部３０４は、電気角変換部３０７から出力されるモータ電気角θｍｅを入力し、そのモータ電気角θｍｅに基づいて、電流センサ４１により検出した３相電流Ｉu，Ｉv，Ｉwをｄ−ｑ座標の２相電流Ｉｄ，Ｉｑに変換する。
【００５９】
電気角変換部３０７は、回転角センサ６１から出力される回転角θｍを表す検出信号から電動モータ２１の電気角θｍｅを算出し、算出したモータ電気角θｍｅを３相／２相座標変換部３０４、２相／３相座標変換部３０５、かさ上げ電流設定部３１０に出力する。
【００６０】
フィードバック制御部３０３により算出されたｑ軸指令電圧Ｖｑ＊とｄ軸指令電圧Ｖｄ＊は、２相／３相座標変換部３０５に出力される。２相／３相座標変換部３０５は、モータ電気角θｍｅに基づいて、ｑ軸指令電圧Ｖｑ＊とｄ軸指令電圧Ｖｄ＊を３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換して、その変換した３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊をＰＷＭ信号発生部３０６に出力する。ＰＷＭ信号発生部３０６は、３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に対応したＰＷＭ制御信号をモータ駆動回路４０のスイッチング素子（図示略）に出力する。こうして電動モータ２１には、電流フィードバック制御により運転者の操舵方向と同じ方向に回転する向きの目標電流が流れる。これにより、運転者の操舵操作が、電動モータ２１で発生するトルクにより適切にアシストされる。
【００６１】
次に、レゾルバユニット１００について説明する。図３は、レゾルバユニット１００の断面図を表す。レゾルバユニットは、円筒状のハウジング１５０を備えている。ハウジング１５０は、ラックバー１４を収納するラックハウジング（図示略）に固定されている。ハウジング１５０は、延長スリーブ１５１と、出力シャフト１２outとが挿通され、それらをベアリング１５２，１５３により回転可能に保持している。延長スリーブ１５１は、入力シャフト１２inの下端と相対回転不能に接続される円筒管であり、入力シャフト１２inの一端を構成するものである。出力シャフト１２outは、その先端側（操舵ハンドル１１側）が円筒状に形成された円筒部１５４となり、後端側がピニオンギヤ１３を一体形成したギヤ形成部１５５となっている。延長スリーブ１５１の先端側は、外径が細くなるように形成されており、出力シャフト１２outの円筒部１５４内に隙間をあけて同軸状に配置されている
【００６２】
延長スリーブ１５１の円筒内には、トーションバー１２ａが配設されている。トーションバー１２ａは、その両端に比べて中央部が細く形成されており、この細径部分が延長スリーブ１５１の円筒内に隙間をあけて挿通されている。トーションバー１２ａの一方端は、延長スリーブ１５１の基端（操舵ハンドル１１側）においてピン１５６により連結される。トーションバー１２ａの他方端は、出力シャフト１２outの円筒部１５４の底部において、回り止め凹凸１５７により相対回転不能に嵌合されている。従って、トーションバー１２ａの一方端は、入力シャフト１２inと一体的に回転可能であり、トーションバー１２ａの他方端は、出力シャフト１２outと一体的に回転可能となっている。
【００６３】
延長スリーブ１５１の軸方向における中間位置の外径は、出力シャフト１２outにおける円筒部１５４の先端の外径と同一に設定されている。この延長スリーブ１５１の軸方向における中間位置となる円筒面が、第１レゾルバ１１０の第１ロータ部１１０ｒを嵌合固定する第１ロータ固定部１５８となる。また、出力シャフト１２outにおける円筒部１５４の先端が、第２レゾルバ１２０の第２ロータ部１２０ｒを嵌合固定する第２ロータ固定部１５９となる。従って、延長スリーブ１５１が第１レゾルバ１１０のロータ軸を構成し、出力シャフト１２outが第２レゾルバ１２０のロータ軸を構成する。
【００６４】
ハウジング１５０と第１ロータ固定部１５８との間のドーナツ状空間には、第１レゾルバ１１０が設けられ、ハウジング１５０と第２ロータ固定部１５９との間のドーナツ状空間には、第２レゾルバ１２０が設けられる。第１レゾルバ１１０と第２レゾルバ１２０とは、同一の構造である。
【００６５】
第１レゾルバ１１０は、第１ステータ部１１０ｓと第１ロータ部１１０ｒとから構成される。第１ステータ部１１０ｓは、ハウジング１５０の内壁に固定され、第１ロータ部１１０ｒは、延長スリーブ１５１の第１ロータ固定部１５８に固定される。第１ロータ部１１０ｒは、第１ステータ部１１０ｓに対して相対回転可能に設けられる。
【００６６】
第１ロータ部１１０ｒには、第１受電コイル１１５と第１ロータコイル１１４とが設けられる。第１ステータ部１１０ｓには、第１励磁コイル１１１と第１検出コイル部１１２３とが設けられる。第１検出コイル部１１２３は、第１ｓｉｎ相検出コイル１１２と第１ｃｏｓ相検出コイル１１３とから構成される。第１受電コイル１１５は、ロータ軸の周方向に沿って電線を巻回したものであり、第１励磁コイル１１１は、第１受電コイル１１５の外周側において、周方向に沿って電線を巻回したものである。
【００６７】
また、第１ロータコイル１１４は、ロータ軸の周方向に沿って所定間隔で形成された複数のティース１１６にそれぞれ電線を巻回したものであり、第１検出コイル部１１２３は、第１ロータコイル１１４の外周側において、周方向に沿って所定間隔で形成された複数のティース１１７にそれぞれ電線を巻回したものである。
【００６８】
第２レゾルバ１２０は、第２ステータ部１２０ｓと第２ロータ部１２０ｒとから構成される。第２ステータ部１２０ｓは、ハウジング１５０の内壁に固定され、第２ロータ部１２０ｒは、出力シャフト１２outの第２ロータ固定部１５９に固定される。第２ロータ部１２０ｒは、第２ステータ部１２０ｓに対して相対回転可能に設けられる。
【００６９】
第２ロータ部１２０ｒには、第２受電コイル１２５と第２ロータコイル１２４とが設けられる。第２ステータ部１２０ｓには、第２励磁コイル１２１と第２検出コイル部１２２３とが設けられる。第２検出コイル部１２２３は、第２ｓｉｎ相検出コイル１２２と第２ｃｏｓ相検出コイル１２３とから構成される。第２受電コイル１２５は、ロータ軸の周方向に沿って電線を巻回したものであり、第２励磁コイル１２１は、第２受電コイル１２５の外周側において、周方向に沿って電線を巻回したものである。
【００７０】
また、第２ロータコイル１２４は、ロータ軸の周方向に沿って所定間隔で形成された複数のティース１２６にそれぞれ電線を巻回したものであり、第２検出コイル部１２２３は、第２ロータコイル１２４の外周側において、周方向に沿って所定間隔で形成された複数のティース１２７にそれぞれ電線を巻回したものである。
【００７１】
また、レゾルバユニット１００には、トーションバー１２ａの捩られる最大角度を規制する機構として、延長スリーブ１５１の外周面に設けたストッパ１６１と、出力シャフト１２outの円筒部１５４の内周面に設けたストッパ１６２とを備えている。ストッパ１６１とストッパ１６２とが当接することによりトーションバー１２ａの捩られる最大角度が機械的に制限されている。本実施形態においては、トーションバー１２ａを捩ることのできる角度範囲は、６[ｄｅｇ]（機械角）未満に設定されている。
【００７２】
次に、レゾルバユニット１００の電気回路について説明する。図４は、レゾルバユニット１００の概略電気回路構成を表す。尚、図中において、第１受電コイル１１５、第２受電コイル１２５については記載を省略している。第１レゾルバ１１０においては、励磁用交流電圧信号がアシストＥＣＵ５０から第１励磁コイル１１１に供給される。これにより、第１受電コイル１１５は、第１励磁コイル１１１との間の電磁誘導により、第１励磁コイル１１１と非接触にて電気的に接続され通電される。第１ロータコイル１１４は、第１受電コイル１１５と電気的に接続されているために、第１受電コイル１１５と同様に交流電流が流れる。従って、第１ロータコイル１１４の外周側に設けられた第１検出コイル部１１２３（第１ｓｉｎ相検出コイル１１２と第１ｃｏｓ相検出コイル１１３）は、第１ロータコイル１１４で発生する磁束により交流電圧信号を出力する。
【００７３】
第１ｓｉｎ相検出コイル１１２と第１ｃｏｓ相検出コイル１１３とは、互いに電気角がπ／２ずれる位置に配置される。そして、第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３で発生する交流電圧信号の振幅値は、第１ロータコイル１１４に対する第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３の回転位置に応じて変化する。つまり、第１ｓｉｎ相検出コイル１１２は、入力シャフト１２inの回転角（電気角）のｓｉｎ値に応じた振幅となる交流電圧信号を出力し、第１ｃｏｓ相検出コイル１１３は、入力シャフト１２inの回転角（電気角）のｃｏｓ値に応じた振幅となる交流電圧信号を出力する。尚、本実施形態における第１レゾルバ１１０および第２レゾルバ１２０は、ロータの機械的な回転角に対して電気角がＮ倍（軸倍角＝Ｎ）となるような多極構造となっている。
【００７４】
第１励磁コイル１１１の一端は、第１励磁ライン２１０を介してアシストＥＣＵ５０の第１励磁信号出力ポート５０pe１に接続されている。また、第１ｓｉｎ相検出コイル１１２の一端は、第１ｓｉｎ相検出ライン２１２を介してアシストＥＣＵ５０の第１ｓｉｎ相信号入力ポート５０ｐs1に接続されている。また、第１ｃｏｓ相検出コイル１１３の一端は、第１ｃｏｓ相検出ライン２１３を介してアシストＥＣＵ５０の第１ｃｏｓ相信号入力ポート５０ｐc1に接続されている。図中において、符号１００pe1は、レゾルバユニット１００の第１励磁信号入力ポートであり、符号１００ｐs1は第１ｓｉｎ相信号出力ポートであり、符号１００ｐc1は第１ｃｏｓ相信号出力ポートである。従って、ワイヤハーネスとなる部分は、第１励磁信号出力ポート５０pe１と第１励磁信号入力ポート１００pe1との間の第１励磁ライン２１０、第１ｓｉｎ相信号出力ポート１００ps1と第１ｓｉｎ相信号入力ポート５０ｐs1との間の第１ｓｉｎ相検出ライン２１２、第１ｃｏｓ相信号出力ポート１００pc1と第１ｃｏｓ相信号入力ポート５０ｐc1との間の第１ｃｏｓ相検出ライン２１３である。
【００７５】
また、第１励磁コイル１１１の他端、第１ｓｉｎ相検出コイル１１２の他端、第１ｃｏｓ相検出コイル１１３の他端は、共通グランドライン２４０を介してアシストＥＣＵ５０のグランドポート５０pgに接続される。図中において、符号１００pgはレゾルバユニット１００のグランドポートである。従って、グランドポート５０pgとグランドポート１００pgとの間の共通グランドライン２４０がワイヤハーネス部分となる。
【００７６】
第２レゾルバ１２０においては、励磁用交流電圧信号がアシストＥＣＵ５０から第２励磁コイル１２１に供給される。これにより、第２受電コイル１２５は、第２励磁コイル１２１との間の電磁誘導により、第２励磁コイル１２１と非接触にて電気的に接続され通電される。第２ロータコイル１２４は、第２受電コイル１２５と電気的に接続されているために、第２受電コイル１２５と同様に交流電流が流れる。従って、第２ロータコイル１２４の外周側に設けられた第２検出コイル部１２２３（第２ｓｉｎ相検出コイル１２２と第２ｃｏｓ相検出コイル１２３）は、第２ロータコイル１２４で発生する磁束により交流電圧信号を出力する。
【００７７】
第２ｓｉｎ相検出コイル１２２と第２ｃｏｓ相検出コイル１２３とは、互いに電気角がπ／２ずれる位置に配置される。そして、第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３で発生する交流電圧信号の振幅値は、第２ロータコイル１２４に対する第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３の回転位置に応じて変化する。つまり、第２ｓｉｎ相検出コイル１２２は、出力シャフト１２outの回転角（電気角）のｓｉｎ値に応じた振幅となる交流電圧信号を出力し、第２ｃｏｓ相検出コイル１２３は、出力シャフト１２outの回転角（電気角）のｃｏｓ値に応じた振幅となる交流電圧信号を出力する。
【００７８】
第２励磁コイル１２１の一端は、第２励磁ライン２２０を介してアシストＥＣＵ５０の第２励磁信号出力ポート５０pe２に接続されている。また、第２ｓｉｎ相検出コイル１２２の一端は、第２ｓｉｎ相検出ライン２２２を介してアシストＥＣＵ５０の第２ｓｉｎ相信号入力ポート５０ｐs2に接続されている。また、第２ｃｏｓ相検出コイル１２３の一端は、第２ｃｏｓ相検出ライン２２３を介してアシストＥＣＵ５０の第２ｃｏｓ相信号入力ポート５０ｐc2に接続されている。図中において、符号１００pe2はレゾルバユニット１００の第２励磁信号入力ポートであり、符号１００ｐs2は第２ｓｉｎ相信号出力ポートであり、符号１００ｐc2は第２ｃｏｓ相信号出力ポートである。従って、ワイヤハーネスとなる部分は、第２励磁信号出力ポート５０pe2と第２励磁信号入力ポート１００pe2との間の第２励磁ライン２２０、第２ｓｉｎ相信号出力ポート１００ps2と第２ｓｉｎ相信号入力ポート５０ｐs2との間の第２ｓｉｎ相検出ライン２２２、第２ｃｏｓ相信号出力ポート１００pc2と第２ｃｏｓ相信号入力ポート５０ｐc2との間の第２ｃｏｓ相検出ライン２２３である。
【００７９】
また、第２励磁コイル１２１の他端、第２ｓｉｎ相検出コイル１２２の他端、第２ｃｏｓ相検出コイル１２３の他端は、共通グランドライン２４０を介してアシストＥＣＵ５０のグランドポート５０pgに接続される。
【００８０】
アシストＥＣＵ５０は、コイル駆動回路５２を備えている。このコイル駆動回路５２は、第１励磁コイル駆動回路５２１と第２励磁コイル駆動回路５２２とから構成されている。第１励磁コイル駆動回路５２１は、一定の周期、振幅の励磁用交流電圧を第１励磁信号出力ポート５０pe1から出力する。以下、第１励磁信号出力ポート５０pe1から出力される励磁用交流電圧を第１励磁信号と呼び、第１励磁信号の電圧値を第１励磁電圧Ｖ１と呼ぶ。第１励磁電圧Ｖ１は、振幅をＥ１とすると、次式にて表される。
Ｖ１＝Ｅ１・ｓｉｎ（ωｔ）
【００８１】
また、第２励磁コイル駆動回路５２２は、第１励磁コイル駆動回路５２１から出力される励磁用交流電圧と同じ周波数、かつ、互いに同位相となるように設定された励磁用交流電圧を第２励磁信号出力ポート５０pe2から出力する。以下、第２励磁信号出力ポート５０pe2から出力される励磁用交流電圧を第２励磁信号と呼び、第２励磁信号の電圧値を第２励磁電圧Ｖ２と呼ぶ。第２励磁電圧Ｖ２は、振幅をＥ２とすると、次式にて表される。
Ｖ２＝Ｅ２・ｓｉｎ（ωｔ）    ・・・（２）
【００８２】
尚、第１励磁電圧Ｖ１および第２励磁電圧Ｖ２の振幅Ｅ１，Ｅ２は、第１レゾルバ１１０，第２レゾルバ１２０の特性に合わせて設定される。また、第１励磁コイル駆動回路５２１と第２励磁コイル駆動回路５２２とを共通にして、一つの励磁コイル駆動回路（例えば、第１励磁コイル駆動回路５２１）から励磁信号をレゾルバユニット１００に供給するようにしてもよい。この場合には、第１励磁ライン２１０と第２励磁ライン２２０とを１本にすることができる。
【００８３】
第１励磁信号により第１レゾルバ１１０の第１励磁コイル１１１が励磁されると、第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３で交流電圧が発生する。また、第２励磁信号により第２レゾルバ１２０の第２励磁コイル１２１が励磁されると、第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３で交流電圧が発生する。
【００８４】
第１ｓｉｎ相検出コイル１１２から出力される交流電圧信号を第１ｓｉｎ相検出信号と呼び、その電圧値を第１ｓｉｎ相検出電圧Ｅs1と呼ぶ。また、第１ｃｏｓ相検出コイル１１３から出力される交流電圧信号を第１ｃｏｓ相検出信号と呼び、その電圧値を第１ｃｏｓ相検出電圧Ｅc1と呼ぶ。第１ｓｉｎ相検出電圧Ｅs1、および、第１ｃｏｓ相検出電圧Ｅc1は次式にて表される。
Ｅs1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１）・ｓｉｎ（ωｔ＋α）    ・・・（３）
Ｅc1＝Ｋ１・Ｅ１・ｃｏｓ（Ｎ・θ１）・ｓｉｎ（ωｔ＋α）    ・・・（４）
【００８５】
また、第２ｓｉｎ相検出コイル１２２から出力される交流電圧信号を第２ｓｉｎ相検出信号と呼び、その電圧値を第２ｓｉｎ相検出電圧Ｅs2と呼ぶ。また、第２ｃｏｓ相検出コイル１２３から出力される交流電圧信号を第２ｃｏｓ相検出信号と呼び、その電圧値を第２ｃｏｓ相検出電圧Ｅc2と呼ぶ。第２ｓｉｎ相検出電圧Ｅs2、および、第２ｃｏｓ相検出電圧Ｅc2は次式にて表される。
Ｅs2＝Ｋ２・Ｅ２・ｓｉｎ（Ｎ・θ２）・ｓｉｎ（ωｔ＋α）    ・・・（５）
Ｅc2＝Ｋ２・Ｅ２・ｃｏｓ（Ｎ・θ２）・ｓｉｎ（ωｔ＋α）    ・・・（６）
【００８６】
ここで、θ１は第１レゾルバ１１０の第１ステータ部１１０ｓに対する第１ロータ部１１０ｒの角度、θ２は第２レゾルバ１２０の第２ステータ部１２０ｓに対する第２ロータ部１２０ｒの角度、Ｋ１は第１レゾルバ１１０の変圧比、Ｋ２は第２レゾルバ１２０の変圧比、Ｎは第１レゾルバ１１０および第２レゾルバ１２０の軸倍角、αは励磁信号に対する位相遅れ量（入出力位相差）、ωは励磁周波数、ｔは時間を表す。
【００８７】
尚、従来のレゾルバユニットは、操舵ハンドル１１が中立となる状態（操舵角がゼロでトーションバー１２ａが捩れていない状態：以下、ハンドル中立状態と呼ぶ））において、角度θ１，θ２がゼロになるように、ロータ部とステータ部との位置関係が設定されて組み付けられているが、本実施形態においては、後述する理由により、ハンドル中立状態となるときに、角度θ１，θ２（機械角）が（４５°＋９０°×Ｋ）／Ｎとなるようにロータ部１１０ｒ，１２０ｒとステータ部１１０ｓ，１２０ｓとの位置関係が設定されて組み付けられている。ここで、Ｋは、任意の整数である。従って、操舵ハンドル１１が中立状態となるときには、各レゾルバ１１０，１２０の電気角は、（４５°＋９０°×Ｋ）となる。（Ｋ＝０，１，２，３）
【００８８】
アシストＥＣＵ５０は、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号を、それぞれ第１ｓｉｎ相検出ライン２１２，第１ｃｏｓ相検出ライン２１３，第２ｓｉｎ相検出ライン２２２，第２ｃｏｓ相検出ライン２２３を介して入力する。アシストＥＣＵ５０は、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号をアンプ５１s1，５１c1，５１s2，５１c2に入力してグランド電位に対する各検出信号の電圧を増幅し、増幅した電圧信号を図示しないＡ／Ｄ変換器によりデジタル値に変換し、このデジタル値をマイコンに入力してトルク計算処理を行う。
【００８９】
アシストＥＣＵ５０におけるトルク演算部３２は、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号を増幅しデジタル信号に変換してマイコンに入力する回路と、コイル駆動回路５２と、マイコンによりトルク計算処理を行う機能部とから構成される。
【００９０】
次に、操舵トルクを計算する方法について説明する。まず、第１レゾルバ１１０，第２レゾルバ１２０のロータの角度θ１，θ２を検出する方法から説明する。どちらも、同様の方法で計算するため、ここでは、第１レゾルバ１１０の第１回転角θ１の検出方法を例にとり説明する。
【００９１】
第１ｓｉｎ相検出信号の振幅は、（３）式から、Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１）で表される。また、第１ｃｏｓ相検出信号の振幅は、（４）式から、Ｋ１・Ｅ１・ｃｏｓ（Ｎ・θ１）で表される。ここで、第１ｓｉｎ相検出信号の振幅をＡs1とする（Ａs1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１））。また、第１ｃｏｓ相検出信号の振幅をＡc1とする（Ａc1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１））。アシストＥＣＵ５０のトルク演算部３２は、第１ｓｉｎ相検出信号、第１ｃｏｓ相検出信号の電圧値を、第１励磁信号の周期に比べて短い周期でサンプリングする。例えば、第１励磁信号の１周期に対して、等時間間隔で４回、それぞれの検出信号の電圧値をサンプリングする。サンプリングした電圧値は、離散値であるため、最小二乗法を用いて、次式（７），（８）により振幅Ａs1，Ａc1を計算することができる。
【数１】
0005482680.tif 000002
ここで、ｆi，tiは、それぞれサンプリングされた値と時間（サンプリング周期）の離散値である。
【００９２】
従って、この２つの式の計算値から次式（９）を計算することができる。
【数２】
0005482680.tif 000003
こうして、第１回転角θ１は、次式（１０）により計算することができる。
【数３】
0005482680.tif 000004
【００９３】
同様にして、第２レゾルバ１２０の第２回転角θ２は、次式（１１）により計算することができる。
【数４】
0005482680.tif 000005
ここで、Ａs2は第２ｓｉｎ相検出信号の振幅（Ａs2＝Ｋ２・Ｅ２・ｓｉｎ（Ｎ・θ２））であり、Ａc2は第２ｃｏｓ相検出信号の振幅（Ａc2＝Ｋ２・Ｅ２・ｃｏｓ（Ｎ・θ２））である。
【００９４】
こうして第１回転角θ１と第２回転角θ２が求められると、次式（１２）により操舵トルクＴｒを計算することができる。
Ｔｒ＝Ｋｂ・（θ１−θ２）    ・・・（１２）
ここで、Ｋｂは、トーションバー１２ａの捩り特性に応じて決まる比例定数（バネ定数）であり、予め記憶部３３に記憶されている。
【００９５】
次に、各レゾルバ１１０，１２０において、ｓｉｎ相あるいはｃｏｓ相のコイルの何れかに異常が発生したときの回転角θ１（θ２）の検出方法について説明する。まず、第１レゾルバ１１０のｓｉｎ相に異常が生じた場合（第１ｓｉｎ相検出信号が正常に検出できない場合）を例にとり説明する。尚、コイルの異常とは、コイル１１２，１１３，１２２，１２３そのものの異常だけでなく、第１ｓｉｎ相検出ライン２１２，第１ｃｏｓ相検出ライン２１３，第２ｓｉｎ相検出ライン２２２，第２ｃｏｓ相検出ライン２２３の断線等、正常にｓｉｎ相検出信号あるいはｃｏｓ相検出信号がアシストＥＣＵ５０に入力されない状態をいう。
【００９６】
上述したように第１回転角θ１は、第１ｓｉｎ相検出信号の振幅Ａs1と第１ｃｏｓ相検出信号の振幅Ａc1から上記式（１０）により計算により求められる。このため、振幅Ａs1が検出できない場合には、上記式（１０）を用いて計算できない。この場合には、異常が検出されていない相のコイル（ここでは、第１ｃｏｓ相検出コイル１１３）の出力する検出信号の振幅から回転角θ１を計算する。
【００９７】
上述したように、第１ｓｉｎ相検出信号の振幅Ａs1は、Ａs1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１）で表され、第１ｃｏｓ相検出信号の振幅Ａc1は、Ａc1＝Ｋ１・Ｅ１・ｃｏｓ（Ｎ・θ１）で表される。従って、次式（１３），（１４）の関係式が得られる。
【数５】
0005482680.tif 000006
【００９８】
ここで、Ｋ１・Ｅ１の値は、レゾルバユニット１００の正常時において予め測定して記憶しておくことができる。Ｋ１・Ｅ１と振幅Ａs1，Ａc1の関係は、図１５（ａ）に示すものとなる。従って、この２つの式から次式（１５）が得られ、次式（１６）に示す第１回転角θ１の計算式が得られる。
【数６】
0005482680.tif 000007
【００９９】
同様にして、第１レゾルバ１１０のｃｏｓ相に異常が生じた場合には、第１ｓｉｎ相検出信号の振幅Ａs1から次式（１７）に示す回転角θ１の計算式が得られる。
【数７】
0005482680.tif 000008
【０１００】
また、第２レゾルバ１２０における片側相のコイル異常時においても同様に考える事ができる。ｓｉｎ相に異常が生じた場合には、第２ｃｏｓ相検出信号の振幅Ａc2から次式（１８）に示す回転角θ２の計算式が得られ、ｃｏｓ相に異常が生じた場合には、第２ｓｉｎ相検出信号の振幅Ａs2から次式（１９）に示す回転角θ２の計算式が得られる。
【数８】
0005482680.tif 000009
尚、Ｋ２・Ｅ２と振幅Ａs2，Ａc2の関係は、図１５（ｂ）に示すものとなる。
【０１０１】
こうした計算式（１６），（１７），（１８），（１９）は、片側相の検出信号の振幅から回転角を求めるものであるため、２通りの解が出てしまい、一義的に回転角を導き出すことができない。そこで本実施形態においては、以下に示す第１条件と第２条件に基づいて、２通りの解からその１つを特定することができる状況が発生することに着目して、そうした状況となったときに片側相の検出信号の振幅から回転角を一義的に求める。
【０１０２】
まず、第１条件、および、第１条件に基づいて決まる片側相の検出信号の振幅から回転角を一義的に算出することのできる状況（以下、第１条件下算出可能状況と呼ぶ）について説明する。
【０１０３】
ステアリングシャフト１２に設けられているトーションバー１２ａは、操舵操作により捩られるが、レゾルバユニット１００に設けたストッパ１６１，１６２により、その捩られる角度には限界があり、例えば、６[ｄｅｇ]（機械角）未満となっている。つまり、第１レゾルバ１１０のロータの角度である第１回転角θ１と、第２レゾルバ１２０のロータの角度である第２回転角θ２との差が常に６[ｄｅｇ]未満となる。これをレゾルバの電気角で表すと、レゾルバの軸倍角Ｎを８（Ｎ＝８）とした場合には、次式（２０）のように、第１レゾルバ１１０の電気角θｅ１（＝Ｎ・θ１）と第２レゾルバ１２０の電気角θｅ２（＝Ｎ・θ２）との差は４８[ｄｅｇ]未満となる。
｜θｅ１−θｅ２｜＜４８°    ・・・（２０）
このように第１回転角θ１と第２回転角θ２とが常に所定角度差未満になるという条件が第１条件である。尚、式中においては、[ｄｅｇ]を[°]で表すことにする。
【０１０４】
ｃｏｓ相の振幅Ａc1のみから電気角θｅ１が一義的に決まるのは、次式（２１），（２２）に示すように、電気角θｅ１が０°〜１８０°までの範囲であること、あるいは、１８０°〜３６０°までの範囲であることが予めわかっている場合である。
０°＜θｅ１＜１８０°    ・・・（２１）
１８０＜θｅ１＜３６０°    ・・・（２２）
【０１０５】
従って、第１条件（式（２０））から、正常側の第２レゾルバ１２０の電気角θｅ２が次式（２３），（２４）の範囲であれば、ｃｏｓ相の振幅Ａc1のみから電気角θｅ１が一義的に決まる。
０°＋４８°＜θｅ２＜１８０°−４８°    ・・・（２３）
１８０＋４８°＜θｅ２＜３６０―４８°    ・・・（２４）
【０１０６】
これを整理すると、次式（２５），（２６）が得られる。
４８°＜θｅ２＜１３２°    ・・・（２５）
２２８°＜θｅ２＜３１２°    ・・・（２６）
従って、第１レゾルバ１１０のｓｉｎ相に異常が生じた場合に、正常側の第２レゾルバ１２０の電気角θｅ２が式（２５），（２６）で表される範囲に入っているという状況が第１条件下算出可能状況となる。
【０１０７】
同様にして、第１レゾルバ１１０のｃｏｓ相に異常が生じて、ｓｉｎ相の振幅Ａs1のみしかわからない場合であっても、以下の状況となる場合には、振幅Ａs1のみから第１回転角θ１を演算することができる。
【０１０８】
ｓｉｎ相の振幅Ａs1のみから電気角θｅ１が一義的に決まるのは、次式（２７），（２８）に示すように、電気角θｅ１が−９０°〜９０°までの範囲であること、あるいは、９０°〜２７０°までの範囲であることが予めわかっている場合である。
―９０°＜θｅ１＜９０°    ・・・（２７）
９０＜θｅ１＜２７０°    ・・・（２８）
【０１０９】
従って、第１条件（式（２０））から、正常側の第２レゾルバ１２０の電気角θｅ２が次式（２９），（３０）の範囲であれば、ｓｉｎ相の振幅Ａs1のみから電気角θｅ１が一義的に決まる。
―９０°＋４８°＜θｅ２＜９０°−４８°    ・・・（２９）
９０＋４８°＜θｅ２＜２７０―４８°    ・・・（３０）
【０１１０】
これを整理すると、次式（３１），（３２）が得られる。
―４２°＜θｅ２＜４２°    ・・・（３１）
１３８°＜θｅ２＜２２２°    ・・・（３２）
尚、電気角を０°〜３６０°のあいだの値で示すと、次式（３３），（３４），（３５）にて表すことができる。
０°＜θｅ２＜４２°    ・・・（３３）
１３８°＜θｅ２＜２２２°    ・・・（３４）
３１８°＜θｅ２＜３６０°    ・・・（３５）
従って、第１レゾルバ１１０のｃｏｓ相に異常が生じた場合に、正常側の第２レゾルバ１２０の電気角θｅ２が式（３３）〜（３５）で表される範囲に入っているという状況も第１条件下算出可能状況となる。
【０１１１】
以下、式（２５），（２６）で表される範囲、および、式（３３）〜（３５）で表される範囲を第１条件下算出可能範囲と呼ぶ。
【０１１２】
同様にして、第２レゾルバ１２０のｓｉｎ相あるいはｃｏｓ相のコイルの何れかに異常が発生した場合についても、正常側の第１レゾルバ１１０の電気角θｅ１に基づいて、電気角θｅ１が予め設定した角度範囲（式（２５）、（２６）、（３３）〜（３５）においてθｅ２をθｅ１に置き換えた範囲）に入る場合には、第１条件下算出可能状況となるため、振幅Ａs2あるいは振幅Ａc2のみから第２回転角θ２を演算することができる。
【０１１３】
図５（ａ）は、ｓｉｎ相に異常が発生したときの第１条件下算出可能範囲（正常側レゾルバの電気角）を表し、図５（ｂ）は、ｃｏｓ相に異常が発生したときの第１条件下算出可能状況（正常側レゾルバの電気角）を表す。図中において、矢印で示した範囲が第１条件下算出可能範囲であり、塗りつぶした範囲が回転角の一義的に決まらない範囲である。この図から分かるように、第１条件から設定される第１条件下算出可能範囲は、全体の半分程度であり、余り広くない。
【０１１４】
そこで、本実施形態においては、さらに第２条件に基づいて、片側相の検出信号の振幅から回転角を一義的に算出することのできる状況（以下、第２条件下算出可能状況と呼ぶ）を設定する。以下、第２条件、および、第２条件下算出可能状況について説明する。
【０１１５】
アシストＥＣＵ５０のトルク演算部３２は、後述する操舵トルク検出ルーチン（図７）を一定の短い周期で繰り返して実行する。そして、この操舵トルク検出ルーチンにおいては、その演算周期で第１回転角θ１と第２回転角θ２とがそれぞれ繰り返し計算される。一方、操舵ハンドル１１を回転操作する速度には限界があるため、第１回転角θ１，第２回転角θ２が一演算周期のあいだに変化する回転角の変化量、つまり、回転角変化量は所定変化量以内となる。以下、この所定変化量である、回転角変化量の想定される最大値を最大変化量と呼ぶ。また、第１回転角θ１と第２回転角θ２とを区別しない場合には、それらの回転角を回転角θと呼び、その回転角θを電気角に換算した角度を電気角θｅと呼ぶ。また、第１レゾルバ１１０と第２レゾルバ１２０とを区別しない場合には、それらを単にレゾルバと呼ぶ。
【０１１６】
最大変化量を電気角で表した値をΔθｅmaxとすると、最大変化量Δθｅmaxは、次式（３６）にて表すことができる。
Δθｅmax＝Ｎ・（３６０／２π）・ωmax・Ｔｃ    ・・・（３６）
ここで、Ｎはレゾルバの軸倍角、ωmaxは操舵ハンドル１１の回転速度（以下、操舵速度と呼ぶ）の想定される最大値、Ｔｃはトルク演算部３２が第１回転角θ１と第２回転角θ２とを計算する演算周期である。例えば、Ｎ＝８、Ｔｃ＝２００[μｓ]、ωmax＝１０[ｒａｄ／ｓ]とすると、最大変化量Δθｅmaxは、約０.９２[ｄｅｇ]となる。
【０１１７】
このように、一演算周期の間に電気角θｅが変化する回転角変化量Δθｅが最大変化量Δθｅmax未満になるという条件が第２条件である。この第２条件を用いると、異常側レゾルバの一演算周期前に計算した電気角θｅ（ｎ−１）が以下に示す範囲に入っている状況においては、次の演算周期における電気角θｅｎ（今回、計算しようとする電気角θｅｎ）を片側相の振幅から一義的に決めることができる。
【０１１８】
ここで、ｓｉｎ相に異常が生じた場合の例について説明する。最大変化量Δθｅmaxを０.９２[ｄｅｇ]とした場合、次式（３７）に示すように、異常側レゾルバの一演算周期前に計算した電気角θｅ(n-1）と、今回計算される電気角θｅｎとの差は０.９２[ｄｅｇ]未満となる。
｜θｅｎ−θｅ（ｎ−１）｜＜０.９２°    ・・・（３７）
【０１１９】
ｃｏｓ相の振幅のみから電気角θｅｎが一義的に決まるのは、電気角θｅｎが０°〜１８０°までの範囲であること、あるいは、１８０°〜３６０°までの範囲であることが予めわかっている場合である。従って、第２条件（式（３７））から、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が、次式（３８），（３９）に示す範囲であれば、ｃｏｓ相の振幅のみから電気角θｅｎが一義的に決まる。
０°＋０.９２°＜θｅ（ｎ−１）＜１８０°−０.９２°    ・・・（３８）
１８０＋０.９２°＜θｅ（ｎ−１）＜３６０―０.９２°    ・・・（３９）
【０１２０】
異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過できる状況にあると、ｃｏｓ相の振幅からは一義的に回転角を決めることができない。これは、ｃｏｓ相の振幅だけでは、異常側レゾルバの電気角が、０°あるいは１８０°を挟んでどちら側にあるのか分からないためである。一方、異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性が無い状況であれば、ｃｏｓ相の振幅のみから電気角θｅｎが一義的に決まる。こうしたことから、上記の式（３８），（３９）が導かれる。
【０１２１】
式（３８），（３９）を整理すると、次式（４０），（４１）が得られる。この式（４０），（４１）が成立する場合に、ｃｏｓ相の振幅のみから電気角θｅｎが一義的に求められる。
０.９２°＜θｅ（ｎ−１）＜１７９.０８°    ・・・（４０）
１８０.９２°＜θｅ（ｎ−１）＜３５９.０８°    ・・・（４１）
従って、レゾルバのｓｉｎ相に異常が生じた場合に、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が式（４０），（４１）で表される範囲に入っているという状況が第２条件下算出可能状況となる。
【０１２２】
同様にして、レゾルバのｃｏｓ相に異常が生じて、ｓｉｎ相の振幅のみしかわからない場合であっても、以下の状況となる場合には、ｓｉｎ相の振幅のみから異常側レゾルバの回転角を演算することができる。
【０１２３】
ｓｉｎ相の振幅のみから電気角θｅｎが一義的に決まるのは、電気角θｅｎが−９０°〜９０°までの範囲であること、あるいは、９０°〜２７０°までの範囲であることが予めわかっている場合である。従って、第２条件（式（３７））から、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が、次式（４２），（４３）に示す範囲であれば、ｓｉｎ相の振幅のみから電気角θｅｎが一義的に決まる。
−９０°＋０.９２°＜θｅ（ｎ−１）＜９０°−０.９２°    ・・・（４２）
９０＋０.９２°＜θｅ（ｎ−１）＜２７０―０.９２°    ・・・（４３）
【０１２４】
異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過できる状況にあると、ｓｉｎ相の振幅からは一義的に回転角を決めることができない。これは、ｓｉｎ相の振幅だけでは、異常側レゾルバの電気角が、９０°あるいは２７０°を挟んでどちら側にあるのか分からないためである。一方、異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性が無い状況であれば、ｓｉｎ相の振幅のみから電気角θｅｎが一義的に決まる。こうしたことから、上記の式（４２），（４３）が導かれる。
【０１２５】
式（４２），（４３）を整理すると、次式（４４），（４５）が得られる。この式（４４），（４５）が成立する場合に、ｓｉｎ相の振幅のみから電気角θｅｎが一義的に求められる。
−８９.０８°＜θｅ（ｎ−１）＜８９.０８°    ・・・（４４）
９０.９２°＜θｅ（ｎ−１）＜２６９.０８°    ・・・（４５）
尚、電気角を０°〜３６０°のあいだの値で示すと、次式（４６），（４７），（４８）にて表すことができる。
０°＜θｅ（ｎ−１）＜８９.０８°    ・・・（４６）
９０.９２°＜θｅ（ｎ−１）＜２６９.０８°    ・・・（４７）
２７０.９２°＜θｅ（ｎ−１）＜３６０°    ・・・（４８）
従って、レゾルバのｃｏｓ相に異常が生じた場合に、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が式（４６）〜（４８）で表される範囲に入っているという状況も第２条件下算出可能状況となる。
【０１２６】
以下、式（４０），（４１）で表される範囲、および、式（４６）〜（４８）で表される範囲を第２条件下算出可能範囲と呼ぶ。
【０１２７】
図６（ａ）は、ｓｉｎ相に異常が発生したときの第２条件下算出可能範囲（θｅ（ｎ−１）の範囲）を表し、図６（ｂ）は、ｃｏｓ相に異常が発生したときの第２条件下算出可能範囲（θｅ（ｎ−１）の範囲）を表す。図中において、矢印で示した範囲が第２条件下算出可能範囲であり、塗りつぶした範囲が回転角の一義的に決まらない範囲である。この図から分かるように、第２条件から設定される第２条件下算出可能範囲は、非常に広い。
【０１２８】
次に、トルク演算部３２の実行する操舵トルク検出処理について説明する。図７は、操舵トルク検出ルーチンを表すフローチャートである。操舵トルク検出ルーチンは、記憶部３３に制御プログラムとして記憶されている。操舵トルク検出ルーチンは、イグニッションキーがオン状態となっている期間において、所定の短い周期で繰り返し実行される。尚、トルク演算部３２は、操舵トルク検出ルーチンの起動とともに、コイル駆動回路５２を作動させて、第１励磁信号出力ポート５０pe1および第２励磁信号出力ポート５０pe2から第１励磁信号および第２励磁信号の出力を開始する。
【０１２９】
トルク演算部３２は、ステップＳ１１において、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号の電圧値である第１ｓｉｎ相検出電圧Ｅs1，第１ｃｏｓ相検出電圧Ｅc1，第２ｓｉｎ相検出電圧Ｅs2，第２ｃｏｓ相検出電圧Ｅc2を読み込む。トルク演算部３２は、操舵トルク検出ルーチンとは別のサンプリングルーチンで、励磁信号の１周期当たりに例えば４回のサンプリング周期で検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2の瞬時値をサンプリングしている。このステップＳ１１では、そのサンプリングルーチンでサンプリングした検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2の読み込みを行う。続いて、ステップＳ１２において、読み込んだ検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2に基づいて、最小二乗法を用いて、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号の振幅Ａs1，Ａc1，Ａs2，Ａc2を計算する。
【０１３０】
続いて、トルク演算部３２は、ステップＳ１３において、検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2に基づいて、コイル異常のチェックを行う。コイル異常は、レゾルバ内のコイル異常だけでなく、第１ｓｉｎ相検出ライン２１２，第１ｃｏｓ相検出ライン２１３，第２ｓｉｎ相検出ライン２２２，第２ｃｏｓ相検出ライン２２３の断線等により生じる。主に、ワイヤハーネス部の断線、コネクタ外れが原因となる。こうしたコイル異常が発生した場合には、検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2が正常な範囲から外れる。例えば、検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2のオフセットが生じたり、交流電圧信号が検出されなくなったりする。ステップＳ１３は、こうした検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2が正常範囲から外れているか否かに基づいて、コイル異常の有無、および、コイル異常が発生しているレゾルバ、および、その異常相を特定する。
【０１３１】
続いて、トルク演算部３２は、ステップＳ１４において、コイル異常チェック結果に基づいて、コイル異常が発生しているか否かを判断し、コイル異常が発生していない場合には（Ｓ１４：Ｎｏ）、ステップＳ１５において、第１レゾルバ１１０の第１回転角θ１と第２レゾルバ１２０の第２回転角θ２を上記式（１０）、（１１）を用いて計算する。
【０１３２】
続いて、トルク演算部３２は、ステップＳ１６において、上記式（１２）を用いて、操舵トルクＴｒを計算し、次に、ステップＳ１７において、計算した操舵トルクＴｒをアシスト演算部３１に出力する。アシスト演算部３１は、この操舵トルクＴｒを使って目標アシストトルクを計算し、この目標アシストトルクに対応した目標電流が電動モータ２１に流れるようにモータ駆動回路４０にＰＷＭ制御信号を出力する。これにより、電動モータ２１から適正な操舵アシストトルクが発生する。
【０１３３】
トルク演算部３２は、ステップＳ１７の処理を行うと、操舵トルク検出ルーチンを一旦終了する。そして、所定の短い周期にて操舵トルク検出ルーチンを繰り返す。こうした処理が繰り返されて、ステップＳ１３において、コイル異常が検出されると、ステップＳ１４の判断は「Ｙｅｓ」となる。この場合、トルク演算部３２は、その処理をステップＳ１８に進めて、車両の警告ランプ６５を点灯させる。これにより、ドライバーに対して異常が生じていることを認識させることができる。尚、ドライバーに異常報知する手段は、警告ランプ６５に限らず、異常メッセージをスピーカや表示画面等を使って報知するようにしてもよい。
【０１３４】
続いて、トルク演算部３２は、ステップＳ１９において、コイル異常が１つ（１相）であるか否かを判断する。コイル異常が複数である場合には、操舵トルクＴｒを検出することができないため、ステップＳ２０において、アシスト演算部３１に対して、トルク検出不能信号を出力する。これにより、アシスト演算部３１は、操舵アシスト制御を停止する。
【０１３５】
一方、コイル異常が１つである場合（Ｓ１９：Ｙｅｓ）には、ステップＳ２１において、コイル異常が発生しているのは第１レゾルバ１１０であるか否かを判断する。第１レゾルバ１１０である場合には、ステップＳ２２において、第２レゾルバ１２０の第２回転角θ２を上記式（１１）を用いて計算する。
【０１３６】
続いて、トルク演算部３２は、ステップＳ３０において、第１レゾルバ１１０の第１回転角θ１を演算する。この処理については、図９のフローチャートを使って後述する。ステップＳ３０において、第１レゾルバ１１０の第１回転角θ１が算出されると、この第１回転角θ１とステップＳ２２で算出した第２回転角θ２とに基づいて操舵トルクＴｒを計算し（Ｓ１６）、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１３７】
また、ステップＳ２１において、コイル異常が発生しているのは第１レゾルバ１１０ではない、つまり、第２レゾルバ１２０でコイル異常が発生していると判断した場合には、ステップＳ２３において、第１レゾルバ１１０の第１回転角θ１を上記式（１０）を用いて計算する。
【０１３８】
続いて、トルク演算部３２は、ステップＳ４０において、第２レゾルバ１１０の第２回転角θ２を演算する。この処理については、図８のフローチャートを使って後述する。ステップＳ４０において、第２レゾルバ１２０の第２回転角θ２が算出されると、この第２回転角θ２とステップＳ２３で算出した第１回転角θ１とに基づいて操舵トルクＴｒを計算し（Ｓ１６）、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１３９】
尚、トルク演算部３２は、ステップＳ１５，Ｓ３０，Ｓ４０で第１回転角θ１および第２回転角θ２を計算するたびに、その回転角θ１，θ２に対応した電気角θｅ１，θｅ２を、一演算周期前の電気角θｅ１（ｎ−１），θｅ２（ｎ−１）として記憶部３３に記憶更新する。この記憶部３３に記憶された電気角θｅ１（ｎ−１），θｅ２（ｎ−１）は、後述する第２条件下算出可能状況の判定に利用される。
【０１４０】
次に、ステップＳ４０の第２レゾルバ１２０の第２回転角θ２の計算処理について説明する。図８は、上記操舵トルク検出ルーチンにおいてステップＳ４０として組み込まれた第２回転角計算ルーチン（サブルーチン）を表すフローチャートである。
【０１４１】
第２回転角計算ルーチンが起動すると、トルク演算部３２は、まず、ステップＳ４１において、第２レゾルバ１２０のコイル異常はｓｉｎ相で発生しているのか否かを判断する。コイル異常がｓｉｎ相で発生している場合には、ステップＳ４２において、アシスト演算部３１に対して、ｓｉｎ相フェイル信号Ｆailsを出力する。一方、コイル異常がｃｏｓ相で発生している場合には、ステップＳ４７において、アシスト演算部３１に対して、ｃｏｓ相フェイル信号Ｆailcを出力する。
【０１４２】
まず、コイル異常がｓｉｎ相で発生している場合の処理について説明する。トルク演算部３２は、ステップＳ４２において、ｓｉｎ相フェイル信号Ｆailsを出力すると、続いて、ステップＳ４３において、先のステップＳ２３で算出した第１レゾルバ１１０の第１回転角θ１に対応する電気角θｅ１が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図１０（ａ）に矢印で示す範囲である。
【０１４３】
このステップＳ４３においては、電気角θｅ１が次式（４９），（５０）にて表される範囲に入っているか否かについて判断される。
θｅｓ１＜θｅ１＜θｅｓ２    ・・・（４９）
θｅｓ３＜θｅ１＜θｅｓ４    ・・・（５０）
この第１条件下算出可能範囲は、上述したように、第１回転角θ１と第２回転角θ２とが所定角度差未満になるという第１条件から設定されるもので、例えば、上述した例を使えば、θｅｓ１＝４８°，θｅｓ２＝１３２°，θｅｓ３＝２２８°，θｅｓ４＝３１２°である。この所定角度差は、電気角で示すと（θｅｓ１−０°）[ｄｅｇ]で表される角度である。
【０１４４】
トルク演算部３２は、電気角θｅ１が第１条件下算出可能範囲に入っていると判定した場合（Ｓ４３：Ｙｅｓ）には、ステップＳ４４において、上記式（１８）を用いて第２回転角θ２を計算する。この場合、第２回転角θ２は、２通りの解が存在するが、上記の第１条件を満たす解を選択する。つまり、第１回転角θ１との差が所定角度差未満（上記の例では６[ｄｅｇ]）となる第２回転角θ２を選択する。
【０１４５】
トルク演算部３２は、こうして第２レゾルバ１２０の第２回転角θ２を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１４６】
トルク演算部３２は、ステップＳ４３において、「Ｎｏ」と判定した場合、つまり、電気角θｅ１が第１条件下算出可能範囲に入っていないと判定した場合には、その処理をステップＳ４５に進める。このステップＳ４５においては、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図１１（ａ）に矢印で示す範囲である。
【０１４７】
このステップＳ４５においては、電気角θｅ２（ｎ−１）が次式（５１），（５２）にて表される範囲に入っているか否かについて判断される。
θｅｓａ＜θｅ２（ｎ−１）＜θｅｓｂ    ・・・（５１）
θｅｓｃ＜θｅ２（ｎ−１）＜θｅｓｄ    ・・・（５２）
この第２条件下算出可能範囲は、上述したように、一演算周期の間に電気角θｅが変化できる回転角変化量Δθｅが最大変化量Δθｅmax未満になるという第２条件から設定されるもので、例えば、上述した例を使えば、θｅｓａ＝０.９２°，θｅｓｂ＝１７９.０８°，θｅｓｃ＝１８０.９２°，θｅｓｄ＝３５９.０８°である。この最大変化量Δθｅmaxは、電気角で示すと（θｅｓａ−０°）[ｄｅｇ]で表される角度である。
【０１４８】
トルク演算部３２は、電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ４５：Ｙｅｓ）には、ステップＳ４４において、上記式（１８）を用いて第２回転角θ２を計算する。この場合、第２回転角θ２においても、２通りの解が存在するが、上記の第２条件を満たす解を選択する。つまり、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）との差が最大変化量Δθｅmax未満となる第２回転角θ２を選択する。
【０１４９】
トルク演算部３２は、こうして第２レゾルバ１２０の第２回転角θ２を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１５０】
一方、ステップＳ４５において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、トルク演算部３２は、その処理をステップＳ４６に進める。このステップＳ４６においては、一演算周期前の操舵トルク検出ルーチンで計算した操舵トルクＴｒ(n-1)を、今回の操舵トルクＴｒに設定し、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１５１】
また、ステップＳ４１において、「Ｎｏ」、つまり、第２レゾルバ１２０のコイル異常がｃｏｓ相で発生していると判定した場合には、ステップＳ４７において、ｃｏｓ相フェイル信号Ｆailcを出力した後、ステップＳ４８において、先のステップＳ２３で算出した第１レゾルバ１１０の第１回転角θ１に対応する電気角θｅ１が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図１０（ｂ）に矢印で示す範囲である。
【０１５２】
このステップＳ４８においては、電気角θｅ１が次式（５３），（５４），（５５）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ１＜θｅｃ１    ・・・（５３）
θｅｃ２＜θｅ１＜θｅｃ３    ・・・（５４）
θｅｃ４＜θｅ１＜３６０°    ・・・（５５）
この第１条件下算出可能範囲は、上述したように、第１回転角θ１と第２回転角θ２とが所定角度差未満になるという第１条件から設定されるもので、例えば、上述した例を使えば、θｅｃ１＝４２°，θｅｃ２＝１３８°，θｅｓ４＝２２２°，θｅｃ４＝３１８°である。この所定角度差は、電気角で示すと、例えば、（９０°−θｅｃ１）[ｄｅｇ]で表される角度である。
【０１５３】
トルク演算部３２は、電気角θｅ１が第１条件下算出可能範囲に入っていると判定した場合（Ｓ４８：Ｙｅｓ）には、ステップＳ４９において、上記式（１９）を用いて第２回転角θ２を計算する。この場合、第２回転角θ２は、２通りの解が存在するが、上記の第１条件を満たす解を選択する。つまり、第１回転角θ１との差が所定角度差未満（上記の例では６[ｄｅｇ]）となる第２回転角θ２を選択する。
【０１５４】
トルク演算部３２は、こうして第２レゾルバ１２０の第２回転角θ２を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１５５】
トルク演算部３２は、ステップＳ４８において、「Ｎｏ」と判定した場合、つまり、電気角θｅ１が第１条件下算出可能範囲に入っていないと判定した場合には、その処理をステップＳ５０に進める。このステップＳ５０においては、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図１１（ｂ）に矢印で示す範囲である。
【０１５６】
このステップＳ５０においては、電気角θｅ２（ｎ−１）が次式（５６），（５７），（５８）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ２（ｎ−１）＜θｅｃａ    ・・・（５６）
θｅｃｂ＜θｅ２（ｎ−１）＜θｅｃｃ    ・・・（５７）
θｅｃｄ＜θｅ２（ｎ−１）＜３６０°    ・・・（５８）
この第２条件下算出可能範囲は、上述したように、一演算周期の間に電気角θｅが変化できる回転角変化量Δθｅが最大変化量Δθｅmax未満になるという第２条件から設定されるもので、例えば、上述した例を使えば、θｅｃａ＝８９.０８°，θｅｃｂ＝９０.９２°，θｅｃｃ＝２６９.０８°，θｅｃｄ＝２７０.９２°である。この最大変化量Δθｅmaxは、電気角で示すと、例えば、（９０°−θｅｃａ）[ｄｅｇ]で表される角度である。
【０１５７】
トルク演算部３２は、電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ５０：Ｙｅｓ）には、ステップＳ４９において、上記式（１９）を用いて第２回転角θ２を計算する。この場合、第２回転角θ２は、２通りの解が存在するが、上記の第２条件を満たす解を選択する。つまり、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）との差が最大変化量Δθｅmax未満となる第２回転角θ２を選択する。
【０１５８】
トルク演算部３２は、こうして第２レゾルバ１２０の第２回転角θ２を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１５９】
一方、ステップＳ５０において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、トルク演算部３２は、その処理を上述のステップＳ４６に進める。
【０１６０】
次に、ステップＳ３０の第１レゾルバ１１０の第１回転角θ１の計算処理について説明する。図９は、上記操舵トルク検出ルーチンにおいてステップＳ３０として組み込まれた第１回転角計算ルーチン（サブルーチン）を表すフローチャートである。尚、第１回転角計算ルーチンは、上述した第２回転角計算ルーチン同様に考えればよいが、上述したステップＳ４２，Ｓ４７に相当する処理は行われない。
【０１６１】
第１回転角計算ルーチンが起動すると、トルク演算部３２は、まず、ステップＳ３１において、第１レゾルバ１１０のコイル異常はｓｉｎ相で発生しているのか否かを判断する。コイル異常がｓｉｎ相で発生している場合には、ステップＳ３２において、先のステップＳ２２で算出した第２レゾルバ１２０の第２回転角θ２に対応する電気角θｅ２が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図１０（ａ）に矢印で示す範囲である。
【０１６２】
このステップＳ３２においては、電気角θｅ２が次式（５９），（６０）にて表される範囲に入っているか否かについて判断される。
θｅｓ１＜θｅ２＜θｅｓ２    ・・・（５９）
θｅｓ３＜θｅ２＜θｅｓ４    ・・・（６０）
【０１６３】
トルク演算部３２は、電気角θｅ２が第１条件下算出可能範囲に入っていると判定した場合（Ｓ３２：Ｙｅｓ）には、ステップＳ３３において、上記式（１６）を用いて第１回転角θ１を計算する。この場合、第１回転角θ１は、２通りの解が存在するが、上記の第１条件を満たす解を選択する。
【０１６４】
トルク演算部３２は、電気角θｅ２が第１条件下算出可能範囲に入っていないと判定した場合には（Ｓ３２：Ｎｏ）、ステップＳ３４において、一演算周期前に算出した第１回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図１１（ａ）に矢印で示す範囲である。
【０１６５】
このステップＳ３４においては、電気角θｅ１（ｎ−１）が次式（６１），（６２）にて表される範囲に入っているか否かについて判断される。
θｅｓａ＜θｅ１（ｎ−１）＜θｅｓｂ    ・・・（６１）
θｅｓｃ＜θｅ１（ｎ−１）＜θｅｓｄ    ・・・（６２）
【０１６６】
トルク演算部３２は、電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ３４：Ｙｅｓ）には、ステップＳ３３において、上記式（１６）を用いて第１回転角θ１を計算する。この場合、一演算周期前に算出した第１回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）との差が最大変化量Δθｅmax未満となる第１回転角θ１を選択する。
【０１６７】
トルク演算部３２は、こうして第１レゾルバ１１０の第１回転角θ１を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１６８】
一方、ステップＳ３４において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、ステップＳ３５において、一演算周期前の操舵トルク検出ルーチンで計算した操舵トルクＴｒ(n-1)を、今回の操舵トルクＴｒに設定し、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１６９】
また、ステップＳ３１において、「Ｎｏ」、つまり、第１レゾルバ１１０のコイル異常がｃｏｓ相で発生していると判定した場合には、ステップＳ３６において、先のステップＳ２２で算出した第２レゾルバ１２０の第２回転角θ２に対応する電気角θｅ２が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図１０（ｂ）に矢印で示す範囲である。
【０１７０】
このステップＳ３６においては、電気角θｅ１が次式（６３），（６４），（６５）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ２＜θｅｃ１    ・・・（６３）
θｅｃ２＜θｅ２＜θｅｃ３    ・・・（６４）
θｅｃ４＜θｅ２＜３６０°    ・・・（６５）
【０１７１】
トルク演算部３２は、電気角θｅ２が第１条件下算出可能範囲に入っていると判定した場合（Ｓ３６：Ｙｅｓ）には、ステップＳ３７において、上記式（１７）を用いて第１回転角θ１を計算する。この場合、第１回転角θ１との差が所定角度差未満となる第１回転角θ１を選択する。
【０１７２】
トルク演算部３２は、こうして第１レゾルバ１１０の第１回転角θ１を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１７３】
トルク演算部３２は、ステップＳ３６において、「Ｎｏ」と判定した場合、つまり、電気角θｅ２が第１条件下算出可能範囲に入っていないと判定した場合には、ステップＳ３８において、一演算周期前に算出した第１回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図１１（ｂ）に矢印で示す範囲である。
【０１７４】
このステップＳ３８においては、電気角θｅ１（ｎ−１）が次式（６６），（６７），（６８）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ１（ｎ−１）＜θｅｃａ    ・・・（６６）
θｅｃｂ＜θｅ１（ｎ−１）＜θｅｃｃ    ・・・（６７）
θｅｃｄ＜θｅ１（ｎ−１）＜３６０°    ・・・（６８）
【０１７５】
トルク演算部３２は、電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ３８：Ｙｅｓ）には、ステップＳ３７において、上記式（１７）を用いて第１回転角θ１を計算する。この場合、第１回転角θ１は、２通りの解が存在するが、一演算周期前に算出した第２回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）との差が最大変化量Δθｅmax未満となる第１回転角θ１を選択する。
【０１７６】
トルク演算部３２は、こうして第１レゾルバ１１０の第１回転角θ１を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１７７】
一方、ステップＳ３８において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、トルク演算部３２は、その処理を上述のステップＳ３５に進める。
【０１７８】
このように、トルク検出ルーチンにおいては、第１条件（捩れ角度上限）から導き出した第１条件下算出可能状況だけでなく、第２条件（回転角変化量上限）から導き出した第２条件下算出可能状況となる場合にも、正常側相の検出信号の振幅に基づいて回転角を算出する。従って、片側相にコイル異常が発生した場合でも、正常側相の検出信号の振幅から一義的に回転角を算出できる範囲が非常に広くなり、操舵トルクを検出できる期間が長くなる。
【０１７９】
ところで、若干ではあるが、回転角を算出できない範囲が存在する。つまり、ｓｉｎ相異常であれば図１１（ａ）の塗りつぶした範囲に入ってしまう場合、ｃｏｓ相異常であれば図１１（ｂ）の塗りつぶした範囲に入ってしまう場合には、回転角θ１，θ２を算出することができない。この塗りつぶした範囲が本発明の回転角不確定領域に相当する。
【０１８０】
そこで、本実施形態においては、第２レゾルバ１２０の電気角θｅ２が第２条件下算出不能範囲（図１１の塗りつぶした範囲：回転角不確定領域）に留まらないように電動モータ２１を駆動することにより、第２レゾルバ１２０に異常が発生した場合での回転角を検出できなくなる状況を低減する。そのために、アシスト演算部３１は、かさ上げ電流設定部３１０を備え、トルク演算部３２からｓｉｎ相フェイル信号Ｆailsあるいはｃｏｓ相フェイル信号Ｆailcが出力されている状況において、第２レゾルバ１２０の電気角θｅ２が第２条件下算出不能範囲に入るときに電動モータ２１のｑ軸指令電流Ｉｑ＊を増加させる。
【０１８１】
かさ上げ電流設定部３１０は、その機能に着目すると、図２に示すように、かさ上げ基本電流設定部３１１と、モータ回転速度演算部３１２と、ゲイン設定部３１３と、かさ上げ目標電流演算部３１４と、ｑ軸指令電流補正部３１５とを備えている。これらの機能部は、アシストＥＣＵ５０のマイクロコンピュータのプログラム制御により実現されるものである。
【０１８２】
かさ上げ基本電流設定部３１１は、ｓｉｎ相異常時かさ上げ電流マップあるいはｃｏｓ相異常時かさ上げ電流マップを参照して、かさ上げ基本電流Ｉｑupｏを設定する。ｓｉｎ相異常時かさ上げ電流マップとｃｏｓ相異常時かさ上げ電流マップは、予め記憶部３３に記憶されている。ｓｉｎ相異常時かさ上げ電流マップは、図１３（ａ）に示すように、第２レゾルバ１２０のｓｉｎ相異常が発生した場合における、電動モータ２１の電気角θｍｅに対応付けてｑ軸指令電流Ｉｑ＊を所定量増加させるためのかさ上げ基本電流Ｉｑupｏを設定したものである。
【０１８３】
このｓｉｎ相異常時かさ上げ電流マップでは、第２レゾルバ１２０の電気角θｅ２が図１１（ａ）に塗りつぶして示した第２条件下算出不能範囲（θｅｓｄ〜θｅｓａ、θｅｓｂ〜θｅｓｃ）に対応した電動モータ２１の電気角θｍｅの範囲（θｍｅｓｄ〜θｍｅｓａ、θｍｅｓｂ〜θｍｅｓｃ）において、かさ上げ基本電流Ｉｑupｏが予め設定されたＩｑｏに設定される。また、第２レゾルバ１２０の電気角θｅ２が図１１（ａ）に矢印で示した第２条件下算出可能範囲（θｅｓａ〜θｅｓｂ、θｅｓｃ〜θｅｓｄ）に対応した電動モータ２１の電気角θｍｅの範囲（０〜θｍｅｓｄ、θｍｅｓａ〜θｍｅｓｂ、θｍｅｓｃ〜・・・）において、かさ上げ基本電流Ｉｑupｏがゼロ（Ｉｑupｏ＝０）に設定される。
【０１８４】
同様に、ｃｏｓ相異常時かさ上げ電流マップは、図１３（ｂ）に示すように、第２レゾルバ１２０のｃｏｓ相異常が発生した場合における、電動モータ２１の電気角θｍｅに対応付けてｑ軸指令電流Ｉｑ＊を所定量増加させるためのかさ上げ基本電流Ｉｑupｏを設定したものである。このｃｏｓ相異常時かさ上げ電流マップでは、第２レゾルバ１２０の電気角θｅ２が図１１（ｂ）に塗りつぶして示した第２条件下算出不能範囲（θｅｃａ〜θｅｃｂ、θｅｃｃ〜θｅｃｄ）に対応した電動モータ２１の電気角θｍｅの範囲（θｍｅｃａ〜θｍｅｃｂ、θｍｅｃｃ〜θｍｅｃｄ）において、かさ上げ基本電流Ｉｑupｏが予め設定されたＩｑｏに設定される。また、第２レゾルバ１２０の電気角θｅ２が図１１（ｂ）に矢印で示した第２条件下算出可能範囲（θｅｃｄ〜θｅｃａ、θｅｃｂ〜θｅｃｃ）に対応した電動モータ２１の電気角θｍｅの範囲（０〜θｍｅｃａ、θｍｅｃｂ〜θｍｅｃｃ、θｍｅｃｄ〜・・・）において、かさ上げ基本電流Ｉｑupｏはゼロ（Ｉｑupｏ＝０）に設定される。
【０１８５】
尚、かさ上げ基本電流ＩｑupｏがＩｑｏに設定される電動モータ２１の電気角θｍｅの範囲が、本発明における不確定モータ電気角領域に相当する。従って、ｓｉｎ相異常時かさ上げ電流マップとｃｏｓ相異常時かさ上げ電流マップを記憶する記憶部３３が、本発明の不確定モータ電気角領域記憶手段に相当する。
【０１８６】
第２レゾルバ１２０と電動モータ２１とは、出力シャフト１２out、ピニオンギヤ１３、ラックバー１４、ボールねじ機構２２を介して捩れ不能に機械的に連結されているため、第２レゾルバ１２０の電気角θｅと電動モータ２１の電気角θｍｅとは一対一に対応する。つまり、第２レゾルバ１２０の電気角θｅから電動モータ２１の電気角θｍｅを一義的に導くことができる。従って、第２レゾルバ１２０における第２条件下算出不能範囲を、電動モータ２１の電気角θｍｅの範囲（不確定モータ電気角領域）に対応付けて記憶設定しておくことができる。
【０１８７】
この例では、一つの第２条件下算出不能範囲の大きさは、１.８４ｄｅｇ（０．９２ｄｅｇ×２）である。従って、例えば、モータ減速比を１８.５、電動モータ２１の回転角センサ６１（レゾルバ）の軸倍角を７（＝電動モータ２１の極対数）として、一つの第２条件下算出不能範囲の大きさをモータ電気角θｍｅで表すと、約３０ｄｅｇ（１.８４÷８×１８.５×７）となる。尚、第２レゾルバ１２０の回転範囲は、モータ電気角θｍｅにおける３６０°の範囲を超えるため、ｓｉｎ相異常時かさ上げ電流マップとｃｏｓ相異常時かさ上げ電流マップは、モータ電気角θｍｅの基準位置からの積算値を使って表される。そして、かさ上げ基本電流Ｉｑupｏの設定にあたっては、基準位置からのモータ電気角θｍｅの積算値を演算し、この積算値に対応するかさ上げ基本電流Ｉｑupｏを使用する。
【０１８８】
かさ上げ基本電流設定部３１１は、トルク演算部３２から出力されるフェイル信号、および、電気角変換部３０７から出力されるモータ電気角θｍｅを入力する。そして、フェイル信号がｓｉｎ相フェイル信号Ｆailsである場合にはｓｉｎ相異常時かさ上げ電流マップを選択し、フェイル信号がｃｏｓ相フェイル信号Ｆailcである場合にはｃｏｓ相異常時かさ上げ電流マップを選択し、選択したかさ上げ電流マップとモータ電気角θｍｅとに基づいて、かさ上げ基本電流Ｉｑupを設定する。
【０１８９】
モータ回転速度演算部３１２は、電気角変換部３０７から出力されるモータ電気角θｍｅを入力し、モータ電気角θｍｅを時間で微分することによりモータ回転速度ωｍを算出する。モータ回転速度演算部３１２は、算出したモータ回転速度ωｍをゲイン設定部３１３に出力する。
【０１９０】
ゲイン設定部３１３は、図１４に示すゲイン設定マップを参照して、モータ回転速度演算部３１２の出力するモータ回転速度ωｍの大きさ｜ωｍ｜からゲインＫｉを求める。ゲイン設定マップは、記憶部３３に記憶されている。このゲイン設定マップでは、モータ回転速度｜ωｍ｜がωｍｏよりも小さくなる範囲においては、一定値となるゲインＫｉを設定し（例えばＫｉ＝１）、モータ回転速度｜ωｍ｜がωｍｏよりも大きくなる範囲においては、モータ回転速度｜ωｍ｜が大きくなるにしたがって小さくなるゲインＫｉを設定する。尚、ゲイン設定マップは、モータ回転速度｜ωｍ｜が大きくなるにしたがって、段階的に小さくなるゲインＫｉを設定するようにしてもよい。
【０１９１】
かさ上げ目標電流演算部３１４は、かさ上げ基本電流設定部３１１により設定されたかさ上げ基本電流Ｉｑupｏと、ゲイン設定部３１３により設定されたゲインＫｉとを入力し、かさ上げ基本電流ＩｑupｏにゲインＫｉを乗算する。そして、その乗算結果をかさ上げ目標電流Ｉｑup＊（＝Ｋｉ・Ｉｑupｏ）として、ｑ軸指令電流補正部３１５に出力する。
【０１９２】
ｑ軸指令電流補正部３１５は、アシスト電流指令部３０２から出力されたｑ軸指令電流Ｉｑ＊と、かさ上げ目標電流演算部３１４から出力されたかさ上げ目標電流Ｉｑup＊とを入力し、ｑ軸指令電流Ｉｑ＊にかさ上げ目標電流Ｉｑup＊を加算する。そして、その加算結果（Ｉｑ＊＋Ｉｑup＊）を最終的なｑ軸指令電流Ｉｑ＊としてフィードバック制御部３０３に出力する。つまり、ｑ軸指令電流補正部３１５は、ｑ軸指令電流Ｉｑ＊をかさ上げ目標電流Ｉｑup＊だけ増加補正する。尚、かさ上げ目標電流Ｉｑup＊の方向は、ｑ軸指令電流Ｉｑ＊と同じ方向、つまり、目標アシストトルクＴ＊と同じ方向のトルクを発生させる方向に設定される。
【０１９３】
このかさ上げ電流設定部３１０の全体的な処理について、フローチャートを使って説明する。図１２は、かさ上げ電流設定部３１０の実行するかさ上げ電流演算ルーチンを表す。このかさ上げ電流演算ルーチンは、イグニッションキーがオン状態となっている期間において、所定の短い周期で繰り返し実行される。
【０１９４】
かさ上げ電流演算ルーチンが起動すると、かさ上げ電流設定部３１０は、まず、ステップＳ１０１において、トルク演算部３２から出力されるフェイル信号が入力されたか否かを判断する。このフェイル信号は、上述した第２回転角計算ルーチンのステップＳ４２あるいはステップＳ４７において出力される信号である。フェイル信号が入力されていない場合には、ステップＳ１０２において、アシスト電流指令部３０２から出力されたｑ軸指令電流Ｉｑ＊を補正せずにそのままフィードバック制御部３０３に出力して、本演算ルーチンを一旦終了する。
【０１９５】
かさ上げ電流設定部３１０は、こうした処理を繰り返し、ステップＳ１０１においてフェイル信号を入力した場合には、ステップＳ１０３において、そのフェイル信号がｓｉｎ相フェイル信号Ｆailsであるか否かを判断する。フェイル信号がｓｉｎ相フェイル信号Ｆailsである場合には（Ｓ１０３：Ｙｅｓ）、ステップＳ１０４において、ｓｉｎ相異常時かさ上げ電流マップを選択し、フェイル信号がｃｏｓ相フェイル信号Ｆailcである場合には（Ｓ１０３：Ｎｏ）、ステップＳ１０５において、ｃｏｓ相異常時かさ上げ電流マップを選択する。
【０１９６】
続いて、ステップＳ１０６において、電気角変換部３０７の出力するモータ電気角θｍｅを読み込み、次に、ステップＳ１０７において、かさ上げ電流マップを参照して、モータ電気角θｍｅに対応するかさ上げ基本電流Ｉｑupｏを設定する。この場合、かさ上げ基本電流Ｉｑupｏは、ｓｉｎ相異常であれば、第２レゾルバ１２０の電気角θｅ２の図１１（ａ）に塗りつぶした第２条件下算出不能範囲に対応するモータ電気角θｍｅの範囲（不確定モータ電気角領域）において設定値Ｉｑｏ（＞０）に設定され、それ以外の範囲においてゼロに設定される。また、ｃｏｓ相異常であれば、第２レゾルバ１２０の電気角θｅ２の図１１（ｂ）に塗りつぶした第２条件下算出不能範囲に対応するモータ電気角θｍｅの範囲（不確定モータ電気角領域）において設定値Ｉｑｏに設定され、それ以外の範囲においてゼロに設定される。
【０１９７】
続いて、かさ上げ電流設定部３１０は、ステップＳ１０８において、先のステップＳ１０６で読み込んだモータ電気角θｍｅを時間で微分することによりモータ回転速度ωｍを演算する。続いて、ステップＳ１０９において、ゲイン設定マップを参照して、モータ回転速度｜ωｍ｜に対応するゲインＫｉを設定する。続いて、ステップＳ１１０において、かさ上げ基本電流ＩｑupｏにゲインＫｉを乗算することにより、かさ上げ目標電流Ｉｑup＊（＝Ｋｉ・Ｉｑupｏ）を演算する。
【０１９８】
続いて、かさ上げ電流設定部３１０は、ステップＳ１１１において、アシスト電流指令部３０２から出力されたｑ軸指令電流Ｉｑ＊にかさ上げ目標電流Ｉｑup＊を加算した値を最終的なｑ軸指令電流Ｉｑ＊としてフィードバック制御部３０３に出力して本演算ルーチンを一旦終了する。
【０１９９】
以上説明したかさ上げ電流設定部３１０によれば、第２レゾルバ１２０の片側相の異常が発生した状況において、モータ電気角θｍｅが、第２レゾルバ１２０の回転角を算出できない不確定モータ電気角領域に入る場合には、ｑ軸指令電流Ｉｑ＊が増加補正される。これにより、電動モータ２１が回されて、モータ電気角θｍｅが、その領域に留まらないようになり、第２回転角θ２を検出できなくなる状況が低減される。従って、操舵トルクを検出できなくなる状況が低減され、適正な操舵アシストを継続できる期間を長くすることができる。
【０２００】
このように、モータ電気角θｍｅが不確定モータ電気角領域に留まらないように、電動モータ２１を駆動制御した場合には、それによるトルクリップル（トルク変動）が操舵ハンドル１１を介して運転者に伝達され、操舵フィーリングが低下する。そこで、本実施形態においては、ハンドル中立状態となるときにトルクリップルが生じないように、第１レゾルバ１１０の第１ロータ部１１０ｒと第１ステータ部１１０ｓとの組み付け相対角、および、第２レゾルバ１２０の第２ロータ部１２０ｒと第２ステータ部１２０ｓとの組み付け相対角が設定されている。つまり、運転中においてはハンドル中立状態となる頻度が高いため、ハンドル中立状態となるときに、第２レゾルバ１２０の電気角θｅが回転角不確定領域に入らないようにすることで、トルクリップルの生じる頻度を低減する。
【０２０１】
尚、かさ上げ電流が設定されるのは、第２レゾルバの片側相の異常が発生した場合であるため、上記トルクリップルの低減という課題に対しては、第２レゾルバ１２０のみを上記のように組み付ければよいが、本実施形態においては、第１レゾルバ１１０も第２レゾルバと同位相にて組み付けられる。これは、ハンドル中立状態となるときに、第１レゾルバ１１０の電気角θｅが回転角不確定領域に入ってしまうと、推定により操舵トルクが設定される（Ｓ３５）ため、そうした推定値を使用する頻度を低減するためである。
【０２０２】
図１６は、レゾルバの電気角θｅに対するｓｉｎ相検出信号（上段）とｃｏｓ相検出信号の電圧波形（下段）を表す。ｓｉｎ相検出信号の振幅がゼロとなり、ｃｏｓ相検出信号の振幅が最大となるロータの回転位置を基準位置（図１６の縦軸の位置）として、この基準位置における電気角θｅを０°とする。従来のレゾルバユニットにおいては、ハンドル中立状態となるときに、ロータの回転位置が基準位置、つまり、電気角θｅが０°になるように、ロータ部とステータ部との組み付け相対角が設定されていた。このため、従来のレゾルバユニットをそのまま使用すると、ｓｉｎ相に異常が発生したときは、ハンドル中立状態において、図６（ａ）に示すように、電気角θｅが第２条件下算出不能範囲に入ってしまい、かさ上げ電流設定部３１０がｑ軸指令電流Ｉｑ＊を増加させトルクリップルが生じる。
【０２０３】
そこで、本実施形態のレゾルバユニット１００においては、ｓｉｎ相およびｃｏｓ相のいずれに異常が発生した場合であっても、ハンドル中立状態における電気角θｅが第２条件下算出不能範囲に入ってしまわないように、ハンドル中立状態における電気角θｅが４５°＋９０°×Ｋ（Ｋは整数：０，１，２，３）に設定されている。
【０２０４】
図１７は、第２条件下算出不能範囲とハンドル中立位置との関係を電気角θｅで表したグラフである。第２条件下算出不能範囲は、図中において塗りつぶした範囲であり、ｓｉｎ相に異常が発生した場合の範囲とｃｏｓ相に異常が発生した場合の範囲とを合成したものである。このグラフから分かるように、第２条件下算出不能範囲は、０°，９０°，１８０°，２７０°を中心とした所定角度範囲に限定される。従って、ハンドル中立状態における電気角θｅを第２条件下算出不能範囲から最も離れた４５°，１３５°，２２５°，３１５°のいずれかに設定すれば良いことがわかる。
【０２０５】
従って、第１レゾルバ１１０，第２レゾルバ１２０においては、それぞれハンドル中立状態におけるロータ部１１０ｒ，１２０ｒとステータ部１１０ｓ，１２０ｓとの相対位置関係が、基準位置に対して機械角で（４５°＋９０°×Ｋ）／Ｎだけずれるように、ロータ部１１０ｒ，１２０ｒとステータ部１１０ｓ，１２０ｓとが組み付けられている。例えば、Ｋ＝０，レゾルバの軸倍角Ｎを８とすると、図１８に示すように、ハンドル中立状態におけるロータ部１１０ｒ，１２０ｒとステータ部１１０ｓ，１２０ｓとは、両者の相対位置関係が基準位置から機械角で約５.６°（４５°÷８）ずれるように組み付けられる。図中において、三角マークが整合する位置が基準位置となる。レゾルバの電気角θｅで表せば、図１６におけるθｅ＝４５°となる回転位置がハンドル中立位置に相当する。
【０２０６】
尚、レゾルバの組み付けにあたっては、ロータ部１１０ｒ，１２０ｒとステータ部１１０ｓ，１２０ｓとに、それぞれの周方向位置を特定するマークを形成しておくとよい。この場合、２つのマークを整合させることにより、ハンドル中立状態においてロータ部１１０ｒ，１２０ｒとステータ部１１０ｓ，１２０ｓとが、基準位置に対して機械角で（４５°＋９０°×Ｋ）／Ｎだけずれた位置関係となるように容易に組み付けることができる。
【０２０７】
以上説明した本実施形態の電動パワーステアリング装置によれば、モータ電気角θｍｅが第２レゾルバ１２０の回転角を算出できない不確定モータ電気角領域に入る場合には、かさ上げ電流設定部３１０がｑ軸指令電流Ｉｑ＊を増加補正するため、操舵トルクを検出できなくなる状況が低減され、適正な操舵アシストを継続できる期間を長くすることができる。
【０２０８】
また、ｑ軸指令電流Ｉｑ＊を増加補正させた場合には、トルクリップルが操舵ハンドル１１を介して運転者に伝達されるが、ハンドル中立状態における電気角θｅが４５°＋９０°×Ｋ（Ｋは整数：０，１，２，３）に設定されているため、ｓｉｎ相およびｃｏｓ相のいずれに異常が発生した場合であっても、ハンドル中立状態における電気角θｅが第２条件下算出不能範囲に入らない。このため、トルクリップルの生じる頻度が低減され操舵フィーリングの低下を抑制することができる。また、直進走行や高速域走行における操作性を向上させることができる。また、ハンドル中立状態においては、操舵トルクの値として推定値（前回値）が使用されないため、推定値を使用する頻度を低減することができ、操舵トルク検出の信頼性が向上する。
【０２０９】
また、かさ上げ電流設定部３１０においては、ｑ軸指令電流Ｉｑ＊を増加補正するために、かさ上げ目標電流Ｉｑup＊が使用されるが、このかさ上げ目標電流Ｉｑup＊は、モータ回転速度ωｍが大きくなるほど小さく設定される。従って、電動モータ２１の回転慣性が大きく、回転角の不確定領域を通過しやすい状況においては、ｑ軸指令電流Ｉｑ＊の増加補正量が少なくなるため、適切なｑ軸指令電流Ｉｑ＊が演算され、必要以上に電動モータ２１が回されることが防止される。これにより、トルクリップルを更に低減することができる。
【０２１０】
また、ｑ軸指令電流Ｉｑ＊の増加補正される角度範囲は、図１１の塗りつぶした範囲で表されるように、非常に狭い範囲であるため、操舵フィーリングに与える影響を少なくすることができる。
【０２１１】
また、コイル異常が発生した場合には、警告ランプ６５が点灯するため、操舵アシストを継続させながらも、ドライバーに異常を認識させることができる。これにより、早期に修理が行われるため、２重故障により操舵アシストが停止されるという状況に陥る確率を極めて小さくすることができる。
【０２１２】
以上、本実施形態について説明したが、本発明は上記実施形態に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。
【０２１３】
例えば、本実施形態においては、第１レゾルバ１１０と第２レゾルバ１２０との両方において、ハンドル中立状態となるときの電気角θｅが基準位置（０°）からずれるようにしているが、第１レゾルバ１１０に関しては、必ずしもそのようにする必要はなく、例えば、ハンドル中立状態となるときの電気角θｅが０°となるように組み付けてもよい。
【０２１４】
また、本実施形態においては、かさ上げ目標電流Ｉｑup＊を算出するに当たって、モータ回転速度ωｍに応じたゲインＫｉをかさ上げ基本電流Ｉｑupｏに乗算しているが、必ずしもゲインＫｉを乗算する必要はなく、かさ上げ目標電流Ｉｑup＊を一定値にしてもよい。
【０２１５】
また、本実施形態においては２つの条件に基づいて片側相の検出信号から回転角を一義的に算出できるか否かを判断しているが、必ずしも２つの条件を用いる必要はなく、例えば、第２条件のみ、あるいは、第１条件のみに基づいて判断するようにしてもよい。
【符号の説明】
【０２１６】
１１…操舵ハンドル、１２…ステアリングシャフト、１２in…入力シャフト、１２out…出力シャフト、１２ａ…トーションバー、２０…パワーアシスト部、２１…電動モータ、３１…アシスト演算部、３２…トルク演算部、３３…記憶部、４０…モータ駆動回路、５０…アシストＥＣＵ、６１…回転角センサ、１００…レゾルバユニット、１１０…第１レゾルバ、１１０ｒ…第１ロータ部、１１０ｓ…第１ステータ部、１１１…第１励磁コイル、１１２…第１ｓｉｎ相検出コイル、１１３…第１ｃｏｓ相検出コイル、１１４…第１ロータコイル、１２０…第２レゾルバ、１２０ｒ…第２ロータ部、１２０ｓ…第２ステータ部、１２１…第２励磁コイル、１２２…第２ｓｉｎ相検出コイル、１２３…第２ｃｏｓ相検出コイル、１２４…第２ロータコイル、１５１…延長スリーブ、１５８…第１ロータ固定部、１５９…第２ロータ固定部、２１２…第１ｓｉｎ相検出ライン、２１３…第１ｃｏｓ相検出ライン、２２２…第２ｓｉｎ相検出ライン、２２３…第２ｃｏｓ相検出ライン、３０７…電気角変換部、３１０…かさ上げ電流設定部、３１１…かさ上げ基本電流設定部、３１２…モータ回転速度演算部、３１３…ゲイン設定部、３１４…かさ上げ目標電流演算部、３１５…ｑ軸指令電流補正部、Ａs1，Ａc1，Ａs2，Ａc2…振幅、Ｅs1，Ｅc1，Ｅs2，Ｅc2…検出電圧、Ｔｒ…操舵トルク、θ１…第１回転角、θ２…第２回転角、Ｆailc…ｃｏｓ相フェイル信号、Ｆails…ｓｉｎ相フェイル信号、Ｉｑ＊…ｑ軸指令電流、Ｉｑｏ…設定値、Ｉｑupｏ…かさ上げ基本電流、Ｉｑup＊…かさ上げ目標電流、Ｋｉ…ゲイン、θｍｅ…モータ電気角、ωｍ…モータ回転速度。
【図１】
0005482680.tif 000010
【図２】
0005482680.tif 000011
【図３】
0005482680.tif 000012
【図４】
0005482680.tif 000013
【図５】
0005482680.tif 000014
【図６】
0005482680.tif 000015
【図７】
0005482680.tif 000016
【図８】
0005482680.tif 000017
【図９】
0005482680.tif 000018
【図１０】
0005482680.tif 000019
【図１１】
0005482680.tif 000020
【図１２】
0005482680.tif 000021
【図１３】
0005482680.tif 000022
【図１４】
0005482680.tif 000023
【図１５】
0005482680.tif 000024
【図１６】
0005482680.tif 000025
【図１７】
0005482680.tif 000026
【図１８】
0005482680.tif 000027