(57)【要約】  制御装置１００は、トルク指令値に基づいて電動機９への供給電流の偏差を小さくする電圧値を示すフィードバック指令値とその指令値を補償するフィードフォワード補償値とを演算することで電流ベクトル制御の電圧指令値を出力する。電動機９の制御を電流ベクトル制御から電圧位相制御へ切り替える場合には、制御装置１００は、電流ベクトル制御の演算値に基づいて電圧位相制御を初期化し、トルク指令値に基づいて所定の電圧位相指令値に対するフィードバック制御を実行することで電圧位相制御の電圧指令値を出力する。電圧位相制御を初期化する場合において制御装置１００は、フィードバック指令値に対してその指令値の低周波成分を通過させるフィルタ処理を施し、フィードフォワード補償値及びフィルタ処理後のフィードバック指令値を用いて電圧位相指令値の初期値を演算する。
2019106838.tif 000002
【特許請求の範囲】
【請求項１】
電動機に供給される電力を制御するための電流ベクトル制御及び電圧位相制御のうち、いずれか一つの制御を前記電動機の作動状態に応じて実行する制御方法であって、
前記電動機のトルク指令値に基づいて、前記電動機への供給電流の偏差を小さくする電圧値を示すフィードバック指令値及び当該指令値を補償するフィードフォワード補償値を演算することにより、前記電流ベクトル制御の電圧指令値を出力する電流制御ステップと、
前記電動機の制御を前記電流ベクトル制御から前記電圧位相制御へ切り替える場合には、前記電流ベクトル制御の演算値に基づいて前記電圧位相制御を初期化する切替制御ステップと、
前記電動機のトルク指令値に基づいて、所定の電圧位相指令値に対するフィードバック制御を実行することにより、前記電圧位相制御の電圧指令値を出力する電圧位相制御ステップと、を含み、
前記切替制御ステップは、前記フィードバック指令値に対して当該指令値の低周波成分を通過させるフィルタ処理を施し、前記フィードフォワード補償値及び前記フィルタ処理後のフィードバック指令値を用いて前記電圧位相指令値の初期値を演算する、
電動機の制御方法。
【請求項２】
請求項１に記載の電動機の制御方法であって、
前記切替制御ステップは、前記初期値に基づいて前記フィードバック制御の積分値を更新する、
電動機の制御方法。
【請求項３】
請求項２に記載の電動機の制御方法であって、
前記フィードバック制御は、前記電圧位相指令値に対して前記電動機に生じるトルクをフィードバックする制御であり、
前記切替制御ステップは、前記初期値から前記電圧位相指令値のフィードフォワード成分を減じた値を前記積分値に設定する、
電動機の制御方法。
【請求項４】
電動機に供給される電力を制御するための電流ベクトル制御及び電圧位相制御のうち、いずれか一つの制御を電動機の作動状態に応じて実行する制御装置であって、
前記電動機の制御に基づいて前記電動機に交流電力を供給するインバータと、
前記インバータから前記電動機に供給される電流を検出するセンサと、
前記電動機のトルク指令値に基づいて、前記電動機への供給電流の偏差を小さくする電圧値を示すフィードバック指令値及び当該指令値を補償するフィードフォワード補償値を演算することにより、前記電流ベクトル制御を実行するコントローラと、
前記フィードバック指令値に対して当該指令値の低周波成分を通過させるフィルタ処理を施すフィルタと、を含み、
前記コントローラは、前記電動機の制御を前記電圧位相制御に切り替える場合には、前記フィードフォワード補償値と前記フィルタの出力に基づいて、前記電圧位相制御を初期化する、
電動機の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動機の状態に応じて電動機の制御を他の制御に切り替える電動機の制御方法及び電動機の制御装置に関する。
【背景技術】
【０００２】
電動機の制御手法としては、例えば、電動機への供給電流の値を電圧指令値にフィードバックする電流ベクトル制御、及び電動機の発生トルクの値を電圧位相指令値にフィードバックする電圧位相制御などが知られている。これらの制御については、電動機の作動状態に合わせていずれか一つの制御が実行されることが多い。【０００３】
上述のような制御装置のひとつとして、電動機の制御を電流ベクトル制御から電圧位相制御へ切り替える際に、電流ベクトル制御の電圧指令値に基づいて電圧位相制御の制御状態変数を初期化する制御装置が提案されている（ＪＰ２００７−１４３２３５Ａ）。
【発明の概要】
【０００４】
しかしながら、上述の制御装置においては、電動機への供給電流を検出する電流センサなどの誤差特性により、電流ベクトル制御の電圧指令値にリップルが重畳されることがある。このような場合において、電動機の制御を電流ベクトル制御から電圧位相制御へ切り替えると、電圧指令値のリップル成分が原因となり、電動機のトルクに変動が生じる場合がある。
【０００５】
本発明の目的は、電動機の制御を電圧位相制御に切り替える際に生じる電動機のトルク変動を抑制する制御方法及び電動機の制御装置を提供することにある。
【０００６】
本発明のある態様によれば、電動機の制御方法は、電動機に供給される電力を制御するための電流ベクトル制御及び電圧位相制御のうちいずれか一つの制御を前記電動機の作動状態に応じて実行する。この電動機の制御方法は、前記電動機のトルク指令値に基づいて、前記電動機への供給電流の偏差を小さくする電圧値を示すフィードバック指令値及び当該指令値を補償するフィードフォワード補償値を演算することにより、前記電流ベクトル制御の電圧指令値を出力する電流制御ステップを含む。さらに電動機の制御方法は、前記電動機の制御を前記電流ベクトル制御から前記電圧位相制御へ切り替える場合には、前記電流ベクトル制御の演算値に基づいて前記電圧位相制御を初期化する切替制御ステップと、前記電動機のトルク指令値に基づいて、所定の電圧位相指令値に対するフィードバック制御を実行することにより、前記電圧位相制御の電圧指令値を出力する電圧位相制御ステップと、を含む。そして切替制御ステップは、前記フィードバック指令値に対して当該指令値の低周波成分を通過させるフィルタ処理を施し、前記フィードフォワード補償値及び前記フィルタ処理後のフィードバック指令値を用いて前記電圧位相指令値の初期値を演算する。
【図面の簡単な説明】
【０００７】
【図１】図１は、本発明の実施形態における電動機の制御装置の構成例を示す図である。
【図２】図２は、本実施形態における制御装置の電流ベクトル制御部の構成例を示すブロック図である。
【図３】図３は、本実施形態における制御装置の初期値演算部の構成例を示すブロック図である。
【図４】図４は、本実施形態における制御装置の電圧位相制御部の構成例を示すブロック図である。
【図５】図５は、電圧位相制御に切り替える際に生じる電動機のトルク変動を説明する図である。
【図６】図６は、本実施形態における電動機の制御方法を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【０００９】
（第１実施形態）
図１は、本発明の第１実施形態における電動機の制御装置１００の構成例を示す図である。
【００１０】
制御装置１００は、あらかじめプログラムされた処理を実行することにより、電動機９に供給される電力を制御する。制御装置１００は、例えば、１又は複数のコントローラにより構成される。
【００１１】
制御装置１００は、電流ベクトル制御部１と、電圧位相制御部２と、制御切替部３と、座標変換器４と、ＰＷＭ変換器５と、インバータ６と、バッテリ電圧検出器７と、電動機電流検出器８と、電動機９と、を備える。さらに制御装置１００は、回転子検出器１０と、回転速度演算器１１と、座標変換器１２と、初期値演算部１３と、を備える。
【００１２】
電流ベクトル制御部１は、電動機９に生じるトルクが所定のトルク指令値Ｔ*に収束するように電流ベクトル制御を実行する。ここにいう電流ベクトル制御は、電動機９への供給電流に関するベクトルの向き及び大きさを変えることにより、電動機９の動作を制御する制御方式である。
【００１３】
電流ベクトル制御部１は、電動機９のトルク指令値Ｔ*に基づいて、バッテリ６１からインバータ６を介して電動機９に供給される電力の電流値を電圧指令値ｖdi*及びｖqi*にフィードバックするフィードバック制御を実行する。
【００１４】
本実施形態の電流ベクトル制御部１は、電動機９のトルク指令値Ｔ*、回転速度検出値Ｎ、及びバッテリ電圧検出値Ｖdcを用いて、ｄ軸電流検出値ｉdをｄ軸電圧指令値ｖdi*にフィードバックし、ｑ軸電流検出値ｉqをｑ軸電圧指令値ｖqi*にフィードバックする。ここにいうｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqは、それぞれ、電動機９への供給電流のｄ軸成分の値及びｑ軸成分の値を示す。ｄ軸及びｑ軸は、互いに直交する座標軸である。
【００１５】
電流ベクトル制御部１は、フィードバック制御により算出されたｄ軸電圧指令値ｖdi*及びｑ軸電圧指令値ｖqi*を制御切替部３に電流ベクトル制御の電圧指令値として出力する。
【００１６】
電圧位相制御部２は、電動機９に生じるトルクが上述のトルク指令値Ｔ*に収束するように電圧位相制御を実行する。ここにいう電圧位相制御は、電動機９の各相の供給電圧間の位相である電圧位相を変えることにより、電動機９の動作を制御する制御方式である。
【００１７】
電圧位相制御部２は、トルク指令値Ｔ*に基づいて、バッテリ６１からインバータ６を介して電動機９に供給される電力の電流値を電圧指令値ｖdv*及びｖqv*にフィードバックするフィードバック制御を実行する。
【００１８】
本実施形態の電圧位相制御部２は、トルク指令値Ｔ*、回転速度検出値Ｎ及びバッテリ電圧検出値Ｖdcを用いて所定の電圧振幅指令値及び電圧位相指令値を演算し、ｄ軸及びｑ軸電流検出値ｉd及びｉqを用いて電圧位相指令値にフィードバックする。電圧位相制御部２は、フィードバック制御により算出されたｄ軸電圧指令値ｖdv*及びｑ軸電圧指令値ｖqv*を制御切替部３に電圧位相制御の電圧指令値として出力する。
【００１９】
制御切替部３は、制御モードフラグＣＮＴ_ＦＬＧに従って、電動機９の制御を電流ベクトル制御及び電圧位相制御のうちのいずれか一つの制御へ切り替える。
【００２０】
制御モードフラグＣＮＴ_ＦＬＧは、電動機９の作動状態に応じて識別子が変更される。本実施形態では、電流ベクトル制御を示す識別子が「１」であり、電圧位相制御を示す識別子が「２」であり、緊急時に実行される他の制御を示す識別子が「３」である。
【００２１】
電動機９の作動状態を表わすトルク指令値Ｔ*やｄ軸電流検出値ｉd、回転速度検出値Ｎなどを用いて制御モードフラグＣＮＴ_ＦＬＧに識別子が設定される。例えば、電動機９のトルクが低い場合には、制御モードフラグＣＮＴ_ＦＬＧに電流ベクトル制御を示す識別子が設定され、電流ベクトルの大きさが所定の閾値に達した場合には、電圧位相制御を示す識別子が設定される。
【００２２】
制御切替部３は、少なくとも電流ベクトル制御及び電圧位相制御の中から選択した制御によって演算された値をｄ軸及びｑ軸の最終電圧指令値ｖd*及びｖq*として座標変換器４に出力する。
【００２３】
座標変換器４は、式（１）のように、電動機９の電気角検出値θに基づいて、ｄ軸及びｑ軸の最終電圧指令値ｖd*及びｖq*を三相電圧指令値ｖu*、ｖv*及びｖw*に変換する。
【００２４】
【数１】
2019106838.tif 000003
【００２５】
ＰＷＭ変換器５は、バッテリ６１のバッテリ電圧検出値Ｖdcに基づいて、三相電圧指令値ｖu*、ｖv*及びｖw*を、インバータ６に配置されたパワー素子の各々を駆動するためのパワー素子駆動信号Ｄuu*、Ｄul*、Ｄvu*、Ｄvl*、Ｄwu*及びＤwl*に変換する。ＰＷＭ変換器５は、変換したパワー素子駆動信号Ｄuu*、Ｄul*、Ｄvu*、Ｄvl*、Ｄwu*及びＤwl*をインバータ６の各パワー素子に供給する。
【００２６】
インバータ６は、パワー素子駆動信号Ｄuu*、Ｄul*、Ｄvu*、Ｄvl*、Ｄwu*及びＤwl*に基づいて、バッテリ６１の直流電圧を、電動機９を駆動するための三相交流電圧ｖu、ｖv及びｖwに変換する。インバータ６は、変換した三相交流電圧ｖu、ｖv及びｖwを電動機９の各相に供給する。
【００２７】
バッテリ電圧検出器７は、インバータ６に対して接続されたバッテリ６１の電圧を検出する。バッテリ電圧検出器７は、検出した電圧の値を示すバッテリ電圧検出値Ｖdcを、電流ベクトル制御部１及び電圧位相制御部２の各々に出力する。
【００２８】
電動機電流検出器８は、インバータ６から電動機９の各相に供給される三相交流電流ｉu、ｉv及びｉwのうち少なくとも二相の交流電流を検出する。本実施形態の電動機電流検出器８は、Ｕ相及びＶ相の交流電流ｉu及びｉvを検出し、検出した交流電流ｉu及びｉvを座標変換器１２に出力する。
【００２９】
電動機９は、複数の各相ごとに巻線（例えば、Ｕ、Ｖ及びＷの三相巻線）を備え、各相の巻線に交流電力を供給することにより回転駆動するモータである。電動機９は、電動車両などの駆動源として用いることが可能である。例えば、電動機９は、ＩＰＭ（Interior Permanent Magnet）型の三相同期電動機により実現される。
【００３０】
回転子検出器１０は、電動機９の電気角を検出する。回転子検出器１０は、検出した電気角の値を示す電気角検出値θを座標変換器４及び座標変換器１２の各々に出力するとともに、その電気角検出値θを回転速度演算器１１に出力する。
【００３１】
回転速度演算器１１は、電気角検出値θの時間当たりの変化量から電動機９の回転速度を演算する。回転速度演算器１１は、演算した回転速度の値を示す回転速度検出値Ｎを、電流ベクトル制御部１及び電圧位相制御部２の各々に出力する。
【００３２】
座標変換器１２は、式（２）のように、電動機９の電気角検出値θに基づいて、Ｕ相及びＶ相の交流電流ｉu及びｉvをｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqに変換する。座標変換器１２は、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqを、電流ベクトル制御部１及び電圧位相制御部２の各々に出力する。
【００３３】
【数２】
2019106838.tif 000004
【００３４】
初期値演算部１３は、電流ベクトル制御部１での演算値に基づいて、電圧位相制御部２を初期化する。例えば、初期値演算部１３は、電動機９の制御が電流ベクトル制御から電圧位相制御へ切り替えられる場合に、電流ベクトル制御部１の演算値に基づき電圧位相制御部２の状態変数をリセットする。
【００３５】
本実施形態の初期値演算部１３は、制御モードフラグＣＮＴ_ＦＬＧに示される識別子が「１」から「２」に切り替わった際に、電流ベクトル制御部１の演算値に基づいて電圧位相制御部２の状態変数を初期値に設定する。
【００３６】
図２は、本実施形態における電流ベクトル制御部１の構成例を示すブロック図である。ｄ軸電圧指令値ｖdi*を演算する構成と、ｑ軸電圧指令値ｖqi*を演算する構成とが同様の構成であるため、ここではｄ軸電圧指令値ｖdi*を演算する構成についてのみ説明する。
【００３７】
電流ベクトル制御部１は、非干渉電圧演算器１０１と、電流目標値演算器１０２と、減算器１０３と、ＰＩ制御器１０４と、加算器１０５と、を備える。
【００３８】
非干渉電圧演算器１０１は、トルク指令値Ｔ*に基づいて、ｄ軸電圧指令値ｖdi*を補償するフィードフォワード補償値を演算する。
【００３９】
本実施形態における非干渉電圧演算器１０１は、トルク指令値Ｔ*、回転速度検出値Ｎ及びバッテリ電圧検出値Ｖdcに基づいて、ｄ軸及びｑ軸間で互いに干渉する干渉電圧を打ち消す非干渉電圧値ｖd_dcpl*をフィードフォワード補償値として演算する。そして非干渉電圧演算器１０１は、演算した非干渉電圧値ｖd_dcpl*を加算器１０６に出力する。
【００４０】
例えば、非干渉電圧演算器１０１には、あらかじめ定められた非干渉テーブルが記憶されている。非干渉テーブルには、トルク指令値Ｔ*、回転速度検出値Ｎ及びバッテリ電圧検出値Ｖdcにより特定される動作点ごとに、非干渉電圧値ｖd_dcpl*が対応付けられている。
【００４１】
非干渉電圧演算器１０１は、トルク指令値Ｔ*、回転速度検出値Ｎ及びバッテリ電圧検出値Ｖdcの各パラメータを取得する。そして非干渉電圧演算器１０１は、上述の非干渉テーブルを参照し、各パラメータにより電動機９の動作点を特定し、その動作点に対応付けられた非干渉電圧値ｖd_dcpl*を算出する。
【００４２】
電流目標値演算器１０２は、トルク指令値Ｔ*に基づいて、電動機９の供給電流の偏差を小さくするために電動機９のｄ軸電流目標値ｉd*を演算する。
【００４３】
本実施形態における電流目標値演算器１０２は、非干渉電圧演算器１０１と同様、トルク指令値Ｔ*、回転速度検出値Ｎ及びバッテリ電圧検出値Ｖdcに基づいて、あらかじめ定められた電流テーブルを参照し、ｄ軸電流目標値ｉd*を演算する。
【００４４】
例えば、電流テーブルには、トルク指令値Ｔ*、回転速度検出値Ｎ及びバッテリ電圧検出値Ｖdcにより特定される動作点ごとに、ｄ軸電流目標値ｉd*が対応付けられている。電流テーブルのｄ軸電流目標値ｉd*には、電動機９がトルク指令値Ｔ*に従って動作するのに必要となる電動機９への電流値であって、電動機９の効率が最大となる電流値が格納される。
【００４５】
電流テーブルに格納される電流値は、実験データやシミュレーションなどを通じて適宜設定される。電流目標値演算器１０２は、演算したｄ軸電流目標値ｉd*を初期値演算部１３及び減算器１０３の各々に出力する。
【００４６】
減算器１０３は、ｄ軸電流目標値ｉd*からｄ軸電流検出値ｉdを減算し、減算した値をｄ軸電流偏差としてＰＩ制御器１０４に出力する。
【００４７】
ＰＩ制御器１０４は、トルク指令値Ｔ*に基づいて、電動機９の供給電流の偏差を小さくする電圧値を示すフィードバック指令値を演算する。
【００４８】
本実施形態におけるＰＩ制御器１０４は、ｄ軸電流検出値ｉdがｄ軸電流目標値ｉd*に追従するようｄ軸電流偏差をｄ軸電圧指令値ｖdi*にフィードバックする電流フィードバック制御を実行する。
【００４９】
例えば、ＰＩ制御器１０４は、式（３）のように、ｄ軸電流偏差ｉd_err（＝ｉd*−ｉd）に基づいて、電流ＦＢ電圧指令値ｖd_fb*をフィードバック指令値として算出する。
【００５０】
【数３】
2019106838.tif 000005
【００５１】
ただし、Ｋdpはｄ軸比例ゲインであり、Ｋdiはｄ軸積分ゲインである。ｄ軸比例ゲインＫdp及びｄ軸積分ゲインＫdiは、実験データやシミュレーション結果などを通じて求められる。
【００５２】
このように、ＰＩ制御器１０４は、ｄ軸電流偏差ｉd_errにｄ軸比例ゲインＫdpを乗算した乗算値と、ｄ軸電流偏差ｉd_errの積分値（Ｋdi／ｓ）との和を求めることにより、ｄ軸の電流ＦＢ電圧指令値ｖd_fb*を算出する。
【００５３】
ＰＩ制御器１０４は、電流ＦＢ電圧指令値ｖd_fb*を初期値演算部１３に出力するとともに、その電流ＦＢ電圧指令値ｖd_fb*を加算器１０５に出力する。
【００５４】
加算器１０５は、式（４）のように電流ＦＢ電圧指令値ｖd_fb*に非干渉電圧値ｖd_dcpl*を加算し、加算した値を制御切替部３に電流ベクトル制御のｄ軸電圧指令値ｖdi*として出力する。
【００５５】
【数４】
2019106838.tif 000006
【００５６】
このように、電流ベクトル制御部１は、トルク指令値Ｔ*に基づいて、ｄ軸の電流ＦＢ電圧指令値ｖd_fb*と、ｄ軸のフィードフォワード補償値である非干渉電圧値ｖd_dcpl*とを求めることにより、電流ベクトル制御のｄ軸電圧指令値ｖdi*を出力する。
【００５７】
図２では、電流ベクトル制御のｄ軸電圧指令値ｖdi*を演算する構成について説明したが、ｑ軸電圧指令値ｖqi*を演算する構成についても、図２に示した構成と同様の構成である。
【００５８】
したがって、電流ベクトル制御部１は、トルク指令値Ｔ*に基づいて、電動機９の供給電力のｄ軸及びｑ軸の電流成分の各偏差を小さくする電流ＦＢ電圧指令値ｖd_fb*及びｖq_fb*を演算する。そして電流ベクトル制御部１は、演算した電流ＦＢ電圧指令値ｖd_fb*及びｖq_fb*を補償するｄ軸及びｑ軸の非干渉電圧値ｖd_dcpl*及びｖq_dcpl*を演算することにより、電流ベクトル制御のｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*を算出する。
【００５９】
なお、電流ベクトル制御のｑ軸電圧指令値ｖqi*を演算する構成については、説明が重複するため、ここでの説明を省略する。
【００６０】
図３は、本実施形態における初期値演算部１３の構成例を示すブロック図である。
【００６１】
初期値演算部１３は、ｄ軸フィルタ１３１と、ｄ軸加算器１３２と、ｑ軸フィルタ１３３と、ｑ軸加算器１３４と、電圧位相演算器１３５と、を備える。
【００６２】
ｄ軸フィルタ１３１は、電流ベクトル制御部１の演算値であるｄ軸の電流ＦＢ電圧指令値ｖd_fbの低周波成分を通過させるローパスフィルタである。すなわち、ｄ軸フィルタ１３１は、ｄ軸電圧指令値ｖdi*を構成するフィードバック指令値に対してそのフィードバック指令値の低周波成分を通過させるフィルタ処理を施す。これにより、電流フィードバック制御に起因するｄ軸電圧指令値ｖdi*のリップル成分が除去される。
【００６３】
本実施形態のｄ軸フィルタ１３１は、式（５）のようなフィルタ処理をｄ軸の電流ＦＢ電圧指令値ｖd_fb*に対して施す。なお、式（５）中のτyはフィルタの時定数であり、ｄ軸電圧指令値ｖdi*のリップル成分が除去されるように、実験データやシミュレーション結果などを通じて求められる。
【００６４】
【数５】
2019106838.tif 000007
【００６５】
ｄ軸フィルタ１３１は、フィルタ処理後の電流ＦＢ電圧指令値ｖd_fb_flt*をｄ軸加算器１３２に出力する。
【００６６】
ｄ軸加算器１３２は、電流ベクトル制御部１の演算値であるｄ軸の非干渉電圧値ｖd_dcpl*とフィルタ処理後の電流ＦＢ電圧指令値ｖd_fb_flt*とを加算する。ｄ軸加算器１３２は、加算した値をフィルタ処理後のｄ軸電圧指令値ｖd_flt*として電圧位相演算器１３５に出力する。
【００６７】
ｑ軸フィルタ１３３は、電流ベクトル制御部１の演算値であるｑ軸の電流ＦＢ電圧指令値ｖq_fbの低周波成分を通過させるローパスフィルタである。すなわち、ｑ軸フィルタ１３３は、ｑ軸電圧指令値ｖqi*を構成するフィードバック指令値に対してそのフィードバック指令値の低周波成分を通過させるフィルタ処理を施す。
【００６８】
本実施形態のｑ軸フィルタ１３３は、ｄ軸フィルタ１３１と同様、式（５）のようなフィルタ処理をｑ軸の電流ＦＢ電圧指令値ｖq_fb*に対して施す。これにより、電流フィードバック制御に起因するｑ軸電圧指令値ｖqi*のリップル成分が除去される。ｑ軸フィルタ１３３は、フィルタ処理後の電流ＦＢ電圧指令値ｖq_fb_flt*をｑ軸加算器１３４に出力する。
【００６９】
ｑ軸加算器１３４は、電流ベクトル制御部１の演算値であるｑ軸の非干渉電圧値ｖq_dcpl*とフィルタ処理後の電流ＦＢ電圧指令値ｖq_fb_flt*とを加算する。ｑ軸加算器１３４は、加算した値をフィルタ処理後のｑ軸電圧指令値ｖq_flt*として電圧位相演算器１３５に出力する。
【００７０】
電圧位相演算器１３５は、電流ベクトル制御部１の演算値に基づいて、図１に示した電圧位相制御部２を初期化するための電圧位相指令値の初期値α_flt*を演算する。
【００７１】
本実施形態における電圧位相演算器１３５は、フィルタ処理後のｄ軸及びｑ軸電圧指令値ｖd_flt*及びｖq_flt*に基づいて、電圧位相指令値の初期値α_flt*を演算する。すなわち、電圧位相演算器１３５は、非干渉電圧値ｖd_dcpl*及びｖq_dcpl*とフィルタ処理後の電流ＦＢ電圧指令値ｖd_fb_flt*及びｖq_fb_flt*とを用いて、電圧位相制御部２を初期化する。
【００７２】
例えば、電圧位相演算器１３５は、式（６）のように、フィルタ処理後のｄ軸及びｑ軸電圧指令値ｖd_flt*及びｖq_flt*を用いて電圧位相指令値を演算し、その演算した値を電圧位相制御部２に初期値α_flt*として出力する。
【００７３】
【数６】
2019106838.tif 000008
【００７４】
したがって、電圧位相演算器１３５は、回転速度検出値Ｎが０（ゼロ）以上である場合、すなわち電動機９が力行状態である場合には、式（６）の上段の式を用いて電圧位相指令値の初期値α_flt*を算出する。そして回転速度検出値Ｎが０未満である場合、すなわち電動機９が回生状態である場合には、電圧位相演算器１３５は、下段の式を用いて初期値α_flt*を算出する。
【００７５】
このように初期値演算部１３は、電流ベクトル制御部１の電圧指令値ｖdi*及びｖqi*のフィードバック成分（ｖd_fb*及びｖq_fb*）に対してのみローパスフィルタ処理を施す。これにより、フィードフォワード成分（ｖd_dcpl*及びｖq_dcpl*）にはローパスフィルタ処理が施されないため、電動機９の制御遅れを抑制しつつ電流フィードバック制御に起因する電圧指令値ｖdi*及びｖqi*のリップル成分を的確に除去することができる。
【００７６】
したがって、電動機９の制御が電流ベクトル制御から電圧位相制御へ切り替えられたときに電圧位相制御部２の電圧位相指令値に設定される初期値α_flt*の誤差が、電圧指令値ｖdi*及びｖqi*のリップルノイズが原因で過大になる事態を回避することができる。
【００７７】
なお、本実施形態ではｄ軸及びｑ軸の電流ＦＢ電圧指令値ｖd_fb*及びｖq_fb*の双方に対してリップル成分を除去するためのローパスフィルタ処理を施したが、少なくとも一方に対してローパスフィルタ処理を施すようにしてもよい。この場合であっても、電圧位相指令値の初期値α_flt*の誤差を抑制することができる。
【００７８】
図４は、本実施形態における電圧位相制御部２の構成例を示すブロック図である。
【００７９】
電圧位相制御部２は、電圧振幅演算器２０１と、電圧位相演算器２０２と、トルク推定器２０３と、トルク偏差演算器２０４と、ＰＩ制御器２０５と、電圧位相加算器２０６と、ｄｑ軸電圧変換器２０７と、を備える。
【００８０】
電圧振幅演算器２０１は、あらかじめ定められた変調率指令値Ｍ*に基づいて、所定の電圧振幅指令値Ｖa*を演算する。ここにいう変調率指令値Ｍ*は、電圧位相制御における変調率の基準値を示す。電圧位相制御における変調率とは、電動機９における相間電圧の基本波成分の振幅のバッテリ電圧検出値Ｖdcに対する比率である。電動機９の相間電圧とは、例えば、Ｕ相とＶ相との間の電圧（ｖu−ｖv）のことである。
【００８１】
一般的に、電圧位相制御の変調率が０．０から１．０までの範囲は、ＰＷＭ変調により疑似正弦波電圧が生成可能な通常変調領域に該当する。これに対して変調率が１．０を上回る範囲は、過変調領域に該当し、疑似正弦波を生成しようとしても相間電圧の基本波成分の最大値及び最小値が制限される。例えば、変調率が約１．１まで大きくなると、相間電圧の基本波成分はいわゆる矩形波電圧と同様の波形になる。
【００８２】
本実施形態の電圧振幅演算器２０１は、バッテリ電圧検出値Ｖdcに応じて電圧振幅指令値Ｖa*を変更する。例えば、電圧振幅演算器２０１は、式（７）のように、電圧振幅指令値Ｖa*を算出する。電圧振幅演算器２０１は、算出した電圧振幅指令値Ｖa*をｄｑ軸電圧変換器２０７に出力する。
【００８３】
【数７】
2019106838.tif 000009
【００８４】
電圧位相演算器２０２は、フィードフォワード制御により、トルク指令値Ｔ*に基づいて、電動機９に供給すべき電圧の位相を示す電圧位相ＦＦ値αff*を演算する。本実施形態の電圧位相演算器２０２は、トルク指令値Ｔ*、回転速度検出値Ｎ、及びバッテリ電圧検出値Ｖdcを用いて電圧位相ＦＦ値αff*を算出する。
【００８５】
例えば、電圧位相演算器２０２には、あらかじめ定められた位相テーブルが記憶されている。この位相テーブルには、トルク指令値Ｔ*、回転速度検出値Ｎ、及びバッテリ電圧検出値Ｖdcにより特定される動作点ごとに、電圧位相ＦＦ値αff*が対応付けられている。位相テーブルの電圧位相ＦＦ値αff*としては、例えば、実験において電動機９の動作点ごとにノミナル状態で計測された電圧位相の値が用いられる。
【００８６】
電圧位相演算器２０２は、トルク指令値Ｔ*、回転速度検出値Ｎ、及びバッテリ電圧検出値Ｖdcの各パラメータを取得すると、位相テーブルを参照し、各パラメータにより特定される動作点に対応付けられた電圧位相ＦＦ値αff*を算出する。そして電圧位相演算器２０２は、算出した電圧位相ＦＦ値αff*を電圧位相加算器２０６に出力する。
【００８７】
トルク推定器２０３は、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqに基づいてトルク推定値Ｔcalを演算する。トルク推定器２０３には、あらかじめ定められたトルクテーブルが記憶されている。トルクテーブルには、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqにより特定められる動作点ごとに、トルク推定値Ｔcalが対応付けられている。トルクテーブルのトルク推定値Ｔcalとしては、例えば、実験においてｄｑ軸電流により特定される電動機９の動作点ごとに計測したトルクの計測値が用いられる。
【００８８】
トルク推定器２０３は、ｄ軸電流検出値ｉd及びｑ軸電流検出値ｉqの各パラメータを取得すると、トルクテーブルを参照し、各パラメータにより特定される動作点に対応付けられたトルク推定値Ｔcalを算出する。トルク推定器２０３は、算出したトルク推定値Ｔcalをトルク偏差演算器２０４に出力する。
【００８９】
トルク偏差演算器２０４は、トルク指令値Ｔ*とトルク推定値Ｔcalとのトルク偏差Ｔerrを演算する。本実施形態のトルク偏差演算器２０４は、トルク指令値Ｔ*からトルク推定値Ｔcalを減算した値をトルク偏差ＴerrとしてＰＩ制御器２０５に出力する。
【００９０】
ＰＩ制御器２０５は、トルク指令値Ｔ*にトルク推定値Ｔcalが追従するようトルク偏差Ｔerrを電圧位相指令値α*に対してフィードバックするトルクフィードバック制御を実行する。
【００９１】
本実施形態のＰＩ制御器２０５は、式(８)のように、トルク偏差Ｔerr（＝Ｔ*−Ｔcal）に基づいて電圧位相ＦＢ値αfb*を算出する。ＰＩ制御器２０５は、算出した電圧位相ＦＢ値αfb*を電圧位相加算器２０６に出力する。
【００９２】
【数８】
2019106838.tif 000010
【００９３】
なお、Ｋαpは比例ゲインであり、Ｋαｉは積分ゲインである。比例ゲインＫαp及び積分ゲインＫαｉは、実験データやシミュレーション結果などを通じて求められる。式（８）中の（１／ｓ）Ｔerrは、ＰＩ制御器２０５の積分器に該当し、（１／ｓ）は、トルク偏差Ｔerrの積分値に該当する。
【００９４】
本実施形態におけるＰＩ制御器２０５は、制御モードフラグＣＮＴ_ＦＬＧを参照する。そして制御モードフラグＣＮＴ_ＦＬＧが電流ベクトル制御から電圧位相制御への切り替わったことを示す場合は、ＰＩ制御器２０５は、初期値演算部１３からの電圧位相指令値の初期値αflt*に基づいてＰＩ制御器２０５の積分器を初期化する。
【００９５】
具体的には、ＰＩ制御器２０５は、電圧位相指令値の初期値αflt*から電圧位相ＦＦ値αff*を減じた値（αflt*−αff*）をＰＩ制御器２０５の積分器に設定する。すなわち、ＰＩ制御器２０５は、電圧位相加算器２０６の出力値が初期値αflt*となるようにＰＩ制御器２０５の積分値（１／ｓ）をリセットする。
【００９６】
そしてＰＩ制御器２０５は、電圧位相指令値の初期値αflt*から電圧位相ＦＦ値αff*を減じた値（αflt*−αff*）を電圧位相加算器２０６に電圧位相ＦＢ値αfb*として出力する。
【００９７】
電圧位相加算器２０６は、電圧位相演算器２０２からの電圧位相ＦＦ値αff*に電圧位相ＦＢ値αfb*を加えて電圧位相指令値α*を算出する。電圧位相加算器２０６は、算出した電圧位相指令値α*をｄｑ軸電圧変換器２０７に出力する。
【００９８】
ｄｑ軸電圧変換器２０７は、式(９)のように、電圧位相指令値α*、及び電圧振幅演算器２０１から出力される電圧振幅指令値Ｖａ*をｄ軸電圧指令値ｖdv*及びｑ軸電圧指令値ｖqv*に変換する。
【００９９】
【数９】
2019106838.tif 000011
【０１００】
ｄｑ軸電圧変換器２０７は、変換したｄ軸電圧指令値ｖdv*及びｑ軸電圧指令値ｖqv*を制御切替部３に電圧位相制御の電圧指令値として出力する。
【０１０１】
このように、電圧位相制御部２は、トルク偏差Ｔerrがゼロに収束するように電圧位相指令値α*を変更する。これにより、電圧振幅の過変調領域において電圧振幅指令値Ｖa*が固定された状態であっても電動機９のトルクを変化させることができる。
【０１０２】
さらに電圧位相制御部２は、制御モードフラグＣＮＴ_ＦＬＧに従って電動機９の制御が電流ベクトル制御から電圧位相制御に切り替えられた場合には、電流ベクトル制御部１の演算値に基づいて求められた初期値αflt*を電圧位相指令値α*に設定する。これにより、電圧位相制御に切り替えられた際の電動機９のトルク変動を低減することができる。
【０１０３】
なお、本実施形態ではトルク偏差Ｔerrに応じて電圧位相指令値α*を変更する構成であったが、これに限られるものではなく、例えば、電動機９の供給電流の偏差に応じて電圧位相指令値α*を変更する構成であってもよい。
【０１０４】
図５は、電圧位相制御に切り替えた際の電動機９のトルク変動を説明する図である。
【０１０５】
図５には、本実施形態での電動機９の状態変化、及びその比較例が示されている。この比較例は、電圧位相制御部２に設定される電圧位相指令値の初期値を演算するにあたり、電流ベクトル制御部１の出力であるｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*の全体に対してローパスフィルタ処理を施したときの電動機９の状態変化を示す。
【０１０６】
図５の比較例では、図５（ａ）に示すように、時刻Ｔ１０において制御モードフラグＣＮＴ_ＦＬＧが「１」から「２」に変更される。このため、制御切替部３は、電動機９の制御を電流ベクトル制御から電圧位相制御に切り替える。
【０１０７】
このとき、ｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*のフィードバック成分だけでなくフィードフォワード成分に対してもローパスフィルタ処理が施されるため、図５（ｃ）に示すように、電動機９のトルクが急峻に低下している。
【０１０８】
上述のようにトルク変動が生じている理由は、フィードフォワード成分に対して余計にローパスフィルタ処理が施されたことが原因となり、電動機９における実際の電圧位相と電圧位相指令値の初期値との間のズレが大きくなったからである。この例では、電圧位相指令値の初期値として、過剰なフィルタ処理により実際の電圧位相よりも小さな値が算出されている。
【０１０９】
一方、図５の本実施形態では、図３に示した初期値演算部１３によりｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*のフィードバック成分に対してのみローパスフィルタ処理が施される。このため、図５（ａ）に示すように、時刻Ｔ０において電動機９の制御が電圧位相制御に切り替えられた際には、図５（ｃ）に示すように電動機９のトルク変動が低減されている。
【０１１０】
以上のように、本実施形態の初期値演算部１３は、電圧位相指令値の初期値αflt*を演算するあたり、ｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*のリップル成分を除去するためにフィードバック成分のみに対してローパスフィルタ処理を施す。
【０１１１】
これにより、電流フィードバック制御に起因するｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*のリップル成分を過不足なく除去しやすくなるので、電圧位相指令値の初期値を精度良く求めることができる。したがって、電動機９の制御が電流ベクトル制御から電圧位相制御へ切り替えられた際に生じ得る電動機９のトルク変動を低減することができる。
【０１１２】
図６は、本実施形態における電動機９の制御方法に関する処理手順例を示すフローチャートである。本実施形態の処理手順については、所定の演算周期により繰返し行われる。
【０１１３】
ステップＳ１において制御装置１００は、電動機９の作動状態を検出する。例えば、制御装置１００は、トルク指令値Ｔ*、ｄ軸電流検出値ｉd、ｑ軸電流検出値ｉq、回転速度検出値Ｎ、及びバッテリ電圧検出値Ｖdcなどの各パラメータを取得する。
【０１１４】
ステップＳ２において制御装置１００は、少なくとも電流ベクトル制御及び電圧位相制御の中から、取得した各パラメータの数値に基づいて、電動機９に適用すべき制御を選択する。そして制御装置１００は、選択した制御を示す識別子を制御モードフラグＣＮＴ_ＦＬＧに設定する。
【０１１５】
一例として、制御装置１００は、トルク指令値Ｔ*又はｄ軸電流検出値ｉdが所定の閾値以下である場合には、電流ベクトル制御を選択する。そして制御装置１００は、電流ベクトル制御を選択した状態においてトルク指令値Ｔ*又はｄ軸電流検出値ｉdが所定の閾値を上回る場合に、電圧位相制御を選択する。さらに上記の選択条件に代えて又は加え、制御装置１００は、ｑ軸電流検出値ｉq及び回転速度検出値Ｎに基づいて、電動機９に適用すべき制御を選択するようにしてもよい。
【０１１６】
ステップＳ３において制御装置１００は、制御モードフラグＣＮＴ_ＦＬＧに設定された制御が電流ベクトル制御であるか電圧位相制御であるかを判断する。
【０１１７】
ステップＳ４において電流ベクトル制御部１は、制御モードフラグＣＮＴ_ＦＬＧが電流ベクトル制御を示す場合には、電動機９のトルク指令値Ｔ*に基づきフィードフォワード補償値としてｄ軸及びｑ軸の非干渉電圧値ｖd_dcpl*及びｖq_dcpl*を演算する。
【０１１８】
ステップＳ５において電流ベクトル制御部１は、トルク指令値Ｔ*に基づいて電動機９への供給電流の電流偏差を求め、その電流偏差に基づきフィードバック指令値としてｄ軸及びｑ軸の電流ＦＢ電圧指令値ｖdi_fb*及びｖqi_fb*を演算する。
【０１１９】
ステップＳ６において電流ベクトル制御部１は、ｄ軸及びｑ軸の電流ＦＢ電圧指令値ｖdi_fb*及びｖqi_fb*に対してそれぞれ非干渉電圧値ｖd_dcpl*及びｖq_dcpl*を加算することで、電流ベクトル制御のｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*を出力する。
【０１２０】
ステップＳ７において制御装置１００は、ｄ軸及びｑ軸電圧指令値ｖdi*及びｖqi*を三相電圧指令値ｖu*、ｖv*及びｖw*に変換する。そしてインバータ６は、三相電圧指令値ｖu*、ｖv*及びｖw*に基づき電動機９に三相交流電圧を供給して、電動機９の制御方法についての一連の処理手順を終了する。
【０１２１】
また、ステップＳ４で電動機９の制御が電圧位相制御に切り替えられた場合には、制御装置１００は、ステップＳ８の処理に進む。
【０１２２】
ステップＳ８において制御装置１００は、フィードフォワード補償値と、ローパスフィルタ処理後のフィードバック指令値とを用いて、電圧位相指令値の初期値αflt*を演算する。例えば、図３に示したように、初期値演算部１３は、ｄ軸及びｑ軸の電流ＦＢ電圧指令値ｖdi_fb*及びｖqi_fb*に対してのみローパスフィルタ処理を施すことにより、電圧位相指令値の初期値αflt*を算出する。
【０１２３】
ステップＳ９において制御装置１００は、電圧位相指令値の初期値αflt*に基づいて電圧位相制御の状態変数を初期化する。例えば、制御装置１００は、図４に示したＰＩ制御器２０５の積分値（１／ｓ）に対して、初期値αflt*から電圧位相ＦＦ値αff*を減じた値を設定する。電圧位相ＦＦ値αff*は、トルク指令値Ｔ*に基づいて算出された所定の電圧位相指令値である。
【０１２４】
ステップＳ１０において電圧位相制御部２は、電圧位相指令値α*に対するフィードバック制御を実行することにより、電圧位相制御のｄ軸及びｑ軸電圧指令値ｖdv*及びｖqv*を出力する。そして制御装置１００は、ステップＳ７の処理に進み、ステップＳ７の処理を実行した後に、電動機９の制御方法を終了する。
【０１２５】
本発明の本実施形態によれば、電動機９の制御方法における制御装置１００は、電動機９に供給される電力を制御するための電流ベクトル制御及び電圧位相制御のうちのいずれか一つの制御を電動機９の作動状態に応じて実行する。そして制御装置１００は、ステップＳ４乃至Ｓ６のように、電動機９のトルク指令値Ｔ*に基づいて、フィードバック指令値及びフィードフォワード補償値を演算することにより、電流ベクトル制御の電圧指令値ｖdi*及びｖqi*を出力する。
【０１２６】
上記のフィードバック指令値は、電動機９への供給電流の偏差を小さくする電動機９の電圧値を示すパラメータであり、例えば、ｄ軸及びｑ軸の電流ＦＢ電圧指令値ｖqi_fb*及びｖqi_fb*が挙げられる。また、フィードフォワード補償値は、フィードバック指令値を補償するパラメータであり、ｄ軸及びｑ軸の非干渉電圧値ｖd_dcpl*及びｖq_dcpl*や、駆動軸のねじり振動補償値などが挙げられる。
【０１２７】
そして制御装置１００は、ステップＳ９のように、電動機９の制御を電流ベクトル制御から電圧位相制御へ切り替える場合には、電流ベクトル制御の演算値に基づいて電圧位相制御を初期化する。制御装置１００は、ステップＳ１０のように、トルク指令値Ｔ*に基づいて、所定の電圧位相指令値α*に対するフィードバック制御を実行することにより、電圧位相制御の電圧指令値ｖdv*及びｖqv*を出力する。
【０１２８】
さらに制御装置１００は、ステップＳ８のように、フィードバック指令値に対してフィードバック指令値の低周波成分を通過させるフィルタ処理を施す。そして制御装置１００は、フィードフォワード補償値及びフィルタ処理後のフィードバック指令値を用いて、電圧位相指令値の初期値αflt*を演算する。
【０１２９】
このように構成することにより、電動機９の制御を電圧位相制御に切り替える際に生じ得る電動機９のトルク変動を抑制することができる。
【０１３０】
詳細には、本実施形態によれば、フィードバック指令値に対してフィルタ処理を施すことにより、電流フィードバック制御に起因する電圧指令値ｖdi*及びｖqi*のリップル成分を的確に除去することができる。このため、電圧位相制御の初期値を算出するにあたり、リップ成分の影響を軽減することができるので、電動機９の制御が電流ベクトル制御から電圧位相制御へ切り替えられた際に電圧位相制御の初期値を精度良く求めることができる。
【０１３１】
これに加え、例えば、電動機９の回転速度が緩やかに上昇している状況においては、切替え直前における電圧指令値の基本波成分が、切替え直後の電圧位相指令値と一致しやすくなるので、切替えの際に電動機９のトルクが変動したり、電動機９のトルクに段差が生じたりすることなく、電動機９の制御を電圧位相制御に切り替えることができる。
【０１３２】
そして、電動機９のトルクが急峻に変化している状況においては、電動機９の制御が電圧位相制御へ切り替えられた場合であっても、フィードバック指令値のみにフィルタ処理が施されるため、フィルタ処理による電動機９の制御遅れを小さくすることができる。
【０１３３】
すなわち、本実施形態によれば、電動機９の制御が電圧位相制御に切り替えられたときに、電流フィードバック制御に起因する電動機９のトルク変動を低減することができるとともに、フィルタ処理に起因する電動機９の制御遅れの影響を軽減することができる。
【０１３４】
また、本実施形態によれば、制御装置１００は、図４で述べたように、電圧位相指令値の初期値αflt*に基づいて、電圧位相制御部２におけるフィードバック制御を構成するＰＩ制御器２０５の積分値を更新する。
【０１３５】
これにより、電動機９の制御が電流ベクトル制御から電圧位相制御へ切り替わる際に、電流ベクトル制御の電圧指令値の電圧位相成分と、電圧位相制御の電圧位相指令値とのズレを低減することができる。したがって、電圧位相制御への切替えの際に生じる電動機９のトルク変動を抑制することができる。
【０１３６】
さらに、本実施形態によれば、電圧位相制御部２は、図４に示したように、電圧位相指令値α*に対して電動機９に生じるトルクをフィードバックするフィードバック制御を実行する。そして初期値演算部１３は、電圧位相制御部２で演算される電圧位相指令値α*のフィードフォワード成分としての電圧位相ＦＦ値αff*を、電圧位相指令値の初期値αflt*から減じたリセット値をＰＩ制御器２０５の積分値に設定する。
【０１３７】
このように電圧位相制御部２のフィードフォワード成分が考慮されるので、電圧位相制御部２において算出される電圧位相指令値α*と、電流ベクトル制御部１の演算値から得られる電圧位相指令値の初期値αflt*との差分をさらに低減することができる。
【０１３８】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記実施形態は、適宜組み合わせ可能である。
【図１】
2019106838.tif 000012
【図２】
2019106838.tif 000013
【図３】
2019106838.tif 000014
【図４】
2019106838.tif 000015
【図５】
2019106838.tif 000016
【図６】
2019106838.tif 000017
【国際調査報告】
2019106838.tif 000018
2019106838.tif 000019
2019106838.tif 000020
2019106838.tif 000021