(57)【特許請求の範囲】
【請求項１】
１相励磁信号を入力して第１相出力信号及び第２相出力信号を出力するレゾルバと、該レゾルバの第１相出力信号及び第２相出力信号に基づいて回転角を演算する回転角演算手段とを備えた回転角検出装置であって、
前記１相励磁信号の半波長の奇数倍周期で前記第１相出力信号及び第２相出力信号をサンプリングし、サンプリングした前後の第１相出力信号及び第２相出力信号の状態に基づいて当該第１相出力信号及び第２相出力信号の異常を検出する出力信号異常検出手段とを備えたことを特徴とする回転角検出装置。
【請求項２】
前記出力信号異常検出手段は、各相出力信号の前後のサンプリング値の双方が各相出力信号の基準電圧と略一致するときに、該当する相出力信号が異常であるとして検出するように構成されていることを特徴とする請求項１に記載の回転角検出装置。
【請求項３】
前記出力信号異常検出手段は、第１相出力信号の前後のサンプリング値から当該第１相出力信号の基準電圧を減算した信号偏差の絶対値及び第２相出力信号の前後のサンプリング値から当該第２相出力信号の基準電圧を減算した信号偏差の絶対値の少なくとも一方が第２の所定値以上であるときに、該当する相出力信号の前後のサンプリング値が基準電圧を挟む逆領域に存在しない場合に、該当する相出力信号が異常であるとして検出するように構成されていることを特徴とする請求項１に記載の回転角検出装置。
【請求項４】
前記出力信号異常検出手段は、第１相出力信号の前後のサンプリング値から当該第１相出力信号の基準電圧を減算した信号偏差の絶対値及び第２相出力信号の前後のサンプリング値から当該第２相出力信号の基準電圧を減算した信号偏差の絶対値の少なくとも一方が第２の所定値以上であるときに、該当する相出力信号の前後のサンプリング値の前記信号偏差の絶対値が第３の所定値未満である場合に、該当する相出力信号が異常であるとして検出するように構成されていることを特徴とする請求項１に記載の回転角検出装置。
【請求項５】
前記出力信号異常検出手段は、第１相出力信号及び第２相出力信号の異常を検出した回数が連続して所定回数以上となったときに、該当する相出力信号の異常を確定するように構成されていることを特徴とする請求項１乃至４の何れか１項に記載の回転角検出装置。
【請求項６】
前記回転角演算手段は、前記出力信号異常検出手段で、第１相出力信号及び第２相出力信号の異常を検出したときに、前回演算した回転角を今回の回転角として保持するように構成されていることを特徴とする請求項１乃至５の何れか１項に記載の回転角検出装置。
【請求項７】
前記回転角演算手段は、回転角に基づいて角速度を演算する角速度演算手段を備え、前記出力信号異常検出手段で、第１相出力信号及び体２相出力信号の異常を検出したときに、前回演算した回転角に、前記角速度演算手段で算出される前回の回転角に基づく角速度に基づいて算出したオフセット値を加算して今回の回転角を演算するように構成されていることを特徴とする請求項１乃至５の何れか１項に記載の回転角検出装置。
【請求項８】
請求項１乃至７の何れか１項に記載の回転角検出装置で検出した回転角に基づいて電流指令値を算出する電流指令値算出手段を備えたことを特徴とする電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１相励磁信号を入力して第１相出力信号及び第２相出力信号を出力するレゾルバと、該レゾルバの第１相出力信号及び第２相出力信号に基づいて回転角を演算する回転角演算手段とを備えた回転角検出装置に関する。
【背景技術】
【０００２】
この種の回転角検出装置としては、例えば、パルス発生手段によりレゾルバの励磁信号に同期したパルス信号を発生し、このパルス信号に基づいて停止起動されるタイマーのタイマー値をタイマー制御手段から発生し、タイマー値比較手段によってその値が所定範囲に入っているか否かを判断すると共に、全波整流されたコサイン信号及びサイン信号のサンプリングをサンプリング手段により前述のパルスと同期して行い、このサンプリングされた値に基づき演算手段においてそれらの二乗和の演算を行い、この演算値が所定の範囲にあるかどうかを演算値比較手段おいて判断することにより、エラー信号を発生するようにしたレゾルバの断線検出方法及び装置が知られている（例えば、特許文献１参照）。
【０００３】
レゾルバの出力側のコイルにショート等の異常が生じると、異常が生じた側のコイルの出力信号の回転角Ｘに対するサンプリング値にオフセットが発生するが、この値は異常が生じた側のコイルの他方側のコイルの最大値又は最小値のタイミングにおける当該異常が生じたコイルの値として求めることができ、このオフセットの値が０近傍の所定範囲をはずれた場合に、レゾルバの異常と判断するようにしたレゾルバの異常検出方法も知られている（例えば、特許文献２参照）。
【特許文献１】特開平８−２１０８７４号公報（第１頁、図２、図３）
【特許文献２】特開２００１−３４３２５３号公報（第１頁、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の従来例にあっては、レゾルバから出力されるｓｉｎθ及びｃｏｓθの二乗和が所定の範囲内にない場合即ちｓｉｎ2θ＋ｃｏｓ2θ≠１である場合に、レゾルバの断線が発生したことを検出するようにしているが、ｓｉｎθ又はｃｏｓθの出力がある特定の電圧に固着した場合、且つｓｉｎ2θ＋ｃｏｓ2θ＝１の円上に乗る場合には、この方法によって異常を検出するためには回転体の回転が不可欠となり、回転体が回転していない場合にはレゾルバの異常を検出することができないとういう未解決の課題がある。
【０００５】
また、上記特許文献２に記載の従来例にあっては、レゾルバから出力されるｓｉｎθとｃｏｓθとのオフセット量を用いてレゾルバの出力巻線の異常を検出するものであるが、この従来例でも回転体が回転を継続していることを前提としたレゾルバの異常検出手段であり、回転体が回転を停止している場合には必ずしも有効な手段ではないという未解決の課題がある。
【０００６】
さらに、上記第１及び第２の特許文献に記載された従来例においては、比較的誤差が小さい間に異常を検出しようとすると、ｓｉｎ2θ＋ｃｏｓ2θ又はオフセット量に対する閾値を小さい値に設定せざるを得ず、この場合には異常の誤検出が多くなり、実装上現実的でなく、高精度でレゾルバの異常を検出することができないという未解決の課題がある。
そこで、本発明は、上記従来例の未解決の課題に着目してなされたものであり、回転体の停止状態でもレゾルバの異常を正確に検出することができると共に、レゾルバの異常を高精度で検出することができる回転角検出装置及びこれを使用した電動パワーステアリング装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に係る回転角検出装置は、１相励磁信号を入力して第１相出力信号及び第２相出力信号を出力するレゾルバと、該レゾルバの第１相出力信号及び第２相出力信号に基づいて回転角を演算する回転角演算手段とを備えた回転角検出装置であって、前記１相励磁信号の半波長の奇数倍周期で前記第１相出力信号及び第２相出力信号をサンプリングし、サンプリングした前後の第１相出力信号及び第２相出力信号の状態に基づいて当該第１相出力信号及び第２相出力信号の異常を検出する出力信号異常検出手段とを備えたことを特徴としている。
【０００８】
また、請求項２に係る回転角検出装置は、請求項１に係る発明において、前記出力信号異常検出手段は、各相出力信号の前後のサンプリング値の双方が各相出力信号の基準電圧と略一致するときに、該当する相出力信号が異常であるとして検出するように構成されていることを特徴としている。
さらに、請求項３に係る回転角検出装置は、請求項１に係る発明において、前記出力信号異常検出手段は、第１相出力信号の前後のサンプリング値から当該第１相出力信号の基準電圧を減算した信号偏差の絶対値及び第２相出力信号の前後のサンプリング値から当該第２相出力信号の基準電圧を減算した信号偏差の絶対値の少なくとも一方が第２の所定値以上であるときに、該当する相出力信号の前後のサンプリング値が基準電圧を挟む逆領域に存在しない場合に、該当する相出力信号が異常であるとして検出するように構成されていることを特徴としている。
【０００９】
さらにまた、請求項４に係る回転角検出装置は、請求項１に係る発明において、前記出力信号異常検出手段は、第１相出力信号の前後のサンプリング値から当該第１相出力信号の基準電圧を減算した信号偏差の絶対値及び第２相出力信号の前後のサンプリング値から当該第２相出力信号の基準電圧を減算した信号偏差の絶対値の少なくとも一方が第２の所定値以上であるときに、該当する相出力信号の前後のサンプリング値の前記信号偏差の絶対値が第３の所定値未満である場合に、該当する相出力信号が異常であるとして検出するように構成されていることを特徴としている。
【００１０】
なおさらに、請求項５に係る回転角検出装置は、請求項１乃至４の何れか１つに係る発明において、前記出力信号異常検出手段は、第１相出力信号及び第２相出力信号の異常を検出した回数が連続して所定回数以上となったときに、該当する相出力信号の異常を確定するように構成されていることを特徴としている。
また、請求項６に係る回転角検出装置は、請求項１乃至５の何れか１つに係る発明において、前記回転角演算手段は、前記出力信号異常検出手段で、第１相出力信号及び第２相出力信号の異常を検出したときに、前回演算した回転角を今回の回転角として保持するように構成されていることを特徴としている。
【００１１】
さらに、請求項７に係る回転角検出装置は、請求項１乃至５の何れか１つに係る発明において、前記回転角演算手段は、回転角に基づいて角速度を演算する角速度演算手段を備え、前記出力信号異常検出手段で、第１相出力信号及び体２相出力信号の異常を検出したときに、前回演算した回転角に、前記角速度演算手段で算出される前回の回転角に基づく角速度に基づいて算出したオフセット値を加算して今回の回転角を演算するように構成されていることを特徴としている。
【００１２】
さらに、請求項８に係る電動パワーステアリング装置は、請求項１乃至７の何れか１項に記載の回転角検出装置で検出した回転角に基づいて電流指令値を算出する電流指令値算出手段を備えたことを特徴としている。
【発明の効果】
【００１３】
本発明によれば、前記１相励磁信号の半波長の奇数倍周期で前記第１相出力信号及び第２相出力信号をサンプリングするサンプリング手段と、該サンプリング手段でサンプリングした前後の第１相出力信号及び第２相出力信号の状態に基づいて当該第１相出力信号及び第２相出力信号の異常を検出する出力信号異常検出手段とを備えているので、回転体が停止状態でもレゾルバの異常を即座に検出することができると共に、レゾルバの異常を判断する閾値を小さい値に設定しても誤検出を減少させて正確な異常検出を行うことができるという効果が得られる。
【００１４】
また、上記効果を有する回転角検出装置で検出した回転角に基づいて電流指令値を算出する電流指令値算出手段を備えた電動パワーステアリング装置を構成することにより、第１相出力信号及び第２の相出力信号の異常を即座に正確に検出して、異常発生に対処することができる電動パワーステアリング装置を提供することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本発明を電動パワーステアリング装置に適用した場合の一実施形態を示す全体構成図であって、図中、１はステアリング機構であり、このステアリング機構１はステアリングホイール２が装着されたステアリングシャフト３と、このステアリングシャフト３のステアリングホイール２とは反対側に連結されたラックピニオン機構４と、このラックピニオン機構４にタイロッド等の連結機構５を介して連結された左右の転舵輪６とを備えている。
【００１６】
そして、ステアリングシャフト３には、減速機７を介して電動モータ８が連結されている。この電動モータ８は、例えば三相交流駆動されるブラシレスモータで構成され、電動パワーステアリング装置の操舵補助力を発生する操舵補助力発生用モータとして動作する。
また、電動モータ８は車両に搭載されたバッテリ１１から出力されるバッテリ電圧Ｖｂがヒューズ１２及びイグニッションスイッチ２０を介して供給されてモータ制御を行う制御装置１３によって駆動制御される。
【００１７】
この制御装置１３には、ステアリングシャフト３に配設された操舵トルクセンサ１６で検出されたステアリングホイール２に入力される操舵トルクＴが入力されていると共に、電動モータ８に配設されたレゾルバ１７から出力される正弦波出力信号及び余弦波出力信号が入力され、さらに車速検出部としての車速センサ１８で検出した車速検出値Ｖｓが入力されている。
【００１８】
ここで、操舵トルクセンサ１６は、ステアリングホイール２に付与されてステアリングシャフト３に伝達された操舵トルクＴを検出するもので、例えば、操舵トルクを図示しない入力軸及び出力軸間に介挿したトーションバーの捩れ角変位に変換し、この捩れ角変位を磁気信号で検出し、それを電気信号に変換するように構成されている。
レゾルバ１７は、制御装置１３の励磁信号発生部２１ｃから出力される１相の正弦波でなる励磁信号ｓｉｎωｔが増幅器２０ａで増幅されて入力されると、この励磁信号ｓｉｎωｔで変調されて電動モータ８の回転角θに応じた９０°位相が異なる２相の正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθを出力する。これら正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθは、増幅器２０ｂで増幅されて制御装置１３に入力される。
【００１９】
制御装置１３は、図２に示すように、増幅器２０ａで増幅された励磁信号ｓｉｎωｔが増幅器２０ｃで増幅されてＡ／Ｄ変換器２０ｄによってディジタル信号に変換されて入力されると共に、増幅器２０ｂで増幅された正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθがＡ／Ｄ変換器２０ｅで変換入ディジタル信号に変換されて入力されると共に、励磁信号ｓｉｎωｔを出力する角度情報演算部２１と、操舵トルクセンサ１６で検出した操舵トルク検出値Ｔと車速センサ１８で検出した車速Ｖとに基づいて電動モータ８を駆動制御する電圧指令値Ｖａｒｅｆ〜Ｖｃｒｅｆを演算する指令値演算部２２と、この指令値演算部２２から出力される電圧指令値Ｖａｒｅｆ〜Ｖｃｒｅｆが入力され、これら電圧指令値Ｖａｒｅｆ〜Ｖｃｒｅｆに基づいて電動モータ８を駆動するモータ駆動部２３とで構成されている。
【００２０】
角度情報演算部２１は、レゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθに基づいてｔａｎ-1θを算出してモータ回転角θｍを算出するモータ角度算出部２１ａと、レゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθと、増幅器２０ｃからＡ／Ｄ変換器２０ｄを介して入力される励磁信号ｓｉｎωｔに基づいてレゾルバ１７の２相出力信号の異常を検出する出力信号異常検出手段としての異常検出部２１ｂと、励磁信号ｓｉｎωｔを発生する励磁信号発生部２１ｃとで構成されている。そして、励磁信号発生部２１ｃで発生された励磁信号ｓｉｎωｔがＤ／Ａ変換器２０ｆでアナログ信号に変換されて増幅器２０ａに供給される。
【００２１】
異常検出部２１ｂは、図３に示す異常検出処理を実行して、レゾルバ１７の出力信号異常を検出する。この異常検出処理は、図４に示すように、所定時間（例えば１ｍｓｅｃ）毎のタイマ割込処理として実行され、まず、ステップＳ１で、Ａ／Ｄ変換器２０ｄを介して励磁信号ｓｉｎωｔを読込み、次いでステップＳ２に移行して、異常検出開始フラグＦＳが“１”にセットされているか否かを判定し、これが“０”にリセットされているときには、異常検出開始タイミングではないものと判断してステップＳ３に移行する。
【００２２】
このステップＳ３では、励磁信号ｓｉｎωｔが最大値に達したか否かを判定し、最大値に達したときには、ステップＳ４に移行して、励磁信号ｓｉｎωｔの半波長の奇数倍周期を計数する計数値Ｎを“１”だけインクリメントした値を新たな計数値Ｎに設定してからステップＳ５に移行する。ここで、計数値Ｎは、制御装置１３を起動した初期状態における初期化処理で、後述する設定値Ｎｓから“１”を減算した値Ｎ＝Ｎｓ−１に設定される。
【００２３】
ステップＳ５では、計数値Ｎが励磁信号ｓｉｎωｔの波長を２λとしたときに（２ｎ＋１）λ（ｎは自然数）に相当する値即ち励磁信号ｓｉｎωｔの半波長の奇数倍周期に設定された設定値Ｎｓに達したか否かを判定し、Ｎ＜Ｎｓであるときにはそのままタイマ割込処理を終了して所定のメインプログラムに復帰し、Ｎ＝ＮｓであるときにはステップＳ６に移行する。
【００２４】
このステップＳ６では、異常検出開始フラグＦＳを“１”にセットし、次いでステップＳ７に移行して、計数値Ｎを“０”にクリアしてからタイマ割込処理を終了して所定のメインプログラムに復帰する。
また、前記ステップＳ３の判定結果が、励磁信号ｓｉｎωｔが最大値ではないときには、ステップＳ８に移行して、励磁信号ｓｉｎωｔが最小値であるか否かを判定し、麗人信号ｓｉｎωｔが最小値ではないときにはそのままタイマ割込処理を終了して所定のメインプログラムに復帰し、最小値であるときには前記ステップＳ４に移行する。
【００２５】
一方、前記ステップＳ２の判定結果が、異常検出開始フラグＦＳが“１”であるときには、異常検出開始タイミングであるものと判断してステップＳ９に移行し、励磁信号ｓｉｎωｔと正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθとの位相遅れを考慮して励磁信号ｓｉｎωｔのピークに対する正弦波出力信号ｓｉｎθのピークの遅れ分を計数する第２の計数値Ｍを“１”だけインクリメントし、次いでステップＳ１０に移行して、第２の計数値Ｍが予め設定した設定値Ｍｓに達したか否かを判定し、Ｍ＜Ｍｓであるときには、そのままタイマ割込処理を終了して所定のメインプログラムに復帰し、Ｍ＝ＭｓであるときにはステップＳ１１に移行して、第２の計数値Ｍを“０”にクリアしてからステップＳ１２に移行する。
【００２６】
このステップＳ１２では、Ａ／Ｄ変換器２０ｂを介して振幅をＢとした正弦波出力信号Ｂｓｉｎθ(n)を読込んで所定の一時記憶領域に記憶し、次いでステップＳ１３に移行して、正弦波出力信号の前回値が読込済であるか否かを判定し、前回を読込済みではないとき即ち最初に正弦波出力信号Ｂｓｉｎθ(n)を読込んだときには、ステップＳ１４に移行して、読込んだ正弦波出力信号Ｂｓｉｎθ(n)を現在値記憶領域に更新記憶し、次いでステップＳ１５に移行して、異常検出開始フラグＦＳを“０”にリセットしてからタイマ割込処理を終了して所定のメインプログラムに復帰する。
【００２７】
また、前記ステップＳ１３の判定結果が、正弦波出力信号の前回値を読込済みであるときにはステップＳ１６に移行して、前回読込んで現在値記憶領域に記憶されている正弦波出力信号Ｂｓｉｎθ(n)を前回値Ａｓｉｎθ(n-1)（Ａは振幅）として前回値記憶領域に更新記憶すると共に、現在値Ｂｓｉｎθ(n)を現在値記憶領域に更新記憶してからステップＳ１７に移行する。
【００２８】
このステップＳ１７では、現在値記憶領域に記憶されている正弦波出力信号Ｂｓｉｎθ(n)と前回記憶領域に記憶されている正弦波出力信号Ａｓｉｎθ(n-1)とが夫々基準電圧Ｖｓに略等しいか否かを判定し、Ａｓｉｎθ(n-1)≒Ｖｓ且つＢｓｉｎθＶ≒Ｖｓ且つＡｃｏｓθ(n-1)≒Ｖｓ且つＢｃｏｓθＶ≒Ｖｓであるときにはレゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθが基準電圧Ｖｓから変化せず、固着しているものと判断してステップＳ１８に移行する。
【００２９】
このステップＳ１８では、異常検出回数計数値Ｉを“１”だけインクリメントしてからステップＳ１９に移行して、異常検出回数計数値Ｉが例えば“２”以上の所定値Ｉｓに達したか否かを判定し、Ｉ＝ＩｓであるときにはステップＳ２０に移行して、正弦波出力信号ｓｉｎθに固着異常が発生したことを表す異常検出フラグＦＡを“１”にセットし、次いでステップＳ２１に移行して、異常検出開始フラグＦＳを“０”にリセットしてからタイマ割込処理を終了して所定のメインプログラムに復帰する。また、前記ステップＳ１９の判定結果が、Ｉ＜Ｉｓであるときにはそのまま前記ステップＳ２１にジャンプする。
【００３０】
一方、前記ステップＳ１７の判定結果が、Ａｓｉｎθ(n-1)≒Ｖｓ且つＢｓｉｎθ(n)≒Ｖｓではないときには、ステップＳ２２に移行して、異常検出回数計数値Ｉを“０”にクリアしてからステップＳ２３に移行し、正弦波出力信号の前回値Ａｓｉｎθ(n-1)と基準電圧Ｖｓとの偏差の絶対値｜Ａｓｉｎθ(n-1)−Ｖｓ｜が予め設定した第１の所定値αを超えているか否かを判定し、｜Ａｓｉｎθ(n-1)−Ｖｓ｜＞αであるときにはステップＳ２４に移行する。
【００３１】
このステップＳ２４では、正弦波出力信号の現在値Ｂｓｉｎθ(n)と基準電圧Ｖｓとの偏差の絶対値｜Ｂｓｉｎθ(n)−Ｖｓ｜が前記第１の所定値αを超えているか否かを判定し、｜Ｂｓｉｎθ(n)−Ｖｓ｜＞αであるときにはステップＳ２５に移行する。
このステップＳ２５では、正弦波出力信号の前回値Ａｓｉｎθ(n-1)、基準電圧Ｖｓ及び現在値Ｂｓｉｎθ(n)がその順に値が大きくなっているか即ち前回値Ａｓｉｎθ(n-1)及び現在値Ｂｓｉｎθ(n)が基準電圧Ｖｓを挟んで逆側に存在するか否かを判定し、Ａｓｉｎθ(n-1)＜Ｖｓ＜Ｂｓｉｎθ(n)であるときには後述するステップＳ３１にジャンプし、Ａｓｉｎθ(n-1)＜Ｖｓ＜Ｂｓｉｎθ(n)ではないときにはステップＳ２６に移行して、正弦波出力信号の現在値Ｂｓｉｎθ(n)、基準電圧Ｖｓ及び前回値Ａｓｉｎθ(n-1)がその順に値が大きくなっているか即ち、現在値Ｂｓｉｎθ(n)及び前回値Ａｓｉｎθ(n-1)が基準電圧Ｖｓを挟んで逆側に存在するか否かを判定する。
【００３２】
そして、ステップＳ２６の判定結果が、ｓｉｎθ(n)＜Ｖｓ＜ｓｉｎθ(n-1)でないときには、正弦波出力信号ｓｉｎθに固着異常が発生している可能性があるものと判断してステップＳ２７に移行し、正弦波出力信号の前回値Ａｓｉｎθ(n-1)と現在値Ｂｓｉｎθ(n)との偏差の絶対値｜Ａｓｉｎθ(n-1)−Ｂｓｉｎθ(n)｜が予め設定した第２の所定値β未満であるか否かを判定し、｜Ａｓｉｎθ(n-1)−Ｂｓｉｎθ(n)｜≧βであるときには、正弦波出力信号ｓｉｎθに固着異常が発生していないものと判断して、ステップＳ２８に移行して、異常検出回数計数値Ｊ及びＫを“０”にクリアしてからステップＳ２９に移行し、異常検出開始フラグＦＳを“０”にリセットしてからタイマ割込処理を終了して所定のメインプログラムに復帰する。
【００３３】
また、前記ステップＳ２３の判定結果が、｜Ａｓｉｎθ(n-1)−Ｖｓ｜≦αであるとき及び前記ステップＳ２４の判定結果が、｜Ｂｓｉｎθ(n)−Ｖｓ｜≦αであるときにはステップＳ３０に移行して、異常検出回数計数値Ｊ及びＫを“０”にクリアし、次いでステップＳ３１に移行して、異常検出開始フラグＦＳを“０”にリセットしてからタイマ割込処理を終了して所定のメインプログラムに復帰する。
【００３４】
さらに、前記ステップＳ２７の判定結果が、｜Ａｓｉｎθ(n-1)−Ｂｓｉｎθ(n)｜＜βであるときには、正弦波出力信号ｓｉｎθに固着異常が発生しているものと判断してステップＳ３２に移行し、異常検出回数計数値Ｊを“１”だけインクリメントしてからステップＳ３３に移行し、異常検出回数計数値Ｊが例えば“２”以上の所定値Ｊｓに達したか否かを判定し、Ｊ＝ＪｓであるときにはステップＳ３４に移行して、正弦波出力信号ｓｉｎθに固着異常が発生したことを表す異常検出フラグＦＡを“１”にセットし、次いでステップＳ３５に移行して、異常検出開始フラグＦＳを“０”にリセットしてからタイマ割込処理を終了して所定のメインプログラムに復帰する。また、前記ステップＳ３３の判定結果が、Ｊ＜Ｊｓであるときにはそのまま前記ステップＳ３５にジャンプする。
【００３５】
この図３の異常検出処理において、第１の所定値α及び第２の所定値βの値は、電動モータ８の最大モータ回転速度に対する正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθのサンプリング周期を考慮して、誤診断しない程度の値に設定されている。
また、上記異常検出処理は、レゾルバ１７から出力される余弦波出力信号ｃｏｓθについても上記図４の処理におけるＡｓｉｎθ(n)及びＢｓｉｎθ(n-1)をＣｃｏｓθ(n)及びＤｃｏｓθ(n-1)に置換したことを除いて同様の処理を行って、余弦波出力信号ｃｏｓθの異常検出を行う。
【００３６】
さらに、前記モータ角度算出部２１ａは、図４に示すように、モータ角度算出処理を実行する。このモータ角度算出処理は、図４に示すように、所定時間（例えば１ｍｓｅｃ）毎のタイマ割込処理として実行され、先ず、ステップＳ５１で、前述した異常検出処理で設定される異常検出フラグＦＡが“１”にセットされているか否かを判定し、異常検出フラグＦＡが“０”にリセットされているときには、レゾルバ１７が正常であるものと判断して、ステップＳ５２に移行する。
【００３７】
このステップＳ５２では、正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθを読込み、次いでステップＳ５３に移行して、読込んだ正弦波出力信号Ｅｓｉｎθ(n)及び余弦波出力信号Ｆｃｏｓθ(n)に基づいて下記（１）式の演算を行って電気角で表されるモータ回転角θｍを算出する。
θｍ＝ｔａｎ-1（Ｅｓｉｎθ(n)／Ｆｃｏｓθ(n)）      …………（１）
【００３８】
次いで、ステップＳ５４に移行して、算出したモータ回転角θｍをモータ回転角記憶領域に更新記憶してからタイマ割込処理を終了して所定のメインプログラムに復帰する。
一方、前記ステップＳ５１の判定結果が、異常検出フラグＦＡが“１”にセットされているときにはステップＳ５５に移行して、前回モータ回転角記憶領域に記憶した前回のモータ回転角θｍ(n-1)を読込み、次いでステップＳ５６に移行して、レゾルバ異常継続回数計数値Ｘを“１”だけインクリメントして新たなレゾルバ異常継続回数計数値Ｘを算出してからステップＳ５７に移行し、レゾルバ異常継続回数計数値Ｘが予め設定された所定値Ｘｓ以上となったか否かを判定し、Ｘ＜Ｘｓであるときには、そのままタイマ割込処理を終了して所定のメインプログラムに復帰するが、Ｘ≧Ｘｓであるときには、ステップＳ５８に移行して、後述する指令値演算部２２で実行する操舵補助制御処理を停止させてからタイマ割込処理を終了して所定のメインプログラムに復帰する。
【００３９】
この図４のモータ回転角算出処理における正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθのサンプリング周期即ちタイマ割込周期は、電動モータ８の最大モータ回転速度に対して十分に速い速度でサンプリングできるように設定されている。
指令値演算部２２は、操舵トルク検出値Ｔ及び車速Ｖが供給される操舵補助電流指令値演算部２４を有する。この操舵補助電流指令値演算部２４は、入力される操舵トルクＴ及び車速Ｖに基づいて操舵補助電流指令値算出用マップを参照して操舵補助電流指令値Ｉｒｅｆを算出して出力する。この操舵補助電流指令値算出用マップは、図５に示すように、横軸に操舵トルクＴをとり、縦軸に操舵補助電流指令値Ｉｒｅｆをとると共に、車速Ｖをパラメータとした放物線状の曲線で表される特性線図で構成され、操舵トルクＴが“０”からその近傍の設定値Ｔｓ１までの間は操舵補助電流指令値Ｉｒｅｆが“０”を維持し、操舵トルクＴが設定値Ｔｓ１を超えると最初は操舵補助電流指令値Ｉｒｅｆが操舵トルクＴの増加に対して比較的緩やかに増加するが、さらに操舵トルクＴが増加すると、その増加に対して操舵補助電流指令値Ｉｒｅｆが急峻に増加するように設定され、この特性曲線が車速の増加に従って傾きが小さくなるように設定されている。
【００４０】
この操舵補助電流指令値演算部２４から出力される操舵補助電流指令値Ｉｒｅｆはベクトル制御を行うｄ−ｑ軸電流指令値演算部２５に供給される。
このｄ−ｑ軸電流指令値演算部２５には、角度情報演算部２１で算出されたモータ回転角θｍと、このモータ回転角θｍを微分して角速度ωを演算する角速度演算部３１から出力される角速度ωとが入力され、入力される電流指令値Ｉｒｅｆ、モータ回転角θｍ及び角速度ωに基づいてｄ−ｑ軸座標におけるｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを算出し、算出したｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを２相／３相変換部２６に出力する。
【００４１】
この２相／３相変換部２６では、ｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを角度情報演算部２１から出力されるモータ回転角θｍに基づいて電動モータ８の３相電流指令値Ｉａｒｅｆ、Ｉｂｒｅｆ及びＩｃｒｅｆに変換する。
そして、２相／３相変換部２６から出力される３相電流指令値Ｉａｒｅｆ、Ｉｂｒｅｆ及びＩｃｒｅｆが減算部２７に供給され、この減算部２７で３相電流指令値Ｉａｒｅｆ、Ｉｂｒｅｆ及びＩｃｒｅｆから例えば後述するインバータ回路３０に設けられたモータ電流検出部１９で検出したモータ電流Ｉｍａ、Ｉｍｂ及びＩｍｃを減算して電流偏差ΔＩａ、ΔＩｂ及びΔＩｃを算出して電流制御部２８に供給する。
【００４２】
電流制御部２８では、入力される電流偏差ΔＩａ、ΔＩｂ及びΔＩCを例えば比例・積分制御処理（ＰＩ制御処理）して３相電圧指令値Ｖａｒｅｆ、Ｖｂｒｅｆ及びＶｃｒｅｆを算出し、これら３相電圧指令値Ｖａｒｅｆ、Ｖｂｒｅｆ及びＶｃｒｅｆをモータ駆動回路２３へ出力する。
この指令値演算部２２では、図６に示す指令値演算処理を実行する。この指令値演算処理は、図６に示すように、所定時間（１ｍｓｅｃ）毎のタイマ割込処理として実行される。この指令値演算処理は、図６に示すように、所定時間（例えば１ｍｓｅｃ）毎にタイマ割込処理として実行され、先ず、ステップＳ６１で、操舵トルクセンサ１６、レゾルバ１７、車速センサ１８、モータ電流検出部１９等の各種センサの検出値を読込み、次いでステップＳ６２に移行して、操舵トルクＴをもとに前述した図５に示す操舵補助電理流指令値算出マップを参照して操舵補助電理流指令値Ｉｒｅｆを算出してからステップＳ６３に移行する。
【００４３】
このステップＳ６３では、電気角θｅを微分して角速度ωを算出し、次いでステップＳ６４に移行して、ステップＳ６２で算出した操舵補助電流指令値Ｉｒｅｆにｄ−ｑ軸電流指令値演算部２５と同様のｄ−ｑ軸指令値演算処理を実行してｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを算出し、次いでステップＳ６５に移行して２相／３相変換処理を行ってモータ電流指令値Ｉａｒｅｆ〜Ｉｃｒｅｆを算出する。
【００４４】
次いで、ステップＳ６６に移行して、モータ電流指令値Ｉａｒｅｆ〜Ｉｃｒｅｆからモータ電流Ｉｍａ〜Ｉｍｃを減算して電流偏差ΔＩａ〜ΔＩｃを算出し、次いでステップＳ６７に移行して、電流偏差ΔＩａ〜ΔＩｃについてＰＩ制御処理を行って電圧指令値Ｖａｒｅｆ〜Ｖｃｒｅｆを算出し、次いでステップＳ６８に移行して算出した電圧指令値Ｖａｒｅｆ〜ＶｃｒｅｆをＰＷＭ制御部２９に出力してから操舵補助制御処理を終了して所定のメインプログラムに復帰する。
【００４５】
さらに、モータ駆動回路２３は、指令値演算部２２の電流制御部２８から出力される３相電圧指令値Ｖａｒｅｆ、Ｖｂｒｅｆ及びＶｃｒｅｆに基づいてパルス幅変調信号を形成するパルス幅変調（ＰＷＭ）制御部２９と、例えば６個の電界効果トランジスタ等のスイッチング素子で構成され、これらスイッチング素子をパルス幅変調制御部２９から出力されるパルス幅変調信号でスイッチング制御することにより、電動モータ８に供給する３相モータ駆動電流Ｉｍａ、Ｉｍｂ及びＩｍｃを形成するインバータ回路３０とを備えている。そして、インバータ回路３０から出力される３相モータ駆動電流Ｉｍａ、Ｉｍｂ及びＩｍｃが電動モータ８に供給される。
【００４６】
次に、上記実施形態の動作を説明する。
今、車両がイグニッションスイッチ２０をオフ状態として駐車しているものとすると、この状態では、制御装置１３にバッテリ１１からの電力が供給されないので、制御装置１３は作動を停止しており、図３に示す異常検出処理、図４に示すモータ角度算出処理及び図６に示す操舵補助制御処理は実行されておらず、電動モータ８は停止状態を継続し、操舵補助力の発生を停止している。
【００４７】
この状態から、イグニッションスイッチ２０をオン状態とすると、これにより、制御装置１３にバッテリ１１からの電力が供給されることにより、制御装置１３が作動状態となって、図３に示す異常検出処理、図４に示すモータ角度算出処理及び図６に示す操舵補助制御処理が実行開始される。
このとき、電動モータ８の回転角を検出するレゾルバ１７が正常であるものとすると、図３の異常検出処理で異常検出フラグＦＡが“０”にリセットされた状態を維持するので、図４のモータ角度算出処理で、ステップＳ５１からステップＳ５２に移行して、レゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθを読込み、次いで、ステップＳ５３で前記（２）式の演算を行うことにより、モータ回転角θｍを算出し、これをモータ角度記憶領域に更新記憶して（ステップＳ５４）からタイマ割込処理を終了して所定のメインプログラムに復帰する。
【００４８】
また、図６の操舵補助制御処理では、ステップＳ６１で操舵トルクＴ、車速Ｖ、電気角θｅ、モータ電流Ｉｍａ〜Ｉｍｃ等の各種検出値を読込み、次いでステップＳ６２に移行して、操舵トルクＴ及び車速Ｖに基づいて図５に示す操舵補助電流指令値Ｉｒｅｆを算出し、次いでステップＳ６３に移行して、電気角θｅを微分して電気角速度ωを算出する。
そして、算出した操舵補助電流指令値Ｉｒｅｆと電気角θｅ及び電気角速度ωとに基づいて、ｄ−ｑ軸指令値演算処理を行って、ｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを算出し（ステップＳ６４）、次いで、算出したｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを２相／３相変換処理して、３相のモータ電流指令値Ｉａｒｅｆ、Ｉｂｒｅｆ及びＩｃｒｅｆを算出する（ステップＳ６５）。
【００４９】
そして、この３相電流指令値Ｉａｒｅｆ、Ｉｂｒｅｆ及びＩｃｒｅｆとモータ電流検出部１９で検出されたモータ検出電流Ｉｍａ、Ｉｍｂ及びＩｍｃとの電流偏差ΔＩａ、ΔＩｂ及びΔＩｃが減算部２７で算出され、これら電流偏差ΔＩａ、ΔＩｂ及びΔＩｃが電流制御部２８で例えばＰＩ制御処理されて電圧指令値Ｖａｒｅｆ、Ｖｂｒｅｆ及びＶｃｒｅｆが算出され、これら電圧指令値Ｖａｒｅｆ、Ｖｂｒｅｆ及びＶｃｒｅｆがパルス幅変調制御部２９でパルス幅変調されてインバータ回路３０に供給されることにより、このインバータ回路３０から電動モータ８に３相モータ駆動電流Ｉｍａ、Ｉｍｂ及びＩｍｃが供給されて電動モータ８が回転駆動される。
【００５０】
このため、電動モータ８によって、操舵トルクセンサ１６で検出した操舵トルクＴに応じた最適な操舵補助力を発生し、この操舵補助力が減速機７を介してステアリングシャフト３に伝達されることにより、ステアリングホイール２を軽く操舵することができる。
このとき、レゾルバ１７の異常の有無が、図３に示す異常検出処理で検出される。レゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθが正常であるときには、制御装置１３の励磁信号発生部２１ｃから図７（ａ）に示すように、基準電圧Ｖｓを中心とする正弦波でなる励磁信号ｓｉｎωｔを供給することにより、図７（ｂ）に示すように、基準電圧Ｖｓに対して、電動モータ８の回転軸に連結されたロータの回転角θに応じた振幅で且つ励磁信号ｓｉｎωｔに対して所定の位相遅れを有する正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθを出力する。
【００５１】
このため、図３の異常検出処理では、制御装置１３にバッテリ１１から電力が投入されて、作動開始状態となったときに、初期化処理によって、異常検出開始フラグＦＳ及び異常検出フラグＦＡが共に“０”に設定されると共に、各種計数値Ｉ、Ｊ、Ｍが“０”にクリアされ、さらに計数値Ｎが設定値Ｎｓから“１”を減算した値（Ｎｓ−１）に設定される。つまり、計数値Ｎについては、励磁信号ｓｉｎωｔの最大値又は最小値を最初に検出したときに、正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθの最初のサンプリング開始タイミングとなるように初期値が設定される。
【００５２】
したがって、図７（ａ）に示すように、励磁信号ｓｉｎωｔが時点ｔ０で基準電圧Ｖｓと等しい状態から基準電圧Ｖｓを超える領域に増加したものとすると、時点ｔ１で励磁信号ｓｉｎωｔの最大値となることにより、ステップＳ３からステップＳ４に移行して、計数値Ｎが“１”だけインクリメントされることにより、計数値Ｎが設定値Ｎｓに達することになり、ステップＳ５からステップＳ６に移行して、異常検出開始フラグＦＳが“１”にセットされ、次いでステップＳ７に移行して計数値Ｎが“０”にクリアされる。
【００５３】
このため、次のタイマ割込周期で、異常検出開始フラグＦＳが“１”にセットされているので、ステップＳ２からステップＳ９に移行する。
このとき、第２の計数値Ｍが“０”にクリアされているので、Ｍ＝１となるが、設定値Ｍｓ未満であるので、そのままタイマ割込処理を終了して所定のメインプログラムに復帰し、時点ｔ２で、正弦波出力信号ｓｉｎθ(n)が最大値に達して第２の計数値Ｍが所定値Ｍｓに達すると、サンプリングポイントに達したものと判断して、ステップＳ１０からステップＳ１１に移行して、第２の計数値Ｍが“０”にクリアされ、次いで正弦波出力信号ｓｉｎθ(n)を読込む。
【００５４】
このとき、初めての正弦波出力信号ｓｉｎθ(n)の読込みであり、正弦波出力信号の前回値ｓｉｎθ(n-1)が存在しないので、ステップＳ１３からステップＳ１４に移行して、読込んだ正弦波出力信号ｓｉｎθ(n)を現在値記憶領域に記憶してから異常検出開始フラグＦＳを“０”にリセットする。
このため、次のタイマ割込周期では、異常検出開始フラグＦＳが“０”にリセットされていることから、ステップＳ２からステップＳ３に移行し、励磁信号ｓｉｎωｔが最大値を過ぎているので、ステップＳ８に移行するが最小値ではないので、そのままタイマ割込処理を終了する。
【００５５】
その後、タイマ割込処理を継続して、時点ｔ３で励磁信号ｓｉｎωｔの最小値を検出すると、ステップＳ８からステップＳ４に移行して、計数値ＮをインクリメントしてＮ＝１となるが、所定値Ｎｓ（例えばＮｓ＝３）には達していないので、そのままタイマ割込処理を終了する。
その後、時点ｔ４で、最大値を検出すると計数値Ｎが“２”となり、次いで時点ｔ５で励磁信号ｓｉｎωｔの最小値を検出すると、計数値Ｎが“３”となり、設定値Ｎｓと一致するので、ステップＳ５からステップＳ６に移行して、異常検出開始フラグＦＳを“１”にセットし、ステップＳ７で計数値Ｎを“０”にクリアする。
【００５６】
このため、次のタイマ割込周期で、ステップＳ２からステップＳ９に移行し、正弦波出力信号ｓｉｎθ(n)が最大値となるサンプリングポイントで正弦波出力信号ｓｉｎθ(n)を読込む（ステップＳ１２）。
この時点では、前回値ｓｉｎθ(n-1)を読込み済みであるので、ステップＳ１３からステップＳ１６に移行して、前回の正弦波出力信号ｓｉｎθ(n)を前回値ｓｉｎθ(n-1)として前回値記憶領域に更新記憶すると共に、現在値ｓｉｎθ(n)を現在値記憶領域に更新記憶する。
【００５７】
次いで、記憶されている正弦波出力信号の前回値Ａｓｉｎθ(n-1)が基準電圧Ｖｓに略等しく（Ａｓｉｎθ(n-1)≒Ｖｓ）且つ現在値Ｂｓｉｎθ(n)が基準電圧Ｖｓに略等しい（Ｂｓｉｎθ(n)≒Ｖｓ）かを判定する（ステップＳ１７）。
このとき、図７（ａ）に示すように、レゾルバ１７で入力される励磁信号ｓｉｎωｔに対して所定の位相遅れを有して電動モータ８の回転角に応じて正弦波出力信号ｓｉｎθ(n)及び余弦波出力信号ｃｏｓθ(n)が出力されている正常状態では、時点ｔ２での正弦波出力信号の前回値Ａｓｉｎθ(n-1)に対して、波長２λの励磁信号ｓｉｎωｔの半波長λの奇数倍周期（２ｎ＋１）λ（＝３λ）となる時点ｔ６では、励磁信号ｓｉｎωｔが時点ｔ２での値に対して基準電圧Ｖｓを挟んで反対側の値となり、この時点ｔ６での現在値Ｂｓｉｎθ(n)も、前回値Ａｓｉｎθ(n-1)に対して基準電圧Ｖｓを挟んで反対側の値となる。
【００５８】
すなわち、図８に示すように、時点ｔ２でのモータ回転角θ(n-1)の位置Ｐａに対して、時点ｔ６でのモータ回転角θ(n)の位置Ｐｂは中心を通る対角線上の位置となり、正弦波出力信号ｓｉｎθの前回値Ａｓｉｎθ(n-1)と現在値Ｂｓｉｎθ(n)とが夫々基準電圧Ｖｓと略一致することはなく、図３の処理において、ステップＳ１７からステップＳ２２に移行して、異常検出回数計数値Ｉを“０”にクリアしてからステップＳ２３に移行する。
【００５９】
このステップＳ２３では、前回値Ａｓｉｎθ(n-1)が基準電圧Ｖｓより大きく、両者の偏差の絶対値｜Ａｓｉｎθ(n-1)−Ｖｓ｜＞αとなるので、ステップＳ２４に移行し、現在値Ｂｓｉｎθ(n)が基準電圧Ｖｓより小さく、両者の偏差の絶対値｜Ｂｓｉｎθ(n)−Ｖｓ｜＞αとなるので、ステップＳ２５に移行し、前回値Ａｓｉｎθ(n-1)＜Ｖｓ＜Ｂｓｉｎθ(n)ではないので、ステップＳ２６に移行し、Ｂｓｉｎθ(n)＜Ｖｓ＜Ａｓｉｎθ(n-1)であるので、正常と判断されてステップＳ２８に移行し、異常検出回数計数値Ｊ及びＫを“０”にクリアすると共に、ステップＳ２９に移行して異常検出開始フラグＦＳを“０”にリセットすることになり、異常検出フラグＦＡは“０”にリセットされた状態に維持される。
【００６０】
同様に、余弦波出力信号ｃｏｓθについても、図３と同様の異常検出処理を行ったときに、正常と判断されて異常検出フラグＦＡは“０”にリセットされた状態に維持される。
また、電動モータ８が図８の位置Ｐａで回転停止している状態では、前述した時点ｔ６のサンプリングポイントに達したときに、励磁信号ｓｉｎωｔがその手前で最小値となることから図８の位置Ｐｂと同一となり、上記と同様に正常と判断される。
【００６１】
このように、レゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθが正常であるときには、異常検出フラグＦＡが“０”にリセットされた状態を継続することにより、図４のモータ角度算出処理で、レゾルバ１７から出力される正弦波出力信号Ｃｓｉｎθ(n)及び余弦波出力信号Ｄｃｏｓθ(n)に基づいてモータ回転角θｍを算出する。
【００６２】
これに応じて、前述したように、図６の操舵補助制御処理で、操舵トルクＴ及び車速Ｖに基づいて算出した操舵補助電流指令値Ｉｒｅｆと電気角θｅ及び電気角速度ωとに基づいてｄ−ｑ軸電流指令値演算処理を行って、ｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを算出し、算出したｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを２相／３相変換して３相電流指令値Ｉａｒｅｆ、Ｉｂｒｅｆ及びＩｃｒｅｆを算出し、算出した３相電流指令値Ｉａｒｅｆ、Ｉｂｒｅｆ及びＩｃｒｅｆとモータ電流検出部１９で検出したモータ電流Ｉｍａ、Ｉｍｂ及びＩｍｃとの電流偏差ΔＩａ、ΔＩｂ及びΔＩｃを算出し、これら電流偏差ΔＩａ、ΔＩｂ及びΔＩｃに対してＰＩ制御処理を行って、電圧指令値Ｖａｒｅｆ、Ｖｂｒｅｆ及びＶｃｒｅｆを算出し、これら電圧指令値Ｖａｒｅｆ、Ｖｂｒｅｆ及びＶｃｒｅｆをモータ駆動回路２３に出力することにより、電動モータ８を回転駆動して操舵トルクＴに応じた最適な操舵補力を発生させる。
【００６３】
ところが、図９に示すように、例えば正弦波出力信号ｓｉｎθに図９（ｂ）に示すように、時点ｔ２より遅れた時点ｔ４′で基準電圧Ｖｓを超えており、例えば最大値に近い値を継続する固着異常が発生すると、時点ｔ２でサンプリングされる前回値Ａｓｉｎθ(n-1)と、時点ｔ６でサンプリングされる現在値Ｂｓｉｎθ(n)とが略同じ値となる。
このため、正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθの前回値で表される位置Ｐａに対する現在値で表される位置が前述した図８で表される本来の第３象限の位置Ｐｂに対して第２象限の位置Ｐｂ′となる。
【００６４】
したがって、図３の異常検出処理で、前回値Ａｓｉｎθ(n-1)に対して現在値Ｂｓｉｎθ(n)が僅かに小さい値となるが、両者は基準電圧Ｖｓより高い状態となる。
このため、図３の処理において、ステップＳ１７からステップＳ２２に移行して、異常検出回数計数値Ｉを“０”にクリアしてからステップＳ２３に移行し、｜Ａｓｉｎθ(n-1)−Ｖｓ｜がαより大きく、｜Ｂｓｉｎθ(n)−Ｖｓ｜がαより大きいので、ステップＳ２５に移行する。このとき、前回値Ａｓｉｎθ(n-1)及び現在値Ｂｓｉｎθ(n)が共に基準電圧Ｖｓより大きいので、ステップＳ２５からステップＳ２６を経てステップＳ２７に移行する。
【００６５】
このとき、前回値Ａｓｉｎθ(n-1)と現在値Ｂｓｉｎθ(n)との偏差の絶対値｜Ａｓｉｎθ(n-1)−Ｂｓｉｎθ(n)｜が小さい値となって、第２の所定値β未満となることにより、正弦波出力信号ｓｉｎθの固着異常と判断してステップＳ３２に移行し、異常検出回数計数値Ｊを“１”だけインクリメントしてからステップＳ３３で異常検出開始フラグＦＳを“０”にリセットしてタイマ割込処理を終了して所定のメインプログラムに復帰する。
【００６６】
その後、正弦波出力信号ｓｉｎθの最大値及び最小値を検出した後に、最大値を検出する時点ｔ７で、再度異常検出開始フラグＦＳが“１”にセットされ、正弦波出力信号の現在値Ｂｓｉｎθ(n)が最大値となる時点ｔ８で、サンプリングポイントに達し、正弦波出力信号の現在値Ｂｓｉｎθ(n)が読込まれる。
この状態でも、前回の時点ｔ６での正弦波出力信号の現在値Ｂｓｉｎθ(n)でなる前回値Ａｓｉｎθ(n-1)と現在値Ｂｓｉｎθ(n)とは同じ値を継続するので、前述した時点ｔ６での異常検出処理と同様に、ステップＳ２７からステップＳ３２に移行して、異常検出回数計数値Ｊをインクリメントして、この異常検出回数計数値Ｊが所定値Ｊｓに達することになり、ステップＳ３３からステップＳ３４に移行して、異常検出フラグＦＡが正弦波出力信号ｓｉｎθの固着異常を表す “１”にセットされ、次いでステップＳ３５で異常検出開始フラグＦＳが“０”にリセットされる。
【００６７】
このように、図３の異常検出処理で、異常検出フラグＦＡが“１”にセットされると、図４のモータ回転角算出処理で、ステップＳ５１からステップＳ５５に移行して、モータ回転角記憶領域に記憶されている前回のモータ回転角θｍ(n-1)を読込む。次いで、ステップＳ５６に移行して、異常継続回数計数値Ｘをインクリメントするが、異常継続回数計数値Ｘが所定値Ｘｓに達しないので、そのままタイマ割込処理を終了して所定のメインプログラムに復帰する。
【００６８】
このため、レゾルバ１７の正弦波出力信号ｓｉｎθに固着異常が発生した場合には、このレゾルバ１７の正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθに基づいて前記（２）式に従ってモータ回転角θｍを算出することなく、前回算出したモータ回転角θｍ(n-1)を維持するので、モータ回転角θｍがレゾルバ１７の正弦波出力信号ｓｉｎθに固着異常が発生する直前の値θｍ(n-1)に保持される。
【００６９】
したがって、不確かな正弦波出力信号ｓｉｎθ及び正常な余弦波出力信号ｃｏｓθに基づいて不確かなモータ回転角θｍ(n)が算出されることを確実に防止することができ、不確かなモータ回転角θｍ(n)に基づいてｄ−ｑ軸電流指令値算出処理が行われることを防止することができる。
このように、レゾルバ１７の正弦波出力信号ｓｉｎθに固着異常が発生した場合に、モータ回転角θｍが異常発生直前の回転角θｍ(n-1)を保持することにより、制御中のモータ回転角θｍが不定となることを防止して、電動モータ８の駆動制御を継続することができ、異常継続回数計数値Ｘが所定値Ｘｓに達したときに、操舵補助制御を中止するか又はレゾルバ１７に代えて別途電動モータ８のモータ回転角を推定するモータ回転角推定手段を設け、異常継続回数計数値Ｘが所定値Ｘｓに達したときに、レゾルバ１７に基づくモータ回転角θｍの算出からモータ回転角推定手段で推定したモータ回転角θｍ′に切換えて、操舵補助制御を継続することができる。
【００７０】
同様に、レゾルバ１７の余弦波出力信号ｃｏｓθに固着異常が発生した場合も、上記正弦波出力信号ｓｉｎθと同様の処理を実行することにより、余弦波出力信号ｃｏｓθの固着異常を正確に検出することができる。さらに、電動モータ８が回転停止している状態でも、正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθの何れかに固着異常が発生したときには、前回値と現在値とが略同一値となることにより、固着異常を確実に検出することができる。
【００７１】
また、例えばレゾルバ１７の正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθを増幅する増幅器２０ｂで異常が発生して、例えば正弦波出力信号ｓｉｎθが基準電圧Ｖｓに固定される異常が発生した場合には、図３の異常検出処理で、正弦波出力信号ｓｉｎθの前回値Ａｓｉｎθ(n-1)と現在値Ｂｓｉｎθ(n)とが夫々基準電圧Ｖｓに略等しくなるので、ステップＳ１７からステップＳ１８に移行して、異常検出回数計数値Ｉを“１”だけインクリメントして新たな異常検出回数計数値Ｉを算出するが、この異常検出回数計数値Ｉが所定値Ｉｓに達しないので、異常検出開始フラグＦＳを“０”にクリアしてからタイマ割込処理を終了して、所定のメインプログラムに復帰し、次のサンプリングポイントに達したときに、現在値Ｂｓｉｎθ(n-1)が基準電圧Ｖｓと略一致する場合には、ステップＳ１８に移行して、異常検出回数計数値Ｉをインクリメントすることにより、異常検出回数計数値Ｉが所定値Ｉｓに達して、ステップＳ２０に移行して異常検出フラグＦＡが“１”にセットされる。
【００７２】
一方、レゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθが正常であるが電動モータ８の回転速度が、異常検出処理における正弦波出力信号ｓｉｎθのサンプリング周期に対して速い場合に、正弦波出力信号ｓｉｎθ又は余弦波出力信号ｃｏｓθの固着異常と誤判定する場合が生じる。
すなわち、図１１に示すように、先ず、最初のサンプリングポイントでサンプリングした正弦波出力信号Ｂｓｉｎθ(n-1)及び余弦波出力信号Ｄｃｏｓθ(n-1)で表される位置が正弦波出力信号Ｂｓｉｎθ(n-1)及び余弦波出力信号Ｄｃｏｓθ(n-1)が共に負となる位置Ｐａであるものとし、この状態で、次回のサンプリングポイントでサンプリングしたときに、電動モータ８が速く回転して回転正弦波出力信号Ｂｓｉｎθ(n)及び余弦波出力信号Ｄｃｏｓθ(n)が共に正となって、余弦波出力信号ｃｏｓθ(n)が前回値ｃｏｓθ(n-1)と略等しくなる位置Ｐｂとなった場合を考える。この場合には、正弦波出力信号の前回値Ａｓｉｎθ(n-1)及び現在値Ｂｓｉｎθ(n)については、基準電圧Ｖｓを挟む値となることから正常と判断されるが、余弦波出力信号の前回値Ｃｃｏｓθ(n-1)及び現在値Ｄｃｏｓθ(n)については、両者の値が正値で一致することから、図３の異常検出処理と同様でｓｉｎθをｃｏｓθに置換した異常検出処理で、上記と同様に、ステップＳ２３及びＳ２４を経てステップＳ２５に移行したときに、Ｃｃｏｓθ(n-1)＜Ｖｓ＜Ｄｃｏｓθ(n)ではないので、ステップＳ２６に移行して、Ｄｃｏｓθ(n)＜Ｖｓ＜Ｃｃｏｓθ(n-1)でもないので、ステップＳ２７に移行する。
【００７３】
このステップＳ２７では、前回値Ｃｃｏｓθ(n-1)及び現在値Ｄｃｏｓθ(n)が略一致しているので、両者の偏差の絶対値｜Ｃｃｏｓθ(n)−Ｄｃｏｓθ(n-1)｜が第２の所定値β未満となり、固着異常の可能性があると判断されてステップＳ３２に移行し、異常検出回数計数値Ｊが“１”だけインクリメントされるが、所定値Ｊｓには達しないので、異常検出開始フラグＦＳが“０”にリセットされてタイマ割込処理を終了する。
【００７４】
その後、励磁信号ｓｉｎωｔの半周期が３回過ぎることにより、再度サンプリングポイントとなって、レゾルバ１７から出力される正弦波出力信号Ｂｓｉｎθ(n)及び余弦波出力信号Ｄｃｏｓθ(n)を読込んだときに、電動モータ８が同一回転速度を継続している場合には、図１１のモータ位置が位置Ｐｃに移動する。この状態では、位置Ｐｂでの前回値Ａｓｉｎθ(n-1)及びＣｃｏｓθ(n-1)に対して、位置Ｐｃでの現在値Ｂｓｉｎθ(n)及びＤｃｏｓθ(n)が夫々異なる値となり、図１１においてハッチングで示す固着異常と判定する電圧範囲を逸脱することになる。
【００７５】
しかしながら、前回の位置Ｐｂでの正弦波出力信号Ａｓｉｎθ(n-1)及びＣｃｏｓθ(n-1)の符号と現在位置Ｐｃでの現在値Ｂｓｉｎθ(n)及びＤｃｏｓθ(n)の符号とが一致し、共に基準電圧Ｖｓより高くなるので、ステップＳ２５及びステップＳ２６を経てステップＳ２７に移行する。
このとき、正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθともに、前回値と現在値との符号が一致しているが値が大きく異なることから、前回値から現在値を減算した偏差の絶対値｜Ａｓｉｎθ(n-1)−Ｂｓｉｎθ(n)｜及び｜Ｃｃｏｓθ(n-1)−Ｄｃｏｓθ(n)｜の値がともに第２の所定値βより大きな値となり、正常と判断されてステップＳ２７からステップＳ２８に移行し、異常検出回数計数値Ｊ及びＫを夫々“０”にクリアすると共に、異常検出開始フラグＦＳを“０”にリセットする。
【００７６】
このため、異常検出フラグＦＡが“１”にセットされることはなく、電動モータ８の回転速度が速いことによる固着異常と誤判定した場合の誤判定を継続することはなく、正確な固着異常判定を行うことができる。
同様に、図１１において、サンプリング周期内で電動モータ８の回転により、位置ＰａからＰｂに移動したときに、励磁信号ｓｉｎωｔの周期が反転して、位置Ｐｂとは中心を通る対角線上の位置Ｐｂ′が検出された場合には、正弦波出力信号の前回値Ａｓｉｎθ(n-1)と現在値Ｂｓｉｎθ(n)とが符号が一致して略同一値となることにより、図３の異常検出処理で、サンプリングポイントに達したときに、ステップＳ２７からステップＳ２８に移行して、異常検出回数計数値Ｊを“１”だけインクリメントする。
【００７７】
この場合でも、次回のサンプリングポイントで位置Ｐｃの中心を通る対角線上の位置Ｐｃ′となることにより、正弦波出力信号の前回値Ａｓｉｎθ(n-1)と現在値Ｂｓｉｎθ(n)とが符号が一致しても大きく異なる値となることから、｜Ａｓｉｎθ(n-1)−Ｂｓｉｎθ(n)｜が第２の所定値βより大きな値となり、ステップＳ２７からステップＳ２８に移行して、異常検出回数計数値Ｊを“０”にクリアしてから異常検出開始フラグＦＳを“０”にリセットすることになる。
【００７８】
このため、異常検出フラグＦＡは“０”にリセットされた状態を維持し、レゾルバ１７の正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθが固着異常と誤検出されることなく、正確な固着異常検出を行うことができる。
なお、正弦波出力信号ｓｉｎθ（又は余弦波出力信号ｃｏｓθ）の前回のサンプリングポイントにおけるモータ回転角θｍが０°、９０°、１８０°及び３６０°である場合に、電動モータ８の想定外回転速度により、現在のサンプリングポイントにおけるモータ回転角θｍが１８０°進むか又は遅れる状態を継続する場合には、正弦波出力信号ｓｉｎθ（又は余弦波出力信号ｃｏｓθ）の固着異常として検出されることになる。
【００７９】
このように、電動モータ８が想定外の速度で回転されることにより、誤判定した場合には、前述した固着異常の場合と同様に、モータ回転角θｍが変更せず保持されるので、このモータ回転角θｍをもとに算出されるｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆも同一値を維持することから、操舵補助制御処理としてはブレーキとして働き、実際に異常な速度でステアリングホイール２が補助操舵される状態は運転者にとって好ましい状況ではないため、ステアリングホイール２の操舵速度に制動を与えることにより、運転者に違和感を与えることなく、操舵速度を落とすことができる。
【００８０】
このように、電動パワーステアリング装置の制御装置１３に異常検出部２１ｂを有する回転角情報演算部２１を設けることにより、電動モータ８の回転角を検出するレゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθの固着異常を迅速且つ正確に検出することができるので、誤ったモータ回転角θｍに基づいてｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆが算出されることを確実に防止することができると共に、固着異常発生時に、モータ回転角θｍを保持することにより操舵補助制御処理を所定時間継続したり、レゾルバ１７以外の回転角推定手段を適用して操舵補助制御処理を継続したりすることができる。
【００８１】
なお、上記実施形態においては、レゾルバ１７から出力される正弦波出力信号ｓｉｎθ及び余弦波出力信号ｃｏｓθの固着異常を、図３の処理におけるステップＳ２６及びＳ２７で、前回値Ａｓｉｎθ(n-1)と基準電圧Ｖｓとの偏差の絶対値が第１の所定値α以上で、且つ現在値Ｂｓｉｎθ(n)と基準電圧Ｖｓとの偏差の絶対値が第１の所定値α以上であるときに、前回値＜基準電圧＜現在値となるか現在値＜基準電圧＜前回値となる場合には正常と判断し、両者を満足しない場合には一応固着異常であると判断し、ステップＳ２７で、前回値と現在値との偏差の絶対値が第２の所定値β未満であるときに固着異常と判断するようにした場合について説明したが、ステップＳ２５及びＳ２６の判定とステップＳ２７の判定との何れか一方を省略するようにしてもよく、さらにはステップＳ１７の判定処理を省略するようにしてもよい。
【００８２】
また、上記実施形態においては、上記実施形態においては、図３の異常検出処理で固着異常が検出されて異常検出フラグＦＡが“１”にセットされたときに、図４のモータ回転角算出処理で、モータ回転角θｍを前回値に保持する場合について説明したが、これに限定されるものではなく、図１２に示すように、異常検出フラグＦＡが“１”にセットされたときに、ステップＳ７１で、前回のモータ回転角θｍを微分したモータ角速度ω(n-1)を読込み、次いでステップＳ７２で、読込んだモータ角速度ω(n-1)をモータ回転角θｍのオフセット値として、前回のモータ回転角θｍ(n-1)に加算して現在のモータ回転角θｍ(n)を推定するようにしてもよく、このモータ回転角の推定を前述した異常継続回数計数値Ｘが所定値Ｘｓに達するまで継続するようにしてもよい。この場合には、固着異常が生じた直前のモータ角速度ω(n-1)をモータ回転角θｍのオフセット値とするので、モータ回転角θｍを比較的正確な値に推定することができ、この間略正確な操舵補助制御処理を継続することができる効果が得られる。
【００８３】
さらに、上記実施形態においては、ｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆを２相／３相変換して、３相電流指令値Ｉａｒｅｆ〜Ｉｃｒｅｆを算出し、これら３相電流指令値Ｉａｒｅｆ〜Ｉｃｒｅｆとモータ電流検出値Ｉｍａ〜Ｉｍｃとの電流偏差ΔＩａ〜ΔＩｃを算出して、これらを電流制御処理することにより、３相の電圧指令値Ｖａｒｅｆ〜Ｖｃｒｅｆを算出する場合について説明したが、これに限定されるものではなく、モータ電流検出値Ｉｍａ〜Ｉｍｃを３相／２相変換してｄ軸モータ電流検出値Ｉｍｄ及びｑ軸モータ電流検出値Ｉｍｑを算出し、これらとｄ軸電流指令値Ｉｄｒｅｆ及びｑ軸電流指令値Ｉｑｒｅｆとの電流偏差ΔＩｄ及びΔＩｑを算出し、これら電流偏差ΔＩｄ及びΔＩｑを電流制御処理してｄ軸電圧指令値Ｖｄｒｅｆ及びｑ軸電圧指令値Ｖｑｒｅｆを算出し、これらを２相／３相変換して３相電圧指令値Ｖａｒｅｆ〜Ｖｃｒｅｆを算出するようにしてもよい。
【００８４】
さらにまた、上記実施形態においては、増幅器で増幅された励磁信号及びレゾルバ１７の正弦波出力信号をＡ／Ｄ変換器２０ｄ及び２０ｅでディジタル信号に変換して制御装置１３に入力する場合について説明したが、これに限定されるものではなく、制御装置１３をマイクロコンピュータで構成した場合には、Ａ／Ｄ変換器２０ｄ及び２０ｅを省略して、励磁信号、正弦波出力信号及び余弦波出力信号をマイクロコンピュータのＡ／Ｄ変換ポートに直接入力するようにすればよい。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態を示す全体構成図である。
【図２】図１の制御装置の具体的構成を示すブロック図である。
【図３】制御装置で実行する異常検出処理手順の一例を示すフローチャートである。
【図４】制御装置で実行するモータ回転角算出処理手順の一例を示すフローチャートである。
【図５】制御装置で使用する操舵補助電流指令値算出用マップを示す特性線図である。
【図６】制御装置で実行する操舵補助制御処理手順の一例を示すフローチャートである。
【図７】レゾルバの正弦波出力信号及び余弦波出力信号が正常であるときの波形図である。
【図８】正常時の前回のサンプリングポイントでの位置と現在のサンプリングポイントでの位置との関係を示す説明図である。
【図９】レゾルバの正弦波出力信号が固着異常であるときの波形図である。
【図１０】固着異常時の前回のサンプリングポイントでの位置と現在のサンプリングポイントでの位置との関係を示す説明図である。
【図１１】レゾルバの正弦波出力信号及び余弦波出力が正常時における誤検出の説明に供する説明図である。
【図１２】制御装置で実行するモータ回転角算出処理手順の他の例を示すフローチャートである。
【符号の説明】
【００８６】
１…ステアリング機構、２…ステアリングホイール、３…ステアリングシャフト、４…ラックピニオン機構、５…連結機構、６…転舵輪、７…減速機、８…電動モータ、１３…制御装置、１６…操舵トルクセンサ、１７…レゾルバ、１８…車速センサ、１９…モータ電流検出部、２０ａ〜２０ｃ…増幅器、２０ｄ，２０ｅ…Ａ／Ｄ変換器、２０ｆ…Ｄ／Ａ変換器、２１…角度情報演算部、２１ａ…モータ角度算出部、２１ｂ…異常検出部、２１ｃ…励磁信号発生部、２２…指令値演算部、２３…モータ駆動部、２４…操舵補助電流指令値演算部、２５…ｄ−ｑ軸電流指令値演算部、２６…２相／３相変換部、２７…減算部、２８…電流制御部、２９…パルス幅変調（ＰＷＭ）制御部、３０…インバータ回路、３１…角速度演算部
【図１】
0005151353.tif 000002
【図２】
0005151353.tif 000003
【図３】
0005151353.tif 000004
【図４】
0005151353.tif 000005
【図５】
0005151353.tif 000006
【図６】
0005151353.tif 000007
【図７】
0005151353.tif 000008
【図８】
0005151353.tif 000009
【図９】
0005151353.tif 000010
【図１０】
0005151353.tif 000011
【図１１】
0005151353.tif 000012
【図１２】
0005151353.tif 000013