以下、添付図面を参照しながら本発明によるハイブリッド型建設機械の実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
図1に示すように、本実施形態に係るパワーショベル1は、無限軌道を含む走行機構2と、走行機構2の上部に旋回機構3を介して回動自在に搭載された旋回体4とを備えている。旋回体4には、ブーム5と、ブーム5の先端にリンク接続されたアーム6と、アーム6の先端にリンク接続されたバケット7とが取り付けられている。ブーム5、アーム6、及びバケット7は、それぞれブームシリンダ8、アームシリンダ9、及びバケットシリンダ10によって油圧駆動される。また、旋回体4には、バケット7の位置や角度を操作する操作者を収容するための運転室4aや、油圧を発生するためのエンジン(内燃機関発動機)11といった動力源が設けられている。エンジン11は、例えばディーゼルエンジンで構成される。
図2は、本実施形態のパワーショベル1の電気系統や油圧系統といった内部構成を示すブロック図である。なお、図2では、機械的に動力を伝達する系統を二重線で、油圧系統を太い実線で、操縦系統を破線で、電気系統を細い実線でそれぞれ示している。また、図3は、図2における蓄電手段120の内部構成を示す図である。
図2に示すように、パワーショベル1は過給機41及びエンジンコントロールユニット(Engine Control Unit;ECU)42を備えている。過給機41は、エンジン11へ圧縮空気を供給するための装置である。過給機41は、エンジン11から排出される排気ガスの圧力を利用してタービンを高速回転させ、該タービンに直結された圧縮機を回転させて吸気を圧縮し、エンジン11へ供給する。これにより、エンジン11の吸入空気量を増加させる。
ECU42は、エンジン11の動作(エンジン11の燃料噴射タイミング等)を制御するためのユニットである。また、本実施形態のECU42は、エンジン11の異常を検出するためのエンジン系異常検出部を構成している。すなわち、ECU42は、エンジン11に取り付けられた噴射ノズルセンサ43から提供される不完全燃焼に関する異常信号、過給機41のブースト圧の異常に関する異常信号、及び、エンジン11を冷却する冷却水の温度を検知するための水温センサの故障等に関する異常信号を、後述するコントローラ30へ出力する。
また、パワーショベル1は電動発電機12および減速機13を備えており、エンジン11及び電動発電機12の回転軸は、共に減速機13の入力軸に接続されることにより互いに連結されている。エンジン11の負荷が大きいときには、電動発電機12がこのエンジン11を作業要素として駆動することによりエンジン11の駆動力を補助(アシスト)し、電動発電機12の駆動力が減速機13の出力軸を経てメインポンプ14に伝達される。一方、エンジン11の負荷が小さいときには、エンジン11の駆動力が減速機13を経て電動発電機12に伝達されることにより、電動発電機12が発電を行う。電動発電機12は、例えば、磁石がロータ内部に埋め込まれたIPM(Interior Permanent Magnetic)モータによって構成される。電動発電機12の駆動と発電との切り替えは、パワーショベル1における電気系統の駆動制御を行うコントローラ30により、エンジン11の負荷等に応じて行われる。
減速機13の出力軸にはメインポンプ14及びパイロットポンプ15が接続されており、メインポンプ14には高圧油圧ライン16を介してコントロールバルブ17が接続されている。コントロールバルブ17は、パワーショベル1における油圧系の制御を行う装置である。コントロールバルブ17には、図1に示した走行機構2を駆動するための油圧モータ2a及び2bの他、ブームシリンダ8、アームシリンダ9、及びバケットシリンダ10が高圧油圧ラインを介して接続されており、コントロールバルブ17は、これらに供給する油圧を運転者の操作入力に応じて制御する。
電動発電機12の電気的な端子には、インバータ回路18の出力端が接続されている。インバータ回路18の入力端には、蓄電手段120が接続されている。蓄電手段120は、図3に示すように、直流母線であるDCバス110、昇降圧コンバータ(直流電圧変換器)100及びバッテリ19を備えている。すなわち、インバータ回路18の入力端は、DCバス110を介して昇降圧コンバータ100の入力端に接続されることとなる。昇降圧コンバータ100の出力端には、蓄電池としてのバッテリ19が接続されている。
インバータ回路18は、コントローラ30からの指令に基づき、電動発電機12の運転制御を行う。すなわち、インバータ回路18が電動発電機12を力行運転させる際には、必要な電力をバッテリ19と昇降圧コンバータ100からDCバス110を介して電動発電機12に供給する。また、電動発電機12を回生運転させる際には、電動発電機12により発電された電力をDCバス110及び昇降圧コンバータ100を介してバッテリ19に充電する。なお、昇降圧コンバータ100の昇圧動作と降圧動作の切替制御は、DCバス電圧値、バッテリ電圧値、及びバッテリ電流値に基づき、コントローラ30によって行われる。これにより、DCバス110を、予め定められた一定電圧値に蓄電された状態に維持することができる。
なお、本実施形態の昇降圧コンバータ100はスイッチング制御方式を備えており、図3に示すように、互いに直列に接続されたトランジスタ100a及び100bと、これらの接続点とバッテリ19の正側端子との間に接続されたリアクトル101と、トランジスタ100aに対し逆方向に並列接続されたダイオード100cと、トランジスタ100bに対し逆方向に並列接続されたダイオード100dとを有する。トランジスタ100a及び100bは、例えばIGBT(Insulated Gate Bipolar Transistor)によって構成される。直流電力をバッテリ19からDCバス110へ供給する際には、コントローラ30からの指令によってトランジスタ100aのゲートにPWM電圧が印加される。そして、トランジスタ100aのオン/オフに伴ってリアクトル101に発生する誘導起電力がダイオード100dを介して伝達され、この電力がDCバス110のコンデンサ110aにより平滑化される。また、直流電力をDCバス110からバッテリ19へ供給する際には、コントローラ30からの指令によってトランジスタ100bのゲートにPWM電圧が印加されるとともに、トランジスタ100bから出力される電流がリアクトル101により平滑化される。
また、昇降圧コンバータ100及びバッテリ19を含む蓄電系には、この蓄電系の異常を検出するための蓄電系異常検出部が設けられている。例えば本実施形態では、蓄電系異常検出部として、バッテリ19の温度を検出するための温度センサ44がバッテリ19に取り付けられている。温度センサ44は、バッテリ19の温度に関する信号(バッテリ温度信号)を、コントローラ30へ提供する。
再び図2を参照すると、蓄電手段120には、インバータ回路20が接続されている。インバータ回路20の一端には作業用電動機としての旋回用電動機(交流電動機)21が接続されており、インバータ回路20の他端は蓄電手段120のDCバス110に接続されている。旋回用電動機21は、旋回体4を旋回させる旋回機構3の動力源である。旋回用電動機21の回転軸21Aには、レゾルバ22、メカニカルブレーキ23、及び旋回減速機24が接続される。
旋回用電動機21が力行運転を行う際には、旋回用電動機21の回転駆動力の回転力が旋回減速機24にて増幅され、旋回体4が加減速制御され回転運動を行う。また、旋回体4の慣性回転により、旋回減速機24にて回転数が増加されて旋回用電動機21に伝達され、回生電力を発生させる。旋回用電動機21は、PWM(Pulse Width Modulation)制御信号によりインバータ回路20によって交流駆動される。旋回用電動機21としては、例えば、磁石埋込型のIPMモータが好適である。
レゾルバ22は、旋回用電動機21の回転軸21Aの回転位置及び回転角度を検出するセンサであり、旋回用電動機21と機械的に連結することで回転軸21Aの回転角度及び回転方向を検出する。レゾルバ22が回転軸21Aの回転角度を検出することにより、旋回機構3の回転角度及び回転方向が導出される。メカニカルブレーキ23は、機械的な制動力を発生させる制動装置であり、コントローラ30からの指令によって、旋回用電動機21の回転軸21Aを機械的に停止させる。旋回減速機24は、旋回用電動機21の回転軸21Aの回転速度を減速して旋回機構3に機械的に伝達する減速機である。
なお、DCバス110には、インバータ回路18及び20を介して、電動発電機12及び旋回用電動機21が接続されているので、電動発電機12で発電された電力が旋回用電動機21に直接的に供給される場合もあり、旋回用電動機21で回生された電力が電動発電機12に供給される場合もある。
パイロットポンプ15には、パイロットライン25を介して操作装置26が接続されている。操作装置26は、旋回用電動機21、走行機構2、ブーム5、アーム6、及びバケット7を操作するための操作装置であり、操作者によって操作される。操作装置26には、油圧ライン27を介してコントロールバルブ17が接続され、また、油圧ライン28を介して圧力センサ29が接続される。操作装置26は、パイロットライン25を通じて供給される油圧(1次側の油圧)を操作者の操作量に応じた油圧(2次側の油圧)に変換して出力する。操作装置26から出力される2次側の油圧は、油圧ライン27を通じてコントロールバルブ17に供給されるとともに、圧力センサ29によって検出される。ここでは、作業用電動機としての旋回用電動機21を挙げているが、さらに、走行機構2を作業用電動機として電気駆動させても良い。
圧力センサ29は、操作装置26に対して旋回機構3を旋回させるための操作が入力されると、この操作量を油圧ライン28内の油圧の変化として検出する。圧力センサ29は、油圧ライン28内の油圧を表す電気信号を出力する。この電気信号は、コントローラ30に入力され、旋回用電動機21の駆動制御に用いられる。
コントローラ30は、本実施形態における制御部を構成する。コントローラ30は、CPU及び内部メモリを含む演算処理装置によって構成され、内部メモリに格納された駆動制御用のプログラムをCPUが実行することにより実現される。また、コントローラ30の電源は、バッテリ19とは別のバッテリ(例えば24V車載バッテリ)である。コントローラ30は、圧力センサ29から入力される信号のうち、旋回機構3を旋回させるための操作量を表す信号を速度指令に変換し、旋回用電動機21の駆動制御を行う。また、コントローラ30は、電動発電機12の運転制御(アシスト運転及び発電運転の切り替え)、及び、昇降圧コンバータ100を駆動制御することによるバッテリ19の充放電制御を行う。
ここで、本実施形態におけるコントローラ30の機能のうち、バッテリ19及び昇降圧コンバータ100を含む蓄電系、並びにエンジン11それぞれへの出力依存度を調整する機能について説明する。図4は、コントローラ30が有する機能を示すブロック図である。図4に示すように、本実施形態のコントローラ30は、エンジン11及びバッテリ19への出力依存度に相当する出力の上下限値を算出する出力条件算出部39と、動力分配部38とを含む。出力条件算出部39は、機能ブロック31〜37によって構成される。
まず、エンジン11の実際の回転数を示す信号であるエンジン実回転数Nactが、出力条件算出部39のブロック31に入力される。ブロック31は、エンジン実回転数Nactに基づいてエンジン出力トルクの上限値PEngMax及び下限値PEngMinを決定し、これらの値を動力分配部38へ提供する。ブロック31は、エンジン11の回転数と出力トルクとの関係において、上限値と下限値とを示すマップあるいは変換テーブルを有しており、このマップあるいは変換テーブルに基づいてエンジン出力トルクの上限値PEngMax及び下限値PEngMinを決定する。マップあるいは変換テーブルは、コントローラ30のメモリに予め格納されている。なお、マップあるいは変換テーブルを用いることなく、上限値と下限値とを表す式にエンジン実回転数Nactを代入して上限値PEngMaxと下限値PEngMinとを求めてもよい。
動力分配部38には、油圧負荷要求出力PHydReqを示す信号、および電気負荷要求出力PElcReqを示す信号が入力される。油圧負荷要求出力PHydReqは、油圧負荷(油圧により駆動される構成部品。ブームシリンダ8、アームシリンダ9、バケットシリンダ10、及び油圧モータ2a,2bなど)が必要とする動力を示す変数であり、例えば油圧負荷を運転者が操作する際の操作レバーの操作量に相当する。電気負荷要求出力PElcReqは、電気負荷(電動モータや電動アクチュエータのように電力で駆動される構成部品。旋回用電動機21など)が必要とする電力を示す変数であり、例えば電気負荷を運転者が操作する際の操作レバーの操作量に相当する。
出力条件算出部39のブロック32には、バッテリ電圧Vactが入力される。バッテリ電圧Vactは、バッテリ19の出力電圧を示す変数である。キャパシタ型蓄電池の場合、その充電量がキャパシタの端子間電圧の二乗に比例することから、バッテリ電圧Vactを通じてバッテリ19の充電率を知ることができる。ブロック32は、バッテリ電圧Vactに基づいて、バッテリ19の現在の充電率SOCactを求め、ブロック33、34及び37へ提供する。
出力条件算出部39のブロック33には、充電率SOCに応じて最大電流で充電する出力[kW]と最大電流で放電する出力[kW]とを表すマップ又は変換テーブルが格納されている。ブロック33は、このマップ又は変換テーブルと、ブロック32から提供されたバッテリ19の充電率SOCactとに基づいて、最大放電量であるバッテリ出力上限値PBatMax11、及び最大充電量であるバッテリ出力下限値PBatMin11を求める。ブロック33は、バッテリ出力上限値PBatMax11をブロック35へ提供し、バッテリ出力下限値PBatMin11をブロック36へ提供する。
例えば、ブロック33のマップは、或る充電率SOCにおいて、コンバータやキャパシタの能力により制限される充放電最大電流を流すときに決まる電力(充放電最大電流×キャパシタ電圧)を表す。充電率SOCは充放電電圧(キャパシタ電圧)の二乗に比例するため、充電率SOCに対して最大充電電力及び最大放電電力は放物線を描くこととなる。ブロック33は、このマップ又は変換テーブルを参照して、現在の充電率SOCactにおいて一定の電流のもとで許容される最大充電電力(バッテリ出力上限値PBatMax11)及び最大放電電力(バッテリ出力下限値PBatMin11)を求める。
ブロック34には、充電率SOCがSOC下限値までのエネルギーを所定の時間で放電する出力[kW]と、SOC上限値までのエネルギーを所定の時間で充電する出力[kW]とを表すマップ又は変換テーブルが格納されている。ブロック34は、このマップ又は変換テーブルと、ブロック32から提供されたバッテリ19の充電率SOCactとに基づいて、最大放電量であるバッテリ出力上限値PBatMax12、及び最大充電量であるバッテリ出力下限値PBatMin12を求める。ブロック34は、バッテリ出力上限値PBatMax12をブロック35へ提供し、バッテリ出力下限値PBatMin12をブロック36へ提供する。
例えば、ブロック34に示すマップは、或る充電率SOCにおける適切な充放電電力を表している。ブロック34に示すマップのうち、下限値は充電率がゼロとならないように余裕を持たせるために設定された充電率SOCである。充電率SOCがゼロ又はゼロに近い値になるまで減ってしまうと、放電要求があった場合にすぐに放電できなくなってしまうため、ある程度充電された状態に維持しておくことが望ましい。そのため、充電率SOCに下限値(例えば30%)を設け、充電率SOCがこの下限値以下であるときには放電しないように制御する。したがって、最大放電電力(放電可能な最大電力)は充電率SOCの下限値においてゼロ(すなわち放電させない)であり、充電率SOCが大きくなるにつれて放電可能な電力に余裕が生じるので、最大放電電力を大きくしている。図中のブロック34のマップでは、充電率SOCの上限値から最大放電電力が直線的に増加しているが、直線的な増加に限ることなく、放物線を描いて増加させてもよく、任意のパターンで増加するように設定してもよい。
一方、充電率SOCが100%のときに、例えば電気負荷から回生電力が発生した場合、回生電力をバッテリ19で直ちに吸収することができなくなるので、充電率SOCが100%とならないように上限値(例えば90%)を設け、充電率SOCがこの上限値以上であるときには充電しないように制御する。したがって、最大充電電力(充電可能な最大電力)は充電率SOCの上限値においてゼロ(すなわち充電させない)であり、充電率SOCが小さくなるにつれて充電可能な電力に余裕が生じるので、最大充電電力を大きくする。図中のブロック34のマップでは、最大充電電力が充電率SOCの上限値から直線的に増加しているが、直線的な増加に限ることなく、放物線を描いて増加させてもよく、任意のパターンで増加するように設定してもよい。
このように、ブロック34は、このマップ又は変換テーブルを参照して現在の充電率SOCactにおいて許容される最大放電電力(バッテリ出力上限値PBatMax12)及び最大充電電力(バッテリ出力下限値PBatMin12)を求める。
ブロック35は、ブロック33から提供されたバッテリ出力上限値PBatMax11と、ブロック34から提供されたバッテリ出力上限値PBatMax12とのうち、小さい方をバッテリ出力上限値PBatMax1として動力分配部38へ提供する。また、ブロック36は、ブロック33から提供されたバッテリ出力下限値PBatMin11と、ブロック34から提供されたバッテリ出力下限値PBatMin12のうち、大きい方(通常、バッテリ出力下限値は充電状態を示す負の値となるので、絶対値が小さい方と言い換えてもよい)をバッテリ出力下限値PBatMin1として動力分配部38へ提供する。
ブロック37には、バッテリ19の現在の充電率SOCactと、充電率SOCactをを所定のSOC目標値に近づけるためのバッテリ目標出力PBatTgtとの相関を表すマップ又は変換テーブルが予め格納されている。ブロック37は、このマップ又は変換テーブルと、ブロック32から提供されたバッテリ19の現在の充電率SOCactとに基づいてバッテリ目標出力PBatTgtを求め、この値を動力分配部38へ提供する。
動力分配部38は、エンジン出力上限値PEngMax、エンジン出力下限値PEngMin、バッテリ出力上限値PBatMax1、バッテリ出力下限値PBatMin1、及びバッテリ目標出力PBatTgtに基づいて、油圧負荷実出力PHydOut、電気負荷実出力PElcOut、及びアシストモータ出力指令PAsmRefを決定し、コントローラ30の各部に出力する。
油圧負荷実出力PHydOutは、油圧負荷要求出力PHydReqに対して、実際に油圧負荷に供給する動力である。油圧負荷要求出力PHydReqに対して常に要求された動力を供給すると、同時に駆動されている電気負荷の要求を満たせなくなったり、バッテリ19の充電率SOCを適当な範囲内に維持できなくなってしまう。このため、実際に油圧負荷に供給する動力をある程度制限しなくてはならない場合がある。
電気負荷実出力PElcOutは、電気負荷要求出力PElcReqに対して、実際に電気負荷に供給する電力である。電気負荷要求出力PElcReqに対して常に要求された電力を供給すると、同時に駆動されている油圧負荷の要求を満たせなくなったり、バッテリ19の充電率SOCを適当な範囲内に維持できなくなってしまう。このため、実際に電気負荷に供給する電力をある程度制限しなくてはならない場合がある。
アシストモータ出力指令PAsmRefは、電動発電機12の出力を指示する値である。アシストモータ出力指令PAsmRefにより、電動発電機12が電動機として機能するか、あるいは発電機として機能するかが指示される。
ここで、コントローラ30において、油圧負荷実出力PHydOut、電気負荷実出力PElcOut、及びアシストモータ出力指令PAsmRefを決定するための処理について説明する。図5は、コントローラ30において行われる処理のフローチャートである。
まず、ブロック31において、エンジン11の現在の回転数を示すエンジン実回転数Nactに基づき、エンジン11のエンジン出力上限値PEngMax及びエンジン出力下限値PEngMinが決定される(ステップS1)。次に、ブロック32〜36において、現在のバッテリ電圧Vactに基づき、バッテリ出力上限値PBatMax1及びバッテリ出力下限値PBatMin1が決定される(ステップS2)。
続いて、ブロック37において、現在の充電率SOCactからバッテリ目標出力PBatTgtが決定される(ステップS3)。その後、動力分配部38において、電気負荷実出力PElcOutが、エンジン11及びバッテリ19の要求出力の限界値に基づいて決定される(ステップS4)と共に、油圧負荷実出力PHydOutが、エンジン11及びバッテリ19の要求出力の限界値に基づいて決定される(ステップS5)。また、動力分配部38において、バッテリ19の充放電量の指令値であるバッテリ出力PBatOutが、エンジン11、電気負荷、及び、バッテリ19の算出された出力に基づいて決定される(ステップS6)。そして、動力分配部38において、アシストモータ出力指令PAsmRefが、電気負荷実出力PElcOutとバッテリ出力PBatOutとの比較に基づいて決定される(ステップS7)。一例としては、アシストモータ出力指令PAsmRefは、バッテリ出力PBatOutから電気負荷実出力PElcOutを減算して算出される。
ここで、上述したステップS4〜S6における処理について詳細に説明する。図6〜図8は、ステップS4〜S6における各処理のフローチャートである。
図6を参照すると、ステップS4では、まず、電気負荷に供給可能な最大電力である電気負荷出力上限値PElcMaxを算出すると共に、バッテリ19に蓄積可能な電力である電気負荷出力下限値PElcMinを算出する(ステップS41)。ここで、電気負荷出力上限値PElcMaxは、エンジン出力上限値PEngMaxとバッテリ出力上限値PBatMax1との和である。すなわち、電気負荷に供給可能な最大の電力は、エンジン11の最大出力で得られる電動発電機12による発電量と、バッテリ19の最大放電量との和である。また、電気負荷出力下限値PElcMinは、エンジン出力下限値PEngMin及びバッテリ出力下限値PBatMin1を加算した値から油圧負荷出力要求PHydReqを減算して求められる。
次に、電気負荷要求出力PElcReqが、電気負荷出力上限値PElcMax以下であり且つ電負荷出力下限値PElcMin以上であるか否かを判定する(ステップS42)。ステップS42において電気負荷要求出力PElcReqが電気負荷出力上限値PElcMaxより大きい場合(ステップS42;No)、電気負荷実出力PElcOutの値を電気負荷出力上限値PElcMaxの値と等しくする(ステップS43)。すなわち、電気負荷が要求する電力が、電動発電機12とバッテリ19とで供給できる最大電力より大きい場合には、この最大電力を電気負荷へ供給する。また、電気負荷要求出力PElcReqが電気負荷出力下限値PElcMinより小さい場合(ステップS42;No)、電気負荷実出力PElcOutの値を電気負荷出力下限値PElcMinの値に等しくする(ステップS43)。すなわち、電気負荷から回生される電力が、電動発電機12で消費できる最大電力とバッテリ19に蓄積できる最大電力とを加算した電力より大きい場合には、この電力より電気負荷の回生電力が大きくならないようにする。なお、電気負荷要求出力PElcReqが、電気負荷出力上限値PElcMax以下であり且つ電負荷出力下限値PElcMin以上である場合には(ステップS42;Yes)、電気負荷実出力PElcOutの値を電気負荷要求PElcReqの値と等しくして、電気負荷が要求する電力をそのまま供給する(ステップS44)。
また、図7を参照すると、ステップS5では、まず、油圧負荷に供給可能な最大動力である油圧負荷出力上限値PHydMaxを算出する(ステップS51)。油圧負荷出力上限値PHydMaxは、エンジン出力上限値PEngMaxとバッテリ出力上限値PBatMaxとを加算した値から電気負荷実出力PElcOutを減算して算出される。
次に、油圧負荷要求出力PHydReqが、油圧負荷出力上限値PHydMax以下であるか否かが判定される(ステップS52)。油圧負荷要求出力PHydReqが油圧負荷出力上限値PHydMaxより大きい場合(ステップS52;No)、油圧負荷出力PHydOutの値を油圧負荷出力上限値PHydMaxと等しくする(ステップS53)。一方、油圧負荷要求出力PHydReqが油圧負荷出力上限値PHydMax以下である場合には(ステップS52;Yes)、油圧負荷出力PHydOutの値を油圧負荷要求出力PHydReqの値と等しくして、油圧負荷が要求する動力をそのまま供給する(ステップS54)。
また、図8を参照すると、ステップS6では、まず、バッテリ制御出力上限値PBatMax2およびバッテリ制御出力下限値PBatMin2を算出する(ステップS61)。バッテリ制御出力上限値PBatMax2は、電気負荷で消費できる電力と、電動発電機12で油圧系をアシストして消費することのできる電力との和であって、電気負荷実出力PElcOutと油圧負荷出力PHydOutとを加算した値からエンジン出力下限値PEngMinを減算して算出される。また、バッテリ制御出力下限値PBatMin2は、電気負荷の回生電力と電動発電機12で発電する電力との和であって、電気負荷実出力PElcOutと油圧負荷出力PHydOutとを加算した値からエンジン出力上限値PEngMaxを減算して算出される。
次に、バッテリ制御出力上限値PBatMax2とバッテリ出力上限値PBatMax1とを比較し、またバッテリ制御出力下限値PBatMin2とバッテリ出力下限値PBatMin1とを比較する(ステップS62)。ここでの比較は、バッテリ出力上限値PBatMax1及びバッテリ出力下限値PBatMin1のそれぞれについて行われる。そして、バッテリ制御出力上限値PBatMax2がバッテリ出力上限値PBatMax1以上である場合(ステップS62;Yes)、バッテリ出力上限値PBatMaxの値をバッテリ出力上限値PBatMax1の値と等しくする(ステップS63)。また、バッテリ制御出力下限値PBatMin2がバッテリ出力下限値PBatMin1以下である場合(ステップS62;Yes)、バッテリ出力下限値PBatMinの値をバッテリ出力下限値PBatMin1の値と等しくする(ステップS63)。
一方、バッテリ制御出力上限値PBatMax2がバッテリ出力上限値PBatMax1より小さい場合(ステップS62;No)、バッテリ出力上限値PBatMaxの値をバッテリ制御出力上限値PBatMax2の値と等しくする(ステップS64)。また、バッテリ制御出力下限値PBatMin2がバッテリ出力下限値PBatMin1より大きい場合(ステップS62;No)、バッテリ出力下限値PBatMinの値をバッテリ制御出力下限値PBatMin2の値と等しくする(ステップS64)。
続いて、バッテリ目標出力PBatTgtとバッテリ出力上限値PBatMaxとを比較し、またバッテリ目標出力PBatTgtとバッテリ出力下限値PBatMinとを比較する(ステップS65)。ここでの比較は、バッテリ出力上限値PBatMax及びバッテリ出力下限値PBatMinのそれぞれについて行われる。バッテリ目標出力PBatTgtがバッテリ出力上限値PBatMaxより大きい場合(ステップS65;No)、バッテリ出力PBatOutの値をバッテリ出力上限値PBatMaxの値と等しくする(ステップS66)。また、バッテリ目標出力PBatTgtがバッテリ出力下限値PBatMinより小さい場合(ステップS65;No)、バッテリ出力PBatOutの値をバッテリ出力下限値PBatMinの値と等しくする(ステップS66)。
一方、バッテリ目標出力PBatTgtがバッテリ出力上限値PBatMax以下であり、且つバッテリ出力下限値PBatMin以上である場合(ステップS65;Yes)には、バッテリ出力PBatOutの値をバッテリ目標出力PBatTgtの値と等しくする(ステップS67)。
ここで、図9は、バッテリ充電率(SOC)とバッテリ出力との関係を示す図である。図9のグラフ中には、バッテリ出力上限値PBatMax11(図中の細い破線)及びPBatMax12(図中の太い破線)、並びにバッテリ出力上限値PBatMax1(図中の二点鎖線)が示されている。バッテリ出力上限値PBatMax1は、バッテリ出力上限値PBatMax11及びPBatMax12のうち小さい方の値である。同様に、図9のグラフ中には、バッテリ出力下限値PBatMin11(図中の細い一点鎖線)及びPBatMin12(図中の太い一点鎖線)、並びにバッテリ出力下限値PBatMin1(図中の二点鎖線)が示されている。バッテリ出力下限値PBatMin1は、バッテリ出力下限値PBatMin11及びPBatMin12のうち大きい方の値である。この図中において、実際のバッテリ出力PBatOutは、放電を示すプラス側ではバッテリ出力上限値PBatMax1より小さい領域に入るように決定され、充電を示すマイナス側ではバッテリ出力下限値PBatMin1より大きい領域に入るように決定される。
また、図9に示すグラフには、バッテリ目標出力PBatTgtも示されている。本実施形態では、バッテリ出力上限値PBatMax1及びバッテリ出力下限値PBatMin1に加え、バッテリ19の現在の充電率SOCactも考慮して、バッテリ19の実際の放電量又は充電量をバッテリ出力PBatOutとして決定する。
一例として、バッテリ19の充電率SOCactが図9に示す値(現在値)である場合について説明する。このとき、バッテリ制御出力上限値PBatMax2が図9に示すようにバッテリ出力上限値PBatMax1より小さければ、バッテリ出力上限値PBatMaxはバッテリ制御出力上限値PBatMax2と等しく設定される(図8のステップS64)。更に、当該充電率SOCactにおけるバッテリ目標出力PBatTgtがバッテリ出力上限値PBatMaxより大きい場合には、バッテリ出力PBatOutはバッテリ出力上限値PBatMaxと等しく設定される(図8のステップS66)。
以上に説明した構成及び機能を備えるコントローラ30は、バッテリ19及び昇降圧コンバータ100を含む蓄電系に異常が検出された場合(具体的には、温度センサ44から提供されたバッテリ温度信号に示されるバッテリ19の温度が所定値を超えた場合)には、蓄電系に対する出力依存度と比較して相対的にエンジン11に対する出力依存度を高める。また、エンジン11に異常が検出された場合(具体的には、ECU42から提供される異常信号が、エンジン11の不完全燃焼、過給機41のブースト圧の異常、または水温センサの故障等を示した場合)には、エンジン11に対する出力依存度と比較して相対的に蓄電系に対する出力依存度を高める。
図10は、バッテリ19及び昇降圧コンバータ100を含む蓄電系に異常が検出された場合に、蓄電系と比較して相対的にエンジン11に対する出力依存度を高めるための処理を概略的に示す図である。図10(a)は、コントローラ30のブロック31(図4を参照)におけるマップあるいは変換テーブルを示しており、図10(b)は、コントローラ30のブロック33(図4を参照)におけるマップあるいは変換テーブルを示している。
蓄電系に異常が検出された場合、コントローラ30のブロック31及び33では、以下に述べるようなマップあるいは変換テーブルの変更が行われる。ブロック31においては、図10(a)に示すように、エンジン回転数とエンジン出力上限値との相関を示す関数が、図中のグラフG1からG2へ変更される。すなわち、各エンジン回転数におけるエンジン出力上限値が、より高く設定される。例えば、平常時におけるエンジン実回転数Nactに対応するエンジン出力上限値がPEngMax(1)であったとすると、蓄電系に異常が検出された場合には、エンジン実回転数Nactに対応するエンジン出力上限値はPEngMax(1)より大きいPEngMax(2)に設定変更される。このようにしてエンジン11の出力を高めることにより、蓄電系と比較して相対的にエンジン11に対する出力依存度を高めることができる。
一方、ブロック33においては、図10(b)に示すように、バッテリ19の充電率SOCとバッテリ出力上限値との相関を示す関数が図中のグラフG3からG4へ変更され、且つ、バッテリ19の充電率SOCとバッテリ出力下限値との相関を示す関数が図中のグラフG5からG6へ変更される。すなわち、各充電率SOCにおけるバッテリ出力上限値がより低く設定され、各充電率SOCにおけるバッテリ出力下限値がより高く設定される。例えば、平常時における現在の充電率SOCactに対応するバッテリ出力上限値及びバッテリ出力下限値がそれぞれPBatMax11(1)及びPBatMin11(1)であったとすると、蓄電系に異常が検出された場合には、現在の充電率SOCactに対応するバッテリ出力上限値はPBatMax11(1)より小さいPBatMax11(2)に設定変更され、バッテリ出力下限値はPBatMin11(1)より大きいPBatMin11(2)に設定変更される。このようにしてバッテリ19の放電量および充電量、つまり出力限界値を抑えることにより、蓄電系と比較して相対的にエンジン11に対する出力依存度を高めることができる。
なお、コントローラ30は、蓄電系に異常が検出された場合に、ブロック31での設定変更(図10(a))及びブロック33での設定変更(図10(b))のうち一方のみ行ってもよく、双方を併せて行ってもよい。
図11は、本実施形態のパワーショベル1において、蓄電系の異常(バッテリ19の過熱)が生じた時刻t1の前後における、エンジン出力PEng及びバッテリ出力PBatの変化の様子の一例を示すグラフである。なお、図11において、PElcは電気負荷が必要とする電力である。
図11において、時刻t0では蓄電系に異常は発生していない。そして、この時点では操作者のレバー操作によって、電気負荷へは高出力の要求がなされている。コントローラ30は、エンジン出力PEngとバッテリ出力PBatとを加算した値(PEng+PBat)が電気負荷の必要電力PElcより大きくなるように、エンジン出力上限値PEngMax、バッテリ出力上限値PBatMax11及びバッテリ出力下限値PBatMin11を設定する。これにより、エンジン11の出力PEngはPEng(1)で安定し、バッテリ19の出力PBatはPBat(1)で安定しているものとする。
ここで、バッテリ19に取り付けられた温度センサ44によって検出された温度が所定値を超えた場合、コントローラ30は、蓄電系と比較して相対的にエンジン11に対する出力依存度を高める。すなわち、コントローラ30は、各エンジン回転数におけるエンジン出力上限値をより高く設定し(図10(a)を参照)、また、各充電率SOCにおけるバッテリ出力上限値をより低く、且つバッテリ出力下限値をより高く設定する(図10(b)を参照)。これによって、エンジン11の出力PEngがPEng(1)より高いPEng(2)へ移行し、バッテリ19の出力PBatがPBat(1)より低いPBat(2)へ移行する。この場合、エンジン出力PEngとバッテリ出力PBatとを加算した値は維持され、電気負荷が必要とする電力PElcを満たすことができる。
図12は、エンジン11に異常が検出された場合に、エンジン11と比較して相対的に蓄電系に対する出力依存度を高めるための処理を概略的に示す図である。図12(a)は、コントローラ30のブロック31におけるマップあるいは変換テーブルを示しており、図12(b)は、コントローラ30のブロック33におけるマップあるいは変換テーブルを示している。
エンジン11に異常が検出された場合、コントローラ30のブロック31及び33では、以下に述べるようなマップあるいは変換テーブルの変更が行われる。ブロック31においては、図12(a)に示すように、エンジン回転数とエンジン出力上限値との相関を示す関数が、図中のグラフG1からG7へ変更される。すなわち、各エンジン回転数におけるエンジン出力上限値が、より低く設定される。例えば、平常時におけるエンジン実回転数Nactに対応するエンジン出力上限値がPEngMax(1)であったとすると、エンジン11に異常が検出された場合には、エンジン実回転数Nactに対応するエンジン出力上限値はPEngMax(1)より小さいPEngMax(3)に設定変更される。このようにしてエンジン11の出力を抑えることにより、エンジン11と比較して相対的に蓄電系に対する出力依存度を高めることができる。
一方、ブロック33においては、図12(b)に示すように、バッテリ19の充電率SOCとバッテリ出力上限値との相関を示す関数が図中のグラフG3からG8へ変更され、且つ、バッテリ19の充電率SOCとバッテリ出力下限値との相関を示す関数が図中のグラフG5からG9へ変更される。すなわち、各充電率SOCにおけるバッテリ出力上限値がより高く設定され、各充電率SOCにおけるバッテリ出力下限値がより低く設定される。例えば、平常時における現在の充電率SOCactに対応するバッテリ出力上限値及びバッテリ出力下限値がそれぞれPBatMax11(1)及びPBatMin11(1)であったとすると、エンジン11に異常が検出された場合には、現在の充電率SOCactに対応するバッテリ出力上限値はPBatMax11(1)より大きいPBatMax11(3)に設定変更され、バッテリ出力下限値はPBatMin11(1)より小さいPBatMin11(3)に設定変更される。このようにしてバッテリ19の放電量および充電量、つまり出力限界値を高めることにより、エンジン11と比較して相対的に蓄電系に対する出力依存度を高めることができる。
なお、コントローラ30は、エンジン11に異常が検出された場合に、ブロック31での設定変更(図12(a))及びブロック33での設定変更(図12(b))のうち一方のみ行ってもよく、双方を併せて行ってもよい。
図13は、本実施形態のパワーショベル1において、エンジン11の異常(エンジン11の不完全燃焼、過給機41のブースト圧の異常、または水温センサの故障等)が生じた時刻t1の前後における、エンジン出力PEng及びバッテリ出力PBatの変化の様子の一例を示すグラフである。
図13において、時刻t1までのコントローラ30の動作は、前述した図11と同様である。ここで、ECU42から上記したエンジン11の異常に関する信号が送信された場合、コントローラ30は、エンジン11と比較して相対的に蓄電系に対する出力依存度を高める。すなわち、コントローラ30は、各エンジン回転数におけるエンジン出力上限値をより低く設定し(図12(a)を参照)、また、各充電率SOCにおけるバッテリ出力上限値をより高く、且つバッテリ出力下限値をより低く設定する(図12(b)を参照)。これによって、エンジン11の出力PEngがPEng(1)より低いPEng(3)へ移行し、バッテリ19の出力PBatがPBat(1)より高いPBat(3)へ移行する。この場合においても、エンジン出力PEngとバッテリ出力PBatとを加算した値は維持され、電気負荷が必要とする電力PElcを満たすことができる。
以上に説明した本実施形態のパワーショベル1による効果について説明する。既に述べたように、パワーショベル1は、例えばバッテリ19の温度を検出する温度センサ44といった蓄電系異常検出部を備えており、コントローラ30は、蓄電系の異常が検出された場合には、蓄電系と比較して相対的にエンジン11に対する出力依存度を高めている。これにより、バッテリ19等の蓄電系に異常が発生した場合であってもバッテリの充電率が過度に低下することを防ぎ、パワーショベル1の運転を継続して行うことが可能となる。また、パワーショベル1は、エンジン11の異常を検出するECU42といったエンジン系異常検出部を備えており、コントローラ30は、エンジン11の異常が検出された場合には、エンジン11に対する出力依存度と比較して相対的に蓄電系に対する出力依存度を高めている。これにより、エンジン11に異常が生じた場合であってもエンジン11の駆動能力に対して負荷が過剰となることを防ぎ、エンジン11の自然停止を回避することができる。
したがって、本実施形態のパワーショベル1によれば、エンジン11やバッテリ19等に異常が発生した場合であっても、パワーショベル1の運転をより長く継続することができる。
本発明によるハイブリッド型建設機械は、上記した実施形態に限られるものではなく、他に様々な変形が可能である。例えば、上記実施形態ではハイブリッド型建設機械としてパワーショベルを例示して説明したが、他のハイブリッド型建設機械(例えば、リフティングマグネット車両やホイルローダ、クレーン等)にも本発明を適用してもよい。
また、上記実施形態では、蓄電系異常検出部としてバッテリの温度を検出する温度センサを例示したが、蓄電池及び直流電圧変換器を含む蓄電系の故障を検出する装置であれば、他の様々な装置を本発明の蓄電系異常検出部に適用できる。また、上記実施形態では、エンジン系異常検出部として、内燃機関発動機の不完全燃焼、過給機のブースト圧異常、及び水温センサの故障等を検出するECUを例示したが、内燃機関発動機及びその周辺装置の故障を検出する装置であれば、他の様々な装置を本発明のエンジン系異常検出部に適用できる。