以下、図面を参照しながら本発明の実施形態について説明する。
<第1実施形態>
図1は、車両100の構成を示すブロック図である。図1に示すように、車両100は、いわゆるシリーズ方式のハイブリッド車両であり、バッテリ10、駆動モータ11及び発電装置12を備える。
バッテリ10は、車両100の各部を駆動するための電力を蓄積する電源である。バッテリ10は、充電可能である。本実施形態では、バッテリ10は、少なくとも発電装置12が発電した電力によって充電される。バッテリ10の出力電圧(以下、バッテリ電圧Vdcという)は任意のタイミングで検出可能である。バッテリ電圧Vdcは、車両100の各部の制御に用いるパラメータとして利用可能である。
駆動モータ11は、車両100を駆動するための電動機である。本実施形態では、駆動モータ11は、例えば三相同期電動機である。
駆動モータ11は、減速機13及びドライブシャフト14を介して駆動輪15に接続される。したがって、駆動モータ11は車両100の駆動力を発生させる。また、車両100が減速するときには、駆動モータ11は、いわゆる回生制御によって、車両100の運動エネルギーを電気エネルギーに変換する。回生制御によって得られる電力の一部または全部は、バッテリ10に充電可能である。
駆動モータ11は、駆動インバータ16を介してバッテリ10と接続される。駆動インバータ16は、駆動モータ11用のインバータであり、バッテリ10の出力電力を交流電力に変換して駆動モータ11に供給する。また、回生制御時には、駆動インバータ16は、駆動モータ11で発生する交流電力を直流電力に変換する。
発電装置12は、バッテリ10を充電する電力を発電する。また、発電装置12が発電した電力は、駆動インバータ16を介して駆動モータ11に直接的に供給され得る。発電装置12は、エンジン17と、発電機18と、を備える。
エンジン17は、発電時における発電装置12の動力源である。エンジン17がその出力軸に発生させるトルクは、動力伝達系20(すなわちバネ21a、ダンパ21b、及び、ギヤ21c)を介して発電機18に入力される。なお、バッテリ10から供給される電力を用いて発電機18を力行回転させることによって、エンジン17は空回しされることがある。以下、発電機18を力行回転させ、エンジン17を空回しする制御を、モータリングという。モータリングは、例えば、バッテリ10の電力を積極的に消費するために行われる。
発電機18は、エンジン17から伝達される動力(トルク)によって発電する。本実施形態では、発電機18は、例えば三相同期発電機である。また、モータリングのために、発電機18は力行回転されることがある。
発電機18は、発電機インバータ19を介してバッテリ10と接続しており、発電によって生じた電力はバッテリ10に充電される。発電機インバータ19は、発電機18で生じた交流電力を直流電力に変換して、バッテリ10に供給する。また、モータリングのために、バッテリ10から発電機18に電力を供給するときには、発電機インバータ19は、バッテリ10から供給される直流電力を交流電力に変換して、発電機18に入力する。
発電装置12は、上記のエンジン17及び発電機18の他に、これらの間で動力を伝達する動力伝達系20を備える。すなわち、エンジン17と発電機18は、動力伝達系20を介して接続される。そして、本実施形態では、動力伝達系20は、特に、バネ21a、ダンパ21b、及び、ギヤ21cを含む。
バネ21aは、動力伝達系20における弾性要素の例である。また、ダンパ21bは、動力伝達系20における減衰要素の例である。バネ21a及びダンパ21bはいずれも、エンジン17と発電機18との間で伝達されるトルクの急峻な変化を緩和する機械的要素である。バネ21a及びダンパ21bは、例えば、発電時にエンジン17が出力するトルクの脈動を低減するために動力伝達系20に用いられる。バネ21aは、例えば、コイルばね、または、板ばね等である。ダンパ21bは、例えば、ねじりダンパ、または、フライホイールダンパ等である。本実施形態では、ダンパ21bはフライホイールダンパである。なお、バネ21aは、ダンパ21bに組み込まれている場合がある。したがって、図1においては、説明の便宜のため、弾性要素であるバネ21aと減衰要素であるダンパ21bを分けてそれぞれに示しているが、ダンパ21bが実質的に弾性要素として機能する場合がある。同様に、バネ21aが実質的に減衰要素として機能する場合がある。すなわち、エンジン17とギヤ21cの間の要素のうち、トルク伝達において弾性特性を発揮する部分の全体が弾性要素であり、減衰特性を発揮する部分の全体が減衰要素である。そして、機械的機構として、両者は全部または一部が共通する場合がある。本実施形態では、簡単のため、上記のとおり、明示的に、弾性要素としてのバネ21aと減衰要素としてのダンパ21bがあるものとする。以下では、動力伝達系20がエンジン17と発電機18との間で伝達するトルクを、動力伝達系20の伝達トルク、または、単に伝達トルクという。
ギヤ21cは、エンジン17、発電機18、及び、ダンパ21bの各接続部分の一部または全部に用いられる。ギヤ21cは、エンジン17及び/または発電機18の制御状態に応じて生じるバックラッシュによって、ガタ打ち音またはガラ音と称される騒音(以下、ガラ音という)を生じることがある。
この他、車両100は、上記のバッテリ10、駆動モータ11、及び発電装置12等の動作を制御する各種のコントローラを備える。具体的には、車両100は、システムコントローラ23、駆動モータコントローラ24、バッテリコントローラ25、発電機コントローラ26、及び、エンジンコントローラ27を備える。
システムコントローラ23は、例えばアクセル開度Apo、車速V、及びバッテリ10のSOC(State of Charge)等、車両各部の状態に関する情報を適宜取得し、これらに基づいて駆動モータ11及び発電装置12等を統括的に制御する。例えば、システムコントローラ23は、駆動モータ11の出力トルクを指令する駆動トルク指令値、及び、発電装置12で発電する電力の目標値である目標発電電力、及び、発電装置12で消費させる電力の目標値である目標消費電力等、を演算する。
より具体的には、発電装置12の制御に関し、システムコントローラ23は、発電装置12における発電またはモータリングを制御する発電制御部28を備える。発電制御部28は、目標発電電力の発電をさせるために、エンジン17が出力すべきトルクを表すエンジントルク指令値TE
*と、発電機18の回転数ωGについての目標値または指令値である回転数指令値ωG
*と、を演算する。また、発電制御部28は、目標消費電力をモータリングによって消費させるために、回転数指令値ωG
*を演算する。なお、以下では、特にエンジン17の回転数ωEとの区別が必要な場合を除き、発電機18の回転数ωGを単に回転数ωGという。
駆動モータコントローラ24は、システムコントローラ23から駆動トルク指令値を取得する。駆動モータコントローラ24は、駆動トルク指令値にしたがって駆動インバータ16を制御することにより、駆動モータ11の出力トルクを制御する。
バッテリコントローラ25は、バッテリ10のSOC、温度、内部抵抗、及び、入力可能電力、出力可能電力等を、計測し、または、演算する。これらのバッテリ10の状態に関する情報は、システムコントローラ23に入力される。
発電機コントローラ26は、発電制御部28から回転数指令値ωG
*を取得する。発電機コントローラ26は、回転数指令値ωG
*にしたがって発電機インバータ19を制御することにより、発電機18を駆動する。このとき、回転数ωGは回転数指令値ωG
*に収束し、この発電機18の駆動によって発電機18が出力するトルクは、動力伝達系20を介してエンジン17に伝達され、エンジン17を空回しさせる。すなわち、モータリングが実行され、目標消費電力に相当する電力が消費される。発電機コントローラ26の構成については、詳細を後述する。また、以下では、エンジン17が出力するトルク(エンジントルクTE)との区別が必要な場合を除き、発電機18が出力するトルクを単にトルクTGという。
エンジンコントローラ27は、発電制御部28からエンジントルク指令値TE
*を取得する。エンジンコントローラ27は、エンジントルク指令値TE
*にしたがってエンジン17を駆動する。これにより、エンジン17が出力するトルク(以下、エンジントルクTEという)は動力伝達系20を介して発電機18に伝達され、発電機18は目標発電電力の発電をする。
なお、上記の各種コントローラ、及び、発電制御部28は、1または複数のコンピュータで構成される。すなわち、これらのコントローラ等は、各々に、部分的に、または、全体として、例えば、中央演算装置(CPU)、ランダムアクセスメモリ(RAM)、及び、入出力インタフェース(I/Oインタフェース)等を含む。また、これらのコントローラ等は、上記の各種制御を予め定められた所定の制御周期で定期的に実行するようにプログラムされている。
車両100の各部のうち、発電機コントローラ26、エンジンコントローラ27、及び、発電制御部28と、発電装置12と、を含む部分は、車両100における発電システムを構成する。また、発電機コントローラ26、エンジンコントローラ27、及び、発電制御部28を含む部分は、車両100における発電システムの制御装置を構成する。
[発電機コントローラの構成]
図2は、発電機コントローラ26の構成を示すブロック図である。図2に示すように、発電機コントローラ26は、回転数制御部31、電流指令値演算部32、電流制御部33、非干渉化制御部34、電流変換部35、及び、電圧変換部36を備える。
回転数制御部31は、回転数指令値ωG
*と回転数ωGに基づいて、発電機18に対するトルク指令値TG
*を演算する。回転数指令値ωG
*は、発電制御部28から取得される。回転数ωGは、発電機18の回転数の検出値であって、例えば、発電機18に設けられた回転センサ37によって検出され、または、回転センサ37の出力を用いて演算される。回転センサ37は、例えばレゾルバやエンコーダ等である。トルク指令値TG
*は、回転数指令値ωG
*によって指定された目標とする制御状態(以下、目標制御状態という)において、発電機18が出力すべきトルクを表す指令値である。より具体的には、トルク指令値TG
*は、モータリングにおいて発電機18が出力すべきトルクを表す。回転数制御部31の構成、すなわちトルク指令値TG
*の具体的算出方法については、詳細を後述する。トルク指令値TG
*は、電流指令値演算部32に入力される。
電流指令値演算部32は、トルク指令値TG
*、回転数ωG、及び、バッテリ電圧Vdcに基づいて、発電機18のd軸電流指令値Id
*及びq軸電流指令値Iq
*を演算する。d軸電流指令値Id
*及びq軸電流指令値Iq
*は、回転数指令値ωG
*に対応するトルクTGを実現するためのd軸電流Id及びq軸電流Iqを指令する指令値である。d軸電流指令値Id
*及びq軸電流指令値Iq
*は電流制御部33に入力される。
電流制御部33は、発電機18をいわゆる電流制御によって制御する。具体的には、電流制御部33は、d軸電流指令値Id
*及びq軸電流指令値Iq
*と、d軸電流Id及びq軸電流Iqと、回転数ωGと、に基づいて、発電機18のd軸電圧指令値Vd
*及びq軸電圧指令値Vq
*を演算する。d軸電圧指令値Vd
*及びq軸電圧指令値Vq
*は、回転数指令値ωG
*に対応するトルクTGを実現するためのd軸電圧Vd及びq軸電圧Vqを指令する指令値である。
d軸電圧指令値Vd
*及びq軸電圧指令値Vq
*はそれぞれ減算部38及び減算部39に入力され、非干渉化電圧が減算される。これにより、d軸及びq軸に対する最終的な電圧指令値であるd軸最終電圧指令値V′d
*及びq軸最終電圧指令値V′q
*が演算される。d軸最終電圧指令値V′d
*及びq軸最終電圧指令値V′q
*は、電圧変換部36に入力される。
非干渉化制御部34は、d軸電流Id及びq軸電流Iqに基づいて、非干渉化電圧を演算する。非干渉化とは、dq軸間の干渉による電圧降下を低減することをいう。非干渉化電圧は、d軸電圧及びq軸電圧を非干渉化するための補正値であり、d軸及びq軸についてそれぞれ演算される。これらの非干渉化電圧は、前述のとおり、減算部38,39においてそれぞれd軸電圧指令値Vd
*及びq軸電圧指令値Vq
*から減算される。
電流変換部35は、発電機18の三相電流Iu,Iv,Iwをd軸電流Id及びq軸電流Iqに変換する。三相電流Iu,Iv,Iwは、発電機インバータ19と発電機18の間に設けられた電流センサ40によって検出される。本実施形態では、U相電流IuとV相電流Ivが検出され、W相電流Iwは演算によって求められる。電流変換部35の出力であるd軸電流Id及びq軸電流Iqは、電流制御部33及び非干渉化制御部34に入力される。
電圧変換部36は、d軸最終電圧指令値V′d
*及びq軸最終電圧指令値V′q
*から、UVW各相の電圧指令値である三相電圧指令値Vu
*,Vv
*,Vw
*を演算する。三相電圧指令値Vu
*,Vv
*,Vw
*は、発電機インバータ19に入力される。これにより、発電機インバータ19は、発電機18のUVW各相に、それぞれU相電圧Vu、V相電圧Vv、及び、W相電圧Vwを印加する。その結果、発電機18は、回転数指令値ωG
*に対応する回転数ωGで回転し、動力伝達系20を介して伝達するトルクTGによって、エンジン17を空回しさせる。
[回転数制御部の構成]
図3は、回転数制御部31の構成を示すブロック図である。図3に示すように、回転数制御部31は、モデルマッチング補償部41、制振フィルタ42(F(s))、外乱補償部43、及び、外乱オブザーバ44を備える。
モデルマッチング補償部41は、発電機18の制御状態を目標制御状態に一致させるためのフィードバック制御による補償処理(以下、モデルマッチング補償という)を行う。本実施形態では、目標制御状態は、回転数ωGを回転数指令値ωG
*に一致させ、発電機18がこの回転数ωGに対応するトルクTGを出力することによってモータリングを行う制御状態である。したがって、モデルマッチング補償部41は、回転数ωG及び回転数指令値ωG
*に基づいて、トルクTGを実現するため基本的なトルク指令値である基本トルク指令値TG1
*を演算する。
より具体的には、モデルマッチング補償部41は、第1乗算部45、モデルマッチング用フィルタ46(HMM(s))、減算部47、及び、第2乗算部48を備える。
第1乗算部45は、回転数指令値ωG
*に第1ゲインKgcを乗算する。第1ゲインKgcは、回転数指令値ωG
*に対する回転数ωGの応答が予め設計された規範応答となるように、例えば実験またはシミュレーション等によって予め設定される。本実施形態においては、下記の式(1)に示すとおり、第1ゲインKgcは「1」である。
モデルマッチング用フィルタ46は、モデルマッチング補償のために、回転数ωGが含む高周波数成分を低減または除去するフィルタである。すなわち、モデルマッチング用フィルタ46は、ギヤ21cのガタやエンジントルクTEの脈動等による回転数ωGの変動を低減した回転数ωGの低周波数成分をモデルマッチング補償部41にフィードバックさせる。これにより、モデルマッチング用フィルタ46は、回転数ωGのフィードバック前後において生じ得る振動成分の共振に起因したガラ音の助長を抑制する。
モデルマッチング用フィルタ46は、例えば、下記の式(2)で表されるローパスフィルタHMM(s)である。式(2)における時定数τMMは、回転数ωGが実際的に含む高周波数成分が低減または除去され得るように、実験またはシミュレーション等によって予め定められる。なお、「s」はラプラス演算子である。
減算部47は、第1乗算部45の出力(Kgc・ωG
*)からモデルマッチング用フィルタ46の出力(HMM(s)・ωG)を減算する。
第2乗算部48は、減算部47の出力(Kgc・ωG
*-HMM(s)・ωG)に第2ゲインKcpを乗算する。これにより、基本トルク指令値TG1
*が演算される。基本トルク指令値TG1
*は、制振フィルタ42に入力される。第2ゲインKcpは、回転数指令値ωG
*に対する回転数ωGの応答が予め設計された規範応答となるように、例えば実験またはシミュレーション等によって予め設定される。本実施形態においては、第2ゲインKcpは下記の式(3)で表される。なお、「J」は、発電機18、エンジン17、バネ21a、ダンパ21b、及び、ギヤ21cの各慣性モーメントの設計値または測定値を、ギヤ比を考慮して発電機18の入出力軸に換算し、合計した値である。また、「τm」は規範応答の時定数である。
制振フィルタ42は、基本トルク指令値TG1
*に対して、動力伝達系20を含む制御対象の固有振動周波数成分を低減または除去する補正を施すことにより、補正トルク指令値TG2
*を演算する補正トルク指令値演算部である。動力伝達系20を含む制御対象の固有振動周波数成分とは、トルクを伝達するときに制御対象自身が伝達トルクに生じさせてしまう固有の振動成分である。本実施形態における「制御対象」は、エンジン17と発電機18を接続する動力伝達系20、すなわちバネ21a、ダンパ21b、及び、ギヤ21cの総体である。したがって、制振フィルタ42は、基本トルク指令値TG1
*から、動力伝達系20がトルクを伝達するときに、動力伝達系20自身(特にバネ21a及びダンパ21b)の特性に起因して生じる固有振動を低減または除去する。また、補正トルク指令値TG2
*は、制振フィルタ42によって、動力伝達系20の固有振動成分が低減または除去されたトルク指令値である。
制振フィルタ42が基本トルク指令値TG1
*に施す補正は、回転数制御部31が制振フィルタ42を有しない場合と比較して、(i)基本トルク指令値TG1
*の符号が反転する回数、すなわち基本トルク指令値TG1
*がゼロをまたぐ回数を低減する補正、及び/または、(ii)固有振動成分の振幅を低減する補正である。本実施形態では、制振フィルタ42は、基本トルク指令値TG1
*の符号反転回数を低減し、かつ、固有振動成分の振幅を低減する。
具体的には、本実施形態の制振フィルタ42は、下記の式(4)で表される。
式(4)における角振動数ωpは、上記固有振動の角振動数である。角振動数ωpは、例えば、実験またはシミュレーションによって予め設定することができる。また、ダンパ21bがフライホイールダンパであるときには、下記の式(5)を用いて算出することができる。式(5)における「Jg」はダンパ21bのバネ部よりも発電機18側にある部分の総慣性モーメントであり、「Je」は、ダンパ21bのバネ部よりもエンジン17側にある部分の総慣性モーメントである。また、「K」はダンパ21bのねじり剛性であり、「N」はギヤ21cのギヤ比Nである。これらの角振動数ωpの演算に用いる各パラメータは、ダンパ21bの設計値として予め取得され得る。
また、式(4)における時定数τは任意に設定可能である。時定数τは、例えば、トルクを伝達するときに動力伝達系20が生じさせる固有振動が、実際的に必要な程度まで低減されるように、実験またはシミュレーション等によって予め定められる。
外乱補償部43は、制振フィルタ42によって動力伝達系20の固有振動成分が低減された補正トルク指令値TG2
*に対して、さらに外乱dによる変動を補償する外乱補償を行うことにより、発電機18に対する最終的なトルク指令値TG
*を演算する。本実施形態では、外乱補償部43は、補正トルク指令値TG2
*から、外乱オブザーバ44から取得する外乱トルクTdを減算することにより、最終的なトルク指令値TG
*を演算する。エンジン17を駆動させているとき、すなわち発電装置12が発電動作をしているときには、外乱dは、例えば、エンジントルクTEの入力によって動力伝達系20に生じる振動、一部のピストンの失火等に起因したエンジントルクTEの脈動、及び/または、温度変化によるエンジン17その他の摩擦抵抗の変化、等である。また、発電機18を駆動させているとき、すなわち発電装置12がモータリングをしているときには、外乱dは、例えば、発電機18のトルクTGの入力によって動力伝達系20に生じる振動、及び/または、温度変化によるエンジン17その他の摩擦抵抗の変化、等である。
外乱オブザーバ44は、制御系に入力される外乱dによって生じるトルク(外乱トルクTd)を推定する。モータリングにおいては、回転数ωGを回転数指令値ωG
*に一致させる回転数制御によって発電機18が制御されるので、回転数制御系に入力される外乱dによって生じる外乱トルクTdが推定される。回転数制御系は、回転数指令値ωG
*の入力から、制御対象である動力伝達系20にトルクTGが入力されつつ、発電機18が回転数ωGに制御されるまでの系である。
具体的には、外乱オブザーバ44は、検出遅延補償部51、応答遅延補償部52、回転数演算部53、減算部54、及び、外乱トルク演算部55を備える。
検出遅延補償部51は、回転数ωGの検出における遅延、すなわち回転数指令値ωG
*の入力が回転数ωGに反映されるまでのむだ時間(以下、検出遅延という)を補償する。具体的には、検出遅延補償部51は、回転数ωGの検出遅延分だけ、トルク指令値TG
*を遅延させる。
応答遅延補償部52は、発電機18におけるトルクTGの応答遅延を補償する。具体的には、応答遅延補償部52は、下記の式(6)に示すように、1次遅れの伝達特性Gact(s)で表される。式(6)の時定数τactは、実験またはシミュレーション等によって予め設定される。
回転数演算部53は、下記の式(7)に示す制御対象モデルGp′(s)を用いて、回転数ωGの検出遅延及びトルクTGの応答遅延が補償されたトルク指令値TG
*から、外乱dがないときの理想的な発電機18の回転数を演算する。制御対象モデルGp′(s)は、実際の制御対象(動力伝達系20)の動特性を表す。
減算部54は、回転数演算部53が演算した理想的な回転数と、実測値である回転数ωgの偏差(以下、回転数偏差という)を演算する。本実施形態においては、減算部54は、実測値である回転数ωgから、回転数演算部53が演算した理想的な回転数を減算する。
外乱トルク演算部55は、外乱オブザーバフィルタHd(s)と制御対象モデルGp′(s)の逆系(1/Gp′(s))からなる伝達特性Hd(s)/Gp′(s)を用いて、回転数偏差から外乱トルクTdを演算する。外乱トルクTdは、外乱dによって生じるトルクまたはその変動を表す。
外乱オブザーバフィルタHd(s)は、下記の式(8)に示すように、例えば2次のローパスフィルタである。外乱オブザーバフィルタHd(s)は、制御対象モデルGp′(s)の逆系1/Gp′(s)によって外乱トルクTdが適切に演算されるようにするために用いられる。ここでいう適切とは、伝達特性Hd(s)/Gp′(s)の分母と分子の相対次数(=分母次数-分子次数)がゼロ以上、すなわち分母次数≧分子次数となっていることをいう。本実施形態では、伝達特性Hd(s)/Gp′(s)の相対次数が1以上となるように設定される。これにより、フィードバックされる回転数ωgが含む高周波数成分のゲインが低下する。その結果、外乱トルク演算部55は、伝達特性Hd(s)/Gp′(s)を用いて、外乱トルクTdが適切に演算することができる。時定数τdは、実験またはシミュレーション等によって予め設定される。
外乱オブザーバフィルタHd(s)が式(8)で表される場合、外乱トルク演算部55の伝達特性Hd(s)/Gp′(s)は、下記の式(9)で表される。
外乱トルク演算部55によって演算された外乱トルクTdは、前述のように、外乱補償部43に入力され、補正トルク指令値TG2
*から最終的なトルク指令値TG
*を演算するために用いられる。また、上記のように、モデルマッチング補償、制振フィルタ42による動力伝達系20の固有振動成分を低減する処理、及び、外乱補償がなされた最終的なトルク指令値TG
*は、電流指令値演算部32等を経て、発電機18に入力される。この過程で、発電機18が出力するトルクTGには伝達特性Gact(s)で表される応答遅延が生じる。また、トルクTGには外乱dが重畳される場合がある。制御対象(動力伝達系20)の伝達関数Gp(s)は、下記の式(10)で表され、制御対象の動特性を表すように設定された制御対象モデルGp′(s)とは異なる。
なお、上記のように、本実施形態で行われる外乱補償はフィードバック制御による補償処理であるから、回転数制御系に対するモデルマッチング補償の一形態であるということができる。そして、回転数制御部31は、モデルマッチング補償部41が行う基本的なモデルマッチング補償に加えて、外乱補償を付加的に行うことで、全体として、外乱dに対してロバストなモデルマッチング補償を行っている。
但し、回転数指令値ωG
*から回転数ωGに一致させるための基本トルク指令値TG1
*を演算することから、本来的あるいは基本的といえるモデルマッチング補償は、モデルマッチング補償部41が行うモデルマッチング補償である。また、制振フィルタ42による動力伝達系20の固有振動成分を低減する処理(以下、固有振動成分低減処理という)は、バネ21aの弾性特性、及びダンパ21bの減衰特性等、回転数制御系に内在する原因によって生じ得る目標制御状態からのズレを補償するものである。そして、外乱補償は、目標制御状態におけるトルクTGを前提として、外乱トルクTdを推定し、その影響を補償するものである。したがって、固有振動成分低減処理は、原則として、外乱補正よりも前に行われるべきものである。このため、本実施形態ではその一例として、制振フィルタ42はモデルマッチング補償部41の出力である基本トルク指令値TG1
*を補正するように、モデルマッチング補償部41と外乱補償部43の間に設けられている。
以下、上記のように構成される発電システムに係る制御の作用を説明する。
図4は、本実施形態の発電システム制御の作用を示すグラフである。図4において、時刻t1よりも前は発電装置12が停止状態であり、時刻t1はモータリングの開始時刻である。
図4(A)は、エンジン17の回転数ωEの時間的推移を示すグラフである。図4(A)において、実線はエンジン17の回転数ωEを表し、破線はエンジン17の回転数目標値ωE*を表す。このエンジン17の回転数目標値ωE
*は、発電機18の回転数指令値ωG
*をエンジン17の入出力軸に換算した値である。図4(B)は、発電機18の回転数ωGの時間的推移を示すグラフである。図4(B)において、実線は発電機18の回転数ωGを表し、破線は発電機18の回転数指令値ωG
*を表す。図4(C)は、発電機18のトルクTGの時間的推移を示すグラフである。そして、図4(D)~(F)は、図4(A)~(C)の一点鎖線で示す時間範囲αを拡大したグラフである。
図4(A)及び図4(B)に示すように、時刻t1においてモータリングが開始されると、発電機18の回転数指令値ωG
*が急峻に立ち上がり、これに応じてエンジン17の回転数目標値ωE
*も急峻に立ち上がる。そして、実際の発電機18の回転数ωGは、モデルマッチング補償によって、回転数指令値ωG
*に追従するように上昇し、最終的には回転数指令値ωG
*に収束する。同様に、実際のエンジン17の回転数ωEも、回転数目標値ωE
*に追従するように上昇し、最終的には回転数目標値ωE
*に収束する。また、図4(C)に示すように、時刻t1におけるモータリングの開始以後、発電機18のトルクTGも上記の回転数ωG,ωEの変化に応じて変化し、最終的には、発電装置12の摩擦抵抗に相当する一定値に収束する。
そして、図4(D)~(F)の拡大図に示すように、本実施形態の発電システム制御では、回転数ωG,ωE及び発電機18のトルクTGが収束するまでの間の変化は、概ね緩やかである。
図5は、制振フィルタ42を有しない比較例の発電システム制御の作用を示すグラフである。比較例は、制振フィルタ42がなく、動力伝達系20の固有振動成分低減処理を行わないこと以外は本実施形態と同様である。また、図5の各グラフは、図4の各グラフに対応しており、各線等が表すものは図4と同様である。
図5(A)~(B)及び図5(D)~(E)に示すように、比較例においてもモデルマッチング補償が行われるので、回転数ωG,ωEの大局的な変化は本実施形態と概ね同様である。しかし、図5(C)及び図5(F)に示すように、比較例では、モデルマッチング補償を行っているにもかかわらず、モータリングの開始によって、発電機18のトルクTGに、本実施形態にはない振動(トルク脈動)が生じる。
本実施形態と比較例の発電システム制御の相違は、前述のとおり、制振フィルタ42の有無、すなわち、動力伝達系20の固有振動成分低減処理の有無である。このため、図4及び図5の比較から分かるとおり、比較例(図5)のトルクTGに現れた振動は動力伝達系20の固有振動成分であり、本実施形態の発電システム制御では動力伝達系20の固有振動成分が除去されている。
そして、モータリングでは、エンジン17と発電機18の間のトルクはフリクショントルク相当の極小さな値であり、実質的にほぼゼロである。このため、動力伝達系20の固有振動成分が重畳されると、図5(F)のように、発電機18のトルクTGは、極短期間のうちに符号の反転を繰り返す。発電機18のトルクTGの符号が反転すると、ギヤ21cが噛み合う歯面が変わることで、動力伝達系20が含むギヤ21cがバックラッシュによるガラ音を発生させる。すなわち、制振フィルタ42を有しない比較例では、モデルマッチング補償によって基本的な回転数振動が抑えられているにもかかわらず、動力伝達系20の固有振動成分の影響によって、結局のところ大きなガラ音が生じる。
一方、本実施形態の発電システム制御によれば、制振フィルタ42を用いて動力伝達系20の固有振動成分に起因したトルク脈動が低減されたことによって、トルクTGの符号反転回数及び振幅が低減される。トルクTGの符号反転回数が低減されたことで、ガラ音を生じさせるギヤ21cのバックラッシュが生じる回数が低減される。また、トルクTGの振幅が低減されたことで、ギヤ21cにバックラッシュが生じてガラ音が生じたとしても、ギヤ21cの衝突エネルギーが小さいので、ガラ音の音量が抑制される。したがって、本実施形態の発電システムによれば、動力伝達系20にバネ21a及びダンパ21bが用いられていても、ガラ音の発生及び音量が抑制される。
<第2実施形態>
上記第1実施形態では、ダンパ21bのねじり剛性Kが一定である例を説明したが、伝達トルクに応じて剛性が変化する特性を有するダンパ21bがある。第2実施形態では、伝達トルクに応じて剛性が変化するダンパ21bを用いるときに好適な例を説明する。
図6は、第2実施形態の発電システムで用いられるダンパ21bの特性を示すグラフである。図6は、モータリング時に発電機18のトルクTGが動力伝達系20の伝達トルクとなっている例を示している。図6に示すように、第2実施形態のダンパ21bは、トルクTGの絶対値が、例えば予め定められた所定のトルク(|±Ts|)以下であるときと、トルクTGの絶対値がこれを超えるときとで、トルクTGとねじり角θの関係(傾き)、すなわちねじり剛性Kが変化する。以下では、トルクTGが-Ts≦TG≦+Tsであって、ねじり角θが-θs≦θ≦+θsの範囲(以下、第1範囲という)にあるときのダンパ21bのねじり剛性Kを第1ねじり剛性K1とする。また、トルクTGがこれを超える範囲(以下、第2範囲という)にあるときのダンパ21bのねじり剛性Kを第2ねじり剛性K2とする。第1ねじり剛性K1及び第2ねじり剛性K2は、ダンパ21bの特性として既知である。
図7は、第2実施形態における回転数制御部31の構成を示すブロック図である。図7に示すように、伝達トルクに応じてねじり剛性Kが変化するダンパ21bを動力伝達系20に用いる場合、回転数制御部31は、剛性値演算部61を有し、制振フィルタ42は剛性値演算部61の出力に応じて可変とされる。その余の構成は第1実施形態と同様である。
剛性値演算部61は、トルク指令値TG
*に基づいて、ダンパ21bのねじり剛性Kを演算する。トルク指令値TG
*は、実質的に動力伝達系20の伝達トルクに等しい。このため、剛性値演算部61は、トルク指令値TG
*が第1範囲内にあるか、これを超える第2範囲にあるかに基づいて、ダンパ21bのねじり剛性Kを演算する。例えば、剛性値演算部61は、動力伝達系20の伝達トルクであるトルク指令値TG
*と、ダンパ21bのねじり剛性Kと、を対応付けたテーブル(以下、剛性値テーブルという)を予め保有している。そして、剛性値演算部61は、取得したトルク指令値TG
*に基づいて、この剛性値テーブルを参照することにより、動力伝達系20がトルク指令値TG
*に対応するトルクTGを伝達するときのねじり剛性Kを演算する。そして、トルク指令値TG
*が第1範囲内にあるときには、剛性値演算部61は、第1ねじり剛性K1を制振フィルタ42に出力する。また、トルク指令値TG
*が第2範囲にあるときには、剛性値演算部61は、第2ねじり剛性K2を制振フィルタ42に出力する。
本実施形態における制振フィルタ42は、剛性値演算部61から入力されるねじり剛性Kに応じて特性が可変である。具体的には、数式(5)に示したように、動力伝達系20で生じる固有振動の角振動数ωpは、ねじり剛性Kに依存する。このため、本実施形態における制振フィルタ42では、数式(5)のねじり剛性Kの値を、第1ねじり剛性K1と第2ねじり剛性K2とで切り替えられる。すなわち、本実施形態では、ダンパ21bのねじり剛性Kに基づいて、基本トルク指令値TG1
*から低減当すべき固有振動(角振動数ωp)が変化する。これにより、数式(4)で示す制振フィルタ42の特性が、ダンパ21bのねじり剛性Kの変化に応じて変化する。
上記のように、本実施形態においては、ダンパ21bのねじり剛性Kが伝達トルクに応じて変化するときに、これに応じて制振フィルタ42の特性が可変となっている。これにより、ダンパ21bのねじり剛性Kが変化した場合でも制振フィルタ42によって動力伝達系20の固有振動成分に起因した振動が適切に低減または除去され得る。
なお、上記第2実施形態においては、剛性値演算部61は、剛性値テーブルを参照してねじり剛性Kを演算するが、これに限らず、剛性値演算部61は、予め定められた数式に基づく演算により、ねじり剛性Kを演算することができる。
上記第2実施形態においては、剛性値演算部61は、トルク指令値TG
*に基づいてダンパ21bのねじり剛性Kを演算しているが、これに限らない。例えば、動力伝達系20にトルクセンサが設けられているときには、剛性値演算部61は、その出力値に基づいてダンパ21bのねじり剛性Kを演算することができる。
この他、上記第2実施形態においては、ダンパ21bのねじり剛性Kが2段階に変化する例を説明したが、ダンパ21bのねじり剛性Kは、3段階以上に変化してもよく、また、実質的に滑らかに変化してもよい。また、ダンパ21bのねじり剛性Kの増加傾向または減少傾向等、ねじり剛性Kの具体的な変化態様は上記第2実施形態の例に限らない。これらの場合も、上記第2実施形態と同様に動力伝達系20の伝達トルクに基づいて制振フィルタ42の特性を変化させることによって、動力伝達系20の固有振動成分に起因した振動が適切に低減または除去され得る。
<変形例>
前述のとおり、制振フィルタ42による固有振動成分低減処理は、原則として、基本トルク指令値TG1
*に対して行うべきものである。このため、上記第1実施形態及び第2実施形態では、回転数制御部31は、モデルマッチング補償部41で基本トルク指令値TG1
*を演算し、その後、基本トルク指令値TG1
*に対して制振フィルタ42が固有振動成分低減処理を施す構成となっている。しかし、結果として、基本トルク指令値TG1
*から動力伝達系20の固有振動成分が低減または除去された補正トルク指令値TG2
*が得られていれば、動力伝達系20の固有振動成分に起因した振動は上記第1実施形態及び第2実施形態と同様に低減または除去され得る。
すなわち、回転数制御部31における制振フィルタ42の具体的配置は、上記第1実施形態及び第2実施形態の例に限らない。例えば、上記第1実施形態及び第2実施形態における回転数指令値ωG
*から補正トルク指令値TG2
*の出力過程は、下記の式(11)で表される。このため、補正トルク指令値TG2
*が、式(11)と数学的に等価な過程で演算される範囲内で、制振フィルタ42(F(s))の配置は任意である。以下では、上記第1実施形態及び第2実施形態と等価な制振フィルタ42の配置を変形例として説明する。
[第1変形例]
図8は、第1変形例における回転数制御部31の部分的構成を示すブロック図である。図8に示すように、制振フィルタ42は、基本トルク指令値TG1
*そのものではなく、減算部47の出力に対して固有振動成分低減処理を施すことにより、基本トルク指令値TG1
*を補正することができる。この場合も、上記第1実施形態及び第2実施形態と同様の補正トルク指令値TG2
*が得られる。
[第2変形例]
図9は、第2変形例における回転数制御部31の部分的構成を示すブロック図である。図9に示すように、制振フィルタ42は、基本トルク指令値TG1
*そのものではなく、第1乗算部45の出力、及び、モデルマッチング用フィルタ46の出力、に対して固有振動成分低減処理を施すことにより、基本トルク指令値TG1
*を補正することができる。この場合も、上記第1実施形態及び第2実施形態と同様の補正トルク指令値TG2
*が得られる。
[第3変形例]
図10は、第3変形例における回転数制御部31の部分的構成を示すブロック図である。図10に示すように、制振フィルタ42は、基本トルク指令値TG1
*に対してではなく、回転数指令値ωG
*に対して固有振動成分低減処理を施すことにより、基本トルク指令値TG1
*を補正することができる。この場合も、上記第1実施形態及び第2実施形態と同様の補正トルク指令値TG2
*が得られる。
上記第1~第3変形例はいずれも、モデルマッチング補償において基本トルク指令値TG1
*を演算するためのパラメータを、制振フィルタ42によってフィルタリング処理することによって、動力伝達系20の固有振動を低減または除去するものである。
以上のように、上記各実施形態及び変形例に係る発電システムの制御方法は、動力源であるエンジン17と、動力源から伝達される動力によって発電する発電機18と、を有し、弾性要素であるバネ21a、減衰要素であるダンパ21b、及び、ギヤ21cを含む動力伝達系20を介して動力源と発電機18が接続された発電システムの制御方法である。この発電システムの制御方法では、発電機18の制御状態を目標制御状態に一致させるモデルマッチング補償によって、目標制御状態における発電機18のトルクTGを表す基本トルク指令値TG1
*が演算される。そして、動力伝達系20のトルク伝達特性(固有振動の角振動数ωp)に基づいて基本トルク指令値TG1
*を補正することによって補正トルク指令値TG2
*が演算され、この補正トルク指令値TG2
*に基づいて発電機18が制御される。
このように、上記各実施形態及び変形例に係る発電システムの制御方法は、動力伝達系20のトルク伝達特性に基づいて補正された補正トルク指令値TG2
*に基づいて発電機18を制御する。これにより、モデルマッチング補償では低減または除去しきれない回転数振動が低減または除去される。その結果、動力伝達系20にバネ21a、ダンパ21b及びギヤ21cが用いられていても、ギヤ21cで生じるガラ音が低減または除去される。
特に、上記各実施形態及び変形例に係る発電システムの制御方法では、補正トルク指令値TG2
*は、動力伝達系20がトルクを伝達することによって生じる固有振動を基本トルク指令値TG1
*から低減する固有振動成分低減処理によって演算される。このため、動力伝達系20がトルクを伝達することによって生じる角振動数ωpの固有振動が、基本トルク指令値TG1
*から特に的確に低減または除去される。したがって、動力伝達系20がバネ21a、ダンパ21b及びギヤ21cを含むことによって生じるガラ音が、特に的確に低減または除去され得る。
また、上記各実施形態及び変形例に係る発電システムの制御方法では、固有振動成分低減処理(制振フィルタ42)において、基本トルク指令値TG1
*の符号が反転する回数が低減される。これにより、ギヤ21cのバックラッシュが生じる回数が低減されるので、ガラ音の発生自体が抑制される。
また、上記各実施形態及び変形例に係る発電システムの制御方法では、固有振動成分低減処理(制振フィルタ42)において、基本トルク指令値TG1
*の振幅が低減される。これにより、仮に、ギヤ21cのバックラッシュが生じたとしても、ギヤ21cの衝突エネルギーが低減されているので、ガラ音の音量が抑制される。
上記各実施形態及び変形例に係る発電システムの制御方法では、固有振動成分低減処理(制振フィルタ42)は、モデルマッチング補償によって演算された基本トルク指令値TG1
*、または、モデルマッチング補償において基本トルク指令値TG1
*を演算するためのパラメータ(減算部47の出力等)、に対して行われる。このように、基本トルク指令値TG1
*またはこれを演算するためのパラメータから動力伝達系20の固有振動成分を低減または除去することにより、動力伝達系20の固有振動が低減された補正トルク指令値TG2
*が得られる。このため、動力伝達系20にバネ21a、ダンパ21b及びギヤ21cが用いられていても、ギヤ21cで生じるガラ音が低減または除去される。
上記第2実施形態及び変形例に係る発電システムの制御方法では、動力伝達系20を伝達するトルクに応じて、減衰要素であるダンパ21bの剛性(ねじり剛性K)が変化するときには、動力伝達系20を伝達するトルクに対するダンパ21bの剛性(ねじり剛性K1またはK2)が演算される。そして、演算したダンパ21bの剛性に基づいて、基本トルク指令値TG1
*から低減すべき動力伝達系20の固有振動が変化する。ダンパ21bの剛性Kが可変であるときには、ダンパ21bの剛性Kの変化によってガラ音の発生要因となる動力伝達系20の固有振動が変化し得るが、上記第2実施形態及び変形例に係る発電システムの制御方法では、上記のように、ダンパ21bの剛性の変化に応じて基本トルク指令値TG1
*から低減すべき固有振動が適宜変化する。したがって、動力伝達系20に剛性Kが可変なダンパ21bが用いられていても、的確に回転数振動が抑制され、その結果、的確にガラ音が低減または除去され得る。
特に、上記第2実施形態及び変形例に係る発電システムの制御方法では、演算したダンパ21b(減衰要素)の剛性Kに基づいて、制振フィルタ42におけるフィルタリング処理の特性(角振動数ωp)を変化させることにより、基本トルク指令値TG1
*から低減すべき固有振動を変化させる。すなわち、制振フィルタ42は、動力伝達系20がトルクを伝達することによって生じる固有振動の角振動数ωpを含み、この角振動数ωpが動力伝達系20の伝達トルクに応じたダンパ21bの剛性Kの変化に対応して調整される。これにより、したがって、動力伝達系20に剛性Kが可変なダンパ21bが用いられていても、的確に回転数振動が抑制され、その結果、的確にガラ音が低減または除去され得る。
以上、本発明の実施形態について説明したが、上記実施形態及び各変形例で説明した構成は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を限定する趣旨ではない。
例えば、上記各実施形態及び変形例では、制振フィルタ42は、角振動数ωpが既知であるものとして厳密に構成されているが、これに限らない。例えば、制振フィルタ42は、所定の周波数成分(例えば、基本トルク指令値TG1
*の低周波数な変化に対する所定の高周波数成分)を低減または除去する構成となっていれば、角振動数ωpが未知である場合でも、あるいは、角振動数ωpが厳密に判明していない場合でも、動力伝達系20の固有振動(角振動数ωp)に起因したガラ音が低減または除去され得る。