(57)【要約】【課題】モータの出力トルクが小さくなる場面であっても、電圧位相制御から電流ベクトル制御への切り替え判定を適切に実施することができる技術を提供する。【解決手段】モータ９に対するトルク指令値に応じて電流を制御することによりモータ９を制御する電流制御を実行する電流制御ステップと、モータに対するトルク指令値に応じて電圧位相を制御することによりモータ９を制御する電圧位相制御を実行する電圧位相制御ステップと、モータ９の制御モードを電圧位相制御から電流制御に切替えるか否かを判定するモード切替判定ステップと、モード切替判定ステップでの判定結果に応じて制御モードを切り替えるモード切替ステップと、を含み、モード切替判定ステップは、モータ９の減速度が所定値以上の場合はｑ軸電流に基づいて実施され、モータの減速度が所定値未満の場合はｄ軸電流に基づいて実施される。【選択図】図５
2019161854.tif 000002
【特許請求の範囲】
【請求項１】
モータに対するトルク指令値に応じて電流を制御することにより当該モータを制御する電流制御を実行する電流制御ステップと、
前記モータに対するトルク指令値に応じて電圧位相を制御することにより当該モータを制御する電圧位相制御を実行する電圧位相制御ステップと、
前記モータの制御モードを前記電圧位相制御から前記電流制御に切替えるか否かを判定するモード切替判定ステップと、
前記モード切替判定ステップでの判定結果に応じて前記制御モードを切り替えるモード切替ステップと、を含み、
前記モード切替判定ステップは、
前記モータの減速度が所定値以上の場合は、ｑ軸電流に基づいて実施され、
前記モータの減速度が所定値未満の場合は、ｄ軸電流に基づいて実施される、
モータの制御方法。
【請求項２】
請求項１に記載のモータの制御方法において、
前記モータが出力するトルクが高トルク領域内にあるか否かを判定する高トルク領域判定ステップをさらに含み、
前記モード切替判定ステップは、
前記モータの減速度が所定値以上であって、且つ、前記モータが出力するトルクが前記高トルク領域内にある場合は、前記ｑ軸電流に基づいて実施され、
前記モータの減速度が所定値未満であって、且つ、前記モータが出力するトルクが前記高トルク領域内にない場合は、前記ｄ軸電流に基づいて実施される、
モータの制御方法。
【請求項３】
請求項２に記載のモータの制御方法において、
前記高トルク領域判定ステップでは、
前記トルク指令値、トルク検出値、およびトルク推定値のいずれかに基づいて、前記モータが出力するトルクが前記高トルク領域内にあるか否かを判定する、
モータの制御方法。
【請求項４】
請求項２に記載のモータの制御方法において、
前記高トルク領域判定ステップでは、
前記電圧位相制御で用いられる電圧位相指令値、電圧位相検出値、および電圧位相推定値のいずれかに基づいて、前記モータが出力するトルクが前記高トルク領域内にあるか否かを判定する、
モータの制御方法。
【請求項５】
請求項２に記載のモータの制御方法において、
前記高トルク領域判定ステップでは、
ｑ軸電流指令値、ｑ軸電流検出値、およびｑ軸電流推定値のいずれかに基づいて、前記モータが出力するトルクが前記高トルク領域内にあるか否かを判定する、
モータの制御方法。
【請求項６】
請求項１から請求項５のいずれか１項に記載のモータ制御方法において、
前記ｄ軸電流に対して、高周波成分を除去するローパスフィルタを用いたフィルタ処理を実行する、
モータの制御方法。
【請求項７】
モータに対するトルク指令値に応じて電流を制御することにより当該モータを制御する電流制御を実行する電流制御部と、
前記モータに対するトルク指令値に応じて電圧位相を制御することにより前記モータを制御する電圧位相制御を実行する電圧位相制御部と、
前記モータの制御モードを前記電圧位相制御から前記電流制御に切替えるか否かを判定するモード切替判定部と、
前記モード切替判定部の判定結果に応じて前記制御モードを切り替えるモード切替部と、を有し、
前記モード切替判定部は、
前記モータの減速度が所定値以上の場合は、ｑ軸電流に基づいて前記電圧位相制御から前記電流制御に切替えるか否かを判定し、
前記モータの減速度が所定値未満の場合は、ｄ軸電流に基づいて前記電圧位相制御から前記電流制御に切替えるか否かを判定する、
モータの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御方法、及び、モータ制御装置に関する。
【背景技術】
【０００２】
モータの制御方法として、モータへ印加する電流（モータ電流）のベクトルを制御する電流ベクトル制御と、モータへ印加する電圧の位相を制御する電圧位相制御とが知られている。電流ベクトル制御と、電圧位相制御とは、モータの運転状態に応じて切り替えられる。
【０００３】
特許文献１では、モータ電流を基本波電流と比較して、モータ電流の振幅が大きく、且つ位相が遅れ側となるようなタイミングで検出された電流（ｑ軸電流）に基づいて、電圧位相制御から電流ベクトル制御へと切り替えるモータの制御方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１２４５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術では、モータの制御方法をｑ軸電流に基づいて切り替えているので、モータの出力トルクが小さくなる場面等、ｑ軸電流が小さい領域で切り替え判定が実施された場合には、検出したｑ軸電流とノイズとの差異が小さくなり、切り替え判定を適切に実施できない場合がある。
【０００６】
本発明は、モータの出力トルクが小さくなる場面であっても、電圧位相制御から電流ベクトル制御への切り替え判定を適切に実施することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるモータ制御方法によれば、モータに対するトルク指令値に応じて電流を制御することによりモータを制御する電流制御を実行する電流制御ステップと、モータに対するトルク指令値に応じて電圧位相を制御することによりモータを制御する電圧位相制御を実行する電圧位相制御ステップと、モータの制御モードを電圧位相制御から電流制御に切替えるか否かを判定するモード切替判定ステップと、モード切替判定ステップでの判定結果に応じて制御モードを切り替えるモード切替ステップと、を含み、モード切替判定ステップは、モータの減速度が所定値以上の場合は、ｑ軸電流に基づいて実施され、モータの減速度が所定値未満の場合は、ｄ軸電流に基づいて実施される。
【発明の効果】
【０００８】
本発明によれば、モータの制御モードを電圧位相制御から電流制御に切替えるか否かの判定が、モータの減速度が所定値以上の場合、すなわち、ｑ軸電流の増加率が相対的に高い場面でのみｑ軸電流に基づいて実施され、モータの減速度が所定値未満の場合はｄ軸電流に基づいて実施されるので、モータの出力トルクが小さくなる場面であっても、電圧位相制御から電流制御への切り替え判定を適切に実施することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明に係るモータ制御装置を備えた電気自動車の主要構成を示す概略構成図である。
【図２】図２は、電流ベクトル制御部の詳細を示すブロック図である。
【図３】図３は、電圧位相制御部の詳細を示すブロック図である。
【図４】図４は、制御モード切替部の詳細を示すブロック図である。
【図５】図５は、制御モード判定処理のフローを示すフローチャートである。
【図６】図６は、通常時の電流ベクトル及び電圧ベクトルを示すｄｑ軸座標ベクトル平面図である。
【図７】図７は、急減速時の電流ベクトル及び電圧ベクトルを示すｄｑ軸座標ベクトル平面図である。
【図８】図８は、電流制御と電圧位相制御の電流領域を説明する図である。
【発明を実施するための形態】
【００１０】
［一実施形態］
図１は、本発明の一実施形態に係るモータ制御装置を備えた電気自動車の主要構成を示すブロック図である。以下では、図１を参照して各ブロックの構成について説明する。なお、本発明に係るモータ制御装置は、車両の駆動源の一部または全部として機能するモータを備える電動車両に適用可能である。電動車両には、電気自動車だけでなく、ハイブリッド自動車や燃料電池自動車も含まれる。
【００１１】
電流ベクトル制御部１は、モータ９へ印加する電流を制御することによって、モータ９の駆動を制御する電流制御（電流ベクトル制御）を実行する。具体的には、電流ベクトル制御部１は、目標トルクＴ＊と、モータ９の回転数Ｎと、バッテリ１９の電圧検出値ｖｄｃと、ｄｑ軸電流検出値ｉｄ、ｉｑとに基づいて、モータ９に所望のトルクを発生（出力）させるためのｄｑ軸電流指令値ｉｄ＊、ｉｑ＊およびｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊を算出して、制御モード切替部３に出力する。目標トルクＴ＊は、アクセルの踏み込み量（アクセル開度）などに応じて定まるトルク指令値である。なお、電流ベクトル制御部１は、電流制御ステップを行う電流制御部の一例である。電流ベクトル制御部１の詳細については、図２を参照して後述する。
【００１２】
電圧位相制御部２は、モータ９へ印加する電圧の位相を制御することによって、モータ９の駆動を制御する電圧位相制御を実行する。具体的には、電圧位相制御部２は、目標トルクＴ＊と、モータ９の回転数Ｎと、バッテリ１９の電圧検出値ｖｄｃと、ｄｑ軸電流検出値ｉｄ、ｉｑとに基づいて、モータ９に所望のトルクを発生させるための電圧振幅指令値ｖａ＊およびｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊を算出して、制御モード切替部３に出力する。なお、電圧位相制御部２は、電圧位相制御ステップを実行する電圧位相制御部の一例である。電圧位相制御部２の詳細については、図３を参照して説明する。
【００１３】
制御モード切替部３は、モータ９を制御する方法（制御モード）を切替える。具体的には、制御モード切替部３は、回転数変化率ｄＮ／ｄｔと、ｄｑ軸電流検出値ｉｄ、ｉｑとに基づいて、電流ベクトル制御による電圧指令値（ｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊）と電圧位相制御による電圧指令値（ｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊）とを切り替えるか否かを判定して、判定結果に基づいて選択された方の電圧指令値を座標変換器４に出力する。なお、制御モード切替部３は、モード切替判定ステップおよびモード切替ステップを実行するモード切替判定部とモード切替部の一例である。制御モード切替部３の詳細については、図４を参照して後述する。
【００１４】
次に、モータ制御部４０について説明する。モータ制御部４０は、座標変換器４、電圧センサ７、ＰＷＭ変換器５、インバータ６、電流センサ８、バッテリ１９、座標変換器１２、及び、回転数変化率演算器１３を有する。
【００１５】
座標変換器４は、ｄｑ軸からＵＶＷ相への座標変換を行う変換器である。座標変換器４は、次の式を用いて、ｄ軸電圧指令値ｖｄ＊、及び、ｑ軸電圧指令値ｖｑ＊を座標変換し、変換結果を三相電圧指令値ｖｕ＊、ｖｖ＊、ｖｗ＊としてＰＷＭ変換器５出力する。
【００１６】
【数１】
2019161854.tif 000003
【００１７】
ＰＷＭ変換器５には、座標変換器４から三相電圧指令値ｖｕ＊、ｖｖ＊、ｖｗ＊が入力されるとともに、電圧センサ７から電圧検出値ｖｄｃが入力される。なお、電圧センサ７は、バッテリ１９からインバータ６へ供給される駆動電圧を検出するセンサである。そして、ＰＷＭ変換器５は、公知のデッドタイム補償技術や、電圧利用率向上技術などを用いて三相電圧指令値ｖｕ＊、ｖｖ＊、ｖｗ＊を補正する。そして、ＰＷＭ変換器５は、インバータ６の備えるパワー素子の駆動に用いる駆動信号Ｄｕｕ＊、Ｄｕｌ＊、Ｄｖｕ＊、Ｄｖｌ＊、Ｄｗｕ＊、Ｄｗｌ＊を生成し、インバータ６に出力する。
【００１８】
インバータ６は、３相６アームで構成され、相ごとに２つずつ計６つのパワー素子を備えている。インバータ６は、ＰＷＭ変換器５から出力される駆動信号に基づいてパワー素子のそれぞれを駆動させることで、擬似交流電圧であるＰＷＭ電圧ｖｕ、ｖｖ、ｖｗを生成する。インバータ６は、ＰＷＭ電圧ｖｕ、ｖｖ、ｖｗをモータ９に供給する。
【００１９】
モータ９は三相で駆動しているため、インバータ６とモータ９とは三相と対応する３つの配線で接続されている。モータ９には、ｕ相配線を介してＰＷＭ電圧ｖｕが入力され、ｖ相配線を介してＰＷＭ電圧ｖｖが入力され、ｗ相配線を介してＰＷＭ電圧ｖｗが入力される。ｕ相配線には電流センサ８ｕが設けられ、ｖ相配線には電流センサ８ｖが設けられている。電流センサ８ｕにより検出されたｕ相電流値ｉｕ、及び、電流センサ８ｖにより検出されたｖ相電流値ｉｖは、座標変換器１２に出力される。
【００２０】
ここで、三相電流であるｉｕ、ｉｖ、及び、ｉｗの和はゼロになるため、ｗ相電流値ｉｗは、次の式のように示すことができる。
【００２１】
【数２】
2019161854.tif 000004
【００２２】
座標変換器１２は、以下（３）式を用いて、ＵＶＷ相からｄｑ軸への座標変換を行う変換器である。
【００２３】
【数３】
2019161854.tif 000005
【００２４】
（３）式に示したように、座標変換器１２は、ｕ相電流値ｉｕ、及び、Ｖ相電流値ｉｖに対して、回転センサ１０から出力される電気角θに基づく座標変換を行う。そして、座標変換器１２は、変換結果であるｄ軸電流値ｉｄ、及び、ｑ軸電流値ｉｑを、電流ベクトル制御部１、電圧位相制御部２、及び、制御モード切替部３に出力する。
【００２５】
回転センサ１０は、モータ９に隣接して設けられており、モータ９の回転子の電気角θを検出する。回転センサ１０は、検出した電気角θを、座標変換器４、１２と、回転数演算器１１とに出力する。
【００２６】
回転数演算器１１は、電気角θの時間当たりの変化量からモータ９の回転数Ｎを算出し、回転数変化率演算器１３へと出力する。
【００２７】
回転数変化率演算器１３は、モータ９の回転数Ｎの時間当たりの変化量からモータ９の回転数変化率ｄＮ／ｄｔを算出して、制御モード切替部３に出力する。
【００２８】
次に、上述した電流ベクトル制御部１、電圧位相制御部２、および、制御モード切替部３に係る各ブロックの詳細について説明する。なお、本実施形態にかかる電流ベクトル制御部１、電圧位相制御部２、および、制御モード切替部３は、少なくとも一つ以上のコントローラが備える機能部として構成される。当該コントローラは、例えば、中央演算装置（ＣＰＵ）、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および、入出力インタフェース（Ｉ／Ｏインタフェース）から構成される。
【００２９】
図２は、本実施形態の電流ベクトル制御部１を実現するブロック構成の一例を示す図である。電流ベクトル制御部１は、電流指令値演算器１４、非干渉電圧演算器１５、ＰＩ補償器１６、減算器１７、および加算器１８を有する。なお、図２では、ｄ軸電圧指令値ｖｄｉ＊の算出に関する信号のみを示し、各ブロックにこれと同様に入出力されるｑ軸電圧指令値ｖｑｉ＊の算出に関する信号は割愛している。
【００３０】
電流指令値演算器１４は、目標トルクＴ＊と、ｄ軸電流指令値ｉｄ＊、及び、ｑ軸電流指令値ｉｑ＊と、を対応させたテーブルを記憶している。このテーブルは、あらかじめ実験または解析により求められる。また、このテーブルには、モータ９の温度特性が考慮されるのが好ましい。電流指令値演算器１４は、このテーブルを参照して、入力される目標トルクＴ＊と、モータ９の回転数Ｎと、バッテリ１９の電圧検出値ｖｄｃとに応じたｄ軸電流指令値ｉｄ＊、及び、ｑ軸電流指令値ｉｑ＊を求め、これらの指令値を減算器１７に出力する。また、電流指令値演算器１４は、これらの指令値を、制御モード切替部３へも出力する。
【００３１】
減算器１７は、ｄ軸電流指令値ｉｄ＊、及び、ｑ軸電流指令値ｉｑ＊と、ｄ軸電流検出値ｉｄ、及び、ｑ軸電流検出値ｉｑとの偏差を演算して、ＰＩ補償器１６に出力する。
【００３２】
ＰＩ補償器１６は、いわゆるＰＩ制御を実行する演算器である。ＰＩ補償器１６は、ｄｑ軸電流指令値ｉｄ＊、ｉｑ＊と、ｄｑ軸電流検出値ｉｄ、ｉｑとの偏差に対して、比例ゲインを乗算した値と、当該偏差の積分値に積分ゲインを乗算した値とを合算して、合算した値ｖｄ_ｆｂ＊、ｖｑ_ｆｂ＊を加算器１８に出力する。
【００３３】
非干渉電圧演算器１５は、あらかじめ記憶しているテーブルを参照して、入力される目標トルクＴ＊と、モータ９の回転数Ｎと、バッテリ１９の電圧検出値ｖｄｃとに応じて、ｄ軸非干渉化電圧指令値ｖｄ＿ｄｃｐｌ＊、及び、ｑ軸非干渉化電圧指令値ｖｑ＿ｄｃｐｌ＊を求め、これらの指令値を加算器１８に出力する。
【００３４】
そして、加算器１８において、ｄｑ軸非干渉化電圧指令値ｖｄ＿ｄｃｐｌ＊、ｖｑ＿ｄｃｐｌ＊と、ＰＩ補償器１６の出力値ｖｄ_ｆｂ＊、ｖｑ_ｆｂ＊とが加算されることにより、ｄｑ軸において電流が流れる際に発生する干渉電圧が抑制されたｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊が算出される。算出されたｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊は、制御モード切替部３に出力される。
【００３５】
次に、図３を参照して、電圧位相制御部２の詳細について説明する。
【００３６】
図３は、本実施形態の電圧位相制御部２を実現するブロック構成の一例を示す図である。電圧位相制御部２は、電圧振幅演算器２０、電圧位相演算器２１、トルク推定器２２、ＰＩ補償器２３、ｄｑ軸電圧生成器２４、加算器２５、および、減算器２６を有する。
【００３７】
電圧振幅演算器２０は、バッテリ１９の電圧検出値ｖｄｃと、予め記憶された値である指令値変調率Ｍ＊とに基づいて、以下式（４）を用いて電圧振幅指令値ｖａ＊を算出する。算出した電圧振幅指令値ｖａ＊は、ｄｑ軸電圧生成器２４と、制御モード切替部３とに出力される。
【００３８】
【数４】
2019161854.tif 000006
【００３９】
電圧位相演算器２１は、あらかじめ実験または解析により求めたテーブルを備えており、入力される目標トルクＴ＊、モータ９の回転数Ｎ、および、電圧検出値ｖｄｃに応じて、電圧位相制御に用いる電圧位相指令値αｆｆ＊を求める。そして、電圧位相演算部２１は、電圧位相指令値αｆｆ＊を、加算器２５に出力する。
【００４０】
トルク推定器２２は、モータ９へと流れるｄ軸及びｑ軸の電流値と、モータ９に発生するトルクとの関係を示すテーブルを記憶している。なお、このテーブルは、実験または解析により求められる。トルク推定器２２は、このテーブルを参照して、ｄｑ軸電流検出値ｉｄ、ｉｑから、モータ９に発生しているトルクの推定値としての推定トルクＴｃａｌを算出し、算出した値を減算器２６に出力する。
【００４１】
減算器２６は、目標トルクＴ＊と、推定トルクＴｃａｌとの偏差を演算して、得た値をＰＩ補償器２３に出力する。
【００４２】
ＰＩ補償器２３は、いわゆるＰＩ制御を実行する演算器である。ＰＩ補償器２３は、目標トルクＴ＊と、推定トルクＴｃａｌとの偏差に対して比例ゲインを乗算した値と、当該偏差の積分値に積分ゲインを乗算した値とを合算して、合算した値αｆｂ＊を加算器２５に出力する。
【００４３】
加算器２５は、電圧位相指令値αｆｆ＊とαｆｂ＊とを加算することにより最終電圧位相指令値α＊を算出して、最終電圧位相指令値α＊をｄｑ軸電圧生成器２４に出力する。
【００４４】
ｄｑ軸電圧生成器２４は、入力される電圧振幅指令値ｖａ＊と最終電圧位相指令値α＊とに基づいて、以下式（５）を用いてｄ軸電圧指令値ｖｄｖ＊、ｑ軸電圧指令値ｖｑｖ＊を算出する。算出されたｄｑ軸電圧指令値ｖｄｖ＊、ｖｑｖ＊は、制御モード切替部３に出力される。
【００４５】
【数５】
2019161854.tif 000007
【００４６】
次に、図４を参照して、制御モード切替部３の詳細について説明する。
【００４７】
図４は、本実施形態の制御モード切替部３を実現するブロック構成の一例を示す図である。制御モード切替部３は、フィルタ処理器３０、制御モード判定器３１、切換器３２、切換器３３、および前回値処理器３４を有する。
【００４８】
フィルタ処理器３０は、入力されるｄ軸電流指令値ｉｄ＊とｄ軸電流検出値ｉｄとに対して、以下（６）式を用いたフィルタ処理を施すことにより、ｄ軸電流指令値フィルタ値ｉｄ_ｆｌｔ＊とｄ軸電流検出値フィルタ値ｉｄ_ｆｌｔとを算出する。ただし、以下式（６）中のτswは、ローパスフィルタを構成する時定数である。
【００４９】
【数６】
2019161854.tif 000008
【００５０】
前回値処理器３４は、後述する制御モード判定器３１の出力である制御モードフラグＣＮＴ_ＦＬＧの値を記憶する。そして、前回値処理器３４は、制御モードフラグＣＮＴ_ＦＬＧの一制御周期前の値（前回値）として、制御モードフラグ前回値ＣＮＴ_ＦＬＧ_ｚ（以下、単に「前回値ＣＮＴ_ＦＬＧ_ｚ」と称する）を制御モード判定器３１に出力する。
【００５１】
制御モード判定器３１は、前回値ＣＮＴ_ＦＬＧ_ｚ、ｄ軸電流指令値フィルタ値ｉｄ_ｆｌｔ＊、ｄ軸電流検出値フィルタ値ｉｄ_ｆｌｔ、ｑ軸電流指令値ｉｑ＊、ｑ軸電流検出値ｉｑ、電圧振幅指令値ｖａ＊、回転数変化率ｄＮ／ｄｔ、および、ｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊に基づいて制御モードを判定し、電流制御モードと電圧位相制御モードとのいずれか一方の制御モードを指示する制御モードフラグＣＮＴ_ＦＬＧを出力する。制御モード判定器３１において実行される制御モード判定処理の詳細は、図５を参照して後述する。
【００５２】
切替器３２、３３は、制御モードフラグＣＮＴ_ＦＬＧに応じて、電流制御モードと電圧位相制御モードとを切替える。具体的には、切替器３２、３３は、制御モードフラグＣＮＴ_ＦＬＧに従って、電流ベクトル制御部１で算出された電圧指令値（ｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊）と電圧位相制御部２で算出された電圧指令値（ｄｑ軸電圧指令値ｖｄｖ＊、ｖｑｖ＊）のいずれかを選択する。そして、選択された電圧指令値を、ｄｑ軸電圧指令値ｖｄ＊、ｖｑ＊として座標変換器４に出力する。これにより、モータ９を動作させる制御モードとして、電流制御モードと電圧位相制御モードとを切り替えることができる。
【００５３】
以下では、制御モード判定器３１にて実行される制御モード判定処理の詳細を説明する。
【００５４】
図５は、本実施形態の制御モード判定器３１が実行する制御モード判定処理を示すフローチャートである。以下で説明する制御モード判定処理は、図５で示すスタートからエンドまでにかかる一制御周期を、車両システムが起動している間、一定の間隔で常時実行するように上記コントローラにプログラムされている。
【００５５】
ステップＳ５０１では、コントローラは、一制御周期前の制御モードが電圧位相制御であるか否かを判定する。一制御周期前の制御モードが電圧位相制御であれば、電流ベクトル制御へ切り替えるか否かを判定するためにステップＳ５０４以降の処理が実行される。一制御周期前の制御モードが電流ベクトル制御であれば、電圧位相制御へ切り替えるか否かを判定するためにステップＳ５０２、Ｓ５０３の処理が実行される。ステップＳ５０３、５０３の処理については後述する。
【００５６】
ステップＳ５０４では、コントローラは、モータ９の回転数変化率ｄＮ／ｄｔが所定値以上であるか否かを判定する。回転数変化率ｄＮ／ｄｔが大きい場合、すなわち、減速度が大きい場合は、ｄ軸電流の変化率よりも、主にトルクの増減に寄与するｑ軸電流の変化率（増加率）の方が大きい。従って、車両の減速度が大きい場合には、制御モード判定処理をｑ軸電流を用いて行う方が、ｄ軸電流を用いて行うよりも、制御モードの切替判定をより速く、より適切に判定することができる。本ステップにおいて比較対象となる所定値（ｄＮ／ｄｔ）は、このような観点に基づいて、実験やシミュレーション解析等により導かれた適切な値が適宜設定される。一例としては、ｄ軸電流の変化率よりもｑ軸電流の増加率が大きくなるような回転数変化率ｄＮ／ｄｔが設定される。モータ９の回転数変化率ｄＮ／ｄｔが所定値以上の場合は、続くステップＳ５０５の処理が実行される。回転数変化率ｄＮ／ｄｔが所定値未満の場合は、ステップＳ５０７の処理が実行される。なお、以下で用いる急減速の用語は、少なくとも回転数変化率ｄＮ／ｄｔが所定値以上の場合を含むものとする。
【００５７】
ステップＳ５０５では、コントローラは、ｑ軸電流指令値ｉｑ＊の絶対値が所定値以上か否かを判定する。本ステップでは、コントローラは、モータ９が高トルク領域にあるか否かを判定する。本実施形態では、モータ９が高トルク領域にあるか否かを判定する指標としてｑ軸電流指令値ｉｑ＊の絶対値が用いられる。なお、ステップＳ５０５は、モータ９が出力するトルクが高トルク領域内にあるか否かを判定する高トルク領域判定ステップの一例である。
【００５８】
ここで、電圧位相制御では、モータ９が高トルク領域にある場合に急減速すると、減速前の回転数Ｎに応じた電圧が過剰に印加されることにより過電流が発生し得る。発生した過電流は、モータ９やインバータ６を損傷する虞がある。従って、ステップＳ５０５において比較対象となるｑ軸電流指令値ｉｑ＊の絶対値は、急減速しても、過電流が発生しない程度のトルク相当のｑ軸電流指令値ｉｑ＊が設定される。換言すると、本ステップでは、急減速すると過電流が発生するトルク相当以上のトルク領域を高トルク領域とする。
【００５９】
なお、本実施形態では、モータ９が高トルク領域にあるか否かを判定する指標としてｑ軸電流指令値ｉｑ＊の絶対値を用いているが、必ずしもこれに限られない。モータ９が高トルク領域にあるか否かを判定する指標としては、モータ９のトルクの大小と相関関係がある指標であればよく、特に限定されない。例えば、ｑ軸電流指令値ｉｑ＊ではなく、ｑ軸電流検出値ｉｑ、又は、ｑ軸電流の推定値を用いてもよい。或いは、モータ９に対するトルク指令値（目標トルクＴ＊）、モータ９のトルク検出値、又は、モータ９のトルク推定値（推定トルクＴｃａｌ）を用いてもよい。或いは、モータ９に対する電圧位相指令値α＊、電圧位相検出値、および、電圧位相推定値のいずれかで実施してもよい。なお、ここで用いられる検出値（モータ９のトルク検出値、電圧位相検出値）の検出方法、及び、推定値（ｑ軸電流の推定値、電圧位相推定値）の推定方法は公知の方法を用いればよく、特に限定されない。
【００６０】
本実施形態では、ｑ軸電流指令値ｉｑ＊の絶対値が所定値以上であれば、続くステップＳ５０６の処理が実行される。ｑ軸電流指令値ｉｑ＊の絶対値が所定値未満であれば、ステップＳ５０７の処理が実行される。
【００６１】
ステップＳ５０６では、コントローラは、ｑ軸電流検出値ｉｑの絶対値が、ｑ軸電流指令値ｉｑ＊の絶対値以上か否かを判定する。電圧位相制御において、ｑ軸電流検出値ｉｑの絶対値がｑ軸電流指令値ｉｑ＊の絶対値以上であれば、過電流が発生し得る。従って、ｑ軸電流検出値ｉｑの絶対値が、ｑ軸電流指令値ｉｑ＊の絶対値以上と判定された場合は、コントローラは、電流ベクトル制御へと切り替えるためにステップＳ５０８の処理を実行する。ｑ軸電流検出値ｉｑの絶対値がｑ軸電流指令値ｉｑ＊の絶対値未満であれば、本制御周期においては過電流が発生していないので、コントローラは、電圧位相制御を維持するためにステップＳ５０９の処理を実行する。
【００６２】
一方、ステップＳ５０７では、コントローラは、ｄ軸電流検出値フィルタ値ｉｄ_ｆｌｔがｄ軸電流指令値フィルタ値ｉｄ_ｆｌｔ＊以上か否かを判定する。本ステップは、ステップＳ５０４において車両の減速度が緩減速中である（急減速中ではない）と判定された場合、または、ステップＳ５０５において、モータ９のトルク領域が低トルク領域である（高トルク領域ではない）と判定された場合に実行される処理である。
【００６３】
ここで、ｑ軸電流検出値ｉｑ＊は、ノイズの影響によりリプル成分を伴うため、緩減速中にｑ軸電流に基づいて制御モードの切替を行うと、リプル成分の影響によりトルク段差が発生し得る。従って、急減速時以外（ステップ５０４におけるＮＯ判定以降）では、ｄ軸電流のフィルタ値（ｉｄ_ｆｌｔ、ｉｄ_ｆｌｔ＊）に基づいて制御モードの切替判定を行うことにより、トルク段差の発生を抑制して制御モードの切替を実行することができる。また、そもそもｄ軸電流は、低トルク領域でもノイズの影響を受けにくいので、低トルク領域（ステップＳ５０５におけるＮＯ判定）での制御モード判定の指標として用いられることにより、低トルク領域におけるモード切替判定を適正に行うことができる。
【００６４】
従って、ステップＳ５０７では、コントローラは、ｄ軸電流検出値フィルタ値ｉｄ_ｆｌｔがｄ軸電流指令値フィルタ値ｉｄ_ｆｌｔ＊以上か否かを判定することにより制御モード切替判定を実施する。ｄ軸電流検出値フィルタ値ｉｄ_ｆｌｔがｄ軸電流指令値フィルタ値ｉｄ_ｆｌｔ＊未満の場合は、いわゆる弱め界磁制御が行われるような高回転領域であると判断されるので、電圧位相制御を維持するためにステップＳ５０９の処理が実行される。一方、ｄ軸電流検出値フィルタ値ｉｄ_ｆｌｔがｄ軸電流指令値ｉｄ_ｆｌｔ＊以上である場合には、弱め界磁制御が行われるような高回転領域ではないと判断されるので、電圧位相制御から電流ベクトル制御へ切り替えるためにステップＳ５０８の処理が実行される。
【００６５】
次に、ステップＳ５０２の処理について説明する。ステップＳ５０２は、一制御周期前の制御モードが電流ベクトル制御であった場合（ステップＳ５０１におけるＮＯ判定）に実行される処理である。
【００６６】
ステップＳ５０２では、コントローラは、ｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊に基づいて、電圧振幅ｖａを以下式（７）を用いて算出する。電圧振幅ｖａが算出されると、続くステップＳ５０３の処理が実行される。
【００６７】
【数７】
2019161854.tif 000009
【００６８】
ステップＳ５０３では、コントローラは、電圧振幅ｖａが電圧振幅指令値ｖａ＊以上か否かを判定する。電圧振幅ｖａが電圧振幅指令値ｖａ＊以上であれば、電圧飽和領域にあると推察されるので、制御モードを電圧位相制御に切替えるためにステップＳ５０９の処理が実行される。電圧振幅ｖａが電圧振幅指令値ｖａ＊未満であれば、電流ベクトル制御を維持するために、ステップＳ５０８の処理が実行される。
【００６９】
以上説明したようにして、ステップＳ５０８、又はステップＳ５０９において制御モードが決定されると、一制御周期にかかる制御モード判定処理は終了する。これにより、モータ９を制御する制御モードが適正に選択され、切り替えられる。続いて、図６〜８を参照して、上述の制御モード判定処理が実行されることによる効果について説明する。
【００７０】
図６は、少なくとも急減速時以外の通常時の電流・電圧ベクトル図を示す。図中のφａは磁石磁束ベクトル、φ０は電機子鎖交磁束ベクトル、Ｌｄはｄ軸インダクタンス、Ｌｑはｑ軸インダクタンス、ωはモータ電気角速度、Ｉａは電流ベクトル、Ｒａは巻線抵抗値、ｖ０は誘起電圧ベクトル、ｖａはモータ９のモータ端子電圧ベクトルを示す。
【００７１】
これに対して、図７は、急減速時の電流・電圧ベクトル図を示す。図中の各記号は、図７で示す各記号と同様である。
【００７２】
図７で示す電機子鎖交磁束ベクトルφ０は、図６で示すφ０に比べて大きい。これは、モータ端子電圧ベクトルｖａの大きさが、モータ９の電気角速度ωと電機子鎖交磁束ベクトルφ０の大きさに比例するからである。すなわち、電圧位相制御中は、モータ端子電圧の大きさを維持するように制御するため、急減速時にモータ９の電気角速度ωが小さくなると、電機子鎖交磁束ベクトルφ０が増大する。この時、図７で示すとおり、ｑ軸電流ｉｑは増加する。
【００７３】
ここで、モータ９を制御する各制御モード（電流ベクトル制御、電圧位相制御）は、図８で示すような電流領域に切り分けられる。各制御モードを切り替える際は、理想的には、モータ９の動作点が、電圧位相制御領域と電流制御領域との境界に位置しているのが好ましい。そして、図８で示すように、急減速時などにモータ９の動作点（電流ベクトル）が変化する際において、当該動作点が境界を超えたか否か検知するためには、ｄ軸電流、およびｑ軸電流のうち、より変化率の大きい電流を指標とする方がより速く検知できることが分かる。従って、上述したように、車両の急減速時にはｑ軸電流ｉｑの増幅率が大きくなるので、ｑ軸電流の大きさに基づいて制御モードの切替判定を行うことにより、ｄ軸電流に基づいて行うよりもより早期に電流ベクトル制御への切り替え判定を実行することができる。
【００７４】
このように、電圧位相制御中における急減速時においては、ｑ軸電流を用いて制御モードの切替判定を行うことで、より早期に電流ベクトル制御に切替えることができる。その結果、制御モードが切り換えられた後の電流ベクトル制御では、急減速中のモータ回転速度の減少に応じてモータ端子電圧の大きさを抑制するように制御されるので、過剰な電圧がモータ９に印加されることによる過電流の発生を抑制することができる。
【００７５】
ただし、ｑ軸電流ｉｑは低トルク領域ではゼロに近い値になるため、ノイズの影響により適正な制御モード切替判定を実施することが困難になる。そのため、本実施形態では、ｑ軸電流に基づく制御モード切替処理は、高トルク領域において実施するのが好ましい（図５のステップＳ５０５等を参照）。なお、低トルク領域では、電圧位相制御中に急減速が発生したとしても、電流増加量は小さいため、モータ９やインバータ６を損傷させるほどの過電流が発生する可能性は低い。
【００７６】
以上、一実施形態のモータ制御方法によれば、モータ９に対するトルク指令値（目標トルクＴ＊）に応じて電流を制御することによりモータを制御する電流制御（電流ベクトル制御）を実行する電流制御ステップと、モータに対するトルク指令値に応じて電圧位相を制御することによりモータ９を制御する電圧位相制御を実行する電圧位相制御ステップと、モータ９の制御モードを電圧位相制御から電流制御に切替えるか否かを判定するモード切替判定ステップと、モード切替判定ステップでの判定結果に応じて制御モードを切り替えるモード切替ステップと、を含み、モード切替判定ステップは、モータ９の減速度が所定値以上の場合はｑ軸電流に基づいて実施され、モータの減速度が所定値未満の場合はｄ軸電流に基づいて実施される。
【００７７】
これにより、モータ９の制御モードを電圧位相制御から電流制御に切替えるか否かの判定が、モータ９の減速度が所定値以上の場合、すなわち、ｑ軸電流の増加率がｄ軸電流に対して相対的に高い場面でのみｑ軸電流に基づいて実施され、モータの減速度が所定値未満の場合はｄ軸電流に基づいて実施される。その結果、モータ９の出力トルクが小さくなる場面であっても、電圧位相制御から電流ベクトル制御への切り替え判定をより適正に実施することができる。また、ｑ軸電流の増加率がｄ軸電流に対して相対的に高い場面において、ｑ軸電流に基づいて切り替え判定が実施されるので、従来に比べて、より早期に切替判定を行うことができるので、過電流の発生をより的確に抑制することができる。
【００７８】
また、一実施形態のモータ制御方法によれば、モータ９が出力するトルクが高トルク領域内にあるか否かを判定する高トルク領域判定ステップをさらに含み、モード切替ステップは、モータ９の減速度が所定値以上であって、且つ、モータ９が出力するトルクが高トルク領域内にある場合は、ｑ軸電流に基づいて実施され、モータ９の減速度が所定値未満であって、且つ、モータ９が出力するトルクが高トルク領域内もない場合は、ｄ軸電流に基づいて実施される。これにより、ｑ軸電流に基づく制御モード切替判定が高トルク領域でのみ実施され、ノイズ等の影響が大きい低トルク領域では実施されないので、電圧位相制御から電流ベクトル制御への切り替え判定をより適正に実施することができる。結果として、高トルク領域、且つ、減速度が所定値以上の場合に発生する過電流を防止することができる。
【００７９】
またさらに、一実施形態のモータ制御方法によれば、高トルク領域判定ステップでは、
ｑ軸電流指令値ｉｑ＊、ｑ軸電流検出値ｉｑ、およびｑ軸電流推定値のいずれかに基づいて、モータ９が出力するトルクが高トルク領域内にあるか否かを判定してもよい。
【００８０】
また、一実施形態のモータ制御方法によれば、高トルク領域判定ステップでは、トルク指令値（目標トルクＴ＊）、トルク検出値、およびトルク推定値（推定トルクＴｃａｌ）のいずれかに基づいて、モータ９が出力するトルクが高トルク領域内にあるか否かを判定してもよい。
【００８１】
またさらに、一実施形態のモータ制御方法によれば、高トルク領域判定ステップでは、電圧位相制御で用いられる電圧位相指令値α＊、電圧位相検出値、および電圧位相推定値のいずれかに基づいて、モータ９が出力するトルクが高トルク領域内にあるか否かを判定してもよい。
【００８２】
これにより、モータ９が出力するトルクに対応する動作点が高トルク領域にあるか否かを様々な方法で判定することができる。
【００８３】
また、一実施形態のモータ制御方法によれば、ｄ軸電流に対して、高周波成分を除去するローパスフィルタ（フィルタ処理器３０）を用いたフィルタ処理を実行する。これにより、急減速時以外（緩減速時）では、ｄ軸電流のフィルタ値（ｉｄ_ｆｌｔ、ｉｄ_ｆｌｔ＊）に基づいて制御モードの切替判定を行うことにより、急減速時以外においてもｄ軸電流に基づいて、トルク段差の発生を抑制して制御モードを切り替えることができる。
【００８４】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。例えば、電流ベクトル制御部１、電圧位相制御部２、および制御モード切替部３はコントローラが有する一機能部として構成される旨説明したが、コントローラが有する機能部は、必ずしもこれらだけに限られない。図１で示す、座標変換器４、１２、或いは回転数変化率演算器１３、回転数演算器１１等も、上記コントローラの一機能部として構成されてもよい。
【符号の説明】
【００８５】
１…電流ベクトル制御部
２…電圧位相制御部
３…制御モード切替部（モード切替判定部、モード切替部）
９…モータ
【図１】
2019161854.tif 000010
【図２】
2019161854.tif 000011
【図３】
2019161854.tif 000012
【図４】
2019161854.tif 000013
【図５】
2019161854.tif 000014
【図６】
2019161854.tif 000015
【図７】
2019161854.tif 000016
【図８】
2019161854.tif 000017