以下、本発明の一実施の形態を図面を用いて説明する。
図1は、本発明の一実施の形態による電気駆動ダンプトラックの駆動システムの全体構成を示す図である。
図1において、電気駆動ダンプトラックの駆動システムは、アクセルペダル1、リタードペダル2、シフトレバー16、全体制御装置3、原動機4、交流発電機5、その他の原動機負荷18、整流回路6、インバータ制御装置7、チョッパ回路8、グリッド抵抗9、コンデンサ10、抵抗11、左右の電動モータ(例えば誘導モータ)12R,12L、減速機13R,13L、タイヤ14R,14L、電磁ピックアップセンサ15R,15Lを備えている。インバータ制御装置7は、左右の電動モータ12R,12Lのそれぞれに対するトルク指令演算部71R,71L、モータ制御演算部72R,72L、インバータ(スイッチング素子)73R,73Lを有している。
アクセルペダル1の操作信号pとリタードペダル2の操作信号qは全体制御装置3の入力となり、それぞれ駆動力、リタードカの大きさを制御する信号となる。
アクセルペダル1を踏み込んでダンプトラックを前進又は後進させるときは、全体制御装置3から原動機4に対して目標回転数Nrの指令を出力し、原動機4側では図示しない回転数センサにより実際の回転数Neが検出され、その信号が原動機4から制御装置3に戻される。原動機4は電子ガバナ4aを装着したディーゼルエンジンであり、電子ガバナ4aは目標回転数Nrの指令を受け取ると、原動機4が目標回転数Nrで回転するように燃料噴射量を制御する。また、電子ガバナ4aは燃料噴射量に基づき原動機出力比Lg(後述)を演算し、この原動機出力比Lgを制御装置3に出力する機能を有している。
原動機4には交流発電機5が接続されており、交流発電を行う。交流発電により発生した電力は整流回路6によって整流され、コンデンサ10に蓄電され、直流電圧値はVとなる。交流発電機5は直流電圧Vを検出抵抗11で分圧された電圧値をフィードバックして当該電圧値が所定の一定電圧V0となるように全体制御装置3によって制御される。
交流発電機5により発生した電力はインバータ制御装置7を介して左右の電動モータ12R,12Lに供給される。全体制御装置3は、整流回路6によって整流された直流電圧Vが所定の一定電圧V0となるように交流発電機5を制御することで、電動モータ12R,12Lに必要な電力が供給されるよう制御している。
全体制御装置3からの左右の電動モータ12R,12Lの指令馬力MR,MLと電磁ピックアップ15R,15Lにより検出される各電動モータ12R,12Lの回転速度ωR,ωLとがインバータ制御装置7に入力され、インバータ制御装置7は、トルク指令演算部71R,71L、モータ制御演算部72R,72L、インバータ(スイッチング素子)73R,73Lを介してすべり率>0で各電動モータ12R,12Lを駆動する。
各電動モータ12R,12Lにはそれぞれ減速機13R,13Lを介して左右の後輪(タイヤ)14R,14Lが接続されている。電磁ピックアップ15R,15Lは通常は減速機13R,13L内のギアの1枚の歯の周速を検出するセンサである。また、例えば右側駆動系を例に取ると、電動モータ12R内部の駆動軸や減速機13Rとタイヤ14Rを接続する駆動軸に検出用の歯車をつけ、その位置に設置しても構わない。
走行中にアクセルペダル1を戻し、リタードペダル2を踏み込んだときは、交流発電機5が発電しないよう全体制御装置3は制御する。また、全体制御装置3からの馬力指令MR,MLは負となり、インバータ制御装置7はすべり率<0で各電動モータ12R,12Lを駆動して走行する車体にブレーキカを与える。この時、各電動モータ12R,12Lは発電機として作用し、インバータ制御装置7に内蔵された整流機能によってコンデンサ10を充電するように働く。直流電圧値Vは予め設定された直流電圧値V1以下になるようにチョッパ回路8が作動し、電流をグリッド抵抗9に流して電気エネルギーを熱エネルギーに変換する。
ここで、原動機4のトルク特性について説明する。図2は、原動機4の回転数Ne(実回転数)と出力トルクTeの関係を示す図である。図3は、電子ガバナ4aの燃料噴射特性を示す図ある。
本実施の形態の原動機4の電子ガバナ4aは、目標回転数Nrが最大回転数定格回転数)Nrmaxに等しいとき、つまりNr=Nrmax(例えば2000rpm)では、燃料噴射量の制御がドループ制御となるように設定されている。目標回転数Nrが最大回転数(定格回転数)Nrmaxより低いとき、つまりNr<Nmaxでは、ドループ制御でもアイソクロナス制御でも構わないが、好ましくは、回転数変動の少ないアイソクロナス制御に設定されている。
図2において、直線R1,R2,R3は電子ガバナ4aの制御領域における原動機4のトルク特性であり、直線R1はNr=Nrmaxでドループ制御を設定した場合の特性、直線R2はNr=Nrmid(<Nmax)でドループ制御を設定した場合の特性、直線R3はNr=Nrmid(<Nmax)でアイソクロナス制御を設定した場合の特性である。
ドループ制御について説明する。
Nr=Nrmaxで、原動機4が領域Y0の直線R1上のA点で動作しているとする。この状態から原動機4にかかる負荷が増加すると、それに従って電子ガバナ4aは噴射燃料を増加させ、出力トルクを上げてゆき、原動機4の出力トルクが所定の大きさになると、例えばB点でバランスする。更に、原動機負荷が増加するとY点に至る。Y点で原動機の出力馬力が最大になる。更に、原動機4にかかる負荷が増加すると領域Y1のC点に至る。C点で原動機の出力トルクが最大になる。更に、原動機にかかる負荷が増加すると、やがてはストールを起こしてエンストに至る。このように領域Y0(電子ガバナ4aの制御領域)は原動機4の出力に余裕がある状態を、領域Y1(電子ガバナ4aの制御領域外)は原動機4の出力に余裕が無い状態を示している。
ドループ制御の直線R1は所定の勾配を有し、この直線R1上では、電子ガバナ4aは原動機の回転数Neを下げながら出力トルクを上げていくよう燃料噴射量を制御する。
ドループ制御の直線R2も同様であり、この直線R2上では、電子ガバナ4aは原動機の回転数Neを下げながら出力トルクを上げていくよう燃料噴射量を制御する。
アイソクロナス制御では、図2の直線R3に示すように、ドルーブ制御のように回転数の変化幅でトルクが変化するのではなく、理想的には常にNr=Neの状態で動作するように燃料噴射量を制御する。ただし、実際の電子ガバナでは10〜20rpm程度の回転数の変化幅を持っている。
Nr=Nrmaxでドループ制御を行うとき、電子ガバナ4aでは目標回転数Nrと実際の回転数Neとの偏差である回転数偏差ΔNにより、燃料噴射量を制御する。図3は、そのときの回転数偏差ΔNと燃料噴射量Qとの関係を示したものであり、A1点、B1点、Y1点、C1点は図2のA点、B点、Y点、C点に対応している。電動モータ12R,12Lの負荷トルクが増加し、回転数偏差ΔN(>0)が減少するに従い、燃料噴射量がA1点→B1点→Y1点と増加し、これに対応して、原動機4の動作点はA点→B点→Y点と変化する。Y1点以上には燃料噴射量は増えないので、これ以上に原動機4の負荷が増加すると、動作点はY点→C点となり、この状態から更に負荷が増加すればストールを起こすことになる。
Nr<Nrmaxでアイソクロナス制御を行うときは、電子ガバナ4aはΔN(=Ne−Nr)がゼロとなるよう燃料噴射を制御する。
また、電子ガバナ4aは、上記のドループ制御及びアイソクロナス制御のいずれの場合も、その燃料噴射量から、原動機4が出力している実馬力を演算し、その実馬力に対するそのときの目標回転数における原動機4の出し得る最大出力馬力に対する比を原動機出力比Lg(0〜1の値を持つ)として計算し、その原動機出力比Lgを外部へ出力している。
電子ガバナ4aが噴射している燃料噴射量から求めた原動機4の実出力馬力をHaとし、そのときの目標回転数における原動機4の出し得る最大出力馬力をHmaxとすると、原動機出力比Lgは下記の式で表される。
Lg=Ea/Emax
目標回転数における原動機4の出し得る最大出力馬力Hmaxは、後述する図13に示す原動機4の回転数と出力馬力との関数fr=f(Ne)により得られる出力馬力f(Ne)に相当する。
以上は、通常の電気駆動ダンプトラックの基本構成と動作である。
次に、本発明の特徴となる部分について説明する。
本発明において、各構成機器の動作は全体制御装置3及びインバータ制御装置7内に組み込まれた、図示しないメモリ内の処理手順に従って演算処理される。図4はその処理手順を示す機能ブロック図であり、図5は図4のモータ加速馬力計算手段300の詳細機能ブロック図である。図6〜図8はその処理手順を示すフローチャートである。以下に、その処理手順を、主として図6〜図8に示すフローチャートに従い、補助的に図4、図5の機能ブロック図を用いて説明する。
図6〜図8において、STARTから処理が始まり、ENDまで処理すると再びSTARTに戻るという処理フローになる。
手順101,102では、アクセルペダル操作量(以下アクセル操作量という)pを読み込み、このアクセル操作量pを、メモリ内の図9に示す関数Fr(p)で表されるアクセル操作量対原動機目標馬力のデータマップに参照して、対応する原動機目標馬力Frを算出する(図4のブロック200)。関数Fr(p)は、アクセル操作量pが無操作である0から最大のpmaxまで変化すると、図9に示したように、原動機4の目標馬力FrはFminからFmaxまで変化するように設定されており、例えば、図9中でアクセル操作量がp1ではFr=F1である。また、アクセル操作量pが最大のpmaxより手前のX点で原動機目標馬力Frは最大のFmaxとなる。X点のアクセル操作量pxは例えば最大操作量pmaxの90%程度である。
手順103では、原動機目標馬力Frを、メモリ内の図10に示す関数Nr(Fr)で表される目標馬力対目標回転数のデータマップに参照して、対応する原動機3の目標回転数Nrを算出する(図4のブロック202)。ここで、図10の関数Nr(Fr)は原動機4の回転数と出力馬力との関数fr=f1(Ne)(後述図13参照)の逆関数であり、例えば、図10中で原動機目標馬力がF1ではNr=Nr1であり、FmaxではNr=Nrmax(例えば2000rpm)である。目標回転数Nrは原動機4の電子ガバナ4aの指令となり、原動機4は目標回転数Nrで回転するように駆動される。
手順104では、シフトレバー16の位置の状態を示す状態量F/Rを入力する。シフトレバー16の切り換え位置にはN(中立)、F(前進)、R(後進)の3位置があるが、中立位置では走行制御はしないので、ここでは状態量F/Rを入力する。この状態量F/Rは前進ならF/R=1、後進ならF/R=0という値を持つ。
手順105,106,107では、F/Rに応じて、電動モータ12R,12Lの第1モータ目標馬力Mr1を算出する。すなわち、F/R=1の場合は、メモリ内の図11に示す関数hF(p)で表される前進用のアクセル操作量対モータ目標馬力のデータマップを読み出し、アクセル操作量pをこの関数hF(p)に参照させ、対応するモータ目標馬力H(=Mr1)を算出する(図4のブロック204,206)。F/R=0の場合は、メモリ内の図12に示す関数hR(p)で表される後進用のアクセル操作量対モータ目標馬力のデータマップを読み出し、アクセル操作量pをこの関数hR(p)に参照させ、対応するモータ目標馬力H(=Mr1)を算出する(図4のブロック204,208)。この実施の形態では、図11に示す前進用の関数hF(p)は、アクセル操作量p=0ではモータ目標馬力H=0で、少し踏み込んだ状態、すなわち図11中のA点からHが増加し、B点からHの増加の比率を上げて、アクセル操作量が最大値pmaxより手前のC点で、電動モータ12R,12Lで発生可能な最大馬力HFmaxとなるように設定されている。図12に示す後進用の関数hR(p)は、アクセル操作量pが増加するに従いモータ目標馬力Hが増加するが、モータ目標馬力の最大値HRmaxは前進用の関数hF(p)における最大値HFmaxより小さい値に設定されている。なお、前進用の関数hF(p)で求めたモータ目標馬力に1より小さい正の定数を乗じて後進用のモータ目標馬力を求めてもよい。図11のC点におけるアクセル操作量pcは例えば最大操作量pmaxの95%程度である。
手順109では、原動機4の実際の回転数Neを読み込み、手順140では、その原動機4の実際の回転数(実回転数)Neをメモリ内の図13に示す関数f(Ne)で表される回転数対原動機最大出力馬力のデータマップに参照して、対応する原動機4の最大出力馬力f(Ne)を算出する(図5のブロック301)。
ここで、関数f(Ne)は次のように作成されたものである。図13において、関数f(Ne)は原動機4の出し得る最大出力馬力であり、関数f1(Ne)と関数f2(Ne)と関数f3(Ne)の合成である。関数f1(Ne)は原動機4の目標回転数Nrと出力馬力との関数fr=f(Nr)に相当するものであり、原動機4の実回転数NeがNrmin(例えば750rpm)からNrmax(例えば2000rpm)まで変化すると、原動機4の出し得る最大出力馬力f(Ne)は最小値Fminから最大値Fmaxまで変化する。これは、原動機4に固有な特性線図である。関数f2(Ne)は、0≦Ne<Nrminの範囲において、原動機4の最大出力馬力f(Ne)をf2=Fminの一定値としたものであり、関数f3(Ne)は、Nrmax<Ne≦Nemaxの範囲において、原動機4の最大出力馬力f(Ne)をf3=Fmaxの一定値としたものである。
手順141で電子ガバナ4aの出力である原動機出力比Lgを読み込み、手順142では、原動機出力比Lgに最大出力馬力fr(f(Ne))を乗じて原動機実出力馬力M1を求める(図5のブロック302)。
ここで、手順142の補足説明をする。図14は、原動機4の出し得る最大出力馬力f(Ne)と原動機4が実際に出力している馬力との関係を示す図である。原動機4の出し得る最大出力馬力は静特性であるため、原動機の実回転数に対して一義的に決まるが、実際に原動機4が出力している馬力は、負荷や目標回転数の変動に関係するため、原動機4の実回転数に対して一義的に決まらない。例えば、図14において、D1,D2,D3は、それぞれ、アクセルペダルをフルに踏み込んで目標回転数をローアイドル回転数Nrminから最大回転数Nrmaxまで変化させたときの原動機4の実出力馬力の変化を示す線図であり、一点鎖線D1は走行無負荷時のもの(走行負荷0)、二点鎖線D2は原動機4の出力馬力の20%を走行用に配分したときのもの(走行負荷20%)、点線D3は原動機4の出力馬力の60%を走行用に配分したときのもの(走行負荷60%)である。このように原動機4が出力する実際の馬力は、原動機4の出し得る最大出力馬力f(Ne)の範囲内で負荷の大きさによって変化する。また、その実際の出力馬力(動特性)は、原動機の特性(例えばAメーカの原動機かBメーカの原動機か)によっても変化する。そこで、ある回転数(実回転数)における原動機4の出し得る最大出力馬力f(Ne)と、実際に出力している馬力との比である原動機出力比Lg(電子ガバナ4aより出力される0〜1の値)を用い、この原動機出力比Lgに最大出力馬力f(Ne)を乗じて、原動機4が実際に出力している馬力、すなわち、原動機実出力馬力M1を演算するものである。例えば、原動機の実回転数がNcであるときの二点鎖線D2の実出力馬力をE2、点線D3の実出力馬力をE3とすると、走行負荷20%では電子ガバナ4aはLg=E2/f(Nc)の原動機出力比Lgを出力し、手順142(図5のブロック302)では、その原動機出力比Lgに最大出力馬力f(Nc)を乗じて原動機実出力馬力M1=E2を求め、走行負荷60%では電子ガバナ4aはLg=E3/f(Nc)の原動機出力比Lgを出力し、手順142(図5のブロック302)では、その原動機出力比Lgに最大出力馬力f(Nc)を乗じて原動機実出力馬力M1=E3を求める。
ついで、処理は手順143に移り、手順143では、その原動機4の実際の回転数(実回転数)Neをメモリ内の図15に示す関数g(Ne)で表される回転数対その他原動機負荷損失馬力のデータマップに参照して、対応する原動機4のその他の原動機負荷18の損失馬力g(Ne)を算出する(図5のブロック303)。
ここで、g(Ne)は次のように作成されたものである。
原動機4は交流発電機5の他にも、ラジエータに送風するための図示しない冷却ファンや、ダンプトラックのべッセルを上下させたり、ステアリング操作するための油圧機器を駆動するための油圧ポンプや、交流発電機5、グリッド抵抗9、電動モータ12R,12L、制御装置3,7などを冷却するための図示しない電動ファンを駆動するための図示しない第2の発電機などを駆動している。図1ではこれらをその他の原動機負荷18として示している。このその他の原動機負荷18を駆動するために予め割り当てた馬力の値が図15のg(Ne)である。この馬力g(Ne)はその他の原動機負荷18が実際に消費する馬力値に対して余裕を持って大きめに設定してある。本明細書中では、この馬力を損失馬力という。
損失馬力g(Ne)は、関数f(Ne)と同様、関数g1(Ne)と関数g2(Ne)と関数g3(Ne)の合成である。関数g1(Nr)は、原動機4の実回転数NeがNrmin(例えば750rpm)からNrmax(例えば2000rpm)まで変化すると、損失馬力g1(Ne)は最小値Gminから最大値Gmaxまで変化する。関数g2(Ne)は、0≦Ne<Nrminの範囲において、損失馬力g(Ne)をg2=Gminの一定値としたものであり、関数g3(Ne)は、Nrmax<Ne≦Nemaxの範囲において、損失馬力g(Ne)をg3=Gmaxの一定値としたものである。
ついで、手順144では、原動機実出力馬力M1から損失馬力grを差し引き、原動機・モータ加速馬力M2を求める(図5のブロック304)。したがって、原動機・モータ加速馬力M2が、原動機4自身の慣性を加速する馬力と、走行用の電動モータ12R,12Lで使用可能な馬力となる。
手順113では原動機4の目標回転数Nrと実回転数Neとの差(回転数偏差)ΔNを算出する(図4のブロック220)。すなわち、
ΔN=Ne−Nr
手順130では、原動機4の実際の回転数Neと回転数偏差ΔNを用いて、下記の計算を行い、原動機加速馬力M3を算出する(図5のブロック305〜308)。
まず、原動機4の実際の回転数Neをメモリ内の図16に示す関数T(Ne)で表される実回転数対原動機加速トルクのデータマップに参照し、対応する原動機第1加速トルクT1=T(Ne)を計算する(図5のブロック305)。同時に、回転数偏差ΔNをメモリ内の図17に示す関数R(ΔN)で表される回転数偏差対加速トルク係数のデータマップに参照し、対応する加速トルク係数Ka=R(ΔN)を算出する(図5のブロック306)。次いで、原動機第1加速トルクT1に加速トルク係数Kaを乗じて原動機加速トルクT3を求める(図5のブロック307)。ついで、原動機加速トルクT3に原動機4の実回転数Neを乗じて原動機加速馬力M3を求める(図5のブロック308)。
つまり、
T1=T(Ne)
Ka=R(ΔN)
T3=Ka×T1
M3=k0×T3×Ne
k0:トルクと回転数から馬力を算出するための定数
図16の破線(A)及び実線(B)は、原動機4の回転数を上昇させるための原動機第1加速トルクT1の特性の一例である。
図16の破線(A)は、実回転数Neによらず原動機第1加速トルクT1が一定のトルクT1aとする特性であり、このように設定すると、原動機4の回転数は一定の上昇速度で立ち上る。
図16の実線(B)の特性は、実回転数Neが低いときには原動機第1加速トルクT1は大きく、実回転数Neがアイドル回転数Nidle(例えば750rpm)にあるときは原動機第1加速トルクT1は最大のT1bであり、実回転数Neが高くなるに従い原動機第1加速トルクT1が減少し、実回転数Neが中速域の回転数Na以上になると原動機第1加速トルクT1が最小のT1cとなるように設定されている。Na=1500rpmである。このように設定することにより、原動機4は応答良く加速してその回転数は1500rpmまで速やかに立ち上り、その後は一定の上昇速度で立ち上る。
図16の破線(A)の特性を選択するか実線(B)の特性を選択するかは、例えば、原動機4の回転数の立ち上がりと、電動モータ12R,12Lの速度の立ち上がりのマッチングを確認して、操作性の良い方を選択する。
図17において、関数R(ΔN)は、加速初期時(アクセルペダル1の踏み込み直後)の原動機4の回転数の立ち上がり前であって、目標回転数Nrが実回転数Neを大幅に上回り、回転数偏差ΔNがマイナス側(ΔN<0側)に大きく低下したとき(ΔNの絶対値が大きいとき)は、加速トルク係数Kaは1であり(Ka=1)、実回転数Neが目標回転数Nrに近づいて回転数偏差ΔNが負の値であるΔN1(第1設定値)になると、加速トルク係数Kaは下がり始め、回転数偏差ΔNがΔN1(第1設定値)より大きい負の値であるΔN2(第2設定値)になるまで実回転数Neが目標回転数Nrに更に近づくと、加速トルク係数Kaは0(Ka=0)となるように設定されている。例えば、ΔN1=−200rpm,ΔN2=−50rpmである。
原動機加速馬力M3は以上のように計算した原動機第1加速トルクT1に加速トルク係数Kaを乗じた後、トルクから馬力変換して得られる値である。このように原動機4の加速に直接関連する物理量である原動機加速トルクT1を求めた後、この原動機加速トルクT1(T3)を原動機加速馬力M3に変換することにより、原動機4の加速性能を適切に設定することができる。
手順131では、手順140〜144で計算した原動機・モータ加速馬力M2と、手順130で計算した原動機加速馬力M3とから電動モータ1台あたりのモータ加速馬力M5を求める(図5のブロック309,310)。
M5=(M2−M3)/2
このモータ加速馬力M5は上述した第1モータ目標馬力Mr1に対する制限値となるものであり、原動機加速馬力M3=0であるときのM5は、上述した前進用の関数hFhF(p)における最大値HFmaxに対して、M5<HFmaxの関係にある。
手順114では、現在の目標回転数Nrが最大回転数Nrmax(例えば2000rpm)であるかどうかを判定し、目標回転数Nrが最大回転数Nrmax(Nr=Nrmax)であれば、手順115において、回転数偏差ΔNをメモリ内の図18の関数S(ΔN)で表されるデータマップに参照してそのときの回転数偏差ΔNに対応する馬力係数Kpを算出する(図4のブロック222,224)。
Kp=S(ΔN)
ここで、図18において、回転数偏差ΔNと馬力係数Kpとの関係は、回転数偏差ΔNがΔN=0を含むΔN3≦ΔN≦ΔN4の範囲内で、回転数偏差ΔNの増減に応じて馬力係数Kpが一定の割合(図18に示す直線S(ΔN)の傾きの係数k)で増減し、ΔN<ΔN3,ΔN>ΔN4の範囲では、馬力係数Kpが一定となるよう設定されている。ΔN=0は、原動機4の出力と電動モータ12R,12Lで使用している出力がバランスしている状態であり、ΔN<0は原動機出力に余裕が無い状態であり、ΔN>0は原動機出力に余裕がある状態である。ΔN3はΔN<0側の値であり、ΔN4はΔN>0側の値である。一例として、ΔN0では、Kp=1.2,ΔN=ΔN3でKp=1,ΔN4でKp=1.4であり、ΔN3=−50rpm,ΔN4=50rpmである。つまり、回転数偏差ΔNが±50rpmの範囲内で変化すると馬力係数Kpは1.0〜1.4の範囲で変化し、ΔN<−50rpmではKp=1.0で一定であり、ΔN50rpmではKp=1.4で一定である。ΔN=0での馬力係数Kpの値は、好ましくは、1.1〜1.25の範囲内の任意の値である。また、ΔN3,ΔN4は、好ましくは、±30〜±100rpmの範囲内の任意の値である。ΔN3<ΔN<ΔN4での馬力係数Kpの変化幅は、好ましくは、ΔN=0の馬力係数Kpの10〜20%である。
また、回転数偏差ΔN3は、ブロック220〜226によるスピードセンシング制御(後述)とブロック305〜309による原動機加速馬力制御(後述)との干渉を防止するため、ΔN2≦ΔN3の関係にある。
手順114で目標回転数Nrが最大回転数Nrmaxより低ければ(Nr<Nrmaxであれば)、手順116で馬力係数KpをKp=1とおく(図4のブロック223,224)。
手順117では、手順131で算出したモータ加速馬力M5にKpを乗じて第2モータ目標馬力Mr2を求める(図4のブロック226)。すなわち、
Mr2=Kp×M5
この第2モータ目標馬力Mr2は手順105,106,107で算出した第1モータ目標馬力Mr1に対する最終的な制限値となるものであり、手順118では、その第1モータ目標馬力との小さい方の値をモータ目標馬力Mrとする(図4のブロック228)。
Mr=min(Mr1,Mr2)つまり、手順118(図4のブロック228)では、第2モータ目標馬力Mr2を第1モータ目標馬力に対する制限値とし、電動モータ12R,12Lに与えられる最終的な目的値であるモータ目標馬力MrがMr2以上にならないように制限する。
手順119,120では、モータ目標馬力Mrと各電動モータ12R,12Lの回転速度ωR,ωLとから第1のモータ目標トルクTr1R,Tr1Lを計算する(図4のブロック230,232)。すなわち、
Tr1R=K1×Mr/ωR
Tr1L=K1×Mr/ωL
K1::馬力と回転数からトルクを算出するための定数。
図19は、モータ目標馬力Mrと電動モータ12R,12Lの回転速度ωR,ωLとモータ目標トルクTr1R,Tr1Lとの関係を示す図である。モータ目標馬力Mrが決まると、そのときのモータ回転速度ωR,ωLに応じたモータ目標トルクTr1R,Tr1Lが定まる。例えば、モータ回転速度ωR,ωLがω1であるとき、モータ目標トルクはTr1R=Mr(ω1),Tr1L=Mr(ω1)となる。また、例えばダンプトラックが坂道にさしかかるなどして電動モータ12R,12Lの負荷トルクが増加し、モータ回転速度ωR,ωLが低下すると、それに応じてモータ目標トルクTr1R,Tr1Lが増加する。逆に、モータ負荷トルクが減少し、モータ回転速度ωR,ωLが増加すると、モータ目標トルクTr1R,Tr1Lを減少させる。
一方、モータ目標馬力Mrを増加させれば、それに応じてモータ目標トルクTr1R,Tr1Lが増加し、そのときのモータ負荷トルクが一定であればモータ回転速度ωR,ωLが増加する。モータ目標馬力を減少させた場合は、逆に、モータ負荷トルクが一定であればモータ回転速度ωR,ωLは減少する。
手順121では、図20に示す関数Mmax(ω)で表されるデータマップに各電動モータ12R,12Lの回転速度ωR,ωLを参照して、対応するモータトルク指令の上限値Tmax(ωR),Tmax(ωL)を求める(図4のブロック234,236)。例えば、モータ回転速度ωR,ωLがω1であるとき、モータトルク指令の上限値Tmax(ωR),Tmax(ωL)はTmax(ω1)となる。関数Mmax(ω)はモータ回転数対モータ最大出力トルクのデータマップであり、インバータ72R,72Lが各電動モータ12R,12Lに流せる最大電流値、インバータ72r,72L内のIGBTやGTOなどの駆動素子の出力限界、各モータ軸の強度などに基づいて予め設定されたものである。
手順122では、手順121で求めたモータトルクの上限値Tmax(ωR),Tmax(ωL)と、それぞれ手順120で求めた第1のモータ目標トルクTr1R,Tr1Lとの比較を行い、小さい方を第2のモータ目標トルクTrR,TrLとする(図4のブロック238,240)。すなわち、
TrR=min(Tmax(ωR),Tr1R)
TrL=min(Tmax(ωL),Tr1L)
手順123では、インバータ制御装置7内のモータ制御演算部72R,72Lによってモータ目標トルクTrR,TrLに応じてインバータ73R,73Lを制御し、各電動モータ12R,12Lのトルク制御がなされる。
手順101〜118(図4、図5のブロック200〜228)の処理は全体制御装置3により行われる処理であり、手順119〜123(図4のブロック230,232,234,236,238,240)の処理はインバータ制御装置7のトルク指令演算部71R,71Lにより行われる処理である。
以上において、手順101〜103(図4のブロック200,202)の処理機能はアクセルペダル1の操作量に応じた目標回転数Nrを計算する目標回転数計算手段を構成する。
手順104〜123,140〜144(ブロック204〜240,300〜310)の処理機能とインバータ制御装置7のモータ制御演算部72R,72Lは、アクセルペダル1の操作量に応じてインバータ73R,73Lを制御し、電動モータ12R,12Lを制御するモータ制御手段を構成する。
電子ガバナ4aは、原動機4の回転数とトルクを制御するものであり、かつ原動機出力比Lgを出力する機能を有している。
また、手順105,106,107(図4のブロック204,206,208)の処理機能は、アクセルペダル1の操作量Pに応じた第1モータ目標馬力Mr1を計算する第1目標馬力計算手段を構成する。
手順109,140〜144(図5のブロック301〜304)の処理機能は、原動機4の実回転数Neと電子ガバナ4aから出力される原動機出力比Lgとから原動機4の加速と電動モータ12R,12Lの加速に使用可能な原動機・モータ加速馬力M2を計算する原動機・モータ加速馬力計算手段を構成する。
すなわち、原動機・モータ加速馬力計算手段は、原動機4の実回転数Neと馬力の関数f(Ne)及びg(Ne)に基づいてその実回転数Neに応じた原動機最大出力馬力と損失馬力を計算し、その原動機最大出力馬力に原動機出力比Lgを乗じて原動機実出力馬力M1を計算し、その原動機実出力馬力M1から前記損失馬力を減じて前記原動機・モータ加速馬力M2を計算する。
手順130(図5のブロック305〜308)の処理機能は、原動機4の実回転数Neから目標回転数Nrを差し引いた回転数偏差ΔNが負の値である第1設定値ΔN1より小さいときは所定の原動機加速馬力M3(=T1×Ne)を生成し、原動機4の実回転数Neが目標回転数Nrに近づいて回転数偏差ΔNが第1設定値ΔN1より大きくなったときは、原動機加速馬力M3(=T1×Ne)を減らすよう補正する原動機加速馬力計算手段を構成する。
すなわち、原動機加速馬力計算手段は、原動機4の実回転数Neと原動機加速トルクT1の関数T(Ne)に基づいてその実回転数Neに応じた原動機加速トルクT1を計算し、原動機4の実回転数Neが目標回転数Nrに近づいて回転数偏差ΔNが第1設定値ΔN1(負の値)より大きくなると、原動機加速トルクT1を減らすよう補正し、この原動機加速トルクT3に原動機4の実回転数Neを乗じて原動機加速馬力M3を演算する。
また、原動機加速馬力計算手段は、原動機4の実回転数Neと原動機加速トルクT1の関数T(Ne)として、原動機4の実回転数Neが高くなるに従って原動機加速トルクT1が小さくなるよう設定した関数を用いて原動機加速トルクT1を計算する。
更に、原動機加速馬力計算手段は、回転数偏差ΔNが第1設定値ΔN1(負の値)より小さいときは原動機加速トルクT1を所定の値(Ka=1)とし、回転数偏差ΔNが第1設定値ΔN1(負の値)とこの第1設定値より大きい負の値である第2設定値ΔN2との間にあるときは、回転数偏差ΔNが大きくなるにしたがって原動機加速トルクT1を小さくし(1>Ka>0)、回転数偏差ΔNが第2設定値ΔN2(負の値)より大きくなると原動機加速トルクT1を0とするよう補正しし、この補正した原動機加速トルクT3に原動機4の実回転数Neを乗じて原動機加速馬力M3を演算する。
また、原動機加速馬力計算手段は、原動機加速トルクT1の補正量として原動機加速トルク補正係数Kaを計算し、回転数偏差ΔNが第1設定値ΔN1(負の値)より小さいときは原動機加速トルク補正係数Kaが1であり、回転数偏差ΔNが第1設定値ΔN1(負の値)とこの第1設定値より大きい第2設定値ΔN2(負の値)との間にあるときは、回転数偏差ΔNが大きくなるにしたがって原動機加速トルク補正係数Kaを1より小さくし、回転数偏差ΔNが第2設定値ΔN2(負の値)より大きくなると原動機加速トルク補正係数Kaを0とし、この原動機加速トルク補正係数Kaに原動機4の実回転数Neと原動機加速トルクの関数T(Ne)に基づいて計算した原動機加速トルクT1を乗じることで原動機加速トルクT3を補正する。
手順109,130,131,140〜144(図5のブロック301〜310)の処理機能は、前記原動機・モータ加速馬力計算手段と前記原動機加速馬力計算手段を有し、原動機・モータ加速馬力M2から原動機加速馬力M3を減じて、電動モータ12R,12Lを加速するモータ加速馬力M5を計算するモータ加速馬力計算手段を構成する。
手順113〜117,130,131,140〜144(図4及び図5のブロック220〜226,300〜310)の処理機能は、前記モータ加速馬力計算手段を有し、このモータ加速馬力計算手段で計算したモータ加速馬力に基づいて第2モータ目標馬力Mr2を求める第2モータ目標馬力計算手段を構成する。
更に、手順118(図4のブロック228)の処理機能は、第1モータ目標馬力Mr1が第2モータ目標馬力Mr2を超えないよう制限しモータ目標馬力Mrを生成するモータ目標馬力制限手段を構成する。
手順119〜123(図4のブロック230〜240)の処理機能とインバータ制御装置7のモータ制御演算部72R,72Lは、モータ目標馬力Mrに基づいて2つの電動モータ12R,12Lのそれぞれの第1モータ目標トルクTr1R,Tr1Lを求め、インバータ73R,73Lを制御するインバータ制御手段を構成する。
手順114〜117(図4のブロック220〜226)の処理機能は、原動機4の実回転数Neが目標回転数Nrよりも高いときは走行用の電動モータ12R,12Lで使用可能なモータ加速馬力M5を増やし、原動機4の実回転数Neが低くなるにしたがってそのモータ加速馬力M5を減らすよう補正するスピードセンシング制御手段を構成し、第2モータ目標馬力計算手段は、そのスピードセンシング制御手段で補正したモータ加速馬力により第2モータ目標馬力Mr2を求める。
本明細書において、原動機加速馬力制御手段(手順130,131;図5のブロック305〜310)による制御を「原動機加速馬力制御」といい、スピードセンシング制御手段(手順114〜117;図4のブロック220〜226)による制御を「スピードセンシング制御」といい、モータ目標馬力制限手段(手順118,図4のブロック228)による制御を「全馬力制御」という。更に、全馬力制御とスピードセンシング制御を合わせた制御を「スピードセンシング全馬力制御」という。
<動作>
次に、本実施の形態の動作を説明する。この説明は図4及び図5の機能ブロック図を参照して行う。
<走行加速時>
ダンプトラックを前進走行させることを意図してアクセルペダル1を操作量px(図9参照)を超えた最大近くの位置まで踏み込むと、図4のブロック200で原動機4の目標馬力FrとしてFmaxが計算され、ブロック202で目標回転数NrとしてNmaxが計算される(Nr=Nmax)。電子ガバナ4aは目標回転数Nmaxの指令を受け取ると、原動機4が目標回転数Nmaxで回転するように燃料噴射量を制御する。前述したように、Nr=Nmaxでは電子ガバナ4aはドループ制御に設定されている。
電動モータ側では、図4のブロック204でF/R=1となり、ブロック206の処理機能を選択し、ブロック206では、電動モータ12R,12Lの第1モータ基本目標馬力Mr1として最大近くのアクセルペダル操作量に対応するモータ目標馬力HFmaxを算出する。
図5のブロック301〜310は、電動モータ1台あたりで使用可能な最大馬力のモータ加速馬力M5を求める。つまり、図5のブロック301〜304で、図13の関数f(Ne)に基づいてそのときの原動機4の出し得る最大出力馬力frに、そのときの原動機出力比Lg(0〜1の値を有する)を乗じ、原動機4が実際に出力している原動機実出力馬力M1を求める。その原動機実出力馬力M1から、図15の関数g(Ne)に基づいてそのときの損失馬力grを減じ、原動機・モータ加速馬力M2を計算する。このM2が原動機4及び電動モータ12R,12Lを加速するのに使用可能な最大馬力となる。そして、図5のブロック305〜308(原動機馬力制御手段)で、図16の関数T1(Ne)と図17の関数R(ΔN)に基づいてそのときの原動機4の実回転数Neと回転数偏差ΔNに応じた原動機加速トルクT3(=Ka×T1)の計算と、トルク−馬力変換を行うことで、原動機加速馬力M3を計算する。そして、図5のブロック309,310でモータ加速馬力M5=(M2−M3)/2を計算する。回転数偏差ΔNは図4のブロック220で計算した値を用いる。
ここで、アクセルペダル1を踏み込んだ直後の加速初期時は、原動機4の回転数の立ち上がり前であるため、実回転数が低くかつ目標回転数Nrが実回転数Neを大幅に上回り(Ne<<Nr)、回転数偏差ΔNはマイナス側に大きく減少し、ΔN<ΔN1(図17参照)である。このため図5のブロック301,302において原動機・モータ加速馬力M1が小さめの値として演算され、かつ図5のブロック306において、図17の関数R(ΔN)により加速トルク補正係数Ka=1が計算され、ブロック307で原動機加速トルクT3=Ka×T1=T1が大きめの値として求められる。そして、ブロック308で、その原動機加速トルクT3と原動機回転数Neから原動機加速馬力M3が同様に大きめの値として計算される。そして、モータ加速馬力M5はブロック301〜304で求めた原動機・モータ加速馬力M2よりも原動機4を加速するための馬力である原動機加速馬力M3の分だけ、小さな値となっているため、モータ加速馬力M5は小さめの値となっている。
一方、図4のブロック220〜226(スピードセンシング制御手段)では、回転数偏差ΔNはΔN<ΔN1<ΔN3(図17及び図18参照)でり、馬力係数KpとしてKp=1が演算されるため、スピードセンシング制御は無効となり、第2モータ目標馬力Mr2としてMr2=M5が計算される。なお、アクセルペダル1をxp以下のハーフ程度の位置に踏み込んだ場合も、Nr<Nrmaxで、ブロック224でブロック223の馬力係数Kp=1が選択されるため、同様にスピードセンシング制御は無効となり、第2モータ目標馬力Mr2としてMr2=M5が計算される。
図4のブロック228では、上記第1モータ目標馬力Mr1と第2モータ目標馬力Mr2の小さい方の値を選択してモータ目標馬力Mrを生成する。ここで、加速時は、モータ目標馬力Mr2(=M5)は、原動機・モータ加速馬力M2より原動機加速馬力M3分だけ小さな値となっているため、モータ目標馬力MrとしてMr2が選択される。ブロック230〜240ではそのモータ目標馬力Mrから左右の電動モータ12R,12Lのモータ目標トルクTrR,TrLを算出し、これらのモータ目標トルクTrR,TrLは電動モータ12R,12Lの指令馬力としてインバータ制御装置7内のモータ制御演算部72R,72Lに与えられ、モータ制御演算部72R,72Lはモータ目標トルクTrR,TrLに応じてインバータ73R,73Lを制御し、各電動モータ12R,12Lのトルク制御がなされる。
以上のように走行加速時に、原動機・モータ加速馬力M2から原動機加速馬力M3を差し引いて第2モータ目標馬力Mr2を求め、それを制限値として走行モータ12R,12Lに配分する制御(電動機加速馬力制御)を行うため、原動機4は過負荷になることなく、図16で設定された原動機第1加速トルクで加速し、電動モータ12R,12Lと共にバランス良く加速し、応答良く滑らかに加速制御することができる。
つまり、走行加速初期時は、制限値としての第2モータ目標馬力Mr2が原動機・モータ加速馬力よりも原動機加速馬力M3の分だけ小さくなっており、かつその第2モータ目標馬力Mr2(=M5)は小さめの値として演算されるため、その分、モータ目標馬力Mrも小さくなり、原動機4の負荷が減り、原動機4は図16で設定されたトルクで応答良く加速する。これにより走行加速初期時は、原動機4を速やかに加速し、交流発電機5の発電量を増やし、結果として、走行モータ12R,12Lは速やかに加速する。
原動機4の加速が進み、原動機4の実回転数が高くなると原動機・モータ加速馬力M1も大きくなる。また、原動機4の実回転数Neが目標回転数Nrに近づいて回転数偏差ΔNがΔN1になると、加速トルク係数Kaは1以下の値に下がり始め、これに伴って原動機加速馬力M3は減少し始め、回転数偏差ΔNがΔN2(>ΔN1)になると、加速トルク係数Kaは0(Ka=0)となるため、原動機加速馬力M3も0となる。この原動機・モータ加速馬力M1の変化と原動機加速馬力M3の変化に応じて制限値としての第2モータ目標馬力Mr2は、(M2−M3)/2から(M2)/2へと増加し、これに対応してモータ目標馬力Mrも増加する。これにより電動モータ12R,12Lに配分される指令馬力が増加するため、電動モータ12R,12Lは更に加速される。
また、原動機4の実回転数と電子ガバナ4aから出力される原動機出力比Lgとから原動機実出力馬力M1を求め、原動機・モータ加速馬力M2を計算するため、原動機4の動特性の如何に係わらず、原動機4のそのときの運転状態に応じた精度の良い原動機・モータ加速馬力M1を計算し、走行加速時に原動機4と電動モータ12R,12Lをバランス良く加速制御し、応答良く加速走行することができる。
なお、以上の動作例は走行始動時の加速制御の場合であるが、低速で走行中にアクセルペダル1を更に踏み込んで走行加速を行う場合も、同様に回転数偏差ΔNが発生するため、同様に加速制御することができる。つまり、回転数偏差ΔNを用いて原動機4の加速用馬力と電動モータ12R,12Lの出力馬力の配分を制御するので、アクセルペダル1の踏み込み開始位置に係わらず、上記の加速制御の効果を得ることができる。
<定常走行時>
1.高速走行
以上のようにアクセルペダル1を踏み込んで走行加速後、原動機4の実回転数Neが目標回転数Nrに近づくと定常走行に移行する。この定常走行では、ΔN>ΔN2でKa=0で、原動機加速馬力M3=0であるため、電動モータ1台あたりの第2モータ目標馬力Mr2は、Mr2=M2/2となる。
また、図4のブロック222では、Kp=S(ΔN)により回転数偏差ΔNに応じた馬力計数Kpを演算し、ブロック224では、Nr=Nrmaxであるのでその馬力係数Kpを選択し、ブロック226では、馬力係数Kpをモータ加速馬力M5に乗じて第2モータ目標馬力Mr2を算出する。このようにブロック220〜226では、回転数偏差ΔNを用いて電動モータ1台当たりで使用可能な最大馬力であるモータ加速馬力M5が補正される(スピードセンシング制御)。
図4のブロック228では、上記第1モータ目標馬力Mr1と第2モータ目標馬力Mr2の小さい方の値を選択してモータ目標馬力Mrを生成する。この場合も、Mr2<HFmaxの関係にあり、Mr1>Mr2であるため、モータ目標馬力MrとしてMr2が選択される。ブロック230〜240では、そのモータ目標馬力Mrを用いて左右の電動モータ12R,12Lのモータ目標トルクTrR,TrLを算出し、このモータ目標トルクTrR,TrLに基づいてインバータ73R,73Lを制御し、各電動モータ12R,12Lのトルク制御がなされる。
このようにアクセルペダル1を最大近傍まで踏み込み、Nmaxが設定される状態では、ブロック220〜226によるスピードセンシング全馬力制御が行われる。このスピードセンシング全馬力制御により、原動機4の出力限界まで出力馬力を取り出し、原動機馬力をモータ側で有効利用することができる(後述)。
2.低速走行
アクセルペダル1の踏み込み量が少ない低速走行中は、図4のブロック200でFmaxより小さな目標馬力Frが演算され、ブロック202でNrmaxより低い目標回転数Nrが計算され(Nr<Nmax)、これに応じて原動機4の燃料噴射量が制御される。電動モータ側では、Nr<Nrmaxであるため、ブロック222では、ブロック23に設定されたKp=1が選択され、スピードセンシング制御は無効とされ、ブロック226ではMr2=M5の第2モータ目標馬力Mr2が計算される。ブロック228では、第1モータ目標馬力Mr1と第2モータ目標馬力Mr2の小さい方を選択してモータ目標馬力Mrを求め、ブロック228〜240で、そのモータ目標馬力Mrにより求めたモータ目標トルクTrR,TrLに応じて各電動モータ12R,12Lのトルク制御がなされる。
このようにNr<Nrmaxでは、ブロック220〜226の回転数偏差ΔNを用いた処理(スピードセンシング制御)は無効とされるため、スピードセンシング制御のない全馬力制御を行う。
3.後進走行
アクセルペダル1を踏み込んでダンプトラックを後進させる場合は、ブロック208で後進用のモータ目標馬力Hが算出される。この場合は、後進用の関数hR(p)におけるモータ目標馬力Hの最大値HRmaxは小さめに設定されているため、図4のブロック228では第1モータ目標馬力Mr1が選択され、第2モータ目標馬力Mr2に制限されることなく各電動モータ12R,12Lのトルク制御がなされる。
<スピードセンシング全馬力制御の効果について>
本実施の形態のスピードセンシング全馬力制御の効果を図面を用いて説明する。
図21は、スピードセンシング制御と原動機加速馬力制御のない全馬力制御を行う場合の駆動システムを比較例として示す。図4及び図5と同様な機能ブロック図である。図中、図4及び図5に示す部分と同等のものには同じ符号を付している。図21に示す比較例では、スピードセンシング制御と原動機加速馬力制御を行わないため、図4のブロック220〜226(図7の手順114〜117)及びブロック305〜308(図7の手順130,131の一部)がなく、ブロック301〜304,309〜310で算出したモータ加速馬力M5がそのまま第2モータ目標馬力Mr2としてブロック228で第1モータ目標馬力Mr1と比較される。
図22は、Nr=Nrmaxのときの原動機4の動作特性を示す図である。図中、f(Nr)は図13に示した原動機4の出し得る最大出力馬力の関数であり、直線Dは図2の原動機出力トルク特性図におけるドループ制御の直線R1に対応する馬力特性である。
前述したように、Nr=Nrmaxのとき、図5のブロック301〜303では、原動機4の実回転数Neを図13及び図15に示す関数f(Ne)及びg(Ne)に参照して最大回転数Nrmaxに対応するfr(=f(Ne))とgr(=g(Ne))の値を算出すると共に、原動機出力比Lgを読み出し、frにLgを乗じた後、ブロック304,310でそのLg×frの値とgrの値とから、M5=(Lg×fr−gr)/2により電動モータ1台あたりのモータ加速馬力M5(電動モータ1台あたりで使用可能な最大馬力)を求める。
ここで、関数f(Ne)は原動機4の出し得る最大出力馬力であり、関数g(Ne)はその他の原動機負荷18を駆動するために予め割り当てた馬力の値(損失馬力)である。この損失馬力は、その他の原動機負荷18で消費する馬力の予測値に基づいて決められている。しかし、その他の原動機負荷18の実際の消費馬力は稼働状況に応じて変化する値であり、その変動幅も原動機4の最大出力馬力に対して10〜20%にもなり、予測が難しい。また、エンジンオイルの冷却を行うファンは自動的に動作、停止を繰り返し、その大きさも原動機4の出力馬力の5〜10%近くにもなる。したがって、その他の原動機負荷8の損失馬力をある予測値に定めた場合、実際の消費馬力の大きさは予測値より大きくなることもあれば小さくなることもある。実際の消費馬力が予測値より大きくなると、原動機4はストールしてしまう可能性がある。そこで、損失馬力g(Ne)は実際の消費馬力に対して余裕を持って大きめに設定する必要がある。例えば、Nr=Nrmaxで、f(Ne)=1500kWとし、損失馬力の予測値を200kW程度とすると、g(Ne)=300kW程度に設定される。この場合、電動モータ1台あたりの第2モータ目標馬力Mr2は、Mr2=(f(Ne)−g(Ne))×1/2=(1500kW−300kW)×1/2=1200kW×1/2=600kWである。
一方、このように損失馬力g(Ne)を余裕を持って大きめに設定すると、図21の比較例では、原動機4にはまだ余裕があるのにそれを電動モータ12R,12Lの出力として有効利用することができないということになる。例えば、上記のg(Ne)=300kWの場合、実際の消費馬力が予測値と同じ200kWであるとすると、電動モータも含めた全消費馬力は200kW+(600×2)kW=1400kWであり、100kWが有効利用できない無駄な馬力となる。図22では、このように損失馬力g(Ne)を設定した場合の走行時における原動機4の動作点をX1点で示している。
このような比較例に対して、本実施の形態では、スピードセンシング制御のある全馬力制御をするので、原動機4の出力限界まで出力馬力を取り出し、原動機馬力をモータ側で有効利用することができる。
つまり、本実施の形態では、原動機4の出力に余裕がある場合は、ドループ制御によってΔN>0となるため、ブロック220〜226のスピードセンシング制御により、モータ加速馬力M5がより大きい値として計算され、これを第2モータ目標馬力Mr2とする。このためNr=Nrmaxの走行時に、原動機4の出力限界まで馬力を取り出し、電動モータ12R,12Lを駆動することができる。上記の例では、原動機4の動作点が図22のX1にあり、ブロック222でΔNにより計算される馬力係数KpがKp=1.3であるとすると、第2モータ目標出力馬力Mr2はモータ加速馬力M5の600kWから600kW×1.3=780kWへと増加し、これに伴って原動機4の動作点は図22のX1からΔN<0となる過負荷側へ移動し、例えばΔN=0のNrmaxより−10rpm〜−30rpm程度回転数の低いX2点でバランスする。このX2点において、ブロック222で得られる馬力係数Kpが例えば1.1であるとすると、第2モータ目標馬力Mr2は600×1.1=660kWとなり、その他の原動機負荷18も含めた全消費馬力は200kW+(660×2)kW≒1500kWとなる。このように原動機4の出力限界まで原動機4の出力馬力を無駄なく有効に使うことができる。
一方、上記のような走行中に、その他の原動機負荷8の消費馬力が何かの原因(例えば気温の変化)で増加し、図22の動作点X2が更に図示左方に移動した場合は、回転数偏差ΔNが更に減少し、ブロック222で計算される馬力係数Kpが小さくなるため、第2モータ目標馬力Mr2も減少し、モータ目標馬力Mr1を制限する。例えばΔNが減少し、ブロック222でKp=1.0が計算されると、上記の例では、第2のモータ目標出力馬力Mr2は660kWからモータ加速出力馬力M5と同じ600kWへと減少し、これに伴って原動機4の動作点は再びΔN=0側へと戻り、原動機負荷8の消費馬力と電動モータ12R,12Lの消費馬力(第2モータ目標出力馬力Mr2)のトータルが原動機4の最大出力馬力(上記の例では1500kW)と一致する点でバランスする。これにより原動機4のストールが防止される。
以上のように本実施の形態によれば、Nr=Nrmaxで、その他の原動機負荷8の消費馬力が少ない場合は、電動モータ12R,12Lの目標馬力の制限値(第2モータ目標馬力Mr2)を増加させ、原動機4の出力限界まで馬力を取り出し、電動モータ12R,12Lを駆動することができる。また、その他の原動機負荷8の消費馬力が増加した場合は、電動モータ12R,12Lの目標馬力の制限値(第2モータ目標馬力Mr2)を小さくし、電動モータ12R,12Lの消費馬力を減らすことで原動機4の過負荷を防止し、原動機4のストールを防止することができる。
一方、アクセルペダルをフル操作せず、原動機4の目標回転数Nrが最大回転数Nrmaxよりも小さいNr<Nrmaxでは、上記のようにブロック220〜226によりスピードセンシング制御をすると、不具合が生じることがある。例えば、アクセルペダル1をハーフ操作し、Nr<Nrmaxの状態で平坦路の走行中に坂道にさしかかった場合、走行速度が低下するので、オペレータはアクセルペダル1の踏み込み量を増やし、走行速度を維持しようとする。この場合、図4のブロック220〜226によりスピードセンシング制御をすると、平坦路を走行中は、原動機4の出力馬力に余裕があり、ΔN>0であったものが、アクセルペダル1の踏み込み量を増やした瞬間、第1モータ目標馬力Mr1が増加し、原動機4の負荷が増加するため、ΔN<0となり、ブロック222で計算される馬力係数Kpが減少し、第2モータ目標馬力Mr2も低下する。このため第1モータ目標馬力Mr1は第2モータ目標馬力Mr2に制限され、アクセルペダル1を踏み込んだにも係わらず、電動モータ12R,12Lの目標トルクMrが減少し、走行速度が低下してしまう。
本実施の形態では、原動機4の目標回転数Nrが最大回転数Nrmaxよりも小さいNr<Nrmaxでは、図4のブロック223,224で馬力係数Kp=1に切り換え、スピードセンシング制御を解除する。このため上記のような不具合は生じず、アクセルペダル1の踏み込みに応じて、上記の加速馬力制御により、応答良くスムーズに加速することができる。
<効果のまとめ>
本実施の形態によれば下記の効果が得られる。
1.本実施の形態では、走行加速時に、ブロック305〜309の原動機加速馬力制御により原動機・モータ加速馬力M2から原動機加速馬力M3を差し引いてモータ加速馬力M5を求め、それを制限値として走行モータ12R,12Lに配分する制御(原動機加速馬力制御)を行うため、原動機4は過負荷になることなく、図16で設定された原動機第1加速トルクで加速し、電動モータ12R,12Lと共にバランス良く加速し、応答良く滑らかに加速制御することができる。
2.また、図5のブロック301〜304において、原動機最大出力馬力frに原動機出力比Lgを乗じて原動機実出力馬力M1を計算し、その原動機実出力馬力M1から損失馬力grを減じて原動機とモータの加速馬力を計算している。このように、原動機最大出力馬力frに原動機出力比Lgを乗じて原動機実出力馬力M1を計算しているので、例えば原動機負荷が高負荷に急変した時の原動機出力馬力の立ち上り方や、目標回転数を高回転に急変した時の原動機出力馬力の立ち上り方(動特性)が異なった原動機であっても、精度の良い原動機・モータ加速馬力を計算できる。それにより、特性の異なる原動機であっても走行加速時に、原動機と電動モータをバランス良く加速制御し、応答良く加速走行することができる。
3.また、原動機加速馬力M3は、原動機4の加速に直接関連する物理量である原動機第1加速トルクT1を求め、この加速トルクT1に加速トルク係数Kaを乗じて原動機加速トルクT3を求めた後、このトルクを馬力変換して得られる値である。これにより原動機4の加速性能を適切に設定することができ、その結果、原動機と電動モータをバランス良く加速制御し、応答良く加速走行することができる。
4.また、アクセルペダル1を最大近傍まで踏み込み、Nrmaxが設定される状態では、ブロック220〜226でスピードセンシング全馬力制御が行われるため、原動機4の出力限界まで出力馬力を取り出し、原動機馬力をモータ側で有効利用することができる。
また、アクセルペダル1をハーフ位置程度まで踏み込んで、Nrmaxより低い目標回転数Nrが設定される状態では、スピードセンシング制御による不具合を生じることなく、加速馬力制御によりアクセルペダルの踏み込みに応じて応答良くスムーズに加速することができる。
5.本実施の形態では、図4のブロック206,208,226,図5のブロック301〜310において、電動モータ12R,12Lの指令値として目標トルクではなく、モータ目標馬力MR1,M5,Mr2を求め、ブロック230,232でモータ目標馬力Mrをその時点のモータ回転数で除して第1のモータ目標トルクTr1R,Tr1Lを算出し、更に、そのモータ目標トルクをインバータ、モータに固有な最大トルクの関数から得た値と比較し、小さい方の値を最終的な目標トルクTrR,TrLとして制御する。
ここで、アクセルペダル1の操作量pから直接計算する値としてモータ目標馬力ではなくモータ目標トルクを算出することが考えられる。しかし、この場合は、アクセルペダル1の操作量が小さいときは、原動機4の目標回転数、電動モータ12R,12Lにかかる馬力、トルクの全てが小さくなってしまうため、アクセルペダルの操作量を小さくし、電動モータ12R,12Lにかける馬力は小さくても、トルクは大きくしたいという場面では、適切に操作することができない。例えば、登り坂での走行開始時に、アクセルペダル1を少し踏み込んだだけではトルクが足りないため、オペレータはアクセルペダル1を大きく踏み込む必要があるが、運転者が戸惑っている間にダンプトラツクが自重で後進してしまう場合もあり、危険である。
本実施の形態では、電動モータ12R,12Lの指令値としてモータ目標馬力Mrを求め、その後、そのときのモータ回転数を参照してモータ目標トルクを算出し、電動モータ12R,12Lを制御する。これによりモータ回転数が低い場合には、アクセルペダル1の操作量が小さく、電動モータ12R,12Lにかける馬力が小さくても、出力トルクを大きくできるので、登り坂での走行開始時に後ずさりするような不具合は起きなくなる。
また、アクセルペダル1の操作量pとモータ出力馬力との関係が一致するようになるので、良好な操作感覚が得られる。
このように本実施の形態では、アクセルペダル1の操作量が小さく、電動モータ12R,12Lにかかる馬力が小さくても、走行速度が遅く、モータ回転速度が小さい場合には電動モータ12R,12Lにかけるトルクを上限値ぎりぎりまで大きくすることができるので、登り坂道の発進時に後ずさりすることなくなり、操作感が向上し、安全性が向上する。
5.本実施の形態では、図4のブロック200,202において、アクセルペダル1の操作量pから直接原動機4の目標回転数Nrを求めるのではなく、最初に、関数Fr(p)により原動機4の目標馬力Frを計算し(ブロック200)、この目標馬力Frを用いて図13に示したfr(Nr)の逆関数である関数Nr(Fr)により目標回転数Nrを計算する(ブロック202)。これにより原動機4の馬力特性の非線形性を補正することができる。
<その他の実施の形態>
以上において、本発明の実施の形態を説明したが、それらは本発明の精神の範囲内で種々の変形が可能である。以下にその代表例を説明する。
1.上記実施の形態では、全馬力制御のスピードセンシング制御において、ブロック222で馬力補正値として馬力係数Kpを求め、ブロック226でモータ加速馬力M5にその馬力係数Kpを乗じて第2モータ目標馬力Mr2を求めたが、ブロック222の関数を回転数偏差ΔNと馬力補正値ΔMの関数とし、そのときのΔNに対応する馬力補正値ΔMを求め、この馬力補正値ΔMをモータ加速馬力M5に加算して、第2モータ目標馬力Mr2を求めてもよい。
2.上記実施の形態では、ブロック301,303で、最大出力馬力及び損失馬力をそれぞれ原動機4の実回転数Neの関数f(Ne)及びg(Ne)とし、原動機4の実回転数Neから最大出力馬力及び損失馬力を求めたが、通常はアクセルペダルを急激に操作しないので、概ねNe=Nrである。したがって、最大出力馬力及び損失馬力をそれぞれ原動機4の目標回転数Nrの関数f(Nr)及びg(Nr)とし、原動機4の目標回転数Nrから最大出力馬力及び損失馬力を求めてもよい。
3.上記実施の形態では、ブロック224で、原動機4の目標回転数NrがNr=Nrmaxかどうかで、スピードセンシング制御をする場合としない場合とに切り換えたが、判定回転数としてNrmaxの一点だけでなく、0〜50rpm程度の幅を持たせてもよい。また、判定パラメータとして目標回転数Nrではなく、アクセルペダル1の操作量pを用いてもよい。アクセルペダル1の操作量pで判定する場合は、例えば、p≧90%ではスピードセンシング制御をし、p<90%ではスピードセンシング制御をしないようにすることで、目標回転数NrがNr=Nrmaxかどうかで、スピードセンシング制御をする場合としない場合とに切り換えたのと同様の結果が得られる。
4.上記実施の形態では、その他の原動機負荷8の損失馬力g(Ne)を予測値に対して余裕を持たせて設定したが、予測値に対して余裕を持たせず、予測値と同じ或いはその近辺の値に設定してもよい。この場合、ブロック222における関数S(ΔN)を、回転数偏差ΔN=0であるときの馬力係数Kpが1付近の値(ΔN=0でKp≒1)となるように設定することで、その他の原動機負荷8の消費馬力が予測値(損失馬力g(Ne))より少なく、ΔN>0となる場合は、結果としてブロック226で計算される第3モータ目標馬力mr3は設定値としての損失馬力g(Ne)よりも増加し、原動機馬力をモータ側で有効利用することができ、その他の原動機負荷8の消費馬力が予測値(損失馬力g(Ne))より増え、ΔN<0となる場合は、結果としてブロック226で計算される第3モータ目標馬力Mr3は設定値としての損失馬力g(Ne)よりも減少し、原動機4の過負荷によるストールを防止することができる。なお、この場合は、Ne<Nrmaxでスピードセンシング制御を行わない場合は、走行用の電動モータ12R,12Lの消費馬力が過度に大きくならないよう、ブロック223の馬力係数Kpを、Kp=0.9程度と、余裕のある値に設定する必要がある。
5.電動モータ12R,12Lは誘導モータとしたが、同期モータであってもよい。
6.上記実施の形態では、原動機4の電子ガバナ4aは、目標回転数Nrが最大回転数定格回転数)Nrmaxに等しいとき、つまりNr=Nrmax(例えば2000rpm)では、燃料噴射量の制御がドループ制御となるように設定されているとして説明したが、Nr=Nrmaxにおいてもアイソクロナス制御を行ってもよい。その場合は、図18の関数S(ΔN)は、回転数偏差が0<ΔNのときは意味をなさなくなる。このとき、関数S(ΔN)の形状はそのままでもよいが、ΔN=0の時の馬力係数Kpは1.2から1.3位に大きくしておくことが望ましい。それにより、損失馬力g(Ne)に変動があってもΔNを常時負の値を持つようにすることができる。