図1に、実施例によるハイブリッド型作業機械の側面図を示す。下部走行体(基体)1に、旋回機構2を介して上部旋回体3が搭載されている。旋回機構2は、電動機(モータ)を含み、上部旋回体3を時計回り、または反時計周りに旋回させる。上部旋回体3に、ブーム4が取り付けられている。ブーム4は、油圧駆動されるブームシリンダ7により、上部旋回体3に対して上下方向に揺動する。ブーム4の先端に、アーム5が取り付けられている。アーム5は、油圧駆動されるアームシリンダ8により、ブーム3に対して前後方向に揺動する。アーム5の先端にバケット6が取り付けられている。バケット6は、油圧駆動されるバケットシリンダ9により、アーム5に対して上下方向に揺動する。上部旋回体3には、さらに運転者を収容するキャビン10が搭載されている。
図2に、ハイブリッド型作業機械のブロック図を示す。図2において、機械的動力系を二重線で表し、高圧油圧ラインを太い実線で表し、電気系統を細い実線で表し、パイロットラインを破線で表す。
エンジン11の駆動軸が減速機13の入力軸に連結されている。エンジン11には、電気以外の燃料によって駆動力を発生するエンジン、例えばディーゼルエンジン等の内燃機関が用いられる。エンジン11は、作業機械の運転中は、常時駆動されている。
電動発電機12の駆動軸が、減速機13の他の入力軸に連結されている。電動発電機12は、電動(アシスト)運転と、発電運転との双方の運転動作を行うことができる。電動発電機12には、例えば磁石がロータ内部に埋め込まれた内部磁石埋込型(IMP)モータが用いられる。
減速機13は、2つの入力軸と1つの出力軸とを有する。この出力軸には、メインポンプ14の駆動軸が連結されている。
エンジン11に加わる負荷が大きい場合には、電動発電機12がアシスト運転を行い、電動発電機12の駆動力が減速機13を介してメインポンプ14に伝達される。これにより、エンジン11に加わる負荷が軽減される。一方、エンジン11に加わる負荷が小さい場合には、エンジン11の駆動力が減速機13を介して電動発電機12に伝達されることにより、電動発電機12が発電運転される。電動発電機12のアシスト運転と発電運転との切り替えは、電動発電機12に接続されたインバータ18により行われる。インバータ18は、制御装置30により制御される。
制御装置30は、中央処理装置(CPU)30A及び内部メモリ30Bを含む。CPU30Aは、内部メモリ30Bに格納されている駆動制御用プログラムを実行する。制御装置30は、表示装置35に、各種装置の劣化状態等を表示することにより、運転者の注意を喚起する。
メインポンプ14は、高圧油圧ライン16を介して、コントロールバルブ17に油圧を供給する。コントロールバルブ17は、運転者からの指令により、油圧モータ1A、1B、ブームシリンダ7、アームシリンダ8、及びパケットシリンダ9に油圧を分配する。油圧モータ1A及び1Bは、それぞれ図1に示した旋回機構2を時計回り、及び反時計回りに旋回させる回転力を発生する。
電動発電機12の電気系統の入出力端子が、インバータ18を介して蓄電回路120のDCバスラインに接続されている。また、蓄電回路120のDCバスラインは、他のインバータ20を介して旋回用電動機21に接続されている。
温度検出器36が、蓄電回路120に含まれるキャパシタの温度を検出する。検出された温度データは、制御装置30に入力される。
旋回用電動機21は、インバータ20からのパルス幅変調(PWM)制御信号により交流駆動され、力行動作及び回生動作の双方の運転を行うことができる。旋回用電動機21には、例えばIMPモータが用いられる。IMPモータは、回生時に大きな誘導起電力を発生する。
旋回用電動機21の力行動作中は、旋回用電動機21の回転力が減速機24を介して、図1に示した旋回機構2に伝達される。この際、減速機24は、回転速度を遅くする。これにより、旋回用電動機21で発生した回転力が増大して、旋回機構2に伝達される。また、回生運転時には、上部旋回体3の回転運動が、減速機24を介して旋回用電動機21に伝達されることにより、旋回用電動機21が回生電力を発生する。この際、減速機24は、力行運転の時とは逆に、回転速度を速める。これにより、旋回用電動機21の回転数を上昇させることができる。
レゾルバ22が、旋回用電動機21の回転軸の回転方向の位置を検出する。検出結果は、制御装置30に入力される。旋回用電動機21の運転前と運転後における回転軸の回転方向の位置を検出することにより、旋回角度及び旋回方向が導出される。
メカニカルブレーキ23が、旋回用電動機21の回転軸に連結されており、機械的な制動力を発生する。メカニカルブレーキ23の制動状態と解除状態とは、制御装置30からの制御を受け、電磁的スイッチにより切り替えられる。
パイロットポンプ15が、油圧操作系に必要なパイロット圧を発生する。発生したパイロット圧は、パイロットライン25を介して操作装置26に供給される。操作装置26は、レバーやペダルを含み、運転者によって操作される。操作装置26は、パイロットライン25から供給される1次側の油圧を、運転者の操作に応じて、2次側の油圧に変換する。2次側の油圧は、油圧ライン27を介してコントロールバルブ17に伝達されると共に、他の油圧ライン28を介して圧力センサ29に伝達される。
圧力センサ29で検出された圧力の検出結果が、制御装置30に入力される。これにより、制御装置30は、下部走行体1、旋回機構2、ブーム4、アーム5、及びバケット6の操作の状況を検知することができる。特に、実施例によるハイブリッド型作業機械では、油圧モータ1A、1Bのみならず、旋回用電動機21も旋回機構2を駆動する。このため、旋回機構2を制御するためのレバーの操作量を高精度に検出することが望まれる。制御装置30は、圧力センサ29を介して、このレバーの操作量を高精度に検出することができる。
図3に、蓄電回路120の等価回路図を示す。蓄電回路120は、コンバータ100、DCバスライン110、及びキャパシタ19を含んで構成される。コンバータ100は、キャパシタ19の充放電電流を制御する。DCバスライン110は、平滑用コンデンサ105を含む。
コンバータ100の一対の電源接続端子103A、103Bにキャパシタ19が接続されており、一対の出力端子104A、104BにDCバスライン110の平滑用コンデンサ105が接続されている。一方の電源接続端子103B、及び一方の出力端子104Bは接地されている。
DCバスライン110は、インバータ18、20を介して、電動発電機12及び旋回用電動機21に接続されている。
電動発電機12が発電運転されている期間は、電動発電機12によって発電された電力が、インバータ18を介してキャパシタ19に供給され、キャパシタ19が充電される。電動発電機12がアシスト運転されている期間は、必要な電力が、キャパシタ19からインバータ18を介して電動発電機12に供給される。
旋回用電動機21には、キャパシタ19から電力が供給される。また、旋回用電動機21で発生した回生電力は、キャパシタ19に蓄電される。
平滑用コンデンサ105の両端に発生している電圧が、電圧計111により測定され、測定結果が制御装置30に入力される。
なお、制御装置30は、下部走行体1、旋回機構2、ブーム4、アーム5、及びバケット6のいずれも動作しておらず、キャパシタ19の充電及び放電のいずれも行われていない状態(非運転状態)を検出することができる。
昇圧用の絶縁ゲートバイポーラトランジスタ(IGBT)102Aのコレクタと、降圧用のIGBT102Bのエミッタとが相互に接続された直列回路が、出力端子104Aと104Bとの間に接続されている。昇圧用IGBT102Aのエミッタが接地され、降圧用IGBT102Bのコレクタが、高圧側の出力端子104Aに接続されている。昇圧用IGBT102Aと降圧用IGBT102Bの相互接続点が、リアクトル101を介して、高圧側の電源接続端子103Aに接続されている。
昇圧用IGBT102A及び降圧用IGBT102Bに、それぞれダイオード102a、102bが、エミッタからコレクタに向かう向きが順方向になる向きで並列接続されている。
電源接続端子103Aと103Bとの間に接続された電圧計106が、キャパシタ19の端子間電圧を測定する。リアクトル101に直列に挿入された電流計107が、キャパシタ19の充放電電流を測定する。電圧及び電流の測定結果は、制御装置30に入力される。
制御装置30が、昇圧用IGBT102A及び降圧用IGBT102Bのゲート電極に、制御用のパルス幅変調(PWM)電圧を印加する。
以下、昇圧動作(放電動作)について説明する。昇圧用IGBT102Aのゲート電極にPWM電圧を印加する。昇圧用IGBT102Aのオフ時に、リアクトル101に、高圧側の電源接続端子103Aから昇圧用IGBT102Aのコレクタに向かって電流を流す向きの誘導起電力が発生する。この起電力が、ダイオード102bを介してDCバスライン110に印加される。これにより、DCバスライン110が昇圧される。
次に、降圧動作(充電動作)について説明する。降圧用IGBT102Bのゲート電極に、PWM電圧を印加する。降圧用IGBT102Bのオフ時に、リアクトル101に、降圧用IGBT102Bのエミッタから高圧側の電源接続端子103Aに向かって電流を流す向きの誘導起電力が発生する。この誘導起電力により、キャパシタ19が充電される。コンバータ100の仕様値は、一例として下記の通りである。なお、キャパシタ19を放電する向きの電流を正とし、充電する向きの電流を負とする。
図4に、キャパシタ19の等価回路図を示す。キャパシタ19は、相互に直列に接続された静電容量Cと内部抵抗Rとで表すことができる。キャパシタ19の端子間電圧Vmは、静電容量Cに発生している電圧Vcと、内部抵抗Rによる電圧降下Vrとの和で表される。キャパシタ19の充放電電流をIとし、放電電流の向きを正とすると、Vr=−R×Iが成立する。
端子間電圧Vmは、図3に示したバッテリ用電圧計106で測定され、電流Iは、バッテリ用電流計107で測定される。
図5Aに、キャパシタ19に電気二重層キャパシタを用いた場合の等価回路図を示す。電気二重層キャパシタでは、活性層がアニオン(陰イオン)とカチオン(陽イオン)を補足する電極として機能する。この活性層には多数の孔が存在する。活性層の表面に蓄積される電荷と、孔の奥部に蓄積される電荷とでは、内部抵抗の違いにより移動速度が大きく異なる。このため、キャパシタ19は、内部抵抗の異なるn個の静電容量C1〜Cnの並列接続として表すことができる。静電容量C1〜Cnには、それぞれ内部抵抗R1〜Rnが直列に挿入されている。
図5Bに、キャパシタ19の、より単純化した等価回路図を示す。単純化した等価回路図では、静電容量Cは、活性層の表層(第1領域)に電荷が蓄積される静電容量CLと、孔の奥部(第2領域)に電荷が蓄積される静電容量CHとで表される。一対の電極間に、静電容量CLと内部抵抗RLとの直列回路が挿入される。さらに、静電容量CHと内部抵抗RHとの直列回路が、静電容量CLに並列に接続される。静電容量CLの端子間電圧をVCL、静電容量CHの端子間電圧をVHと表す。
次に、キャパシタ19の内部抵抗の測定方法について説明する。内部抵抗の測定は、制御装置30によって行われる。
図6に、静電容量Cの充電率SOC、電流I、電圧Vmの時間変化の一例を示す。時刻0〜t1の期間は、電流Iが負である。すなわち、キャパシタ19の充電が行われている。このため、充電率SOCが徐々に上昇している。
時刻t1〜t2の期間は、電流Iがほぼ0である。すなわち、キャパシタ19には充電が行われず、キャパシタ19からの放電も行われない。このとき、作業機械は非動作状態であり、エンジン11は、一定回転数が維持されているアイドリング状態である。また、キャパシタ19の端子間電圧Vm及び充電率SOCはほぼ一定である。時刻t1〜t2の測定時間は、50〜500ミリ秒であることが望ましい。
時刻t2において、エンジン11の回転数を一定に維持したまま、電動発電機12を発電状態にすると共に、コンバータ100を充電状態にする。時刻t2またはその直後の電流I及び電圧Vmを測定する。時刻t2における電流の測定結果をI1、電圧の測定結果をV1とする。
コンバータ100の充電動作が安定するまで待機する。電流が、予め定められた値になったとき、電流が安定したと判断する。このときの時刻をt3とする。時刻t3またはその直後における電流I及び電圧Vmを測定する。電流の測定結果をI2、電圧の測定結果をV2とする。
時刻t3〜t4の期間は、充電電流が単調に増加し、充電率SOCが上昇する。時刻t2からt3までの時間、及び時刻t3からt4までの時間は、実際には、それぞれ数十ミリ秒、及び数十〜数百ミリ秒である。具体的には、時刻t3〜t4の測定時間は、50〜500ミリ秒であることが望ましい。
時刻t2からt3までのキャパシタ19の蓄積電荷量の増加量をΔQとすると、内部抵抗RLは以下の式で表される。
時刻t2からt3までの待機時間は十分短く、静電容量CLが十分大きいため、上式の右辺第2項はほぼ0と近似することができる。従って、電圧及び電流の測定値から、内部抵抗RLを算出することができる。
なお、電流I1及び電圧V1として、時刻t1〜t2の期間の電流及び電圧の平均値を採用し、電流I2及び電圧V2として、時刻t3〜t4の期間の電流及び電圧の平均値を採用してもよい。
静電容量CLとCH、及び内部抵抗RHとで構成される閉回路の時定数が、静電容量CLと内部抵抗RLとで構成される直列回路の時定数に比べて十分大きい。このため、数十秒以下の急速充電時、及び急速放電時には、静電容量CLのみが充放電される。数時間程度の緩和充電時、及び緩和放電時には、静電容量CHの充放電も行われる。
次に、図7を参照して、静電容量の測定方法について説明する。
図7に、電圧VCLとVHとの時間変化の一例を示す。図中の実線が電圧VCLを示し、破線が電圧VHを示す。時刻0からT1までの期間は、運転動作が行われている。すなわち、キャパシタ19の充電及び放電が行われている。キャパシタ19が放電されている期間は電圧VCLが低下し、充電されている期間は電圧VCLが上昇する。電圧VCLが電圧VHよりも高い期間は、静電容量CHへの充電が行われるため、電圧VHが上昇し、電圧VCLが電圧VHよりも低い期間は、静電容量CHからの放電が行われるため、電圧VHが低下する。ただし、静電容量CHの充放電の時定数が大きいため、電圧VHの変化は、電圧VCLの変化に比べて緩やかである。
時刻T1において、運転を停止させる。すなわち、キャパシタ19への充放電が行われなくなる。このため、電圧VCLと電圧VHとが等しくなるまで、静電容量CLとCHとの間で電荷が移動する。時刻T2において、電圧VCLと電圧VHとが等しくなる。このときの電圧をVAとする。
時刻T3において、キャパシタ19の充電を開始する。この充電は、インバータ18を制御して電動発電機12を発電状態にし、コンバータ100を制御して充電状態にすることにより行われる。キャパシタ19が充電されることにより、電圧VCL及びVHが上昇する。キャパシタCHの充電は緩やかに進むため、電圧VHの上昇は緩やかである。時刻T4において、充電動作を停止させる。充電動作を停止させた直後の電圧VCLの値をVBとする。キャパシタ19の充電時間は、1〜30秒であることが望ましい。
時刻T4以降は、電圧VHとVCLとが等しくなるまで、静電容量CLから静電容量CHへの電荷の移動が緩やかに生じる。時刻T3からT4までの期間が十分に短い場合には、静電容量CLから静電容量CHへの電荷の移動がほとんど無視できる。この条件の下で、静電容量CLは、次の式で求めることができる。
ここで、電流Iは、キャパシタ19に流れる電流である。I(t)にマイナス符号を付しているのは、放電電流の向きを正としたためである。電流I(t)は、バッテリ用電流計107で測定することができる。例えば、極短い時間刻み幅で電流を測定し、測定結果を数値積分することにより、上述の式の積分項の値が求まる。
時刻T3における充電動作開始の直前、及び時刻T4における充電動作停止の直後は、キャパシタ19の充放電電流は0であるため、内部抵抗RLによる電圧降下VRLは生じない。このため、電圧VA及びVBは、それぞれ時刻T3及びT4においてバッテリ用電圧計106で測定される電圧Vmに等しい。数値積分の結果、及び時刻T3及びT4においてそれぞれ測定された電圧VA及びVBから、静電容量CLを算出することができる。
図8を参照する。すなわちキャパシタ19の内部抵抗が相対的に小さい部位の静電容量CLは以下のように求めることができる。
まず、第1領域(内部抵抗が相対的に小さい部位、急速充放電が可能な部位)と第2領域(内部抵抗が相対的に大きい部位、緩和充放電によって充電及び放電が可能な部位)の電荷移動の定常状態(時刻T3)において、第1領域を急速充電または急速放電する。ここではたとえば、第1領域(内部抵抗が相対的に小さい部位、急速充放電が可能な部位)は、約30秒以下の時定数を用いて充放電可能な領域と決定することができる。逆に、第2領域(内部抵抗が相対的に大きい部位、緩和充放電によって充電及び放電が可能な部位)は約30秒より大きな時定数を用いて充放電可能な領域を決定することができる。
第1領域と第2領域との分水嶺となる時定数は、どのような場合においても同じ値を用いる必要はない。たとえば作業機械の運転の態様によって適宜変更することが可能である。作業機械の個々の動作に必要な時間が短く、パワーが大きい場合には、第1領域と第2領域とを分ける時定数の値を小さく設定することができる。
続いて、時刻T4において、急速充放電による第1領域の電圧の変化分(VB−VA)を測定する。
更に、急速充放電時に第1領域に流れる電流の値、及び急速充放電による第1領域の電圧の変化分に基づいて、第1領域の静電容量を導出する。静電容量の導出は制御装置30で行われる。
なお、第1領域と第2領域とが電荷移動の定常状態にあるか否かについては、たとえば電圧計106で検出される電圧の単位時間あたりの変化率が所定値以下である場合に、定常状態にあると判定される。また、キャパシタの充電または放電が終了した後所定の時間、たとえば30分、が経過した場合に定常状態であると判定することも可能である。変化率の所定値や所定時間は制御装置30の内部メモリ30Bに記憶され、判定は制御装置30で行われる。
図9〜図17を参照して、実施例によるハイブリッド型作業機械の制御方法について説明する。
図9に、ハイブリッド型作業機械の一例としてのパワーショベルの動力系をモデル化して示す。
本図に示すエンジン11は、図2のエンジン11に相当する。また、アシストモータ52は、図2において、電動機及び発電機の機能を有する電動発電機12に相当する。油圧負荷54は油圧により駆動される構成部品に相当し、図2に示すブームシリンダ7、アームシリンダ8、パケットシリンダ9、及び油圧モータ1A、1Bを含む。
電気負荷56は、電動モータや電動アクチュエータ等の電力で駆動される構成部品に相当し、図2の旋回用電動機21を含む。バッテリ58は蓄電器であり、図2の蓄電回路120に相当する。
油圧負荷54には、油圧を発生する油圧ポンプ53(図2におけるメインポンプ14に相当)で発生した油圧が供給される。エンジン11は油圧ポンプ53に動力を供給して油圧負荷54を駆動する。すなわちエンジン11が発生した動力は、油圧ポンプ53により油圧に変換されて油圧負荷54に供給される。
油圧ポンプ53にはアシストモータ52も接続されている。アシストモータ52で発生した動力を油圧ポンプ53に供給し駆動することができる。すなわち、アシストモータ52に供給された電力はアシストモータ52により動力に変換され、その動力が油圧ポンプ53により油圧に変換されて油圧負荷54に供給される。この際、アシストモータ52は電動機として動作する。
電気負荷56は、バッテリ58から供給された電力で駆動される。電気負荷56が電力によって駆動される場合を力行運転と称する。電気負荷56は、たとえば電動機兼発電機のように回生電力を発生することができるもので、発生した回生電力はバッテリ58に供給されて蓄積されるか、あるいはアシストモータ52に供給されてアシストモータ52を駆動する電力となる。
バッテリ58は、電気負荷56からの回生電力により充電されるだけでなく、アシストモータ52がエンジン11からの動力を受けて発電機として機能した場合、アシストモータ52が発生した電力をバッテリ58に供給して充電することもできる。アシストモータ52が発生した電力は、バッテリ58を経由して電気負荷56を駆動することもできる。
図10を参照する。上述の構成において、電力に関連する部分を見ると、電力(動力)の移動には方向性がある。図10は、この方向性を出力極性としてとらえた表である。
「アシストモータ」の欄を参照する。エンジン11をアシストして油圧を発生させ、動力を油圧負荷54に供給する場合は、電力を動力として出力することとなるため、このときのアシストモータ52の出力極性を「+」とする。一方、エンジン11の駆動力でアシストモータ52を駆動して発電する場合は、アシストモータ52に動力が入力されることとなる。したがって、このときのアシストモータ52の出力極性は「−」となる。
バッテリの欄を参照する。放電して電気負荷56又はアシストモータ52を駆動する場合の出力極性を「+」とする。一方、電気負荷56から回生電力、あるいはアシストモータ52の発電による電力が供給されて充電される場合のバッテリ58の出力極性は「−」となる。
電気負荷の欄を参照する。電気負荷56に電力が供給されて駆動(力行運転)されている場合の出力極性を「+」とすると、回生電力を発生しているときの出力極性は「−」となる。
以上のように、ハイブリッド型パワーショべルにおいては、電力に関連する構成部品である、アシストモータ52及び電気負荷56の運転状態及びバッテリ58の充電状態を考慮してそれらの出力極性を適宜調整することで、運転条件を決定する必要がある。特に、バッテリ58が常時適度に充電されている状態になるように、アシストモータ52の出力極性を調整しながら、油圧負荷54への出力と電気負荷56への出力の配分を制御することが重要である。
ここで、制御に関する入力は以下の4つの変数となる。
(1)エンジン実回転数Nact
エンジン実回転数Nactは、エンジン11の実際の回転数を示す変数である。エンジン11はパワーショべルの運転時には常に駆動されており、エンジン実回転数Nactが検出されている。
(2)油圧負荷要求出力Phydreq
油圧負荷要求出力Phydreqは、油圧負荷54が必要とする動力を示す変数であり、例えばパワーショべルを運転者が操作する際の操作レバーの操作量に相当する。
(3)電気負荷要求出力Pelcreq
電気負荷要求出力Pelcreqは、電気負荷56が必要とする電力を示す変数であり、たとえばパワーショペルを運転者が操作する際の操作レバーの操作量に相当する。
(4)バッテリ電圧Vm
バッテリ電圧Vmは、バッテリ58(キャパシタ19)の出力電圧を示す変数である。実施例においては、バッテリ電圧Vmとして、キャパシタ19の第1領域(内部抵抗が相対的に小さい部位、急速充放電が可能な部位)の静電容量CLの端子間電圧VCLを用いる。
静電容量CLの端子間電圧VCLは、キャパシタ19の端子間電圧Vmから、内部抵抗RLによる電圧降下VRLを減じることによって算出することができる。内部抵抗RLは(数1)を用いて求められる。電圧Vmは電圧計106で測定される。電流計107で測定された電流値Iを基に、内部抵抗RLによる電圧降下VRL(=IRL)が計算される。電圧VCLの算出は、制御装置30によって行われる。
バッテリ電圧Vmを用いて、キャパシタ19の第1領域の充電状態(充電率SOC)を求めることができる。実施例においては、キャパシタ19の充電率SOCを、CLVCL 2/CLV0 2で定義する。ここでV0はキャパシタ19の定格電圧(急速充電及び緩和充電によって充電される最大電圧)を示す。また、CLは算出された最新のキャパシタ19の第1領域の静電容量である。すなわち実施例においては、第1領域の静電容量CL及びその端子間電圧VCLを用いて、キャパシタ19の残存エネルギ(CLVCL 2/2)を表す。また、RLも算出された最新のキャパシタ19の第1領域の内部抵抗である。
以上の4つの変数に基づいて、以下の出力を制御し、最適な運転条件を達成する。
(1)油圧負荷実出力Phydout
油圧負荷要求出力Phydreqに対して、実際に油圧負荷54に供給する動力である。油圧負荷要求出力Phydreqに対して常に要求された動力を供給すると、同時に駆動されている電気負荷56の要求を満たせなくなったり、バッテリ58の充電率SOCを適当な範囲内に維持できなくなってしまう。このため、実際に油圧負荷54に供給する動力をある程度制限しなくてはならない場合がある。
(2)電気負荷実出力Pelcout
電気負荷要求出力Pelcreqに対して、実際に電気負荷56に供給する電力である。電気負荷要求出力Pe1creqに対して常に要求された電力を供給すると、同時に駆動されている油圧負荷54の要求を満たせなくなったり、バッテリ58の充電率SOCを適当な範囲内に維持できなくなってしまう。このため、実際に電気負荷56に供給する電力をある程度制限しなくてはならない場合がある。
(3)アシストモータ出力指令Pasmref
アシストモータ52の出力を指示する値である。アシストモータ出力指令Pasmrefにより、アシストモータ52が電動機として機能してエンジン11をアシストし、油圧負荷54に動力を供給するか、あるいはアシストモータ52が発電機として機能して電気負荷56に電力を供給するか、バッテリ58を充電するか、が指示される。
実施例による制御方法においては、制御装置30に含まれるCPU30Aが、エンジン実回転数Nact、油圧負荷要求出力Phydreq、電気負荷要求出力Pelcreq、及びバッテリ電圧Vmに基づいて、油圧負荷実出力Phydout、電気負荷実出力Pelcout、及びアシストモータ出力指令Pasmrefを制御する。
図11は、制御装置30に含まれるCPU30Aの機能ブロック図である。本図には、実施例による制御方法に係る部分のみ示した。
CPU30Aは、出力条件算出部60−9と動力分配部60−8とを備えている。出力条件算出部60−9は、ブロック60−1〜60−7で構成され、エンジン11とバッテリ58の出力条件である上下限値を算出する。
まず、CPU30Aの出力条件算出部60−9に入力されたエンジン実回転数Nactは、ブロック60−1に入力される。ブロック60−1は、入力されたエンジン実回転数Nactにおける出力の上限値Pengmaxと下限値Pengminとを決定し、動力分配部であるブロック60−8に入力する。ブロック60−1は図11に示すように、エンジン11の回転数と出力との関係において、上限値と下限値とを示すマップあるいは変換テーブルを参照しながら、入力されたエンジン実回転数Nactにおける出力の上限値Pengmaxと下限値Pengminとを決定する。マップあるいは変換テーブルは予め作成されて制御装置30の内部メモリ30Bに格納されている。なお、マップあるいは変換テーブルを用いることなく、上限値と下限値を表す式にエンジン実回転数Nactを代入して、上限値Pengmaxと下限値Pengminとを求めてもよい。
CPU30Aに入力された油圧負荷要求出力Phydreq及び電気負荷要求出力Pelcreqは、動力分配部であるブロック60−8に入力される。
CPU30Aの出力条件算出部60−9に入力されたバッテリ電圧Vmは、ブロック60−2に入力される。ブロック60−2では、入力されたバッテリ電圧Vm、CL、V0、RL及びIから、バッテリ58の現在の充電率SOCactを求める。求められた現在の充電率SOCactは、ブロック60−3、60−4及び60−7に出力される。
ブロック60−3は、入力された現在の充電率SOCactと、所定の最大充放電電流(一定の電流)とから、現在放電できる放電出力の最大値(バッテリ出力上限値Pbatmax11)及び現在充電できる入力電力の最大値(バッテリ出力下限値Pbatmin11)を求める。制御装置30の内部メモリ30Bには、本図ブロック60−3に示すような、充電率SOCに対してその充電率において一定の電流のもとで充放電可能な最大入力電力及び最大放電出力を表すマップ又は変換テーブルが格納されている。ブロック60−3は、このマップ又は変換テーブルを参照して現在の充電率SOCactにおいて一定の電流のもとで、許容される最大放電出力(バッテリ出力上限値Pbatmax11)及び最大入力電力(バッテリ出力下限値Pbatmin11)を求める。求められた最大放電出力(バッテリ出力上限値Pbatmax11)はブロック60−5に出力され、求められた最大入力電力(バッテリ出力下限値Pbatmin11)はブロック60−6に出力される。
ブロック60−4は、入力された現在の充電率SOCactと所定のSOC下限値及び SOC上限値とから、現在放電できる放電出力の最大値(バッテリ出力上限値Pbatmax12)及び現在充電できる入力電力の最大値(バッテリ出力下限値Pbatmin12)を求める。制御装置30の内部メモリ30Bには、本図ブロック60−4に示すような、充電率SOCに対して、SOC下限値以下にならず、SOC上限値以上とならないための最大放電出力及び最大入力電力を表すマップ又は変換テーブルが格納されている。ブロック60−4は、このマップ又は変換テーブルを参照して現在の充電率SOCactにおいて許容される最大放電出力(バッテリ出力上限値Pbatmax12)及び最大入力電圧(バッテリ出力下限値Pbatmin12)を求める。求められた最大放電出力(バッテリ出力上限値Pbatmax12)はブロック60−5に出力され、求められた最大入力電力(バッテリ出力下限値Pbatmin12)はブロック60−6に出力される。
ブロック60−5は、ブロック60−3から供給されたバッテリ出力上限値Pbatmax11と、ブロック60−4から供給されたバッテリ出力上限値Pbatmax12のうち、大きくない方をバッテリ現在出力上限値Pbatmax1として、動力分配部であるブロック60−8に出力する。
一方、ブロック60−6は、ブロック60−3から供給されたバッテリ出力下限値Pbatmin11と、ブロック60−4から供給されたバッテリ出力下限値Pbatmin12のうち、小さくない方をバッテリ現在出力下限値Pbatmin1として、動力分配部であるブロック60−8に出力する。ここで、バッテリ出力値がマイナスの場合が充電を表すため、バッテリ出力下限値の小さくない方ということは、マイナスの値が大きくない方、すなわち、ゼロに近い方の値を意味する。これによりバッテリ58を、出力能力を超えた過度な充放電から確実に保護することができる。
ブロック60−7は、入力された現在の充電率SOCactと所定のSOC目標値から、充電率SOCを目標値に近づけるためのバッテリ出力目標値Pbattgtを求める。制御装置30の内部メモリ30Bには、本図ブロック60−7に示すような、充電率に対して、その充電率においてSOC目標値に近づくバッテリ出力目標値Pbattgtを表すマップ又は変換テーブルが格納されている。ブロック60−7は、このマップあるいは変換テーブルを参照することで、充電率SOCを最適な目標値にするために、どのくらい充電をすべきかを示す入力電力、又はどのくらい放電をするべきかを示す放電出力を求めることができる。
ブロック60−7が参照するマップにおける縦軸の出力は充電も放電もしていないときをゼロとし、充電側がマイナスであり、放電側がプラスである。図11に示す例では、現在の充電率SOCactがSOCの目標値より小さい状態であり、バッテリ58を充電すべきであり、入力電力の目標値、すなわちバッテリ出力目標値Pbattgtが示されている。バッテリ出力目標値Pbattgtがプラスの値の場合は目標放電出力を表し、マイナスの値の場合は目標入力電力を表す。ブロック60−7で求められたバッテリ出力目標値Pbattgtは、動力分配部であるブロック60−8に出力される。
ここで本願発明では、ブロック60−3、60−4及び60−7にて用いる現在の充電率SOCactを、キャパシタの時定数が小さい第1領域の静電容量「CL」と内部抵抗値「RL」を基に算出される充電率とすることができる。このため、制御に用いるキャパシタの領域の最新状態を反映させて制御することができるので、精度よく電動発電機の出力指令Pasmrefを算出することができる。これにより、キャパシタの出力不足、もしくは電動発電機のエンジンアシスト不足によるエンストを防止することができ、安定した運転を実現することができる。
以上のように、動力分配部であるブロック60−8には、エンジン出力限界値としてのエンジン出力上限値Pengmax、エンジン出力下限値Pengmin、バッテリ現在出力上限値Pbatmax1、バッテリ出力限界値としてのバッテリ現在出力下限値Pbatmin1、及びバッテリ出力目標値Pbattgtが入力される。ブロック60−8は、これら入力された値に基づいて、油圧負荷実出力Phydout、電気負荷実出力Pelcout、及びアシストモータ出力指令Pasmrefを決定し、制御装置30の各部に出力する。
そこで、制御装置30は、油圧負荷実出力Phydoutに基づいて油圧負荷54に供給する油圧を制御し、電気負荷実出力Pelcoutに基づいて電気負荷56に供給する電力を制御し、アシストモータ出力指令Pasmrefに基づいてアシストモータ52によるエンジン11のアシスト量又はアシストモータ52による発電量を制御する。
ここで、CPU30Aにおいて、油圧負荷実出力Phydout、電気負荷実出力Pelcout、及びアシストモータ出力指令Pasmrefを決定する処理について説明する。
図12はCPU30Aにおいて行われる処理のフローチャートである。
ステップS1において、エンジン11の現在の回転数を示すエンジン実回転数Nactから、マップ又は変換テーブルを用いて、現在のエンジン11のエンジン出力上限値Pengmax及びエンジン出力下限値Pengminが決定される。この処理はブロック60−1により行われる。この際、エンジン出力上限値Pengmax及びエンジン出力下限値Pengminを、マップ又は変換テーブルにおいて、エンジン11の燃費効率の良い範囲に設定しておけば、エンジン11の省エネ効果を得ることができる。
次に、ステップS2において、現在のバッテリ電圧Vmから、バッテリ現在出力上限値Pbatmax1及びバッテリ現在出力下限値Pbatmin1が決定される。この処理は、ブロック60−2〜60−6により行われる。
まず、ブロック60−2は、現在のバッテリ電圧Vmから演算により現在の充電率SOCactを求める。次に、ブロック60−3は、マップあるいは変換テーブルを用いて現在の充電率SOCactから、充電電流及び放電電流を最大値として一定とした際のバッテリ出力上限値Pbatmax11及びバッテリ出力下限値Pbatmin11を決定する。同時に、ブロック60−4は、マップあるいは変換テーブルを用いて現在の充電率SOCactから、SOC下限値以下にならず、SOC上限値以上とならないバッテリ出力上限値Pbatmax12及びバッテリ出力下限値Pbatmin12を決定する。続いて、ブロック60−5は、バッテリ出力上限値Pbatmax11とバッテリ出力上限値Pbatmax12のうち、値の大きくない方をバッテリ現在出力上限値Pbatmax1として決定する。また、ブロック60−6は、バッテリ出力下限値Pbatmin11とバッテリ出力下限値Pbatmin12のうち、小さくない方をバッテリ現在出力下限値Pbatmin1として決定する。
以上のように、ステップS2で、バッテリ現在出力上限値Pbatmax1及びバッテリ現在出力下限値Pbatmin1が決定されたら、続いて、ステップS3において、現在の充電率SOCactからバッテリ出力目標値Pbattgtが決定される。この処理はブロック60−7により行われる。
次に、ステップS4において、電気負荷実出力Pelcoutが、エンジン11及びバッテリ58の要求出力の限界値に基づいて決定される。ステップS4における処理は動力分配部であるブロック60−8で行われる。この処理については後述する。
続いて、ステップS5において、油圧負荷実出力Phydoutが、エンジン11及びバッテリ58の要求出力の限界値に基づいて決定される。ステップS5における処理は動力分配部であるブロック60−8で行われる。この処理については後述する。
次に、ステップS6において、バッテリ出力Pbatoutが、エンジン11、電気負荷56、及びバッテリ58の算出された出力に基づいて決定される。バッテリ出力Pbatoutは、バッテリ58への充放電出力である。ステップS6における処理は動力分配部であるブロック60−8で行われる。この処理については後述する。
続いて、ステップS7において、アシストモータ出力指令Pasmrefが、電気負荷実出力Pelcoutとバッテリ出力Pbatoutとの比較に基づいて決定される。ステップS7における処理は動力分配部であるブロック60−8で行われる。この処理については後述する。
ステップS7の処理が終了したら、CPU30Aでの処理は終了する。以上のCPU30Aでの処理により、油圧負荷実出力Phydout、電気負荷実出力Pelcout、及びアシストモータ出力指令Pasmrefが決定される。
ここで、上述のステップS4における処理について詳細に説明する。図13はステップS4における処理のフローチャートである。
まず、ステップS4−1において、電気負荷出力限界値として電気負荷出力上限値Pelcmax、電気負荷出力下限値Pelcminを算出する。電気負荷出力上限値Pelcmaxは、電気負荷56に供給可能な最大電力である。ここで油圧負荷54は電気負荷56に対する駆動力源としては機能しないため、油圧負荷出力要求Phydreqは考慮されず0となるので、電気負荷出力上限値Pelcmaxは、エンジン出力上限値Pengmaxとバッテリ現在出力上限値Pbatmax1との和である。すなわち、電気負荷56に供給可能な最大の電力は、エンジン11の最大出力で得られるアシストモータ52による発電電力とバッテリの最大放電出力との和である。また、電気負荷出力下限値Pelcminは、電気負荷56で回生された電力を消費できるか、あるいはバッテリ58に蓄積可能な電力である。電気負荷出力下限値Pelcminは、エンジン出力下限値Pengminから油圧負荷出力要求Phydreqを減算し、且つバッテリ現在出力下限値Pbatmin1を加算して求められる。
再度、図13を参照する。次に、ステップS4−2において、電気負荷要求出力と電気負荷出力限界値とを比較する。つまり、ステップS4−1にて算出された電気負荷出力上限値Pelcmax、電気負荷出力下限値Pelcminを比較し、電気負荷要求出力Pelcreqが電気負荷出力上限値Pelcmax以下であるか否か、及び電気負荷出力下限値Pelcmin以上であるか否かを判定する。
その後、ステップS4−3、もしくはステップS4−4へ進み、電気負荷実出力Pelcoutを決定する。
電気負荷要求出力Pelcreqが電気負荷出力限界値以内であれば、ステップS4−3へ進む。この場合、ステップS4−3において、電気負荷実出力Pelcoutを電気負荷要求出力Pelcreqに等しくして、ステップS4−5にて後処理を終了する。
一方、ステップS4−2において電気負荷要求出力Pelcreqが電気負荷出力限界値以内ではない場合には、ステップS4−4へ進む。この場合、ステップS4−4において、電気負荷実出力Pelcoutが、電気負荷出力上限値Pelcmax以内でない場合には、電気負荷出力上限値Pelcmaxを電気負荷要求出力Pelcreqに等しくし、電気負荷実出力Pelcoutが電気負荷出力下限値Pelcmin以上でない場合には、電気負荷出力下限値Pelcminを電気負荷要求出力Pelcreqに等しくし、ステップS4−5にて処理を終了する。
次に、上述のステップS5の処理について詳細に説明する。図14は、ステップS5の処理のフローチャートである。
まず、ステップS5−1において、油圧負荷出力限界値として油圧負荷出力上限値Phydmaxを算出する。油圧負荷出力上限値Phydmaxは、油圧負荷54に供給可能な最大動力である。油圧負荷出力上限値Phydmaxは、エンジン出力上限値Pengmaxにバッテリ出力上限値Pbatmaxを加算し、且つ電気負荷実出力Pelcoutを減算して算出される。ここで、電気負荷実出力Pelcoutには極性があり、プラスとマイナスの値をとる。電気負荷実出力Pelcoutがプラスの値のときは電気負荷56に電力を供給することを意味し、油圧負荷54に供給可能な動力は電気負荷56に供給する電力を減算したものとなる。一方、電気負荷実出力Pelcoutがマイナスの値のときは電気負荷56から回生電力が供給されることを意味し、油圧負荷54に供給可能な動力は電気負荷56からの回生電力を加算したものとなる。電気負荷実出力Pelcoutのマイナスの値が減算されるため、自動的にマイナスとマイナスでプラスとなり、回生電力は加算されることとなる。
次に、ステップS5−2において、油圧負荷要求出力と油圧負荷出力限界値とを比較する。つまり、ステップS5−1にて算出された油圧負荷出力上限値Phydmaxに対して、油圧負荷要求出力Phydreqが油圧負荷出力上限値Phydmax以下であるか否かを判定する。
その後、ステップS5−3、もしくはステップS5−4にへ進み、油圧負荷実出力Phydoutを決定する。
油圧負荷要求出力Phydreqが油圧負荷出力限界値以内であれば、ステップS5−3へ進む。この場合、ステップS5−3において、油圧負荷実出力Phydoutを油圧負荷要求出力Phydreqに等しくして、ステップS5−5にて後処理を終了する。
一方、ステップS5−2において、油圧負荷要求出力Phydreqが油圧負荷出力限界値以内ではない場合には、ステップS5−4に進む。この場合、ステップS5−4において、油圧負荷実出力Phydoutが油圧負荷出力上限値Phydmax以内でない場合には、油圧負荷出力上限値Phydmaxを油圧負荷要求出力Phydreqに等しくし、ステップS5−5にて処理を終了する。
次に、上述のステップS6の処理について詳細に説明する。図15はステップS6の処理のフローチャートである。
まず、ステップS6−1において、バッテリ制御出力限界値としてバッテリ制御出力上限値Pbatmax2、バッテリ制御出力下限値Pbatmin2を算出する。バッテリ制御出力上限値Pbatmax2は、電気負荷実出力Pelcoutと油圧負荷実出力Phydoutとの和からエンジン出力下限値Pengminを減算して算出される。バッテリ制御出力上限値Pbatmax2は、電気負荷56で消費できる電力と、アシストモータ52で油圧系をアシストして消費することのできる電力との和になる。バッテリ制御出力下限値Pbatmin2は、電気負荷実出力Pelcoutと油圧負荷実出力Phydoutとの和からエンジン出力上限値Pengmaxを減算して算出される。
次に、ステップS6−2において、バッテリ制御出力限界値とバッテリ現在出力限界値(バッテリ制御出力上限値、バッテリ制御出力下限値)とを比較する。具体的には、ステップS2で算出したバッテリ現在出力上限値Pbatmax1とバッテリ制御出力上限値Pbatmax2とを比較し、バッテリ制御出力上限値Pbatmax2がバッテリ現在出力上限値Pbatmax1以上であるか否かを判定する。また、バッテリ現在出力下限値Pbatmin1とバッテリ制御出力下限値Pbatmin2とを比較し、バッテリ制御出力下限値Pbatmin2がバッテリ現在出力下限値Pbatmin1以下であるか否かを判定する。
その後、ステップS6−3、もしくはステップS6−4へ進み、上限と下限のそれぞれについてバッテリ出力限界値を決定する。
バッテリ制御出力上限値Pbatmax2について、バッテリ現在出力上限値Pbatmax1以上であれば、ステップS6−3に進む。この場合、ステップS6−3において、バッテリ出力上限値Pbatmaxをバッテリ現在出力上限値Pbatmax1に等しくする。一方、バッテリ制御出力上限値Pbatmax2について、バッテリ現在出力上限値Pbatmax1以上でない場合には、ステップS6−4へ進む。この場合、ステップS6−4において、バッテリ出力上限値Pbatmaxをバッテリ制御出力上限値Pbatmax2に等しくする。
同様に、バッテリ制御出力下限値Pbatmin2についても判定を行う。バッテリ制御出力下限値Pbatmin2が、バッテリ現在出力下限値Pbatmin1以下であれば、ステップS6−3に進み、バッテリ出力下限値Pbatminが求められる。逆に、バッテリ制御出力下限値Pbatmin2について、バッテリ現在出力下限値Pbatmin1以下でない場合には、ステップS6−4へ進み、バッテリ出力下限値Pbatminが求められる。
そしてステップS6−5では、ブロック60−7により求められたバッテリ目標出力Pbattgtが、バッテリ出力限界値以内かを判定する。バッテリ目標出力Pbattgtがバッテリ出力限界値以内であれば、ステップS6−6へ進む。この場合、ステップS6−6において、バッテリ出力Pbatoutをバッテリ目標出力Pbattgtに等しくして、ステップS6−8にて後処理を終了する。
一方、バッテリ目標出力Pbattgtが、バッテリ出力限界値以内でない場合には、ステップS6−7へ進む。この場合、ステップS6−7において、バッテリ目標出力Pbattgtがバッテリ出力上限値Pbatmax以下でない場合には、バッテリ出力Pbatoutをバッテリ出力上限値Pbatmaxに等しいとし、バッテリ目標出力Pbattgtがバッテリ出力下限値Pbatmin以上でない場合には、バッテリ出力Pbatoutをバッテリ出力下限値Pbatminに等しいとして、ステップS6−8にて処理を終了する。
このように、バッテリ出力Pbatoutは、ブロック60−3、60−4、60−7において、現在の充電率SOCactに対応して求められたバッテリ現在出力限界値やバッテリ目標出力と比較して算出される。ここで本願発明では、現在の充電率SOCactを、キャパシタの時定数が小さい第1領域の静電容量「CL」と内部抵抗値「RL」を基に算出している。このため、制御に用いるキャパシタの領域の最新状態を反映させて制御することができるので、精度よくバッテリ出力Pbatoutを求めることができる。
次に、上述のステップS7の処理について詳細に説明する。図16はステップS7の処理のフローチャートである。
処理が開始されると、ステップS7−1において、アシストモータ52の運転を指示するアシストモータ出力指令Pasmrefを算出し、その後処理を終了する。アシストモータ出力指令Pasmrefは、バッテリ出力Pbatoutから電気負荷実出力Pelcoutを減算して算出される。図17はアシストモータ出力指令Pasmrefの算出モデルを示す図である。アシストモータ52の出力はバッテリ58から放電する電力から電気負荷56で消費される電力を引いて得られる電力に相当する。本願発明では、現在の充電率SOCactを、キャパシタの時定数が小さい第1領域の静電容量「CL」と内部抵抗値「RL」を基に算出している。このため、制御に用いるキャパシタの領域の最新状態を反映させて制御することができるので、精度よく電動発電機の出力指令Pasmrefを算出することができる。これにより、キャパシタの出力不足、もしくは電動発電機のエンジンアシスト不足によるエンストを防止することができ、安定した運転を実現することができる。
ここで、電気負荷56の出力は極性を有しており、電気負荷56が実際に電力を消費する場合は極性はプラスである。この場合、バッテリ58が放電する電力から電気負荷56で消費される電力である電気負荷実出力を減算した値がプラスであれば、電力がアシストモータ52に供給され、アシストモータ52は電動機として機能する。一方、バッテリ58が放電する電力から電気負荷56で消費される電力である電気負荷実出力を減算した値がマイナスであれば、エンジン11からの動力がアシストモータ52に供給され、アシストモータ52は発電機として機能する。これにより、アシストモータ52はマイナスになった分の電力を発電し、その電力が電気負荷56に供給される。
また、電気負荷56が回生電力を発生する場合は、電気負荷56の出力極性はマイナスである。この場合、マイナスの値を引くこととなるから、バッテリ58が放電する電力に電気負荷56で回生する電力が加算されることとなる。したがって、バッテリ58が放電する電力と電気負荷56で回生する電力との和がアシストモータ52に供給され、アシストモータ52は電動機として機能して、エンジン11をアシストすることとなる。すなわち、電気駆動部の出力設定値である電気負荷実出力Pelcoutと、蓄電器出力設定値であるバッテリ出力Pbatoutとの電気的な比較に基づいて、アシストモータ52の制御が行われる。
以上説明したように、本実施例が適用されるハイブリッド型作業機械の一例であるパワーショベルは、油圧発生機、電動発電機、蓄電器、電気駆動部、及び制御装置を有する。油圧発生機は油圧モータである油圧ポンプ53に相当し、エンジン11の出力を油圧のパワーに変換し、油圧駆動部に供給する。電動発電機12は、アシストモータ52に相当し、エンジン11に接続され、電動機及び発電機の両方として機能する。蓄電器はバッテリ58に相当し、電動発電機12に電力を供給して電動機として機能させる。電気駆動部は、蓄電器及び電動発電機からの電力により駆動され、且つ回生電力を発生して蓄電器及び電動発電機の少なくとも一方に供給する。制御装置30は電動発電機12の動作を制御する。以上のような構成のハイブリッド型作業機械において、制御装置30は電動発電機12の動作及び出力を制御するための動力分配部60−8を備える。動力分配部60−8は、蓄電器の充電率SOCに基づいて決定される蓄電器出力設定値(バッテリ現在出力上限値Pbatmax1及びバッテリ現在出力下限値Pbatmin1)と、エンジンの回転数に基づいて決定されるエンジン出力設定値(エンジン出力上限値Pengmax及びエンジン出力下限値Pengmin)と、油圧発生機が要求する動力(パワー)を示す油圧負荷要求値(油圧負荷要求出力Phydreq)と、電気駆動部が要求する電力を示す電気負荷要求値(電気負荷要求出力Pelcreq)とに基づいて電動発電機12の動作及び出力を制御するための出力指令(アシストモータ出力指令Pasmref)を生成して出力する。
動力分配部60−8は、電気駆動部に供給する電力を決定し、電気負荷実出力値(電気負荷実出力Pelcout)として出力する。また、動力分配部60−8は、油圧駆動部に供給する出力を決定し、油圧負荷実出力値(油圧負荷実出力Phydout)として出力する。さらに、動力分配部60−8は、蓄電器の蓄電率(SOC)に基づいて出力指令(アシストモータ出力指令Pasmref)を決定する。
本実施例によれば、蓄電器出力設定値、電気負荷要求値、エンジン出力設定値、及び油圧負荷要求値を考慮して、電動発電機の動作及び出力を制御することができるため、動力源であるエンジンと蓄電器とを適正な出力範囲で使用することができる。また、本実施例によれば、電気負荷からの回生電力を効率よく利用することができ、更に、蓄電器の充電率(SOC)を効率的に目標値近辺に維持することがきる。
実施例においては、蓄電器(キャパシタ19)の出力電圧として、キャパシタ19の第1領域(内部抵抗が相対的に小さい部位、急速充放電が可能な部位)の静電容量CLの端子間電圧VCLを用いた。また、蓄電器(キャパシタ19)の充電率(SOC)をCL及びVCLを使って算出した。第1領域の静電容量CL、及びCLの端子間電圧VCLを使って作業機械の制御を行うことにより、制御の正確性を高めることができる。
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。
たとえば図18の機能ブロック図のブロック60−1に示すように、SOC算出部で算出されたSOCactに基づいて、エンジン出力上限値Pengmax、及びエンジン出力下限値Pengminを求めてもよい。これは、図19に示すフローチャートにおいては、ステップS11−1に対応する。ステップS11−1においては、現在の充填状態(SOCact)に応じたエンジン出力の上限値及び下限値が決定される。そしてステップS11−2において、現在の充填状態(SOCact)に応じたバッテリ出力目標値が決定される。図18において、ステップS11−2に対応するのは、ブロック60−7に示される部分である。
その後、動力分配部ではステップS11−3において、エンジン出力上限値と油圧負荷要求との比較を行い、油圧負荷要求がエンジン出力上限値より大きい場合には、バッテリより放電することで電動発電機にてエンジンをアシストすべく、ステップS11−4へ進む。
ステップS11−4では、バッテリ目標出力、エンジン出力上下限値、油圧負荷要求、及び電気負荷要求とにより、バッテリ出力が決定される。そしてステップS11−6において、決定されたバッテリ出力が放電可能な範囲にあるか否かを判断する。放電可能範囲にない場合には、放電を行うとバッテリの充電量が過度に減少してしまうため、電気負荷の出力を制限する(ステップS11−9)。ここで電気負荷がない場合には、油圧負荷の出力が制限される。放電可能範囲である場合には、放電により電動発電機の電動制御がなされ、エンジンがアシストされる(ステップS11−10)。
一方、ステップS11−3において、エンジン出力上限値と油圧負荷要求との比較を行い、油圧負荷要求がエンジン出力上限値より大きくないと判断された場合には、バッテリへ充電するために電動発電機をエンジンの動力により発電運転すべく、ステップS11−5へ進む。
ステップS11−5では、バッテリ目標出力、エンジン出力上下限値、油圧負荷要求、及び電気負荷要求とにより、バッテリ出力が決定される。そしてステップS11−8において、決定されたバッテリ出力が充電可能な範囲にあるか否かを判断する。充電可能範囲にない場合には、充電を行うとバッテリの充電量が過度に増加してしまうため、油圧負荷の出力を制限する(ステップS11−12)。ここで電気負荷による回生動作がなされている場合には、電気負荷の出力も制限される。充電可能範囲である場合には、エンジンの動力により電動発電機の発電制御がなされ、充電がなされる(ステップS11−11)。
この場合、制御に用いるキャパシタの領域の最新状態を反映させて、エンジンの出力上限値及びバッテリ目標出力値を求めることができるので、電動発電機を精度よく制御することができる。これによりキャパシタの出力不足、もしくは電動発電機のエンジンアシスト不足によるエンストを防止することができる。
また、たとえば実施例においては、エンジン11にメインポンプ14と電動発電機12とが平行に接続されたパラレル方式のハイブリッド型作業機械を示したが、エンジン11の動力を発電動作によりすべて電気エネルギへ変換する電動発電機12のみを接続するシリーズ方式のハイブリッド型作業機械へも適用することができる。この場合、電動発電機12は、発電機としてのみ機能する。
ここで、本実施の形態においては、現在の充電率SOCactを、キャパシタの時定数が小さい第1領域の静電容量「CL」と内部抵抗値「RL」の両方を用いて算出しているが、いずれか一方のみを用いることでも、精度よく電動発電機の出力指令Pasmrefを算出することができる。これにより、キャパシタの出力不足、もしくは電動発電機のエンジンアシスト不足によるエンストを防止することができ、安定した運転を実現することができる。
その他、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。