以下、図面を参照してこの発明の実施の形態であるエンジンの制御装置について説明する。なお、この実施の形態では、油圧ショベルなどの建設機械に搭載されるディーゼルエンジンおよび油圧ポンプを制御する場合について説明する。
図1は、この発明の実施の形態である建設機械1の全体構成を示す図である。この建設機械1は、油圧ショベルである。
建設機械1は、上部旋回体と下部走行体とを備え、下部走行体は左右の履帯からなる。車体にはブーム、アーム、バケットからなる作業機が取り付けられている。ブームシリンダ31が駆動することによりブームが作動し、アームシリンダ32が駆動することによりアームが作動し、バケットシリンダ33が駆動することによりバケットが作動する。また走行モータ36および走行モータ35がそれぞれ駆動することにより左履帯および右履帯がそれぞれ回転する。また、旋回モータ34が駆動することによりスイングマシナリが駆動し、スイングピニオン、スイングサークル等を介して上部旋回体が旋回する。
エンジン2は、ディーゼルエンジンであり、その出力(馬力;kw)の制御は、シリンダ内へ噴射する燃料量を調整することで行われる。この調整はエンジン2の燃料噴射ポンプに付設したガバナを制御することで行われ、エンジンコントローラ4は、このガバナの制御を含めたエンジンの制御を行う。
コントローラ6は、エンジンコントローラ4に対して、エンジン回転数を目標回転数ncomにするための回転指令値を出力し、エンジンコントローラ4は、目標トルク線L1で目標回転数n_comが得られるように燃料噴射量を増減する。また、エンジンコントローラ4は、エンジン2のエンジン回転数および燃料噴射量から推定されるエンジントルクを含むエンジンデータeng_dataをコントローラ6に出力する。
エンジン2の出力軸は、PTO軸10を介して発電電動機11の駆動軸に連結される。発電電動機11は発電作用と電動作用を行う。つまり、発電電動機11は電動機(モータ)として作動し、また発電機としても作動する。また発電電動機11はエンジン2を始動させるスタータとしても機能する。スタータスイッチがオンされると、発電電動機11が電動作用し、エンジン2の出力軸を低回転(たとえば400〜500rpm)で回転させ、エンジン2を始動させる。
発電電動機11は、インバータ13によってトルク制御される。インバータ13は後述するように、コントローラ6から出力される発電電動機指令値GEN_comに応じて発電電動機11をトルク制御する。
インバータ13は直流電源線を介して蓄電器12に電気的に接続されている。なおコントローラ6は蓄電器12を電源として動作する。
蓄電器12は、キャパシタや蓄電池などによって構成され、発電電動機11が発電作用した場合に発電した電力を蓄積する(充電する)。また蓄電器12は同蓄電器12に蓄積された電力をインバータ13に供給する。なお本明細書では静電気として電力を蓄積するキャパシタや鉛電池、ニッケル水素電池、リチウムイオン電池等の蓄電池も含めて「蓄電器」と称するものとする。
エンジン2の出力軸には、PTO軸10を介して油圧ポンプ3の駆動軸が連結されており、エンジン出力軸が回転することにより油圧ポンプ3が駆動する。油圧ポンプ3は可変容量型の油圧ポンプであり、斜板の傾転角が変化することで容量q(cc/rev)が変化する。
油圧ポンプ3から吐出圧PRp、流量Q(cc/min)で吐出された圧油は、ブーム用の操作バルブ21、アーム用の操作バルブ22、バケット用の操作バルブ23、旋回用の操作バルブ24、右走行用の操作バルブ25、左走行用の操作バルブ26にそれぞれ供給される。ポンプ吐出圧PRpは、油圧センサ7で検出され、油圧検出信号がコントローラ6に入力される。
操作バルブ21〜26から出力された圧油はそれぞれ、ブームシリンダ31、アームシリンダ32、バケットシリンダ33、旋回モータ34、右走行用の走行モータ35、左走行用の走行モータ36に供給される。これにより、ブームシリンダ31、アームシリンダ32、バケットシリンダ33、旋回モータ34、走行モータ35、走行モータ36がそれぞれ駆動され、ブーム、アーム、バケット、上部旋回体、下部走行体の右履帯、左履帯が作動する。
建設機械1の運転席の前方の右側、左側にはそれぞれ、作業・旋回用右の操作レバー41、作業・旋回用左の操作レバー42が設けられているとともに、走行用右の操作レバー43、走行用左の操作レバー44が設けられている。
作業・旋回用右の操作レバー41は、ブーム、バケットを作動させるための操作レバーであり、操作方向に応じてブーム、バケットを作動させるとともに、操作量に応じた速度でブーム、バケットを作動させる。
操作レバー41には、操作方向、操作量を検出するセンサ45が設けられている。センサ45は、操作レバー41の操作方向、操作量を示すレバー信号をコントローラ6に入力する。操作レバー41がブームを作動させる方向に操作された場合には、操作レバー41の中立位置に対する傾動方向、傾動量に応じて、ブーム上げ操作量、ブーム下げ操作量を示すブームレバー信号Lb0がコントローラ6に入力される。また、操作レバー41がバケットを作動させる方向に操作された場合には、操作レバー41の中立位置に対する傾動方向、傾動量に応じて、バケット掘削操作量、バケットダンプ操作量を示すバケットレバー信号Lbkがコントローラ6に入力される。
操作レバー41がブームを作動させる方向に操作された場合には、操作レバー41の傾動量に応じたパイロット圧(PPC圧)PRboが、ブーム用の操作バルブ21の各パイロットポートのうちレバー傾動方向(ブーム上げ方向、ブーム下げ方向)に対応するパイロットポート21aに加えられる。
同様に、操作レバー41がバケットを作動させる方向に操作された場合には、操作レバー41の傾動量に応じたパイロット圧(PPC圧)PRbkが、バケット用の操作バルブ23の各パイロットポートのうちレバー傾動方向(バケット掘削方向、バケットダンプ方向)に対応するパイロットポート23aに加えられる。
作業・旋回用左の操作レバー42は、アーム、上部旋回体を作動させるための操作レバーであり、操作方向に応じてアーム、上部旋回体を作動させるとともに、操作量に応じた速度でアーム、上部旋回体を作動させる。
操作レバー42には、操作方向、操作量を検出するセンサ46が設けられている。センサ46は、操作レバー42の操作方向、操作量を示すレバー信号をコントローラ6に入力する。操作レバー42がアームを作動させる方向に操作された場合には、操作レバー42の中立位置に対する傾動方向、傾動量に応じて、アーム掘削操作量、アームダンプ操作量を示すアームレバー信号Larがコントローラ6に入力される。また操作レバー42が上部旋回体を作動させる方向に操作された場合には、操作レバー42の中立位置に対する傾動方向、傾動量に応じて、右旋回操作量、左旋回操作量を示す旋回レバー信号Lswがコントローラ6に入力される。
操作レバー42がアームを作動させる方向に操作された場合には、操作レバー42の傾動量に応じたパイロット圧(PPC圧)PRarが、アーム用の操作バルブ22の各パイロットポートのうちレバー傾動方向(アーム掘削方向、アームダンプ方向)に対応するパイロットポート22aに加えられる。
同様に、操作レバー42が上部旋回体を作動させる方向に操作された場合には、操作レバー42の傾動量に応じたパイロット圧(PPC圧)PRswが、旋回用の操作バルブ24の各パイロットポートのうちレバー傾動方向(右旋回方向、左旋回方向)に対応するパイロットポート24aに加えられる。
走行用右の操作レバー43、走行用左の操作レバー44はそれぞれ右履帯、左履帯を作動させるための操作レバーであり、操作方向に応じて履帯を作動させるとともに、操作量に応じた速度で履帯を作動させる。
操作レバー43の傾動量に応じたパイロット圧(PPC圧)PRtrが、右走行用の操作バルブ25のパイロットポート25aに加えられる。
パイロット圧PRtrは、油圧センサ9で検出され、右走行量を示す右走行パイロット圧PRcrがコントローラ6に入力される。同様に、操作レバー44の傾動量に応じたパイロット圧(PPC圧)PRtlが、左走行用操作弁26のパイロットポート26aに加えられる。パイロット圧PRtlは、油圧センサ8で検出され、左走行量を示す左走行パイロット圧PRclがコントローラ6に入力される。
各操作バルブ21〜26は流量方向制御弁であり、対応する操作レバー41〜44の操作方向に応じた方向にスプールを移動させるとともに、操作レバー41〜44の操作量に応じた開口面積だけ油路が開口するようにスプールを移動させる。
ポンプ制御バルブ5は、コントローラ6から出力される制御電流pc-epcによって動作し、サーボピストンを介してポンプ制御バルブ5を変化させる。
ポンプ制御バルブ5は、油圧ポンプ3の吐出圧PRp(kg/cm2)と油圧ポンプ3の容量q(cc/rev)の積が制御電流pc-epcに対応するポンプ吸収トルクTpcomを超えないように、油圧ポンプ3の斜板の傾転角を制御する。この制御は、PC制御と呼ばれている。
発電電動機11には発電電動機11の現在の実回転数GEN_spd(rpm)、つまりエンジン2の実回転数を検出する回転センサ14が付設されている。回転センサ14で検出される実回転数GEN_spdを示す信号はコントローラ6に入力される。
また、畜電器12には、畜電器12の電圧BATT_voltを検出する電圧センサ15が設けられている。電圧センサ15で検出される電圧BATT_voltを示す信号はコントローラ6に入力される。
また、コントローラ6は、インバータ13に発電電動機指令値GEN_comを出力し、発電電動機11を発電作用または電動作用させる。コントローラ6からインバータ13に対して、発電電動機11を発電機として作動させるための指令値GEN_comが出力されると、エンジン2で発生した出力トルクの一部は、エンジン出力軸を介して発電電動機11の駆動軸に伝達されてエンジン2のトルクを吸収して発電が行われる。そして、発電電動機11で発生した交流電力はインバータ13で直流電力に変換されて直流電源線を介して蓄電器12に電力が蓄積される(充電される)。
またコントローラ6からインバータ13に対して、発電電動機11を電動機として作動させるための指令値GEN_comが出力されると、インバータ13は発電電動機11が電動機として作動するように制御する。すなわち蓄電器12から電力が出力され(放電され)蓄電器12に蓄積された直流電力がインバータ13で交流電力に変換されて発電電動機11に供給され、発電電動機11の駆動軸を回転作動させる。これにより発電電動機11でトルクが発生し、このトルクは、発電電動機11の駆動軸を介してエンジン出力軸に伝達されて、エンジン2の出力トルクに加算される(エンジン2の出力がアシストされる)。この加算した出力トルクは、油圧ポンプ3で吸収される。
発電電動機11の発電量(吸収トルク量)、電動量(アシスト量;発生トルク量)は、上記発電電動機指令値GEN_comの内容に応じて変化する。
コントローラ6は、ガバナを含むエンジンコントローラ4に対して、回転指令値を出力して、現在の油圧ポンプ3の負荷に応じた目標回転数が得られるように燃料噴射量を増減して、エンジン2の回転数nとトルクTを調整する。
つぎに、コントローラ6による制御処理について説明する。図2は、コントローラ6による制御フローを示す図である。図3は、図2に示した目標流量演算部の処理フローを示す図である。また、図4は、図2に示したエンジン目標回転数加算値演算部の処理を示すフローチャートである。さらに、図6は、図2に示したポンプ出力制限演算部の処理フローを示す図である。
まず、図2および図3に示すように、目標流量演算部50では、ブームレバー信号Lbo、アームレバー信号Lar、バケットレバー信号Lbk、旋回レバー信号Lsw、右走行パイロット圧PRcr、左走行パイロット圧PRclが入力され、これらの値に基づいて、対応するブームシリンダ31の目標流量Qbo、アームシリンダ32の目標流量Qar、バケットシリンダ33の目標流量Qbk、旋回モータ34の目標流量Qsw、右走行用の走行モータ35の目標流量Qcr、左走行用の走行モータ36毎の目標流量Qclが演算される。
コントローラ6内の記憶装置には、各油圧アクチュエータ毎に、操作量と目標流量との関数関係51a、52a、53a、54a、55a、56aがデータテーブル形式で記憶されている。
ブーム目標流量演算部51は、現在のブーム上げ方向の操作量若しくはブーム下げ方向の操作量Lboに対応するブーム目標流量Qboを関数関係51aに従って演算する。
アーム目標流量演算部52は、現在のアーム掘削方向の操作量若しくはアームダンプ方向の操作量Larに対応するアーム目標流量Qaをが関数関係52aに従って演算する。
バケット目標流量演算部53は、現在のバケット掘削方向の操作量若しくはバケットダンプ方向の操作量Lbkに対応するバケット目標流量Qbkを関数関係53aに従って演算する。
旋回目標流量演算部54は、現在の右旋回方向の操作量若しくは左旋回方向の操作量Lswに対応する旋回目標流量Qswを関数関係54aに従って演算する。
右走行目標流量演算部55は、現在の右走行パイロット圧PRcrに対応する右走行目標流量Qcrを関数関係55aに従って演算する。
左走行目標流量演算部56は、現在の左走行パイロット圧PRclに対応する左走行目標流量Qclを関数関係56aに従って演算する。
なお、演算処理上、ブーム上げ操作量、アーム掘削操作量、バケット掘削操作量、右旋回操作量は、プラス符号の操作量として扱い、ブーム下げ操作量、アームダンプ操作量、バケットダンプ操作量、左旋回操作量は、マイナス符合の操作量として扱うものとする。
ポンプ目標吐出流量演算部60は、油圧アクチュエータ目標流量演算部50で演算された各油圧アクチュエータ目標流量Qbo、Qar、Qbk、Qsw、Qcr、Qclの総和を、ポンプ目標吐出流量Qsumとして、下記のようにして求める処理を実行する。
Qsum=Qbo+Qar+Qbk+Qsw+Qcr+Qcl …(2)
ここで、各油圧アクチュエータの目標流量の総和をポンプ目標吐出流量としているが、各油圧アクチュエータ目標流量Qbo、Qar、Qbk、Qsw、Qcr、Qclのうちで最大の目標流量を、油圧ポンプ3の目標吐出流量としてもよい。
第1のエンジン目標回転数演算部61は、目標流量演算部50によって演算出力されたポンプ目標吐出流量Qsumに対応する第1のエンジン目標回転数ncom1を演算する。ここで、コントローラ6の記憶装置には、ポンプ目標吐出流量Qsumの増加に応じて第1のエンジン目標回転数ncom1が増加する関数関係61aがデータテーブル形式で記憶されている。この第1のエンジン目標回転数ncom1は、下記に示すように、変換定数をαとして、油圧ポンプ3を最大容量qmaxで作動させた際にポンプ目標吐出流量Qsumを吐出することができる最小のエンジン回転数として与えられる。
ncom1=Qsum/qmax・α …(3)
第1のエンジン回転数演算部61では、現在のポンプ目標吐出流量Qsumに対応する第1のエンジン目標回転数ncom1が関数関係61a、つまり上記(3)式に従って演算される。
コントローラ6の判定部62は、現在のポンプ目標吐出流量Qsumが所定の流量Qminよりも大きいか否かを判定する。ここで、しきい値となる所定の流量は、各操作レバー41〜44が中立位置から操作されたか否かを判断するための流量に設定される。
コントローラ6内の第3のエンジン目標回転数設定部68では、判定部62の判定の結果、現在のポンプ目標吐出流量Qsumが所定の流量Qmin以下、つまり判定結果がNOである場合には、第3のエンジン目標回転数ncom3が、エンジン2のローアイドル回転数nL付近の回転数nJ(たとえば1000rpm)に設定される。これに対して現在のポンプ目標吐出流量Qsumが所定の流量Qminよりも大きい、つまり判定結果がYESである場合には、第3のエンジン目標回転数ncom3が、エンジン2のローアイドル回転数nLよりも大きい回転数nM(たとえば1400rpm)に設定される。
一方、エンジンコントローラ4からコントローラ6には、エンジン2の現在のエンジン回転数Neと、燃料噴射量から推定されたエンジン2のエンジントルクTeとが入力される。コントローラ6内のフィルタ101は、時定数0.5(sec)を有したフィルタであり、入力されたエンジントルクTeの値をフィルタリングしたエンジントルクTe_fを出力する。コントローラ6内のエンジン出力演算部102は、エンジンコントローラ4から入力されたエンジン回転数Neとフィルタ101から出力されたエンジントルクTe_fとを乗算し、さらに変換定数Constを乗算したエンジン出力(馬力)Peを算出する。
コントローラ6内の目標エンジン出力演算部103は、後述するエンジン目標回転数加算値ncom_addが加算された第2のエンジン目標回転数ncom2に対する目標エンジン出力(馬力)Pe_aimを関数関係103aをもとに演算する。なお、第2のエンジン目標回転数ncom2の初期値は、第1のエンジン目標回転数ncom1である。ここで、コントローラ6内の記憶装置には、関数関係103aが記憶されており、目標エンジン出力演算部103は、この関数関係103aを用いて目標エンジン出力Pe_aimを出力する。
ここで、関数関係103aは、図22に示した目標エンジン運転線L0と同じである図7に示した目標トルク線L1に、そのときのエンジン回転数を乗算した目標馬力線から、所定馬力分、下げた負荷感知境界線である。
コントローラ6内のエンジン目標回転数加算値演算部104は、図4に示したフローチャートに従ってエンジン目標回転数加算値ncom_addを出力する。図4において、エンジン目標回転数加算値演算部104は、まず、初期値として、ncom_add「0」に設定する(ステップS101)。その後、エンジン出力演算部102からエンジン出力Peと、目標エンジン出力演算部103から目標エンジン出力Pe_aimとを取得する(ステップS102)。ここで、目標エンジン出力演算部103は、初期値として第1のエンジン目標回転数ncom1を用いて目標エンジン出力Pe_aimを出力し、その後の演算では、第2のエンジン目標回転数ncom2を用いて順次目標エンジン出力Pe_aimを出力する。
さらに、エンジン目標回転数加算値演算部104は、このエンジン出力Peから目標エンジン出力Pe_aimを除算した値に変換係数Ieを乗算した値Iaddを算出する(ステップS103)。この値Iaddは、エンジン回転数に変換された値である。
その後、エンジン目標回転数加算値演算部104は、目標流量演算部50が出力するポンプ吐出流量目標値Qsumの値が増加方向に変化しているか、あるいは増加後に値が固定している状態であるか否かを判断する(ステップS104)。ポンプ吐出流量目標値Qsumの値が増加方向に変化、あるいは増加後に固定している状態でない場合(ステップS104,No)には、値Iaddをエンジン目標回転数加算値ncom_addに加算する処理を行う(ステップS106)。
一方、ポンプ吐出流量目標値Qsumの値が増加方向に変化、あるいは増加後に固定している状態である場合(ステップS104,Yes)には、さらに、値Iaddが負であるか否かを判断する(ステップS105)。値Iaddが負でない場合(ステップS105,No)には、ステップS106に移行して、値Iaddをエンジン目標回転数加算値ncom_addに加算する処理を行う。一方、値Iaddが負である場合(ステップS105,Yes)には、値Iaddの加算処理を行わずに、ステップS107に移行する。
すなわち、このステップS104〜106の処理では、目標流量演算部50が出力するポンプ吐出流量目標値Qsumの値が増加方向に変化しているか、あるいは増加後に値が固定している状態である場合であって、値Iaddが負である場合には、値Iaddをエンジン目標回転数加算値ncom_addに加算する処理を行わないようにしている。具体的には、図5に示すように、ポンプ吐出流量目標値Qsumの増加分ΔQsumが0以上である場合に、値Iaddが負になっても、エンジン目標回転数加算値ncom_addから値Iaddの絶対値分を減じる処理を行わず、現在の第2のエンジン目標回転数ncom2を維持する処理を行う。これは、ポンプ吐出流量目標値Qsumが0以上である場合、たとえ値Iaddが負になっても、レバー操作によって操作者がパワーを減じる意思があるまでエンジン目標回転数を下げないようにして制御系を安定させるためである。
その後、エンジン目標回転数加算値ncom_addが正であるか否かを判断する(ステップS107)。エンジン目標回転数加算値ncom_addが正である場合(ステップS107,Yes)には、さらに、全レバー入力(レバーポテンショ信号)がニュートラル状態あるいはその近傍であるか否かを判断する(ステップS108)。全レバー入力がニュートラル状態あるいはその近傍でない場合(ステップS108,No)には、さらに、後述するアシストフラグassist_flagがTrueであるか否かを判断する(ステップS109)。
そして、エンジン目標回転数加算値ncom_addが正であって(ステップS107,Yes)、全レバー入力がニュートラル状態あるいはその近傍でなくて(ステップS108,No)、アシストフラグassist_flagがTrueでない場合(ステップS109,No)に、エンジン目標回転数加算値ncom_addを第1のエンジン目標回転数ncom1に付加する処理を行って(ステップS110)、第2のエンジン目標回転数ncom2(補正エンジン目標回転数に相当)を生成し、ステップS102に移行し、上述した処理を繰り返す。
一方、エンジン目標回転数加算値ncom_addが正でない場合(ステップS107,No)、全レバー入力がニュートラル状態あるいはその近傍である場合(ステップS108,Yes)、あるいはアシストフラグassist_flagがTrueである場合(ステップS109,Yes)には、エンジン目標回転数加算値ncom_addを第1のエンジン目標回転数ncom1に付加する処理を行わずに、現在の第1のエンジン目標回転数ncom1をそのまま第2のエンジン目標回転数(補正エンジン目標回転数に相当)として出力し、ステップS102に移行し、上述した処理を繰り返す。
これは、エンジン目標回転数加算値ncom_addが正でない場合、負荷感知境界線に近づいておらず、負荷が大きくないことを意味し、エンジン回転数を増大させる必要がないからである。また、全レバー入力がニュートラル状態あるいはその近傍である場合には、操作者の意思を優先するからである。さらに、アシストフラグassist_flagがTrueである場合、エンジン回転数を増大させるまでもなく、電動モータによってアシストされるからである。
このようにして出力されるエンジン目標回転数加算値ncom_addは、加算部105によって第1のエンジン目標回転数ncom1に加算され、第2のエンジン目標回転数ncom2として出力される。また、この第2のエンジン目標回転数ncom2は、分岐部106を介して目標エンジン出力演算部103に出力される。
コントローラ6内の最大値選択部64は、第2のエンジン目標回転数ncom2、第3のエンジン目標回転数ncom3のうちのいずれか高い方のエンジン目標回転数ncom23を選択する。
一方、ポンプ出力制限演算部70は、図6に示すフローに従って処理する。なお、以下では、判断結果TRUEをTと略記するとともに、判断結果FALSEをFと略記する。
複数の油圧アクチュエータ21〜26の作業パターンは、「走行操作」という操作パターン(1)であると判断し、その「走行操作」という作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ポンプ出力制限演算部70では、複数の油圧アクチュエータ21〜26の作業パターンに応じて、油圧ポンプ3の出力(馬力)制限値Pplimitが演算される。
油圧ポンプ3の出力制限値として、予めPplimit1、Pplimit3、Pplimit4、Pplimit5、Pplimit6が演算される。油圧ポンプ3の出力制限値の大きさは、図9に示すトルク線図上で示されるように、Pplimit1、Pplimit2、Pplimit3、Pplimit4、Pplimit5、Pplimit6の順番で順次小さくなるものとして設定されているものとする。
すなわち、右走行パイロット圧Prcrが所定の圧力Kcよりも大きいか、または左走行パイロット圧Prclが所定の圧力Kcよりも大きい場合には(ステップ71の判断T)、複数の油圧アクチュエータ21〜26の作業パターンは、「走行操作」という作業パターン(1)であると判断し、その「走行操作」という作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
以下、同様にして、各ステップ72〜79では以下のような判断が行われる。すなわち、ステップ72では、右旋回操作量Lswが所定の操作量Kswよりも大きく、左旋回操作量Lswが所定の操作量−Kswよりも小さいか否かが判断される。
ステップ73では、ブーム下げ操作量Lboが所定の操作量−Kboよりも小さいか否かが判断される。
ステップ74では、ブーム上げ操作量Lboが所定の操作量Kboよりも大きいか否か、または、アーム掘削操作量Laが所定の操作量Kaよりも大きいか否か、または、アームダンプ操作量Laが所定の操作量−Kaよりも小さいか否か、または、バケット掘削操作量Lbkが所定の操作量Kbkよりも大きいか否か、または、バケットダンプ操作量Lbkが所定の操作量−Kbkよりも小さいか否かが判断される。
ステップ75では、アーム掘削操作量Laが所定の操作量Kaよりも大きいか否かが判断される。
ステップ76では、バケット掘削操作量Lbkが所定の操作量Kbkよりも大きいか否かが判断される。
ステップ77では、油圧ポンプ3の吐出圧PRpが所定の圧力Kp1よりも小さいか否かが判断される。
ステップ78では、アームダンプ操作量Laが所定の操作量−Kaよりも小さいか否かが判断される。
ステップ79では、バケットダンプ操作量Lbkが所定の操作量−Kbkよりも小さいか否かが判断される。
ステップ80では、油圧ポンプ3の吐出圧PRpが所定の圧力Kp2よりも大きいか否かが判断される。
ステップ81では、油圧ポンプ3の吐出圧PRpが所定の圧力Kp3よりも大きいか否かが判断される。
ステップ71の判断がFでステップ72の判断がTでステップ73の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「旋回操作とブーム下げ操作」という作業パターン(2)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit6に設定される。
ステップ71の判断がFでステップ72の判断がTでステップ73の判断がFでステップ74の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「旋回操作とブーム下げ以外の作業機操作」という作業パターン(3)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ステップ71の判断がFでステップ72の判断がTでステップ73の判断がFでステップ74の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「旋回操作の単独操作」という作業パターン(4)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit6に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がTでステップ76の判断がTでステップ77の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム掘削操作とバケット掘削操作で負荷が小さいとき(たとえば土砂を抱え込む作業)」という作業パターン(5)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit2に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がTでステップ76の判断がTでステップ77の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム掘削操作とバケット掘削操作で負荷が大きいとき(たとえばアームとバケットの同時操作による掘削作業)」という作業パターン(6)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がTでステップ76の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム掘削操作」という作業パターン(7)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断がTでステップ80の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム排土操作とバケット排土操作で負荷が大きいとき(たとえばアームとバケットの同時排土操作による土砂押し作業)」という作業パターン(8)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit3に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断がTでステップ80の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム排土操作とバケット排土操作で負荷が小さいとき(たとえば空中でアームとバケットを同時に返す作業)」という作業パターン(9)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit5に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断Fでステップ81の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム単独排土操作で負荷が大きいとき(たとえばアーム排土作業による土砂押し作業)」という作業パターン(10)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit3に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断Fでステップ81の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム単独排土操作で負荷が小さいとき(たとえば空中でアームを返す作業)」という作業パターン(11)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit5に設定される。
ステップ71の判断がFでステップ72の判断がFでステップ75の判断がFでステップ78の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「その他の作業」という作業パターン(12)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
一方、リリーフ時ポンプ出力制限値演算部500には、油圧ポンプ3の吐出圧PRpが入力され、この油圧ポンプ3の吐出圧PRpに対する油圧ポンプ3の出力制限値Pplimitが演算される。この出力制限値Pplimitは、リリーフ時に急なポンプ出力の変動を起こさないように、吐出圧PRpに対する出力制限値Pplimitの関数関係500aをもとに出力制限値Pplimitを演算している。この関数関係は、コントローラ6の記憶装置に記憶される。
その後、最小選択部501は、ポンプ出力制限値演算部70から出力された出力制限値Pplimitとリリーフ時ポンプ出力制限値演算部500から出力された出力制限値Pplimitとのいずれか小さい出力制限値Pplimitを選択出力する。
つぎに、コントローラ6内の第4のエンジン目標回転数演算部63は、最小選択部501によって選択された出力制限値Pplimitに対応する第4のエンジン目標回転数ncom4を演算する。
コントローラ6内の記憶装置には、油圧ポンプ3の出力制限値Pplimitの増加に応じて第3のエンジン目標回転数ncom3が増加する関数関係63aがデータテーブル形式で記憶されている。
第4のエンジン回転数演算部63では、現在の複数の油圧アクチュエータ21〜26の作業パターン、つまり油圧ポンプ3の出力制限値Pplimitに対応する第4のエンジン目標回転数ncom4が関数関係63aにしたがって演算される。
最小値選択部65では、最大値選択部64で選択されたエンジン目標回転数ncom23と、第4のエンジン目標回転数ncom4のうちのいずれか低い方のエンジン目標回転数ncomが選択される。
コントローラ6は、エンジンコントローラ4に対して、エンジン回転数nを目標回転数ncomにするための回転指令値を出力し、コントローラ4は、図7に示す目標トルク線L1上でエンジン目標回転数ncomが得られるように燃料噴射量を増減する。
ここで、図7に示すように、エンジン回転数nの減少に伴いポンプ吸収トルクTpcomが小さくなる目標トルク線L1にしたがってエンジン2および油圧ポンプ3を制御すると、燃費、エンジン効率、ポンプ効率の向上が図られ、騒音が低減され、エンストが防止されるなどの効果が得られるものの、エンジン2の応答性が悪いという問題がある。たとえば掘削作業を開始しようとして操作レバー41等を中立位置から倒してエンジン2が低回転から上昇させようとしても、レバー倒し始めの初期の段階(過渡状態)では油圧ポンプ3の負荷が急激に上昇するためにエンジン出力がポンプ吸収馬力分のパワーに対して余裕がなくエンジン2を加速するためのパワーが不足する。このためエンジン2を目標回転数まで上昇させられないか、あるいは極めて緩慢にしか上昇しないことがある。
この点、この実施の形態では、現在のポンプ目標吐出流量Qsumに適合する第1のエンジン目標回転数ncom1にエンジン目標回転数加算値ncom_addが加算された第2のエンジン目標回転数ncom2を設定する一方で、現在のポンプ目標吐出流量Qsumが所定の流量(たとえば10(L/min))よりも大きいことが判定された場合には、エンジンローアイドル回転数nLよりも大きい回転数nM(たとえば1400rpm)が第3のエンジン目標回転数ncom3として設定される。そして、第3のエンジン目標回転数ncom3が、第2のエンジン目標回転数ncom2以上であれば、第3のエンジン目標回転数ncom3が得られるようにエンジン回転数が制御される。
このため、たとえば掘削作業を開始しようとして操作レバー41等を中立位置から倒した場合に、油圧ポンプ3の負荷が急激に上昇する前にエンジン回転数が予め上昇してエンジントルクが上昇するためエンジン2を加速するためのパワーに余裕が生じる。このためエンジン2を低回転域から目標回転数まで迅速に上昇させることができエンジン2の応答性が向上する。
また、この実施の形態では、エンジン目標回転数加算値演算部104によって、第1のエンジン目標回転数ncom1にエンジン目標回転数加算値ncom_addを加算するようにしている。エンジン目標回転数加算値演算部104は、第2のエンジン目標回転数ncom2に対応する目標エンジン出力Pe_aimに比して現在のエンジン出力Peが大きくなった場合に、その差に応じたエンジン目標回転数加算値ncom_addを第1のエンジン目標回転数ncom1に加算して、エンジン回転数を増速するようにしている。
図7および図8を参照して、エンジン目標回転数加算値演算部104によるエンジン回転数の増速処理を説明する。なお、説明の便宜上、馬力ではなくトルク線図を用いて説明する。図7は、エンジン回転数に対するエンジントルクの変化を示すトルク線図である。このトルク線図は、図22に示したトルク線図と同じであり、目標エンジン運転線L0が目標トルク線L1に相当する。負荷感知トルク境界線L2は、目標トルク線L1よりも所定トルク分低くした線であり、これにエンジン回転数を乗算した線が負荷感知境界線となり、目標エンジン出力演算部103の関数関係103aとなる。負荷感知トルク境界線L2は、目標トルク線L1と負荷感知トルク線L2とによって囲まれる領域を負荷感知領域Eとし、この負荷感知領域Eの境界であることを示している。すなわち、負荷感知領域Eを、目標トルク線L1に、ある程度近づいた領域として定義し、この負荷感知領域Eに近づいた場合、建設機械が出力を要求しているとみなして、エンジン回転数を増速するようにしている。
図8は、レバー入力があった場合におけるエンジン回転数とトルクの時間変化を示した図である。図7および図8において、状態「1」は、アイドル状態であり、エンジン回転数はGOV_1である。時点T1でレバー入力が開始すると、エンジン回転数は、レバー操作に応じて増速し、状態「2」となり、レバーが固定された状態の時点T2で、エンジン回転数はGOV_2となる。この状態「2」のとき、トルクは時間の経過とともに徐々に増大し、状態「2」の終わりの時点T3で、エンジン回転数およびトルクは、負荷感知トルク境界線L2を超える。すなわち、エンジン回転数は、負荷感知トルク境界線L2のエンジン回転数以下となり、トルクは、負荷感知トルク境界線L2のトルク以上となる。この負荷感知トルク境界線L2を超えて負荷感知領域Eに入った状態が状態「3」であり、この状態「3」のときに、エンジン目標回転数加算値演算部104は、エンジン目標回転数加算値ncom_addを第1のエンジン目標回転数ncom1に付加して増速を図る。この結果、状態「3」の後半には、エンジン回転数が増速され、トルクも減少し、状態「3」の終わりの時点T4で、エンジン回転数およびトルクは、負荷感知トルク境界線L2を下回り、エンジン目標回転数加算値演算部104による増速処理が行われなくなる。
このようにして、この実施の形態では、エンジン回転数およびトルクの状態が負荷感知領域Eに入ったときに、出力の増大が要求されているとして、エンジン回転数を増大させている。特に、レバー操作後にかかる負荷に対して再度レバー操作を行わずに、自動的にエンジン回転数を増大させて出力増大を行うようにしているので、オペレータにかかる操作性を改善することができる。すなわち、大きな負荷がかかった場合に、自動的に出力増大を行うようにしている。
また、この実施の形態では、現在のポンプ目標吐出流量Qsumに適合する第1のエンジン目標回転数ncom1にエンジン目標回転数加算値ncom_addが加算された第2のエンジン目標回転数ncom2を設定する一方で、複数の油圧アクチュエータ21〜26の作業パターンに応じて設定された油圧ポンプ3の出力制限値Pplimitと、リリーフ時の高負荷圧状態を考慮した油圧ポンプ3の吐出圧に対するのに対する出力制限値Pplimitとのうちの最小の出力制限値Pplimitが選択され、この選択された出力制限値Pplimitに対応する第4のエンジン目標回転数ncom4が設定される。第4のエンジン目標回転数ncom4がエンジン目標回転数ncom23以下であれば第4のエンジン目標回転数ncom4が得られるようにエンジン回転数が制御される。
すなわち、この実施の形態では、リリーフ時ポンプ出力制限値演算部500と第4のエンジン目標回転数演算部63とによって、リリーフ状態になった場合に、ポンプ吸収トルクを制限するのではなく、エンジン回転数を下げる制御を行っている。この場合、ポンプ吸収トルクを制限する場合と同等のポンプ出力を得ることができるとともに、エンジン回転数を下げるようにしているので、ポンプ効率を下げず、エンジン効率も良くなることから省エネルギー化を達成でき、かつ騒音の改善も図ることができる。
なお、この実施の形態では、ポンプ出力制限演算部70とリリーフ時ポンプ出力制限値演算部500との出力制限値のうちの最小値を選択した後に、第4のエンジン目標回転数を決定するようにしているが、これに限らず、ポンプ出力制限値演算部70→最小値選択部501→第4のエンジン目標回転数演算部63の処理ルートとは別に、リリーフ時ポンプ出力制限値演算部500と第4のエンジン目標回転数演算部63とをまとめて、吐出圧に対する第4のエンジン目標回転数に対応する第5のエンジン目標回転数を直接、演算出力して最小値選択部65に出力するようにしてもよい。
ここで、さらに図10および図11を参照して、建設機械1のコントローラ6によるアシスト制御処理について説明する。
図10に示すアシスト制御処理には、図2に示した最小値選択部65で選択されたエンジン目標回転数ncomが入力される。
なお、以下ではエンジン回転数、エンジン目標回転数をそれぞれ、発電電動機回転数、発電電動機目標回転数に変換した上で演算処理を行うようにしているが、下記の説明において発電電動機回転数、発電電動機目標回転数をそれぞれエンジン回転数、エンジン目標回転数に置換して同様の演算処理を行う実施も可能である。
発電電動機目標回転数演算部96では、現在のエンジン目標回転数ncomに対応する発電電動機11の目標回転数Ngen_comが次式によって演算される。
Ngen_com=ncom×K2 …(4)
ただし、K2は、PTO軸10の減速比である。
アシスト有無判定部90では、発電電動機11の目標回転数Ngen_comと、回転センサ14で検出される発電電動機11の現在の実回転数GEN_spdと電圧センサ15で検出される畜電器12の現在の電圧BATT_voltとに基づいて、発電電動機11によってエンジン2をアシストするか否か(アシスト有無)が判定される。
アシスト有無判定部90は、図11に示すように、まず、偏差演算部91で、発電電動機目標回転数Ngen_comと発電電動機実回転数GEN_spdとの偏差Δgen_spdが演算される。
つぎに、第1の判定部92では、発電電動機目標回転数Ngen_comと発電電動機実回転数GEN_spdとの偏差Δgen_spdが第1のしきい値ΔGC1以上になった場合に、発電電動機11を電動作用すると判定し、アシストフラグassist_flagをTにし、発電電動機目標回転数Ngen_comと発電電動機実回転数GEN_spdとの偏差Δgen_spdが第1のしきい値ΔGC1よりも小さい第2のしきい値ΔGC2以下になった場合に、発電電動機11を電動作用しない(ただし、必要に応じて発電作用させて蓄電器12に電力を蓄える)と判定し、アシストフラグをFにする。
また、発電電動機目標回転数Ngen_comと発電電動機実回転数GEN_spdとの偏差Δgen_spdが第3のしきい値ΔGC3以下になった場合に、発電電動機11を発電作用すると判定し、アシストフラグassist_flagをTにし、発電電動機目標回転数Ngen_comと発電電動機実回転数GEN_spdとの偏差Δgen_spdが第3のしきい値ΔGC3よりも大きい第4のしきい値ΔGC4以上になった場合に、発電電動機11を発電作用しない(ただし、必要に応じて発電作用させて蓄電器12に電力を蓄える)と判定し、アシストフラグをFにする。
このように、回転数偏差Δgen_spdが符号プラスで、ある程度以上大きくなると、発電電動機11を電動作用させエンジン2をアシストさせるようにしているのは、現在のエンジン回転数と目標回転数とが離れている場合にエンジン目標回転数に向けて迅速にエンジン回転数を上昇させるためである。
ここで、たとえば、油圧ポンプの負荷圧が高い状態から低い状態に急に切り替わった際に、エンジンの実回転数がエンジン目標回転数に対してあらかじめ設定した値以上に上昇するまでは発電電動機のエンジントルクアシスト作用を用いて目標回転数に一致するように、エンジン回転数を制御するようにしている。すなわち、油圧ポンプの負荷圧が高い状態から低い状態に急に切り替わった場合、第4のエンジン目標回転数が高くなって実回転数との偏差が大きくなるが、この場合にエンジントルクアシスト作用が働く。
なお、上述したように、油圧ポンプの負荷圧が高い状態から低い状態に減少するに応じて、第4のエンジン目標回転数が上昇することにより、エンジンの実回転数がエンジン目標回転数よりもあらかじめ設定した値よりも小さい場合、実回転数がエンジン目標回転数よりもあらかじめ設定した値よりも小さい値以上に上昇するまでは、発電電動機のエンジントルクアシスト作用を用いて前記目標回転数に一致するように、エンジン回転数が制御される。
また、回転数偏差Δgen_spdが符号マイナスである程度以上大きくなると、発電電動機11を発電作用させエンジン2を逆アシストさせるようにしているのは、エンジン回転数の減速時に発電作用させてエンジン回転数を迅速に低下させるとともにエンジン2のエネルギーを回生するためである。
また第1のしきい値ΔGC1と第2のしきい値ΔGC2との間にヒステリシスをもたせるとともに、第3のしきい値ΔGC3と第4のしきい値ΔGC4との間にヒステリシスをもたせることで、制御上のハンチングを防止している。
第2の判定部93では、蓄電器12の電圧BATT_voltが所定の範囲BC1〜BC4(BC2〜BC3)内に収まっている場合に、アシストフラグassist_flagをTにし、所定の範囲外である場合には、アシストフラグassist_flagをFにする。
電圧値BATT_voltに、第1のしきい値BC1、第2のしきい値BC2、第3のしきい値BC3、第4のしきい値BC4を設定する。第1のしきい値BC1、第2のしきい値BC2、第3のしきい値BC3、第4のしきい値BC4の順序で大きくなるものとする。
蓄電器12の電圧値BATT_voltが第3のしきい値BC3以下になるとアシストフラグassist_flagをTにし、蓄電器12の電圧値BATT_voltが第4のしきい値BC4以上になるとアシストフラグassist_flagをFにする。また、蓄電器12の電圧値BATT_voltが第2のしきい値BC2以上になるとアシストフラグassist_flagをTにし、蓄電器12の電圧値BATT_voltが第1のしきい値BC1以下になるとアシストフラグassist_flagをFにする。
このように蓄電器12の電圧BATT_voltが所定の範囲BC1〜BC4(BC2〜BC3)内に収まっているときのみに、アシストさせるようにしているのは、所定範囲外の低電圧、高電圧のときにアシストさせないようにすることで蓄電器12に与える過充電や完全放電等の悪影響を回避するためである。
また第1のしきい値BC1と第2のしきい値BC2との間にヒステリシスをもたせるとともに、第3のしきい値BC3と第4のしきい値BC4との間にヒステリシスをもたせることで、制御上のハンチングを防止している。
アンド回路94では、第1の判定部92で得られたアシストフラグassist_flagと第2の判定部93で得られたアシストフラグassist_flagがともにTである場合に、最終的にアシストフラグassist_flagの内容をTとし、それ以外である場合に、最終的にアシストフラグassist_flagの内容をFにする。
このアシスト有無判定部90から出力されたアシストフラグassist_flagは、エンジン目標回転数加算値演算部104に出力され、エンジン目標回転数加算値演算部104は、アシストフラグassist_flagがTrueである場合、エンジン目標回転数加算値ncom_addの付加出力を行わないようにしている。
アシストフラグ判定部95では、アシスト有無判定部90から出力されるアシストフラグassist_flagの内容がTであるか否かが判定される。
発電電動機指令値切り替え部87では、アシストフラグ判定部95の判定結果がTであるか否か(F)に応じて、インバータ13に与えるべき発電電動機指令値GEN_comの内容を、目標回転数か、目標トルクかに切り替える。
発電電動機11は、インバータ13を介して回転数制御若しくはトルク制御によって制御される。
ここで、回転数制御とは、発電電動機指令値GEN_comとして目標回転数を与えて目標回転数が得られるように発電電動機11の回転数を調整する制御のことである。また、トルク制御とは、発電電動機指令値GEN_comとして目標トルクを与えて目標トルクが得られるように発電電動機11のトルクを調整する制御のことである。
モジュレーション処理部97では、発電電動機11の目標回転数が演算され出力される。また、発電電動機トルク演算部68では、発電電動機11の目標トルクが演算され出力される。
すなわち、モジュレーション処理部97は、発電電動機目標回転数演算部96で得られた発電電動機目標回転数Ngen_comに対して、特性97aにしたがいモジュレーション処理が施された回転数Ngen_comを出力する。発電電動機目標回転数演算部96より入力された発電電動機目標回転数Ngen_comをそのまま出力するのではなくて、時間tをかけて徐々に回転数を増大させて、発電電動機目標回転数演算部96より入力された発電電動機目標回転数Ngen_comに到達させる。
図12〜図15に示したトルク線図を参照してモジュレーション処理を行わなかった場合に対してモジュレーション処理を行った場合の効果について説明する。
図12は、エンジン加速時にモジュレーション処理無しの場合のガバナの動きを説明する図であり、図13は、エンジン加速時にモジュレーション処理有りの場合のガバナの動きを説明する図である。図14は、エンジン減速時にモジュレーション処理無しの場合のガバナの動きを説明する図であり、図15は、エンジン減速時にモジュレーション処理有りの場合のガバナの動きを説明する図である。ガバナとしてメカガバナを使用すると、実際のエンジン回転数よりもガバナが指定する回転数が遅れるという問題がある。
図12および図13に示すように、油圧ポンプ3の負荷が大きいときに低回転のマッチング点P0から高回転側にエンジン2を加速させる場合を考える。図12および図13において、P2はエンジントルクに対応し、エンジントルクにアシスト分のトルクを加えたものが、エンジン2と発電電動機11を合わせた全トルクP3となる。P1はポンプ吸収トルクに対応し、ポンプ吸収トルクに加速トルクを合わせたものが全トルクP3に対応している。
図12に示すようにモジュレーション処理無しの場合には、エンジン目標回転数とエンジン実回転数との偏差に応じたアシストトルクが発生する。偏差が大きい場合には、その大きな偏差に対応して、発電電動機11によるアシストトルクが大きくなる。このためガバナの動きよりもエンジン2が早く加速して、ガバナが指定する回転数よりも実回転数の方が大きくなる。エンジン2が早く加速するとガバナの調整により燃料噴射量が減りエンジントルクが減少する。このためエンジン2を発電電動機11によってアシストしているにもかかわらずエンジン2がフリクションとなってしまい、エンジン2の加速度が上がらないことになる。このため燃料噴射量を減らしながら、エンジントルクを減少させながら、エンジン2がロスとなってエンジン2が加速することなり、エネルギーロスを招くとともに、エンジン2が十分に加速しないという結果を招く。
これに対して図13に示すようにモジュレーション処理有りの場合には、エンジン目標回転数にモジュレーション処理が施されて、エンジン目標回転数とエンジン実回転数との偏差が小さくなり、これに応じて、発電電動機11で小さいアシストトルクが発生する。このためガバナの動きがエンジン2の加速に追従し、ガバナが指定する回転数が実回転数に一致する。このためエネルギーロスが低減され、エンジン2が十分に加速する。
つぎにエンジン2を減速させる場合について説明する。図14および図15に示すように、油圧ポンプ3の負荷が大きいときに高回転のマッチング点P0から低回転側にエンジン2を減速させる場合を考える。
図14および図15において、P2はエンジントルクに対応し、エンジントルクに回生トルクを加えたものが、エンジン2と発電電動機11を合わせた全トルクP3となる。P1はポンプ吸収トルクに対応し、ポンプ吸収トルクに減速トルクを合わせたものが全トルクP3に対応している。
図14に示すようにモジュレーション処理無しの場合には、エンジン目標回転数とエンジン実回転数との偏差に応じた回生トルクが発生する。偏差が大きい場合には、その大きな偏差に対応して、発電電動機11による回生トルクが大きくなる。このためガバナの動きよりもエンジン2が早く減速して、ガバナが指定する回転数よりも実回転数の方が小さくなる。エンジン2が早く減速するとガバナの調整により燃料噴射量が増加しエンジントルクが増大する。このためエンジン2はトルクを増加させつつ発電電動機11で発電しながらエンジン2が減速することになる。この結果、エンジン2がトルクを上げつつ、発電電動機11によって、増加するエンジンエネルギーを回収しながら、エンジン2が減速することになり、無駄な発電が行われ、燃料を無駄に消費することになる。
これに対して図15に示すようにモジュレーション処理有りの場合には、エンジン目標回転数にモジュレーション処理が施されて、エンジン目標回転数とエンジン実回転数との偏差が小さくなり、これに応じて、発電電動機11で小さい回生トルクが発生する。このためガバナの動きがエンジン2の減速に追従し、ガバナが指定する回転数が実回転数に一致する。このためエンジン2のトルクが負になり、発電電動機11によってエンジン2の速度エネルギーを回収しながらエンジン2が減速する。このため無駄なエネルギー消費を招くことなく効率よくエンジン2を減速させることができる。
発電電動機トルク演算部68では、電圧センサ15で検出される畜電器12の現在の電圧BATT_voltに基づいて、電圧BATT_voltに対応する目標トルクTgen_comが演算される。
記憶装置には、蓄電器12の電圧BATT_voltの上昇68bに応じて目標トルクTgen_comが減少し、蓄電器12の電圧BATT_voltの下降68cに応じて目標トルクTgen_comが増加するというヒステリシスをもたせた関数関係68aがデータテーブル形式で記憶されている。この関数関係68aは、発電電動機11の発電量を調整することで蓄電器12の電圧値を所望の範囲内に維持するために設定されている。
発電電動機トルク演算部68では、蓄電器12の現在の電圧BATT_voltに対応する目標トルクTgencomが関数関係68aにしたがい出力される。
アシストフラグ判定部95でアシストフラグassit_flagの内容がTであると判定されると、発電電動機指令値切り替え部87が、モジュレーション処理部97側に切り替えられ、モジュレーション処理部97から出力される発電電動機目標回転数Ngen_comが発電電動機指令値GEN_comとしてインバータ13に出力されて、発電電動機11が回転数制御され、発電電動機11が電動作用若しくは発電作用をする。
また、アシストフラグ判定部95でアシストフラグassit_flagの内容がFであると判定されると、発電電動機指令値切り替え部87が、発電電動機トルク演算部68側に切り替えられ、発電電動機トルク演算部68から出力される発電電動機目標トルクTgen_comが発電電動機指令値GEN_comとしてインバータ13に出力されて、発電電動機11がトルク制御され、発電電動機11が発電作用をする。
ポンプ吸収トルク指令値切り替え部88では、アシストフラグ判定部95の判定結果がTであるか否か(F)に応じて、制御電流演算部67に与えるべきポンプ目標吸収トルクTの内容を、第1のポンプ目標吸収トルクTp_com1か、第2のポンプ目標吸収トルクTp_com2かに切り替える。
第1のポンプ目標吸収トルクTp_com1は、第1のポンプ目標吸収トルク演算部66で演算される。
すなわち、第1のポンプ目標吸収トルクTpcom1は、図18のトルク線図における第1の目標トルク線L1上のトルク値として与えられる。第1の目標トルク線L1は、エンジン目標回転数nが低下するに応じて油圧ポンプ3の目標吸収トルクTp_com1が小さくなるような目標トルク線として設定されている。
第2のポンプ目標吸収トルクTpcom2は、第2のポンプ目標吸収トルク演算部85で演算される。すなわち、第2のポンプ目標吸収トルクTp_com2は、図18のトルク線図における第1の目標トルク線L1に対して、低回転領域でポンプ目標吸収トルクが大きくなる第2の目標トルク線L12上のトルク値として与えられる。
第1のポンプ目標吸収トルク演算部66では、エンジン目標回転数ncomに対応する油圧ポンプ3の第1のポンプ目標吸収トルクTpcom1が演算される。
記憶装置には、エンジン目標回転数n_comの増加に応じて油圧ポンプ3の第1の目標吸収トルクTp_com1が増加する関数関係66aがデータテーブル形式で記憶されている。この関数66aは、図16に示すトルク線図上の第1の目標トルク線L1に対応するカーブである。
図16は、エンジン2のトルク線図を示しており横軸にエンジン回転数n(rpm;rev/min)をとり縦軸にトルクT(N・m)をとっている。関数66aは、図16に示すトルク線図上の目標トルク線L1に対応している。
第1のポンプ目標吸収トルク演算部66では、現在のエンジン目標回転数n_comに対応する第1のポンプ目標吸収トルクTp_com1が関数関係66aにしたがい演算される。
第2のポンプ目標吸収トルク演算部85では、発電電動機回転数GEN_spd(エンジン実回転数)に対応する油圧ポンプ3の第2のポンプ目標吸収トルクTp_com2が演算される。
記憶装置には、発電電動機回転数GEN_spd(エンジン実回転数)に応じて油圧ポンプ3の第2の目標吸収トルクTp_com2が変化する関数関係85aがデータテーブル形式で記憶されている。この関数85aは、図16に示すトルク線図上の第2の目標トルク線L12に対応するカーブであり、第1の目標トルク線L1に対して、低回転領域でポンプ目標吸収トルクが大きくなるような特性を有している。たとえば第2の目標トルク線L12は、等馬力線に相当するカーブであり、エンジン回転数の上昇に応じてトルクが低下するように特性を採用することができる。
第2のポンプ目標吸収トルク演算部85では、現在の発電電動機回転数GEN_spd(エンジン実回転数)に対応する第2のポンプ目標吸収トルクTp_com2が関数関係85aにしたがい演算される。
アシストフラグ判定部95でアシストフラグassit_flagの内容がTであると判定されると、ポンプ吸収トルク指令値切り替え部88が、第2のポンプ目標吸収トルク演算部85側に切り替えられ、第2のポンプ目標吸収トルク演算部85から出力される第2のポンプ目標吸収トルクTp_com2がポンプ目標吸収トルクTp_comとして、後段のフィルタ処理部89に出力される。
また、アシストフラグ判定部95でアシストフラグassit_flagの内容がFであると判定されると、ポンプ吸収トルク指令値切り替え部88が、第1のポンプ目標吸収トルク演算部66側に切り替えられ、第1のポンプ目標吸収トルク演算部66から出力される第1のポンプ目標吸収トルクTp_com1がポンプ目標吸収トルクTp_comとして、後段のフィルタ処理部89に出力される。
以上のようにしてポンプ吸収トルク指令値切り替え部88では、油圧ポンプ3の目標吸収トルクTp_com1、Tp_com2、つまり図16の目標トルク線L1、L12の選択が切り替えられる。
フィルタ処理部89では、目標トルク線L1、L12の選択が切り替えられた場合に、切り替え前の目標トルク線(たとえば第2の目標トルク線L12)上のポンプ目標吸収トルク(第2のポンプ目標吸収トルクTp_com2)から、切り替え後の目標トルク線(第1の目標トルク線L1)上のポンプ目標吸収トルク(第2のポンプ目標吸収トルクTp_com1)へ、徐々に変化させるフィルタ処理が行われる。
すなわち、フィルタ処理部89は、目標トルク線L1、L12の選択が切り替えられた場合に、特性89aにしたがいフィルタ処理が施された目標トルク値Tp_comを出力する。目標トルク線L1、L12の選択が切り替えられた場合に、切り替え前の目標トルク線(たとえば第2の目標トルク線L12)上のポンプ目標吸収トルク(第2のポンプ目標吸収トルクTp_com2)から、切り替え後の目標トルク線(第1の目標トルク線L1)上のポンプ目標吸収トルク(第2のポンプ目標吸収トルクTp_com1)へとそのまま切り替え出力するのではなくて、時間tをかけて徐々に切り替え前の目標トルク線(第2の目標トルク線L12)上のポンプ目標吸収トルク(第2のポンプ目標吸収トルクTp_com2)から、切り替え後の目標トルク線(第1の目標トルク線L1)上のポンプ目標吸収トルク(第2のポンプ目標吸収トルクTp_com1)へと滑らかに到達させる。
図16を用いて説明すると、第2の目標トルク線L12上の点Gにおける第2のポンプ目標吸収トルクTp_com2から、第1の目標トルク線L1上の点Hにおける第1のポンプ目標吸収トルクTp_com1に向けて徐々に時間をかけて変化する。
これによりトルクが急激に変化することでオペレータや車体に与えるショックを抑制するとともに、操作感覚上の違和感をなくすことができる。
フィルタ処理は、アシストフラグ判定部95の判定結果がTからFに切り替わった場合、同判定結果がFからTに切り替わった場合の両方の場合に行うようにしてもよく、どちらか一方の切り替えが行われたときのみフィルタ処理を行うようにしてもよい。特に、アシストフラグ判定部95の判定結果がTからFに切り替わり第2の目標トルク線L12から第1の目標トルク線L1に切り替わる場合に、フィルタ処理を行わないものとするとトルクが急激に低下してオペレータに大きな操作感覚の違和感を与えることが多い。このため、判定結果がTからFに切り替わり第2の目標トルク線L12から第1の目標トルク線L1に切り替わる場合にはフィルタ処理を施すことが望ましい。
フィルタ処理部89から出力されたポンプ目標吸収トルクTp_comは、制御電流演算部67に与えられる。制御電流演算部67では、ポンプ目標吸収トルクTp_comに対応する制御電流pc-epcが演算される。
記憶装置には、ポンプ目標吸収トルクTp_comの増加に応じて制御電流pc-epcが増加する関数関係67aがデータテーブル形式で記憶されている。
制御電流演算部67では、現在のポンプ目標吸収トルクTp_comに対応する制御電流pc-epcが関数関係67aにしたがい演算される。
コントローラ6からポンプ制御バルブ5に対して制御電流pc-epcが出力されてサーボピストンを介してポンプ制御バルブ5を変化させる。ポンプ制御バルブ5は、油圧ポンプ3の吐出圧PRp(kg/cm2)と油圧ポンプ3の容量q(cc/rev)の積が制御電流pc-epcに対応するポンプ吸収トルクTp_comを超えないように、油圧ポンプ3の斜板の傾転角をPC制御する。
この実施の形態によれば、図16に示すように、エンジン目標回転数が低下するに応じて油圧ポンプ3の目標吸収トルクが小さくなる第1の目標トルク線L1が設定される。また、第1の目標トルク線L1に対して、低回転領域でポンプ目標吸収トルクが大きくなる第2の目標トルク線L12が設定される。
そして、エンジン目標回転数に一致するように、エンジン回転数が制御される。たとえば各操作レバー41〜44の操作量から油圧ポンプ3の負荷が小さいと判断されるときには、エンジン目標回転数が低い回転数nDに設定され、各操作レバー41〜44の操作量から油圧ポンプ3の負荷が大きいと判断されるときには、エンジン目標回転数が高い回転数nEに設定される。
そして、エンジン目標回転数とエンジン2の実際の回転数との偏差が所定のしきい値以上になっているか否かが、つまり発電電動機11によってエンジン2をアシストすべきか否かが判定される。
エンジン目標回転数とエンジン2の実際の回転数との偏差が所定のしきい値以上になっていない場合には、第1の目標トルク線L1が選択され、エンジン目標回転数に対応する第1の目標トルク線L1上のポンプ目標吸収トルクが得られるように、油圧ポンプ3の容量が制御される。
このためエンジン目標回転数が低回転nDに設定されているときには、ガバナは、エンジン目標回転数nDに対応するレギュレーションラインFeD上において、第1の目標トルク線L1と交差する点Dを上限トルク値として、エンジン2と油圧ポンプ吸収トルクがつりあうように燃料噴射量を増減する。静的には第1の目標トルク線L1上の点Dでマッチングする。
またエンジン目標回転数が高回転nEに設定されているときには、ガバナは、エンジン目標回転数nEに対応するレギュレーションラインFeE上において、第1の目標トルク線L1と交差する点Eを上限トルク値として、エンジン2と油圧ポンプ吸収トルクがつりあうように燃料噴射量を増減する。静的には第1の目標トルク線L1上の点Eでマッチングする。
このため発電電動機11によるアシストが行われていないときには、比較例と同様に、エンジン2は目標トルク線L1に沿って制御されるため、燃費向上、ポンプ効率およびエンジン効率の向上、騒音低減、エンスト防止等の効果が得られる。
エンジン目標回転数とエンジン3の実際の回転数との偏差が所定のしきい値以上になっている場合には、発電電動機11が電動作用される。発電電動機11が電動作用された結果、図16に破線で示すトルク分がエンジントルクに加算される。
また、同しきい値以上になっている場合には、第2の目標トルク線L12が選択され、エンジン回転数に対応する第2の目標トルク線L12上のポンプ目標吸収トルクが得られるように、油圧ポンプ3の容量が制御される。
ここで、たとえば掘削作業を開始すべく操作レバー41等を中立位置から倒した場合を考える。この場合、エンジン回転数を低回転から高回転の高負荷のマッチング点Eまで上昇させる必要がある。
アシスト制御を行わない場合には、図17の経路LN1に沿ってエンジン2が加速する。掘削作業開始の初期の段階では、エンジン回転を上昇(過渡時)させながら作業機等を作動させる必要がある。発電電動機2によるアシストや第2の目標トルク線L12への移行がない場合、エンジン回転上昇時の初期の段階で、油圧ポンプ3の吸収トルクが小さくなってしまう。このため操作レバーの動きに対して作業機の動きだしが遅くなり、作業効率の低下を招くとともに、オペレータに操作感覚の違和感を与える。
この実施の形態では、発電電動機11によるアシストを加えているので、経路LN2に沿ってエンジン2が加速する。この場合、発電電動機2によるアシストがあるため、エンジン回転上昇時の初期の段階で、油圧ポンプ3の吸収トルクが大きくなる。このため操作レバーの動きに対して作業機の動きだしが早くなり、作業効率の低下を抑制でき、オペレータに与える操作感覚の違和感を軽減できる。
実施の形態の場合には、図18の経路LN3に沿ってエンジン2が加速する。実施の形態によれば、低回転から第2の目標トルク線L12上の点Fを経てE点に到達する。すなわち操作レバー41等を倒した直後に即座に油圧ポンプ吸収トルクが高トルクとなる点Fに達するため、操作レバーの動きに対して作業機の動きだしが早くなる。このためエンジン2を加速させつつ作業機を、操作レバーの動きに遅れなく、瞬時に力強く動かすことができる。これにより作業効率が向上し、オペレータに操作感覚の違和感を与えることがない。なお、仮に、発電電動機11によるアシストなくして(図18に示す斜線部分なくして)、第2の目標トルク線L12に移行させようとすると、エンジン2に過負荷がかかるおそれがある。この実施の形態では、発電電動機11によるアシストを前提として、第2の目標トルク線L12への移行を保証している。
特に、リリーフ時の高負荷圧状態においてエンジン回転数を下げるようにしているので、エンジン目標回転数と実エンジン回転数との偏差が大きくなり、リリーフ解放状態に移行した直後、エンジン目標回転数は、上昇するが、実エンジン回転数は低い状態のままとなり、実エンジン回転数がエンジン目標回転数に移行するまで時間がかかる。この実施の形態では、この大きな偏差が生じた場合にアシスト制御を行うようにしているので、迅速に実エンジン回転数をエンジン目標回転数に復帰させることができ、作業量の低下をほとんど感じることなく、作業を行うことができる。
この実施の形態では、エンジン効率、ポンプ効率等の向上を図りつつ、オペレータの意思通りに応答性よく作業機等を作動させることができる。
なお、この実施の形態は、図21に示した建設機械のように、発電機/モータおよび蓄電器をもたず、アシスト作用を有しない建設機械にも適用できる。図19は、この発明の実施の形態の変形例にかかる建設機械の概要構成を示すブロック図である。また、図20は、図19に示したコントローラの制御フローを示す図である。この建設機械は、発電機/モータおよび蓄電器をもたず、これらに関する制御以外は、図2に示したコントローラと同じ制御フローを行う。
なお、この建設機械では、図20に示したポンプ吸収トルク演算部66が、エンジン目標回転数n_comに対応する油圧ポンプ3の目標吸収トルクTp_comを演算する。
コントローラ6内の記憶装置には、エンジン目標回転数n_comの増加に応じて油圧ポンプ3の目標吸収トルクTp_comが増加する関数関係66aがデータテーブル形式で記憶されている。この関数66aは、図7に示すトルク線図上の目標トルク線L1に対応するカーブである。
図7は、図22と同様にエンジン2のトルク線図を示しており、横軸にエンジン回転数n(rpm;rev/min)をとり、縦軸にトルクT(N・m)をとっている。関数66aは、図7に示すトルク線図上の目標トルク線L1に対応している。
ポンプ吸収トルク演算部66では、現在のエンジン目標回転数n_comに対応する油圧ポンプ3の目標吸収トルクTp_comが、関数66aにしたがって演算される。
制御電流演算部67では、ポンプ目標吸収トルクTp_comに対応する制御電流pc-epcが演算される。
コントローラ6内の記憶装置には、ポンプ目標吸収トルクTp_comの増加に応じて制御電流pc-epcが増加する関数関係67aがデータテーブル形式で記憶されている。
制御電流演算部67では、現在のポンプ目標吸収トルクTp_comに対応する制御電流pc-epcが関数関係67aにしたがって演算される。
コントローラ6からポンプ制御バルブ5に対して制御電流pc-epcが出力されてサーボピストンを介してポンプ制御バルブ5を変化させる。ポンプ制御バルブ5は、油圧ポンプ3の吐出圧PRp(kg/cm2)と油圧ポンプ3の容量q(cc/rev)の積が制御電流pc-epcに対応するポンプ吸収トルクTp_comを超えないように、油圧ポンプ3の斜板の傾転角をPC制御する。
なお、この実施の形態は、建設機械1の上部旋回体を電動アクチュエータで旋回作動させる電動旋回システムを搭載した建設機械にも適用できる。
なお、上述した実施の形態において、操作手段41〜44が非操作の状態から操作状態に切り替わったことの判定は、これに限定されるわけではなく、操作手段41〜44の操作量が所定のしきい値よりも大きい場合に、操作手段41〜44が非操作の状態から操作状態に切り替わったものと判定してもよい。