(57)【要約】【課題】操舵トルク検出装置に含まれている複数のセンサのうちの一部のセンサの故障に起因して、操舵トルクの検出精度が低下した場合に、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータから発生されるのを防止できる電動パワーステアリング装置を提供する。【解決手段】第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５の値が共に２である場合には、検出操舵トルクＴｈの絶対値が想定最大トルク誤差以下の領域には、ｑ軸電流指令値Ｉｑ＊が零となる不感帯が設定される。第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５のうちのいずれか一方の値のみが２である場合には、検出操舵トルクＴｈの絶対値が想定最大トルク誤差の１／２以下の領域には、ｑ軸電流指令値Ｉｑ＊が零となる不感帯が設定される。【選択図】図１４
2014139054.tif 000002
【特許請求の範囲】
【請求項１】
入力軸、出力軸およびこれらの２つの軸を連結するトーションバーを含むステアリングシャフトと、
操舵補助力を発生させるための電動モータと、
第１の複数のセンサの出力に基づいて前記入力軸の回転角を第１の回転角として検出するための第１の回転角演算装置と、
第２の複数のセンサの出力に基づいて前記出力軸の回転角を第２の回転角として検出するための第２の回転角演算装置と、
前記第１の回転角演算装置によって検出された第１の回転角と、前記第２の回転角演算装置によって検出された第２の回転角と基づいて、前記入力軸に与えられる操舵トルクを演算する操舵トルク演算手段と、
前記操舵トルク演算手段によって演算された操舵トルクを用いて、前記電動モータを駆動制御するモータ制御手段とを含み、
前記各回転角演算装置は、高い精度で対応する回転角を演算する高精度演算モードと、対応する複数のセンサのうちの所定のセンサが故障したことに起因して、低い精度で対応する回転角を演算する低精度演算モードとを有しており、
前記モータ制御手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記低精度演算モードによって演算されたときまたは演算される可能性が高いときにおいて、前記操舵トルクの絶対値が、前記低精度演算モードによって回転角が演算される場合に想定される操舵トルク演算誤差以下のときには、前記電動モータに流すべき電流の目標値である電流指令値が零となるように制御形態を切替える制御形態切替手段を含む、電動パワーステアリング装置。
【請求項２】
前記制御形態切替手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記低精度演算モードによって演算される可能性が高いときにおいて、前記操舵トルク演算手段によって演算された操舵トルクが零のときに前記制御形態の切替えを行う手段を含む、請求項１に記載の電動パワーステアリング装置。
【請求項３】
前記制御形態切替手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記低精度演算モードによって演算される可能性が高いときにおいて、前記操舵トルク演算手段によって演算された操舵トルクに応じた電流指令値から、制御形態切替後に設定されるべき電流指令値まで、前記電流指令値を徐々に変化させることにより、前記制御形態の切替えを行う手段を含む、請求項１に記載の電動パワーステアリング装置。
【請求項４】
前記各回転角演算装置は、
前記入力軸または前記出力軸のうち、回転角を演算すべき軸に応じて回転し、複数の磁極を有する多極磁石と、
前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力し、前記多極磁石の周方向に並んで配置された３つの磁気センサと、
前記各磁気センサに故障が発生したか否かを判定する故障判定手段と、
前記３つの磁気センサのうちの中央の磁気センサを含む少なくとも２つの磁気センサが正常である場合において、中央の磁気センサを含む正常な２つの磁気センサが共に同じ１つの磁極を３サンプリング周期連続して検出しているという条件を満たしているときには、それらの２つの磁気センサの３サンプリング分の出力信号に基づいて、前記軸の回転角を演算するとともに、常にまたは前記３サンプリング分の出力信号が一定の要件を満たしているときには、それらの２つの磁気センサが検出している磁極の磁極幅に関する情報およびそれらの２つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する第１演算手段と、
前記３つの磁気センサのうちの中央の磁気センサを含む少なくとも２つの磁気センサが正常である場合において、前記条件を満たしていないときには、正常な磁気センサのうち、磁極幅に関する情報が関連付けて記憶されている磁極を検出している１つの磁気センサを含む２つの磁気センサの１サンプリング分の出力信号と、前記第１演算手段によって記憶されている前記情報とを用いて、前記軸の回転角を演算する第２演算手段と、
前記３つの磁気センサのうちの前記中央の磁気センサのみが故障している場合において、他の２つの磁気センサが検出している磁極のうち、少なくとも一方の磁極の磁極幅に関する情報が記憶されている場合には、前記他の２つの磁気センサの１サンプリング分の出力信号と、前記第１演算手段によって記憶されている前記情報とを用いて、前記軸の回転角を演算する第３演算手段と、
前記３つの磁気センサのうちの前記中央の磁気センサのみが故障している場合において、他の２つの磁気センサが検出している２つの磁極の磁極幅に関する情報のいずれもが記憶されていない場合には、前記他の２つの磁気センサの２サンプリング分の出力信号に基づいて前記軸の回転角を演算する第４演算手段とを含み、
前記１演算手段、第２演算手段および第３演算手段による演算モードが前記高精度演算モードに相当し、前記第４演算手段による演算モードが前記低精度演算モードに相当する、請求項１〜３のいずれか一項に記載の電動パワーステアリング装置。
【請求項５】
前記３つの磁気センサを第１磁気センサ、第２磁気センサおよび第３磁気センサとすると、前記第１磁気センサの出力信号と前記第２磁気センサの出力信号との位相差が１２０度であり、前記第１磁気センサの出力信号と前記第３磁気センサの出力信号との位相差が２４０度である、請求項４に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電動パワーステアリング装置に関する。
【背景技術】
【０００２】
電動パワーステアリング装置（ＥＰＳ：Electric Power Steering System）として、操舵トルク検出装置によって検出された操舵トルクに基づいて、操舵補助トルクを発生させる電動モータを制御するものが知られている。具体的には、操舵トルク検出装置によって検出された操舵トルクに基づいて、電動モータに流すべき電流の目標値である電流指令値が設定される。そして、電動モータに流れる実電流が電流指令値と等しくなるように、電動モータがフィードバック制御される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2012-116372号公報
【特許文献２】特開2009-149170号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明の目的は、操舵トルク検出装置に含まれている複数のセンサのうちの一部のセンサの故障に起因して、操舵トルクの検出精度が低下した場合に、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータから発生されるのを防止できる電動パワーステアリング装置を提供することである。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、入力軸（８）、出力軸（９）およびこれらの２つの軸を連結するトーションバー（１０）を含むステアリングシャフト（６）と、操舵補助力を発生させるための電動モータ（１８）と、第１の複数のセンサ（７１，７２，７３）の出力に基づいて前記入力軸の回転角を第１の回転角として検出するための第１の回転角演算装置（６１，７１，７２，７３，７７Ａ）、第２の複数のセンサ（７４，７５，７６）の出力に基づいて前記出力軸の回転角を第２の回転角として検出するための第２の回転角演算装置（６２，７４，７５，７６，７７Ｂ）と、前記第１の回転角演算装置によって検出された第１の回転角と、前記第２の回転角演算装置によって検出された第２の回転角と基づいて、前記入力軸に与えられる操舵トルクを演算する操舵トルク演算手段（７７Ｃ）と、前記操舵トルク演算手段によって演算された操舵トルクを用いて、前記電動モータを駆動制御するモータ制御手段（１２）とを含み、前記各回転角演算装置は、高い精度で対応する回転角を演算する高精度演算モードと、対応する複数のセンサのうちの所定のセンサが故障したことに起因して、低い精度で対応する回転角を演算する低精度演算モードとを有しており、前記モータ制御手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記低精度演算モードによって演算されたときまたは演算される可能性が高いときにおいて、前記操舵トルクの絶対値が、前記低精度演算モードによって回転角が演算される場合に想定される操舵トルク演算誤差以下のときには、前記電動モータに流すべき電流の目標値である電流指令値が零となるように制御形態を切替える制御形態切替手段（４１）を含む、電動パワーステアリング装置（１）である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【０００６】
この発明によれば、入力軸の回転角および出力軸の回転角のうちの少なくとも一方が低精度演算モードによって演算されたことによって、操舵トルク演算手段によって演算される操舵トルクに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータから発生されるのを防止することが可能となる。
請求項２記載の発明は、前記制御形態切替手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記低精度演算モードによって演算される可能性が高いときにおいて、前記操舵トルク演算手段によって演算された操舵トルクが零のときに前記制御形態の切替えを行う手段（４１，図１７のＳ１２７，Ｓ１２８，Ｓ１３１，Ｓ１２９，Ｓ１３０）を含む、請求項１に記載の電動パワーステアリング装置である。この構成によれば、制御形態が切り替えられたときに、操舵補助トルクが急変する確率を低下させることができる。
【０００７】
請求項３記載の発明は、前記制御形態切替手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記低精度演算モードによって演算される可能性が高いときにおいて、前記操舵トルク演算手段によって演算された操舵トルクに応じた電流指令値から、制御形態切替後に設定されるべき電流指令値まで、前記電流指令値を徐々に変化させることにより、前記制御形態の切替えを行う手段（４１，図２０のＳ１４８，Ｓ１５２，Ｓ１５３，Ｓ１５４，Ｓ１５５，Ｓ１５６）を含む、請求項１に記載の電動パワーステアリング装置である。この構成によれば、制御形態が切り替えられるときに、操舵補助トルクが急変する確率を低下させることができる。
【０００８】
請求項４記載の発明は、前記各回転角演算装置は、前記入力軸または前記出力軸のうち、回転角を演算すべき軸に応じて回転し、複数の磁極を有する多極磁石（６１，６２）と、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力し、前記多極磁石の周方向に並んで配置された３つの磁気センサ（７１，７２，７３；７４，７５，７６）と、前記各磁気センサに故障が発生したか否かを判定する故障判定手段（７７Ａ，Ｓ１，７７Ｂ）と、前記３つの磁気センサのうちの中央の磁気センサを含む少なくとも２つの磁気センサが正常である場合において、中央の磁気センサを含む正常な２つの磁気センサが共に同じ１つの磁極を３サンプリング周期連続して検出しているという条件を満たしているときには、それらの２つの磁気センサの３サンプリング分の出力信号に基づいて、前記軸の回転角を演算するとともに、常にまたは前記３サンプリング分の出力信号が一定の要件を満たしているときには、それらの２つの磁気センサが検出している磁極の磁極幅に関する情報およびそれらの２つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する第１演算手段（７７Ａ，Ｓ８４，Ｓ８９，７７Ｂ）と、前記３つの磁気センサのうちの中央の磁気センサを含む少なくとも２つの磁気センサが正常である場合において、前記条件を満たしていないときには、正常な磁気センサのうち、磁極幅に関する情報が関連付けて記憶されている磁極を検出している１つの磁気センサを含む２つの磁気センサの１サンプリング分の出力信号と、前記第１演算手段によって記憶されている前記情報とを用いて、前記軸の回転角を演算する第２演算手段（７７Ａ，Ｓ９３，Ｓ９５，Ｓ９６，７７Ｂ）と、前記３つの磁気センサのうちの前記中央の磁気センサのみが故障している場合において、他の２つの磁気センサが検出している磁極のうち、少なくとも一方の磁極の磁極幅に関する情報が記憶されている場合には、前記他の２つの磁気センサの１サンプリング分の出力信号と、前記第１演算手段によって記憶されている前記情報とを用いて、前記軸の回転角を演算する第３演算手段（７７Ａ，Ｓ９９，Ｓ１０１，７７Ｂ）と、前記３つの磁気センサのうちの前記中央の磁気センサのみが故障している場合において、他の２つの磁気センサが検出している２つの磁極の磁極幅に関する情報のいずれもが記憶されていない場合には、前記他の２つの磁気センサの２サンプリング分の出力信号に基づいて前記軸の回転角を演算する第４演算手段（７７Ａ，Ｓ１０３，７７Ｂ）とを含み、前記１演算手段、第２演算手段および第３演算手段による演算モードが前記高精度演算モードに相当し、前記第４演算手段による演算モードが前記低精度演算モードに相当する、請求項１〜３のいずれか一項に記載の電動パワーステアリング装置である。
【０００９】
請求項５記載の発明は、前記３つの磁気センサを第１磁気センサ、第２磁気センサおよび第３磁気センサとすると、前記第１磁気センサの出力信号と前記第２磁気センサの出力信号との位相差が１２０度であり、前記第１磁気センサの出力信号と前記第３磁気センサの出力信号との位相差が２４０度である、請求項４に記載の電動パワーステアリング装置である。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の一実施形態に係る電動パワーステアリング装置の概略構成を示す模式図である。
【図２】図２は、トルクセンサの構成を図解的に示す模式図である。
【図３】図３は、第１の磁石の構成および３つの磁気センサの配置を示す模式図である。
【図４】図４は、第１磁気センサ、第２磁気センサおよび第３磁気センサの出力波形を示す模式図である。
【図５】図５Ａ、図５Ｂおよび図５Ｃは、それぞれ第３演算モード、第４演算モードおよび第５演算モードが適用される場合を説明するための模式図である。
【図６】図６は、第３演算モードを説明するための説明図である。
【図７】図７は、第１の回転角演算部の動作を示すフローチャートである。
【図８】図８は、図７のステップＳ１の故障判定処理の手順を示すフローチャートである。
【図９Ａ】図９Ａは、図７のステップＳ３の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
【図９Ｂ】図９Ｂは、図７のステップＳ３の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
【図９Ｃ】図９Ｃは、図７のステップＳ３の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
【図１０】図１０は、トルク演算用ＥＣＵ内のメモリの内容の一部を示す模式図である。
【図１１】図１１は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
【図１２】図１２は、相対的極番号の設定処理を説明するための模式図である。
【図１３Ａ】図１３Ａは、図７のステップＳ５の通常時の回転角演算処理の手順の一部を示すフローチャートである。
【図１３Ｂ】図１３Ｂは、図７のステップＳ５の通常時の回転角演算処理の手順の一部を示すフローチャートである。
【図１３Ｃ】図１３Ｃは、図７のステップＳ５の通常時の回転角演算処理の手順の一部を示すフローチャートである。
【図１４】図１４は、モータ制御用ＥＣＵの電気的構成を示す概略図である。
【図１５】図１５は、電動モータの構成を図解的に示す模式図である。
【図１６】図１６Ａ〜図１６Ｃは、検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例を示すグラフである。
【図１７】図１７は、電流指令値設定部の第１変形例の動作を示すフローチャートである。
【図１８】図１８Ａ〜図１８Ｄは電流指令値設定部の第２変形例を説明するためのグラフであり、図１８Ａ〜図１８Ｃは、検出操舵トルクＴｈに対する制御用トルク値Ｔｃの設定例を示すグラフであり、図１８Ｄは、制御用トルク値Ｔｃに対するｑ軸電流指令値Ｉｑ＊の設定例を示すグラフである。
【図１９】図１９Ａは故障時用トルクマップの内容を示すグラフであり、図１９Ｂは電流マップの内容を示すグラフである。
【図２０】図２０は、電流指令値設定部の第３変形例の動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図１は、本発明の一実施形態に係る電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置１は、車両を操向するための操舵部材としてのステアリングホイール２と、このステアリングホイール２の回転に連動して転舵輪３を転舵する転舵機構４と、運転者の操舵を補助するための操舵補助機構５とを備えている。ステアリングホイール２と転舵機構４とは、ステアリングシャフト６および中間軸７を介して機械的に連結されている。
【００１２】
ステアリングシャフト６は、ステアリングホイール２に連結された入力軸８と、中間軸７に連結された出力軸９とを含む。入力軸８と出力軸９とは、トーションバー１０を介して同一軸線上で相対回転可能に連結されている。すなわち、ステアリングホイール２が回転されると、入力軸８および出力軸９は、互いに相対回転しつつ同一方向に回転するようになっている。
【００１３】
ステアリングシャフト６の周囲には、本発明の一実施形態に係る回転角検出装置が適用されたトルクセンサ（トルク検出装置）１１が設けられている。トルクセンサ１１は、入力軸８および出力軸９の相対回転変位量に基づいて、ステアリングホイール２に与えられた操舵トルクを検出する。トルクセンサ１１によって検出される操舵トルクは、モータ制御用ＥＣＵ（電子制御ユニット：Electronic  Control  Unit）１２に入力される。
【００１４】
転舵機構４は、ピニオン軸１３と、転舵軸としてのラック軸１４とを含むラックアンドピニオン機構からなる。ラック軸１４の各端部には、タイロッド１５およびナックルアーム（図示略）を介して転舵輪３が連結されている。ピニオン軸１３は、中間軸７に連結されている。ピニオン軸１３は、ステアリングホイール２の操舵に連動して回転するようになっている。ピニオン軸１３の先端には、ピニオン１６が連結されている。
【００１５】
ラック軸１４は、自動車の左右方向（直進方向に直交する方向）に沿って直線状に延びている。ラック軸１４の軸方向の中間部には、ピニオン１６に噛み合うラック１７が形成されている。このピニオン１６およびラック１７によって、ピニオン軸１３の回転がラック軸１４の軸方向移動に変換される。ラック軸１４を軸方向に移動させることによって、転舵輪３を転舵することができる。
【００１６】
ステアリングホイール２が操舵（回転）されると、この回転が、ステアリングシャフト６および中間軸７を介して、ピニオン軸１３に伝達される。そして、ピニオン軸１３の回転は、ピニオン１６およびラック１７によって、ラック軸１４の軸方向移動に変換される。これにより、転舵輪３が転舵される。
操舵補助機構５は、操舵補助力を発生するための電動モータ１８と、電動モータ１８の出力トルクを転舵機構４に伝達するための減速機構１９とを含む。電動モータ１８は、この実施形態では、三相ブラシレスモータからなる。減速機構１９は、ウォーム軸２０と、このウォーム軸２０と噛み合うウォームホイール２１とを含むウォームギヤ機構からなる。減速機構１９は、伝達機構ハウジングとしてのギヤハウジング２２内に収容されている。
【００１７】
ウォーム軸２０は、電動モータ１８によって回転駆動される。また、ウォームホイール２１は、ステアリングシャフト６とは同方向に回転可能に連結されている。ウォームホイール２１は、ウォーム軸２０によって回転駆動される。
電動モータ１８によってウォーム軸２０が回転駆動されると、ウォームホイール２１が回転駆動され、ステアリングシャフト６が回転する。そして、ステアリングシャフト６の回転は、中間軸７を介してピニオン軸１３に伝達される。ピニオン軸１３の回転は、ラック軸１４の軸方向移動に変換される。これにより、転舵輪３が転舵される。すなわち、電動モータ１８によってウォーム軸２０を回転駆動することによって、転舵輪３が転舵されるようになっている。
【００１８】
電動モータ１８のロータの回転角（ロータ回転角）は、レゾルバ等の回転角センサ２５によって検出される。回転角センサ２５の出力信号は、モータ制御用ＥＣＵ１２に入力される。電動モータ１８は、モータ制御装置としてのモータ制御用ＥＣＵ１２によって制御される。
図２は、トルクセンサ１１の構成を図解的に示す模式図である。
【００１９】
入力軸８には、環状の第１の磁石（多極磁石）６１が一体回転可能に連結されている。第１の磁石６１の下側には、第１の磁石６１の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する３つの磁気センサ７１，７２，７３が配置されている。
出力軸９には、環状の第２の磁石（多極磁石）６２が一体回転可能に連結されている。第２の磁石６２の上側には、第２の磁石６２の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する３つの磁気センサ７４，７５，７６が配置されている。
【００２０】
各磁気センサ７１〜７６の出力信号Ｓ１〜Ｓ６は、入力軸８に加えられる操舵トルクを演算するためのトルク演算用ＥＣＵ７７に入力されている。トルク演算用ＥＣＵ７７の電源は、イグニッションキーがオン操作されることによってオンとなる。イグニッションキーがオフ操作されたときには、そのことを示すイグニッションキーオフ操作信号が、トルク演算用ＥＣＵ７７に入力される。なお、磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。この実施形態では、磁気センサとしては、ホール素子が用いられている。
【００２１】
前記磁石６１，６２、前記磁気センサ７１〜７６およびトルク演算用ＥＣＵ７７によって、トルクセンサ１１が構成されている。
トルク演算用ＥＣＵ７７は、マイクロコンピュータを含んでいる。マイクロコンピュータは、ＣＰＵおよびメモリ（ＲＯＭ，ＲＡＭ，不揮発性メモリ等）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能する。この複数の機能処理部には、第１の回転角演算部７７Ａと、第２の回転角演算部７７Ｂと、トルク演算部７７Ｃとを含んでいる。
【００２２】
第１の回転角演算部７７Ａは、３つの磁気センサ７１，７２，７３の出力信号Ｓ１，Ｓ２，Ｓ３に基づいて入力軸８の回転角（電気角θＡ）を演算する。第２の回転角演算部７７Ｂは、３つの磁気センサ７４，７５，７３の出力信号Ｓ４，Ｓ５，Ｓ６に基づいて出力軸９の回転角（電気角θＢ）を演算する。
トルク演算部７７Ｃは、第１の回転角演算部７７Ａによって検出された入力軸８の回転角θＡと第２の回転角演算部７７Ｂによって検出された出力軸９の回転角θＢとに基づいて、入力軸８に加えられた操舵トルクＴｈを演算する。具体的には、操舵トルクＴｈは、トーションバー１０のバネ定数をＫとし、各磁石６１，６２に設けられた磁極対数をＮとすると、次式(1)に基づいて演算される。
【００２３】
Ｔｈ＝｛（θＡ−θＢ）／Ｎ｝×Ｋ      …(1)
第１の磁石６１、磁気センサ７１，７２，７３および第１の回転角演算部７７Ａによって、入力軸８の回転角θＡを検出するための第１の回転角検出装置が構成されている。また、第２の磁石６２、磁気センサ７４，７５，７６および第２の回転角演算部７７Ｂによって、出力軸９の回転角θＢを検出するための第２の回転角検出装置が構成されている。第１の回転角検出装置（第１の回転角演算部７７Ａ）の動作と第２の回転角検出装置（第２の回転角演算部７７Ｂ）の動作は同様であるので、以下、第１の回転角検出装置（第１の回転角演算部７７Ａ）の動作についてのみ説明する。
【００２４】
図３は、第１の磁石６１の構成および３つの磁気センサ７１，７２，７３の配置を示す模式図である。
第１の磁石６１は、周方向に等角度間隔で配された４組の磁極対（Ｍ１，Ｍ２），（Ｍ３，Ｍ４），（Ｍ５，Ｍ６），（Ｍ７，Ｍ８）を有している。つまり、第１の磁石６１は、等角度間隔で配置された８個の磁極Ｍ１〜Ｍ８を有している。各磁極Ｍ１〜Ｍ８は、入力軸８の中心軸を中心として、ほぼ４５°（電気角ではほぼ１８０°）の角度間隔（角度幅）で配置されている。各磁極Ｍ１〜Ｍ８の磁力の大きさは、ほぼ一定である。
【００２５】
３つの磁気センサ７１，７２，７３は、第１の磁石６１の下側の環状端面に対向して、配置されている。以下において、磁気センサ７１を第１磁気センサ７１、磁気センサ７２を第２磁気センサ７２、磁気センサ７３を第３磁気センサ７３という場合がある。第１磁気センサ７１と第２磁気センサ７２とは、入力軸８の中心軸を中心として電気角で１２０°の角度間隔で配置されている。また、第２磁気センサ７２と第３磁気センサ７３とは、入力軸８の中心軸を中心として電気角で１２０°の角度間隔で配置されている。したがって、第１磁気センサ７１と第３磁気センサ７３とは、入力軸８の中心軸を中心として電気角で２４０°の角度間隔で配置されている。
【００２６】
図３に矢印で示す方向を入力軸８の正方向の回転方向とする。そして、入力軸８が正方向に回転されると入力軸８の回転角が大きくなり、入力軸８が逆方向に回転されると、入力軸２の回転角が小さくなるものとする。各磁気センサ７１，７２，７３からは、図４に示すように、入力軸８の回転に伴って、正弦波状の信号Ｓ１，Ｓ２，Ｓ３が出力される。なお、図４の横軸の回転角［deg］は、機械角を表している。
【００２７】
以下において、第１磁気センサ７１の出力信号Ｓ１を第１出力信号Ｓ１または第１センサ値Ｓ１といい、第２磁気センサ７２の出力信号Ｓ２を第２出力信号Ｓ２または第２センサ値Ｓ２といい、第３磁気センサ７３の出力信号Ｓ３を第３出力信号Ｓ３または第３センサ値Ｓ３という場合がある。
以下においては、説明の便宜上、入力軸８の回転角をθＡではなく、θで表すことにする。各出力信号Ｓ１，Ｓ２，Ｓ３が正弦波信号であるとみなし、入力軸８の回転角をθ（電気角）とすると、第１磁気センサ７１の出力信号Ｓ１は、Ｓ１＝Ａ１・sinθと表され、第２磁気センサ７２の出力信号Ｓ２は、Ｓ２＝Ａ２・sin（θ＋１２０）と表され、第３磁気センサ７３の出力信号Ｓ３は、Ｓ３＝Ａ３・sin（θ＋２４０）と表される。Ａ１，Ａ２，Ａ３は、それぞれ振幅を表している。第１出力信号Ｓ１と第２出力信号Ｓ２との位相差は１２０度である。第２出力信号Ｓ２と第３出力信号Ｓ３との位相差も１２０度である。したがって、第１出力信号Ｓ１と第３出力信号Ｓ３との位相差は２４０度である。
【００２８】
第１の回転角演算部７７Ａによる回転角θの演算方法の基本的な考え方について説明する。第１の回転角演算部７７Ａによる回転角演算モードには、第１演算モード〜第６演算モードがある。以下、各演算モードについて説明する。
［１］第１演算モード
第１演算モードは、第１および第２磁気センサ７１，７２が、３サンプリング周期（３演算周期）連続して共に同じ１つの磁極を検出している場合に適用される演算モードである。第１演算モードでは、第１および第２磁気センサ７１，７２における３サンプリング分の出力信号に基づいて回転角θが演算される。
【００２９】
第１出力信号Ｓ１と第２出力信号Ｓ２との位相差（電気角）をＣで表すことにする。また、今回のサンプリング周期の番号（今回の演算周期の番号）を[n]、前回のサンプリング周期の番号を[n-1]、前々回のサンプリング周期の番号を[n-2]で表すことにする。また、各磁極Ｍ１〜Ｍ８の角度幅（ピッチ幅）のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値といい、Ｅで表すことことにする。
【００３０】
位相差Ｃ、サンプリング周期番号[n]，[n-1]，[n-2]および角度幅誤差補正値Ｅを用いると、今回、前回および前々回にサンプリングされた第１出力信号Ｓ１ならびに今回、前回および前々回にサンプリングされた第２出力信号Ｓ２を、それぞれ次式(2a)，(2b)，(2c)， (2d)，(2e)，(2f)で表すことができる。
Ｓ１[n]＝Ａ１[n］sin（Ｅ１［n］θ［n］）            …(2a)
Ｓ１[n-1]＝Ａ１[n-1］sin（Ｅ１［n-1］θ[n-1］）     …(2b)
Ｓ１[n-2]＝Ａ１[n-2］sin（Ｅ１［n-2］θ[n-2］）     …(2c)
Ｓ２[n]＝Ａ２[n］sin（Ｅ２［n］θ[n］＋Ｃ）         …(2d)
Ｓ２[n-1]＝Ａ２[n-1］sin（Ｅ２[n-1］θ[n-1］＋Ｃ）  …(2e)
Ｓ２[n-2]＝Ａ２[n-2］sin（Ｅ２[n-2］θ[n-2］＋Ｃ）  …(2f)
前記式(2a)〜(2f)において、Ｅ１［ｘ］は、ｘ番目の演算周期において第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値である。Ｅ２［ｘ］は、ｘ番目の演算周期において第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値である。
【００３１】
ある磁極の角度幅をｗ（電気角）とすると、その磁極の角度幅誤差θｅｒｒ（電気角）は、次式(3)で定義される。
θｅｒｒ＝ｗ−１８０    …(3)
その磁極に対する角度幅誤差補正値Ｅは、次式(4)で定義される。
Ｅ＝１８０／ｗ
＝１８０／（θｅｒｒ＋１８０）    …(4)
各磁極の角度幅誤差補正値Ｅは、各磁極の磁極幅に関する情報である。なお、各磁極の磁極幅に関する情報は、各磁極の角度幅ｗであってもよいし、各磁極の角度幅誤差θｅｒｒであってもよい。
【００３２】
Ｃが既知であるとすると、前記式(2a)〜(2f)で表される６つの式に含まれる未知数の数は１６となる。つまり、未知数の数が方程式の数より多いため、このままでは、６つの式からなる連立方程式を解くことができない。
この実施形態では、サンプリング間隔（サンプリング周期）を短く設定することにより、３サンプリング間の温度変化による振幅の変化がないとみなす。つまり、３サンプリング間の第１磁気センサ７１の出力信号の振幅Ａ１[n］，Ａ１[n-1］，Ａ１[n-2］が互いに等しいとみなして、これらをＡ１とする。同様に、３サンプリング間の第２磁気センサ７２の出力信号の振幅Ａ２[n］，Ａ２[n-1］，Ａ２[n-2］が互いに等しいとみなし、これらをＡ２とする。
【００３３】
３サンプリング間において、両磁気センサ７１，７２が共に同じ１つの磁極を検出している場合には、３サンプリング分の両磁気センサ７１，７２の出力信号に含まれている角度幅誤差補正値Ｅ１［n］，Ｅ１［n-1］，Ｅ１［n-2］，Ｅ２［n］，Ｅ２[n-1］，Ｅ２[n-2］は同じ値となるので、これらをＥで表すことにする。これにより、前記式(2a)〜(2f)は、それぞれ次式(5a)〜(5f)で表わされる。
【００３４】
Ｓ１[n]＝Ａ１sin（Ｅθ[n］）            …(5a)
Ｓ１[n-1]＝Ａ１sin（Ｅθ[n-1］）        …(5b)
Ｓ１[n-2]＝Ａ１sin（Ｅθ[n-2］）        …(5c)
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋Ｃ）        …(5d)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋Ｃ）    …(5e)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋Ｃ）    …(5f) 
これら６つの式に含まれる未知数（Ａ１，Ａ２，Ｅ，θ[n］，θ[n-1］，θ[n-2］）の数は６となる。つまり、未知数の数が方程式の数以下となるため、６つの式からなる連立方程式を解くことができる。したがって、前記６つの式(5a)〜(5f) からなる連立方程式を解くことにより、入力軸８の回転角θ[n］を演算することができる。
【００３５】
以下、両磁気センサ間の位相差Ｃが１２０度である場合について、具体的に説明する。位相差Ｃが１２０度である場合には、前記６つの式(5a)〜(5f) は、それぞれ次式(6a)〜(6f)で表わすことができる。
Ｓ１[n]＝Ａ１sin（Ｅθ[n］）                …(6a)
Ｓ１[n-1]＝Ａ１sin（Ｅθ[n-1］）            …(6b)
Ｓ１[n-2]＝Ａ１sin（Ｅθ[n-2］）            …(6c)
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）        …(6d)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋１２０）    …(6e)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋１２０）    …(6f) 
Ｅθ[n］を１つの未知数と考えると、前記６つの式(6a)〜(6f)のうちの４つの式(6a)，(6b)，（6d），(6e) からなる連立方程式を解くことにより、Ｅθ[n］は、次式(7) （以下、「Ｅθ基本演算式(7)」という。）で表わされる。
【００３６】
【数１】
2014139054.tif 000003
【００３７】
また、前記６つの式(6a)〜(6f)からなる連立方程式を解くことにより、角度幅誤差補正値Ｅは、次式(8) （以下、「Ｅ演算式(8)」という。）で表わされる。
【００３８】
【数２】
2014139054.tif 000004
【００３９】
したがって、前記Ｅθ基本演算式(7)により演算されたＥθ[n］を、前記Ｅ演算式(8)により演算された角度幅誤差補正値Ｅで除することにより、θ[n］を求めることができる。つまり、次式(9)により、θ[n］を求めることができる。
θ［n］＝Ｅθ[n］／Ｅ    …(9)
ただし、Ｅ演算式(8) に含まれている分数のいずれかの分母が零になる場合には、Ｅ演算式(8)に基づいて角度幅誤差補正値Ｅを演算することはできない。そこで、この実施形態では、Ｅ演算式(8) に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Ｅを今回の角度幅誤差補正値Ｅとして用いるようにしている。
【００４０】
なお、Ｅ演算式(8) に含まれている分数のいずれかの分母が零になる場合とは、次式(10)，(11)，（12）でそれぞれ表される３つの条件のうちの少なくとも１つの条件を満たす場合である。
【００４１】
【数３】
2014139054.tif 000005
【００４２】
また、Ｅθ基本演算式(7)に含まれている分数のいずれかの分母が零になる場合には、Ｅθ基本演算式(7)に基づいてＥθ[n]を演算することはできない。そこで、この実施形態では、Ｅθ基本演算式(7)に含まれている分数のいずれかの分母が零になる場合には、Ｅθ基本演算式(7)とは異なる演算式によってＥθ[n］を演算するようにしている。さらに、この実施形態では、Ｅθ基本演算式(7)に基づいてＥθ[n]を演算することができるけれども、より簡単な演算式によってＥθ[n]を演算できる場合には、Ｅθ基本演算式(7)とは異なる演算式によってＥθ[n］を演算するようにしている。この実施形態では、Ｅθ基本演算式(7)よりも簡単にＥθ[n]を演算できる場合とは、Ｓ２[n]＝０の場合またはＳ１［n］＝０の場合である。
【００４３】
この実施形態では、Ｅθ[n］を演算するための演算式として、Ｅθ基本演算式(7)を含めて１０種類の演算式が用意されている。表１は、１０種類の演算式と、その演算式が適用される条件とを示している。なお、Ｅθ[n］を演算する際には、表１の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、Ｅθ[n］が演算される。
【００４４】
【表１】
2014139054.tif 000006
【００４５】
表１の上から１番目の演算式は、Ｅθ基本演算式(7)である。Ｅθ基本演算式(7)は、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつＥθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。Ｅθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、ｐ１−ｐ２≠０でかつ、ｐ１２＋ｐ１ｐ２＋ｐ２２≠０でかつ、Ｓ１［n-1］≠０でかつＳ２［n-1］≠０である場合に満たされる。なお、Ｓ１［n-1］はｐ１の分母であり、Ｓ２［n-1］はｐ２の分母である。
【００４６】
ただし、ｐ１２＋ｐ１ｐ２＋ｐ２２＝０が成立するのは、ｐ１＝ｐ２＝０の場合だけであるが、第１磁気センサ７１と第２磁気センサ７２とは位相が１２０度ずれているため、両磁気センサ７１，７２のセンサ値Ｓ１，Ｓ２が同時に零になることはない。このため、ｐ１２＋ｐ１ｐ２＋ｐ２２＝０が成立することはない。したがって、Ｅθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、ｐ１−ｐ２≠０でかつ、Ｓ１［n-1］≠０でかつＳ２［n-1］≠０である場合に満たされる。
【００４７】
表１の上から２番目の演算式は、ｐ１−ｐ２＝０である場合に適用される演算式である。ｐ１−ｐ２＝０が成立する場合について検討する。この場合には、ｐ１＝ｐ２であるから、次式(13)が成立する。
【００４８】
【数４】
2014139054.tif 000007
【００４９】
これを変形すると、次式(14)が得られる。
【００５０】
【数５】
2014139054.tif 000008
【００５１】
前記式(14)が成立する場合とは、Ｅθ[n］とＥθ[n-1］とが等しい場合である。つまり、今回のＥθ[n］が前回のＥθ[n-1］に等しい場合である。そこで、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつｐ１の分母Ｓ１［n-1］およびｐ２の分母Ｓ２［n-1］のいずれもが零でなく、かつｐ１−ｐ２＝０であるという条件を満たした場合には、前回に演算されたＥθ[n-1］が今回のＥθ[n］として用いられる。
【００５２】
表１の上から３番目および４番目の演算式は、ｐ１の分母Ｓ１[n-1］が零となる場合に適用される演算式である。Ｓ１[n-1]＝Ａ１sinＥθ[n-1］であるので、sinＥθ[n-1］＝０のときに、Ｓ１[n-1］＝０となる。つまり、Ｅθ[n-1］が０度または１８０度のときに、Ｓ１[n-1］が零となる。Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋１２０）であるので、Ｅθ[n-1］が０度のときにはＳ２[n-1］＞０となり、Ｅθ[n-1］が１８０度のときにはＳ２[n-1］＜０となる。したがって、Ｓ１[n-1］＝０でかつＳ２[n-1］＞０のときにはＥθ[n-1］＝０となり、Ｓ１[n-1］＝０でかつＳ２[n-1］＜０のときにはＥθ[n-1］＝１８０となる。
【００５３】
Ｅθ[n-1］＝０である場合には、前記式 (6c)，(6d)は、それぞれ次式 (15c)，(15d)で表される。
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）      …(15c)
Ｓ２[n-1]＝Ａ２sin１２０＝√３／２・Ａ２  …(15d)
前記式(15d)から、次式(16)が得られる。
【００５４】
Ａ２＝（２／√３）・Ｓ２[n-1]       …(16)
前記式(16)を前記式(15c)に代入すると、次式(17)が得られる。
sin（Ｅθ[n］＋１２０）＝（√３／２）・（Ｓ２[n]／Ｓ２[n-1]）    …(17)
したがって、Ｅθ[n］は、次式(18)により演算することができる。
【００５５】
【数６】
2014139054.tif 000009
【００５６】
つまり、表１の上から３番目に示すように、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつｐ１の分母Ｓ１[n-1]が零であり、かつＳ２[n-1］＞０であるという条件を満たした場合には、前記式(18)で表される演算式に基づいてＥθ[n］が演算される。
一方、Ｅθ[n-1］＝１８０である場合には、前記式 (6c)，(6d)は、それぞれ次式(19c)，(19d)で表される。
【００５７】
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）          …(19c)
Ｓ２[n-1]＝Ａ２sin３００＝−√３／２・  Ａ２  …(19d)
前記式(19d)から、次式(20)が得られる。
Ａ２＝（−２／√３）・Ｓ２[n-1]       …(20)
前記式(20)を前記式(19c)に代入すると、次式(21)が得られる。
【００５８】
sin（Ｅθ[n］＋１２０）＝（−√３／２）・（Ｓ２[n]／Ｓ２[n-1]）    …(21)
したがって、Ｅθ[n］は、次式(22)により演算することができる。
【００５９】
【数７】
2014139054.tif 000010
【００６０】
つまり、表１の上から４番目に示すように、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつｐ１の分母Ｓ１[n-1]が零であり、かつＳ２[n-1］＜０であるという条件を満たした場合には、前記式(22)で表される演算式に基づいてＥθ[n］が演算される。
表１の上から５番目および６番目の演算式は、Ｓ２[n]＝０となる場合に適用される演算式である。Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）であるので、sin（Ｅθ[n］＋１２０）＝０のときに、Ｓ２[n]＝０となる。つまり、Ｅθ[n］が−１２０度または６０度のときに、Ｓ２[n]＝０となる。Ｓ１[n]＝Ａ１sinＥθ[n］であるので、Ｅθ[n］が−１２０度のときにはＳ１[n]＜０となり、Ｅθ[n］が６０度のときにはＳ１[n]＞０となる。したがって、Ｓ２[n]＝０でかつＳ１[n]＞０のときにはＥθ[n］＝６０となり、Ｓ２[n]＝０でかつＳ１[n]＜０であればＥθ[n］＝−１２０となる。
【００６１】
つまり、表１の上から５番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつＳ２[n]＝０であり、かつＳ１[n]＞０であるという条件を満たした場合には、Ｅθ[n］は６０度として演算される。また、表１の上から６番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつＳ２[n]＝０であり、かつＳ１[n]＞０であるという条件を満たした場合には、Ｅθ[n］は−１２０度として演算される。
【００６２】
表１の上から７番目および８番目の演算式は、ｐ２の分母Ｓ２[n-1]が零となる場合に適用される演算式である。Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋１２０）であるので、sin（Ｅθ[n-1］＋１２０）＝０のときに、Ｓ２[n-1］＝０となる。つまり、Ｅθ[n-1］が−１２０度または６０度のときに、Ｓ２[n-1]が零となる。Ｓ１[n-1]＝Ａ１sinＥθ[n-1］であるので、Ｅθ[n-1］が−１２０度のときにはＳ１[n-1］＜０となり、Ｅθ[n-1］が６０度のときにはＳ１[n-1］＞０となる。したがって、Ｓ２[n-1］＝０でかつＳ１[n-1］＞０のときにはＥθ[n-1］＝６０となり、Ｓ２[n-1］＝０でかつＳ１[n-1］＜０のときにはＥθ[n-1］＝−１２０となる。
【００６３】
Ｅθ[n-1］＝６０である場合には、前記式 (6a)，(6b)は、それぞれ次式 (23a)，(23b)で表される。
Ｓ１[n]＝Ａ１sinＥθ[n］                 …(23a)
Ｓ１[n-1]＝Ａ１sin６０＝√３／２・  Ａ１  …(23b)
前記式(23b)から、次式(24)が得られる。
【００６４】
Ａ１＝（２／√３）・Ｓ１[n-1]       …(24)
前記式(24)を前記式(23a)に代入すると、次式(25)が得られる。
sinＥθ[n］＝（√３／２）・（Ｓ１[n]／Ｓ１[n-1]）      …(25)
したがって、Ｅθ[n］は、次式(26)により演算することができる。
【００６５】
【数８】
2014139054.tif 000011
【００６６】
つまり、表１の上から７番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1］が零であり、かつＳ１[n-1］＞０であるという条件を満たした場合には、前記式(26)で表される演算式に基づいてＥθ[n］が演算される。
一方、Ｅθ[n-1］＝−１２０である場合には、前記式 (6a)，(6b)は、それぞれ次式 (27a)，(27b)で表される。
【００６７】
Ｓ１[n]＝Ａ１sinＥθ[n］                            …(27a)
Ｓ１[n-1]＝Ａ１sin（−１２０）＝−√３／２・  Ａ２  …(27b)
前記式(27b)から、次式(28)が得られる。
Ａ１＝（−２／√３）・Ｓ１[n-1]       …(28)
前記式(28)を前記式(27a)に代入すると、次式(29)が得られる。
【００６８】
sinＥθ[n］＝（−√３／２）・（Ｓ１[n]／Ｓ１[n-1]）      …(29)
したがって、Ｅθ[n］は、次式(30)により演算することができる。
【００６９】
【数９】
2014139054.tif 000012
【００７０】
つまり、表１の上から８番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1]が零であり、かつＳ１[n-1］＜０であるという条件を満たした場合には、前記式(30)で表される演算式に基づいてＥθ[n］が演算される。
表１の上から９番目および１０番目の演算式は、Ｓ１[n]＝０となる場合に適用される演算式である。Ｓ１[n]＝Ａ１sinＥθ[n］であるので、sinＥθ[n］＝０のときに、Ｓ１[n]＝０となる。つまり、Ｅθ[n］が０度または１８０度のときに、Ｓ１[n]＝０となる。Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０]であるので、Ｅθ[n］が０度のときにはＳ２[n]＞０となり、Ｅθ[n］が１８０度のときにはＳ２[n]＜０となる。したがって、Ｓ１[n]＝０でかつＳ２[n]＞０であればＥθ[n］＝０となり、Ｓ１[n]＝０でかつＳ２[n]＜０であればＥθ[n］＝１８０となる。
【００７１】
つまり、表１の上から９番目に示すように、Ｓ１［n］が零であり、かつＳ２[n]＞０であるという条件を満たした場合には、Ｅθ[n］は０度として演算される。また、表１の上から１０番目に示すように、Ｓ１［n］が零であり、かつＳ２[n]＜０であるという条件を満たした場合には、Ｅθ[n］は１８０度として演算される。
Ｅθ[n］が演算されると、前記式(6a)に基づいて振幅Ａ１を演算することができるとともに、前記式(6d)に基づいて振幅Ａ２を演算することができる。つまり、第１演算モードによって、Ｅ，θ[n］，Ａ１，Ａ２を演算することができる。
［２］第２演算モード
第２演算モードは、第２および第３磁気センサ７２，７３が、３サンプリング周期（３演算周期）連続して共に同じ１つの磁極を検出している場合に適用される演算モードである。第２演算モードでは、第２および第３磁気センサ７２，７３における３サンプリング分の出力信号に基づいて回転角θが演算される。
【００７２】
第２磁気センサ７２および第３磁気センサ７３の出力信号Ｓ２，Ｓ３を、角度幅誤差補正値Ｅを用いて表すと、第２磁気センサ７２の出力信号Ｓ２[n]はＳ２[n]＝Ａ２・sin（Ｅ２θ[n]＋１２０）で表され、第３磁気センサ７３の出力信号Ｓ３[n]は、Ｓ３[n]＝Ａ３・sin（Ｅ３θ[n]＋２４０）と表される。ここで、Ｅ３は、第３磁気センサ７３が検出している磁極に対応する角度幅誤差補正値である。第２磁気センサ７２および第３磁気センサ７３が同じ磁極を検出している場合には、Ｅ２とＥ３とは等しいので、これらをＥで表すと、第２磁気センサ７２の出力信号Ｓ２[n]はＳ２[n]＝Ａ２・sin（Ｅθ[n]＋１２０）で表され、第３磁気センサ７３の出力信号Ｓ３[n]は、Ｓ３[n]＝Ａ３・sin（Ｅθ[n]＋２４０）と表される。
【００７３】
（Ｅθ[n]＋１２０）をＥΘ[n]に置き換えると、第２出力信号Ｓ２[n]はＳ２[n]＝Ａ２・sinＥΘ[n]で表され、第３出力信号Ｓ３[n]はＳ３[n]＝Ａ３・sin（ＥΘ[n]＋１２０）で表わされる。したがって、第２出力信号Ｓ２と第３出力信号Ｓ３とを用い、前述した方法と同様な方法でＥΘ[n]とＥとを演算することができる。ＥΘ[n]＝Ｅθ[n]＋１２０であるので、θ[n]＝（ＥΘ[n]−１２０）／Ｅである。したがって、θ[n]＝（ＥΘ[n]−１２０）／Ｅの式に、演算されたＥΘ[n]とＥを代入することにより、入力軸８の回転角θ[n]を演算することができる。また、ＥΘ[n]が演算されると、振幅Ａ２および振幅Ａ３を演算することができる。つまり、第２演算モードによって、Ｅ，θ[n］，Ａ２，Ａ３を演算することができる。
【００７４】
第２演算モードによる回転角演算に用いられる３サンプリング分の第２および第３出力信号を、前記式(6a) 〜(6f)にならって次式(31a) 〜(31f)で表すと、ＥΘ基本演算式およびＥ演算式はそれぞれ次式(32) および(33)で表すことができる。
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）        …(31a)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋１２０）    …(31b)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋１２０）    …(31c) 
Ｓ３[n]＝Ａ３sin（Ｅθ[n］＋１２０）        …(31d)
Ｓ３[n-1]＝Ａ３sin（Ｅθ[n-1］＋１２０）    …(31e)
Ｓ３[n-2]＝Ａ３sin（Ｅθ[n-2］＋１２０）    …(31f) 
【００７５】
【数１０】
2014139054.tif 000013
【００７６】
【数１１】
2014139054.tif 000014
【００７７】
第１演算モードまたは第２演算モードでは、３つの磁気センサ７１，７２，７３のうちの２つの磁気センサにおける３サンプリング分の出力信号に基づいて入力軸８の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第１演算モードまたは第２演算モードでは、入力軸８の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸８の回転角θ[n]を演算することができるので、入力軸８の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
【００７８】
第１演算モードまたは第２演算モードでは、３サンプリング間での同じ磁気センサの出力信号の振幅が互いに等しいとみなしている。３サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、３サンプリング間の温度変化は非常に小さいので、３サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第１演算モードまたは第２演算モードでは、３サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第１演算モードまたは第２演算モードでは、回転角の演算に用いられている２つの磁気センサ間の振幅は、別々の未知数として扱っているので、それらの２つの磁気センサ間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【００７９】
また、第１演算モードまたは第２演算モードでは、磁石６１の各磁極Ｍ１〜Ｍ８の角度幅（ピッチ幅）のばらつきを高い精度で補償できるので、誤差のより小さい回転角を検出することが可能となる。
［３］第３演算モード
第３演算モードは、第１演算モードおよび第２演算モードのいずれもが適用できない場合であって、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅ１および第１出力信号Ｓ１の振幅Ａ１が第１演算モードによって既に演算されてメモリに記憶されている場合に適用される演算モードである。第３演算モードでは、主として第１磁気センサ７１の出力信号Ｓ１に基づいて回転角θが演算される。
【００８０】
たとえば、図５Ａに示すように、磁石６１（入力軸８）が矢印で示す方向に回転している場合において、第１および第２磁気センサ７１，７２が同じ磁極（この例ではＭ１）を検出している状態から、第２磁気センサ７２の検出している磁極が変化した場合に、第３演算モードは適用される。
角度幅誤差補正値Ｅと今演算周期の番号ｎを用いると、今演算周期においてサンプリングされた第１磁気センサ７１の出力信号Ｓ１は、次式(34)で表される。
【００８１】
Ｓ１[n]＝Ａ１[n］sin（Ｅ１θ[n］）                …(34)
Ｅ１は、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値である。
前記式(34)から回転角θ[n］は、次式(35)で表される。
θ[n］＝（１／Ｅ１）sin−１（Ｓ１[n]／Ａ１）    …(35)
メモリに記憶されており、第１磁気センサ７１が検出している磁極に対応するＥ１およびＡ１を、前記式(35)に代入することにより、θ[n］が演算される。ただし、式(35)によって回転角θ[n］を演算する場合には、２つの回転角θ[n］が演算されるので、いずれの回転角が実際の回転角であるかを判定する必要がある。この判定方法について、図６を参照して説明する。図６には、第１出力信号Ｓ１、第２出力信号Ｓ２および第３出力信号Ｓ３の１周期分の波形が示されている。図６の横軸の回転角［deg］は、電気角を表している。
【００８２】
図６に示すように、第１出力信号Ｓ１[n]がたとえば正の値である場合には、（１／Ｅ１）sin−１（Ｓ１[n]／Ａ１）に対応する回転角θ[n］は、０度〜９０度の領域Ｒ１内の回転角と、９０度〜１８０度の領域Ｒ２内の回転角との２つの回転角となる。また、第１出力信号Ｓ１[n]がたとえば負の値である場合には、（１／Ｅ１）sin−１（Ｓ１[n]／Ａ１）に対応する回転角θ[n］は、１８０度〜２７０度の領域Ｕ１内の回転角と、２７０度〜３６０度の領域Ｕ２内の回転角との２つの回転角となる。
【００８３】
この実施形態では、第１磁気センサ７１以外の２つの磁気センサ７２，７３の出力信号Ｓ２，Ｓ３のいずれか一方に基づいて、前記式(35)によって演算される２つの回転角のうちのいずれが実際の回転角であるかが判定される。なお、第２磁気センサ７２および第３磁気センサ７３のうちのいずれか一方が故障している場合には、正常である一方の磁気センサの出力信号に基づいて、前記判定が行われる。
【００８４】
まず、第２出力信号Ｓ２［n］に基づいて、前記判定が行われる場合について説明する。第２出力信号Ｓ２の振幅Ａ２の１／２を閾値ａ（ａ＞０）とする。この閾値ａは、たとえば、メモリに記憶されている第２出力信号Ｓ２の振幅Ａ２であって、第１磁気センサ７１が検出している磁極に対応する振幅Ａ２に基づいて求めることができる。なお、第１出力信号Ｓ１の振幅Ａ１の１／２を閾値ａ（ａ＞０）としてもよい。
【００８５】
第２出力信号Ｓ２［n］がａ以上のときに取り得る入力軸８の回転角θ[n］は、０度〜３０度の範囲および２７０度〜３６０度の範囲である。第２出力信号Ｓ２［n］が−ａ未満のときに取り得る入力軸８の回転角θ[n］は、９０度〜２１０度の範囲である。第２出力信号Ｓ２［n］が−ａ以上ａ未満のときに取り得る入力軸８の回転角θ[n］は、３０度〜９０度の範囲および２１０度〜２７０度の範囲である。
【００８６】
したがって、前記式(35)によって演算された２つの回転角のうち、いずれの回転角が実際の回転角であるかを、第２出力信号Ｓ２［n］に基づいて判定することができる。具体的には、第１出力信号Ｓ１[n]が正の値である場合には、第２出力信号Ｓ２［n］が−ａ以上であれば、前記式(35)によって演算された２つの回転角のうち領域Ｒ１内の回転角が実際の回転角であると判定される。一方、第２出力信号Ｓ２［n］が−ａ未満であれば、前記式(35)によって演算された２つの回転角のうち領域Ｒ２内の回転角が実際の回転角であると判定される。
【００８７】
第１出力信号Ｓ１[n]が負の値である場合には、第２出力信号Ｓ２［n］がａ未満であれば、前記式(35)によって演算された２つの回転角のうち領域Ｕ１内の回転角が実際の回転角であると判定される。一方、第２出力信号Ｓ２［n］がａ以上であれば、前記式(35)によって演算された２つの回転角のうち領域Ｕ２内の回転角が実際の回転角であると判定される。
【００８８】
次に、第３出力信号Ｓ３［n］に基づいて、前記判定が行われる場合について説明する。第３出力信号Ｓ３の振幅Ａ３の１／２を閾値ａ（ａ＞０）とする。この閾値ａは、たとえば、メモリに記憶されている第３出力信号Ｓ３の振幅Ａ３であって、第１磁気センサ７１が検出している磁極に対応する振幅Ａ３に基づいて求めることができる。なお、第１出力信号Ｓ１の振幅Ａ１の１／２を閾値ａ（ａ＞０）としてもよい。
【００８９】
第１出力信号Ｓ１[n]が正の値である場合には、第３出力信号Ｓ３［n］が−ａ未満であれば、前記式(35)によって演算された２つの回転角のうち領域Ｒ１内の回転角が実際の回転角であると判定される。一方、第３出力信号Ｓ３［n］が−ａ以上であれば、前記式(35)によって演算された２つの回転角のうち領域Ｒ２内の回転角が実際の回転角であると判定される。
【００９０】
第１出力信号Ｓ１[n]が負の値である場合には、第３出力信号Ｓ３［n］がａ以上であれば、前記式(35)によって演算された２つの回転角のうち領域Ｕ１内の回転角が実際の回転角であると判定される。一方、第３出力信号Ｓ３［n］がａ未満であれば、前記式(35)によって演算された２つの回転角のうち領域Ｕ２内の回転角が実際の回転角であると判定される。
［４］第４演算モード
第４演算モードは、第１演算モードおよび第２演算モードのいずれもが適用できない場合であって、第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値Ｅ２および第２出力信号Ｓ２の振幅Ａ２が第１演算モードまたは第３演算モードによって既に演算されてメモリに記憶されている場合に適用される演算モードである。第４演算モードでは、主として第２磁気センサ７２の出力信号Ｓ２に基づいて回転角θが演算される。
【００９１】
たとえば、図５Ｂに示すように、磁石６１（入力軸８）が矢印で示す方向に回転している場合において、第１および第２磁気センサ７１，７２が同じ磁極（この例ではＭ１）を検出している状態から、第１磁気センサ７１が検出している磁極が変化した場合に、第４演算モードは適用される。
角度幅誤差補正値Ｅと今演算周期の番号ｎを用いると、今演算周期においてサンプリングされた第２磁気センサ７２の出力信号Ｓ２は、次式 (36)で表される。
【００９２】
Ｓ２[n]＝Ａ２[n］sin（Ｅ２θ[n］＋１２０）        …(36)
Ｅ２は、第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値である。
前記式(36)から回転角θ[n］は、次式(37)で表される。
θ[n］＝（１／Ｅ２）｛sin−１（Ｓ２[n]／Ａ２）−１２０｝    …(37)
メモリに記憶されており、第２磁気センサ７２が検出している磁極に対応するＥ２およびＡ２を、前記式(37)に代入することにより、θ[n］が演算される。
【００９３】
前記式(37)によって回転角θ[n］を演算すると、２つの回転角θ[n］が演算される。そこで、第２磁気センサ７２以外の２つの磁気センサ７１，７３の出力信号Ｓ１，Ｓ３のいずれか一方に基づいて、前記式(37)によって演算された２つの回転角θ[n］のうちのいずれが実際の回転角であるかを判定する。なお、第１磁気センサ７１および第３磁気センサ７３のうちのいずれか一方が故障している場合には、正常である一方の磁気センサの出力信号に基づいて、前記判定が行われる。
【００９４】
まず、第１出力信号Ｓ１［n］に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第１出力信号Ｓ１の振幅Ａ１の１／２または第２出力信号Ｓ２の振幅Ａ２の１／２を閾値ａ（ａ＞０）とする。
第２出力信号Ｓ２[n]が正の値である場合には、第１出力信号Ｓ１［n］が−ａ未満であれば、前記式(37)によって演算された２つの回転角のうち２４０度〜３３０度の領域内の回転角が実際の回転角であると判定される。一方、第１出力信号Ｓ１［n］が−ａ以上であれば、前記式(37)によって演算された２つの回転角のうち０度〜６０度または３３０度〜３６０度の領域内の回転角が実際の回転角であると判定される。
【００９５】
第２出力信号Ｓ２[n]が負の値である場合には、第１出力信号Ｓ１［n］がａ以上であれば、前記式(37)によって演算された２つの回転角のうち６０度〜１５０度の領域内の回転角が実際の回転角であると判定される。一方、第１出力信号Ｓ１［n］がａ未満であれば、前記式(37)によって演算された２つの回転角のうち１５０度〜２４０度の領域内の回転角が実際の回転角であると判定される。
【００９６】
次に、第３出力信号Ｓ３［n］に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第３出力信号Ｓ２の振幅Ａ３の１／２または第２出力信号Ｓ２の振幅Ａ２の１／２を閾値ａ（ａ＞０）とする。
第２出力信号Ｓ２[n]が正の値である場合には、第３出力信号Ｓ３［n］が−ａ以上であれば、前記式(37)によって演算された２つの回転角のうち２４０度〜３３０度の領域内の回転角が実際の回転角であると判定される。一方、第３出力信号Ｓ３［n］が−ａ未満であれば、前記式(37)によって演算された２つの回転角のうち０度〜６０度または３３０度〜３６０度の領域内の回転角が実際の回転角であると判定される。
【００９７】
第２出力信号Ｓ２[n]が負の値である場合には、第３出力信号Ｓ３［n］がａ未満であれば、前記式(37)によって演算された２つの回転角のうち６０度〜１５０度の領域内の回転角が実際の回転角であると判定される。一方、第３出力信号Ｓ３［n］がａ以上であれば、前記式(37)によって演算された２つの回転角のうち１５０度〜２４０度の領域内の回転角が実際の回転角であると判定される。
［５］第５演算モード
第５演算モードは、第１演算モードおよび第２演算モードのいずれもが適用できない場合であって、第３磁気センサ７３が検出している磁極に対応する角度幅誤差補正値Ｅ３および第３出力信号Ｓ３の振幅Ａ３が第２演算モードによって既に演算されてメモリに記憶されている場合に適用される演算モードである。第５演算モードでは、主として第３磁気センサ７２の出力信号Ｓ３に基づいて回転角θが演算される。
【００９８】
たとえば、図５Ｃに示すように、磁石６１（入力軸８）が矢印で示す方向に回転している場合において、第２および第３磁気センサ７２，７３が同じ磁極（この例ではＭ２）を検出している状態から、第２磁気センサ７２が検出している磁極が変化した場合に、第５演算モードは適用される。
角度幅誤差補正値Ｅと今演算周期の番号ｎを用いると、今演算周期においてサンプリングされた第３磁気センサ７３の出力信号Ｓ３は、次式 (38)で表される。
【００９９】
Ｓ３[n]＝Ａ３[n］sin（Ｅ３θ[n］＋２４０）        …(38)
Ｅ３は、第３磁気センサ７２が検出している磁極に対応する角度幅誤差補正値である。
前記式(38)から回転角θ[n］は、次式(39)で表される。
θ[n］＝（１／Ｅ３）｛sin−１（Ｓ３[n]／Ａ３）−１２０｝    …(39)
メモリに記憶されており、第３磁気センサ７３が検出している磁極に対応するＥ３およびＡ３を、前記式(39)に代入することにより、θ[n］が演算される。
【０１００】
前記式(39)によって回転角θ[n］を演算すると、２つの回転角θ[n］が演算される。そこで、第３磁気センサ７３以外の２つの磁気センサ７１，７２の出力信号Ｓ１，Ｓ２のいずれか一方に基づいて、前記式(39)によって演算された２つの回転角θ[n］のうちのいずれが実際の回転角であるかを判定する。なお、第１磁気センサ７１および第２磁気センサ７２のうちのいずれか一方が故障している場合には、正常である一方の磁気センサの出力信号に基づいて、前記判定が行われる。
【０１０１】
まず、第２出力信号Ｓ２［n］に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第２出力信号Ｓ２の振幅Ａ２の１／２または第３出力信号Ｓ３の振幅Ａ３の１／２を閾値ａ（ａ＞０）とする。
第３出力信号Ｓ３[n]が正の値である場合には、第２出力信号Ｓ２［n］が−ａ未満であれば、前記式(39)によって演算された２つの回転角のうち１２０度〜２１０度の領域内の回転角が実際の回転角であると判定される。一方、第２出力信号Ｓ２［n］が−ａ以上であれば、前記式(39)によって演算された２つの回転角のうち２１０度〜３００度の領域内の回転角が実際の回転角であると判定される。
【０１０２】
第３出力信号Ｓ３[n]が負の値である場合には、第２出力信号Ｓ２［n］がａ以上であれば、前記式(39)によって演算された２つの回転角のうち３００度〜３６０度または０度〜３０度の領域内の回転角が実際の回転角であると判定される。一方、第２出力信号Ｓ２［n］がａ未満であれば、前記式(39)によって演算された２つの回転角のうち３０度〜１２０度の領域内の回転角が実際の回転角であると判定される。
【０１０３】
次に、第１出力信号Ｓ１［n］に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第１出力信号Ｓ１の振幅Ａ１の１／２または第３出力信号Ｓ３の振幅Ａ３の１／２を閾値ａ（ａ＞０）とする。
第３出力信号Ｓ３[n]が正の値である場合には、第１出力信号Ｓ１［n］が−ａ以上であれば、前記式(39)によって演算された２つの回転角のうち１２０度〜２１０度の領域内の回転角が実際の回転角であると判定される。一方、第１出力信号Ｓ１［n］が−ａ未満であれば、前記式(39)によって演算された２つの回転角のうち２１０度〜３００度の領域内の回転角が実際の回転角であると判定される。
【０１０４】
第３出力信号Ｓ３[n]が負の値である場合には、第１出力信号Ｓ１［n］がａ未満であれば、前記式(39)によって演算された２つの回転角のうち３００度〜３６０度または０度〜３０度の領域内の回転角が実際の回転角であると判定される。一方、第１出力信号Ｓ１［n］がａ以上であれば、前記式(39)によって演算された２つの回転角のうち３０度〜１２０度の領域内の回転角が実際の回転角であると判定される。
［６］第６演算モード
第６演算モードは、３つの磁気センサ７１，７２，７３のうち、第２磁気センサ７２のみが故障しており、かつ第３演算モードまたは第５演算モードによって回転角を演算できない場合に適用される演算モードである。第６演算モードでは、第１および第３磁気センサ７１，７３における２サンプリング分の出力信号に基づいて回転角θが演算される。
【０１０５】
第１出力信号Ｓ１と第３出力信号Ｓ３との位相差（電気角）をＣで表すことにする。また、今回のサンプリング周期の番号（今回の演算周期の番号）を[n]、前回のサンプリング周期の番号（前回の演算周期の番号）を[n-1]で表すことにする。
位相差Ｃおよびサンプリング周期の番号[n]，[n-1]を用いると、今回サンプリングされた第１出力信号Ｓ１、前回サンプリングされた第１出力信号Ｓ１、今回サンプリングされた第３出力信号Ｓ３および前回サンプリングされた第３出力信号Ｓ３を、それぞれ次式(40a)，(40b)，(40c)，(40d)で表すことができる。
【０１０６】
Ｓ１[n]＝Ａ１[n］sinθ[n］                …(40a)
Ｓ１[n-1]＝Ａ１[n-1］sinθ[n-1］          …(40b)
Ｓ３[n]＝Ａ３[n］sin（θ[n］＋Ｃ）        …(40c)
Ｓ３[n-1]＝Ａ３[n-1］sin（θ[n-1］＋Ｃ）  …(40d)
Ｃが既知であるとすると、これら４つの式に含まれる未知数（Ａ１[n］，Ａ１[n-1］，Ａ３[n］，Ａ３[n-1］，θ[n］，θ[n-1］）の数は６となる。つまり、未知数の数が方程式の数より多いため、このままでは、４つの式からなる連立方程式を解くことができない。
【０１０７】
そこで、サンプリング間隔（サンプリング周期）を短く設定することにより、２サンプリング間の温度変化による振幅の変化がないとみなす。つまり、２サンプリング間の第１磁気センサ７１の出力信号の振幅Ａ１[n］，Ａ１[n-1］が互いに等しいとみなして、これらをＡ１で表すことにする。同様に、２サンプリング間の第３磁気センサ７３の出力信号の振幅Ａ３[n］，Ａ３[n-1］が互いに等しいとみなし、これらをＡ３で表すことにする。これにより、前記式(40a)，(40b)，(40c)および(40d)を、それぞれ次式(41a)，(41b)，(41c)および(41d)で表わすことができる。
【０１０８】
Ｓ１[n]＝Ａ１sinθ[n］                …(41a)
Ｓ１[n-1]＝Ａ１sinθ[n-1]             …(41b)
Ｓ３[n]＝Ａ３sin（θ[n］＋Ｃ）        …(41c)
Ｓ３[n-1]＝Ａ３sin（θ[n-1］＋Ｃ）    …(41d)
これら４つの式に含まれる未知数（Ａ１，Ａ３，θ[n］，θ[n-1］）の数は４となる。つまり、未知数の数が方程式の数以下となるため、４つの式からなる連立方程式を解くことができる。したがって、前記４つの式(41a)，(41b)，(41c)および(41d) からなる連立方程式を解くことにより、入力軸８の回転角θ[n］を演算することができる。
【０１０９】
以下、両磁気センサ７１，７３間の位相差Ｃが２４０度である場合について、具体的に説明する。位相差Ｃが２４０度である場合には、前記４つの式(41a)，(41b)，(41c)および(41d)は、それぞれ次式(42a)，(42b)，(42c)および(42d)で表わすことができる。
Ｓ１[n]＝Ａ１sinθ[n］                                            …(42a)
Ｓ１[n-1]＝Ａ１sinθ[n-1]                                         …(42b)
Ｓ３[n]＝Ａ３sin（θ[n］＋２４０）＝Ａ３sin（θ[n］−１２０）      …(42c)
Ｓ３[n-1]＝Ａ３sin（θ[n-1］＋２４０）＝Ａ３sin（θ[n-1］−１２０）…(42d)
ここで、θ−１２０＝δとおくと、前記４つの式(42a)，(42b)，(42c)および(42d)は、それぞれ次式(43a)，(43b)，(43c)および(43d)で表わすことができる。
【０１１０】
Ｓ１[n]＝Ａ１sin（δ[n］＋１２０）  …(43a)
Ｓ１[n-1]Ａ１sin（δ[n-1］＋１２０）…(43b)
Ｓ３[n]＝Ａ３sinδ[n］              …(43c)
Ｓ３[n-1]＝Ａ３sinδ[n-1］          …(43d)
前記４つの式(43a)，(43b)，(43c)および(43d)からなる連立方程式を解くと、δ[n］は、次式(44)（以下、「δ基本演算式(44)」という。）で表わされる。
【０１１１】
【数１２】
2014139054.tif 000015
【０１１２】
したがって、入力軸の回転角θは、次式(45) （以下、「θ基本演算式(45)」という。）に基づいて、求めることができる。
θ［n］＝δ[n］＋１２０  …(45)
前記δ基本演算式(44)は、第１演算モードで用いられる前述のＥθ基本演算式(7)と類似している。つまり、Ｅθ基本演算式(7)におけるＥθ[n］をδ[n］に置き換え、Ｅθ基本演算式(7)におけるｐ１をｐ３＝Ｓ３［n］／Ｓ３［n-1］に置き換え、Ｅθ基本演算式(7)におけるｐ２をｐ１＝Ｓ１［n］／Ｓ１［n-1］に置き換えると、前記式(44)が得られる。
【０１１３】
そのため、第６演算モードにおいても第１演算モードと同様に、θ基本演算式(45) （δ基本演算式(44)）に含まれている分数のいずれかの分母が零になる場合には、θ基本演算式(45)とは異なる演算式によって回転角θ[n］を演算するようにしている。さらに、この実施形態では、θ基本演算式(45)によって回転角θ[n]を演算することができるけれども、より簡単な演算式によって回転角θ[n]を演算できる場合には、θ基本演算式(45)とは異なる演算式によって回転角θ[n］を演算するようにしている。この実施形態では、θ基本演算式(45)より簡単に回転角θ[n]を演算できる場合とは、Ｓ１[n]＝０の場合またはＳ３［n］＝０の場合である。
【０１１４】
この実施形態では、回転角θ[n］を演算するための演算式として、θ基本演算式(45)を含めて１０種類の演算式が用意されている。表２は、１０種類の演算式と、その演算式が適用される条件とを示している。なお、回転角θ[n］を演算する際には、表２の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、回転角θ[n］が演算される。
【０１１５】
【表２】
2014139054.tif 000016
【０１１６】
３つの磁気センサ７１，７２，７３のうち第２磁気センサ７２のみが故障している場合には、入力軸８の回転角θは、第３演算モード、第５演算モードまたは第６演算モードによって演算されることになる。第６演算モードによって回転角θが演算される場合は、各磁極の角度幅誤差を補正することができないため、第３演算モードまたは第５演算モードによって回転角θが演算される場合に比べて、演算精度が低下する。
【０１１７】
図７は、第１の回転角演算部７７Ａの動作を示すフローチャートである。
トルク演算用ＥＣＵ７７の電源がオンすると、第１の回転角演算部７７Ａは、各磁気センサ７１，７２，７３が故障しているか否かを判定するため故障判定処理を行う（ステップＳ１）。この処理の詳細については後述する。
ステップＳ１の故障判定処理において、３つの磁気センサ７１，７２，７３の全てが故障していないと判定された場合または１個の磁気センサのみが故障していると判定された場合には、第１の回転角演算部７７Ａは、ステップＳ２に移行する。
【０１１８】
ステップＳ２では、第１の回転角演算部７７Ａは、強制回転フラグＦＡＫの値が１であるか否かを判別する。強制回転フラグＦＡＫは、トルク演算用ＥＣＵ７７の電源がオンされたにおいて、後述するステップＳ３の強制回転に基づく回転角演算処理が行われたことを記憶するためのフラグである。強制回転フラグＦＡＫの初期値は０であり、強制回転に基づく回転角演算処理が行われたときには強制回転フラグＦＡＫの値が１に設定される。
【０１１９】
強制回転フラグＦＡＫの値が０である場合には（ステップＳ２：ＮＯ）、第１の回転角演算部７７Ａは、強制回転に基づく回転角演算処理を行う（ステップＳ３）。この処理は、電動モータ１８を一時的に強制回転させることにより、入力軸８（出力軸９）を回転させ、入力軸８の回転角θを演算する処理である。この処理の詳細については後述する。
前述した第１演算モードまたは第２演算モードでは、前回のサンプリング時点と今回のサンプリング時点とにおいて、回転角θ［n］の演算に用いられる２つの磁気センサの出力信号が変化していない場合には、前回演算されたＥθ［n］（またはＥΘ［n］）、Ｅおよびθ［n］が、今回のＥθ［n］（またはＥΘ［n］）、Ｅおよびθ［n］として用いられる（表１の上から２番目の演算式を参照）。しかしながら、イグニッションキーがオン操作されることによって、トルク演算用ＥＣＵ７７の電源がオンされた時点では、前回演算されたＥθ［n］（またはＥΘ［n］）、Ｅおよびθ［n］は存在しない。このため、トルク演算用ＥＣＵ７７の電源がオンされた後に、回転角θ［n］の演算に用いられる２つの磁気センサの出力信号が変化していない場合には、回転角θ［n］を演算できなくなる。そこで、Ｅθ［n］（またはＥΘ［n］）、Ｅおよびθ［n］の前回値を作成するために、強制回転に基づく回転角演算処理を行っている。
【０１２０】
なお、第６演算モードによって回転角θが演算される場合においても、トルク演算用ＥＣＵ７７の電源がオンされた後に、回転角θ［n］の演算に用いられる２つの磁気センサ７１，７３の出力信号が変化していない場合には、回転角θ［n］を演算できなくなる。そこで、θ［n］の前回値を作成するために、強制回転に基づく回転角演算処理を行っている。
【０１２１】
強制回転に基づく回転角演算処理が終了すると、第１の回転角演算部７７Ａは、強制回転フラグＦＡＫの値を１に設定した後（ステップＳ４）、ステップＳ６に移行する。
ステップＳ６では、第１の回転角演算部７７Ａは、イグニッションキーオフ操作信号が入力されたか否かを判別する。イグニッションキーオフ操作信号が入力されていなれば（ステップＳ６：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ１に戻る。
【０１２２】
前記ステップＳ２において、強制回転フラグＦＡＫの値が１であると判別された場合には（ステップＳ２：ＹＥＳ）、第１の回転角演算部７７Ａは、通常時の回転角演算処理を行う（ステップＳ５）。この処理の詳細については後述する。
通常時の回転角演算処理によって回転角が演算されると、第１の回転角演算部７７Ａは、ステツプＳ６に移行し、イグニッションキーオフ操作信号が入力されたか否かを判別する。イグニッションキーオフ操作信号が入力されていなれば（ステップＳ６：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ１に戻る。
【０１２３】
ステップＳ６で、イグニッションキーオフ操作信号が入力されたと判別された場合には（ステップＳ６：ＹＥＳ）、第１の回転角演算部７７Ａは回転角演算処理を終了する。
図８は、図７のステップＳ１の故障判定処理の手順を示すフローチャートである。
まず、第１の回転角演算部７７Ａは、各磁気センサ７１，７２，７３のセンサ値Ｓ１[n], Ｓ２[n] ，Ｓ３[n]を取得する（ステップＳ１１）。トルク演算用ＥＣＵ７７内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分（３回以上）のセンサ値が記憶されるようになっている。
【０１２４】
そして、第１の回転角演算部７７Ａは、取得したセンサ値Ｓ１[n], Ｓ２[n] ，Ｓ３[n]に基づいて、第１磁気センサ７１、第２磁気センサ７２および第３磁気センサ７３が故障しているか否かを判定する（ステップＳ１２，Ｓ１４，Ｓ１６）。磁気センサが故障した場合には、その出力信号が所定値に固定される。そこで、たとえば、第２および第３磁気センサのセンサ値が変化しているにもかかわらず、第３磁気センサのセンサ値が変化しないような状態が継続した場合には、第１磁気センサが故障している判定される。
【０１２５】
第１磁気センサが故障していると判定された場合には（ステップＳ１２：ＹＥＳ）、第１の回転角演算部７７Ａは、第１センサ故障フラグＦＡ１の値を１に設定する（ステップＳ１３）。第１センサ故障フラグＦＡ１の初期値は０である。
第２磁気センサが故障していると判定された場合には（ステップＳ１４：ＹＥＳ）、第１の回転角演算部７７Ａは、第２センサ故障フラグＦＡ２の値を１に設定する（ステップＳ１５）。第２センサ故障フラグＦＡ２の初期値は０である。なお、後述するように、第２磁気センサが故障しており、かつ入力軸８の回転角θが第６演算モードで演算されたときには、第２センサ故障フラグＦＡ２の値は２に設定される。
【０１２６】
第３磁気センサが故障していると判定された場合には（ステップＳ１６：ＹＥＳ）、第１の回転角演算部７７Ａは、第３センサ故障フラグＦＡ３の値を１に設定する（ステップＳ１７）。
このようにして、各磁気センサ７１，７２，７３についての故障判定が終了すると、第１の回転角演算部７７Ａは、２以上の磁気センサが故障しているか否かを判別する（ステップＳ１８）。２以上の磁気センサが故障している場合には（ステップＳ１８：ＹＥＳ）、第１の回転角演算部７７Ａは、異常処理を行う（ステップＳ１９）。つまり、第１の回転角演算部７７Ａは、回転角演算処理を停止するとともに、モータ制御用ＥＣＵ１２に、電動モータ１８の制御を停止させるための指令を送信する。これにより、電動モータ１８は、駆動されなくなる。
【０１２７】
２以上の磁気センサが故障していない場合には（ステップＳ１８：ＮＯ）、つまり、全ての磁気センサ７１，７２，７３が正常であるか、または１つの磁気センサのみが故障している場合には、第１の回転角演算部７７Ａは、図７のステップＳ２に移行する。
図９Ａ、図９Ｂおよび図９Ｃは、図７のステップＳ３の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
【０１２８】
強制回転に基づく回転角演算処理開始時において、正常な任意の１つの磁気センサが検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第１磁気センサ７１が検出している磁極の相対的極番号（以下、「第１相対的極番号」という）を変数ｒ１で表し、第２磁気センサ７２が検出している磁極の相対的極番号（以下、「第２相対的極番号」という）を変数ｒ２で表し、第３磁気センサ７３が検出している磁極の相対的極番号（以下、「第３相対的極番号」という）を変数ｒ３で表すことにする。なお、各相対的極番号ｒ１，ｒ２，ｒ３は、１〜８の整数をとり、１より１少ない相対的極番号は８となり、８より１大きい相対的極番号は１となるものとする。
【０１２９】
トルク演算用ＥＣＵ７７内のメモリには、図１０に示すように、ｅ１〜ｅ７で示すエリア等が設けられている。エリアｅ１には、１〜８の相対的磁極番号毎に角度幅誤差補正値Ｅの値が記憶される。エリアｅ２には、１〜８の相対的磁極番号毎に第１出力信号Ｓ１の振幅Ａ１が記憶される。エリアｅ３には、１〜８の相対的磁極番号毎に第２出力信号Ｓ２の振幅Ａ２が記憶される。エリアｅ４には、１〜８の相対的磁極番号毎に第３出力信号Ｓ３の振幅Ａ３が記憶される。
【０１３０】
エリアｅ５には、複数演算周期分の第１相対的極番号ｒ１[n-k］〜ｒ１[n］（ｋは、３以上の自然数）が記憶される。エリアｅ６には、複数演算周期分の第２相対的極番号ｒ２[n-k］〜ｒ２[n］が記憶される。エリアｅ７には、複数演算周期分の第３相対的極番号ｒ３[n-k］〜ｒ３[n］が記憶される。
図９Ａに戻り、強制回転に基づく回転角演算処理では、短時間ではあるがステアリングホイール２が自動的に回転する。このため、運転者は何らかの故障が発生したと誤解するおそれがある。そこで、第１の回転角演算部７７Ａは、運転者への警告を行う（ステップＳ２１）。具体的には、第１の回転角演算部７７Ａは、車内に設けられた表示装置（図示略）、音声出力装置（図示略）等を制御するための映像音声制御装置（図示略）に、警告出力指令を送信する。映像音声制御装置は、この警告出力指令を受信すると、「ステアリングホイールが強制的に回転しますが故障ではありません」等のメッセージを表示装置に表示したり、音声出力装置によって音声出力したりする。
【０１３１】
次に、第１の回転角演算部７７Ａは、第１方向に電動モータ１８を回転駆動させる（ステップＳ２２）。具体的には、第１の回転角演算部７７Ａは、第１方向に電動モータ１８を回転駆動させるための第１強制回転指令をモータ制御用ＥＣＵ１２に送信する。モータ制御用ＥＣＵ１２は、この第１強制回転指令を受信すると、第１方向に電動モータ１８を回転駆動させる。
【０１３２】
第１の回転角演算部７７Ａは、各磁気センサ７１，７２，７３のセンサ値Ｓ１[n], Ｓ２[n] ，Ｓ３[n]を取得する（ステップＳ２３）。ステップＳ２３の処理は、後述するステップＳ２９、ステップＳ３１またはステップＳ３３でＹＥＳと判定されるまで、所定の演算周期毎に繰り返し実行される。トルク演算用ＥＣＵ７７内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分（３回以上）のセンサ値が記憶されるようになっている。
【０１３３】
第１の回転角演算部７７Ａは、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理であるか否かを判別する（ステップＳ２４）。今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理である場合には（ステップＳ２４：ＹＥＳ）、第１の回転角演算部７７Ａは、相対的極番号の設定処理を行う（ステップＳ２５）。
図１１は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
【０１３４】
ここでは、全ての磁気センサ７１，７２，７３が正常であり、第１磁気センサ７１が検出している磁極を基準磁極として各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義した場合を例にとって説明する。
第１の回転角演算部７７Ａは、まず、第１出力信号Ｓ１が０より大きいか否かを判別する（ステップＳ５１）。第１出力信号Ｓ１が０より大きい場合には（ステップＳ５１：ＹＥＳ）、第１の回転角演算部７７Ａは、第１磁気センサ７１が検出している磁極がＮ極の磁極であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ５４）。そして、ステップＳ５６に進む。
【０１３５】
一方、第１出力信号Ｓ１が０以下である場合には（ステップＳ５１：ＮＯ）、第１の回転角演算部７７Ａは、第１出力信号Ｓ１が０より小さいか否かを判別する（ステップＳ５２）。第１出力信号Ｓ１が０より小さい場合には（ステップＳ５２：ＹＥＳ）、第１の回転角演算部７７Ａは、第１磁気センサ７１が検出している磁極がＳ極の磁極であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ５５）。そして、ステップＳ５６に進む。
【０１３６】
前記ステップＳ５２において、第１出力信号Ｓ１が０以上であると判別された場合には（ステップＳ５２：ＮＯ）、つまり、第１出力信号Ｓ１が０である場合には、第１の回転角演算部７７Ａは、入力軸８の回転角が０°であるか１８０°であるかを判別するために、第２出力信号Ｓ２が０より大きいか否かを判別する（ステップＳ５３）。第２出力信号Ｓ２が０より大きい場合には（ステップＳ５３：ＹＥＳ）、第１の回転角演算部７７Ａは、入力軸８の回転角が０°であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ５４）。そして、ステップＳ５６に進む。
【０１３７】
一方、第２出力信号Ｓ２が０以下である場合には（ステップＳ５３：ＮＯ）、第１の回転角演算部７７Ａは、入力軸８の回転角が１８０°であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ５５）。そして、ステップＳ５６に進む。
ステップＳ５６では、第１の回転角演算部７７Ａは、「Ｓ１≧０かつＳ２＞０」または「Ｓ１≦０かつＳ２＜０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ５６：ＹＥＳ）、第１の回転角演算部７７Ａは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じであると判別し、第２相対的極番号ｒ２に第１相対的極番号ｒ１と同じ番号（ｒ２＝ｒ１）を設定する（ステップＳ５７）。そして、ステップＳ５９に進む。
【０１３８】
一方、前記ステップＳ５６の条件を満たしていない場合には（ステップＳ５６：ＮＯ）、第１の回転角演算部７７Ａは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい番号であると判別し、第２相対的極番号ｒ２に、第１相対的極番号ｒ１より１だけ大きい番号（ｒ２＝ｒ１＋１）を設定する（ステップＳ５８）。そして、ステップＳ５９に進む。
【０１３９】
ステップＳ５９では、第１の回転角演算部７７Ａは、「Ｓ１≧０かつＳ３＜０」または「Ｓ１≦０かつＳ３＞０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ５９：ＹＥＳ）、第１の回転角演算部７７Ａは、第３磁気センサ７３が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい番号であると判別し、第３相対的極番号ｒ３に、第１相対的極番号ｒ１より１だけ大きい番号（ｒ３＝ｒ１＋１）を設定する（ステップＳ６０）。そして、図９ＡのステップＳ２８に移行する。
【０１４０】
一方、前記ステップＳ５９の条件を満たしていない場合には（ステップＳ５９：ＮＯ）、第１の回転角演算部７７Ａは、第３磁気センサ７３が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より２だけ大きい番号であると判別し、第３相対的極番号ｒ３に、第１相対的極番号ｒ１より２だけ大きい番号（ｒ３＝ｒ１＋２）を設定する（ステップＳ６１）。そして、図９ＡのステップＳ２８に移行する。
【０１４１】
前記ステップＳ５６の条件に基づいて第２相対的極番号ｒ２を決定している理由および前記ステップＳ５９の条件に基づいて第３相対的極番号ｒ３を決定している理由について説明する。たとえば、磁石６１における磁極Ｍ１と磁極Ｍ２とからなる磁極対が第１磁気センサ７１を通過する際の、第１、第２および第３出力信号Ｓ１，Ｓ２，Ｓ３の信号波形を模式的に表すと、図１２の（ａ），（ｂ），（ｃ）のようになる。
【０１４２】
図１２において、Ｑ１およびＱ４で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じである。一方、Ｑ２，Ｑ３，Ｑ５およびＱ６で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい。
【０１４３】
領域Ｑ１においては、両センサ値Ｓ１，Ｓ２は、Ｓ１≧０かつＳ２＞０の第１条件を満たす。領域Ｑ２およびＱ３においては、両センサ値Ｓ１，Ｓ２は、Ｓ１＞０かつＳ２≦０の第２条件を満たす。領域Ｑ４においては、両センサ値Ｓ１，Ｓ２は、Ｓ１≦０かつＳ２＜０の第３条件を満たす。領域Ｑ５およびＱ６においては、両センサ値Ｓ１，Ｓ２は、Ｓ１＜０かつＳ２≧０の第４条件を満たす。そこで、第１の回転角演算部７７Ａは、第１条件および第３条件の一方を満たしているときには、第２磁気センサ７２が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号と同じであると判別している。一方、第１条件および第３条件のいずれの条件をも満たしていないときには、第１の回転角演算部７７Ａは、第２磁気センサ７２が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号より１だけ大きいと判別している。
【０１４４】
図１２において、Ｑ１およびＱ２で示す領域ならびにＱ４およびＱ５で示す領域においては、第３磁気センサ７３が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい。一方、Ｑ３およびＱ６で示す領域においては、第３磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より２だけ大きい。
【０１４５】
領域Ｑ１およびＱ２においては、両センサ値Ｓ１，Ｓ３は、Ｓ１≧０かつＳ３＜０の第５条件を満たす。領域Ｑ３においては、両センサ値Ｓ１，Ｓ３は、Ｓ１＞０かつＳ３≧０の第６条件を満たす。領域Ｑ４およびＱ５においては、両センサ値Ｓ１，Ｓ３は、Ｓ１≦０かつＳ３＞０の第７条件を満たす。領域Ｑ６においては、両センサ値Ｓ１，Ｓ２は、Ｓ１＜０かつＳ３≦０の第８条件を満たす。そこで、第１の回転角演算部７７Ａは、第５条件および第７条件のいずれか一方を満たしているときには、第３磁気センサ７３が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号より１だけ大きいと判別している。一方、第５条件および第７条件のいずれをも満たしていないときには、第１の回転角演算部７７Ａは、第３磁気センサ７３が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号より２だけ大きいと判別している。
【０１４６】
図９Ａに戻り、前記ステップＳ２４において、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理ではないと判別された場合には（ステップＳ２４：ＮＯ）、ステップＳ２６に移行する。
ステップＳ２６では、第１の回転角演算部７７Ａは、メモリに記憶されているセンサ値Ｓ１，Ｓ２，Ｓ３に基づいて、センサ値Ｓ１，Ｓ２，Ｓ３毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには（ステップＳ２６：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ２８に移行する。
【０１４７】
前記ステップＳ２６において、いずれかのセンサ値Ｓ１，Ｓ２，Ｓ３に対してゼロクロスが検出された場合には（ステップＳ２６：ＹＥＳ）、第１の回転角演算部７７Ａは、相対的極番号の更新処理を行なう（ステップＳ２７）。具体的には、第１の回転角演算部７７Ａは、前記ステップＳ２６でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１，ｒ２またはｒ３を、入力軸８（磁石６１）の回転方向に応じて、１だけ大きい番号または１だけ小さい番号に変更する。
【０１４８】
入力軸８の回転方向が正方向（図３に矢印で示す方向）である場合には、第１の回転角演算部７７Ａは、前記ステップＳ２６でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１，ｒ２またはｒ３を、１だけ大きい番号に更新する。一方、入力軸８の回転方向が逆方向である場合には、第１の回転角演算部７７Ａは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１，ｒ２またはｒ３を、１だけ小さい番号に更新する。ただし、前述したように、”１”の相対的極番号に対して、１だけ小さい相対的極番号は、”８”となる。また、”８”の相対的極番号に対して、１だけ大きい相対的極番号は、”１”となる。
【０１４９】
なお、入力軸８の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第１出力信号Ｓ１である場合には、「第１出力信号Ｓ１の前回値が０より大きくかつその今回値が０以下であり、第２出力信号Ｓ２が０より小さい」という条件、または「第１出力信号Ｓ１の前回値が０未満でかつその今回値が０以上であり、第２出力信号Ｓ２が０より大きい」という条件を満たしている場合には、回転方向は正方向（図３に矢印で示す方向）であると判定される。
【０１５０】
一方、「第１出力信号Ｓ１の前回値が０以上でかつその今回値が０未満であり、第２出力信号Ｓ２が０より大きい」という条件、または「第１出力信号Ｓ１の前回値が０以下でかつその今回値が０より大きく、第２出力信号Ｓ２が０より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第２出力信号Ｓ２である場合には、「第２出力信号Ｓ２の前回値が０より大きくかつその今回値が０以下であり、第１出力信号Ｓ１が０より大きい」という条件、または「第２出力信号Ｓ２の前回値が０未満でかつその今回値が０以上であり、第１出力信号Ｓ１が０より小さい」という条件を満たしている場合には、回転方向は正方向（図３に矢印で示す方向）であると判定される。一方、「第２出力信号Ｓ２の前回値が０以上でかつその今回値が０未満であり、第１出力信号Ｓ１が０より小さい」という条件、または「第２出力信号Ｓ２の前回値が０以下でかつその今回値が０より大きく、第１出力信号Ｓ１が０より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【０１５１】
ゼロクロスが検出された出力信号が第３出力信号Ｓ３である場合には、「第３出力信号Ｓ３の前回値が０より大きくかつその今回値が０以下であり、第２出力信号Ｓ２が０より大きい」という条件、または「第３出力信号Ｓ３の前回値が０未満でかつその今回値が０以上であり、第２出力信号Ｓ２が０より小さい」という条件を満たしている場合には、回転方向は正方向（図３に矢印で示す方向）であると判定される。
【０１５２】
一方、「第３出力信号Ｓ３の前回値が０以上でかつその今回値が０未満であり、第２出力信号Ｓ２が０より小さい」という条件、または「第３出力信号Ｓ３の前回値が０以下でかつその今回値が０より大きく、第２出力信号Ｓ２が０より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
相対的極番号の更新処理が終了すると、第１の回転角演算部７７Ａは、ステップＳ２８に移行する。ステップＳ２８では、第１の回転角演算部７７Ａは、第２センサ故障フラグＦＡ２の値が０であるか否かを判別する。第２センサ故障フラグＦＡ２の値が０である場合には（ステップＳ２８：ＹＥＳ）、つまり、第２磁気センサ７２が故障していない場合には、第１の回転角演算部７７Ａは、図９ＢのステップＳ３０に移行する。
【０１５３】
ステップＳ３０では、第１の回転角演算部７７Ａは、第１および第２磁気センサ７１，７２が正常でありかつそれらが共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する。ステップＳ３０の条件を満たしていない場合には（ステップＳ３０：ＮＯ）、第１の回転角演算部７７Ａは、第２および第３磁気センサ７２，７３が正常でありかつそれらが共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する（ステップＳ３２）。ステップＳ３２の条件を満たしていない場合には（ステップＳ３２：ＮＯ）、第１の回転角演算部７７Ａは、図９ＡのステップＳ２３に戻る。
【０１５４】
前記ステップＳ３０において、ステップＳ３０の条件を満たしていると判別された場合には（ステップＳ３０：ＹＥＳ）、第１の回転角演算部７７Ａは、ＥθおよびＥを演算するための演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する（ステップＳ３１）。ステップＳ３１の条件を満たしていない場合には（ステップＳ３１：ＮＯ）、第１の回転角演算部７７Ａは、図９ＡのステップＳ２３に戻る。一方、ステップＳ３１の条件を満たしている場合には（ステップＳ３１：ＹＥＳ）、第１の回転角演算部７７Ａは、ステップＳ３４に移行する。
【０１５５】
前記ステップＳ３２において、ステップＳ３２の条件を満たしていると判別された場合には（ステップＳ３２：ＹＥＳ）、第１の回転角演算部７７Ａは、ＥΘおよびＥを演算するための演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する（ステップＳ３３）。ステップＳ３３の条件を満たしていない場合には（ステップＳ３３：ＮＯ）、第１の回転角演算部７７Ａは、図９ＡのステップＳ２３に戻る。一方、ステップＳ３３の条件を満たしている場合には（ステップＳ３３：ＹＥＳ）、第１の回転角演算部７７Ａは、ステップＳ３４に移行する。
【０１５６】
ステップＳ３４では、第１の回転角演算部７７Ａは、第１方向とは反対方向である第２方向に電動モータ１８を回転駆動させる。具体的には、第１の回転角演算部７７Ａは、第２方向に電動モータ１８を回転駆動させるための第２強制回転指令をモータ制御用ＥＣＵ１２に送信する。モータ制御用ＥＣＵ１２は、この第２強制回転指令を受信すると、第２方向に電動モータ１８を回転駆動させる。
【０１５７】
この後、第１の回転角演算部７７Ａは、各磁気センサ７１，７２，７３のセンサ値Ｓ１[n], Ｓ２[n] ，Ｓ３[n]を取得する（ステップＳ３５）。ステップＳ３５の処理は、後述するステップＳ３９、Ｓ４３またはステップＳ４７でＹＥＳと判定されるまで、所定の演算周期毎に繰り返し実行される。そして、第１の回転角演算部７７Ａは、メモリに記憶されているセンサ値Ｓ１，Ｓ２，Ｓ３に基づいて、センサ値Ｓ１，Ｓ２，Ｓ３毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する（ステップＳ３６）。ゼロクロスが検出されなかったときには（ステップＳ３６：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ３８に移行する。
【０１５８】
前記ステップＳ３６において、いずれかのセンサ値Ｓ１，Ｓ２，Ｓ３に対してゼロクロスが検出された場合には（ステップＳ３６：ＹＥＳ）、第１の回転角演算部７７Ａは、相対的極番号の更新処理を行なう（ステップＳ３７）。この相対的極番号の更新処理は、前述したステップＳ２７における相対的極番号の更新処理と同じである。ステップＳ３７の相対的極番号の更新処理が終了すると、第１の回転角演算部７７Ａは、ステップＳ３８に移行する。
【０１５９】
ステップＳ３８では、第１の回転角演算部７７Ａは、第２センサ故障フラグＦＡ２の値が０であるか否かを判別する。第２センサ故障フラグＦＡ２の値が０である場合には（ステップＳ３８：ＹＥＳ）、つまり、第２磁気センサ７２が故障していない場合には、第１の回転角演算部７７Ａは、図９ＣのステップＳ４２に移行する。
ステップＳ４２では、第１の回転角演算部７７Ａは、第１および第２磁気センサ７１，７２が正常でありかつそれらが共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する。ステップＳ４２の条件を満たしていない場合には（ステップＳ４２：ＮＯ）、第１の回転角演算部７７Ａは、第２および第３磁気センサ７２，７３が正常でありかつそれらが共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する（ステップＳ４６）。ステップＳ４６の条件を満たしていない場合には（ステップＳ４６：ＮＯ）、第１の回転角演算部７７Ａは、図９ＢのステップＳ３５に戻る。
【０１６０】
前記ステップＳ４２において、ステップＳ４２の条件を満たしていると判別された場合には（ステップＳ４２：ＹＥＳ）、第１の回転角演算部７７Ａは、第１演算モードのためのＥθ基本演算式およびＥ演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する（ステップＳ４３）。ステップＳ４３の条件を満たしていない場合には（ステップＳ４３：ＮＯ）、第１の回転角演算部７７Ａは、図９ＢのステップＳ３５に戻る。
【０１６１】
ステップＳ４３の条件を満たしていると判別された場合には（ステップＳ４３：ＹＥＳ）、第１の回転角演算部７７Ａは、第１演算モードによってθ[n]，Ｅ，Ａ１，Ａ２を演算する（ステップＳ４４）。そして、第１の回転角演算部７７Ａは、演算されたＥ、Ａ１およびＡ２を、第１および第２磁気センサ７１，７２が検出している磁極の相対的極番号に関連付けてメモリに記憶する（ステップＳ４５）。第１および第２磁気センサ７１，７２が検出している磁極の相対的極番号は、現在設定されている第１相対的極番号ｒ１または第２相対的極番号ｒ２と同じ値となる。具体的には、第１の回転角演算部７７Ａは、メモリのエリアｅ１，ｅ２，ｅ３内の現在設定されている第１相対的極番号ｒ１に対応する記憶場所に、演算されたＥ、Ａ１およびＡ２をそれぞれ記憶する。この後、第１の回転角演算部７７Ａは、ステップＳ５０に進む。
【０１６２】
前記ステップＳ４６において、ステップＳ４６の条件を満たしていると判別された場合には（ステップＳ４６：ＹＥＳ）、第１の回転角演算部７７Ａは、第２演算モードのためのＥΘ基本演算式およびＥ演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する（ステップＳ４７）。ステップＳ４７の条件を満たしていない場合には（ステップＳ４７：ＮＯ）、第１の回転角演算部７７Ａは、図９ＢのステップＳ３５に戻る。
【０１６３】
ステップＳ４７の条件を満たしている場合には（ステップＳ４７：ＹＥＳ）、第１の回転角演算部７７Ａは、第２演算モードによってθ[n]，Ｅ，Ａ２，Ａ３を演算する（ステップＳ４８）。そして、第１の回転角演算部７７Ａは、演算されたＥ、Ａ２およびＡ３を、第２および第３磁気センサ７２，７３が検出している磁極の相対的極番号に関連付けてメモリに記憶する（ステップＳ４９）。第２および第３磁気センサ７２，７３が検出している磁極の相対的極番号は、現在設定されている第２相対的極番号ｒ２または第３相対的極番号ｒ３と同じ値となる。具体的には、第１の回転角演算部７７Ａは、メモリのエリアｅ１，ｅ３，ｅ４内の現在設定されている第３相対的極番号ｒ３に対応する記憶場所に、演算されたＥ、Ａ２およびＡ３をそれぞれ記憶する。この後、第１の回転角演算部７７Ａは、ステップＳ５０に進む。
【０１６４】
図９Ａに戻り、前記ステップＳ２８において、第２センサ故障フラグＦＡ２の値が０ではないと判別された場合には（ステップＳ２８：ＮＯ）、つまり、電源オンの直後から第２磁気センサ７２が故障していると判定されている場合には、第１の回転角演算部７７Ａは、ステップＳ２９に移行する。ステップＳ２９では、第１の回転角演算部７７Ａは、第１方向に電動モータ１８が回転駆動された後において、２回分のセンサ値Ｓ１，Ｓ３を取得したか否かを判別する。
【０１６５】
２回分のセンサ値Ｓ１，Ｓ３を取得していない場合には（ステップＳ２９：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ２３に戻り、センサ値Ｓ１，Ｓ２，Ｓ３を取得する。前記ステップＳ２９において、２回分のセンサ値Ｓ１，Ｓ３を取得していると判別された場合には（ステップＳ２９：ＹＥＳ）、第１の回転角演算部７７Ａは、図９ＢのステップＳ３４に移行し、第２方向に電動モータ１８を駆動する。
【０１６６】
図９Ｂの前記ステップＳ３８において、第２センサ故障フラグＦＡ２の値が０ではないと判別された場合には（ステップＳ３８：ＮＯ）、つまり、電源オンの直後から第２磁気センサ７２が故障していると判定されている場合には、第１の回転角演算部７７Ａは、ステップＳ３９に移行する。ステップＳ３９では、第１の回転角演算部７７Ａは、第２方向に電動モータ１８が回転駆動された後において、２回分のセンサ値Ｓ１，Ｓ３を取得したか否かを判別する。
【０１６７】
２回分のセンサ値Ｓ１，Ｓ３を取得していない場合には（ステップＳ３９：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ３５に戻り、センサ値Ｓ１，Ｓ２，Ｓ３を取得する。前記ステップＳ３９において、２回分のセンサ値Ｓ１，Ｓ３を取得していると判別された場合には（ステップＳ３９：ＹＥＳ）、第１の回転角演算部７７Ａは、第２センサ故障フラグＦＡ２の値を２に設定する（ステップＳ４０）。そして、第１の回転角演算部７７Ａは、第６演算モードによって入力軸８の回転角θを演算する（ステップＳ４１）。
【０１６８】
この時点では、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅおよび第３磁気センサ７３が検出している磁極に対応する角度幅誤差補正値Ｅのいずれもがメモリに記憶されていない。このため、第１の回転角演算部７７Ａは、第３演算モードまたは第５演算モードによって回転角θを演算することができない。そこで、第１の回転角演算部７７Ａは、第６演算モードによって入力軸８の回転角θを演算している。第１の回転角演算部７７Ａは、第６演算モードによって回転角θを演算した後、図９ＣのステップＳ５０に移行する。
【０１６９】
ステップＳ５０では、第１の回転角演算部７７Ａは、電動モータ１８の駆動を停止させるとともに運転者への警告を停止させる。具体的には、第１の回転角演算部７７Ａは、電動モータ１８の駆動停止指令をモータ制御用ＥＣＵ１２に送信するとともに、映像音声制御装置に警告停止指令を送信する。モータ制御用ＥＣＵ１２は、電動モータ１８の駆動停止指令を受信すると電動モータ１８の駆動を停止させる。映像音声制御装置は、警告停止指令を受信すると、警告表示、警告音声出力等を停止させる。これにより、強制回転に基づく回転角演算処理が終了する。
【０１７０】
図１３Ａ、図１３Ｂおよび図１３Ｃは、図７のステップＳ５の通常時の回転角演算処理の手順を示すフローチャートである。
通常時の回転角演算処理においては、第１の回転角演算部７７Ａは、図７のステップＳ１の故障判定処理（より詳しくは図８のステップＳ１１）において取得されたセンサ値Ｓ１[n], Ｓ２[n] ，Ｓ３[n]に基づいて、入力軸１８の回転角θを演算する。
【０１７１】
第１の回転角演算部７７Ａは、メモリに記憶されているセンサ値Ｓ１，Ｓ２，Ｓ３に基づいて、センサ値Ｓ１，Ｓ２，Ｓ３毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する（ステップＳ８１）。ゼロクロスが検出されなかったときには（ステップＳ８１：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ８３に移行する。
前記ステップＳ８１において、いずれかのセンサ値Ｓ１，Ｓ２，Ｓ３に対してゼロクロスが検出された場合には（ステップＳ８１：ＹＥＳ）、第１の回転角演算部７７Ａは、相対的極番号の更新処理を行なう（ステップＳ８２）。この相対的極番号の更新処理は、前述した図９ＡのステップＳ２７における相対的極番号の更新処理と同じである。ステップＳ８２の相対的極番号の更新処理が終了すると、第１の回転角演算部７７Ａは、ステップＳ８３に移行する。
【０１７２】
ステップＳ８３では、第１の回転角演算部７７Ａは、第２センサ故障フラグＦＡ２の値が０であるか否かを判別する。第２センサ故障フラグＦＡ２の値が０である場合には（ステップＳ８３：ＹＥＳ）、つまり、第２磁気センサ７２が故障していない場合には、第１の回転角演算部７７Ａは、ステップＳ８４に移行する。
ステップＳ８４では、第１の回転角演算部７７Ａは、第１および第２磁気センサ７１，７２が正常でありかつそれらが共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する。ステップＳ８４の条件を満たしている場合には（ステップＳ８４：ＹＥＳ）、第１の回転角演算部７７Ａは、第１演算モードによってθ[n]，Ｅ，Ａ１，Ａ２を演算する（ステップＳ８５）。第１演算モードによって回転角θ[n]を演算する際においては、第１の回転角演算部７７Ａは、Ｅθ基本演算式に含まれている分数の分母が零でないか否か、Ｅ演算式に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてθ[n]，Ｅ，Ａ１，Ａ２を演算する。
【０１７３】
第１の回転角演算部７７Ａは、θ[n]，Ｅ，Ａ１，Ａ２を演算すると、Ｅθ基本演算式およびＥ演算式に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する（ステップＳ８６）。ステップＳ８６の条件を満たしていた場合には（ステップＳ８６：ＹＥＳ）、第１の回転角演算部７７Ａは、演算されたＥ、Ａ１およびＡ２を、第１および第２磁気センサ７１，７２が検出している磁極の相対的極番号に関連付けてメモリに記憶する（ステップＳ８７）。第１および第２磁気センサ７１，７２が検出している磁極の相対的極番号は、現在設定されている第１相対的極番号ｒ１または第２相対的極番号ｒ２と同じ値となる。具体的には、第１の回転角演算部７７Ａは、メモリのエリアｅ１，ｅ２，ｅ３内の現在設定されている第１相対的極番号ｒ１に対応する記憶場所に、演算されたＥ、Ａ１およびＡ２をそれぞれ記憶する。なお、メモリのエリアｅ１，ｅ２，ｅ３の前記記憶場所に既にＥ、Ａ１およびＡ２が記憶されている場合には、今回演算されたＥ、Ａ１およびＡ２が上書きされる。この後、第１の回転角演算部７７Ａは、今回の通常時の回転角演算処理を終了する。
【０１７４】
前記ステップＳ８６において、ステップＳ８６の条件を満たしていなかったと判別された場合には（ステップＳ８６：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ８７の処理を行うことなく、今回の通常時の回転角演算処理を終了する。したがって、この場合には、ステップＳ８５で演算されたＥ、Ａ１およびＡ２は、メモリのエリアｅ１，ｅ２，ｅ３に記憶されない。
【０１７５】
前記ステップＳ８４において、ステップＳ８４の条件を満たしていないと判別された場合には（ステップＳ８４：ＮＯ）、第１の回転角演算部７７Ａは、第２および第３磁気センサ７２，７３が正常でありかつそれらが共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する（ステップＳ８８）。ステップＳ８８の条件を満たしている場合には（ステップＳ８８：ＹＥＳ）、第１の回転角演算部７７Ａは、第２演算モードによってθ[n]，Ｅ，Ａ２，Ａ３を演算する（ステップＳ８９）。第２演算モードによって回転角θ[n]を演算する際においては、第１の回転角演算部７７Ａは、ＥΘ基本演算式に含まれている分数の分母が零でないか否か、Ｅ演算式に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてθ[n]，Ｅ，Ａ２，Ａ３を演算する。
【０１７６】
第１の回転角演算部７７Ａは、θ[n]，Ｅ，Ａ２，Ａ３を演算すると、ＥΘ基本演算式およびＥ演算式に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する（ステップＳ９０）。ステップＳ９０の条件を満たしていた場合には（ステップＳ９０：ＹＥＳ）、第１の回転角演算部７７Ａは、演算されたＥ、Ａ２およびＡ３を、第２および第３磁気センサ７２，７３が検出している磁極の相対的極番号に関連付けてメモリに記憶する（ステップＳ９１）。第２および第３磁気センサ７２，７３が検出している磁極の相対的極番号は、現在設定されている第２相対的極番号ｒ２または第３相対的極番号ｒ３と同じ値となる。具体的には、第１の回転角演算部７７Ａは、メモリのエリアｅ１，ｅ３，ｅ４内の現在設定されている第３相対的極番号ｒ３に対応する記憶場所に、演算されたＥ、Ａ２およびＡ３をそれぞれ記憶する。なお、メモリのエリアｅ１，ｅ３，ｅ４の前記記憶場所に既にＥ、Ａ２およびＡ３が記憶されている場合には、今回演算されたＥ、Ａ２およびＡ３が上書きされる。この後、第１の回転角演算部７７Ａは、今回の通常時の回転角演算処理を終了する。
【０１７７】
前記ステップＳ９０において、ステップＳ９０の条件を満たしていなかったと判別された場合には（ステップＳ９０：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ９１の処理を行うことなく、今回の通常時の回転角演算処理を終了する。したがって、この場合には、ステップＳ８９で演算されたＥ、Ａ２およびＡ３は、メモリのエリアｅ１，ｅ３，ｅ４に記憶されない。
【０１７８】
前記ステップＳ８８において、ステップＳ８８の条件を満たしていないと判別された場合には（ステップＳ８８：ＮＯ）、第１の回転角演算部７７Ａは、図１３ＢのステップＳ９２に移行する。ステップＳ９２では、第１の回転角演算部７７Ａは、第１磁気センサ７１が正常でありかつ第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されているか否かを判別する。第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されているか否かの判別は、メモリのエリアｅ１内の現在設定されている第１相対的極番号ｒ１に対応する記憶場所に、角度幅誤差補正値Ｅが記憶されているか否かに基づいて行われる。
【０１７９】
第１磁気センサ７１が正常でありかつ第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されている場合には（ステップＳ９２：ＹＥＳ）、第１の回転角演算部７７Ａは、第３演算モードによって回転角θ[n]を演算する（ステップＳ９３）。そして、第１の回転角演算部７７Ａは、今回の通常時の回転角演算処理を終了する。
【０１８０】
前記ステップＳ９２において、第１磁気センサ７１が故障していると判定されている場合または第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されていないと判別された場合には（ステップＳ９２：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ９４に進む。ステップＳ９４では、第１の回転角演算部７７Ａは、第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されているか否かを判別する。この判別は、メモリのエリアｅ１内の現在設定されている第２相対的極番号ｒ２に対応する記憶場所に、角度幅誤差補正値Ｅが記憶されているか否かに基づいて行われる。
【０１８１】
第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されている場合には（ステップＳ９４：ＹＥＳ）、第１の回転角演算部７７Ａは、第４演算モードによって回転角θ[n]を演算する（ステップＳ９３）。そして、第１の回転角演算部７７Ａは、今回の通常時の回転角演算処理を終了する。
前記ステップＳ９４において、第２磁気センサ７２１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されていないと判別された場合には（ステップＳ９４：ＮＯ）、第１の回転角演算部７７Ａは、第５演算モードによって回転角θ[n]を演算する（ステップＳ９６）。そして、第１の回転角演算部７７Ａは、今回の通常時の回転角演算処理を終了する。
【０１８２】
図１３Ａに戻り、前記ステップＳ８３において、第２センサ故障フラグＦＡ２の値が０でないと判別された場合には（ステップＳ８３：ＮＯ）、つまり、第２磁気センサ７２が故障している場合には、第１の回転角演算部７７Ａは、図１３ＣのステップＳ９７に移行する。ステップＳ９７では、第１の回転角演算部７７Ａは、第２センサ故障フラグＦＡ２の値が２であるか否かを判別する。第２センサ故障フラグＦＡ２の値が２でない場合には（ステップＳ９７：ＹＥＳ）、つまり、第２センサ故障フラグＦＡ２の値が１である場合には、第１の回転角演算部７７Ａは、ステップＳ９８に移行する。なお、第２センサ故障フラグＦＡ２の値が２でない場合とは、故障判定処理（図７のステップＳ１参照）によって第２磁気センサ７２が故障していると判定されてはいるが、入力軸８の回転角θが第６演算モードによって演算されていない場合である。
【０１８３】
ステップＳ９８では、第１の回転角演算部７７Ａは、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されているか否かを判別する。この判別は、メモリのエリアｅ１内の現在設定されている第１相対的極番号ｒ１に対応する記憶場所に、角度幅誤差補正値Ｅが記憶されているか否かに基づいて行われる。
第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されている場合には（ステップＳ９８：ＹＥＳ）、第１の回転角演算部７７Ａは、第３演算モードによって回転角θ[n]を演算する（ステップＳ９９）。そして、第１の回転角演算部７７Ａは、今回の通常時の回転角演算処理を終了する。
【０１８４】
前記ステップＳ９８において、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されていないと判別された場合には（ステップＳ９８：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ１００に進む。ステップＳ１００では、第１の回転角演算部７７Ａは、第３磁気センサ７３が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されているか否かを判別する。この判別は、メモリのエリアｅ１内の現在設定されている第３相対的極番号ｒ３に対応する記憶場所に、角度幅誤差補正値Ｅが記憶されているか否かに基づいて行われる。
【０１８５】
第３磁気センサ７３が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されている場合には（ステップＳ１００：ＹＥＳ）、第１の回転角演算部７７Ａは、第５演算モードによって回転角θ[n]を演算する（ステップＳ１０１）。そして、第１の回転角演算部７７Ａは、今回の通常時の回転角演算処理を終了する。
前記ステップＳ１００において、第３磁気センサ７３が検出している磁極に対応する角度幅誤差補正値Ｅがメモリに記憶されていないと判別された場合には（ステップＳ１００：ＮＯ）、第１の回転角演算部７７Ａは、第２センサ故障フラグＦＡ２の値を２に設定する（ステップＳ１０２）。この後、第１の回転角演算部７７Ａは、第６演算モードによって入力軸８の回転角θを演算する（ステップＳ１０３）。そして、今回の通常時の回転角演算処理を終了する。
【０１８６】
前記ステップＳ９７において、第２センサ故障フラグＦＡ２の値が２であると判別された場合には（ステップＳ９７：ＮＯ）、第１の回転角演算部７７Ａは、第６演算モードによって入力軸８の回転角θを演算する（ステップＳ１０３）。そして、今回の通常時の回転角演算処理を終了する。
なお、図１３ＡのステップＳ８６を省略して、ステップＳ８５の処理が終了したときには、ステップＳ８７に進むようにしてもよい。同様に、図１３ＡのステップＳ９０を省略して、ステップＳ８９の処理が終了したときには、ステップＳ９１に進むようにしてもよい。
【０１８７】
図２を参照して、第１の回転角演算部７７Ａは、前述したように、第１、第２および第３磁気センサ７１，７２，７３の出力信号Ｓ１，Ｓ２，Ｓ３に基づいて入力軸８の回転角θ（θＡ）を演算する。そして、第１の回転角演算部７７Ａは、演算した回転角θＡを第２センサ故障フラグＦＡ２とともに、トルク演算部７７Ｃに与える。
第２の回転角演算部７７Ｂは、第１の回転角演算部７７Ａと同様な処理を行うことにより、出力軸９の回転角θＢを演算する。第４、第５および第６磁気センサ７４，７５，７６は、それぞれ第１、第２および第３磁気センサ７１，７２，７３に対応しているものとする。第２の回転角演算部７７Ｂは、第１の回転角演算部７７Ａで用いられたフラグＦＡＫ，ＦＡ１，ＦＡ２，ＦＡ３にそれぞれ対応するフラグＦＢＫ，ＦＢ４，ＦＢ５，ＦＢ６を用い、第４、第５および第６磁気センサ７４，７５，７６の出力信号Ｓ４，Ｓ５，Ｓ６に基づいて出力軸９の回転角θＢを演算する。そして、第２の回転角演算部７７Ｂは、演算した回転角θＢを第５センサ故障フラグＦＢ５とともに、トルク演算部７７Ｃに与える。
【０１８８】
なお、第４、第５および第６磁気センサ７４，７５，７６のうちの第５磁気センサ７５が、それらの中央に配置された磁気センサである。第５磁気センサ７５の故障が検出されたときに第５センサ故障フラグＦＢ５の値が１に設定される。そして、第２の回転角演算部７７Ｂが第６演算モードに対応する演算モードで回転角θＢを演算するときには第５センサ故障フラグＦＢ５の値が２に設定される。
【０１８９】
トルク演算部７７Ｃは、第１の回転角演算部７７Ａから与えられた入力軸８の回転角θＡと、第２の回転角演算部７７Ｂから与えられた出力軸９の回転角θＢとに基づいて、操舵トルクＴｈを演算する（前記式(1)参照）。そして、トルク演算部７７Ｃは、演算された操舵トルクＴｈを、第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５とともに、モータ制御用ＥＣＵ１２に与える。
【０１９０】
また、トルク演算部７７Ｃは、全ての磁極に対する、角度幅誤差補正値Ｅ、第１磁気センサ７１の出力信号Ｓ１の振幅Ａ１および第３磁気センサ７３の出力信号Ｓ３の振幅Ａ３がメモリに記憶されているか否かを監視しており、その監視結果を記憶するための第１補正値監視フラグＦＡＥをモータ制御用ＥＣＵ１２に与える。第１補正値監視フラグＦＡＥの初期値は０であり、全ての磁極対する、角度幅誤差補正値Ｅおよび前記２つの磁気センサ７１，７３の出力信号Ｓ１，Ｓ３の振幅Ａ１, Ａ３が記憶されている場合には、第１補正値監視フラグＦＡＥの値は１に設定される。
【０１９１】
同様に、トルク演算部７７Ｃは、メモリ内に全ての磁極に対する、角度幅誤差補正値、第４磁気センサ７４の出力信号の振幅および第６磁気センサ７６の出力信号の振幅がメモリに記憶されているか否かを監視しており、その監視結果を記憶するための第２補正値監視フラグＦＢＥをモータ制御用ＥＣＵ１２に与える。第２補正値監視フラグＦＢＥの初期値は０であり、全ての磁極に対する、角度幅誤差補正値および前記２つの磁気センサ７４，７６の出力信号振幅が記憶されている場合には、第２補正値監視フラグＦＢＥの値は１に設定される。
【０１９２】
図１４は、モータ制御用ＥＣＵ１２の電気的構成を示す概略図である。
モータ制御用ＥＣＵ１２は、トルクセンサ１１によって検出される操舵トルクＴｈに応じて電動モータ１８を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。なお、ここでは、具体的な説明を省略するが、モータ制御用ＥＣＵ１２は、回転角演算部７７Ａ，７７Ｂ（図２参照）から指令（前記第１強制回転指令、前記第２強制回転指令および前記駆動停止指令）が与えられたときには、その指令に対応した処理を実行する機能をも備えている。
【０１９３】
モータ制御用ＥＣＵ１２は、マイクロコンピュータ４０と、マイクロコンピュータ４０によって制御され、電動モータ１８に電力を供給する駆動回路（インバータ回路）３１と、電動モータ１８に流れるモータ電流を検出する電流検出部３２とを備えている。
電動モータ１８は、例えば三相ブラシレスモータであり、図１５に図解的に示すように、界磁としてのロータ１００と、Ｕ相、Ｖ相およびＷ相のステータ巻線１０１，１０２，１０３を含むステータ１０５とを備えている。電動モータ１８は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【０１９４】
各相のステータ巻線１０１，１０２，１０３の方向にＵ軸、Ｖ軸およびＷ軸をとった三相固定座標（ＵＶＷ座標系）が定義される。また、ロータ１００の磁極方向にｄ軸（磁極軸）をとり、ロータ１００の回転平面内においてｄ軸と直角な方向にｑ軸（トルク軸）をとった二相回転座標系（ｄｑ座標系。実回転座標系）が定義される。ｄｑ座標系は、ロータ１００とともに回転する回転座標系である。ｄｑ座標系では、ｑ軸電流のみがロータ１００のトルク発生に寄与するので、ｄ軸電流を零とし、ｑ軸電流を所望のトルクに応じて制御すればよい。ロータ１００の回転角（電気角）θ-Ｓは、Ｕ軸に対するｄ軸の回転角である。ｄｑ座標系は、ロータ角θ-Ｓに従う実回転座標系である。このロータ角θ-Ｓを用いることによって、ＵＶＷ座標系とｄｑ座標系との間での座標変換を行うことができる。
【０１９５】
マイクロコンピュータ４０は、ＣＰＵおよびメモリ（ＲＯＭ、ＲＡＭ、不揮発性メモリなど）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値設定部４１と、電流偏差演算部４２と、ＰＩ（比例積分）制御部４３と、ｄｑ／ＵＶＷ変換部４４と、ＰＷＭ（Pulse Width Modulation）制御部４５と、ＵＶＷ／ｄｑ変換部４６と、回転角演算部４７とを含む。
【０１９６】
回転角演算部４７は、回転角センサ２５の出力信号に基づいて、電動モータ１８のロータの回転角（電気角。以下、「ロータ角θＳ」という。）を演算する。
電流指令値設定部４１は、ｄｑ座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部４１は、ｄ軸電流指令値Ｉｄ＊およびｑ軸電流指令値Ｉｑ＊（以下、これらを総称するときには「二相電流指令値Ｉｄｑ＊」という。）を設定する。さらに具体的には、電流指令値設定部４１は、ｑ軸電流指令値Ｉｑ＊を有意値とする一方で、ｄ軸電流指令値Ｉｄ＊を零とする。より具体的には、電流指令値設定部４１は、トルクセンサ１１から与えられる操舵トルク（検出操舵トルク）Ｔｈならびに第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５に基づいて、ｑ軸電流指令値Ｉｑ＊を設定する。
【０１９７】
第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５の値が共に２以外の値（０または１）である場合には（ＦＡ２≠２でかつＦＢ５≠２）である場合の、ｑ軸電流指令値Ｉｑ＊の設定方法について説明する。この場合には、入力軸８の回転角θＡは第６演算モード以外の演算モードによって演算され、出力軸９８の回転角θＢは第６演算モードに対応する演算モード以外の演算モードによって演算されるので、検出操舵トルクＴｈの検出精度は高いと考えられる。
【０１９８】
この場合における、検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例は、図１６Ａに示されている。検出操舵トルクＴｈは、たとえば、右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、ｑ軸電流指令値Ｉｑ＊は、電動モータ１８から右方向操舵のための操作補助力を発生させるべきときには正の値とされ、電動モータ１８から左方向操舵のための操作補助力を発生させるべきときには負の値とされる。ｑ軸電流指令値Ｉｑ＊は、検出操舵トルクＴｈの正の値に対しては正をとり、検出操舵トルクＴｈの負の値に対しては負をとる。検出操舵トルクＴｈが零のときには、ｑ軸電流指令値Ｉｑ＊は零とされる。そして、検出操舵トルクＴｈの絶対値が大きくなるほど、ｑ軸電流指令値Ｉｑ＊の絶対値が大きくなるように、ｑ軸電流指令値Ｉｑ＊が設定されている。
【０１９９】
次に、第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５の値が共に２である場合の、ｑ軸電流指令値Ｉｑ＊の設定方法について説明する。この場合には、入力軸８の回転角θＡは第６演算モード（以下、「誤差許容演算モード」という）によって演算され、出力軸９の回転角θＢは前記第６演算モードに対応する演算モード（以下、「誤差許容演算モード」という）によって演算されている。
【０２００】
入力軸８の回転角θＡが誤差許容演算モードによって演算された場合の、回転角θＡの想定される最大誤差をεＡとする。また、出力軸９の回転角θＢが誤差許容演算モードによって演算された場合の、回転角θＢの想定される最大誤差をεＢとする。ここでは、εＡとεＢとは等しいと仮定し、これらをεで表すことにする（εＡ＝εＢ＝ε）とする。操舵トルクＴｈの演算に用いられた入力軸８および出力軸９の回転角θＡ，θＢのそれぞれに前記最大誤差εが発生していると仮定した場合に、これらの最大誤差εに起因して発生する検出操舵トルクの誤差の大きさ（想定最大トルク誤差）をＴｈ１（＞０）とする。この想定最大トルク誤差Ｔｈ１の大きさは、予め演算によって求められているものとする。
【０２０１】
第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５の値が共に２である場合における、検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例は、図１６Ｂに実線の曲線で示されている。図１６Ｂの破線の曲線は、図１６Ａの設定例を示している。検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１以下の領域には、ｑ軸電流指令値Ｉｑ＊が零となる不感帯が設定されている。検出操舵トルクＴｈがＴｈ１より大きい領域では、ｑ軸電流指令値Ｉｑ＊は正の値をとり、検出操舵トルクＴｈが大きくなるほど大きくなるように設定されている。検出操舵トルクＴｈが−Ｔｈ１より小さい領域では、ｑ軸電流指令値Ｉｑ＊は負の値をとり、検出操舵トルクＴｈが小さくなるほど小さくなるように設定されている。
【０２０２】
これにより、入力軸８の回転角θＡおよび出力軸９の回転角θＢの両方が誤差許容演算モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。
次に、第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５のうちのいずれか一方の値が２であり、他方の値が２以外の値（０または１）である場合の、ｑ軸電流指令値Ｉｑ＊の設定方法について説明する。この場合には、入力軸８の回転角θＡおよび出力軸の回転角θＢのうちの一方のみが誤差許容演算モードで演算されているので、想定される検出操舵トルクの最大誤差は、前記想定最大トルク誤差Ｔｈ１の１／２となる。したがって、この場合の検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例は、図１６Ｃに実線の曲線で示すようになる。図１６Ｂの破線の曲線は、図１６Ａの設定例を示している。検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１の１／２以下の領域には、ｑ軸電流指令値Ｉｑ＊が零となる不感帯が設定されている。検出操舵トルクＴｈがＴｈ１の１／２より大きい領域では、ｑ軸電流指令値Ｉｑ＊は正の値をとり、検出操舵トルクＴｈが大きくなるほど大きくなるように設定されている。検出操舵トルクＴｈが−Ｔｈ１の１／２より小さい領域では、ｑ軸電流指令値Ｉｑ＊は負の値をとり、検出操舵トルクＴｈが小さくなるほど小さくなるように設定されている。
【０２０３】
これにより、入力軸８の回転角θＡおよび出力軸９の回転角θＢのうちの一方が誤差許容演算モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。
電流指令値設定部４１によって設定された二相電流指令値Ｉｄｑ＊は、電流偏差演算部４２に与えられる。
【０２０４】
電流検出部３２は、電動モータ１８のＵ相電流ＩＵ、Ｖ相電流ＩＶおよびＷ相電流ＩＷ（以下、これらを総称するときは、「三相検出電流ＩＵＶＷ」という。）を検出する。電流検出部３２によって検出された三相検出電流ＩＵＶＷは、ＵＶＷ／ｄｑ変換部４６に与えられる。
ＵＶＷ／ｄｑ変換部４６は、電流検出部３２によって検出されるＵＶＷ座標系の三相検出電流ＩＵＶＷ（Ｕ相電流ＩＵ、Ｖ相電流ＩＶおよびＷ相電流ＩＷ）を、ｄｑ座標系の二相検出電流ＩｄおよびＩｑ（以下総称するときには「二相検出電流Ｉｄｑ」という。）に座標変換する。この座標変換には、回転角演算部４７によって演算されたロータ角θＳが用いられる。
【０２０５】
電流偏差演算部４２は、電流指令値設定部４１によって設定される二相電流指令値Ｉｄｑ＊と、ＵＶＷ／ｄｑ変換部４６から与えられる二相検出電流Ｉｄｑとの偏差を演算する。より具体的には、電流偏差演算部４２は、ｄ軸電流指令値Ｉｄ＊に対するｄ軸検出電流Ｉｄの偏差およびｑ軸電流指令値Ｉｑ＊に対するｑ軸検出電流Ｉｑの偏差を演算する。これらの偏差は、ＰＩ制御部４３に与えられる。
【０２０６】
ＰＩ制御部４３は、電流偏差演算部４２によって演算された電流偏差に対するＰＩ演算を行なうことにより、電動モータ１８に印加すべき二相電圧指令値Ｖｄｑ＊（ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊）を生成する。この二相電圧指令値Ｖｄｑ＊は、ｄｑ／ＵＶＷ変換部４４に与えられる。
ｄｑ／ＵＶＷ変換部４４は、二相電圧指令値Ｖｄｑ＊を三相電圧指令値ＶＵＶＷ＊に座標変換する。この座標変換には、回転角演算部４７によって演算されたロータ角θＳが用いられる。三相電圧指令値ＶＵＶＷ＊は、Ｕ相電圧指令値ＶＵ＊、Ｖ相電圧指令値ＶＶ＊およびＷ相電圧指令値ＶＷ＊からなる。この三相電圧指令値ＶＵＶＷ＊は、ＰＷＭ制御部４５に与えられる。
【０２０７】
ＰＷＭ制御部４５は、Ｕ相電圧指令値ＶＵ＊、Ｖ相電圧指令値ＶＶ＊およびＷ相電圧指令値ＶＷ＊にそれぞれ対応するデューティのＵ相ＰＷＭ制御信号、Ｖ相ＰＷＭ制御信号およびＷ相ＰＷＭ制御信号を生成し、駆動回路３１に供給する。
駆動回路３１は、Ｕ相、Ｖ相およびＷ相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がＰＷＭ制御部４５から与えられるＰＷＭ制御信号によって制御されることにより、三相電圧指令値ＶＵＶＷ＊に相当する電圧が電動モータ１８の各相のステータ巻線１０１，１０２、１０３に印加されることになる。
【０２０８】
電流偏差演算部４２およびＰＩ制御部４３は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ１８に流れるモータ電流が、電流指令値設定部４１によって設定された二相電流指令値Ｉｄｑ＊に近づくように制される。
次に、図１７を参照して、電流指令値設定部４１の第１変形例について説明する。図１７は、電流指令値設定部４１の第１変形例の動作を示すフローチャートである。図１７の処理は、所定の演算周期毎に繰り返し行われる。
【０２０９】
第１変形例では、電流指令値設定部４１は、トルクセンサ１１から与えられる操舵トルク（検出操舵トルク）Ｔｈ、第２センサ故障フラグＦＡ２、第５センサ故障フラグＦＢ５、第１補正値監視フラグＦＡＥおよび第２補正値監視フラグＦＢＥに基づいて、ｑ軸電流指令値Ｉｑ＊を設定する。また、検出操舵トルクＴｈとｑ軸電流指令値Ｉｑ＊との関係を記憶したマップとして、図１６Ａに示す通常時用マップと、図１６Ｂに示す故障時用マップとの２種類が予め設定されているものとする。
【０２１０】
まず、電流指令値設定部４１は、故障モードフラグＦｆの値が１であるか否かを判別する（ステップＳ１２１）。故障モードフラグＦｆの初期値は０であり、後述するように、図１６Ｂに示す故障時用マップを用いてｑ軸電流指令値Ｉｑ＊が設定された場合には、故障モードフラグＦｆの値は１に設定される(ステップＳ１３２参照)。
前記ステップＳ１２１において、故障モードフラグＦｆの値が０である場合には（ステップＳ１２１：ＮＯ）、つまり、現時点では通常時用マップを用いてｑ軸電流指令値Ｉｑ＊が設定されている場合には、電流指令値設定部４１は、第２センサ故障フラグＦＡ２の値が０であるか否かを判別する（ステップＳ１２２）。第２センサ故障フラグＦＡ２の値が０である場合には（ステップＳ１２２：ＹＥＳ）、電流指令値設定部４１は、第２磁気センサ７２が正常であると判断し、第５センサ故障フラグＦＢ５の値が０であるか否かを判別する（ステップＳ１２３）。
【０２１１】
第５センサ故障フラグＦＢ５の値が０である場合には（ステップＳ１２３：ＹＥＳ）、電流指令値設定部４１は、第２磁気センサ７２および第５磁気センサ７５が共に正常であると判断し、通常時用マップ（図１６Ａ）を用いてｑ軸電流指令値Ｉｑ＊を設定する（ステップＳ１２４）。そして、今演算周期の処理を終了する。
前記ステップＳ１２２において、第２センサ故障フラグＦＡ２の値が０以外の値である場合には（ステップＳ１２２：ＮＯ）、つまり、第２磁気センサ７２が故障している場合には、電流指令値設定部４１は、第１補正値監視フラグＦＡＥの値が１であるか否かを判別する（ステップＳ１２５）。第１補正値監視フラグＦＡＥの値が１である場合には（ステップＳ１２５：ＹＥＳ）、入力軸８の回転角θＡが誤差許容演算モード（第６演算モード）によって演算されることはないので、電流指令値設定部４１は、ステップＳ１２３に移行する。
【０２１２】
前記ステップＳ１２３において、第５センサ故障フラグＦＢ５の値が０以外の値であると判別された場合には（ステップＳ１２３：ＮＯ）、つまり、第５磁気センサ７５が故障している場合には、電流指令値設定部４１は、第２補正値監視フラグＦＢＥの値が１であるか否かを判別する（ステップＳ１２６）。第２補正値監視フラグＦＢＥの値が１である場合には（ステップＳ１２６：ＹＥＳ）、出力軸９の回転角θＢが誤差許容演算モードによって演算されることはないので、電流指令値設定部４１は、ステップＳ１２４に移行する。
【０２１３】
前記ステップＳ１２５において、第１補正値監視フラグＦＡＥの値が０であると判別された場合には（ステップＳ１２５：ＮＯ）、電流指令値設定部４１は、第２センサ故障フラグＦＡ２の値が１であるか２であるかを判別する（ステップＳ１２７）。第２センサ故障フラグＦＡ２の値が２である場合には（ステップＳ１２７：ＮＯ）、電流指令値設定部４１は、入力軸８の回転角θＡが誤差許容演算モードによって演算されていると判断し、故障時用マップ（図１６Ｂ）を用いてｑ軸電流指令値Ｉｑ＊を設定する（ステップＳ１３１）。そして、電流指令値設定部４１は、故障モードフラグＦｆの値を１に設定した後（ステップＳ１３２）、今演算周期の処理を終了する。
【０２１４】
前記ステップＳ１２７において、第２センサ故障フラグＦＡ２の値が１であると判別された場合には（ステップＳ１２７：ＹＥＳ）、電流指令値設定部４１は、検出操舵トルクＴｈが０であるか否かを判別する（ステップＳ１２８）。検出操舵トルクＴｈが０でないと判別された場合には（ステップＳ１２８：ＮＯ）、電流指令値設定部４１は、ステップＳ１２４に進んで、通常時用マップ（図１６Ａ）を用いてｑ軸電流指令値Ｉｑ＊を設定する。そして、今演算周期の処理を終了する。
【０２１５】
前記ステップＳ１２８において、検出操舵トルクＴｈが０であると判別された場合には（ステップＳ１２８：ＹＥＳ）、電流指令値設定部４１は、ステップＳ１３１に進んで、故障時用マップ（図１６Ｂ）を用いてｑ軸電流指令値Ｉｑ＊を設定する。そして、電流指令値設定部４１は、故障時用マップフラグＦＭＢの値を１に設定した後（ステップＳ１３２）、今演算周期の処理を終了する。
【０２１６】
第２センサ故障フラグＦＡ２の値が１であり、検出操舵トルクＴｈが０の場合に、通常時用マップを用いてｑ軸電流指令値Ｉｑ＊を設定し、第２センサ故障フラグＦＡ２の値が１であり、検出操舵トルクＴｈが１である場合には、故障時用マップを用いてｑ軸電流指令値Ｉｑ＊を設定している理由について説明する。第２センサ故障フラグＦＡ２の値が１である場合には、入力軸８の回転角θＡは誤差許容演算モードによって演算されていないので、故障時用マップを用いてｑ軸電流指令値Ｉｑ＊を設定する必要はない。しかし、第１補正値監視フラグＦＡＥの値が０であるため（ステップＳ１２５参照）、近いうちに入力軸８の回転角θＡが誤差許容演算モードで演算されるようになる。つまり、第１補正値監視フラグＦＡＥの値が０であり、第２センサ故障フラグＦＡ２の値が１である場合には、入力軸８の回転角θＡが誤差許容演算モードで演算される可能性が高い状態であると言える。
【０２１７】
そこで、このような場合には、マップを切り替えることによって操舵補助トルクが変動しないような条件が満たされるときには、通常時用マップを故障時用マップに切り替え、そうでないときには通常時用マップを用いることにした。具体的には、検出操舵トルクＴｈが０であるときには、通常時用マップを故障時用マップに切り替え、そうでないときには通常時用マップを用いることにした。
【０２１８】
前記ステップＳ１２６において、第２補正値監視フラグＦＢＥの値が０であると判別された場合には（ステップＳ１２６：ＮＯ）、電流指令値設定部４１は、第５センサ故障フラグＦＢ５の値が１であるか２であるかを判別する（ステップＳ１２９）。第２センサ故障フラグＦＡ２の値が２である場合には（ステップＳ１２９：ＮＯ）、電流指令値設定部４１は、出力軸９の回転角θＢが誤差許容演算モードによって演算されていると判断し、故障時用マップ（図１６Ｂ）を用いてｑ軸電流指令値Ｉｑ＊を設定する（ステップＳ１３１）。そして、電流指令値設定部４１は、故障時モードフラグＦｆの値を１に設定した後（ステップＳ１３１）、今演算周期の処理を終了する。
【０２１９】
前記ステップＳ１２９において、第５センサ故障フラグＦＢ５の値が１であると判別された場合には（ステップＳ１２９：ＹＥＳ）、電流指令値設定部４１は、検出操舵トルクＴｈが０であるか否かを判別する（ステップＳ１３０）。検出操舵トルクＴｈが０でないと判別された場合には（ステップＳ１３０：ＮＯ）、前記ステツプＳ１２８でＮＯと判別された場合と同様に、電流指令値設定部４１は、ステップＳ１２４に進んで、通常時用マップ（図１６Ａ）を用いてｑ軸電流指令値Ｉｑ＊を設定する。そして、今演算周期の処理を終了する。
【０２２０】
前記ステップＳ１３０において、検出操舵トルクＴｈが０であると判別された場合には（ステップＳ１３０：ＹＥＳ）、前記ステツプＳ１２８でＹＥＳと判別された場合と同様に、電流指令値設定部４１は、ステップＳ１３１に進んで、故障時用マップ（図１６Ｂ）を用いてｑ軸電流指令値Ｉｑ＊を設定する。そして、電流指令値設定部４１は、故障モードフラグＦｆの値を１に設定した後（ステップＳ１３２）、今演算周期の処理を終了する。
【０２２１】
前記ステップＳ１２１において、故障モードフラグＦｆの値が１であると判別された場合には（ステップＳ１２１：ＹＥＳ）、電流指令値設定部４１は、ステップＳ１３１に移行する。
第１変形例によれば、入力軸８の回転角θＡおよび出力軸９の回転角θＢのうちの一方または両方が誤差許容演算モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。また、通常時用マップから故障時用マップにマップが切り替えられたときに、操舵補助トルクが急変する確率を低下させることができる。
【０２２２】
次に、図１８Ａ〜図１８Ｄを参照して、電流指令値設定部４１の第２変形例について説明する。図１８Ａ〜図１８Ｄは、電流指令値設定部４１の第２変形例を説明するためのグラフである。
第２変形例では、電流指令値設定部４１は、トルクセンサ１１から与えられる操舵トルク（検出操舵トルク）Ｔｈならびに第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５に基づいて、まず、制御用トルク値Ｔｃを設定する。そして、電流指令値設定部４１は、制御用トルク値Ｔｃに基づいてｑ軸電流指令値Ｉｑ＊を設定する。
【０２２３】
制御用トルク値Ｔｃに対するｑ軸電流指令値Ｉｑ＊の設定例は、図１８Ｄに示されている。図１８Ｄの制御用トルク値Ｔｃに対するｑ軸電流指令値Ｉｑ＊の関係は、図１６Ａの検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊との関係とほぼ同じである。つまり、ｑ軸電流指令値Ｉｑ＊は、制御用トルク値Ｔｃの正の値に対しては正をとり、制御用トルク値Ｔｃの負の値に対しては負をとる。制御用トルク値Ｔｃが零のときには、ｑ軸電流指令値Ｉｑ＊は零とされる。そして、制御用トルク値Ｔｃの絶対値が大きくなるほど、ｑ軸電流指令値Ｉｑ＊の絶対値が大きくなるように、ｑ軸電流指令値Ｉｑ＊が設定されている。
【０２２４】
第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５の値が共に２以外の値（０または１）である場合（ＦＡ２≠２でかつＦＢ５≠２）の、制御用トルク値Ｔｃの設定方法について説明する。この場合には、検出操舵トルクＴｈの検出精度は高いと考えられる。
この場合における、検出操舵トルクＴｈに対する制御用トルク値Ｔｃの設定例は、図１８Ａに示されている。この場合には、制御用トルク値Ｔｃは、検出操舵トルクＴｈと同じ値に設定される。
【０２２５】
次に、第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５の値が共に２である場合の、制御用トルク値Ｔｃの設定方法について説明する。この場合には、入力軸８の回転角θＡおよび出力軸９の回転角θＢの両方が、誤差許容演算モードによって演算されている。
入力軸８の回転角θＡが誤差許容演算モードによって演算された場合の、回転角θＡの想定される最大誤差をεＡとする。また、出力軸９の回転角θＢが誤差許容演算モードによって演算された場合の、回転角θＢの想定される最大誤差をεＢとする。ここでは、εＡとεＢとは等しいと仮定し、これらをεで表すことにする（εＡ＝εＢ＝ε）とする。操舵トルクＴｈの演算に用いられた入力軸８および出力軸９の回転角θＡ，θＢのそれぞれに前記最大誤差εが発生していると仮定した場合に、これらの最大誤差εに起因して発生する検出操舵トルクの誤差の大きさ（想定最大トルク誤差）をＴｈ１（＞０）とする。この想定最大トルク誤差Ｔｈ１の大きさは、予め演算によって求められているものとする。
【０２２６】
第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５の値が共に２である場合における、検出操舵トルクＴｈに対する制御用トルク値Ｔｃの設定例は、図１８Ｂに示されている。検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１以下の領域には、制御用トルク値Ｔｃが零となる不感帯が設定されている。検出操舵トルクＴｈがＴｈ１より大きい領域および検出操舵トルクＴｈが−Ｔｈ１より小さい領域では、制御用トルク値Ｔｃは検出操舵トルクＴｈと同じ値となるように設定されている。
【０２２７】
検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１以下の領域では、制御用トルク値Ｔｃが零となるため、ｑ軸電流指令値Ｉｑ＊も零となる。これにより、入力軸８の回転角θＡおよび出力軸９の回転角θＢの両方が誤差許容演算モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。
【０２２８】
次に、第２センサ故障フラグＦＡ２および第５センサ故障フラグＦＢ５のうちのいずれか一方の値が２であり、他方の値が２以外の値（０または１）である場合の、制御用トルク値Ｔｃの設定方法について説明する。この場合には、入力軸８の回転角θＡおよび出力軸の回転角θＢのうちの一方のみが誤差許容演算モードで演算されているので、想定される検出操舵トルクの最大誤差は、前記想定最大トルク誤差Ｔｈ１の１／２となる。したがって、この場合の検出操舵トルクＴｈに対する制御用トルク値Ｔｃの設定例は、図１８Ｃに示すようになる。検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１の１／２以下の領域には、制御用トルク値Ｔｃが零となる不感帯が設定されている。検出操舵トルクＴｈがＴｈ１の１／２より大きい領域および検出操舵トルクＴｈが−Ｔｈ１の１／２より小さい領域では、制御用トルク値Ｔｃは検出操舵トルクＴｈと同じ値となるように設定されている。
【０２２９】
検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１の１／２以下の領域では、制御用トルク値Ｔｃが零となるため、ｑ軸電流指令値Ｉｑ＊も零となる。これにより、入力軸８の回転角θＡおよび出力軸９の回転角θＢのうちの一方が誤差許容演算モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。
【０２３０】
次に、図１９Ａ、図１９Ｂおよび図２０を参照して、電流指令値設定部４１の第３変形例について説明する。
第３変形例では、電流指令値設定部４１は、トルクセンサ１１から与えられる操舵トルク（検出操舵トルク）Ｔｈ、第２センサ故障フラグＦＡ２、第５センサ故障フラグＦＢ５、第１補正値監視フラグＦＡＥおよび第２補正値監視フラグＦＢＥに基づいて、ｑ軸電流指令値Ｉｑ＊を設定する。また、電流指令値設定部４１は、検出操舵トルクＴｈと故障時用トルク値Ｔｆとの関係を記憶した故障時用トルクマップと、制御用トルク値Ｔｃとｑ軸電流指令値Ｉｑ＊との関係を記憶した電流マップとを保持している。
【０２３１】
故障時用トルク値Ｔｆとは、入力軸８の回転角θＡおよび出力軸９の回転角θＢのうちの少なくとも一方が誤差許容演算モードによって演算されている場合に、制御用トルク値Ｔｃとして使用されるトルク値である。
図１９Ａは、故障時用トルクマップの内容を示すグラフである。図１９Ａのグラフは、図１８Ｂで示される検出操舵トルクＴｈと制御用トルク値Ｔｃとの関係を示すグラフと同じである。具体的には、検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１以下の領域には、故障時用トルク値Ｔｆは零となる。検出操舵トルクＴｈがＴｈ１より大きい領域および検出操舵トルクＴｈが−Ｔｈ１より小さい領域では、故障時用トルク値Ｔｆは検出操舵トルクＴｈと同じ値となる。
【０２３２】
図１９Ｂは、電流マップの内容を示すグラフである。図１９Ｂのグラフは、図１６Ａまたは図１８Ｄのグラフと同じであるので、その説明を省略する。
図２０は、電流指令値設定部４１の第３変形例の動作を示すフローチャートである。図２０の処理は、所定の演算周期毎に繰り返し行われる。
まず、電流指令値設定部４１は、故障モードフラグＦｆの値が１であるか否かを判別する（ステップＳ１４１）。故障モードフラグＦｆの初期値は０であり、後述するように、故障時用トルク値Ｔｆが、制御用トルク値Ｔｃとして用いられた場合には、故障モードフラグＦｆの値は１に設定される（ステップＳ１５０参照）。
【０２３３】
前記ステップＳ１４１において、故障モードフラグＦｆの値が０である場合には（ステップＳ１４１：ＮＯ）、電流指令値設定部４１は、第２センサ故障フラグＦＡ２の値が０であるか否かを判別する（ステップＳ１４２）。第２センサ故障フラグＦＡ２の値が０である場合には（ステップＳ１４２：ＹＥＳ）、電流指令値設定部４１は、第２磁気センサ７２が正常であると判断し、第５センサ故障フラグＦＢ５の値が０であるか否かを判別する（ステップＳ１４３）。
【０２３４】
第５センサ故障フラグＦＢ５の値が０である場合には（ステップＳ１４３：ＹＥＳ）、電流指令値設定部４１は、第２磁気センサ７２および第５磁気センサ７５が共に正常であると判断し、トルクセンサ１１から与えられた検出操舵トルクＴｈを制御用トルク値Ｔｃとして設定する（ステップＳ１４４）。この後、電流指令値設定部４１は、当該制御用トルク値Ｔｃと電流マップ（図１９Ｂ参照）を用いてｑ軸電流指令値Ｉｑ＊を設定する（ステップＳ１５７）。そして、今演算周期の処理を終了する。
【０２３５】
前記ステップＳ１４２において、第２センサ故障フラグＦＡ２の値が０以外の値である場合には（ステップＳ１４２：ＮＯ）、つまり、第２磁気センサ７２が故障している場合には、電流指令値設定部４１は、第１補正値監視フラグＦＡＥの値が１であるか否かを判別する（ステップＳ１４５）。第１補正値監視フラグＦＡＥの値が１である場合には（ステップＳ１４５：ＹＥＳ）、入力軸８の回転角θＡが誤差許容演算モードによって演算されることはないので、電流指令値設定部４１は、ステップＳ１４３に移行する。
【０２３６】
前記ステップＳ１４３において、第５センサ故障フラグＦＢ５の値が０以外の値であると判別された場合には（ステップＳ１４３：ＮＯ）、つまり、第５磁気センサ７５が故障している場合には、電流指令値設定部４１は、第２補正値監視フラグＦＢＥの値が１であるか否かを判別する（ステップＳ１４６）。第２補正値監視フラグＦＢＥの値が１である場合には（ステップＳ１４６：ＹＥＳ）、出力軸９の回転角θＢが誤差許容演算モードによって演算されることはないので、電流指令値設定部４１は、ステップＳ１４４に移行する。
【０２３７】
前記ステップＳ１４５において、第１補正値監視フラグＦＡＥの値が０であると判別された場合には（ステップＳ１４５：ＮＯ）、電流指令値設定部４１は、検出操舵トルクＴｈと故障時用トルクマップ（図１９Ａ参照）を用いて故障時用トルク値Ｔｆを演算する（ステップＳ１４７）。
次に、電流指令値設定部４１は、第２センサ故障フラグＦＡ２の値が１であるか２であるかを判別する（ステップＳ１４８）。第２センサ故障フラグＦＡ２の値が２である場合には（ステップＳ１４８：ＮＯ）、電流指令値設定部４１は、入力軸８の回転角θＡが誤差許容演算モードによって演算されていると判断し、前記ステップＳ１４７で演算された故障時用トルク値Ｔｆを制御用トルク値Ｔｃとして設定する（ステップＳ１４９）。また、電流指令値設定部４１は、故障モードフラグＦｆの値を１に設定する（ステップＳ１５０）。この後、電流指令値設定部４１は、当該制御用トルク値Ｔｃと電流マップ（図１９Ｂ参照）を用いてｑ軸電流指令値Ｉｑ＊を設定する（ステップＳ１５７）。そして、今演算周期の処理を終了する。
【０２３８】
前記ステップＳ１４８において、第２センサ故障フラグＦＡ２の値が１であると判別された場合には（ステップＳ１４８：ＹＥＳ）、入力軸８の回転角θＡは誤差許容演算モードによって演算されてはいないが、近いうちに誤差許容演算モードによって演算されるようになる。つまり、第１補正値監視フラグＦＡＥの値が０であり、第２センサ故障フラグＦＡ２の値が１である場合には、入力軸８の回転角θＡが誤差許容演算モードで演算される可能性が高い状態であると言える。
【０２３９】
そこで、このような場合には、電流指令値設定部４１は、制御用トルク値Ｔｃを、検出操舵トルクＴｈから故障時用トルク値Ｔｆに徐々に近づけていくための処理を行う。具体的には、まず、電流指令値設定部４１は、係数Ｋの前回値（ｎ−１）に定数ｇ（０＜ｇ＜１）を乗算することにより、係数Ｋの今回値Ｋ（ｎ）（０＜Ｋ（ｎ）＜１）を演算する（ステップＳ１５３）。なお、係数Ｋの前回値Ｋ（ｎ−１）の初期値は１である。定数ｇは、０より大きく１より小さい値であり、たとえば、０．８に設定される。係数Ｋの前回値Ｋ（ｎ−１）は、ステップＳ１５３において係数Ｋの今回値Ｋ（ｎ）が演算された場合にのみ、後述するステップＳ１５６において更新される。ステップＳ１５３が繰り返されると、係数Ｋの今回値Ｋ（ｎ）は徐々に零に近づいていく。
【０２４０】
前記ステツプＳ１５３によって、係数Ｋの今回値Ｋ（ｎ）が演算されると、電流指令値設定部４１は、係数Ｋの今回値Ｋ（ｎ）が所定値α（＞０）未満であるか否かを判別する（ステップＳ１５４）。所定値αは零に近い正の値に設定される。たとえば、所定値αは０．１に設定される。係数Ｋの今回値Ｋ（ｎ）が所定値α以上である場合には（ステップＳ１５４：ＮＯ）、電流指令値設定部４１は、次式（46）に基づいて、制御用トルク値Ｔｃを演算する（ステップＳ１５５）。
【０２４１】
Ｔｃ＝Ｔｆ＋Ｋ（ｎ）×（Ｔｈ−Ｔｆ）    …(46)
Ｔｃ：制御用トルク値
Ｔｆ：故障時用トルク値
Ｔｈ：検出操舵トルク
Ｋ（ｎ）：係数Ｋの今回値
前記式（46）において、Ｋ（ｎ）＝１とするとＴｃ＝Ｔｈとなり、Ｋ（ｎ）＝０とするとＴｃ＝Ｔｆとなる。Ｋ（ｎ）は、０＜Ｋ（ｎ）＜１の範囲内において徐々に小さくされるから、制御用トルク値Ｔｃは、検出操舵トルクＴｈと故障時用トルク値Ｔｆとの間の値をとり、検出操舵トルクＴｈに近い値から故障時用トルク値Ｔｆに徐々に近づいていくことがわかる。このため、制御用トルク値Ｔｃが検出操舵トルクＴｈから故障時用トルク値Ｔｆに移行されるときに、ｑ軸電流指令値Ｉｑ＊が急変するのを抑制することが可能となる。
【０２４２】
ステップＳ１５５で制御用トルク値Ｔｃが演算されると、電流指令値設定部４１は、係数Ｋの今回値Ｋ（ｎ）を前回値Ｋ（ｎ−１）として設定する（ステップＳ１５６）。そして、電流指令値設定部４１は、制御用トルク値Ｔｃと電流マップ（図１９Ｂ参照）を用いてｑ軸電流指令値Ｉｑ＊を設定する（ステップＳ１５７）。そして、今演算周期の処理を終了する。
【０２４３】
前記ステップＳ１５４において、係数Ｋの今回値Ｋ（ｎ）が所定値α未満であると判別された場合には（ステップＳ１５４：ＹＥＳ）、電流指令値設定部４１は、ステップＳ１４９に移行し、制御用トルク値Ｔｃを故障時用トルク値Ｔｆに設定する。
前記ステップＳ１４６において、第２補正値監視フラグＦＢＥの値が０であると判別された場合には（ステップＳ１４６：ＮＯ）、電流指令値設定部４１は、検出操舵トルクＴｈと故障時用トルクマップ（図１９Ａ参照）を用いて故障時用トルク値Ｔｆを演算する（ステップＳ１５１）。
【０２４４】
次に、電流指令値設定部４１は、第５センサ故障フラグＦＢ５の値が１であるか２であるかを判別する（ステップＳ１５２）。第５センサ故障フラグＦＢ５の値が２である場合には（ステップＳ１５２：ＮＯ）、電流指令値設定部４１は、出力軸９の回転角θＢが誤差許容演算モードによって演算されていると判断し、ステップＳ１４９に移行し、前記ステップＳ１５１で演算された故障時用トルク値Ｔｆを制御用トルク値Ｔｃとして設定する。そして、電流指令値設定部４１は、故障モードフラグＦｆの値を１に設定する（ステップＳ１５０）。この後、電流指令値設定部４１は、当該制御用トルク値Ｔｃと電流マップ（図１９Ｂ参照）を用いてｑ軸電流指令値Ｉｑ＊を設定する（ステップＳ１５７）。そして、今演算周期の処理を終了する。
【０２４５】
前記ステップＳ１５２において、第５センサ故障フラグＦＢ５の値が１であると判別された場合には（ステップＳ１５２：ＹＥＳ）、出力軸９の回転角θＢは誤差許容演算モードによって演算されてはいないが、近いうちに誤差許容演算モードによって演算されるようになる。つまり、第２補正値監視フラグＦＢＥの値が０であり、第５センサ故障フラグＦＢ５の値が１である場合には、出力軸９の回転角θＢが誤差許容演算モードで演算される可能性が高い状態であると言える。そこで、このような場合には、電流指令値設定部４１は、ステップＳ１５３に移行して、制御用トルク値Ｔｃを、検出操舵トルクＴｈから故障時用トルク値Ｔｆに徐々に近づけていくための処理を行う。
【０２４６】
前記ステップＳ１４１において、故障モードフラグＦｆの値が１であると判別された場合には（ステップＳ１４１：ＹＥＳ）、電流指令値設定部４１は、ステップＳ１４９に移行する。
第３変形例によれば、入力軸８の回転角θＡおよび出力軸９の回転角θＢのうちの一方または両方が誤差許容演算モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。また、制御用トルク値Ｔｃを検出操舵トルクＴｈから故障時用トルク値Ｔｆに移行するときに、操舵補助トルクが変動する確率を低減することができる。
【０２４７】
なお、この発明は、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０２４８】
１…電動パワーステアリング装置、６…ステアリングシャフト、８…入力軸、９…出力軸、１２…モータ制御用ＥＣＵ、１８…電動モータ、４１…電流指令値設定部、６１，６２…磁石、７１〜７６…磁気センサ、７７…トルク演算用ＥＣＵ、７７Ａ…第１の回転角演算部、７７Ｂ…第２の回転角演算部、
【図１】
2014139054.tif 000017
【図２】
2014139054.tif 000018
【図３】
2014139054.tif 000019
【図４】
2014139054.tif 000020
【図５】
2014139054.tif 000021
【図６】
2014139054.tif 000022
【図７】
2014139054.tif 000023
【図８】
2014139054.tif 000024
【図９Ａ】
2014139054.tif 000025
【図９Ｂ】
2014139054.tif 000026
【図９Ｃ】
2014139054.tif 000027
【図１０】
2014139054.tif 000028
【図１１】
2014139054.tif 000029
【図１２】
2014139054.tif 000030
【図１３Ａ】
2014139054.tif 000031
【図１３Ｂ】
2014139054.tif 000032
【図１３Ｃ】
2014139054.tif 000033
【図１４】
2014139054.tif 000034
【図１５】
2014139054.tif 000035
【図１６】
2014139054.tif 000036
【図１７】
2014139054.tif 000037
【図１８】
2014139054.tif 000038
【図１９】
2014139054.tif 000039
【図２０】
2014139054.tif 000040