以下、図面を参照してこの発明の実施の形態であるエンジンの制御装置並びにエンジンおよび油圧ポンプの制御装置について説明する。なお、この実施の形態では、油圧ショベルなどの建設機械に搭載されるディーゼルエンジンおよび油圧ポンプを制御する場合について説明する。
(実施の形態1)
図1は、この発明の実施の形態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の出力軸には、油圧ポンプ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に加えられる。同様に、操作レバー44の傾動量に応じたパイロット圧(PPC圧)PRtlが、左走行用操作弁26のパイロットポート26aに加えられる。
パイロット圧PRtrとパイロット圧PRtlのうちの高い方の圧力が、走行PPC圧スイッチ9へと導かれ、所定の圧力を境界にオンオフの電気信号であるTrvSwをコントローラ6に入力する。
走行速度モード選択スイッチ401は、複数の異なる走行フル操作時の走行最大速度を選択指示するスイッチであり、選択指示する走行速度モードTrvModeの電気信号がコントローラ6に入力される。また、選択指示する走行モードTrvModeの選択状態によって異なる走行操作時の目標回転数が選択される。この走行速度モードTrvModeには、たとえば、低速Low、中速Mid、高速Highの3種類がある。
各操作バルブ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制御と呼ばれている。
コントローラ6は、ガバナを含むエンジンコントローラ4に対して、回転指令値を出力して、現在の油圧ポンプ3の負荷に応じた目標回転数が得られるように燃料噴射量を増減して、エンジン2の回転数nとトルクTを調整する。
つぎに、コントローラ6による制御処理について説明する。図2は、コントローラ6による制御フローを示す図である。図3は、図2に示した目標流量演算部の処理フローを示す図である。また、図4は、図2に示した目標回転数演算部402の処理手順を示すフローチャートである。さらに、図5は、目標回転数演算部402によるモジュレーション処理を説明するタイムチャートである。また、図6は、図2に示したエンジン目標回転数加算値演算部104の処理を示すフローチャートである。さらに、図7は、図2に示したエンジン目標回転数加算値演算部の処理の一例を示した図である。また、図8は、図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に従って演算する。
なお、演算処理上、ブーム上げ操作量、アーム掘削操作量、バケット掘削操作量、右旋回操作量は、プラス符合の操作量として扱い、ブーム下げ操作量、アームダンプ操作量、バケットダンプ操作量、左旋回操作量は、マイナス符合の操作量として扱うものとする。
ポンプ目標吐出流量演算部60は、油圧アクチュエータ目標流量演算部50で演算された各油圧アクチュエータ目標流量Qbo、Qar、Qbk、Qswの総和を、ポンプ目標吐出流量Qsumとして、下記のようにして求める処理を実行する。
Qsum=Qbo+Qar+Qbk+Qsw …(2)
ここで、各油圧アクチュエータの目標流量の総和をポンプ目標吐出流量としているが、各油圧アクチュエータ目標流量Qbo、Qar、Qbk、Qswのうちで最大の目標流量を、油圧ポンプ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)式に従って演算される。
目標回転数演算部402は、走行PPC圧スイッチ9からの信号TrvSwの値がオンのとき、走行速度モード選択スイッチ401からの信号TrvModeが示すエンジン目標回転数と第1のエンジン回転数演算部61から入力される第1のエンジン目標回転数ncom1とを比較して最も大きな回転数を第1のエンジン目標回転数ncom1として出力する。
この目標回転数演算部402の処理手順を図4に示すフローチャートを参照して説明する。図4において、目標回転数演算部402は、まず走行PPC圧スイッチの信号TrvSwを監視し(ステップS101)、この信号TrvSwがオン状態であるか否かを判断する(ステップS102)。信号TrvSwがオン状態でない場合(ステップS102,No)には、エンジン目標回転数n_trv=1000rpmとして設定し(ステップS108)、ステップS109に移行する。
一方、信号TrvSwがオン状態である場合(ステップS102,Yes)には、さらに、走行速度モード選択スイッチ401の信号TrvModeを監視し(ステップS103)、信号TrvModeが何の走行速度モードであるかを判断する(ステップS104)。走行速度モードを示す信号TrvModeがLowである場合には、エンジン目標回転数n_trv=1800rpmとして設定し(ステップS105)、走行速度モードを示す信号TrvModeがMidである場合には、エンジン目標回転数n_trv=1900rpmとして設定し(ステップS106)、走行速度モードを示す信号TrvModeがHighである場合には、エンジン目標回転数n_trv=2000rpmとして設定し(ステップS107)、それぞれステップS109に移行する。
ステップS109では、第1のエンジン目標回転数ncom1を取得し、その後、エンジン目標回転数n_trvが第1のエンジン目標回転数ncom1よりも大きいか否かを判断する(ステップS110)。エンジン目標回転数n_trvが第1のエンジン目標回転数ncom1よりも大きい場合(ステップS110,Yes)には、第1のエンジン目標回転数ncom1の値をエンジン目標回転数n_trvの値として出力し(ステップS111)、エンジン目標回転数n_trvが第1のエンジン目標回転数ncom1よりも大きくない場合(ステップS110,No)には、第1のエンジン目標回転数ncom1の値をそのままエンジン目標回転数ncom1として出力し(ステップS112)、ステップS101に移行し、上述した処理を繰り返す。
また、目標回転数演算部402は、走行PPC圧スイッチがオン、オフしたタイミングで、モジュレーションをかけるようにしている。たとえば、図5に示すように、入力された目標回転数ncom1(図5(a))と走行PPC圧スイッチのオンオフ信号(図5(b))とが入力された場合、走行PPC圧スイッチのオンオフ信号に変化する目標回転数n_trvに対し、その変化時点後にモジュレーションM1,M2をかける処理を行う(図5(c))。その後、最も大きな回転数をもつ目標回転数ncom1が出力され(図5(d))、最終的なエンジン回転数EngSpdは、図5(e)に示すように、滑らかなものとなる。なお、目標回転数n_trvがオンするときのモジュレーションM1とオフするときのモジュレーションM2とに対して、時間を変えたモジュレーションを行うようにしてもよい。
なお、上述した目標回転数演算部402では、第1のエンジン目標回転数ncom1として、現在のポンプ目標吐出流量Qsumに対応して第1のエンジン回転数演算部61が演算したものを用いているが、これに限らず、たとえば、図1に示したスロットダイヤル403によって設定された値に対応する固定のエンジン目標回転数を、第1のエンジン目標回転数ncom1として制御するようにしてもよい。
コントローラ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は、時定数T1(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は、図29に示した目標エンジン運転線L0と同じである図9に示した目標トルク線L1に、そのときのエンジン回転数を乗算した目標馬力線から、所定馬力分、下げた負荷感知境界線である。
コントローラ6内のエンジン目標回転数加算値演算部104は、図6に示したフローチャートに従ってエンジン目標回転数加算値ncom_addを出力する。図6において、エンジン目標回転数加算値演算部104は、まず、初期値として、ncom_add「0」に設定する(ステップS201)。その後、エンジン出力演算部102からエンジン出力Peと、目標エンジン出力演算部103から目標エンジン出力Pe_aimとを取得する(ステップS202)。ここで、目標エンジン出力演算部103は、初期値として第1のエンジン目標回転数ncom1を用いて目標エンジン出力Pe_aimを出力し、その後の演算では、第2のエンジン目標回転数ncom2を用いて順次目標エンジン出力Pe_aimを出力する。
さらに、エンジン目標回転数加算値演算部104は、このエンジン出力Peから目標エンジン出力Pe_aimを除算した値に変換係数Ieを乗算した値Iaddを算出する(ステップS203)。この値Iaddは、エンジン回転数に変換された値である。
その後、エンジン目標回転数加算値演算部104は、目標流量演算部50が出力するポンプ吐出流量目標値Qsumの値が増加方向に変化しているか、あるいは増加後に値が固定している状態であるか否かを判断する(ステップS204)。ポンプ吐出流量目標値Qsumの値が増加方向に変化、あるいは増加後に固定している状態でない場合(ステップS204,No)には、値Iaddをエンジン目標回転数加算値ncom_addに加算する処理を行う(ステップS206)。
一方、ポンプ吐出流量目標値Qsumの値が増加方向に変化、あるいは増加後に固定している状態である場合(ステップS204,Yes)には、さらに、値Iaddが負であるか否かを判断する(ステップS205)。値Iaddが負でない場合(ステップS205,No)には、ステップS206に移行して、値Iaddをエンジン目標回転数加算値ncom_addに加算する処理を行う。一方、値Iaddが負である場合(ステップS205,Yes)には、値Iaddの加算処理を行わずに、ステップS207に移行する。
すなわち、このステップS104〜106の処理では、目標流量演算部50が出力するポンプ吐出流量目標値Qsumの値が増加方向に変化しているか、あるいは増加後に値が固定している状態である場合であって、値Iaddが負である場合には、値Iaddをエンジン目標回転数加算値ncom_addに加算する処理を行わないようにしている。具体的には、図7に示すように、ポンプ吐出流量目標値Qsumの増加分ΔQsumが0以上である場合に、値Iaddが負になっても、エンジン目標回転数加算値ncom_addから値Iaddの絶対値分を減じる処理を行わず、現在の第2のエンジン目標回転数ncom2を維持する処理を行う。これは、ポンプ吐出流量目標値Qsumが0以上である場合、たとえ値Iaddが負になっても、レバー操作によって操作者がパワーを減じる意思があるまでエンジン目標回転数を下げないようにして制御系を安定させるためである。
その後、エンジン目標回転数加算値ncom_addが正であるか否かを判断する(ステップS207)。エンジン目標回転数加算値ncom_addが正である場合(ステップS207,Yes)には、さらに、全レバー入力(レバーポテンショ信号)がニュートラル状態あるいはその近傍であるか否かを判断する(ステップS208)。全レバー入力がニュートラル状態あるいはその近傍でない場合(ステップS208,No)には、さらに、後述するアシストフラグassist_flagがTrueであるか否かを判断する(ステップS209)。
そして、エンジン目標回転数加算値ncom_addが正であって(ステップS207,Yes)、全レバー入力がニュートラル状態あるいはその近傍でなくて(ステップS208,No)、アシストフラグassist_flagがTrueでない場合(ステップS209,No)に、エンジン目標回転数加算値ncom_addを第1のエンジン目標回転数ncom1に付加する処理を行って(ステップS210)、第2のエンジン目標回転数ncom2(補正エンジン目標回転数に相当)を生成し、ステップS202に移行し、上述した処理を繰り返す。
一方、エンジン目標回転数加算値ncom_addが正でない場合(ステップS207,No)、全レバー入力がニュートラル状態あるいはその近傍である場合(ステップS208,Yes)、あるいはアシストフラグassist_flagがTrueである場合(ステップS209,Yes)には、エンジン目標回転数加算値ncom_addを第1のエンジン目標回転数ncom1に付加する処理を行わずに、現在の第1のエンジン目標回転数ncom1をそのまま第2のエンジン目標回転数(補正エンジン目標回転数に相当)として出力し、ステップS202に移行し、上述した処理を繰り返す。
これは、エンジン目標回転数加算値ncom_addが正でない場合、負荷感知境界線に近づいておらず、負荷が大きくないことを意味し、エンジン回転数を増大させる必要がないからである。また、全レバー入力がニュートラル状態あるいはその近傍である場合には、操作者の意思を優先するからである。さらに、アシストフラグassist_flagがTrueである場合、エンジン回転数を増大させるまでもなく、電動モータによってアシストされるからである。
このようにして出力されるエンジン目標回転数加算値ncom_addは、加算部105によって第1のエンジン目標回転数ncom1に加算され、第2のエンジン目標回転数ncom2として出力される。また、この第2のエンジン目標回転数ncom2は、分岐部106を介して目標エンジン出力演算部103に出力される。
コントローラ6内の最大値選択部64は、第2のエンジン目標回転数ncom2、第3のエンジン目標回転数ncom3のうちのいずれか高い方のエンジン目標回転数ncom23を選択する。
一方、ポンプ出力制限演算部70は、図8に示すフローに従って処理する。なお、以下では、判断結果TRUEをTと略記するとともに、判断結果FALSEをFと略記する。
複数の油圧アクチュエータ21〜26の作業パターンは、「走行操作」という操作パターン(1)であると判断し、その「走行操作」という作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ポンプ出力制限演算部70では、複数の油圧アクチュエータ21〜26の作業パターンに応じて、油圧ポンプ3の出力(馬力)制限値Pplimitが演算される。
油圧ポンプ3の出力制限値として、予めPplimit1、Pplimit3、Pplimit4、Pplimit5、Pplimit6が演算される。油圧ポンプ3の出力制限値の大きさは、図11に示すトルク線図上で示されるように、Pplimit1、Pplimit2、Pplimit3、Pplimit4、Pplimit5、Pplimit6の順番で順次小さくなるものとして設定されているものとする。
各ステップ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よりも大きいか否かが判断される。
ステップ72の判断がTでステップ73の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「旋回操作とブーム下げ操作」という作業パターン(2)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit6に設定される。
ステップ72の判断がTでステップ73の判断がFでステップ74の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「旋回操作とブーム下げ以外の作業機操作」という作業パターン(3)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ステップ72の判断がTでステップ73の判断がFでステップ74の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「旋回操作の単独操作」という作業パターン(4)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit6に設定される。
ステップ72の判断がFでステップ75の判断がTでステップ76の判断がTでステップ77の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム掘削操作とバケット掘削操作で負荷が小さいとき(たとえば土砂を抱え込む作業)」という作業パターン(5)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit2に設定される。
ステップ72の判断がFでステップ75の判断がTでステップ76の判断がTでステップ77の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム掘削操作とバケット掘削操作で負荷が大きいとき(たとえばアームとバケットの同時操作による掘削作業)」という作業パターン(6)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ステップ72の判断がFでステップ75の判断がTでステップ76の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム掘削操作」という作業パターン(7)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
ステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断がTでステップ80の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム排土操作とバケット排土操作で負荷が大きいとき(たとえばアームとバケットの同時排土操作による土砂押し作業)」という作業パターン(8)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit3に設定される。
ステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断がTでステップ80の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム排土操作とバケット排土操作で負荷が小さいとき(たとえば空中でアームとバケットを同時に返す作業)」という作業パターン(9)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit5に設定される。
ステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断Fでステップ81の判断がTである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム単独排土操作で負荷が大きいとき(たとえばアーム排土作業による土砂押し作業)」という作業パターン(10)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit3に設定される。
ステップ72の判断がFでステップ75の判断がFでステップ78の判断がTでステップ79の判断Fでステップ81の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「アーム単独排土操作で負荷が小さいとき(たとえば空中でアームを返す作業)」という作業パターン(11)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit5に設定される。
ステップ72の判断がFでステップ75の判断がFでステップ78の判断がFである場合には、複数の油圧アクチュエータ21〜26の作業パターンは、「その他の作業」という作業パターン(12)であると判断し、その作業パターンに適合するように、油圧ポンプ3の出力制限値Pplimitが、Pplimit1に設定される。
つぎに、コントローラ6内の第4のエンジン目標回転数演算部63は、ポンプ出力制限演算部70で演算された油圧ポンプ3の出力(馬力)制限値Pplimitに対応する第4のエンジン目標回転数ncom4を演算する。
コントローラ6内の記憶装置には、油圧ポンプ3の出力制限値Pplimitの増加に応じて第4のエンジン目標回転数ncom4が増加する関数関係63aがデータテーブル形式で記憶されている。
第4のエンジン回転数演算部63では、現在の複数の油圧アクチュエータ21〜26の作業パターン、つまり油圧ポンプ3の出力制限値Pplimitに対応する第4のエンジン目標回転数ncom4が関数関係63aにしたがって演算される。
最小値選択部65では、最大値選択部64で選択されたエンジン目標回転数ncom23と、第4のエンジン目標回転数ncom4のうちのいずれか低い方のエンジン目標回転数ncomが選択される。
コントローラ6は、エンジンコントローラ4に対して、エンジン回転数nを目標回転数ncomにするための回転指令値を出力し、コントローラ4は、図9に示す目標トルク線L1上でエンジン目標回転数ncomが得られるように燃料噴射量を増減する。
ポンプ吸収トルク演算部66では、エンジン目標回転数ncomに対応する油圧ポンプ3の目標吸収トルクTpcomが演算される。
コントローラ6内の記憶装置には、エンジン目標回転数ncomの増加に応じて油圧ポンプ3の目標吸収トルクTpcomが増加する関数関係66aがデータテーブル形式で記憶されている。この関数66aは、図9に示すトルク線図上の目標トルク線L1に対応するカーブである。
図9は、図29と同様にエンジン2のトルク線図を示しており、横軸にエンジン回転数n(rpm;rev/min)をとり、縦軸にトルクT(N・m)をとっている。関数66aは、図9に示すトルク線図上の目標トルク線L1に対応している。
ポンプ吸収トルク演算部66では、現在のエンジン目標回転数ncomに対応する油圧ポンプ3の目標吸収トルクTpcomが、関数66aにしたがって演算される。
制御電流演算部67では、ポンプ目標吸収トルクTpcomに対応する制御電流pc-epcが演算される。
コントローラ6内の記憶装置には、ポンプ目標吸収トルクTpcomの増加に応じて制御電流pc-epcが増加する関数関係67aがデータテーブル形式で記憶されている。
ポンプ吸収トルク演算部66では、現在のポンプ目標吸収トルクTpcomに対応する制御電流pc-epcが関数関係67aにしたがって演算される。
コントローラ6からポンプ制御バルブ5に対して制御電流pc-epcが出力されてサーボピストンを介してポンプ制御バルブ5を変化させる。ポンプ制御バルブ5は、油圧ポンプ3の吐出圧PRp(kg/cm2)と油圧ポンプ3の容量q(cc/rev)の積が制御電流pc-epcに対応するポンプ吸収トルクTpcomを超えないように、油圧ポンプ3の斜板の傾転角をPC制御する。
ここで、図9に示すように、エンジン回転数nの減少に伴いポンプ吸収トルクTpcomが小さくなる目標トルク線L1にしたがってエンジン2および油圧ポンプ3を制御すると、燃費、エンジン効率、ポンプ効率の向上が図られ、騒音が低減され、エンストが防止されるなどの効果が得られるものの、エンジン2の応答性が悪いという問題がある。たとえば掘削作業を開始しようとして操作レバー41等を中立位置から倒してエンジン2が低回転から上昇させようとしても、レバー倒し始めの初期の段階(過渡状態)では油圧ポンプ3の負荷が急激に上昇するためにエンジン出力がポンプ吸収馬力分のパワーに対して余裕がなくエンジン2を加速するためのパワーが不足する。このためエンジン2を目標回転数まで上昇させられないか、あるいは極めて緩慢にしか上昇しないことがある。
この点、この実施の形態1では、現在のポンプ目標吐出流量Qsumに適合する第1のエンジン目標回転数ncom1にエンジン目標回転数加算値ncom_addが加算された第2のエンジン目標回転数ncom2を設定する一方で、現在のポンプ目標吐出流量Qsumが所定の流量Qminよりも大きいことが判定された場合には、エンジンローアイドル回転数nLよりも大きい回転数nM(たとえば1400rpm)が第3のエンジン目標回転数ncom3として設定される。そして、第3のエンジン目標回転数ncom3が、第2のエンジン目標回転数ncom2以上であれば、第3のエンジン目標回転数ncom3が得られるようにエンジン回転数が制御される。また、第3のエンジン目標回転数ncom3に対応するポンプ吸収トルクが得られるように油圧ポンプ3が制御される。
このため、たとえば掘削作業を開始しようとして操作レバー41等を中立位置から倒した場合に、油圧ポンプ3の負荷が急激に上昇する前にエンジン回転数が予め上昇してエンジントルクが上昇するためエンジン2を加速するためのパワーに余裕が生じる。このためエンジン2を低回転域から目標回転数まで迅速に上昇させることができエンジン2の応答性が向上する。
また、この実施の形態1では、エンジン目標回転数加算値演算部104によって、第1のエンジン目標回転数ncom1にエンジン目標回転数加算値ncom_addを加算するようにしている。エンジン目標回転数加算値演算部104は、第2のエンジン目標回転数ncom2に対応する目標エンジン出力Pe_aimに比して現在のエンジン出力Peが大きくなった場合に、その差に応じたエンジン目標回転数加算値ncom_addを第1のエンジン目標回転数ncom1に加算して、エンジン回転数を増速するようにしている。
図9および図10を参照して、エンジン目標回転数加算値演算部104によるエンジン回転数の増速処理を説明する。なお、説明の便宜上、馬力ではなくトルク線図を用いて説明する。図9は、エンジン回転数に対するエンジントルクの変化を示すトルク線図である。このトルク線図は、図29に示したトルク線図と同じであり、目標エンジン運転線L0が目標トルク線L1に相当する。負荷感知トルク境界線L2は、目標トルク線L1よりも所定トルク分低くした線であり、これにエンジン回転数を乗算した線が負荷感知境界線となり、目標エンジン出力演算部103の関数関係103aとなる。負荷感知トルク境界線L2は、目標トルク線L1と負荷感知トルク線L2とによって囲まれる領域を負荷感知領域Eとし、この負荷感知領域Eの境界であることを示している。すなわち、負荷感知領域Eを、目標トルク線L1に、ある程度近づいた領域として定義し、この負荷感知領域Eに近づいた場合、建設機械が出力を要求しているとみなして、エンジン回転数を増速するようにしている。
図10は、レバー入力があった場合におけるエンジン回転数とトルクの時間変化を示した図である。図9および図10において、状態「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による増速処理が行われなくなる。
このようにして、この実施の形態1では、エンジン回転数およびトルクの状態が負荷感知領域Eに入ったときに、出力の増大が要求されているとして、エンジン回転数を増大させている。特に、レバー操作後にかかる負荷に対して再度レバー操作を行わずに、自動的にエンジン回転数を増大させて出力増大を行うようにしているので、オペレータにかかる操作性を改善することができる。すなわち、大きな負荷がかかった場合に、自動的に出力増大を行うようにしている。
また、この実施の形態1では、現在のポンプ目標吐出流量Qsumに適合する第1のエンジン目標回転数ncom1にエンジン目標回転数加算値ncom_addが加算された第2のエンジン目標回転数ncom2を設定する一方で、複数の油圧アクチュエータ21〜26の作業パターンに応じて、油圧ポンプ3の出力制限値Pplimitが設定され、これに対応する第4のエンジン目標回転数ncom4が設定される。第4のエンジン目標回転数ncom4がエンジン目標回転数ncom23以下であれば第4のエンジン目標回転数ncom4が得られるようにエンジン回転数が制御され、第4のエンジン目標回転数ncom4に対応するポンプ吸収トルクが得られるように油圧ポンプ3が制御される。このためポンプ吸収トルクを適切な値に定めることができ必要以上の無駄なエネルギー消費を抑えることができる。
さらに、この実施の形態1では、油圧センサ8と走行PPC圧スイッチ9という簡易な構成とオンオフ信号という簡易な信号をもとに低速マッチング制御を行っているので、コストの低減を促進することができる。
さらに、走行速度モードスイッチ401によって第1の目標回転数ncom1を変えるようにしているため、必要最小限のエンジン回転数とすることができ、省エネルギー化を促進することができる。なお、走行速度モードが低速のLowであっても、上述したエンジン目標回転数加算値演算部104によって増速処理が行われるので、たとえば、登坂などのエンジン出力が必要な場合に、負荷に応じてエンジン回転数を上昇させて、必要なエンジン出力を得ることができる。
また、この実施の形態1では、目標回転数演算部402がモジュレーション処理を行うようにしているので、走行軌道の立ち上がりなどが滑らかになり、乗り心地が向上する。また、走行操作後の急激なエンジン回転数変動を和らげることができるので、操作性が向上する。さらに、走行前後進切替時の操作感も向上する。すなわち、走行ペダルを前進から後進に切り替えた場合、走行ペダルは一度ニュートラルを通過するため、切替の都度、エンジン回転数が大きく変化するが、モジュレーションを行うようにしているので、操作感が向上することになる。
なお、上述した実施の形態1において、操作手段41〜44が非操作の状態から操作状態に切り替わったことの判定は、これに限定されるわけではなく、操作手段41〜44の操作量が所定のしきい値よりも大きい場合に、操作手段41〜44が非操作の状態から操作状態に切り替わったものと判定してもよい。
なお、第1の目標エンジン回転数の設定の仕方は、任意である。たとえば、従来技術で説明したのと同様に、燃料ダイヤルによりエンジン2の回転数を設定し、この燃料ダイヤルの設定値に応じて、エンジン2の第1の目標エンジン回転数ncom1を設定することができる。
(実施の形態2)
つぎに、この発明の実施の形態2について説明する。この発明の実施の形態2の建設機械201は、図1に示した建設機械1を前提とし、図1に示した建設機械1に対してPTO軸10、発電電動機11、蓄電器12、インバータ13、回転センサ14、電圧センサ15が付加され、発電電動機11による電動作用、発電作用が行われる。
すなわち、図12に示すように、エンジン2の出力軸は、PTO軸10を介して油圧ポンプ3の駆動軸および発電電動機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に供給する。なお本明細書では静電気として電力を蓄積するキャパシタや鉛電池、ニッケル水素電池、リチウムイオン電池等の蓄電池も含めて「蓄電器」と称するものとする。
発電電動機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の発電量(吸収トルク量)、電動量(アシスト量;発生トルク量)は、上記発電電動機指令値GENcomの内容に応じて変化する。
ここで、図13から図15を参照して、建設機械201のコントローラ6による制御処理について説明する。
図13に示した処理は、図2に示した処理と同じであり、実施の形態1と同様に、最小値選択部65でエンジン目標回転数ncomが選択されると、図14に示す制御フローに移行し、図14に示す制御処理がなされる。
なお、以下ではエンジン回転数、エンジン目標回転数をそれぞれ、発電電動機回転数、発電電動機目標回転数に変換した上で演算処理を行うようにしているが、下記の説明において発電電動機回転数、発電電動機目標回転数をそれぞれエンジン回転数、エンジン目標回転数に置換して同様の演算処理を行う実施も可能である。
発電電動機目標回転数演算部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は、図15に示すように、まず、偏差演算部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をアシストさせるようにしているのは、現在のエンジン回転数と目標回転数とが離れている場合にエンジン目標回転数に向けて迅速にエンジン回転数を上昇させるためである。
また、回転数偏差Δ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に到達させる。
図16〜図19に示したトルク線図を参照してモジュレーション処理を行わなかった場合に対してモジュレーション処理を行った場合の効果について説明する。
図16は、エンジン加速時にモジュレーション処理無しの場合のガバナの動きを説明する図であり、図17は、エンジン加速時にモジュレーション処理有りの場合のガバナの動きを説明する図である。図18は、エンジン減速時にモジュレーション処理無しの場合のガバナの動きを説明する図であり、図19は、エンジン減速時にモジュレーション処理有りの場合のガバナの動きを説明する図である。ガバナとしてメカガバナを使用すると、実際のエンジン回転数よりもガバナが指定する回転数が遅れるという問題がある。
図16および図17に示すように、油圧ポンプ3の負荷が大きいときに低回転のマッチング点P0から高回転側にエンジン2を加速させる場合を考える。図16および図17において、P2はエンジントルクに対応し、エンジントルクにアシスト分のトルクを加えたものが、エンジン2と発電電動機11を合わせた全トルクP3となる。P1はポンプ吸収トルクに対応し、ポンプ吸収トルクに加速トルクを合わせたものが全トルクP3に対応している。
図16に示すようにモジュレーション処理無しの場合には、エンジン目標回転数とエンジン実回転数との偏差に応じたアシストトルクが発生する。偏差が大きい場合には、その大きな偏差に対応して、発電電動機11によるアシストトルクが大きくなる。このためガバナの動きよりもエンジン2が早く加速して、ガバナが指定する回転数よりも実回転数の方が大きくなる。エンジン2が早く加速するとガバナの調整により燃料噴射量が減りエンジントルクが減少する。このためエンジン2を発電電動機11によってアシストしているにもかかわらずエンジン2がフリクションとなってしまい、エンジン2の加速度が上がらないことになる。このため燃料噴射量を減らしながら、エンジントルクを減少させながら、エンジン2がロスとなってエンジン2が加速することなり、エネルギーロスを招くとともに、エンジン2が十分に加速しないという結果を招く。
これに対して図17に示すようにモジュレーション処理有りの場合には、エンジン目標回転数にモジュレーション処理が施されて、エンジン目標回転数とエンジン実回転数との偏差が小さくなり、これに応じて、発電電動機11で小さいアシストトルクが発生する。このためガバナの動きがエンジン2の加速に追従し、ガバナが指定する回転数が実回転数に一致する。このためエネルギーロスが低減され、エンジン2が十分に加速する。
つぎにエンジン2を減速させる場合について説明する。図18および図19に示すように、油圧ポンプ3の負荷が大きいときに高回転のマッチング点P0から低回転側にエンジン2を減速させる場合を考える。
図18および図19において、P2はエンジントルクに対応し、エンジントルクに回生トルクを加えたものが、エンジン2と発電電動機11を合わせた全トルクP3となる。P1はポンプ吸収トルクに対応し、ポンプ吸収トルクに減速トルクを合わせたものが全トルクP3に対応している。
図18に示すようにモジュレーション処理無しの場合には、エンジン目標回転数とエンジン実回転数との偏差に応じた回生トルクが発生する。偏差が大きい場合には、その大きな偏差に対応して、発電電動機11による回生トルクが大きくなる。このためガバナの動きよりもエンジン2が早く減速して、ガバナが指定する回転数よりも実回転数の方が小さくなる。エンジン2が早く減速するとガバナの調整により燃料噴射量が増加しエンジントルクが増大する。このためエンジン2はトルクを増加させつつ発電電動機11で発電しながらエンジン2が減速することになる。この結果、エンジン2がトルクを上げつつ、発電電動機11によって、増加するエンジンエネルギーを回収しながら、エンジン2が減速することになり、無駄な発電が行われ、燃料を無駄に消費することになる。
これに対して図19に示すようにモジュレーション処理有りの場合には、エンジン目標回転数にモジュレーション処理が施されて、エンジン目標回転数とエンジン実回転数との偏差が小さくなり、これに応じて、発電電動機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(図2に示すポンプ吸収トルク演算部66と同じ構成)で演算される。
すなわち、第1のポンプ目標吸収トルクTpcom1は、図20のトルク線図における第1の目標トルク線L1上のトルク値として与えられる。第1の目標トルク線L1は、エンジン目標回転数nが低下するに応じて油圧ポンプ3の目標吸収トルクTp_com1が小さくなるような目標トルク線として設定されている。
第2のポンプ目標吸収トルクTpcom2は、第2のポンプ目標吸収トルク演算部85で演算される。すなわち、第2のポンプ目標吸収トルクTp_com2は、図20のトルク線図における第1の目標トルク線L1に対して、低回転領域でポンプ目標吸収トルクが大きくなる第2の目標トルク線L12上のトルク値として与えられる。
第1のポンプ目標吸収トルク演算部66では、エンジン目標回転数ncomに対応する油圧ポンプ3の第1のポンプ目標吸収トルクTpcom1が演算される。
記憶装置には、エンジン目標回転数ncomの増加に応じて油圧ポンプ3の第1の目標吸収トルクTp_com1が増加する関数関係66aがデータテーブル形式で記憶されている。この関数66aは、図20に示すトルク線図上の第1の目標トルク線L1に対応するカーブである。
図20は、エンジン2のトルク線図を示しており横軸にエンジン回転数n(rpm;rev/min)をとり縦軸にトルクT(N・m)をとっている。関数66aは、図20に示すトルク線図上の目標トルク線L1に対応している。
第1のポンプ目標吸収トルク演算部66では、現在のエンジン目標回転数ncomに対応する第1のポンプ目標吸収トルクTp_com1が関数関係66aにしたがい演算される。
第2のポンプ目標吸収トルク演算部85では、発電電動機回転数GEN_spd(エンジン実回転数)に対応する油圧ポンプ3の第2のポンプ目標吸収トルクTp_com2が演算される。
記憶装置には、発電電動機回転数GEN_spd(エンジン実回転数)に応じて油圧ポンプ3の第2の目標吸収トルクTp_com2が変化する関数関係85aがデータテーブル形式で記憶されている。この関数85aは、図20に示すトルク線図上の第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、つまり図20の目標トルク線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)へと滑らかに到達させる。
図20を用いて説明すると、第2の目標トルク線L12上の点Gにおける第2のポンプ目標吸収トルクTp_com2から、第1の目標トルク線L1上の点Hにおける第1のポンプ目標吸収トルクTp_com2に向けて徐々に時間をかけて変化する。
これによりトルクが急激に変化することでオペレータや車体に与えるショックを抑制するとともに、操作感覚上の違和感をなくすことができる。
フィルタ処理は、アシストフラグ判定部95の判定結果がTからFに切り替わった場合、同判定結果がFからTに切り替わった場合の両方の場合に行うようにしてもよく、どちらか一方の切り替えが行われたときのみフィルタ処理を行うようにしてもよい。特に、アシストフラグ判定部95の判定結果がTからFに切り替わり第2の目標トルク線L12から第1の目標トルク線L1に切り替わる場合に、フィルタ処理を行わないものとするとトルクが急激に低下してオペレータに大きな操作感覚の違和感を与えることが多い。このため、判定結果がTからFに切り替わり第第2の目標トルク線L12から第1の目標トルク線L1に切り替わる場合にはフィルタ処理を施すことが望ましい。
フィルタ処理部89から出力されたポンプ目標吸収トルクTp_comは、図2に示すものと同構成の制御電流演算部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制御する。
この実施の形態2によれば、図20に示すように、エンジン目標回転数が低下するに応じて油圧ポンプ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が電動作用された結果、図20に破線で示すトルク分がエンジントルクに加算される。
また、同しきい値以上になっている場合には、第2の目標トルク線L12が選択され、エンジン回転数に対応する第2の目標トルク線L12上のポンプ目標吸収トルクが得られるように、油圧ポンプ3の容量が制御される。
この実施の形態2の制御について実施の形態1との対比において説明する。ここで、たとえば掘削作業を開始すべく操作レバー41等を中立位置から倒した場合を考える。この場合、エンジン回転数を低回転から高回転の高負荷のマッチング点Eまで上昇させる必要がある。
実施の形態1の場合には、図21の経路LN1に沿ってエンジン2が加速する。掘削作業開始の初期の段階では、エンジン回転を上昇(過渡時)させながら作業機等を作動させる必要がある。実施の形態1の場合には、エンジン2の応答性はよいものの、発電電動機2によるアシストや第2の目標トルク線L12への移行がないため、エンジン回転上昇時の初期の段階で、油圧ポンプ3の吸収トルクが小さくなってしまう。このため操作レバーの動きに対して作業機の動きだしが遅くなり、作業効率の低下を招くとともに、オペレータに操作感覚の違和感を与える。
上述した実施の形態1に対して発電電動機11によるアシストを加えた場合には、経路LN2に沿ってエンジン2が加速する。この場合、発電電動機2によるアシストがあるため、実施の形態1に比べてエンジン回転上昇時の初期の段階で、油圧ポンプ3の吸収トルクが大きくなる。このため操作レバーの動きに対して作業機の動きだしが早くなり、作業効率の低下を抑制でき、オペレータに与える操作感覚の違和感を軽減できる。したがって実施の形態2の変形例として、実施の形態1に対して発電電動機11によるアシストを付加するだけの実施も可能である。
実施の形態2の場合には、図22の経路LN3に沿ってエンジン2が加速する。実施の形態2によれば、低回転から第2の目標トルク線L12上の点Fを経てE点に到達する。すなわち操作レバー41等を倒した直後に即座に油圧ポンプ吸収トルクが高トルクとなる点Fに達するため、操作レバーの動きに対して作業機の動きだしが早くなる。このためエンジン2を加速させつつ作業機を、操作レバーの動きに遅れなく、瞬時に力強く動かすことができる。これにより作業効率が向上し、オペレータに操作感覚の違和感を与えることがない。なお、仮に、発電電動機11によるアシストなくして(図22に示す斜線部分なくして)、第2の目標トルク線L12に移行させようとすると、エンジン2に過負荷がかかるおそれがある。第2実施例では、発電電動機11によるアシストを前提として、第2の目標トルク線L12への移行を保証している。
以上のように、実施の形態2によれば、エンジン効率、ポンプ効率等の向上を図りつつ、オペレータの意思通りに応答性よく作業機等を作動させることができる。
(実施の形態3)
上述した実施の形態2では、建設機械201の上部旋回体を油圧アクチュエータ(油圧モータ)によって旋回作動させる油圧旋回システムを前提として説明したが、この実施の形態3では、建設機械301の上部旋回体を電動アクチュエータで旋回作動させる電動旋回システムを搭載している。
図23は、この発明の実施の形態3である建設機械の概要構成を示すブロック図であり、この建設機械301は、電動旋回システムを搭載している。図23に示すように、この建設機械301は、図1に示した構成に対して、PTO軸10、発電電動機11、蓄電器12、インバータ13、回転センサ14、電圧センサ15が付加されており、発電電動機11による電動作用、発電作用が行われるのは実施の形態2と同様であるが、更に、上部旋回体を電動アクチュエータ(旋回モータ103)で旋回作動させるための構成要素、つまり発電電動機コントローラ310、電流センサ311、旋回コントローラ312、旋回モータ313、旋回速度センサ315が付加されている。
図24〜図27は、建設機械301のコントローラ6で行われる制御処理内容を示す制御フローである。なお、図24の制御フローは、図14の制御フローに対応し、図13に示したエンジン目標回転数ncomが入力される。
図24に示すように、この実施の形態3では、実施の形態2に対して、アシストトルクリミット演算部110、第3のポンプ最大吸収トルク演算部106,最小値選択部107が追加され、実施の形態2の発電電動機指令値切り替え部87の代わりに、発電電動機指令値切り替え部187、287が設けられ、実施の形態2の発電電動機トルク演算部68の代わりに、要求発電量演算部120が設けられている。
図25は、実施の形態2の図15に対応するアシスト有無判定部90の内部構成を示すブロック図であり、図15と重複する部分については説明を省略する。図26は、アシストルクリミット演算部110の詳細な内部構成を示すブロック図である。図27は、要求発電量演算部120の詳細な内部構成を示すブロック図である。
ここで、実施の形態3を説明するにあたり、エンジントルクアシスト作用について定義をしておく。エンジンアシスト作用とは、ガバナや燃料噴射ポンプを調整してエンジン2の回転数をある目標回転数になるように制御しているとき、エンジン実回転数が素早く目標回転数に到達するように、発電電動機11によってエンジン出力軸にトルクを加えることをいう。ここで、「トルクを加える」とは、エンジン回転を加速するときに素早く回転数を増加させるために軸トルクを加算する場合だけではなく、エンジン回転を減速するときに素早く回転数を減少させるために軸トルクを吸収する場合も含む意味で使用する。
つまり、エンジントルクアシスト作用とは、実施の形態2において、発電電動機11を電動作用させてエンジン2をアシストし、発電電動機11を発電作用させてエンジン2を逆アシストさせることに相当する。
エンジントルクアシスト作用の効果は、実施の形態2で説明したように、エンジン回転の加速時には、エンジン加速の応答性が良くなり、作業性が向上するととともに、エンジン回転の減速時には、エンジン軸トルクが吸収されることでエンジン回転数が素早く下がり、エンジン回転数の減速時の騒音や振動が改善される。また、エンジン回転数を下げるときにエンジン軸トルクが吸収されるため、エンジン出力軸周りの慣性が持っていた回転運動エネルギーを回収することができるので、エネルギー効率の面でも向上するという効果が得られる。
これに対して、「エンジントルクアシスト作用をさせない」とは、発電電動機11を発電作用させて、そのエネルギー(電力)を蓄電器12に供給したり、直接、旋回モータ103に供給して電動の上部旋回体を作動させたりすることをいう。
以上のようなエンジントルクアシスト作用させるか、エンジントルクアシスト作用させないようにする制御は、後述するように、コントローラ6からの指令に基づき、発電電動機コントローラ310、旋回コントローラ312が実行する。
なお、図23に示したように、この実施の形態3では、旋回マシナリ314の駆動軸に電動モータとしての旋回モータ313が連結されており、この旋回モータ313が駆動することにより旋回マシナリ314が駆動し、スイングピニオン、スイングサークル等を介して上部旋回体が旋回作動するものである。
旋回モータ313は、発電作用と電動作用を行う。つまり、旋回モータ313は、電動機として作動もし、また発電機としても作動する。旋回モータ313が電動機として作動したときには上部旋回体が旋回作動し、上部旋回体が旋回を停止したときには上部旋回体のトルクが吸収されて旋回モータ313が発電機として作動する。
旋回モータ313は、旋回コントローラ312によって駆動制御される。旋回コントローラ312は直流電源線を介して蓄電器12に電気的に接続されているとともに、発電電動機310に電気的に接続されている。発電電動機コントローラ310は、実施の形態2のインバータ13の機能を含んで構成されている。旋回コントローラ312、発電電動機コントローラ310は、コントローラ6から出力される指令に応じて制御される。
旋回モータ313に供給されている電流、つまり上部旋回体の負荷を示す旋回負荷電流SWG_currは、電流センサ311で検出される。電流センサ311で検出された旋回負荷電流SWG_currは、コントローラ6に入力される。
この実施の形態3では、実施の形態2と同様にして最小値選択部65でエンジン目標回転数ncomが選択されると、以下、図24に示す制御フローに移行して以下に説明する処理が実行される。以下、各制御例について説明する。
(制御例1)
この制御例1では、要求発電量演算部120で、蓄電器12の蓄電状態に応じて、発電電動機11の要求発電量Tgen_comが演算される。
そして、アシスト有無判定部90では、発電電動機11をエンジントルクアシスト作用させるか(判定結果T)、あるいはエンジントルクアシスト作用させないか(判定結果F)が判定される。
そして、アシスト有無判定部90によって、発電電動機11をエンジントルクアシスト作用させる(判定結果T)と判定した場合には、発電電動機指令値切り替え部187がT側、つまりモジュレーション処理部97側に切り替えられて、発電電動機11をエンジントルクアシスト作用させる。この場合、モジュレーション処理部97から発電電動機速度指令値(発電電動機目標回転数)Ngen_comが発電電動機コントローラ310に対して出力される。発電機コントローラ310は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機11を回転数制御し、発電電動機11を電動作用若しくは発電作用させてエンジントルクアシスト作用させる。これに対して、アシスト有無判定部90によって、発電電動機11をエンジントルクアシスト作用させない(判定結果F)と判定した場合には、発電電動機指令値切り替え部187がF側に切り替えられて、発電電動機11の回転数制御がオフにされてエンジントルクアシスト作用されないようになされるとともに、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられて、発電電動機11が、要求発電量演算部120で演算された要求発電量Tgen_comに応じた発電量が得られるように発電作用される。この場合、要求発電量演算部120から要求発電量Tgen_comが、発電電動機トルク指令値(発電電動機目標トルク)として、発電電動機コントローラ310に対して出力される。発電電動機コントローラ310は、これを受けて、発電電動機目標トルクTgen_comが得られるように発電電動機11をトルク制御し、発電電動機11を発電作用させる。この場合、旋回コントローラ312は、発電電動機11で発電された電力を蓄電器12に供給したり、直接、旋回モータ313に供給して電動の上部旋回体を作動させたりする制御を行う。
このように、この制御例1では、エンジントルクアシスト作用の必要性に応じて、エンジントルクアシスト作用させるか、エンジントルクアシスト作用させずに、要求発電量に応じた発電を発電電動機11で行わせるようにしたので、蓄電器12の蓄電量を常に目標とする状態に安定に維持できるとともに、作業機、特に上部旋回体の操作性を常に高いレベルに維持することができる。
(制御例2)
この制御例2では、要求発電量演算部120で、蓄電器12の蓄電状態に応じて、発電電動機11の要求発電量Tgen_comが演算される。
第1のポンプ目標吸収トルク演算部66では、エンジン目標回転数に応じて、油圧ポンプ3が吸収可能な最大吸収トルクを示す第1の最大トルク線66aが設定される。
第2のポンプ目標吸収トルク演算部85では、第1の最大トルク線66aに対して、エンジン低回転領域で最大吸収トルクが大きくなる第2の最大トルク線85aが設定される。
そして、アシスト有無判定部90では、発電電動機11をエンジントルクアシスト作用させるか(判定結果T)、あるいはエンジントルクアシスト作用させないか(判定結果F)が判定される。
そして、アシスト有無判定部90によって、発電電動機11をエンジントルクアシスト作用させる(判定結果T)と判定した場合には、ポンプ吸収トルク指令値切り替え部88がT側、つまり第2のポンプ目標吸収トルク演算部85側に切り替えられて、最大トルク線として第2の最大トルク線85aが選択され、現在のエンジン目標回転数に対応する第2の最大トルク線85a上のポンプ吸収トルクを上限とするポンプ吸収トルクが得られるように油圧ポンプ3の容量が制御される。これに対してアシスト有無判定部90によって、発電電動機11をエンジントルクアシスト作用させない(判定結果F)と判定した場合には、ポンプ吸収トルク指令値切り替え部88がF側、つまり第1のポンプ目標吸収トルク演算部66側に切り替えられて、最大トルク線として第1の最大トルク線66aが選択され、現在のエンジン目標回転数に対応する第1の最大トルク線66a上のポンプ吸収トルクを上限とするポンプ吸収トルクが得られるように油圧ポンプ3の容量が制御される。ポンプ容量の制御は、実施の形態1と同様にコントローラ6からポンプ制御バルブ5に対して制御電流pc-epcを出力しサーボピストンを介して油圧ポンプ3の斜板を変化させることで行う。
また、アシスト有無判定部90によって、発電電動機11をエンジントルクアシスト作用させる(判定結果T)と判定した場合には、発電電動機指令値切り替え部187がT側、つまりモジュレーション処理部97側に切り替えられて、発電電動機11をエンジントルクアシスト作用させる。この場合、モジュレーション処理部97から発電電動機速度指令値(発電電動機目標回転数)Ngen_comが発電電動機コントローラ310に対して出力される。発電機コントローラ310は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機11を回転数制御し、発電電動機11を電動作用若しくは発電作用させてエンジントルクアシスト作用させる。これに対して、アシスト有無判定部90によって、発電電動機11をエンジントルクアシスト作用させない(判定結果F)と判定した場合には、発電電動機指令値切り替え部187がF側に切り替えられて、発電電動機11の回転数制御がオフにされてエンジントルクアシスト作用されないようになされるとともに、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられて、要求発電量演算部120で演算された要求発電量Tgen_comに応じた発電量が得られるように発電電動機11が発電作用される。この場合、要求発電量演算部120から要求発電量Tgen_comが、発電電動機トルク指令値(発電電動機目標トルク)として、発電電動機コントローラ310に対して出力される。発電電動機コントローラ310は、これを受けて、発電電動機目標トルクTgen_comが得られるように発電電動機11をトルク制御し、発電電動機11を発電作用させる。この場合、旋回コントローラ312は、発電電動機11で発電された電力を蓄電器12に供給したり、直接、旋回モータ313に供給して電動の上部旋回体を作動させたりする制御を行う。
このように、この制御例2では、制御例1と同様に、エンジントルクアシスト作用の必要性に応じて、エンジントルクアシスト作用させるか、エンジントルクアシスト作用させずに、要求発電量に応じた発電を発電電動機11で行わせるようにしたので、蓄電器12の蓄電量を常に目標とする状態に安定に維持できるとともに、作業機、特に上部旋回体の操作性を常に高いレベルに維持することができる。
しかも、制御例2では、発電電動機11によってエンジントルクアシスト作用させながら、第1の最大トルク線66aに対して、エンジン低回転領域で最大吸収トルクが大きくなる第2の最大トルク線85a上のポンプ吸収トルクを上限とするポンプ吸収トルクが得られるように油圧ポンプ3の容量を制御するようにしたため、エンジン回転上昇時の初期の段階での油圧ポンプ3の吸収トルクを大きくすることができる。このため操作レバーの動きに対して作業機の動き出しが早くなり、作業効率の低下を抑制でき、オペレータに与える操作感覚の違和感を軽減できる。なお、第2実施例で述べたように、仮に、発電電動機11によってエンジントルクアシスト作用させることなく第2の最大トルク線L12に従って制御しようとすると、エンジン2に過負荷がかかるおそれがある。すなわち、エンジントルクアシスト作用なしで、第2の最大トルク線85aに従って油圧ポンプ3の容量を制御しようとすると、エンジン単体での出力以上のトルクを油圧ポンプ3が吸収することになってしまい、エンジン回転数を増加させることができないばかりでなく、高負荷によりエンジン回転数がダウンして、最悪の場合エンストに至ることがある。このように制御例2では、発電電動機11によるエンジントルクアシスト作用を前提として、第2の最大トルク線85aに従った制御を保証している。
(制御例3)
上述した制御例1、制御例2において、アシスト有無判定部90で、具体的には、図25に示すような判定が行われる。すなわち、第1の判定部92では、発電電動機目標回転数Ngen_comと発電電動機実回転数GEN_spdとの偏差Δgen_spdの絶対値が所定のしきい値以上になった場合、つまりエンジン目標回転数とエンジン2の実際の回転数との偏差の絶対値が所定のしきい値以上になっている場合に、発電電動機11をエンジントルクアシスト作用させると判定し、アシストフラグassist_flagをTにする。これに対して発電電動機目標回転数Ngen_comと発電電動機実回転数GEN_spdとの偏差Δgen_spdの絶対値が所定のしきい値以下になった場合、つまりエンジン目標回転数とエンジン2の実際の回転数との偏差が所定のしきい値よりも小さくなっている場合に、発電電動機11をエンジントルクアシスト作用させないと判定し、アシストフラグをFにする。
回転数偏差Δgen_spdが符号プラスである程度以上大きくなった場合には、発電電動機11を電動作用させエンジン2をアシストさせる。これにより、現在のエンジン回転数と目標回転数とが離れている場合にエンジン目標回転数に向けて迅速にエンジン回転数が上昇する。また、回転数偏差Δgen_spdが符合マイナスである程度以上大きくなった場合には、発電電動機11を発電作用させエンジン2を逆アシストさせる。これにより、エンジン回転数の減速時に発電作用されてエンジン回転数が迅速に低下するとともにエンジン2のエネルギーが回生される。
以上のように、この制御例3では、偏差に対してしきい値を設けてエンジントルクアシスト作用させるか否かを判断しているため、制御が安定する。すなわち、仮に偏差に対してしきい値を設けないで偏差があったことをもって即座にエンジントルクアシスト作用をさせるとすると、エンジン目標回転数近くのエンジン回転数でエンジントルクアシスト作用をし続ける結果となり、エネルギーロスにつながる。これは、エンジントルクアシスト作用するエネルギーの源は、元々エンジン2のエネルギーであるため、エンジントルクアシスト作用をすると発電電動機11の効率分だけ必ずエネルギーロスが増えてしまうからである。一般的に発電電動機11は小さなトルクで駆動、発電すると効率が悪くなる。
(制御例4)
上述した制御例1、制御例2において、アシスト有無判定部90で、具体的には、図25に示すような判定が行われる。すなわち、第2の判定部93では、蓄電器12の電圧値BATT_volt、つまり蓄電量が所定のしきい値BC1以下の場合には、発電電動機動機11をエンジントルクアシスト作用させないと判定し、アシストフラグassist_flagをFにする。このように蓄電器12の蓄電量が低いときにエンジントルクアシスト作用させないようにすることで蓄電器12の過放電を回避でき蓄電器12の寿命低下を回避することができる。特に実施の形態3は、電動旋回システムを前提としているため、上部旋回体を旋回作動させるために蓄電エネルギーが必要であり、仮に蓄電量が減りすぎると旋回性能の悪影響を与えることになる。蓄電器12の蓄電量が低いときにエンジントルクアシスト作用させないようにすることで、蓄電量低下により旋回性能が悪化することを回避することができる。
(制御例5)
上述した制御例1、制御例2において、アシスト有無判定部90で、具体的には、図25に示すような判定が行われる。すなわち、旋回出力演算部95では、旋回モータ313の現在の出力SWG_powが下記(5)式によって、旋回負荷電流SWG_currと蓄電器12の電圧値BATT_voltとを用いて演算される。
SWGpow=SWGcurr×BATT_volt×Kswg …(5)
なお、Kswgは、定数である。
そして、第3の判定部96では、旋回モータ103の現在の出力SWG_powが所定のしきい値SC1以上である場合には、発電電動機11をエンジントルクアシスト作用させないと判定し、アシストフラグassist_flagをFにする。また、旋回モータ313の現在の出力SWG_powが、しきい値SC1よりも小さいしきい値SC2以下である場合には、発電電動機11をエンジントルクアシスト作用させると判定し、アシストフラグassist_flagをTにする。このようにしきい値SC1としきい値SC2との間にヒステリシスをもたせることで、制御上のハンチングを防止している。
アンド回路94では、第1の判定部92で得られたアシストフラグassist_flagと、第2の判定部93で得られたアシストフラグassist_flagと、第3の判定部96で得られたアシストフラグassist_flagがともにTである場合に、最終的にアシストフラグassist_flagの内容をTとし、いずれかがFである場合には、最終的にアシストフラグassist_flagの内容をFとする。
一方、図22に示すように、要求発電量演算部120では、蓄電器12の電圧値BATT_volt、つまり蓄電器12の蓄電状態と、旋回負荷電流SWG_curr、つまり、旋回モータ313の駆動状態に応じて、発電電動機11の要求発電量Tgen_comが演算される。
電動旋回システムの場合には、上部旋回体を旋回作動させるために電気エネルギーが必要になる。上部旋回体を高出力で旋回作動させるには蓄電器12の蓄積エネルギーだけでは足りず、発電電動機11を発電作用させて旋回モータ313に電力を供給しなければならない。要求発電量演算部120において、蓄電器12の蓄電状態(電圧値BATT_volt)だけではなく、旋回電動機11の駆動状態(旋回負荷電流SWG_curr)を考慮しているのはこのことを意味する。
この制御例5によれば、旋回モータ313の現在の出力SWG_powが所定のしきい値SC1以上である場合には、発電電動機11をエンジントルクアシスト作用させないと判定され、エンジントルクアシスト作用が禁止される一方で、蓄電器12の蓄電状態(電圧値BATTvolt)のみならず旋回モータ313の駆動状態(旋回負荷電流SWG_curr)を考慮して発電電動機11の要求発電量Tgen_comが演算され、この要求発電量Tgen_comに応じた発電が発電電動機11で行われ、発電した電力が旋回モータ313に供給される。このため旋回性能を落とすことなく上部旋回体を旋回作動させることができる。
(制御例6)
上述したように回転数偏差Δgen_spdが符号プラスである程度以上大きくなった場合には、モジュレーション処理部97から発電電動機速度指令値(発電電動機目標回転数)Ngen_comが発電電動機コントローラ310に対して出力され、発電機コントローラ310は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機11を回転数制御し、発電電動機11を電動作用させる。すなわち、現在のエンジン回転数がエンジン目標回転数よりも小さい場合には、発電電動機11を電動作用させて、エンジン2のトルク線図上においてエンジン2の軸トルクを加算してエンジン回転数を上昇させエンジン目標回転数と同等の回転数となるように、発電電動機11の出力トルクを制御する。
また、回転数偏差Δgen_spdが符号マイナスである程度以上大きくなった場合には、モジュレーション処理部97から発電電動機速度指令値(発電電動機目標回転数)Ngen_comが発電電動機コントローラ310に対して出力され、発電機コントローラ310は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機11を回転数制御し、発電電動機11を発電作用させる。すなわち、現在のエンジン回転数がエンジン目標回転数よりも大きい場合には、発電電動機11を発電作用させて、エンジンのトルク線図上においてエンジン2の軸トルクを吸収してエンジン回転数を下降させエンジン目標回転数と同等の回転数となるように、発電電動機11の出力トルクを制御する。
(制御例7)
上述したように、アシスト有無判定部90で、蓄電器12の電圧値BATT_volt、つまり蓄電量が所定のしきい値BC1以下と判定された場合には、発電電動機11をエンジントルクアシスト作用させない(判定結果F)と判定され、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられて、要求発電量演算部120で演算された要求発電量Tgen_comに応じた発電量が得られるように発電電動機11が発電作用される。
しかし、ここで仮に、蓄電器12の蓄電量があるしきい値以下に達すると即座にエンジントルクアシスト作用を禁止して、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に急に切り替えてしまうと、エンジン2の出力軸に急負荷が加わることがある。このためエンジン2が急負荷に対処できずにトルクの出力が追いつかずエンジン回転数が急に低下してしまうことがある。エンジン回転数の急低下は、作業機の出力低下につながり作業効率上望ましくない。
そこで、この制御例7では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機11が出し得るトルクの上限値(トルクリミット)を、蓄電器12の蓄電量(電圧値BATT_volt)の減少に応じて、徐々に小さな値にする。具体的には、図26に示すように、アシストトルクリミット演算部110の演算部111では、蓄電器12の電圧値BATT_voltが第1の所定値BD1から、第1の所定値BD1よりも小さい第2の所定値BD2に減少するに従って、発電電動機11のトルク上限値(発電電動機トルクリミット)GEN_trq_limitが徐々に減じられる値として求められて、出力される。
発電電動機11をエンジントルクアシスト作用させる(判定結果T)と判定され、発電電動機指令値切り替え部287がT側、つまりアシストトルクリミット演算部110側に切り替えられている場合には、アシストトルクリミット演算部110から発電電動機トルクリミットGEN_trq_limitが、発電電動機トルク指令値(発電電動機目標トルク)Tgen_comの制限値として、発電電動機コントローラ310に対して出力される。
エンジントルクアシスト作用させると判定された場合には、発電電動機11は、目標回転数が得られるように速度制御で動作する。発電電動機11の発電電動機トルク指令値(発電電動機目標トルク)Tgen_comは、速度制御ループの結果、演算される。
発電電動機コントローラ310は、速度制御ループから演算された発電電動機トルク指令値(発電電動機目標トルク)Tgen_comが、アシストトルクリミット演算部110で演算された発電電動機トルクリミットGEN_trq_limitを超えないように、発電電動機11を制御し、発電電動機11をアシスト作用させる。つまり発電電動機11のトルクをトルク上限値GEN_trq_limit以下の範囲で制御する。そして、蓄電器12の電圧値BATT_voltが所定のしきい値BC1以下となって、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられると、要求発電量演算部120で演算された要求発電量Tgencomに応じた発電量が得られるように発電電動機11が発電作用される。この場合、要求発電量演算部120から要求発電量Tgen_comが、発電電動機トルク指令値(発電電動機目標トルク)として、発電電動機コントローラ310に対して出力される。発電電動機コントローラ100は、これを受けて、発電電動機目標トルクTgen_comが得られるように発電電動機11をトルク制御し、発電電動機11を発電作用させる。このように、この制御例7では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機11が出し得るトルクの上限値(トルクリミット)GEN_trq_limitを、蓄電器12の蓄電量(電圧値BATT_volt)の減少に応じて、徐々に小さな値にしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際の発電電動機11の発電トルク変化が滑らかなものとなり、この切り替え時にエンジン回転数が低下してしまうことを回避することができる。
(制御例8)
この制御例8では、上述した制御例7において、アシストトルクリミット演算部110の演算部111で以下のような制御が行われる。すなわち、蓄電器12の電圧値BATT_voltが第1の所定値BD1から、第1の所定値BD1よりも小さい第2の所定値BD2に減少するに従って、発電電動機11のトルク上限値(発電電動機トルクリミット)GEN_trq_limitが徐々に減じられる値として求められて出力される一方で、一度減じられたトルク上限値GEN_trq_limitを増加させる場合には、蓄電器12の電圧値BATT_voltが第3の所定値BD3から、第3の所定値BD3よりも大きい第4の所定値BD4に増加するに従って、発電電動機11のトルク上限値(発電電動機トルクリミット)GEN_trq_limitが徐々に増加される値として求められて、出力される。
このように発電電動機トルクリミットGEN_trq_limitの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせることができる。
(制御例9)
上述したように、アシスト有無判定部90で、旋回モータ103の現在の出力SWG_powが所定のしきい値SC1以上と判定された場合には、発電電動機11をエンジントルクアシスト作用させない(判定結果F)と判定され、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられて、要求発電量演算部120で演算された要求発電量Tgen_comに応じた発電量が得られるように発電電動機11が発電作用される。
ここで、制御例7と同様に、旋回モータ313の現在の出力SWG_powが所定のしきい値SC1以上に達すると即座にエンジントルクアシスト作用を禁止して、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に急に切り替えてしまうと、エンジン2の出力軸に急負荷が加わることがある。このためエンジン2が急負荷に対処できずにトルクの出力が追いつかずエンジン回転数が急に低下してしまうことがある。エンジン回転数の急低下は、作業機の出力低下につながり作業効率上望ましくない。
この制御例9では、制御例7と同様に、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機11が出し得るトルクの上限値(トルクリミット)を、旋回電動機11の現在の出力SWG_powの増加に応じて、徐々に小さな値にする。
具体的には、図26に示すように、アシストトルクリミット演算部110の旋回出力演算部112では、旋回モータ313の現在の出力SWG_powが前述の(5)式(SWG_pow=SWG_curr×BATT_volt×Kswg)によって求められ、つぎに演算部113では、旋回モータ313の現在の出力SWG_powが第1の所定値SD1から、第1の所定値SD1よりも大きい第2の所定値SD2に増加するに従って、発電電動機11のトルク上限値(発電電動機トルクリミット)GEN_trq_limitが徐々に減じられる値として求められて、出力される。
演算部111で求められたトルク上限値GEN_trq_limitと、演算部113で求められたトルク上限値GEN_trq_limitのうち小さい方の値が最小値選択部114で選択されて、最終的なトルク上限値(発電電動機トルクリミットGEN_trq_limit)として、アシストトルクリミット演算部110から出力されることになる。
発電電動機11をエンジントルクアシスト作用させる(判定結果T)と判定され、発電電動機指令値切り替え部287がT側、つまりアシストトルクリミット演算部110側に切り替えられている場合には、アシストトルクリミット演算部110から発電電動機トルクリミットGEN_trq_limitが、発電電動機トルク指令値(発電電動機目標トルク)Tgen_comの制限値として、発電電動機コントローラ310に対して出力される。
エンジントルクアシスト作用させると判定された場合には、発電電動機11は、目標回転数が得られるように速度制御で動作する。発電電動機11の発電電動機トルク指令値(発電電動機目標トルク)Tgen_comは、速度制御ループの結果、演算される。
発電電動機コントローラ310は、速度制御ループから演算された発電電動機トルク指令値(発電電動機目標トルク)Tgen_comが、アシストトルクリミット演算部110で演算された発電電動機トルクリミットGEN_trq_limitを超えないように、発電電動機11を制御し、発電電動機11をアシスト作用させる。つまり発電電動機11のトルクをトルク上限値GEN_trq_limit以下の範囲で制御する。
そして、旋回モータ313の現在の出力SWG_powが所定のしきい値SC1以上となって、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられると、要求発電量演算部120で演算された要求発電量Tgen_comに応じた発電量が得られるように発電電動機11が発電作用される。この場合、要求発電量演算部120から要求発電量Tgen_comが、発電電動機トルク指令値(発電電動機目標トルク)として、発電電動機コントローラ310に対して出力される。発電電動機コントローラ310は、これを受けて、発電電動機目標トルクTgen_comが得られるように発電電動機11をトルク制御し、発電電動機11を発電作用させる。このように、この制御例9では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機11が出し得るトルクの上限値(トルクリミット)GEN_trq_limitを、旋回モータ313の現在の出力SWG_powの増加に応じて、徐々に小さな値にしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際の発電電動機11の発電トルク変化が滑らかなものとなり、この切り替え時にエンジン回転数が低下してしまうことを回避することができる。
(制御例10)
この制御例10では、上述した制御例9において、アシストトルクリミット演算部110の演算部113で以下のような制御が行われる。すなわち、旋回モータ313の現在の出力SWG_powが第1の所定値SD1から、第1の所定値SD1よりも大きい第2の所定値SD2に増加するに従って、発電電動機11のトルク上限値(発電電動機トルクリミット)GEN_trq_limitが徐々に減じられる値として求められて、出力される一方で、一度減じられたトルク上限値GEN_trq_limitを増加させる場合には、旋回モータ313の現在の出力SWG_powが第3の所定値SD3から、第3の所定値SD3よりも小さい第4の所定値SD4に減少するに従って、発電電動機11のトルク上限値(発電電動機トルクリミット)GEN_trq_limitが徐々に増加される値として求められて、出力される。
このように発電電動機トルクリミットGEN_trq_limitの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせることができる。
(制御例11)
上述したように、アシスト有無判定部90で、蓄電器12の電圧値BATT_voltが所定のしきい値BC1以下と判定された場合、あるいは旋回モータ313の現在の出力SWG_powが所定のしきい値SC1以上と判定された場合には、発電電動機11をエンジントルクアシスト作用させない(判定結果F)と判定され、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられて、要求発電量演算部120で演算された要求発電量Tgen_comに応じた発電量が得られるように発電電動機11が発電作用される。
ここで、蓄電器12の電圧値BATT_voltが所定のしきい値BC1以下に達したか、あるいは旋回モータ313の現在の出力SWG_powが所定のしきい値SC1以上に達すると即座にエンジントルクアシスト作用を禁止して、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に急に切り替えてしまうと、エンジン2の出力軸に急負荷が加わることがある。このためエンジン2が急負荷に対処できずにトルクの出力が追いつかずエンジン回転数が急に低下してしまうことがある。エンジン回転数の急低下は、作業機の出力低下につながり作業効率上望ましくない。
この制御例11では、制御例7、制御例8、制御例9、制御例10の実施に代えて、あるいはこれら各制御例の実施と併せて、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替えた直後は、発電電動機11の発電トルクをアシスト終了時のトルクから徐々に発電電動機11の要求発電量に応じた発電トルクまで変化させる制御を実施することで、同切り替え時のエンジン回転数の急低下を回避するものである。
具体的には、図27に示すように、要求発電量演算部120の演算部121では、蓄電器12の電圧値BATT_voltが第1の所定値BE1から、第1の所定値BE1よりも小さい第2の所定値BE2に減少するに従って、要求発電出力Pがゼロ出力から徐々に発電電動機11の要求発電量に応じた発電出力Pmaxまで増加される値として求められて、出力される。ここで、一度増加された要求発電出力Pを減少させる場合には、蓄電器12の電圧値BATTvoltが第3の所定値BE3から、第3の所定値BE3よりも大きい第4の所定値BE4に増加するに従って、要求発電出力Pが徐々に減少される値として求められて、出力するようにしている。
このように要求発電出力Pの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせるようにしている。
一方、旋回出力演算部122では、旋回モータ313の現在の出力SWG_powが、旋回負荷電流SWG_currと蓄電器12の電圧値BATT_voltとを用いて、前述の(5)式(SWG_pow=SWG_curr×BATT_volt×Kswg)により求められる。つぎに、演算部123では、旋回モータ313の現在の出力SWG_powが第1の所定値SE1から、第1の所定値SE1よりも大きい第2の所定値SE2に増加するに従って、要求発電出力Pがゼロ出力から徐々に発電電動機11の要求発電量に応じた発電出力Pmaxまで増加される値として求められて、出力される。ここで、一度増加された要求発電出力Pを減少させる場合には、旋回モータ103の現在の出力SWG_powが第3の所定値SE3から、第3の所定値SE3よりも小さい第4の所定値SE4に減少するに従って、要求発電出力Pが徐々に減少される値として求められて、出力するようにしている。
このように要求発電出力Pの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせるようにしている。
演算部121で求められた要求発電出力Pと、演算部123で求められた要求発電出力Pのうち大きい方の値が最大値選択部124で選択されて、最終的な要求発電出力Pgen_comとして、発電電動機要求発電トルク演算部125に加えられる。発電電動機要求発電トルク演算部125では、発電電動機回転数GEN_spdと要求発電出力Pgen_comとを用いて下記(6)式によって、発電電動機要求発電トルクTgen_comが求められる。
Tgen_com=Pgen_com÷GEN_spd×Kgen …(6)
なお、Kgenは定数である。
要求発電量演算部120からは、最終的に上記(6)式により得られた発電電動機要求発電トルクTgen_com、つまり発電電動機11の発電トルクをゼロトルクから徐々に発電電動機の要求発電量に応じた発電トルクまで増加させるような要求発電トルクTgen_comが出力されることになる。
蓄電器12の電圧値BATT_voltが所定のしきい値BC1以下に達したか、あるいは旋回モータ103の現在の出力SWG_powが所定のしきい値SC1以上に達すると、発電電動機指令値切り替え部287がF側、つまり要求発電量演算部120側に切り替えられる。
この切り替えの直後は、上述のごとく、発電電動機11の発電トルクをゼロトルクから徐々に発電電動機11の要求発電量に応じた発電トルクまで増加させる要求発電トルク、つまり要求発電量Tgen_comが、発電電動機トルク指令値(発電電動機目標トルク)として、発電電動機コントローラ310に対して出力される。発電電動機コントローラ310は、これを受けて、発電電動機目標トルクTgen_comが得られるように発電電動機11をトルク制御し、発電電動機11を発電作用させる。
このように、この制御例11では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替えた直後は、発電電動機11の発電トルクをゼロトルクから徐々に発電電動機11の要求発電量に応じた発電トルクまで増加させる制御を実施するようにしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際の発電電動機11の発電トルク変化が滑らかなものとなり、この切り替え時にエンジン回転数が低下してしまうことを回避することができる。
(制御例12)
制御例7、8、9、10では、エンジントルクアシスト作用中に発電電動機11のトルクリミット値を徐々に小さくする制御について説明した。
しかし、エンジントルクアシスト作用中に発電電動機11のトルク上限値(トルクリミット値)を徐々に小さくする制御を行うとすると、エンジン2をアシストする力が徐々に小さくなることから、当然ながらエンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際に、エンジン2の加速が悪化する。
そこで、この制御例12では、発電電動機11のトルク上限値が減少するに従って、油圧ポンプ3の最大吸収トルクが徐々に減じられるように油圧ポンプ3の容量を制御することで、エンジン2のアシスト力の低下に合わせて油圧ポンプ3の吸収トルクを低下させ、エンジン2のアシスト力の低下に伴うエンジン回転数加速の悪化を回避するものである。
すなわち、図24に示すように、アシストトルクリミット演算部110からは発電電動機トルクリミットGEN_trq_limitが、発電電動機11のトルク上限値Tgen_com2として、第3のポンプ最大吸収トルク演算部106に対して出力される。第3のポンプ最大吸収トルク演算部106には、発電電動機11の発動発電機トルクリミットGEN_trq_limitが減少するに従って、油圧ポンプ3の最大吸収トルク(第3のポンプ最大吸収トルク)Tp_commaxが徐々に減じられる第3の最大トルク線L3が、発動発電機トルクリミットGEN_trq_limitと第3のポンプ最大吸収トルクTp_commaxとの関数関係106aとしてデータテーブル形式で記憶されている。第3のポンプ最大吸収トルク演算部106では、現在の発電電動機11の発動発電機トルクリミットGEN_trq_limitに対応する第3のポンプ最大吸収トルクTp_commaxが、関数関係106aに従い演算される。
一方、第1のポンプ最大吸収トルク(第1のポンプ目標吸収トルク)Tp_com1は、第1のポンプ目標吸収トルク演算部66で、第1の最大トルク線(第1の目標トルク線)L1上の値として、関数関係66aに従い演算される。
また、第2のポンプ最大吸収トルク(第2のポンプ目標吸収トルク)Tp_com2は、第2のポンプ目標吸収トルク演算部85で、第2の最大トルク線(第2の目標トルク線)L12上の値として、関数関係に85aに従い演算される。
最小値選択部107では、現在の第3のポンプ最大吸収トルクTp_commaxと現在の第2のポンプ最大吸収トルクTp_com2のうちいずれか小さいほうのポンプ最大吸収トルク値が選択されて、ポンプ吸収トルク指令値切り替え部88のT側端子に出力される。
ポンプ吸収トルク指令値切り替え部88のF側端子には、現在の第1のポンプ最大吸収トルクTp_comが加えられる。
アシストフラグ判定部95でアシストフラグassit_flagの内容がTであると判定されると、ポンプ吸収トルク指令値切り替え部88が、最小値選択部107側に切り替えられ、第2のポンプ目標吸収トルク演算部85から出力される現在の第2のポンプ最大吸収トルクTpcom2と、第3のポンプ最大吸収トルク演算部106から出力される現在の第3のポンプ最大吸収トルクTp_commaxのうち、小さいほうの値がポンプ最大吸収トルクTp_comとして、後段のフィルタ処理部89に出力される。
また、アシストフラグ判定部95でアシストフラグassit_flagの内容がFであると判定されると、ポンプ吸収トルク指令値切り替え部88が、第1のポンプ目標吸収トルク演算部66側に切り替えられ、第1のポンプ目標吸収トルク演算部66から出力される現在の第1のポンプ最大吸収トルクTpcom1がポンプ最大吸収トルクTp_comとして、後段のフィルタ処理部89に出力される。以下、フィルタ処理部89で前述のフィルタ処理が行われ、制御電流演算部67から制御電流pc-epcがポンプ制御バルブ5に出力されて、油圧ポンプ3の斜板3aが調整される。すなわち、発電作用を行うときは、第3の最大トルク線L3から定まる第3のポンプ最大吸収トルクTp_commaxの大きさにかかわりなく、第1の最大トルク線L1から定まる第1のポンプ最大吸収トルクTp_com1が選択されて、この第1のポンプ最大吸収トルクTp_com1をポンプ吸収トルクの上限Tp_comとして、油圧ポンプ3の容量が制御される。一方、エンジントルクアシスト作用を行うときは、第2の最大トルク線L12から定まる第2のポンプ最大吸収トルクTp_com2と、第3の最大トルク線L3から定まる第3のポンプ最大吸収トルクTp_commaxのうち小さい方が選択されて、この小さい方のポンプ最大吸収トルクをポンプ吸収トルクの上限Tp_comとして、油圧ポンプ3の容量が制御される。
このように、この制御例12によれば、発電電動機11のトルク上限値が減少するに従って、油圧ポンプ3の最大吸収トルクが徐々に減じられるように油圧ポンプ3の容量を制御するようにしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際にエンジン2のアシスト力の低下に合わせて油圧ポンプ3の吸収トルクが低下してエンジン2の軸トルクの変化が滑らかなものとなり、エンジン2のアシスト力の低下に伴うエンジン回転数加速の悪化を回避することができる。
(制御例13)
上述のように、エンジントルクアシスト作用されている状態と要求発電量に応じた発電作用がされている状態との間の切り替え時には、油圧ポンプ3の最大吸収トルクの選択が、第2のポンプ最大吸収トルクTp_com2あるいは第3のポンプ最大吸収トルクTp_commaxと、第1のポンプ最大吸収トルクTp_com1との間で切り替わる。このため、切り替え時に、ポンプ吸収トルクの急な変化によって、ポンプ吐出流量の変化による作業機速度のガクつきなど、オペレータに操作上の違和感を与えるおそれがある。
そこで、この制御例では、油圧ポンプ3の最大吸収トルクの選択が切り替えられた場合に、切り替え前のポンプ最大吸収トルクから、切り替え後のポンプ最大吸収トルクへ、徐々に変化させる制御を行うようにして、切り替え時にポンプ吐出流量の急な変化を防ぎ、作業機速度のガクつきなど、オペレータに対する操作上の違和感を回避しようとするものである。
すなわち、図24に示すように、第2の最大トルク線L12または第3の最大トルク線L3と、第1の最大トルク線L1との間で最大トルク線の選択が切り替えられると、フィルタ処理部89は、時間tの経過に伴い最大トルク値Tp_comが変化する特性89aにしたがって最大トルク値Tpcomを徐々に変化させる。特性89aは、時定数τに応じたカーブを有している。これによって、切り替え前の最大トルク線(たとえば第3の目標トルク線L3)上のポンプ最大吸収トルク(第3のポンプ最大吸収トルクTp_commax)から、切り替え後の最大トルク線(第1の最大トルク線L1)上のポンプ最大吸収トルク(第1のポンプ最大吸収トルクTp_com1)へとそのまま切り替えられることなく、切り替え前の最大トルク線(たとえば第3の目標トルク線L3)上のポンプ最大吸収トルク(第3のポンプ最大吸収トルクTp_commax)から、切り替え後の最大トルク線(第1の最大トルク線L1)上のポンプ最大吸収トルク(第1のポンプ最大吸収トルクTpcom1)へ、時間tをかけて徐々に滑らかに変化することになる。トルク線図上での動きは、図20を用いて前述したのと同様である。
これによりエンジントルクアシスト作用されている状態と要求発電量に応じた発電作用がされている状態との間の切り替え時におけるポンプ吸収トルクの急な変化によって、ポンプ吐出流量の変化による作業機速度のガクつきなど、オペレータに操作上の違和感を与えることを回避することができる。
上述のフィルタ処理は、アシストフラグ判定部95の判定結果がTからFに切り替わった場合、同判定結果がFからTに切り替わった場合の両方の場合に行うようにしてもよく、どちらか一方の切り替えが行われたときのみフィルタ処理を行うようにしてもよい。
(制御例14)
上述の制御例13において、切り替え前のポンプ最大吸収トルクから、切り替え後のポンプ最大吸収トルクへ変化させる際の時定数τは、切り替え前のポンプ最大吸収トルクが切り替え後のポンプ最大吸収トルクよりも小さい場合よりも、切り替え前のポンプ最大吸収トルクが切り替え後のポンプ最大吸収トルクよりも大きい場合の方が、大きい値に設定されることが望ましい。
これは時定数τを一律に大きな値に設定すると、ポンプ最大吸収トルクが小さい状態から大きい状態に切り替えられた場合に、ポンプ最大吸収トルクの変化の時定数が大きいために、作業機の動きが鈍くなってしまうからである。
なお、この実施の形態3においても、assist_flagがtrueの場合には、エンジン目標回転数加算値演算部104に通知され、エンジン目標回転数加算値演算部104は、エンジン目標回転数加算値ncom_addの付加出力は行わない。