(57)【要約】  操舵トルクに感応してモータ電気角の推定角度を進角させる補正を行う構成とすることで、簡易な構成で操舵方向に対して遅れる方向に作用する推定角度誤差を補正することが可能なモータ制御装置及び電動パワーステアリング装置を提供する。モータ制御装置（２５）は、バックアップ電気角検出回路（２４Ｂ）を備え、そのセンサ間誤差補正部（５４）において、所定トルク値（Ｔｈｔ）以上の操舵トルク（Ｔｈ）の入力に対して１以上となる進角ゲイン（Ｇａｄ）を算出し、この進角ゲイン（Ｇａｄ）を出力軸角速度（ωｏｓ）に乗算して操舵方向に対して遅れる方向の推定角度誤差を補正するための進角後舵角速度（ωｏｓｃ）を算出する。そして、バックアップ電気角検出回路（２４Ｂ）の推定角度演算部（５５）において、進角後舵角速度（ωｏｓｃ）を積算し、その積算値に基づきモータ回転角（θｍ）の推定値である第２のモータ回転角（θｍ２）を演算する。
2019216022.tif 000002
【特許請求の範囲】
【請求項１】
ステアリングの舵角を検出する舵角検出部で検出した前記舵角に基づき舵角速度を算出する舵角速度算出部と、
前記舵角速度算出部で算出した前記舵角速度に基づきステアリングシャフトに操舵補助力を付与する電動モータのモータ電気角を推定するモータ電気角推定部と、
前記電動モータのモータ電気角を検出するモータ電気角検出部の正常時は該モータ電気角検出部で検出した前記モータ電気角に基づき前記電動モータを駆動制御し、前記モータ電気角検出部の異常時は前記モータ電気角推定部で推定した推定モータ電気角に基づき前記電動モータを駆動制御するモータ駆動制御部と、
前記ステアリングシャフトに伝達される操舵トルクを検出する操舵トルク検出部で検出した前記操舵トルクに基づき、前記推定モータ電気角の進角量を補正するための進角ゲインを設定する進角ゲイン設定部と、
前記進角ゲイン設定部で設定した前記進角ゲインを前記舵角速度に乗算した乗算結果に基づき進角後舵角速度を算出する進角後舵角速度算出部と、を備え、
前記モータ電気角推定部は、前記進角後舵角速度算出部で算出した前記進角後舵角速度を積算して、その積算値に基づき前記モータ電気角を推定し、
前記進角ゲイン設定部は、予め設定した所定トルク値以上の操舵トルクの入力時のみに、操舵方向に対して遅れる方向の角度誤差を打ち消す方向に前記推定モータ電気角を進角するための前記進角ゲインを設定することを特徴とするモータ制御装置。
【請求項２】
前記所定トルク値は、前記角度誤差による影響がドライバーの手感として現れるか否かの境界値に設定されている請求項１に記載のモータ制御装置。
【請求項３】
前記電動モータは多相電動モータであり、
前記電動モータの各線間逆起電圧に基づき前記推定モータ電気角を補正する逆起電圧角度補正部を更に備える請求項１又は２に記載のモータ制御装置。
【請求項４】
前記角度誤差を発生する誤差要因の特性である誤差特性に基づき、前記進角後舵角速度の前記進角ゲインによる増加部分の積算量である進角補正量の限界値である進角補正限界値を算出する進角補正限界値算出部と、
前記進角補正量が前記進角補正限界値算出部で算出した前記進角補正限界値を超えないように前記モータ電気角推定部の前記進角後舵角速度の積算処理を制御する進角補正量制御部と、を更に備える請求項３に記載のモータ制御装置。
【請求項５】
前記進角補正量制御部は、前記進角補正量が前記進角補正限界値を超えない範囲で且つ前記進角補正限界値に近づく方向の前記進角後舵角速度の積算のみを許可し、不許可時は前記舵角速度算出部で算出した前記舵角速度をそのまま積算するように前記モータ電気角推定部の積算処理を制御する請求項４に記載のモータ制御装置。
【請求項６】
前記電動モータは、減速ギヤを介して前記ステアリングシャフトに接続されており、
前記進角補正限界値算出部は、前記誤差要因の１つである前記減速ギヤの誤差特性であるモータ出力トルク情報とねじれ角との関係を示す機械コンプライアンス特性と、前記誤差要因の他の１つである前記舵角検出部の誤差特性である舵角情報と検出誤差との関係を示す検出誤差特性とのうち少なくとも１つに基づき、前記進角補正限界値を算出する請求項４又は５に記載のモータ制御装置。
【請求項７】
前記逆起電圧角度補正部は、前記電動モータの前記各線間逆起電圧の符号関係が他の符号関係に切り替わるタイミングを検出し、検出したタイミングに基づき予め設定した切り替わり前後の前記符号関係の組に対応する境界角度情報に基づき前記推定モータ電気角を補正する請求項６に記載のモータ制御装置。
【請求項８】
前記逆起電圧角度補正部は、前記モータ電気角の１周期の角度範囲を６０°毎に区分した絶対角度領域を算出すると共に、モータ回転方向情報と前記各線間逆起電圧とに基づき実際の前記モータ電気角の存在する前記絶対角度領域が隣り合う領域へと切り替わるタイミングを検出し、該タイミングを検出時に切り替わり前後の前記絶対角度領域の境界角度に基づき前記推定モータ電気角を補正する請求項７に記載のモータ制御装置。
【請求項９】
前記逆起電圧角度補正部は、前記切り替わるタイミングを検出する毎に前記推定モータ電気角の補正タイミングを示す補正タイミング情報を前記進角補正限界値算出部及び前記進角補正量制御部に出力するようになっており、
前記進角補正限界値算出部は、前記補正タイミング情報に基づき前記補正タイミング毎に、そのときの前記モータ出力トルク情報に対応する前記機械コンプライアンス特性による角度誤差を基準角度誤差として算出し、算出した基準角度誤差と以降の各算出タイミングにおける前記機械コンプライアンス特性による角度誤差との差分値を各算出タイミングにおける前記進角補正限界値として算出し、
前記進角補正量制御部は、前記進角後舵角速度の前記増加部分を積算して前記進角補正量を算出し、前記補正タイミング情報に基づき、前記補正タイミング毎に前記増加部分の積算値を０にリセットする請求項７又は８に記載のモータ制御装置。
【請求項１０】
前記逆起電圧角度補正部は、前記切り替わるタイミングを検出する毎に前記推定モータ電気角の補正タイミングを示す補正タイミング情報を前記進角補正限界値算出部及び前記進角補正量制御部に出力するようになっており、
前記進角補正限界値算出部は、前記補正タイミング情報に基づき前記補正タイミング毎に、そのときの前記モータ出力トルク情報に対応する前記機械コンプライアンス特性による第１の角度誤差を算出すると共に、前記舵角情報に基づき前記舵角検出部の前記検出誤差特性による第２の角度誤差を算出し、前記第１の角度誤差に前記第２の角度誤差を加算してこの加算結果を基準角度誤差に設定し、前記基準角度誤差と、以降の各算出タイミングにおける前記機械コンプライアンス特性による前記第１の角度誤差及び前記検出誤差特性による前記第２の角度誤差の加算値との差分値を各算出タイミングにおける前記進角補正限界値として算出し、
前記進角補正量制御部は、前記進角後舵角速度の前記増加部分を積算して前記進角補正量を算出し、前記補正タイミング情報に基づき、前記補正タイミング毎に前記増加部分の積算値を０にリセットする請求項７又は８に記載のモータ制御装置。
【請求項１１】
前記逆起電圧角度補正部は、前記切り替わるタイミングを検出する毎に、前記推定モータ電気角の補正タイミングを示す補正タイミング情報を前記進角補正量制御部に出力するようになっており、
前記進角補正限界値算出部は、前記舵角情報に基づき前記舵角検出部の前記検出誤差特性による角度誤差を前記進角補正限界値として算出し、
前記進角補正量制御部は、前記進角後舵角速度の前記増加部分を積算して前記進角補正量を算出し、前記補正タイミング情報に基づき、前記補正タイミング毎に前記増加部分の積算値を０にリセットする請求項７又は８に記載のモータ制御装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載のモータ制御装置を備えた電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動パワーステアリング装置に搭載された電動モータを駆動制御するモータ制御装置に関する。
【背景技術】
【０００２】
従来、電動パワーステアリング装置に搭載された電動モータのモータ電気角度を検出するモータ位置センサが故障した場合のバックアップ技術として、例えば、特許文献１〜２に開示された技術がある。
特許文献１の技術は、電動パワーステアリング装置においてコラム出力軸側に舵角センサを搭載し、操舵補助力を発生する電動モータの逆起電圧情報から算出した推定角度と、舵角センサの検出情報から算出した推定角度とを操舵速度で切り替えて使用するものである。【０００３】
ここで、電動パワーステアリング装置は、通常、電動モータに減速ギヤを介してステアリングシャフトを接続する構成となっている。そのため、出力軸舵角情報とモータ電気角との間には、ギヤ等の機械コンプライアンス特性(バックラッシュ、非線形弾性特性、弾性変形等）や舵角センサの検出誤差特性等の誤差要因の特性が介在する。また、減速ギヤを介在する構成では、出力軸舵角情報を用いてモータ電気角度を推定する場合、舵角センサの誤差による影響がギヤ比倍されるためモータ角度演算誤差として大きく現れる。また、減速ギヤや舵角センサなどの誤差要因による誤差の影響は、操舵トルクが大きいほど手感として顕著に現れるものである。
即ち、上記特許文献１の従来技術では、上記誤差要因による角度誤差が現れる操舵状態及び環境状態となったときに、出力軸舵角から算出した推定角度には誤差が発生し、結果、脱調やトルク発生効率の低下によるアシスト不足等の挙動を発生させる可能性がある。【０００４】
また、特許文献２に記載の技術は、機械コンプライアンス特性がモータ出力トルクと相関があることを利用して、モータ位置センサが正常であるとき、出力トルク関連情報と、出力軸舵角より導かれた推定電気角度と実際の電気角度との誤差特性との関係を学習する。そして、モータ位置センサが異常となった場合に、上記出力トルク関連情報より誤差特性を得て、この誤差特性で推定角度を補正して補正後の推定角度を推定電気角度として使用している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−９６６０８号公報
【特許文献２】特許第６１８３４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献２の従来技術では、上記誤差要因による角度誤差の影響を解決することは可能であるが、誤差特性の学習には多くのメモリと複雑な学習手法を必要とする場合が多い。加えて、学習結果に対する妥当性の自己評価手法も考えると、実現手法の複雑化が懸念される。
ここで、機械コンプライアンス特性は上述したように、主にバックラッシュ、非線形弾性特性、弾性変形であり、これはヒステリシス+バネ特性として近似的に捉えることができる。このことから、入出力の特性で見ると入力に対し出力は遅れ特性として近似できることは物理的に明らかである。即ち、モータ角度を入力とし、操舵角度を出力とすると、機械コンプライアンス特性による影響は、常に遅れ側の誤差を発生させているものと考えることができる。
本発明は、上記の点に基づいてなされたものであり、操舵トルクに感応して推定角度を進角させる補正を行う構成とすることで、簡易な構成で操舵方向に対して遅れる方向に作用する推定角度誤差を補正することが可能なモータ制御装置及びこれを備えた電動パワーステアリング装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一実施形態に係るモータ制御装置は、ステアリングの舵角を検出する舵角検出部で検出した前記舵角に基づき舵角速度を算出する舵角速度算出部と、前記舵角速度算出部で算出した前記舵角速度に基づきステアリングシャフトに操舵補助力を付与する電動モータのモータ電気角を推定するモータ電気角推定部と、前記電動モータのモータ電気角を検出するモータ電気角検出部の正常時は該モータ電気角検出部で検出した前記モータ電気角に基づき前記電動モータを駆動制御し、前記モータ電気角検出部の異常時は前記モータ電気角推定部で推定した推定モータ電気角に基づき前記電動モータを駆動制御するモータ駆動制御部と、前記ステアリングシャフトに伝達される操舵トルクを検出する操舵トルク検出部で検出した前記操舵トルクに基づき、前記推定モータ電気角の進角量を補正するための進角ゲインを設定する進角ゲイン設定部と、前記進角ゲイン設定部で設定した前記進角ゲインを前記舵角速度に乗算した乗算結果に基づき進角後舵角速度を算出する進角後舵角速度算出部と、を備える。そして、前記モータ電気角推定部は、前記進角後舵角速度算出部で算出した前記進角後舵角速度を積算して、その積算値に基づき前記モータ電気角を推定し、前記進角ゲイン設定部は、予め設定した所定トルク値以上の操舵トルクの入力時のみに、操舵方向に対して遅れる方向の角度誤差を打ち消す方向に前記推定モータ電気角を進角するための前記進角ゲインを設定する。【０００８】
また、上記目的を達成するために、本発明の一実施形態に係るモータ制御装置は、前記角度誤差を発生する誤差要因の特性である誤差特性に基づき、前記進角後舵角速度の前記進角ゲインによる増加部分の積算量である進角補正量の限界値である進角補正限界値を算出する進角補正限界値算出部と、前記進角補正量が前記進角補正限界値算出部で算出した前記進角補正限界値を超えないように前記モータ電気角推定部の前記進角後舵角速度の積算処理を制御する進角補正量制御部とを備える。
また、上記目的を解決するために、本発明の一実施形態に係る電動パワーステアリング装置は、上記モータ制御装置を備える。
【発明の効果】
【０００９】
本発明によれば、舵角速度に基づきモータ電気角を推定する構成において、所定トルク値以上の操舵トルクの入力に対して、推定モータ電気角を操舵方向に対して遅れる方向の角度誤差を打ち消す方向に進角させるための進角後舵角速度を算出することが可能となる。例えば、所定トルク値を、角度誤差による影響が手感として現れるか否かの境界値に設定することで、手感として現れるタイミングでのみ補正を行うことが可能となる。これにより、従来と比較して簡単な構成で上記誤差要因による操舵方向に対して遅れる方向の角度誤差を低減することが可能となる。
また、誤差発生要因の誤差特性に基づき進角量を制限する構成としたので、過度な進角による角度誤差の発生を抑制し、良好な進角補正を行うことが可能となる。
また、上記効果を有するモータ制御装置を含んで電動パワーステアリング装置を構成するので、モータ電気角検出部に異常が発生した場合でも電動モータをモータ電気角推定値により駆動制御することができ電動パワーステアリング装置の操舵補助機能の継続が可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る電動パワーステアリング装置を搭載した車両の一構成例を示す図である。
【図２】第１実施形態に係る操舵トルクセンサを示す概略構成図である。
【図３】第１実施形態に係るモータ制御装置の具体的構成を示す回路図である。
【図４】第１実施形態に係る制御演算装置の具体的構成を示すブロック図である。
【図５】第１実施形態に係るモータ電気角検出回路の具体的構成を示すブロック図である。
【図６】異常判定マップの一例を示す図である。
【図７】第１実施形態に係るバックアップ電気角検出回路の具体的構成を示すブロック図である。
【図８】（ａ）は、正方向回転時における各線間逆起電圧の波形例を示す図であり、（ｂ）は、逆方向回転時における各線間逆起電圧の波形例を示す図である。
【図９】モータ回転方向と、各線間逆起電圧の符号と、中間角度と、絶対角度領域との関係を示す図である。
【図１０】絶対角度領域判定処理の処理手順の一例を示すフローチャートである。
【図１１】中間角度シフト演算処理の処理手順の一例を示すフローチャートである。
【図１２】補正電気角算出処理の処理手順の一例を示すフローチャートである。
【図１３】減速ギヤによる影響を説明するための模式図である。
【図１４】減速ギヤの機械コンプライアンス特性の一例を示す図である。
【図１５】第１実施形態に係る進角ゲインマップの一例を示す図である。
【図１６】減速ギヤ誤差特性マップの一例を示す図である。
【図１７】第１実施形態に係る進角補正限界値算出処理の処理手順の一例を示すフローチャートである。
【図１８】（Ａ）及び（Ｂ）は、進角補正限界値の算出方法を説明するための図である。
【図１９】第１実施形態に係る進角許可判定部の具体的構成を示すブロック図である。
【図２０】進角補正量の算出方法を説明するための図である。
【図２１】進角許可判定処理の処理手順の一例を示すフローチャートである。
【図２２】進角許可判定部の具体的な動作を説明するための図であり、進角補正限界値と、進角補正量と、モータ出力トルクと、操舵方向との関係を示すタイムチャートである。
【図２３】第２実施形態に係るバックアップ電気角検出回路の具体的構成を示すブロック図である。
【図２４】出力軸回転角センサの検出誤差を説明するための図である。
【図２５】出力軸角速度（舵角速度）とセンサ検出誤差との関係を示す図である。
【図２６】第２実施形態に係る合成誤差特性算出処理の処理手順の一例を示すフローチャートである。
【図２７】第２実施形態に係る進角補正限界値算出処理の処理手順の一例を示すフローチャートである。
【図２８】第３実施形態に係る進角許可判定部の具体的構成を示すブロック図である。
【図２９】第３実施形態に係る進角ゲインマップの一例を示す図である。
【発明を実施するための形態】
【００１１】
次に、図面に基づき、本発明の第１〜第３実施形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、寸法の関係や比率等は現実のものとは異なる場合があることに留意すべきである。
また、以下に示す第１〜第３実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【００１２】
（第１実施形態）
（構成）
本発明の実施形態に係る車両２は、図１に示すように、左右の転舵輪となる前輪２ＦＲ及び２ＦＬと後輪２ＲＲ及び２ＲＬとを備えている。前輪２ＦＲ及び２ＦＬは、電動パワーステアリング装置１によって転舵される。
電動パワーステアリング装置１は、ステアリングホイール１１を有し、このステアリングホイール１１に運転者から作用される操舵力がステアリングシャフト１２に伝達される。このステアリングシャフト１２は、入力軸１２ａと出力軸１２ｂとを有する。入力軸１２ａの一端はステアリングホイール１１に連結され、他端は操舵トルクセンサ１３を介して出力軸１２ｂの一端に連結されている。
【００１３】
そして、出力軸１２ｂに伝達された操舵力は、ユニバーサルジョイント１４を介してロアシャフト１５に伝達され、更に、ユニバーサルジョイント１６を介してピニオンシャフト１７に伝達される。このピニオンシャフト１７に伝達された操舵力はステアリングギヤ１８を介してタイロッド１９に伝達され、転舵輪としての前輪２ＦＲ及び２ＦＬを転舵させる。ここで、ステアリングギヤ１８は、ピニオンシャフト１７に連結されたピニオン１８ａとこのピニオン１８ａに噛合するラック１８ｂとを有するラックアンドピニオン形式に構成されている。したがって、ステアリングギヤ１８は、ピニオン１８ａに伝達された回転運動をラック１８ｂで車幅方向の直進運動に変換している。
ステアリングシャフト１２の出力軸１２ｂには、操舵補助力を出力軸１２ｂに伝達する操舵補助機構２０が連結されている。この操舵補助機構２０は、出力軸１２ｂに連結した例えばウォームギヤ機構で構成される減速ギヤ２１と、この減速ギヤ２１に連結された操舵補助力を発生する電動モータ２２とを備えている。
【００１４】
操舵トルクセンサ１３は、ステアリングホイール１１に付与されて入力軸１２ａに伝達された操舵トルクＴｈを検出する。この操舵トルクセンサ１３は、図２に示すように、入力軸１２ａ及び出力軸１２ｂ間に介挿したトーションバー１３ａと、入力軸１２ａ側に配置した入力軸回転角センサ１３ｂと、出力軸１２ｂ側に配置した出力軸回転角センサ１３ｃとを備えている。
入力軸回転角センサ１３ｂは、入力軸１２ａの回転角度である入力軸回転角θｉｓを検出する。
出力軸回転角センサ１３ｃは、出力軸１２ｂの回転角度である出力軸回転角θｏｓを検出する。
そして、操舵トルクセンサ１３は、操舵トルクＴｈを、トーションバー１３ａの捩れ角変位、即ち入力軸回転角センサ１３ｂと出力軸回転角センサ１３ｃとの角度差とトーションバー１３ａの剛性値とから演算して検出するように構成されている。
【００１５】
また、電動モータ２２は、本実施形態において３相ブラシレスモータであり、図示しない環状のモータロータと環状のモータステータとを備えている。モータステータは、径方向内側に突出する複数の極歯を円周方向に等間隔に備えて構成され、各極歯には励磁用コイル（図３に示すＡ相モータ巻線Ｌａ、Ｂ相モータ巻線Ｌｂ及びＣ相モータ巻線Ｌｃ）が巻き回されている。そして、モータステータの内側に、モータロータが同軸に配設されている。モータロータは、モータステータの極歯と僅かの空隙（エアギャップ）をもって対向し且つ外周面に円周方向に等間隔に設けられた複数の磁石を備えて構成されている。以下、Ａ相モータ巻線Ｌａ、Ｂ相モータ巻線Ｌｂ及びＣ相モータ巻線Ｌｃを「３相モータ巻線Ｌａ〜Ｌｃ」と略記する場合がある。
モータロータはモータ回転軸に固定されており、モータステータの３相モータ巻線Ｌａ〜Ｌｃにモータ制御装置２５を介して３相交流電流を流すことでモータステータの各歯が所定の順序に励磁されてモータロータが回転し、この回転に伴ってモータ回転軸が回転する。
【００１６】
更に、電動モータ２２は、図１及び図３に示すように、ロータの回転位置を検出するレゾルバから構成された回転位置センサ２３を備えている。この回転位置センサ２３からの検出値がモータ電気角検出回路２４に供給されてこのモータ電気角検出回路２４でモータ電気角θｍを検出する。以下、回転位置センサ２３を、「レゾルバ２３」と記載する場合がある。なお、回転位置センサ２３は、レゾルバに限らず、例えば、ロータリーエンコーダ等の他のセンサから構成してもよい。
モータ制御装置２５には、直流電流源としてのバッテリー２７から直流電流が入力されている。ここで、バッテリー２７の負極は接地され、その正極はエンジン始動を行うイグニッションスイッチ２８（以下、「ＩＧＮスイッチ２８」と記載する場合がある）を介してモータ制御装置２５に接続されると共に、ＩＧＮスイッチ２８を介さず直接、モータ制御装置２５に接続されている。
【００１７】
（モータ制御装置２５の構成）
次に、モータ制御装置２５の具体的構成を説明する。
モータ制御装置２５は、図３に示すように、モータ電気角θｍを検出するモータ電気角検出回路２４と、モータ電圧指令値を演算する制御演算装置３１と、この制御演算装置３１から出力される、後述する３相のモータ電圧指令値Ｖａ＊、Ｖｂ＊及びＶｃ＊が入力されるモータ駆動回路３２とを備えている。以下、区別する必要が無い場合に、モータ電圧指令値Ｖａ＊、Ｖｂ＊及びＶｃ＊を、「モータ電圧指令値Ｖ＊」と略記する場合がある。
更に、モータ制御装置２５は、モータ駆動回路３２の出力側と電動モータ２２の３相モータ巻線Ｌａ〜Ｌｃとの間に介挿されたモータ相電流遮断回路３３と、モータ駆動回路３２とモータ相電流遮断回路３３との間に設けられた電圧検出回路４０と、バッテリー２７とモータ駆動回路３２との間に設けられたノイズフィルタ４３とを備えている。
【００１８】
モータ駆動回路３２は、制御演算装置３１から出力される３相のモータ電圧指令値Ｖ＊が入力されてゲート駆動信号を形成するゲート駆動回路４１と、このゲート駆動回路４１から出力されるゲート駆動信号が入力されるインバータ回路４２とを備えている。
モータ駆動回路３２は、更に、ノイズフィルタ４３とインバータ回路４２との間に介挿された電源遮断回路４４を備えている。加えて、インバータ回路４２の下側アームと接地との間に介挿され、下側アームから接地に流れる直流電流を検出する電流検出回路４５Ａ、４５Ｂ及び４５Ｃを備えている。
以下、電流検出回路４５Ａ、４５Ｂ及び４５Ｃを「電流検出回路４５Ａ〜４５Ｃ」と略記する場合がある。
【００１９】
具体的に、電流検出回路４５Ａは、Ａ相モータ巻線Ｌａから出力されるＡ相モータ電流Ｉａを検出し、電流検出回路４５Ｂは、Ｂ相モータ巻線Ｌｂから出力されるＢ相モータ電流Ｉｂを検出し、電流検出回路４５Ｃは、Ｃ相モータ巻線Ｌｃから出力されるＣ相モータ電流Ｉｃを検出する。
以下、Ａ、Ｂ及びＣ相モータ電流Ｉａ、Ｉｂ及びＩｃを「モータ相電流Ｉａ〜Ｉｃ」と略記する場合がある。
電圧検出回路４０は、それぞれインバータ回路４２の各上側アームと各下側アームとの接続点と、電動モータ２２の３相モータ巻線Ｌａ〜Ｌｃとの接続ラインの各電圧を検出する。
【００２０】
具体的に、電圧検出回路４０は、Ａ相モータ巻線Ｌａとの接続ラインの電圧であるモータ相電圧Ｖａと、Ｂ相モータ巻線Ｌｂとの接続ラインの電圧であるモータ相電圧Ｖｂと、Ｃ相モータ巻線Ｌｃとの接続ラインの電圧であるモータ相電圧Ｖｃとを検出する。
以下、モータ相電圧Ｖａ、Ｖｂ及びＶｃを「モータ相電圧Ｖａ〜Ｖｃ」と略記する場合がある。
ゲート駆動回路４１は、制御演算装置３１からモータ電圧指令値Ｖ＊が入力されると、このモータ電圧指令値Ｖ＊と三角波のキャリア信号Ｓｃとをもとにパルス幅変調（ＰＷＭ）した６つのゲート駆動信号を形成する。そして、これらゲート駆動信号をインバータ回路４２に出力する。
インバータ回路４２には、ノイズフィルタ４３及び電源遮断回路４４を介してバッテリー２７のバッテリー電力が入力されている。加えて、入力側の電源遮断回路４４との接続ラインと接地との間に平滑用の電解コンデンサである平滑用コンデンサＣＡが介挿されている。この平滑用コンデンサＣＡは、インバータ回路４２に対するノイズ除去機能及び電源供給補助機能を備えている。
【００２１】
このインバータ回路４２は、スイッチング素子としての６個の電界効果トランジスタＱ１〜Ｑ６を有し、２つの電界効果トランジスタを直列に接続した３つのスイッチングアームＳＷＡａ、ＳＷＡｂ及びＳＷＡｃを並列に接続した構成を有する。そして、各電界効果トランジスタＱ１〜Ｑ６のゲートにゲート駆動回路４１から出力されるゲート駆動信号が入力されることにより、各スイッチングアームＳＷＡａ、ＳＷＡｂ及びＳＷＡｃの電界効果トランジスタ間の接続点からＡ相モータ電流Ｉａ、Ｂ相モータ電流Ｉｂ、Ｃ相モータ電流Ｉｃがモータ相電流遮断回路３３を介して電動モータ２２の３相モータ巻線Ｌａ、Ｌｂ及びＬｃに通電される。
【００２２】
なお、インバータ回路４２の電界効果トランジスタのゲートにゲート駆動信号としてパルス幅変調（ＰＷＭ）信号が入力されることから、インバータ回路４２から出力されるＡ相電流Ｉａ、Ｂ相電流Ｉｂ及びＣ相電流Ｉｃはデューティー比が制御される矩形波信号となる。
電源遮断回路４４は、２つの電界効果トランジスタＱＣ１及びＱＣ２がソース同士を接続して寄生ダイオードが逆向きとなる直列回路構成を有する。そして、電界効果トランジスタＱＣ１のドレインがノイズフィルタ４３の出力側に接続され、電界効果トランジスタＱＣ２のドレインがインバータ回路４２の各電界効果トランジスタＱ１、Ｑ３及びＱ５のドレインに接続されている。
【００２３】
モータ相電流遮断回路３３は、３つの電流遮断用の電界効果トランジスタＱＡ１、ＱＡ２及びＱＡ３を有する。電界効果トランジスタＱＡ１のソースが電圧検出回路４０を介してインバータ回路４２のスイッチングアームＳＷＡａの電界効果トランジスタＱ１及びＱ２の接続点に接続され、ドレインがＡ相モータ巻線Ｌａに接続されている。また、電界効果トランジスタＱＡ２のソースが電圧検出回路４０を介してインバータ回路４２のスイッチングアームＳＷＡｂの電界効果トランジスタＱ３及びＱ４の接続点に接続され、ドレインがＢ相モータ巻線Ｌｂに接続されている。更に、電界効果トランジスタＱＡ３のソースが電圧検出回路４０を介してインバータ回路４２のスイッチングアームＳＷＡｃの電界効果トランジスタＱ５及びＱ６の接続点に接続され、ドレインがＣ相モータ巻線Ｌｃに接続されている。
そして、モータ相電流遮断回路３３の電界効果トランジスタＱＡ１〜ＱＡ３は寄生ダイオードＤのアノードをインバータ回路４２側として各々が同一の向きに接続されている。
【００２４】
（制御演算装置３１の構成）
次に、制御演算装置３１の具体的構成を説明する。
ここで、制御演算装置３１には、図３に示すように、電圧検出回路４０で検出したモータ相電圧Ｖａ〜Ｖｃと、電流検出回路４５Ａ〜４５Ｃから出力されるモータ相電流Ｉａ、Ｉｂ及びＩｃとがＡ／Ｄ変換部３１ｃを介して入力されている。更に、制御演算装置３１には、モータ電気角検出回路２４から出力されるモータ電気角θｍが入力されている。
なお更に、制御演算装置３１には、図４に示すように、操舵トルクセンサ１３で検出された操舵トルクＴｈ及び車速センサ２６で検出された車速Ｖｓが入力されている。
また、制御演算装置３１は、図示省略するが、ＣＰＵと、所定領域に予めＣＰＵで実行される制御プログラムや制御プログラムの実行時に使用するデータ等を格納しているＲＯＭと、ＲＯＭから読み出したデータやＣＰＵの演算過程で必要な演算結果を格納するためのワークメモリとしてのＲＡＭとを有している。
【００２５】
更に、制御演算装置３１は、図４に示すように、操舵補助電流指令値Ｉ＊を算出する操舵補助電流指令値演算部３４と、電動モータ２２の速度情報を演算するモータ速度情報演算部３５とを備えている。加えて、モータ速度情報演算部３５で演算したモータ速度情報に基づいて、操舵補助電流指令値演算部３４で算出した操舵補助電流指令値Ｉ＊に対して補償値を生成する補償値生成部３６と、加算部３７とを備えている。更に、補償値生成部３６で補償された補償後操舵補助電流指令値Ｉ＊’に基づいてｄ−ｑ軸電流指令値を算出し、これを３相電流指令値に変換するｄ−ｑ軸電流指令値演算部３８を備えている。なお更に、モータ駆動回路３２に対するモータ電圧指令値Ｖ＊を算出する電圧指令値演算部３９を備えている。
【００２６】
操舵補助電流指令値演算部３４は、入力された操舵トルクＴｈ及び車速Ｖｓをもとに操舵補助電流指令値算出マップ（図示略）を参照して電流指令値でなる操舵補助電流指令値Ｉ＊を算出する。この操舵補助電流指令値算出マップは、横軸に操舵トルクＴｈをとり、縦軸に操舵補助電流指令値Ｉ＊をとる放物線状の曲線で表される特性線図で構成されている。
操舵補助電流指令値演算部３４は、演算した操舵補助電流指令値Ｉ＊を、加算部３７及び補償値生成部３６にそれぞれ出力する。
モータ速度情報演算部３５は、モータ角速度演算部３５ａと、モータ角加速度演算部３５ｂとを備えている。
モータ角速度演算部３５ａは、入力されたモータ電気角θｍを微分してモータ角速度ωｍを演算する。そして、演算したモータ角速度ωｍをモータ角加速度演算部３５ｂ、補償値生成部３６等の予め設定された各出力先へと出力する。
【００２７】
モータ角加速度演算部３５ｂは、入力されたモータ角速度ωｍを微分してモータ角加速度αｍを演算する。そして、演算したモータ角加速度αｍを補償値生成部３６等の予め設定された各出力先へと出力する。
補償値生成部３６は、収斂性補償部３６ａと、慣性補償部３６ｂと、ＳＡＴ推定フィードバック部３６ｃと、加算部３６ｄ及び３６ｅとを備えている。
収斂性補償部３６ａは、モータ角速度演算部３５ａから入力されたモータ角速度ωｍに基づき、車両のヨーの収斂性を改善するためにステアリングホイール１１が振れ回る動作に対して、ブレーキをかけるように、収斂性補償値Ｉｃｏを算出する。収斂性補償部３６ａは、算出した収斂性補償値Ｉｃｏを加算部３６ｅに出力する。
【００２８】
慣性補償部３６ｂは、モータ角加速度演算部３５ｂから入力されたモータ角加速度αｍに基づき、電動モータ２２の慣性により発生するトルク相当分を補償して慣性感又は制御応答性の悪化を防止するための慣性補償値Ｉｉを算出する。慣性補償部３６ｂは、算出した慣性補償値Ｉｉを加算部３６ｄに出力する。
ＳＡＴ推定フィードバック部３６ｃは、入力された操舵トルクＴｈ、モータ角速度ωｍ、モータ角加速度αｍ及び操舵補助電流指令値Ｉ＊に基づいてセルフアライニングトルクＳＡＴを推定演算する。ＳＡＴ推定フィードバック部３６ｃは、演算したセルフアライニングトルクＳＡＴを加算部３６ｄに出力する。
【００２９】
加算部３６ｄは、入力された慣性補償値ＩｉとセルフアライニングトルクＳＡＴとを加算して、加算結果を加算部３６ｅに出力する。
加算部３６ｅは、加算部３６ｄの加算結果と収斂性補償部３６ａで算出した収斂性補償値Ｉｃｏとを加算し、その結果を指令補償値Ｉｃｏｍとして加算部３７に出力する。
加算部３７は、操舵補助電流指令値演算部３４から入力された操舵補助電流指令値Ｉ＊に、補償値生成部３６から入力された指令補償値Ｉｃｏｍを加算し、補償後の操舵補助電流指令値Ｉ＊’をｄ−ｑ軸電流指令値演算部３８に出力する。
【００３０】
ｄ−ｑ軸電流指令値演算部３８は、ｄ軸指令電流算出部３８ａと、誘起電圧モデル算出部３８ｂと、ｑ軸指令電流算出部３８ｃと、２相／３相変換部３８ｄとを備えている。
ｄ軸指令電流算出部３８ａは、補償後操舵補助電流指令値Ｉ＊’とモータ角速度ωｍとに基づいてｄ軸電流指令値Ｉｄ＊を算出する。
誘起電圧モデル算出部３８ｂは、モータ回転角θｍ及びモータ角速度ωｍに基づいてｄ−ｑ軸誘起電圧モデルＥＭＦ（electromotive force）のｄ軸ＥＭＦ成分Ｅｄ（θ）及びｑ軸ＥＭＦ成分Ｅｑ（θ）を算出する。
【００３１】
ｑ軸指令電流算出部３８ｃは、誘起電圧モデル算出部３８ｂから出力されるｄ軸ＥＭＦ成分Ｅｄ（θ）及びｑ軸ＥＭＦ成分Ｅｑ（θ）とｄ軸指令電流算出部３８ａから出力されるｄ軸電流指令値Ｉｄ＊と補償後操舵補助電流指令値Ｉ＊’とモータ角速度ωｍとに基づいてｑ軸電流指令値Ｉｑ＊を算出する。
２相／３相変換部３８ｄは、ｄ軸指令電流算出部３８ａから出力されるｄ軸電流指令値Ｉｄ＊とｑ軸指令電流算出部３８ｃから出力されるｑ軸電流指令値Ｉｑ＊とをＡ相電流指令値Ｉａ＊、Ｂ相電流指令値Ｉｂ＊及びＣ相電流指令値Ｉｃ＊に変換する。そして、これら３相の電流指令値Ｉａ＊、Ｉｂ＊及びＩｃ＊を電圧指令値演算部３９に出力する。
【００３２】
電圧指令値演算部３９は、入力されたＡ相電流指令値Ｉａ＊、Ｂ相電流指令値Ｉｂ＊及びＣ相電流指令値Ｉｃ＊と、電流検出回路４５Ａ〜４５Ｃで検出したモータ相電流Ｉａ〜Ｉｃとに基づいてモータ電圧指令値Ｖ＊を算出する。
具体的に、電圧指令値演算部３９は、２相／３相変換部３８ｄから入力されたＡ相電流指令値Ｉａ＊、Ｂ相電流指令値Ｉｂ＊及びＣ相電流指令値Ｉｃ＊から、電流検出回路４５Ａ〜４５Ｃから入力されたＡ相モータ電流Ｉａ、Ｂ相モータ電流Ｉｂ及びＣ相モータ電流Ｉｃの各検出値を減算して電流偏差ΔＩａ、ΔＩｂ及びΔＩｃを算出する。更に、これら電流偏差ΔＩａ、ΔＩｂ及びΔＩｃについて例えばＰＩ制御演算又はＰＩＤ制御演算を行ってモータ駆動回路３２に対する３相のモータ電圧指令値Ｖ＊を算出する。そして、算出した３相のモータ電圧指令値Ｖ＊を、ゲート駆動回路４１に出力する。
【００３３】
（モータ電気角検出回路２４）
次に、第１実施形態に係るモータ電気角検出回路２４の具体的な構成を説明する。
モータ電気角検出回路２４は、図５に示すように、レゾルバ２３からの信号に基づき第１のモータ電気角θｍ１を演算するメイン電気角検出回路２４Ａと、出力軸回転角センサ１３ｃからの信号に基づき第２のモータ電気角θｍ２を演算するバックアップ電気角検出回路２４Ｂとを備えている。加えて、レゾルバ２３の異常判定結果に基づき、第１のモータ電気角θｍ１及び第２のモータ電気角θｍ２のうちから出力するモータ電気角を選択する電気角選択部２４Ｃを備えている。
また、モータ電気角検出回路２４は、図示省略するが、ＣＰＵと、所定領域に予めＣＰＵで実行される制御プログラムや制御プログラムの実行時に使用するデータ等を格納しているＲＯＭと、ＲＯＭから読み出したデータやＣＰＵの演算過程で必要な演算結果を格納するためのワークメモリとしてのＲＡＭとを有している。
【００３４】
メイン電気角検出回路２４Ａは、角度演算部５１と、レゾルバ異常診断部５２とを備えている。
角度演算部５１は、レゾルバ２３から出力される電動モータ２２の回転角に応じた正弦波信号ｓｉｎθ及び余弦波信号ｃｏｓθに基づいて第１のモータ電気角θｍ１を演算する。そして、演算した第１のモータ電気角θｍ１を電気角選択部２４Ｃに出力する。
レゾルバ異常診断部５２は、レゾルバ２３の異常を判定し、判定結果を示す異常検出信号ＳＡｒを電気角選択部２４Ｃに出力する。具体的に、レゾルバ２３から入力されたｓｉｎθ及びｃｏｓθに基づいて異常判定用マップを参照してｓｉｎθ及びｃｏｓθの組み合わせが正常であるか異常であるかを判定する。
【００３５】
ここで、異常判定用マップは、図６に示すように、横軸にｓｉｎθを、縦軸にｃｏｓθをそれぞれとった構成を有し、原点Ｇ（０，０）を中心に３つの同心円及び２つの四角形が描かれるように構成されている。まず、３つの同心円について説明すると、一番内側は（ｓｉｎθ）2＋（ｃｏｓθ）2＝Ｐｍｉｎ、真ん中は（ｓｉｎθ）2＋（ｃｏｓθ）2＝１、一番外側は（ｓｉｎθ）2＋（ｃｏｓθ）2＝Ｐｍａｘの円が描かれている。大きな四角形αは一辺が２・Ｐｍａｘの正方形であり、小さな四角形βは一辺が２・（Ｐｍｉｎ／√２）の四角形である。ここで、正常領域とは大きな四角形αと小さな四角形βに囲まれた斜線部の範囲を示し、それ以外の領域は異常範囲を示す。なお、上述した判定基準のＰｍｉｎ及びＰｍａｘは検出の精度やモータの極数などの影響を考慮して設定され、ＰｍａｘとＰｍｉｎとにより異常検出精度を調整できる。このＰｍａｘ及びＰｍｉｎを適切に設定することにより、モータ駆動中の故障やレゾルバ２３の異常を検出することができる。そして、（ｓｉｎθ）2＋（ｃｏｓθ）2＝１は通常の正常の判定基準であり、（ｓｉｎθ）2＋（ｃｏｓθ）2＝Ｐｍｉｎ及び（ｓｉｎθ）2＋（ｃｏｓθ）2＝ＰｍａｘはＰｍｉｎ＜（ｓｉｎθ）2＋（ｃｏｓθ）2＜Ｐｍａｘの正常範囲を示すためのものであり、通常の正常の判定基準より広いことになる。
【００３６】
レゾルバ異常診断部５２は、レゾルバ２３が異常であると判定した場合に、論理値「１」の異常検出信号ＳＡｒを電気角選択部２４Ｃに出力し、レゾルバ２３が正常であると判定した場合に、論理値「０」の異常検出信号ＳＡｒを電気角選択部２４Ｃに出力する。
図５に戻って、バックアップ電気角検出回路２４Ｂは、電動モータ２２の線間逆起電圧に基づいてモータ電気角θｍの推定角度である第２のモータ電気角θｍ２を補正するための補正角度θｅを算出する逆起電圧角度補正値算出部５３を備えている。加えて、減速ギヤ２１の機械コンプライアンス特性に基づき出力軸回転角θｏｓの角速度である出力軸角速度ωｏｓを補正するセンサ間誤差補正部５４を備えている。更に、出力軸角速度ωｏｓ及び補正後の出力軸角速度ωｏｓｃ（以下、「進角後舵角速度ωｏｓｃ」と称す）の積算によって第２のモータ電気角θｍ２を演算する推定角度演算部５５を備えている。
【００３７】
ここで、逆起電圧角度補正値算出部５３で算出される補正角度θｅは、モータ側の情報から算出されるため出力軸角速度ωｏｓ及び進角後舵角速度ωｏｓｃの積算によって算出される推定電気角度よりも正確で信頼性が高いものである。そのため、第１実施形態の推定角度演算部５５は、補正許可のタイミングで補正角度θｅが入力されると、現在の積算値を強制的に補正角度θｅに変更する補正を行うように構成されている。
【００３８】
電気角選択部２４Ｃは、メイン電気角検出回路２４Ａのレゾルバ異常診断部５２から出力される異常検出信号ＳＡｒが異常なしを表す論理値「０」であるときに、メイン電気角検出回路２４Ａから出力される第１のモータ電気角θｍ１を選択する。そして、選択した第１のモータ電気角θｍ１を、モータ電気角θｍとして前述した制御演算装置３１に出力する。一方、異常検出信号ＳＡｒが異常ありを表す論理値「１」であるときに、バックアップ電気角検出回路２４Ｂから出力される第２のモータ電気角θｍ２を選択する。そして、選択した第２のモータ電気角θｍ２を、モータ電気角θｍとして制御演算装置３１に出力する。
【００３９】
（逆起電圧角度補正値算出部５３）
次に、逆起電圧角度補正値算出部５３の具体的な構成について説明する。
逆起電圧角度補正値算出部５３は、図７に示すように、出力軸角速度演算部５３ａと、逆起電圧演算部５３ｂと、絶対角度領域判定部５３ｃと、補正角度算出部５３ｄとを備えている。
出力軸角速度演算部５３ａは、出力軸回転角センサ１３ｃからの出力軸回転角θｏｓを微分して、出力軸角速度ωｏｓを演算する。そして、演算した出力軸角速度ωｏｓを、絶対角度領域判定部５３ｃと、補正角度算出部５３ｄと、センサ間誤差補正部５４とにそれぞれ出力する。
【００４０】
逆起電圧演算部５３ｂは、まず、電圧検出回路４０から入力されたモータ相電圧Ｖａ〜Ｖｃに基づいて下記（１）式〜（３）式の演算を行って線間電圧Ｖａｂ、Ｖｂｃ、Ｖｃａを算出する。
Ｖａｂ＝Ｖａ−Ｖｂ  ……（１）
Ｖｂｃ＝Ｖｂ−Ｖｃ  ……（２）
Ｖｃａ＝Ｖｃ−Ｖａ  ……（３）
【００４１】
次に、算出した線間電圧Ｖａｂ、Ｖｂｃ、Ｖｃａと、電流検出回路４５Ａ〜４５Ｃから入力されたモータ相電流Ｉａ〜Ｉｃとに基づいて下記（４）式〜（６）式の演算を行ってＡ−Ｂ間逆起電圧ＥＭＦａｂ、Ｂ−Ｃ間逆起電圧ＥＭＦｂｃ、Ｃ−Ａ間逆起電圧ＥＭＦｃａを算出する。以下、Ａ−Ｂ間逆起電圧ＥＭＦａｂ、Ｂ−Ｃ間逆起電圧ＥＭＦｂｃ、Ｃ−Ａ間逆起電圧ＥＭＦｃａを総じて「各線間逆起電圧値ＥＭＦ」と記載する場合がある。
ＥＭＦａｂ＝Ｖａｂ−｛（Ｒａ＋ｓ・Ｌａ）・Ｉａ−（Ｒｂ＋ｓ・Ｌｂ）・Ｉｂ｝…（４）
ＥＭＦｂｃ＝Ｖｂｃ−｛（Ｒｂ＋ｓ・Ｌｂ）・Ｉｂ−（Ｒｃ＋ｓ・Ｌｃ）・Ｉｃ｝…（５）
ＥＭＦｃａ＝Ｖｃａ−｛（Ｒｃ＋ｓ・Ｌｃ）・Ｉｃ−（Ｒａ＋ｓ・Ｌａ）・Ｉａ｝…（６）
【００４２】
ここで、Ｒａ、Ｒｂ、Ｒｃはモータ各相の巻線抵抗、Ｌａ、Ｌｂ、Ｌｃはモータ各相のインダクタンス、ｓはラプラス演算子で、ここでは微分演算（ｄ／ｄｔ）を表している。
逆起電圧演算部５３ｂは、算出した各線間逆起電圧値ＥＭＦを絶対角度領域判定部５３ｃに出力する。
絶対角度領域判定部５３ｃは、入力された出力軸角速度ωｏｓと各線間逆起電圧値ＥＭＦとに基づき、電動モータ２２の３６０［ｄｅｇ］の電気角度の領域を６０［ｄｅｇ］毎に区分した角度領域のうちから、実際のモータ電気角θｍの位置する領域（以下、「絶対角度領域Ｚ」と称す）を推定する。
【００４３】
以下、実際のモータ電気角θｍの位置する絶対角度領域を推定する原理について説明する。
電動モータ２２の各線間逆起電圧値ＥＭＦとモータ電気角θｍとの関係は、図８（ａ）及び（ｂ）並びに図９に示すように、電動モータ２２の正方向回転時と逆方向回転時とでは、各線間逆起電圧値ＥＭＦの符号関係が異なっている。例えば、実際のモータ電気角θｍが０〜６０［ｄｅｇ＿ｅｌ］の絶対角度領域Ｚ内に位置しており、その回転方向が逆転（正方向回転から逆方向回転）したと想定すると、電動モータ２２の各線間逆起電圧値ＥＭＦの正負の符号関係は、図９に示すように、同図中の上から順番に表記すると「＋，−，＋」から「−，＋，−」に変わることになる。従って、電動モータ２２の回転方向が判明したとすると各線間逆起電圧値ＥＭＦの符号関係からモータ電気角θｍの位置する角度領域（絶対角度領域Ｚ）を推定することができる。
【００４４】
そして、６０［ｄｅｇ］毎に区分した各絶対角度領域において、絶対角度領域が隣り合う領域へと移行する際、推定対象であるモータ電気角θｍはその領域境界角度上に存在している。このことに基づき、第１実施形態では、絶対角度領域が隣り合う領域へ移行したときに、移行前の絶対角度領域と移行後の絶対角度領域との境界角度に基づき補正角度θｅを算出する。
しかし、各線間逆起電圧値ＥＭＦの演算値にノイズが混入した場合、絶対角度領域の切り替わり境界線付近で各線間逆起電圧値ＥＭＦの符号関係が切り替わり易くなるため、隣り合う領域への領域判定時にハンチングをおこし易くなるといった懸念がある。
【００４５】
そこで、第１実施形態においては、図９に示すように、絶対角度領域の中間角度θｃを算出すると共に、中間角度θｃが変化したときに、その変化量と移行方向とに基づいて、中間角度θｃをシフトした新たなシフト後中間角度θｃ＿ｓｈｔを算出する。このシフト後中間角度θｃ＿ｓｈｔは、ハンチング時には移動しない構成となっている。即ち、絶対角度領域Ｚの移行だけでなくシフト後中間角度θｃ＿ｓｈｔの変化の有無も判定することで、補正角度θｅをより正確に算出するようにしている。
即ち、第１実施形態の絶対角度領域判定部５３ｃは、実際のモータ電気角θｍの位置する絶対角度領域Ｚを推定すると共に、シフト後中間角度θｃ＿ｓｈｔを算出し、推定した絶対角度領域Ｚ及び算出したシフト後中間角度θｃ＿ｓｈｔを補正角度算出部５３ｄに出力する。
【００４６】
補正角度算出部５３ｄは、入力された絶対角度領域Ｚに基づき、今回の絶対角度領域Ｚは、前回の絶対角度領域Ｚ（ｎ−１）に対して隣り合う領域へと移行したか否かを判定する。加えて、移行したと判定した場合に、入力されたシフト後中間角度θｃ＿ｓｈｔに基づき、今回のシフト後中間角度θｃ＿ｓｈｔは、前回のシフト後中間角度θｃ＿ｓｈｔ（ｎ−１）に対して変化しているか否かを判定する。更に、第１実施形態では、変化していると判定した場合に、この変化した方向を示す符号と入力された出力軸角速度ωｏｓの符号とに基づき、変化した方向（符号）と入力された出力軸角速度ωｏｓの方向（符号）とが同じであるか否かを判定する。そして、同じであると判定した場合に、前回の絶対角度領域Ｚ（ｎ−１）と今回の絶対角度領域Ｚとの境界角度を補正角度θｅに設定する。
【００４７】
補正角度算出部５３ｄは、更に、補正角度θｅによる補正を行うタイミングと、補正角度θｅによる補正を行わないタイミングとを示す補正タイミング情報を設定する。
具体的に、補正を実行時は、補正許可を示す補正タイミング情報をセンサ間誤差補正部５４と、推定角度演算部５５とにそれぞれ出力すると共に、補正角度θｅを推定角度演算部５５に出力する。一方、補正不実行時は、補正不許可を示す補正タイミング情報をセンサ間誤差補正部５４と、推定角度演算部５５とにそれぞれ出力する。
【００４８】
（絶対角度領域判定処理）
次に、図１０に基づき、上記絶対角度領域判定部５３ｃで実行される絶対角度領域判定処理について詳しく説明する。ここで、絶対角度領域判定処理は、モータ電気角検出回路２４のＣＰＵ（不図示）にて実行される第２のモータ電気角θｍ２を算出するメインプログラムにて呼び出されて実行されるサブプログラムである。
モータ電気角検出回路２４のＣＰＵにて絶対角度領域判定処理が実行されると、図１０に示すように、まず、ステップＳ１０１に移行する。
ステップＳ１０１では、絶対角度領域判定部５３ｃにおいて、逆起電圧演算部５３ｂにて演算された各線間逆起電圧値ＥＭＦ及び出力軸角速度演算部５３ａで演算された出力軸角速度ωｏｓを読み込み、ステップＳ１０３に移行する。
【００４９】
ステップＳ１０３では、絶対角度領域判定部５３ｃにおいて、読み込んだ各線間逆起電圧値ＥＭＦの絶対値の最大値と所定の閾値Ｔｈｖとを比較する。この所定の閾値Ｔｈｖは、電動モータ２２が低回転である場合に、各線間逆起電圧値ＥＭＦの絶対値が小さく、その符号関係の取得値の信頼性が低いと考えられる値を判定不感帯とするために予め設定される。そして、各線間逆起電圧値ＥＭＦの絶対値の最大値が、この所定の閾値Ｔｈｖ以上であると判定した場合（Ｙｅｓ）は、ステップＳ１０５に移行する。一方、各線間逆起電圧値ＥＭＦの絶対値の最大値が、上記所定の閾値Ｔｈｖ未満であると判定した場合（Ｎｏ）は、ステップＳ１１５に移行する。
【００５０】
ステップＳ１０５に移行した場合は、絶対角度領域判定部５３ｃにおいて、判定不感帯の状態値である不感帯状態値「Ｆ＝０」を設定して、ステップＳ１０７に移行する。
ステップＳ１０７では、絶対角度領域判定部５３ｃにおいて、読み込んだ各線間逆起電圧値ＥＭＦからそれらの符号情報を取得してステップＳ１０９に移行する。
ステップＳ１０９では、絶対角度領域判定部５３ｃにおいて、読み込んだ出力軸角速度ωｏｓの符号情報を取得して、ステップＳ１１１に移行する。
ステップＳ１１１では、絶対角度領域判定部５３ｃにおいて、ステップＳ１０７で取得した各線間逆起電圧値ＥＭＦの符号情報と、ステップＳ１０９で取得した出力軸角速度ωｏｓの符号情報とに基づき、図９に示すテーブルを参照して絶対角度領域Ｚ及び中間角度θｃを判定する。その後、ステップＳ１１３に移行する。
【００５１】
ステップＳ１１３では、絶対角度領域判定部５３ｃにおいて、ステップＳ１１１で判定した中間角度θｃに基づき、中間角度シフト演算処理を実行して、シフト後中間角度θｃ＿ｓｈｔを算出する。そして、算出したシフト後中間角度θｃ＿ｓｈｔと、ステップＳ１０５で設定した不感帯状態値「Ｆ＝０」と、ステップＳ１１１で判定した絶対角度領域Ｚとを補正角度算出部５３ｄに出力して、一連の処理を終了し元の処理に復帰する。
【００５２】
一方、ステップＳ１０３において閾値未満と判定されてステップＳ１１５に移行した場合は、絶対角度領域判定部５３ｃにおいて、不感帯状態値「Ｆ＝１」を設定する。そして、設定した不感帯状態値「Ｆ＝１」を補正角度算出部５３ｄに出力して、一連の処理を終了し元の処理に復帰する。
即ち、各線間逆起電圧値ＥＭＦが小さく、その符号関係の取得値の信頼性が低いと考えられる場合は、以降の処理を実行せずに不感帯状態値「Ｆ＝１」を出力して元の処理に復帰する。
【００５３】
（中間角度シフト演算処理）
次に、図１１に基づき、上記ステップＳ１１３で実行される中間角度シフト演算処理について詳しく説明する。
上記ステップＳ１１３において中間角度シフト演算処理が実行されると、図１１に示すように、まず、ステップＳ２０１に移行する。
ステップＳ２０１では、絶対角度領域判定部５３ｃにおいて、上記ステップＳ１１１で判定された今回の中間角度θｃと前回の中間角度θｃ（ｎ−１）との差分値Ｓｈｔ（Ｓｈｔ＝θｃ（ｎ−１）−θｃ）を演算して、ステップＳ２０３に移行する。
【００５４】
ステップＳ２０３では、絶対角度領域判定部５３ｃにおいて、差分値Ｓｈｔが「０」か否かを判定することで今回の中間角度θｃと前回の中間角度θｃ（ｎ−１）とが一致しているか否かを判定する。そして、差分値Ｓｈｔが「０」であり一致していると判定した場合（Ｙｅｓ）は、ステップＳ２０５に移行し、差分値Ｓｈｔが「０」ではなく一致していないと判定した場合（Ｎｏ）は、ステップＳ２０７に移行する。
ステップＳ２０５に移行した場合は、絶対角度領域判定部５３ｃにおいて、中間角度θｃの移行がないとして、シフト後中間角度θｃ＿ｓｈｔとして、前回のシフト後中間角度θｃ＿ｓｈｔ（ｎ−１）を設定して、一連の処理を終了し元の処理に復帰する。
【００５５】
一方、ステップＳ２０７に移行した場合は、絶対角度領域判定部５３ｃにおいて、中間角度θｃの移行があるとして、差分値Ｓｈｔが６０［ｄｅｇ］又は−３００［ｄｅｇ］であるか否かを判定する。そして、６０［ｄｅｇ］又は−３００［ｄｅｇ］であると判定した場合（Ｙｅｓ）は、ステップＳ２０９に移行し、そうでないと判定した場合（Ｎｏ）は、ステップＳ２１１に移行する。
ステップＳ２０９に移行した場合は、絶対角度領域判定部５３ｃにおいて、中間角度θｃから３０［ｄｅｇ］を減算した値をシフト後中間角度θｃ＿ｓｈｔとして設定し、一連の処理を終了して元の処理に復帰する。
【００５６】
一方、ステップＳ２１１に移行した場合は、絶対角度領域判定部５３ｃにおいて、差分値Ｓｈｔが−６０［ｄｅｇ］又は３００［ｄｅｇ］であるか否かを判定する。そして、−６０［ｄｅｇ］又は３００［ｄｅｇ］であると判定した場合（Ｙｅｓ）は、ステップＳ２１３に移行し、そうでないと判定した場合（Ｎｏ）は、ステップＳ２１５に移行する。
ステップＳ２１３に移行した場合は、絶対角度領域判定部５３ｃにおいて、中間角度θｃに３０［ｄｅｇ］を加算した値をシフト後中間角度θｃ＿ｓｈｔとして設定し、一連の処理を終了して元の処理に復帰する。
一方、ステップＳ２１５に移行した場合は、絶対角度領域判定部５３ｃにおいて、今回の中間角度θｃをシフト後中間角度θｃ＿ｓｈｔとして設定し、一連の処理を終了して元の処理に復帰する。
【００５７】
（補正電気角算出処理）
次に、図１２に基づき、上記補正角度算出部５３ｄで実行される補正電気角算出処理の具体的な処理内容について詳しく説明する。補正電気角算出処理は、上記メインプログラムにおいて上記絶対角度領域判定処理の次に続けて実行されるサブプログラムの処理となる。
モータ電気角検出回路２４のＣＰＵにて補正電気角算出処理が実行されると、図１２に示すように、まず、ステップＳ３０１に移行する。
ステップＳ３０１では、補正角度算出部５３ｄにおいて、入力された不感帯状態値Ｆが「Ｆ＝０」か否かを判定する。「Ｆ＝０」であると判定した場合（Ｙｅｓ）は、ステップＳ３０３に移行し、そうでないと判定した場合（Ｎｏ）は、ステップＳ３１５に移行する。
【００５８】
ステップＳ３０３に移行した場合は、補正角度算出部５３ｄにおいて、入力された今回の絶対角度領域ＺとＲＡＭ等のメモリに保持した前回の絶対角度領域Ｚ（ｎ−１）とに基づき、絶対角度領域Ｚが隣り合う領域へと移行したか否かを判定する。そして、移行したと判定した場合（Ｙｅｓ）は、ステップＳ３０５に移行し、そうでないと判定した場合（Ｎｏ）は、ステップＳ３１５に移行する。
ステップＳ３０５に移行した場合は、補正角度算出部５３ｄにおいて、入力された今回のシフト後中間角度θｃ＿ｓｈｔとＲＡＭ等のメモリに保持した前回のシフト後中間角度θｃ＿ｓｈｔ（ｎ−１）とに基づき、シフト後中間角度が変化したか否かを判定する。そして、変化したと判定した場合（Ｙｅｓ）は、ステップＳ３０７に移行し、そうでないと判定した場合（Ｎｏ）は、ステップＳ３１５に移行する。
【００５９】
ステップＳ３０７に移行した場合は、補正角度算出部５３ｄにおいて、絶対角度領域の移行方向に対応する符号情報と、入力された出力軸角速度ωｏｓの符号情報とを取得する。ここで、符号情報は、モータ回転方向を基準に正方向回転の回転方向であれば「＋」となり、逆方向回転の回転方向であれば「−」となる。更に、取得した符号情報に基づき、両者の符号が一致したか否かを判定することで絶対角度領域の移行方向と出力軸回転方向とは同方向か否かを判定する。そして、符号が一致しており同方向であると判定した場合（Ｙｅｓ）は、ステップＳ３０９に移行し、符号が不一致であり同方向ではないと判定した場合（Ｎｏ）は、ステップＳ３１５に移行する。
【００６０】
ステップＳ３０９に移行した場合は、補正角度算出部５３ｄにおいて、補正タイミングフラグＣＴＦを補正を許可する「１」に設定して、ステップＳ３１１に移行する。
ステップＳ３１１では、補正角度算出部５３ｄにおいて、補正角度θｅとして、前回の絶対角度領域Ｚ（ｎ−１）と今回の絶対角度領域Ｚとの境界角度を設定する。その後、ステップＳ３１３に移行する。
ステップＳ３１３では、補正角度算出部５３ｄにおいて、補正角度θｅを推定角度演算部５５に出力すると共に、値が「１」の補正タイミングフラグＣＴＦをセンサ間誤差補正部５４及び推定角度演算部５５にそれぞれ出力する。その後、一連の処理を終了して元の処理に復帰する。
【００６１】
一方、ステップＳ３０１、Ｓ３０３、Ｓ３０５、Ｓ３０７において「Ｎｏ」と判定されてステップＳ３１５に移行した場合は、補正角度算出部５３ｄにおいて、補正タイミングフラグＣＴＦを補正を不許可とする「０」に設定して、ステップＳ３１７に移行する。
ステップＳ３１７では、補正角度算出部５３ｄにおいて、値が「０」の補正タイミングフラグＣＴＦをセンサ間誤差補正部５４及び推定角度演算部５５にそれぞれ出力する。その後、一連の処理を終了して元の処理に復帰する。
【００６２】
（センサ間誤差補正部５４）
次に、センサ間誤差補正部５４の具体的な構成について説明する。
ここで、第１実施形態に係る電動パワーステアリング装置１は、図１３に示すように、出力軸回転角センサ１３ｃと電動モータ２２との間に減速ギヤ２１が介在する。この減速ギヤ２１には通常、バックラッシュ、弾性変形等の機械コンプライアンス特性が存在する。
【００６３】
この機械コンプライアンス特性は、例えば、図１４に示すように、モータ出力トルクＴｍに感応してねじれ角度（モータ機械角度）が変化する。また、中央部分はヒステリシス特性となっており、これは主に減速ギヤ２１のバックラッシュ等に起因する特性となる。このねじれ特性は環境条件、製造条件によっても変化し、図１４中の実線で示す中央値に対して点線で示す最小値と破線で示す最大値とで大きなバラツキ幅を持つ。本特性を例にとると最大３０［ｄｅｇ］程の角度推定誤差が発生することが見込まれる。この影響により、モータトルク効率が低下するため効果的なアシストができず、結果、操舵が重くなり車両操舵に影響を及ぼす。
【００６４】
また、減速ギヤ２１の機械コンプライアンス特性は、図１３に示すように、ねじれ特性であることから出力軸回転角センサ１３ｃ側からの推定誤差としては、必ず操舵方向に対し遅れる側の誤差となる。
第１実施形態において、センサ間誤差補正部５４は、上記推定角度演算部５５に入力する前の出力軸角速度ωｏｓに対して、上記機械コンプライアンス特性による誤差を補正するための処理を行うものである。
【００６５】
このセンサ間誤差補正部５４は、図７に示すように、進角ゲイン算出部６１と、乗算部６２と、モータトルク相当値算出部６３と、減速ギヤ誤差特性算出部６４と、進角補正限界値算出部６５と、進角許可判定部６６とを備えている。
進角ゲイン算出部６１は、操舵トルクセンサ１３からの操舵トルクＴｈに基づき、進角ゲインマップを用いて入力された出力軸角速度ωｏｓを進角補正するための進角ゲインＧａｄを算出する。そして、算出した進角ゲインＧａｄを乗算部６２に出力する。
【００６６】
具体的に、進角ゲインマップは、図１５に示すように、操舵トルクＴｈの絶対値｜Ｔｈ｜が所定トルク値Ｔｈｔ未満の間は進角ゲインＧａｄが「１」となる不感帯となっている。そして、第１実施形態では、絶対値｜Ｔｈ｜が所定トルク値Ｔｈｔ以上になると、この絶対値｜Ｔｈ｜が大きくなるほど予め設定した傾きで「１」よりも大きな値に線形に増加する特性を有している。この所定トルク値Ｔｈｔは、例えば上記機械コンプライアンス特性による誤差がドライバーに手感となって現れるか否かの境界値に設定されている。具体的には、例えば事前に実験等を行って、実際の車両の操舵フィールを確認して、許容可能な操舵トルクＴｈの絶対値｜Ｔｈ｜を所定値として設定する。なお、進角ゲインマップは、一定の傾きで線形に変化する構成に限らず、複数の傾きで多段階に線形変化する構成や、非線形に変化する構成とするなど他の構成としてもよい。
【００６７】
乗算部６２は、入力された出力軸角速度ωｏｓに、入力された進角ゲインＧａｄを乗算して出力軸角速度ωｏｓを進角補正し、この進角補正後の出力軸角速度ωｏｓである進角後舵角速度ωｏｓｃを進角許可判定部６６に出力する。
ここで、進角補正とは、操舵トルクＴｈの絶対値｜Ｔｈ｜が上記所定トルク値Ｔｈｔ以上となる状況において、１よりも大きい進角ゲインＧａｄを出力軸角速度ωｏｓに乗算することで、誤差分を打ち消す方向の進角量が大きくなるように出力軸角速度ωｏｓを増速（操舵方向に大きく）する補正である。なお、絶対値｜Ｔｈ｜が上記所定トルク値Ｔｈｔ未満となる不感帯では、進角ゲインＧａｄが「１」となるため、入力された出力軸角速度ωｏｓがそのまま進角後舵角速度ωｏｓｃとして進角許可判定部６６に出力されることになる。
【００６８】
モータトルク相当値算出部６３は、モータ出力トルクＴｍに相当するモータトルク相当値Ｔｍ’を算出する。第１実施形態では、モータ相電流Ｉａ〜Ｉｃに基づき、モータトルク相当値Ｔｍ’としてｑ軸電流Ｉｑを算出する。そして、算出したモータトルク相当値Ｔｍ’（Ｉｑ）を減速ギヤ誤差特性算出部６４に出力する。
具体的に、モータトルク相当値算出部６３は、公知の三相−二相変換方法を用いてｑ軸電流Ｉｑを算出する。例えば、モータ相電流Ｉａ〜Ｉｃの三相静止座標系を、まず、二相のα−β座標系（二相直交静止座標系）に変換し、次いで、α−β座標系をｄ−ｑ座標系（回転座標系）に変換することでｑ軸電流Ｉｑを求める。
なお、実装可能であれば、実際のモータ出力トルクＴｍを直接測定し、モータトルク相当値Ｔｍ’に代えて、測定したモータ出力トルクＴｍを用いる構成としてもよい。
【００６９】
減速ギヤ誤差特性算出部６４は、入力されたモータトルク相当値Ｔｍ’に基づき減速ギヤ誤差特性マップを用いて減速ギヤ誤差特性Ｓｇを算出する。そして、算出した減速ギヤ誤差特性Ｓｇを進角補正限界値算出部６５に出力する。
具体的に、第１実施形態では、減速ギヤ誤差特性マップとして、図１６に示すように、バラツキ幅の中央値を用いたマップを用意する。但し、中央値と最大/最小の乖離幅分は角度推定誤差が発生しアシスト効率が低下するため、この幅を許容アシスト効率低下分まで狭める必要があり、その調整を行ったものを減速ギヤ誤差特性マップとして用意することが望ましい。
【００７０】
また、減速ギヤ誤差特性マップ中央のモータ出力トルク範囲では、ヒステリシス特性で演算する。即ち、図１６中の矢印線に示すように、モータ出力トルクがマイナス側からプラス側へと変化する方向では、下側且つ右側のマップ値を用い、モータ出力トルクがプラス側からマイナス側へと変化する方向では上側且つ左側のマップ値を用いる。
【００７１】
進角補正限界値算出部６５は、逆起電圧角度補正値算出部５３から入力された補正タイミングフラグＣＴＦと、減速ギヤ誤差特性算出部６４から入力された減速ギヤ誤差特性Ｓｇとに基づき、補正角度θｅによる補正タイミングからの進角補正量の限界値である進角補正限界値ＳｇＬを算出する。そして、算出した進角補正限界値ＳｇＬを進角許可判定部６６に出力する。
ここで、逆起電圧に基づき算出した補正角度θｅによる角度補正がなされると、そのときの機械コンプライアンス特性の誤差状態にかかわらず第２のモータ電気角θｍ２が補正角度θｅに補正される。即ち、図１６の０［ｄｅｇ］が常に初期位置とはならない状態となる。従って、第１実施形態では、補正角度θｅによる補正がなされたタイミングの誤差状態を基準とし、基準時の機械コンプライアンス特性の誤差と現在の誤差との差分から進角補正限界値ＳｇＬを求めている。
【００７２】
ここで、操舵トルクＴｈが大きくなると機械コンプライアンス特性による誤差が発生するようになるが、誤差発生時以外にも操舵トルクＴｈが大きくなるシチュエーションとしては、以下の２つのシチュエーションが考えられる。
Ｓ１) 操舵速度を速くしたとき
Ｓ２) ラックエンドへの押し当て、タイヤの縁石ヒット等
上記Ｓ１）のシチュエーションに関しては、操舵速度が速い状態のため上記逆起電圧角度補正値算出部５３にて線間逆起電圧値ＥＭＦに基づき算出した補正角度θｅによる角度補正が動作可能となるため影響を無視することが可能である。一方、上記Ｓ２）のシチュエーションに関しては、操舵速度が低速度のため電動モータ２２も低回転となり上記不感帯状態値Ｆが「１」となって補正角度θｅによる角度補正機能が動作できない状態となる。この状態では、上記進角ゲインＧａｄによる進角補正によって第２のモータ電気角θｍ２が過剰に進角してしまい、アシスト効率の低下、及び脱調を引き起こす可能性が考えられる。
【００７３】
この問題を回避するため、第１実施形態では、進角補正限界値算出部６５にて上記進角補正限界値ＳｇＬを算出し、進角許可判定部６６にて進角補正限界値ＳｇＬを進角ゲインＧａｄにより進角できる限界の進角量として扱うことで、過剰な進角を抑制するようにした。
【００７４】
即ち、進角許可判定部６６は、補正角度θｅによる補正タイミングからの進角ゲインＧａｄによる進角量（進角補正更新量Ｃｒ）の合計量（以下、「進角補正量Ｃｔ」と称す）が、進角補正限界値ＳｇＬを超えるような進角を不許可にする制御を行う。加えて、進角補正限界値ＳｇＬから遠ざかる方向の進角を不許可とする制御を行う。換言すると、進角補正量Ｃｔが進角補正限界値ＳｇＬを超えない範囲で、進角補正限界値ＳｇＬへと近づく方向の進角を許可する制御を行う。従って、進角許可判定部６６は、進角許可時に進角後舵角速度ωｏｓｃを最終舵角速度ωｓｃとして推定角度演算部５５に出力し、進角不許可時に出力軸角速度ωｏｓをそのまま最終舵角速度ωｓｃとして推定角度演算部５５に出力する。
【００７５】
（進角補正限界値算出処理）
次に、図１７及び図１８に基づき、上記進角補正限界値算出部６５で実行される進角補正限界値算出処理の具体的な処理内容について説明する。進角補正限界値算出処理は、上記メインプログラムにおいて呼び出されて実行されるサブプログラムの処理となる。
モータ電気角検出回路２４のＣＰＵにて進角補正限界値算出処理が実行されると、図１７に示すように、まず、ステップＳ５０１に移行する。
ステップＳ５０１では、進角補正限界値算出部６５において、減速ギヤ誤差特性Ｓｇ及び補正タイミングフラグＣＴＦを読み込んで、ステップＳ５０３に移行する。
【００７６】
ステップＳ５０３では、進角補正限界値算出部６５において、補正タイミングフラグＣＴＦが「０」から「１」に変化したか否かを判定し、「０」から「１」に変化したと判定した場合（Ｙｅｓ）は、ステップＳ５０５に移行し、そうでないと判定した場合（Ｎｏ）は、ステップＳ５０７に移行する。
ここで、第１実施形態では、前回の補正タイミングフラグＣＴＦ（ｎ−１）をＲＡＭ等のメモリに記憶保持しておく構成となっている。
【００７７】
ステップＳ５０５に移行した場合は、進角補正限界値算出部６５において、補正タイミングフラグＣＴＦが「０」から「１」に変化したタイミングを基準タイミングとして、そのときのモータトルク相当値Ｔｍ’に対応する減速ギヤ誤差特性Ｓｇを基準誤差特性Ｓｇ０として設定する。その後、ステップＳ５０７に移行する。
具体的に、進角補正限界値算出部６５は、ステップＳ５０１で読み込んだ減速ギヤ誤差特性Ｓｇを基準誤差特性Ｓｇ０に設定し、この基準誤差特性Ｓｇ０をＲＡＭ等のメモリに記憶保持する。
【００７８】
ステップＳ５０７では、進角補正限界値算出部６５において、ステップＳ５０１で読み込んだ減速ギヤ誤差特性Ｓｇからメモリに記憶された基準誤差特性Ｓｇ０を減算して、進角補正限界値ＳｇＬを算出する。その後、ステップＳ５０９に移行する。
ステップＳ５０９では、進角補正限界値算出部６５において、ステップＳ５０７で算出した進角補正限界値ＳｇＬを進角許可判定部６６に出力して、一連の処理を終了し元の処理に復帰する。
【００７９】
ここで、図１８（Ａ）及び（Ｂ）に基づき、進角補正限界値の算出処理について具体例を挙げて説明する。
例えば、図１８（Ａ）に示すように、ねじれ角が減速ギヤ誤差特性マップ上のマイナスの最大値となる同図（Ａ）中の「ＯＮ」のタイミングで補正角度θｅによる補正が行われたとする。この場合は、同図（Ａ）中の四角印で示す「ＯＮ」のタイミングに対応するねじれ角の値が基準誤差特性Ｓｇ０として設定される。その後、モータ出力トルクＴｍがプラス方向に変化していき、ねじれ角が減速ギヤ誤差特性マップ上の下側及び右側のヒステリシス部分を通ってプラスの最大値となる図１８（Ａ）中の白丸で示す（１）の値へと変化したとする。この場合は、同図（Ａ）中の白丸で示す値から四角印で示す値（基準誤差特性Ｓｇ０）を減算したものが、（１）の時点での進角補正限界値ＳｇＬとなる。即ち、図１８（Ａ）中の上矢印線（ａ）の長さ分の角度量が進角補正限界値ＳｇＬとなる。なお、上矢印線は進角補正限界値ＳｇＬがプラス符号となる場合を示している。
【００８０】
引き続き、モータ出力トルクＴｍが減少してマイナス方向へと変化していき、ねじれ角が減速ギヤ誤差特性マップ上の上側及び左側のヒステリシス部分を通って同図（Ａ）中の三角印で示す（２）の値へと変化したとする。この場合は、同図（Ａ）中の三角印で示す値から四角印で示す値（基準誤差特性Ｓｇ０）を減算したものが、（２）の時点での進角補正限界値ＳｇＬとなる。即ち、図１８（Ａ）中の上矢印線（ｂ）の長さ分の角度量が進角補正限界値ＳｇＬとなる。
【００８１】
一方、例えば、図１８（Ｂ）に示すように、モータ出力トルクＴｍがプラス側で増加している途中において、ねじれ角が減速ギヤ誤差特性マップの右側のヒステリシス部分の値となったとする。そして、同図（Ｂ）中の「ＯＮ」のタイミングで補正角度θｅによる補正が行われたとする。この場合も、同図（Ｂ）中の四角印で示す「ＯＮ」のタイミングの値が基準誤差特性Ｓｇ０として設定される。その後、モータ出力トルクＴｍがプラス方向に増加して、ねじれ角が図１８（Ｂ）中の白丸で示す（１）の値へと変化したとする。この場合は、同図（Ｂ）中の白丸で示す値から四角印で示す値（基準誤差特性Ｓｇ０）を減算したものが、（１）の時点での進角補正限界値ＳｇＬとなる。即ち、図１８（Ｂ）中の上矢印線（ａ）の長さ分の角度量が進角補正限界値ＳｇＬとなる。
【００８２】
引き続き、モータ出力トルクＴｍがプラスの最大値となった後でマイナス方向側に向かって変化していき、ねじれ角が減速ギヤ誤差特性マップ上の上側及び左側のヒステリシス部分を通って同図（Ｂ）中の三角印で示す（２）の値へと変化したとする。この場合も、同図（Ｂ）中の三角印で示す値から四角印で示す値（基準誤差特性Ｓｇ０）を減算したものが、（２）の時点での進角補正限界値ＳｇＬとなる。但し、図１８（Ｂ）に示す例では、三角印で示す値の方が四角印で示す値（基準誤差特性Ｓｇ０）よりもマイナス側に大きな値となっており、減算結果がマイナスとなる。即ち、図１８（Ｂ）中の下矢印線（ｂ）の長さ分の角度量が進角補正限界値ＳｇＬとなり且つマイナスの値となる。
なお、図１８（Ａ）及び（Ｂ）の減速ギヤ誤差特性マップは、説明用の簡略化したマップであり、図１６の減速ギヤ誤差特性マップとは異なるものである。
【００８３】
（進角許可判定部６６）
次に、図１９に基づき進角許可判定部６６の具体的な構成について説明する。
進角許可判定部６６は、図１９に示すように、減算部６６ａ及び６６ｃと、加算部６６ｂと、符号取得部６６ｄ及び６６ｅと、一致判定部６６ｆと、角速度切替部６６ｇと、進角補正量過去値切替部６６ｈと、信号遅延部６６ｉとを備えている。
減算部６６ａは、乗算部６２から入力された進角後舵角速度ωｏｓｃから、出力軸角速度演算部５３ａから入力された出力軸角速度ωｏｓを減算して、進角補正更新量Ｃｒを算出する。そして、算出した進角補正更新量Ｃｒを加算部６６ｂに出力する。即ち、減算部６６ａでは、進角補正による出力軸角速度ωｏｓの各操舵方向への増加分を算出している。
【００８４】
加算部６６ｂは、減算部６６ａから入力された進角補正更新量Ｃｒに、信号遅延部６６ｉから入力された前回の進角補正量Ｃｔである進角補正量過去値Ｃｔ（ｎ−１）を加算して、進角補正量Ｃｔを算出する。そして、算出した進角補正量Ｃｔを減算部６６ｃに出力する。
減算部６６ｃは、進角補正限界値算出部６５から入力された進角補正限界値ＳｇＬから、加算部６６ｂから入力された進角補正量過去値Ｃｔ（ｎ−１）を減算して、進角方向情報ｄｓを算出する。そして、算出した進角方向情報ｄｓを符号取得部６６ｅに出力する。
【００８５】
符号取得部６６ｄは、出力軸角速度演算部５３ａから入力された出力軸角速度ωｏｓの符号を取得して、取得した符号情報を一致判定部６６ｆに出力する。例えば、プラス符号の場合は「操舵方向＝１」を、マイナス符号の場合は「操舵方向＝−１」を、「ωｏｓ＝０」の場合は「操舵方向＝０」を一致判定部６６ｆに出力する。
符号取得部６６ｅは、減算部６６ｃから入力された進角方向情報ｄｓの符号を取得して、取得した符号情報を進角方向として一致判定部６６ｆに出力する。例えば、プラス符号の場合は「進角方向＝１」を、マイナス符号の場合は「進角方向＝−１」を、「ｄｓ＝０」の場合は「進角方向＝０」を一致判定部６６ｆに出力する。
【００８６】
一致判定部６６ｆは、符号取得部６６ｄから入力された操舵方向と、符号取得部６６ｅから入力された進角方向とを比較して、両者が一致しているか否かを判定する。そして、この判定結果Ｐａを角速度切替部６６ｇと進角補正量過去値切替部６６ｈとにそれぞれ出力する。例えば、一致していると判定した場合は「Ｐａ＝１」を出力し、一致していないと判定した場合は「Ｐａ＝０」を出力する。
角速度切替部６６ｇは、一致判定部６６ｆから入力された判定結果Ｐａに基づき、最終舵角速度ωｓｃとして推定角度演算部５５に出力する角速度を、出力軸角速度演算部５３ａから入力された出力軸角速度ωｏｓと、乗算部６２から入力された進角後舵角速度ωｏｓｃとのいずれか一方に切り替える。
【００８７】
具体的に、角速度切替部６６ｇは、判定結果Ｐａが一致を示す「１」のときに進角後舵角速度ωｏｓｃを最終舵角速度ωｓｃとして出力し、判定結果Ｐａが不一致を示す「０」のときに出力軸角速度ωｏｓを最終舵角速度ωｓｃとして出力する。即ち、操舵方向と進角方向とが一致しているときは、進角後舵角速度ωｏｓｃによる進角量の補正を許可し、不一致のときは進角量の補正を不許可とする。
【００８８】
即ち、「現在の進角補正量Ｃｔ＞進角補正限界値ＳｇＬ」となるときは、進角方向が「−１」のときのみ進角を許可する。一方、「現在の進角補正量Ｃｔ＜進角補正限界値ＳｇＬ」となるときは、進角方向が「１」のときのみ進角を許可する。
進角補正量過去値切替部６６ｈは、一致判定部６６ｆから入力された判定結果Ｐａに基づき、信号遅延部６６ｉに出力する進角補正量を、加算部６６ｂから入力された進角補正量Ｃｔと、信号遅延部６６ｉから入力された進角補正量過去値Ｃｔ（ｎ−１）とのいずれか一方に切り替える。
【００８９】
具体的に、進角補正量過去値切替部６６ｈは、判定結果Ｐａが一致を示す「１」のときに進角補正量Ｃｔを出力し、判定結果Ｐａが不一致を示す「０」のときに進角補正量過去値Ｃｔ（ｎ−１）を出力する。即ち、進角補正を行う場合は信号遅延部６６ｉで保持する進角補正量過去値Ｃｔ（ｎ−１）を今回の進角補正量Ｃｔに更新し、進角補正を行わない場合は前回の値（Ｃｔ（ｎ−１））をそのまま保持する。
信号遅延部６６ｉは、進角補正量過去値切替部６６ｈから入力された値を１制御期間遅延して出力するものである。即ち、１制御期間遅延した進角補正量である進角補正量過去値Ｃｔ（ｎ−１）を加算部６６ｂ及び進角補正量過去値切替部６６ｈに出力する。
【００９０】
加えて、信号遅延部６６ｉは、補正角度算出部５３ｄから入力された補正タイミングフラグＣＴＦに基づき、「ＣＴＦ＝１」が入力されたタイミングで、保持している進角補正量過去値Ｃｔ（ｎ−１）を「０」にリセットする処理を行う。即ち、信号遅延部６６ｉは、進角補正量過去値Ｃｔ（ｎ−１）を「０」にリセットすることで、進角補正量Ｃｔを「０」にリセットしている。
ここで、第１実施形態では、加算部６６ｂにて、進角補正更新量Ｃｒに進角補正量過去値Ｃｔ（ｎ−１）を加算することで進角補正量Ｃｔを算出している。これは、進角補正更新量Ｃｒの積分によって進角補正量Ｃｔを算出していることを意味する。
【００９１】
また、補正角度θｅによる補正が行われたタイミング（ＣＴＦ＝０→１）では、基準誤差特性Ｓｇ０が更新されると共に進角補正限界値ＳｇＬが「０」にリセットされる。これにより、基準位置が更新されるため、これに合わせて進角補正量Ｃｔを「０」にリセットする必要がある。即ち、第１実施形態では、図２０に示すように、補正角度θｅによる補正タイミングで進角補正量Ｃｔを「０」にリセットして、そこから現在までの進角補正更新量Ｃｒを積分し、現在までの進角補正量Ｃｔを算出している。
【００９２】
（進角許可判定処理）
次に、図２１に基づき、上記進角許可判定部６６で実行される進角許可判定処理の具体的な処理内容について説明する。進角許可判定処理は、上記メインプログラムにおいて呼び出されて実行されるサブプログラムの処理となる。
モータ電気角検出回路２４のＣＰＵにて進角許可判定処理が実行されると、図２１に示すように、まず、ステップＳ６０１に移行する。
ステップＳ６０１では、減算部６６ａにおいて、入力された進角後舵角速度ωｏｓｃから、入力された出力軸角速度ωｏｓを減算して、進角補正更新量Ｃｒを算出する。そして、算出した進角補正更新量Ｃｒを加算部６６ｂに出力して、ステップＳ６０３に移行する。
【００９３】
ステップＳ６０３では、加算部６６ｂにおいて、入力された進角補正更新量Ｃｒに、入力された進角補正量過去値Ｃｔ（ｎ−１）を加算して、進角補正量Ｃｔを算出する。そして、算出した進角補正量Ｃｔを減算部６６ｃと進角補正量過去値切替部６６ｈとにそれぞれ出力する。その後、ステップＳ６０４に移行する。
ステップＳ６０４では、符号取得部６６ｄにおいて、入力された出力軸角速度ωｏｓから操舵方向を算出して、算出した操舵方向を一致判定部６６ｆに出力して、ステップＳ６０５に移行する。
具体的に、符号取得部６６ｄは、例えば符号関数ｓｉｇｎを用いて、「操舵方向＝ｓｉｇｎ（ωｏｓ）」から操舵方向を算出する。
【００９４】
ステップＳ６０５では、減算部６６ｃにおいて、入力された進角補正限界値ＳｇＬから、入力された進角補正量Ｃｔを減算して進角方向情報ｄｓを算出すると共に、算出した進角方向情報ｄｓを符号取得部６６ｅに出力する。引き続き、符号取得部６６ｅにおいて、進角方向情報ｄｓから進角方向を算出し、算出した進角方向を一致判定部６６ｆに出力して、ステップＳ６０７に移行する。
具体的に、符号取得部６６ｅは、例えば符号関数ｓｉｇｎを用いて、「進角方向＝ｓｉｇｎ（ｄｓ＝ＳｇＬ−Ｃｔ）」から進角方向を算出する。
【００９５】
ステップＳ６０７では、一致判定部６６ｆにおいて、入力された操舵方向及び進角方向をに基づき、進角方向と操舵方向とが同方向か否かを判定する。そして、同方向であると判定した場合（Ｙｅｓ）は、進角許可を示す判定結果「Ｐａ＝１」を角速度切替部６６ｇ及び進角補正量過去値切替部６６ｈにそれぞれ出力して、ステップＳ６０９に移行する。一方、そうでないと判定した場合（Ｎｏ）は、進角不許可を示す判定結果「Ｐａ＝０」を角速度切替部６６ｇ及び進角補正量過去値切替部６６ｈにそれぞれ出力して、ステップＳ６１３に移行する。
【００９６】
ステップＳ６０９に移行した場合は、角速度切替部６６ｇにおいて、入力された判定結果「Ｐａ＝１」に基づき、最終舵角速度ωｓｃとして進角後舵角速度ωｏｓｃを推定角度演算部５５に出力する。その後、ステップＳ６１１に移行する。
ステップＳ６１１では、進角補正量過去値切替部６６ｈにおいて、入力された判定結果「Ｐａ＝１」に基づき、信号遅延部６６ｉの保持値（Ｃｔ（ｎ−１））を、ステップＳ６０３で算出した進角補正量Ｃｔに更新する。その後、一連の処理を終了して元の処理に復帰する。
【００９７】
一方、ステップＳ６０７において同方向ではないと判定されステップＳ６１３に移行した場合は、角速度切替部６６ｇにおいて、入力された判定結果「Ｐａ＝０」に基づき、舵角速度として出力軸角速度ωｏｓを推定角度演算部５５に出力する。その後、ステップＳ６１５に移行する。
ステップＳ６１５では、進角補正量過去値切替部６６ｈにおいて、入力された判定結果「Ｐａ＝０」に基づき、信号遅延部６６ｉの保持値（Ｃｔ（ｎ−１））を更新せずにそのまま保持する。その後、一連の処理を終了して元の処理に復帰する。
【００９８】
（推定角度演算部５５）
次に、図１９に基づき推定角度演算部５５の具体的な構成について説明する。
推定角度演算部５５は、図１９に示すように、整合部５５ａと、積分部５５ｂとを備えている。
整合部５５ａは、出力軸回転角センサ１３ｃと電動モータ２２との間に減速ギヤ２１が介在することから、最終舵角速度ωｓｃを介在後のものに整合させるための演算を行う。具体的に、進角許可判定部６６から入力された最終舵角速度ωｓｃに対して、減速比ＲＧｒ及び極対数Ｐを乗算する。そして、乗算後の最終舵角速度ωｓｃ’を、積分部５５ｂに出力する。
【００９９】
積分部５５ｂは、入力された最終舵角速度ωｓｃ’を積算し、この積算値を第２のモータ電気角θｍ２として電気角選択部２４Ｃに出力する。
また、積分部５５ｂは、補正角度算出部５３ｄから入力された補正タイミングフラグＣＴＦと補正角度θｅとに基づき、入力された補正タイミングフラグＣＴＦが「１」のときに、積算値を入力された補正角度θｅに変更する処理を行う。即ち、第２のモータ電気角θｍ２を補正角度θｅに補正する処理を行う。
【０１００】
（動作）
次に、図２２に基づき、第１実施形態の動作を説明する。
ＩＧＮスイッチ２８がオフ状態であって車両２が停止していると共に、操舵補助制御処理も停止している作動停止状態であるときには、モータ制御装置２５の制御演算装置３１及びモータ電気角検出回路２４が非作動状態となっている。
このため、制御演算装置３１及びモータ電気角検出回路２４で実行される各種処理は停止されている。この状態では、電動モータ２２は作動を停止しており、ステアリング機構への操舵補助力の出力を停止している。
【０１０１】
この作動停止状態からＩＧＮスイッチ２８をオン状態とすると、制御演算装置３１及びモータ電気角検出回路２４が作動状態となり、モータ電気角θｍの検出処理、操舵補助制御処理等の各種処理を開始する。このとき、レゾルバ２３が正常であるものとする。
このときには、異常検出信号ＳＡｒが異常なしを表す値となり、電気角選択部２４Ｃは、メイン電気角検出回路２４Ａで演算した第１のモータ電気角θｍ１をモータ電気角θｍとして制御演算装置３１に出力する。
【０１０２】
制御演算装置３１では、このモータ電気角θｍに基づいてｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊を算出する。そして、ｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊に基づきモータ駆動回路３２に対する３相のモータ電圧指令値Ｖａ＊、Ｖｂ＊及びＶｃ＊を算出し、算出した３相のモータ電圧指令値Ｖａ＊、Ｖｂ＊及びＶｃ＊をモータ駆動回路３２に出力する。これにより、モータ駆動回路３２によってインバータ回路４２が駆動制御され電動モータ２２が駆動制御（転流制御）される。
【０１０３】
一方、バックアップ電気角検出回路２４Ｂでは、レゾルバ２３が異常になった際、第２のモータ電気角θｍ２の算出処理が行われる。ここで、中間角度θｃ及びシフト後中間角度θｃ＿ｓｈｔの初期値は、レゾルバ２３が異常となる前の正常値に近い値に設定される。その他の信号は初期値「０」で初期化される。
即ち、バックアップ電気角検出回路２４Ｂの逆起電圧角度補正値算出部５３は、まず、出力軸回転角θｏｓを微分して出力軸角速度ωｏｓを算出し、モータ相電圧Ｖａ〜Ｖｃ及びモータ相電流Ｉａ〜Ｉｃに基づき各線間逆起電圧値ＥＭＦを算出する。次に、各線間逆起電圧値ＥＭＦの絶対値と所定の閾値Ｔｈｖとを比較し、所定の閾値Ｔｈｖ以上であると判定した場合に不感帯状態ではない（Ｆ＝０）と判定する（ステップＳ１０３のＹｅｓ及びＳ１０５）。一方、所定の閾値Ｔｈｖ未満であると判定した場合に不感帯状態である（Ｆ＝１）と判定する（ステップＳ１０３のＮｏ及びＳ１１５）。
【０１０４】
不感帯状態ではないと判定した場合は、次に、各線間逆起電圧値ＥＭＦの符号を取得し（ステップＳ１０７）、出力軸角速度ωｏｓの符号を取得する（ステップＳ１０９）。そして、取得した符号情報と、図９に示すマップ情報とに基づき絶対角度領域Ｚ及び中間角度θｃを判定する（ステップＳ１１１）。ここで、出力軸角速度ωｏｓの符号からモータ回転方向（正方向、逆方向）が解るので、モータ回転方向と各線間逆起電圧値ＥＭＦの符号関係とから絶対角度領域Ｚ及び中間角度θｃを一意に判定することができる。例えば、モータ回転方向が正方向で各線間逆起電圧値ＥＭＦの符号関係が（＋，−，−）である場合は、絶対角度領域Ｚは「６０〜１２０［ｄｅｇ＿ｅｌ］」となり、中間角度θｃは「９０［ｄｅｇ］」となる。
【０１０５】
次に、判定した今回の中間角度θｃと前回の中間角度θｃ（ｎ−１）と前回のシフト後中間角度θｃ＿ｓｈｔ（ｎ−１）とに基づきシフト後中間角度θｃ＿ｓｈｔを演算する（ステップＳ１１３）。
例えば、前回のθｃ（ｎ−１）が３０［ｄｅｇ］で今回のθｃが９０［ｄｅｇ］の場合、差分値Ｓｈｔ（＝θｃ−θｃ（ｎ−１））が６０［ｄｅｇ］となる（ステップＳ２０１、Ｓ２０３のＮｏ）。そのため、今回のシフト後中間角度θｃ＿ｓｈｔは、「θｃ＿ｓｈｔ＝θｃ−３０［ｄｅｇ］（ステップＳ２０９）」から６０［ｄｅｇ］となる。
【０１０６】
引き続き、逆起電圧角度補正値算出部５３は、不感帯状態値が「Ｆ＝０」であるため（ステップＳ３０１のＹｅｓ）、今回の絶対角度領域Ｚが前回の絶対角度領域Ｚ（ｎ−１）に対して、隣り合う領域に移行したものであるか否かを判定する（ステップＳ３０３）。
ここで、前回の絶対角度領域Ｚ（ｎ−１）が「０〜６０［ｄｅｇ＿ｌ］」で、今回の絶対角度領域Ｚが「６０〜１２０［ｄｅｇ＿ｅｌ］」であるとする。この場合は、隣り合う領域に移行しているので（ステップＳ３０３のＹｅｓ）、次に、シフト後中間角度θｃ＿ｓｈｔが変化しているか否かを判定する（ステップＳ３０５）。
【０１０７】
また、前回のシフト後中間角度θｃ＿ｓｈｔは０［ｄｅｇ］であるとする。上記したように０〜６０［ｄｅｇ＿ｌ］から６０〜１２０［ｄｅｇ＿ｅｌ］への移行では、今回のシフト後中間角度θｃ＿ｓｈｔは６０［ｄｅｇ］となるので、シフト後中間角度θｃ＿ｓｈｔは変化していると判定される（ステップＳ３０５のＹｅｓ）。
引き続き、出力軸角速度ωｏｓの符号と領域移行方向の符号（ここでは正方向を「＋」とする）とに基づき、移行方向と出力軸回転方向とが同方向であるか否かを判定する（ステップＳ３０７）。ここでは、出力軸角速度ωｏｓの符号が「＋」であるとして、同方向であると判定されたとする（ステップＳ３０７のＹｅｓ）。これにより、隣り合う領域への移行が確定する。
【０１０８】
続いて、前回と今回の絶対角度領域の境界角度を補正角度θｅとして設定し（ステップＳ３０９）、次いで補正タイミングフラグＣＴＦを「１」に設定する（ステップＳ３１１）。ここでは、補正角度θｅは、絶対角度領域０〜６０［ｄｅｇ＿ｌ］と６０〜１２０［ｄｅｇ＿ｅｌ］との境界角度である６０［ｄｅｇ］に設定される。その後、値が「１」の補正タイミングフラグＣＴＦ（以下、「補正タイミングフラグＣＴＦ（１）と称す）を、センサ間誤差補正部５４及び推定角度演算部５５にそれぞれ出力し、補正角度θｅを推定角度演算部５５に出力する（ステップＳ３１３）。
【０１０９】
一方、バックアップ電気角検出回路２４Ｂのセンサ間誤差補正部５４は、進角ゲイン算出部６１にて、入力された操舵トルクＴｈから図１５のマップ情報を用いて進角ゲインＧａｄを算出する。そして、算出した進角ゲインＧａｄを乗算部６２に出力する。第１実施形態では、操舵トルクＴｈが所定トルク値Ｔｈｔ以上である場合に進角ゲインＧａｄとして「１」よりも大きい値が出力され、所定トルク値Ｔｈｔ未満である場合に進角ゲインＧａｄとして「１」が出力される（図１５参照）。
【０１１０】
乗算部６２は、入力された出力軸角速度ωｏｓに入力された進角ゲインＧａｄを乗算して、進角後舵角速度ωｏｓｃを算出する。そして、算出した進角後舵角速度ωｏｓｃを進角許可判定部６６に出力する。
また、センサ間誤差補正部５４のモータトルク相当値算出部６３は、モータ相電流Ｉａ〜Ｉｃに基づき、モータトルク相当値Ｔｍ’としてｑ軸電流Ｉｑを算出する。そして、算出したモータトルク相当値Ｔｍ’を減速ギヤ誤差特性算出部６４に出力する。
減速ギヤ誤差特性算出部６４は、図１６に示すマップ情報を用いて、入力されたモータトルク相当値Ｔｍ’に対応する角度誤差（ねじれ角度）を減速ギヤ誤差特性Ｓｇとして算出し、算出した減速ギヤ誤差特性Ｓｇを進角補正限界値算出部６５に出力する。
【０１１１】
進角補正限界値算出部６５は、入力された減速ギヤ誤差特性Ｓｇと補正タイミングフラグＣＴＦとに基づき、進角補正限界値ＳｇＬを算出する。
具体的に、補正タイミングフラグＣＴＦが「０」から「１」になる毎に、このタイミングで入力された減速ギヤ誤差特性Ｓｇを基準誤差特性Ｓｇ０に設定する（ステップＳ５０１，Ｓ５０３のＹｅｓ，Ｓ５０５）。即ち、補正タイミングフラグＣＴＦが「０」から「１」に変化する毎に設定された基準誤差特性Ｓｇ０を入力された減速ギヤ誤差特性Ｓｇに更新する。
【０１１２】
そして、以降の進角補正限界値ＳｇＬの各算出タイミングにおいては、各算出タイミングで入力された減速ギヤ誤差特性Ｓｇから設定された基準誤差特性Ｓｇ０を減算した減算結果を進角補正限界値ＳｇＬとして算出する（ステップＳ５０７）。そして、算出した進角補正限界値ＳｇＬを進角許可判定部６６に出力する（ステップＳ５０９）。
【０１１３】
また、進角許可判定部６６は、減算部６６ａにおいて、入力された進角後舵角速度ωｏｓｃから入力された出力軸角速度ωｏｓを減算して、進角補正更新量Ｃｒを算出する。そして、算出した進角補正更新量Ｃｒを加算部６６ｂに出力する（ステップＳ６０１）。次に、加算部６６ｂにおいて、進角補正更新量Ｃｒに進角補正量過去値Ｃｔ（ｎ−１）を加算して進角補正量Ｃｔを算出する。そして、算出した進角補正量Ｃｔを減算部６６ｃに出力する（ステップＳ６０３）。
【０１１４】
続いて、符号取得部６６ｅにて、符号関数を用いて出力軸角速度ωｏｓの符号情報（ｓｉｇｎ（ωｏｓ））を算出する。そして、算出した符号情報を操舵方向として一致判定部６６ｆに出力する（ステップＳ６０４）。
引き続き、減算部６６ｃにて、進角補正限界値ＳｇＬから進角補正量Ｃｔを減算して、進角方向情報ｄｓを算出する。そして、算出した進角方向情報ｄｓを符号取得部６６ｄに出力する。続いて、符号取得部６６ｄにて、符号関数を用いて進角方向情報ｄｓの符号情報（ｓｉｇｎ（ｄｓ））を算出する。そして、算出した符号情報を進角方向として一致判定部６６ｆに出力する（ステップＳ６０５）。
【０１１５】
続いて、一致判定部６６ｆにて、入力された進角方向及び操舵方向が同方向であるか否かを判定する（ステップＳ６０７）。そして、一致判定部６６ｆは、同方向であると判定した場合に判定結果「Ｐａ＝１」を角速度切替部６６ｇ及び進角補正量過去値切替部６６ｈにそれぞれ出力する（ステップＳ６０７のＹｅｓ）。一方、同方向ではないと判定した場合に判定結果「Ｐａ＝０」を角速度切替部６６ｇ及び進角補正量過去値切替部６６ｈにそれぞれ出力する（ステップＳ６０７のＮｏ）。
続いて、角速度切替部６６ｇは、「Ｐａ＝１」の場合に最終舵角速度ωｓｃとして進角後舵角速度ωｏｓｃを推定角度演算部５５に出力し（ステップＳ６０９）、「Ｐａ＝０」の場合に最終舵角速度ωｓｃとして出力軸角速度ωｏｓを推定角度演算部５５に出力する（ステップＳ６１３）。
【０１１６】
推定角度演算部５５は、最終舵角速度ωｓｃが入力されると、整合部５５ａにて、入力された最終舵角速度ωｓｃに対して、減速比ＲＧｒと極対数Ｐを乗算して、この乗算結果ωｓｃ’を積分部５５ｂに出力する。積分部５５ｂは、入力された乗算結果ωｓｃ’を積分する。一方、積分部５５ｂは、逆起電圧角度補正値算出部５３から入力された補正タイミングフラグＣＴＦが「０」から「１」に変化した場合に、そのときの積分値を逆起電圧角度補正値算出部５３から入力された補正角度θｅに変更する。
具体的に、推定角度演算部５５では、進角方向と操舵方向とが一致しているときに進角後舵角速度ωｏｓｃを積算し、進角方向と操舵方向とが一致していないときに出力軸角速度ωｏｓを積算することになる。
【０１１７】
一方、進角補正量過去値切替部６６ｈは、「Ｐａ＝１」の場合に進角補正量Ｃｔを信号遅延部６６ｉに出力し、信号遅延部６６ｉは、保持している進角補正量過去値Ｃｔ（ｎ−１）を、進角補正量Ｃｔに更新する（ステップＳ６１１）。一方、進角補正量過去値切替部６６ｈは、「Ｐａ＝０」の場合に進角補正量過去値Ｃｔ（ｎ−１）を信号遅延部６６ｉに出力する。即ち、信号遅延部６６ｉは、保持している進角補正量過去値Ｃｔ（ｎ−１）をそのまま保持する（ステップＳ６１５）。
また、信号遅延部６６ｉは、逆起電圧角度補正値算出部５３から入力された補正タイミングフラグＣＴＦが「０」から「１」に変化した場合に、そのときの保持値を「０」にリセットする。
【０１１８】
次に、進角許可判定部６６の動作を、具体例を挙げて説明する。
図２２の例は、例えばパーキングでの操舵でモータ出力がある程度大きくなる状況での操舵を示すものである。
図２２において、同図中の上図では、縦軸が角度［ｄｅｇ］を示し、同図中の中図では、縦軸がモータ出力トルクＴｍ［Ｎｍ］を示し、同図中の下図では、縦軸が操舵方向（出力軸角速度ωｏｓの符号が＋符号の場合は「１」、−符号の場合は「−１」）を示す。また、いずれの図においても横軸は時間［ｓ］を示す。また、同図中の上図では、実線が進角補正量Ｃｔを示し、破線が進角補正限界値ＳｇＬを示す。
【０１１９】
図２２中の（１）の期間では、ドライバーの「＋」方向の操舵に応じて、モータ出力トルクＴｍがプラス側で大きくなっており、これに伴って進角補正限界値ＳｇＬもプラス側で大きくなっている。また、操舵方向の符号が「＋」であり、且つ進角方向（ｓｉｇｎ（ｄｓ＝ＳｇＬ−Ｃｔ））の符号も「＋」となっている。そのため、操舵方向と進角方向とが一致するので、進角許可判定部６６は、進角後舵角速度ωｏｓｃの積算による進角を許可する。
続いて、図２２中の（２）の期間では、ドライバーが保舵状態となり、モータ出力トルクＴｍの変化が止まるため進角補正限界値ＳｇＬの変化も止まる。一方、操舵方向の符号が「＋」であり、且つ進角方向（ｓｉｇｎ（ｄｓ））も「＋」となっている。そのため、操舵方向と進角方向とが一致するので、進角許可判定部６６は、進角後舵角速度ωｏｓｃの積算による進角を許可する。
【０１２０】
続いて、図２２中の（３）の期間では、ドライバーの保舵状態が続いており、モータ出力トルクＴｍの変化及び進角補正限界値ＳｇＬの変化が止まった状態のままとなっている。また、上記（２）の期間での進角後舵角速度ωｏｓｃの積算による進角によって、進角補正量Ｃｔと進角補正限界値ＳｇＬとが略一致した状態となっている。そのため、進角後舵角速度ωｏｓｃの積算を行った場合の進角方向（ｓｉｇｎ（ｄｓ））が「−」となる。また、このときの操舵方向は「＋」となっているため、操舵方向と進角方向とが一致せず、進角許可判定部６６は、進角後舵角速度ωｏｓｃの積算による進角を不許可とする。
【０１２１】
引き続き、図２２中の（４）の期間では、ドライバーは保舵状態を維持しているが、モータ出力トルクＴｍが下がり始める。これに伴って進角補正限界値ＳｇＬも下がっていく。この期間では、操舵方向は「＋」となるが、進角方向（ｓｉｇｎ（ｄｓ））が「−」となる。そのため、操舵方向と進角方向とが一致せず、進角許可判定部６６は、進角後舵角速度ωｏｓｃの積算による進角を不許可とする。
【０１２２】
続いて、図２２中の（５）の期間では、ドライバーが切り戻し操舵を行っており、モータ出力トルクＴｍが更に下がっていき、やがてモータ出力トルクＴｍがマイナス方向となり符号が「−」となる。これに伴って進角補正限界値ＳｇＬも下がっていき、やがて進角補正限界値ＳｇＬがマイナス値となり符号が「−」となる。この期間では操舵方向が「−」となっており、且つ進角方向（ｓｉｇｎ（ｄｓ））が「−」となる。そのため、操舵方向と進角方向とが一致するので、進角許可判定部６６は、進角後舵角速度ωｏｓｃの積算による進角を許可する。
【０１２３】
ここで、出力軸回転角センサ１３ｃが舵角検出部に対応し、出力軸角速度演算部５３ａが舵角速度算出部に対応し、推定角度演算部５５がモータ電気角推定部に対応し、制御演算装置３１がモータ駆動制御部に対応する。
また、レゾルバ２３及びメイン電気角検出回路２４Ａがモータ電気角検出部に対応し、進角ゲイン算出部６１が進角ゲイン設定部に対応し、乗算部６２が進角後舵角速度算出部に対応し、第２のモータ電気角θｍ２が推定モータ電気角に対応する。
【０１２４】
また、操舵トルクセンサ１３が操舵トルク検出部に対応し、進角許可判定部６６が進角補正量制御部に対応し、出力軸角速度ωｏｓがモータ回転方向情報に対応し、値が「１」のときの補正タイミングフラグＣＴＦが補正タイミング情報に対応する。
また、逆起電圧角度補正値算出部５３及び推定角度演算部５５が逆起電圧角度補正部に対応し、モータ出力トルクＴｍ及びモータトルク相当値Ｔｍ’がモータ出力トルク情報に対応し、減速ギヤ誤差特性Ｓｇが角度誤差に対応し、基準誤差特性Ｓｇ０が基準角度誤差に対応する。
【０１２５】
（第１実施形態の作用及び効果）
第１実施形態に係るモータ制御装置２５は、出力軸角速度演算部５３ａが、出力軸回転角センサ１３ｃで検出した出力軸回転角θｏｓに基づき出力軸角速度ωｏｓを算出する。推定角度演算部５５が、出力軸角速度ωｏｓに基づき電動モータ２２のモータ電気角θｍの推定値である第２のモータ電気角θｍ２を演算する。制御演算装置３１が、レゾルバ２３の正常時はメイン電気角検出回路２４Ａで算出した第１のモータ電気角θｍ１に基づき電動モータ２２を駆動制御し、レゾルバ２３の異常時は推定角度演算部５５で算出した第２のモータ電気角θｍ２に基づき電動モータ２２を駆動制御する。進角ゲイン算出部６１が、操舵トルクＴｈに基づき第２のモータ電気角θｍ２の進角量を補正するための進角ゲインＧａｄを算出する。具体的に、進角ゲイン算出部６１は、予め設定した所定トルク値Ｔｈｔ以上の操舵トルクＴｈの入力時のみに、操舵方向に対して遅れる方向の角度誤差を打ち消す方向に第２のモータ電気角θｍ２を進角させるための進角ゲインＧａｄを算出する。また、所定トルク値Ｔｈｔとしては、角度誤差による影響がドライバーの手感として現れるか否かの境界値が設定されている。乗算部６２が、進角ゲイン算出部６１で算出した進角ゲインＧａｄを出力軸角速度ωｏｓに乗算して進角後舵角速度ωｏｓｃを算出する。そして、推定角度演算部５５は、乗算部６２で算出した進角後舵角速度ωｏｓｃを積算して、その積算値に基づき第２のモータ電気角θｍ２を演算する。
【０１２６】
この構成であれば、予め設定した所定トルク値Ｔｈｔ以上の操舵トルクＴｈの入力に対して、第２のモータ電気角θｍ２を操舵方向に対して遅れる方向の角度誤差を打ち消す方向に進角させるための進角後舵角速度ωｏｓｃ算出することが可能となる。第１実施形態では、所定トルク値Ｔｈｔを角度誤差による影響が手感として現れるか否かの境界値に設定したので、角度誤差による影響が手感として現れるタイミングでのみ補正を行うことが可能となる。これにより、従来と比較して簡単な構成で操舵方向に対して遅れる方向の角度誤差を低減することが可能となる。
【０１２７】
また、第１実施形態に係るモータ制御装置２５は、更に、逆起電圧角度補正値算出部５３及び推定角度演算部５５が、電動モータ２２の各線間逆起電圧値ＥＭＦに基づき第２のモータ電気角θｍ２を補正する。
具体的に、第１実施形態では、逆起電圧角度補正値算出部５３及び推定角度演算部５５が、モータ電気角θｍの１周期の角度範囲（３６０°の範囲）を６０°毎に区分した絶対角度領域Ｚを算出する（図９参照）。加えて、モータ回転情報である出力軸角速度ωｏｓと各線間逆起電圧値ＥＭＦの符号関係とに基づき、実際のモータ電気角θｍの存在する絶対角度領域Ｚを判定すると共に絶対角度領域Ｚが隣り合う領域へと切り替わるタイミングを検出する。そして、検出したタイミング（補正タイミング）で移行前後の絶対角度領域の境界角度（補正角度θｅ）に基づき第２のモータ電気角θｍ２を補正する。第１実施形態では、積分部５５ｂの積算値を境界角度（補正角度θｅ）に変更する補正を行う。
【０１２８】
この構成であれば、絶対角度領域が隣り合う領域へと切り替わるタイミングで、前後の絶対角度領域の境界角度を用いて第２のモータ電気角θｍ２を補正することが可能となる。ここで、境界角度は既知の電気角となるため出力軸角速度ωｏｓから求めた角度情報と比較して信頼性の高い角度情報となる。そして、この信頼性の高い角度情報で第２のモータ電気角θｍ２を補正することが可能となるので、モータ電気角θｍの推定精度を向上することが可能となる。
【０１２９】
また、第１実施形態に係るモータ制御装置２５は、更に、絶対角度領域判定部５３ｃが、各線間逆起電圧値ＥＭＦの最大値の絶対値｜ＥＭＦ｜と所定の閾値Ｔｈｖとを比較し、絶対値｜ＥＭＦ｜が所定の閾値Ｔｈｖ以上となるときのみ境界角度による補正を行う。
ここで、モータ低回転時には各線間逆起電圧が微弱となって符号関係の取得値の信頼性が低くなる。
上記構成であれば、モータ低回転時に信頼性の低い境界角度による補正が行われるのを防ぐことが可能となり、モータ低回転時の推定精度の悪化を防ぐことが可能となる。
【０１３０】
また、第１実施形態に係るモータ制御装置２５は、更に、絶対角度領域判定部５３ｃが、絶対角度領域Ｚの中間角度θｃを算出する。更に、中間角度θｃが移行するときのその移行方向を判定し、判定した移行方向に応じて中間角度θｃをシフトした新たなシフト後中間角度θｃ＿ｓｈｔを算出する。補正角度算出部５３ｄが、上記補正するタイミングを、絶対角度領域Ｚが隣り合う領域へ移行し且つシフト後中間角度θｃ＿ｓｈｔが変化したときとする。
【０１３１】
ここで、絶対角度領域Ｚの切り替わり境界角度付近では各線間逆起電圧値ＥＭＦの符号関係が切り替わり易く、絶対角領域判定が隣り合う領域間でハンチングを起こす可能性がある。
上記構成であれば、シフト後中間角度θｃ＿ｓｈｔは、上記ハンチング時においては移動しない構成であるため、補正タイミング条件として追加することで一層正確に第２のモータ電気角θｍ２を補正することが可能となる。
【０１３２】
また、第１実施形態に係るモータ制御装置２５は、更に、進角補正限界値算出部６５が、角度誤差を発生する誤差要因の誤差特性に基づき、進角後舵角速度ωｏｓｃの増加部分の積算量である進角補正量Ｃｔの限界値である進角補正限界値ＳｇＬを算出する。進角許可判定部６６が、進角補正量Ｃｔが進角補正限界値算出部６５で算出した進角補正限界値ＳｇＬを超えないように推定角度演算部５５の進角後舵角速度ωｏｓｃの積算処理を制御する。
【０１３３】
具体的に、逆起電圧角度補正値算出部５３が、上記切り替わるタイミングを検出する毎に第２のモータ電気角θｍ２の補正タイミングを示す補正タイミングフラグＣＴＦ（１）を進角補正限界値算出部６５及び進角許可判定部６６に出力する。進角補正限界値算出部６５が、入力された補正タイミングフラグＣＴＦ（１）に基づき補正タイミング毎に、そのときのモータトルク相当値Ｔｍ’（ｑ軸電流Ｉｑ）に対応する減速ギヤ誤差特性Ｓｇを基準誤差特性Ｓｇ０として算出する。そして、算出した基準誤差特性Ｓｇ０と以降の各算出タイミングにおける減速ギヤ誤差特性Ｓｇとの差分値を各算出タイミングにおける進角補正限界値ＳｇＬとして算出する。進角許可判定部６６が、進角補正更新量Ｃｒを積算することで進角補正量Ｃｔを算出し、補正タイミングフラグＣＴＦ（１）に基づき補正タイミング毎に進角補正更新量Ｃｒの積算値を０にリセットする。即ち、信号遅延部６６ｉで保持している進角補正量過去値Ｃｔ（ｎ−１）を０にリセットする。
【０１３４】
この構成であれば、減速ギヤ誤差特性Ｓｇに基づき進角補正限界値ＳｇＬを算出し、進角補正量Ｃｔがこの進角補正限界値ＳｇＬを超えないように進角後舵角速度ωｏｓｃの積算処理を制御することが可能となる。これにより、ラックエンドへの押し当て時や、タイヤの縁石ヒット時などのモータ低回転で操舵トルクＴｈが大きくなるシチュエーションにおいて、減速ギヤ２１による角度誤差分を超えるような過剰な進角が発生するのを防止することが可能となる。その結果、過剰進角によるアシスト効率の低下や脱調の発生を防止することが可能となる。
【０１３５】
また、上記境界角度による補正タイミング毎に基準誤差特性Ｓｇ０を更新するようにしたので、境界角度による補正が行われて第２のモータ電気角θｍ２が急変した場合でも、新たな基準から進角補正限界値ＳｇＬを算出することが可能となるので、より確実に過剰進角の発生を防止することが可能となる。
また、第１実施形態に係る電動パワーステアリング装置１は、モータ制御装置２５を備える。
この構成であれば、上記モータ制御装置２５と同等の作用及び効果が得られる。また、レゾルバ２３及びモータ電気角検出回路２４に異常が発生した場合でも電動モータ２２を第２のモータ電気角θｍ２により駆動制御することができ電動パワーステアリング装置１の操舵補助機能の継続が可能となる。
【０１３６】
（第２実施形態）
次に、本発明の第２実施形態を説明する。
（構成）
この第２実施形態は、上記第１実施形態において減速ギヤ２１の減速ギヤ誤差特性のみを考慮して進角補正限界値ＳｇＬを算出する構成としていたが、減速ギヤ誤差特性に加えて出力軸回転角センサ１３ｃの検出誤差特性についても考慮する点で上記第１実施形態と相違する。それ以外は上記第１実施形態と同様の構成となる。
以下、上記第１実施形態と同じ構成部については同じ符号を付して適宜説明を省略し、異なる部分を詳細に説明する。
【０１３７】
（センサ間誤差補正部５４）
第２実施形態に係るセンサ間誤差補正部５４は、図２３に示すように、上記第１実施形態の構成に対して、センサ誤差特性算出部６７と、加算部６８とが追加された構成となっている。
センサ誤差特性算出部６７は、出力軸角速度ωｏｓに基づきセンサ誤差特性Ｓｓを算出する。そして、算出したセンサ誤差特性Ｓｓを加算部６８に出力する。
【０１３８】
ここで、出力軸回転角センサ１３ｃの検出誤差としては、図２４に示すように、主にリニアリティ誤差とヒステリシス誤差とがある。なお、図２４において、横軸は時間で縦軸は舵角（出力軸回転角θｏｓ）である。リニアリティ誤差は、真値に対しうねるような特性の誤差を示し、ヒステリシス誤差は、真値の変化方向に対し不感帯のような誤差特性を示す。特にヒステリシス誤差については、出力軸１２ｂの取り付け剛性等により頻繁に発生する誤差特性であるため、補正をかけておきたい特性である。
また、リニアリティ誤差とヒステリシス誤差とは、横軸を操舵速度（出力軸角速度ωｏｓ）とし、縦軸を電気角度誤差とすると図２５に示すように表現できる。
【０１３９】
図２５に示すように、両者を併せた誤差は、操舵速度の符号がマイナスのときにプラスの誤差となり、操舵速度の符号がプラスのときにマイナスの誤差となる。
このことに基づき、第２実施形態のセンサ誤差特性算出部６７は、操舵速度の符号（即ち、操舵方向）に応じて、マイナス符号のときにプラス側の誤差の最大値（波線の頂点の値）をセンサ誤差特性Ｓｓとして算出する。一方、プラス符号のときにマイナス側の誤差の最大値（波線の頂点の値）をセンサ誤差特性Ｓｓとして算出する。即ち、第２実施形態において、センサ誤差特性Ｓｓは操舵方向に対して符号が異なる固定値となる。
【０１４０】
加算部６８は、減速ギヤ誤差特性算出部６４から入力された減速ギヤ誤差特性Ｓｇにセンサ誤差特性算出部６７から入力されたセンサ誤差特性Ｓｓを加算して、この加算結果を合成誤差特性Ｓｇｓとして進角補正限界値算出部６５に出力する。
減速ギヤ誤差特性Ｓｇにセンサ誤差特性Ｓｓを加算した場合、操舵速度の符号が「＋」の場合に、図１６に示す減速ギヤ誤差特性マップの全体が下に下がった状態となる。一方、操舵速度の符号が「−」の場合に、図１６に示す減速ギヤ誤差特性マップの全体が上に上がった状態となる。即ち、センサ誤差分が加味されたマップとなる。
【０１４１】
第２実施形態の進角補正限界値算出部６５は、加算部６８から入力された合成誤差特性Ｓｇｓを用いて、上記第１実施形態の進角補正限界値ＳｇＬに代えて進角補正限界値ＳｇｓＬを算出する。そして、算出した進角補正限界値ＳｇｓＬを、進角許可判定部６６に出力する。
具体的に、入力された補正タイミングフラグＣＴＦに基づき補正タイミング毎に、そのときに入力された合成誤差特性Ｓｇｓを基準誤差特性Ｓｇｓ０に設定する（メモリに記憶保持する）。そして、以降の進角補正限界値ＳｇｓＬの各算出タイミングにおいて、そのときに入力された合成誤差特性Ｓｇｓから基準誤差特性Ｓｇｓ０を減算することで、進角補正限界値ＳｇｓＬを算出する。
【０１４２】
（合成誤差特性算出処理）
次に、図２６に基づき、上記加算部６８で実行される合成誤差特性算出処理の具体的な処理内容について説明する。合成誤差特性算出処理は、上記メインプログラムにおいて呼び出されて実行されるサブプログラムの処理となる。
モータ電気角検出回路２４のＣＰＵにて合成誤差特性算出処理が実行されると、図２６に示すように、まず、ステップＳ７０１に移行する。
ステップＳ７０１では、加算部６８において、減速ギヤ誤差特性算出部６４からの減速ギヤ誤差特性Ｓｇ及びセンサ誤差特性算出部６７からのセンサ誤差特性Ｓｓを読み込んで、ステップＳ７０３に移行する。
ステップＳ７０３では、加算部６８において、読み込んだ減速ギヤ誤差特性Ｓｇに読み込んだセンサ誤差特性Ｓｓを加算して合成誤差特性Ｓｇｓを算出する。その後、ステップＳ７０５に移行する。
ステップＳ７０５では、加算部６８において、ステップＳ７０３で算出した合成誤差特性Ｓｇｓを、進角補正限界値算出部６５に出力して、一連の処理を終了し元の処理に復帰する。
【０１４３】
（進角補正限界値算出処理）
次に、図２７に基づき、第２実施形態の進角補正限界値算出部６５で実行される進角補正限界値算出処理の具体的な処理内容について説明する。進角補正限界値算出処理は、上記メインプログラムにおいて呼び出されて実行されるサブプログラムの処理となる。
【０１４４】
モータ電気角検出回路２４のＣＰＵにて進角補正限界値算出処理が実行されると、図２７に示すように、まず、ステップＳ８０１に移行する。
ステップＳ８０１では、進角補正限界値算出部６５において、合成誤差特性Ｓｇｓ及び補正タイミングフラグＣＴＦを読み込んで、ステップＳ８０３に移行する。
【０１４５】
ステップＳ８０３では、進角補正限界値算出部６５において、補正タイミングフラグＣＴＦが「０」から「１」に変化したか否かを判定し、「０」から「１」に変化したと判定した場合（Ｙｅｓ）は、ステップＳ８０５に移行し、そうでないと判定した場合（Ｎｏ）は、ステップＳ８０７に移行する。
【０１４６】
ステップＳ８０５に移行した場合は、進角補正限界値算出部６５において、補正タイミングフラグＣＴＦが「０」から「１」に変化したタイミングを基準タイミングとして、そのときのモータトルク相当値Ｔｍ’及び出力軸角速度ωｏｓに対応する減速ギヤ誤差特性Ｓｇ及びセンサ誤差特性Ｓｓの加算値である合成誤差特性Ｓｇｓを基準誤差特性Ｓｇｓ０として設定する。その後、ステップＳ８０７に移行する。
具体的に、進角補正限界値算出部６５は、ステップＳ８０１で読み込んだ合成誤差特性Ｓｇｓを基準誤差特性Ｓｇｓ０に設定し、この基準誤差特性Ｓｇｓ０をメモリに記憶保持する。
【０１４７】
ステップＳ８０７では、進角補正限界値算出部６５において、ステップＳ８０１で読み込んだ減速ギヤ誤差特性Ｓｇからメモリに記憶された基準誤差特性Ｓｇ０を減算して、進角補正限界値ＳｇｓＬを算出する。その後、ステップＳ８０９に移行する。
ステップＳ８０９では、進角補正限界値算出部６５において、ステップＳ８０７で算出した進角補正限界値ＳｇｓＬを進角許可判定部６６に出力して、一連の処理を終了し元の処理に復帰する。
【０１４８】
（動作）
以下、第２実施形態の動作を説明する。なお、上記第１実施形態と同様の動作は適宜省略し異なる動作を詳細に説明する。
減速ギヤ誤差特性算出部６４は、図１６に示すマップ情報を用いて、入力されたモータトルク相当値Ｔｍ’に対応する角度誤差（ねじれ角度）を減速ギヤ誤差特性Ｓｇとして算出し、算出した減速ギヤ誤差特性Ｓｇを加算部６８に出力する。
一方、センサ誤差特性算出部６７は、図２５に示す誤差特性を用いて、入力された出力軸角速度ωｏｓに対応する角度誤差（固定値）をセンサ誤差特性Ｓｓとして算出し、算出したセンサ誤差特性Ｓｓを加算部６８に出力する。
【０１４９】
加算部６８は、入力された減速ギヤ誤差特性Ｓｇに入力されたセンサ誤差特性Ｓｓを加算して、合成誤差特性Ｓｇｓを算出する（ステップＳ７０１〜Ｓ７０３）。そして、算出した合成誤差特性Ｓｇｓを進角補正限界値算出部６５に出力する（ステップＳ７０５）。
進角補正限界値算出部６５は、入力された合成誤差特性Ｓｇｓと入力された補正タイミングフラグＣＴＦとに基づき、進角補正限界値ＳｇＬを算出する。
【０１５０】
具体的に、補正タイミングフラグＣＴＦが「０」から「１」に変化する毎に、このタイミングで入力された合成誤差特性Ｓｇｓを基準誤差特性Ｓｇｓ０に設定する（ステップＳ８０１、Ｓ８０３のＹｅｓ，Ｓ８０５）。即ち、補正タイミングフラグＣＴＦが「０」から「１」に変化する毎に設定された基準誤差特性Ｓｇｓ０を入力された合成誤差特性Ｓｇｓに更新する。
【０１５１】
そして、以降の進角補正限界値ＳｇＬの各算出タイミングにおいては、各算出タイミングで入力された合成誤差特性Ｓｇｓから設定された基準誤差特性Ｓｇｓ０を減算した減算結果を進角補正限界値ＳｇｓＬとして算出する（ステップＳ８０７）。そして、算出した進角補正限界値ＳｇｓＬを進角許可判定部６６に出力する（ステップＳ８０９）。
以降の進角許可判定部６６及び推定角度演算部５５の動作は、進角補正限界値ＳｇＬに代えて進角補正限界値ＳｇｓＬを用いる点が異なるのみで上記第１実施形態と同様となるので説明を省略する。
【０１５２】
（第２実施形態の作用及び効果）
第２実施形態は、上記第１実施形態の効果に加えて以下の効果を奏する。
第２実施形態に係るモータ制御装置２５は、逆起電圧角度補正値算出部５３が、実際のモータ電気角θｍが存在する絶対角度領域Ｚが隣り合う領域に切り替わるタイミングを検出する。そして、このタイミングを検出する毎に第２のモータ電気角θｍ２の補正タイミングを示す補正タイミングフラグＣＴＦ（１）を進角補正限界値算出部６５及び進角許可判定部６６に出力する。進角補正限界値算出部６５が、入力された補正タイミングフラグＣＴＦ（１）に基づき補正タイミング毎に、そのときのモータトルク相当値Ｔｍ’（ｑ軸電流Ｉｑ）に対応する減速ギヤ誤差特性Ｓｇに、そのときの出力軸角速度ωｏｓに対応するセンサ誤差特性Ｓｓを加算してなる合成誤差特性Ｓｇｓを基準誤差特性Ｓｇｓ０として算出する。そして、算出した基準誤差特性Ｓｇｓ０と以降の各算出タイミングにおける合成誤差特性Ｓｇｓとの差分値を各算出タイミングにおける進角補正限界値ＳｇＬとして算出する。
【０１５３】
進角許可判定部６６が、進角補正更新量Ｃｒを積算することで進角補正量Ｃｔを算出し、補正タイミングフラグＣＴＦ（１）に基づき補正タイミング毎に進角補正更新量Ｃｒの積算値を０にリセットする。即ち、信号遅延部６６ｉで保持している進角補正量過去値Ｃｔ（ｎ−１）を０にリセットする。
【０１５４】
この構成であれば、減速ギヤ誤差特性Ｓｇにセンサ誤差特性Ｓｓを加算した合成誤差特性Ｓｇｓに基づき進角補正限界値ＳｇＬを算出し、進角補正量Ｃｔがこの進角補正限界値ＳｇＬを超えないように進角後舵角速度ωｏｓｃの積算処理を制御することが可能となる。これにより、ラックエンドへの押し当て時や、タイヤの縁石ヒット時などのモータ低回転で操舵トルクＴｈが大きくなるシチュエーションにおいて左右に操舵した場合にも、減速ギヤ２１及び出力軸回転角センサ１３ｃによる角度誤差分の合計を超えるような過剰な進角が発生するのを防止することが可能となる。その結果、過剰進角によるアシスト効率の低下や脱調の発生をより確実に防止することが可能となる。
また、上記境界角度による補正タイミング毎に基準誤差特性Ｓｇ０を更新するようにしたので、境界角度による補正が行われて第２のモータ電気角θｍ２が急変した場合でも、新たな基準から進角補正限界値ＳｇＬを算出することが可能となるので、より確実に過剰進角の発生を防止することが可能となる。
【０１５５】
（第３実施形態）
次に、本発明の第３実施形態を説明する。
（構成）
この第３実施形態は、上記第１実施形態において進角ゲインを「１」以上の値として、これを出力軸角速度ωｏｓに乗算して進角後舵角速度ωｏｓｃを算出する構成としていたが、進角ゲインを「０」以上の値として、これを出力軸角速度ωｏｓに乗算して進角補正更新量Ｃｒを算出する点で上記第１実施形態と相違する。また、出力軸角速度ωｏｓに進角補正更新量Ｃｒを加算することで進角後舵角速度ωｏｓｃを算出する点でも相違する。これら以外の構成は上記第１実施形態と同様の構成となる。
以下、上記第１実施形態と同じ構成部については同じ符号を付して適宜説明を省略し、異なる部分を詳細に説明する。
【０１５６】
（進角ゲイン算出部６１）
第３実施形態に係る進角ゲイン算出部６１は、上記第１実施形態の図１５に示す進角ゲインマップに代えて、図２９に示す進角ゲインマップを用いて上記第１実施形態の進角ゲインＧａｄに代えて進角ゲインＧａｄ’を算出する構成となっている。
具体的に、第３実施形態の進角ゲインマップは、図２９に示すように、操舵トルクＴｈの絶対値｜Ｔｈ｜が、所定トルク値Ｔｈｔ未満となる不感帯の範囲で進角ゲインＧａｄ’が「０」となり、所定トルク値Ｔｈｔ以上となる範囲で進角ゲインＧａｄ’が「０」よりも大きい値となる特性を有している。特に、絶対値｜Ｔｈ｜が所定トルク値Ｔｈｔ以上となる範囲では、進角ゲインＧａｄ’が絶対値｜Ｔｈ｜が大きくなるほど一定の傾きで線形に大きくなる特性を有している。なお、進角ゲインマップは、一定の傾きで線形に変化する構成に限らず、複数の傾きで多段階に線形変化する構成や、非線形に変化する構成とするなど他の構成としてもよい。
【０１５７】
（乗算部６２）
第３実施形態に係る乗算部６２は、出力軸角速度演算部５３ａから入力された出力軸角速度ωｏｓに、進角ゲイン算出部６１から入力された進角ゲインＧａｄ’を乗算して、進角補正更新量Ｃｒを算出する。そして、算出した進角補正更新量Ｃｒを進角許可判定部６６に出力する。なお、操舵トルクＴｈの絶対値｜Ｔｈ｜が所定トルク値Ｔｈｔ未満となる範囲では、進角ゲインＧａｄ’が「０」となるため進角補正更新量Ｃｒも「０」となる。
【０１５８】
（進角許可判定部６６）
第３実施形態に係る進角許可判定部６６は、図２８に示すように、上記第１実施形態の進角許可判定部６６において、減算部６６ａに代えて加算部６６ｊを備えた構成となっている。
第３実施形態の加算部６６ｂは、乗算部６２から入力された進角補正更新量Ｃｒに、信号遅延部６６ｉから入力された進角補正量過去値Ｃｔ（ｎ−１）を加算して進角補正量Ｃｔを算出する。そして、算出した進角補正量Ｃｔを減算部６６ｃと進角補正量過去値切替部６６ｈとにそれぞれ出力する。
【０１５９】
加算部６６ｊは、出力軸角速度演算部５３ａから入力された出力軸角速度ωｏｓに乗算部６２から入力された進角補正更新量Ｃｒを加算して、進角後舵角速度ωｏｓｃを算出する。そして、算出した進角後舵角速度ωｏｓｃを、角速度切替部６６ｇに出力する。
ここで、操舵トルクＴｈの絶対値｜Ｔｈ｜が所定トルク値Ｔｈｔ未満となるときは、進角補正更新量Ｃｒが「０」となり、この場合は、進角後舵角速度ωｏｓｃとして出力軸角速度ωｏｓが出力されることになる。
【０１６０】
第３実施形態の角速度切替部６６ｇは、一致判定部６６ｆから入力された判定結果Ｐａに基づき、最終舵角速度ωｓｃとして推定角度演算部５５に出力する最終舵角速度ωｓｃを、出力軸角速度演算部５３ａから入力された出力軸角速度ωｏｓと、加算部６６ｊから入力された進角後舵角速度ωｏｓｃとのいずれか一方に切り替える。切替方法については、上記第１実施形態の角速度切替部６６ｇと同様となる。
【０１６１】
以上説明した構成部以外の各構成部の処理内容は、上記第１実施形態と同様となるので説明を省略する。また、動作についても、図２９に示す進角ゲインマップから求めた進角ゲインＧａｄ’を用いて出力軸角速度ωｏｓから進角補正更新量Ｃｒを求め、この進角補正更新量Ｃｒを出力軸角速度ωｏｓに加算して進角後舵角速度ωｏｓｃを求める点が異なるのみで、他の動作については上記第１実施形態と同様となる。そのため、動作の説明も省略する。
ここで、乗算部６２及び加算部６６ｊが進角後舵角速度算出部に対応する。
【０１６２】
（第３実施形態の作用及び効果）
第３実施形態に係るモータ制御装置２５は、出力軸角速度演算部５３ａが、出力軸回転角センサ１３ｃで検出した出力軸回転角θｏｓに基づき出力軸角速度ωｏｓを算出する。推定角度演算部５５が、出力軸角速度ωｏｓに基づき電動モータ２２のモータ電気角θｍの推定値である第２のモータ電気角θｍ２を演算する。制御演算装置３１が、レゾルバ２３の正常時はメイン電気角検出回路２４Ａで算出した第１のモータ電気角θｍ１に基づき電動モータ２２を駆動制御する。一方、レゾルバ２３の異常時は推定角度演算部５５で算出した第２のモータ電気角θｍ２に基づき電動モータ２２を駆動制御する。
【０１６３】
更に、進角ゲイン算出部６１が、操舵トルクＴｈに基づき第２のモータ電気角θｍ２の進角量を補正するための進角ゲインＧａｄ’を算出する。ここで、進角ゲインＧａｄ’は、操舵方向に対して遅れる方向の角度誤差を打ち消す方向に第２のモータ電気角θｍ２を進角させるためのゲインであり、操舵トルクＴｈの絶対値｜Ｔｈ｜が所定トルク値Ｔｈｔ未満のときに「０」となり、所定トルク値Ｔｈｔ以上のときに「０」よりも大きい値となる。また、所定トルク値Ｔｈｔとしては、上記第１実施形態と同様に角度誤差による影響がドライバーの手感として現れるか否かの境界値が設定されている。乗算部６２が、出力軸角速度演算部５３ａで算出した出力軸角速度ωｏｓに進角ゲイン算出部６１で算出した進角ゲインＧａｄ’を乗算して、進角補正更新量Ｃｒを算出する。加算部６６ｊが、出力軸角速度演算部５３ａで算出した出力軸角速度ωｏｓに乗算部６２で算出した進角補正更新量Ｃｒを加算することで進角後舵角速度ωｏｓｃを算出する。そして、推定角度演算部５５は、乗算部６２で算出した進角後舵角速度ωｏｓｃを積算して、その積算値に基づき第２のモータ電気角θｍ２を演算する。
この構成であれば、上記第１実施形態に係るモータ制御装置２５と同等の作用及び効果が得られる。
【０１６４】
（変形例）
上記第２実施形態においては、減速ギヤ誤差特性Ｓｇ及びセンサ誤差特性Ｓｓを合成した合成誤差特性Ｓｇｓに基づき進角補正限界値ＳｇｓＬを算出する構成としたが、この構成に限らない。例えば、センサ誤差特性Ｓｓのみを用いて上記第２実施形態の進角補正限界値ＳｇｓＬに代えて進角補正限界値ＳｓＬを算出する構成としてもよい。この構成とした場合は、出力軸角速度ωｏｓの符号に対応する固定のセンサ誤差特性Ｓｓ（図２５参照）が進角補正限界値ＳｓＬとなる。そして、補正タイミングフラグＣＴＦに関係なく、出力軸角速度ωｏｓの符号が反転する毎に、各符号に対応するセンサ誤差特性Ｓｓが進角補正限界値ＳｓＬとして設定される。
【０１６５】
また、上記各実施形態においては、操舵トルクセンサ１３を構成する出力軸回転角センサ１３ｃで検出した出力軸回転角θｏｓに基づきモータ電気角を推定する構成としたが、この構成に限らない。例えば、入力軸回転角センサ１３ｂで検出した入力軸回転角θｉｓに基づきモータ電気角を推定するなど、ステアリングホイール１１の操作に伴って回転する軸の回転角を検出するセンサであれば他のセンサで検出した回転角に基づきモータ電気角を推定してもよい。
【０１６６】
また、上記各実施形態においては、モータ電気角の１周期を６０［ｄｅｇ］毎の絶対角度領域に区分して、出力軸角速度ωｏｓの符号（モータ回転方向に相当）と各線間逆起電圧値ＥＭＦの符号関係とに基づき、実際のモータ電気角θｍがどの絶対角度領域に存在するのかを判定する。加えて、実際のモータ電気角θｍの存在する絶対角度領域が隣り合う領域に移行したか否かを判定し、移行したと判定した場合に前後の領域の境界角度によって第２のモータ電気角θｍ２を補正する構成とした。この構成に限らず、例えば、モータ電気角の１周期を３０［ｄｅｇ］毎の絶対角度領域に区分して、出力軸角速度ωｏｓの符号と各線間逆起電圧値ＥＭＦの符号関係とに加えて、各線間逆起電圧値ＥＭＦの大小関係にも基づき実際のモータ電気角θｍがどの絶対角度領域に存在するのかを判定する構成としてもよい（詳しくは上記特許文献２を参照）。この場合も、領域移行時の境界角度にて第２のモータ電気角θｍ２を補正する。また、モータ電気角の１周期において、各線間逆起電圧値ＥＭＦがゼロとなるときのモータ電気角も既知であることから、各線間逆起電圧値ＥＭＦのゼロクロスタイミングを判定し、判定時のゼロとなる線間逆起電圧の相に対応するモータ電気角にて第２のモータ電気角θｍ２を補正する構成としてもよい（詳しくは上記特許文献２を参照）。
【０１６７】
また、上記各実施形態においては、レゾルバ２３の異常のみを診断しレゾルバ２３の異常時に第２のモータ回転角θｍ２をモータ回転角θｍとして出力する構成としたが、この構成に限らない。例えば、角度演算部５１の異常も診断し、レゾルバ２３が正常であっても角度演算部５１が異常の場合も第２のモータ回転角θｍ２をモータ回転角θｍとして出力する構成としてもよい。
【０１６８】
また、上記各実施形態においては、絶対角度領域が隣り合う領域に移行したタイミングでのみそのときの境界角度で第２のモータ電気角θｍを補正する構成としたが、この構成に限らない。例えば、各線間逆起電圧値ＥＭＦに基づき第３のモータ電気角θｍ３を算出する構成とし、モータ回転速度又は所定の閾値Ｔｈｖに基づき、各線間逆起電圧値ＥＭＦが符号取得の信頼性を有する値であると判定されたときは第３のモータ電気角θｍ３を電気角選択部２４Ｃに出力する。一方、信頼性を有さない値である判定されたときは出力軸角速度ωｏｓから演算した第２のモータ電気角θｍ２を電気角選択部２４Ｃに出力する構成としてもよい。
以上、本願が優先権を主張する日本国特許出願Ｐ２０１８−０９２４７３（２０１８年５月１１日出願）の全内容は、ここに引用例として包含される。
ここでは、限られた数の実施形態を参照しながら説明したが、権利範囲はそれらに限定されるものではなく、上記の開示に基づく各実施形態の改変は当業者にとって自明のことである。
【符号の説明】
【０１６９】
１…電動パワーステアリング装置、２…車両、１１…ステアリングホイール、１２…ステアリングシャフト、１２ｂ…出力軸、１３…操舵トルクセンサ、１３ｃ…出力軸回転角センサ、２０…操舵補助機構、２１…減速ギヤ、２２…電動モータ、２３…レゾルバ、２４…モータ電気角検出回路、２４Ａ…メイン電気角検出回路、２４Ｂ…バックアップ電気角検出回路、２４Ｃ…電気角選択部、２５…モータ制御装置、２６…車速センサ、３１…制御演算装置、３２…モータ駆動回路、４５Ａ〜４５Ｃ…電流検出回路、４０…電圧検出回路、４１…ゲート駆動回路、４２…インバータ回路、５１…角度演算部、５２…レゾルバ異常診断部、５３…逆起電圧角度補正値算出部、５３ａ…出力軸角速度演算部、５３ｂ…逆起電圧演算部、５３ｃ…絶対角度領域判定部、５３ｄ…補正角度算出部、５４…センサ間誤差補正部、５５…推定角度演算部、５５ａ…整合部、５５ｂ…積分部、６１…進角ゲイン算出部、６２…乗算部、６３…モータトルク相当値算出部、６４…減速ギヤ誤差特性算出部、６５…進角補正限界値算出部、６６…進角許可判定部、６６ａ，６６ｃ…減算部、６６ｂ，６６ｊ…加算部、６６ｄ，６６ｅ…符号取得部、６６ｆ…一致判定部、６６ｇ…角速度切替部、６６ｈ…進角補正量過去値切替部、６６ｉ…信号遅延部
【図１】
2019216022.tif 000003
【図２】
2019216022.tif 000004
【図３】
2019216022.tif 000005
【図４】
2019216022.tif 000006
【図５】
2019216022.tif 000007
【図６】
2019216022.tif 000008
【図７】
2019216022.tif 000009
【図８】
2019216022.tif 000010
【図９】
2019216022.tif 000011
【図１０】
2019216022.tif 000012
【図１１】
2019216022.tif 000013
【図１２】
2019216022.tif 000014
【図１３】
2019216022.tif 000015
【図１４】
2019216022.tif 000016
【図１５】
2019216022.tif 000017
【図１６】
2019216022.tif 000018
【図１７】
2019216022.tif 000019
【図１８】
2019216022.tif 000020
【図１９】
2019216022.tif 000021
【図２０】
2019216022.tif 000022
【図２１】
2019216022.tif 000023
【図２２】
2019216022.tif 000024
【図２３】
2019216022.tif 000025
【図２４】
2019216022.tif 000026
【図２５】
2019216022.tif 000027
【図２６】
2019216022.tif 000028
【図２７】
2019216022.tif 000029
【図２８】
2019216022.tif 000030
【図２９】
2019216022.tif 000031
【国際調査報告】
2019216022.tif 000032
2019216022.tif 000033
2019216022.tif 000034
2019216022.tif 000035