(57)【要約】      （修正有）【課題】通信にて共有された値を用いて適切に異常を検出可能な検出ユニットを提供する。【解決手段】制御部１７０、２７０は、異常監視部１７１、２７１、および、制御演算部１７２、２７２を有し、それぞれ異なるセンサ部１３１、２３１から角度信号を取得する。異常監視部１７１、２７１は、角度信号の異常を監視する。制御演算部１７２、２７２は、角度信号を用いた演算を行う。第２制御部２７０は、他系統演算値である角度信号を通信により、他の制御部である第１制御部１７０から取得する。異常監視部２７１は、自系統演算値である角度信号と、他系統演算値である角度信号と、を比較する場合、角度信号、または、角度信号の一方として、通信遅れを補正した通信遅れ補正値を用いる。これにより、角度信号の異常を適切に検出することができる。【選択図】図４
2020159992.tif 000002
【特許請求の範囲】
【請求項１】
物理量の変化を検出する検出素子（１４１、１４２、１４５、２４１、２４２、２４５）、および、前記検出素子により検出された物理量に応じた物理量演算値を演算する演算部（１５１、１５２、１５５、１５６、２５１、２５２、２５５、２５６）を有する複数のセンサ部（１３１、１３２、２３１、２３２）と、
前記物理量演算値の異常を監視する異常監視部（１７１、２７１）および前記物理量演算値を用いた演算を行う制御演算部（１７２、２７２）を有し、それぞれ異なる前記センサ部から前記物理量演算値を取得する複数の制御部（１７０、２７０）と、
を備え、
前記制御部と前記制御部が前記物理量演算値を取得する前記センサ部との組み合わせを系統とすると、
少なくとも１つの前記制御部は、他系統の前記物理量演算値そのもの又は他系統の前記物理量演算値に基づいて演算された値である他系統演算値を通信により他の前記制御部から取得し、
前記異常監視部は、自系統の前記物理量演算値そのもの又は自系統の前記物理量演算値に応じて演算された値である自系統演算値と前記他系統演算値とを比較する場合、前記自系統演算値または前記他系統演算値として、通信遅れを補正した通信遅れ補正値を用いる検出ユニット。
【請求項２】
前記通信遅れ補正値は、前記他系統演算値を取得したタイミングよりも、通信遅れ相当分、前のタイミングで検出した前記自系統演算値の過去値である請求項１に記載の検出ユニット。
【請求項３】
前記通信遅れ補正値は、通信遅れ相当分、先の値を予測した前記他系統演算値の予測値である請求項１に記載の検出ユニット。
【請求項４】
少なくとも１つの前記検出素子は、素子に関わる構成が異なっている請求項１〜３のいずれか一項に記載の検出ユニット。
【請求項５】
前記検出素子には、正常時、前記物理量演算値が前記制御演算部での制御演算に用いられるメイン検出素子（１３１、２３１）、および、正常時、前記メイン検出素子の異常監視に用いられるサブ検出素子（１３２、２３２）が含まれ、
前記異常監視部は、
前記メイン検出素子に係る前記自系統演算値は、自系統の前記サブ検出素子に係る前記自系統演算値、および、他系統の前記メイン検出素子に係る前記他系統演算値との比較を行い、
前記サブ検出素子に係る前記自系統演算値は、自系統の前記メイン検出素子に係る前記自系統演算値との比較を行い、前記他系統演算値との比較を行わない請求項１〜４のいずれか一項に記載の検出ユニット。
【請求項６】
前記異常監視部は、前記自系統演算値および前記他系統演算値の少なくとも２つを用いた参照信号を演算し、前記参照信号との比較による異常監視を行う請求項１〜４のいずれか一項に記載の検出ユニット。
【請求項７】
前記異常監視部は、２つの値の比較による異常監視を行うものであって、少なくとも１組の比較実施ペアが予め設定されており、
前記比較実施ペアの比較結果が正常である場合、当該比較実施ペアの値が正常であると特定し、
前記比較実施ペアの比較結果が異常である場合、比較結果が正常である新たなペアをサーチし、比較結果が正常のペアがあった場合、比較結果が正常であったペアの値が正常であると特定するとともに、少なくとも１つの正常のペアを次回以降の前記比較実施ペアに設定し直す請求項１〜４のいずれか一項に記載の検出ユニット。
【請求項８】
前記異常監視部は、２つの値の比較による異常監視を行い、比較結果が異常である場合にリトライを行うものであって、リトライ回数に応じた比較実施ペアが予め設定されており、前記リトライ回数に応じて異常である値を特定する請求項１〜４のいずれか一項に記載の検出ユニット。
【請求項９】
前記物理量演算値の系統間の検出誤差を補正する系統間誤差補正値の演算に用いられる前記自系統演算値または前記他系統演算値は、前記通信遅れ補正値である請求項１〜８のいずれか一項に記載の検出ユニット。
【請求項１０】
前記物理量は、周期的に変化するものであって、
前記制御部は、複数の前記系統間誤差補正値に基づいて、前記物理量の変化周期に対応した補正マップまたは補正関数を作成し、前記物理量の変化周期に応じた前記系統間誤差補正値を用いた補正演算を行う請求項９に記載の検出ユニット。
【請求項１１】
少なくとも１つの前記制御部は、前記自系統演算値と比較可能であって、前記自系統演算値とは別の物理量に基づく外部検出値を外部センサ（５００）から取得し、
前記自系統演算値と前記他系統演算値と前記外部検出値とを比較する場合、前記自系統演算値、前記他系統演算値および前記外部検出値の少なくとも１つとして、前記通信遅れ補正値を用いる請求項１〜１０のいずれか一項に記載の検出ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出ユニットに関する。
【背景技術】
【０００２】
従来、モータの回転角度を検出するモータ回転角度検出装置が知られている。例えば特許文献１では、センサ部が２つ設けられ、回転角の演算機能が冗長化されており、いずれか一方に異常が生じた場合であっても、電動パワーステアリング装置の動作を継続可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１９１０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、マイコン間通信にて他系統の出力信号を用い、異常箇所を特定している。マイコン間通信にて他系統の信号を取得する場合、通信遅れが生じる虞がある。本発明は、上述の課題に鑑みてなされたものであり、その目的は、通信にて共有された値を用いて適切に異常を検出可能な検出ユニットを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の検出ユニットは、複数のセンサ部（１３１，１３２、２３１、２３２）と、複数の制御部（１７０、２７０）と、を備える。センサ部は、物理量の変化を検出する検出素子（１４１、１４２、２４１、２４２）、および、検出素子により検出された物理量に応じた物理量演算値を演算する演算部（１５１、１５２、１５５、１５６、２５１、２５２、２５５、２５６）を有する。制御部は、物理量演算値の異常を監視する異常監視部（１７１、２７１）および物理量演算値を用いた演算を行う制御演算部（１７２、２７２）を有し、それぞれ異なるセンサ部から物理量演算値を取得する。
【０００６】
制御部と、制御部が物理量演算値を取得するセンサ部との組み合わせを系統とする。少なくとも１つの制御部は、他系統の物理量演算値そのもの、又は他系統の物理量演算値に基づいて演算された値である他系統演算値を通信により他の制御部から取得する。
【０００７】
異常監視部は、自系統の物理量演算値そのもの又は自系統の物理量演算値に応じた演算された値である自系統演算値と他系統演算値とを比較する場合、自系統演算値または他系統演算値として、通信遅れを補正した通信遅れ補正値を用いる。これにより、角度信号の異常を適切に検出することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態によるステアリングシステムの概略構成図である。
【図２】第１実施形態による駆動装置の断面図である。
【図３】図２のＩＩＩ−ＩＩＩ線断面図である。
【図４】第１実施形態によるＥＣＵを示すブロック図である。
【図５】角度信号の検出タイミングおよび送信タイミングを説明するタイムチャートである。
【図６】第１実施形態による角度信号の検出タイミングおよび送信タイミングを説明するタイムチャートである。
【図７】第１実施形態による異常監視処理を説明するフローチャートである。
【図８】第１実施形態によるセンサ状態判定処理を説明するフローチャートである。
【図９】第２実施形態による角度信号の検出タイミングおよび送信タイミングを説明するタイムチャートである。
【図１０】第２実施形態による異常監視処理を説明するフローチャートである。
【図１１】第３実施形態によるセンサ状態判定処理を説明するフローチャートである。
【図１２】第４実施形態によるセンサ状態判定処理を説明するフローチャートである。
【図１３】第５実施形態によるセンサ状態判定処理を説明するフローチャートである。
【図１４】第６実施形態によるリトライテーブルを説明する説明図である。
【図１５】第６実施形態による異常監視処理を説明するフローチャートである。
【図１６】第７実施形態によるセンサ状態判定処理を説明するフローチャートである。
【図１７】第８実施形態による角度信号の系統間誤差を説明するタイムチャートである。
【図１８】第８実施形態による補正マップを説明する説明図である。
【図１９】第８実施形態による補正値演算処理を説明するフローチャートである。
【図２０】第９実施形態によるＥＣＵを示すブロック図である。
【図２１】第１０実施形態によるＥＣＵを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明による検出ユニットを図面に基づいて説明する。以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
【００１０】
（第１実施形態）
第１実施形態による検出ユニット、および、これを用いた電動パワーステアリング装置を図１〜図８に示す。図１に示すように、検出ユニットとしてのＥＣＵ１０は、回転電機であるモータ８０とともに、車両のステアリング操作を補助するための電動パワーステアリング装置８に適用される。図１は、電動パワーステアリング装置８を備えるステアリングシステム９０の全体構成を示すものである。ステアリングシステム９０は、操舵部材であるステアリングホイール９１、ステアリングシャフト９２、ピニオンギア９６、ラック軸９７、車輪９８、および、電動パワーステアリング装置８等を備える。
【００１１】
ステアリングホイール９１は、ステアリングシャフト９２と接続される。ステアリングシャフト９２には、操舵トルクを検出するトルクセンサ９４が設けられる。トルクセンサ９４は、第１トルク検出部１９４および第２トルク検出部２９４を有する。ステアリングシャフト９２の先端には、ピニオンギア９６が設けられる。ピニオンギア９６は、ラック軸９７に噛み合っている。ラック軸９７の両端には、タイロッド等を介して一対の車輪９８が連結される。
【００１２】
運転者がステアリングホイール９１を回転させると、ステアリングホイール９１に接続されたステアリングシャフト９２が回転する。ステアリングシャフト９２の回転運動は、ピニオンギア９６によってラック軸９７の直線運動に変換される。一対の車輪９８は、ラック軸９７の変位量に応じた角度に操舵される。
【００１３】
電動パワーステアリング装置８は、モータ８０およびＥＣＵ１０を有する駆動装置４０、ならびに、モータ８０の回転を減速してステアリングシャフト９２に伝える動力伝達部としての減速ギア８９等を備える。本実施形態の電動パワーステアリング装置８は、所謂「コラムアシストタイプ」であるが、モータ８０の回転をラック軸９７に伝える所謂「ラックアシストタイプ」等としてもよい。本実施形態では、ステアリングシャフト９２が「駆動対象」に対応する。
【００１４】
図２および図３に示すように、モータ８０は、操舵に要するトルクの一部または全部を出力するものであって、図示しないバッテリから電力が供給されることにより駆動され、減速ギア８９を正逆回転させる。モータ８０は、３相ブラシレスモータであって、ロータ８６０およびステータ８４０を有する。
【００１５】
モータ８０は、巻線組としての第１モータ巻線１８０および第２モータ巻線２８０を有する。モータ巻線１８０、２８０は、電気的特性が同等であり、共通のステータ８４０に、互いに電気角３０［ｄｅｇ］ずらしてキャンセル巻きされる。これに応じて、モータ巻線１８０、２８０には、位相φが３０［ｄｅｇ］ずれた相電流が通電されるように制御される。通電位相差を最適化することで、出力トルクが向上する。また、６次のトルクリプルを低減することができる。さらにまた、位相差通電により、電流が平均化されるため、騒音、振動のキャンセルメリットを最大化することができる。また、発熱についても平均化されるため、各センサの検出値やトルク等、温度依存の系統間誤差を低減可能であるとともに、通電可能な電流量を平均化できる。なお、モータ巻線１８０、２８０の電気的特性は異なっていてもよい。
【００１６】
以下、第１モータ巻線１８０の駆動制御に係る第１駆動回路１２０等の構成を第１系統Ｌ１、第２モータ巻線２８０の駆動制御に係る第２駆動回路２２０等の構成を第２系統Ｌ２とする。また、第１系統Ｌ１に係る構成を主に１００番台で付番し、第２系統Ｌ２に係る構成を主に２００番台で付番する。また、第１系統Ｌ１および第２系統Ｌ２において、同様の構成には、下２桁が同じとなるように付番する。以下適宜、「第１」を添え字の「１」、「第２」を添え字の「２」として記載する。
【００１７】
駆動装置４０は、モータ８０の軸方向の一方側にＥＣＵ１０が一体的に設けられており、いわゆる「機電一体型」であるが、モータ８０とＥＣＵ１０とは別途に設けられていてもよい。ＥＣＵ１０は、モータ８０の出力軸とは反対側において、シャフト８７０の軸線Ａｘに対して同軸に配置されている。ＥＣＵ１０は、モータ８０の出力軸側に設けられていてもよい。機電一体型とすることで、搭載スペースに制約のある車両において、ＥＣＵ１０とモータ８０とを効率的に配置することができる。
【００１８】
モータ８０は、ステータ８４０、ロータ８６０、および、これらを収容するハウジング８３０等を備える。ステータ８４０は、ハウジング８３０に固定されており、モータ巻線１８０、２８０が巻回される。ロータ８６０は、ステータ８４０の径方向内側に設けられ、ステータ８４０に対して相対回転可能に設けられる。
【００１９】
シャフト８７０は、ロータ８６０に嵌入され、ロータ８６０と一体に回転する。シャフト８７０は、軸受８３５、８３６により、ハウジング８３０に回転可能に支持される。シャフト８７０のＥＣＵ１０側の端部は、ハウジング８３０からＥＣＵ１０側に突出する。シャフト８７０のＥＣＵ１０側の端部には、検出対象としてのマグネット８７５が設けられる。マグネット８７５の中心は、軸線Ａｘ上に配置される。
【００２０】
ハウジング８３０は、リアフレームエンド８３７を含む有底筒状のケース８３４、および、ケース８３４の開口側に設けられるフロントフレームエンド８３８を有する。ケース８３４とフロントフレームエンド８３８とは、ボルト等により互いに締結されている。リアフレームエンド８３７には、リード線挿通孔８３９が形成される。リード線挿通孔８３９には、モータ巻線１８０、２８０の各相と接続されるリード線１８５、２８５が挿通される。リード線１８５、２８５は、リード線挿通孔８３９からＥＣＵ１０側に取り出され、基板４７０に接続される。
【００２１】
ＥＣＵ１０は、カバー４６０、カバー４６０に固定されているヒートシンク４６５、ヒートシンク４６５に固定されている基板４７０、および、基板４７０に実装される各種の電子部品等を備える。
【００２２】
カバー４６０は、外部の衝撃から電子部品を保護したり、ＥＣＵ１０の内部への埃や水等の浸入を防止したりする。カバー４６０は、カバー本体４６１、および、コネクタ部４６２が一体に形成される。なお、コネクタ部４６２は、カバー本体４６１と別体であってもよい。コネクタ部４６２の端子４６３は、図示しない配線等を経由して基板４７０と接続される。コネクタ数および端子数は、信号数等に応じて適宜変更可能である。コネクタ部４６２は、駆動装置４０の軸方向の端部に設けられ、モータ８０と反対側に開口する。
【００２３】
基板４７０は、例えばプリント基板であり、リアフレームエンド８３７と対向して設けられる。基板４７０には、２系統分の電子部品が系統ごとに領域を分けて実装されている。なお、制御部７０等、両系統で共通に用いる部品は、本実施形態では、１枚の基板４７０に電子部品が実装されているが、複数枚の基板に電子部品を実装するようにしてもよい。
【００２４】
基板４７０の２つの主面のうち、モータ８０側の面をモータ面４７１、モータ８０と反対側の面をカバー面４７２とする。図３に示すように、モータ面４７１には、駆動回路１２０を構成するスイッチング素子１２１、駆動回路２２０を構成するスイッチング素子２２１、角度センサ１２６、２２６、カスタムＩＣ１３５、２３５等が実装される。角度センサ１２６、２２６は、マグネット８７５の回転に伴う磁界の変化を検出可能なように、マグネット８７５と対向する箇所に実装される。
【００２５】
カバー面４７２には、コンデンサ１２８、２２８、インダクタ１２９、２２９、および、制御部１７０、２７０を構成するマイコン等が実装される。図３では、制御部１７０、２７０を構成するマイコンについて、それぞれ「１７０」、「２７０」を付番した。コンデンサ１２８、２２８は、バッテリ１０１、２０１から入力された電力を平滑化する。また、コンデンサ１２８、２２８は、電荷を蓄えることで、モータ８０への電力供給を補助する。コンデンサ１２８、２２８、および、インダクタ１２９、２２９は、フィルタ回路を構成し、バッテリを共用する他の装置から伝わるノイズを低減するとともに、駆動装置４０からバッテリを共用する他の装置に伝わるノイズを低減する。なお、図３中には図示を省略しているが、電源リレー１２２、２２２、モータリレー１２５、２２５、および、電流センサ１２７、２２７等についても、モータ面４７１またはカバー面４７２に実装される。
【００２６】
図４に示すように、ＥＣＵ１０は、駆動回路１２０、２２０、制御部１７０、２７０、および、回転角センサ３０１等を備える。図４中、駆動回路を「ＩＮＶ」と記載する。第１駆動回路１２０は、６つのスイッチング素子１２１を有する３相インバータであって、第１モータ巻線１８０へ供給される電力を変換する。第２駆動回路２２０は、６つのスイッチング素子２２１を有する３相インバータであって、第２モータ巻線２８０へ供給される電力を変換する。スイッチング素子１２１は第１制御部１７０から出力される制御信号に基づいてオンオフ作動が制御され、スイッチング素子２２１は制御部２７０から出力される制御信号に基づいてオンオフ作動が制御される。
【００２７】
回転角センサ３０１は、第１センサ部１３１および第２センサ部２３１を有する。第１センサ部１３１は第１制御部１７０に検出値を出力し、第２センサ部２３１は第２制御部２７０に検出値を出力する。センサ部１３１、２３１は、別々のパッケージであってもよいし、１つのパッケージであってもよい。センサ部１３１、２３１は、同様の構成であるので、第１センサ部１３１を中心に説明し、第２センサ部２３１に係る説明は適宜省略する。第８実施形態も同様である。
【００２８】
第１センサ部１３１は、メイン検出素子１４１、サブ検出素子１４２、角度演算部１５１、１５２、および、通信部１５８を有し、第１電源１９１から電力が供給される。第１電源１９１は、イグニッション電源またはレギュレータ電源である。第１電源１９１および後述の第２電源２９１は、共通のバッテリに接続されていてもよいし、電源１９１、２９１ごとに別途のバッテリに接続されていてもよい。
【００２９】
検出素子１４１、１４２は、モータ８０の回転に応じたマグネット８７５の磁界の変化を検出するものであって、例えば、ＡＭＲセンサ、ＴＭＲセンサ、ＧＭＲセンサ等の磁気抵抗効果素子や、ホール素子等である。検出素子１４１、１４２は、異なるセンサ特性を有するものを用いることが望ましく、例えば、メイン検出素子１４１をＡＭＲ素子とし、サブ検出素子１４２をＴＭＲ素子とする。ここで、素子の種類が同じでも、レイアウトや材料の割合、製造ロットやロット内のウェハ番号、ウェハ内のチップ位置の違いについても、「素子に関わる構成が異なる」とみなしてもよい。また、素子に限らず、素子に接続される検出回路、演算回路、供給される電源の種類や電圧が異なる場合についても、「素子に関わる構成が異なる」とみなしてもよい。センサ特性が異なるものを用いることで、例えば磁束密度異常等の共通原因の故障しにくくなり、機能安全面から好ましい。以下適宜、メイン検出素子１４１およびメイン検出素子１４１に係る構成や値に「Ａ１」、サブ検出素子１４２およびサブ検出素子１４２に係る構成や値に「Ｂ１」を付す。
【００３０】
ここで、検出素子１４１、１４２について、「メイン」、「サブ」と付しているのは、２つの素子を区別するためである。本実施形態では、メイン検出素子１４１を制御用に用い、サブ検出素子１４２を異常監視用に用いるが、機能的に同等のものであってもよい。検出素子２４１、２４２も同様である。
【００３１】
角度演算部１５１は、図示しないＡＤ変換部によりＡＤ変換されたメイン検出素子１４１の検出値に基づき、角度信号ＤＡ１を演算する。角度演算部１５２は、図示しないＡＤ変換部によりＡＤ変換されたサブ検出素子１４２の検出値に基づき、角度信号ＤＢ１を演算する。角度信号ＤＡ１、ＤＢ１は、ロータ８６０の回転角度に応じた値であって、回転角度に換算可能などのような値であってもよい。
【００３２】
通信部１５８は、角度信号ＤＡ１、ＤＢ１を含む出力信号を生成し、例えばＳＰＩ通信等のデジタル通信にて、出力信号を第１制御部１７０に出力する。通信方式は、ＳＰＩ通信以外の方式であってもよい。また、角度信号ＤＡ１、ＤＢ１を、別々に第１制御部１７０に出力するようにしてもよい。
【００３３】
第２センサ部２３１は、メイン検出素子２４１、サブ検出素子２４２、角度演算部２５１、２５２、および、通信部２５８を有し、第２電源２９１から電力が供給される。検出素子２４１、２４２の種類は異なっており、以下適宜、メイン検出素子２４１およびメイン検出素子２４１に係る構成や値に「Ａ２」、サブ検出素子２４２およびサブ検出素子２４２に係る構成や値に「Ｂ２」を付す。
【００３４】
角度演算部２５１はＡＤ変換されたメイン検出素子２４１の検出値に基づいて角度信号ＤＡ２を演算し、角度演算部２５２はＡＤ変換されたサブ検出素子２４２の検出値に基づいて角度信号ＤＢ２を演算する。通信部２５８は、角度信号ＤＡ２、ＤＢ２を第２制御部２７０に出力する。
【００３５】
制御部１７０、２７０は、いずれもマイコン等を主体として構成され、内部にはいずれも図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ、及び、これらの構成を接続するバスライン等を備えている。制御部７０における各処理は、ＲＯＭ等の実体的なメモリ装置（すなわち、読み出し可能非一時的有形記録媒体）に予め記憶されたプログラムをＣＰＵで実行することによるソフトウェア処理であってもよいし、専用の電子回路によるハードウェア処理であってもよい。
【００３６】
制御部１７０、２７０は、各種情報を相互に送受信可能に構成される。以下適宜、制御部１７０、２７０間の通信を「マイコン間通信」という。制御部１７０、２７０は、マイコン間通信により、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２を共有する。詳細には、第１制御部１７０は角度信号ＤＡ１、ＤＢ１を第２制御部２７０に出力し、第２制御部２７０は角度信号ＤＡ２、ＤＢ２を第１制御部１７０に出力する。
【００３７】
第１制御部１７０は、異常監視部１７１および制御演算部１７２を有する。第２制御部２７０は、異常監視部２７１および制御演算部２７２を有する。異常監視部１７１、２７１は、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２の異常監視を行い、正常である正常信号、および、異常である異常信号を特定する。
【００３８】
制御演算部１７２、２７２は、２つ以上の角度信号が正常であると判定された場合、正常であると判定された角度信号の少なくとも１つ、および、図示しない電流センサの検出値等に基づき、モータ８０の駆動を制御する。また、正常である角度信号が１つ以下の場合、異常監視を継続できないので、モータ８０の駆動を停止する。また、制御部１７０、２７０は、回転角センサ３０１の異常状態を図示しない外部装置に通知する。
【００３９】
以下、角度信号の異常監視について説明する。検出素子１４１、１４２、２４１、２４２に同じ種類の素子（例えばＴＭＲ素子）を用いた場合、磁束密度異常による共通原因故障が生じる虞がある。本実施形態では、第１センサ部１３１において、メイン検出素子１４１とサブ検出素子１４２とで、異なる種類の素子を用いているので、磁束密度異常による共通原因故障が生じにくい。同様に、第２センサ部２３１において、メイン検出素子２４１とサブ検出素子２４２とで、異なる種類の素子を用いているので、磁束密度異常による共通原因故障が生じにくい。
【００４０】
また、検出素子１４１、１４２は、同一の第１電源１９１に接続されているので、電源異常による共通原因故障が生じる虞がある。同様に、検出素子２４１、２４２は、同一の第２電源２９１に接続されているので、電源異常による共通原因故障が生じる虞がある。一方、検出素子１４１、１４２と、検出素子２４１、２４２とは、電源異常による共通原因故障が生じにくい。したがって、共通原因故障により検出素子１４１、１４２、２４１、２４２のうちの２つの検出素子が異常となっても、残りの２つの検出素子の検出値を相互監視することで、正常なセンサ出力を継続可能となる。
【００４１】
図５に示すように、第２制御部２７０は、第１制御部１７０からマイコン間通信にて送信された角度信号ＤＡ１、ＤＢ１、および、第２センサ部２３１から直接的に取得された角度信号ＤＡ２、ＤＢ２を用いる。そのため、角度信号ＤＡ１、ＤＢ１は、データの遅れが発生する。そのため、破線で囲んだように、最新の値を用いると、角度信号ＤＡ１、ＤＢ１の前回値と、角度信号ＤＡ２、ＤＢ２の今回値とを比較することになる。そのため、モータ８０の回転により検出値が変わっている状態を、センサ異常と誤判定する虞がある。以下、第２系統Ｌ２を自系統、第１系統Ｌ１を他系統として説明する。
【００４２】
そこで本実施形態では、図６に示すように、自系統の角度信号ＤＡ２、ＤＢ２の前回値を保持しておき、自系統の角度信号ＤＡ２の前回値、および、他系統の角度信号ＤＡ１、ＤＢ１の今回値を用いて角度比較に用いる。図６では、自系統の前回値を保持する例を示しているが、通信遅れに応じ、検出タイミングができるだけ近い値を用いるよう、最適な過去値を保持することが望ましい。
【００４３】
また、マイコンの駆動周波数のばらつきにより、信号検出タイミング等が系統間でずれる可能性があるため、制御部１７０、２７０間で、任意の周期にて同期信号を送信し、同期を取ってもよい。また、角度データの取得周期や系統間の通信周期が早く、センサ比較に影響がない程度のばらつきであれば、系統間にて同期を取らなくてもよい。なお、図５および図６では、今回値を（ｎ）、前回値を（ｎ−１）、２回前の値を（ｎ−２）、３回前の値を（ｎ−３）と記載した。
【００４４】
本実施形態の異常監視処理を図７のフローチャートに基づいて説明する。この処理は、第２制御部２７０にて所定の周期で実行されるものであり、自系統を第２系統Ｌ２、他系統を第１系統Ｌ１とする。なお、第１制御部１７０での処理は、自系統を第１系統Ｌ１、他系統を第２系統Ｌ２とすればよいので、説明を省略する。後述の実施形態も同様とする。以下、ステップＳ１０１の「ステップ」を省略し、単に記号「Ｓ」と記す。他のステップも同様である。
【００４５】
Ｓ１０１では、第２制御部２７０は、自系統の角度信号ＤＡ２、ＤＢ２を、第２センサ部２３１から取得する。Ｓ１０１で読み込んだ角度信号を今回値ＤＡ２（ｎ）、ＤＢ（２）とする。また、取得された角度信号ＤＡ２、ＤＢ２を第１制御部１７０に送信する。
【００４６】
Ｓ１０２では、第２制御部２７０は、自系統の角度信号の過去値を読み出す。Ｓ１０２で読み出す過去値は、Ｓ１０３にて他系統から受信する信号と検出タイミングが揃うものであって、ここでは、前回値である角度信号ＤＡ２（ｎ−１）、ＤＢ２（ｎ−１）を読み込む。
【００４７】
Ｓ１０３では、第２制御部２７０は、他系統の角度信号を受信する。ここでは通信遅れにより、前回値である角度信号ＤＡ１（ｎ−１）、ＤＢ１（ｎ−１）を受信する。Ｓ１０４では、第２制御部２７０は、角度信号ＤＡ１（ｎ−１）、ＤＢ１（ｎ−１）、ＤＡ２（ｎ−１）、ＤＢ２（ｎ−１）を用いて、センサ状態判定処理を行う。
【００４８】
センサ状態判定処理を図８のフローチャートに基づいて説明する。センサ状態判定処理を説明するサブフローでは、検出タイミングができるだけ揃った値を用いることを前提とし、演算タイミングに係る（ｎ−１）等の添え字を省略する。後述の実施形態も同様である。
【００４９】
Ｓ４０１では、第２制御部２７０は、異常履歴を確認し、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２から正常信号を抽出する。なお、初期異常はないものとし、初回演算は、全ての角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２が正常であるものとする。Ｓ４０２では、制御部７０は、正常信号を用いて参照信号ＤＲを生成する。
【００５０】
Ｓ４０３では、第２制御部２７０は、参照信号ＤＲを用いて、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２の異常判定を行う。本実施形態では、角度信号ＤＡ１と参照信号ＤＲとの差が異常判定閾値ＴＨ１以下の場合、角度信号ＤＡ１が正常であると判定し、異常判定閾値ＴＨ１より大きい場合、角度信号ＤＡ１が異常であると判定する。角度信号ＤＢ１、ＤＡ２、ＤＢ２についても同様の判定を行う。また、第２制御部２７０は、判定結果に応じ、異常履歴情報を更新する。
【００５１】
本実施形態では、正常である検出素子の角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２を集計して参照信号ＤＲを生成し、生成された参照信号ＤＲと角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２を比較することで、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２の異常を判定する。角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２のうち２つが正常であれば、参照信号ＤＲを生成可能であるので、相互監視を継続可能である。本実施形態の参照信号ＤＲは、正常信号の中央値とする。また、参照信号ＤＲは、平均値や、カルマンフィルタやパーティクルフィルタ等の推定手法を用いた予測値であってもよい。
【００５２】
図７に戻り、Ｓ１０５では、異常監視部７１は、正常信号が２つ以上あるか否かを判断する。ここで、制御継続に係る判定値を２としているが、センサ数やシステム構成に応じ、２以上の任意の数としてもよい。正常信号が２つ以上あると判断された場合（Ｓ１０５：ＹＥＳ）、Ｓ１０６へ移行する。Ｓ１０６では、制御演算部７２は、任意の正常信号、もしくは、複数の正常信号の集計値を用いてモータ８０の駆動制御に係る演算を行う。駆動制御に用いる集計値は、参照信号ＤＲと同じものであってもよいし、参照信号ＤＲとは異なる演算で求めた値であってもよい。
【００５３】
また、角度信号ＤＡ２、ＤＢ２が正常である場合、角度信号ＤＡ２の今回値である角度信号ＤＡ２（ｎ）と角度信号ＤＢの今回値である角度信号ＤＢ２（ｎ）がを比較し、ＤＡ２（ｎ）とＤＢ２（ｎ）との差が異常判定閾値以下であれば、角度信号ＤＡ２（ｎ）および角度信号ＤＢ２（ｎ）の少なくとも一方を制御に用いることが望ましい。
【００５４】
正常信号が１つ以下であると判断された場合（Ｓ１０５：ＮＯ）、回転角センサ３０が異常であると判定し、Ｓ１０７へ移行する。Ｓ１０７では、制御部７０は、角度信号の出力を停止し、モータ８０の駆動制御を停止する。
【００５５】
本実施形態では、複数の制御部１７０、２７０が、それぞれに対応して設けられるセンサ部１３１、２３１から角度信号を取得し、マイコン間通信にて共有する場合、データの遅れが発生するため、系統間で共有した値を比較する場合、検出タイミングが合う値を比較するようにしている。これにより、角度信号が正常か否かを適切に判定することができる。また、正常センサと異常センサとを特定することで、正常センサを用いた制御を継続することができる。
【００５６】
以上説明したように、ＥＣＵ１０は、複数のセンサ部１３１、２３１と、複数の制御部１７０、２７０と、を備える。複数のセンサ部１３１、２３１は、検出素子１４１、１４２、２４１、２４２、および、角度演算部１５１、１５２、２５１、２５２を有する。検出素子１４１、１４２、２４１、２４２は、マグネット８７５の回転による磁界の変化を「物理量の変化」として検出する。角度演算部１５１、１５２、２５１、２５２は、検出素子１４１、１４２、２４１、２４２の検出値に応じた物理量演算値である角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２を演算する。
【００５７】
制御部１７０、２７０は、異常監視部１７１、２７１、および、制御演算部１７２、２７２を有し、それぞれ異なるセンサ部から角度信号を取得する。詳細には、第１制御部１７０が第１センサ部１３０から角度信号ＤＡ１、ＤＢ１を取得し、第２制御部２７０が第２センサ部２３０から角度信号ＤＡ２、ＤＢ２を取得する。異常監視部１７１、２７１は、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２の異常を監視する。制御演算部１７２、２７２は、角度信号を用いた演算を行う。
【００５８】
第１制御部１７０と第１制御部１７０が角度信号ＤＡ１、ＤＢ１を取得する第１センサ部１３１との組み合わせを第１系統とし、第２制御部２７０と第２制御部２７０が角度信号ＤＡ２、ＤＢ２を取得する第２センサ部２３１との組み合わせを第２系統とする。少なくとも１つの制御部である第２制御部２７０は、他系統演算値である角度信号ＤＡ２、ＤＢ２を通信により、他の制御部である第１制御部１７０から取得する。異常監視部２７１は、自系統演算値である角度信号ＤＡ２、ＤＢ２と、他系統演算値である角度信号ＤＡ１、ＤＢ１と、を比較する場合、角度信号ＤＡ１、ＤＢ１、または、角度信号ＤＡ２、ＤＢ２として、通信遅れを補正した通信遅れ補正値を用いる。これにより、できるだけ検出タイミングを合わせた角度信号の比較により異常監視を行うので、角度信号の異常を適切に検出することができる。
【００５９】
本実施形態では、通信遅れ補正値は、角度信号ＤＡ１、ＤＡ２を取得したタイミングよりも通信遅れ相当分、前のタイミングで検出した角度信号ＤＡ２、ＤＢ２の過去値である。第２制御部２７０は、角度信号ＤＡ２、ＤＢ２の過去値を保持しておき、角度信号ＤＡ１、ＤＢ１を取得したタイミングよりも通信遅れ相当分、前のタイミングで検出した過去値を通信遅れ補正値とし、角度信号ＤＡ１、ＤＢ１と比較する。これにより、比較に用いる角度信号の検出タイミングを適切に揃えることができる。ここでは、第２制御部２７０について説明したが、第１制御部１７０も同様である。後述の実施形態も同様である。
【００６０】
少なくとも１つの検出素子は、素子に関する構成が異なっている。これにより、共通原因での異常発生を低減することができる。本実施形態では、検出素子１４１、１４２の素子に関する構成を異ならせることで、系統内での共通原因での異常発生を低減している。
【００６１】
本実施形態では、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２の少なくとも２つを用いた参照信号ＤＲを演算し、参照信号ＤＲとの比較による異常監視を行う。これにより、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２の異常監視を適切に行うことができる。
【００６２】
本実施形態の検出対象は、モータ８０のロータ８６０と一体に回転するマグネット８７５であって、検出素子１４１、１４２、２４１、２４２は、マグネット８７５の回転による磁界の変化を「物理量の変化」として検出する。これにより、ロータ８６０の回転位置を適切に検出し、正常信号を用いてモータ８０の駆動を適切に制御することができる。また、電動パワーステアリング装置８は、ＥＣＵ１０と、モータ８０と、を備える。これにより、正常信号を用いて、操舵のアシストを適切に制御することができる。
【００６３】
（第２実施形態）
第２実施形態を図９および図１０に基づいて説明する。本実施形態では、異常監視処理が第１実施形態と異なるので、この点を中心に説明する。上記実施形態にて説明したように、系統間で角度信号を共有する場合、通信遅れが発生する。そこで本実施形態では、図８に示すように、送信先の系統での最新のデータとタイミングが合うように、マイコン間通信での遅延分を加味した値を推定し、推定値を他系統に送信する。
【００６４】
図９に示す例では、前回値に基づいて推定された今回値を送信することで、検出タイミングを揃えた値にて角度比較を行う。すなわち、第１制御部１７０は、前回値ＤＡ１（ｎ−１）を用いて推定値ＤＡ１＿ｆ（ｎ）を演算し、第２制御部２７０に送信する。第２制御部２７０では、自系統で取得した最新の値である角度信号ＤＡ２（ｎ）と、他系統から取得した推定値ＤＡ１＿ｆ（ｎ）とを比較する。同様に、角度信号ＤＡ１（ｎ）を用いて推定値ＤＡ１＿ｆ（ｎ＋１）を演算して角度信号ＤＡ２（ｎ＋１）との比較に用い、角度信号ＤＡ１（ｎ＋１）を用いて角度推定値ＤＡ１＿ｆ（ｎ＋２）を演算して角度信号ＤＡ２（ｎ＋２）との比較に用いる。角度信号ＤＢ１についても同様である。第２系統Ｌ２から第１系統Ｌ１に角度信号ＤＡ２、ＤＢ２を送る場合も同様である。
【００６５】
角度推定値ＤＡ１＿ｆ、ＤＢ１＿ｆは、通信による遅れを考慮し、他系統に送信したときに、比較する角度信号の取得タイミングでの値となるように演算される。角度推定値ＤＡ２＿ｆ、ＤＢ２＿ｆは、例えば、取得タイミングずれに相当する時間の角度変化を算出し、算出された角度変化を今回値ＤＡ２（ｎ）、ＤＢ２（ｎ）に加算することで演算される。また、複数回の過去データを用いて角度推定値ＤＡ２＿ｆ、ＤＢ２＿ｆを推定してもよい。例えばオメガフィルタ、カルマンフィルタ、相補フィルタ、パーティクルフィルタ等、演算負荷や誤差影響等を考慮して推定方法を選択すればよい。
【００６６】
本実施形態の異常監視処理を図１０に示すフローチャートに基づいて説明する。Ｓ１５１の処理は、図７中のＳ１０１と同様である。Ｓ１５２では、第２制御部２７０は、自系統の角度推定値ＤＡ２＿ｆ、ＤＢ２＿ｆを演算する。演算された角度推定値ＤＡ２＿ｆ、ＤＢ２＿ｆは、第１制御部１７０に送信される。
【００６７】
Ｓ１５３では、第２制御部２７０は、他系統の角度推定値ＤＡ１＿ｆ、ＤＢ１＿ｆを第１制御部１７０から受信する。Ｓ１５４〜Ｓ１５７の処理は、Ｓ１０５〜Ｓ１０７の処理と同様である。
【００６８】
本実施形態では、通信遅れ補正値は、通信遅れ相当分、先の値を予測した他系統の角度信号ＤＡ１、ＤＢ１の予測値である角度推定値ＤＡ１＿ｆ、ＤＢ１＿ｆである。第２制御部２７０は、角度推定値ＤＡ１＿ｆ、ＤＢ１＿ｆを、角度信号ＤＡ２、ＤＢ２との比較に用いる。これにより、自系統にて検出した最新の値についての異常判定を行った上で、制御に用いることができる。また上記実施形態と同様の効果を奏する。
【００６９】
（第３実施形態）
第３実施形態を図１１に示す。第３実施形態〜第７実施形態は、センサ状態判定処理について説明する。第３実施形態〜第７実施形態は、第１実施形態および第２実施形態のどちらにも適用可能である。
【００７０】
本実施形態のセンサ状態判定処理を図１１のフローチャートに基づいて説明する。図１１中のＳ４１１は、図８中のＳ４０１と同様である。Ｓ４１２では、第２制御部２７０は、正常信号を用い、全通りのペアでの信号比較を行う。Ｓ４１３では、第２制御部２７０は、比較ペアの異常判定を行う。比較した２つの信号の出力差ΔＤが異常判定閾値ＴＨ２以下の場合、比較結果を正常とし、当該ペアを正常ペアと判定する。また、比較した２つの信号の出力差ΔＤが、異常判定閾値ＴＨ２より大きい場合、比較結果を異常とし、当該ペアを異常ペアと判定する。
【００７１】
Ｓ４１４では、制御部７０は、異常信号を特定し、異常履歴情報を更新する。本実施形態では、Ｓ４１２で用いた正常センサ数をｎとすると、（ｎ−１）回、異常ペア判定された角度信号を異常信号と特定する。
【００７２】
本実施形態では、２つの角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２を比較し、比較結果が正常か否かに応じて正常信号を特定する。本実施形態では全ての組み合わせで角度信号を比較し、異常信号を特定する。これにより、２つ異常の正常信号があれば、角度信号を用いた制御を継続することができる。また上記実施形態と同様の効果を奏する。
【００７３】
（第４実施形態、第５実施形態）
第４実施形態を図１２、第５実施形態を図１３に示す。本実施形態では、任意の信号比較ペアをデフォルトペアとして予め設定しておき、当該比較ペアにて信号比較を行う。また、デフォルトペアでの比較結果が異常の場合、新規のペアをサーチし、出力差ΔＤが異常判定閾値ＴＨ３以下のペアを新たな信号比較ペアに設定する。異常発生時のみ正常センサの組み合わせをサーチすることで、毎回異常センサを探す場合と比較し、演算負荷を低減可能である。新規の比較ペアをサーチする際、第４実施形態では第１実施形態の手法にて正常信号を特定し、第５実施形態では第３実施形態の手法にて正常信号を特定する。
【００７４】
第４実施形態のセンサ状態判定処理を図１２のフローチャートに基づいて説明する。Ｓ４２１では、第２制御部２７０は、信号比較を行う比較ペアの角度信号を抽出する。ここでは、角度信号ＤＡ１、ＤＢ１が比較ペアとしてデフォルト設定されているものとする。また、角度信号ＤＡ１とＤＢ１、角度信号ＤＡ２とＤＢ２といった具合に、２組以上をデフォルト設定しておいてもよい。
【００７５】
Ｓ４２２では、第２制御部２７０は、比較ペアの角度信号の差である出力差ΔＤが異常判定閾値ＴＨ３より大きいか否かを判断する。出力差ΔＤが異常判定閾値ＴＨ３以下であると判断された場合（Ｓ４２２：ＮＯ）、比較ペアの角度信号が正常であると判定し、Ｓ４２３移行の処理を行わず、図７中のＳ１０５へ移行する。出力差ΔＤが異常判定閾値ＴＨ３より大きいと判断された場合（Ｓ４２２：ＹＥＳ）、Ｓ４２３へ移行する。
【００７６】
Ｓ４２３〜Ｓ４２５の処理は、正常信号を特定するための新規ペアをサーチする処理であって、図７中のＳ１０１〜Ｓ１０３の処理と同様である。Ｓ４２５に続いて図７中のＳ１０５へ移行し、正常信号が２つ以上あると判断された場合、正常信号のうちの任意の２つを新規ペアに設定する。
【００７７】
第５実施形態のセンサ状態判定処理を図１３のフローチャートに基づいて説明する。Ｓ４３１およびＳ４３１の処理は、図１２中のＳ４２１およびＳ４２２の処理と同様である。Ｓ４３３〜Ｓ４３６の処理は、図１１中のＳ４１１〜Ｓ４１４の処理と同様である。Ｓ４３６に続いて図７中のＳ１０５へ移行し、正常信号が２つ以上あると判断された場合、正常信号のうちの任意の２つを新規ペアに設定する。
【００７８】
本実施形態では、異常監視部２７１は、２つの値の比較による異常監視を行うものであって、少なくとも１組の比較実施ペアが予め設定されている。比較実施ペアの比較結果が正常である場合、当該比較実施ペアの値が正常であると特定する。比較実施ペアの比較結果が異常である場合、比較結果が正常である新たなペアをサーチし、比較結果が正常のペアがあった場合、比較結果が正常であったペアの値が正常であると特定するとともに、少なくとも１つの正常のペアを次回以降の比較実施ペアに設定しなおす。これにより、正常信号を適切に特定することができる。また、毎回異常センサを探す場合と比較し、演算負荷を低減することができる。また、上記実施形態と同様の効果を奏する。
【００７９】
（第６実施形態）
第６実施形態を図１４および図１５に示す。本実施形態では、全通りの比較や全センサの出力値の集計等を行わず、不揮発性メモリ等である図示しない記憶部に予め記憶されたペアでの信号比較を行る。各ペアには、出力用および異常監視用が設定されており、比較結果が正常であれば、出力用に設定された信号を制御に用いる。比較結果が異常であれば、リトライ回数に応じて、予め指定された比較ペアに変更する。
【００８０】
図１４に基づいてリトライテーブルを説明する。リトライテーブルは、図示しない記憶部に記憶されている。第１系統Ｌ１の出力用の値を第１モータ巻線１８０の通電制御に用い、第２系統Ｌ２の出力用の値を第２モータ巻線２８０の通電制御に用いる。また、系統Ｌ１、Ｌ２の一方、或いは、集計値をモータ巻線１８０、２８０の通電制御に用いてもよい。
【００８１】
まず系統Ｌ１について説明する。系統Ｌ１では、第１センサ部１３１の検出値を優先する。系統Ｌ１の出力用としての優先順位は、ＤＡ１、ＤＢ１、ＤＡ２である。リトライ回数Ｎ１が０のとき、出力用が角度信号ＤＡ１、異常監視用が角度信号ＤＢ１の比較ペアとする。比較結果が正常であれば角度信号ＤＡ１を出力し、異常であればリトライ回数Ｎ１を１とする。
【００８２】
リトライ回数Ｎ１が１のとき、出力用が角度信号ＤＡ１、異常監視用が角度信号ＤＡ２の比較ペアとする。比較結果が正常であれば、角度信号ＤＡ１を出力し、角度信号ＤＢ１の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ１を２とする。
【００８３】
リトライ回数Ｎ１が２のとき、出力用が角度信号ＤＡ１、異常監視用が角度信号ＤＢ２の比較ペアとする。比較結果が正常であれば、角度信号ＤＡ１を出力し、角度信号ＤＢ１、ＤＡ２の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ１を３とする。
【００８４】
リトライ回数Ｎ１が３のとき、出力用が角度信号ＤＢ１、異常監視用が角度信号ＤＡ２の比較ペアとする。比較結果が正常であれば、角度信号ＤＢ１を出力し、角度信号ＤＡ１の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ１を４とする。
【００８５】
リトライ回数Ｎ１が４のとき、出力用が角度信号ＤＢ１、異常監視用が角度信号ＤＢ２の比較ペアとする。比較結果が正常であれば、角度信号ＤＢ１を出力し、角度信号ＤＡ１、ＤＡ２の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ１を４とする。
【００８６】
リトライ回数Ｎ１が５のとき、出力用が角度信号ＤＡ２、異常監視用が角度信号ＤＢ２の比較ペアとする。比較結果が正常であれば、角度信号ＤＡ２を出力し、角度信号ＤＡ１、ＤＢ１の異常確定として異常履歴情報を更新する。
【００８７】
次に系統Ｌ２について説明する。系統Ｌ２にでは、第２センサ部２３１の検出値を優先する。系統Ｌ２の出力用としての優先順位は、ＤＡ２、ＤＢ２、ＤＡ１である。リトライ回数Ｎ２が０のとき、出力用が角度信号ＤＡ２、異常監視用が角度信号ＤＢ２の比較ペアとする。比較結果が正常であれば角度信号ＤＡ２を出力し、異常であればリトライ回数Ｎ２を１とする。
【００８８】
リトライ回数Ｎ２が１のとき、出力用が角度信号ＤＡ２、異常監視用が角度信号ＤＡ１の比較ペアとする。比較結果が正常であれば、角度信号ＤＡ２を出力し、角度信号ＤＢ２の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ２を２とする。
【００８９】
リトライ回数Ｎ２が２のとき、出力用が角度信号ＤＡ２、異常監視用が角度信号ＤＢ１の比較ペアとする。比較結果が正常であれば、角度信号ＤＡ２を出力し、角度信号ＤＢ２、ＤＡ１の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ２を３とする。
【００９０】
リトライ回数Ｎ２が３のとき、出力用が角度信号ＤＢ２、異常監視用が角度信号ＤＡ１の比較ペアとする。比較結果が正常であれば、角度信号ＤＢ２を出力し、角度信号ＤＡ２の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ２を４とする。
【００９１】
リトライ回数Ｎ２が４のとき、出力用が角度信号ＤＢ２、異常監視用が角度信号ＤＢ１の比較ペアとする。比較結果が正常であれば、角度信号ＤＢ２を出力し、角度信号ＤＡ２、ＤＡ１の異常確定として異常履歴情報を更新する。比較結果が異常であれば、リトライ回数Ｎ２を５とする。
【００９２】
リトライ回数Ｎ２が５のとき、出力用が角度信号ＤＡ１、異常監視用が角度信号ＤＢ１の比較ペアとする。比較結果が正常であれば、角度信号ＤＡ１を出力し、角度信号ＤＡ２、ＤＢ２の異常確定として履歴情報を更新する。
【００９３】
本実施形態の異常監視処理を図１５のフローチャートに基づいて説明する。Ｓ２０１〜Ｓ２０３の処理は、図７中のＳ１０１〜Ｓ１０３と同様である。Ｓ２０４では、第２制御部２７０は、第１系統のリトライ回数Ｎ１および第２系統のリトライ回数Ｎ２から、各系統の比較ペアを選択する。換言すると、本実施形態では、デフォルトペアが系統ごとに設定されている、と捉えることもできる。
【００９４】
Ｓ２０５では、第２制御部２７０は、Ｓ２０４で選択された比較ペアの比較結果が異常か否かを判断する。少なくとも１つの比較ペアの比較結果が異常であると判断された場合（Ｓ２０５：ＹＥＳ）、Ｓ２０８へ移行する。全ての比較ペアの比較結果が正常であると判断された場合（Ｓ２０５：ＮＯ）、Ｓ２０６へ移行する。
【００９５】
Ｓ２０６では、第２制御部２７０は、リトライテーブルを参照し、リトライ回数に応じて異常履歴情報を更新する。Ｓ２０７では、第２制御部２７０は、任意の出力用の角度信号または出力用の角度信号の集計値を用いてモータ８０の駆動制御に係る演算を行う。
【００９６】
選択された比較ペアの比較結果が異常であった場合（Ｓ２０５：ＹＥＳ）に移行するＳ２０８では、第２制御部２７０は、異常系統に係るリトライ回数Ｎ１、Ｎ２をインクリメントする。例えば、系統Ｌ１の比較結果が異常、系統Ｌ２の比較結果が正常であれば、系統Ｌ１に係るリトライ回数Ｎ１をインクリメントし、系統Ｌ２に係るリトライ回数Ｎ２はインクリメントされない。
【００９７】
Ｓ２０９では、第２制御部２７０は、全系統のリトライ回数Ｎ１、Ｎ２がリトライ最大値Ｎｍａｘ（本実施形態では５）より大きい、または、正常信号が２未満か否かを判断する。少なくとも一部の系統のリトライ回数Ｎ１、Ｎ２が最大値Ｎｍａｘ未満、かつ、正常信号が２以上であると判断された場合（Ｓ２０９：ＮＯ）、Ｓ２０４に戻って、リトライする。なお、Ｓ２０９における処理では、異常が確定されていない信号については正常信号とみなして正常信号数をカウントする。全系統のリトライ回数Ｎ１、Ｎ２がリトライ最大値Ｎｍａｘより大きい、または、正常信号が２未満であると判断された場合（Ｓ２０９：ＹＥＳ）に移行するＳ２１０では、回転角センサ３０１が異常であると判定し、図７中のＳ１０７と同様、モータ８０の駆動制御を停止する。
【００９８】
異常監視部は、２つの値の比較による異常監視を行い、比較結果が異常である場合にリトライを行うものであって、リトライ回数に応じた比較実施ペアが予め設定されており、リトライ回数に応じて異常である値を特定する。これにより、正常信号を適切に特定することができる。また、異常信号の特定に係る演算負荷を低減することができる。また上記実施形態と同様の効果を奏する。
【００９９】
（第７実施形態）
第７実施形態を図１６に示す。第７実施形態では、正常時の出力用を角度信号ＤＡ１、ＤＡ２、異常監視用を角度信号ＤＢ１、ＤＢ２とし、出力用の角度信号ＤＡ１、ＤＡ２は２信号との比較を行い、異常監視用の角度信号ＤＢ１、ＤＢ２は１信号との比較を行う。具体的には、角度信号ＤＡ１は角度信号ＤＢ１、ＤＡ２との比較を行い、角度信号ＤＡ２は角度信号ＤＢ２、ＤＡ１との比較を行う。角度信号ＤＢ１は角度信号ＤＡ１との比較を行い、角度信号ＤＢ２は角度信号ＤＡ２との比較を行い、角度信号ＤＢ１と角度信号ＤＢ２との比較を行わない。以下適宜、角度信号ＤＡ１、ＤＢ１の比較を「比較Ｘ」、角度信号ＤＡ１、ＤＡ２の比較を「比較Ｙ」、角度信号ＤＡ２、ＤＢ２の比較を「比較Ｚ」とする。なお、図１７のフローチャート中にて、比較Ｘ、Ｙ、Ｚを括弧書きで記載した。
【０１００】
ここで、制御用の検出素子１４１、２４１と、異常監視用の検出素子１４２、２４２とは、異なる特性のものが用いられており、同時故障がないものとする。また、検出素子１４１、１４２は、電源異常による同時故障が考えられるが、例えば、電源異常については、別途で検出しておき、電源正常である場合に、当該処理を行うようにしてもよい。
【０１０１】
本実施形態のセンサ状態特定処理を図１６のフローチャートに基づいて説明する。実施形態において、２つの信号情報の出力差ΔＤが異常判定閾値ＴＨ４以下であって、比較結果が正常である場合を「ＤＡ１＝ＤＢ１」と記載する。また、信号比較ステップにおいて、前回処理以前にて比較に用いる信号の少なくとも一方にて異常が生じている旨の情報が異常履歴情報に記憶されている場合、比較処理を行わずに「比較結果異常」とする。すなわち、信号比較ステップにおいて、異常履歴がなく、出力差ΔＤが異常判定閾値ＴＨ４以下の場合を「比較結果正常」、異常履歴がある、または、出力差ΔＤが異常判定閾値ＴＨ４より大きい場合を「比較結果異常」とする。
【０１０２】
Ｓ４５１では、第２制御部２７０は、角度信号ＤＡ１、ＤＢ１の比較結果が正常か否か判断する。角度信号ＤＡ１、ＤＢ１の比較結果が異常であると判断された場合（Ｓ４５１：ＮＯ）、Ｓ４５７へ移行する。角度信号ＤＡ１、ＤＢ１の比較結果が正常であると判断された場合（Ｓ４５１：ＹＥＳ）、Ｓ４５２へ移行する。
【０１０３】
Ｓ４５２では、第２制御部２７０は、角度信号ＤＡ１、ＤＡ２の比較結果が正常か否か判断する。角度信号ＤＡ１、ＤＡ２の比較結果が異常であると判断された場合（Ｓ４５２：ＮＯ）、Ｓ４５５へ移行する。角度信号ＤＡ１、ＤＡ２の比較結果が正常であると判断された場合（Ｓ４５２：ＹＥＳ）、Ｓ４５３へ移行する。
【０１０４】
Ｓ４５３では、第２制御部２７０は、角度信号ＤＡ２、ＤＢ２の比較結果が正常か否か判断する。角度信号ＤＡ２、ＤＢ２の比較結果が正常であると判断された場合（Ｓ４５３：ＹＥＳ）、すなわち比較Ｘ、Ｙ、Ｚがいずれも正常の場合、全ての角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２が正常であると特定し、図７中のＳ１０５へ移行する。角度信号ＤＡ２、ＤＢ２の比較結果が異常であると判断された場合（Ｓ４５３：ＮＯ）、すなわち比較Ｘ、Ｙが正常、比較Ｚが異常の場合、Ｓ４５４へ移行し、角度信号ＤＢ２が異常であると特定し、角度信号ＤＢ２が異常である旨の情報を角度履歴情報に記憶する。そして、図７中のＳ１０５へ移行する。
【０１０５】
Ｓ４５２にて否定判断された場合に移行するＳ４５５では、第２制御部２７０は、角度信号ＤＡ２、ＤＢ２の比較結果が正常か否か判断する。角度信号ＤＡ２、ＤＢ２の比較結果が正常であると判断された場合（Ｓ４５５：ＹＥＳ）、すなわち比較Ｘ、Ｚが正常、比較Ｙが異常の場合、図７中のＳ１０５へ移行する。角度信号ＤＡ２、ＤＢ２の比較結果が異常であると判断された場合（Ｓ４５５：ＮＯ）、すなわち比較Ｘが正常、比較Ｙ、Ｚが異常の場合、Ｓ４５６へ移行し、角度信号ＤＡ２が異常であると特定し、角度信号ＤＡ２が異常である旨の情報を角度履歴情報に記憶する。そして図７中のＳ１０５へ移行する。
【０１０６】
Ｓ４５１にて否定判断された場合に移行するＳ４５７では、第２制御部２７０は、角度信号ＤＡ１、ＤＡ２の比較結果が正常か否か判断する。角度信号ＤＡ１、ＤＡ２の比較結果が異常であると判断された場合（Ｓ４５７：ＮＯ）、Ｓ４６１へ移行する。角度信号ＤＡ１、ＤＡ２の比較結果が正常であると判断された場合（Ｓ４５７：ＹＥＳ）、Ｓ４５８へ移行する。
【０１０７】
Ｓ４５８では、第２制御部２７０は、角度信号ＤＡ２、ＤＢ２の比較結果が正常か否か判断する。角度信号ＤＡ２、ＤＢ２の比較結果が正常であると判断された場合（Ｓ４５８：ＹＥＳ）、すなわち比較Ｙ、Ｚが正常、比較Ｘが異常の場合、Ｓ４５９へ移行し、角度信号ＤＢ１が異常であると特定し、角度信号ＤＢ１が異常である旨の情報を角度履歴情報に記憶する。そして図７中のＳ１０５へ移行する。角度信号ＤＡ２、ＤＢ２の比較結果が異常であると判断された場合（Ｓ４５８：ＮＯ）、すなわち比較Ｙが正常、比較Ｘ、Ｚが異常の場合、Ｓ４６０へ移行し、角度信号ＤＢ１、ＤＢ２が異常であると特定し、角度信号ＤＢ１、ＤＢ２が異常である旨の情報を角度履歴情報に記憶する。そして、図７中のＳ１０５へ移行する。
【０１０８】
Ｓ４５７にて否定判断された場合に移行するＳ４６１では、第２制御部２７０は、角度信号ＤＡ２、ＤＢ２の比較結果が正常か否か判断する。角度信号ＤＡ２、ＤＢ２の比較結果が正常であると判断された場合（Ｓ４６１：ＹＥＳ）、すなわち比較Ｚが正常、比較Ｘ、Ｙが異常の場合、Ｓ４６２へ移行し、角度信号ＤＡ１が異常であると特定し、角度信号ＤＡ１が異常である旨の情報を角度履歴情報に記憶する。そして、図７中のＳ１０５へ移行する。角度信号ＤＡ２、ＤＢ２の比較結果が異常であると判断された場合（Ｓ４６１：ＮＯ）、すなわち比較Ｘ、Ｙ、Ｚが異常の場合、Ｓ４３へ移行し、角度信号ＤＡ１、ＤＡ２が異常であると特定し、角度信号ＤＡ１、ＤＡ２が異常である旨の情報を角度履歴情報に記憶する。そして図７中のＳ１０５へ移行する。
【０１０９】
検出素子には、正常時、検出値が制御演算部１７２、２７２での演算に用いられるメイン検出素子１４１、２４１、および、正常時、メイン検出素子１４１、２４１の異常監視に用いられるサブ検出素子１４２、２４２が含まれる。異常監視部２７１は、メイン検出素子１４１、２４１に係る角度信号ＤＡ１、ＤＡ２は、自系統のサブ検出素子に係る角度信号ＤＢ１、ＤＢ２、および、他系統のメイン検出素子に係る角度信号ＤＡ２、ＤＡ１との比較を行う。サブ検出素子１４２、２４２に係る角度信号ＤＢ１、ＤＢ２は、自系統の角度信号ＤＡ１、ＤＡ２との比較を行い、他系統の角度信号との比較を行わない。これにより、正常信号を適切に特定することができる。また、メイン信号を優先して異常監視を行うことで、異常監視に係る演算負荷を低減することができる。また、上記実施形態と同様の効果を奏する。
【０１１０】
（第８実施形態）
第８実施形態を図１７〜図１９に示す。上記実施形態では、センサ部１３１、２３１が、制御部１７０、２７０ごとに別途に設けられている。また、角度信号ＤＡ１、ＤＡ２を制御用、角度信号ＤＢ１、ＤＢ２を異常監視用としている。そして、角度信号ＤＡ１、ＤＡ２が正常であれば、第１制御部１７０では角度信号ＤＡ１を用い、第２制御部２７０では角度信号ＤＡ２を用いて制御を行う。
【０１１１】
角度信号ＤＡ１、ＤＡ２は、異なる検出素子の検出値に応じた値であるので、図１７に示すように、個々のセンサの温度特性や信頼性、駆動装置４０の組み付け状態等で、角度信号ＤＡ１、ＤＡ２に誤差が生じる。系統間で誤差が発生した場合、モータ８０の駆動を適切に制御できず、振動や音が発生する虞がある。
【０１１２】
そこで本実施形態では、取得タイミングを合わせた角度比較を用い、系統間の角度差を補正する。以下適宜、系統間の角度差を補正することを、「系統間補正」とする。角度補正は、制御に用いるものについて行えばよいため、本実施形態では、角度信号ＤＡ２を角度信号ＤＡ１に合わせる例を説明するが、角度信号ＤＡ１を角度信号ＤＡ２に合わせるようにしてもよいし、角度信号ＤＡ１、ＤＡ２の平均値等の演算値となるように角度信号ＤＡ１、ＤＡ２を補正してもよい。また、異常監視用の角度信号ＤＢ１、ＤＢ２を制御に用いる場合は、角度信号ＤＢ１、ＤＢ２の角度補正を行うことが望ましい。
【０１１３】
補正値Δθ（ｎ）を式（１）、補正後角度信号ＤＡ２＿ｃを式（２）に示す。ここでは、第２実施形態のように、角度推定値ＤＡ１＿ｆを用いる例を説明するが、第１実施形態のように、自系統にて保持しておいた過去値を用いてもよい。
【０１１４】
Δθ（ｎ）＝ＤＡ１＿ｆ（ｎ）−ＤＡ２（ｎ）    ・・・（１）
ＤＡ２＿ｃ＝ＤＡ２（ｎ）＋Δθ（ｎ）    ・・・（２）
【０１１５】
ここで、補正値Δθは、オフセットズレおよび周期的な変動がありうる。そこで本実施形態では、ロータ８６０の１回転中の複数箇所に対応する角度信号ＤＡ１、ＤＡ２のデータ、および、補正値Δθを取得し、ロータ８６０の１回転分の補正値データを作成する。図１８に示すように、ロータ８６０の１回転（すなわち３６０［ｄｅｇ］）が等間隔になるように、角度信号ＤＡ２と補正値Δθとを関連付けたマップを作成する。例えば記憶領域数が２５６であれば、機械角θｍの間隔は、３６０／２５６≒１．４１となる。記憶領域０には、機械角θｍ＝０のときの角度信号ＤＡ２である角度信号ＤＡ２＿ｍｒ０と補正値Δθ＿ｍｒ０とが関連付けて記憶されており、記憶領域１には、機械角θｍ＝１．４１のときの角度信号ＤＡ２＿ｍｒ１と、補正値Δθ＿ｍｒ１とが関連付けて記憶されている、といった具合である。添え字の「＿ｍｒｑ」は、各記憶領域に対応する値であることを意味し、「ｑ」は０〜２５５となる。
【０１１６】
また、図１８に示す補正マップに替えて、例えばＦＦＴ等により導出された補正関数としても持つようにしてもよい（式（３）参照）。なお、式（３）では、角度信号ＤＡ２をθと記載し、３次成分までを記載したが、必要な次数成分まで適宜加算すればよい。
【０１１７】
Δθ＝αｓｉｎ（θ＋ｘ）＋βｓｉｎ（２θ＋ｙ）＋γｓｉｎ（３θ＋ｚ）
・・・（３）
【０１１８】
なお、補正データの作成に用いられる値は、モータ８０の回転速度によっては一定とならないため、適宜補完して用いる。また、必要なデータ数を収集すべく、ロータ８６０の複数回転に亘って値を蓄積するようにしてもよい。
【０１１９】
本実施形態の補正値演算処理を図１９のフローチャートに基づいて説明する。この処理は、例えば製品出荷時に実行される。製品出荷時に実行することで、角度信号の補正を適切に行うことができる。また、制御中の演算負荷の増大を防ぐことができる。また例えばモータ８０の駆動制御中に所定の周期で実行するようにしてもよい。これにより、温特や経年劣化についても補正が可能であり、より適切に角度信号の補正を行うことができる。
【０１２０】
Ｓ５０１では、第２制御部２７０は、自系統および他系統の角度信号を取得する。ここでは、自系統の今回値である角度信号ＤＡ２（ｎ）、ＤＢ２（ｎ）、および、他系統の角度推定値ＤＡ１＿ｆ（ｎ）、ＤＢ１＿ｆ（ｎ）を取得する。以下適宜、他系統の角度推定値ＤＡ１＿ｆを単に角度信号ＤＡ１とする。
【０１２１】
Ｓ５０２では、第２制御部２７０は、角度信号ＤＡ２（ｎ）、および、角度推定値ＤＡ１＿ｆ（ｎ）が正常か否かを判断する。角度信号ＤＡ２（ｎ）、および、角度推定値ＤＡ１＿ｆ（ｎ）が正常ではないと判断された場合（Ｓ５０２：ＮＯ）、Ｓ５０１へ戻る。角度信号ＤＡ２（ｎ）、および、角度推定値ＤＡ１＿ｆ（ｎ）が正常であると判断された場合（Ｓ５０２：ＹＥＳ）、Ｓ５０３へ移行する。
【０１２２】
Ｓ５０３では、第２制御部２７０は、角度信号ＤＡ２（ｎ）、および、角度推定値ＤＡ１＿ｆ（ｎ）を用いて補正値Δθ（ｎ）を演算する（式（１）参照）。Ｓ５０４では、第２制御部２７０は、１回転情報を取得完了したか否かを判断する。ここでは、図１９に示す補正データマップあるいは数式（例えば式（３））を作成可能な程度の補正値Δθに係る情報が蓄積しているかを判断すればよく、例えば処置開始からの経過時間、モータ８０の回転数および回転回数等に応じて判断してもよいし、蓄積したデータ数に応じて判断してもよい。１回転情報を取得完了していないと判断された場合（Ｓ５０４：ＮＯ）、Ｓ５０１へ戻る。１回転情報を取得完了したと判断された場合（Ｓ５０４：ＹＥＳ）、Ｓ５０５へ移行し、補正マップを作成し、Ｓ５０６にて補正マップを更新する。Ｓ５０５およびＳ５０６では、補正マップに替えて、補正関数を作成、更新してもよい。
【０１２３】
角度信号ＤＡ１、ＤＡ２の系統間の検出誤差を補正する系統間誤差補正値である補正値Δθの演算に用いられる自系統の角度信号ＤＡ２または他系統の角度信号ＤＡ１は、通信遅れを補正した通信遅れ補正値を用いる。本実施形態では、他系統演算値として、角度推定値ＤＡ１＿ｆを用いる。また、自系統演算値として、過去値を用いてもよい。これにより、通信遅れを考慮した角度信号を用いることで、補正値Δθを適切に演算することができる。
【０１２４】
本実施形態では、物理量はマグネット８７５の回転に応じて周期的に変化する回転磁界である。第２制御部２７０は、複数の補正値Δθに基づいて物理量の変化周期に対応した補正マップまたは補正関数を作成し、物理量の変化周期に応じた補正値Δθを用いた補正演算を行う。詳細には、補正マップまたは補正関数は、モータ８０の１回転中における機械角θｍに応じた補正値Δθを演算可能であって、機械角θｍに応じた補正値Δθをもちいて補正する。これにより、系統間の誤差を適切に低減することができる。特に、検出素子がモータ８０の回転角度を検出するものであって、検出素子の検出値に基づいてモータ８０の駆動を制御する場合、系統間誤差を適切に補正することで、モータ８０の駆動を適切に制御でき、振動や音の発生を低減することができる。
【０１２５】
（第９実施形態）
第９実施形態を図２０に示す。本実施形態のＥＣＵ１１は、駆動回路１２０、２２０、制御部１７０、２７０、および、回転角センサ３０２等を備える。回転角センサ３０２は、第１センサ部１３２および第２センサ部２３２を有する。第１センサ部１３１は、メイン検出素子１４１、サブ検出素子１４２、マルチターン検出部１４５、角度演算部１５１、１５２、カウント演算部１５５、１５６、および、通信部１５８を有する。
【０１２６】
マルチターン検出部１４５、２４５は、電力供給がなくてもマグネット８７５の回転に伴う磁束変化を捉えることが可能に構成される。換言すると、マルチターン検出部４５は、電気以外の記憶方式（本実施形態では磁気記憶方式）を用いている。具体的には、マルチターン検出部１４５、２４５は、磁気検出素子が螺旋状に配列され、初期は特定の磁気方向を向いている。マグネット８７５が回転すると、磁気検出素子は、端部から順に磁気方向が変えられ、ロータ８６０の一周ごとに回転方向に応じて外側または内側に磁束が変化する箇所が変わる。磁気検出素子は、磁気方向に応じて抵抗値が変化する。磁気検出素子の磁気方向の変化には、電力は不要である。また、螺旋状の磁気検出素子に電流を流し、出力を検出することで、ロータ８６０の回転位置を測定可能である。すなわち、マルチターン検出部４５は、検出時には電力が不要であって、検出値を読み出す際には電力が必要である。図中、破線で囲まれたブロックは、ＩＧがオンされているときに給電され、一点鎖線で囲まれたブロックは、常時給電され、二点鎖線にて囲まれたブロックは電力不要である。
【０１２７】
カウント演算部１５５は、マルチターン検出部１４５に通電したときの出力に応じ、カウント値ＮＰＴＣ１を演算する。カウント演算部２５５は、マルチターン検出部２４５に通電したときの出力に応じ、カウント値ＮＰＴＣ２を演算する。
【０１２８】
サブ検出素子１４２、２４２およびカウント演算部１５６、２５６には、常時給電される。詳細には、サブ検出素子１４２およびカウント演算部１５６には、ＩＧを経由せず、レギュレータ等である電源１９２を経由してバッテリ等から常時給電される。また、サブ検出素子２４２およびカウント演算部２５６には、ＩＧを経由せず、レギュレータ等である電源２９２を経由してバッテリ等から常時給電される。
【０１２９】
カウント演算部１５６は、サブ検出素子１４２の検出値に応じてカウント値ＬＰＴＣ１を演算し、カウント演算部２５６は、サブ検出素子２４２の検出値に応じてカウント値ＬＰＴＣ２を演算する。
【０１３０】
カウント値ＮＰＴＣ１、ＮＰＴＣ２、ＬＰＴＣ１、ＬＰＴＣ２は、ロータ８６０の１回転中にｎ回（ｎは１以上の整数）、回転方向に応じてカウントアップまたはカウントダウンされる。ｎを３以上とすると、回転方向を検出できる。本実施形態では、ｎ＝４とし、ロータ８６０が９０［ｄｅｇ］回転するごとにカウントアップまたはカウントダウンされる。カウント値ＮＰＴＣ、ＬＰＴＣは、検出方式の異なる検出値を用いて演算されており、異種冗長構成になっている。なお、カウント値ＮＰＴＣがロータ８６０の１回転で１カウントされ、カウント値ＬＰＴＣがロータ８６０の１回転で４カウントされる、といった具合に、カウント値ＮＰＴＣとカウント値ＬＰＴＣとで、１回転あたりのカウント数が異なっていてもよい。例えばカウント値ＮＰＴＣ、ＬＰＴＣを比較する場合、適宜換算すればよい。以下、検出部の区別が不要の場合は、単にカウント値ＴＣとする。
【０１３１】
カウント値ＮＰＴＣ１、ＬＰＴＣ１を比較することで、異常発生の有無を検出することができる。カウント値の比較は、センサ部１３２内で行ってもよいし、制御部１７０にて行ってもよい。また、カウント値ＮＰＴＣ２、ＬＰＴＣ２を比較することで、異常発生の有無を検出することができる。カウント値の比較は、センサ部２３２内で行ってもよいし、制御部２７０にて行ってもよい。
【０１３２】
通信部１５８は、角度信号ＤＡ１、ＤＢ１およびカウント値ＮＰＴＣ１、ＬＰＴＣ１を含む出力信号を生成し、出力信号を第１制御部１７０に出力する。通信部２５８は、角度信号ＤＡ２、ＤＢ２およびカウント値ＮＰＴＣ２、ＬＰＴＣ２を含む出力信号を生成し、出力信号を第２制御部２７０に出力する。
【０１３３】
マルチターン検出部１４５、２４５は、電源供給不要のメリットがあるものの、対応回転数のずれや、外乱磁場や長期データ保持によるデータ失陥等の虞がある。そこで本実施形態では、マルチターン検出部１４５、２４５の検出値を用いたカウント値ＮＰＴＣ１、ＮＰＴＣ２の演算に加え、サブ検出素子１４２、２４２およびカウント演算部１５６、２５６に常時給電し、カウント値ＬＰＴＣ１、ＬＰＴＣ２を演算している。これにより、カウント値の演算が冗長化され、異常を検出することができる。また、マルチターン検出部１４５、２４５とサブ検出素子１４２、２４２とを異なる構成とすることで、共通原因故障が生じにくく、異常を容易に検出することができる。
【０１３４】
上記実施形態では、角度信号ＤＡ１、ＤＢ１、ＤＡ２、ＤＢ２の検出タイミングを考慮して比較することで、異常監視を行う。本実施形態では、第１系統Ｌ１の角度信号ＤＡ１、ＤＡ２に替えて、以下の４つの絶対角θａ１１、θａ１２、θａ１３、θａ１４を用いることができる。絶対角は、基準位置からの回転角度であって、複数回転情報を含む。
【０１３５】
絶対角θａ１１は、カウント値ＮＰＴＣ１の今回値、および、角度信号ＤＡ１の今回値を用いて演算される。カウント値ＮＰＴＣ１の今回値をＮＰＴＣ１（ｎ）、角度信号ＤＡ１に応じた機械角をθｍ＿Ａ１（ｎ）とすると、絶対角θａ１１は、式（４−１）で表される。式中のＩＮＴ（ＴＣ／ｄ）は、カウント値ＴＣをロータ８６０の１回転あたりのカウント数ｄで除した商の整数部分であって、ロータ８６０の回転回数を意味する。
【０１３６】
θａ１１＝ＩＮＴ（ＮＰＴＣ１（ｎ）／ｄ）＋θｍ＿Ａ１（ｎ）
・・・（４−１）
【０１３７】
絶対角θａ１２は、カウント値ＮＰＴＣ１の初期値、角度信号ＤＡ１の初期値、および、角度信号ＤＡ１の変化量を用いて演算される。カウント値ＮＰＴＣ１の初期値をＮＰＴＣ１（０）、角度信号ＤＡ１に応じた機械角の初期値をθｍ＿Ａ１（０）とすると、絶対角θａ１２は、式（４−２）で表される。ここで初期値とは、ＩＧがオフからオンに切り替わった後の初回値とする。
【０１３８】
【数１】
2020159992.tif 000003
【０１３９】
絶対角θａ１３は、カウント値ＬＰＴＣ１の今回値、および、角度信号ＤＢ１の今回値を用いて演算される。カウント値ＬＰＴＣ１の今回値をＬＰＴＣ１（ｎ）、角度信号ＤＢ１に応じた機械角をθｍ＿Ｂ１（ｎ）とすると、絶対角θａ１３は、式（４−３）で表される。
【０１４０】
θａ１３＝ＩＮＴ（ＬＰＴＣ１（ｎ）／ｄ）＋θｍ＿Ｂ１（ｎ）
・・・（４−３）
【０１４１】
絶対角θａ１４は、カウント値ＬＰＴＣ１の初期値、角度信号ＤＢ１の初期値、および、角度信号ＤＢ１の変化量を用いて演算される。カウント値ＬＰＴＣ１の初期値をＬＰＴＣ１（０）、角度信号ＤＢ１に応じた機械角の初期値をθｍ＿Ｂ１（０）とすると、絶対角θａ１４は、式（４−４）で表される。
【０１４２】
【数２】
2020159992.tif 000004
【０１４３】
第１系統Ｌ１に係る値として、絶対角θａ１１、θａ１２、θａ１３、θａ１４のうちのいずれか２つを用いればよい。また、第２系統Ｌ２に係る値として、絶対角θａ２１、θａ２２、θａ２３、θａ２４のうちのいずれか２つを用いればよい。絶対角θａ２１、θａ２２、θａ２３、θａ２４の演算は、式（４−１）〜（４−４）の系統を表す添え字の「１」を「２」と読み替えればよいので、説明を省略する。
【０１４４】
ここで、同一素子による２つの情報が異常になることを避けるため、角度信号ＤＡ１に替えて絶対角θａ１１または絶対角θａ１２、角度信号ＤＢ１に替えて絶対角θａ１３または絶対角θａ１４を用いることが好ましい。第２系統についても同様である。
【０１４５】
上記実施形態と同様、通信遅れを考慮し、第２制御部２７０において、例えば絶対角θａ２１、θａ２３と、絶対角θａ２１、θａ２３の検出タイミングにおける値となるように演算された角度推定値θａ１１＿ｆ、θａ１３＿ｆとを比較することで、絶対角を用いる場合においても、適切に異常監視を行うことができる。また、上記実施形態と同様。絶対角θａ２１と、角度推定値θａ１１＿ｆを用いて系統間誤差補正値Δθａを演算することで、絶対角を用いる場合においても、適切に系統間の検出誤差を低減することができる。なお、第１実施形態のように、自系統の値として、過去値を用いてもよい。また、上記実施形態と同様の効果を奏する。
【０１４６】
本実施形態では、自系統演算値および他系統演算値として、複数回転情報を含む絶対角を用いる。絶対角は、センサ部で演算してもよいし、制御部で演算してもよい。センサ部で絶対角を演算する場合、絶対角が「自系統演算値」または「他系統演算値」、および、「物理量演算値」に対応する。また、センサ部からカウント値と角度信号を制御部に出力し、制御部側にて絶対角を演算する場合、カウント値および角度信号が「物理量演算値」に対応し、絶対角が「自系統演算値」または「他系統演算値」に対応する。
【０１４７】
（第１０実施形態）
第１０実施形態を図２１に示す。本実施形態では、制御部１７０、２７０は、外部センサ５００から絶対角θａに換算可能な検出値を外部センサ５００から取得可能である。外部センサ５００と制御部１７０、２７０との通信は、ＣＡＮ（Controller Area Network）、ＬＩＮ（Local Interconnect Network）、Ｆｌｅｘｒａｙ等、どのような通信方式であってもよい。外部センサ５００は、例えばステアリングセンサ、ステアリングセンサ内蔵型のトルクセンサ、ストロークセンサ、ストロークセンサ内蔵型のトルクセンサ等である。外部センサ５００の検出値から、モータ８０とステアリング系とを接続するギア等のギア比等を用いて、絶対角θａ＿Ａ、θａ＿Ｂと比較可能に換算した値を、絶対角θａ＿Ｃとする。図２１では、１つの外部センサ５００を例示しているが、複数の外部センサから絶対角を取得するようにしてもよい。
【０１４８】
第８実施形態にて説明した絶対角に加え、外部センサ５００由来の絶対角θａ＿Ｃを用い、上記実施形態と同様の異常監視および誤差補正を行う。この場合、外部センサ５００からの値として、通信遅れを考慮した推定値を用いてもよい。また、検出タイミングが合うように、過去値を用いてもよい。
【０１４９】
少なくとも１つの制御部１７０、２７０は、自系統の絶対角と比較可能であって、自系統の絶対角とは別の物理量に基づく外部検出値を外部センサ５００から取得する。自系統の絶対角と外部検出値とを比較する場合、自系統の絶対角または外部検出値として、通信遅れ補正値を用いる。これにより、外部センサ５００の検出値を用いた異常監視、または、誤差補正を適切に行うことができる。また、比較に用いる値が３つ以上であれば、多数決による異常特定を行うことができる。
【０１５０】
さらにまた、外部センサ５００の検出値を用いることで、電動パワーステアリング装置８とステアリング系とを接続しているギアやベルト等のずれにより発生する絶対角の異常を検出することができる。また、マイコン間通信が途絶えた場合であっても、外部センサ５００との通信が可能であれば、絶対角θａ＿Ｃを用いた異常検出や系統間補正を継続することができる。
【０１５１】
本実施形態では、機械角の演算に係る検出素子、および、回転回数の演算に係る検出素子がいずれも系統内にて冗長化されているため、一部に異常が検出された場合であっても、２系統での駆動制御を継続可能である。また、外部センサ５００を異常監視および系統間補正に用いることで、より精度よく異常監視および系統間誤差補正を行うことができる。また、上記実施形態と同様の効果を奏する。
【０１５２】
上記実施形態では、ＥＣＵ１０、１１が「検出ユニット」に対応し、メイン検出素子１４１、２４１、サブ検出素子１４２、２４２およびマルチターン検出部１４５、２４５が「検出素子」に対応し、角度演算部１５１、１５２、２５１、２５２、および、カウント演算部１５５、１５６、２５５、２５６が「演算部」に対応する。また、「物理量」がマグネット８７５により生じる磁界である。
【０１５３】
第１実施形態等の例では、角度信号が「物理量演算値」に対応し、第１制御部１７０では、角度信号ＤＡ１、ＤＢ１が「自系統演算値」、角度信号ＤＡ２、ＤＢ２が「他系統演算値」に対応し、第２制御部２７０では、角度信号ＤＡ２、ＤＢ２が「自系統演算値」、角度信号ＤＡ１、ＤＢ１が「他系統演算値」に対応する。また、第１実施形態では、前回値等の過去値が「通信遅れ補正値」に対応し、第２実施形態等では、角度推定値が「予測値」であって「通信遅れ補正値」に対応する。また、補正値Δθが「系統間誤差補正値」に対応する。
【０１５４】
（他の実施形態）
上記実施形態では、検出ユニットは、電動パワーステアリング装置に用いられる。他の実施形態では、検出ユニットをステアリングセンサにも適用可能である。また、回転回数および回転角を必要するアプリケーションに好適に適用可能である。また、ギアを用いてストローク位置を回転系に変換すれば、ストロークセンサにも適用可能である。
【０１５５】
上記実施形態では、センサ部は、モータの回転を検出する回転角センサである。他の実施形態では、回転角センサに限らず、電流センサ、トルクセンサ、圧力センサ、温度センサ、または、レーザ変位計のような距離センサ等、物理量を測定するセンサに適用可能である。
【０１５６】
第１０実施形態では、外部センサとして、ステアリングセンサ、ステアリングセンサ内蔵型のトルクセンサ、ストロークセンサ、ストロークセンサ内蔵型のトルクセンサを例示した。他の実施形態では、外部センサとして、レーザ変位計やカメラによる画像の分析値を用いてもよい。
【０１５７】
上記実施形態では、マイコン間通信にて制御部間の通信を行う。他の実施形態では、マイコン間通信に替えて、例えばＣＡＮ等の車両通信網を経由して制御部間の通信を行ってもよい。
【０１５８】
上記実施形態では、１つのセンサ部に２または４の検出素子が設けられる。他の実施形態では、１つのセンサ部の検出素子数は、１、３、５以上であってもよい。上記実施形態では、制御部およびセンサ部が２つずつ設けられ、系統数が２である。他の実施形態では、制御部およびセンサ部を３以上設け、系統数が３以上であってもよい。上記実施形態では、系統ごとに別途の電源から電力が供給される。他の実施形態では、各系統が共通の電源から電力が供給されるように構成してもよい。
【０１５９】
第９実施形態および第１０実施形態では、各系統の電力不要のマルチターン検出部が設けられる。他の実施形態では、一部または全系統のマルチターン検出部を省略してもよい。これにより、構成を簡素化することができる。また、マルチターン検出部を各系統の複数設けてもよい。これにより、一部のマルチターン検出部に異常が生じた場合であっても、カウント値の演算を系統内にて継続可能である。また、マルチターン検出部が設けられている場合、サブ検出素子に基づくカウント値の演算を行わなくてもよい。これにより、構成を簡素化可能であるとともに、センサ部への常時給電が不要となる。
【０１６０】
上記実施形態では、モータは三相ブラシレスモータである。他の実施形態では、モータは、三相ブラシレスモータに限らず、どのようなモータであってもよい。また、モータは、モータ（電動機）に限らず、発電機であってもよいし、電動機および発電機の機能を併せ持つ所謂モータジェネレータであってもよい。上記実施形態では、インバータおよびモータ巻線は２系統である。他の実施形態では、インバータおよびモータ巻線の系統数は１系統または３系統以上であってもよい。また、インバータおよびモータ巻線の数が異なっていてもよい。上記実施形態では、検出ユニットを備える制御装置は、電動パワーステアリング装置に適用される。他の実施形態では、駆動装置を電動パワーステアリング装置以外の装置に適用してもよい。
【０１６１】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。以上、本発明は、上記実施形態になんら限定されるものではなく、発明の趣旨を逸脱しない範囲において種々の形態で実施可能である。
【符号の説明】
【０１６２】
１０、１１・・・ＥＣＵ（検出ユニット）
１３１、１３２、２３１、２３２・・・センサ部
１４１、２４１・・・メイン検出素子（検出素子）
１４２、２４２・・・サブ検出素子（検出素子）
１４５、２４５・・・マルチターン検出部（検出素子）
１５１、１５２、２５１、２５２・・・角度演算部（演算部）
１５５、１５６、２５５、２５６・・・カウント演算部（演算部）
１７０、２７０・・・制御部
１７１、２７１・・・異常監視部
１７２、２７２・・・制御演算部
５００・・外部センサ
【図１】
2020159992.tif 000005
【図２】
2020159992.tif 000006
【図３】
2020159992.tif 000007
【図４】
2020159992.tif 000008
【図５】
2020159992.tif 000009
【図６】
2020159992.tif 000010
【図７】
2020159992.tif 000011
【図８】
2020159992.tif 000012
【図９】
2020159992.tif 000013
【図１０】
2020159992.tif 000014
【図１１】
2020159992.tif 000015
【図１２】
2020159992.tif 000016
【図１３】
2020159992.tif 000017
【図１４】
2020159992.tif 000018
【図１５】
2020159992.tif 000019
【図１６】
2020159992.tif 000020
【図１７】
2020159992.tif 000021
【図１８】
2020159992.tif 000022
【図１９】
2020159992.tif 000023
【図２０】
2020159992.tif 000024
【図２１】
2020159992.tif 000025