(57)【特許請求の範囲】
【請求項１】
エンジン及びモータを備えたハイブリッド車両を制御するインバータ制御装置において、
前記モータに接続されたインバータと、
前記インバータを制御する制御手段とを有し、
前記制御手段は、
前記ハイブリッド車両の状態に応じて設定された前記モータのトルク指令値に基づいて、前記インバータを制御する第１指令値を演算し、かつ、
前記第１指令値を調整して、前記エンジンのトルクの脈動により発生する前記モータの電力の脈動を前記モータで消費させる第２指令値を演算する指令値演算手段を有し、
前記第１指令値と前記第２指令値とを切り替え、
前記第１指令値に切り換える場合には、前記第１指令値に基づき前記インバータを制御し、
前記第２指令値に切り換える場合には、前記第１指令値の代わりに前記第２指令値に基づき前記インバータを制御する
ことを特徴とするインバータ制御装置。
【請求項２】
前記指令値演算手段は、
前記第１指令値に基づく前記モータの出力トルクを一定にしつつ、前記第１指令値を調整して前記第２指令値を演算する
ことを特徴とする請求項１記載のインバータ制御装置。
【請求項３】
前記制御手段は、
前記脈動のタイミングを特定する脈動特定手段をさらに有し、
前記脈動特定手段により特定された前記脈動のタイミングと、前記第１指令値及び前記第２指令値を切り替えるタイミングとを同期させて、前記インバータを制御する
ことを特徴とする請求項１又は２記載のインバータ制御装置。
【請求項４】
前記脈動特定手段は、前記エンジンの燃焼サイクルから前記脈動のタイミングを特定する
ことを特徴とする請求項３記載のインバータ制御装置。
【請求項５】
前記モータの回転数を検出する回転数センサをさらに備え、
前記脈動特定手段は、前記回転数センサにより検出される前記モータの回転数脈動から前記脈動のタイミングを特定する
ことを特徴とする請求項３記載のインバータ制御装置。
【請求項６】
前記脈動特定手段は、前記トルク指令値から前記脈動のタイミングを特定する
ことを特徴とする請求項３記載のインバータ制御装置。
【請求項７】
前記モータの電流を検出する電流センサをさらに有し、
前記指令値演算手段は、
前記電流センサにより検出された検出電流の脈動の振幅に応じて、前記第２指令値を演算する
ことを特徴とする請求項１〜６のいずれか一項に記載のインバータ制御装置。
【請求項８】
前記指令値演算手段は、
前記モータに電力を供給するバッテリの充電可能電力又は放電可能電力に応じて、前記第２指令値を演算する
ことを特徴とする請求項１〜７のいずれか一項に記載のインバータ制御装置。
【請求項９】
前記モータは、第１モータ及び第２モータを含み、
前記指令値演算手段は、
前記第１モータの電力の脈動を前記第２モータで消費させる前記第２指令値を演算する
ことを特徴とする請求項１〜８のいずれか一項に記載のインバータ制御装置。
【請求項１０】
前記指令値演算手段は、
前記第１モータの電力の脈動のうち、前記第１モータの消費可能電力を越える電力の脈動を前記第２モータで消費させる前記第２指令値を演算する
ことを特徴とする請求項９記載のインバータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インバータ制御装置に関するものである。
【背景技術】
【０００２】
発電用の内燃エンジンにより駆動される発電機又はバッテリから車両駆動用の電動モータへ電力供給するようにしたハイブリッド車において、アクセルペダル操作に対する所要モータ出力を表しかつ内燃エンジンの運転状態に応じて変化する特性に従って、指令モータ出力を決定し、斯く決定した指令モータ出力に従って電力供給を制御し、車両の運転状態に適合するモータ駆動電流を演算する際に、モータ出力値をエンジン運転の有無に応じて変化させて、発電のためのエンジン運転時に発電機からモータに印加される電圧とエンジン運転停止時にバッテリからモータに印加される電圧との相違を補償するものが知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３２８５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、発電のためのエンジン運転時に、エンジンのトルクの脈動により、発電機の電力に脈動が発生した場合には、発生した脈動成分を抑制することができない、という問題があった。
【０００５】
本発明が解決しようとする課題は、モータの電力の脈動を抑制するインバータ制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、モータのトルク指令値に基づいて演算された第１指令値を調整して、エンジンのトルクの脈動により発生するモータの電力の脈動をモータで消費させる第２指令値を演算し、インバータを制御することによって上記課題を解決する。
【発明の効果】
【０００７】
本発明によれば、エンジンのトルクの脈動により、モータの電力に脈動が発生する場合には、脈動成分をモータで消費させるため、モータの電力の脈動を抑制することができる、という効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るインバータ制御装置を備えた車両のブロック図である。
【図２】図１の発電機モータ、発電機インバータ及び発電機コントローラのブロック図である。
【図３】図２の電流指令値演算器のブロック図である。
【図４】図２のｄｑ軸電流指令値算出マップに格納されているマップを説明するためのグラフである。
【図５】図１の駆動機モータ、駆動機インバータ及び駆動機コントローラのブロック図である。
【図６】図５の電流指令値演算器のブロック図である。
【図７】図１の発電機モータのｄｑ軸電流の特性を示すグラフである。
【図８】ｄｑ軸電流の座標系において、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）と調整幅（ΔＩａｎ）との関係を説明するためのグラフである。
【図９】ｄｑ軸電流の座標系において、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）と電流調整量（ΔＩａ＊）との関係を説明するためのグラフである。
【図１０】図１の発電機モータの電力の脈動の特性と、発電機モータ及びバッテリで消費される電力との関係を説明するためのグラフである。
【図１１】（ａ）は発電機モータの回転数脈動の特性を示すグラフであり、（ｂ）は発電機モータの電力の脈動の特性を示すグラフである。
【図１２】ｄｑ軸電流の座標系において、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）と調整幅（ΔＩａｎ’）との関係を説明するためのグラフである。
【図１３】ｄｑ軸電流の座標系において、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）と電流調整量（ΔＩａ＊’）との関係を説明するためのグラフである。
【図１４】図１の発電機モータの電力の脈動の特性と、発電機モータ、駆動機モータ及びバッテリで消費される電力との関係を説明するためのグラフである。
【図１５】（ａ）は発電機モータ２の電力の脈動の特性を、（ｂ）は発電機モータの回転数の特性を示すグラフである。
【図１６】本発明の変形例に係るインバータ制御装置において、発電機モータの電力の脈動の特性と、発電機モータ及び駆動機モータで消費される電力との関係を説明するためのグラフである。
【図１７】本発明の他の実施形態に係るインバータ制御装置において、（ａ）はトルク指令値の特性を示すグラフであり、（ｂ）は発電機モータの電力の脈動の特性を示すグラフである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。
【００１０】
《第１実施形態》
図１は、発明の実施形態に係るインバータ制御装置を含む車両の概要を示すブロック図である。以下、本例のインバータ制御装置をシリーズ型のハイブリッド車両に提供した例を挙げて説明するが、本例のインバータ制御装置は、例えばエンジン及びモータを駆動源とするパラレル型のハイブリッド車両にも適用可能である。
【００１１】
図１に示すように、本例のインバータ制御装置を含む車両は、エンジン１と、発電機モータ２と、発電機インバータ３と、バッテリ４と、駆動機インバータ５と、駆動機モータ６と、減速機７と、駆動輪８と、エンジンコントローラ１０と、発電機コントローラ２０と、バッテリコントローラ３０と、駆動機コントローラ４０と、システムコントローラ１００とを備えている。
【００１２】
エンジン（内燃機関）１は、ガソリン、軽油その他の燃料を燃焼させてエネルギを出力軸に出力し、エンジンコントローラ１０からの制御信号に基づいて、スロットルバルブのバルブ開度や燃料噴射バルブの燃料噴射量等を制御して駆動する。またエンジン１は、発電のための駆動力を発電機モータ２に伝達する。発電機モータ２は、エンジン１の出力軸に連結され、エンジン１により駆動される。また発電機モータ２はエンジン１の始動時にエンジン１をクランキングしたり、また発電機モータ２の駆動力を利用してエンジン１を力行回転させることで電力を消費させたりする。
【００１３】
発電機インバータ３は、ＩＧＢＴ等のスイッチング素子を複数備え、発電機コントローラ２０からのスイッチング信号により当該スイッチング素子のオン及びオフを切り替えることで、発電機モータ２から出力される交流電力を直流電力に変換し、または直流電力から交流電力に逆変換する変換回路である。発電機インバータ３は、バッテリ４及び駆動機インバータ５に接続されている。また発電機インバータ３には、電流センサが設けられて、電流センサなどの検出値は発電機コントローラ２０に出力される。バッテリ４は、発電機インバータ３と駆動機インバータ５との間に接続され、駆動機インバータ５に電力を供給し、発電機インバータ３からの電力により充電される二次電池である。駆動機インバータ５は、発電機インバータ３あるいはバッテリ４から出力される直流電力を交流電力に変換して、駆動機モータ６に当該交流電力を出力する変換回路である。駆動機インバータ５は、駆動機コントローラ４０の制御信号に基づき制御される。また駆動機インバータ５には、電流センサが設けられて、電流センサなどの検出値は駆動機コントローラ４０に出力される。
【００１４】
駆動機モータ６は、駆動機インバータ５からの交流電力により駆動し、車両を駆動する駆動源である。また駆動機モータ６には、回転角センサが接続され、当該回転角センサの検出値は駆動機コントローラ４０に出力される。駆動機モータ６の出力軸は、減速機７及び左右のドライブシャフトを介して、左右の駆動輪８に連結されている。また駆動機モータ６は、駆動輪８の回転により、回生駆動力を発生させることで、エネルギを回生する。
【００１５】
エンジンコントローラ１０は、システムコントローラ１００から送信されるエンジントルク指令値及びエンジン１に設けられた空燃比センサ（図示しない）、酸素センサ（図示しない）の検出値、温度センサ等に基づいて、スロットルバルブのバルブ開度や燃料噴射バルブの燃料噴射量、点火時期等を設定して、エンジン１を制御することで、指令値のトルクをエンジン１から出力させるためのコントローラである。発電機コントローラ２０は、システムコントローラ１００から送信される発電機回転数指令値及び発電機インバータ３に設けられている電流センサの検出値に基づいて、発電機インバータ３に含まれるスイッチング素子のスイッチング信号を設定して、発電機インバータ３を制御することで、指令値の回転数を実現するためのコントローラである。なお、発電機コントローラ２０の詳細な構成は後述する。
【００１６】
バッテリコントローラ３０は、バッテリ４の電圧を検出する電圧センサ、バッテリ４の電流を検出する電流センサ等の検出値から、バッテリ４の充電状態（ＳＯＣ：Ｓｔａｔｅ  ｏｆ  Ｃｈａｒｇｅ）を計測する。またバッテリコントローラ３０は、バッテリ４の温度、バッテリ４の内部抵抗及びＳＯＣに応じて、バッテリ４の放電可能な電力及び充電可能な電力を演算し、システムコントローラ１００へ出力する。駆動機コントローラ４０は、システムコントローラ１００から指令される駆動トルク及び駆動機モータ６に設けられる電流センサの検出値や回転数に基づいて、駆動インバータ５を制御し、指令値のトルクを実現するためのコントローラである。
【００１７】
システムコントローラ１００は、運転者のアクセルペダルの操作量に応じてアクセル開度、車速及び勾配などの車両状態、バッテリ４のＳＯＣ、バッテリ４の充放電可能電力、発電機モータ２の発電電力等に応じて、運転者の要求に応じてトルクを出力させるための駆動トルクを、駆動機コントローラ４０を介して、駆動機モータ６に指令する。また、システムコントローラ１００は、車両状態及びバッテリの状態に応じて、バッテリ４の充電又は駆動機モータ６の駆動のために、発電機モータ２の目標発電電力を演算して、発電機コントローラ２０に送信する。さらに、当該目標発電電力を実現するために、エンジン１のエンジントルク指令値及び発電機モータ２の回転数指令値を演算し、エンジンコントローラ１０及び発電機コントローラ２０に送信する。これにより、システムコントローラ１００は、車両の運転状態及びバッテリ４の状態に応じて、車両の駆動系の効率を最適化しつつ、エンジン１、発電機モータ２及び駆動機モータ６を制御する。
【００１８】
次に、図２を用いて、発電機コントローラ２０の構成について説明する。図２は発電機モータ２、発電機インバータ３及び発電機コントローラ２０のブロック図である。発電機コントローラ２０は、回転数制御器２１、電流指令値演算器２２、電流制御器２３、非干渉化制御器２４、二相三相電圧変換器２５、回転数演算器２６及び三相二相変換器２７を有している。
【００１９】
回転数制御器２１は、回転数演算器２３から出力される回転数検出値（ωＧ）を、システムコントローラ１００から出力される発電機モータ２の回転数指令値（ωＧ＊）に一致させるように、発電機モータ２のトルク指令値（Ｔ＊）を演算するＰＩＤ制御器である。回転数制御器２１は、回転数指令値（ωＧ＊）及び回転数検出値（ωＧ）を入力として、以下の式（１）によりトルク指令値（Ｔ＊）を演算し、電流指令値演算器２２に出力する。
【数１】
0006019734.tif 000002
ただし、Ｋｐは比例ゲインを、ＫＩは積分ゲインを、ＫＤは微分ゲインを、ＴＤは近似微分の時定数を、ｓはラプラス演算子を、ωＧは回転数検出値を、ωＧ＊は回転数指令値を示す。回転数指令値（ωＧ＊）は、上記のとおり、システムコントローラ１００により、本例のハイブリッド車両の状態から、発電機モータ２で発電すべきと判断された場合に、発電機モータ２の目標発電電力に応じて設定される指令値である。
【００２０】
電流指令値演算器２２は、トルク指令値（Ｔ＊）、バッテリ４の電圧（Ｖｄｃ）、及び、発電機モータ２の角周波数を示す回転数検出値（ωＧ）を入力して、発電機モータ２のｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）を演算し、電流制御器２３に出力する。電流指令値演算部２２には、トルク指令値（Ｔ＊）、回転数検出値（ωＧ）、電圧（Ｖｄｃ）を指標として、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）を出力するためのマップが格納されている。当該マップは、トルク指令値（Ｔ＊）、回転数検出値（ωＧ）及び電圧（Ｖｄｃ）の入力に対して、発電機モータ２の損失及び発電機インバータ３の損失を最小限に抑える最適な指令値を出力するよう対応づけられている。そして、電流指令値演算器２２は、当該マップを参照して、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）を演算する。
【００２１】
また電流指令値演算器２２には、トルク指令値（Ｔ＊）、バッテリ４の電圧（Ｖｄｃ）及び回転数検出値（ωＧ）の他に、電流センサ２９の検出値に基づくｄｑ軸電流（Ｉｄ、Ｉｑ）及びバッテリ４の充放電可能電力（Ｐｉｎ、Ｐｏｕｔ）が入力され、電流指令値演算器２２は、発電機モータ２の発電電力の脈動を消費させるためのｄｑ軸電流指令値を演算する。なお、当該ｄｑ軸電流指令値を演算するための、電流指令値演算器２２の具体的な構成及び制御は後述する。
【００２２】
電流制御器２３は、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）及びｄｑ軸電流（Ｉｄ、Ｉｑ）を入力として、以下の式（２）を用いて、制御演算を行い、ｄｑ軸電圧指令値（ｖｄ＊、ｖｑ＊）を出力する。
【数２】
0006019734.tif 000003
ただし、Ｋｐｄ、Ｋｐｑは比例ゲインを、Ｋｉｄ、Ｋｉｑは積分ゲインを示す。
【００２３】
非干渉化制御器２４は、発電機モータ２のｄ軸及びｑ軸に電流が流れた際に、発生する干渉電圧を打ち消すためのｄｑ軸非干渉電圧（ｖｄｄｃｐｌ、ｖｑｄｃｐｌ）を演算する。発電機モータ２に用いられるＩＭＰモータの電圧方程式は、ｄｑ座標で表すと、一般的に以下の式（３）で表される。
【数３】
0006019734.tif 000004
ただし、Ｌｄはｄ軸インダクタンスを、Ｌｑはｑ軸インダクタンスを、Ｒａは発電機モータ２の巻線抵抗を、ωｒｅは電気角速度を、φａは磁束密度を、ｐは微分演算子を示す。
【００２４】
式（３）を各成分に分けてラプラス変換して変形すると、次式で表される。
【数４】
0006019734.tif 000005
【００２５】
ただし、電流応答モデルＧｐはそれぞれ次式で表される。
【数５】
0006019734.tif 000006
【００２６】
式（３）に示されるように、ｄｑ軸間で干渉しあう速度起電力があり、これを打ち消すために非干渉制御器２４は、以下の式（６）で表される非干渉電圧（ｖｄｄｃｐｌ、ｖｑｄｃｐｌ）を演算する。
【数６】
0006019734.tif 000007
【００２７】
電流制御器２３及び非干渉制御器２４の出力側には減算器が設けられ、当該減算器において、電圧指令値（ｖｄ＊、ｖｑ＊）から式（６）で示される非干渉電圧（ｖｄｄｃｐｌ、ｖｑｄｃｐｌ）を減算することで、式（４）の干渉項が打ち消され、ｄｑ軸電流は、以下の式（７）で表される。
【数７】
0006019734.tif 000008
【００２８】
二相三相電圧変換器２５は、ｄｑ軸電圧指令値（ｖｄ＊、ｖｑ＊）及び磁極位置検出器５２の検出値θを入力として、下記の式（８）を用いて、当該回転座標系のｄｑ軸電圧指令値（ｖｄ＊、ｖｑ＊）を固定座標系のｕ、ｖ、ｗ軸の電圧指令値（ｖｕ＊、ｖｖ＊、ｖｗ＊）に変換し、インバータ４に出力する。
【数８】
0006019734.tif 000009
【００２９】
三相二相電流変換器２７は、３相２相変換を行う制御部であり、相電流（Ｉｕ、Ｉｖ、Ｉｗ）及び磁極位置検出器５２の検出値θを入力として、固定座標系の相電流（Ｉｕ、Ｉｖ、Ｉｗ）を回転座標系の相電流（Ｉｄ、Ｉｑ）に変換し、電流指令値演算器２２、電流制御器２３及び非干渉化制御器２４に出力する。
【００３０】
電流センサ５１は、Ｕ相及びＶ相にそれぞれ設けられ、相電流（Ｉｕ、Ｉｖ）を検出し、三相二相電流変換器２６に出力する。ｗ相の電流は、電流センサ５１により検出されず、代わりに、三相二相電流変換器２６は、入力された相電流（Ｉｕ、Ｉｖ）に基づき、ｗ相の相電流を演算する。
【００３１】
磁極位置検出器５２は発電機モータ２に設けられ、発電機モータ２の磁極の位置を検出する検出器であり、検出値（θ）を回転数演算器２６に出力する。回転数演算器２６は、磁極位置検出器９の検出値（θ）からモータ８の角周波数である回転数検出値（ωＧ）を演算し、回転数制御器２１及び電流指令値演算器２２に出力する。
【００３２】
そして、当該相電流（Ｉｄ、Ｉｑ）が電流制御器２３に入力されることにより、本例のインバータ制御装置は所定のゲインの電流制御ループによる制御を行う。また発電機インバータ３は、電流制御ループによる制御の下、入力された電圧指令値（Ｖ＊ｕ、Ｖ＊ｖ、Ｖ＊ｗ）に基づき、スイッチング素子のオン及びオフを切り替えるＰＷＭ制御信号を生成し、当該ＰＷＭ制御信号に基づいて、スイッチング素子を動作させて、電力を変換する。
【００３３】
次に、図３を用いて、電流指令値演算器２２の構成を説明する。図３は、電流指令値演算器２２のブロック図である。電流指令値演算器２２は、電流振幅演算器２２１、電流調整量演算器２２２、ｄｑ軸電流指令値算出マップ２２３、タイミング信号生成器２２４及びスイッチＳＷ１、ＳＷ２を有している。
【００３４】
電流振幅演算器２２１は、三相二相電流変換器２７から出力されたｄｑ軸電流（Ｉｄ、Ｉｑ）の振幅を、以下の式（９）を用いて演算し、演算された電流振幅（ΔＩａｎ）を電流調整量演算器２２２に出力する。
【数９】
0006019734.tif 000010
ただし、ｍａｘ（Ｉ）はＩの最大値を、ｍｉｎ（Ｉ）はＩの最小値を示す。
【００３５】
エンジン１０のトルクが周期的に変動する場合には、エンジンのトルクに脈動が発生する。発電機モータ２は、エンジン１０の駆動力により回転されて発電するため、エンジンの出力トルクに脈動成分が含まれている場合には、発電機モータ２の発電電力がエンジントルクの脈動による影響を受けて、発電機モータ２の発電電力に脈動が発生する。そして、発電機モータ２の発電電力の脈動は、発電機モータ２のｄｑ軸電流の振幅として表れる。
【００３６】
そのため、ｄｑ軸電流が脈動した場合に、電流振幅演算器２２１で演算される電流振幅（ΔＩａｎ）は、脈動の振幅に対応しており、電流振幅演算器２２１は、ｄｑ軸電流の脈動の振幅を演算することになる。また、電流振幅（ΔＩａｎ）は、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）の調整幅になる。
【００３７】
電流調整量演算器２２２は、バッテリ４の入出力可能電力と、電流振幅演算器２２１で演算された電流振幅（ΔＩａｎ）とに基づいて、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）の調整幅を設定する。本例ではｄｑ軸電流の脈動成分を発電機モータ２の損失として消費させるために、電流指令値演算器２２においてトルク指令値（Ｔ＊）等に基づき演算されたｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）を調整して、意図的に発電機モータ２で損失が発生するように制御する。この際、発電機モータ２の損失は可能な限り小さい方が好ましいため、電流調整量演算器２２２は、以下の式（１０）で表される条件の下、発電機モータ２の損失を小さくするよう、電流振幅演算器２２１で演算された調整幅を変更する。
【数１０】
0006019734.tif 000011
【００３８】
ただし、Ｐｉｎはバッテリ４の入力可能電力を、Ｐｏｕｔはバッテリ４の出力可能電力を示す。バッテリ４の入出力可能電力（Ｐｉｎ、Ｐｏｕｔ）はバッテリコントローラ１５で管理されている。
【００３９】
電流振幅演算器２２１で演算された電流振幅（ΔＩａｎ）が、バッテリ４の入出力可能電力に対応する入出力電流より大きい場合には、ｄｑ軸電流の脈動の電力がバッテリ４の充放電電力として消費される消費電力より大きくなるため、消費できない脈動の電力分を、発電機モータ２の消費電力とする。そのため、電流振幅演算器２２２は、電流振幅（ΔＩａｎ）からバッテリ４の入出力可能電力に対応する入出力電流を差し引いた差分の電流を、電流調整量（ΔＩａ＊）に設定する。
【００４０】
一方、電流振幅（ΔＩａｎ）が、バッテリ４の入出力可能電力に対応する入出力電流以下である場合には、ｄｑ軸電流の脈動の電力を、バッテリ４の充放電電力として消費することできるため、電流調整量（ΔＩａ＊）をゼロに設定する。これにより、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）の調整幅が変更される、
【００４１】
ｄｑ軸電流指令値算出マップ２２３は、上記のとおり、トルク指令値（Ｔ＊）、バッテリ４の電圧（Ｖｄｃ）及び回転数検出値（ωＧ）に基づき、演算された発電機モータ２のｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）を、モータトルク及び電流損失量とｄｑ軸電流との関係を示すマップ上で、調整して、電流調整量（ΔＩａ＊）を含んだｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）を演算する。
【００４２】
図４は、ｄｑ軸電流（Ｉｄ、Ｉｑ）上における、定トルク線及び定電流損失線の関係を示すグラフである。定トルク線について、トルク線の同一線上では同一のトルクが保たれており、Ｔ＊で示される矢印の向きにトルクが大きくなる。また定電流損失線について、損失線の同一線上では電流損失は保たれており、ΔＩａ＊で示される矢印の向きに電流損失が大きくなる。電流損失は、発電機モータ２で消費される電力に相当する。図４に示すマップは、ｄｑ軸電流指令値算出マップ２２３に予め格納されている。
【００４３】
ｄｑ軸電流指令値算出マップ２２３は、外部から入力されるトルク指令値（Ｔ＊）等に基づき、電流調整前のｄｑ軸電流指令値（Ｉｄ１＊、Ｉｑ１＊）を演算する。また、ｄｑ軸電流指令値算出マップ２２３は、演算したｄｑ軸電流指令値を、図４のマップ上で調整して、同一トルクのｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）を演算する。ｄｑ軸電流指令値マップ２２３は、まず電流調整前のｄｑ軸電流指令値（Ｉｄ１＊、Ｉｑ１＊）の位置を図４のマップ上で特定する。次に、特定された位置を通る定トルク線上で、電流損失が大きくなる方向に、電流調整量（ΔＩａ＊）分、指令値を移動させる。そして、移動後の、ｄｑ軸電流指令値（Ｉｄ２＊、Ｉｑ２＊）が、電力の脈動を発電機モータ２で消費させるための指令値となる。これにより、ｄｑ軸電流指令値算出マップ２２３は、ｄｑ軸電流指令値（Ｉｄ１＊、Ｉｑ１＊）に基づく発電機モータ２のトルクを一定にしつつ、ｄｑ軸電流指令値（Ｉｄ１＊、Ｉｑ１＊）を調整してｄｑ軸電流指令値（Ｉｄ２＊、Ｉｑ２＊）を演算する。
【００４４】
ＳＷ１は、タイミング信号生成器２２４から送信される切替信号（Ｔ＿ｆｌｇ）に基づき、電流調整量ΔＩａ＝０を満たす場合のｄ軸電流指令値（Ｉｄ１＊）と電流調整量ΔＩａ＝ΔＩａ＊を満たす場合のｄ軸電流指令値（Ｉｄ２＊）とを切り替えるスイッチである。ＳＷ２は、タイミング信号生成器２２４から送信されるパルス信号（Ｔ＿ｆｌｇ）に基づき、電流調整量ΔＩａ＝０を満たす場合のｑ軸電流指令値（Ｉｑ１＊）と電流調整量ΔＩａ＝ΔＩａ＊を満たす場合のｑ軸電流指令値（Ｉｄ２＊）とを切り替えるスイッチである。
【００４５】
タイミング信号生成器２２４は、回転数検出値（ωＧ）に基づき、脈動のタイミングを特定し、特定されたタイミングで同期させつつＳＷ１、ＳＷ２を切り替えるパルス信号（Ｔ＿ｆｌｇ）をＳＷ１、ＳＷ２にそれぞれ送信する。
【００４６】
次に、図５を用いて、駆動機コントローラ４０の構成について説明する。図５は駆動機モータ６、駆動機インバータ５及び駆動機コントローラ４０のブロック図である。駆動機コントローラ４０は、電流指令値演算器４２、電流制御器４３、非干渉化制御器４４、二相三相電圧変換器４５、三相二相変換器４７を有している。
【００４７】
電流指令値演算器４２は、トルク指令値（Ｔ＊）、ｄｑ軸電流指令値（Ｉｄ’、Ｉｑ’）、発電機モータ２の回転数検出値（ωＧ）、バッテリ４の充電可能電力（Ｐｉｎ）、バッテリ４の放電可能電力（Ｐｏｕｔ）、バッテリ４の電圧（Ｖｄｃ）及びバッテリ４の電流（Ｉｄｃ）を入力して、駆動機モータ６のｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）を演算し、電流制御器４３に出力する。なお、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）を演算するための、電流指令値演算器４２の具体的な構成及び制御は後述する。
【００４８】
電流制御器４３は、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）及びｄｑ軸電流（Ｉｄ’、Ｉｑ’）を入力として、以下の式（１１）を用いて、制御演算を行い、ｄｑ軸電圧指令値（ｖｄ＊’、ｖｑ＊’）を出力する。
【数１１】
0006019734.tif 000012
ただし、Ｋｐｄ、Ｋｐｑは比例ゲインを、Ｋｉｄ、Ｋｉｑは積分ゲインを示す。
【００４９】
非干渉化制御器４４は、非干渉制御器２４と同様に、ｄｑ軸電流（Ｉｄ’、Ｉｑ’）を入力として、非干渉電圧を演算し、電流制御器４３及び非干渉化制御器４４の出力側に設けられた減算器に出力する。
【００５０】
二相三相電圧変換器４５は、ｄｑ軸電圧指令値（ｖｄ＊’、ｖｑ＊’）及び磁極位置検出器５２の検出値θを入力として、二相三相電圧変換器２５と同様に、当該回転座標変換をし、電圧指令値（ｖｕ＊’、ｖｖ＊’、ｖｗ＊’）をインバータ６に出力する。
【００５１】
三相二相電流変換器４７は、３相２相変換を行う制御部であり、相電流（Ｉｕ’、Ｉｖ’、Ｉｗ’）及び磁極位置検出器５４の検出値θを入力として、固定座標系の相電流（Ｉｕ’、Ｉｖ’、Ｉｗ’）を回転座標系の相電流（Ｉｄ’、Ｉｑ’）に変換し、電流指令値演算器４２、電流制御器４３及び非干渉化制御器４４に出力する。
【００５２】
電流センサ５３は、Ｕ相及びＶ相にそれぞれ設けられ、相電流（Ｉｕ’、Ｉｖ’）を検出し、三相二相電流変換器４６に出力する。磁極位置検出器５４は駆動機モータ６に設けられ、駆動機モータ６の磁極の位置を検出する検出器であり、検出値（θ）を二相三相電圧変換器４５及び三相二相電流変換器４７に送信する。
【００５３】
次に、図６を用いて、電流指令値演算器４２の構成を説明する。図６は、電流指令値演算器４２のブロック図である。電流指令値演算器４２は、電流振幅演算器４２１、電流調整量演算器４２２、ｄｑ軸電流指令値算出マップ４２３、タイミング信号生成器４２４及びスイッチＳＷ３、ＳＷ４を有している。
【００５４】
電流振幅演算器４２１は、バッテリ電流（Ｉｄｃ）の振幅を、以下の式（１２）を用いて演算し、演算された電流振幅（ΔＩａｎ’）を電流調整量演算器４２２に出力する。なお、バッテリ電流（Ｉｄｃ）は、バッテリ４に接続された電流センサ（図示しない）より検出する。
【数１２】
0006019734.tif 000013
ただし、ｍａｘ（Ｉ）はＩの最大値を、ｍｉｎ（Ｉ）はＩの最小値を示す。
【００５５】
バッテリ４の電流が脈動した場合に、電流振幅演算器４２１で演算される電流振幅（ΔＩａｎ’）は、脈動の振幅に対応しており、電流振幅演算器４２１は、バッテリ電流の脈動の振幅を演算することになる。また、電流振幅（ΔＩａｎ’）は、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）の調整幅になる。
【００５６】
電流調整量演算器４２２は、バッテリ４の入出力可能電力と、電流振幅演算器４２１で演算された電流振幅（ΔＩａｎ’）とに基づいて、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）の調整幅を設定する。本例では発電機モータ２で消費できる最大電力を越える電力の脈動成分を駆動機モータ６の損失として消費させるために、トルク指令値（Ｔ＊’）等に基づき演算されたｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）を調整して、意図的に駆動機モータ６で損失が発生するように制御する。この際、駆動機モータ６の損失は可能な限り小さい方が好ましいため、電流調整量演算器４２２は、以下の式（１３）で表される条件の下、駆動機モータ６の損失を小さくするよう、電流振幅演算器４２１で演算された電流振幅（ΔＩａｎ’）を変更する。
【数１３】
0006019734.tif 000014
【００５７】
ｄｑ軸電流指令値算出マップ４２３は、外部から入力されるトルク指令値（Ｔ＊）等に基づき、電流調整前のｄｑ軸電流指令値（Ｉｄ１＊’、Ｉｑ１＊’）を演算する。ｄｑ軸電流指令値算出マップ４２３は、図４のマップと同様な、モータトルク及び電流損失量とｄｑ軸電流との関係を示すマップ上で、駆動機モータ６のｄｑ軸電流指令値（Ｉｄ１＊’、Ｉｑ１＊’）を調整して、電流調整量（ΔＩａ＊）を含んだｄｑ軸電流指令値（Ｉｄ２＊’、Ｉｑ２＊’）を演算する。
【００５８】
そして、ｄｑ軸電流指令値算出マップ４２３は、式（１３）より、電流調整量ΔＩａ’＝０を満たす場合の、ｄｑ軸電流指令値（Ｉｄ１＊’、Ｉｑ１＊’）を演算し、電流調整量ΔＩａ’＝ΔＩａ＊’を満たす場合の、ｄｑ軸電流指令値（Ｉｄ２＊’、Ｉｑ２＊’）を演算する。
【００５９】
ＳＷ３は、タイミング信号生成器４２４から送信される切替信号（Ｔ＿ｆｌｇ）に基づき、電流調整量ΔＩａ＝０を満たす場合のｄ軸電流指令値（Ｉｄ１＊’）と電流調整量ΔＩａ＝ΔＩａ＊を満たす場合のｄ軸電流指令値（Ｉｄ２＊’）とを切り替えるスイッチである。ＳＷ４は、タイミング信号生成器４２４から送信されるパルス信号（Ｔ＿ｆｌｇ）に基づき、電流調整量ΔＩａ＝０を満たす場合のｑ軸電流指令値（Ｉｑ１＊’）と電流調整量ΔＩａ＝ΔＩａ＊’を満たす場合のｑ軸電流指令値（Ｉｄ２＊’）とを切り替えるスイッチである。
【００６０】
タイミング信号生成器４２４は、回転数検出値（ωＧ）に基づき、脈動のタイミングを特定し、特定されたタイミングで同期させつつＳＷ３、ＳＷ４を切り替えるパルス信号（Ｔ＿ｆｌｇ）をＳＷ３、ＳＷ４にそれぞれ送信する。
【００６１】
次に、電流指令値演算器２２の制御について、説明する。エンジン１０のトルクが脈動すると、図７に示すように、発電機モータ２のｄｑ軸電流が脈動する。図７は、時間に対する、発電機モータ２のｄｑ軸電流の特性を示すグラフである。
【００６２】
まず、電流指令値演算器２２は、電流振幅演算器２２１により式（９）を用いて、脈動の振幅に相当する電流振幅（ΔＩａｎ）を演算し、当該電流振幅（ΔＩａｎ）を、ｄｑ軸電流指令値の調整幅に設定する。図８を用いて、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）と調整幅（ΔＩａｎ）との関係を説明する。ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）は、発電機モータ２の損失をできるだけ小さくしつつ、トルク指令値（Ｔ＊）により指令されたトルクを出力するために、演算された指令値である。そのため、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）は、発電機モータ２の損失を抑えた、可能な限り小さい指令値に設定されている（図８のＡ１に相当）。
【００６３】
そして、Ａ１を通る定トルク線は、図８のＴＡで表される。この定トルク線上で、指令値を設定すれば、Ａ１の指令値におけるトルクと同じトルクが出力される。その一方で、Ａ１以外の指令値では発電機モータ２の損失が大きくなる。そのため、Ａ１の指令値に対して、脈動の大きさに相当するｄｑ軸電流の変動幅の２乗平均値（ΔＩａｎ）分、大きくした指令値が設定される。そして、指令値の変更に伴う、トルク変動を防ぐために、定トルク線（ＴＡ）上であるＡ２の指令値に設定する。調整幅（ΔＩａｎ）分の電力は、発電機モータ２の損失として、発電機モータ２で消費される。これにより、電流指令値演算器２２は、トルク指令値（Ｔ＊）基づき演算されたｄｑ軸電流指令値を調整して、発電機モータ２の電力の脈動を発電機モータ２で消費させるｄｑ軸電流指令値を演算する。
【００６４】
また、電流指令値演算器２２は、電流調整量演算器２２２により式（１０）を用いて、ｄｑ軸電流指令値の調整幅を変更する。図９を用いて、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）と電流調整量（ΔＩａ＊）との関係を説明する。なお、図９に示す例では、電流振幅演算器２２１で演算された電流振幅（ΔＩａｎ）が、バッテリ４の入出力可能電力に対応する入出力電流より大きい、とする（式（１０）のうち、上の条件式に相当）。
【００６５】
図９の点Ｂ１は、発電機モータ２の損失をできるだけ小さくしつつ、トルク指令値（Ｔ＊）により指令されたトルクを出力するために、演算された指令値であり、図８の点Ａ１の指令値に相当する。そして、点Ｂ１を通る定トルク線は、図９のＴＢ線となる。この定トルク線（ＴＢ）上で指令値が設定される。
【００６６】
また、式（１０）より、図８で示した電流振幅（ΔＩａｎ）から、バッテリ４の充放電電力として消費される電力分を差し引いた分が、電流調整量（ΔＩａ＊）となる。そして、定トルク線（ＴＢ）上であって、点Ｂ１の指令値に対して、電流調整量（ΔＩａ＊）分、大きくした指令値が、調整幅の変更後の指令値として設定される（図９の点Ｂ２に相当）。これにより、ｄｑ軸電流指令値の調整幅が、図８の調整幅よりも小さくなり、発電機モータ２での電力消費を抑制することできる。
【００６７】
上記のように、ｄｑ軸電流指令値の調整幅が調整された場合における、発電機モータ２の発電電力の脈動と、バッテリ４の入出力可能電力及び発電機モータ２で消費させる消費電力との関係を、図１０を用いて説明する。図１０のグラフａが発電機モータ２の発電電力の脈動の時間特性を示し、斜線部ｂがバッテリ４の放電可能電力を、斜線部ｃがバッテリ４の充電可能電力を、斜線部ｄが発電機モータ２で消費させる電力を示す。図１０に示すように、発電機モータ２の発電電力の脈動成分を含む電力は、バッテリ４の放電可能電力及び充電可能電力と、発電機モータ２の消費電力に分配されることで、発電機モータ２の損失を最小限に抑制しつつ、脈動を抑制することができる。
【００６８】
一方、電流振幅演算器２２１で演算された電流振幅（ΔＩａｎ）が、バッテリ４の入出力可能電力に対応する入出力電流以下である場合（式（１０）のうち、下の条件式に相当）には、電流調整量（ΔＩａ＊）がゼロになるため、ｄｑ軸電流指令値は調整されない。
【００６９】
タイミング信号生成器２２４は、回転数演算器２６の回転数検出値（ωＧ）が基準値より高くなった時、または、回転数検出値（ωＧ）が基準値より低くなった時を、脈動のタイミングとして特定する。基準値は、所定の期間内で、発電機モータ２の回転数検出値の平均値に設定されている。
【００７０】
図１１を用いて、回転数と脈動のタイミングとの関係について説明する。図１１（ａ）は、発電機モータ２の回転数の時間特性を、（ｂ）は、発電機モータ２の電力の時間特性を示すグラフである。なお、（ａ）の点線は、タイミング信号生成器２２４において、脈動を判定するための基準値を表している。
【００７１】
図１１に示すように、回転数の脈動は、回転数が基準値より低くなってから高くなるまでの間で発生しており、電力の脈動は、回転数の脈動と同期するように、基準値に対する回転数の増減に同期して発生している。タイミング信号生成器２２４は、回転数検出値（ωＧ）が基準値より低くなった時を、パルス信号（Ｔ＿ｆｌｇ）のアップトリガとして検出し、回転数検出値（ωＧ）が基準値より高くなった時を、パルス信号（Ｔ＿ｆｌｇ）のダウントリガとして検出する。そして、タイミング信号生成部２２４は、検出したトリガでパルス信号（Ｔ＿ｆｌｇ）を発生させて、スイッチＳＷ１、２に送信する。すなわち、タイミング信号生成部２２４は、回転数検出値（ωＧ）と基準値とを比較することで、発電機モータ２の回転数脈動を検出し、検出した回転数脈動から、電力の脈動のタイミングを特定する。
【００７２】
スイッチＳＷ１、ＳＷ２は、パルス信号がオフ状態を示す場合には、ｄｑ軸電流指令値（Ｉｄ１＊、Ｉｑ１＊）を流す方に導通させて、パルス信号がオン状態を示す場合には、ｄｑ軸電流指令値（Ｉｄ２＊、Ｉｑ２＊）を流す方に導通させる。これにより、電流指令値演算器２２は、発電機モータ２のモータの回転数検出値（ωＧ）から脈動のタイミングを特定し、特定した脈動のタイミングと、ｄｑ軸電流指令値（Ｉｄ１＊、Ｉｑ１＊）及びｄｑ軸電流指令値（Ｉｄ２＊、Ｉｑ２＊）を切り替えるタイミングとを同期させて、発電機インバータ３を制御する。
【００７３】
次に、電流指令値演算器４２の制御について説明する。発電機モータ２の電力の脈動が、発電機モータ２で消費できる電力及びバッテリ４の入出力可能電力より大きい場合には、駆動機モータ６で脈動の電力を消費させるために、電流指令値演算器４２は、以下の制御を行う。
【００７４】
電流指令値演算器４２は、電流振幅演算器４２１により式（１２）を用いて、発電機モータ２及びバッテリ４で消費できない脈動の振幅に相当するバッテリ電流（Ｉｄｃ）の振幅から、電流振幅（ΔＩａｎ’）を演算し、当該電流振幅（ΔＩａｎ’）をｄｑ軸電流指令値の調整幅に設定する。図１２を用いて、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）と調整幅（ΔＩａｎ’）との関係を説明する。ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）は、トルク指令値（Ｔ＊’）に応じて、駆動機モータ６の損失をできるたけ小さくするように、演算された指令値である（図１２のＣ１に相当）。
【００７５】
Ｃ１を通る定トルク線は、図１２のグラフＴｃで表される。定トルク線（Ｔｃ）上で、座標Ｃ１で示される指令値以外の指令値を設定した場合には、駆動機モータ６の出力トルクは一定に保たれるが、駆動機モータ６の損失が大きくなる。そのため、定トルク線（Ｔｃ）上において、点Ｃ１の指令値に対して電流振幅（ΔＩａｎ’）分大きくした指令値が設定される。これにより、電流指令値演算器２２は、トルク指令値（Ｔ＊’）基づき演算されたｄｑ軸電流指令値を調整して、バッテリ４の電流の脈動を駆動機モータ６で消費させるｄｑ軸電流指令値を演算する。
【００７６】
また、電流指令値演算器４２は、電流調整量演算器４２２により式（１３）を用いて、ｄｑ軸電流指令値の調整幅を変更する。図１３を用いて、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）と電流調整量（ΔＩａ＊’）との関係を説明する。なお、図１３に示す例では、電流振幅演算器４２１で演算された電流振幅（ΔＩａｎ’）が、バッテリ４の入出力可能電力に対応する入出力電流より大きい、とする（式（１３）のうち、上の条件式に相当）。
【００７７】
図１３の点Ｄ１で示されるｄｑ軸電流指令値は、トルク指令値（Ｔ＊’）に応じて設定される指令値であり、点Ｃ１の指令値に相当する。Ｄ１を通る定トルク線は、図１３のグラフＴｄで表される。
【００７８】
式（１３）により、図１２で示した電流振幅（ΔＩａｎ’）から、バッテリ４の充放電電力として消費される電力分を差し引いた分が、電流調整量（ΔＩａ＊’）となる。そして、定トルク線（ＴＤ）上であって、点Ｄ１の指令値に対して、電流調整量（ΔＩａ＊’）分、大きくした指令値が、調整幅の変更後の指令値として設定される（図１３の点Ｄ２に相当）。これにより、ｄｑ軸電流指令値の調整幅が、図１２の調整幅よりも小さくなり、駆動機モータ６での電力消費を抑制することできる。
【００７９】
上記のように、ｄｑ軸電流指令値の調整幅が調整された場合における、発電機モータ２の発電電力の脈動と、バッテリ４の入出力可能電力、発電機モータ２で消費させる消費電力及び駆動機モータ６で消費させる消費電力との関係を、図１４を用いて説明する。図１４のグラフａが発電機モータ２の発電電力の脈動の時間特性を示し、斜線部ｂがバッテリ４の放電可能電力を、斜線部ｃがバッテリ４の充電可能電力を、斜線部ｄが駆動機モータ６で消費させる電力を、斜線部ｅが発電機モータ２で消費させる電力を示す。図１４に示すように、発電機モータ２の発電電力の脈動成分を含む電力は、バッテリ４の放電可能電力及び充電可能電力と、発電機モータ２の消費電力と、駆動機モータ６の消費電力に分配されることで、発電機モータ２及び駆動機モータ６の損失を最小限に抑制しつつ、脈動を抑制することができる。
【００８０】
一方、電流振幅演算器４２１で演算された電流振幅（ΔＩａｎ’）が、バッテリ４の入出力可能電力に対応する入出力電流以下である場合（式（１３）のうち、下の条件式に相当）には、電流調整量（ΔＩａ＊’）がゼロになるため、ｄｑ軸電流指令値は調整されない。
【００８１】
タイミング信号生成器４２４は、タイミング信号生成器２２４と同様に、回転数検出値（ωＧ）に基づき、脈動のタイミングとして特定し、特定したタイミングに応じて、パルス信号（Ｔ＿ｆｌｇ）を発生させて、スイッチＳＷ３、４に送信する。
タイミング信号生成器４２４のよる脈動のタイミングの特定制御及びスイッチＳＷ３、４の切替制御は、タイミング信号生成器２２４による特定制御と同様であるため、説明を省略する。
【００８２】
スイッチＳＷ３、ＳＷ４は、スイッチＳＷ１、ＳＷ２と同様に、パルス信号（Ｔ＿ｆｌｇ）により、ｄ軸電流指令値（Ｉｄ１＊’）若しくはｄ軸電流指令値（Ｉｄ２＊’）を切り替え、又は、ｑ軸電流指令値（Ｉｑ１＊’）若しくはｄ軸電流指令値（Ｉｑ２＊’）を切り替える。これにより、電流指令値演算器４２は、発電機モータ２のモータの回転数検出値（ωＧ）から脈動のタイミングを特定し、特定した脈動のタイミングと、ｄｑ軸電流指令値（Ｉｄ１＊’、Ｉｑ１＊’）及びｄｑ軸電流指令値（Ｉｄ２＊’、Ｉｑ２＊’）を切り替えるタイミングとを同期させて、駆動機インバータ５を制御する。
【００８３】
図１５に、時間に対する、発電機モータ２の回転数の特性及び発電電力の特性を示す。発電電力の特性のうち、グラフａは本例の特性を、グラフｂは比較例の特性を示す。比較例は、本例とは異なり、脈動成分を抑制する制御を行っていない。
【００８４】
図１５の点線で示す矢印は、脈動のタイミングを示している。本例では、脈動のタイミングと同期して、発電電力のピーク値が、比較例の発電電力のピーク値より下がっている。これにより、上記の制御を行うことで、脈動のタイミングと同期して、発電機モータ２の電力の脈動が抑制されていることが確認できる。
【００８５】
上記のように、本例は、発電機モータ２のトルク指令値に基づいて、発電機インバータ３を制御するｄｑ軸電流指令値を演算し、かつ、当該ｄｑ軸電流指令値を調整して、発電機モータ２の電力の脈動を、発電機モータ２又は駆動機モータ６で消費させるｄｑ軸電流指令値を演算する。また本例は、駆動機モータ６のトルク指令値に基づいて、駆動機インバータ５を制御するｄｑ軸電流指令値を演算し、かつ、当該ｄｑ軸電流指令値を調整して、発電機モータ２の電力の脈動を、駆動機モータ６で消費させるｄｑ軸電流指令値を演算する。これにより、エンジン１のトルクの脈動により発生した、発電機モータ２の脈動を発電機モータ２又は駆動機モータ６で消費させることで、電力の脈動を抑制することができる。
【００８６】
ところで、本例と異なり、エンジンの出力軸に発生するトルク変動（トルク脈動）を抑制するために、出力軸にトルクを付与するモータジェネレータを結合し、エンジンの出力トルクと慣性トルクに応じて出力軸が発生する脈動補償トルクを演算し、脈動補償トルクが得られるようにモータジェネレータを制御するハイブリッド原動機のトルク変動制御装置が知られている。
【００８７】
上記のトルク変動制御装置では、エンジンの回転数が高い場合には、モータジェネレータの応答遅れによって、モータジェネレータの出力トルクがエンジンのトルク脈動に追従することできない、という問題があった。また、エンジンのトルクの脈動がモータジェネレータにより発生可能な最大トルクより大きい場合には、モータジェネレータで抑制することができず、モータジェネレータの回転軸に回転数脈動が発生し、発電電力の脈動が生じる、という問題があった。そして、かかる発電電力の脈動は、平滑コンデンサ又はバッテリの電流の増減が大きくなり、熱膨張や収縮が加速するという問題もある。
【００８８】
本例では、エンジン１のトルク脈動により発生する発電電力の脈動を、発電機モータ２又は駆動機モータ６の損失として消費させるため、発電電力の脈動を抑制することができる。また、エンジン１０のトルクの脈動が、発電機モータ２又は駆動機モータ６の最大トルクより大きい場合でも、発電機モータ２又は駆動機モータ６の損失で、脈動の電力を消費させるため、脈動成分を低減させることができる。その結果として、発電機インバータ３、バッテリ４又は駆動機インバータ５に対して、脈動により加わる負荷を低減させることができる。
【００８９】
また本例は、発電機モータ２又は駆動機モータ６の出力トルクを一定にしつつ、トルク指令値に基づくｄｑ軸電流指令値を調整して、脈動を消費させるｄｑ軸電流指令値を演算する。これにより、発電機モータ２又は駆動機モータ６で脈動を消費した際の、トルク変動を抑制することができる。また、脈動を検出した後に、検出した脈動に応じて指令値を制御した場合には、検出遅れ又は通信遅れが指令値の制御に影響するが、本例では、このような検出遅れ又は通信遅れがないため、脈動の抑制効果を高めることができる。
【００９０】
また本例は、タイミング信号生成器２２４、４２４により、脈動のタイミングを特定し、特定されたタイミングと、トルク指令に基づくｄｑ軸電流指令値及び脈動を消費させるためのｄｑ軸電流指令値を切り替えるタイミングとを同期させて、発電機インバータ３又は駆動機インバータ５を制御する。これにより、電力の脈動成分のみを抑制することができる。
【００９１】
また本例は、磁極位置検出器５２の検出値に基づく発電機モータ２の回転数脈動から、脈動のタイミングを特定する。エンジンの間欠燃焼によって発生する脈動は、発電機モータ２の回転数の脈動として表れるため、発電機モータ２の回転数を検出して、回転数脈動のタイミングとＳＷ１〜４の切替のタイミングとを同期させることで、電力の脈動成分のみを発電機モータ２又は駆動機モータ６で消費させるように、制御することができる。また、本例は、脈動のタイミングを周期的に特定した上で、ＳＷ１〜４の切替のタイミングを設定しているため、エンジン回転数が高い場合でも、脈動のタイミングに対して指令値の切り替え制御を追随させることができる。
【００９２】
また本例は、電流センサ５１の検出電流（Ｉｄ、Ｉｑ）の脈動の振幅に応じて、脈動を消費させるためのｄｑ軸電流指令値を演算する。これにより、電流のフィードバック制御により、指令値の調整幅を演算して、指令値を調整するため、脈動の抑制効果を高めることができる。
【００９３】
また本例は、バッテリ４の充電可能電力又は放電可能電力に応じて、脈動を消費させるためのｄｑ軸電流指令値を演算する。これにより、バッテリ４の充放電が可能な場合には、バッテリ４で脈動の電力を消費させることで、発電機モータ２又は駆動機モータ６の損失を抑制することができる。
【００９４】
また本例は、発電機モータ２の電力の脈動を駆動機モータ６で消費させるよう、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）を演算する。これにより、発電機モータ２の電力の脈動を、発電機モータ２だけではなく、駆動機モータ６でも消費させることができるため、発電機モータ２駆動機モータ６のいずれか一方のモータに対して、損失が集中して加わることを防ぐことができる。
【００９５】
また本例は、発電機モータ２の電力の脈動のうち、発電機モータ２で消費可能電電力を越える電力の脈動を、駆動機モータ６で消費させるｄｑ軸電流指令値を演算する。これにより、発電機モータ２で消費できない脈動成分を、駆動機モータ６で消費させることができるため、電力の脈動を抑制することができる。
【００９６】
なお、タイミング信号生成部２２４において、回転数検出値（ωＧ）と比較される基準値は必ずしも回転数検出値（ωＧ）の平均値である必要はない。タイミング信号生成部２２４は、例えば、回転数検出値（ωＧ）の平均値より高い所定の値を基準値に設定し、回転数検出値（ωＧ）が当該基準値より高くなった時を脈動のタイミングとして特定してもよい。
【００９７】
なお、本例では、発電機モータ２の電力の脈動のうち、発電機モータ２で消費できない電力の脈動を、バッテリ４の充放電電力として消費させたが、発電機モータ２で消費できない電力の脈動を、バッテリ４の消費を介さずに、駆動機モータ６で消費するように制御してもよい。
【００９８】
すなわち、電流調整量演算器２２２は、式（１０）を用いた、ｄｑ軸電流指令値（Ｉｄ＊、Ｉｑ＊）の調整幅の変更の代わりに、電流振幅（ΔＩａｎ）と、発電機モータ２の消費可能電力と対応する消費可能電流値とを比較し、電流振幅（ΔＩａｎ）が当該消費可能電流値より大きい場合には、電流調整量（ΔＩａ＊）を消費可能電流値に制限する。そして、消費可能電流値を越える脈動は、駆動インバータ５の入力電流となるため、電流振幅演算器４２１は、当該入力電流の振幅を演算することで、電流振幅（ΔＩａｎ’）を演算する。電流指令値演算器４２は、電流振幅演算器４２１で演算された電流振幅（ΔＩａｎ’）分、ｄｑ軸電流指令値（Ｉｄ＊’、Ｉｑ＊’）を調整して、駆動機モータ６で損失が発生するように駆動機インバータ５を制御する。
【００９９】
図１６に、発電機モータ２で消費させる消費電力及び駆動機モータ６で消費させる消費電力の関係を示す。図１６のグラフａが発電機モータ２の発電電力の脈動の時間特性を示し、斜線部ｂが駆動機モータ６で消費させる電力を、斜線部ｃが発電機モータ２で消費させる電力を示す。図１６に示すように、発電機モータ２の発電電力の脈動成分を含む電力は発電機モータ２の消費電力及び駆動機モータ６の消費電力に分配されることで、ダイレクト配電時にも、発電電力の脈動成分を駆動機モータ６の損失として消費させることができ、脈動を抑制することができる。
【０１００】
なお、本例では、ｄｑ電流指令値を調整することで、脈動の電力を発電機モータ２又は駆動機モータ６で消費させたが、電圧指令値又はトルク指令値を調整することで、発電機モータ２又は駆動機モータ６を制御する指令値を調整して、脈動の電力を発電機モータ２又は駆動機モータ６で消費させてもよい。
【０１０１】
上記の発電機モータ２又は駆動機モータ６が本発明の「モータ」に相当し、発電機インバータ３又は駆動機インバータ５が本発明の「インバータ」に、発電機コントローラ２０又は駆動コントローラ４０が本発明の「制御手段」に、電流指令値演算器２２、４２が本発明の「指令値演算手段」に、タイミング信号生成器２２４、４２４が「脈動特定手段」に、磁極位置検出器５２が本発明の「回転数センサ」に相当する。
【０１０２】
《第２実施形態》
本発明の他の実施形態に係るインバータ制御装置について説明する。本例では上述した第１実施形態に対して、トルク指令値に基づいて、脈動のタイミングを特定している点が異なる。これ以外の構成は上述した第１実施形態と同じであるため、その記載を適宜、援用する。
【０１０３】
タイミング信号生成器２２４は、システムコントローラ１００から発電機コントローラ２０に入力されるトルク指令値（Ｔ＊）が基準値より高くなった時、または、トルク指令値が基準値より低くなった時を、脈動のタイミングとして特定する。基準値は、所定の期間内のトルク指令値の平均値に設定されている。
【０１０４】
図１７を用いて、トルク指令値と脈動とのタイミングについて説明する。図１７（ａ）はトルク指令値の時間特性を、（ｂ）は発電機モータ２の電力の時間特性を示すグラフである。なお、（ａ）の点線は、タイミング信号生成器２２４において、脈動を判定するための基準値を表している。
【０１０５】
図１７に示すように、電力の脈動は、指令値が基準値より高くなってから低くなるまでの期間と同期するように、発生している。そのため、本例はトルク指令値（Ｔ＊）に基づいて、発電機モータ２の電力の脈動のタイミングを特定し、特定されたタイミングと、指令値を切り替えるタイミングとを同期させて、発電機インバータ３を制御する。
【０１０６】
タイミング信号生成器２２４は、トルク指令値（Ｔ＊）が基準値より高くなった時を、パルス信号（Ｔ＿ｆｌｇ）のアップトリガとして検出し、トルク指令値（Ｔ＊）が基準値より高くなった時を、パルス信号（Ｔ＿ｆｌｇ）のダウントリガとして検出する。そして、タイミング信号生成部２２４は、検出したトリガでパルス信号（Ｔ＿ｆｌｇ）を発生させて、スイッチＳＷ１、２に送信する。これにより、タイミング信号生成部２２４は、トルク指令値（Ｔ＊）と基準値とを比較することで、発電機モータ２の回転数脈動を検出し、検出した回転数脈動から、電力の脈動のタイミングを特定する。スイッチＳＷ１、２のスイッチング制御は、第１実施形態に係るスイッチＳＷ１、２の制御と同様であるため説明を省略する。
【０１０７】
上記のとおり、本例は、トルク指令値（Ｔ＊）から、脈動のタイミングを特定する。発電機モータ２は、回転数脈動を抑制するよう回転数制御され、発電機モータ２のトルク指令値は、当該回転数制御に基づいて設定されている。そのため、発電機モータ２の回転数脈動とトルク指令値の脈動は同期しており、トルク指令値（Ｔ＊）に基づく脈動のタイミングとＳＷ１、２の切替のタイミングとを同期させることで、電力の脈動成分のみを発電機モータ２で消費させるように、制御することができる。
【０１０８】
なお、タイミング信号生成器２２４において、トルク指令値（Ｔ＊）と比較される基準値は必ずしも平均値である必要はない。タイミング信号生成部２２４は、例えば、トルク指令値（Ｔ＊）の平均値より高い所定の値を基準値に設定し、トルク指令値（Ｔ＊）が当該基準値より高くなった時または低くなった時を脈動のタイミングとして特定してもよい。
【０１０９】
また本例において、タイミング信号生成器４２４は、タイミング信号生成器２２４と同様に、駆動機モータ６のトルク指令値（Ｔ＊’）から脈動のタイミングを特定してもよい。
【０１１０】
また本例において、タイミング信号生成器２２４、４２４は、エンジン１の燃焼サイクルから脈動のタイミングを特定してもよい。発電機モータ２の電力の脈動は、主にエンジン１の間欠燃焼により発生するため、エンジン１の燃料サイクルと電力の脈動のタイミングとの間には相関性がある。そして、燃料サイクルは、エンジンコントローラ１０により管理されているため、タイミング信号生成器２２４、４２４は、エンジンコントローラ１０で管理されている燃焼サイクルから、電力の脈動のタイミングを特定し、ＳＷ１〜ＳＷ４を制御する。これにより、本例は、電力の脈動成分のみを発電機モータ２又は駆動機モータ６で消費させるように、制御することができる。
【符号の説明】
【０１１１】
１…エンジン
２…発電機モータ
３…発電機インバータ
４…バッテリ
５…駆動機インバータ
６…駆動機モータ
７…減速機
８…駆動輪
１０…エンジンコントローラ
２０…発電機コントローラ
２１…回転数制御器
２２…電流指令値演算器
２２１…電流振幅演算器
２２２…電流調整量演算器
２２３…ｄｑ軸電流指令値算出マップ
２２４…タイミング信号生成器
ＳＷ１、ＳＷ２…スイッチ
２３…電流制御器
２４…非干渉化制御器
２５…二相三相電圧変換器
２６…回転数演算器
２７…三相二相電流変換器
３０…バッテリコントローラ
４０…駆動機コントローラ
４２…電流指令値演算器
４２１…電流振幅演算器
４２２…電流調整量演算器
４２３…ｄｑ軸電流指令値算出マップ
４２４…タイミング信号生成器
ＳＷ３、ＳＷ４…スイッチ
４３…電流制御器
４４…非干渉化制御器
４５…二相三相電圧変換器
４７…三相二相電流変換器
５１、５３…電流センサ
５２、５４…磁極位置検出器
１００…システムコントローラ
【図１】
0006019734.tif 000015
【図２】
0006019734.tif 000016
【図３】
0006019734.tif 000017
【図４】
0006019734.tif 000018
【図５】
0006019734.tif 000019
【図６】
0006019734.tif 000020
【図７】
0006019734.tif 000021
【図８】
0006019734.tif 000022
【図９】
0006019734.tif 000023
【図１０】
0006019734.tif 000024
【図１１】
0006019734.tif 000025
【図１２】
0006019734.tif 000026
【図１３】
0006019734.tif 000027
【図１４】
0006019734.tif 000028
【図１５】
0006019734.tif 000029
【図１６】
0006019734.tif 000030
【図１７】
0006019734.tif 000031