(57)【要約】【課題】  ２系統の回転角センサの一方の故障が検出された場合でも、残りの１系統の回転角センサを適正に監視しつつ、その回転角センサを使って操舵アシストを継続できるようにする。【解決手段】  ２系統目故障検出部は、操舵トルクＴｒの大きさが故障判定値Ｔ１以上と判定されている継続時間が設定時間以上となる場合（Ｓ１０６：Ｙｅｓ）、および、操舵トルクＴｒの変動周波数ｆが故障判定周波数範囲（ｆ１〜ｆ２）に入っている場合（Ｓ１０９：Ｙｅｓ）に、残り１系統の回転角センサ３１に故障が発生していると判定する（Ｓ１０３）。【選択図】  図１３
2016113031.tif 000002
【特許請求の範囲】
【請求項１】
操舵ハンドルからステアリングシャフトに入力された操舵トルクを検出するトルク検出手段と、
ステアリング機構に設けられて操舵アシストトルクを発生するモータと、
２系統の回転角センサを有し、前記２系統の回転角センサの少なくとも一方の出力信号を用いて、前記モータの回転角を検出する回転角検出手段と、
前記トルク検出手段により検出された操舵トルクに基づいて目標操舵アシストトルクを発生させるためのモータ制御値を演算するモータ制御値演算手段と、
前記回転角検出手段により検出された回転角と前記モータ制御値演算手段により演算された前記モータ制御値とに基づいて、前記モータを駆動制御するモータ制御手段と
を備えた車両の電動パワーステアリング装置において、
前記２系統の回転角センサに対して故障が発生したか否かについて、すでに回転角センサの故障が１系統だけ検出されている状況であるのか、１系統も検出されていない状況であるのかに応じて互いに異なる故障判定方法を用いて判定するセンサ故障判定手段を備え、
前記モータ制御手段は、前記回転角センサの故障が１系統だけ検出されている状況においては、故障が検出されていない残り１系統の回転角センサにより検出された回転角に基づいて前記モータの駆動制御を継続し、
前記センサ故障判定手段は、前記回転角センサの故障が１系統だけ検出されている状況で前記残り１系統の回転角センサに故障が発生したか否かについて判定する場合に限って、前記トルク検出手段によって検出された操舵トルクが、前記残り１系統の回転角センサが故障した場合に想定される特定の挙動を示したか否かに基づいて、前記故障発生の有無を判定する判定処理を含むように構成された、車両の電動パワーステアリング装置。
【請求項２】
請求項１記載の車両の電動パワーステアリング装置において、
前記特定の挙動は、前記操舵トルクが予め設定された故障判定値以上となる継続時間が設定時間以上となる挙動を含む、車両の電動パワーステアリング装置。
【請求項３】
請求項２記載の車両の電動パワーステアリング装置において、
前記車両の速度である車速が遅い場合には、前記車速が速い場合に比べて前記故障判定値を大きくする車速応答故障判定値設定手段を備えた車両の電動パワーステアリング装置。
【請求項４】
請求項２または請求項３記載の車両の電動パワーステアリング装置において、
前記モータ制御手段が前記モータの出力制限をする出力制限モードにて動作している場合には、前記出力制限モードにて動作していない場合に比べて前記故障判定値を大きくする出力制限応答故障判定値設定手段を備えた車両の電動パワーステアリング装置。
【請求項５】
請求項２ないし請求項４の何れか一項記載の車両の電動パワーステアリング装置において、
前記操舵ハンドルが操舵限界位置から所定範囲内に位置する場合には、前記操舵ハンドルが前記操舵限界位置から所定範囲内に位置しない場合に比べて前記故障判定値を大きくする操舵位置応答故障判定値設定手段を備えた車両の電動パワーステアリング装置。
【請求項６】
請求項２ないし請求項５の何れか一項記載の車両の電動パワーステアリング装置において、
前記センサ故障判定手段は、前記操舵トルクが予め設定された故障判定値以上となる継続時間が設定時間以上となる挙動が検出された場合、前記モータ制御手段が前記モータを駆動制御するために用いる回転角に所定回転角を加算し、前記所定回転角の加算後に、前記回転角検出手段によって検出される回転角の変化が生じない場合に、前記残り１系統の回転角センサが故障したことを確定するように構成された車両の電動パワーステアリング装置。
【請求項７】
請求項６記載の車両の電動パワーステアリング装置において、
前記センサ故障判定手段は、前記所定回転角の加算後に、前記回転角検出手段によって検出される回転角の変化が生じなく、かつ、前記モータで発生する誘起電圧の大きさが前記モータの回転状態を判定する設定電圧より大きい場合に、前記残り１系統の回転角センサが故障したことを確定するように構成された車両の電動パワーステアリング装置。
【請求項８】
請求項１ないし請求項７の何れか一項記載の車両の電動パワーステアリング装置において、
前記モータ制御値演算手段は、前記センサ故障判定手段によって１系統の回転角センサの故障が検出されている場合には、２系統ともに回転角センサの故障が検出されていない場合に比べて、前記操舵トルクに対する前記目標操舵アシストトルクの大きさを大きくするように構成された車両の電動パワーステアリング装置。
【請求項９】
請求項１ないし請求項８の何れか一項記載の車両の電動パワーステアリング装置において、
前記２系統の回転角センサは、それぞれ、２つの磁気センサを備え、
前記２つの磁気センサは、それぞれ、電源回路から電圧が印加される直列に接続された２つの磁気抵抗効果素子を備え、前記２つの磁気抵抗効果素子の接続点の電圧信号であって、前記モータの回転に伴って正弦波状に変化し、互いに位相がπ／２だけずれた振幅の等しい電圧信号を出力するように構成され、
前記特定の挙動は、前記操舵トルクが予め設定された周波数範囲で周期的に変化する挙動を含む、車両の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転者の操舵操作に基づいてモータを駆動して操舵アシストトルクを発生する車両の電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、電動パワーステアリング装置は、ドライバーが操舵ハンドルに入力した操舵トルクをトルクセンサにより検出し、検出した操舵トルクに基づいて目標操舵アシストトルクを計算する。そして、目標操舵アシストトルクが得られるようにモータに流す電流を制御することにより、ドライバーの操舵操作をアシストする。
【０００３】
電動パワーステアリング装置のモータとして、回転角センサを必要とするモータが使用される場合がある。例えば、３相永久磁石モータなどのブラシレスモータを使用した場合には、回転角センサによりモータ電気角を検出して、３相の位相を制御する必要がある。
【０００４】
回転角センサが故障した場合には、モータの位相を制御することができなくなる。そこで、例えば、特許文献１に提案されているように、２系統の回転角センサを設けた電動パワーステアリングも知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−９８２３１号公報
【発明の概要】
【０００６】
２系統の回転角センサを設けた場合には、回転角センサ同士の検出信号を比較することによって、２つの検出値が乖離している場合には、どちらかの回転角センサに故障が発生していると判定できる。しかし、１系統の回転角センサの故障が検出された後の、残りの１系統の回転角センサの故障については、精度良く検出できない可能性がある。回転角センサ同士の検出信号の比較を行うことができないからである。
【０００７】
例えば、回転角センサの検出信号（例えば、電圧信号）の大きさが想定範囲から外れている場合などでは、１系統の回転角センサの故障を単独で検出することができる。しかし、検出信号の大きさが想定範囲内で中間値に固定されてしまう故障（信号線の短絡による故障など）に対しては、故障により検出値が固定されているのか、操舵ハンドルがロックしているのか判別ができない。このため、残りの１系統の回転角センサの故障を適正に監視することができない。１系統の回転角センサの故障が検出されたとき、残りの１系統の回転角センサが故障であるか否かを精度良く判定することが困難であることを考慮すると、実際には残りの系統回転角センサが正常であっても操舵アシスト制御を停止せざるを得なくなる。
【０００８】
結局、２系統の回転角センサを設けても、最初の１系統目の回転角センサの故障検出精度は向上するものの、その後の残りの１系統の回転角センサを有効活用できていない。
【０００９】
本発明は、上記問題に対処するためになされたもので、２系統の回転角センサの一方の故障が検出された場合でも、残りの１系統の回転角センサを適正に監視しつつ、その回転角センサを使って適正な操舵アシストを継続できるようにすることを目的とする。
【００１０】
上記目的を達成するために、本発明の特徴は、
操舵ハンドルからステアリングシャフトに入力された操舵トルクを検出するトルク検出手段（２１）と、
ステアリング機構に設けられて操舵アシストトルクを発生するモータ（２０）と、
２系統の回転角センサ（３１，３２）を有し、前記２系統の回転角センサの少なくとも一方の出力信号を用いて、前記モータの回転角を検出する回転角検出手段（３０）と、
前記トルク検出手段により検出された操舵トルクに基づいて目標操舵アシストトルクを発生させるためのモータ制御値を演算するモータ制御値演算手段（５１）と、
前記回転角検出手段により検出された回転角と前記モータ制御値演算手段により演算された前記モータ制御値とに基づいて、前記モータを駆動制御するモータ制御手段（５２，４０）と
を備えた車両の電動パワーステアリング装置において、
前記２系統の回転角センサに対して故障が発生したか否かについて、すでに回転角センサの故障が１系統だけ検出されている状況であるのか、１系統も検出されていない状況であるのかに応じて互いに異なる故障判定方法を用いて判定するセンサ故障判定手段（７０，Ｓ１１，Ｓ１２，Ｓ１７，Ｓ２１）を備え、
前記モータ制御手段は、前記回転角センサの故障が１系統だけ検出されている状況においては、故障が検出されていない残り１系統の回転角センサにより検出された回転角に基づいて前記モータの駆動制御を継続し、
前記センサ故障判定手段は、前記回転角センサの故障が１系統だけ検出されている状況で前記残り１系統の回転角センサに故障が発生したか否かについて判定する場合に限って、前記トルク検出手段によって検出された操舵トルクが、前記残り１系統の回転角センサが故障した場合に想定される特定の挙動を示したか否かに基づいて、前記故障発生の有無を判定する判定処理（Ｓ１０４〜Ｓ１０９）を含むように構成されたことにある。
【００１１】
本発明においては、モータ制御値演算手段が、トルク検出手段によって検出された操舵トルクに基づいて目標操舵アシストトルクを発生させるためのモータ制御値を演算する。モータ制御手段は、回転角検出手段によって検出されたモータの回転角と、モータ制御値演算手段により演算されたモータ制御値とに基づいて、モータを駆動制御する。これにより、ステアリング機構に操舵操作に応じた操舵アシストトルクが付与され、ドライバーの操舵操作をアシストする。
【００１２】
回転角検出手段は、２系統の回転角センサを有し、この２系統の回転角センサの少なくとも一方の出力信号を用いて、モータの回転角を検出する。この場合、回転角検出手段は、モータのロータの回転角を検出できる構成であればよく、ロータの回転角を直接検出する構成に限らず、ロータの回転とともに回転する部材の回転角を検出する構成であってもよい。
【００１３】
本発明の車両の電動パワーステアリング装置は、センサ故障判定手段を備えている。センサ故障判定手段は、回転角センサに故障が発生したか否かについて、すでに回転角センサの故障が１系統だけ検出されている状況であるのか、１系統も検出されていない状況であるのかに応じて互いに異なる故障判定方法を用いて判定する。モータ制御手段は、センサ故障判定手段によって、回転角センサの故障が１系統だけ検出されている状況においては、残り１系統の回転角センサにより検出された回転角に基づいてモータの駆動制御を継続する。
【００１４】
モータ制御手段が、残り１系統の回転角センサにより検出された回転角に基づいてモータを駆動制御している場合、その回転角センサが故障した場合には、トルク検出手段によって検出された操舵トルクに特有の変化が生じる。そこで、センサ故障判定手段は、回転角センサの故障が１系統だけ検出されている状況で残り１系統の回転角センサに故障が発生したか否かについて判定する場合に限って、トルク検出手段によって検出された操舵トルクが、残り１系統の回転角センサが故障した場合に想定される特定の挙動を示したか否かに基づいて、故障発生の有無を判定する。
【００１５】
これにより、残り１系統の回転角センサに、その検出信号だけでは故障判定できないような故障が発生しても、操舵トルクが、残り１系統の回転角センサが故障した場合に想定される特定の挙動を示した場合には、モータ制御に用いられている回転角センサ（残り１系統の回転角センサ）に故障が発生したと判定することができる。
【００１６】
従って、本発明によれば、２系統の回転角センサの一方の故障が検出された場合でも、残りの１系統の回転角センサを適正に監視しつつ、その回転角センサを使って操舵アシストを継続することができる。また、残り１系統の回転角センサの故障を判定する場合に限って、操舵トルクの挙動に基づいて故障発生の有無を判定する判定処理を含むようにしているため、２系統の回転角センサが正常である状況での、故障誤判定の可能性を小さくすることができる。
【００１７】
本発明の一側面の特徴は、
前記特定の挙動は、前記操舵トルクが予め設定された故障判定値以上となる継続時間が設定時間以上となる挙動を含む（Ｓ１０４〜Ｓ１０７）ことにある。
【００１８】
例えば、残り１系統の回転角センサの検出信号が一定値に固着するという故障（信号固着故障）が発生した場合、検出されるモータ回転角が進まなくなるため、モータで発生するトルクが不足し、結果としてドライバーが操舵ハンドルに入力する力、つまり、トルク検出手段により検出される操舵トルクが急激に増加する。こうした故障時の特徴を捉えて、本発明の一側面においては、操舵トルクが予め設定された故障判定値以上となる継続時間が設定時間以上となる場合に、残り１系統の回転角センサが故障したと判定する。従って、信号固着故障が発生した場合には、適正に故障判定を行うことができる。
【００１９】
本発明の一側面の特徴は、
前記車両の速度である車速が遅い場合には、前記車速が速い場合に比べて前記故障判定値を大きくする車速応答故障判定値設定手段（Ｓ１２０）を備えたことにある。
【００２０】
残りの１系統の回転角センサが故障していない場合に、操舵トルクが故障判定値以上になると１系統の回転角センサが故障していると誤判定する可能性が高くなる。その一方、据え切り操舵時、極低速走行中の操舵時においては、操舵トルクが増加しやすいので、操舵トルクが故障判定値以上になる可能性が高くなる。そこで、本発明の一側面では、車速応答故障判定値設定手段が、車速が遅い場合には、車速が速い場合に比べて故障判定値を大きくする。従って、本発明の一側面によれば、残り１系統の回転角センサの故障検出精度を維持しつつ、故障検出に係る誤判定（故障していないものを故障していると判定する誤り）を低減することができる。
【００２１】
本発明の一側面の特徴は、
前記モータ制御手段が前記モータの出力制限をする出力制限モードにて動作している場合には、前記出力制限モードにて動作していない場合に比べて前記故障判定値を大きくする出力制限応答故障判定値設定手段（Ｓ１２０）を備えたことにある。
【００２２】
一般に、電動パワーステアリング装置は、モータの過熱防止などのために、モータの出力を制限する機能を備えている。そうしたモータの出力を制限する出力制限モードにて動作している場合には、操舵アシストトルクが通常モード（出力制限モードにて動作していないモード）に比べて制限される。このため、ドライバーが操舵ハンドルに入力する力、つまり、トルク検出手段により検出される操舵トルクが増加しやすい。
【００２３】
そこで、本発明の一側面では、出力制限応答故障判定値設定手段が、モータの出力制限をする出力制限モードにて動作している場合には、出力制限モードにて動作していない場合に比べて故障判定値を大きくする。従って、本発明の一側面によれば、残り１系統の回転角センサの故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。
【００２４】
本発明の一側面の特徴は、
前記操舵ハンドルが操舵限界位置から所定範囲内に位置する場合には、前記操舵ハンドルが前記操舵限界位置から所定範囲内に位置しない場合に比べて前記故障判定値を大きくする操舵位置応答故障判定値設定手段（Ｓ１２０）を備えたことにある。
【００２５】
例えば、操舵ハンドルを大きく操舵操作して操舵位置が操舵限界位置に到達した場合には、操舵ハンドルをそれ以上回すことができなくなり、操舵トルクが急激に増加する可能性がある。
【００２６】
そこで、本発明の一側面では、操舵位置応答故障判定値設定手段が、操舵ハンドルが操舵限界位置から所定範囲内に位置する場合には、操舵ハンドルが操舵限界位置から所定範囲内に位置しない場合に比べて故障判定値を大きくする。「操舵ハンドルが操舵限界位置から所定範囲内に位置する」とは、操舵ハンドルが操舵限界位置近傍に位置することを意味している。従って、本発明の一側面によれば、残り１系統の回転角センサの故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。
【００２７】
本発明の一側面の特徴は、
前記センサ故障判定手段は、前記操舵トルクが予め設定された故障判定値以上となる継続時間が設定時間以上となる挙動が検出された場合、前記モータ制御手段が前記モータを駆動制御するために用いる回転角に所定回転角を加算し、前記所定回転角の加算後に、前記回転角検出手段によって検出される回転角の変化が生じない場合に、前記残り１系統の回転角センサが故障したことを確定する（Ｓ３０，Ｓ３１）ように構成されたことにある。
【００２８】
本発明の一側面では、操舵トルクが予め設定された故障判定値以上となる継続時間が設定時間以上となる挙動が検出された場合、すぐに、残り１系統の回転角センサが故障したことを確定するのではなく、モータ制御手段がモータを駆動制御するために用いる回転角に所定回転角を加算し、所定回転角の加算後に、回転角検出手段によって検出される回転角の変化が生じない場合に、残り１系統の回転角センサが故障したことを確定する。モータ回転角に所定回転角が加算されると、モータ制御手段は、その加算量に対応した量だけモータの電気角を変化させる。従って、モータの出力する操舵アシストトルクが変化し、操舵ハンドルが回転する。例えば、所定回転角度は、操舵トルクの働いている方向に加算されることが好ましいが、その反対方向であってもよい。
【００２９】
このとき、残り１系統の回転角センサが故障していなければ、回転角検出手段によって検出される検出される回転角は変化するはずである。このことを利用して、センサ故障判定手段は、所定回転角の加算後に、回転角検出手段によって検出される回転角の変化が生じない場合に、残り１系統の回転角センサが故障したことを確定する。従って、本発明の一側面によれば、残り１系統の回転角センサの故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。
【００３０】
本発明の一側面の特徴は、
前記センサ故障判定手段は、前記所定回転角の加算後に、前記回転角検出手段によって検出される回転角の変化が生じなく、かつ、前記モータで発生する誘起電圧の大きさが前記モータの回転状態を判定する設定電圧より大きい場合に、前記残り１系統の回転角センサが故障したことを確定する（Ｓ３０，Ｓ３１，Ｓ３２）ように構成されたことにある。
【００３１】
例えば、操舵ハンドルを回転できない状況（操舵ハンドルが操舵限界位置に到達している状況、操舵輪が轍にはまっている状況など）においては、モータの回転角に所定回転角を加算しても、操舵ハンドルは回転できないので、回転角検出手段によって検出される回転角が変化しない可能性がある。一方、モータで発生する誘起電圧が大きい場合には、モータが回転していると推定できる。
【００３２】
このことを利用して、センサ故障判定手段は、所定回転角の加算後に、回転角検出手段によって検出される回転角の変化が生じなく、かつ、モータで発生する誘起電圧の大きさがモータの回転状態を判定する設定電圧より大きい場合に、残り１系統の回転角センサが故障したことを確定する。従って、本発明の一側面によれば、残り１系統の回転角センサの故障検出精度を維持しつつ、故障検出に係る誤判定を更に低減することができる。
【００３３】
本発明の一側面の特徴は、
前記モータ制御値演算手段は、前記センサ故障判定手段によって１系統の回転角センサの故障が検出されている場合には、２系統ともに回転角センサの故障が検出されていない場合に比べて、前記操舵トルクに対する前記目標操舵アシストトルクの大きさを大きくするように構成されたことにある。
【００３４】
残りの１系統の回転角センサが故障していない場合は、故障検出に係る誤判定を防止するために、できるだけ操舵トルクが故障判定値以上にならないようにする必要がある。そこで、モータ制御値演算手段は、１系統の回転角センサの故障が検出されている場合には、２系統ともに回転角センサの故障が検出されていない場合に比べて、操舵トルクに対する目標操舵アシストトルクの大きさを大きくする。これにより、１系統の回転角センサの故障が検出されている場合には、ハンドル操作が軽い設定になり（即ち、運転者がより小さい力で操舵ハンドルの操作が可能な状態となり）、操舵トルクが故障判定値以上になりにくいようにすることができる。従って、本発明の一側面によれば、残り１系統の回転角センサの故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。尚、操舵トルクの全域において、操舵トルクに対する目標操舵アシストトルクの大きさを大きくする必要はなく、少なくとも操舵トルクの一部の範囲において、そのような関係が設定されていればよい。
【００３５】
本発明の一側面の特徴は、
前記２系統の回転角センサ（３１，３２）は、それぞれ、２つの磁気センサ（Ｓs1，Ｓc1，Ｓs2，Ｓc2）を備え、
前記２つの磁気センサは、それぞれ、電源回路から電圧が印加される直列に接続された２つの磁気抵抗効果素子（Ｅle１，Ｅle2）を備え、前記２つの磁気抵抗効果素子の接続点の電圧信号であって、前記モータの回転に伴って正弦波状に変化し、互いに位相がπ／２だけずれた振幅の等しい電圧信号を出力するように構成され、
前記特定の挙動は、前記操舵トルクが予め設定された周波数範囲で周期的に変化する挙動を含む（Ｓ１０８，Ｓ１０９）ことにある。
【００３６】
本発明の一側面においては、２系統の回転角センサは、それぞれ、２つの磁気センサを備えている。この磁気センサは、それぞれ、電源回路から電圧が印加される直列に接続された２つの磁気抵抗効果素子を備え、２つの磁気抵抗効果素子の接続点の電圧信号であって、モータの回転に伴って正弦波状に変化し、互いに位相がπ／２だけずれた振幅の等しい電圧信号を出力する。これにより、一方の磁気センサの電圧信号から正弦波電圧信号が得られ、他方の電圧信号から余弦波電圧信号が得られる。従って、２つの信号の電圧値（直流成分の除いた電圧値）の逆正接を計算することにより、モータ回転角を求めることができる。
【００３７】
回転角センサにおいては、正弦波電圧成分の電圧値（正弦波電圧信号から直流成分の除いた電圧値）の二乗と、余弦波電圧成分の電圧値（余弦波電圧信号から直流成分の除いた電圧値）の二乗との和に応じた値（例えば、上記和の平方根）を演算し、その演算値が予め定まった所定値とならない場合には、故障していると判断することができる。
【００３８】
しかし、回転角センサ（２つの磁気センサ）の電源電圧が正常電圧よりも低い中間電圧に固着するという故障が発生して中間点の電位が変化した場合には、磁気センサの出力する電圧信号の原点がずれる。１系統の回転角センサが故障している状況においては、上記の演算値では、モータ回転角によっては、故障を検出できない範囲がある。つまり、正弦波電圧成分の電圧値の二乗と、余弦波電圧成分の電圧値の二乗との和に応じた値が、特定のモータ回転角の範囲において正常となる。このため、速い操舵操作が行われたときには、回転角センサの故障検出に至らないおそれがある。
【００３９】
一方、こうした電源故障が発生した場合には、操舵ハンドルが操作されているあいだ、操舵トルクが周期的に変動する。こうした故障時の特徴を捉えて、本発明の一側面においては、操舵トルクが予め設定された周波数範囲で周期的に変化する場合に、残り１系統の回転角センサが故障したと判定する。この予め設定された周波数範囲は、残り１系統の回転角センサの電源電圧が中間電圧に固着した場合に想定される操舵トルクの振動周波数の範囲に設定される。従って、上記の電源故障が発生した場合には、適正に故障判定を行うことができる。
【００４０】
上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件は、前記符号によって規定される実施形態に限定されるものではない。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態に係る車両の電動パワーステアリング装置の概略構成図である。
【図２】回転角センサユニットの概略斜視図である。
【図３】センサ部の回路構成図である。
【図４】アシストＥＣＵの機能ブロック図である。
【図５】アシストマップを表すグラフである。
【図６】二乗平均和による故障判定を表すグラフである。
【図７】電源回路を共有しないタイプのセンサ部の回路構成図である。
【図８】検出信号の急変故障を表す説明図である。
【図９】検出信号の反転故障を表す説明図である。
【図１０】信号固着故障時における回転角と操舵トルクの推移を表すグラフである。
【図１１】電源オフセット故障時における検出信号と電気角誤差と二乗平均和の推移を表すグラフである。
【図１２】電源オフセット故障時における回転角と操舵トルクの推移を表すグラフである。
【図１３】２系統目故障判定ルーチンを表すフローチャートである。
【図１４】回転角故障対応制御ルーチンを表すフローチャートである。
【図１５】故障判定閾値の変形例に係る回転角故障対応制御ルーチンにおける追加処理を表すフローチャートである。
【図１６】故障判定値設定マップを表すグラフである。
【図１７】故障確定に係る変形例１に係る回転角故障対応制御ルーチンにおける追加処理を表すフローチャートである。
【図１８】故障確定に係る変形例２に係る回転角故障対応制御ルーチンにおける追加処理を表すフローチャートである。
【発明を実施するための形態】
【００４２】
以下、本発明の実施形態に係る車両の電動パワーステアリング装置について図面を用いて説明する。図１は、同実施形態に係る車両の電動パワーステアリング装置１の概略構成を表している。
【００４３】
この電動パワーステアリング装置１は、操舵ハンドル１１の操舵操作により転舵輪を転舵するステアリング機構１０と、ステアリング機構１０に組み付けられ操舵アシストトルクを発生するモータ２０と、操舵ハンドル１１の操作状態に応じてモータ２０の作動を制御する電子制御ユニット１００とを主要部として備えている。以下、電子制御ユニット１００をアシストＥＣＵ１００と呼ぶ。
【００４４】
ステアリング機構１０は、操舵ハンドル１１の回動操作に連動したステアリングシャフト１２の軸線周りの回転をラックアンドピニオン機構１３によりラックバー１４の左右方向のストローク運動に変換して、このラックバー１４のストローク運動により左前輪Ｗflと右前輪Ｗfrとを転舵するようになっている。ステアリングシャフト１２は、操舵ハンドル１１を上端に連結したメインシャフト１２ａと、ラックアンドピニオン機構１３と連結されるピニオンシャフト１２ｃと、メインシャフト１２ａとピニオンシャフト１２ｃとをユニバーサルジョイント１２ｄ，１２ｅを介して連結するインターミディエイトシャフト１２ｂとから構成される。
【００４５】
ラックバー１４は、ギヤ部１４ａがラックハウジング１５内に収納され、その左右両端がラックハウジング１５から露出してタイロッド１６と連結される。左右のタイロッド１６の他端は、左右前輪Ｗfl，Ｗfrに設けられたナックル（図示略）に接続される。以下、左前輪Ｗflと右前輪Ｗfrとを単に転舵輪Ｗと呼ぶ。
【００４６】
ステアリングシャフト１２（メインシャフト１２ａ）には、トルクセンサ２１と操舵角センサ２２が設けられている。トルクセンサ２１は、ステアリングシャフト１２（メインシャフト１２ａ）に介装されているトーションバー１２ｔの捩れ角度を検出し、この捩れ角に基づいて、操舵ハンドル１１からステアリングシャフト１２に入力された操舵トルクＴｒを検出する。操舵角センサ２２は、操舵ハンドル１１の回転角度を操舵角θｈとして検出する。
【００４７】
操舵トルクＴｒは、正負の値により操舵ハンドル１１の操作方向が識別される。例えば、操舵ハンドル１１の左方向への操舵時における操舵トルクＴｒは正の値で、操舵ハンドル１１の右方向への操舵時における操舵トルクＴｒは負の値で示される。また、操舵角θｈは、正負の値により中立位置に対する操舵方向が識別される。例えば、左方向の操舵角θは正の値で、右方向の操舵角θは負の値で示される。また、操舵トルクＴｒの大きさ、操舵角θの大きさは、その絶対値で示される。
【００４８】
ステアリングシャフト１２（メインシャフト１２ａ）には減速機２５を介してモータ２０が組み付けられている。モータ２０は、例えば、三相ブラシレスモータが使用される。モータ２０は、ロータの回転により減速機２５を介してステアリングシャフト１２をその中心軸周りに回転駆動して、操舵ハンドル１１の回動操作に対してアシストトルクを付与する。
【００４９】
モータ２０には、ロータ２０ａの回転角を検出する回転角センサユニット３０が設けられる。回転角センサユニット３０は、図２に示すように、モータ２０のロータ２０ａの一方端に固定して取り付けられるマグネット部３１０と、マグネット部３１０に向かい合うように設けられるセンサ部３２０とを備えている。センサ部３２０は、モータ２０のケーシング（図示略）との相対位置が変わらないように固定された基板３３０に設けられる。マグネット部３１０は、モータ２０のロータ２０ａと同軸状に設けられる円盤形状の磁性部材であって、その半分の領域３１１（半月状の領域）がＮ極に着磁され、残り半分の領域３１２（半月状の領域）がＳ極に着磁されている。
【００５０】
センサ部３２０は、マグネット部３１０の円盤状の平面に対して、モータ２０のロータ２０ａの軸方向に所定のギャップをあけて設けられる。センサ部３２０には、図３に示すように、第１回転角センサ３１と第２回転角センサ３２とを備えている。第１回転角センサ３１は、２つの磁気センサＳs1，Ｓc1を備え、第２回転角センサ３２は、２つの磁気センサＳs2，Ｓc2を備える。
【００５１】
モータ２０の回転角を検出するためには、第１回転角センサ３１と第２回転角センサ３２の何れか一方だけを備えていればよいが、一方が故障した場合のバックアップとして２つの回転角センサ３１，３２が設けられている。そのため、回転角センサユニット３０は、２系統の回転角センサ３１，３２を備えていることになる。以下、２系統の回転角センサ３１，３２と呼ぶ場合は、第１回転角センサ３１と第２回転角センサ３２との両方を表し、１系統の回転角センサ３１（３２）と呼ぶ場合は、第１回転角センサ３１と第２回転角センサ３２との何れか一方を表す。
【００５２】
各磁気センサＳs1，Ｓc1，Ｓs2，Ｓc2は、特定方向の磁界の強度に応じて電気抵抗値が変化する特性を有する２つの薄膜強磁性金属エレメント（磁気抵抗効果素子）Ｅle１，Ｅle2を備えている。各磁気センサＳs1，Ｓc1，Ｓs2，Ｓc2においては、２つのエレメントＥle１，Ｅle2が直列に接続され、その両端に電圧Ｖccが印加され（直列接続された一方のエレメントＥle１の端と他方のエレメントＥle2の端との間に電圧Ｖccが印加され）、２つのエレメントＥle１，Ｅle2の接続点（中間点）における電位を表す電圧信号Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2を出力する。磁気抵抗効果素子を用いた磁気センサは、一般に、ＭＲセンサと呼ばれているため、以下、磁気センサＳs1，Ｓc1，Ｓs2，Ｓc2をＭＲセンサＳs1，Ｓc1，Ｓs2，Ｓc2と呼ぶ。
【００５３】
このセンサ部３２０においては、２つの回転角センサ３１，３２に対して共通の電源回路を使用するように構成されており、各ＭＲセンサＳs1，Ｓc1，Ｓs2，Ｓc2の一方端が共通の電源端子に接続され、他方端が共通のグランド端子に接続されている。
【００５４】
２つのエレメントＥle１，Ｅle2は、その配設される向きが互いに異なるように設けられている。つまり、エレメントＥle１，Ｅle2に作用する磁界の方向に対して電気抵抗値の変化する特性が異なるように設けられている。このため、マグネット部３１０が回転して各エレメントＥle１，Ｅle2に作用する磁界の向きが回転すると、それに同期してＭＲセンサＳの出力信号の電圧が変動する。この電圧変動分は、モータ２０の回転角度に応じた正弦波状に変化する。
【００５５】
センサ部３２０における４つのＭＲセンサＳs1，Ｓc1，Ｓs2，Ｓc2は、モータ２０の回転に伴って正弦波状に電圧が変動する周期信号を出力するが、この出力信号の電圧波形の位相が、π／２ずつずれるように配置して設けられる。
【００５６】
ＭＲセンサＳs1の出力電圧をＶsin1、ＭＲセンサＳc1の出力電圧をＶcos1、ＭＲセンサＳs2の出力電圧をＶsin2、ＭＲセンサＳc2の出力電圧をＶcos2とすると、出力電圧Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2は次式（１）〜（４）のように表される。
Ｖsin1＝Ｖcc／２＋Ｖｔ・ｓｉｎθ      ・・・（１）
Ｖcos1＝Ｖcc／２＋Ｖｔ・ｃｏｓθ      ・・・（２）
Ｖsin2＝Ｖcc／２−Ｖｔ・ｓｉｎθ      ・・・（３）
Ｖcos2＝Ｖcc／２−Ｖｔ・ｃｏｓθ      ・・・（４）
θは、予め設定したマグネット部３１０とセンサ部３２０との相対回転基準位置からマグネット部３１０が回転した角度を表す。Ｖｔは、一定の電圧振幅を表す。
【００５７】
ＭＲセンサＳs1，Ｓc1，Ｓs2，Ｓc2の出力電圧Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2を、そこに含まれる直流分（Ｖcc／２）だけオフセットすることにより、互いに位相がπ／２だけずれた正弦波状（＝余弦波状）の電圧信号が得られる。モータ回転角の計算にあたっては、出力電圧Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2から、直流分（Ｖcc／２＝一定）をオフセットした電圧値、つまり、正弦波電圧信号の振幅の中心（Ｖcc／２）をゼロＶ（原点）とした電圧値が用いられる。従って、以下、モータ回転角の計算に用いられる出力電圧Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2については、次式（５）〜（８）のように置き換えればよい。
Ｖsin1＝Ｖｔ・ｓｉｎθ      ・・・（５）
Ｖcos1＝Ｖｔ・ｃｏｓθ      ・・・（６）
Ｖsin2＝−Ｖｔ・ｓｉｎθ      ・・・（７）
Ｖcos2＝−Ｖｔ・ｃｏｓθ      ・・・（８）
尚、ＭＲセンサＳs1，Ｓc1，Ｓs2，Ｓc2が、その出力信号がモータ２０の１回転に対してＮ周期（Ｎ：自然数）で変動するように構成されているタイプである場合には、実際のモータ２０のロータ２０ａの回転角は、モータ回転角θの１／Ｎとして計算すればよい。以下、ＭＲセンサＳs1，Ｓc1，Ｓs2，Ｓc2の出力信号におけるθをモータ回転角として説明する。
【００５８】
このように構成されたセンサ部３２０においては、第１回転角センサ３１から、互いにπ／２位相のずれた出力電圧Ｖsin1，Ｖcos1をアシストＥＣＵ１００に出力し、第２回転角センサ３２から、互いにπ／２位相のずれた出力電圧Ｖsin2，Ｖcos2をアシストＥＣＵ１００に出力する。以下、第１回転角センサ３１の出力する電圧信号を検出信号Ｖsin1，Ｖcos1と呼び、第２回転角センサ３２の出力する電圧信号を検出信号Ｖsin2，Ｖcos2と呼ぶ。アシストＥＣＵ１００は、この検出信号Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2を使って、モータ２０の回転角θを計算し、この回転角θからモータ２０の位相を制御するために必要な電気角を算出する。
【００５９】
次に、アシストＥＣＵ１００について説明する。アシストＥＣＵ１００は、上述したトルクセンサ２１，操舵角センサ２２、回転角センサユニット３０に加えて、車速センサ２３を接続している。車速センサ２３は、車速Ｖを表す検出信号をアシストＥＣＵ１００に出力する。
【００６０】
アシストＥＣＵ１００は、図４に示すように、モータ２０の目標制御量を計算し、計算された目標制御量に応じたスイッチ駆動信号を出力するアシスト演算部５０と、アシスト演算部５０から出力されたスイッチ駆動信号によってモータ２０を駆動するモータ駆動回路４０とを備えている。モータ駆動回路４０は、例えば、インバータ回路で構成され、アシスト演算部５０から出力されたスイッチ駆動信号（ＰＷＭ制御信号）を入力して、内部のスイッチング素子のデューティ比を制御することによりモータ２０への通電量を調整する。モータ駆動回路４０には、モータ２０の３相に流れるモータ電流Ｉｍを検出する電流センサ４１，および、モータ２０の３相端子の端子電圧Ｖｍを検出する電圧センサ４２が設けられる。
【００６１】
アシスト演算部５０は、ＣＰＵ，ＲＯＭ，ＲＡＭ等からなるマイクロコンピュータと、各種の入出力インタフェースと、モータ駆動回路４０にスイッチ駆動信号を供給するスイッチ駆動回路等を備えている。
【００６２】
アシスト演算部５０は、その機能に着目すると、モータ２０の制御量である指令電流値を計算するモータ制御量演算部５１と、指令電流値に対応した３相の電流がモータ２０に流れるようにモータ駆動回路４０の作動を制御する通電制御部５２と、回転角センサユニット３０から出力された検出信号Ｖsin1，Ｖcos1、Ｖsin2，Ｖcos2に基づいてモータ回転角θを計算するモータ回転角演算部６０と、回転角センサユニット３０の故障を検出する回転角センサ故障検出部７０とを備えている。
【００６３】
モータ制御量演算部５１は、トルクセンサ２１により検出される操舵トルクＴｒを入力して、図５（ａ）に示す正常時アシストマップを参照して目標アシストトルクＴａ＊を計算する。正常時アシストマップは、操舵トルクＴｒと目標アシストトルクＴａ＊との関係を設定した関係付けデータであり、操舵トルクＴｒの大きさ（絶対値）が大きくなるほど大きくなる目標アシストトルクＴａ＊を設定する特性を有する。尚、図５は、左方向の操舵アシスト特性を表しているが、右方向の操舵アシスト特性についても、トルクの発生方向が異なるだけで、大きさは、左方向の操舵アシスト特性と同じである。また、目標アシストトルクＴａ＊の計算にあたっては、例えば、操舵トルクＴｒと車速Ｖとを組み合わせて、操舵トルクＴｒの大きさ（絶対値）が大きくなるほど大きくなり、かつ、車速Ｖが大きくなるほど小さくなる目標アシストトルクＴａ＊を設定するなどしてもよい。
【００６４】
モータ制御量演算部５１は、目標アシストトルクＴａ＊を入力し、目標アシストトルクＴａ＊をモータ２０のトルク定数で除算することにより、目標アシストトルクＴａ＊を発生させるために必要な目標電流であるアシスト指令電流Ｉ＊を計算する。モータ制御量演算部５１は、算出したアシスト指令電流Ｉ＊を通電制御部５２に供給する。
【００６５】
通電制御部５２は、電流センサ４１により検出されるモータ電流Ｉｍ（実電流Ｉｍと呼ぶ）を読み込み、アシスト指令電流Ｉ＊と実電流Ｉｍとの偏差を計算し、この偏差を使った比例積分制御により実電流Ｉｍがアシスト指令電流Ｉ＊に追従するように目標電圧Ｖ＊を計算する。そして、目標電圧Ｖ＊に対応したＰＷＭ制御信号（スイッチ駆動信号）をモータ駆動回路（インバータ）４０のスイッチング素子に出力する。これにより、モータ２０が駆動され、目標アシストトルクＴａ＊に追従した操舵アシストトルクがステアリング機構１０に付与される。
【００６６】
この場合、通電制御部５２は、モータ回転角演算部６０から供給されたモータ回転角θを入力し、このモータ回転角θを電気角に変換して、その電気角に基づいてアシスト指令電流Ｉ＊の位相角を制御する。例えば、通電制御部５２は、モータ回転角θから換算される電気角に基づいて、モータ２０の永久磁石の磁界が貫く方向となるｄ軸と、ｄ軸に直交する方向（ｄ軸からπ／２だけ電気角を進めた方向）となるｑ軸とを定めたｄ−ｑ座標を用いた電流ベクトル制御によりモータ２０を駆動制御する。
【００６７】
また、通電制御部５２は、回転角センサ故障検出部７０から回転角センサユニット３０の故障の検出状況を表す故障検出信号Ｆailを入力する。この故障検出信号Ｆailは、回転角センサユニット３０における系統毎の故障の有無、つまり、第１回転角センサ３１と第２回転角センサ３２との故障の有無について、故障している系統を特定して表す信号である。通電制御部５２は、故障検出信号Ｆailが、回転角センサユニット３０の故障が検出されていない、あるいは、１系統の回転角センサのみ（第１回転角センサ３１あるいは第２回転角センサ３２）の故障が検出されていることを表している場合には、操舵アシスト制御を継続する。つまり、操舵トルクＴｒに応じた操舵アシストを実施する。一方、故障検出信号Ｆailが、２系統の回転角センサ（第１回転角センサ３１と第２回転角センサ３２との両方）の故障が検出されていることを表している場合には、操舵アシストを停止する。
【００６８】
モータ回転角演算部６０は、第１回転角センサ３１、第２回転角センサ３２の出力する検出信号（出力電圧Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2）を入力して、モータ回転角θを計算する。モータ回転角演算部６０は、正常時回転角演算部６１と、１系統故障時回転角演算部６２と、回転角出力部６３とを備えている。
【００６９】
モータ回転角演算部６０においては、回転角センサ故障検出部７０から出力される故障検出信号Ｆailを入力し、故障検出信号Ｆailが、２系統の回転角センサ３１，３２がともに正常（故障が検出されていない状態）であることを表す場合には、正常時回転角演算部６１がモータ回転角θを計算する。また、故障検出信号Ｆailが、１系統の回転角センサのみ（第１回転角センサ３１あるいは第２回転角センサ３２）の故障が検出されていることを表している場合には、１系統故障時回転角演算部６２が、故障が検出されていない方の回転角センサ３１（３２）を使って、モータ回転角θを計算する。
【００７０】
正常時回転角演算部６１は、第１回転角センサ３１、第２回転角センサ３２のどちらを使ってもモータ回転角θを計算することができる。例えば、第１回転角センサ３１の出力電圧Ｖsin1，Ｖcos1を使って、モータ回転角θを次式のように計算することができる。
θ＝ｔａｎ-1（ｓｉｎθ／ｃｏｓθ）＝ｔａｎ-1（Ｖsin1／Ｖcos1）      ・・・（９）
同様に、第２回転角センサ３２の出力電圧Ｖsin2，Ｖcos2を使って、モータ回転角を次式のように計算することができる。
θ＝ｔａｎ-1（ｓｉｎθ／ｃｏｓθ）＝ｔａｎ-1（Ｖsin2／Ｖcos2）    ・・・（１０）
【００７１】
モータ回転角θの計算にあたっては、解が２つ求められるが、ｓｉｎθとｃｏｓθとが正の値である場合にはθが第１象限（０°〜９０°）になる角度を選択し、ｓｉｎθが正の値でｃｏｓθが負の値である場合にはθが第２象限（９０°〜１８０°）になる角度を選択し、ｓｉｎθが負の値でｃｏｓθが負の値である場合にはθが第３象限（１８０°〜２７０°）になる角度を選択し、ｓｉｎθが負の値でｃｏｓθが正の値である場合にはθが第４象限（２７０°〜３６０°）になる角度を選択する。以下、逆正接の計算に当たっては、これに準じる。
【００７２】
また、第１回転角センサ３１、第２回転角センサ３２の両方が正常である場合であれば、モータ回転角θの計算は、２つの回転角センサ３１，３２におけるそれぞれ一方の出力信号（位相が互いにπ／２ずれている出力信号）を使って計算することができる。例えば、ＭＲセンサＳs1の出力電圧Ｖsin1とＭＲセンサＳc2の出力電圧Ｖcos2とを用いれば、次式（１１）によりモータ回転角θを計算することができる。
θ＝ｔａｎ-1（ｓｉｎθ／ｃｏｓθ）＝ｔａｎ-1（Ｖsin1／−Ｖcos2）・・・（１１）
また、ＭＲセンサＳc1の出力電圧Ｖcos1とＭＲセンサＳs2の出力電圧Ｖsin2とを用いた場合には、次式（１２）によりモータ回転角θを計算することができる。
θ＝ｔａｎ-1（ｓｉｎθ／ｃｏｓθ）＝ｔａｎ-1（−Ｖsin2／Ｖcos1）・・・（１２）
尚、このように式（１１）あるいは式（１２）を用いてモータ回転角を計算する場合には、ＭＲセンサＳs1とＭＲセンサＳc2とにより第１回転角センサ３１（あるいは第２回転角センサ３２）が構成され、ＭＲセンサＳs2とＭＲセンサＳc1とにより第２回転角センサ３２（あるいは第１回転角センサ３１）が構成されていると考えればよい。
【００７３】
また、第１回転角センサ３１、第２回転角センサ３２の出力する出力電圧Ｖsin1，Ｖcos1、Ｖsin2，Ｖcos2の全てを使ってモータ回転角θを計算することもできる。例えば、ＭＲセンサＳs1の出力電圧Ｖsin1とＭＲセンサＳs2の出力電圧Ｖsin2との差（Ｖsin1−Ｖsin2）を表す電圧差Ｖs1-s2、および、ＭＲセンサＳc1の出力電圧Ｖcos1とＭＲセンサＳc2の出力電圧Ｖcos2との差（Ｖcos1−Ｖcos2）を表す電圧差Ｖc1-c2は、次式（１３），（１４）のように表される。
Ｖs1-s2＝Ｖｔ・ｓｉｎθ−（−Ｖｔ・ｓｉｎθ）＝２Ｖｔ・ｓｉｎθ・・・（１３）
Ｖc1-c2＝Ｖｔ・ｃｏｓθ−（−Ｖｔ・ｃｏｓθ）＝２Ｖｔ・ｃｏｓθ・・・（１４）
従って、モータ回転角θは、次式（１５）にて計算することもできる。
θ＝ｔａｎ-1（ｓｉｎθ／ｃｏｓθ）＝ｔａｎ-1（Ｖs1-s2／Ｖc1-c2）・・・（１５）
【００７４】
正常時回転角演算部６１は、このような計算式（９），（１０），（１１），（１２）の１つを使って算出されたモータ回転角θ、あるいは、その計算式の複数を使って算出されたモータ回転角の平均値、あるいは、計算式（１５）を使って算出されたモータ回転角を、計算結果として出力する。また、２系統の回転角センサ３１，３２のｓｉｎ信号（Ｖsin1，Ｖsin2）同士、ｃｏｓ信号同士（Ｖcos1，Ｖcos2）の平均値を計算してから、その平均値を使ってモータ回転角θを計算するようにしてもよい。
【００７５】
１系統故障時回転角演算部６２は、故障が検出されていない系統の回転角センサ（第１回転角センサ３１、あるいは、第２回転角センサ３２）の出力する出力電圧に基づいて、計算式（９），（１０），（１１），（１２）の何れかを使ってモータ回転角θを計算する。例えば、第１回転角センサ３１のＭＲセンサＳc1の故障が検出されている場合には、ＭＲセンサＳc1およびＭＲセンサＳs1の検出信号Ｖsin1，Ｖcos1を用いずに、第２回転角センサ３２の検出信号Ｖsin2，Ｖcos2を用いてモータ回転角θを計算する。
【００７６】
回転角出力部６３は、正常時回転角演算部６１あるいは１系統故障時回転角演算部６２によって計算されたモータ回転角θを通電制御部５２に出力する。
【００７７】
回転角センサ故障検出部７０は、１系統目故障検出部７１と２系統目故障検出部７２と故障信号出力部７３とを備えている。１系統目故障検出部７１は、２系統の回転角センサ（第１回転角センサ３１と第２回転角センサ３２）の両方に故障が検出されていない状況において作動し、２系統の回転角センサ３１、３２のうちの１つの系統の回転角センサ３１（３２）に故障が発生したか否かについて、故障が発生した系統の回転角センサ３１（３２）を特定して判定する。
【００７８】
一方、２系統目故障検出部７２は、１系統目故障検出部７１によって何れか１系統の回転角センサ３１（３２）の故障が検出されている状況において作動し、残り１系統の回転角センサ３２（３１）（故障が検出されていない回転角センサ）に故障が発生したか否かについて判定する。
【００７９】
故障信号出力部７３は、回転角センサユニット３０の故障状況を表す故障検出信号Ｆailを通電制御部５２とモータ回転角演算部６０とに出力する。故障検出信号Ｆailは、例えば、２系統の回転角センサ３１，３２がともに正常（故障が検出されていない状態）である場合には「０」にて表され、第１回転角センサ３１の故障のみが検出されている場合には「１」にて表され、第２回転角センサ３２の故障のみが検出されている場合には「２」にて表され、第１回転角センサ３１と第２回転角センサ３２との両方の故障が検出されている場合には「３」にて表される。
【００８０】
１系統目故障検出部７１は、第１回転角センサ３１の出力信号と、第２回転角センサ３２の出力信号とを用いて、両者の乖離の有無に基づいて、２系統の回転角センサ３１（３２）のうちの一方に故障が発生したか否かについて判定する。例えば、１系統目故障検出部７１は、第１回転角センサ３１の出力電圧Ｖsin1，Ｖcos1から計算されるモータ回転角（第１演算モータ回転角θ１と呼ぶ）と、第２回転角センサ３２の出力電圧Ｖsin2，Ｖcos2から計算されるモータ回転角（第２演算モータ回転角θ２と呼ぶ）との偏差｜θ１−θ２｜を計算し、この偏差｜θ１−θ２｜が故障判定基準値よりも大きい場合には、２系統の回転角センサ３１、３２のうちの１つの系統の回転角センサ３１（３２）に故障が発生したと判定する。
【００８１】
１系統目故障検出部７１の行う故障判定については、演算された第１演算モータ回転角θ１と第２演算モータ回転角θ２との比較に限るものではない。例えば、上記手法に代えて、あるいは、加えて、第１回転角センサ３１の出力電圧Ｖsin1と第２回転角センサ３２の出力電圧Ｖsin2との絶対値の比較（正常であれば一致）、符号の比較（正常であれば正負逆）等を行って故障判定を行ってもよい。同様に、第１回転角センサ３１の出力電圧Ｖcos1と第２回転角センサ３２の出力電圧Ｖcos2との絶対値の比較（正常であれば一致）、符号の比較（正常であれば正負逆）等を行って故障判定を行ってもよい。このように、１系統目故障検出部７１においては、２系統の回転角センサ３１，３２の４つの出力信号を故障判定に利用できるため、故障判定を正確、かつ、迅速に行うことができる。
【００８２】
１系統目故障検出部７１は、上記比較演算と並行して、第１回転角センサ３１の出力電圧Ｖsin1，Ｖcos1の二乗値の和の平方根を表す二乗平均和√（Ｖsin1２＋Ｖcos1２）、および、第２回転角センサ３２の出力電圧Ｖsin2，Ｖcos2の二乗値の和の平方根を表す二乗平均和√（Ｖsin2２＋Ｖcos2２）を計算している。故障の発生していない回転角センサ３１（３２）であれば、この計算結果は、√（Ｖｔ２（ｓｉｎθ２＋ｃｏｓθ２））＝Ｖｔとなり、予め設定された一定値となる。
【００８３】
第１演算モータ回転角θ１と第２演算モータ回転角θ２とが乖離している場合には、一方の回転角センサ３１（３２）の出力電圧の二乗平均和が異常値をとる。従って、１系統目故障検出部７１は、計算した出力電圧の二乗平均和が許容範囲から外れている系統の回転角センサ３１（３２）を、故障の発生している回転角センサ３１（３２）として特定することができる。例えば、図６に示すように、二乗平均和の値をＶｘとすれば、二乗平均和Ｖｘが許容範囲の下限値であるＶ１（＝Ｖｔ−α）以上であって、許容範囲の上限値であるＶ２（＝Ｖｔ＋α）以下である場合（Ｖ１≦Ｖｘ≦Ｖ２）には、正常と判定し、それ以外の場合には、故障と判定すればよい。尚、平方根の計算は省略して、二乗和の計算により得られるＶｔ２の大きさにより故障判定しても実質同じである。
【００８４】
２系統目故障検出部７２は、１系統目故障検出部７１によって故障が検出された系統とは異なる系統の回転角センサ３１（３２）の故障を検出する機能部である。上述したように、２系統の回転角センサ３１，３２がともに正常であれば、２系統の回転角センサ３１，３２の４つの出力信号を使って（比較して）、一方の回転角センサ３１（３２）に故障が発生したことを確実に判定できる。しかし、一方の回転角センサ３１（３２）の故障が検出された後においては、適正な比較対象が無くなるため、残り１つの回転角センサ３１（３２）に故障が発生したことを精度良く判定することは難しい。以下、その理由から説明する。
【００８５】
例えば、特許文献１に提案された回転角センサは、図７に示すように、２系統の回転角センサ３１，３２に対して、それぞれ独立した電源回路からＭＲセンサＳs1，Ｓc1，Ｓs2，Ｓc2に電圧が印加されるように構成されている。この構成であれば、１系統の回転角センサ３１（３２）の故障が検出されている状況であっても、残りの１系統の回転角センサ３２（３１）において、２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の出力電圧Ｖsin2，Ｖcos2（Ｖsin1，Ｖcos1）を比較すれば、故障を検出できる場合が多い。
【００８６】
しかし、本実施形態のように、電源端子、グランド端子を２つの回転角センサ３１，３２で共用している構成も一般的に採用されている。このように、２系統の回転角センサ３１，３２に対して電源回路を共用して備えた構成の場合、例えば、電源端子の電圧Ｖccが異常値（適正電圧よりも低い中間電圧値）に固着されてしまった場合（例えば、本来５Ｖであるはずの電源電圧Ｖccが３Ｖになっている等）など、残りの１系統の回転角センサ３２（３１）の有する２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の出力信号が同時に影響を受けるような故障モードが発生する。この場合には、残り１つの回転角センサ３２（３１）において、２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の出力電圧Ｖsin2，Ｖcos2（Ｖsin1，Ｖcos1）を比較しても、故障検出が困難になる場合がある、あるいは、時間がかかる場合がある。
【００８７】
また、例えば、残り１つの回転角センサ３２（３１）において、２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の出力信号が間違った中間電圧（本来発生する電圧範囲内の任意の電圧）に固着されてしまうという故障が発生する場合がある。この場合には、二乗平均和√（Ｖsin1２＋Ｖcos1２）も固着してしまう。こうしたケースにおいては、ハンドル操作が行われていないのか（保舵中も含む）、回転角センサ３２（３１）の故障であるのか判別することが難しい。つまり、２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の出力信号が、ハンドル操作が行われていない場合と同様な値を示すため、２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の出力電圧Ｖsin2，Ｖcos2（Ｖsin1，Ｖcos1）を比較しても、確実な故障判定を行うことは難しい。尚、２系統の回転角センサ３１，３２が両方とも正常である状態においては、その状態から４つのＭＲセンサＳc1，Ｓs1，Ｓc2，Ｓs2の出力信号が同時に中間電圧に固着されてしまうということは実質的に考えられないので、２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の出力信号の比較によって、一方の系統の回転角センサ３２（３１）の信号固着故障を検出することができる。
【００８８】
また、残り１つの回転角センサ３２（３１）において、２つのＭＲセンサＳs2，Ｓc2（Ｓs1，Ｓc1）の１つが故障した場合であっても、出力電圧の二乗平均和を使った故障判定では、故障確定に時間がかかったり、最悪の場合には、故障検出できなかったりする場合がある。例えば、図８に示すように、２つのＭＲセンサＳs2，Ｓc2の一方であるＭＲセンサＳc2の出力電圧が急変して出力電圧の二乗平均和の値が異常値となった場合でも、故障を確定するために必要な一定時間経過する前に、図９に示すように、出力電圧が変化してしまうことがある。つまり、ＭＲセンサＳc2の出力電圧の符号のみが正常値に対して反転するという状態（反転故障と呼ぶ）となった場合には、出力電圧の二乗平均和の値が、√（Ｖｔ２（ｓｉｎθ２＋ｃｏｓθ２））＝Ｖｔ（正常値）となり、ＭＲセンサＳc2に故障が発生したことを確定することができない。
【００８９】
一般に、誤った故障検出を防ぐために、異常となる状態が一定時間継続することを確認してから、故障を確定するという手法が採られている。そのため、例えば、図８に示すように、一方のＭＲセンサＳc2の出力電圧が急変して、出力電圧の二乗平均和の値が異常値となっても、一定時間経過する前に、図９に示すように、出力電圧の符号が反転した場合には、出力電圧の二乗平均和の値が正常値に戻ってしまう。こうした場合には、故障確定に時間がかかったり、最悪の場合には、故障検出できなかったりする。
【００９０】
例えば、２系統の回転角センサ３１，３２がともに正常である状況においては、２系統の回転角センサ３１，３２の４つの出力信号を使って（比較して）故障を判定できるため、故障を確定させるために必要な時間を短く設定することができる。つまり、２系統の回転角センサ３１，３２のうちの一方の出力電圧の二乗平均和の値が正常であれば、出力電圧の二乗平均和の値が急変した回転角センサに対しては、その急変を検出した早い段階で故障していると判定することができる。しかし、１系統の回転角センサ３１（３２）の故障が確定している状況においては、残り１系統の回転角センサ３２（３１）の故障を確定させるためには、誤検出のリスクを考えると、故障判定までにより長い時間をかける必要がある。そのため、故障確定させるための時間経過を待っている期間に、反転故障が発生した場合には、故障判定ができない。
【００９１】
このように、残り１系統の回転角センサ３２（３１）を使ってモータ回転角を検出する場合には、その回転角センサ３２（３１）の出力信号だけでは、故障を精度良く検出することができないおそれがある。また、出力電圧が急変した場合には、演算されるモータ回転角も急変する。このため、故障が発生してから故障が確定するまでの間に、操舵アシストを大きく誤らせてしまう可能性や、長時間誤った操舵アシストを行ってしまう可能性もある。
【００９２】
そこで、２系統目故障検出部７２は、残り１系統の回転角センサ３２（３１）の出力信号の二乗平均和に基づく故障判定に加えて、操舵トルクＴｒの変動に基づいた故障判定を追加することにより、残り１系統の回転角センサ３２（３１）の故障を適正に検出する。
【００９３】
残り１系統の回転角センサ３１（３２）の出力信号を使って計算したモータ回転角θに基づいて操舵アシスト制御を行っている場合、残り１系統の回転角センサ３１（３２）が故障した場合には、操舵トルクＴｒに特有の変化が生じる。例えば、残り１系統の回転角センサ３１（３２）において、２つのＭＲセンサＳc1，Ｓs1（Ｓc2，Ｓs2）の出力信号が同時に一定電圧に固着されてしまうという故障（信号固着故障と呼ぶ）が発生する場合が考えられる。その場合、図１０（ａ）に示すように、故障が発生したタイミングで、計算されるモータ回転角θが一定となる。
【００９４】
このため、モータ２０が回転しているにもかかわらず、一定のモータ回転角θが通電制御部５２に供給される。従って、モータ２０の電気角を回転方向に進めることができず、操舵アシストトルクが減少する。その結果として、ドライバーは、無意識に操舵アシストトルクの減少を補うように操舵ハンドル１１を操作する。これにより、トルクセンサ２１によって検出される操舵トルクＴｒは、図１０（ｂ）に示すように急増する。
【００９５】
操舵トルクＴｒは、回転角センサ３１（３２）が正常であってモータ２０の通電制御を適正に行っているときには、予め想定される大きさの範囲内に収まるが、回転角センサ３１（３２）に信号固着故障が発生してモータ回転角θが一定値に固定されてしまうと、想定範囲を超える。従って、こうした操舵トルクＴｒの特定の挙動（増加）を検出することにより、回転角センサ３１（３２）の信号固着故障が発生したことを判定することができる。
【００９６】
他の故障パターン例として、残り１つの回転角センサ３１（３２）において、電源電圧Ｖccが正常電圧よりも低い中間電圧に固着した故障（電源オフセット故障と呼ぶ）が発生する場合がある。その場合、図１１（ａ）に示すように、回転角センサ３１（３２）の出力信号の電圧が変化する。この例では、電源電圧Ｖccが５Ｖから４Ｖに変化した例を表している。この場合、回転角センサ３１（３２）の出力信号は、振動の中点（原点）が２.５Ｖから２Ｖにずれ、振幅が２Ｖに変化する。これにより、計算される回転角（ここでは電気角で示している）は、図１１（ｂ）に示すように、誤差が発生する。
【００９７】
この誤差は、モータ２０の回転に対して、電気角で３６０degを１周期として周期的に変動する。この場合、回転角センサ３１（３２）の出力電圧の二乗平均和Ｖｘを計算すると、図１１（ｃ）に示すように、常に異常が検出されるというわけでなく、回転位置によっては異常が検出されない状況が発生する。この例では、図に破線で囲んだ領域においては、出力電圧の二乗平均和Ｖｘが正常値から大きく外れるために、回転角センサの故障を確実に検出できるが、例えば、電気角で１８０deg、２７０deg近傍においては、故障を検出できない。従って、ドライバーが速いハンドル操作を行った場合には、出力電圧の二乗平均和を計算しても、故障検出をできないケースもある。
【００９８】
尚、２系統の回転角センサ３１，３２が正常である状態から電源オフセット故障が発生した場合には、それぞれの回転角センサ３１，３２の出力電圧の位相がπずれているため、それぞれの出力電圧の二乗平均和Ｖｘが同時に正常値内に入ってしまう可能性は非常に小さい。従って、２系統の回転角センサ３１，３２が正常である状態から電源オフセット故障が発生した場合においては、迅速に故障検出できる。
【００９９】
操舵中において、回転角センサ３１（３２）に電源オフセット故障が発生すると、図１２（ａ）に示すように、計算されたモータ回転角θが周期的に真値からずれる。このため、モータ２０にトルクリップルが発生する。例えば、モータ２０の極対数を７，減速機２５のギヤ比を１８.５，操舵速度を９０deg／秒とすると、トルクリップルの周波数は、３２Ｈｚ（＝７×１８.５×９０／３６０）となる。このトルクリップルに同期して、ドライバーが操舵ハンドル１１に入力する操舵トルクが周期的に変動する。このような回転角センサ３１（３２）の電源オフセット故障に起因する操舵トルクの変動は、その周期が短く、ドライバーが操舵操作によって意図的に発生させることもなく、かつ、発生させることができるものでもない。このため、ドライバーの意図的な操舵操作による操舵トルクの振動とは、容易に区別することができる。
【０１００】
従って、こうした操舵トルクＴｒの周期的な変動を検出することにより、回転角センサ３１（３２）の電源オフセット故障が発生したことを判定することができる。この場合、操舵トルクの変動の周期が、電源オフセット故障時に想定される設定周期範囲に入っている場合に、回転角センサ３１（３２）の故障が発生したと判定すればよい。
【０１０１】
以下、２系統目故障検出部７２における処理について説明する。図１３は、２系統目故障検出部７２の実施する２系統目故障判定ルーチンを表す。２系統目故障判定ルーチンは、所定の短い演算周期で繰り返し実施される。２系統目故障判定ルーチンは、後述する回転角故障対応制御ルーチン（図１４）のステップＳ１７として組み込まれたサブルーチンである。
【０１０２】
２系統目故障判定ルーチンが起動すると、２系統目故障検出部７２はステップＳ１０１において、残り１系統の回転角センサ３１の検出信号Ｖsin1，Ｖcos1を読み込み、その出力電圧の二乗平均和Ｖｘ（＝√（Ｖsin1２＋Ｖcos1２）を計算する。ここでは、残り１系統の回転角センサ（１系統目故障検出部７１によって故障が検出された系統とは異なる系統の回転角センサ）が第１回転角センサ３１である場合を例として説明する。
【０１０３】
続いて、２系統目故障検出部７２はステップＳ１０２において、二乗平均和Ｖｘが許容範囲の下限値であるＶ１（＝Ｖｔ−α）以上であって、許容範囲の上限値であるＶ２（＝Ｖｔ＋α）以下であるか否か、つまり、二乗平均和Ｖｘが許容範囲内であるか否かを判断する。ここでαは、検出誤差等を考慮した許容値（α＞０）である。二乗平均和Ｖｘが許容範囲に入っていない場合、２系統目故障検出部７２は、ステップＳ１０３において、当該回転角センサ３１について故障有りと判定して、本ルーチンを一旦終了する。
【０１０４】
一方、ステップＳ１０２において「Ｙｅｓ」と判定された場合、つまり、二乗平均和による判定では故障を検知できなかった場合、２系統目故障検出部７２は、その処理をステップＳ１０４に進める。ステップＳ１０４からの処理は、操舵トルクＴｒの変動に基づいて、残り１系統の回転角センサ３１の故障の有無を判定する処理である。つまり、二乗平均和では、回転角センサ３１の故障を検出できないケースがあるため、それを担保するための処理である。
【０１０５】
２系統目故障検出部７２は、ステップＳ１０４において、トルクセンサ２１により検出される操舵トルクＴｒを読み込み、操舵トルクＴｒの大きさ｜Ｔｒ｜が予め設定された故障判定値Ｔ１以上であるか否かについて判断する。２系統目故障検出部７２は、操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上である場合には、ステップＳ１０５において、タイマカウンタｔｉｍを値１だけインクリメントし、ステップＳ１０６において、タイマカウンタｔｉｍが設定値ｔｉｍ１以上に達したか否かを判断する。一方、操舵トルク｜Ｔｒ｜が故障判定値Ｔ１未満である場合には、２系統目故障検出部７２は、ステップＳ１０７において、タイマカウンタｔｉｍの値をゼロクリアする。タイマカウンタｔｉｍの初期値はゼロに設定されている。これにより、タイマカウンタｔｉｍは、本ルーチンが繰り返されて、操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上であると判定されるたびにインクリメントされ、途中で操舵トルク｜Ｔｒ｜が故障判定値Ｔ１未満であると判定された場合にはゼロクリアされる。従って、このステップＳ１０４〜Ｓ１０７の処理は、操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上と判定されている継続時間が設定時間以上（設定値ｔｉｍ１に対応する時間）であるか否かについて判断する処理である。
【０１０６】
２系統目故障検出部７２は、操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上となっている継続時間が設定時間以上となったと判断した場合（Ｓ１０６：Ｙｅｓ）、その処理をステップＳ１０３に進めて、当該回転角センサ３１について故障有りと判定する。回転角センサ３１に信号固着故障が発生した場合には、上述したように、操舵トルクＴｒが急増する。従って、このステップＳ１０４〜Ｓ１０７の処理によって、信号固着故障を検出することができる。また、信号固着故障以外の原因、例えば、回転角センサ３１の出力信号が反転する故障が発生したりして、二乗平均和では故障検出できなかった場合（Ｓ１０２：Ｙｅｓ）にも、操舵トルクＴｒが急増するため、回転角センサ３１の故障を検出することができる。
【０１０７】
一方、操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上となっている継続時間が設定時間未満であると判定された場合には、２系統目故障検出部７２は、ステップＳ１０８において、操舵トルクＴｒの変動周波数ｆを演算する。例えば、２系統目故障検出部７２は、操舵トルクＴｒをサンプリングして、直近の所定期間のサンプリング値から操舵トルクＴｒの周期的な変動成分を抽出し、その変動成分の変動周波数ｆを別途演算している。
【０１０８】
続いて、２系統目故障検出部７２は、ステップＳ１０９において、操舵トルクＴｒの変動周波数ｆが故障判定周波数範囲（ｆ１〜ｆ２）に入っているか否かについて判断する。操舵トルクＴｒは、電源オフセット故障が発生した場合には、特有の周波数（正常時には検出されない周波数）で振動する。２系統目故障検出部７２は、電源オフセット故障に想定される操舵トルクＴｒの周波数範囲を故障判定周波数範囲（ｆ１〜ｆ２）として記憶しており、ステップＳ１０８で算出した操舵トルクＴｒの変動周波数ｆと、故障判定周波数範囲（ｆ１〜ｆ２）を比較する。
【０１０９】
２系統目故障検出部７２は、操舵トルクＴｒの変動周波数ｆが故障判定周波数範囲（ｆ１〜ｆ２）に入っている場合（ｆ１≦ｆ≦ｆ２）には、その処理をステップＳ１０３に進めて、当該回転角センサ３１について故障有りと判定する。一方、操舵トルクＴｒに周期的な変動が発生していない、あるいは、発生していても変動周波数ｆが故障判定周波数範囲（ｆ１〜ｆ２）に入っていない場合には、ステップＳ１１０において、当該回転角センサ３１について故障無しと判定する。
【０１１０】
２系統目故障検出部７２は、こうした処理を繰り返すことにより、残り１系統の回転角センサ３１（３２）の故障を判定する。従って、二乗平均和では検出できなかった故障に対しても検出することができる。
【０１１１】
次に、回転角センサ３１，３２の故障に対する全体的な動作について説明する。図１４は、回転角故障対応制御ルーチンを表す。本ルーチンは、主に、回転角センサ故障検出部７０、モータ回転角演算部６０、通電制御部５２が協働して行う全体的な動作を示したものであるため、以下、アシスト演算部５０の実施する処理として説明する。アシスト演算部５０は、イグニッションスイッチがオンされている期間中、操舵アシスト制御と並行して回転角故障対応制御ルーチンを所定の短い周期で繰り返す。
【０１１２】
本ルーチンが起動されると、アシスト演算部５０は、ステップＳ１１において、２系統の回転角センサ３１，３２の両方ともが正常であるか（故障が検出されていないか）否かについて判断する。２系統の回転角センサ３１，３２に故障が検出されていない場合（Ｓ１１：Ｙｅｓ）は、アシスト演算部５０は、ステップＳ１２において、１系統目故障検出部７１による回転角センサ３１，３２の故障判定を上述したように操舵トルクＴｒを用いることなく実施する。
【０１１３】
一方、ステップＳ１１において「Ｎｏ」と判定された場合には、アシスト演算部５０は、ステップＳ２１において、何れか一方の１系統の回転角センサ３１（３２）が正常であるか（故障が検出されていないか）否かについて判断する。１系統のみの回転角センサ３１（３２）に故障が検出されている場合には、アシスト演算部５０は、ステップＳ１７において、２系統目故障検出部７２による回転角センサ３１（３２）の故障判定を実施する。このステップＳ１７の処理は、上述した２系統目故障判定ルーチン（図１３）と同一である。
【０１１４】
また、ステップＳ２１において「Ｎｏ」と判定された場合、つまり、２系統の回転角センサ３１，３２が何れも故障していると判定されている場合には、アシスト演算部５０は、ステップＳ２２において、操舵アシスト制御を停止する。
【０１１５】
アシスト演算部５０は、ステップＳ１２において、１系統目故障検出部７１による回転角センサ３１，３２の故障判定を実施した結果、故障有りと判定されなかった場合（Ｓ１３：Ｎｏ）には、その処理をステップＳ１４に進める。アシスト演算部５０は、ステップＳ１４において、正常時回転角演算部６１により算出されたモータ回転角θを読み込み、ステップＳ１５において、正常時回転角演算部６１により算出されたモータ回転角θを使った操舵アシスト制御を継続する。
【０１１６】
一方、１系統の回転角センサ３１（３２）に故障有りと判定された場合（Ｓ１３：Ｙｅｓ）には、ステップＳ１６において、故障有りと特定された回転角センサ３１（３２）について、故障確定する。つまり、故障有りと特定された回転角センサ３１に係る故障確定情報を記憶する。この故障確定情報によって、以降、ステップＳ１１，Ｓ２１の判断が決定される。アシスト演算部５０は、ステップＳ１６において、１系統の回転角センサ３１（３２）の故障を確定した後、その処理をステップＳ１７に進める。
【０１１７】
アシスト演算部５０は、ステップＳ１７において、２系統目故障検出部７２による回転角センサ３１（３２）の故障判定を実施した結果、故障有りと判定されなかった場合（Ｓ１８：Ｎｏ）には、その処理をステップＳ１９に進める。アシスト演算部５０は、ステップＳ１９において、１系統故障時回転角演算部６２により算出されたモータ回転角θを読み込み、ステップＳ１５において、１系統故障時回転角演算部６２により算出されたモータ回転角θを使った操舵アシスト制御を継続する。従って２系統の回転角センサ３１，３２の一方の故障が検出されている状況であっても、残り１系統の回転角センサ３１（３２）の検出信号から算出されたモータ回転角θを使った操舵アシスト制御が継続される。
【０１１８】
また、アシスト演算部５０は、ステップＳ１７において２系統目故障検出部７２による回転角センサ３１（３２）の故障判定を実施した結果、故障有りと判定された場合（Ｓ１８：Ｙｅｓ）、ステップＳ２０において、故障有りと特定された回転角センサ３１（３２）について故障確定情報を記憶する。続いて、アシスト演算部５０は、ステップＳ２２において、操舵アシスト制御を停止する。
【０１１９】
アシスト演算部５０は、回転角故障対応制御ルーチンを所定の周期で繰り返す。従って、操舵アシスト制御中に、回転角センサ３１，３２の故障状況に応じた回転角センサ３１，３２の故障判定方法、および、モータ回転角θの計算に使用する回転角センサ３１，３２が選択され、２系統の回転角センサ３１，３２が両方とも故障するまで、回転角センサ３１，３２の検出信号を使った操舵アシスト制御を継続することができる。
【０１２０】
以上説明した本実施形態の電動パワーステアリング装置１によれば、２系統目故障検出部７２を設けて、１系統の回転角センサ３１（３２）が故障した場合には、それまでの故障判定方法を変更し、二乗平均和の値による判定に加えて、操舵トルクＴｒの特有な変動の有無に基づいた故障判定を追加している。これにより、二乗平均和では故障を検出できないケースであっても、故障を検出する可能性を高めることができる。
【０１２１】
また、操舵トルクＴｒの変動は、回転角センサ３１，３２が故障した場合だけでなく他の要因にても発生する。そこで、２系統の回転角センサ３１，３２が両方とも故障が検出されていない状況においては、操舵トルクＴｒの変動に基づく故障判定を行わないようにし、残り１系統の回転角センサ３１（３２）により検出されるモータ回転角を使ったアシスト制御時においてのみ、操舵トルクＴｒの特有な変動に基づいた故障判定を追加している。従って、回転角センサ３１，３２の故障以外の要因による操舵トルクＴｒの変動に関しては、誤って回転角センサ３１，３２の故障であると誤判定しないように最大限配慮されている。
【０１２２】
更に、電源オフセット故障、および、信号固着故障は、それぞれ特有の操舵トルクＴｒの挙動を生じるため、回転角センサ３１，３２の故障モードと操舵トルクＴｒの挙動とに強い相関がある。このため、電源オフセット故障時、および、信号固着故障時に特有に生じる操舵トルクの挙動に基づいて、故障判定閾値（故障判定値Ｔ１、故障判定周波数ｆ１〜ｆ２）を設定して、故障判定を行っているため、誤検出の可能性を小さくすることができる。つまり、操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上と判定されている継続時間が設定時間以上である、あるいは、操舵トルクＴｒの変動周波数ｆが故障判定周波数範囲（ｆ１〜ｆ２）に入っている場合に限って、故障有りと判定しているため、誤検出の可能性を小さくすることができる。つまり、他の要因で操舵トルクＴｒが変動した場合には、回転角センサ３１，３２の故障であると誤判定する可能性を小さくすることができる。
【０１２３】
これらの結果、２系統の回転角センサ３１，３２を有効利用して、精度の良い操舵アシスト制御を継続させることができる。これにより、ドライバーは、長期にわたって良好な操舵アシストを得ることができる。
【０１２４】
次に、いくつかの変形例について説明する。
＜センサレス制御の適用＞
上記実施形態においては、２系統の回転角センサ３１，３２の両方に故障が検出されている状況においては、ステップＳ２２において、操舵アシストを停止するが、それに代えて、モータ２０のセンサレス制御により操舵アシストを実施するようにしてもよい。モータ２０のセンサレス制御は、モータ２０の電気角を推定し、その推定した電気角に基づいてモータ２０を駆動制御する公知の手法である。例えば、本願出願人は、センサレス制御にて電動パワーステアリング装置のモータを駆動する技術を特開２０１２−１６６７７６等に提案しており、こうした技術などを使用することができる。
【０１２５】
この場合、アシスト演算部５０は、図４に破線で示すように、センサレス電気角推定部８０を備えている。センサレス電気角推定部８０は、電流センサ４１により検出されるモータ電流Ｉｍと、電圧センサ４２により検出される端子電圧Ｖｍとを読み込み、このモータ電流Ｉｍと端子電圧Ｖｍとに基づいて、誘起電圧（逆起電力）を演算し、誘起電圧に比例するモータ角速度ωを算出する。そして、誘起電圧の演算周期と角速度とから、１演算周期あたりにモータ２０が回転した回転角度を演算し、１演算周期前の電気角に、この回転角度を加減算することにより現時点の電気角、つまり、推定電気角θｅを演算する。通電制御部５２は、この推定電気角θｅを使ってモータ２０を駆動制御する。
【０１２６】
電気角の推定は、回転角センサ３１（３２）を使って実際にモータ２０の回転角を検出する場合に比べて検出精度が劣る。そこで、この変形例では、２系統の回転角センサ３１，３２を有効利用して、精度の良い操舵アシスト制御を継続させ、２系統の回転角センサ３１，３２の両方の故障が検出された時点で、ステップＳ２２においてセンサレス制御に切り替えられる。従って、できるだけ操舵アシストを延命させることができ、ドライバーの負担を軽減することができる。
【０１２７】
＜故障判定閾値の変形例＞
上記実施形態においては、２系統目故障検出部７２が、ステップＳ１０４〜Ｓ１０７において、操舵トルク｜Ｔｒ｜が予め設定された故障判定値Ｔ１以上となっている継続期間が設定時間以上である場合に、回転角センサ３１（３２）が故障していると判定する。この場合、故障判定値Ｔ１が小さいと、実際には回転角センサ３１（３２）が故障していなくても故障していると誤判定しやすく、逆に、故障判定値Ｔ１が大きいと、回転角センサ３１，３２の故障検出精度が低下する。そこで、こうした点を改良する３つの変形例について説明する。３つの変形例は、図１５に示すように、２系統目故障検出部７２が、ステップＳ１０４の判断処理を行う前に、ステップＳ１２０において、故障判定値Ｔ１を状況に応じて設定する処理を追加したものである。
【０１２８】
＜故障判定閾値の変形例１＞
例えば、据え切り操舵時、極低速走行中の操舵時においては、軸力が大きく、ドライバーが操舵ハンドル１１に入力する操作力が増加しやすい。そこで、この変形例１においては、２系統目故障検出部７２が、ステップＳ１２０において、車速センサ２３により検出される車速Ｖを読み込み、この車速Ｖに応じて故障判定値Ｔ１を設定する。例えば、２系統目故障検出部７２は、図１６の故障判定値設定マップに示すように、車速Ｖがゼロから設定速度Ｖ１（極低速速度）の範囲（低車速範囲と呼ぶ）に入る場合は、車速Ｖが低車速範囲に入らない場合に比べて大きな故障判定値Ｔ１を設定する。そして、２系統目故障検出部７２は、ステップＳ１０４において、この故障判定値Ｔ１を使って操舵トルク｜Ｔｒ｜と比較する。
【０１２９】
この故障判定値設定マップでは、故障判定値Ｔ１を２段階に変更しているが、車速Ｖが低い場合には高い場合に比べて、故障判定値Ｔ１が大きな値に設定されるものであればよく、複数段階、あるいは、連続的に変更するものであってもよい。この変形例１によれば、残り１系統の回転角センサ３１の故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。
【０１３０】
＜故障判定閾値の変形例２＞
一般に、電動パワーステアリング装置は、モータの出力を制限する機能を備えている。例えば、モータの過熱するおそれがある場合には、モータの出力が制限される。本実施形態の電動パワーステアリング装置１においても、モータ２０の出力制限機能を備えている。例えば、アシスト演算部５０は、モータ２０の温度を検出、あるいは、推定することによって、モータ２０が過熱するおそれのある場合には、モータ２０に流す電流の上限値を下げることによって、モータ２０の過熱防止を図る。こうしたモータ２０の出力制限が働いている状況、つまり、出力制限モードが設定されている状況においては、操舵アシストトルクが通常時（モータの出力制限が働いていない時）に比べて制限される。このため、ドライバーの操舵ハンドルに入力する操舵トルクが増加しやすい。
【０１３１】
そこで、この変形例２においては、２系統目故障検出部７２が、ステップＳ１２０において、モータ２０の出力制限が働いている状況（出力制限モード）か否かを判断し、モータ２０の出力制限が働いている状況であれば、出力制限が働いていない状況に比べて、大きな故障判定値Ｔ１を設定する。従って、この変形例２においても、残り１系統の回転角センサ３１（３２）の故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。
【０１３２】
＜故障判定閾値の変形例３＞
ステアリング機構１０には、右方向および左方向の操舵操作の限界位置を設定するストッパが設けられている。この操舵操作の限界位置をストロークエンドと呼ぶ。操舵ハンドル１１を大きく操舵操作して操舵位置がストロークエンドに到達した場合には、操舵ハンドル１１をそれ以上回すことができなくなり、操舵トルクＴｒが急激に増加する可能性がある。
【０１３３】
そこで、この変形例３においては、２系統目故障検出部７２が、ステップＳ１２０において、操舵角センサ２２により検出される操舵角θｈを読み込み、この操舵角θｈに基づいて故障判定値Ｔ１を設定する。例えば、２系統目故障検出部７２は、操舵角θｈが最大舵角近傍（操舵操作位置がストロークエンド近傍）であるか否かを判断し、操舵角θｈが最大舵角近傍である場合には、最大舵角近傍でない場合に比べて大きな故障判定値Ｔ１を設定する。従って、この変形例３においても、残り１系統の回転角センサ３１の故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。尚、操舵角θｈが最大舵角近傍であるか否かの判断は、例えば、操舵角θｈが最大舵角θmaxから所定範囲γ内（θmax−γ≦｜θｈ｜≦θmax）に入っているか否かについて判断すればよい。
【０１３４】
＜故障確定に係る変形例１＞
上述した実施形態においては、２系統目故障検出部７２による回転角センサ３１（３２）の故障判定を実施した結果、故障有りと判定された時点（操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上と判定されている継続時間が設定時間以上であるか、あるいは、操舵トルクＴｒの変動周波数ｆが故障判定周波数範囲（ｆ１〜ｆ２）に入っていると判定された時点）で、故障が確定された（Ｓ２０）。この変形例においては、故障を確定するに当たって、更に、以下の処理を追加している。
【０１３５】
図１７は、故障確定に係る変形例１に係る処理を表す。この変形例１は、実施形態の回転角故障対応制御ルーチンにステップＳ３０，Ｓ３１の処理を追加したものである。アシスト演算部５０は、回転角故障対応制御ルーチンのステップＳ１８において、２系統目故障検出部７２によって故障有りと判定された場合、ステップＳ３０において、操舵トルクＴｒの符号と同じ方向に、モータ回転角θに所定回転角だけ加算する。これにより、通電制御部５２においては、その加算量に対応した量だけモータ２０の電気角を進める。従って、モータ２０の出力する操舵アシストトルクが変化し、それに応答してドライバーが操舵ハンドル１１を回転させる。尚、所定回転角の加算は、操舵トルクＴｒの符号と同じ方向に限らず、反対方向であってもよい。
【０１３６】
このとき、残り１系統の回転角センサ３１（３２）が故障していなければ、回転角センサ３１（３２）の出力する電圧信号は変化するはずである。そこで、アシスト演算部５０は、ステップＳ３１において、回転角センサ３１（３２）の出力する電圧信号を読み込み、電圧信号に変動があったか否かを判断する。アシスト演算部５０は、電圧信号に変動が無い場合には、ステップＳ２０において、残り１系統の回転角センサ３１（３２）についても故障を確定する。一方、電圧信号に変動があった場合には、アシスト演算部５０は、残り１系統の回転角センサ３１（３２）の故障を確定することなく、その処理をステップＳ１９に進める。
【０１３７】
この故障確定に係る変形例１によれば、２系統目故障検出部７２によって故障有りと判定されても直ちに故障を確定せずに、モータ２０の電気角を進めてドライバーに操舵ハンドル１１を回転操作させた後に、回転角センサ３１（３２）の故障の有無を再度判定する。従って、残り１系統の回転角センサ３１（３２）の故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。
【０１３８】
＜故障確定に係る変形例２＞
例えば、操舵ハンドル１１を回転できない状況（操舵角がエンド位置に到達している状況、転舵輪Ｗが轍にはまっている状況など）においては、モータ回転角θに所定回転角だけ加算しても、回転角センサ３１の出力する電圧信号は変化しない可能性がある。そこで、この故障確定に係る変形例２においては、図１８に示すように、故障確定に係る変形例１に対して、ステップＳ３２の判断処理が追加されている。
【０１３９】
アシスト演算部５０は、ステップＳ３１において、残り１系統の回転角センサ３１（３２）の出力する電圧信号が変化しないと判定した場合、その処理をステップＳ３２に進める。アシスト演算部５０は、ステップＳ３２において、電流センサ４１により検出されるモータ電流Ｉｍと、電圧センサ４２により検出される端子電圧Ｖｍとを読み込み、このモータ電流Ｉｍと端子電圧Ｖｍとに基づいて、モータ２０で発生する誘起電圧（逆起電力）Ｅを演算する。そして、誘起電圧Ｅの大きさ｜Ｅ｜が車輪ロック判定閾値Ｅ１よりも大きいか否かについて判断する。
【０１４０】
車輪ロック判定閾値Ｅ１は、転舵輪Ｗがロックしているか否かを判定するために予め設定された閾値である。誘起電圧｜Ｅ｜が車輪ロック判定閾値Ｅ１以下となる場合には、転舵輪Ｗがロックしていると推定できるため、アシスト演算部５０は、「Ｎｏ」と判定して、その処理をステップＳ１９に進める。従って、この場合には、残り１系統の回転角センサ３１（３２）の故障は確定されない。一方、誘起電圧｜Ｅ｜が車輪ロック判定閾値Ｅ１よりも大きい場合には、転舵輪Ｗがロックしていないと推定できるため、アシスト演算部５０は、「Ｙｅｓ」と判定して、その処理をステップＳ２０に進める。従って、この場合には、残り１系統の回転角センサ３１についても故障が確定する。
【０１４１】
この故障確定に係る変形例２によれば、変形例１の作用効果に加えて、操舵ハンドル１１を回転できない状況における、回転角センサ３１（３２）の故障検出に係る誤判定を低減することができる。
【０１４２】
＜アシスト特性に係る変形例＞
上記実施形態においては、２系統目故障検出部７２が、ステップＳ１０４〜Ｓ１０７において、操舵トルク｜Ｔｒ｜が予め設定された故障判定値Ｔ１以上となっている継続期間が設定時間以上である場合に、回転角センサ３１（３２）が故障していると判定する。よって、残りの１系統の回転角センサ３２（３１）が故障していない場合は、できるだけ操舵トルク｜Ｔｒ｜が故障判定値Ｔ１以上にならないようにすることにより誤判定の可能性を低減できる。そこで、この変形例では、アシスト特性を、２系統の回転角センサ３１，３２がともに正常である場合（故障が検出されていない場合）と、１系統の回転角センサ３１（３２）に故障が検出されている場合とで切り替える。
【０１４３】
図５（ａ）は、正常時アシスト特性を示し、図５（ｂ）は、１系統故障時アシスト特性を示す。モータ制御量演算部５１は、回転角センサ故障検出部７０から出力される故障検出信号Ｆailを入力し、２系統の回転角センサ３１，３２の故障状況を判断する。モータ制御量演算部５１は、２系統の回転角センサ３１，３２がともに正常である場合には、正常時アシスト特性を使って操舵トルクＴｒに応じた目標アシストトルクＴａ＊を演算し、１系統の回転角センサ３１（３２）に故障が検出されている場合には、１系統故障時アシスト特性を使って操舵トルクＴｒに応じた目標アシストトルクＴａ＊を演算する。
【０１４４】
１系統故障時アシスト特性においては、正常時アシスト特性に比べて、操舵トルク｜Ｔｒ｜が所定値よりも大きい範囲において、操舵トルク｜Ｔｒ｜の増加に対する目標アシストトルクＴａ＊の増加度合が大きくなっており、操舵トルク｜Ｔｒ｜に対する目標アシストトルクＴａ＊が大きな値に設定される。このため、１系統故障時アシスト特性においては、正常時アシスト特性に比べて、小さな操舵トルク｜Ｔｒ｜で目標アシストトルクＴａ＊が上限値に達する。従って、ハンドル操作が軽い設定になっている。
【０１４５】
１系統故障時アシスト特性においては、回転角センサ３１，３２の故障判定に用いられる故障判定値Ｔ１は、目標アシストトルクＴａ＊が上限値Ｔａ＊maxに到達するときの操舵トルクＴmaxよりも大きな値に設定されている。このように設定することにより、ドライバーは、通常、目標アシストトルクＴａ＊が上限値Ｔａ＊max以下となる範囲の操舵トルクにて操舵ハンドル１１を操作する。従って、１系統故障時アシスト特性を用いて操舵アシスト制御が実施されている場合には、操舵トルク｜Ｔｒ｜は、故障判定値Ｔ１よりも小さくなる。
【０１４６】
このアシスト特性に係る変形例によれば、残り１系統の回転角センサ３１（３２）の故障検出精度を維持しつつ、故障検出に係る誤判定を低減することができる。
【０１４７】
以上、本実施形態および変形例にかかる車両の電動パワーステアリング装置１について説明したが、本発明は上記実施形態および変形例に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【０１４８】
例えば、本実施形態においては、ＭＲセンサの出力信号に基づいてモータ回転角θを検出する回転角検出手段を備えているが、回転角検出手段は、必ずしもＭＲセンサを備えている必要はなく、他のセンサを用いたものであってもよい。
【０１４９】
また、実施形態に故障判定閾値の変形例１，２，３を適宜組み合わせて実施する構成であってもよい。つまり、車速条件、出力制限モード条件、操舵角条件を任意に組み合わせたＯＲ条件を使って、故障判定値Ｔ１を設定する構成であってもよい。
【０１５０】
また、故障確定に係る変形例１，２についても、実施形態に限らず、故障判定閾値の変形例１，２，３と適宜組み合わせることも可能である。また、アシスト特性に係る変形例についても、実施形態に限らず、故障判定閾値の変形例１，２，３、および、故障確定に係る変形例１，２と適宜組み合わせることも可能である。
【０１５１】
また、本実施形態においては、回転角検出手段（回転角センサユニット３０）は、モータ２０のロータの回転角を直接検出するが、それに代えて、モータ２０の回転と共に回転する部材、例えば、ピニオンシャフト１２ｃあるいはインターミディエイトシャフト１２ｂなどの部材の回転角を検出する構成であってもよい。
【０１５２】
また、本実施形態においては、モータ２０の発生するトルクをステアリングシャフト１２に付与するコラムアシスト式の電動パワーステアリング装置について説明したが、モータの発生するトルクをラックバー１４に付与するラックアシスト式の電動パワーステアリング装置であってもよい。
【符号の説明】
【０１５３】
１…電動パワーステアリング装置、１０…ステアリング機構、１１…操舵ハンドル、２０…モータ、２１…トルクセンサ、２２…操舵角センサ、２３…車速センサ、３０…回転角センサユニット、３１，３２…回転角センサ、４０…モータ駆動回路、４１…電流センサ、４２…電圧センサ、５０…アシスト演算部、５１…モータ制御量演算部、５２…通電制御部、６０…モータ回転角演算部、６１…正常時回転角演算部、６２…１系統故障時回転角演算部、６３…回転角出力部、７０…回転角センサ故障検出部、７１…１系統目故障検出部、７２…２系統目故障検出部、７３…故障信号出力部、８０…センサレス電気角推定部、１００…アシストＥＣＵ、Ｅle１，Ｅle2…エレメント、ｆ…変動周波数、Ｆail…故障検出信号、Ｓs1，Ｓc1，Ｓs2，Ｓc2…磁気センサ、Ｔ１…故障判定値、Ｔｒ…操舵トルク、Ｖsin1，Ｖcos1，Ｖsin2，Ｖcos2…検出信号（出力電圧）、Ｖｘ…二乗平均和、θ…モータ回転角、θｈ…操舵角。
【図１】
2016113031.tif 000003
【図２】
2016113031.tif 000004
【図３】
2016113031.tif 000005
【図４】
2016113031.tif 000006
【図５】
2016113031.tif 000007
【図６】
2016113031.tif 000008
【図７】
2016113031.tif 000009
【図８】
2016113031.tif 000010
【図９】
2016113031.tif 000011
【図１０】
2016113031.tif 000012
【図１１】
2016113031.tif 000013
【図１２】
2016113031.tif 000014
【図１３】
2016113031.tif 000015
【図１４】
2016113031.tif 000016
【図１５】
2016113031.tif 000017
【図１６】
2016113031.tif 000018
【図１７】
2016113031.tif 000019
【図１８】
2016113031.tif 000020