(57)【要約】【課題】絶対角の演算を適切に実施可能な回転検出装置、および、これを用いた電動パワーステアリング装置を提供する。【解決手段】センサ部１３０、２３０は、モータ８０の回転を検出し、１回転中における回転角度である機械角θｍ１、θｍ２、および、モータ８０の回転回数に係るカウント値ＴＣ１、ＴＣ２を出力する。信号取得部１７１、２７１は、センサ部１３０、２３０から機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２を取得する。絶対角演算部１７２、２７２は、機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２に基づいて絶対角θａ１、θａ２を演算する。基準値記憶部１７４、２７４は、カウント値ＴＣ１、ＴＣ２の検出ずれによる絶対角θａ１、θａ２の演算誤差の補正に用いられる基準値Ｂ１、Ｂ２を記憶する不揮発記憶領域である。これにより、システム起動直後から絶対角θａ１、θａ２を適切に演算することができる。【選択図】  図２１
2019207205.tif 000002
【特許請求の範囲】
【請求項１】
モータ（８０）の回転を検出し、１回転中における回転角度に係る第１回転情報、および、前記モータの回転回数に係る第２回転情報を出力するセンサ部（１３０、２３０）と、
前記センサ部から前記第１回転情報および前記第２回転情報を取得する信号取得部（１７１、２７１）、前記第１回転情報および前記第２回転情報に基づき、基準位置からの回転量である絶対角を演算する絶対角演算部（１７２、２７２）、および、前記第２回転情報の検出ずれによる前記絶対角の演算誤差の補正に用いられる基準値を記憶する不揮発記憶領域である基準値記憶部（１７４、２７４）を有する制御部（１７０、２７０）と、
を備える回転検出装置。
【請求項２】
前記第２回転情報は、前記モータの１回転を複数のカウント領域に分割し、前記カウント領域の切り替えを回転方向に応じてカウントアップまたはカウントダウンするカウント値であって、
前記モータの１回転中において、前記第２回転情報の検出ずれが生じる可能性がある不定領域および検出ずれが生じない確定領域が存在する請求項１に記載の回転検出装置。
【請求項３】
前記回転角度が３６０°から０°に切り替わる回転角切替位置が前記不定領域に含まれる場合、前記回転角切替位置が前記確定領域となるように前記回転角度をシフトする請求項２に記載の回転検出装置。
【請求項４】
前記絶対角演算部は、それぞれの前記カウント領域を複数の分割領域に分割し、前記不定領域が一部の前記分割領域に含まれるように前記回転角度をシフトさせ、前記不定領域を含まない他の前記分割領域を前記確定領域とみなす請求項３に記載の回転検出装置。
【請求項５】
前記基準値は、前記確定領域における前記カウント値を、前記モータの１回転中の前記カウント領域の数で除した余りに応じた値である請求項２〜４のいずれか一項に記載の回転検出装置。
【請求項６】
前記基準値は、初期位置の前記第１回転情報および前記第２回転情報である請求項１〜４のいずれか一項に記載の回転検出装置。
【請求項７】
前記基準値は、特定領域の前記第２回転情報である請求項１〜４のいずれか一項に記載の回転検出装置。
【請求項８】
前記センサ部および前記制御部は、複数設けられ、
前記制御部は、対応して設けられる前記センサ部から前記第１回転情報および前記第２回転情報を取得し、
前記制御部は、他の前記制御部から前記絶対角に係る絶対角情報を相互に送受信可能な通信部（１７９、２７９）を有する請求項１〜７のいずれか一項に記載の回転検出装置。
【請求項９】
少なくとも１つの前記制御部は、他の前記制御部から取得した前記絶対角情報に基づき、自身の前記絶対角演算部にて演算された前記絶対角を補正する系統間補正部（１７６、２７６）を有する請求項８に記載の回転検出装置。
【請求項１０】
前記制御部は、他の前記制御部から取得された前記絶対角情報に基づいて異常を判定する異常判定部（１７５、２７５）を有する請求項８または９に記載の回転検出装置。
【請求項１１】
請求項１〜１０のいずれか一項に記載の回転検出装置（１０）と、
車両の操舵に要するトルクを出力する前記モータと、
を備える電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転検出装置、および、これを用いた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来、モータの回転に伴って変化する情報を検出する回転角検出装置が知られている。例えば特許文献１では、回転角センサにて演算された回転角に係る情報および回転回数に係る情報を制御部に送信し、制御部にて回転角および回転回数に基づいてステアリング角度を演算している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５９５８５７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばある閾値ごとにカウントアップまたはカウントダウンすることで回転回数に係る値を演算する場合、閾値のばらつき等があると、回転回数に係る値にずれが生じ、当該値を用いた値の演算が適切にできない虞がある。本発明は、上述の課題に鑑みてなされたものであり、その目的は、絶対角の演算を適切に実施可能な回転検出装置、および、これを用いた電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の回転検出装置は、センサ部（１３０、２３０）と、制御部（１７０、２７０）と、を備える。センサ部は、モータ（８０）の回転を検出し、１回転中における回転角度に係る第１回転情報、および、モータの回転回数に係る第２回転情報を出力する。
【０００６】
制御部は、信号取得部（１７１、２７１）、絶対角演算部（１７２、２７２）、および、基準値記憶部（１７４、２７４）を有する。信号取得部は、センサ部から第１回転情報および第２回転情報を取得する。絶対角演算部は、第１回転情報および第２回転情報に基づき、基準位置からの回転量である絶対角を演算する。基準値記憶部は、第２回転情報の検出ずれによる絶対角の演算誤差の補正に用いられる基準値を記憶する不揮発記憶領域である。これにより、基準値が保持されるので、システム起動直後から絶対角を適切に演算することができる。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態によるステアリングシステムの概略構成図である。
【図２】第１実施形態による駆動装置の断面図である。
【図３】図２のＩＩＩ−ＩＩＩ線断面図である。
【図４】第１実施形態によるＥＣＵを示すブロック図である。
【図５】第１実施形態による制御部を示すブロック図である。
【図６】第１実施形態によるモータ１回転の領域を説明する説明図である。
【図７】第１実施形態による回転カウント部を示す回路図である。
【図８】第１実施形態によるセンサ信号、絶対角、判定領域、比較信号およびカウント値を示すタイムチャートである。
【図９】第１実施形態によるセンサ信号、比較信号およびカウント値を示すタイムチャートである。
【図１０】第１実施形態による機械角および絶対角を説明するタイムチャートである。
【図１１】第１実施形態による確定領域および不定領域を説明する説明図である。
【図１２】第１実施形態による絶対角演算処理を説明するフローチャートである。
【図１３】第２実施形態による絶対角演算処理を説明するフローチャートである。
【図１４】第３実施形態による絶対角演算処理を説明するフローチャートである。
【図１５】第４実施形態による確定領域および不定領域を説明する説明図である。
【図１６】第４実施形態によるセンサ信号、絶対角、判定領域、比較信号およびカウント値を示すタイムチャートである。
【図１７】第４実施形態による確定領域および不定領域を説明する説明図である。
【図１８】第４実施形態による絶対角演算処理を説明するフローチャートである。
【図１９】第５実施形態による絶対角演算処理を説明するフローチャートである。
【図２０】第６実施形態による絶対角演算処理を説明するフローチャートである。
【図２１】第７実施形態による制御部を示すブロック図である。
【図２２】第７実施形態による絶対角演算処理を説明するフローチャートである。
【図２３】第７実施形態によるカウント値と回転回数との関係を説明する説明図である。
【図２４】第８実施形態による絶対角演算処理を説明するフローチャートである。
【図２５】第９実施形態による絶対角演算処理を説明するフローチャートである。
【図２６】第１０実施形態による系統間にて初期位置が異なる状態を説明する説明図である。
【図２７】第１０実施形態による制御部を示すブロック図である。
【発明を実施するための形態】
【０００８】
（第１実施形態）
以下、回転検出装置、および、これを用いた電動パワーステアリング装置を図面に基づいて説明する。以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
【０００９】
図１に示すように、第１実施形態による回転検出装置としてのＥＣＵ１０は、回転電機としてのモータ８０とともに、車両のステアリング操作を補助するための電動パワーステアリング装置８に適用される。図１は、電動パワーステアリング装置８を備えるステアリングシステム９０の全体構成を示すものである。ステアリングシステム９０は、操舵部材であるステアリングホイール９１、ステアリングシャフト９２、ピニオンギア９６、ラック軸９７、車輪９８、および、電動パワーステアリング装置８等を備える。
【００１０】
ステアリングホイール９１は、ステアリングシャフト９２と接続される。ステアリングシャフト９２には、操舵トルクＴｓを検出するトルクセンサ９４が設けられる。トルクセンサ９４は、第１トルク検出部１９４および第２トルク検出部２９４を有する。ステアリングシャフト９２の先端には、ピニオンギア９６が設けられる。ピニオンギア９６は、ラック軸９７に噛み合っている。ラック軸９７の両端には、タイロッド等を介して一対の車輪９８が連結される。
【００１１】
運転者がステアリングホイール９１を回転させると、ステアリングホイール９１に接続されたステアリングシャフト９２が回転する。ステアリングシャフト９２の回転運動は、ピニオンギア９６によってラック軸９７の直線運動に変換される。一対の車輪９８は、ラック軸９７の変位量に応じた角度に操舵される。
【００１２】
電動パワーステアリング装置８は、モータ８０およびＥＣＵ１０を有する駆動装置４０、ならびに、モータ８０の回転を減速してステアリングシャフト９２に伝える動力伝達部としての減速ギア８９等を備える。本実施形態の電動パワーステアリング装置８は、所謂「コラムアシストタイプ」であるが、モータ８０の回転をラック軸９７に伝える所謂「ラックアシストタイプ」等としてもよい。本実施形態では、ステアリングシャフト９２が「駆動対象」に対応する。
【００１３】
図２および図３に示すように、モータ８０は、操舵に要するトルクの一部または全部を出力するものであって、バッテリ１９１、２９１から電力が供給されることにより駆動され、減速ギア８９を正逆回転させる。モータ８０は、３相ブラシレスモータであって、ロータ８６０およびステータ８４０を有する。
【００１４】
モータ８０は、巻線組としての第１モータ巻線１８０および第２モータ巻線２８０を有する。モータ巻線１８０、２８０は、電気的特性が同等であり、共通のステータ８４０に、互いに電気角を３０［ｄｅｇ］ずらしてキャンセル巻きされる。これに応じて、モータ巻線１８０、２８０には、位相φが３０［ｄｅｇ］ずれた相電流が通電されるように制御される。通電位相差を最適化することで、出力トルクが向上する。また、６次のトルクリプルを低減することができる。さらにまた、位相差通電により、電流が平均化されるため、騒音、振動のキャンセルメリットを最大化することができる。また、発熱についても平均化されるため、各センサの検出値やトルク等、温度依存の系統間誤差を低減可能であるとともに、通電可能な電流量を平均化できる。
【００１５】
以下、第１モータ巻線１８０の駆動制御に係る第１駆動回路１２０、第１センサ部１３０および第１制御部１７０等の組み合わせを第１系統Ｌ１、第２モータ巻線２８０の駆動制御に係る第２駆動回路２２０、第２センサ部２３０および第２制御部２７０等の組み合わせを第２系統Ｌ２とする。また、第１系統Ｌ１に係る構成を主に１００番台で付番し、第２系統Ｌ２に係る構成を主に２００番台で付番する。また、第１系統Ｌ１および第２系統Ｌ２において、同様の構成には、下２桁が同じとなるように付番する。以下適宜、「第１」を添え字の「１」、「第２」を添え字の「２」として記載する。
【００１６】
駆動装置４０は、モータ８０の軸方向の一方側にＥＣＵ１０が一体的に設けられており、いわゆる「機電一体型」であるが、モータ８０とＥＣＵ１０とは別途に設けられていてもよい。ＥＣＵ１０は、モータ８０の出力軸とは反対側において、シャフト８７０の軸Ａｘに対して同軸に配置されている。ＥＣＵ１０は、モータ８０の出力軸側に設けられていてもよい。機電一体型とすることで、搭載スペースに制約のある車両において、ＥＣＵ１０とモータ８０とを効率的に配置することができる。
【００１７】
モータ８０は、ステータ８４０、ロータ８６０、および、これらを収容するハウジング８３０等を備える。ステータ８４０は、ハウジング８３０に固定されており、モータ巻線１８０、２８０が巻回される。ロータ８６０は、ステータ８４０の径方向内側に設けられ、ステータ８４０に対して相対回転可能に設けられる。
【００１８】
シャフト８７０は、ロータ８６０に嵌入され、ロータ８６０と一体に回転する。シャフト８７０は、軸受８３５、８３６により、ハウジング８３０に回転可能に支持される。シャフト８７０のＥＣＵ１０側の端部は、ハウジング８３０からＥＣＵ１０側に突出する。シャフト８７０のＥＣＵ１０側の端部には、検出対象としてのマグネット８７５が設けられる。
【００１９】
ハウジング８３０は、リアフレームエンド８３７を含む有底筒状のケース８３４、および、ケース８３４の開口側に設けられるフロントフレームエンド８３８を有する。ケース８３４とフロントフレームエンド８３８とは、ボルト等により互いに締結されている。リアフレームエンド８３７には、リード線挿通孔８３９が形成される。リード線挿通孔８３９には、モータ巻線１８０、２８０の各相と接続されるリード線１８５、２８５が挿通される。リード線１８５、２８５は、リード線挿通孔８３９からＥＣＵ１０側に取り出され、基板４７０に接続される。
【００２０】
ＥＣＵ１０は、カバー４６０、カバー４６０に固定されているヒートシンク４６５、ヒートシンク４６５に固定されている基板４７０、および、基板４７０に実装される各種の電子部品等を備える。
【００２１】
カバー４６０は、外部の衝撃から電子部品を保護したり、ＥＣＵ１０の内部への埃や水等の浸入を防止したりする。カバー４６０は、カバー本体４６１、および、コネクタ部４６２が一体に形成される。なお、コネクタ部４６２は、カバー本体４６１と別体であってもよい。コネクタ部４６２の端子４６３は、図示しない配線等を経由して基板４７０と接続される。コネクタ数および端子数は、信号数等に応じて適宜変更可能である。コネクタ部４６２は、駆動装置４０の軸方向の端部に設けられ、モータ８０と反対側に開口する。
【００２２】
基板４７０は、例えばプリント基板であり、リアフレームエンド８３７と対向して設けられる。基板４７０には、２系統分の電子部品が系統ごとに独立して実装されており、完全冗長構成をなしている。本実施形態では、１枚の基板４７０に電子部品が実装されているが、複数枚の基板に電子部品を実装するようにしてもよい。
【００２３】
基板４７０の２つの主面のうち、モータ８０側の面をモータ面４７１、モータ８０と反対側の面をカバー面４７２とする。図３に示すように、モータ面４７１には、駆動回路１２０を構成するスイッチング素子１２１、駆動回路２２０を構成するスイッチング素子２２１、検出部としての回転角センサ３０、カスタムＩＣ１５９、２５９等が実装される。回転角センサ３０は、マグネット８７５の回転に伴う磁界の変化を検出可能なように、マグネット８７５と対向する箇所に実装される。
【００２４】
カバー面４７２には、コンデンサ１２８、２２８、インダクタ１２９、２２９、および、制御部１７０、２７０を構成するマイコン等が実装される。図３では、制御部１７０、２７０を構成するマイコンについて、それぞれ「１７０」、「２７０」を付番した。コンデンサ１２８、２２８は、バッテリ１９１、２９１から入力された電力を平滑化する。また、コンデンサ１２８、２２８は、電荷を蓄えることで、モータ８０への電力供給を補助する。コンデンサ１２８、２２８、および、インダクタ１２９、２２９は、フィルタ回路を構成し、バッテリ１９１、２９１を共用する他の装置から伝わるノイズを低減するとともに、駆動装置４０からバッテリ１９１、２９１を共用する他の装置に伝わるノイズを低減する。なお、図示しない電源リレー、モータリレー、および、電流センサ等についても、モータ面４７１またはカバー面４７２に実装される。
【００２５】
図４に示すように、ＥＣＵ１０は、回転角センサ３０、駆動回路１２０、２２０、および、制御部１７０、２７０等を備える。図４中、駆動回路を「ＩＮＶ」と記載する。第１駆動回路１２０は、６つのスイッチング素子１２１を有する３相インバータであって、第１モータ巻線１８０へ供給される電力を変換する。スイッチング素子１２１は、第１制御部１７０から出力される制御信号に基づいてオンオフ作動が制御される。第２駆動回路２２０は、６つのスイッチング素子２２１を有する３相インバータであって、第２モータ巻線２８０へ供給される電力を変換する。スイッチング素子２２１は、第２制御部２７０から出力される制御信号に基づいてオンオフ作動が制御される。
【００２６】
回転角センサ３０は、第１センサ部１３０および第２センサ部２３０を有する。第１センサ部１３０は第１制御部１７０に出力信号ＳＧＮ１を出力し、第２センサ部２３０は第２制御部２７０に出力信号ＳＧＮ２を出力する。本実施形態では、第１センサ部１３０が第１系統Ｌ１に含まれ、第２センサ部２３０が第２系統Ｌ２に含まれる。回転角センサの構成は、後述の実施形態も同様である。
【００２７】
第１センサ部１３０は、磁場検出部１３１、１３２、および、信号処理部１４０を有する。第２センサ部２３０は、磁場検出部２３１、２３２、および、信号処理部２４０を有する。センサ部１３０、２３０での処理の詳細は同様であるので、第２センサ部２３０についての説明は適宜省略する。
【００２８】
磁場検出部１３１、１３２、２３１、２３２は、モータ８０の回転に応じたマグネット８７５の磁界の変化を検出する検出素子である。磁場検出部１３１、１３２、２３１、２３２には、例えばＭＲセンサやホールＩＣが用いられる。磁場検出部１３１、１３２、２３１、２３２は、それぞれ、ｃｏｓ＋信号、ｓｉｎ＋信号、ｃｏｓ−信号およびｓｉｎ＋信号を出力する４つのセンサ素子を有する。以下適宜、ｃｏｓ＋信号、ｓｉｎ＋信号、ｃｏｓ−信号、ｓｉｎ−信号をまとめてセンサ信号とする。
【００２９】
信号処理部１４０は、回転角演算部１４１、１４２、回転カウント部１４３、自己診断部１４５、および、通信部１４６を有する。信号処理部２４０は、回転角演算部２４１、２４２、回転カウント部２４３、自己診断部２４５、および、通信部２４６を有する。
【００３０】
回転角演算部１４１は、磁場検出部１３１からの信号に基づき、機械角θｍ１ｃを演算する。回転角演算部１４２は、磁場検出部１３２からの信号に基づき、機械角θｍ１ｅを演算する。回転角演算部２４１は、磁場検出部２３１からの信号に基づき、機械角θｍ２ｃを演算する。回転角演算部２４２は、磁場検出部２３２からの信号に基づき、機械角θｍ２ｅを演算する。機械角θｍ１ｃ、θｍ１ｅ、θｍ２ｃ、θｍ２ｅは、ｃｏｓ＋信号、ｓｉｎ＋信号、ｃｏｓ−信号、ｓｉｎ−信号のアークタンジェントから演算される。
【００３１】
本実施形態では、磁場検出部１３１、２３１の検出信号に基づいて演算された機械角θｍ１ｃ、θｍ２ｃを制御部１７０、２７０での各種演算に用い、磁場検出部１３２、２３２の検出信号に基づいて演算された機械角θｍ１ｅ、θｍ２ｅを、機械角θｍ１ｃ、θｍ２ｃとの比較による異常検出に用いる。以下適宜、磁場検出部１３１、２３１を「制御用」、磁場検出部１３２、２３２を「異常検出用」とする。回転角演算部１４１、１４２、２４１、２４２にて演算される値は、機械角に換算可能などのような値であってもよい。
【００３２】
制御用の磁場検出部１３１、２３１と、異常検出用の磁場検出部１３２、２３２とは、同じ種類のものを用いてもよいし、異なる種類のものを用いてもよい。異常検出用は、制御用のものと比較して、検出精度が要求されないので、制御用のものよりも精度の低いものとしてもよい。制御用と異常検出用とで、異なる種類のものを用いることで、一緒に壊れにくくなり、機能安全面から好ましい。ここで、素子の種類が異なる場合に限らず、素子の種類が同じでレイアウトや検出回路が異なっている、或いは、製造ロットが異なっている場合についても、「素子の種類が異なっている」とみなしてもよい。また、回転角演算部１４１、１４２の演算回路が異なるようにすることも、機能安全面から好ましい。
【００３３】
回転カウント部１４３は、磁場検出部１３１からの信号に基づき、カウント値ＴＣ１を演算する。回転カウント部２４３は、磁場検出部２３１からの信号に基づき、カウント値ＴＣ２を演算する。
【００３４】
図６に示すように、モータ８０の１回転にて、機械角θｍが０°〜３６０°の値を取り、４つのカウント領域を設定する。機械角θｍが３６０°から０°に切り替わる箇所を回転角切替位置とする。図１１等の後述の図面では、回転角切替位置については０°と記載し、３６０°の記載を省略する。本実施形態では、機械角θｍが０°以上９０°未満の領域を「領域Ｒ０」、９０°以上１８０°未満の領域を「領域Ｒ１」、１８０°以上２７０°未満の領域を「領域Ｒ２」、２７０°以上３６０°未満の領域を「領域Ｒ３」とし、機械角θｍの領域が変わるごとに回転方向に応じてカウントアップまたはカウントダウンする。本実施形態では、モータ８０が正方向に回転したときにカウントアップし、逆方向に回転したときにカウントダウンする。すなわち、モータ８０が正方向に１回転するとカウント値ＴＣ１、ＴＣ２が４増え、逆方向に１回転するとカウント値ＴＣ１、ＴＣ２は４減る。
【００３５】
図４に示すように、自己診断部１４５は、第１センサ部１３０内の天絡や地絡等の異常を監視する。通信部１４６は、機械角θｍ１ｃ、θｍ１ｅ、カウント値ＴＣ１および自己診断結果等を含む一連の信号である第１出力信号ＳＧＮ１を生成して第１制御部１７０に送信する。自己診断部２４５は、第２センサ部２３０内の異常を監視する。通信部２４６は、機械角θｍ２ｃ、θｍ２ｅ、カウント値ＴＣ２および自己診断結果等を含む一連の信号である第２出力信号ＳＧＮ２を生成して第２制御部２７０に送信する。本実施形態の出力信号は、デジタル信号であって、通信方式は例えばＳＰＩ通信であるが、その他の通信方式であってもよい。
【００３６】
第１センサ部１３０には、第１バッテリ１９１から、レギュレータ等である電源１９２、１９３を経由して電力が供給される。破線で囲んだ磁場検出部１３１および回転カウント部１４３には、電源１９２を経由してイグニッションスイッチ等である車両の始動スイッチがオフされている間も、常時給電され、検出および演算が継続される。第１センサ部１３０において、磁場検出部１３１および回転カウント部１４３以外の構成には、電源１９３を経由し、始動スイッチがオンされているときに給電され、始動スイッチがオフされると給電が停止される。また、第１制御部１７０には、電源１９３を経由し、始動スイッチがオンされているときに給電される。
【００３７】
第２センサ部２３０には、第２バッテリ２９１から、レギュレータ等である電源２９２、２９３を経由して電力が供給される。破線で囲んだ磁場検出部２３１および回転カウント部２４３には、電源１９２を経由して始動スイッチがオフされている間も常時給電され、検出および演算が継続される。第２センサ部２３０において、磁場検出部２３１および回転カウント部２４３以外の構成には、電源２９３を経由し、始動スイッチがオンされているときに給電され、始動スイッチがオフされると給電が停止される。また、第２制御部２７０には、電源２９３を経由し、始動スイッチがオンされているときに給電される。
【００３８】
常時給電される磁場検出部１３１、２３１は、例えばＴＭＲ素子等、消費電力の小さい素子を選択することが望ましい。なお、煩雑になることを避けるため、バッテリ１９１と電源１９３の接続線等、一部の配線や制御線の記載を省略した。図５等についても同様である。
【００３９】
また、回転カウント部１４３、２４３は、磁場検出部１３１、２３１に替えて、磁場検出部１３２、２３２の信号に基づいてカウント値ＴＣ１、ＴＣ２を演算するようにしてもよい。この場合、磁場検出部１３２、２３２に常時給電されるように構成する。
【００４０】
制御部１７０、２７０は、マイコン等を主体として構成され、内部にはいずれも図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ、及び、これらの構成を接続するバスライン等を備えている。制御部１７０、２７０における各処理は、ＲＯＭ等の実体的なメモリ装置（すなわち、読み出し可能非一時的有形記録媒体）に予め記憶されたプログラムをＣＰＵで実行することによるソフトウェア処理であってもよいし、専用の電子回路によるハードウェア処理であってもよい。
【００４１】
第１制御部１７０および第２制御部２７０は、制御部１７０、２７０間にて相互に通信可能に設けられる。以下適宜、制御部１７０、２７０間の通信を、「マイコン間通信」という。制御部１７０、２７０間の通信方法は、ＳＰＩやＳＥＮＴ等のシリアル通信や、ＣＡＮ通信、ＦｌｅｘＲａｙ通信等、どのような方法を用いてもよい。
【００４２】
第１制御部１７０は、機械角θｍ１ｃおよび図示しない電流センサの検出値等に基づき、例えば電流フィードバック制御等により、駆動回路１２０のスイッチング素子１２１のオンオフ作動を制御する制御信号を生成する。第２制御部２７０は、機械角θｍ２ｃおよび図示しない電流センサの検出値等に基づき、例えば電流フィードバック制御等により、駆動回路２２０のスイッチング素子２２１のオンオフ作動を制御する制御信号を生成する。なお、電流フィードバック制御等に用いる際、機械角θｍ１ｃ、θｍ２ｃを、適宜電気角に換算する。
【００４３】
図５に示すように、第１制御部１７０は、信号取得部１７１、絶対角演算部１７２、異常判定部１７５および通信部１７９を有する。第２制御部２７０は、信号取得部２７１、絶対角演算部２７２、異常判定部２７５および通信部２７９を有する。
【００４４】
信号取得部１７１は、第１センサ部１３０から第１出力信号ＳＧＮ１を取得する。信号取得部２７１は、第２センサ部２３０から第２出力信号ＳＧＮ２を取得する。絶対角演算部１７２は、機械角θｍ１ｃおよびカウント値ＴＣ１を用いて、絶対角θａ１を演算する。絶対角演算部２７２は、機械角θｍ２ｃおよびカウント値ＴＣ２を用いて、絶対角θａ２を演算する。絶対角θａ１、θａ２は、基準位置からの回転量である。絶対角θａ１、θａ２は、減速ギア８９のギア比を用いて換算することで、ステアリングシャフト９２の回転角度である舵角θｓに換算可能である。また、絶対角θａ１、θａ２を舵角演算以外の演算等に用いてもよい。通信部１７９、２７９は、角度情報として絶対角θａ１、θａ２を相互に送り合う。
【００４５】
異常判定部１７５は、機械角θｍ１ｃ、θｍ１ｅの比較結果、および、第１センサ部１３０から取得される自己診断結果に基づき、自系統の異常を判定する。また、絶対角θａ１、θａ２の比較により、異常を判定する。異常判定された場合、絶対角θａ１の演算を中止する。異常判定部２７５は、機械角θｍ２ｃ、θｍ２ｅの比較結果、および、第２センサ部２３０から取得される自己診断結果に基づき、自系統の異常を判定する。また、絶対角θａ１、θａ２の比較により、異常を判定する。異常が判定された場合、絶対角θａ１、θａ２の演算を中止する。
【００４６】
本実施形態では、第１系統または第２系統の一方が正常であれば、正常系統での絶対角演算が継続される。また、絶対角θａ１、θａ２の比較により異常判定された場合、絶対角θａ１、θａ２の演算を中止する。以下、第１系統および第２系統がともに正常であるものとする。
【００４７】
以下、機械角およびカウント値を用いた絶対角演算について説明する。本実施形態では、系統Ｌ１、Ｌ２にて、同様の演算が行われるので、第１系統Ｌ１での演算について説明する。また、各系統にて同様の演算においては、系統の区別を示す添え字の「１」、「２」を省略する。また、上述の通り、各種演算には、制御用の機械角θｍ１ｃ、θｍ２ｃを用いるが、以下、制御用と異常検出用との区別を示す添え字の「ｃ」についても省略する。後述の実施形態も同様とする。
【００４８】
図７に示すように、回転カウント部１４３は、コンパレータ１５１〜１５４を有する。コンパレータ１５１の非反転端子にはｃｏｓ＋信号が入力され、反転端子には閾値ＴＨが入力され、ｃｏｓ＋信号が閾値ＴＨより大きいときＨｉ、ｃｏｓ＋信号が閾値ＴＨより小さいときＬｏのｃｏｓ＋比較信号を出力する。コンパレータ１５２の非反転端子にはｓｉｎ＋信号が入力され、反転端子には閾値ＴＨが入力され、ｓｉｎ＋信号が閾値ＴＨより大きいときＨｉ、ｓｉｎ＋信号が閾値ＴＨより小さいときＬｏのｓｉｎ＋比較信号を出力する。コンパレータ１５３の非反転端子にはｃｏｓ−信号が入力され、反転端子には閾値ＴＨが入力され、ｃｏｓ−信号が閾値ＴＨより大きいときＨｉ、ｃｏｓ−信号が閾値ＴＨより小さいときＬｏのｃｏｓ−比較信号を出力する。コンパレータ１５４の非反転端子にはｓｉｎ−信号が入力され、反転端子には閾値ＴＨが入力され、ｓｉｎ−信号が閾値ＴＨより大きいときＨｉ、ｓｉｎ−信号が閾値ＴＨより小さいときＬｏのｓｉｎ−比較信号を出力する。閾値ＴＨは、任意に設定可能である。また、ｃｏｓ＋信号、ｓｉｎ＋信号、ｃｏｓ−信号およびｓｉｎ−信号の出力信号比較や各信号を用いた論理演算等の閾値比較以外の方法にてカウント値ＴＣ１を演算してもよい。
【００４９】
図中、ｃｏｓ＋比較信号を「ｃｏｓ＋＿ｃｏｍｐ」、ｓｉｎ＋比較信号を「ｓｉｎ＋＿ｃｏｍｐ」、ｃｏｓ−比較信号を「ｃｏｓ−＿ｃｏｍｐ」、ｓｉｎ−比較信号を「ｓｉｎ−＿ｃｏｍｐ」と記載した。回転カウント部２４３も、同様に構成されており、コンパレータの図示を省略する。
【００５０】
図８では、上段から、センサ信号および絶対角θａ、判定領域、比較信号およびカウント値ＴＣを示す。図８に示すように、本実施形態では、コンパレータ１５１〜１５４の比較信号が立ち下がったとき、モータ８０の回転方向が正方向であればカウント値ＴＣ１をカウントアップし、逆方向であればカウント値ＴＣをカウントダウンする。回転方向は、別途判定されるものとする。また、例えば図９に示すように、コンパレータ１５１〜１５４の比較信号が立ち上がったときにカウント値ＴＣをカウントアップまたはカウントダウンするようにしてもよい。図９では、上段から、センサ出力、比較信号およびカウント値ＴＣを示している。以下、主にモータ８０が正方向に回転する場合を中心に説明する。
【００５１】
ここで、絶対角θａについて説明する。本実施形態では、カウント値ＴＣおよび機械角θｍを用い、ある点を基準としてモータ８０が回転した角度を絶対角θａとする。例えば図１０に示すように、基準点を０°とした場合、時刻ｔ１において、基準点から２回転しており、機械角θｍが１５０°であれば、絶対角θａは８７０°である。基準点は０°以外であってもよい。絶対角θａは、式（１−１）または式（２−１）により演算可能であり、具体例として、ＴＣ＝９、θｍ＝１５０での演算例を示す。
【００５２】
θａ＝ＴＣ×９０＋ＭＯＤ（θｍ，９０）    ・・・（１−１）
＝９×９０＋６０＝８７０［°］
【００５３】
式中のＭＯＤ（θｍ，９０）は、機械角θｍを９０で除した余りを意味する。式（１−１）は、カウント値ＴＣから、何回転したどこの領域にいるかを算出し、機械角θｍから、その領域内のどの位置にいるかを算出している、といえる。
【００５４】
θａ＝ＩＮＴ（ＴＣ／４）×３６０＋θｍ    ・・・（２−１）
＝２×３６０＋１５０＝８７０［°］
【００５５】
式中のＩＮＴ（ＴＣ／４）は、カウント値ＴＣを４で除した商を意味する。式（２−１）は、カウント値ＴＣからモータ８０が何回転したのかを求め、機械角θｍから基準点からどの位置にいるかを算出している、といえる。上述の通り、式（１−１）、（２−１）の演算結果は同じであるので、どちらで演算してもよい。また適宜、機械角θｍに替えて、後述のシフト後機械角θｍｓを用いる。
【００５６】
ところで、閾値ＴＨのずれや、センサ信号の誤差により、カウント値ＴＣのカウントタイミングがずれる虞がある。そこで本実施形態では、カウント値ＴＣのカウントアップまたはカウントダウンが行われる可能性がある角度領域を不定領域Ｒｉとする。不定領域Ｒｉは、カウント済みかカウント未実施かによってカウント値ＴＣがずれる可能性のある領域である。また、カウント値ＴＣのカウントアップまたはカウントダウンが行われる可能性がなくカウント値ＴＣが確定している領域を確定領域Ｒｄとする。確定領域Ｒｄおよび不定領域Ｒｉは、閾値や検出誤差等に応じて決まる。図８の例では、コンパレータ１５１〜１５４の比較信号の立ち下がりを検出してから、次の立ち上がりが検出されるまでの領域を不定領域Ｒｉとしている。センサ信号の閾値ＴＨとの比較判定によりカウント値ＴＣをカウントする場合、図１１に示すように、機械角θｍが０°、９０°、１８０°、２７０°を含む範囲が不定領域Ｒｉとなる。図中では、不定領域Ｒｉを梨地で示した。また、領域Ｒ０中の確定領域をＲｄ０、領域Ｒ１中の確定領域をＲｄ１、領域Ｒ２中の確定領域をＲｄ２、領域Ｒ３中の確定領域をＲｄ３とする。
【００５７】
領域Ｒ０の正しいカウント値ＴＣ＝ｘの場合に取り得るカウント値ＴＣについて説明する。モータ８０が正方向に回転している場合、領域Ｒｄ０と領域Ｒｄ１との間の不定領域にてカウントアップされると、ｘ＋１を取り得る。また、モータ８０が逆方向に回転している場合、領域Ｒｄ０と領域Ｒｄ３との間の不定領域にてカウントダウンされると、ｘ−１を取り得る。すなわち、領域Ｒ０において、ｘ±１の３つのカウント値ＴＣを取り得る。他の領域についても同様である。
【００５８】
また、領域Ｒ３から領域Ｒ０に移行する場合、カウント値ＴＣがカウント済みか否かに加え、０°を跨いだか否かを考慮する必要がある。例えば式（２−１）にて絶対角θａを演算する場合、絶対角θａが真値に対して３６０°ずれる虞がある。具体例として、機械角θｍ＝３４０°であって、領域Ｒ３でのカウント値ＴＣ＝３、続いて移行する領域Ｒ０でのカウント値ＴＣ＝４とし、領域Ｒ３にて未カウントの場合の絶対角θａを式（３）、カウント済みの場合の絶対角θａを式（４）に示す。
【００５９】
θａ＝ＩＮＴ（３／４）×３６０＋３４０＝３４０    ・・・（３）
θａ＝ＩＮＴ（４／４）×３６０＋３４０＝７００    ・・・（４）
【００６０】
そこで本実施形態では、機械角θｍが確定領域Ｒｄのときに絶対角θａの演算を行い、機械角θｍが不定領域Ｒｉのときには絶対角θａの演算を行わない。本実施形態の絶対角演算処理を図１２のフローチャートに基づいて説明する。この処理は、絶対角演算部１７２、２７２にて所定の周期で実行される。絶対角演算部１７２、２７２での演算は同様であるので、ここでは絶対角演算部１７２での処理として説明する。他の実施形態についても同様である。以下、ステップＳ１０１の「ステップ」を省略し、単に記号「Ｓ」と記す。他のステップについても同様である。
【００６１】
Ｓ１０１では、絶対角演算部１７２は、機械角θｍが確定領域Ｒｄ１内か否かを判断する。機械角θｍが確定領域Ｒｄ１内であると判断された場合（Ｓ１０１：ＹＥＳ）、Ｓ１０５へ移行する。機械角θｍが確定領域Ｒｄ１内ではないと判断された場合（Ｓ１０１：ＮＯ）、Ｓ１０２へ移行する。
【００６２】
Ｓ１０２では、絶対角演算部１７２は、機械角θｍが確定領域Ｒｄ２内か否かを判断する。機械角θｍが確定領域Ｒｄ２内であると判断された場合（Ｓ１０２：ＹＥＳ）、Ｓ１０５へ移行する。機械角θｍが確定領域Ｒｄ２内ではないと判断された場合（Ｓ１０２：ＮＯ）、Ｓ１０３へ移行する。
【００６３】
Ｓ１０３では、絶対角演算部１７２は、機械角θｍが確定領域Ｒｄ３内か否かを判断する。機械角θｍが確定領域Ｒｄ３内であると判断された場合（Ｓ１０３：ＹＥＳ）、Ｓ１０５へ移行する。機械角θｍが確定領域Ｒｄ３内ではないと判断された場合（Ｓ１０３：ＮＯ）、Ｓ１０４へ移行する。
【００６４】
Ｓ１０４では、絶対角演算部１７２は、機械角θｍが確定領域Ｒｄ４内か否かを判断する。機械角θｍが確定領域Ｒｄ４内であると判断された場合（Ｓ１０４：ＹＥＳ）、Ｓ１０５へ移行する。機械角θｍが確定領域Ｒｄ４ではないと判断された場合（Ｓ１０４：ＮＯ）、Ｓ１０６へ移行する。
【００６５】
Ｓ１０５では、絶対角演算部１７２は、カウント値ＴＣおよび機械角θｍを用い、絶対角θａを演算する。Ｓ１０６は、機械角θｍが不定領域Ｒｉであるときに移行するステップである。Ｓ１０６では、絶対角演算部１７２は、絶対角θａの演算を行わず、前回値を保持する。なお、起動時に当該ステップに移行した場合、絶対角θａとして初期値が維持される。これにより、絶対角θａの３６０°ずれが生じることなく、適切に絶対角θａを演算することができる。
【００６６】
以上説明したように、本実施形態のＥＣＵ１０は、センサ部１３０、２３０と、制御部１７０、２７０と、を備える。センサ部１３０、２３０は、モータ８０の回転を検出し、１回転中における回転角度である機械角θｍ１、θｍ２、および、モータ８０の回転回数に係るカウント値ＴＣ１、ＴＣ２を出力する。本実施形態では、機械角θｍ１、θｍ２が「回転角度」および「第１回転情報」に対応する。また、第２回転情報は、モータ８０の１回転を複数のカウント領域に分割し、カウント領域の切り替えを回転方向に応じてカウントアップまたはカウントダウンするカウント値ＴＣ１、ＴＣ２である。
【００６７】
制御部１７０、２７０は、信号取得部１７１、２７１、および、絶対角演算部１７２、２７２を有する。信号取得部１７１、２７１は、センサ部１３０、２３０から機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２を取得する。絶対角演算部１７２、２７２は、機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２に基づいて基準位置からの回転量である絶対角θａ１、θａ２を演算する。
【００６８】
モータ８０の１回転中において、カウント値ＴＣ１、ＴＣ２の検出ずれが生じる可能性がある不定領域Ｒｉおよび検出ずれが生じない確定領域Ｒｄが存在する。絶対角演算部１７２、２７２は、確定領域Ｒｄにおけるカウント値ＴＣ１、ＴＣ２を用いて絶対角θａ１、θａ２を演算する。
【００６９】
本実施形態では、絶対角演算部１７２、２７２は、確定領域Ｒｄにおいて、機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２に基づいて絶対角θａ１、θａ２を演算し、不定領域Ｒｉにおいて、絶対角θａ１、θａ２の演算を中止する。これにより、絶対角θａ１、θａ２を適切に演算することができる。
【００７０】
電動パワーステアリング装置８は、ＥＣＵ１０と、車両の操舵に要するトルクを出力するモータ８０と、を備える。すなわち、ＥＣＵ１０は、電動パワーステアリング装置８に適用される。本実施形態のＥＣＵ１０は、絶対角θａを演算しているので、絶対角θａを、モータ８０の駆動をステアリングシステム９０に伝達する減速ギア８９のギア比で換算することで、舵角を演算可能である。これにより、舵角センサを省略可能である。
【００７１】
（第２実施形態）
第２実施形態の絶対角演算処理を図１３のフローチャートに基づいて説明する。図１３に示すように、Ｓ１１０では、絶対角演算部１７２は、絶対角θａの初回演算を実施済みか否か判断する。ここでは、イグニッションスイッチ等の車両の始動スイッチがオンされた後、確定領域Ｒｄにてカウント値ＴＣを用いた絶対角θａの演算が行われた場合、初回演算実施済みとする。絶対角θａの初回演算が実施済みであると判断された場合（Ｓ１１０：ＹＥＳ）、Ｓ１１７へ移行する。絶対角θａの初回演算が未実施であると判断された場合（Ｓ１１０：ＮＯ）、Ｓ１１１へ移行する。
【００７２】
Ｓ１１１〜Ｓ１１４の処理は、図１２中のＳ１０１〜Ｓ１０４と同様である。Ｓ１１１〜Ｓ１１４にて肯定判断された場合、Ｓ１１５へ移行し、Ｓ１０５と同様、絶対角演算部１７２は、カウント値ＴＣおよび機械角θｍを用いて、絶対角θａを演算する。Ｓ１１１〜Ｓ１１４にて否定判断された場合、Ｓ１１６へ移行し、絶対角演算部１７２は、絶対角θａの演算を行わず、初期値を保持する。
【００７３】
Ｓ１１０にて絶対角θａの初回演算が実施済みであると判断された場合（Ｓ１１０：ＹＥＳ）に移行するＳ１１７では、絶対角演算部１７２は、機械角θｍの差分積算により、絶対角θａを演算する。ここでは、絶対角演算部１７２は、絶対角θａの前回値、および、機械角θｍの変化量に基づき、絶対角θａの今回値を演算する（式（５−１）参照）。式中、添え字の(n)は今回値を意味し、(n-1)は前回値を意味する。
【００７４】
θａ(n)＝θａ(n-1)＋（θｍ(n)−θｍ(n-1)）    ・・・（５−１）
【００７５】
また、式（５−１）の演算に替えて、初回演算時絶対角θａ＿ｉｎｉｔを記憶させておき、初回演算時絶対角θａ＿ｉｎｉｔおよび初回演算時からの機械角差分積算値Ｉθｍｄから絶対角θａを演算するようにしてもよい（式（５−２）、（５−３）参照）。式中のθｍ(0)は、カウント値ＴＣを用いた絶対角演算時の機械角、θｍ(1)は、機械角θｍの差分積算による最初の絶対角演算時の機械角を意味する。また、機械角差分積算値Ｉθｍｄは、本処理とは別途に演算されている値を取得して用いてもよい。
【００７６】
θａ(n)＝θａ＿ｉｎｉｔ＋Ｉθｍｄ    ・・・（５−２）
Ｉθｍｄ＝（θｍ(1)−θｍ(0)）＋…
…＋（θｍ(n-1)−θｍ(n-2)）＋（θｍ(n)−θｍ(n-1)）
・・・（５−３）
【００７７】
Ｓ１１８では、絶対角演算部１７２は、Ｓ１１７にて演算された絶対角θａ、および、演算に用いた機械角θｍを図示しない記憶部に記憶させる。記憶された値は、次回演算にて、前回値として用いられる。この記憶部は、例えばＲＡＭ等の揮発性メモリであってよく、最新の値が保持されていればよい。
【００７８】
本実施形態では、絶対角演算部１７２は、最初に機械角θｍが確定領域Ｒｄとなったとき、カウント値ＴＣを用いて絶対角θａを演算し、以降は、カウント値ＴＣを用いず、初回演算時絶対角θａ＿ｉｎｉｔおよび機械角θｍに基づいて絶対角θａを演算する。詳細には、初回演算時絶対角θａ＿ｉｎｉｔに機械角θｍの変化量を足していくことで、絶対角θａを演算する。これにより、不定領域における演算ずれが生じることがなく、不定領域Ｒｉにおいても絶対角θａの演算を継続可能である。
【００７９】
本実施形態では、絶対角演算部１７２、２７２は、システム起動時の初回演算において、確定領域Ｒｄにおける機械角θｍ１、θｍ２に基づいて絶対角θａ１、θａ２を演算し、２回目以降の演算において、絶対角θａ１、θａ２の初回演算値、および、機械角θｍ１、θｍ２に基づき、絶対角θａ１、θａ２を演算する。これにより、２回目以降の演算においては、不定領域Ｒｉにおいても絶対角θａ１、θａ２の演算を継続することができる。また上記実施形態と同様の効果を奏する。本実施形態では、イグニッションスイッチ等である始動スイッチをオンしたときが「システム起動時」に対応する。
【００８０】
（第３実施形態）
第３実施形態の絶対角演算処理を図１４のフローチャートに基づいて説明する。Ｓ１２１〜Ｓ１２４は、図１２中のＳ１０１〜Ｓ１０４と同様である。Ｓ１２１〜Ｓ１２４にて肯定判断されると、Ｓ１２５へ移行し、Ｓ１０５と同様、絶対角演算部１７２は、カウント値ＴＣおよび機械角θｍを用いて、絶対角θａを演算する。Ｓ１２１〜Ｓ１２４にて否定判断されると、Ｓ１２６へ移行する。
【００８１】
Ｓ１２６では、図１２中のＳ１１０と同様、絶対角演算部１７２は、絶対角θａの初回演算を実施済みか否か判断する。絶対角θａの初回演算が未実施であると判断された場合（Ｓ１２８：ＮＯ）、Ｓ１２７へ移行し、Ｓ１１６と同様、初期値を保持する。絶対角θａの初回演算が実施済みであると判断された場合（Ｓ１２６：ＹＥＳ）、Ｓ１２８へ移行する。Ｓ１２８では、図１２中のＳ１１７と同様、絶対角演算部１７２は、機械角θｍの差分積算により、絶対角θａを演算する。Ｓ１２９では、Ｓ１１８と同様、演算された絶対角θａおよび演算に用いた機械角θｍを記憶させる。すなわち本実施形態では、確定領域Ｒｄでは、カウント値ＴＣを用いて絶対角θａを演算し、不定領域Ｒｉでは、機械角θｍの積算により絶対角θａを演算する。
【００８２】
本実施形態では、２回目以降の演算において、確定領域Ｒｄのとき、機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２に基づいて絶対角θａ１、θａ２を演算し、不定領域Ｒｉのとき、絶対角θａ１、θａ２の初回演算値および機械角θｍ１、θｍ２に基づいて絶対角θａ１、θａ２を演算する。これにより、２回目以降の演算においては、不定領域Ｒｉにおいても絶対角θａ１、θａ２の演算を継続することができる。また上記実施形態と同様の効果を奏する。
【００８３】
（第４実施形態）
第４実施形態を図１５〜図１８に示す。第１実施形態にて説明したように、センサ信号の閾値比較にてカウント値ＴＣをカウントする場合、不定領域Ｒｉが領域Ｒ０〜Ｒ３を跨ぐ箇所となる（図１１参照）。そのため、上述の通り、各領域Ｒ０〜Ｒ３にて、３つのカウント値ＴＣを取り得る。
【００８４】
本実施形態では、機械角θｍにオフセット値αを加算することで、領域補正を行う。図１６では、機械角θｍをオフセットすることで、絶対角θａがα分オフセットされていることを示している。オフセット値αは、不定領域Ｒｉの角度幅に応じ、不定領域Ｒｉが領域Ｒ０〜Ｒ３の境界を跨がないような任意の値に設定される。例えば図１５に示すように、不定領域Ｒｉの角度幅が４５°であれば、オフセット値αは２２．５°に設定される、といった具合である。
【００８５】
領域補正を行うことで、例えば領域Ｒ０のカウント数をｘとすると、領域Ｒ０の取り得るカウント値ＴＣは、ｘまたはｘ−１となる。すなわち、オフセット値αを用いて領域補正を行った場合、各領域Ｒ０〜Ｒ３において取り得るカウント値ＴＣが２つとなり、領域補正を行わない場合と比較し、取り得るカウント値ＴＣの数を低減可能である。以下適宜、オフセット値αにて補正後の機械角θｍを、シフト後機械角θｍｓとする。
【００８６】
また、図１５および図１７に示すように、本実施形態では、各領域Ｒ０をさらに２分割し、シフト後機械角θｍｓが小さい方の領域を前半領域、大きい方の領域を後半領域とする。前半領域には不定領域Ｒｉが含まれ、後半領域には不定領域Ｒｉが含まれない。領域Ｒ１〜Ｒ３についても同様である。
【００８７】
本実施形態では、不定領域Ｒｉを含まない各領域Ｒ０〜Ｒ３の後半領域にて絶対角θａの演算を行い、前半領域では絶対角θａの演算を行わない。この場合、前半領域を「不定領域」、後半領域を「確定領域」とみなしている、と捉えることもできる。なお、後半領域に不定領域Ｒｉが含まれ、前半領域に不定領域Ｒｉを含まない場合、前半領域を「確定領域」、後半領域を「不定領域」とみなし、前半領域にて絶対角θａの演算を行うようにすればよい。
【００８８】
本実施形態の絶対角演算処理を図１８のフローチャートに基づいて説明する。Ｓ１５１では、絶対角演算部１７２は、シフト後機械角θｍｓを９０で割った余りが４５より大きいか否かを判断する。シフト後機械角θｍｓを９０で割った余りが４５より大きいと判断された場合（Ｓ１５１：ＹＥＳ）、確定領域Ｒｄと判定し、Ｓ１５２へ移行する。機械角θｍを９０で割った余りが４５より大きいと判断された場合（Ｓ１５１：ＮＯ）、不定領域Ｒｉと判定し、Ｓ１５３へ移行する。
【００８９】
Ｓ１５２では、絶対角演算部１７２は、カウント値ＴＣおよびシフト後機械角θｍｓを用い、絶対角θａを演算する。Ｓ１５３では、Ｓ１０６と同様、絶対角演算部１７２は、絶対角θａの演算を行わず、前回値を保持する。なお、起動時に当該ステップに移行した場合、絶対角θａとして初期値が維持される。
【００９０】
本実施形態では、オフセット値αを用いた領域補正を行い、モータ８０の１回転におけるカウント数を４としたとき、モータ８０の１回転を２×４＝８の領域に分け、不定領域Ｒｉの含まれない領域にて絶対角θａの演算を行っている。これにより、絶対角θａの角度ずれを９０°より小さくできる。また、確定領域Ｒｄの判定が容易であるので、演算負荷を低減可能である。
【００９１】
本実施形態では、制御部１７０、２７０は、機械角θｍ１、θｍ２が３６０°から０°に切り替わる回転角切替位置が不定領域Ｒｉに含まれる場合、回転角切替位置が確定領域Ｒｄとなるように、機械角θｍ１、θｍ２をシフトする。これにより、各領域Ｒ０〜Ｒ３においてカウント値ＴＣ１、ＴＣ２の取り得る値の個数を低減することができる。
【００９２】
絶対角演算部１７２、２７２は、それぞれのカウント領域を複数に分割し、不定領域Ｒｉが一部の分割領域に含まれるように機械角θｍ１、θｍ２をシフトさせ、不定領域を含まない他の分割領域を確定領域Ｒｄとみなす。本実施形態は、それぞれのカウント領域の分割数は２であって、前半領域と後半領域に分割される。また、不定領域Ｒｉが前半領域または後半領域の一方に含まれるように機械角θｍ１、θｍ２をシフトさせ、前半領域または後半領域の他方を確定領域とみなす。これにより、不定領域Ｒｉか確定領域Ｒｄかの判別に係る演算を簡素化可能であるので、演算負荷を低減することができる。本実施形態では、前半領域および後半領域が「分割領域」に対応し、前半領域が「一部の分割領域」、後半領域が「他の分割領域」に対応する。また、上記実施形態と同様の効果を奏する。
【００９３】
（第５実施形態）
第５実施形態の絶対角演算処理を図１９に基づいて説明する。Ｓ１６１の処理は、図１２中のＳ１１０と同様である。絶対角θａの初回演算を実施済みであると判断された場合（Ｓ１６１：ＹＥＳ）、Ｓ１６５へ移行し、Ｓ１１７と同様、機械角θｍの差分積算により、絶対角θａを演算する。絶対角θａの初回演算が未実施であると判断された場合（Ｓ１６３：ＮＯ）、Ｓ１６３へ移行する。
【００９４】
Ｓ１６３の処理は、図１７中のＳ１５１と同様である。機械角θｍを９０で割った余りが４５より大きいと判断された場合（Ｓ１６３：ＹＥＳ）、確定領域Ｒｄと判定し、図１２中のＳ１１５と同様、カウント値ＴＣおよび機械角θｍを用いて、絶対角θａを演算する。また、Ｓ１６５では、Ｓ１１８と同様、Ｓ１６２またはＳ１６４にて演算された絶対角θａおよび演算に用いた機械角θｍを記憶させる。機械角θｍを９０で割った余りが４５以下であると判断された場合（Ｓ１６３：ＮＯ）、Ｓ１６６へ移行し、Ｓ１１６と同様、絶対角θａの演算を行わず、初期値を保持する。このように構成しても上記実施形態と同様の効果を奏する。
【００９５】
（第６実施形態）
第６実施形態の絶対角演算処理を図２０に基づいて説明する。Ｓ１７１の処理は、図１７中のＳ１５１と同様である。機械角θｍを９０で割った余りが４５より大きいと判断された場合（Ｓ１７１：ＹＥＳ）、Ｓ１７２へ移行し、カウント値ＴＣおよび機械角θｍを用いて絶対角θａを演算する。機械角θｍを９０で割った余りが４５以下であると判断された場合（Ｓ１７１：ＮＯ）、Ｓ１７３へ移行する。
【００９６】
Ｓ１７３の処理は、図１２中のＳ１１０と同様である。絶対角θａの初回演算を実施済みであると判断された場合（Ｓ１７３：ＹＥＳ）、Ｓ１７４へ移行し、機械角θｍの差分積算により、絶対角θａを演算する。Ｓ１７５では、Ｓ１１８と同様、Ｓ１７２またはＳ１７４にて演算された絶対角θａおよび演算に用いた機械角θｍを記憶させる。絶対角θａの初回演算が未実施であると判断された場合（Ｓ１７３：ＮＯ）、Ｓ１７６へ移行し、Ｓ１１６と同様、絶対角θａの演算を行わず、初期値を保持する。このように構成しても上記実施形態と同様の効果を奏する。
【００９７】
（第７実施形態）
第７実施形態を図２１〜図２３に示す。図２１に示すように、本実施形態の第１制御部１７０は、信号取得部１７１、絶対角演算部１７２、基準値記憶部１７４、異常判定部１７５および通信部１７９等を有する。第２制御部２７０は、信号取得部２７１、絶対角演算部２７２、基準値記憶部２７４、異常判定部２７５および通信部２７９等を有する。
【００９８】
基準値記憶部１７４、２７４は、基準値Ｂ１、Ｂ２を記憶する。基準値記憶部１７４、２７４は、始動スイッチがオフされてても基準値Ｂ１、Ｂ２が保持されるように、例えばＥＥＰＲＯＭ等の不揮発性メモリにより構成される。絶対角演算部１７２、２７２は、機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２に加え、基準値Ｂ１、Ｂ２を用いて絶対角θａ１、θａ２を演算する。
【００９９】
基準値Ｂ１、Ｂ２は、バッテリ１９１、２９１が接続され、最初に始動スイッチがオンになったとき（以下、「初回起動時」）に設定される。基準値Ｂ１、Ｂ２を記憶させるタイミングは、基準値Ｂ１、Ｂ２が設定されたときでもよいし、初回起動後、最初に始動スイッチをオフするときであってもよい。始動スイッチオフ時の方が、始動スイッチの投入に対し、記憶領域の書き換え回数が１回となるため望ましい。また、異常検出等により基準値Ｂ１、Ｂ２の初期化指令があったとき、および、製造工程やディーラー等にて初期設定がなされたとき等において、基準値Ｂ１、Ｂ２の演算および記憶を行ってもよい。これらの初期化指令後の初回演算についても、「初回起動時」の概念に含まれるものとする。さらにまた、上記にて、バッテリ１９１、２９１が接続されて最初に始動スイッチがオンになったときを初回起動時と定義したが、制御上、カウント値ＴＣ１、ＴＣ２が異常値となった場合を指すため、始動スイッチがオンされたときに電源１９２、２９２の異常電圧や、センサ部１３０、２３０の回路異常履歴があった場合においても、「初回起動時」とみなしてもよい。
【０１００】
上記実施形態では、始動スイッチをオンしたときの機械角θｍ１、θｍ２が不定領域Ｒｉである場合、モータ８０が回転して機械角θｍ１、θｍ２が確定領域Ｒｄとなるまで、絶対角θａ１、θａ２の演算ができない。そこで本実施形態では、バッテリ１９１、２９１を接続した初回起動時に基準値Ｂ１、Ｂ２を基準値記憶部１７４、２７４に記憶させておき、以降は、始動スイッチオン直後から、基準値Ｂ１、Ｂ２を用いて絶対角θａ１、θａ２を演算する。
【０１０１】
本実施形態では、初回起動時のカウント値ＴＣを初期カウント値ＴＣ＿ｉｎｉｔとし、初回起動時の機械角θｍを初期機械角θｍ＿ｉｎｉｔとし、初期カウント値ＴＣ＿ｉｎｉｔおよび初期機械角θｍ＿ｉｎｉｔを基準値Ｂとして記憶する。
【０１０２】
本実施形態の絶対角演算処理を図２２のフローチャートに基づいて説明する。この処理は、制御部１７０にて、所定の周期で実行される。Ｓ２０１では、絶対角演算部１７２は、バッテリ接続後の初回起動時か否かを判断する。バッテリ接続後の初回起動時ではないと判断された場合（Ｓ２０１：ＮＯ）、Ｓ２０３へ移行する。バッテリ接続後の初回起動時であると判断された場合（Ｓ２０１：ＹＥＳ）、Ｓ２０２へ移行する。
【０１０３】
Ｓ２０２では、絶対角演算部１７２は、現在のカウント値ＴＣおよび現在の機械角θｍを、初期カウント値ＴＣ＿ｉｎｉｔおよび初期機械角θｍ＿ｉｎｉｔとして、基準値記憶部１７４に記憶させる。
【０１０４】
Ｓ２０３では、絶対角演算部１７２は、機械角偏差Δθｍを演算する（式（６）参照）。Ｓ２０４では、絶対角演算部１７２は、領域調整値Ｒａを演算する（式（７）参照）。Ｓ２０５では、絶対角演算部１７２は、カウント偏差ΔＴＣを演算する（式（８）参照）。カウント偏差ΔＴＣは、初期位置からカウント値ＴＣがどれだけ変化しているかを表す値である。式中のθｍ、ＴＣは、現在の機械角およびカウント値である。また、式（７）では、機械角偏差Δθｍを９０で割った商を演算しており、領域調整値Ｒａは、機械角偏差Δθｍをカウント数に換算した値といえる。
【０１０５】
Δθｍ＝θｍ−θｍ＿ｉｎｉｔ    ・・・（６）
Ｒａ＝ＩＮＴ（Δθｍ／９０）    ・・・（７）
ΔＴＣ＝ＴＣ−ＴＣ＿ｉｎｉｔ−Ｒａ    ・・・（８）
【０１０６】
Ｓ２０６では、絶対角演算部１７２は、カウント偏差ΔＴＣが０より大きいか否かを判断する。カウント偏差ΔＴＣが０より大きいと判断された場合（Ｓ２０６：ＹＥＳ）、Ｓ２０７へ移行する。カウント偏差ΔＴＣが０以下であると判断された場合（Ｓ２０６：ＮＯ）、Ｓ２０８へ移行する。
【０１０７】
Ｓ２０７およびＳ２０８では、絶対角演算部１７２は、回転回数Ｎを演算する。Ｓ１０７では、カウント不足対策として、カウント偏差ΔＴＣに１を加算した値を４で割った商を回転回数Ｎとする（式（９−１）参照）。カウント不足でない場合は、４で割っているので切り捨てられる。Ｓ２０８では、カウント過剰対策として、カウント偏差ΔＴＣから１減算した値を４で割った商を回転回数Ｎとする（式（９−２）参照）。カウント過剰でない場合は、４で割っているので切り捨てられる。Ｓ２０９では、絶対角演算部１７２は、回転回数Ｎを用いて絶対角θａを演算する（式（２−２）参照）。
【０１０８】
Ｎ＝ＩＮＴ｛（ΔＴＣ＋１）／４｝    ・・・（９−１）
Ｎ＝ＩＮＴ｛（ΔＴＣ−１）／４｝    ・・・（９−２）
θａ＝Ｎ×３６０＋θｍ    ・・・（２−２）
【０１０９】
本実施形態では、基準値Ｂとして記憶される初期機械角θｍ＿ｉｎｉｔおよび初期カウント値ＴＣ＿ｉｎｉｔが確定領域Ｒｄであってもよいし、不定領域Ｒｉであってもよい。図２３（ａ）に示すように、初期位置が不定領域Ｒｉであって、カウント値ＴＣ未カウント状態の場合、領域Ｒ０内にてカウントアップされるため、領域Ｒ０におけるカウント数は、０または１となる。また、モータ８０が１回転し、再度領域Ｒ０となったときのカウントＴＣ値は、４または５となる。
【０１１０】
図２３（ｂ）に示すように、初期位置が確定領域Ｒｄであってカウント済みの場合、領域Ｒ０におけるカウント数は０となる。また、モータ８０が１回転し、再度領域Ｒ０となったときのカウント値ＴＣは、４となる。
【０１１１】
図２３（ｃ）に示すように、初期位置が確定領域Ｒｄであって、領域を跨ぐ前にカウントアップされる場合、モータ８０が１回転し、再度領域Ｒ０となったときのカウント値ＴＣは、３または４となる。
【０１１２】
図２３（ａ）〜図２３（ｃ）をまとめると、モータ８０が初期位置から１回転したとき、初期位置が不定領域Ｒｉか確定領域Ｒｄかによらず、カウント値ＴＣは、４Ｎ±１となる。そのため、図２２中のＳ２０６〜Ｓ２０８の演算を行い、式（２−２）により絶対角θａを演算することで、初期位置が確定領域Ｒｄか不定領域Ｒｉかによらず、絶対角θａを適切に演算可能である。
【０１１３】
本実施形態では、バッテリ１９１、２９１の接続後、初回起動時に、基準値Ｂとして、初期カウント値ＴＣ＿ｉｎｉｔおよび初期機械角θｍ＿ｉｎｉｔを基準値記憶部１７４、２７４に記憶させておく。これにより、機械角θｍが確定領域Ｒｄか不定領域Ｒｉかによらず、始動スイッチをオンした直後から絶対角θａを演算可能である。本実施形態では、基準値Ｂが、初回起動時のカウント値ＴＣおよび機械角θｍそのものであるので、演算負荷を低減することができる。
【０１１４】
本実施形態では、制御部１７０、２７０は、信号取得部１７１、２７１、絶対角演算部１７２、２７２、および、基準値記憶部１７４、２７４を有する、基準値記憶部１７４、２７４は、カウント値ＴＣ１、ＴＣ２の検出ずれによる絶対角θａ１、θａ２の演算誤差の補正に用いられる基準値Ｂ１、Ｂ２を記憶する不揮発記憶領域である。本実施形態の「不揮発記憶領域」は、いわゆる不揮発性メモリであるが、始動スイッチがオフされても基準値Ｂ１、Ｂ２が保持されるように構成されていれば、どのようであってもよい。本実施形態では、始動スイッチがオフされても基準値Ｂ１、Ｂ２が保持されるので、システム起動時の機械角θｍ１、θｍ２が確定領域Ｒｄであるか不定領域Ｒｉであるかによらず、システム起動直後から絶対角θａ１、θａ２の演算を行うことができる。
【０１１５】
本実施形態では、基準値Ｂは、初期位置の機械角θｍおよびカウント値ＴＣである。これにより、システム起動直後から絶対角θａ１、θａ２を適切に演算することができる。また上記実施形態と同様の効果を奏する。
【０１１６】
（第８実施形態）
第８実施形態を図２４に示す。本実施形態の絶対角演算処理を図２４のフローチャートに基づいて説明する。Ｓ２２１では、絶対角演算部１７２は、特定領域のカウント値ＴＣを演算する。本実施形態では、特定領域を領域Ｒ０とし、領域Ｒ０のカウント値ＴＣを演算する（式（１０）参照）。以下適宜、領域Ｒ０のカウント値ＴＣを、ＴＣ(R0)とする。
【０１１７】
ＴＣ(R0)＝ＴＣ−ＭＯＤ（θｍｓ，９０）    ・・・（１０）
【０１１８】
Ｓ２２２の処理は、Ｓ２０１の処理と同様であり、初回起動時ではないと判断された場合（Ｓ２２２：ＮＯ）、Ｓ２２４へ移行し、初回起動時であると判断された場合（Ｓ２２２：ＹＥＳ）、Ｓ２２３へ移行する。
【０１１９】
Ｓ２２３では、絶対角演算部１７２は、特定領域である領域Ｒ０の初期カウント値ＴＣ＿ｉｎｉｔを、基準値Ｂとして基準値記憶部１７４に記憶させる。Ｓ２２４では、絶対角演算部１７２は、カウント偏差ΔＴＣを演算する（式（１１）参照）。Ｓ２２５〜Ｓ２２８の処理は、図２１中のＳ２０６〜Ｓ２０９の処理と同様である。なお、Ｓ２０９では、機械角θｍに替えて、シフト後機械角θｍｓを用いる。
【０１２０】
ΔＴＣ＝ＴＣ(R0)−ＴＣ＿ｉｎｉｔ    ・・・（１１）
【０１２１】
本実施形態では、カウント不足およびカウント過剰を考慮して回転回数Ｎを演算し、回転回数Ｎを用いて絶対角θａを演算しているので、絶対角θａを適切に演算することができる。また、特定領域の初期カウント値ＴＣ＿ｉｎｉｔを基準値Ｂとして記憶する。
【０１２２】
本実施形態の基準値Ｂは、特定領域のカウント値ＴＣである。本実施形態の特定領域は領域Ｒ０であるが、他の領域Ｒ１〜Ｒ３としてもよい。これにより、記憶する基準値Ｂを１つとすることができる。また、上記実施形態と同様の効果を奏する。
【０１２３】
（第９実施形態）
第９実施形態の絶対角演算処理を図２５のフローチャートに基づいて説明する。Ｓ２４１の処理は、Ｓ２０１と同様であり、初回起動時ではないと判断された場合（Ｓ２４１：ＮＯ）、Ｓ２４７へ移行し、初回起動時であると判断された場合（Ｓ２４１：ＹＥＳ）、Ｓ２４２へ移行する。
【０１２４】
Ｓ２４２では、絶対角演算部１７２は、シフト後機械角θｍｓが確定領域Ｒｄか否かを判断する。シフト後機械角θｍｓが確定領域Ｒｄではないと判断された場合（Ｓ２４２：ＮＯ）、すなわちシフト後機械角θｍｓが不定領域Ｒｉである場合、Ｓ２４３へ移行し、初期値を保持する。シフト後機械角θｍｓが確定領域Ｒｄであると判断された場合（Ｓ２４２：ＹＥＳ）、Ｓ２４４へ移行する。
【０１２５】
Ｓ２４４では、絶対角演算部１７２は、カウント値ＴＣを領域数で割った余り値ＲＭを演算する。なお、余り０の場合は、余り値ＲＭを４とする。Ｓ２４５では、絶対角演算部１７２は、初回起動時のカウント値ＴＣに対応する余り値ＲＭである初期余り値ＲＭ＿ｉｎｉｔを基準値Ｂとし、各領域Ｒ０〜Ｒ３と関連づけて基準値記憶部１７４に記憶させる。基準値Ｂとして基準値記憶部１７４に記憶させる。例えば、現在のシフト後機械角θｍｓが領域Ｒ０であり、カウント値ＴＣが４７の場合、余り値ＲＭ＝３となる。また、領域Ｒ０に対応する初期余り値ＲＭ＿ｉｎｉｔ(R0)＝３、領域Ｒ１に対応する初期余り値ＲＭ＿ｉｎｉｔ(R1)＝４、領域Ｒ２に対応する初期余り値ＲＭ＿ｉｎｉｔ(R2)＝１、領域Ｒ３に対応する初期余り値ＲＭ＿ｉｎｉｔ(R3)＝２を、基準値記憶部１７４に記憶させる、といった具合である。Ｓ２４６では、絶対角演算部１７２は、絶対角θａを演算する（式（１−２）参照）。
【０１２６】
θａ＝ＴＣ×９０＋ＭＯＤ（θｍｓ，９０）    ・・・（１−２）
【０１２７】
初回起動時ではないと判断された場合（Ｓ２４１：ＮＯ）に移行するＳ２４７では、Ｓ２４４と同様、絶対角演算部１７２は、余り値ＲＭを演算する。Ｓ２４８では、絶対角演算部１７２は、カウント調整値Ａを演算する（式（１２）参照）。カウント調整値Ａは、初期位置と現在位置とのカウントずれに対応する値である。式中のＲＭ＿ｉｎｉｔ(Rx)は、現在のシフト後機械角θｍｓの領域に対応する初期余り値である。Ｓ２４９では、絶対角演算部１７２は、調整後カウント値ＴＣ＿ａを演算する（式（１３）参照）。Ｓ２５０では、絶対角演算部１７２は、調整後カウント値ＴＣ＿ａを用いて絶対角θａを演算する（式（１−３）参照）。
【０１２８】
Ａ＝ＲＭ＿ｉｎｉｔ(Rx)−ＲＭ    ・・・（１２）
Ｔｃ＿ａ＝ＴＣ＋Ａ    ・・・（１３）
θａ＝ＴＣ＿ａ×９０＋ＭＯＤ（θｍｓ，９０）    ・・・（１−２）
【０１２９】
本実施形態では、基準値Ｂは、確定領域におけるカウント値ＴＣを、モータ８０の１回転中のカウント領域の数（本実施形態では４）で除した余りに応じた値である。本実施形態では、初回起動時において、各領域の確定領域にて余り値ＲＭを記憶しておき、カウント値ＴＣを補正することで、絶対角θａを適切に演算することができる。また、記憶させる基準値を余り値ＲＭとすることで、カウント値ＴＣそのものを記憶する場合と比較し、記憶させる値が小さくてすむ。ここで、領域Ｒ０の余り値ＲＭが０となるように、余り値ＲＭに基づいてカウント値ＴＣを補正してもよい。そして、第７実施形態または第８実施形態のように、カウント不足対策およびカウント過剰対策をした上で、回転回数Ｎを用いて絶対角θａを演算することで、初期位置が確定領域Ｒｄか不定領域Ｒｉかによらず、絶対角θａを適切に演算することができる。また、上記実施形態と同様の効果を奏する。
【０１３０】
（第１０実施形態）
第１０実施形態を図２６および図２７に示す。上記実施形態では、各系統にて正確に絶対角θａを演算する方法について説明した。図２６に示すように、系統により、起動時の初期位置が異なっていると、系統間で絶対角に誤差が生じる虞がある。そこで本実施形態では、角度情報として、機械角θｍおよびカウント値ＴＣ、または、絶対角θａを送り合うことで、誤差補正を行う。また、系統間で角度情報を送り合い、異常検出を行う。
【０１３１】
図２７に示すように、第１制御部１７０は、信号取得部１７１、絶対角演算部１７２、基準値記憶部１７４、異常判定部１７５、系統間補正部１７６、および、通信部１７９等を有する。第２制御部２７０は、信号取得部２７１、絶対角演算部２７２、基準値記憶部２７４、異常判定部２７５、系統間補正部２７６、および、通信部２７９等を有する。系統間補正部１７６、２７６は、自系統の角度情報および他系統の角度情報、ならびに、異常判定結果に基づき、補正後絶対角θａ１＿ｓ、θａ２＿ｓを演算する。
【０１３２】
上述の通り、通信部１７９、２７９は、角度情報として絶対角θａ１、θａ２を送り合う。正常であれば絶対角θａ１、θａ２は略同様の値となる。そこで、角度情報として絶対角θａ１、θａ２を送り合う場合、異常判定部１７５、２７５は、系統間絶対角偏差Δθａｘを演算し（式（１４）参照）、系統間絶対角偏差Δθａｘが異常判定閾値θａ＿ｔｈより大きい場合、異常とする。
【０１３３】
本実施形態では、第２系統側にて、補正後絶対角θａ２＿ｓが絶対角θａ１と一致するように補正する。系統間補正部２７６は、系統間絶対角偏差Δθａｘに基づいて補正後絶対角θａ２＿ｓを演算する（式（１５）参照）。また、系統間補正部１７６は、絶対角θａ１を、そのまま補正後絶対角θａ１＿ｓとする。なお、系統間補正部１７６、２７６では、例えば補正前の絶対角θａ１、θａ２の平均値等が補正後絶対角θａ１＿ｓ、θａ２＿ｓとするといった具合に、系統間補正部１７６、２７６における処理は、補正後絶対角θａ１＿ｓ、θａ２＿ｓを一致させるどのような演算としてもよい。後述の回転回数Ｎを補正する場合や、機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２を送り合う場合も同様である。
【０１３４】
系統間補正部２７６は、第１系統側が異常であれば、系統間補正演算を行わず、絶対角θａ２を補正後絶対角θａ２＿ｓとする。また、系統間補正部１７６、２７６は、自系統または他系統に係る回転角異常情報とともに、補正後絶対角θａ１＿ｓ、θａ２＿ｓを出力する。
【０１３５】
Δθａｘ＝θａ２−θａ１    ・・・（１４）
θａ２＿ｓ＝θａ２−Δθａｘ    ・・・（１５）
【０１３６】
また上述の通り、制御部１７０、２７０は、制御用の機械角θｍ１ｃ、θｍ２ｃ、および、異常検出用の機械角θｍ１ｅ、θｍ２ｅを取得しており、系統内にて機械角の異常の有無を把握することができる。そこで、回転回数Ｎの誤差要因に係る補正を行うべく、系統間補正部１７６、２７６は、系統間回転回数偏差ΔＮを演算し、補正後絶対角θａ２＿ｓを演算するようにしてもよい（式（１６）、（１７）参照）。なお、θａ１−θａ２が３５８［°］等、±３６０に近い値の場合、ΔＮ＝１とみなすような調整を組み入れてもよい。
【０１３７】
ΔＮ＝ＩＮＴ｛（θａ１−θａ２）／３６０｝    ・・・（１６）
θａ２＿ｓ＝θａ２−ΔＮ×３６０・・・（１７）
【０１３８】
さらにまた、絶対角θａ１、θａ２に替えて、絶対角情報として、機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２を送り合うようにしてもよい。カウント値ＴＣ１、ＴＣ２は、起動時の初期位置によって異なる場合がある。一方、機械角θｍ１、θｍ２は、同一のロータ位置を検出しているため、正常であれば、機械角θｍ１、θｍ２は略同様の値となる。そのため、異常判定部１７５、２７５は、系統間機械角偏差Δθｍｘ（式（１８）参照）が異常判定閾値θｍ＿ｔｈより大きい場合、異常と判定する。
【０１３９】
系統間補正部２７６は、系統間機械角偏差Δθｍｘおよび系統間カウント偏差ΔＴＣｘ（式（１９）参照）に基づいて補正後機械角θｍ２＿ｓおよび補正後カウント値ＴＣ２＿ｓを演算する（式（２０）、式（２１）参照）。これにより、補正後機械角θｍ２＿ｓは第１系統の機械角θｍ１と一致し、補正後カウント値ＴＣ２＿ｓは第１系統のカウント値ＴＣ１と一致する。また、補正後機械角θｍ２＿ｓおよび補正後カウント値ＴＣ２＿ｓを用いて演算された補正後絶対角θａ２＿ｓは、第１系統にて機械角θｍ１およびカウント値ＴＣ１を用いた演算される絶対角θａ１と一致する。
【０１４０】
Δθｍｘ＝θｍ２−θｍ１    ・・・（１８）
ΔＴＣｘ＝ＴＣ２−ＴＣ１    ・・・（１９）
θｍ２＿ｓ＝θｍ２−Δθｍ    ・・・（２０）
ＴＣ２＿ｓ＝ＴＣ２−ΔＴＣ    ・・・（２１）
【０１４１】
本実施形態では、センサ部１３０、２３０は、複数設けられる。第１制御部１７０は、対応して設けられる第１センサ部１３０から機械角θｍ１およびカウント値ＴＣ１を取得する。第２制御部２７０は、対応して設けられる第２センサ部２３０から機械角θｍ２およびカウント値ＴＣ２を取得する。制御部１７０、２７０は、他の制御部から絶対角θａ１、θａ２に係る絶対角情報を相互に送受信可能な通信部１７９、２７９を有する。絶対角情報は、絶対角θａ１、θａ２そのものでもよいし、絶対角θａ１、θａ２の演算に用いられる機械角θｍ１、θｍ２およびカウント値ＴＣ１、ＴＣ２等の値でもよい。
【０１４２】
また、少なくとも１つの制御部１７０、２７０は、他の制御部から取得した絶対角情報に基づき、自身の絶対角演算部にて演算された絶対角θａ１、θａ２を補正する系統間補正部１７６、２７６を有する。これにより、絶対角θａ１、θａ２の系統間誤差を低減可能であり、絶対角θａ１、θａ２の系統間誤差に起因する制御の不整合を防ぐことができる。
【０１４３】
制御部１７０、２７０は、他の制御部から取得された絶対角情報に基づいて異常を判定する異常判定部１７５、２７５を有する。これにより、例えば絶対角θａ１、θａ２の比較により、適切に異常を検出することができる。また、上記実施形態と同様の効果を奏する。
【０１４４】
（他の実施形態）
上記実施形態では、第１回転情報が機械角であり、第２回転情報がカウント値である。他の実施形態では、第１回転情報は、機械角に換算可能などのような値であってもよい。第２回転情報は、回転回数に換算可能などのような値であってもよい。上記実施形態では、１回転を４分割しており、モータが１回転したときのカウント値が４である。他の実施形態では、１回転の分割数は、３または５以上であってもよい。また、第４実施形態では、それぞれのカウント領域を２分割している。他の実施形態では、それぞれのカウント領域を３以上に分割し、少なくとも１つの分割領域に不定領域が含まれないように機械角をシフトするように補正してもよい。
【０１４５】
上記実施形態では、センサ部および制御部が２つずつ設けられており、２系統にて構成される。他の実施形態では、系統数は１でもよいし、３以上であってもよい。上記実施形態では、第１センサ部および第２センサ部には、それぞれ別途のバッテリから電力が供給され、別途の制御部に出力信号を送信する。他の実施形態では、複数のセンサ部に対し、共通のバッテリから電力が供給されるようにしてもよい。この場合、レギュレータ等である電源をセンサ部毎に設けてもよいし、共有してもよい。また他の実施形態では、複数のセンサ部が、共通の制御部に出力信号を送信するようにしてもよい。
【０１４６】
他の実施形態では、絶対角情報は、絶対角に換算可能などのような値であってもよい。例えば、舵角センサにより検出される舵角は、減速ギアのギア比により絶対角に換算可能であるので、舵角に係る舵角情報を絶対角情報として用いてもよい。すなわち、回転検出装置内部に限らず、回転検出装置の外部から取得された値を、「他の制御部から取得した絶対角情報」としてもよい。
【０１４７】
上記実施形態では、センサ部は、マグネットの磁界の変化を検出する検出素子である。他の実施形態では、レゾルバやインダクティブセンサ等、他の回転角検出手法を用いてもよい。また、通信部は、第１回転情報を送信する通信部、および、第２回転情報を送信する通信部、といった具合に、送信する情報ごとに通信部を設けるようにしてもよい。
【０１４８】
上記実施形態では、異常検出用の磁場検出部からの信号に基づく回転回数の演算を行っていない。他の実施形態では、異常検出用の磁場検出部からの信号に基づく回転回数演算を行い、制御部に送信するようにしてもよい。これにより、第２回転情報に係る系統間の補正や比較による異常監視を省略することができる。
【０１４９】
上記実施形態では、モータは三相ブラシレスモータである。他の実施形態では、モータ部は、三相ブラシレスモータに限らず、どのようなモータであってもよい。また、モータ部は、モータ（電動機）に限らず、発電機であってもよいし、電動機および発電機の機能を併せ持つ所謂モータジェネレータであってもよい。
【０１５０】
上記実施形態では、検出装置を備える制御装置は、電動パワーステアリング装置に適用される。他の実施形態では、駆動装置を電動パワーステアリング装置以外の装置に適用してもよい。以上、本発明は、上記実施形態になんら限定されるものではなく、発明の趣旨を逸脱しない範囲において種々の形態で実施可能である。
【符号の説明】
【０１５１】
８・・・電動パワーステアリング装置
１０・・・ＥＣＵ（回転検出装置）        ８０・・・モータ
１３０、２３０・・・センサ部
１７０、２７０・・・制御部
１７１、１７２・・・信号取得部
１７２、２７２・・・絶対角演算部
１７４、２７４・・・基準値記憶部
１７５、２７５・・・異常判定部
１７９、２７９・・・通信部
１９１、２９１・・・バッテリ（電源）
【図１】
2019207205.tif 000003
【図２】
2019207205.tif 000004
【図３】
2019207205.tif 000005
【図４】
2019207205.tif 000006
【図５】
2019207205.tif 000007
【図６】
2019207205.tif 000008
【図７】
2019207205.tif 000009
【図８】
2019207205.tif 000010
【図９】
2019207205.tif 000011
【図１０】
2019207205.tif 000012
【図１１】
2019207205.tif 000013
【図１２】
2019207205.tif 000014
【図１３】
2019207205.tif 000015
【図１４】
2019207205.tif 000016
【図１５】
2019207205.tif 000017
【図１６】
2019207205.tif 000018
【図１７】
2019207205.tif 000019
【図１８】
2019207205.tif 000020
【図１９】
2019207205.tif 000021
【図２０】
2019207205.tif 000022
【図２１】
2019207205.tif 000023
【図２２】
2019207205.tif 000024
【図２３】
2019207205.tif 000025
【図２４】
2019207205.tif 000026
【図２５】
2019207205.tif 000027
【図２６】
2019207205.tif 000028
【図２７】
2019207205.tif 000029