(58)【調査した分野】(Int.Cl.,DB名)
前記車速に対応する最大負荷トルクは、前記車速検出手段によって検出された車速に対応するアシスト特性における、所定の操舵トルクとそれに対応するアシストトルクとの和である請求項3に記載の車両用操舵装置。
【発明を実施するための形態】
【0020】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係る車両用操舵装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。この電動パワーステアリング装置は、車両を操向するための操作部材としてのステアリングホイール10に加えられる操舵トルクTを検出するトルクセンサ1と、車両の舵取り機構2に減速機構7を介して操舵補助力を与えるモータ3(ブラシレスモータ)と、ステアリングホイール10の回転角である操舵角を検出する舵角センサ4と、モータ3内のロータの回転角を検出するレゾルバ8(回転角センサ)と、モータ3を駆動制御するモータ制御装置5と、当該電動パワーステアリング装置が搭載された車両の速度を検出する車速センサ6とを備えている。レゾルバ8は、ロータ回転角(ロータ回転位置)に対応する正弦波信号および余弦波信号を生成するものである。
【0021】
モータ制御装置5は、レゾルバ8の出力信号、トルクセンサ1が検出する操舵トルク、舵角センサ4が検出する操舵角および車速センサ6が検出する車速に応じてモータ3を駆動することによって、操舵状況および車速に応じた適切な操舵補助を実現する。
モータ3は、この実施形態では、三相ブラシレスモータであり、
図2に図解的に示すように、界磁としてのロータ50と、このロータ50に対向するステータ55に配置されたU相、V相およびW相のステータ巻線51,52,53とを備えている。モータ3は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【0022】
各相のステータ巻線51,52,53の方向にU軸、V軸およびW軸をとった三相固定座標(UVW座標系)が定義される。また、ロータ50の磁極方向にd軸(磁極軸)をとり、ロータ50の回転平面内においてd軸と直角な方向にq軸(トルク軸)をとった二相回転座標系(dq座標系。実回転座標系)が定義される。dq座標系は、ロータ50とともに回転する回転座標系である。dq座標系では、q軸電流のみがロータ50のトルク発生に寄与するので、d軸電流を零とし、q軸電流を所望のトルクに応じて制御すればよい。ロータ50の回転角(ロータ角)θ
Mは、U軸に対するd軸の回転角である。dq座標系は、ロータ角θ
Mに従う実回転座標系である。このロータ角θ
Mを用いることによって、UVW座標系とdq座標系との間での座標変換を行うことができる。
【0023】
一方、この実施形態では、制御上の回転角を表す制御角θ
Cが導入される。制御角θ
Cは、U軸に対する仮想的な回転角である。この制御角θ
Cに対応する仮想的な軸をγ軸とし、このγ軸に対して90°進んだ軸をδ軸として、仮想二相回転座標系(γδ座標系。仮想回転座標系)を定義する。制御角θ
Cがロータ角θ
Mに等しいとき、仮想回転座標系であるγδ座標系と実回転座標系であるdq座標系とが一致する。すなわち、仮想軸としてのγ軸は実軸としてのd軸と一致し、仮想軸としてのδ軸は実軸としてのq軸と一致する。γδ座標系は、制御角θ
Cに従う仮想回転座標系である。UVW座標系とγδ座標系との座標変換は、制御角θ
Cを用いて行うことができる。
【0024】
制御角θ
Cとロータ角θ
Mとの差を負荷角θ
L(=θ
C−θ
M)と定義する。
制御角θ
Cに従ってγ軸電流I
γをモータ3に供給すると、このγ軸電流I
γのq軸成分(q軸への正射影)がロータ50のトルク発生に寄与するq軸電流I
qとなる。すなわち、γ軸電流I
γとq軸電流I
qとの間に、次式(1)の関係が成立する。
I
q=I
γ・sinθ
L …(1)
再び
図1を参照する。モータ制御装置5は、マイクロコンピュータ11と、このマイクロコンピュータ11によって制御され、モータ3に電力を供給する駆動回路(インバータ回路)12と、モータ3の各相のステータ巻線に流れる電流を検出する電流検出部13とを備えている。
【0025】
電流検出部13は、モータ3の各相のステータ巻線51,52,53に流れる相電流I
U,I
V,I
W(以下、総称するときには「三相検出電流I
UVW」という。)を検出する。これらは、UVW座標系における各座標軸方向の電流値である。
マイクロコンピュータ11は、CPUおよびメモリ(ROMおよびRAMなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、操舵トルクリミッタ20と、指示操舵トルク設定部21と、トルク偏差演算部22と、PI(比例積分)制御部23と、加算角リミッタ24と、制御角演算部26と、回転角演算部27と、第1指示電流値生成部31と、第2指示電流生成部32と、電流偏差演算部30と、PI制御部33と、γδ/αβ(dq/αβ)変換部34Aと、αβ/UVW変換部34Bと、PWM(Pulse Width Modulation)制御部35と、UVW/αβ変換部36Aと、αβ/γδ(αβ/dq)変換部36Bと、マップ作成・更新部39と、センサ故障判定部40と、指示電流値切換部41と、角度切換部42とが含まれている。
【0026】
指示操舵トルク設定部21は、舵角センサ4によって検出される操舵角と、車速センサ6によって検出される車速とに基づいて、指示操舵トルクT
*を設定する。たとえば、
図4に示すように、操舵角が正の値(右方向へ操舵した状態)のとき指示操舵トルクT
*は正の値(右方向へのトルク)に設定され、操舵角が負の値(左方向へ操舵した状態)のとき指示操舵トルクT
*は負の値(左方向へのトルク)に設定される。そして、操舵角の絶対値が大きくなるに従って、その絶対値が大きくなるように(
図4の例では非線形に大きくなるように)指示操舵トルクT
*が設定される。ただし、所定の上限値(正の値。たとえば、+6Nm)および下限値(負の値。たとえば−6Nm)の範囲内で指示操舵トルクT
*の設定が行われる。また、指示操舵トルクT
*は、車速が大きいほど、その絶対値が小さくなるように設定される。すなわち、車速感応制御が行われる。
【0027】
操舵トルクリミッタ20は、トルクセンサ1の出力を所定の上限飽和値+T
max(+T
max>0。たとえば+T
max=7Nm)と下限飽和値−T
max(−T
max<0。たとえば−T
max=−7Nm)との間に制限する。具体的には、操舵トルクリミッタ20は、
図5に示すように、上限飽和値+T
maxと下限飽和値−T
maxの間では、トルクセンサ1の検出操舵トルクTをそのまま出力する。また、操舵トルクリミッタ20は、トルクセンサ1の検出操舵トルクTが上限飽和値+T
max以上であれば、上限飽和値+T
maxを出力する。そして、操舵トルクリミッタ20は、トルクセンサ1の検出操舵トルクTが下限飽和値−T
max以下であれば、下限飽和値−T
maxを出力する。飽和値+T
maxおよび−T
maxは、トルクセンサ1の出力信号が安定な領域(信頼性のある領域)の境界を画定するものである。つまり、トルクセンサ1の出力信号は、上限飽和値T
maxを超える区間、および下限飽和値−T
maxを下回る区間では不安定であり、実際の操舵トルクに対応しなくなる。換言すれば、飽和値+T
max,−T
maxは、トルクセンサ1の出力特性に応じて定められる。
【0028】
トルク偏差演算部22は、指示操舵トルク設定部21によって設定される指示操舵トルクT
*とトルクセンサ1によって検出され、操舵トルクリミッタ20による制限処理を受けた操舵トルクT(以下、区別するために「検出操舵トルクT」という。)との偏差(トルク偏差)ΔT(=T−T
*)を求める。PI制御部23は、このトルク偏差ΔTに対するPI演算を行う。すなわち、トルク偏差演算部22およびPI制御部23によって、検出操舵トルクTを指示操舵トルクT
*に導くためのトルクフィードバック制御手段が構成されている。PI制御部23は、トルク偏差ΔTに対するPI演算を行うことで、制御角θ
Cに対する加算角αを演算する。したがって、前記トルクフィードバック制御手段は、加算角αを演算する加算角演算手段を構成している。
【0029】
加算角リミッタ24は、PI制御部23によって求められた加算角αに対して制限を加える加算角制限手段である。より具体的には、加算角リミッタ24は、所定の上限値UL(正の値)と下限値LL(負の値)との間の値に加算角αを制限する。上限値ULおよび下限値LLは、所定の制限値ω
max(ω
max>0。たとえばω
maxの既定値=45度)に基づいて定められる。この所定の制限値ω
maxの既定値は、たとえば、最大操舵角速度に基づいて定められる。最大操舵角速度とは、ステアリングホイール10の操舵角速度として想定され得る最大値であり、たとえば、800deg/sec程度である。
【0030】
最大操舵角速度のときのロータ50の電気角の変化速度(電気角での角速度。最大ロータ角速度)は、次式(2)のとおり、最大操舵角速度と、減速機構7の減速比と、ロータ50の極対数との積で与えられる。極対数とは、ロータ50が有する磁極対(N極とS極との対)の個数である。
最大ロータ角速度=最大操舵角速度×減速比×極対数 …(2)
制御角θ
Cの演算間(演算周期)におけるロータ50の電気角変化量の最大値(ロータ角変化量最大値)は、次式(3)のとおり、最大ロータ角速度に演算周期を乗じた値となる。
【0031】
ロータ角変化量最大値=最大ロータ角速度×演算周期
=最大操舵角速度×減速比×極対数×演算周期 …(3)
このロータ角変化量最大値が一演算周期間で許容される制御角θ
Cの最大変化量である。そこで、前記ロータ角変化量最大値を制限値ω
maxの既定値とすればよい。この制限値ω
maxを用いて、加算角αの上限値ULおよび下限値LLは、それぞれ次式(4)(5)で表すことができる。
【0032】
UL=+ω
max …(4)
LL=−ω
max …(5)
加算角リミッタ24による制限処理後の加算角αが、制御角演算部26の加算器26Aにおいて、制御角θ
Cの前回値θ
C(n-1)(nは今演算周期の番号)に加算される(Z
−1は信号の前回値を表す)。
【0033】
制御角演算部26は、制御角θ
Cの前回値θ
C(n-1)に加算角リミッタ24から与えられる加算角αを加算する加算器26Aを含む。すなわち、制御角演算部26は、所定の演算周期毎に制御角θ
Cを演算する。そして、前演算周期における制御角θ
Cを前回値θ
C(n-1)とし、これを用いて今演算周期における制御角θ
Cである今回値θ
C(n)を求める。
回転角演算部27は、レゾルバ8の出力信号に基づいてロータ50の回転角θ
Eを演算する。角度切換部42は、制御角演算部26によって求められた制御角θ
Cと、回転角演算部27によって求められたロータ回転角θ
Eとのうちのいずれか一方を選択し、座標変換用の変換角θ
Sとして出力するものである。
【0034】
第1指示電流値生成部31は、制御上の回転角である前記制御角θ
Cに対応する仮想回転座標系であるγδ座標系の座標軸(仮想軸)に流すべき電流値を指示電流値として生成するものである。具体的には、γ軸指示電流値I
γ*およびδ軸指示電流値I
δ*(以下、これらを総称するときには「二相指示電流値I
γδ*」という。)を生成する。
第1指示電流値生成部31は、γ軸指示電流値I
γ*を有意値とする一方で、δ軸指示電流値I
δ*を零とする。より具体的には、第1指示電流値生成部31は、指示操舵トルク設定部21によって設定される指示操舵トルクT
*と、トルクセンサ1によって検出され、操舵トルクリミッタ20による制限処理を受けた検出操舵トルクTと、車速センサ6によって検出される車速と、マップ作成・更新部39によって作成される車速対上限値マップに基づいてγ軸指示電流値I
γ*を設定する。第1指示電流値生成部31およびマップ作成・更新部39の詳細については、後述する。
【0035】
第2指示電流値生成部32は、dq座標系の座標軸に流すべき電流値を指示電流値として生成するものである。具体的には、d軸指示電流値I
d*およびq軸指示電流値I
q*(以下、これらを総称するときには「二相指示電流値I
dq*」という。)を生成する。さらに具体的には、第2指示電流値生成部32は、q軸指示電流値I
q*を有意値とする一方で、d軸指示電流値I
d*を零とする。より具体的には、第2指示電流値生成部32は、トルクセンサ1によって検出され、操舵トルクリミッタ20による制限処理を受けた検出操舵トルクTと、車速センサ6によって検出される車速と、操舵トルクTに対する目標アシストトルクT
A*の関係を表すアシスト特性を車速毎に記憶したトルク対アシストマップとに基づいてq軸指示電流値I
q*を設定する。
【0036】
トルク対アシストマップは車種毎に予め作成されている。そして、車種別のトルク対アシストマップが、第2指示電流値生成部32に保持されている。第2指示電流値生成部32は、車種別のトルク対アシストマップのうちからユーザ等によって選択された当該車種に対応するトルク対アシストマップと、車速センサ6によって検出される車速とに基づいて、車速に対応するアシスト特性を選択する。そして、第2指示電流値生成部32は、車速に対応するアシスト特性と、検出操舵トルクTとに基づいて、検出操舵トルクTに対応する目標アシストトルクT
A*を求める。そして、得られた目標アシストトルクT
A*を、モータの3のトルク定数K
Tで除算することにより、q軸指示電流値I
q*を演算する。つまり、q軸指示電流値I
q*は、目標アシストトルクT
A*に比例した値となる。
【0037】
図6は、当該車種に対応したトルク対アシストマップによって表される検出操舵トルクTに対する目標アシストトルクT
A*の特性(以下、「トルク対アシスト特性」という)の一例を示す図である。検出操舵トルクTは、たとえば右方向への操舵のための検出操舵トルクが正の値にとられ、左方向への操舵のための検出操舵トルクが負の値にとられている。また、目標アシストトルクT
A*は、右方向操舵のための目標アシストトルクが正の値とされ、左方向操舵のための目標アシストトルクが負の値とされる。目標アシストトルクT
A*は、検出操舵トルクTの正の値に対しては正をとり、検出操舵トルクTの負の値に対しては負の値をとる。
【0038】
図6に示されるトルク対アシスト特性では、目標アシストトルクT
A*(q軸指示電流値I
q*)は、検出操舵トルクTの絶対値が大きいほど、その絶対値が大きくなる(
図6の例では非線形に大きくなる)。また、目標アシストトルクT
A*(q軸指示電流値I
q*)は、車速センサ6によって検出される車速が大きいほど、その絶対値が小さくなる。これにより、低速走行時には大きな操舵補助力を発生させることができ、高速走行時には操舵補助力を小さくすることができる。
【0039】
指示電流切換部41は、第1指示電流値生成部31によって生成される二相指示電流値I
γδ*と、第2指示電流値生成部32によって生成される二相指示電流値I
dq*とのうちのいずれか一方を選択し、電流偏差演算部30に供給するものである。
センサ故障判定部40は、レゾルバ8の故障の有無を判定し、その判定結果に応じてモータ3の制御モードの切換を行なうものである。たとえば、センサ故障判定部40は、レゾルバ8の信号線に導出される信号を監視することによって、レゾルバ8の故障、レゾルバ8の信号線の断線故障、レゾルバ8の信号線の接地故障を検出することができる。センサ故障判定部40は、レゾルバ8の故障の有無の判定結果に応じて、第1モードと第2モードとの間で制御モードを切換え、モード切換指令を生成する。このモード切換指令に応じて、指示電流値切換部41および角度切換部42における切換えが実行される。
【0040】
具体的には、センサ故障判定部40は、レゾルバ8の故障が生じていないと判定している場合(通常時)には、制御モードを第2モードに設定する。一方、レゾルバ8の故障が生じていると判定している場合(故障時)には、センサ故障判定部40は、制御モードを第2モードから第1モードに切り換える。第2モードにおいては、指示電流値切換部41は第2指示電流値生成部32が生成する二相指示電流値I
dq*を選択して出力し、角度切換部42は回転角演算部27が生成するロータ回転角θ
Eを選択して出力する。第1モードにおいては、指示電流値切換部41は第1指示電流値生成部31が生成する二相指示電流値
γδ*を選択して出力し、角度切換部42は制御角演算部26が生成する制御角θ
Cを選択して出力する。
【0041】
電流偏差演算部30は、指示電流値切換部41で選択された指示電流値I
γδ*またはI
dq*に対する二相検出電流I
γδ(γ軸検出電流I
γおよびδ軸検出電流I
δ)またはI
dq(d軸検出電流I
dおよびq軸検出電流I
q)の偏差を演算する。具体的には、指示電流値切換部41が二相指示電流値I
γδ*を出力するときには、電流偏差演算部30は、γ軸指示電流値I
γ*に対するγ軸検出電流I
γの偏差I
γ*−I
γと、δ軸指示電流値I
δ*(=0)に対するδ軸検出電流I
δの偏差I
δ*−I
δとを演算する。また、指示電流値切換部41が二相指示電流値I
dq*を出力するときには、電流偏差演算部30は、d軸指示電流値I
d*(=0)に対するd軸検出電流I
dの偏差I
d*−I
dと、q軸指示電流値I
q*に対するq軸検出電流I
qの偏差I
q*−I
qを演算する。γ軸検出電流I
γおよびδ軸検出電流I
δまたはd軸検出電流I
dおよびq軸検出電流I
qは、αβ/γδ(αβ/dq)変換部36Bから偏差演算部30に与えられるようになっている。
【0042】
UVW/αβ変換部36Aは、電流検出部13によって検出されるUVW座標系の三相検出電流I
UVW(U相検出電流I
U、V相検出電流I
VおよびW相検出電流I
W)を二相固定座標系であるαβ座標系の二相検出電流I
αおよびI
β(以下総称するときには「二相検出電流I
αβ」という。)に変換する。αβ座標系は、
図2に示すように、ロータ50の回転中心を原点として、ロータ50の回転平面内にα軸およびこれに直交するβ軸(
図2の例ではU軸と同軸)を定めた固定座標系である。αβ/γδ(αβ/dq)変換部36Bは、制御モードが第1モードのときには、二相検出電流I
αβをγδ座標系の二相検出電流I
γおよびI
δ(以下総称するときには「二相検出電流I
γδ」という。)に変換する。一方、制御モードが第2モードのときには、αβ/γδ(αβ/dq)変換部36Bは、二相検出電流I
αβをdq座標系の二相検出電流I
dおよびI
q(以下総称するときには「二相検出電流I
dq」という。)に変換する。これらが電流偏差演算部30に与えられるようになっている。αβ/γδ(αβ/dq)変換部36Bにおける座標変換には、角度切換部42で選択された変換角θ
Sが用いられる。
【0043】
PI制御部33は、電流偏差演算部30によって演算された電流偏差に対するPI演算を行うことにより、モータ3に印加すべき二相指示電圧V
γδ*(γ軸指示電圧V
γ*およびδ軸指示電圧V
δ*)または二相指示電圧V
dq*(d軸指示電圧V
d*およびq軸指示電圧V
q*)を生成する。具体的には、PI制御部33は、制御モードが第1モードであるときには二相指示電圧V
γδ*を生成し、制御モードが第2モードてあるときには二相指示電圧V
dq*を生成する。PI制御部33によって生成された二相指示電圧V
γδ*またはV
dq*は、γδ/αβ(dq/αβ)変換部34Aに与えられる。
【0044】
γδ/αβ(dq/αβ)変換部34Aは、制御モードが第1モードであるときには二相指示電圧V
γδ*をαβ座標系の二相指示電圧V
αβ*に変換し、制御モードが第2モードであるときには二相指示電圧V
dq*をαβ座標系の二相指示電圧V
αβ*に変換する。この座標変換には、角度切換部42で選択された変換角θ
Sが用いられる。二相指示電圧V
αβ*は、α軸指示電圧V
α*およびβ軸指示電圧V
β*からなる。αβ/UVW変換部34Bは、二相指示電圧V
αβ*に対して座標変換演算を行うことによって、三相指示電圧V
UVW*を生成する。三相指示電圧V
UVW*は、U相指示電圧V
U*、V相指示電圧V
V*およびW相指示電圧V
W*からなる。この三相指示電圧V
UVW*は、PWM制御部35に与えられる。
【0045】
PWM制御部35は、U相指示電圧V
U*、V相指示電圧V
V*およびW相指示電圧V
W*にそれぞれ対応するデューティのU相PWM制御信号、V相PWM制御信号およびW相PWM制御信号を生成し、駆動回路12に供給する。
駆動回路12は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM制御部35から与えられるPWM制御信号によって制御されることにより、三相指示電圧V
UVW*に相当する電圧がモータ3の各相のステータ巻線51,52、53に印加されることになる。
【0046】
電流偏差演算部30およびPI制御部33は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、モータ3に流れるモータ電流が、指示電流値切換部41によって選択された二相指示電流値I
γδ*または二相指示電流値I
dq*に近づくように制御される。
図3は、前記第1モードのときの前記電動パワーステアリング装置の制御ブロック図である。ただし、説明を簡単にするために、加算角リミッタ24の機能は省略してある。
【0047】
指示操舵トルクT
*と検出操舵トルクTとの偏差(トルク偏差)ΔTに対するPI制御(K
Pは比例係数、K
Iは積分係数、1/sは積分演算子である。)によって、加算角αが生成される。この加算角αが制御角θ
Cの前回値θ
C(n-1)に対して加算されることによって、制御角θ
Cの今回値θ
C(n)=θ
C(n-1)+αが求められる。このとき、制御角θ
Cとロータ50の実際のロータ角θ
Mとの偏差が負荷角θ
L=θ
C−θ
Mとなる。
【0048】
したがって、制御角θ
Cに従うγδ座標系(仮想回転座標系)のγ軸(仮想軸)にγ軸指示電流値I
γ*に従ってγ軸電流I
γが供給されると、q軸電流I
q=I
γsinθ
Lとなる。このq軸電流I
qがロータ50の発生トルクに寄与する。すなわち、モータ3のトルク定数K
Tをq軸電流I
q(=I
γsinθ
L)に乗じた値が、アシストトルクT
A(=K
T・I
γsinθ
L)として、減速機構7を介して、舵取り機構2に伝達される。このアシストトルクT
Aを舵取り機構2からの負荷トルクT
Lから減じた値が、運転者がステアリングホイール10に与えるべき操舵トルクTである。この操舵トルクTがフィードバックされることによって、この操舵トルクTを指示操舵トルクT
*に導くように系が動作する。つまり、検出操舵トルクTを指示操舵トルクT
*に一致させるべく、加算角αが求められ、それに応じて制御角θ
Cが制御される。
【0049】
このように制御上の仮想軸であるγ軸に電流を流す一方で、指示操舵トルクT
*と検出操舵トルクTとの偏差ΔTに応じて求められる加算角αで制御角θ
Cを更新していくことにより、負荷角θ
Lが変化し、この負荷角θ
Lに応じたトルクがモータ3から発生するようになっている。これにより、操舵角および車速に基づいて設定される指示操舵トルクT
*に応じたトルクをモータ3から発生させることができるので、操舵角および車速に対応した適切な操舵補助力を舵取り機構2に与えることができる。すなわち、操舵角の絶対値が大きいほど操舵トルクが大きく、かつ、車速が大きいほど操舵トルクが小さくなるように、操舵補助制御が実行される。
【0050】
このように、前記第1モードにおいて、回転角センサを用いることなくモータ3を適切に制御して、適切な操舵補助を行うことができる。
一方、前記第2モードにおいては、検出操舵トルクTおよび車速に応じた二相指示電流値I
dq*が設定され、モータ3の電流が当該二相指示電流値I
dq*に収束するようにフィードバック制御が行なわれる。そして、レゾルバ8の出力信号に基づいてロータ50の回転角θ
Eが求められ、この回転角θ
Eを用いて、γδ/αβ(dq/αβ)変換部34Aおよびαβ/γδ(αβ/dq)変換部36Bにおける座標変換が行なわれることになる。つまり、第2モードでは、回転角センサであるレゾルバ8を用いてモータ3が制御されることにより、適切な操舵補助が行なわれる。
【0051】
前記第1モードにおいて有効化される構成部分によって第1制御手段(負荷角制御手段)が構成され、前記第2モードにおいて有効化される構成部分によって第2制御手段が構成されている。第1制御手段は、指示操舵トルク設定部21、操舵トルクリミッタ20、トルク偏差演算部22、PI制御部23、加算角リミッタ24、制御角演算部26、第1指示電流値生成部31、電流偏差演算部30、PI制御部33、γδ/αβ(dq/αβ)変換部34A、αβ/UVW変換部34B、PWM制御部35、UVW/αβ変換部36A、αβ/γδ(αβ/dq)変換部36Bおよびマップ作成・更新部39によって構成されている。また、第2制御手段は、回転角演算部27、操舵トルクリミッタ20、第2指示電流値生成部32、電流偏差演算部30、PI制御部33、γδ/αβ(dq/αβ)変換部34A、αβ/UVW変換部34B、PWM制御部35、UVW/αβ変換部36Aおよびαβ/γδ(αβ/dq)変換部36Bによって構成されている。すなわち、第1および第2制御手段は、操舵トルクリミッタ20、電流偏差演算部30、PI制御部33、γδ/αβ(dq/αβ)変換部34A、αβ/UVW変換部34B、PWM制御部35、UVW/αβ変換部36Aおよびαβ/γδ(αβ/dq)変換部36Bを共有している。
【0052】
図7は、加算角リミッタ24の働きを説明するためのフローチャートである。加算角リミッタ24は、PI制御部23によって求められた加算角αを上限値ULと比較し(ステップS1)、加算角αが上限値ULを超えている場合(ステップS1:YES)には、上限値ULを加算角αに代入する(ステップS2)。したがって、制御角θ
Cに対して上限値UL(=+ω
max)が加算されることになる。
【0053】
PI制御部23によって求められた加算角αが上限値UL以下であれば(ステップS1:NO)、加算角リミッタ24は、さらに、その加算角αを下限値LLと比較する(ステップS3)。そして、その加算角αが下限値未満であれば(ステップS3:YES)、下限値LLを加算角αに代入する(ステップS4)。したがって、制御角θ
Cに対して下限値LL(=−ω
max)が加算されることになる。
【0054】
PI制御部23によって求められた加算角αが下限値LL以上上限値UL以下(ステップS3:NO)であれば、その加算角αがそのまま制御角θ
Cへの加算のために用いられる。
このようにして、加算角αを上限値ULと下限値LLとの間に制限することができるので、制御の安定化を図ることができる。より具体的には、電流不足時や制御開始時に制御不安定状態(アシスト力が不安定な状態)が発生しても、この状態から安定な制御状態への遷移を促すことができる。
【0055】
以下、マップ作成・更新部39と第1指示電流値生成部31とについて、詳しく説明する。マップ作成・更新部39は、第2指示電流値生成部32に保持されている車種別のトルク対アシストマップのうちから、当該車種に応じたトルク対アシストマップがユーザ等によって選択されたときには、選択されたトルク対アシストマップに基づいて、車速に対するγ軸指示電流値I
γ*の上限値の関係を記憶した車速対上限値マップを作成する。作成された車速対上限値マップは、第1指示電流値生成部31に与えられ、第1指示電流値生成部31に保持される。
【0056】
また、マップ作成・更新部39は、現在選択されているトルク対アシストマップが変更された場合には、変更後のトルク対アシストマップに基づいて、車速に対するγ軸指示電流値I
γ*の上限値の関係を記憶した車速対上限値マップを作成する。そして、作成した車速対上限値マップに基づいて、第1指示電流値生成部31に保持されている車速対上限値マップを更新する。
【0057】
図8は、マップ作成・更新部39による車速対上限値マップの作成処理の手順を示すフローチャートである。
車速対上限値マップを作成する元となるトルク対アシストマップが、
図6に示されるようなトルク対アシスト特性に対応するトルク対アシストマップであるものとする。
マップ作成・更新部39は、まず、車速を表す変数vを複数種類の車速のうちの1つの車速v0に設定する(ステップS11)。そして、車速対上限値マップを作成する元となる車速対上限値マップで表されるトルク対アシスト特性に基づいて、変数vによって表される車速(
図8の説明においては、「車速v」ということにする。)に対応する最大負荷トルクc(v)を求める(ステップS12)。車速vに対応する最大負荷トルクc(v)は、
図6に示すように、車速vに対応するトルク対アシスト特性における、所定の操舵トルクaとそれに対応する目標アシストトルクb(v)との和を演算することにより、求められる。つまりc(v)=a+b(v)となる。ここで、所定の操舵トルクaは、たとえば、5Nm以上の所定値(たとえば、6Nm)に設定される。なお、車速別の最大負荷トルクc(v)は、車速vが大きいほど小さくなる。
【0058】
次に、マップ作成・更新部39は、ステップS12で求められた車速vに対応する最大負荷トルクc(v)とモータ3のトルク定数K
Tとを用い、次式(6)に基づいて、車速vに対応する最大負荷トルクc(v)をモータ3に発生させるためのγ軸電流値(以下、最大負荷トルク対応電流値d(v)」という)を求める(ステップS13)。
d(v)=c(v)/K
T …(6)
この後、マップ作成・更新部39は、ステップS13で求められた車速vに対応する最大負荷トルク対応電流値d(v)と加算角リミッタ24の制限値ω
maxと用い、次式(7)に基づいて、車速vに対応する上限値ξ
max(v)(γ軸指示電流値I
γ*の上限値)を求める(ステップS14)。
【0059】
ξ
max(v)=d(v)÷sin(90°−ω
max) …(7)
式(7)に基づいて上限値ξ
max(v)を求めている理由について説明する。
図9の曲線S1は、γ軸電流I
γが最大負荷トルク対応電流値d(v)である場合の、負荷角θ
Lとq軸電流I
qとの関係を示している。
図2を用いて説明したように、q軸電流I
qは、負荷角θ
Lとγ軸電流I
γを用いて、I
q=I
γsinθ
L(θ
L=θ
C−θ
M)で与えられる。したがって、γ軸電流I
γが最大負荷トルク対応電流値d(v)である場合の、負荷角θ
Lに対するq軸電流I
qの変化は、
図9にS1で示すような曲線(サインカーブ)となる。なお、アシストトルクT
Aは、モータ3のトルク定数K
Tをq軸電流I
qに乗じた値となる。したがって、負荷角θ
Lに対するアシストトルクT
Aの変化も、曲線S1と同様なサインカーブとなる。
【0060】
q軸電流I
q(アシストトルクT
A)は、−90°≦θ
L≦90°の区間Q1では単調増加となり、90°<θ
L<270°の区間Q2では単調減少となる。この実施形態では、負荷角θ
Lとアシストトルク(モータトルク)とが正の相関を有する区間Q1の領域で負荷角θ
Lが調整されるように、加算角αが制御されるものとする。
γ軸電流I
γが最大負荷トルク対応電流値d(v)である場合(負荷角θ
Lに対するq軸電流I
qの変化が曲線S1で表される場合)において、負荷角θ
Lが90°を超えると、アシストトルクが適値に収束するのに時間がかかる。そこで、この実施形態では、負荷角θ
Lが90°を超えない範囲で、負荷角θ
Lが制御されるようにする。つまり、負荷角θ
Lが(90°−ω
max)のときに、q軸電流I
qが最大負荷トルク対応電流値d(v)となるように、γ軸電流I
γの上限値ξ
max(v)を決定する。具体的には、負荷角θ
Lに対するq軸電流I
qの変化が、
図9にS2で示される曲線となるように、γ軸電流I
γの上限値ξ
max(v)を決定する。
【0061】
このためには、次式(8)が成り立つように、γ軸電流I
γの上限値ξ
maxを決定すればよい。
d(v)=ξ
max(v)×sin(90°−ω
max) …(8)
この式(8)を変形することにより、前記式(7)が得られる。
このようにして上限値ξ
max(v)を決定すると、γ軸電流I
γが上限値ξ
max(v)である場合には、負荷角θ
Lが、−90°よりω
maxだけ大きい(−90°+ω
max)であるとき、または90°よりω
maxだけ小さい(90°−ω
max)であるときに、最大負荷トルクに応じた大きさのアシストトルクT
Aをモータ3から発生させることができるようになる。したがって、原則的には、(−90°+ω
max)≦θ
L≦(90°−ω
max)の範囲で負荷角θ
Lが制御されるようになる。そして、負荷角θ
Lがこの範囲内にある場合において、アシストトルク不足により、負荷角θ
Lが加算角リミッタ24の制限値ω
max(加算角αの最大値)分だけ変動したとしても、負荷角θ
Lは−90°≦θ
L≦90°の範囲内に収まる。このため、負荷角θ
Lを好ましい範囲内で制御することができる。
【0062】
なお、負荷角θ
Lとアシストトルク(モータトルク)とが負の相関を有する区間Q2の領域で負荷角θ
Lが調整されるように、加算角αが制御される場合には、負荷角θ
Lが270°を超えると、アシストトルクが適値に収束するのに時間がかかる。そこで、次式(9)が成り立つように、γ軸電流I
γの上限値ξ
maxを決定すればよい。
−d(v)=ξ
max(v)×sin(270°−ω
max)…(9)
式(9)を変形すると、前記式(8)が得られる。したがって、この場合にも、前記式(7)に基づいて、車速vに対応する上限値ξ
max(v)を求めることができる。
【0063】
図8に戻り、前記ステップS14において、車速vに応じた上限値ξ
max(v)が求められると、マップ作成・更新部39は、全ての車速vに対する上限値ξ
max(v)が求められたか否かを判別する(ステップS15)。全ての車速vに対する上限値ξ
max(v)が求められてない場合には(ステップS15:NO)、車速vを未だ選択されていない車速に更新した後(ステップS16)、ステップS12に戻る。そして、ステップS12〜S14の処理が再度実行されることにより、更新後の車速vに応じた上限値ξ
max(v)が求められる。
【0064】
このような処理が繰り返されることにより、全ての車速vに対する上限値ξ
max(v)が求められる。つまり、車速対上限値マップが作成される。このようにして、車速対上限値マップが作成されると、ステップS15でYESとなるので、今回の車速対上限値マップの作成処理を終了する。
図10は、車速対上限値マップによって表される車速に対する上限値ξ
maxの特性(以下、「車速対上限値特性」という)の一例を示している。
図10に示される車速対上限値特性では、上限値ξ
maxは車速が大きくなるほど小さくなる(
図10の例では非線形に小さくなる)。
【0065】
図11は、第1指示電流値生成部31の構成を示すブロック図である。
第1指示電流値生成部30は、指示電流増減量演算部61と、加算器62と、上下限リミッタ63と、上限値設定部64とを含んでいる。指示電流増減量演算部61は、所定の演算周期毎に、指示操舵トルクT
*と検出操舵トルクTに基づいて、指示電流値I
γ*に対する電流増減量ΔI
γ*を演算する。具体的には、指示電流増減量演算部61は、指示操舵トルクT
*の符号と、指示操舵トルクT
*と検出操舵トルクTとの偏差ΔT(=T−T
*)とに基づいて、電流増減量ΔI
γ*を演算する。
【0066】
指示操舵トルクT
*の符号が正(T
*≧0)である場合の、トルク偏差ΔTに対する電流増減量ΔI
γ*の設定例は、
図12Aに示されている。トルク偏差ΔTが所定値−A(A>0)以上でかつ所定値+A以下の範囲では、電流増減量ΔI
γ*は零に設定される。そして、トルク偏差ΔTが所定値−Aより小さくなるに従って、その値が零より小さくなるように(
図12Aの例では線形に小さくなるように)電流増減量ΔI
γ*が設定される。また、トルク偏差ΔTが所定値+Aより大きくなるに従って、その値が零より大きくなるように(
図12Aの例では線形に大きくなるように)電流増減量ΔI
γ*が設定される。
【0067】
指示操舵トルクT
*の符号が正(T
*≧0)である場合において、トルク偏差ΔT(=T−T
*)が零以上である場合とは、検出操舵トルクTの絶対値が指示操舵トルクT
*の絶対値よりも大きく、従ってモータトルク(アシストトルク)が不足している場合である。そこで、トルク偏差ΔTが所定値+Aより大きい場合には、アシストトルク不足を補うように、電流増減量ΔI
γ*が正の値にされている。この場合、トルク偏差ΔTの絶対値が大きいほど、電流増減量ΔI
γ*の絶対値も大きくなる(絶対値の大きな正の値となる)。
【0068】
一方、トルク偏差ΔT(=T−T
*)が零より小さい場合とは、検出操舵トルクTの絶対値が指示操舵トルクT
*の絶対値よりも小さく、従ってモータトルク(アシストトルク)が過剰となっている場合である。そこで、トルク偏差ΔTが所定値−A未満の場合には、アシストトルクを低減させるために、電流増減量ΔI
γ*が負の値にされている。この場合、トルク偏差ΔTの絶対値が大きいほど、電流増減量ΔI
γ*の絶対値も大きくなる(絶対値の大きな負の値となる)。
【0069】
指示操舵トルクT
*の符号が負(T
*<0)である場合の、トルク偏差ΔTに対する電流増減量ΔI
γ*の設定例は、
図12Bに示されている。トルク偏差ΔTが所定値−A以上でかつ所定値+A以下の範囲では、電流増減量ΔI
γ*は零に設定される。そして、トルク偏差ΔTが所定値−Aより小さくなるに従って、その値が零より大きくなるように(
図12Bの例では線形に大きくなるように)電流増減量ΔI
γ*が設定される。また、トルク偏差ΔTが所定値+Aより大きくなるに従って、その値が零より小さくなるように(
図12Bの例では線形に小さくなるように)電流増減量ΔI
γ*が設定される。
【0070】
指示操舵トルクT
*の符号が負(T
*<0)である場合において、トルク偏差ΔT(=T−T
*)が零以上である場合とは、検出操舵トルクTの絶対値が指示操舵トルクT
*の絶対値よりも小さく、従ってモータトルク(アシストトルク)が過剰となっている場合である。そこで、トルク偏差ΔTが所定値+Aより大きい場合には、アシストトルクを低減させるために、電流増減量ΔI
γ*が負の値にされている。この場合、トルク偏差ΔTの絶対値が大きいほど、電流増減量ΔI
γ*の絶対値も大きくなる(絶対値の大きな負の値となる)。
【0071】
一方、トルク偏差ΔT(=T−T
*)が零より小さい場合とは、検出操舵トルクTの絶対値が指示操舵トルクT
*の絶対値よりも大きく、従ってモータトルク(アシストトルク)が不足している場合である。そこで、トルク偏差ΔTが所定値−A未満である場合には、アシストトルク不足を補うように、電流増減量ΔI
γ*が正の値にされている。この場合、トルク偏差ΔTの絶対値が大きいほど、電流増減量ΔI
γ*の絶対値も大きくなる(絶対値の大きな正の値となる)。
【0072】
指示電流増減量演算部61によって演算された電流増減量ΔI
γ*は、加算器62において、指示電流値I
γ*の前回値I
γ*(n-1)(nは今演算周期の番号)に加算される(Z
−1は信号の前回値を表す)。これにより、今演算周期での指示電流値I
γ*が演算される。つまり、指示電流増減量演算部61および加算器62は、指示電流値I
γ*を演算するための指示電流値演算手段である。ただし、指示電流値I
γ*の初期値は予め定められた値(例えば零)である。加算器62によって得られた指示電流値I
γ*は、上下限リミッタ63に与えられる。上下限リミッタ63は、加算器62によって得られた指示電流値I
γ*を、下限値ξ
min(ξ
min≧0)と上限値ξ
max(ξ
max>ξ
min)との間の値に制限する。下限値ξ
minは予め設定される。下限値ξ
minは、たとえば零に設定される。一方、上限値ξ
maxは、上限値設定部64によって設定される。
【0073】
加算器62によって得られた指示電流値I
γ*が、下限値ξ
min以上でかつ上限値ξ
max以下であるときには、上下限リミッタ63は、当該指示電流値I
γ*をそのまま出力する。加算器62によって得られた指示電流値I
γ*が下限値ξ
minより小さいときには、上下限リミッタ63は、下限値ξ
minを今演算周期の指示電流値I
γ*として出力する。加算器62によって得られた指示電流値I
γ*が上限値ξ
maxより大きいときには、上下限リミッタ63は、上限値ξ
maxを今演算周期の指示電流値I
γ*として出力する。
【0074】
上限値設定値64は、マップ作成・更新部39によって設定された車速対上限値マップと、車速センサ6によって検出された車速とに基づいて、上限値ξ
maxを設定する。具体的には、上限値設定値64は、前記所定の演算周期毎に、車速センサ6によって検出された車速を取得する。そして、上限値設定値64は、マップ作成・更新部39によって設定された車速対上限値マップから車速に対応する上限値ξ
maxを求め、得られた上限値ξ
maxを上限値リミッタ63に設定する。
【0075】
図13は、第1指示電流値生成部の変形例を示すブロック図である。
図13において、
図11に示された各部に対応する部分には、
図11と同じ参照符号を付して示す。この第1指示電流値生成部31Aでは、上限値設定部64Aの動作が
図11の上限値設定部64と異なっている。また、第1指示電流値生成部31Aが採用される場合には、
図1のマップ作成更新部39は、不要である。
【0076】
上限値設定部64Aには、
図1に破線または
図13に示されているように、第2指示電流値生成部32に保持されている車種別のトルク対アシストマップのうち、ユーザ等によって選択されたトルク対アシストマップが、第2指示電流値生成部32によって設定されている。第2指示電流値生成部32は、現在選択されているトルク対アシストマップが変更されたときには、上限値設定部64Aに設定されているトルク対アシストマップを、変更後のトルク対アシストマップを用いて更新する。
【0077】
上限値設定部64Aは、第2指示電流値生成部32によって設定または更新されたトルク対アシストマップを保持している。上限値設定部64Aは、保持しているトルク対アシストマップと、車速センサ6によって検出された車速とに基づいて上限値ξ
maxを求め、得られた上限値ξ
maxを上下限リミッタ63に設定する。
図14は、上限値設定部64Aによる上限値演算処理の手順を示すフローチャートである。この処理は、所定の演算周期毎に実行される。
【0078】
上限値設定部64Aは、車速センサ6によって検出されている車速を取得する(ステップS21)。
図14の説明においては、取得した車速を「車速v」ということにする。次に、保持しているトルク対アシストマップのうち、ステップS21で取得した車速vに対応するトルク対アシストマップ(アシスト特性)に基づいて、車速vに対応する最大負荷トルクc(v)を求める(ステップS22)。車速vに対応する最大負荷トルクc(v)は、車速vに対応するトルク対アシストマップにおける、所定の操舵トルクaとそれに対応する目標アシストトルクb(v)との和を演算することにより、求められる。ここで、所定の操舵トルクaは、たとえば、5Nm以上の所定値(たとえば、6Nm)に設定される。
【0079】
次に、上限値設定部64Aは、ステップS22で求められた車速vに対応する最大負荷トルクc(v)とモータ3のトルク定数K
Tとを用い、次式(10)に基づいて、車速vに対応する最大負荷トルクc(v)をモータ3に発生させるためのγ軸電流値(最大負荷トルク対応電流値d(v))を求める(ステップS23)。
d(v)=c(v)/K
T …(10)
この後、上限値設定部64Aは、ステップS23で求められた車速vに対応する最大負荷トルク対応電流値d(v)と加算角リミッタ24の制限値ω
maxと用い、次式(11)に基づいて、車速vに対応する上限値ξ
max(v)(γ軸指示電流値I
γ*の上限値)を求める(ステップS24)。
【0080】
ξ
max(v)=d(v)÷sin(90°−ω
max) …(11)
上述した実施形態および変形例では、車速に応じて指示電流値I
γ*の上限値ξ
maxが設定されるので、指示電流値I
γ*の上限値を適切な値に設定することが可能となる。これにより、電力効率の向上化および制御の安定化を図ることができるようになる。
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、車速vに対応する最大負荷トルクc(v)は、車速vに対応するトルク対アシストマップにおける、所定の操舵トルクaとそれに対応する目標アシストトルクb(v)との和を演算することによって求められている。しかし、車速vに対応する最大負荷トルクc(v)を、別の方法、たとえば、車両の緒元から求めるようにしてもよい。
【0081】
さらに、前述の実施形態では、電動パワーステアリング装置にこの発明が適用された例について説明したが、この発明は、電動ポンプ式油圧パワーステアリング装置のためのモータの制御や、パワーステアリング装置以外にも、ステア・バイ・ワイヤ(SBW)システム、可変ギヤレシオ(VGR)ステアリングシステムその他の車両用操舵装置に備えられたブラシレスモータの制御のために用いることができる。
【0082】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。