以下、添付図面を参照しながら本発明によるハイブリッド型建設機械の実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
図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は電動発電機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が接続されている。メインポンプ14は、エンジン11の駆動力によって圧油を発生するための油圧ポンプであり、傾転角を制御するためのポンプ制御弁14Aを有する。このポンプ制御弁14Aは、ギアポンプに接続された電磁比例弁によって構成されており、この電磁比例弁がコントローラ30によって電気的に駆動されることにより、メインポンプ14の傾転角の制御が行われる。メインポンプ14から吐出される圧油は、図1に示した走行機構2を駆動するための油圧モータ2a及び2b、ブームシリンダ8、アームシリンダ9、並びにバケットシリンダ10といった各油圧駆動部を駆動するために、高圧油圧ライン16を介してコントロールバルブ17へ供給される。
コントロールバルブ17は、パワーショベル1における油圧系の制御を行う装置である。コントロールバルブ17には、油圧モータ2a及び2b、ブームシリンダ8、アームシリンダ9、並びにバケットシリンダ10が高圧油圧ラインを介して接続されており、コントロールバルブ17は、これらに供給する油圧を運転者の操作入力に応じて制御する。
メインポンプ14には、パイロットポンプ15が接続されている。パイロットポンプ15は、油圧操作系に必要なパイロット圧を発生するための油圧ポンプである。パイロットポンプ15には、パイロットライン25を介して操作装置26が接続されている。操作装置26は、旋回用電動機21、走行機構2、ブーム5、アーム6、及びバケット7を操作するための操作装置であり、操作者によって操作される。操作装置26には、油圧ライン27を介してコントロールバルブ17が接続され、また、油圧ライン28を介して圧力センサ29が接続される。操作装置26は、パイロットライン25を通じて供給される油圧(1次側の油圧)を操作者の操作量に応じた油圧(2次側の油圧)に変換して出力する。操作装置26から出力される2次側の油圧は、油圧ライン27を通じてコントロールバルブ17に供給されるとともに、圧力センサ29によって検出される。
圧力センサ29は、操作装置26に対して旋回機構3を旋回させるための操作が入力されると、この操作量を油圧ライン28内の油圧の変化として検出する。圧力センサ29は、油圧ライン28内の油圧を表す電気信号を出力する。この電気信号は、コントローラ30に入力され、後述する旋回用電動機21の駆動制御に用いられる。
電動発電機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により平滑化される。
再び図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に供給される場合もある。
コントローラ30は、本実施形態における制御部を構成する。コントローラ30は、CPU及び内部メモリを含む演算処理装置によって構成され、内部メモリに格納された駆動制御用のプログラムをCPUが実行することにより実現される。また、コントローラ30の電源は、バッテリ19とは別のバッテリ(例えば24V車載バッテリ)である。コントローラ30は、圧力センサ29から入力される信号のうち、旋回機構3を旋回させるための操作量を表す信号を速度指令に変換し、旋回用電動機21の駆動制御を行う。また、コントローラ30は、電動発電機12の運転制御(アシスト運転及び発電運転の切り替え)、及び、昇降圧コンバータ100を駆動制御することによるバッテリ19の充放電制御を行う。
本実施形態のコントローラ30は、また、メインポンプ14及びコントロールバルブ17を含む油圧系の異常を検出するための油圧系異常検出部を構成している。例えば、メインポンプ14の傾斜板のさび付きやポンプ制御弁14Aの損傷等によってメインポンプ14の傾転角を制御できなくなったとする。この場合、コントローラ30からポンプ制御弁14Aに供給される駆動電流は、メインポンプ14の傾転角を要求通り動作させようとして増加する。コントローラ30は、このような現象によって駆動電流が所定の電流範囲から逸脱した場合には、メインポンプ14を含む油圧系に異常が発生したものと判断する。コントローラ30は、このような油圧系の異常を検知した場合、メインポンプ14の出力上限値および電動発電機12の補助出力の上限値がそれぞれ正常時より低く抑えられるように、これらを制御する。
ここで、本実施形態におけるコントローラ30の機能について詳細に説明する。図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が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を適当な範囲内に維持できなくなってしまう。このため、実際に油圧負荷に供給する動力をある程度制限しなくてはならない場合がある。なお、本実施形態では、コントローラ30が油圧系の異常を検知した場合に、油圧負荷に供給する動力を低く制限する。
電気負荷実出力PElcOutは、電気負荷要求出力PElcReqに対して、実際に電気負荷に供給する電力である。電気負荷要求出力PElcReqに対して常に要求された電力を供給すると、同時に駆動されている油圧負荷の要求を満たせなくなったり、バッテリ19の充電率SOCを適当な範囲内に維持できなくなってしまう。このため、実際に電気負荷に供給する電力をある程度制限しなくてはならない場合がある。
アシストモータ出力指令PAsmRefは、電動発電機12の出力を指示する値である。アシストモータ出力指令PAsmRefにより、電動発電機12が電動機として機能するか、あるいは発電機として機能するかが指示される。なお、本実施形態では、コントローラ30が油圧系の異常を検知した場合には、電動発電機12が電動機として機能する際の出力を低く制限する。
ここで、コントローラ30において、油圧負荷実出力PHydOut、電気負荷実出力PElcOut、及びアシストモータ出力指令PAsmRefを決定するための処理について説明する。図5は、コントローラ30において行われる処理のフローチャートである。
まず、ブロック31において、エンジン11の現在の回転数を示すエンジン実回転数Nactに基づき、エンジン11のエンジン出力上限値PEngMax及びエンジン出力下限値PEngMinが決定される(ステップS1)。なお、コントローラ30が油圧系の異常を検知した場合であっても、その前後においてエンジン11のエンジン出力上限値PEngMaxは一定(不変)とされる。次に、ブロック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)。
ここで、上述したステップS4〜S7における処理について詳細に説明する。
図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を減算して算出される。また、メインポンプ14といった油圧系の異常を検知した場合には、この算出値より低い値に設定される。
次に、油圧負荷要求出力PHydReqが、油圧負荷出力上限値PHydMax以下であるか否かが判定される(ステップS52)。油圧負荷要求出力PHydReqが油圧負荷出力上限値PHydMaxより大きい場合(ステップS52;No)、油圧負荷出力PHydOutの値を油圧負荷出力上限値PHydMaxと等しくする(ステップS53)。一方、油圧負荷要求出力PHydReqが油圧負荷出力上限値PHydMax以下である場合には(ステップS52;Yes)、油圧負荷出力PHydOutの値を油圧負荷要求出力PHydReqの値と等しくして、油圧負荷が要求する動力をそのまま供給する(ステップS54)。
ここで、図8は、本実施形態における油圧負荷要求出力PHydReqと油圧負荷出力PHydOutとの関係を示すグラフである。通常、油圧負荷出力上限値PHydMaxは、図中に示すPHydMax1(=PEngMax+PBatMax−PElcOut)に設定されているものとする。この場合、グラフG1に示すように、油圧負荷出力PHydOutは、油圧負荷要求出力PHydReqがPHydMax1に達するまでは油圧負荷要求出力PHydReqと等しく設定される。そして、油圧負荷要求出力PHydReqがPHydMax1を超えている場合には、油圧負荷出力PHydOutはPHydMax1と等しく設定される。
これに対して、メインポンプ14といった油圧系の異常を検知した場合、油圧負荷出力上限値PHydMaxは、PHydMax1より低いPHydMax2(<PHydMax1)に設定される。この場合、グラフG2に示すように、油圧負荷出力PHydOutは、油圧負荷要求出力PHydReqがPHydMax2に達するまでは油圧負荷要求出力PHydReqと等しく設定される。そして、油圧負荷要求出力PHydReqがPHydMax2を超えている場合には、油圧負荷出力PHydOutはPHydMax2と等しく設定される。なお、このPHydMax2は、PHydMax1に係数を掛けて算出しても良いし、予め定められた値であっても良い。
また、図9を参照すると、ステップ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)。
ここで、図10は、バッテリ充電率(SOC)とバッテリ出力との関係を示す図である。図10のグラフ中には、バッテリ出力上限値PBatMax11(図中の細い破線)及びPBatMax12(図中の太い破線)、並びにバッテリ出力上限値PBatMax1(図中の二点鎖線)が示されている。バッテリ出力上限値PBatMax1は、バッテリ出力上限値PBatMax11及びPBatMax12のうち小さい方の値である。同様に、図9のグラフ中には、バッテリ出力下限値PBatMin11(図中の細い一点鎖線)及びPBatMin12(図中の太い一点鎖線)、並びにバッテリ出力下限値PBatMin1(図中の二点鎖線)が示されている。バッテリ出力下限値PBatMin1は、バッテリ出力下限値PBatMin11及びPBatMin12のうち大きい方の値である。この図中において、実際のバッテリ出力PBatOutは、放電を示すプラス側ではバッテリ出力上限値PBatMax1より小さい領域に入るように決定され、充電を示すマイナス側ではバッテリ出力下限値PBatMin1より大きい領域に入るように決定される。
また、図10に示すグラフには、バッテリ目標出力PBatTgtも示されている。本実施形態では、バッテリ出力上限値PBatMax1及びバッテリ出力下限値PBatMin1に加え、バッテリ19の現在の充電率SOCactも考慮して、バッテリ19の実際の放電量又は充電量をバッテリ出力PBatOutとして決定する。
一例として、バッテリ19の充電率SOCactが図10に示す値(現在値)である場合について説明する。このとき、バッテリ制御出力上限値PBatMax2が図10に示すようにバッテリ出力上限値PBatMax1より小さければ、バッテリ出力上限値PBatMaxはバッテリ制御出力上限値PBatMax2と等しく設定される(図9のステップS64)。更に、当該充電率SOCactにおけるバッテリ目標出力PBatTgtがバッテリ出力上限値PBatMaxより大きい場合には、バッテリ出力PBatOutはバッテリ出力上限値PBatMaxと等しく設定される(図9のステップS66)。
また、図11を参照すると、ステップS7では、まず、ステップS71において、アシストモータ52の運転を指示するアシストモータ出力指令PAsmRefを算出する。アシストモータ出力指令PAsmRefは、バッテリ出力PBatOutから電気負荷実出力PElcOutを減算して算出される。
ここで、図12は、アシストモータ出力指令PAsmRefの算出モデルを示す図である。図12において、電気負荷56が実際に電力を消費する場合、バッテリ19が放電する電力から電気負荷56で消費される電力である電気負荷出力(電気負荷56において電力が回生される場合には、負の値となる)を減算した値が正であれば、その電力が電動発電機12に供給され、電動発電機12はエンジン11の駆動力をアシストする。一方、バッテリ19が放電する電力から電気負荷56で消費される電力である電気負荷出力を減算した値が負であれば、エンジン11からの動力が電動発電機12に供給され、電動発電機12は発電を行う。すなわち、電動発電機12のアシスト出力は、バッテリ19から放電する電力から電気負荷56で消費される電力を差し引いて得られる電力に相当するので、アシストモータ出力指令PAsmRefは、バッテリ出力PBatOutから電気負荷実出力PElcOutを減算して算出できる。
再び図11を参照すると、続くステップS72において(或いはステップS71の前でもよい)、アシストモータ出力指令PAsmRefの上限値であるアシストモータ出力上限値PAsmMaxの設定を行う。通常、アシストモータ出力上限値PAsmMaxは所定の値に設定されている。そして、メインポンプ14といった油圧系の異常を検知した場合には、この所定値より低い値に設定される。
そして、アシストモータ出力指令PAsmRefが、アシストモータ出力上限値PAsmMax以下であるか否かが判定される(ステップS73)。アシストモータ出力指令PAsmRefがアシストモータ出力上限値PAsmMaxより大きい場合(ステップS73;No)、アシストモータ出力指令PAsmRefの値をアシストモータ出力上限値PAsmMaxと等しくする(ステップS74)。一方、アシストモータ出力指令PAsmRefがアシストモータ出力上限値PAsmMax以下である場合には(ステップS73;Yes)、アシストモータ出力指令PAsmRefの値をそのまま出力する。
ここで、図13は、本実施形態におけるアシストモータ出力指令PAsmRefとアシスト出力[W]との関係を示すグラフである。通常、アシストモータ出力上限値PAsmMaxは、図中に示すPAsmMax1に設定されているものとする。この場合、グラフG3に示すように、アシスト出力は、アシストモータ出力指令PAsmRefがPAsmMax1に達するまではアシストモータ出力指令PAsmRefと等しく設定される。そして、アシストモータ出力指令PAsmRefがPAsmMax1を超えている場合には、アシスト出力はPAsmMax1と等しく設定される。
これに対して、コントローラ30がメインポンプ14といった油圧系の異常を検知した場合、アシストモータ出力上限値PAsmMaxは、PAsmMax1より低いPAsmMax2(但し、0≦PAsmMax2<PAsmMax1)に設定される。なお、PAsmMax2がゼロである場合、アシストモータ出力指令PAsmRefが必ずゼロ以下となり、電動発電機12がアシスト動作を行わないことを意味する。アシストモータ出力上限値PAsmMaxがPAsmMax2に設定された場合、グラフG4に示すように、アシスト出力は、アシストモータ出力指令PAsmRefがPAsmMax2に達するまではアシストモータ出力指令PAsmRefに従って制御される。そして、アシストモータ出力指令PAsmRefがPAsmMax2を超えている場合には、アシスト出力はPAsmMax2の値に従って制御される。
なお、上述した油圧系異常時のアシストモータ出力上限値PAsmMax2の決定に際しては、例えばメインポンプ14の回転を維持するために最低限必要な出力値をアシストモータ出力上限値PAsmMax2とするとよい。メインポンプ14の回転を維持することで、エンジン11の回転速度を安定させることができ、また旋回用電動機21からの回生電力やバッテリ19の充電率が高い場合に、これらのエネルギーを電動発電機12を介して油圧系へ逃がすことが可能となるからである。
以上に説明した本実施形態のパワーショベル1による効果について説明する。既に述べたように、パワーショベル1は、メインポンプ14の出力、並びに電動発電機12の発電電力及びアシスト出力を制御するコントローラ30を備えており、コントローラ30は、メインポンプ14といった油圧系の異常を検知した場合に、メインポンプ14の出力上限値(油圧負荷出力上限値PHydMax)および電動発電機12のアシスト出力の上限値(アシストモータ出力上限値PAsmMax)をそれぞれ正常時より低く設定する。ここで、発電出力の上限値については、油圧系の異常が発生した前後で変更されない。
したがって、油圧系の異常に起因してメインポンプ14に対する油圧負荷要求出力PHydReqが過剰になったとしても、メインポンプ14の実際の出力PHydOutが低く抑えられるので、エンジン11に対する電動発電機12のアシスト出力を増大させる必要が無く、また、電動発電機12の実際のアシスト出力も低く抑えられるので、油圧ポンプへの余計な出力の発生を抑制することができる。また、バッテリ19の充電率の過度の低下を抑制できる。すなわち、このパワーショベル1によれば、油圧系に異常が発生した場合であっても、より長く運転を継続することができる。また、バッテリ19の寿命の低下を抑えることができる。
また、本実施形態のように、油圧系の異常発生の前後において、エンジン11の出力上限値PEngMaxは一定であることが好ましい。これにより、油圧系の異常が発生した際に電気負荷の出力要求があった場合には、電動発電機12の発電出力の上限値は変更されないので十分な発電運転が可能となる。これにより、電気負荷の出力を低下させることなく、作業を継続させることができる。
本発明によるハイブリッド型建設機械は、上記した実施形態に限られるものではなく、他に様々な変形が可能である。例えば、上記実施形態ではハイブリッド型建設機械としてパワーショベルを例示して説明したが、他のハイブリッド型建設機械(例えば、リフティングマグネット車両やホイルローダ、クレーン等)にも本発明を適用してもよい。
また、上記実施形態では、油圧系の異常として油圧ポンプの傾斜板の固着やポンプ制御弁の故障を例示したが、油圧系の異常としては、これ以外にも所望の圧油の発生を妨げる様々な異常がある。また、このような異常を検出する手段として、上記実施形態では、ポンプ制御弁を駆動するための電流値の異常を制御部が検知する構成を例示したが、制御部が他の方法によって油圧系の異常を検出してもよく、或いは制御部とは別に油圧系異常検出部を設け、この油圧系異常検出部からの信号を制御部が受けても良い。