(58)【調査した分野】(Int.Cl.,DB名)
前記二相電流指令値設定手段は、前記モータ回転角推定手段によって推定されたある電流制御周期内の各PWM周期に対する前記電動モータの回転角を用いて、当該電流制御周期内の各PWM周期に対する二相電流指令値を設定するように構成されている、請求項1または2に記載のモータ制御装置。
【発明を実施するための形態】
【0012】
以下では、この発明を電動パワーステアリング装置に適用した場合の実施形態を、添付図面を参照して詳細に説明する。
図1は、本発明の一実施形態に係るモータ制御装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置(EPS:electric power steering)1は、車両を操向するための操舵部材としてのステアリングホイール2と、このステアリングホイール2の回転に連動して転舵輪3を転舵する転舵機構4と、運転者の操舵を補助するための操舵補助機構5とを備えている。ステアリングホイール2と転舵機構4とは、ステアリングシャフト6および中間軸7を介して機械的に連結されている。
【0013】
ステアリングシャフト6は、ステアリングホイール2に連結された入力軸8と、中間軸7に連結された出力軸9とを含む。入力軸8と出力軸9とは、トーションバー10を介して相対回転可能に連結されている。
トーションバー10の近傍には、トルクセンサ11が配置されている。トルクセンサ11は、入力軸8および出力軸9の相対回転変位量に基づいて、ステアリングホイール2に与えられた操舵トルクTを検出する。この実施形態では、トルクセンサ11によって検出される操舵トルクTは、たとえば、右方向への操舵のためのトルクが正の値として検出され、左方向への操舵のためのトルクが負の値として検出され、その絶対値が大きいほど操舵トルクの大きさが大きくなるものとする。
【0014】
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13は、ステアリングホイール2の操舵に連動して回転するようになっている。ピニオン軸13の先端(
図1では下端)には、ピニオン16が連結されている。
【0015】
ラック軸14は、自動車の左右方向に沿って直線状に延びている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
【0016】
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。
操舵補助機構5は、操舵補助用の電動モータ18と、電動モータ18の出力トルクを転舵機構4に伝達するための減速機構19とを含む。電動モータ18には、電動モータ18のロータの回転角を検出するための、例えばレゾルバからなる回転角センサ23が配置されている。減速機構19は、ウォーム軸20と、このウォーム軸20と噛み合うウォームホイール21とを含むウォームギヤ機構からなる。
【0017】
ウォーム軸20は、電動モータ18によって回転駆動される。また、ウォームホイール21は、ステアリングシャフト6とは一体的に回転可能に連結されている。ウォームホイール21は、ウォーム軸20によって回転駆動される。
電動モータ18によってウォーム軸20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォーム軸20を回転駆動することによって、転舵輪3が転舵されるようになっている。
【0018】
車両には、車速Vを検出するための車速センサ24が設けられている。トルクセンサ11によって検出される操舵トルクT、車速センサ24によって検出される車速V、回転角センサ23の出力信号等は、ECU(電子制御ユニット:Electronic Control Unit)12に入力される。ECU12は、これらの入力信号に基づいて、電動モータ18を制御する。
【0019】
図2は、ECU12の電気的構成を示すブロック図である。
ECU12は、マイクロコンピュータ31と、マイクロコンピュータ31によって制御され、電動モータ18に電力を供給する駆動回路(インバータ回路)32を含んでいる。駆動回路32と電動モータ18とを接続するための電力供給線には、2つの電流センサ33,34が設けられている。これらの電流センサ33,34は、駆動回路32と電動モータ18とを接続するための3本の電力供給線のうち、2本の電力供給線に流れる相電流を検出できるように設けられている。
【0020】
電動モータ18は、例えば三相ブラシレスモータであり、
図3に図解的に示すように、界磁としてのロータ100と、U相、V相およびW相のステータ巻線101,102,103を含むステータ105とを備えている。
各相のステータ巻線101,102,103の方向にU軸、V軸およびW軸をとった三相固定座標(UVW座標系)が定義される。また、ロータ100の磁極方向にd軸(磁極軸)をとり、ロータ100の回転平面内においてd軸と直角な方向にq軸(トルク軸)をとった二相回転座標系(dq座標系。実回転座標系)が定義される。dq座標系では、q軸電流のみがロータ100のトルク発生に寄与するので、d軸電流を零とし、q軸電流を所望のトルクに応じて制御すればよい。ロータ100の回転角(電気角)θは、U軸に対するd軸の回転角である。dq座標系は、ロータ回転角θに従う実回転座標系である。このロータ回転角θを用いることによって、UVW座標系とdq座標系との間での座標変換を行うことができる。
【0021】
図2に戻り、マイクロコンピュータ31は、CPUおよびメモリ(ROM、RAM、不揮発性メモリなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、アシスト電流値設定部41と、電流指令値設定部42と、オープンループ制御部43と、オープンループ制御パラメータ補償部44と、二相・三相変換部45と、PWMデューティ演算部(PWM Duty演算部)46と、PWM出力部47と、三相・二相変換部48と、回転角演算部49と、回転速度演算部50と、回転角推定部51とが含まれる。
【0022】
図4に示すように、PWM信号の周期(以下、「PWM周期」という。)Tcは、電流制御周期Taよりも小さい。この実施形態では、TcはTaの1/10である。言い換えれば、電流制御周期Ta内に10周期分のPWM周期Tcが含まれる。10周期分のPWM周期Tcの最初の周期を1番目の周期といい、それ以降の周期を2,3,…,9,10番目の周期という場合がある。また、PWM周期の周期番号をi(i=1,2,…,9,10)で表す場合がある。
【0023】
図2に戻り、回転角演算部49は、回転角センサ23の出力信号に基づいて、電動モータ18のロータの回転角θ(電気角)を電流制御周期Ta毎に演算する。回転角演算部49によって演算されるロータ回転角θは、三相・二相変換部48、回転速度演算部50および回転角推定部51に与えられる。この実施形態では、ロータ回転角θが取得(検出)されるタイミングは、電流制御周期Taの中央時点であるものとする。
【0024】
回転速度演算部50は、回転角演算部49によって演算されるロータ回転角θを時間微分することにより、電動モータ18のロータの回転速度(角速度)ωを演算する。回転速度演算部50によって演算される回転速度ωは、回転角推定部51およびオープンループ制御パラメータ補償部44に与えられる。
回転角推定部51は、前回の電流制御周期Taで取得されたロータ回転角θを用いて、次式(1)に基づいて、次回の電流制御周期Taに含まれる各PWM周期Tcの開始時点でのロータ回転角θi(i=1,2,…,9,10)を推定する。
【0025】
θ1=θ+ω・(3/2)・Ta
θ2=θ1+ω・Tc
θ3=θ2+ω・Tc
…
θ9=θ8+ω・Tc
θ10=θ9+ω・Tc …(1)
回転角推定部51によって推定されたロータ回転角θi(i=1〜10)は、電流指令値設定部42および二相・三相変換部45に与えられる。
【0026】
三相・二相変換部48は、まず、電流センサ33,34によって検出される2相分の相電流から、U相電流I
U、V相電流I
VおよびW相電流I
W(以下、これらを総称するときは、「三相検出電流I
UVW」という。)を演算する。そして、三相・二相変換部48は、UVW座標系の三相検出電流I
UVWを、dq座標系の二相検出電流I
dqに座標変換する。二相検出電流I
dqは、d軸検出電流I
dおよびq軸検出電流I
qからなる。この座標変換には、回転角演算部49によって演算されるロータ回転角θが用いられる。
【0027】
アシスト電流値設定部41は、トルクセンサ11によって検出される検出操舵トルクTと、車速センサ24によって検出される車速Vとに基づいて、アシスト電流値(基本電流指令値)Ia
*を電流制御周期Ta毎に設定する。検出操舵トルクTに対するアシスト電流値Ia
*の設定例は、
図5に示されている。検出操舵トルクTは、例えば右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、アシスト電流値Ia
*は、電動モータ18から右方向操舵のための操舵補助力を発生させるべきときには正の値とされ、電動モータ18から左方向操舵のための操舵補助力を発生させるべきときには負の値とされる。アシスト電流値Ia
*は、検出操舵トルクTの正の値に対しては正をとり、検出操舵トルクTの負の値に対しては負をとる。
【0028】
検出操舵トルクTが−T1〜T1(たとえば、T1=0.4N・m)の範囲(トルク不感帯)の微小な値のときには、アシスト電流値Ia
*は零とされる。そして、検出操舵トルクTが−T1〜T1の範囲外の値である場合には、アシスト電流値Ia
*は、検出操舵トルクTの絶対値が大きくなるほど、その絶対値が大きくなるように設定される。また、アシスト電流値Ia
*は、車速センサ24によって検出される車速Vが大きいほど、その絶対値が小さくなるように設定されるようになっている。これにより、低速走行時には操舵補助力が大きくされ、高速走行時には操舵補助力が小さくされる。
【0029】
電流指令値設定部42は、PWM周期Tc毎にdq座標系の座標軸に流すべき電流値を電流指令値として設定する。電流指令値設定部42は、トルクリップル補償機能を備えており、トルクリップルを補償できるような電流指令値を設定する。電流指令値が一定である場合には、たとえは、
図6Aに示すように正弦波状のトルクリップルが発生する。トルクリップルは、ロータ回転角θに依存して周期的に変化する。そこで、
図6Bに示すように、ロータ回転角θに応じてトルクリップルを打ち消すようなトルクを発生させる電流指令値を生成することにより、トルクリップルを補償することができる。
【0030】
電流指令値設定部42は、アシスト電流値Ia
*と、今回の電流制御周期Taにおいて回転角推定部51によって推定された次回の電流制御周期Ta内の各PWM周期Tcに対応するロータ回転角θi(θ1〜θ10)とに基づいて、次回の電流制御周期Ta内の各PWM周期Tcにおいてdq座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部42は、ロータ回転角θi(i=1〜10)毎にd軸電流指令値I
di*(i=1〜10)およびq軸電流指令値I
qi*(i=1〜10)を設定する。以下、これらを総称するときには、二相電流指令値I
di*(i=1〜10)という。
【0031】
さらに、具体的には、電流指令値設定部42は、まず、アシスト電流値設定部41によって設定されたアシスト電流値Ia
*を基本q軸電流指令値として設定するとともに、零を基本d軸電流指令値として設定する。そして、電流指令値設定部42は、基本q軸電流指令値(=Ia
*)に、トルクリップルを生じさせないようなq軸電流補償値を加算した値を、q軸電流指令値I
qi*として設定する。あるPWM周期Tcに対応するq軸電流補償値は、そのPWM周期Tcに対応したロータ回転角θiとアシスト電流値(基本電流指令値)Ia
*とに応じた値となる。あるPWM周期Tcに対応するq軸電流補償値は、例えば、アシスト電流値Ia
*毎に予め作成され、ロータ回転角毎にq軸電流補償値を予め記憶したマップから求めることができる。また、電流指令値設定部42は、基本d軸電流指令値(=0)に、トルクリップルを生じさせないようなd軸電流補償値を加算した値を、d軸電流指令値I
di*として設定する。あるPWM周期Tcに対応するd軸電流補償値は、そのPWM周期Tcに対応したロータ回転角θiとアシスト電流値(基本電流指令値)Ia
*とに応じた値となる。あるPWM周期Tcに対応するd軸電流補償値は、例えば、アシスト電流値Ia
*毎に予め作成され、ロータ回転角毎にd軸電流補償値を予め記憶したマップから求めることができる。
【0032】
なお、q軸電流補償値およびd軸電流補償値は、例えば、特開2004−328814号公報に開示されているトルクリップル補償部と同様な方法によって演算されてもよい。
電流指令値設定部42によって設定された二相電流指令値I
dqi*は、オープンループ制御部43に与えられる。
オープンループ制御部43は、電流指令値設定部42によって設定されたロータ回転角θi(i=1〜10)毎のd軸電流指令値I
di*およびq軸電流指令値I
qi*と、回転速度演算部50によって演算されるロータの回転速度(角速度)ωとに基づいて、電動モータ18に印加すべきロータ回転角θi毎の二相電圧指令値V
dqi*(i=1〜10)を演算する。二相電圧指令値V
dqi*(i=1〜10)は、d軸電圧指令値V
di*(i=1〜10)およびq軸電圧指令値V
qi*(i=1〜10)からなる。
【0033】
具体的には、オープンループ制御部43は、次式(2),(3) に示すモータ電圧方程式に基づいて、d軸電圧指令値V
di*およびq軸電圧指令値V
qi*を演算する。
V
di*=(R+PL
d)×I
di*−ω・L
q・I
qi* …(2)
V
qi*=(R+PL
q)×I
qi*+ω・L
d・I
di*+ω・Φ …(3)
V
di*:d軸電圧指令値
V
qi*:q軸電圧指令値
I
di*:d軸電流指令値
I
qi*:q軸電流指令値
ω:ロータの回転速度
R:電機子巻線抵抗
L
d:d軸の自己インダクタンス
L
q:q軸の自己インダクタンス
Φ:電機子鎖交磁束(U、V、W相電機子巻線鎖交磁束数の最大値の√(3/2)倍)
P:微分演算子(=d/dt)
ここで、d軸の自己インダクタンスL
dおよびq軸の自己インダクタンスL
qは、予め設定されている。また、電機子巻線抵抗Rや電機子鎖交磁束Φの初期値は、予め設定されている。電機子巻線抵抗Rや電機子鎖交磁束Φは、温度変動によって値が変化する。そこで、この実施形態では、オープンループ制御パラメータ補償部44を設けて、電機子巻線抵抗Rおよび電機子鎖交磁束Φを補償するようにしている。オープンループ制御部43は、オープンループ制御パラメータ補償部44による補償後の電機子巻線抵抗Rおよび電機子鎖交磁束Φを用いて、d軸電圧指令値V
di*およびq軸電圧指令値V
qi*を演算する。
【0034】
オープンループ制御パラメータ補償部44は、三相・二相変換部48によって得られるd軸検出電流I
dおよびq軸検出電流I
qと、回転速度演算部50によって演算されるロータの回転速度ωと、オープンループ制御部43によって演算された最新のq軸電圧指令値V
qi*を用いて、電機子巻線抵抗Rおよび電機子鎖交磁束Φを演算する。
具体的には、オープンループ制御パラメータ補償部44は、q軸検出電流I
qが零でないとき(I
q≠0のとき)に、次式(4)に基づいて、電機子巻線抵抗Rを演算する。そして、電機子巻線抵抗Rの値を更新する。
【0035】
R=(V
qi*−PL
q・I
q−ω・L
d・I
d−ω・Φ)/I
q …(4)
V
qi*:最新に演算されたq軸電圧指令値
P:微分演算子
L
d:d軸の自己インダクタンス
L
q:q軸の自己インダクタンス
I
d:d軸検出電流
I
q:q軸検出電流
ω:ロータの回転速度
Φ:電機子鎖交磁束
なお、オープンループ制御パラメータ補償部44は、前記式(4)に代えて、次式(5)または(6)を用いて、電機子巻線抵抗Rを演算してもよい。
【0036】
R=(V
qi*−ω・L
d・I
d−ω・Φ)/I
q …(5)
R=(V
qi*−ω・Φ)/I
q …(6)
オープンループ制御パラメータ補償部44は、ロータの回転速度ωが零でないとき(ω≠0のとき)に、次式(7)に基づいて、電機子鎖交磁束Φを演算する。そして、電機子鎖交磁束Φの値を更新する。
【0037】
Φ=(V
qi*−(R+PL
q)I
q−ω・L
d・I
d)/ω …(7)
V
qi*:最新に演算されたq軸電圧指令値
R:電機子巻線抵抗
P:微分演算子
L
d:d軸の自己インダクタンス
L
q:q軸の自己インダクタンス
I
d:d軸検出電流
I
q:q軸検出電流
ω:ロータの回転速度
なお、オープンループ制御パラメータ補償部44は、前記式(7)に代えて次式(8)または(9)を用いて、電機子鎖交磁束Φを演算してもよい。
【0038】
Φ=(V
qi*−R・I
q−ω・L
d・I
d)/ω …(8)
Φ=(V
qi*−R・I
q)/ω …(9)
オープンループ制御部43によってロータ回転角θi毎に演算された二相電圧指令値V
dqi*(d軸電圧指令値V
di*およびq軸電圧指令値V
qi*)は、二相・三相変換部45に与えられる。
【0039】
二相・三相変換部45は、今回の電流制御周期Taにおいてオープンループ制御部43によって演算された二相電圧指令値V
dqi*に対して、今回の電流制御周期Taにおいて回転角推定部51によって演算された次回の電流制御周期Taに対する回転角推定値θ1〜θ10をそれぞれ用いて二相・三相変換を行うことにより、次回の電流制御周期Ta内に含まれる各PWM周期Tcに対する三相電圧指令値V
UVWi*(i=1〜10)を演算する。三相電圧指令値V
UVWi*(i=1〜10)は、U相電圧指令値V
Ui*(i=1〜10)、V相電圧指令値V
Vi*(i=1〜10)およびW相電圧指令値V
Wi*(i=1〜10)からなる。これにより、次回の電流制御周期Ta内に含まれる各PWM周期Tcに対する三相電圧指令値V
UVWi*が得られる。
【0040】
二相・三相変換部45によって得られた次回の電流制御周期Ta内に含まれる各PWM周期Tcに対する三相電圧指令値V
UVWi*は、PWMデューティ演算部46に与えられる。
PWMデューティ演算部46は、二相・三相変換部45によって得られた次回の電流制御周期Ta内に含まれる各PWM周期Tcに対する三相電圧指令値V
UVWi*に基づいて、次回の電流制御周期Ta内の各PWM周期Tcに対するU相のPWMカウント(PWMデューティ)、V相のPWMカウントおよびW相のPWMカウントを生成して、PWM出力部47に与える。
【0041】
PWM出力部47は、PWMデューティ演算部46から与えられる電流制御周期Ta内の各PWM周期Tcに対するU相のPWMカウント、V相のPWMカウントおよびW相のPWMカウントを、複数の電流制御周期分にわたって記憶している。PWM出力部47は、前回の電流制御周期TaにおいてPWMデューティ演算部46から与えられた今回の電流制御周期Ta内の各PWM周期Tcに対するU相のPWMカウント、V相のPWMカウントおよびW相のPWMカウントに基づいて、今回の電流制御周期Ta内の各PWM周期Tcに対するU相PWM信号、V相PWM信号およびW相PWM信号を生成して、駆動回路32に供給する。具体的には、PWM出力部47は、今回の電流制御周期Ta内のPWM周期Tc毎に、当該電流制御周期Ta内の各PWM周期Tcに対するU相のPWMカウント、V相のPWMカウントおよびW相のPWMカウントにそれぞれ対応するデューティのU相PWM信号、V相PWM信号およびW相PWM信号を生成して、駆動回路32に供給する。
【0042】
駆動回路32は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM出力部47から与えられるPWM信号によって制御されることにより、PWM周期Tc毎の三相電圧指令値V
UVWi*に相当する電圧が電動モータ18の各相のステータ巻線101,102,103に印加されることになる。
【0043】
このようにして、電流指令値設定部42によって設定された二相電流指令値I
dqi*に基づいて、電動モータ18がオープンループ制御される。これにより、電流指令値設定部42によって設定された二相電流指令値I
dqi*に応じて電動モータ18に流れる電流が制御されるとともに、トルクリップルの発生が抑制される。
この実施形態では、電流制御周期Ta内に含まれる複数のPWM周期Tc毎に二相電流指令値I
dqi*を設定し、オープンループ制御によってPWM周期Tc毎の二相電流指令値I
dqi*に対する二相電圧指令値V
dqi*を演算しているので、電流制御周期Ta内に複数のPWM周期Tcが含まれる場合でも、PWM周期Tc毎に二相電流指令値I
dqi*が変化するような電流制御が可能となる。これにより、電流制御周期Ta内に複数のPWM周期Tcが含まれる場合でも、トルクリップル補償のように、ロータ回転角に応じてPWM周期単位で二相電流指令値I
dqi*を変化させるようなモータ制御を行えるようになる。
【0044】
以上、この発明の実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、オープンループ制御パラメータである電機子巻線抵抗Rおよび電機子鎖交磁束Φは、オープンループ制御パラメータ補償部44によって補償されているが、このような補償は行われなくてもよい。
前述のような電機子巻線抵抗Rおよび電機子鎖交磁束Φの補償が行われる場合において、電機子巻線抵抗Rおよび電機子鎖交磁束Φの精度が低い起動時には、フィードバック制御によって電動モータ18を制御するようにしてもよい。この場合、フィードバック制御を行っているときには、ロータ回転角によって二相電流指令値I
dqi*を変化させる制御は行われないようにする。
【0045】
前述の実施形態では、この発明を電動パワーステアリング装置のモータ制御装置に適用した場合について説明したが、この発明は、電動パワーステアリング装置以外に用いられるモータ制御装置にも適用することができる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。