(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-06
(45)【発行日】2024-03-14
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
H02P 21/22 20160101AFI20240307BHJP
【FI】
H02P21/22
(21)【出願番号】P 2020099541
(22)【出願日】2020-06-08
【審査請求日】2023-05-17
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(72)【発明者】
【氏名】岩井 悠太
【審査官】安池 一貴
(56)【参考文献】
【文献】国際公開第2019/017231(WO,A1)
【文献】特開2018-042324(JP,A)
【文献】特開2020-005388(JP,A)
【文献】特開2018-042354(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 21/22
(57)【特許請求の範囲】
【請求項1】
リラクタンストルク利用モータを制御する制御装置であって、
前記モータに発生させるべきモータトルクの指令値であるモータトルク指令値を設定する第1設定部と、
前記モータの回転速度を検出する回転速度検出部と、
前記回転速度および前記モータトルク指令値に基づき、電機子電流指令値および電流位相角指令値を設定する第2設定部と、
前記電機子電流指令値および前記電流位相角指令値に基づき、d軸電流指令値およびq軸電流指令値を設定する電流ベクトル設定部と、
前記d軸電流指令値および前記q軸電流指令値に基づき、前記モータを駆動する駆動部とを備え、
前記第2設定部は、d軸電流を横軸に取り、q軸電流を縦軸に取ったd-q座標系において、前記d軸電流指令値および前記q軸電流指令値により設定される電機子電流ベクトルが、最大トルク/電流制御における電機子電流ベクトル軌跡と前記縦軸とに囲まれた領域に含まれるように、前記電機子電流指令値および前記電流位相角指令値を設定する、モータ制御装置。
【請求項2】
電機子電流指令値と、その電機子電流指令値においてモータトルクが最大となる電流位相角指令値との組合せに対して、前記モータから発生するモータトルクを記憶した第1テーブルと、
前記モータの回転速度毎に、電圧制限楕円上の複数の動作点に対する電機子電流指令値、電流位相角指令値およびモータトルクを関連付けて記憶した第2テーブルとを含み、
前記第2設定部は、
前記モータトルク指令値および前記第1テーブルに基づき、第1候補の電機子電流指令値および電流位相角指令値を求めるとともに、前記回転速度、前記モータトルク指令値および前記第2テーブルに基づき、第2候補の電機子電流指令値および電流位相角指令値を求め、
前記第1候補の電流位相角指令値が前記第2候補の電流位相角指令値以上である場合には、前記第1候補の電機子電流指令値および電流位相角指令値を指令値として設定し、前記第1候補の電流位相角指令値が前記第2候補の電流位相角指令値未満である場合には、前記第2候補の電機子電流指令値および電流位相角指令値を指令値として設定するように構成されている、請求項1に記載のモータ制御装置。
【請求項3】
前記モータのある回転速度に対応する前記電圧制限楕円上の複数の動作点は、当該回転速度においてモータトルクが最大となる動作点を含む、請求項2に記載のモータ制御装置。
【請求項4】
電機子電流指令値と、その電機子電流指令値においてモータトルクが最大となる電流位相角指令値との組合せに対して、前記モータから発生するモータトルクを記憶した第1テーブルと、
前記モータの回転速度毎に、当該回転速度においてモータトルクが最大となる第1動作点と、前記モータの端子間電圧が低下した場合に前記第1動作点から動作点が移動する方向に設定される複数の第2動作点と、からなる複数の第3動作点に対する電機子電流指令値、電流位相角指令値およびモータトルクを関連付けて記憶した第3テーブルとを含み、
前記第2設定部は、
前記回転速度が所定値以下であるときには、前記モータトルク指令値および前記第1テーブルに基づいて、電機子電流指令値および電流位相角指令値を設定し、
前記回転速度が所定値よりも大きいときには、前記回転速度、前記モータトルク指令値および前記第3テーブルに基づき、電機子電流指令値および電流位相角指令値を設定する
ように構成されている、請求項1に記載のモータ制御装置。
【請求項5】
前記d-q座標系において、前記d-q座標系の原点または当該原点の近い所定の点を収束点として、前記回転速度毎に、当該回転速度における前記第1動作点と前記収束点とを結ぶ直線上に、前記複数の第3動作点が設定される、請求項4に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、リラクタンストルクを利用してロータを回転させるモータ(以下、「リラクタンストルク利用モータ」という場合がある。)を制御するモータ制御装置に関する。リラクタンストルク利用モータには、リラクタンストルクのみを利用してロータを回転させるリラクタンスモータの他、リラクタンストルクと磁石トルクとを利用してロータを回転させるモータも含まれる。
【背景技術】
【0002】
リラクタンストルクのみを利用して、ロータを回転させるリラクタンスモータが知られている。リラクタンスモータには、ステータおよびロータが突極部を有するスイッチトリラクタンスモータ(SRM:Switched Reluctance Motor)と、ステータがブラシレスモータと同様の構造のシンクロナスリラクタンスモータ(SynRM:Synchronous Reluctance Motor)とがある。
【0003】
シンクロナスリラクタンスモータは、ステータおよびロータのうち、ロータのみに突極部を有している。シンクロナスリラクタンスモータでは、ロータの突極部により、磁束の流れやすい突極部の方向(以下、「d軸方向」という。)と磁束が流れにくい非突極部の方向(以下、「q軸方向」という。)とがある。このため、d軸方向のインダクタンス(以下、「d軸インダクタンスLd」という。)とq軸方向のインダクタンス(以下、「q軸インダクタンスLq」という。)の差(Ld-Lq)によりリラクタンストルクが発生し、このリラクタンストルクによってロータが回転する。
【0004】
特許文献1には、シンクロナスリラクタンスモータを制御する方法として、最大トルクテーブルを用いた最大トルク/電流制御と、高出力テーブルを用いた最大出力/速度制御とを、回転速度に応じて切り替える制御方法が開示されている。
最大トルクテーブルには、電機子電流指令値毎に、電機子電流指令値とその電機子電流指令値においてモータトルクが最大となる電流位相角指令値との組合せに対して、モータから発生するモータトルクが記憶されている。高出力テーブルには、モータの回転速度毎に、モータトルクが最大となる電機子電流指令値および電流位相角指令値の組み合わせが記憶されている。
【0005】
モータの回転速度が所定回転速度以下の低速回転領域にある場合(例えば定トルク領域にある場合)には、最大トルク/電流制御が行われる。具体的には、最大トルクテーブルに基づいて、モータトルク指令値に応じたモータトルクをモータから発生させるためのするため電機子電流指令値および電流位相角指令値が求められ、得られた電機子電流指令値および電流位相角指令値に基づいてモータが制御される。
【0006】
一方、モータの回転速度が所定回転速度よりも大きい高速回転領域にある場合(例えば定出力領域にある場合)には、最大出力/速度制御が行われる。具体的には、高出力テーブルに基づいて、現在の回転速度においてモータトルクが最大となる電機子電流指令値および電流位相角指令値が求められ、得られた電機子電流指令値および電流位相角指令値に基づいてモータが制御される。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【文献】長谷川 勝(中部大学)、道木 慎二(名古屋大学)、佐竹 明善(オークマ)、王 道洪(岐阜大学)、「永久磁石電動機・リラクタンスモータの駆動回路技術とドライブ制御技術 -6.リラクタンスモータ制御技術- 」、平成16年電気学会産業応用部門大会論文集、I-119~I-124(2004)
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に記載の制御方法では、最大出力/速度制御が行われる高速回転領域においては、最大トルクを出力することはできるが、モータトルク指令値に応じたモータトルクを出力することができない。
この発明の目的は、最大トルクを出力することが可能でかつ全ての回転速度領域でモータトルク指令値に応じたモータトルクを出力することが可能となるモータ制御装置を提供することである。
【課題を解決するための手段】
【0010】
請求項1に記載の発明は、リラクタンストルク利用モータを制御する制御装置であって、前記モータに発生させるべきモータトルクの指令値であるモータトルク指令値を設定する第1設定部と、前記モータの回転速度を検出する回転速度検出部と、前記回転速度および前記モータトルク指令値に基づき、電機子電流指令値および電流位相角指令値を設定する第2設定部と、前記電機子電流指令値および前記電流位相角指令値に基づき、d軸電流指令値およびq軸電流指令値を設定する電流ベクトル設定部と、前記d軸電流指令値および前記q軸電流指令値に基づき、前記モータを駆動する駆動部とを備え、前記第2設定部は、d軸電流を横軸に取り、q軸電流を縦軸に取ったd-q座標系において、前記d軸電流指令値および前記q軸電流指令値により設定される電機子電流ベクトルが、最大トルク/電流制御における電機子電流ベクトル軌跡と前記縦軸とに囲まれた領域に含まれるように、前記電機子電流指令値および前記電流位相角指令値を設定する、モータ制御装置である。
【0011】
この構成では、最大トルクを出力することが可能でかつ全ての回転速度領域でモータトルク指令値に応じたモータトルクを出力することが可能となる。
請求項2に記載の発明は、電機子電流指令値と、その電機子電流指令値においてモータトルクが最大となる電流位相角指令値との組合せに対して、前記モータから発生するモータトルクを記憶した第1テーブルと、前記モータの回転速度毎に、電圧制限楕円上の複数の動作点に対する電機子電流指令値、電流位相角指令値およびモータトルクを関連付けて記憶した第2テーブルとを含み、前記第2設定部は、前記モータトルク指令値および前記第1テーブルに基づき、第1候補の電機子電流指令値および電流位相角指令値を求めるとともに、前記回転速度、前記モータトルク指令値および前記第2テーブルに基づき、第2候補の電機子電流指令値および電流位相角指令値を求め、前記第1候補の電流位相角指令値が前記第2候補の電流位相角指令値以上である場合には、前記第1候補の電機子電流指令値および電流位相角指令値を指令値として設定し、前記第1候補の電流位相角指令値が前記第2候補の電流位相角指令値未満である場合には、前記第2候補の電機子電流指令値および電流位相角指令値を指令値として設定するように構成されている、請求項1に記載のモータ制御装置である。
【0012】
請求項3に記載の発明は、前記モータのある回転速度に対応する前記電圧制限楕円上の複数の動作点は、当該回転速度においてモータトルクが最大となる動作点を含む、請求項2に記載のモータ制御装置である。
請求項4に記載の発明は、電機子電流指令値と、その電機子電流指令値においてモータトルクが最大となる電流位相角指令値との組合せに対して、前記モータから発生するモータトルクを記憶した第1テーブルと、前記モータの回転速度毎に、当該回転速度においてモータトルクが最大となる第1動作点と、前記モータの端子間電圧が低下した場合に前記第1動作点から動作点が移動する方向に設定される複数の第2動作点と、からなる複数の第3動作点に対する電機子電流指令値、電流位相角指令値およびモータトルクを関連付けて記憶した第3テーブルとを含み、前記第2設定部は、前記回転速度が所定値以下であるときには、前記モータトルク指令値および前記第1テーブルに基づいて、電機子電流指令値および電流位相角指令値を設定し、前記回転速度が所定値よりも大きいときには、前記回転速度、前記モータトルク指令値および前記第3テーブルに基づき、電機子電流指令値および電流位相角指令値を設定するように構成されている、請求項1に記載のモータ制御装置である。
【0013】
請求項5に記載の発明は、前記d-q座標系において、前記d-q座標系の原点または当該原点の近い所定の点を収束点として、前記回転速度毎に、当該回転速度における前記第1動作点と前記収束点とを結ぶ直線上に、前記複数の第3動作点が設定される、請求項4に記載のモータ制御装置である。
【図面の簡単な説明】
【0014】
【
図1】
図1は、本発明の一実施形態に係るモータ制御装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
【
図2】
図2は、電動モータの構成を説明するための図解図である。
【
図3】
図3は、
図1のECUの電気的構成を示す概略図である。
【
図4】
図4は、検出操舵トルクT
hに対するモータトルク指令値T
s
*の設定例を示すグラフである。
【
図5】
図5は、複数の電機子電流I
a毎に取得した電流位相角βに対するモータトルクTの特性データの一例を示すグラフである。
【
図6】
図6は、指令値/最大トルクテーブル内の正転用テーブルの内容例を示す模式図である。
【
図7】
図7Aはトルク指令値テーブルの内容例を示す模式図であり、
図7Bは電流指令値テーブルの内容例を示す模式図であり、
図7Cは電流位相角指令値テーブルの内容例を示す模式図である。
【
図8】
図8は、トルク指令値テーブル、電流指令値テーブルおよび電流位相角指令値テーブルの作成方法を説明するためのグラフである。
【
図9】
図9は、電流指令値設定部の動作を説明するためのフローチャートである。
【
図10】
図10は、第2実施形態における、トルク指令値テーブル、電流指令値テーブルおよび電流位相角指令値テーブルの作成方法を説明するためのグラフである。
【
図11】
図11は、第2実施形態における電流指令値設定部の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して、この発明の実施形態について詳しく説明する。
[1]第1実施形態
図1は、本発明の第1実施形態に係るモータ制御装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置1は、車両を操向するための操舵部材としてのステアリングホイール2と、このステアリングホイール2の回転に連動して転舵輪3を転舵する転舵機構4と、運転者の操舵を補助するための操舵補助機構5とを備えている。ステアリングホイール2と転舵機構4とは、ステアリングシャフト6および中間軸7を介して機械的に連結されている。
【0016】
ステアリングシャフト6は、ステアリングホイール2に連結された入力軸8と、中間軸7に連結された出力軸9とを含む。入力軸8と出力軸9とは、トーションバー10を介して相対回転可能に連結されている。
ステアリングシャフト6の周囲には、トルクセンサ11が設けられている。トルクセンサ11は、入力軸8および出力軸9の相対回転変位量に基づいて、ステアリングホイール2に与えられた操舵トルクThを検出する。トルクセンサ11によって検出される操舵トルクThは、ECU(電子制御ユニット:Electronic Control Unit)12に入力される。
【0017】
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13の先端には、ピニオン16が連結されている。
ラック軸14は、車両の左右方向に沿って直線状に延びている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
【0018】
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。
操舵補助機構5は、操舵補助用の電動モータ18と、電動モータ18の出力トルクを転舵機構4に伝達するための減速機19とを含む。電動モータ18は、この実施形態では、シンクロナスリラクタンスモータからなる。減速機19は、ウォームギヤ20と、このウォームギヤ20と噛み合うウォームホイール21とを含むウォームギヤ機構からなる。減速機19はギヤハウジング22内に収容されている。
【0019】
ウォームギヤ20は、電動モータ18によって回転駆動される。ウォームホイール21は、ステアリングシャフト6に一体回転可能に連結されている。ウォームホイール21は、ウォームギヤ20によって回転駆動される。
電動モータ18によってウォームギヤ20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラックアンドピニオン機構により、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォームギヤ20を回転駆動することによって、電動モータ18による操舵補助が可能となっている。
【0020】
電動モータ18のロータの回転角(以下、「ロータ回転角」という。)は、レゾルバ等の回転角センサ25によって検出される。回転角センサ25の出力信号は、ECU12に入力される。電動モータ18は、モータ制御装置としてのECU12によって制御される。
図2は、電動モータ18の構成を説明するための図解図である。
【0021】
電動モータ18は、前述したようにシンクロナスリラクタンスモータであり、
図2に図解的に示すように、周方向に間隔をおいて配置された複数の突極部を有するロータ100と、電機子巻線を有するステータ105とを備えている。電機子巻線は、U相のステータコイル101、V相のステータコイル102およびW相のステータコイル103が星型結線されることにより構成されている。
【0022】
各相のステータコイル101,102,103の方向にU軸、V軸およびW軸をとった三相固定座標(UVW座標系)が定義される。また、ロータ100の回転中心側から外周部へ磁束の流れやすい突極部の方向にd軸方向をとり、ロータ100の回転中心側から外周部へ磁束が流れにくい非突極部の方向にq軸方向をとった二相回転座標系(dq座標系。実回転座標系)が定義される。dq座標系は、ロータ100の回転角(ロータ回転角)θに従う実回転座標系である。
【0023】
ロータ回転角(電気角)θは、この実施形態では、U軸から、隣接する2つの突極部(d軸)のうちの基準となる一方の突極部(d軸)までの反時計回りの回転角として定義される。基準となる前記一方の突極部の方向を+d軸方向といい、それに隣接する他方の突極部の方向を-d軸方向ということにする。+d軸に対して電気角で+90度回転した軸を+q軸といい、+d軸に対して電気角で-90度回転した軸を-q軸ということにする。ロータ100(突極部)に生じる磁極(N極およびS極)は、dq座標系における電流ベクトルI
aの方向によって決定される。この実施形態では、電動モータ18の正転方向は、
図2におけるロータ100の反時計方向(CCW)に対応し、電動モータ18の逆転方向は、
図2におけるロータ100の時計方向(CW)に対応するものとする。
【0024】
ロータ回転角θを用いることによって、UVW座標系とdq座標系との間での座標変換が行われる(例えば、特開2009-137323号公報の式(1),(2)参照)。
この明細書では、電機子巻線に流れる電流を、「電機子電流」または「モータ電流」ということにする。dq座標系における電流ベクトルIaは、電機子巻線に流れる電流のベクトル(電機子電流ベクトル)である。βは電流位相角であり、電機子電流ベクトルIaとd軸との位相差である。idはd軸電流であり、id=Ia・cosβで表される。iqは、q軸電流であり、iq=Ia・sinβで表される。
【0025】
図3は、
図1のECU12の電気的構成を示す概略図である。
ECU12は、マイクロコンピュータ31と、このマイクロコンピュータ31によって制御され、電動モータ18に電力を供給する駆動回路(インバータ回路)32と、電動モータ18に流れるU相電流、V相電流およびW相電流を検出するための電流センサ33,34,35とを備えている。
【0026】
マイクロコンピュータ31は、CPUおよびメモリを備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。メモリは、ROM、RAM、不揮発性メモリ40などを含む。複数の機能処理部には、トルク指令値設定部41と、電流指令値設定部42と、電流ベクトル演算部(電流ベクトル設定部)43と、d軸電流偏差演算部44と、q軸電流偏差演算部45と、d軸PI(比例積分)制御部46と、q軸PI(比例積分)制御部47と、電圧制限部48と、二相/三相座標変換部49と、PWM制御部50と、電流検出部51と、三相/二相座標変換部52と、回転角演算部53と、回転速度演算部54とが含まれる。
【0027】
回転角演算部53は、回転角センサ25の出力信号に基づいて、電動モータ18のロータの回転角(ロータ回転角θ)を演算する。回転角演算部53によって演算されたロータ回転角θは、回転速度演算部54および座標変換部49,52に与えられる。
回転速度演算部54は、回転角演算部53によって演算されるロータ回転角θを時間微分することにより、電動モータ18の回転速度ω[rpm]を演算する。
【0028】
電流検出部51は、電流センサ33,34,35の出力信号に基づいて、U相、V相およびW相の相電流i
U,i
V,i
W(以下、総称するときには「三相検出電流i
U,i
V,i
W」という。)を検出する。
トルク指令値設定部41は、電動モータ18によって発生させるべきモータトルクの指令値であるモータトルク指令値(以下、「トルク指令値T
s
*」という。)を設定する。具体的には、トルク指令値設定部41は、トルクセンサ11によって検出される操舵トルク(検出操舵トルクT
h)に基づいて、トルク指令値T
s
*を設定する。検出操舵トルクT
hに対するトルク指令値T
s
*の設定例は、
図4に示されている。検出操舵トルクT
hは、例えば左方向への操舵のためのトルクが正の値にとられ、右方向への操舵のためのトルクが負の値にとられている。電動モータ18の左方向への操舵を補助するためのモータトルクの方向は、電動モータ18の正転方向に対応し、右方向への操舵を補助するためのモータトルクの方向は、電動モータ18の逆転方向に対応するものとする。トルク指令値T
s
*は、電動モータ18から左方向操舵のための操舵補助力を発生させるべきときには正の値とされ、電動モータ18から右方向操舵のための操舵補助力を発生させるべきときには負の値とされる。
【0029】
トルク指令値Ts
*は、検出操舵トルクThの正の値に対しては正をとり、検出操舵トルクThの負の値に対しては負の値をとる。検出操舵トルクThが零のときには、トルク指令値Ts
*は零とされる。そして、検出操舵トルクThの絶対値が大きくなるほど、トルク指令値Ts
*の絶対値は大きな値とされる。これにより、検出操舵トルクThの絶対値が大きくなるほど、操舵補助力を大きくすることができる。
【0030】
トルク指令値設定部41は、例えば、
図4に示されるような操舵トルクT
hとトルク指令値T
s
*との関係を記憶したマップまたはそれらの関係を表す演算式を用いて、操舵トルクT
hに応じたトルク指令値T
s
*を設定する。トルク指令値設定部41によって設定されたトルク指令値T
s
*は、電流指令値設定部42および電流ベクトル演算部43に与えられる。
【0031】
不揮発性メモリ40には、指令値/最大トルクテーブル60と、速度/指令値テーブル70とが記憶されている。指令値/最大トルクテーブル60は、本発明の「第1テーブル」の一例であり、第1実施形態における速度/指令値テーブル70は、本発明の「第2テーブル」の一例である。これらのテーブル60,70の詳細については、後述する。
電流指令値設定部42は、トルク指令値Ts
*と、ロータ回転速度ωと、指令値/最大トルクテーブル60または速度/指令値テーブル70とに基づいて、電機子電流指令値Ia
*(Ia
*>0)および電流位相角指令値β*(β*>0)を設定する。電流指令値設定部42の詳細については、後述する。
【0032】
電流ベクトル演算部43は、電流指令値設定部42によって設定された電機子電流指令値Ia
*および電流位相角指令値β*と、トルク指令値Ts
*の符号とに基づいて、d軸電流指令値id
*およびq軸電流指令値iq
*を演算する。具体的には、電流ベクトル演算部43は、次式(1)に基づいて、d軸電流指令値id
*を演算する。
id
*=Ia
*・cosβ* …(1)
また、電流ベクトル演算部43は、次式(2a)または(2b)に基づいてq軸電流指令値iq
*を演算する。
【0033】
Ts
*≧0である場合 iq
*=Ia
*・sinβ* …(2a)
Ts
*<0である場合 iq
*=Ia
*・sin(-β*) …(2b)
d軸電流指令値id
*およびq軸電流指令値iq
*を総称して、「二相指示電流id
*,iq
*」という場合がある。
電流検出部51によって検出された三相検出電流iU,iV,iWは、三相/二相座標変換部52に与えられる。三相/二相座標変換部52は、回転角演算部53によって演算されたロータ回転角θを用いて、三相検出電流iU,iV,iWを、dq座標上でのd軸電流idおよびq軸電流iq(以下、総称するときには「二相検出電流id,iq」という。)に変換する。三相/二相座標変換部52によって得られたd軸電流idは、d軸電流偏差演算部44に与えられる。三相/二相座標変換部52によって得られたq軸電流iqは、q軸電流偏差演算部45に与えられる。
【0034】
d軸電流偏差演算部44は、d軸電流指令値id
*に対するd軸電流idの偏差Δid(=id
*-id)を演算する。d軸PI制御部46は、d軸電流偏差演算部44によって演算された電流偏差Δidに対してPI(比例積分)演算を行うことにより、d軸指示電圧vd’*を演算する。このd軸指示電圧vd’*は、電圧制限部48に与えられる。
q軸電流偏差演算部45は、q軸電流指令値iq
*に対するq軸電流iqの偏差Δiq(=iq
*-iq)を演算する。q軸PI制御部47は、q軸電流偏差演算部45によって演算された電流偏差Δiqに対してPI(比例積分)演算を行うことにより、q軸指示電圧vq’*を演算する。このq軸指示電圧vq’*は、電圧制限部48に与えられる。
【0035】
電圧制限部48は、電動モータ18に発生する誘起電圧が電源電圧よりも高くなって、電動モータ18に電流が流せなくなる状態(電圧飽和状態)となるのを回避するために設けられている。電圧制限部48は、例えば、d軸指示電圧vd’*を予め設定されたd軸電圧指令最大値以下に制限するとともに、q軸指示電圧vq’*を予め設定されたq軸電圧指令最大値以下に制限する。電圧制限部48による制限処理後のd軸指示電圧vd
*およびq軸指示電圧vq
*は、二相/三相座標変換部49に与えられる。
【0036】
二相/三相座標変換部49は、回転角演算部53によって演算されたロータ回転角θを用いて、d軸指示電圧vd
*およびq軸指示電圧vq
*を、U相,V相およびW相の指示電圧vU
*,vV
*,vW
*に変換する。U相,V相およびW相の指示電圧vU
*,vV
*,vW
*を総称するときには「三相指示電圧vU
*,vV
*,vW
*」という。
PWM制御部50は、U相指示電圧vU
*、V相指示電圧vV
*およびW相指示電圧vW
*にそれぞれ対応するデューティ比のU相PWM制御信号、V相PWM制御信号およびW相PWM制御信号を生成し、駆動回路32に供給する。
【0037】
駆動回路32は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM制御部50から与えられるPWM制御信号によって制御されることにより、三相指示電圧vU
*,vV
*,vW
*に相当する電圧が電動モータ18の各相のステータコイルに印加されることになる。
電流偏差演算部44,45およびPI制御部46,47は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ18に流れるモータ電流(電機子電流)が、電流ベクトル演算部43によって演算される二相指示電流id
*,iq
*に近づくように制御される。
【0038】
以下、指令値/最大トルクテーブル60と、速度/指令値テーブル70と、電流指令値設定部42とについて詳しく説明する。
まず、指令値/最大トルクテーブル60について説明する。指令値/最大トルクテーブル60は、正転(CCW)用の電機子電流・電流位相角設定テーブル(以下、「正転用テーブル61」という。)と、逆転(CW)用の電機子電流・電流位相角設定テーブル(以下、「逆転用テーブル62」という。)とを含む。
【0039】
電動モータ18を高効率で駆動するためには、電機子電流に対するモータトルクの比が大きくなるように電動モータ18を制御すればよい。
極対数がPnであるシンクロナスリラクタンスモータにおけるモータトルクTsは、次式(3)で表される。
Ts=Pn・(Ld-Lq)・id・iq …(3)
Ldはd軸インダクタンス[H]であり、Lqはq軸インダクタンス[H]である。また、idはd軸電流[A]であり、iqはq軸電流[A]である。
【0040】
電機子電流の大きさをIaとし、電流位相角をβとすると、iq=Ia・sinβ,id=Ia・cosβとなるので、モータトルクTsは、次式(4)で表される。なお、電流位相角βは、電機子電流ベクトルとd軸との位相差である。
Ts=(1/2)・Pn・(Ld-Lq)・Ia
2sin2β …(4)
したがって、d軸インダクタンスLdおよびq軸インダクタンスLqが変動しなければ、電流位相角βが45度のときにモータトルクTsは最大となる。しかしながら、シンクロナスリラクタンスモータでは、d軸インダクタンスLdおよびq軸インダクタンスLqがロータコアおよびステータコアの磁気飽和の影響を受けて変動するため、モータトルクTsは電流位相角βが45度のときに必ずしも最大にならない。
【0041】
図5は、あるシンクロナスリラクタンスモータにおいて、複数の電機子電流I
a毎に取得した、電流位相角βに対するモータトルクT
sの特性データを示すグラフである。
図5の特性データは、前記非特許文献1に掲載のデータを転用したものである。ただし、
図5では、横軸に電流位相角βをとり、縦軸にモータトルクT
sをとり、各電機子電流I
aの電流位相角βに対するモータトルクT
sの特性を、それぞれ曲線で表している。
【0042】
図5に示すように、電機子電流I
aの大きさによって、モータトルクT
sが最大となる電流位相角βは異なる。
図5の例では、電機子電流I
aが大きくなるにつれて、モータトルクT
sが最大となる電流位相角βは大きくなっている。電動モータ18を高効率で駆動するためには、電機子電流指令値I
a
*に対してモータトルクT
sが最大となる電流位相角βを、電流位相角βとして設定することが好ましい。
【0043】
図6は、指令値/最大トルクテーブル60内の正転用テーブル61の内容例を示す模式図である。
正転用テーブル61には、電機子電流指令値I
a
*毎に、電動モータ18が正転方向に回転されるときの、当該電機子電流指令値I
a
*と、当該電機子電流指令値I
a
*においてモータトルクT
sが最大となる電流位相角指令値β
*との組合せに対して、電動モータ18から発生するモータトルクT
s[Nm]が記憶されている。
【0044】
この例では、正転用テーブル61には、K個分の電機子電流指令値I
a
*に対するデータが記憶されている。K個の電機子電流指令値I
a
*は、I
a1
*<I
a2
*<…<I
a(K-1)
*<I
aK
*の関係を有する。モータトルクT
sは、電機子電流指令値I
a
*が大きくなるほど、大きくなる。
このような正転用テーブル61は、例えば次のようにして作成される。
図3に示すようなモータ制御回路の電流ベクトル演算部43に、所定の電機子電流指令値I
a
*および所定の電流位相角指令値β
*を与えるとともに、正転方向を表す符号を与えると、当該電機子電流指令値I
a
*、当該電流位相角指令値β
*および当該符号に応じた二相指示電流i
d
*,i
q
*に基づいて、電動モータ18が正転駆動される。電動モータ18が正転駆動されている状態で、電動モータ18から発生しているモータトルクT
s(例えば、所定時間内のモータトルクの平均値)を取得する。これにより、前記所定の電機子電流指令値I
a
*と前記所定の電流位相角指令値β
*との組合せに対するモータトルクT
sが得られる。なお、モータトルクT
sは、図示しない測定装置を用いて測定される。
【0045】
このような実験を、複数の電流位相角指令値β*毎に行うことにより、前記所定の電機子電流指令値Ia
*と複数の電流位相角指令値β*との各組合せに対するモータトルクTsのデータを取得する。このようにして取得されたデータに基づいて、前記所定の電機子電流指令値Ia
*に対してモータトルクTsが最大となる電流位相角指令値β*を特定する。
【0046】
以上のような実験を、複数の電機子電流指令値Ia
*毎に行うことにより、複数の電機子電流指令値Ia
*毎に、その電機子電流指令値Ia
*とそれに対してモータトルクTsが最大となる電流位相角指令値β*との組合せに対するモータトルクTsのデータを取得する。これにより、正転用テーブル61を作成するためのデータが得られる。
図示しないが、逆転用テーブル62には、電機子電流指令値Ia
*毎に、電動モータ18が逆転方向に回転されるときの、当該電機子電流指令値Ia
*と、当該電機子電流指令値Ia
*においてモータトルクTsが最大となる電流位相角指令値β*との組合せに対して、電動モータ18から発生するモータトルクTs[Nm]が記憶されている。
【0047】
逆転用テーブル62は、正転用テーブル61を作成するために行った実験と同様な実験を行うことによって作成される。ただし、逆転用テーブル62を作成する場合には、正転用テーブル61を作成する場合とは異なり、実験時には、電流ベクトル演算部43に逆転方向を表す符号が与えられる。これにより、実験時には、電動モータ18が逆転方向に回転駆動される。
【0048】
正転用テーブル61または逆転用テーブル62に基づいて、トルク指令値T
s
*に応じた電機子電流指令値I
a
*および電流位相角指令値β
*を求め、得られた電機子電流指令値I
a
*および電流位相角指令値β
*に基づいて電動モータ18を制御する方法を「最大トルク/電流制御」ということにする。
次に、速度/指令値テーブル70について説明する。速度/指令値テーブル70は、
図3および
図7A~
図7Cに示すように、トルク指令値テーブル71と、電流指令値テーブル72と、電流位相角指令値テーブル73とを含む。
【0049】
トルク指令値テーブル71には、
図7Aに示すように、電動モータ18の回転速度ω
1~ω
N毎に、複数のモータトルクT
sn1~T
snMが記憶される。Nは、回転速度のデータ数を示し、Mは、1種類の回転速度に対して設定されるモータトルクT
sのデータ数を示している。トルク指令値テーブル71の左端列の1~Nは、回転速度のインデックス番号n(以下、「速度番号」という。)である。トルク指令値テーブル71の最上行の1~Mは、モータトルクのインデックス番号m(以下、「トルク番号」という。)である。
【0050】
電流指令値テーブル72には、
図7Bに示すように、1~Nの速度番号毎に、1~Mのトルク番号に対応した複数の電機子電流指令値I
an1
*~I
anM
*が記憶される。
電流位相角指令値テーブル73には、
図7Cに示すように、1~Nの速度番号毎に、1~Mのトルク番号に対応した複数の電流位相角指令値β
n1
*~β
nM
*が記憶される。
以下、
図8を参照して、これらのテーブル71~73の作成方法について説明する。
【0051】
図8には、d軸電流を横軸に取り、q軸電流を縦軸に取ったd-q座標系が示されている。
図8において、曲線Aは、最大トルク/電流制御における電機子電流ベクトルの軌跡を示している。この曲線Aは、例えば、次のようにして作成することができる。
図6の指令値/最大トルクテーブル60に示されるように、電機子電流I
a毎にモータトルクが最大となる電流位相角βが予め求められているものとする。
【0052】
id=Ia・cosβ,iq=Ia・sinβに基づき、電機子電流Ia毎に、モータトルクが最大となる電流位相角βに対するd軸電流指令値およびq軸電流指令値を求める。次に、電機子電流Ia毎に、モータトルクが最大となる電流位相角βに対するd軸電流指令値およびq軸電流指令値に対応する電機子電流ベクトルの終点(以下、「動作点」という。)をd-q座標上にプロットする。そして、これらの点を通る曲線を描くと曲線Aが得られる。
【0053】
図8において、曲線B1~B8は、回転速度が所定範囲(この例では、1600rpm以上3000rpm以下の範囲)において回転速度が所定値(この例では200rpm)ずつ異なる8種類の回転速度において、電流位相角を変化させた場合の電機子電流ベクトルの軌跡を示している。各曲線の右端(下端)は、電流位相角が45度である場合の動作点を示している。各曲線の左端(上端)は、モータトルクが最大となる動作点を示している。
【0054】
曲線B1は1600rpmに対応する電機子電流ベクトルの軌跡であり、曲線B8は3000rpmに対応する電機子電流ベクトルの軌跡であり、回転速度が大きくなるほど、電流位相角が45度である場合の電機子電流ベクトルの大きさが小さくなる。直線Cは、電流位相角が45度である場合の各曲線B1~B8上の動作点を通る直線である。
例えば、曲線B1は、次のようにして描くことができる。
【0055】
図3に示すようなモータ制御回路の電流ベクトル演算部43に、電機子電流指令値I
a
*の最大値および所定の電流位相角指令値β
*を与えて、電動モータ18を駆動する。次に、回転速度が所定の回転速度(曲線B1を作成する場合は1600rpm)となるように、負荷を調整する。そして、電流位相角指令値β
*を45度から徐々に大きくしていき、複数の電流位相角指令値β
*に対するモータトルクT
sならび電機子電流I
aを測定する。また、モータトルクが最大となる電流位相角指令値β
*を求めるとともに、そのときのモータトルクT
sならび電機子電流I
aを測定する。
【0056】
モータトルクT
sは、図示しない測定装置を用いて測定される。電機子電流I
aは、
図3の座標変換部52から出力されるd軸電流指令値i
dおよびq軸電流指令値i
qから算出できる。
このようにして、電流位相角指令値β
*が45度からモータトルクが最大となる電流位相角指令値β
*までの間に、それらの電流位相角指令値β
*を含みかつ電流位相角指令値β
*が異なるM個の電流位相角指令値β
*に対するモータトルクT
sならび電機子電流I
aを求める。そして、M個の電流位相角指令値β
*に対応する動作点をd-q座標上にプロットし、これらを通る曲線を描くことにより、曲線B1が得られる。他の曲線B2~B8についても、同様な方法で描くことができる。
図8において、曲線B1~B8において、破線81内にプロットされた動作点が、モータトルクが最大となる動作点である。
【0057】
1600rpmが速度番号1であるとすると、トルク指令値テーブル71における速度番号1に対応する行に、1600rpmの回転速度に対して求められたM個分のモータトルクTsを、例えば電流位相角指令値β*が小さいものから順に、モータトルクTs11~Ts1Mとして記憶する。また、電流指令値テーブル72における速度番号1に対応する行に、1600rpmの回転速度に対して求められたM個分の電機子電流Iaを、電流位相角指令値β*が小さいものから順に、電機子電流指令値Ia11
*~Ia1M
*として記憶する。また、電流位相角指令値テーブル73における速度番号1に対応する行に、1600rpmの回転速度に対して求められたM個分の電流位相角指令値β*を、電流位相角指令値β*が小さいものから順に、電流位相角指令値β11
*~β1M
*として記憶する。
【0058】
他の速度番号2~Nそれぞれに対するM個分のモータトルクTn1~TnM、電機子電流指令値Ian1
*~IanM
*および電流位相角指令値βn1
*~βnM
*も同様にして求められて、トルク指令値テーブル71、電流指令値テーブル72および電流位相角指令値テーブル73に記憶される。
速度/指令値テーブル70に基づいて、トルク指令値Ts
*および回転速度ωに応じた電機子電流指令値Ia
*および電流位相角指令値β*を求め、得られた電機子電流指令値Ia
*および電流位相角指令値β*に基づいて電動モータ18を制御する方法を「トルク/速度制御」ということにする。
【0059】
次に、電流指令値設定部42の動作について詳しく説明する。
図9は、電流指令値設定部42の動作を説明するためのフローチャートである。
図9の処理は、所定の演算周期毎に繰り返し実行される。以下の説明において、回転速度演算部54によって演算された最新の回転速度ωを、「現回転速度ω」ということにする。
電流指令値設定部42は、指令値/最大トルクテーブル60に基づき、第1候補の電機子電流指令値I
acan1
*および電流位相角指令値β
can1
*を求める(ステップS1)。
【0060】
具体的には、電流指令値設定部42は、まず、正転用テーブル61および逆転用テーブル62のうち、トルク指令値Ts
*の符号に応じた回転方向のテーブル61,62を選択する。そして、電流指令値設定部42は、選択したテーブル61,62に基づいて、トルク指令値Ts
*に応じた電機子電流指令値Ia
*および電流位相角指令値β*を求め、第1候補の電機子電流指令値Iacan1
*および電流位相角指令値βcan1
*としてメモリに記憶する。
【0061】
より具体的には、電流指令値設定部42は、選択したテーブル61,62内の複数のモータトルクTsのうちから、トルク指令値Ts
*と同じ大きさのモータトルクTsを検索する。電流指令値設定部42は、トルク指令値Ts
*と同じ大きさのモータトルクTsを検索できた場合には、そのテーブル61,62から、そのモータトルクTsに対応する電機子電流指令値Ia
*および電流位相角指令値β*を読み出して、第1候補の電機子電流指令値Iacan1
*および電流位相角指令値βcan1
*としてメモリに記憶する。
【0062】
一方、トルク指令値Ts
*と同じ大きさのモータトルクTsを検索できなかった場合には、電流指令値設定部42は、次のような処理を行う。電流指令値設定部42は、選択したテーブル61,62内の複数のモータトルクTsのうちから、トルク指令値Ts
*よりも小さくかつトルク指令値Ts
*に最も近いモータトルクTs(以下、「第1モータトルクTsL」という。)に対応する電機子電流指令値Ia
*および電流位相角指令値β*を読み出す。
【0063】
また、電流指令値設定部42は、前記テーブル61,62内の複数のモータトルクTsのうちから、トルク指令値Ts
*よりも大きくかつトルク指令値Ts
*に最も近いモータトルクTs(以下、「第2モータトルクTsH」という。)に対応する電機子電流指令値Ia
*および電流位相角指令値β*を読み出す。そして、電流指令値設定部42は、読み出した2組の電機子電流指令値Ia
*および電流位相角指令値β*を線形補間することにより、トルク指令値Ts
*に対応する電機子電流指令値Ia
*および電流位相角指令値β*を演算する。
【0064】
具体的には、第1モータトルクTsLに対応する電機子電流指令値Ia
*および電流位相角指令値β*を、それぞれ、IaL
*およびβL
*とし、第2モータトルクTsHに対応する電機子電流指令値Ia
*および電流位相角指令値β*を、それぞれ、IaH
*およびβH
*とする。また、TsH-TsL=ΔTsとし、IaH
*-IaL
*=ΔIa
*とし、βH
*2-βL
*=Δβ*とする。
【0065】
電流指令値設定部42は、次式(5)および(6)に基づいて、トルク指令値Ts
*に対応する電機子電流指令値Ia
*および電流位相角指令値β*を演算し、第1候補の電機子電流指令値Iacan1
*および電流位相角指令値βcan1
*としてメモリに記憶する。
Ia
*=(ΔIa
*/ΔTs)・(Ts
*-TsL)+IaL
* …(5)
β*=(Δβ*/ΔTs)・(Ts
*-TsL)+βL
* …(6)
次に、電流指令値設定部42は、速度/指令値テーブル70に基づき、第2候補の電機子電流指令値Iacan2
*および電流位相角指令値βcan2
*を求める(ステップS2)。
【0066】
具体的には、電流指令値設定部42は、トルク指令値テーブル71から現回転速度ωに最も近い速度番号nを第1速度番号n1として取得する。そして、トルク指令値テーブル71内の第1速度番号n1に対応する複数のモータトルクTsのうちから、トルク指令値Ts
*と同じ大きさのモータトルクTsを検索する。トルク指令値Ts
*と同じ大きさのモータトルクTsを検索できた場合には、電流指令値設定部42は、当該モータトルクTsのトルク番号mを第1トルク番号m1として取得する。
【0067】
そして、電流指令値テーブル72および電流位相角指令値テーブル73から、第1速度番号n1および第1トルク番号m1に対応する電機子電流指令値Ia
*および電流位相角指令値β*を読み出して、第2候補の電機子電流指令値Iacan2
*および電流位相角指令値βcan2
*としてメモリに記憶する。
一方、トルク指令値Ts
*と同じ大きさのモータトルクTsを検索できなかった場合には、電流指令値設定部42は、次のような処理を行う。電流指令値設定部42は、トルク指令値テーブル71の第1速度番号n1に対応する複数のモータトルクTsのうちから、トルク指令値Ts
*よりも小さくかつトルク指令値Ts
*に最も近いモータトルクTs(以下、「第1モータトルクTsL」という。)に対応するトルク番号mを第1トルク番号m1として取得する。そして、電流指令値テーブル72および電流位相角指令値テーブル73から、第1速度番号n1および第1トルク番号m1に対応する電機子電流指令値Ia
*および電流位相角指令値β*を、第1モータトルクTsLに対応する電機子電流指令値Ia
*および電流位相角指令値β*としてメモリに記憶する。
【0068】
また、電流指令値設定部42は、トルク指令値テーブル71の第1速度番号n1に対応する複数のモータトルクTsのうちから、トルク指令値s
*よりも大きくかつトルク指令値Ts
*に最も近いモータトルクTs(以下、「第2モータトルクTsH」という。)に対応するトルク番号mを第2トルク番号m2として取得する。そして、電流指令値テーブル72および電流位相角指令値テーブル73から、第1速度番号n1および第2トルク番号m2に対応する電機子電流指令値Ia
*および電流位相角指令値β*を読み出して、第2モータトルクTsHに対応する電機子電流指令値Ia
*および電流位相角指令値β*としてメモリに記憶する。
【0069】
そして、電流指令値設定部42は、読み出した2組の電機子電流指令値Ia
*および電流位相角指令値β*を線形補間することにより、トルク指令値Ts
*および現回転速度ωに対応する電機子電流指令値Ia
*および電流位相角指令値β*を演算する。
具体的には、第1モータトルクTsLに対応する電機子電流指令値Ia
*および電流位相角指令値β*を、それぞれ、IaL
*およびβL
*とし、第2モータトルクTsHに対応する電機子電流指令値Ia
*および電流位相角指令値β*を、それぞれ、IaH
*およびβH
*とする。また、TsH-TsL=ΔTsとし、IaH
*-IaL
*=ΔIa
*とし、βH
*-βL
*=Δβ*とする。
【0070】
電流指令値設定部42は、前記式(5)および(6)に基づいて、トルク指令値Ts
*および現回転速度ωに対応する電機子電流指令値Ia
*および電流位相角指令値β*を演算し、第2候補の電機子電流指令値Iacan2
*および電流位相角指令値βcan2
*としてメモリに記憶する。
次に、電流指令値設定部42は、第1候補の電流位相角指令値βcan1
*が、第2候補の電流位相角指令値βcan2
*以上か否かを判別する(ステップS3)。βcan1
*≧βcan2
*であれば(ステップS3:YES)、電流指令値設定部42は、第1候補の電機子電流指令値Iacan1
*および電流位相角指令値βcan1
*を、電機子電流指令値Ia
*および電流位相角指令値β*として設定する(ステップS4)。これにより、最大トルク/電流制御が実行される。そして、今演算周期での処理を終了する。
【0071】
ステップS3において、βcan1
*<βcan2
*であると判別された場合には(ステップS3:NO)、電流指令値設定部42は、第2候補の電機子電流指令値Iacan2
*および電流位相角指令値βcan2
*を、電機子電流指令値Ia
*および電流位相角指令値β*として設定するステップS5)。これにより、トルク/速度制御が実行される。そして、今演算周期での処理を終了する。
【0072】
β
can1
*≧β
can2
*である場合には第1候補が選択され、β
can1
*<β
can2
*である場合には第2候補が選択される理由について説明する。
図8の曲線B1~B8は、トルク/速度制御における電機子電流ベクトルの軌跡を表している。曲線B1~B8は、電機子電流指令値I
a
*として最大値を与えた場合の、回転速度毎の電機子電流ベクトルの軌跡である。したがって、曲線B1~B8は、それぞれ、電圧制限楕円の一部分を構成している。電圧制限楕円は、任意の入力電圧(モータ端子間電圧)および回転速度において、制御可能な電機子電流ベクトルの範囲を、電機子電流ベクトルの軌跡として表したものである。電圧制限楕円は、電動モータ18の回転速度が増加するほど小さくなる。
【0073】
図8の曲線Aは、最大トルク/電流制御における電機子電流ベクトルの軌跡であり、任意のトルクを電動モータ18から出力させるのに電機子電流が最も小さくなる電機子電流ベクトルの軌跡である。
任意のトルクを電動モータ18から出力させたいとき、トルク/速度制御の動作点が、曲線A上または曲線Aよりも右側にある場合には、最大トルク/電流制御の動作点が、そのトルクを出力するために最も効率の良い点となる。例えば、現回転速度が1600[rpm]であるとすると、トルク/速度制御の動作点が、曲線Aと曲線B1の交点上または当該交点よりも右側にある場合には、最大トルク/電流制御の動作点が、そのトルクを出力するために最も効率の良い点となる。したがって、このような場合には、最大トルク/電流制御によって電動モータ18を制御することが好ましい。そこで、β
can1
*≧β
can2
*である場合には、電機子電流指令値I
a
*および電流位相角指令値β
*として第1候補が設定される。
【0074】
一方、トルク/速度制御の動作点が、曲線Aよりも左側にある場合には、最大トルク/電流制御では目標トルクを出力することができない。例えば、現回転速度が1600[rpm]であるとすると、トルク/速度制御の動作点が、曲線Aと曲線B1の交点よりも左側にある場合には、最大トルク/電流制御では目標トルクを出力することができない。したがって、このような場合には、トルク/速度制御によって電動モータ18を制御することが好ましい。そこで、βcan1
*<βcan2
*である場合には、電機子電流指令値Ia
*および電流位相角指令値β*として第2候補が設定される。
【0075】
つまり、第1実施形態では、
図8のd-q座標系において、電機子電流指令値I
a
*および電流位相角指令値β
*により設定される電流ベクトルが、最大トルク/電流制御における電流ベクトル軌跡(曲線A)とq軸とに囲まれた領域に含まれるように、電機子電流指令値I
a
*および電流位相角指令値β
*が設定される。これにより、最大トルクを出力することが可能でかつ全ての回転速度領域でモータトルク指令値に応じたモータトルクを出力することが可能となる。
[2]第2実施形態
前述の第1実施形態では、速度/指令値テーブル70は、モータ端子間電圧が所定の基準電圧である場合を想定して作成されている。モータ端子間電圧が低下した場合には、電圧制限楕円が縮小する。これにより、
図8の曲線B1~B8で表される特性が変化するので、第1実施形態の速度/指令値テーブル70の内容は、モータ端子間電圧が低下した場合の特性に適合しなくなる。
【0076】
このため、モータ端子間電圧が低下した場合には、第1実施形態におけるトルク/速度制御では、トルク指令値が出力可能な範囲内であっても、出力できない領域が生じてしまうという問題がある。この理由は、第1実施形態の速度/指令値テーブル70では、モータ端子間電圧が低下した場合、電機子電流指令値Ia
*および電流位相角指令値β*として、出力不可能なモータトルクに対応した指令値が設定されるため、予期しない電機子電流が電動モータ18に流れてしまうからである。
【0077】
第2実施形態の目的は、最大出力が可能でかつ全ての回転速度領域においてトルク制御が可能となるとともに、第1実施形態の上記問題を解消できるモータ制御を実現することにある。
第2実施形態では、速度/指令値テーブル70の作成方法が第2実施形態と異なっている。つまり、トルク指令値テーブル71、電流指令値テーブル72および電流位相角指令値テーブル73の作成方法が第1実施形態と異なっている。また、第2実施形態では、電流指令値設定部42の動作が異なっている。それ以外は、第1実施形態と同様である。
【0078】
まず、
図10を参照して、速度/指令値テーブル70の作成方法について説明する。
図10には、d軸電流を横軸に取り、q軸電流を縦軸に取ったd-q座標系が示されている。
まず、
図10に示すように、最大トルク/電流制御における電機子電流ベクトルの軌跡を表す曲線Aをd-q座標に描画する。曲線Aは、第1実施形態と同様な方法で描画することができる。
【0079】
次に、回転速度が所定範囲(この例では1600rpm以上3000rpm以下の範囲)において回転速度が所定値(この例では200rpm)ずつ異なる8種類の回転速度毎に、モータトルクが最大となるときの動作点(以下、「最大出力点」という。)を求めて、d-q座標上にプロットする。
図10の破線の閉曲線91内にプロットされた動作点が、対応する回転速度における最大出力点であり、
図8の破線の閉曲線81内にプロットされた動作点に対応している。これらの動作点は、第1実施形態で説明した曲線B1~B8の作成方法と同様な方法によって、求めることができる。
【0080】
次に、d-q座標系の原点または当該原点の近い所定の点を収束点Vとして設定する。この実施形態では、曲線Aにおけるd-q座標系の原点に近い所定点が、収束点Vとして設定される。そして、回転速度毎の最大出力点と収束点Vとをそれぞれ直線で結ぶ。これにより、8種類の回転速度毎に、直線D1~D8が得られる。直線D1は1600rpmに対応する直線であり、曲線D8は3000rpmに対応する直線であり、回転速度が大きくなるほど、d軸からの回転角度(電流位相角β)が大きくなっている。
【0081】
次に、直線D1~D8毎に、直線上に、最大出力点を含むM個分の動作点を設定する。この実施形態では、各直線D1~D8上において、隣り合う2つの動作点が等しくなるように、M個の動作点が設定される。M個の動作点は、最大出力点(第1動作点)と、電動モータ18の端子間電圧が低下した場合に、最大出力点から動作点が移動する方向に設定された複数の動作点(第2動作点)と、からなる複数の動作点(第3動作点)である。
【0082】
次に、設定された各動作点に対応するd軸電流i
d、q軸電流i
q、電機子電流I
aおよび電流位相角βを求める。ある動作点の電機子電流I
aは、その動作点のd軸電流i
dおよびq軸電流i
qから求められる。
次に、動作点毎に、電機子電流I
aおよび電流位相角βを、
図3に示すようなモータ制御回路の電流ベクトル演算部43に電機子電流指令値I
a
*および電流位相角指令値β
*として与え、モータトルクT
sを測定する。このようにして、直線D1~D8毎に、M個の動作点に対するモータトルクT
s、電機子電流指令値I
a
*および電流位相角指令値β
*を得ることができる。
【0083】
例えば、1600rpmが速度番号1であるとすると、トルク指令値テーブル71(
図7A参照)における速度番号1に対応する行に、直線D1上のM個の動作点に対するモータトルクT
sを、例えば、電機子電流指令値I
aが小さいものから順に、モータトルクT
s11~T
s1Mとして記憶する。
また、電流指令値テーブル72(
図7B参照)における速度番号1に対応する行に、直線D1上のM個の動作点に対する電機子電流I
aを、電機子電流指令値I
aが小さいものから順に、電機子電流指令値I
a11
*~I
a1M
*として記憶する。また、電流位相角指令値テーブル73における速度番号1に対応する行に、直線D1上のM個の動作点に対する電流位相角指令値β
*を、電機子電流指令値I
aが小さいものから順に、電流位相角指令値β
11
*~β
1M
*として記憶する。
【0084】
他の速度番号2~Nそれぞれに対するM個分のモータトルクTn1~TnM、電機子電流指令値Ian1
*~IanM
*および電流位相角指令値βn1
*~βnM
*も同様にして、トルク指令値テーブル71、電流指令値テーブル72および電流位相角指令値テーブル73に記憶される。第2実施形態の速度/指令値テーブル70は、本発明の「第3テーブル」の一例である。
【0085】
次に、電流指令値設定部42の動作について詳しく説明する。
図11は、電流指令値設定部42の動作を説明するためのフローチャートである。
図11の処理は、所定の演算周期毎に繰り返し実行される。
電流指令値設定部42は、現回転速度ωが所定回転速度ω
th以下であるか否かを判別する(ステップS11)。所定回転速度ω
thは、所定の低速回転領域と所定の高速回転領域との境界点付近の回転速度に設定される。所定の低速回転領域は、電動モータ18の速度-トルク特性において、トルクがほぼ一定となる定トルク領域であってもよい。その場合には、所定の高速回転領域は、定トルク領域よりも回転速度が大きい定出力領域となる。
【0086】
現回転速度ωが所定回転速度ωth以下であれば(ステップS11:YES)、電流指令値設定部42Aは、指令値/最大トルクテーブル60を用いて、トルク指令値Ts
*に応じた電機子電流指令値Ia
*および電流位相角指令値β*を設定する(ステップS12:YES)。指令値/最大トルクテーブル60を用いて、電機子電流指令値Ia
*および電流位相角指令値β*を求める方法は、第1実施形態で説明した方法と同様である。そして、今演算周期での処理を終了する。
【0087】
ステップS11において、現回転速度ωが所定回転速度ωthよりも大きいと判別された場合には(ステップS11:NO)、電流指令値設定部42は、速度/指令値テーブル70を用いて、トルク指令値Ts
*および現回転速度ωに応じた電機子電流指令値Ia
*および電流位相角指令値β*を設定する(ステップS13:YES)。速度/指令値テーブル70を用いて、電機子電流指令値Ia
*および電流位相角指令値β*を求める方法は、第1実施形態で説明した方法と同様である。そして、今演算周期での処理を終了する。
【0088】
第2実施形態においても、d-q座標系において、d軸電流指令値およびq軸電流指令値により設定される電流ベクトルが、最大トルク/電流制御における電流ベクトル軌跡とq軸とに囲まれた領域に含まれるように、電機子電流指令値Ia
*および電流位相角指令値β*が設定される。これにより、最大トルクを出力することが可能でかつ全ての回転速度領域でモータトルク指令値に応じたモータトルクを出力することが可能となる。
【0089】
また、第2実施形態では、モータ端子間電圧の低下によって動作点が変化する方向に、複数の動作点を設定し、それらの各動作点に対応する電機子電流、電流位相角およびモータトルクを、速度/指令値テーブル70のテーブル値として設定している。これにより、モータ端子間電圧が低下した場合においても、トルク指令値が出力可能な範囲内であれば、モータトルクを出力することが可能となる。
【0090】
つまり、第2実施形態では、モータ端子間電圧が低下した場合においても、トルク指令値が出力可能なモータトルクの範囲内にある場合には、当該トルク指令値に応じたモータトルクを出力できるようになる。言い換えれば、第2実施形態では、モータ端子間電圧が低下したとしても、トルク指令値通りにモータトルクを出力できる領域が、第1実施形態に比べて広くなる。これにより、前述した第1実施形態の問題を解消できる。
【0091】
以上、この発明の第1および第2実施形態について説明したが、この発明はさらに他の形態で実施することもできる。前述の第1および第2実施形態では、マイクロコンピュータ31は、電圧制限部48を備えているが、電圧制限部48を備えていなくてもよい。
また、前述の第1および第2実施形態では、正転方向および逆転方向の双方向に回転可能なシンクロナスリラクタンスモータについて説明したが、この発明は、一方向にのみ回転駆動する電動シンクロナスリラクタンスモータにも適用することができる。
【0092】
また、前述の第1および第2実施形態では、電動モータ18はシンクロナスリラクタンスモータであるが、電動モータ18は、リラクタンストルクを利用してロータを回転させるモータであれば、シンクロナスリラクタンスモータ以外のモータ(スイッチトリラクタンスモータ、IPMモータ等)であってもよい。
また、前述の第1および第2実施形態においては、電動パワーステアリング装置用の電動モータの制御装置に、この発明を適用した場合について説明した。しかし、この発明は、トルク指令値に基づいて制御されるモータの制御装置であれば、電動パワーステアリング装置用の電動モータの制御装置以外のモータ制御装置に適用することができる。
【0093】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0094】
12…ECU、18…電動モータ、25…回転角センサ、31…マイクロコンピュータ、40…不揮発性メモリ、41…トルク指令値設定部、42…電流指令値設定部、43…電流ベクトル演算部、53…回転角演算部、54…回転速度演算部、60…指令値/最大トルクテーブル、61…正転用テーブル、62…逆転用テーブル、70…速度/指令値テーブル、71…トルク指令値テーブル、72…電流指令値テーブル、73…電流位相角指令値テーブル