(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に与えられた操舵トルクを検出する。トルクセンサ11によって検出される操舵トルクは、ECU(電子制御ユニット:Electronic Control Unit)12に入力される。
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13は、ステアリングホイール2の操舵に連動して回転するようになっている。ピニオン軸13の先端には、ピニオン16が連結されている。
【0018】
ラック軸14は、自動車の左右方向(直進方向に直交する方向)に沿って直線状に延びている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
【0019】
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。
操舵補助機構5は、操舵補助用の電動モータ18と、電動モータ18の出力トルクを転舵機構4に伝達するための減速機構19とを含む。電動モータ18は、この実施形態では、シンクロナスリラクタンスモータ(SynRM)からなる。減速機構19は、ウォーム軸20と、このウォーム軸20と噛み合うウォームホイール21とを含むウォームギヤ機構からなる。減速機構19は、伝達機構ハウジングとしてのギヤハウジング22内に収容されている。
【0020】
ウォーム軸20は、電動モータ18によって回転駆動される。また、ウォームホイール21は、ステアリングシャフト6とは同方向に回転可能に連結されている。ウォームホイール21は、ウォーム軸20によって回転駆動される。
電動モータ18によってウォーム軸20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォーム軸20を回転駆動することによって、転舵輪3が転舵されるようになっている。
【0021】
電動モータ18のロータの回転角(ロータ回転角)は、レゾルバ等の回転角センサ25によって検出される。回転角センサ25の出力信号は、ECU12に入力される。電動モータ18は、モータ制御装置としてのECU12によって制御される。
図2は、ECU12の電気的構成を示す概略図である。
ECU12は、トルクセンサ11によって検出される操舵トルクThに応じて電動モータ18を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。
【0022】
電動モータ18は、前述したようにシンクロナスリラクタンスモータであり、
図3に図解的に示すように、周方向に間隔をおいて配置された複数の突極部を有するロータ100と、電機子巻線を有するステータ105とを備えている。電機子巻線は、U相のステータ巻線101、V相のステータ巻線102およびW相のステータ巻線103が星型結線されることにより構成されている。
【0023】
各相のステータ巻線101,102,103の方向にU軸、V軸およびW軸をとった三相固定座標(UVW座標系)が定義される。また、ロータ100の回転中心側から外周部へ磁束の流れやすい突極部の方向にd軸方向をとり、ロータ100の回転中心側から外周部へ磁束が流れにくい非突極部の方向にq軸方向をとった二相回転座標系(dq座標系。実回転座標系)が定義される。dq座標系は、ロータ100の回転角(ロータ回転角)θに従う実回転座標系である。ロータ回転角θ(電気角)は、この実施形態では、隣接する2つの突起部(d軸)のうちの基準となる一方の突極部(d軸)のU軸から反時計回りの回転角として定義される。基準となる前記一方の突極部の方向を+d軸方向といい、それに隣接する他方の突極部の方向を−d軸方向ということにする。+d軸に対して電気角で+90度回転した軸を+q軸とい、+d軸に対して電気角で−90度回転した軸を−q軸ということにする。ロータ100(突極部)に生じる磁極(N極およびS極)は、dq座標系における電流ベクトルI
aの方向によって決定される。この実施形態では、電動モータ18の正転方向は、
図3におけるロータ100の反時計方向に対応し、電動モータ18の逆転方向は、
図3におけるロータ100の時計方向に対応するものとする。
【0024】
通常は、ロータ回転角θを用いることによって、UVW座標系とdq座標系との間での座標変換が行われる(たとえば、特開2009−137323号公報の式(1),(2)参照)。ただし、この実施形態では、後述するように、ロータ回転角θの代わりに、座標変換用回転角δ(=θ+α)を用いて座標変換が行われる。ただし、αは変数である。この実施形態では、αは、−45°≦α≦+45°の範囲内の変数である。
【0025】
図3において、I
aは、回転磁界をつくるための電流ベクトル(電機子電流ベクトル)である。βは電流位相角であり、電機子電流ベクトルI
aとd軸との位相差である。
ECU12は、マイクロコンピュータ31と、このマイクロコンピュータ31によって制御され、電動モータ18に電力を供給する駆動回路(インバータ回路)32と、電動モータ18の各相のステータ巻線101,102,103に流れる電流を検出する電流検出部33とを備えている。
【0026】
電流検出部33は、電動モータ18の各相のステータ巻線に流れる相電流i
U,i
V,i
W(以下、総称するときには「三相検出電流i
U,i
V,i
W」という)を検出する。これらは、UVW座標系における各座標軸方向の電流値である。
マイクロコンピュータ31は、CPUおよびメモリ(ROM,RAMなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値設定部41と、電流位相角演算部42と、d軸電流指令値演算部43と、q軸電流指令値演算部44と、d軸電流偏差演算部45と、q軸電流偏差演算部46と、d軸PI(比例積分)制御部47と、q軸PI(比例積分)制御部48と、d軸指示電圧生成部49と、q軸指示電圧生成部50と、二相/三相座標変換部51と、PWM制御部52と、回転角演算部53と、座標変換用回転角設定部54と、三相/二相座標変換部55とが含まれている。
【0027】
電流指令値設定部41は、電動モータ18の電機子電流の指令値である電流指令値I
a*を設定する。具体的には、電流指令値設定部41は、トルクセンサ11によって検出される操舵トルク(検出操舵トルクTh)の絶対値|Th|に基づいて電流指令値I
a*を設定する。検出操舵トルクThは、たとえば左方向への操舵のためのトルクが正の値にとられ、右方向への操舵のためのトルクが負の値にとられている。左方向への操舵を補助するためのモータトルクの方向は、電動モータ18の正転方向に対応し、右方向への操舵を補助するためのモータトルクの方向は、電動モータ18の逆転方向に対応するものとする。
【0028】
検出操舵トルクThの絶対値|Th|に対する電流指令値I
a*の設定例は、
図4に示されている。電流指令値I
a*は、0または正の値をとり、検出操舵トルクThの絶対値|Th|が大きくなるほど大きな値に設定される。これにより、検出操舵トルクThの絶対値|Th|が大きくなるほど、操舵補助力を大きくすることができる。
電流指令値設定部41は、たとえば、
図4に示されるような操舵トルクThの絶対値|Th|と電流指令値I
a*との関係を記憶したマップまたはそれらの関係を表す演算式を用いて、操舵トルクThの絶対値|Th|に応じた電流指令値I
a*を設定する。電流指令値設定部41によって設定された電流指令値I
a*は、電流位相角演算部42に与えられるとともに、d軸電流指令値演算部43およびq軸電流指令値演算部44に与えられる。
【0029】
電流位相角演算部42は、電流指令値設定部41から与えられた電流指令値I
a*と予め設定された電流位相角演算式とに基づいて、当該電流指令値I
a*に対してモータトルクが最大値に近い値となる電流位相角β(電気角)[deg]を演算する。電流位相角演算式の作成方法について説明する。
電動モータ18を高効率で駆動するためには、電機子電流に対するモータトルクの比が大きくなるように電動モータ18を制御すればよい。
【0030】
極対数がP
nであるシンクロナスリラクタンスモータにおけるモータトルクTは、次式(3)で表される。
T=P
n・(L
d−L
q)・i
d・i
q …(3)
L
dはd軸インダクタンス[H]であり、L
qはq軸インダクタンス[H]である。また、i
dはd軸電流[A]であり、i
qはq軸電流[A]である。
【0031】
電機子電流の大きさをI
a[A]とし、電流位相差をβ[deg]とすると、i
q=I
a・sinβ,i
d=I
a・cosβとなるので、モータトルクTは、次式(4)で表される。なお、電流位相差βは、回転磁界をつくるための電流ベクトル(電機子電流ベクトル)とd軸との位相差である。
T=(1/2)・P
n・(L
d−L
q)・I
a2sin2β …(4)
したがって、d軸インダクタンスL
dおよびq軸インダクタンスL
qが電流位相角βによって変動しなければ、電流位相角βが45[deg]のときにモータトルクTは最大となる。しかしながら、SynRMでは、d軸インダクタンスL
dおよびq軸インダクタンスL
qがロータコアの磁気飽和の影響を受けて変動するため、モータトルクTは電流位相角βが45[deg]のときに必ずしも最大にならない。
【0032】
そこで、この実施形態では、電動モータ18に対して予め実験を行うことにより、使用する電機子電流I
a(電流指令値I
a*)の範囲において、複数の電機子電流I
a毎に電流位相角βに対するモータトルクTの特性データを取得する。
図5は、複数の電機子電流I
a毎に取得した電流位相角βに対するモータトルクTの特性データの一例を示すグラフである。
図5の特性データは、前記非特許文献1に掲載のデータを転用したものである。
図5では、横軸に電流位相角βをとり、縦軸にモータトルクTをとり、各電機子電流I
aの電流位相角βに対するモータトルクTの特性を、それぞれ曲線で表している。
【0033】
図5のグラフにおいて、各電機子電流I
aに対応する電流位相角−モータトルク特性曲線上の最大トルク値を結ぶ曲線を直線近似することにより、電機子電流I
aとその電機子電流I
aに対してモータトルクが最大値に近い値となる電流位相角βとの関係を表す近似式を求める。具体的には、次式(5)に基づいて、電機子電流I
aと電流位相角βとの関係を表す近似式を求める。なお、電機子電流I
aが零のときにモータトルクが最大となる電流位相角βは45度になるものとする。
【0034】
β={(β
max−β
min)/I
amax}・I
a+β
min …(5)
I
amaxは、電機子電流I
aの最大値(電流指令値I
a*の最大値)であり、この例では、I
amax=50[A]である。β
maxは、電機子電流I
aが最大値I
amaxである場合に、モータトルクTが最大値となる電流位相角βであり、この例では、β
max=66[deg]であるとする。β
minは、電機子電流I
aが最小値(零)である場合に、モータトルクTが最大値となる電流位相角βであり、この例では、β
min=45[deg]であるとする。
【0035】
前記式(5)に、I
amax=50[A]、β
max=66[deg]およびβ
max=45[deg]を代入すると、次式(6)で表されるような近似式が得られる。
β=(21/50)・I
a+45 …(6)
図6の折れ線aは、各電機子電流I
aに対してモータトルクTが最大となる電流位相角βの実測データを示すグラフである。
図6の直線bは、前記式(6)で表される近似直線を示している。
【0036】
前記近似式(6)内のI
aを電流指令値I
a*に置き換えることにより、次式(7)で示されるように、電流指令値I
a*から電流位相角βを演算するための演算式(電流位相角演算式)が得られる。
β=(21/50)・I
a*+45 …(7)
したがって、この実施形態では、βは45[deg]以上66[deg]以下の角度となる。
【0037】
電流位相角演算部42には、前述のようにして求められた電流位相角演算式(例えば前記式(7))が予め設定されている。電流位相角演算部42は、予め設定されている電流位相角演算式と、電流指令値設定部41から与えられた電流指令値I
a*とに基づいて、電流指令値I
a*に対してモータトルクが最大値に近い値となる電流位相角βを演算する。電流位相角演算部42によって演算された電流位相角βは、d軸電流指令値演算部43およびq軸電流指令値演算部44に与えられる。
【0038】
d軸電流指令値演算部43は、電流指令値設定部41から与えられた電機子電流指令値I
a*と電流位相角演算部42から与えられた電流位相角βとを用い、次式(8)に基づいてd軸電流の指令値i
d*を演算する。
i
d*=I
a*・cosβ …(8)
q軸電流指令値生成部44は、電流指令値設定部41から与えられた電機子電流指令値I
a*と電流位相角演算部42から与えられた電流位相角βとを用い、次式(9)に基づいてq軸電流の指令値i
q*を演算する。
【0039】
i
q*=I
a*・sinβ …(9)
前述したように、この実施形態では、I
a*は零以上の値(I
a*≧0)であり、βは45[deg]以上66[deg]以下の角度(45≦β≦66)である。したがって、この実施形態では、d軸電流の指令値i
d*およびq軸電流の指令値i
q*は、I
a*≧0でかつ45≦β≦66で規定される所定の範囲内の値となる。
【0040】
d軸電流指令値i
d*およびq軸電流指令値i
q*を総称して、「二相指示電流i
d*,i
q*」という場合がある。
回転角演算部53は、回転角センサ25の出力信号に基づいて、電動モータ18のロータの回転角(ロータ回転角)θを演算する。
座標変換用回転角設定部54は、回転角演算部53によって演算されたロータ回転角θと、トルクセンサ11によって検出される検出操舵トルクThとに基づいて、座標変換用回転角δを演算する。座標変換用回転角設定部54の動作の詳細について後述する。
【0041】
電流検出部33によって検出された三相検出電流i
U,i
V,i
Wは、三相/二相座標変換部55に与えられる。三相/二相座標変換部55は、座標変換用回転角設定部55によって演算された座標変換用回転角δをロータ回転角θの代わりに用いて、三相検出電流i
U,i
V,i
Wをd軸電流i
dおよびq軸電流i
qに変換する。以下、d軸電流i
dおよびq軸電流i
qを総称するときには「二相検出電流i
d,i
q」という。
【0042】
三相/二相座標変換部55によって得られたd軸電流i
dは、d軸電流偏差演算部45に与えられる。三相/二相座標変換部55によって得られたq軸電流i
qは、q軸電流偏差演算部46に与えられる。
d軸電流偏差演算部45は、d軸電流指令値i
d*に対するd軸電流i
dの偏差を演算する。d軸電流偏差演算部45によって演算された電流偏差は、d軸PI制御部47に与えられて、PI演算処理を受ける。d軸指示電圧生成部49は、d軸PI制御部47の演算結果に応じて、d軸指示電圧v
d*を生成する。
【0043】
q軸電流偏差演算部46は、q軸電流指令値i
q*に対するq軸電流i
qの偏差を演算する。q軸電流偏差演算部46によって演算された電流偏差は、q軸PI制御部48に与えられて、PI演算処理を受ける。q軸指示電圧生成部50は、q軸PI制御部48の演算結果に応じて、q軸指示電圧v
q*を生成する。以下、d軸指示電圧v
d*およびq軸指示電圧v
q*を総称するときには「二相指示電圧v
d*,v
q*」という。
【0044】
二相指示電圧v
d*,v
q*は、二相/三相座標変換部51に与えられる。二相/三相座標変換部51は、座標変換用回転角設定部54によって演算された座標変換用回転角δをロータ回転角θの代わりに用いて、d軸指示電圧v
d*およびq軸指示電圧v
q*を、U相,V相およびW相の指示電圧v
U*,v
V*,v
W*に変換する。以下、U相,V相およびW相の指示電圧v
U*,v
V*,v
W*を総称するときには「三相指示電圧v
U*,v
V*,v
W*」という。
【0045】
PWM制御部52は、U相指示電圧v
U*、V相指示電圧v
V*およびW相指示電圧v
W*にそれぞれ対応するデューティ比のU相PWM制御信号、V相PWM制御信号およびW相PWM制御信号を生成し、駆動回路32に供給する。
駆動回路32は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM制御部52から与えられるPWM制御信号によって制御されることにより、三相指示電圧v
U*,v
V*,v
W*に相当する電圧が電動モータ18の各相のステータ巻線に印加されることになる。
【0046】
電流偏差演算部45,46およびPI制御部47,48は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ18に流れるモータ電流が、d軸およびq軸電流指令値演算部43,44によって演算される二相指示電流i
d*,i
q*に近づくように制御される。
次に、座標変換用回転角設定部54の動作について詳しく説明する。座標変換用回転角設定部54は、座標変換用回転角δを設定する。座標変換用回転角δは、回転角演算部53によって演算されるロータ回転角をθとし、αを変数とすると、次式(10)で表わされる。
【0047】
δ=θ+α …(10)
座標変換用回転角設定部54は、電動モータ18が起動されるときには、回転すべき方向に電動モータ18を確実に回転させるような値にαを設定する。具体的には、起動時において、回転すべき方向が左操舵方向に対応する正転方向である場合には、座標変換用回転角設定部54は、αを−45°に設定する。つまり、座標変換用回転角δを(θ−45°)とする。一方、起動時において、回転すべき方向が右操舵方向に対応する逆転方向である場合には、座標変換用回転角設定部54は、αを+45°に設定する。つまり、座標変換用回転角δを(θ+45°)とする。起動後においては、座標変換用回転角設定部54は、座標変換用回転角δを本来のロータ回転角θにするために、αの値が0になるまでαの絶対値を徐々に小さくする(漸減する)。
【0048】
以下、
図7〜
図9を参照して、起動時にαを−45°または+45°に設定している理由について説明する。
図7は、各座標変換部51,55が、回転角演算部53によって演算されたロータ回転角θをそのまま用いて座標変換した場合に発生する電機子電流ベクトルI
aを示している。この場合には、d軸電流成分i
dがd軸電流指令値i
d*(≧0)に等しくなりかつq軸電流成分i
qがq軸電流指令値i
q*(≧0)に等しくなるように電流制御が行われるので、電機子電流I
aは
図7に示すようになる。つまり、電機子電流ベクトルI
aと+d軸とのなす角度βは、電流位相角演算部42によって演算された電流位相角β(45°≦β≦66°)となる。
【0049】
ロータ100には磁石が設けられてないので電動モータ18が駆動されていないときには無極性である。ステータ巻線101〜103に電流が流れるとロータ100に磁界が発生する。この際、ロータ100の極性は、ステータ巻線101〜103に流れる電流の方向によって決まる。
図7において、電機子電流ベクトルI
aの終点がdq座標系の第1象限または第4象限にある場合には、ロータ100における+d軸方向に対応する突極部の極性がN極となり、−d軸方向に対応する突極部の極性がS極となる。電機子電流ベクトルI
aの終点がdq座標系の第2象限または第3象限にある場合には、ロータ100における+d軸方向に対応する突極部の極性がS極となり、−d軸方向に対応する突極部の極性がN極となる。
【0050】
そして、極性がN極である突極部が、電機子電流ベクトルI
a側に引き付けられる。したがって、
図7の例では、+d軸方向に対応する突極部が矢印Aで示すように電機子電流ベクトルI
a側に引き付けられるので、ロータ100は反時計方向(正転方向)に回転する。
次に、d軸電流指令値i
d*およびq軸電流指令値i
q*を
図7の場合と同じ大きさとし、座標変換用回転角δが(θ+45°)に設定された場合(α=+45°に設定された場合)を想定する。この場合、各座標変換部51,55は、ロータ回転角θの代わりに(θ+45°)を用いて座標変換を行う。つまり、各座標変換部51,55は、
図8に示すように、d軸を+45度回転させたd’軸((d+45°)軸)と、q軸を+45度回転させたq’軸((q+45°)軸)とからなるd’ q’座標系で、座標変換を行うことになる。この際、d軸電流指令値i
d*の大きさがd’軸電流成分i
d’となり、q軸電流指令値i
d*の大きさがq’軸 電流成分i
q’となるから、電機子電流ベクトルI
aは
図8に示すようになる。
【0051】
この電機子電流ベクトルI
aの終点はdq座標系の第2象限にあるので、ロータ100における+d軸方向に対応する突極部の極性がS極となり、−d軸方向に対応する突極部の極性がN極となる。したがって、−d軸方向に対応する突極部が矢印Bで示すように電機子電流ベクトルI
a側に引き付けられるのでロータ100は時計方向(逆転方向)に回転する。したがって、起動時において、回転すべき方向が逆転方向である場合に、座標変換用回転角δが(θ+45°)に設定されることにより、電動モータ18を確実に、逆転方向に回転させることができる。
【0052】
次に、d軸電流指令値i
d*およびq軸電流指令値i
q*を
図7の場合と同じ大きさとし、座標変換用回転角δが(θ−45°)に設定された場合(α=−45°に設定された場合)を想定する。この場合、各座標変換部51,55は、ロータ回転角θの代わりに(θ−45°)を用いて座標変換を行う。つまり、各座標変換部51,55は、
図9に示すように、d軸を−45度回転させたd”軸((d−45°)軸)と、q軸を−45度回転させたq”軸((q−45°)軸)とからなるd” q”座標系で、座標変換を行うことになる。この際、d軸電流指令値i
d*の大きさがd”軸電流成分i
d”となり、q軸電流指令値i
d*の大きさがq”軸 電流成分i
q”となるから、電機子電流ベクトルI
aは
図9に示すようになる。
【0053】
この電機子電流ベクトルI
aの終点はdq座標系の第1象限にあるので、ロータ100における+d軸方向に対応する突極部の極性がN極となり、−d軸方向に対応する突極部の極性がS極となる。したがって、+d軸方向に対応する突極部が矢印Cで示すように電機子電流ベクトルI
a側に引き付けられるのでロータ100は反時計方向(正転方向)に回転する。したがって、起動時において、回転すべき方向が正転方向である場合に、座標変換用回転角δが(θ−45°)に設定されることにより、電動モータ18を確実に、正転方向に回転させることができる。
【0054】
このようにして、電動モータ18が起動された後においては、電動モータ18の駆動効率を高めるために、座標変換用回転角δがロータ回転角θとなるように、αの値を零に徐々に近づけている。
図10および
図11は、座標変換用回転角設定部54の動作を示すフローチャートである。
図10は、主として、起動時においてαの値を電動モータ18を回転させるべき方向に応じた所定角度に設定するための処理の手順を示すフローチャートである。
図11は、起動後においてαの絶対値を漸減するための処理の手順を示すフローチャートである。
【0055】
まず、
図10の処理について説明する。この処理は、所定の演算周期毎に繰り返し実行される。
座標変換用回転角設定部54は、検出操舵トルクThに基づいて、制御モードが、停止モード、右操舵モードおよび左操舵モードのうちのいずれであるかを判別する(ステップS1)。停止モードは、電動モータ18を停止させるモードである。右操舵モードは、電動モータ18を右操舵方向(逆転方向)に回転させるモードである。左操舵モードは、電動モータ18を左操舵方向(正転方向)に回転させるモードである。
【0056】
具体的には、座標変換用回転角設定部54は、検出操舵トルクThが0であれば、制御モードが停止モードであると判別する。検出操舵トルクThが0より大きければ、座標変換用回転角設定部54は、制御モードが左操舵モードであると判別する。検出操舵トルクThが0より小さければ、座標変換用回転角設定部54は、制御モードが右操舵モードであると判別する。
【0057】
ステップS1において、制御モードが停止モードであると判別された場合には(Th=0)、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、停止モードを表す値“0”に設定する(ステップS2)。なお、モードフラグの今回値F(n)の初期値は、“0”である。次に、座標変換用回転角設定部54は、αの値を0に設定する(ステップS3)。そして、座標変換用回転角設定部54は、ステップS10に進み、回転角演算部53で演算されたロータ回転角θにαを加算することにより、座標変換用回転角δを演算する。この後、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、モードフラグの前回値F(n−1)として設定する(ステップS11)。そして、今演算周期での処理を終了する。
【0058】
前記ステップS1において、制御モードが左操舵モードであると判別された場合には(Th>0)、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、左操舵モードを表す値“1”に設定する(ステップS4)。次に、座標変換用回転角設定部54は、モードフラグの前回値F(n−1)が0であるか否かを判別する(ステップS5)。モードフラグの前回値F(n−1)が0である場合には(ステップS5:YES)、座標変換用回転角設定部54は、制御モードが停止モードから左操舵モードに切換ったと判別し、αの値を−45°に設定する(ステップS6)。そして、座標変換用回転角設定部54は、ステップS10に進み、回転角演算部で演算されたロータ回転角θにαを加算することにより、座標変換用回転角δを演算する。この場合、座標変換用回転角δは、(θ−45°)となる。この後、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、モードフラグの前回値F(n−1)として設定する(ステップS11)。そして、今演算周期での処理を終了する。
【0059】
前記ステップS5において、モードフラグの前回値F(n−1)が0でない場合には(ステップS5:NO)、座標変換用回転角設定部54は、前回における制御モードが左操舵モードであり、制御モードが切換っていないと判別し、ステップS11に移行する。ステップS11では、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、モードフラグの前回値F(n−1)として設定する。そして、今演算周期での処理を終了する。
この場合には、座標変換用回転角δを設定するためのステップS10の処理は行われない。
【0060】
前記ステップS1において、制御モードが右操舵モードであると判別された場合には(Th<0)、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、右操舵モードを表す値“2”に設定する(ステップS7)。次に、座標変換用回転角設定部54は、モードフラグの前回値F(n−1)が0であるか否かを判別する(ステップS8)。モードフラグの前回値F(n−1)が0である場合には(ステップS8:YES)、座標変換用回転角設定部54は、制御モードが停止モードから右操舵モードに切換ったと判別し、αの値を45°に設定する(ステップS9)。そして、座標変換用回転角設定部54は、ステップS10に進み、回転角演算部で演算されたロータ回転角θにαを加算することにより、座標変換用回転角δを演算する。この場合、座標変換用回転角δは、(θ+45°)となる。この後、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、モードフラグの前回値F(n−1)として設定する(ステップS11)。そして、今演算周期での処理を終了する。
【0061】
前記ステップS8において、モードフラグの前回値F(n−1)が0でない場合には(ステップS8:NO)、座標変換用回転角設定部54は、前回における制御モードが右操舵モードであり、制御モードが切換っていないと判別し、ステップS11に移行する。ステップS11では、座標変換用回転角設定部54は、モードフラグの今回値F(n)を、モードフラグの前回値F(n−1)として設定する。そして、今演算周期での処理を終了する。
この場合には、座標変換用回転角δを設定するためのステップS10の処理は行われない。
【0062】
次に、
図11の処理について説明する。この処理は、所定の演算周期毎に繰り返し実行される。
座標変換用回転角設定部54は、αの値が0°あるか否かを判別する(ステップS21)。αの値が0°である場合には(ステップS21:YES)、今演算周期での処理を終了する。この場合には、αの値は変更されない。
【0063】
前記ステップS21において、αの値が0°でないと判別された場合には(ステップS21:NO)、座標変換用回転角設定部54は、αの値が0°より大きいか否かを判別する(ステップS22)。αの値が0°より大きい場合には(ステップS22:YES)、座標変換用回転角設定部54は、αの値を徐々に0°に近づけるために、αの値を1だけ小さい値に設定する(ステップS23)。そして、今演算周期での処理を終了する。
【0064】
前記ステップS22において、αの値が0°より小さいと判別された場合には(ステップS22:NO)、座標変換用回転角設定部54は、αの値を徐々に0°に近づけるために、αの値を1だけ大きい値に設定する(ステップS24)。そして、今演算周期での処理を終了する。
検出操舵トルクThが0である場合には、αの値が0°にされる(
図10のステップS1〜S3参照)ので、座標変換用回転角δはロータ回転角θと等しくなる(
図10のステップS10参照)。
【0065】
検出操舵トルクThが0である状態から正の値に変化したときには、
図10のステップS1からステップS4に進み、モードフラグの今回値F(n)が左操舵モードを表す値“1”に設定される。この後、ステップS6に進み、αの値が−45°に設定される。そして、座標変換用回転角δが(θ−45°)に設定された後、モードフラグの今回値F(n)が前回値F(n−1)とされる(ステップS10,S11参照)。座標変換用回転角δが(θ−45°)に設定されるので、電動モータ18が正転方向に確実に起動される。電動モータ18が起動された後は、
図11の処理によって、αの絶対値が漸減されるので(ステップS21,S22,S24参照)、座標変換用回転角δはロータ回転角θに徐々に近づいていく。そして、αの値が零になると、座標変換用回転角δはロータ回転角θと等しくなる。これにより、起動後においては、電動モータ18を効率よく駆動することができる。
【0066】
検出操舵トルクThが0である状態から負の値に変化したときには、
図10のステップS1からステップS7に進み、モードフラグの今回値F(n)が右操舵モードを表す値“2”に設定される。この後、ステップS9に進み、αの値が45°に設定される。そして、座標変換用回転角δが(θ+45°)に設定された後、モードフラグの今回値F(n)が前回値F(n−1)とされる(ステップS10,S11参照)。座標変換用回転角δが(θ+45°)に設定されるので、電動モータ18が逆転方向に確実に起動される。電動モータ18が起動された後は、
図11の処理によって、αの絶対値が漸減されるので(ステップS21,S22,S23参照)、座標変換用回転角δがロータ回転角θに徐々に近づいていく。そして、αの値が零になると、座標変換用回転角δはロータ回転角θと等しくなる。これにより、起動後においては、電動モータ18を効率よく駆動することができる。
【0067】
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、βが45[deg]以上66[deg]以下の角度となるように、d軸電流の指令値i
d*およびq軸電流の指令値i
q*が設定されているが、
βが45[deg]以上90[deg]以下の角度となるように、d軸電流の指令値i
d*およびq軸電流の指令値i
q*が設定されてもよい。また、βが0[deg]以上45[deg]以下の角度となるように、d軸電流の指令値i
d*およびq軸電流の指令値i
q*が設定されてもよい。
【0068】
また、前述の実施形態では、電流位相角演算部42は、電流指令値設定部41から与えられた電流指令値I
a*と、予め設定された電流位相角演算式(例えば式(7)参照)とに基づいて、当該電流指令値I
a*に対してモータトルクが最大値に近い値となる電流位相角βを演算している。しかし、電流位相角演算部42は、前記電流位相角演算式によって表される電流指令値I
a*と電流位相角βとの関係を記憶したマップと、電流指令値設定部41から与えられた電流指令値I
a*とに基づいて、当該電流指令値I
a*に対してモータトルクが最大値に近い値となる電流位相角βを演算してもよい。
【0069】
また、前述の実施形態では、前記式(5)に基づいて、各電機子電流I
aに対応する電流位相角−モータトルク特性曲線上の最大トルク値を結ぶ曲線を直線近似し、得られた近似式に基づいて電流位相角演算式を求めている。しかし、最小二乗法等の他の方法によって、各電機子電流I
aに対応する電流位相角−モータトルク特性曲線上の最大トルク値を結ぶ曲線を直線近似し、得られた近似式に基づいて電流位相角演算式を求めるようにしてもよい。
【0070】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。