(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図1は、本発明の一実施形態に係るモータ制御装置が適用された、電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置1は、操舵部材としてのステアリングホイール2と、このステアリングホイール2の回転に連動して転舵輪3を転舵する転舵機構4と、運転者の操舵を補助するための操舵補助機構5とを備えている。ステアリングホイール2と転舵機構4とは、ステアリングシャフト6および中間軸7を介して機械的に連結されている。
【0016】
ステアリングシャフト6は、ステアリングホイール2に連結された入力軸8と、中間軸7に連結された出力軸9とを含む。入力軸8と出力軸9とは、トーションバー10を介して同一軸線上で相対回転可能に連結されている。すなわち、ステアリングホイール2が回転されると、入力軸8および出力軸9は、互いに相対回転しつつ同一方向に回転するようになっている。
【0017】
ステアリングシャフト6の周囲には、トルクセンサ11が配置されている。トルクセンサ11は、入力軸8および出力軸9の相対回転変位量に基づいて、ステアリングホイール2に与えられた操舵トルクTを検出する。トルクセンサ11によって検出される操舵トルクTは、ECU(電子制御ユニット:Electronic Control Unit)12に入力される。また、ECU12には、車速センサ23によって検出される車速Sが入力される。
【0018】
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13は、ステアリングホイール2の操舵に連動して回転するようになっている。ピニオン軸13の先端(
図1では下端)には、ピニオン16が連結されている。
【0019】
ラック軸14は、自動車の左右方向に沿って直線状にのびている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
【0020】
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸13の軸方向移動に変換される。これにより、転舵輪3が転舵される。
操舵補助機構5は、操舵補助用の電動モータ18と、電動モータ18の出力トルクを転舵機構4に伝達するための減速機構19とを含む。電動モータ3は、この実施形態では、ブラシ付きモータからなる。減速機構19は、ウォーム軸20と、このウォーム軸20と噛み合うウォームホイール21とを含むウォームギア機構からなる。減速機構19は、伝達機構ハウジングとしてのギヤハウジング22内に収容されている。
【0021】
ウォーム軸20は、電動モータ18によって回転駆動される。また、ウォームホイール21は、ステアリングシャフト6とは同方向に回転可能に連結されている。ウォームホイール21は、ウォーム軸20によって回転駆動される。
電動モータ18によってウォーム軸20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォーム軸2を回転駆動することによって、転舵輪3が転舵されるようになっている。
【0022】
電動モータ18は、モータ制御装置としてのECU12によって制御される。ECU12は、トルクセンサ11によって検出される操舵トルクT、車速センサ23によって検出される車速S等に基づいて、電動モータ18を制御する。
図2は、モータ制御装置としてのECU12の電気的構成を示す概略図である。
ECU12は、制御部30と駆動部40とを含む。制御部40は、CPUとこのCPUの動作プログラム等を記憶したメモリとを含むマイクロコンピュータで構成されている。駆動部40は、モータ駆動回路60と、PWM(Pulse Width Modulation)生成回路41と、電圧検出回路42と、電流検出回路43と、電流検出用抵抗44とを含む。
【0023】
ECU12には、トルクセンサ11から出力された操舵トルクTと、車速センサ23から出力された車速Sが入力される。ECU12に入力された操舵トルクTと車速Sは、制御部30に与えられる。駆動部40では、電動モータ18への印加電圧、すなわち、電動モータ18の端子間電圧(以下、「モータ電圧」という)が電圧検出回路42によって検出される。また、駆動部40では、電動モータ18を流れる電流(以下、「モータ電流」という)が電流検出回路43によって検出される。モータ電圧の検出値である電圧検出値Vと、モータ電流の検出値である電流検出値Iは、制御部30に与えられる。
【0024】
制御部30は、メモリに格納された所定の動作プログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、目標電流設定部31と、電流偏差演算部32と、PI制御部33と、角速度推定部50とが含まれる。角速度推定部50は、電圧検出回路42によって検出される電圧検出値Vと、電流検出回路43によって検出される電流検出値Iとに基づいて、電動モータ18のロータの回転速度の推定値(以下、「角速度推定値ω」という)を演算する。
【0025】
目標電流設定部31は、操舵トルクTと車速Sと角速度推定値ωとに基づいて、電動モータ18に流すべき電流の目標値Itを設定する。電流偏差演算部32は、電流目標値Itと電流検出値Iとの偏差(電流偏差(It−I))を演算する。PI制御部33は、電流偏差(It−I)に対する比例積分演算を行なうことにより、電動モータ18に印加すべき電圧に対応した電圧指令値Dを生成する。この電圧指令値Dは、PWM信号生成回路41に与えられる。なお、電圧指令値Dの符号は、電動モータ18が発生すべきトルクが右方向操舵を補助する方向のトルク(以下、「右方向トルク」という)である場合には、たとえば正となり、左方向操舵を補助する方向のトルク(以下、「左方向トルク」という)である場合には、たとえば負となる。
【0026】
PWM信号生成回路41は、PI制御部33から与えられる電圧指令値Dに応じて、第1および第2の右回転用(正転用)PWM信号SRd1,SRd2と、第1および第2の左回転用(逆転用)PWM信号SLd1,SLd2とを生成する。電圧指令値Dの符号が正の場合(右方向トルクを発生させる場合)には、右回転用PWM信号SRd1,SRd2は電圧指令値Dに応じたデューティ比のPWM信号として生成され、左回転用PWM信号SLd1,SLd2は非アクティブな信号(この例ではLレベルの信号)となる。なお、この場合、第2の右回転用PWM信号SRd2を、電圧指令値Dに応じたデューティ比のPWM信号ではなくHレベルの信号としてもよい。
【0027】
一方、電圧指令値Dの符号が負の場合(左方向トルクを発生させる場合)には、左回転用PWM信号SLd1,SLd2は電圧指令値Dに応じたデューティ比のPWM信号として生成され、右回転用PWM信号SRd1,SRd2は非アクティブな信号(この例ではLレベルの信号)となる。なお、この場合、第2の左回転用PWM信号SLd2を、電圧指令値Dに応じたデューティ比のPWM信号ではなく、Hレベルの信号としてもよい。
【0028】
モータ駆動回路60は、たとえば、2つの右回転用スイッチング素子61,64および2つの左回転用スイッチング素子62,63を含むHブリッジ回路からなる。各スイッチング素子61〜64は、たとえば、電界効果型トランジスタ(FET:Field Effect Transistor)からなる。具体的には、モータ駆動回路60は、ハイサイドの右回転用スイッチング素子61とローサイドの左回転用スイッチング素子62とからなる直列回路と、ハイサイドの左回転用スイッチング素子63とローサイドの右回転用スイッチング素子64とからなる直列回路とを含んでいる。各直列回路のハイサイドのスイッチング素子61,63のドレインは、電源25の正極端子に接続されている。また、各直列回路のローサイドのスイッチング素子62,64のソースは、電流検出用抵抗44を介して接地されている。
【0029】
ハイサイドの右回転用スイッチング素子61とローサイドの左回転用スイッチング素子62との接続点N1には、電動モータ18の正極端子が接続されている。ハイサイドの左回転用スイッチング素子63とローサイドの右回転用スイッチング素子64との接続点N2には、電動モータ18の負極端子が接続されている。右回転用スイッチング素子61,64は、第1および第2の右回転用PWM信号SRd1,SRd2によってそれぞれ制御される。左回転用スイッチング素子63,62は、第1および第2の左回転用PWM信号SLd1,SLd2によって制御される。これにより、電圧指令値Dに応じた方向および大きさのモータ電流がモータ18に流れるようになる。この結果、電動モータ18は、操舵トルクT、車速Sおよび角速度推定値ωに応じた操舵補助力を発生する。
【0030】
図3は、角速度推定部50の構成を示す概略図である。
角速度推定部50は、保舵判定部(判定手段)51と、抵抗推定値演算部(抵抗推定値演算手段)52と、加重平均値演算部(加重平均値演算手段)53と、抵抗推定値更新部(特性更新手段)54と、抵抗推定値保持部(保持手段)55と、角速度推定値演算部56とを含んでいる。抵抗推定値保持部55には、電動モータ18の端子間抵抗(モータ抵抗)の推定値(抵抗推定値)Rが保持されている。角速度推定値演算部56は、所定の演算周期毎に、電圧検出回路42によって検出される電圧検出値Vと、電流検出回路43によって検出される電流検出値Iと、抵抗推定値保持部55に保持されている抵抗推定値Rと、逆起電力定数Keとを用いて、次式(3)に基づいて、角速度推定値ωを演算する。
【0031】
ω=(V−I・R)/Ke …(3)
保舵判定部51は、電流検出回路43によって検出される電流検出値Iと、電圧検出回路42によって検出される電圧検出値Vと、抵抗推定値保持部55に保持されている抵抗推定値Rとを、前記所定の演算周期毎に取り込む。そして、保舵判定部51は、次式(4)に基づいて、逆起電力推定値Ke・ωを求める。
【0032】
Ke・ω=(V−I・R) …(4)
そして、保舵判定部51は、求めた逆起電力推定値Ke・ωの絶対値|Ke・ω|が所定の閾値α(α>0)以下であるか否かを判別する。つまり、保舵判定部51は、今回演算された逆起電力推定値Ke・ωの絶対値に基づいて、保舵状態か否かを判定する。保舵状態とは、運転者がステアリングホイール2をほとんど回転しない状態で保持している操舵状態である。閾値αは、保舵状態であるか否かを判定するための閾値であるため、非常に小さな値(例えば0.2[V])に設定される。逆起電力推定値Ke・ωの絶対値|Ke・ω|が閾値α以下であれば、保舵判定部51は電動モータ18のロータの回転が停止しているとみなし、操舵状態が保舵状態にあると判定する。一方、逆起電力推定値Ke・ωの絶対値|Ke・ω|が閾値αより大きければ、保舵判定部51は操舵状態が保舵状態ではないと判定する。保舵判定部51は、判定結果を抵抗推定値算出部52に与える。
【0033】
抵抗推定値演算部52は、保舵判定部51によって操舵状態が保舵状態であると判定されたときに、電圧検出回路42によって検出される電圧検出値Vと電流検出回路43によって検出される電流検出値Iとを用い、次式(5)に基づいて、抵抗推定値Rを演算し、加重平均値算出部53内の加重平均値演算用メモリ53aに記憶する。
R=V/I …(5)
なお、加重平均演算用メモリ53aは、例えばN(Nは2以上の整数)個分の抵抗推定値Rを記憶できる記憶領域を有している。加重平均演算用メモリ53aには、保舵状態であると判定されている状態が継続しているときには、抵抗推定値演算部52によって最新に演算された抵抗推定値Rから(N−1)回前に演算された抵抗推定値RまでのN個分の抵抗推定値Rが記憶されるようになっている。加重平均演算用メモリ53aにN個分の抵抗推定値Rが記憶されている状態において、抵抗推定値演算部52によって新たに抵抗推定値Rが演算されたときには、加重平均演算用メモリ53a内の最も古い抵抗推定値Rが削除された後に、最新の抵抗推定値Rが記憶される。ただし、保舵判定部51によって操舵状態が保舵状態ではないと判定されたときには、加重平均演算用メモリ53aの内容はクリアされる。
【0034】
加重平均値演算部53は、保舵状態であると判定されている状態が継続しているときにおいて、加重平均演算用メモリ53aにN個分の抵抗推定値R
1〜R
Nが記憶されると、これらの加重平均値R
aveを算出する。なお、R
Nは今回の演算周期(今演算周期)に演算された抵抗推定値を表し、R
1は(N−1)回前の演算周期に算出された抵抗推定値を表している。つまり、Rの添字は、その値が大きいものほど新しく演算された抵抗であることを表している。加重平均値R
aveは、次式(6)に基づいて算出される。
【0036】
前記式(6)において、R
n(n=1,2,…,N)は、抵抗推定値である。w
n(n=1,2,…,N)は、それぞれ抵抗推定値R
n(n=1,2,…,N)に対する重みである。各重みw
n(w
n>0)は、予め設定されている。この実施形態では、新しく演算された抵抗推定値に対する重みほど、その値が大きくなるように、各重みw
nが設定されている。各重みw
nの具体的な設定方法の詳細については後述する。
【0037】
加重平均値演算部53によって演算された加重平均値R
aveは、抵抗推定値更新部54に与えられる。抵抗推定値更新部54は、加重平均値演算部53によって演算された加重平均値R
aveを用いて、抵抗推定値保持部55に保持されている抵抗推定値Rを更新する。
図4は、保舵判定部51、抵抗推定値演算部52、加重平均値演算部53および抵抗推定値更新部54の動作を示すフローチャートである。
図4の処理は、前記所定の演算周期毎に実行される。
【0038】
保舵判定部51は、電流検出回路43によって検出された電流検出値I、電圧検出回路42によって検出された電圧検出値Vおよび抵抗推定値保持部55に保持されている抵抗推定値Rを取得する(ステップS1)。次に、保舵判定部51は、取得した電流検出値I、電圧検出値Vおよび抵抗推定値Rを用い、前記式(4)に基づいて逆起電力推定値Ke・ωを演算する(ステップS2)。そして、保舵判定部51は、今回演算された逆起電力推定値Ke・ωの絶対値が所定の閾値α以下であるか否かを判別する(ステップS3)。
【0039】
逆起電力推定値Ke・ωの絶対値が閾値α以下であると判別された場合、すなわち、操舵状態が保舵状態であると判定された場合には(ステップS3:YES)、抵抗推定値演算部52は、抵抗推定値Rを演算して、加重平均値演算用メモリ53aに記憶する(ステップS4)。具体的には、抵抗推定値演算部52は、前記ステップS1において保舵判定部51によって取得された電流検出値Iと電圧検出値Vとを用い、前記式(5)に基づいて抵抗推定値Rを演算して、加重平均値演算用メモリ53aに記憶する。加重平均値演算用メモリ53aには、前述したように、抵抗推定値演算部52によって今回に演算された抵抗推定値Rから(N−1)回前に演算された抵抗推定値RまでのN個分の抵抗推定値Rが記憶されるようになっている。そして、ステップS5に移行する。
【0040】
一方、前記ステップS3において、逆起電力推定値Ke・ωの絶対値が閾値αより大きいと判別された場合、すなわち、操舵状態が保舵状態でないと判定された場合には(ステップS3:NO)、抵抗推定値演算部52は、加重平均値演算用メモリ53aの内容をクリアする(ステップS8)。そして、今演算周期での処理を終了する。つまり、操舵状態が保舵状態でない場合には、抵抗推定値Rは演算されない。したがって、この場合には、抵抗推定値保持部55に保持されている抵抗推定値Rは更新されない。
【0041】
ステップS5においては、加重平均値演算部53は、N個分の抵抗推定値R
1〜R
Nが加重平均演算用メモリ53aに記憶されているか否かを判別する。N個分の抵抗推定値R
1〜R
Nが加重平均演算用メモリ53aに記憶されていないときには(ステップS5:NO)、加重平均値演算部53は、加重平均演算を行なうことなく、今演算周期での処理を終了する。したがって、この場合には、抵抗推定値保持部55に保持されている抵抗推定値Rは更新されない。
【0042】
前記ステップS5において、N個分の抵抗推定値R
1〜R
Nが加重平均演算用メモリ53aに記憶されていると判別されたときには(ステップS5:YES)、加重平均値演算部53は、N個分の抵抗推定値R
1〜R
Nを用い、前記式(6)に基づいて、加重平均値R
aveを演算する(ステップS6)。加重平均値R
aveが演算されると、抵抗推定値更新部54は、当該加重平均値R
aveに基づいて、抵抗推定値保持部55に保持されている抵抗推定値Rを更新する(ステップS7)。具体的には、抵抗推定値保持部53に保持されている抵抗推定値Rが、今回演算された加重平均値R
aveに置き換えられる。これは、操舵状態が保舵状態である場合には、電動モータ18の回転速度(角速度推定値ω)が一定(ほぼ零)であるとみなすことができるため、今回求められた加重平均値R
aveは信頼性が高いと考えられるからである。この後、今演算周期での処理を終了する。
【0043】
各重みw
n(n=1,2,…,N)の設定方法について説明する。この実施形態では、各重みw
1〜w
Nの総和Σw
nがほぼ1となるようにかつ新しく演算された抵抗推定値Rに対応する重みほどその値が大きくなるように、各重みw
nが設定されるものとする。
図5は、各重みw
nの設定方法を説明するためのグラフである。
図5の横軸は時刻を表し、縦軸は重みの値を示している。
図5において、teは今演算周期に対応する時刻を表し、te−Tは、今演算周期から(N−1)回前の演算周期に対応する時刻を表している。Tは、今演算周期の時刻(te)と、それより(N−1)回前の演算周期の時刻(te−T)との間の時間間隔である。
【0044】
直線Lは、より新しく演算された抵抗推定値Rに対応する重みほど、その値が大きくなるように、重みw
nを線形に大きくしていく場合の時間(演算周期時刻)に対する重みの特性を示している。今演算周期に演算された抵抗推定値R
Nに対応する重みw
Nの値をw
teとし、今演算周期から(N−1)回前の演算周期に演算された抵抗推定値R
Nに対応する重みw
Nの値をw
te−Tとする。
【0045】
図6に示すように、時間T内に、N回分の演算周期が含まれている。各演算周期は、T/Nとなる。演算周期が非常に小さいと仮定した場合(Nが無限大であると仮定した場合)、各重みw
nの総和Σw
nは、a,b,cを頂点とする三角形の面積に等しくなる。したがって、各重みw
nの総和Σw
nが1となるためには、a,b,cを頂点とする三角形の面積が1となる必要があるため、次式(7)の関係が成り立つ必要がある。
【0046】
T×(w
te−w
te−T)/2=1 …(7)
前記式(7)が成立するためには、(w
te−w
te−T)=2Tである必要がある。したがって、前記三角形の斜辺(直線L)の傾きは、(2/T)/T=2/T
2となる。
図6に示されているように、三角形の面積は、三角形を時間軸方向に分割されたN個の長方形の総和として近似的に求めることができる。各長方形に対応する演算周期番号を、1からNまでの自然数nで表すことにする。各長方形のうち最も時間が旧いものに対応する演算周期番号nが1であり、最も時間が新しいものに対応する演算周期番号nがNであり、時間が新しいものに対するものほど演算周期番号nは大きくなる。各長方形の幅は、T/Nである。各長方形の高さは、直線Lの傾き(2/T
2)×対応する時刻(n×T/N)となる。各長方形の面積は、幅×高さである。
【0047】
n=1に対応する長方形の面積は、(T/N)×{(2/T
2)×(T/N)}となる。
n=2に対応する長方形の面積は、(T/N)×{(2/T
2)×(2T/N)}となる。
n=3に対応する長方形の面積は、(T/N)×{(2/T
2)×(3T/N)}となる。
【0048】
n=Nに対応する長方形の面積は、(T/N)×{(2/T
2)×(NT/N)}となる。
したがって、全ての長方形の面積の総和Uは、次式(8)で表される 。
U=(T/N)×{(2/T
2)×(T/N)}×(1+2+…+N)
=(2/N
2)×{N(N+1)/2}
=(N+1)/N
=1+(1/N) …(8)
したがって、Nが無限大に近づくほど面積の総和Uは、1に近づくことになる。
【0049】
前記演算周期番号n(n=1,2,…,N)に対応する重みw
n(n=1,2,…,N)の大きさは、それに対応する長方形の高さとなるから、各重みw
nは次式(9)に基づいて、求めることができる。
w
n=(2/T
2)×(n×T/N)
=2n/(T・N) …(9)
図5および
図6の例では、より新しく演算された抵抗推定値Rに対応する重みほど、その値が大きくなるように、重みw
nを線形に増加させる場合について説明したが、重みw
nを非線形(例えば、指数関数的に)に増加させてもよい。
【0050】
この実施形態では、検出電圧値V、電流検出値Iおよび抵抗推定値保持部55に保持されている抵抗推定値Rに基づいて、逆起電力推定値Ke・ωが求められる。次に、今回求められた逆起電力推定値Ke・ωに基づいて、保舵状態か否かが判定される。これにより、舵角センサ等の外部センサを用いることなく、保舵状態か否かを判定することができる。
【0051】
そして、操舵状態が保舵状態であると判定されているときに、検出電圧値Vおよび電流検出値Iに基づいて抵抗推定値Rが演算される。保舵状態が継続しているときに所定数N以上の抵抗推定値Rが演算されると、今回演算された抵抗推定値Rから(N−1)回前に演算された抵抗推定値RまでのN個分の抵抗推定値Rの加重平均値R
avgが演算される。この加重平均値R
avgを用いて抵抗推定値保持部55に保持されている抵抗推定値Rが更新される。これにより、外部センサを用いることなしに、抵抗推定値保持部55に持されている抵抗推定値Rを、信頼性の高い抵抗推定値Rの加重平均値R
avgに基づいて更新することができる。
【0052】
さらに、加重平均値R
avgの演算に用いられる重みw
nは、より新しく演算された抵抗推定値Rほど大きな値となるように設定されているので、現在の状況における実抵抗値により近い加重平均値R
avgが得られるため、更新後の抵抗推定値Rの信頼性をより高めることができる。
図7は、角速度推定部の変形例の構成を示す概略図である。
【0053】
この角速度推定部50Aは、保舵判定部(判定手段)51Aと、抵抗推定部演算部(抵抗推定値演算手段)52と、加重平均値演算部(加重平均値演算手段)53と、マップ更新部(特性更新手段)54Aと、マップ保持部(保持手段)55Aと、角速度推定値演算部56Aと、電流平均値演算部57とを含んでいる。
マップ保持部55Aには、電動モータ18に流れる電流に対する電動モータ18の抵抗を表す特性を記憶した電流対抵抗マップが保持されている。マップ保持部55Aに電流対抵抗マップが保持されているのは、ブラシ付モータではブラシの接触抵抗がモータ電流によって変化することを考慮しているためである。電流対抵抗マップの初期データは、予め設定されている。角速度推定値演算部56Aは、所定の演算周期毎に、電圧検出回路42によって検出される電圧検出値Vと、電流検出回路43によって検出される電流検出値Iと、マップ保持部55Aに保持されている電流対抵抗マップとを用いて、角速度推定値ωを演算する。具体的には、角速度推定値演算部56Aは、電流対抵抗マップに基づいて、電流検出値Iに対応するモータ抵抗(抵抗推定値)Rを求める。そして、角速度推定値演算部56Aは、求められた抵抗推定値Rと、電圧検出値Vと、電流検出値Iとを用いて、前記式(3)に基づいて、角速度推定値ωを演算する。
【0054】
保舵判定部51Aは、電流検出回路43によって検出される電流検出値Iと、電圧検出回路42によって検出される電圧検出値Vと、マップ保持部55Aに保持されている電流対抵抗マップとを用いて、逆起電力推定値Ke・ωを演算する。具体的には、保舵判定部51Aは、電流対抵抗マップに基づいて、電流検出値Iに対応するモータ抵抗(抵抗推定値)Rを求める。そして、保舵判定部51Aは、求められた抵抗推定値Rと、電圧検出値Vと、電流検出値Iとを用いて、前記式(4)に基づいて、逆起電力推定値Ke・ωを演算する。
【0055】
そして、保舵判定部51Aは、求めた逆起電力推定値Ke・ωの絶対値|Ke・ω|が所定の閾値α(α>0)以下であるか否かを判別する。つまり、保舵判定部51は、今回演算された逆起電力推定値Ke・ωの絶対値に基づいて、保舵状態か否かを判定する。保舵判定部51Aは、判定結果を抵抗推定値算出部52および電流平均値演算部57に与える。
【0056】
抵抗推定値演算部52は、
図3の抵抗推定値演算部52と同様に、保舵判定部51Aによって操舵状態が保舵状態であると判定されたときには、電圧検出値Vと電流検出値Iとを用い、前記式(5)に基づいて、抵抗推定値Rを演算し、加重平均値算出部53内の加重平均値演算用メモリ53aに記憶する。
加重平均値演算部53は、
図3の加重平均値演算部53と同様に、N個分の抵抗推定値R
1〜R
Nが加重平均演算用メモリ53aに記憶されると、前記式(6)に基づいて、これらの加重平均値R
aveを算出する。この加重平均値R
aveは、マップ更新部54Aに与えられる。
【0057】
電流平均値演算部57は、保舵判定部51Aによって操舵状態が保舵状態であると判定されたときには、電流検出回路43によって検出される電流検出値Iを取得して、平均値演算用メモリ57aに記憶する。平均値演算用メモリ57aは、N個分の電流検出値Iを記憶できる記憶領域を有しており、保舵状態が継続しているときには、最新に取得した電流検出値Iから(N−1)回前に取得した電流検出値IまでのN個分の電流検出値Iが記憶されるようになっている。ただし、保舵判定部51Aによって操舵状態が保舵状態ではないと判定されたときには、平均値演算用メモリ57aの内容はクリアされる。電流平均値演算部57は、保舵状態が継続しているときにおいて、N個分の電流検出値Iが平均値演算用メモリ57aに記憶されると、これらの平均値(電流平均値I
ave)を算出する。この電流平均値I
aveは、マップ更新部54Aに与えられる。
【0058】
マップ更新部54Aは、加重平均値演算部53によって演算された加重平均値R
aveと、電流平均値演算部57によって演算された電流平均値I
aveを用いて、マップ保持部55Aに保持されている電流対抵抗マップを更新する。
つまり、この変形例においては、
図4において、抵抗推定値Rの加重平均値R
aveが演算されるときには、さらに電流平均値I
aveが演算されるとともに、ステップS7の代わりに、破線で示されるステップS7Aの処理(電流対抵抗マップを更新するための処理)が行われることになる。
【0059】
以下、マップ更新部54Aによるマップ更新方法について説明する。
図8は、モータ電流Iを横軸にとり、モータ抵抗Rを縦軸にとった直交座標系において、マップ保持部55Aに保持されている電流対抵抗マップに対応する電流対抵抗特性の一例を示すグラフである。
図8における曲線Q1が電動モータ18に流れる電流Iに対する電動モータ18の抵抗Rを表す電流対抵抗特性を表している。
【0060】
マップ更新部54Aが、たとえば、加重平均値R
ave1と電流平均値I
ave1とを用いて、マップ保持部55Aに保持されている電流対抵抗マップを更新する場合について説明する。加重平均値R
ave1と電流平均値I
ave1とによって表される座標が、
図8に示す点Aに対応するものとする。この点Aは、特性曲線Q1から外れている。マップ更新部54Aは、特性曲線Q1が点Aを通過するように、特性曲線Q1、つまり、マップデータを更新する。
【0061】
図9A、
図9B、
図9Cおよび
図9Dは、マップ更新方法の具体例をそれぞれ説明するための説明図である。
図9A〜
図9Cにおいて、破線の曲線が
図8に示される更新前の特性曲線Q1を示しており、実線の曲線が更新後の特性曲線Q2を示している。
図9Aに示す更新方法では、マップ更新部54Aは、更新前の特性曲線Q1が点Aを通過するように、特性曲線Q1を横軸(電流軸)に沿う方向に平行移動させることにより、更新後の特性曲線Q2を求める。
【0062】
図9Bに示す更新方法では、マップ更新部54Aは、更新前の特性曲線Q1が点Aを通過するように、特性曲線Q1を縦軸(抵抗軸)に沿う方向に平行移動させることにより、更新後の特性曲線Q2を求める。
図9Cに示す更新方法では、マップ更新部54Aは、原点と点Aとを通る直線と更新前の特性曲線Q1との交点を点Bとし、特性曲線Q1上の点Bが点Aに一致するように、特性曲線Q1を前記直線に沿う方向に平行移動させることにより、更新後の特性曲線Q2を求める。
【0063】
図9Dに示す更新方法では、更新後の特性曲線Q2の両端が更新前の特性曲線Q1の両端C1,C2と一致し、更新後の特性曲線Q2の中間部が点Aを通過するように、更新前の特性曲線Q1が変形される。
この変形例では、検出電圧値V、電流検出値Iおよびマップ保持部55Aに保持されている電流対抵抗マップに基づいて、逆起電力推定値Ke・ωが求められる。次に、今回求められた逆起電力推定値Ke・ωに基づいて、保舵状態か否かが判定される。これにより、舵角センサ等の外部センサを用いることなく、保舵状態か否かを判定することができる。
【0064】
そして、操舵状態が保舵状態であると判定されているときに、検出電圧値Vおよび電流検出値Iに基づいて抵抗推定値Rが演算される。保舵状態が継続しているときに所定数N以上の抵抗推定値Rが演算されると、今回演算された抵抗推定値Rから(N−1)回前に演算された抵抗推定値RまでのN個分の抵抗推定値Rの加重平均値R
avgが演算される。また、保舵状態が継続しているときには、電流検出値Iが記憶され、所定数N以上の電流検出値Iが記憶されると、今回記憶された電流検出値Iから(N−1)回前に記憶された電流検出値IまでのN個分の電流検出値Iの電流平均値I
aveが演算される。そして、加重平均値R
avgおよび電流平均値I
aveを用いてマップ保持部55Aに保持されている電流対抵抗マップが更新される。これにより、外部センサを用いることなしに、マップ保持部55Aに保持されている電流対抵抗マップを、信頼性の高い抵抗推定値Rの加重平均値R
avgに基づいて更新することができる。
【0065】
さらに、加重平均値R
avgの演算に用いられる重みw
nは、より新しく演算された抵抗推定値Rほど大きな値となるように設定されているので、現在の状況における実抵抗値により近い加重平均値R
avgが得られるため、更新後の電流対抵抗マップの信頼性をより高めることができる。
この発明は、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【0066】
また、この発明は、電動パワーステアリング装置以外の用途に使用されているブラシ付モータに対しても、適用することが可能である。