(57)【特許請求の範囲】
【請求項１】
操舵ハンドルからステアリングシャフトに入力された操舵トルクを検出する操舵トルク検出手段と、
ステアリング機構に設けられて操舵アシストトルクを発生するためのモータと、
前記モータに流れる電流の検出値をデジタル値にて取得する第１モータ電流検出手段と、
前記第１モータ電流検出手段の異常を検出する異常検出手段と、
前記第１モータ電流検出手段に異常が検出されていない場合に、少なくとも前記操舵トルク検出手段により検出された操舵トルクと前記第１モータ電流検出手段により検出された電流とに基づいて前記モータの制御量である電圧指令値を演算する第１モータ制御量演算手段と、
前記第１モータ電流検出手段に異常が検出されている場合に、前記第１モータ制御量演算手段に代わって前記電圧指令値を演算する第２モータ制御量演算手段と、
前記第１モータ制御量演算手段あるいは第２モータ制御量演算手段により演算された電圧指令値にしたがって前記モータを駆動するモータ駆動手段と
を備えた電動パワーステアリング装置において、
前記第１モータ電流検出手段の分解能よりも低い分解能で、前記モータに流れる電流の検出値をデジタル値にて取得する第２モータ電流検出手段を備え、
前記第２モータ制御量演算手段は、
少なくとも前記操舵トルクに基づいて基本電圧指令値を演算する基本電圧指令値演算手段と、
前記演算された基本電圧指令値に、予め設定された周期で電圧値が交互に切り替わる交流電圧の値を加算する交流電圧加算手段と、
前記交流電圧の値が加算された電圧指令値にしたがって前記モータが駆動されているときに、前記交流電圧の加算に応答して、前記第２モータ電流検出手段により検出される検出値が変化するタイミングと、そのときの検出値とを複数取得する検出値変化タイミング取得手段と、
前記検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて、前記電圧指令値を調整する電圧指令値調整手段と
を備えたことを特徴とする電動パワーステアリング装置。
【請求項２】
前記基本電圧指令値演算手段は、少なくとも前記操舵トルクに基づいたフィードフォワード制御により基本電圧指令値を演算するものであり、
前記電圧指令値調整手段は、
前記検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて、前記モータで発生する逆起電圧を推定する逆起電圧推定手段を備え、
前記推定された逆起電圧に相当する電圧値が前記電圧指令値に加算されるように前記電圧指令値を調整することを特徴とする請求項１記載の電動パワーステアリング装置。
【請求項３】
前記基本電圧指令値演算手段は、少なくとも前記操舵トルクに基づいて設定した目標電流と、前記第２モータ電流検出手段により検出される検出電流とに基づく電流フィードバック制御により基本電圧指令値を演算するものであり、
前記電圧指令値調整手段は、
前記交流電圧の加算に応答して前記モータに流れる三角波状に変化する電流の平均値を、前記検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて演算する平均電流演算手段を備え、
前記平均電流演算手段により演算した平均値を、前記基本電圧指令値演算手段が電流フィードバック制御に使用する検出電流としてフィードバックすることにより前記電圧指令値を調整することを特徴とする請求項１記載の電動パワーステアリング装置。
【請求項４】
前記逆起電圧推定手段は、前記交流電圧の加算に応答して前記モータに流れる三角波状に変化する電流の増加期間における前記第２モータ電流検出手段により検出される検出値が変化する２つのタイミングの時間差と、前記三角波状に変化する電流の減少期間における前記第２モータ電流検出手段により検出される検出値が変化する２つのタイミングの時間差と、前記２つのタイミングを検出したときの検出値とに基づいて、前記モータで発生する逆起電圧を推定することを特徴とする請求項２記載の電動パワーステアリング装置。
【請求項５】
前記平均電流演算手段は、前記交流電圧の電圧値が切り替わってから次に切り替わるまでの期間において、前記第２モータ電流検出手段により検出される検出値が変化する第１タイミングから前記第１タイミングより後に前記検出値が変化する第２タイミングまでの時間と、前記交流電圧の電圧値が切り替わってから前記検出値が変化する前記第１タイミングまでの時間と、前記検出値が変化する前記第２タイミングから前記交流電圧の電圧値が切り替わるまでの時間と、前記第１タイミングと前記第２タイミングとを検出したときの検出値とに基づいて、前記モータに流れる三角波状に変化する電流の平均値を演算することを特徴とする請求項３記載の電動パワーステアリング装置。
【請求項６】
前記第２モータ電流検出手段は、
前記モータに流れる電流を電圧に変換する電流電圧変換器と、
前記電流電圧変換器により変換された電圧を増幅する電圧増幅器と、
前記増幅された電圧を、その電圧値を表すデジタル値に変換するアナログデジタル変換器と
を備えており、
高電流域に比べて低電流域における最小検出幅が狭くなるように、前記電圧増幅器あるいは前記アナログデジタル変換器の出力特性が非線形に設定されていることを特徴とする請求項１ないし請求項５の何れか一項記載の電動パワーステアリング装置。
【請求項７】
第１モータ電流検出手段に異常が検出されていない場合に、前記第２モータ電流検出手段により検出される電流の検出値と、第１モータ電流検出手段により検出される電流の検出値との対応関係を記憶する対応関係記憶手段と、
前記第２モータ制御量演算手段が前記電圧指令値を演算する場合に、前記第２モータ電流検出手段が検出した検出値を、前記対応関係記憶手段に記憶されている前記対応関係に基づいて補正する第２モータ電流検出値補正手段と
を備えたことを特徴とする請求項１ないし請求項６の何れか一項記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転者の操舵操作に基づいてモータを駆動して操舵アシストトルクを発生する電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、電動パワーステアリング装置は、運転者が操舵ハンドルに付与した操舵トルクを検出し、検出した操舵トルクに応じた目標操舵アシストトルクを演算して、この目標操舵アシストトルクが得られるようにモータの通電を制御する。通常、電動パワーステアリング装置は、目標操舵アシストトルクに比例する目標電流を計算するとともにモータに流れた実際の電流を電流センサにより検出し、目標電流と実際に流れた電流との偏差に応じた電圧をモータに印加する。つまり、フィードバック制御によりモータを駆動制御する。
【０００３】
電流センサが故障した場合には、フィードバック制御を行うことができない。こうした電流センサの故障時においても操舵アシストを行う電動パワーステアリング装置が特許文献１において提案されている。この特許文献１に提案された電動パワーステアリング装置は、電流センサの故障が検出されたとき、フィードバック制御に代えてオープンループ制御に切り替える。つまり、操舵トルクに比例した大きさの電圧をモータに印加するように設定したデューティ比でモータ駆動回路のスイッチング素子を制御する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−８８８７７号公報
【発明の概要】
【０００５】
しかしながら、上記のようなオープンループ制御でモータを駆動した場合には、フィードバック制御に比べて、操舵操作に対する操舵アシストの追従性が極端に低下する。つまり、速い速度で操舵操作したときに発生できる操舵アシストが極端に低下する。この理由は、モータ制御量に、モータで発生する逆起電圧による電圧低下が加味されていないからである。モータが回転すれば、モータコイルに逆起電圧が発生する。このため、例えば、モータの目標印加電圧が５Ｖであっても、逆起電圧が３Ｖであれば、その差である２Ｖに相当する電流しかモータに流すことができない。モータの回転速度がさらに上昇して、逆起電圧が印加電圧を上回る場合には、逆起電圧と印加電圧との差によりエネルギーがモータ駆動回路側（電源側）に戻ってしまい、操舵アシストを行うことができないだけでなく、逆に、操舵操作のブレーキとなる。このため、電流センサが故障した場合には、操舵操作が重くなってしまう。
【０００６】
そこで、電流センサの故障に備えて、電流センサの冗長化が考えられるが、電流センサを完全に冗長化すると、いろいろなディメリットが発生する。電動パワーステアリング装置で用いられる電流センサは、シャント抵抗方式が主流となっており、主に、シャント抵抗器、増幅回路、Ａ／Ｄ変換器（アナログデジタル変換器）から構成される。従って、電流センサを冗長化すると、これらが全て２つ以上必要となる。このため、シャント抵抗器の抵抗値の増加によるエネルギー損失が倍増する。また、回路構成が複雑化し大幅なコストアップを招いてしまう。
【０００７】
本発明の目的は、上記問題に対処するためになされたもので、エネルギー損失やコストアップを抑えた構成で、電流センサが故障した場合でも、操舵アシスト性能の低下を抑制して、良好な操舵アシストを継続させることにある。
【０００８】
上記目的を達成するために、本発明の特徴は、操舵ハンドルからステアリングシャフトに入力された操舵トルクを検出する操舵トルク検出手段（２１）と、ステアリング機構に設けられて操舵アシストトルクを発生するためのモータ（２０）と、前記モータに流れる電流の検出値をデジタル値にて取得する第１モータ電流検出手段（３１）と、前記第１モータ電流検出手段の異常を検出する異常検出手段（９１）と、前記第１モータ電流検出手段に異常が検出されていない場合に、少なくとも前記操舵トルク検出手段により検出された操舵トルクと前記第１モータ電流検出手段により検出された電流とに基づいて前記モータの制御量である電圧指令値を演算する第１モータ制御量演算手段（７０）と、前記第１モータ電流検出手段に異常が検出されている場合に、前記第１モータ制御量演算手段に代わって前記電圧指令値を演算する第２モータ制御量演算手段（８０，９０）と、前記第１モータ制御量演算手段あるいは第２モータ制御量演算手段により演算された電圧指令値にしたがって前記モータを駆動するモータ駆動手段（３０，４０）とを備えた電動パワーステアリング装置において、
前記第１モータ電流検出手段の分解能よりも低い分解能で、前記モータに流れる電流の検出値をデジタル値にて取得する第２モータ電流検出手段（３２）を備え、前記第２モータ制御量演算手段は、少なくとも前記操舵トルクに基づいて基本電圧指令値を演算する基本電圧指令値演算手段（８１，７１〜７３）と、前記演算された基本電圧指令値に、予め設定された周期で電圧値が交互に切り替わる交流電圧の値を加算する交流電圧加算手段（８４，８５，８６）と、前記交流電圧の値が加算された電圧指令値にしたがって前記モータが駆動されているときに、前記交流電圧の加算に応答して、前記第２モータ電流検出手段により検出される検出値が変化するタイミングと、そのときの検出値とを複数取得する検出値変化タイミング取得手段（Ｓ１１〜Ｓ１３，Ｓ２１〜Ｓ２３）と、前記検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて、前記電圧指令値を調整する電圧指令値調整手段（８２，８３，Ｓ１４〜Ｓ１８，８７，Ｓ２４〜Ｓ２５）とを備えたことにある。
【０００９】
本発明においては、第１モータ制御量演算手段が、少なくとも操舵トルク検出手段により検出された操舵トルクと第１モータ電流検出手段により検出された電流とに基づいてモータの制御量である電圧指令値を演算し、モータ駆動手段が、第１モータ制御量演算手段により演算された電圧指令値にしたがってモータを駆動する。これにより、モータが操舵アシストトルクを発生する。例えば、第１モータ制御量演算手段は、操舵トルク検出手段により検出された操舵トルクに応じて目標電流を設定し、この目標電流と、第１モータ電流検出手段により検出された電流とに基づく電流フィードバック制御により電圧指令値を演算する。
【００１０】
第１モータ電流検出手段が故障した場合、第１モータ制御量演算手段は、正常な電圧指令値を演算することができない。そこで、第２モータ制御量演算手段は、異常検出手段により第１モータ電流検出手段の異常が検出されている場合に、第１モータ制御量演算手段に代わって電圧指令値を演算する。
【００１１】
第１モータ電流検出手段を２組設けておけば、その１つが故障しても他方の第１モータ電流検出手段を使って電圧指令値を演算することができるが、そのように完全に冗長化を図るとエネルギー消費やコスト面から好ましくない。また、モータに流れる電流を検出せずに、単に、操舵トルクからフィードフォワード制御（オープンループ制御）にて電圧指令値を演算した場合には、モータで発生する逆起電圧を加味することができず、操舵アシストの応答性が低下する。
【００１２】
そこで、本発明においては、第１モータ電流検出手段よりも低分解能の第２モータ電流検出手段を備えており、第２モータ制御量演算手段が、この第２モータ電流検出手段により検出される検出値を使って電圧指令値を演算する。モータ電流検出手段が低分解能である場合には、電流を検出するための抵抗器の抵抗値を小さくできるため、それだけエネルギー消費が少なく、また、デジタル値に変換する回路構成も簡単になりコストアップを抑制することができる。
【００１３】
第２モータ制御量演算手段は、低分解能の第２モータ電流検出手段を使っても、良好な操舵アシスト性能が得られるように、基本電圧指令値演算手段と、交流電圧加算手段と、検出値変化タイミング取得手段と、電圧指令値調整手段とを備えている。
【００１４】
基本電圧指令値演算手段は、少なくとも操舵トルクに基づいて基本電圧指令値を演算する。例えば、操舵トルクに基づいてフィードフォワード制御により基本電圧指令値を演算してもよいし、操舵トルクに基づいて設定される目標電流と、第２モータ電流検出手段により検出される電流とに基づいた電流フィードバック制御により基本電圧指令値を演算してもよい。
【００１５】
交流電圧加算手段は、基本電圧指令値に、予め設定された周期で電圧値が交互に切り替わる交流電圧の値を加算する。交流電圧は、例えば、一定の振幅で符号（正負）が周期的に切り替わる方形波状の交流電圧が好ましいが、符号が同じで振幅のみが周期的に切り替わる方形波状の交流電圧など種々の交流電圧を採用することができる。
【００１６】
基本電圧指令値に交流電圧の値が加算された電圧指令値にしたがってモータが駆動されると、交流電圧成分に応答して、モータに流れる電流は、三角波状に変化する。検出値変化タイミング取得手段は、交流電圧の加算に応答して、第２モータ電流検出手段により検出される検出値が変化するタイミングと、そのときの検出値とを複数取得する。この取得したタイミングと検出値とを利用すれば、例えば、モータで発生する逆起電圧を推定することもできるし、第２モータ電流検出手段の分解能で規定された値以外の中間的な電流値を計算により求めることもできる。
【００１７】
そこで、電圧指令値調整手段は、検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて電圧指令値を調整する。この調整は、最終的に電圧指令値が調整されたかたちで演算されるものであればよく、例えば、基本電圧指令値を調整するものでもよいし、基本電圧指令値を演算するために使用される変数を調整することにより基本電圧指令値が調整されるものでもよい。
【００１８】
この結果、本発明によれば、第１電流検出手段が故障した場合に、低分解能の第２電流検出手段を使って、良好な操舵アシストを継続することができる。
【００１９】
本発明の他の特徴は、前記基本電圧指令値演算手段は、少なくとも前記操舵トルクに基づいたフィードフォワード制御により基本電圧指令値を演算するもの（８１）であり、前記電圧指令値調整手段は、前記検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて、前記モータで発生する逆起電圧を推定する逆起電圧推定手段（８２）を備え、前記推定された逆起電圧に相当する電圧値が前記電圧指令値に加算されるように前記電圧指令値を調整する（８３）ことにある。
【００２０】
本発明においては、基本電圧指令値演算手段が少なくとも操舵トルクに基づいたフィードフォワード制御により基本電圧指令値を演算する。例えば、操舵トルクが増加するにしたがって大きくなる電圧指令値を演算する。このようにフィードフォワード制御により基本電圧指令値を演算した場合には、モータで発生する逆起電圧が基本電圧指令値に加味されないため、モータ回転速度が速い場合には、操舵アシストが不足して追従性が低下してしまう。そこで、逆起電圧推定手段が、検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて、モータで発生する逆起電圧を推定する。
【００２１】
電圧指令値調整手段は、推定した逆起電圧に相当する電圧値が電圧指令値に加算されるように電圧指令値を調整する。例えば、基本電圧指令値に逆起電圧相当の電圧値を加算する、あるいは、交流電圧の値が加算された基本電圧指令値に逆起電圧相当の電圧値を加算するようにして、電圧指令値を調整する。この結果、本発明によれば、第１電流検出手段が故障した場合に、低分解能の第２電流検出手段を使って追従性の良い操舵アシストを継続することができる。
【００２２】
本発明の他の特徴は、前記基本電圧指令値演算手段は、少なくとも前記操舵トルクに基づいて設定した目標電流と、前記第２モータ電流検出手段により検出される検出電流とに基づく電流フィードバック制御により基本電圧指令値を演算するもの（７１〜７３）であり、前記電圧指令値調整手段は、前記交流電圧の加算に応答して前記モータに流れる三角波状に変化する電流の平均値を、前記検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて演算する平均電流演算手段（８７）を備え、前記平均電流演算手段により演算した平均値を、前記基本電圧指令値演算手段が電流フィードバック制御に使用する検出電流としてフィードバックすること（６３）により前記電圧指令値を調整することにある。
【００２３】
本発明においては、基本電圧指令値演算手段が少なくとも操舵トルクに基づいて目標電流を演算し、この目標電流と、第２モータ電流検出手段により検出される検出電流とに基づく電流フィードバック制御により基本電圧指令値を演算する。分解能の低い第２モータ電流検出手段により検出される検出電流を基本電圧指令値演算手段にフィードバックすると、分解能の低さが起因して操舵ハンドルが振動する。そこで、平均電流演算手段が、交流電圧の加算に応答してモータに流れる三角波状に変化する電流の平均値を、検出値変化タイミング取得手段により取得した複数のタイミングと検出値とに基づいて演算する。
【００２４】
電圧指令値調整手段は、平均電流演算手段により演算した平均値を、電流フィードバック制御に使用する検出電流として基本電圧指令値演算手段にフィードバックする。これにより、電圧指令値が調整される。この場合、平均値（平均電流）は、第２モータ電流検出手段の分解能で規定された値以外の中間的な値をとることができるため、分解能の低い第２モータ電流検出手段の検出値を三角波状電流の平均値に置き換えることで、フィードバック電流が適正となる。この結果、本発明によれば、第１電流検出手段が故障した場合に、第２電流検出手段の分解能の低さに起因する操舵ハンドルの振動を抑制することができ、良好な操舵アシストを継続することができる。
【００２５】
本発明の他の特徴は、前記逆起電圧推定手段は、前記交流電圧の加算に応答して前記モータに流れる三角波状に変化する電流の増加期間における前記第２モータ電流検出手段により検出される検出値が変化する２つのタイミング（ｔ１１，ｔ１２）の時間差（Ｔ１）と、前記三角波状に変化する電流の減少期間における前記第２モータ電流検出手段により検出される検出値が変化する２つのタイミング（ｔ２１，ｔ２２）の時間差（Ｔ２）と、前記２つのタイミングを検出したときの検出値（Ｉ１，Ｉ２）とに基づいて、前記モータで発生する逆起電圧を推定することにある。
【００２６】
本発明によれば、交流電圧の加算に応答して三角波状に変化するモータ電流の増加期間において検出値が変化する２つのタイミングの時間差と、モータ電流の減少期間において検出値が変化する２つのタイミングの時間差と、２つのタイミングを検出したときの検出値とに基づいて、モータで発生する逆起電圧を推定するため、分解能の低い第２モータ電流検出手段を使って逆起電圧を適正に推定することができる。
【００２７】
本発明の他の特徴は、前記平均電流演算手段は、前記交流電圧の電圧値が切り替わってから次に切り替わるまでの期間において、前記第２モータ電流検出手段により検出される検出値が変化する第１タイミング（ｔ３４）から前記第１タイミングより後に前記検出値が変化する第２タイミング（ｔ４５）までの時間（Ｔ４）と、前記交流電圧の電圧値が切り替わってから前記検出値が変化する前記第１タイミングまでの時間（Ｔ３）と、前記検出値が変化する前記第２タイミングから前記交流電圧の電圧値が切り替わるまでの時間（Ｔ５）と、前記第１タイミングと前記第２タイミングとを検出したときの検出値（Ｉ１，Ｉ２）とに基づいて、前記モータに流れる三角波状に変化する電流の平均値を演算することにある。
【００２８】
本発明によれば、交流電圧の電圧値が切り替わってから第１タイミングまでの時間と、第１タイミングから第２タイミングまでの時間と、第２タイミングから交流電圧の電圧値が切り替わるまでの時間と、第１タイミングと第２タイミングとにおける検出値とに基づいて、モータに流れる三角波状に変化する電流の平均値を演算するため、分解能の低い第２モータ電流検出手段を使って、モータに流れる電流を精度良く検出することができる。
【００２９】
本発明の他の特徴は、前記第２モータ電流検出手段（３２）は、前記モータに流れる電流を電圧に変換する電流電圧変換器（３２ａ）と、前記電流電圧変換器により変換された電圧を増幅する電圧増幅器（３２ｂ）と、前記増幅された電圧を、その電圧値を表すデジタル値に変換するアナログデジタル変換器（３２ｃ）とを備えており、高電流域に比べて低電流域における最小検出幅が狭くなるように、前記電圧増幅器あるいは前記アナログデジタル変換器の出力特性が非線形に設定されていることにある。
【００３０】
分解能の低い第２モータ電流検出手段を用いてモータを駆動制御すると、その分解能の低さに起因して、操舵ハンドルが振動しやすい。この振動は、弱い操舵操作を行ったときに感じやすく、強い操舵操作を行ったときには感じにくい。そこで、本発明においては、高電流域に比べて低電流域における最小検出幅が狭くなるように、電圧増幅器あるいはアナログデジタル変換器の出力特性が非線形に設定されている。これにより、第１モータ電流検出手段の故障時でのモータ駆動制御時において、微小な操舵操作時におけるハンドル振動を抑制して、操舵フィーリングを更に向上させることができる。
【００３１】
本発明の他の特徴は、第１モータ電流検出手段に異常が検出されていない場合に、前記第２モータ電流検出手段により検出される電流の検出値と、第１モータ電流検出手段により検出される電流の検出値との対応関係を記憶する対応関係記憶手段（６５）と、前記第２モータ制御量演算手段が前記電圧指令値を演算する場合に、前記第２モータ電流検出手段が検出した検出値を、前記対応関係記憶手段に記憶されている前記対応関係に基づいて補正する第２モータ電流検出値補正手段（６６）とを備えたことにある。
【００３２】
分解能の低い第２モータ電流検出手段においては、第１モータ電流検出手段よりも検出値のバラツキ（実際の電流値に対する検出値の偏差）が大きくなる可能性がある。この場合、適正な検出特性が得られなくなる。そこで、本発明は、対応関係記憶手段と第２モータ電流検出値補正手段とを備えている。
【００３３】
対応関係記憶手段は、第１モータ電流検出手段に異常が検出されていない場合に、第２モータ電流検出手段により検出される電流の検出値と、第１モータ電流検出手段により検出される電流の検出値との対応関係を記憶する。例えば、モータ駆動手段によりモータが駆動されているときに、第２モータ電流検出手段の検出値が変化したときの第１モータ電流検手段の検出値を読み取ることで、両検出手段の検出値の対応関係を把握することができる。従って、第２モータ電流検出手段のとり得る検出値毎に第１モータ電流検手段の検出値との対応関係を記憶すれば、第２モータ電流検出手段の検出値と第１モータ電流検出手段の検出値との対応関係を表す情報を記憶することができる。
【００３４】
第２モータ電流検出値補正手段は、第２モータ制御量演算手段が電圧指令値を演算する場合、つまり、第１モータ電流検出手段に異常が検出されている場合に、第２モータ電流検出手段が検出した検出値を、対応関係記憶手段に記憶されている対応関係に基づいて補正する。従って、分解能の低い第２モータ電流検出手段の検出特性が目標特性と相違している場合であっても、検出値が補正されることにより適正な検出特性が得られる。この結果、適正な電圧指令値を演算することができ、良好な操舵アシストを継続することができる。
【００３５】
尚、上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件は、前記符号によって規定される実施形態に限定されるものではない。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態に係る電動パワーステアリング装置の概略構成図である。
【図２】第１実施形態にかかるアシストＥＣＵの機能ブロック図である。
【図３】電流センサの概略構成図である。
【図４】アシストマップを表すグラフである。
【図５】基本電圧マップを表すグラフである。
【図６】交流電圧信号の電圧波形を表すグラフである。
【図７】交流電圧信号の印加に応じた実電流の変化と検出値の変化とを表すグラフである。
【図８】補正電圧演算ルーチンを表すフローチャートである。
【図９】回転速度の増加により逆起電圧が増加して、モータ電流が減少する特性を表すグラフである。
【図１０】第２実施形態にかかるアシストＥＣＵの機能ブロック図である。
【図１１】交流電圧信号の印加に応じた実電流の変化と検出値の変化とを表すグラフである。
【図１２】平均モータ電流演算ルーチンを表すフローチャートである。
【図１３】第１変形例にかかる電流センサの概略構成図である。
【図１４】他の第１変形例にかかる電流センサの概略構成図である。
【図１５】第３変形例にかかる電流センサの特性を表すグラフである。
【図１６】第４変形例にかかるマイコンの機能ブロック図である。
【発明を実施するための形態】
【００３７】
以下、本発明の一実施形態に係る電動パワーステアリング装置について図面を用いて説明する。図１は、同実施形態に係る車両の電動パワーステアリング装置の概略構成を表している。
【００３８】
この電動パワーステアリング装置は、操舵ハンドル１１の操舵操作により転舵輪を転舵するステアリング機構１０と、ステアリング機構１０に組み付けられ操舵アシストトルクを発生するモータ２０と、操舵ハンドル１１の操作状態に応じてモータ２０の作動を制御する電子制御ユニット１００とを主要部として備えている。以下、電子制御ユニット１００をアシストＥＣＵ１００と呼ぶ。
【００３９】
ステアリング機構１０は、操舵ハンドル１１の回転操作により左右前輪ＦＷ１，ＦＷ２を転舵するための機構で、操舵ハンドル１１を上端に一体回転するように接続したステアリングシャフト１２を備える。このステアリングシャフト１２の下端には、ピニオンギヤ１３が一体回転するように接続されている。ピニオンギヤ１３は、ラックバー１４に形成されたギヤ部１４ａと噛み合って、ラックバー１４とともにラックアンドピニオン機構を構成する。
【００４０】
ラックバー１４は、ギヤ部１４ａがラックハウジング１６内に収納され、その左右両端がラックハウジング１６から露出してタイロッド１７と連結される。このラックバー１４のタイロッド１７との連結部には、ストロークエンドを構成するストッパ１８が形成され、このストッパ１８とラックハウジング１６の端部との当接によりラックバー１４の左右動ストロークが機械的に規制されている。左右のタイロッド１７の他端は、左右前輪ＦＷ１，ＦＷ２２に設けられたナックル１９に接続される。こうした構成により、左右前輪ＦＷ１，ＦＷ２は、ステアリングシャフト１２の軸線回りの回転に伴うラックバー１４の軸線方向の変位に応じて左右に操舵される。
【００４１】
ステアリングシャフト１２には減速ギヤ２５を介してモータ２０が組み付けられている。モータ２０は、その回転により減速ギヤ２５を介してステアリングシャフト１２をその軸中心に回転駆動して、操舵ハンドル１１の回動操作に対してアシスト力を付与する。このモータ２０は、ブラシ付直流モータである。
【００４２】
ステアリングシャフト１２には、操舵ハンドル１１と減速ギヤ２５との中間位置に操舵トルクセンサ２１が組みつけられている。操舵トルクセンサ２１は、例えば、ステアリングシャフト１２の中間部に介装されたトーションバー（図示略）の捩れ角度をレゾルバ等により検出し、この捩れ角に基づいてステアリングシャフト１２に働いた操舵トルクｔｒを検出する。操舵トルクｔｒは、正負の値により操舵ハンドル１１の操作方向が識別される。例えば、操舵ハンドル１１の左方向への操舵時における操舵トルクｔｒを正の値で、操舵ハンドル１１の右方向への操舵時における操舵トルクｔｒを負の値で示す。尚、本実施形態においては、トーションバーの捩れ角度を、トーションバーの両端に設けた２つのレゾルバにより検出するが、エンコーダ等の他の回転角センサにより検出することもできる。
【００４３】
次に、アシストＥＣＵ１００について図２を用いて説明する。アシストＥＣＵ１００は、モータ２０の目標制御量である電圧指令値を演算し、演算された電圧指令値に応じたスイッチ駆動信号を出力する電子制御回路５０と、電子制御回路５０から出力されたスイッチ駆動信号にしたがってモータ２０に通電するモータ駆動回路４０とを含んで構成される。
【００４４】
電子制御回路５０は、ＣＰＵ，ＲＯＭ，ＲＡＭ等からなる演算回路と入出力インタフェースを備えたマイクロコンピュータ６０（以下、マイコン６０と呼ぶ）と、マイコン６０から出力されるスイッチ制御信号を増幅してモータ駆動回路４０に供給するスイッチ駆動回路３０とを備える。
【００４５】
アシストＥＣＵ１００は、電源装置２００から電力供給される。この電源装置２００は、図示しないバッテリと、エンジンの回転により発電するオルタネータとから構成される。この電源装置２００の定格出力電圧は、例えば１２Ｖに設定されている。尚、図中においては、電源装置２００からモータ駆動回路４０への電源供給ラインである電源ライン２１０のみを示しているが、電子制御回路５０の作動電源も電源装置２００から供給される。
【００４６】
モータ駆動回路４０は、電源ライン２１０とグランドライン２２０との間に設けられ、スイッチング素子Ｑ１Ｈとスイッチング素子Ｑ２Ｈとを並列接続した上アーム回路４５Ｈと、スイッチング素子Ｑ１Ｌとスイッチング素子Ｑ２Ｌとを並列接続した下アーム回路４５Ｌとを直列に接続し、この上アーム回路４５Ｈと下アーム回路４５Ｌとの接続部から、モータ２０への電力供給を行うための通電ライン４７ａ，４７ｂを引き出したＨブリッジ回路で構成されている。
【００４７】
モータ駆動回路４０に設けられるスイッチング素子Ｑ１Ｈ，Ｑ２Ｈ，Ｑ１Ｌ，Ｑ２Ｌとしては、ＭＯＳ−ＦＥＴ（Ｍetal  Ｏxide  Ｓemiconductor  Ｆield  Ｅffect  Ｔransistor）が使用される。スイッチング素子Ｑ１Ｈ，Ｑ２Ｈ，Ｑ１Ｌ，Ｑ２Ｌは、各ソース−ドレイン間に電源電圧が印加されるように上下のアーム回路４５Ｈ，４５Ｌに設けられ、また、各ゲートが電子制御回路５０のスイッチ駆動回路３０に接続される。
【００４８】
尚、図中に回路記号で示すように、ＭＯＳ−ＦＥＴには構造上、ダイオードが寄生している。このダイオードを寄生ダイオードと呼ぶ。各スイッチング素子Ｑ１Ｈ，Ｑ２Ｈ，Ｑ１Ｌ，Ｑ２Ｌの寄生ダイオードは、電源ライン２１０からグランドライン２２０への電流の流れを遮断し、グランドライン２２０から電源ライン２１０へ向かう電流のみを許容する逆導通ダイオードである。また、モータ駆動回路４０は、寄生ダイオードとは別の逆導通ダイオード（電流遮断方向は寄生ダイオードと同じであって、電源電圧方向に対して逆方向にのみ導通するダイオード）をスイッチング素子Ｑ１Ｈ，Ｑ２Ｌ，Ｑ２Ｈ，Ｑ１Ｌに並列に接続した構成であってもよい。
【００４９】
マイコン６０は、スイッチ駆動回路３０を介してモータ駆動回路４０の各スイッチング素子Ｑ１Ｈ，Ｑ２Ｈ，Ｑ１Ｌ，Ｑ２Ｌのゲートに独立した駆動信号を出力する。この駆動信号により、各スイッチング素子Ｑ１Ｈ，Ｑ２Ｈ，Ｑ１Ｌ，Ｑ２Ｌのオン状態とオフ状態とが切り替えられる。
【００５０】
モータ駆動回路４０においては、スイッチング素子Ｑ２Ｈとスイッチング素子Ｑ１Ｌとがオフに維持された状態でスイッチング素子Ｑ１Ｈとスイッチング素子Ｑ２Ｌとがオンすると、図中の（＋）方向に電流が流れる。これにより、モータ２０は、正回転方向のトルクを発生する。また、スイッチング素子Ｑ１Ｈとスイッチング素子Ｑ２Ｌとがオフに維持された状態でスイッチング素子Ｑ２Ｈとスイッチング素子Ｑ１Ｌとがオンすると、図中の（−）方向に電流が流れる。これにより、モータ２０は、逆回転方向のトルクを発生する。
【００５１】
アシストＥＣＵ１００は、モータ２０に流れる電流を検出する第１電流センサ３１と第２電流センサ３２とを備えている。この第１電流センサ３１と第２電流センサ３２は、下アーム回路４５Ｌとグランドとを接続するグランドライン２２０に直列に設けられる。第２電流センサ３２は、第１電流センサ３１の異常が検出されている場合に、バックアップ用として使用されるものである。
【００５２】
第１電流センサ３１は、図３に示すように、グランドライン２２０に設けた第１シャント抵抗器３１ａと、第１シャント抵抗器３１ａの両端電圧を増幅する第１増幅回路３１ｂと、第１増幅回路３１ｂの出力電圧をデジタル値に変換する第１Ａ／Ｄ変換器３１ｃ（アナログデジタル変換器）とを備えている。この第１Ａ／Ｄ変換器３１ｃは、例えば、１２ビットの分解能を有する。第２電流センサ３２は、第１電流センサ３１の第１シャント抵抗器３１ａと直列に設けられる第２シャント抵抗器３２ａと、第２シャント抵抗器３２ａの両端電圧を増幅する第２増幅回路３２ｂと、第２増幅回路３２ｂの出力電圧をデジタル値に変換する第２Ａ／Ｄ変換器３２ｃとを備えている。この第２Ａ／Ｄ変換器３２ｃは、第１Ａ／Ｄ変換器３１ｃよりも低分解能となる４ビットの分解能を有する。
【００５３】
第１シャント抵抗器３１ａおよび第２シャント抵抗器３２ａは、モータ２０に流れる電流に比例した両端電圧を発生させるため、電流電圧変換器として機能する。第１シャント抵抗器３１ａの抵抗値は、第１Ａ／Ｄ変換器３１ｃの分解能に応じて設定され、第２シャント抵抗器３２ａの抵抗値は、第２Ａ／Ｄ変換器３２ｃの分解能に応じて設定される。従って、第１Ａ／Ｄ変換器３１ｃと第２Ａ／Ｄ変換器３２ｃとにおける１ＬＳＢあたりの電圧幅（電圧の最小検出幅）を等しくした場合、第２Ａ／Ｄ変換器３２ｃが第１Ａ／Ｄ変換器３１ｃよりも低分解能であるため、第２シャント抵抗器３２ａの抵抗値Ｒ２は、第１シャント抵抗器３１ａの抵抗値Ｒ１に比べて小さい。従って、第１電流センサ３１と第２電流センサ３２とを直列に接続した構成は、第１電流センサ３１を２組直列に設けた構成に比べて、抵抗値が小さく、また、増幅回路やＡ／Ｄ変換器の構成も簡易となる。
【００５４】
第１電流センサ３１および第２電流センサ３２は、それぞれ検出したモータ２０に流れる電流値を表すデジタル信号をマイコン６０に出力する。以下、第１電流センサ３１により検出されたモータ２０に流れる電流の値を第１モータ実電流Ｉｍ１と呼び、第２電流センサ３２により検出されたモータ２０に流れる電流の値を第２モータ実電流Ｉｍ２と呼ぶ。尚、本実施形態においては、Ａ／Ｄ変換機能を電流センサ３１，３２側に設けているが、マイコン６０に設けた構成であってもよい。この場合は、第１電流センサ３１および第２電流センサ３２は、増幅回路３１ｂ，３２ｂの出力するアナログ信号（電圧信号）をマイコン６０に出力し、マイコン６０でアナログ信号をデジタル値に変換するようにして電流を検出すればよい。
【００５５】
また、アシストＥＣＵ１００は、車速センサ３４を接続している。車速センサ３４は、車速ｖｘを表す検出信号をアシストＥＣＵ１００に出力する。
【００５６】
次に、マイコン６０の制御処理について説明する。マイコン６０は、その機能に着目すると、正常時モータ制御量演算部７０と、異常時モータ制御量演算部８０と、制御切替部６１と、ＰＷＭ制御部６２と、電流センサ異常検出部９１とを備えている。各機能部における処理は、マイコン６０に記憶された制御プログラムを所定の周期で繰り返し実行することにより行われる。
【００５７】
正常時モータ制御量演算部７０は、第１電流センサ３１に異常が検出されていないとき、つまり、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「０」であるとき、モータ２０の制御量を演算するブロックである。正常時モータ制御量演算部７０は、目標トルク演算部７１と、目標電流演算部７２と、電流フィードバック制御部７３とを備えている。
【００５８】
目標トルク演算部７１は、車速センサ３４よって検出された車速ｖｘと、操舵トルクセンサ２１によって検出された操舵トルクｔｒとを入力し、図４に示すアシストマップを参照して、入力した車速ｖｘおよび操舵トルクｔｒに応じて設定される目標アシストトルクｔ＊を計算する。アシストマップは、代表的な複数の車速ｖｘごとに、操舵トルクｔｒと目標アシストトルクｔ＊との関係を設定した関係付けデータである。アシストマップは、操舵トルクｔｒが大きくなるにしたがって目標アシストトルクｔ＊が増加し、車速が低くなるにしたがって目標アシストトルクｔ＊が増加する特性を有している。尚、図３は、左方向の操舵時におけるアシストマップであって、右方向の操舵時におけるアシストマップは、左方向のものに対して操舵トルクｔｒと目標アシストトルクｔ＊の符号をそれぞれ反対（つまり負）にしたものとなる。
【００５９】
目標トルク演算部７１は、計算した目標アシストトルクｔ＊を目標電流演算部７２に出力する。目標電流演算部７２は、目標アシストトルクｔ＊を発生させるために必要な電流値である目標電流Ｉ＊を計算する。目標電流Ｉ＊は、目標アシストトルクｔ＊をトルク定数で除算することにより求められる。
【００６０】
目標トルク演算部７１は、計算した目標電流Ｉ＊を電流フィードバック制御部７３に出力する。電流フィードバック制御部７３は、目標電流Ｉ＊から第１電流センサ３１により検出された第１モータ実電流Ｉｍ１を減算した偏差ΔＩを算出し、この偏差ΔＩを使ったＰＩ制御（比例積分制御）により、第１モータ実電流Ｉｍ１が目標電流Ｉ＊に追従するようにモータ２０に印加する目標電圧を表す電圧指令値Ｖ＊を計算する。電圧指令値Ｖ＊は、例えば、下記式により計算する。
Ｖ＊＝Ｋｐ・ΔＩ＋Ｋｉ・∫ΔＩ  ｄｔ
ここでＫｐは、ＰＩ制御における比例項の制御ゲイン、Ｋｉは、ＰＩ制御における積分項の制御ゲインである。
【００６１】
電流フィードバック制御部７３は、計算した電圧指令値Ｖ＊を制御切替部６１に出力する。制御切替部６１は、正常時モータ制御量演算部７０と異常時モータ制御量演算部８０とから電圧指令値Ｖ＊を入力するように構成され、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「０」のときに、正常時モータ制御量演算部７０から入力した電圧指令値Ｖ＊をそのままＰＷＭ制御部６２に出力し、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「１」のときに、異常時モータ制御量演算部８０から入力した電圧指令値Ｖ＊をそのままＰＷＭ制御部６２に出力する。
【００６２】
ＰＷＭ制御部６２は、制御切替部６１から出力される電圧指令値Ｖ＊を入力し、電圧指令値Ｖ＊で表される電圧がモータ２０に印加されるようなデューティ比を設定したＰＷＭ（Ｐulse  Ｗidth  Ｍodulation）制御信号をスイッチ駆動回路３０に出力する。
【００６３】
スイッチ駆動回路３０は、入力したＰＷＭ制御信号を増幅してモータ駆動回路４０に出力する。これにより、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「０」である場合には、正常時モータ制御量演算部７０にて計算された電圧指令値Ｖ＊に応じたデューティ比のパルス信号列がＰＷＭ制御信号としてモータ駆動回路４０に出力される。このＰＷＭ制御信号により、各スイッチング素子Ｑ１Ｈ，Ｑ２Ｈ，Ｑ１Ｌ，Ｑ２Ｌのデューティ比が制御され、モータ２０の駆動電圧が電圧指令値Ｖ＊に調整される。こうして、モータ２０には、操舵操作方向に回転する向きに目標電流Ｉ＊が流れる。この結果、モータ２０は、目標アシストトルクｔ＊に等しいトルクを出力し、運転者の操舵操作をアシストする。
【００６４】
電流センサ異常検出部９１は、第１電流センサ３１により検出される第１モータ実電流Ｉｍ１と、正常時モータ制御量演算部７０で計算される目標電流Ｉ＊とを入力し、第１モータ実電流Ｉｍ１と目標電流Ｉ＊とが所定期間にわたって大きく相違する場合に第１電流センサ３１が故障していると判定する。例えば、第１モータ実電流Ｉｍ１と目標電流Ｉ＊との偏差（｜Ｉｍ１−Ｉ＊｜）を計算し、この偏差が予め設定された基準値よりも大きくなる連続時間が、予め設定された基準時間を超えた場合に、第１電流センサ３１が故障していると判定する。
【００６５】
電流センサ異常検出部９１は、第１電流センサ３１の異常を検出していない場合には、異常判定信号Ｆfailを「０」に設定し、第１電流センサ３１の異常を検出した場合には、異常判定信号Ｆfailを「１」に設定する。電流センサ異常検出部９１は、設定した異常判定信号Ｆfailを、正常時モータ制御量演算部７０、異常時モータ制御量演算部８０、制御切替部６１に出力する。正常時モータ制御量演算部７０は、異常判定信号Ｆfailが「０」である場合に作動状態となり、異常判定信号Ｆfailが「１」である場合に休止状態となる。また、異常時モータ制御量演算部８０は、異常判定信号Ｆfailが「０」である場合に休止状態となり、異常判定信号Ｆfailが「１」である場合に作動状態となる。
【００６６】
異常時モータ制御量演算部８０は、第１電流センサ３１に異常が検出されているとき、つまり、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「１」であるとき、モータ２０の制御量を演算するブロックである。
【００６７】
異常時モータ制御量演算部８０は、基本電圧演算部８１と、逆起電圧推定部８２と、第１電圧加算部８３と、交流電圧信号生成部８４と、第２電圧加算部８５とを備えている。
【００６８】
基本電圧演算部８１は、操舵トルクセンサ２１によって検出された操舵トルクｔｒを入力し、図５に示す基本電圧マップを参照して、入力した操舵トルクｔｒに応じて設定される基本電圧Ｖ０を計算する。基本電圧マップは、操舵トルクｔｒと基本電圧Ｖ０との関係を設定した関係付けデータである。基本電圧マップは、操舵トルクｔｒが大きくなるにしたがって基本電圧Ｖ０が増加する特性を有しており、例えば、実線にて示すように、操舵トルクｔｒに比例した基本電圧Ｖ０を設定する特性でもよいし、破線にて示すように、複数種類の一次関数を組み合わせて基本電圧Ｖ０を設定する特性でもよいし、一点鎖線にて示すように、多項式を使って基本電圧Ｖ０を設定する特性でもよい。基本電圧演算部８１は、計算した基本電圧Ｖ０を表す電圧値を第１電圧加算部８３に出力する。尚、図５は、左方向の操舵時における基本電圧マップであって、右方向の操舵時における基本電圧マップは、左方向のものに対して基本電圧Ｖ０と操舵トルクｔｒの符号を反対（つまり負）にしたものとなる。
【００６９】
逆起電圧推定部８２は、第２電流センサ３２により検出される第２モータ実電流Ｉｍ２と、交流電圧信号生成部８４により生成される交流電圧信号Ｖ２とを入力し、モータ２０で発生している逆起電圧を推定し、推定した逆起電圧の値に相当する補正電圧Ｖ１を演算する。この補正電圧Ｖ１の演算方法については後述する。逆起電圧推定部８２は、計算した補正電圧Ｖ１を表す電圧値を第１電圧加算部８３に出力する。第１電圧加算部８３は、基本電圧演算部８１により演算された基本電圧Ｖ０と逆起電圧推定部８２により演算された補正電圧Ｖ１を加算した値（Ｖ０＋Ｖ１）を計算する。第１電圧加算部８３は、計算した加算値（Ｖ０＋Ｖ１）を第２電圧加算部８５に出力する。
【００７０】
交流電圧信号生成部８４は、予め設定した周期Ｔで電圧値が変動する交流電圧信号Ｖ２を生成する。この交流電圧信号Ｖ２は、図６に示すように、周期Ｔで電圧値の符号（正負）が切り替わる、つまり、電圧値が＋Ａと−Ａとに交互に切り替わる方形波状の交流電圧信号の電圧値を表す。交流電圧信号生成部８４は、生成した交流電圧信号Ｖ２を表す電圧値を第２電圧加算部８５と逆起電圧推定部８２とに出力する。この周期Ｔは短く、例えば、１００分の１秒に設定されている（周波数で表せば１００Ｈｚ）。
【００７１】
第２電圧加算部８５は、第１電圧加算部８３から出力された値（Ｖ０＋Ｖ１）と、交流電圧信号生成部８４から出力された交流電圧信号Ｖ２を表す電圧値とを加算した値（Ｖ０＋Ｖ１＋Ｖ２）を計算する。この加算結果が、最終的な目標電圧、つまり、電圧指令値Ｖ＊となる。第２電圧加算部８５は、計算した電圧指令値Ｖ＊を制御切替部６１に出力する。従って、電圧指令値Ｖ＊は、基本電圧Ｖ０に、補正電圧Ｖ１と交流電圧Ｖ２（＝±Ａ）とを重畳したものとなる。
【００７２】
これにより、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「１」である場合には、異常時モータ制御量演算部８０にて計算された電圧指令値Ｖ＊に応じたデューティ比のパルス信号列がＰＷＭ制御信号としてモータ駆動回路４０に出力される。このＰＷＭ制御信号により、各スイッチング素子Ｑ１Ｈ，Ｑ２Ｈ，Ｑ１Ｌ，Ｑ２Ｌのデューティ比が制御され、モータ２０の駆動電圧が電圧指令値Ｖ＊に調整される。
【００７３】
基本電圧Ｖ０は、操舵トルクｔｒから決まる基本的な操舵アシスト量を決める電圧、つまり、基本電圧指令値となる。この基本電圧Ｖ０だけでは、モータ２０の回転速度が増加したときに逆起電圧の影響で操舵アシストが不足してしまい追従性が低下する。基本電圧Ｖ０に、逆起電圧を加算することで適切な電圧指令値を求めることができるが、そのためには、逆起電圧を計算する必要がある。
【００７４】
そこで、本実施形態においては、電圧指令値Ｖ＊に交流電圧信号Ｖ２成分を含ませることにより逆起電圧を推定できるように構成している。従って、交流電圧信号Ｖ２は、逆起電圧を計算するために重畳する電圧信号である。そして、逆起電圧推定部８２は、この交流電圧信号Ｖ２に応答した電流検出値の変化するタイミングと検出値とに基づいて逆起電圧を推定し、この逆起電圧に相当する補正電圧Ｖ１を計算する。
【００７５】
尚、交流電圧信号Ｖ２が電圧指令値Ｖ＊に加算されている場合、トルク変動が操舵フィーリングに及ぼす影響が懸念されるが、交流電圧信号Ｖ２の周期Ｔが非常に短く設定されているため、ステアリング機構１０の慣性により操舵ハンドル１１で発生する振動は、運転者が感じない程度に抑制されている。
【００７６】
以下、逆起電圧推定部８２が逆起電圧を推定する方法について説明する。
【００７７】
モータの電圧方程式は、モータの内部抵抗をＲ、モータのインダクタンスをＬ、逆起電圧をＥとすると次式（１）にて表される。
【数１】
0005549636.tif 000002
この式からモータに流れる電流Ｉは、ｔ＝０での電流をＩ０として、次式（２）にて求めることができる（指数関数はｔ＝０での接線で近似する）。
【数２】
0005549636.tif 000003
【００７８】
ここで、図７の上段に示すような方形波の交流電圧Ｖ２（Ａ，−Ａ）を重畳した電圧（Ｖ０＋Ｖ１＋Ｖ２）をモータに印加した場合、モータに流れる電流の波形は同図の中段に示すような三角波状となる。ここで、ＶＵは、交流電圧信号Ｖ２が＋Ａの値をとるときの電圧指令値Ｖ＊に相当し（ＶＵ＝Ｖ０＋Ｖ１＋Ａ）、ＶＬは、交流電圧信号Ｖ２が−Ａの値をとるときの電圧指令値Ｖ＊に相当（ＶＬ＝Ｖ０＋Ｖ１−Ａ）する。こうした三角波状の電流を分解能の低い第２電流センサ３２にて検出した場合には、同図の下段に示すように、検出値は粗くなって矩形となる。この例では、モータの印加電圧がＶＵとなる期間において、モータ実電流は、Ｉ２より小さな値からＩ１より大きな値にまで増加し、モータの印加電圧がＶＬとなる期間において、モータ実電流がＩ１より大きな値からＩ２より小さな値にまで減少する。
【００７９】
この１Ｉ，Ｉ２は、第２電流センサ３２の検出値が変化する境界となる。この例では、モータ実電流が、第２電流センサ３２の検出値が変化する２つの境界を跨ぐように交流電圧信号Ｖ２の電圧値Ａが設定されている。従って、第２電流センサ３２は、モータ実電流がＩ２未満のときにＩ３、モータ実電流がＩ２以上でＩ１未満のときにＩ２、モータ実電流がＩ１以上のときにＩ１という検出値を出力する。
【００８０】
ここで、モータ実電流が増加しているときに検出値がＩ２となる期間をＴ１とし、モータ実電流が減少しているときに検出値がＩ２となる期間をＴ２とすると、電圧、電流、時間の関係は次式（３）にて表される。期間Ｔ１は、正の交流電圧が含まれた電圧指令値Ｖ＊の電圧が印加されてから最初に第２モータ電流Ｉｍ２の検出値が変化した時刻ｔ１１から、負の交流電圧が含まれた電圧指令値Ｖ＊に切り替わる直前の第２モータ電流Ｉｍ２の検出値が変化した時刻ｔ１２までの時間である。また、期間Ｔ２は、負の交流電圧が含まれた電圧指令値Ｖ＊の電圧が印加されてから最初に第２モータ電流Ｉｍ２の検出値が変化した時刻ｔ２１から、正の交流電圧が含まれた電圧指令値Ｖ＊に切り替わる直前の第２モータ電流Ｉｍ２の検出値が変化した時刻ｔ２２までの時間である。また、ΔＩは、期間Ｔ１（Ｔ２）において、第２モータ電流Ｉｍ２の検出値が変化した量を表す。また、Ｉ１２は、Ｉ１とＩ２との平均値（（Ｉ１＋Ｉ２）／２）である。
【数３】
0005549636.tif 000004
この（３）式を変形して逆起電圧を推定すると、推定逆起電圧Ｅestは、次式（４）にて計算することができる。
【数４】
0005549636.tif 000005
【００８１】
逆起電圧推定部８２が計算する補正電圧Ｖ１は、この推定逆起電圧Ｅestに相当する値となることが望ましい。そこで、逆起電圧推定部８２は、推定逆起電圧Ｅestと補正電圧Ｖ１との差分に着目して、差分が少なくなるように、補正電圧Ｖ１を更新するように計算する。ここで逆起電圧推定部８２の処理について説明する。
【００８２】
図８は、逆起電圧推定部８２の実行する補正電圧演算ルーチンを表すフローチャートである。補正電圧演算ルーチンは、短い周期で繰り返し実行される。本ルーチンが起動すると、逆起電圧推定部８２は、ステップＳ１１において、交流電圧信号Ｖ２を読み込み、続く、ステップＳ１２において、第２電流センサ３２により検出される第２モータ実電流Ｉｍ２を読み込む。続いて、逆起電圧推定部８２は、ステップＳ１３において、交流電圧信号Ｖ２に基づいて、交流電圧信号Ｖ２の一周期分（Ｔ）における第２モータ電流Ｉｍ２を読み込んだか否かを判断する。逆起電圧推定部８２は、交流電圧信号Ｖ２の一周期のあいだ、こうした処理を繰り返す。逆起電圧推定部８２の演算周期は、交流電圧信号Ｖ２の周期Ｔよりも遙かに短い。従って、この間に、第２モータ電流Ｉｍ２の検出値がサンプリングされていく。
【００８３】
逆起電圧推定部８２は、交流電圧信号Ｖ２の一周期Ｔ分の第２モータ電流Ｉｍ２の読み込みが完了すると、続いて、ステップＳ１４において、図７に示す期間Ｔ１，Ｔ２を計算する。
【００８４】
続いて、逆起電圧推定部８２は、ステップＳ１５において、上記式（４）を使って推定逆起電圧Ｅestを計算する。続いて、ステップＳ１６において、補正電圧Ｖ１と推定逆起電圧Ｅestとを比較する。補正電圧Ｖ１が推定逆起電圧Ｅestと等しければ、補正電圧Ｖ１が適正であるとして、補正電圧Ｖ１を変更しない。また、補正電圧Ｖ１が推定逆起電圧Ｅestよりも小さい場合には、ステップＳ１７において、補正電圧Ｖ１を所定値ΔＶ１だけ増加させる。逆に、補正電圧Ｖ１が推定逆起電圧Ｅestよりも大きい場合には、ステップＳ１８において、補正電圧Ｖ１を所定値ΔＶ１だけ減少させる。
【００８５】
逆起電圧推定部８２は、こうして補正電圧Ｖ１を計算すると、本ルーチンを一旦終了する。そして、所定の周期で本ルーチンを繰り返す。尚、補正電圧Ｖ１の初期値は、ゼロに設定しておけばよい。これにより、補正電圧Ｖ１は、交流電圧信号Ｖ２の一周期毎に、推定逆起電圧Ｅestに追従するように計算されていく。従って、補正電圧Ｖ１が加算された電圧指令値Ｖ＊は、モータ２０で発生する逆起電圧を考慮した適切な値に調整される。
【００８６】
この場合、所定値ΔＶ１は、一定値でもよいし、推定逆起電圧Ｅestと補正電圧Ｖ１との差分（Ｅest−Ｖ１）に比例した値（Ｋ×（Ｅest−Ｖ１）に設定してもよい。
【００８７】
また、この例では、モータ実電流が、第２電流センサ３２の検出値が変化する２つの境界を跨ぐように交流電圧信号Ｖ２が設定されているが、交流電圧信号Ｖ２は、モータ実電流が、第２電流センサ３２の検出値が変化する境界を２つ以上跨ぐように設定すればよい。例えば、第２電流センサ３２の検出値が３つ以上境界を跨いだ場合には、交流電圧信号Ｖ２が正（または負）となる一定期間のあいだに最初に検出値が変化した時刻から最後に検出値が変化した時刻までの時間をＴ１（またはＴ２）に設定すればよい。
【００８８】
モータ実電流が、第２電流センサ３２の検出値が変化する境界を２つ以上跨ぐように設定するためには、交流電圧信号Ｖ２は、電圧Ａと周期Ｔとが、次の条件を満たすように設定されるとよい。尚、ΔＩは、交流電圧信号Ｖ２に応答した一周期Ｔにおける実電流の変化量を表す。
Ａ・Ｔ＞４ＬΔＩ
【００８９】
周期Ｔは、操舵ハンドル１１への振動伝達を抑制するためには短い方が好ましいため、電圧Ａは、大きい方がよいが、大電流を流す場合や高回転時などでモータ印加電圧が不足する場合には、電圧Ａを小さくして周期Ｔを長くするとよい。
【００９０】
以上説明した本実施形態の電動パワーステアリング装置によれば、第１電流センサ３１が故障した場合には、正常時モータ制御量演算部７０に代えて異常時モータ制御量演算部８０が、第２電流センサ３２により検出される第２モータ実電流Ｉｍ２を使って、モータ制御量である電圧指令値Ｖ＊を計算する。第２電流センサ３２に第１電流センサ３１と同じ性能を持たせると、シャント抵抗でのエネルギー損失が２倍になり、また、Ａ／Ｄ変換器などの回路構成が複雑になりコストが２倍になってしまう。そこで、本実施形態においては、バックアップ用の第２電流センサ３２には、第１電流センサ３１に比べて分解能が低いものを使用して、エネルギー損失とコストアップを抑制する。
【００９１】
この場合、第２電流センサ３２をそのまま使って電流フィードバックを行うと、分解能の低さにより、操舵アシストトルクの変動が大きくなって操舵ハンドル１１が振動して滑らかな操舵操作ができない。そこで、異常時モータ制御量演算部８０は、電流フィードバック制御に代えて、フィードフォワード制御により操舵トルクｔｒに応じた基本電圧Ｖ０を計算する。さらに、モータ２０で発生する逆起電圧を推定し、この逆起電圧に相当する補正電圧Ｖ１を基本電圧Ｖ０に加算して、この値（Ｖ０＋Ｖ１）をモータ２０に印加すべき目標電圧に設定する。また、逆起電圧を推定するために、正負（符号）が周期的に切り替わる方形波状の交流電圧信号Ｖ２を目標電圧（Ｖ０＋Ｖ１）に加算した値（Ｖ０＋Ｖ１＋Ｖ２）を、最終的な電圧指令値Ｖ＊に設定する。
【００９２】
これにより、逆起電圧分を補償した電圧をモータ２０に印加することができる。従って、分解能の低い第２電流センサ３２を用いてモータ２０を駆動制御しても、分解能の低さに起因する操舵ハンドル１１の振動を抑制しつつ、追従性の良い操舵アシストトルクを発生させることができる。
【００９３】
ここで、逆起電圧を考慮せずにオープンループ制御（フィードフォワード制御）を行った場合での、操舵アシストの追従性の低下について説明する。特許文献１に提案されている従来装置では、電流センサの故障時においてオープンループ制御を行っている。従って、目標電流Ｉrefが与えられたとき、それに対する出力電圧Ｖは、以下の式（５）により計算される。
【数５】
0005549636.tif 000006
しかし、実際には、逆起電圧が含まれた次式（６）のような微分方程式にしたがって電流Ｉが流れる
【数６】
0005549636.tif 000007
従って、目標電流Ｉrefと実電流Ｉとの比は、次式（７）のように計算される。尚、電流の変化は無視できる程度であるため、ｄＩ／ｄｔ＝０としている。
【数７】
0005549636.tif 000008
【００９４】
この式によれば、モータ２０の回転速度ωがゼロ（ω＝０）であれば、目標電流Ｉrefと実電流Ｉとは同一値となるが、回転速度ωが上昇すると実電流Ｉが減少し、逆起電圧ωφが出力電圧Ｖを超えるとモータ２０を制動するブレーキが発生することがわかる。このオープンループ制御による特性を図９に示す。図９は、回転速度ωと実電流Ｉとの関係を表している。実電流Ｉは、次式（８）のように表される。ここで、Ｉmaxは、モータ駆動回路４０で流すことが許容される最大の電流値を表し、スイッチング素子Ｑ１Ｈ，Ｑ２Ｌ，Ｑ２Ｈ，Ｑ１Ｌの仕様にて決定される。Ｉmaxは、例えば、５０アンペアに設定される。
【数８】
0005549636.tif 000009
【００９５】
この一次関数の傾きをΔとすると、Δは次式（９）にて表される。尚、Ｖmaxは、電流最大値Ｉmaxにモータ２０の内部抵抗Ｒを乗じた値（Ｉmax×Ｒ）を表す。Ｖmaxは、例えば、モータ２０の内部抵抗Ｒを０．１オームとすると、５ボルト（５０Ａ×０.１Ω）に設定される。
【数９】
0005549636.tif 000010
【００９６】
尚、逆起電圧はモータ２０の回転速度から推定できるが、ブラシ付モータは、通常、回転角センサや回転速度センサを備えていない。従って、従来装置は、電流センサ故障時においては、逆起電圧を考慮せずにオープンループ制御を行うようにしている。
【００９７】
これに対して本実施形態では、交流電圧信号Ｖ２を含めた電圧指令値Ｖ＊を設定し、低分解能の第２モータ電流センサ３２により、交流電圧信号Ｖ２に応答した電流検出値の変化するタイミング（時間差）を検出する。そして、このタイミングと検出値とに基づいて逆起電圧を推定している。従って、回転角センサや回転速度センサを備えていなくても、逆起電圧を推定することができ、この逆起電力を補償する電圧指令値Ｖ＊を設定することができる。この結果、速い操舵操作に対しても十分な操舵アシストが得られる。つまり、操舵アシストの追従性が良好となる。
【００９８】
＜第２実施形態＞
次に第２実施形態について説明する。以下、上述した実施形態を第１実施形態と呼ぶ。第２実施形態は、第１電流センサ３１に異常が発生した場合におけるマイコン６０の制御処理が第１実施形態と異なり、他の構成については第１実施形態と同じである。以下、第１実施形態と相違する構成について説明し、第１実施形態と同じ構成については、図面に第１実施形態と同じ符号を付して説明を省略する。
【００９９】
図１０は、第２実施形態にかかるアシストＥＣＵ１００の機能ブロック図である。このアシストＥＣＵ１００のマイコン６０は、その機能に着目すると、正常時モータ制御量演算部７０と、異常時モータ制御量演算部９０と、ＰＷＭ制御部６２と、センサ切替部６３と、電流センサ異常検出部９１とを備えている。各機能部における処理は、マイコン６０に記憶された制御プログラムを所定の周期で繰り返し実行することにより行われる。
【０１００】
正常時モータ制御量演算部７０は、第１実施形態と同様に、第１電流センサ３１に異常が検出されていないとき、つまり、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「０」であるとき、モータ２０の制御量を演算するブロックである。正常時モータ制御量演算部７０は、第１実施形態と同じ構成であり、目標トルク演算部７１と、目標電流演算部７２と、電流フィードバック制御部７３とを備えている。
【０１０１】
センサ切替部６３は、電流センサ異常検出部９１から出力される異常判定信号Ｆfailにしたがって電流フィードバック制御部７３に出力するモータ実電流を切り替えるもので、異常判定信号Ｆfailが「０」である場合には、第１電流センサ３１により検出された第１モータ実電流Ｉｍ１をそのまま電流フィードバック制御部７３に出力する。また、異常判定信号Ｆfailが「１」である場合には、後述する平均電流演算部８７で計算した平均モータ電流Ｉｍｃを電流フィードバック制御部７３に出力する。従って、第１電流センサ３１が正常である場合には、電流フィードバック制御部７３は、第１実施形態と同じ方法で電圧指令値Ｖ＊を計算し、計算した電圧指令値Ｖ＊をＰＷＭ制御部６２に出力する。
【０１０２】
電流センサ異常検出部９１は、第１実施形態と同様であって、第１電流センサ３１により検出される第１モータ実電流Ｉｍ１と、正常時モータ制御量演算部７０で計算される目標電流Ｉ＊とを入力し、第１モータ実電流Ｉｍ１と目標電流Ｉ＊とが所定期間にわたって大きく相違する場合に第１電流センサ３１が故障していると判定する。
【０１０３】
電流センサ異常検出部９１は、第１電流センサ３１の異常を検出していない場合には、異常判定信号Ｆfailを「０」に設定し、第１電流センサ３１の異常を検出した場合には、異常判定信号Ｆfailを「１」に設定する。電流センサ異常検出部９１は、異常判定信号Ｆfailを正常時モータ制御量演算部７０と異常時モータ制御量演算部９０とセンサ切替部６３とに出力する。
【０１０４】
異常時モータ制御量演算部９０は、第１電流センサ３１に異常が検出されているとき、つまり、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「１」であるとき、モータ２０の制御量を演算するブロックである。
【０１０５】
異常時モータ制御量演算部９０は、正常時モータ制御量演算部７０（目標トルク演算部７１，目標電流演算部７２，電流フィードバック制御部７３）に加えて、電圧加算部８６と、交流電圧信号生成部８４と、平均電流演算部８７とを設けて構成される。従って、正常時モータ制御量演算部７０は、異常判定信号Ｆfailが「０」，「１」何れであってもその処理が実行され、電圧加算部８６，交流電圧信号生成部８４，平均電流演算部８７については、異常判定信号Ｆfailが「１」の場合にのみ、その処理が実行されることになる。
【０１０６】
ただし、異常時モータ制御量演算部９０における電流フィードバック制御部７３は、フィードバックされる電流が、第１モータ実電流Ｉｍ１ではなく、平均電流演算部８７で計算された平均モータ電流Ｉｍｃとなっている。
【０１０７】
交流電圧信号生成部８４は、第１実施形態と同様に、予め設定した周期Ｔで電圧値が＋Ａと−Ａとに交互に切り替わる方形波状の交流電圧信号Ｖ２を生成する。交流電圧信号生成部８４は、生成した交流電圧信号Ｖ２を表す電圧値を電圧加算部８６に出力する。この周期Ｔは短く、例えば、１００分の１秒に設定されている（周波数で表せば１００Ｈｚ）。
【０１０８】
電圧加算部８６は、電流フィードバック制御部７３から出力された電圧指令値Ｖ＊と、交流電圧信号生成部８４から出力された交流電圧信号Ｖ２を入力し、電圧指令値Ｖ＊に交流電圧信号Ｖ２の電圧値（Ａまたは−Ａ）を加算した値（Ｖ＊＋Ｖ２）を計算する。電圧加算部８６は、この計算結果（Ｖ＊＋Ｖ２）を、最終的な電圧指令値Ｖ＊に設定して（Ｖ＊←（Ｖ＊＋Ｖ２））、この電圧指令値Ｖ＊をＰＷＭ制御部６２に出力する。以下、異常時モータ制御量演算部９０において電流フィードバック制御部７３が演算した電圧指令値Ｖ＊を、最終的な電圧指令値Ｖ＊と区別するために基本電圧指令値Ｖ０＊と呼ぶ。
【０１０９】
これにより、正常時モータ制御量演算部７０の演算する電圧指令値Ｖ０＊が交流電圧信号Ｖ２で加算補正されて電圧指令値Ｖ＊が算出されることになる。この交流電圧信号Ｖ２は、モータ２０に流れる電流を三角波状に高速で変化させて、後述する平均電流演算部８７が平均モータ電流Ｉｍｃを計算できるようにするためのものである。
【０１１０】
第１電流センサ３１が故障した場合、第１電流センサ３１に代えて第２電流センサ３２の検出値をそのまま使って電流フィードバック制御を行うと、分解能の低さにより、操舵アシストトルクの変動が大きくなって操舵ハンドル１１が振動して滑らかな操舵操作ができない。そこで、第２実施形態においては、第２電流センサ３２の検出値をそのまま電流フィードバック制御部７３にフィードバックするのではなく、平均電流演算部８７において、第２電流センサ３２の検出値よりも実際の電流値に近い電流値となる平均モータ電流Ｉｍｃを計算し、この平均モータ電流Ｉｍｃを電流フィードバック制御部７３にフィードバックする。以下、平均電流演算部８７が実行する平均モータ電流Ｉｍｃの計算方法について説明する。
【０１１１】
図１１の上段に示すような方形波の交流電圧Ｖ２（Ａ、−Ａ）を重畳した電圧（Ｖ０＊＋Ｖ２）をモータに印加した場合、モータに流れる電流の波形は同図の中段に示すような三角波状となる。ここでＶＵは、交流電圧信号Ｖ２が＋Ａの値をとるときの電圧指令値Ｖ＊に相当し（ＶＵ＝Ｖ０＊＋Ａ）、ＶＬは、交流電圧信号Ｖ２が−Ａの値をとるときの電圧指令値Ｖ＊に相当（ＶＬ＝Ｖ０＊−Ａ）する。こうした三角波状の電流を分解能の低い第２電流センサ３２にて検出した場合には、同図の下段に示すように、検出値は粗くなって矩形となる。この例では、モータの印加電圧がＶＵとなる期間において、モータ実電流は、Ｉ２より小さな値からＩ１より大きな値にまで増加し、モータの印加電圧がＶＬとなる期間において、モータ実電流がＩ１より大きな値からＩ２より小さな値にまで減少する。
【０１１２】
この１Ｉ，Ｉ２は、第２電流センサ３２の検出値が変化する境界となる。この例では、モータ実電流が、第２電流センサ３２の検出値が変化する２つの境界を跨ぐように交流電圧信号Ｖ２の電圧値Ａが設定されている。従って、第２電流センサ３２は、モータ実電流がＩ２未満のときにＩ３、モータ実電流がＩ２以上でＩ１未満のときにＩ２、モータ実電流がＩ１以上のときにＩ１という検出値を出力する。
【０１１３】
ここで、印加電圧（電圧指令値Ｖ＊）において、交流電圧信号Ｖ２が負の値（−Ａ）から正の値（Ａ）に切り替わるタイミングを時刻ｔ３とする。また、交流電圧信号Ｖ２が正の値に切り替わってから最初に第２電流センサ３２の検出値が変化するタイミング、つまり、この例では、検出値がＩ３からＩ２に変化したタイミングを時刻ｔ３４とする。また、交流電圧信号Ｖ２が正の値（Ａ）から負の値（−Ａ）に切り替わるタイミングを時刻ｔ５とする。また、交流電圧信号Ｖ２が負の値に切り替わるまでの間において検出値が最後に変化するタイミング、つまり、この例では、検出値がＩ２からＩ３に変化したタイミングを時刻ｔ４５とする。また、時刻ｔ３から時刻ｔ３４までの経過時間、つまり、交流電圧信号が正の値に切り替わってから検出値が最初に変化するまでの期間をＴ３とする。また、時刻ｔ３４から時刻ｔ４５までの経過時間、つまり、交流電圧信号が正の値を維持する期間において、検出値が最初に変化するタイミングから最後に変化するタイミングまでの経過時間をＴ４とする。また、時刻ｔ４５から時刻ｔ５までの経過時間、つまり検出値が最後に変化するタイミングから交流電圧信号Ｖ２が負の値に切り替わるタイミングまでの経過時間をＴ５とする。また、交流電圧信号Ｖ２が負の値に切り替わるまでの間において、最初に変化したときの検出値と最後に変化したときの検出値との差、つまり、期間Ｔ４において第２モータ電流Ｉｍ２の検出値が変化した量をΔＩ（＝Ｉ１−Ｉ２）とする。
【０１１４】
平均モータ電流Ｉｍｃは、交流電圧信号Ｖ２の半周期におけるモータ２０に流れる電流を推定した値であり、第２電流センサ３２の検出値が変化するタイミング（ｔ３４，ｔ４５）と交流電圧信号の正負が反転するタイミング（ｔ３，ｔ５）とに基づいた時間差（Ｔ３，Ｔ４，Ｔ５）と、そのときの変化した後の検出値Ｉ１，Ｉ２とから計算により求めることができる。
【０１１５】
検出値Ｉ１と検出値Ｉ２との平均値（（Ｉ１＋Ｉ２）／２）をＩ１２とすると、時刻ｔ３における電流値Ｉｔ３と、時刻ｔ５における電流値Ｉｔ５とは次式（１０）、（１１）のように計算することができる。
【数１０】
0005549636.tif 000011
【数１１】
0005549636.tif 000012
ここで、αは、電流の変化勾配（ΔＩ／Ｔ４）を表している。
【０１１６】
従って、平均モータ電流Ｉｍｃは、次式（１２）にて計算することができる。
【数１２】
0005549636.tif 000013
【０１１７】
平均電流演算部８７は、このようにして平均モータ電流Ｉｍｃを計算して、その計算結果を電流フィードバック制御部７３に出力する。以下、平均電流演算部８７の処理について図１２を用いて説明する。図１２は、平均電流演算部８７の実行する平均モータ電流演算ルーチンを表すフローチャートである。平均モータ電流演算ルーチンは、短い周期で繰り返し実行される。本ルーチンが起動すると、平均電流演算部８７は、まず、ステップＳ２１において、交流電圧信号Ｖ２を読み込み、続く、ステップＳ２２において、第２電流センサ３２により検出される第２モータ電流Ｉｍ２を読み込む。
【０１１８】
続いて、平均電流演算部８７は、ステップＳ２３において、交流電圧信号Ｖ２に基づいて、交流電圧信号Ｖ２の半周期分（交流電圧信号Ｖ２の符号が切り替わるまでの期間）における第２モータ実電流Ｉｍ２の検出値を読み込んだか否かを判断する。平均電流演算部８７は、一定期間（Ｔ／２）のあいだ、こうした処理を繰り返す。平均電流演算部８７の演算周期は、交流電圧信号Ｖ２の周期Ｔよりも遙かに短い。従って、この間に、第２モータ電流Ｉｍ２の検出値がサンプリングされていく。
【０１１９】
平均電流演算部８７は、交流電圧信号Ｖ２の半周期分（Ｔ／２）の第２モータ電流Ｉｍ２の読み込みが完了すると、ステップＳ２４において、第２電流センサ３２の検出値が変化したタイミングと、交流電圧信号Ｖ２が切り替わるタイミングとに基づいて、期間Ｔ３，Ｔ４，Ｔ５を計算する。続いて、ステップＳ２５において、式（１２）を使って、平均モータ電流Ｉｍｃを計算して、この計算結果を電流フィードバック制御部７３に出力して本ルーチンを一旦終了する。
【０１２０】
平均電流演算部８７は、平均モータ電流演算ルーチンを繰り返し実行する。従って、交流電圧信号Ｖ２の半周期毎に平均モータ電流Ｉｍｃが計算され、この平均モータ電流Ｉｍｃが電流フィードバック制御部７３に出力されて電流フィードバック制御が行われる。
【０１２１】
この例では、モータ実電流が、第２電流センサ３２の検出値が変化する２つの境界を跨ぐように交流電圧信号Ｖ２が設定されているが、交流電圧信号Ｖ２は、モータ実電流が、第２電流センサ３２の検出値が変化する境界を２つ以上跨ぐように設定すればよい。例えば、第２電流センサ３２の検出値が３つ以上境界を跨いだ場合には、交流電圧信号Ｖ２が負から正（あるいは正から負）に切り替わってから最初に検出値が変化した時刻をｔ３４とし、交流電圧信号Ｖ２が次に切り替わるまでのあいだに最後に検出値が変化した時刻をｔ４５として、期間Ｔ３，Ｔ４，Ｔ５を設定するようにしてもよい。また、必ずしも半周期における最初と最後に変化した検出値を使う必要はなく、任意の２つの検出値が変化するタイミングを抽出して、そのタイミングと交流電圧信号Ｖ２が切り替わる時刻とに基づいて期間Ｔ３，Ｔ４，Ｔ５を設定するようにしてもよい。
【０１２２】
また、この例では、交流電圧信号Ｖ２の半周期毎に平均モータ電流Ｉｍｃを計算しているが、半周期に限らず１周期毎に計算するようにしてもよい。
【０１２３】
以上説明した第２実施形態の電動パワーステアリング装置によれば、第１電流センサ３１が故障した場合には、正常時モータ制御量演算部７０に代えて異常時モータ制御量演算部９０が、第２電流センサ３２により検出される第２モータ実電流Ｉｍ２を使って、モータ制御量である電圧指令値Ｖ＊を計算する。第２電流センサ３２に第１電流センサ３１と同じ性能を持たせると、シャント抵抗でのエネルギー損失が２倍になり、また、Ａ／Ｄ変換器などの回路構成が複雑になりコストが２倍になってしまう。そこで、第２実施形態においては、第２電流センサ３２には、第１電流センサ３１に比べて分解能が低いものを使用して、エネルギー損失とコストアップを抑制する。
【０１２４】
この場合、第２電流センサ３２をそのまま使って電流フィードバックを行うと、分解能の低さにより、操舵アシストトルクの変動が大きくなって操舵ハンドル１１が振動して滑らかな操舵操作ができない。そこで、異常時モータ制御量演算部９０は、電流指令値Ｖ０＊に交流電圧信号Ｖ２を重畳した電圧指令値Ｖ＊によりモータ２０を駆動制御し、モータ２０に流れる電流を三角波状に変化させる。そして、この三角波状に変化する電流により第２電流センサ３２の検出値が変化するタイミングと、交流電圧信号Ｖ２の符号が変化するタイミングとを検出し、これらのタイミングと第２電流センサ３２の検出値とに基づいて、三角波状の電流の平均値である平均モータ電流Ｉｍｃを計算する。平均モータ電流Ｉｍｃは、第２電流センサ３２が低分解能であっても、その検出値の中間的な値を扱うことができ、実電流に近い値となる。従って、平均モータ電流Ｉｍｃを電流フィードバック制御部７３にフィードバックすることにより、精度の高い電流フィードバック制御を行うことができる。また、電流フィードバック制御を行うため、結果的に、モータに発生する逆起電力が考慮された電圧指令値Ｖ＊を演算することができる。
【０１２５】
これにより、分解能の低い第２電流センサ３２を用いてモータ２０を駆動制御しても、分解能の低さに起因する操舵ハンドル１１の振動を抑制しつつ、追従性の良い操舵アシストトルクを発生させることができる。
【０１２６】
次に、上述した２つの実施形態における変形例について説明する。
＜第１変形例＞
上記実施形態においては、第２電流センサ３２は、第２シャント抵抗器３２ａと第２増幅回路３２ｂと第２Ａ／Ｄ変換器３２ｃとを主要部として備えた構成となっている。しかし、例えば、第１電流センサ３１の第１シャント抵抗器３１ａと第１増幅回路３１ｂとが信頼性の高いものである場合には、第２電流センサ３２は、図１３に示すように、第１シャント抵抗器３１ａと第１増幅回路３１ｂとを第１電流センサ３１とで兼用し、第２Ａ／Ｄ変換器３２ｃのみをバックアップ用として備えた構成であってもよい。
【０１２７】
また、例えば、第１電流センサ３１の第１シャント抵抗器３１ａが信頼性の高いものである場合には、第２電流センサ３２は、図１４に示すように、第１シャント抵抗器３１ａを第１電流センサ３１とで兼用し、第２増幅回路３２ｂと第２Ａ／Ｄ変換器３２ｃとをバックアップ用として備えた構成であってもよい。
【０１２８】
＜第２変形例＞
上記実施形態においては、第１電流センサ３１と第２電流センサ３２は、グランドライン２２０に設けているが、第１電流センサ３１と第２電流センサ３２を設ける位置は、これに限るものでなく、モータ電流が流れる通電路であれば任意に設定することができる。例えば、電源装置２００からモータ駆動回路４０への電源供給ラインである電源ライン２１０に設けても良い。また、モータ駆動回路４０からモータ２０への電源供給ラインである通電ライン４７ａあるいは通電ライン４７ｂに設けても良い。また、モータ駆動回路４０内に設けても良い。また、第１電流センサ３１と第２電流センサ３２とを並べて設ける必要はなく、モータ電流が流れる通電路であれば、互いに離れた位置に設けてもよい。
【０１２９】
＜変形例３＞
一般に、増幅回路やＡ／Ｄ変換器は、線形な特性で設計することが多いが、特に、低分解能となる第２電流センサ３２においては、非線形な特性で設計するようにしてもよい。第２電流センサ３２を用いてモータ２０を駆動制御すると、その分解能の低さに起因して、操舵ハンドル１１が振動しやすい。この振動は、弱い操舵操作を行ったときに感じやすく、強い操舵操作を行ったときには感じにくい。また、強い操舵操作が行われる頻度は、弱い操舵操作が行われる頻度に比べて少ない。
【０１３０】
そこで、第２電流センサ３２においては、図１５に破線にて示すように、モータ電流が微少となる微少電流領域で１ＬＳＢ（最小検出幅）を狭くし、最大電流付近で１ＬＳＢが広くなるような非線形特性の第２増幅回路３２ｂあるいは第２Ａ／Ｄ変換器３２ｃを使用する。これによれば、第１電流センサ３１の故障時での操舵アシスト制御（第１実施形態、第２実施形態）において、微小な操舵操作時におけるハンドル振動を抑制して、操舵フィーリングを更に向上させることができる。
【０１３１】
尚、この場合、モータ電流（Ｉｍ２またはＩｍｃ）が小さいほど交流電圧信号Ｖ２の振幅Ａを小さくする、または、モータ電流（Ｉｍ２またはＩｍｃ）が小さいほど交流電圧信号Ｖ２の周期Ｔを短くするようにするとよい。また、非線形特性の第２増幅回路３２ｂや第２Ａ／Ｄ変換器３２ｃを使用した場合でも、上述した実施形態における計算式は変更する必要はない。
【０１３２】
＜変形例４＞
第１電流センサ３１のバックアップ用として使用する第２電流センサ３２は、低分解能であるため低コストにて実施することができるが、そのぶん、目標特性（線形でも非線形でもよい）に対するバラツキが第１電流センサ３１よりも大きくなる可能性がある。そこで、第４変形例においては、第１電流センサ３１に異常が検出されていないときに、第２電流センサ３２の検出した検出値と、第１電流センサ３１の検出した検出値との対応関係を学習しておき、第１電流センサ３１に異常が検出されて第２電流センサ３２を使用する場合に、学習した対応関係を使って第２電流センサ３２の検出特性を補正する検出特性補正手段をマイコン６０に設ける。
【０１３３】
マイコン６０は、図１６に示すように、対応関係情報記憶部６５と、第２モータ電流検出値補正部６６とを備えている。対応関係情報記憶部６５は、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「０」であるとき、第１電流センサ３１により検出される第１モータ実電流Ｉｍ１と第２電流センサ３２により検出される第２モータ実電流Ｉｍ２とを入力し、第２モータ実電流Ｉｍ２の検出値が変化した瞬間に（第２Ａ／Ｄ変換器３２ｃの出力値が変化した瞬間に）、それと同時に、第１モータ実電流Ｉｍ１の検出値（第１Ａ／Ｄ変換器３１ｃの出力値）を読み取る。そして、対応関係情報記憶部６５は、第２電流センサ３２の検出値と第１電流センサ３１の検出値との対応関係を表す情報を不揮発性メモリ６５ａに記憶する。
【０１３４】
例えば、第２電流センサ３２のＡ／Ｄ変換器３２ｃの分解能が４ビットであれば、出力値の変化する点は１５個所あるため、その１５個所のそれぞれにおける第２電流センサ３２の検出値（第２Ａ／Ｄ変換器３２ｃの出力値）と第１電流センサ３１の検出値（第１Ａ／Ｄ変換器３１ｃの出力値）との対応関係を学習し、その対応関係を表す情報を不揮発性メモリ６５ａに記憶する。
【０１３５】
これにより、第２電流センサ３２の検出値から第１電流センサ３１の出力値に相当する値を導く対応関係テーブル（対応関係情報）が生成される。この対応関係テーブルは、不揮発性メモリ６５ａに記憶される。尚、運転者の操舵操作によっては、上記検出値の対応関係の学習を完了できない場合が考えられる。例えば、強い操舵操作が行われていない場合ではモータ２０に最大電流が流れないため、最大電流付近の対応関係を学習できない。そうした状況においては、予め設定されているデフォルト値（設計値）を使用すればよい。
【０１３６】
第２モータ電流検出値補正部６６は、電流センサ異常検出部９１から出力される異常判定信号Ｆfailが「１」であるとき、第２電流センサ３２により検出される電流検出値Ｉｍ２（第２モータ実電流Ｉｍ２）を読み込み、対応関係情報記憶部６５に記憶されている対応関係テーブルを参照して、この電流検出値Ｉｍ２に対応する第１電流センサ３１の出力値に相当する電圧値を求め、この電圧値を新たな第２モータ実電流Ｉｍ２として出力する。つまり、第２電流センサ３２により検出された第２モータ実電流Ｉｍ２を、対応関係テーブルを使って補正する。
【０１３７】
これにより、第２電流センサ３２の検出特性が目標特性と相違している場合であっても、検出値が補正されて適正な検出特性が得られる。補正された第２モータ実電流Ｉｍ２は、第１実施形態においては逆起電圧推定部８２に出力され、第２実施形態においては平均電流演算部８７に出力される。従って、第１実施形態においては、逆起電圧の推定値が一層正確となる。また、第２実施形態においては、平均モータ電流Ｉｍｃの計算値が一層正確となる。これらの結果、第１電流センサ３１の故障時における操舵フィーリングを一層良好にすることができる。
【０１３８】
以上、本実施形態および変形例の電動パワーステアリング装置について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【０１３９】
例えば、本実施形態においては、交流電圧信号Ｖ１として、一定の振幅で符号（正負）が周期的に切り替わる方形波状の交流電圧を採用しているが、符号が同じで振幅のみが周期的に切り替わる方形波状の交流電圧を採用することもできる。この場合には、交流電圧信号Ｖ１の加算により電圧指令値Ｖ＊が全体的にシフトするため、その分、電圧指令値Ｖ＊をオフセットするようにすればよい。また、モータ２０に流れる電流が三角波状になるような電圧指令値Ｖ＊であれば、その波形形状は任意に設定できるものである。
【０１４０】
また、第１実施形態においては、操舵トルクｔｒのみから基本電圧Ｖ０を計算しているが、車速ｖｘが大きくなるほど基本電圧Ｖ０が減少するように車速に応じて変化させるようにしてもよい。また、第１モータ電流センサ３１に異常が検出されている場合でも、目標トルク演算部７１、目標電流演算部７２を作動させて、目標トルク演算部７２により計算した目標電流Ｉ＊に比例した基本電圧Ｖ０を設定するようにしてもよい。
【０１４１】
また、第１実施形態においては、基本電圧Ｖ０に逆起電圧に相当する補正電圧Ｖ１を加算した後に、交流電圧Ｖ２を加算するように構成しているが、加算する順番を逆にすることもできる。つまり、基本電圧Ｖ０に交流電圧Ｖ２を加算した後に、逆起電圧に相当する補正電圧Ｖ１を加算する構成であってもよい。
【０１４２】
また、本実施形態では、モータ２０の発生するトルクをステアリングシャフト１２に付与するコラムアシスト式の電動パワーステアリング装置について説明したが、モータの発生するトルクをラックバー１４に付与するラックアシスト式の電動パワーステアリング装置であってもよい。
【符号の説明】
【０１４３】
１０…ステアリング機構、１１…操舵ハンドル、２０…モータ、２１…操舵トルクセンサ、３０…スイッチ駆動回路、３１…第１電流センサ、３１ａ…第１シャント抵抗器、３１ｂ…第１増幅回路、３１ｃ…第１Ａ／Ｄ変換器、３２…第２電流センサ、３２ａ…第２シャント抵抗器、３２ｂ…第２増幅回路、３２ｃ…第２Ａ／Ｄ変換器、３４…車速センサ、４０…モータ駆動回路、５０…電子制御回路、６０…マイクロコンピュータ、６１…制御切替部、６３…センサ切替部、６５…対応関係情報記憶部、６５ａ…不揮発性メモリ、６６…モータ電流検出値補正部、７０…正常時モータ制御量演算部、７１…目標トルク演算部、７２…目標電流演算部、７３…電流フィードバック制御部、８０…異常時モータ制御量演算部、８１…基本電圧演算部、８２…逆起電圧推定部、８３，８５，８６…電圧加算部、８４…交流電圧信号生成部、８７…平均電流演算部、９０…異常時モータ制御量演算部、９１…電流センサ異常検出部、１００…電子制御ユニット（アシストＥＣＵ）。
【図１】
0005549636.tif 000014
【図２】
0005549636.tif 000015
【図３】
0005549636.tif 000016
【図４】
0005549636.tif 000017
【図５】
0005549636.tif 000018
【図６】
0005549636.tif 000019
【図７】
0005549636.tif 000020
【図８】
0005549636.tif 000021
【図９】
0005549636.tif 000022
【図１０】
0005549636.tif 000023
【図１１】
0005549636.tif 000024
【図１２】
0005549636.tif 000025
【図１３】
0005549636.tif 000026
【図１４】
0005549636.tif 000027
【図１５】
0005549636.tif 000028
【図１６】
0005549636.tif 000029