以下、本発明の一実施の形態を図面を用いて説明する。
図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で回転するように燃料噴射量を制御する。
原動機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<Nrmaxでは、ドループ制御でもアイソクロナス制御でも構わないが、好ましくは、回転数変動の少ないアイソクロナス制御に設定されている。
図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の出力トルクを増加させることはできない。更に、原動機4にかかる負荷が増加すると領域Y1の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により、そのΔN(=Ne−Nr)がゼロとなるように燃料噴射量を制御する。図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)がゼロとなるように燃料噴射量を制御する。
以上は、通常の電気駆動ダンプトラックの基本構成と動作である。
次に、本発明の特徴となる部分について説明する。
本発明において、各構成機器の動作は全体制御装置3及びインバータ制御装置7内に組み込まれた、図示しないメモリ内の処理手順に従って演算処理される。図4はその処理手順を示す機能ブロック図であり、図5〜図7はその処理手順を示すフローチャートである。以下に、その処理手順を、主として図5〜図7に示すフローチャートに従い、補助的に図4の機能ブロック図を用いて説明する。
図5〜7において、STARTから処理が始まり、ENDまで処理すると再びSTARTに戻るという処理フローになる。
手順101,102では、アクセルペダル操作量(以下アクセル操作量という)pを読み込み、このアクセル操作量pを、メモリ内の図8に示す関数Fr(p)で表されるアクセル操作量対原動機目標馬力のデータマップに参照して、対応する原動機目標馬力Frを算出する(図4のブロック200)。関数Fr(p)は、アクセル操作量pが無操作である0から最大のpmaxまで変化すると、図8に示したように、原動機4の目標馬力FrはFminからFmaxまで変化するように設定されており、例えば、図8中でアクセル操作量がp1ではFr=F1である。また、アクセル操作量pが最大のpmaxより手前のX点で原動機目標馬力Frは最大のFmaxとなる。X点のアクセル操作量pxは例えば最大操作量pmaxの90%程度である。
手順103では、原動機目標馬力Frを、メモリ内の図9に示す関数Nr(Fr)で表される目標馬力対目標回転数のデータマップに参照して、対応する原動機3の目標回転数Nrを算出する(図4のブロック202)。ここで、図9の関数Nr(Fr)は原動機4の回転数と出力馬力との関数fr=f(Nr)(後述)の逆関数であり、例えば、図9中で原動機目標馬力が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の基本目標馬力Mr1を算出する。すなわち、F/R=1の場合は、メモリ内の図10に示す関数hF(p)で表される前進用のアクセル操作量対モータ目標馬力のデータマップを読み出し、アクセル操作量pをこの関数hF(p)に参照させ、対応するモータ目標馬力H(=Mr1)を算出する(図4のブロック204,206)。F/R=0の場合は、メモリ内の図11に示す関数hR(p)で表される後進用のアクセル操作量対モータ目標馬力のデータマップを読み出し、アクセル操作量pをこの関数hR(p)に参照させ、対応するモータ目標馬力H(=Mr1)を算出する(図4のブロック204,208)。この実施の形態では、図10に示す前進用の関数hF(p)は、アクセル操作量p=0ではモータ目標馬力H=0で、少し踏み込んだ状態、すなわち図10中のA点からHが増加し、B点からHの増加の比率を上げて、アクセル操作量が最大値pmaxより手前のC点で、電動モータ12R,12Lで発生可能な最大馬力HFmaxとなるように設定されている。図11に示す後進用の関数hR(p)は、アクセル操作量pが増加するに従いモータ目標馬力Hが増加するが、モータ目標馬力の最大値HRmaxは前進用の関数hF(p)における最大値HFmaxより小さい値に設定されている。なお、前進用の関数hF(p)で求めたモータ目標馬力に1より小さい正の定数を乗じて後進用のモータ目標馬力を求めてもよい。図10のC点におけるアクセル操作量pcは例えば最大操作量pmaxの95%程度である。
手順109では、原動機4の実際の回転数Neを読み込み、手順110では、その原動機4の実際の回転数(実回転数)Neをメモリ内の図12に示す関数f(Ne)で表される回転数対原動機最大出力馬力のデータマップと関数g(Ne)で表される回転数対その他原動機負荷損失馬力のデータマップに参照して、対応する原動機4の最大出力馬力f(Ne)とその他の原動機負荷18の損失馬力g(Ne)を算出する(図4のブロック210,212)。
ここで、関数f(Ne)及びg(Ne)は次のように作成されたものである。図12において、関数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の一定値としたものである。
原動機4は交流発電機5の他にも、ラジエータに送風するための図示しない冷却ファンや、ダンプトラックのベッセルを上下させたり、ステアリング操作するための油圧機器を駆動するための油圧ポンプや、交流発電機5、グリッド抵抗9、電動モータ12R,12L、制御装置3,7などを冷却するための図示しない電動ファンを駆動するための図示しない第2の発電機などを駆動している。図1ではこれらをその他の原動機負荷18として示している。このその他の原動機負荷18を駆動するために予め割り当てた馬力の値が図12のg(Ne)である。この馬力g(Ne)はその他の原動機負荷18が実際に消費する馬力値に対して余裕を持って大きめに設定してある。本明細書中では、この馬力を損失馬力という。
損失馬力g(Ne)は、関数(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の一定値としたものである。
図12において、f(Ne)とg(Ne)との差分(f(Ne)−g(Ne))であるMrが電動モータ12R,12Lにかけてよい合計の有効最大馬力となる。換言すれば、Mr=f(Ne)−g(Ne)は、原動機4が出し得る最大出力馬力f(Ne)のうち走行用の電動モータ12R,12Lで使用可能な最大馬力(馬力の割当値)である。
手順113では原動機4の目標回転数Nrと実回転数Neとの差(回転数偏差)ΔNを算出する(図4のブロック220)。すなわち、
ΔN=Ne−Nr
手順130では、原動機4の実際の回転数Neと回転数偏差ΔNを用いて、下記の計算を行い、加速馬力補正値hbを算出する(図4のブロック250,251,252)。
まず、原動機4の実際の回転数Neをメモリ内の図13に示す関数h(Ne)で表される実回転数対加速馬力のデータマップに参照し、対応する加速馬力ha=h(Ne)を計算する(図4のブロック250)。同時に、回転数偏差ΔNをメモリ内の図14に示す関数R(ΔN)で表される回転数偏差対加速馬力係数のデータマップに参照し、対応する加速馬力係数Ka=R(ΔN)を算出する(図4のブロック251)。次いで、加速馬力haに加速馬力係数Kaを乗じて加速馬力補正値hbを求める(図4のブロック252)。つまり、
ha=h(Ne)
Ka=R(ΔN)
hb=Ka×ha
ここで、図13において、関数h(Ne)は、実回転数Neが低いときには加速馬力haは小さく、実回転数Neがアイドル回転数Nidle(例えば750rpm)にあるときは加速馬力haは最小のhaminであり、実回転数Neが高くなるに従い加速馬力haが増大し、実回転数Neが中速域の回転数Na以上になると加速馬力haが最大のhamaxとなるように設定されている。例えば、hamin=100kW、hmax=400kW、Na=1300rpmである。
図14において、関数R(ΔN)は、加速初期時(アクセルペダル1の踏み込み直後)の原動機4の回転数の立ち上がり前であって、目標回転数Nrが実回転数Neを大幅に上回り、回転数偏差ΔNがマイナス側(ΔN<0側)に大きく低下したとき(ΔNの絶対値が大きいとき)は、加速馬力係数Kaは1であり(Ka=1)、実回転数Neが目標回転数Nrに近づいて回転数偏差ΔNがΔN1(第1設定値)になると、加速馬力係数Kaは下がり始め、回転数偏差ΔNがΔN2(第2設定値)になるまで実回転数Neが目標回転数Nrに更に近づくと、加速馬力係数Kaは0(Ka=0)となるように設定されている。例えば、ΔN1=−200rpm、ΔN2=−50rpmである。
加速馬力補正値hbは以上のように計算した加速馬力haに加速馬力係数Kaを乗じて得られる値である。加速馬力ha、加速馬力係数Ka及び加速馬力補正値hbの意味合いについては後述する。
手順131では、手順110で計算した原動機最大出力馬力f(Ne)及びその他の原動機負荷18に対して割り当てた損失馬力g(Ne)と、手順130で計算した加速馬力補正値hbとから電動モータ1台あたりのモータ目標馬力Mr2を求める(図4のブロック214,216)。
Mr2=(f(Ne)−g(Ne)−hb)/2
このMr2は上述した基本目標馬力Mr1に対する制限値となるものであり、加速馬力補正値hb=0であるときのMr2は、上述した前進用の関数hF(p)における最大値HFmaxに対して、Mr2<HFmaxの関係にある。
手順114では、現在の目標回転数Nrが最大回転数Nrmax(例えば2000rpm)であるかどうかを判定し、目標回転数Nrが最大回転数Nrmax(Nr=Nrmax)であれば、手順115において、回転数偏差ΔNをメモリ内の図15の関数S(ΔN)で表されるデータマップに参照してそのときの回転数偏差ΔNに対応する馬力係数Kpを算出する(図4のブロック222,224)。
Kp=S(ΔN)
ここで、図15において、回転数偏差ΔNと馬力係数Kpとの関係は、回転数偏差ΔNがΔN=0を含むΔN3≦ΔN≦ΔN4の範囲内で、回転数偏差ΔNの増減に応じて馬力係数Kpが一定の割合(図13に示す直線S(ΔN)の傾きの係数k)で増減し、ΔN<ΔN3,ΔN>ΔN4の範囲では、馬力係数Kpが一定となるよう設定されている。ΔN=0は、原動機4の出力と電動モータ12R,12Lで使用している出力がバランスしている状態であり、ΔN<0は原動機出力に余裕が無い状態であり、ΔN>0は原動機出力に余裕がある状態である。ΔN3はΔN<0側の値であり、ΔN4はΔN>0側の値である。一例として、ΔN=0では、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で一定であり、ΔN>50rpmではKp=1.4で一定である。ΔN=0での馬力係数Kpの値は、好ましくは、1.1〜1.25の範囲内の任意の値である。また、ΔN3,ΔN4は、好ましくは、±30〜±100の範囲内の任意の値である。ΔN3<ΔN<ΔN4での馬力係数Kpの変化幅は、好ましくは、ΔN=0の馬力係数Kpの10〜20%である。
また、回転数偏差ΔN3は、ブロック220〜226によるスピードセンシング制御(後述)とブロック250〜214による加速馬力制御(後述)との干渉を防止するため、ΔN2≦ΔN3の関係にある。
手順114で目標回転数Nrが最大回転数Nrmaxより低ければ(Nr<Nrmaxであれば)、手順116で馬力係数KpをKp=1とおく(図4のブロック223,224)。
手順117では、手順131で算出したモータ目標馬力Mr2にKpを乗じてモータ目標馬力Mr3を求める(図4のブロック226)。すなわち、
Mr3=Kp×Mr2
このMr2は前述のモータ目標馬力Mr3と手順105,106,107で算出した基本モータ目標馬力Mr1に対する最終的な制限値となるものであり、手順118では、その基本モータ目標馬力Mr1との小さい方の値をモータ目標馬力Mrとする(図4のブロック228)。
Mr=min(Mr1,Mr3)
つまり、手順118(図4のブロック228)では、モータ目標馬力Mr3をモータ目標馬力Mr1に対する制限値とし、電動モータ12R,12Lに与えられる最終的な目的値であるモータ目標馬力MrがMr3以上にならないように制限する。
手順119,120では、モータ目標馬力Mrと各電動モータ12R,12Lの回転速度ωR,ωLとから第1のモータ目標トルクTr1R,Tr1Lを計算する(図4のブロック230,232)。すなわち、
Tr1R=K1×Mr/ωR
Tr1L=K1×Mr/ωL
K1:馬力と回転数からトルクを算出するための定数。
図16は、モータ目標馬力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が増加する。モータ負荷トルクが減少した場合は、逆に、モータ目標トルクTr1R,Tr1Lを減少させる。一方、モータ目標馬力Mrを増加させれば、それに応じてモータ目標トルクTr1R,Tr1Lが増加し、そのときのモータ負荷トルクが一定であればモータ回転速度ωR,ωLが増加する。モータ目標馬力を減少させた場合は、逆に、モータ負荷トルクが一定であればモータ回転速度ωR,ωLは減少する。
手順121では、図17に示す関数Mmax(ω)で表されるデータマップに各電動モータ12R,12Lの回転速度ωR,ωLを参照して、対応するモータトルク指令の上限値Mmax(ωR),Mmax(ωL)を求める(図4のブロック234,236)。例えば、モータ回転速度ωR,ωLがω1であるとき、モータトルク指令の上限値Mmax(ωR),Mmax(ωL)はMmax(ω1)となる。関数Mmax(ω)はモータ回転数対モータ最大出力トルクのデータマップであり、インバータ73R,73Lが各電動モータ12R,12Lに流せる最大電流値、インバータ73R,73L内のIGBTやGTOなどの駆動素子の出力限界、各モータ軸の強度などに基づいて予め設定されたものである。
手順122では、手順121で求めたモータトルクの上限値Mmax(ωR),Mmax(ωL)と、それぞれ手順120で求めた第1のモータ目標トルクTr1R,Tr1Lとの比較を行い、小さい方を第2のモータ目標トルクTrR,TrLとする(図4のブロック238,240)。すなわち、
TrR=min(Mmax(ωR),Tr1R)
TrL=min(Mmax(ωL),Tr1L)
手順101〜118(図4のブロック200〜228)の処理は全体制御装置3により行われる処理であり、手順119〜122(図4のブロック230,232,234,236,238,240)の処理はインバータ制御装置7のトルク指令演算部71R,71Lにより行われる処理である。
手順123では、インバータ制御装置7内のモータ制御演算部72R,72Lによってモータ目標トルクTrR,TrLに応じてインバータ73R,73Lを制御し、各電動モータ12R,12Lのトルク制御がなされる。
以上において、手順101〜103(図4のブロック200,202)の処理機能はアクセルペダル1の操作量に応じた目標回転数Nrを計算する目標回転数計算手段を構成し、手順104〜123、130,131(ブロック204〜240、250〜252)の処理機能とインバータ制御装置7のモータ制御演算部72R,72Lは、アクセルペダル1の操作量に応じてインバータ73R,73Lを制御し、電動モータ12R,12Lを制御するモータ制御手段を構成する。電子ガバナ4aは、目標回転数Nrに基づいて原動機4に対する燃料噴射量を制御するとともに、目標回転数Nrが少なくとも最大回転数Nrmaxにあるときに燃料噴射量の制御がドループ制御となるよう設定されている。
また、手順105,106,107(図4のブロック204,206,208)の処理機能は、アクセルペダル1の操作量pに応じたモータ目標馬力Mr1(第1モータ目標馬力)を計算する第1目標出力馬力計算手段を構成し、手順130,131(図4のブロック250〜252,214)の処理機能は、原動機4の目標回転数Nrが実回転数Neよりも予め定めた値(ΔN2)だけ高い回転数よりも高いときは、走行用の電動モータ12R,12Lで使用可能な最大馬力(f(Ne)−g(Ne))を減らすように補正する加速馬力制御手段を構成し、手順110〜117,130,131(図4のブロック210〜226,250〜252)の処理機能は、その加速馬力制御手段を有し、この加速馬力制御手段で補正した最大馬力によりモータ目標馬力Mr3(第2モータ目標馬力)を求める第2モータ目標馬力計算手段を構成する。更に、手順118(図4のブロック228)の処理機能は、第1モータ目標馬力Mr1が第2モータ目標馬力Mr3を超えないよう制限しモータ目標馬力Mr(第2モータ目標馬力)を生成するモータ目標馬力制限手段を構成し、手順119〜123(図4のブロック230〜240)の処理機能とインバータ制御装置7のモータ制御演算部72R,72Lは、第3モータ目標馬力Mrに基づいて2つの電動モータ12R,12Lのそれぞれの第1モータ目標トルクTr1R,Tr1Lを求め、インバータ73R,73Lを制御するインバータ制御手段を構成する。
また、手順131(図4のブロック210,212,214)の処理機能は、原動機4が出し得る最大出力馬力f(Ne)から交流発電機5以外の原動機負荷18の駆動に必要な損失馬力g(Ne)を差し引いて走行用の電動モータ12R,12Lで使用可能な最大馬力(f(Ne)−g(Ne))を求める最大馬力計算手段を構成し、上記加速馬力制御手段はその最大馬力計算手段で求めた最大馬力を補正する。
手順114〜117(図4のブロック220〜226)の処理機能は、原動機4の実回転数Neが目標回転数Nrよりも高いときは走行用の電動モータ12R,12Lで使用可能な最大馬力(f(Ne)−g(Ne))を増やし、原動機4の実回転数Neが低くなるにしたがってその増やした最大馬力を減らすよう補正するスピードセンシング制御手段を構成し、第2モータ目標馬力計算手段は、そのスピードセンシング制御手段で補正した最大馬力により第2モータ目標馬力Mr3を求める。また、そのスピードセンシング制御手段は、原動機4の目標回転数Nrが少なくとも最大回転数にあるときに機能し、それ以外のときは機能しない。
本明細書において、加速馬力制御手段(手順130,131;図4のブロック250〜252,214)による制御を「加速馬力制御」といい、スピードセンシング制御手段(手順114〜117;図4のブロック220〜226)による制御を「スピードセンシング制御」といい、最大馬力計算手段(手順131;図4のブロック210,212,214)とモータ目標馬力制限手段(手順118;図4のブロック228)による制御を「全馬力制御」という。更に、全馬力制御とスピードセンシング制御を合わせた制御を「スピードセンシング全馬力制御」という。
次に、本実施の形態の動作を説明する。この説明は図4の機能ブロック図を参照して行う。
<走行加速時>
ダンプトラックを前進走行させることを意図してアクセルペダル1を操作量px(図8参照)を超えた最大近くの位置まで踏み込むと、図4のブロック200で原動機4の目標馬力FrとしてFmaxが計算され、ブロック202で目標回転数NrとしてNrmaxが計算される(Nr=Nrmax)。電子ガバナ4aは目標回転数Nrmaxの指令を受け取ると、原動機4が目標回転数Nrmaxで回転するように燃料噴射量を制御する。前述したように、Nr=Nrmaxでは電子ガバナ4aはドループ制御に設定されている。
電動モータ側では、図4のブロック204でF/R=1となり、ブロック206の処理機能を選択し、ブロック206では、電動モータ12R,12Lの基本目標馬力Mr1ととして最大近くのアクセルペダル操作量に対応するモータ目標馬力HFmaxを算出する。
図4のブロック210〜216,250〜252では、Mr2=(f(Ne)−g(Ne)−hb)/2の計算を行い、電動モータ1台あたりで使用可能な最大馬力のモータ目標馬力Mr2を求める。つまり、図4のブロック210,212,214(最大馬力計算手段)で、図12の関数f(Ne)及びg(Ne)に基づいてそのときの原動機4の目標回転数Nrに応じた電動モータ12R,12Lで使用可能な最大馬力(f(Ne)−g(Ne))を計算し、図4のブロック250〜252(加速馬力制御手段)で、図13に関数h(Ne)と図14の関数R(ΔN)に基づいてそのときの原動機4の実回転数Neと回転数偏差ΔNに応じた加速馬力補正値hb(=Ka×ha)を計算し、図4のブロック214,216でMr2=(f(Ne)−g(Ne)−hb)/2を計算する。回転数偏差ΔNは図4のブロック220で計算した値を用いる。
ここで、アクセルペダル1を踏み込んだ直後の加速初期時は、原動機4の回転数の立ち上がり前であるため、目標回転数Nrが実回転数Neを大幅に上回り(Ne<<Nr)、回転数偏差ΔNはマイナス側に大きく減少し、ΔN<ΔN1(図14参照)である。このため図4のブロック251において、図14の関数R(ΔN)により加速馬力補正係数Ka=1が計算され、ブロック252で加速馬力補正値hb=Ka×ha=haが求められる。その結果、モータ目標馬力Mr2はブロック210〜214で求めた最大馬力(f(Ne)−g(Ne))よりも加速馬力補正値hbの分だけ、小さな値となっている。
一方、図4のブロック220〜226(スピードセンシング制御手段)では、回転数偏差ΔNはΔN<ΔN1<ΔN3(図14及び図15参照)でり、馬力係数KpとしてKp=1が演算されるため、スピードセンシング制御は無効となり、モータ目標馬力Mr3としてMr3=Mr2が計算される。なお、アクセルペダル1をxp以下のハーフ程度の位置に踏み込んだ場合も、Nr<Nrmaxで、ブロック224でブロック223の馬力係数Kp=1が選択されるため、同様にスピードセンシング制御は無効となり、モータ目標馬力Mr3としてMr3=Mr2が計算される。
図4のブロック228では、上記モータ目標馬力Mr1とモータ目標馬力Mr3の小さい方の値を選択してモータ目標馬力Mrを生成する。ここで、加速時は、モータ目標馬力Mr3(=Mr2)は最大馬力(f(Ne)−g(Ne))より加速馬力補正値hb分だけ小さな値となっているため、モータ目標馬力MrとしてMr3が選択される。ブロック230〜240ではそのモータ目標馬力Mrから左右の電動モータ12R,12Lのモータ目標トルクTrR,TrLを算出し、これらのモータ目標トルクTrR,TrLは電動モータ12R,12Lの指令馬力としてインバータ制御装置7内のモータ制御演算部72R,72Lに与えられ、モータ制御演算部72R,72Lはモータ目標トルクTrR,TrLに応じてインバータ73R,73Lを制御し、各電動モータ12R,12Lのトルク制御がなされる。
以上のように走行加速時に、最大馬力(f(Ne)−g(Ne))から加速馬力補正値hbを差し引いてモータ目標馬力Mr2を求め、それを制限値として走行モータ12R,12Lに配分する制御(加速馬力制御)を行うため、原動機4と電動モータ12R,12Lをバランス良く加速し、応答良く滑らかに加速制御することができる。
つまり、走行加速初期時は、制限値としてのモータ目標馬力Mr3が最大馬力(f(Ne)−g(Ne))よりも加速馬力補正値hbの分だけ小さくなっているため、その分、モータ目標馬力Mrが小さくなり、原動機4の負荷が減り、原動機4は応答良く加速する。これにより走行加速初期時は、原動機4を速やかに加速し、交流発電機5の発電量を増やし、結果として、走行モータ12R,12Lは速やかに加速する。原動機4の加速が進み、原動機4の実回転数Neが目標回転数Nrに近づいて回転数偏差ΔNがΔN1になると、加速馬力係数Kaは1以下の値に下がり始め、これに伴って加速馬力補正値hbは加速馬力haの値から減少し始め、回転数偏差ΔNがΔN2(>ΔN1)になると、加速馬力係数Kaは0(Ka=0)となるため、加速馬力補正値hbも0となる。この加速馬力補正値hbの変化に応じて制限値としてのモータ目標馬力Mr3は、(f(Ne)−g(Ne)−hb)/2から(f(Ne)−g(Ne))/2へと増加し、これに対応してモータ目標馬力Mrも増加する。これにより電動モータ12R,12Lに配分される指令馬力が増加するため、電動モータ12R,12Lは更に加速される。
ここで、ブロック250の関数ha(Ne)とブロック251の関数R(ΔN)とを乗じて加速馬力補正値hbを計算する意味を説明する。
原動機4の馬力特性は低回転域では小さく、高回転域では大きいので、実回転数Neが小さいときには、原動機4自身の加速用には例えば100kW位しか取れない。しかし、実回転数Neが高くなると原動機4の出力馬力に余裕ができるので、最大で400kW位を原動機4の加速用に使えるようになる。図13の関数ha(Ne)はこのような考えに基づくものであり、原動機4の低回転域では原動機4自身の加速用にhamin(例えば100kW)使えるようにし、高回転域では原動機4自身の加速用にhamax(例えば400kW)使えるようにしたものである。
このようにして求めた加速馬力haに回転数偏差ΔNで決まる係数Kaを乗じ、加速馬力補正値hbを求める。このとき、原動機4を加速する初期では原動機4の加速用にhaの全てを使わせるために、係数Ka=1とする。この加速初期では、原動機4の回転数が増えると共に原動機加速用に使える加速馬力haはhamin(例えば100kW)からhamax(例えば400kW)へと増えるので、原動機4は応答良く滑らかに吹き上がる。原動機4の回転数が目標回転数Nrに近づき、図14のΔN1(例えば−200rpm)近くまでくれば、十分原動機4は加速しているので、回転数偏差ΔNにより決まる係数Kaを下げ始め、より多くの馬力をモータ側に配分する。更に、図14のΔN2(例えば−50rpm)まで原動機4が加速されれば、もはや原動機4の加速用に予め馬力を分けなくてもよくなるため、全ての馬力をモータ加速用に使う。図14の関数R(ΔN)はこのような考えに基づくものであり、ΔN=ΔN1(例えば−200rpm)で原動機加速用の馬力を減らし始め、ΔN=ΔN2(例えば−50rpm)で原動機加速用の馬力を0とし、その間を滑らかに変化させたものである。
図13の原動機加速用の馬力hamin,hamaxの値と図14のΔN1,ΔN2の値は、原動機4の特性だけでなく、運転者がアクセルペダル1を踏み込んだ時の加速感(フィーリング)を考慮して決めらることが好ましい。
つまり、原動機4の回転数が立ち上がらないと十分馬力を取り出せないので、大きなパワーでの走行ができない。しかし、走行加速初期から電動モータ12R,12Lに大きなパワーを与えると、原動機自身の加速パワーが足りなくなり、原動機4の回転数が上がりにくくなり、その結果として電動モータ12R,12Lの出力が大きくなるのが遅れてしまう。
例えば、200mの移動を最短にするには、まず、電動モータ12R,12Lへの馬力配分をゼロにしてモータ割当馬力を全て原動機4の加速に使い、原動機4の回転数が十分立ち上がってから電動モータ12R,12Lに馬力を配分すれば、結果的に走行時間は短くなる。しかし、この場合は、アクセルペダル1を踏み込んでも、始めの数秒間は走行が全く動かないので、運転者のフィーリングは悪いものとなる。
そこで、結果的に原動機4の吹き上がりが多少遅くなっても(むしろ、故意に遅くして)、ペダル踏み込み後、低速であるが走行し始めるようにして運転者には良好なレスポンス感を与え、原動機4の加速とモータ12R,12Lの加速をバランス良く立ち上げるようにする。図13の原動機加速用の馬力hamin,hamaxの値と図14のΔN1,ΔN2の値は、このような考えに基づいて決めたものである。
なお、以上の動作例は走行始動時の加速制御の場合であるが、低速で走行中にアクセルペダル1を更に踏み込んで走行加速を行う場合も、同様に回転数偏差ΔNが発生するため、同様に加速制御することができる。つまり、回転数偏差ΔNを用いて原動機4の加速用馬力と電動モータ12R,12Lの出力馬力の配分を制御するので、アクセルペダル1の踏み込み開始位置に係わらず、上記の加速制御の効果を得ることができる。
<定常走行時>
1.高速走行
以上のようにアクセルペダル1を踏み込んで走行加速後、原動機4の実回転数Neが目標回転数Nrに近づくと定常走行に移行する。この定常走行では、ΔN>ΔN2でKa=0で、加速馬力補正値hb=0であるため、ブロック214,216で求められた電動モータ1台あたりのモータ目標馬力Mr2は、Mr2=(f(Ne)−g(Ne))/2となる。
また、図4のブロック222では、Kp=S(ΔN)により回転数偏差ΔNに応じた馬力計数Kpを演算し、ブロック224では、Nr=Nrmaxであるのでその馬力係数Kpを選択し、ブロック226では、馬力計数Kpをモータ目標馬力Mr2に乗じてモータ目標馬力Mr3を算出する。このようにブロック220〜226では、回転数偏差ΔNを用いて電動モータ1台当たりで使用可能な最大馬力であるモータ目標馬力Mr2が補正される(スピードセンシング制御)。
図4のブロック228では、上記モータ目標馬力Mr1とモータ目標馬力Mr3の小さい方の値を選択してモータ目標馬力Mrを生成する。この場合も、Mr2<HFmaxの関係にあり、Mr1>Mr3であるため、モータ目標馬力MrとしてMr3が選択される。ブロック230〜240では、そのモータ目標馬力Mrを用いて左右の電動モータ12R,12Lのモータ目標トルクTrR,TrLを算出し、このモータ目標トルクTrR,TrLに基づいてインバータ73R,73Lを制御し、各電動モータ12R,12Lのトルク制御がなされる。
このようにアクセルペダル1を最大近傍まで踏み込み、Nrmaxが設定される状態では、ブロック220〜226によるスピードセンシング全馬力制御が行われる。このスピードセンシング全馬力制御により、原動機4の出力限界まで出力馬力を取り出し、原動機馬力をモータ側で有効利用することができる(後述)。
2.低速走行
アクセルペダル1の踏み込み量が少ない低速走行中は、図4のブロック200でFrmaxより小さな目標馬力Frが演算され、ブロック202でNrmaxより低い目標回転数Nrが計算され(Nr<Nrmax)、これに応じて原動機4の燃料噴射量が制御される。
電動モータ側では、Nr<Nrmaxであるため、ブロック222では、ブロック23に設定されたKp=1が選択され、スピードセンシング制御は無効とされ、ブロック226ではMr3=Mr2のモータ目標馬力Mr3が計算される。ブロック228では、第1モータ目標馬力をそのモータ目標馬力Mr3を超えないよう制限しモータ目標馬力Mrを求め、ブロック228〜240で、そのモータ目標馬力Mrにより求めたモータ目標トルクTrR,TrLに応じて各電動モータ12R,12Lのトルク制御がなされる。
このようにNr<Nrmaxでは、ブロック220〜226の回転数偏差ΔNを用いた処理(スピードセンシング制御)は無効とされるため、スピードセンシング制御のない全馬力制御を行う。
3.後進走行
アクセルペダル1を踏み込んでダンプトラックを後進させる場合は、ブロック208で後進用のモータ目標馬力Hが算出される。この場合は、後進用の関数hR(p)におけるモータ目標馬力Hの最大値HRmaxは小さめに設定されているため、図4のブロック228ではモータ目標馬力Mr1が選択され、モータ目標馬力Mr3に制限されることなく各電動モータ12R,12Lのトルク制御がなされる。
本実施の形態のスピードセンシング全馬力制御の効果を図面を用いて説明する。
図18は、スピードセンシング制御と加速馬力制御のない全馬力制御を行う場合の駆動システムを比較例として示す図4と同様な機能ブロック図である。図中、図4に示す部分と同等のものには同じ符号を付している。図18に示す比較例では、スピードセンシング制御と加速馬力制御を行わないため、図4のブロック220〜226(図6の手順114〜117)及びブロック250〜252(図6の手順130,131の一部)がなく、ブロック210〜216で算出したモータ目標馬力Mr2がそのままブロック228でモータ目標馬力Mr1と比較される。
図19は、Nr=Nrmaxのときの原動機4の動作特性を示す図である。図中、f(Nr)は図12に示した原動機4の出し得る最大出力馬力の関数であり、直線Dは図2の原動機出力トルク特性図におけるドループ制御の直線R1に対応する馬力特性である。
前述したように、Nr=Nrmaxのとき、図4のブロック210,212では、原動機4の実回転数Neを図12に示す関数f(Ne)及びg(Ne)に参照して最大回転数Nrmaxに対応するf(Ne)とg(Ne)の値を算出し、ブロック214,216でそのf(Ne)の値とg(Ne)の値とから、Mr2=(f(Ne)−g(Ne))/2により電動モータ1台あたりのモータ目標馬力Mr2(電動モータ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台あたりのモータ目標馬力Mr2は、Mr2=(f(Ne)−g(Ne))×1/2=(1500kW−300kW)×1/2=1200kW×1/2=600kWである。
一方、このように損失馬力g(Ne)を余裕を持って大きめに設定すると、図12の比較例では、原動機4にはまだ余裕があるのにそれを電動モータ12R,12Lの出力として有効利用することができないということになる。例えば、上記のg(Ne)=300kWの場合、実際の消費馬力が予測値と同じ200kWであるとすると、電動モータも含めた全消費馬力は200kW+(600×2)kW=1400kWであり、100kWが有効利用できない無駄な馬力となる。図19では、このように損失馬力g(Ne)を設定した場合の走行時における原動機4の動作点をX1点で示している。
このような比較例に対して、本実施の形態では、スピードセンシング制御のある全馬力制御をするので、原動機4の出力限界まで出力馬力を取り出し、原動機馬力をモータ側で有効利用することができる。
つまり、本実施の形態では、原動機4の出力に余裕がある場合は、ドループ制御によってΔN>0となるため、ブロック220〜226のスピードセンシング制御により、モータ目標馬力Mr2がより大きい値として計算され、これを第3の目標馬力Mr2とする。このためNr=Nrmaxの走行時に、原動機4の出力限界まで馬力を取り出し、電動モータ12R,12Lを駆動することができる。上記の例では、原動機4の動作点が図19のX1にあり、ブロック222でΔNにより計算される馬力係数KpがKp=1.3であるとすると、第3のモータ目標出力馬力Mr3はモータ目標馬力Mr2と同じ600kWから600kW×1.3=780kWへと増加し、これに伴って原動機4の動作点は図19のX1からΔN<0となる過負荷側へ移動し、例えばΔN=0のNrmaxより−10rpm〜−30rpm程度回転数の低いX2点でバランスする。このX2点において、ブロック222で得られる馬力係数Kpが例えば1.1であるとすると、モータ目標馬力Mr3は600×1.1=660kWととなり、その他の原動機負荷18も含めた全消費馬力は200kW+(660×2)kW≒1500kWとなる。このように原動機4の出力限界まで原動機4の出力馬力を無駄なく有効に使うことができる。
一方、上記のような走行中に、その他の原動機負荷8の消費馬力が何かの原因(例えば気温の変化)で増加し、図19の動作点X2が更に図示左方に移動した場合は、回転数偏差ΔNが更に減少し、ブロック222で計算される馬力係数Kpが小さくなるため、モータ目標馬力Mr3も減少し、モータ目標馬力Mr1を制限する。例えば、ΔNが減少し、ブロック222でKp=1.0が計算されると、上記の例では、第3のモータ目標出力馬力Mr3は660kWから第2のモータ目標出力馬力Mr2と同じ600kWへと減少し、これに伴って原動機4の動作点は再びΔN=0側へと戻り、原動機負荷8の消費馬力と電動モータ12R,12Lの消費馬力(第3モータ目標出力馬力Mr2)のトータルが原動機4の最大出力馬力(上記の例では1500kW)と一致する点でバランスする。これにより原動機4のストールが防止される。
以上のように本実施の形態によれば、Nr=Nrmaxで、その他の原動機負荷8の消費馬力が少ない場合は、電動モータ12R,12Lの目標馬力の制限値(モータ目標馬力Mr3)を増加させ、原動機4の出力限界まで馬力を取り出し、電動モータ12R,12Lを駆動することができる。また、その他の原動機負荷8の消費馬力が増加した場合は、電動モータ12R,12Lの目標馬力の制限値(モータ目標馬力Mr3)を小さくし、電動モータ12R,12Lの消費馬力を減らすことで原動機4の過負荷を防止し、原動機4のストールを防止することができる。
一方、アクセルペダルをフル操作せず、原動機4の目標回転数Nrが最大回転数Nrmaxよりも小さいNr<Nrmaxでは、上記のようにブロック220〜226によりスピードセンシング制御をすると、不具合が生じることがある。例えば、アクセルペダル1をハーフ操作し、Nr<Nrmaxの状態で平坦路の走行中に坂道にさしかかった場合、走行速度が低下するので、オペレータはアクセルペダル1の踏み込み量を増やし、走行速度を維持しようとする。この場合、図4のブロック220〜226によりスピードセンシング制御をすると、平坦路を走行中は、原動機4の出力馬力に余裕があり、ΔN>0であったものが、アクセルペダル1の踏み込み量を増やした瞬間、モータ目標馬力Mr1が増加し、原動機4の負荷が増加するため、ΔN<0となり、ブロック222で計算される馬力係数Kpが減少し、モータ目標馬力Mr3も低下する。このためモータ目標馬力Mr1はモータ目標馬力Mr3に制限され、アクセルペダル1を踏み込んだにも係わらず、電動モータ12R,12Lの目標トルクMrが減少し、走行速度が低下してしまう。
本実施の形態では、原動機4の目標回転数Nrが最大回転数Nrmaxよりも小さいNr<Nrmaxでは、図4のブロック223,224で馬力係数Kp=1に切り換え、スピードセンシング制御を解除する。このため上記のような不具合は生じず、アクセルペダル1の踏み込みに応じて、上記の加速馬力制御により、応答良くスムーズに加速することができる。
以上のように本実施の形態によれば、走行加速時に、ブロック250〜214の加速馬力制御により最大馬力(f(Ne)−g(Ne))から加速馬力補正値hbを差し引いてモータ目標馬力Mr2を求め、それを制限値として走行モータ12R,12Lに配分する制御(加速馬力制御)を行うため、原動機4と電動モータ12R,12Lがバランス良く加速制御され、応答良く滑らかに加速走行することができる。
また、アクセルペダル1を最大近傍まで踏み込み、Nrmaxが設定される状態では、ブロック220〜226でスピードセンシング全馬力制御が行われるため、原動機4の出力限界まで出力馬力を取り出し、原動機馬力をモータ側で有効利用することができ。
また、アクセルペダル1をハーフ位置程度まで踏み込んで、Nrmaxより低い目標回転数Nrが設定される状態では、スピードセンシング制御による不具合を生じることなく、加速馬力制御によりアクセルペダルの踏み込みに応じて応答良くスムーズに加速することができる。
また、本実施の形態によれば、下記の効果が得られる。
本実施の形態では、図3のブロック206,208、ブロック210〜226、ブロック228において、電動モータ12R,12Lの指令値として目標トルクではなく、目標馬力Mr1,Mr2,Mr3を求め、ブロック230,232で目標馬力Mr3をその時点のモータ回転数で除して第1のモータ目標トルクTr1R,Tr1Lを算出し、更に、そのモータ目標トルクをインバータ、モータに固有な最大トルクの関数から得た値と比較し、小さい方の値を最終的な目標トルクTrR,TrLとして制御する。
ここで、アクセルペダル1の操作量pから直接計算する値としてモータ目標馬力ではなくモータ目標トルクを算出することが考えられる。しかし、この場合は、アクセルペダル1の操作量が小さいときは、原動機4の目標回転数、電動モータ12R,12Lにかかる馬力、トルクの全てが小さくなってしまうため、アクセルペダルの操作量を小さくし、電動モータ12R,12Lにかける馬力は小さくても、トルクは大きくしたいという場面では、適切に操作することができない。例えば、登り坂での走行開始時に、アクセルペダル1を少し踏み込んだだけではトルクが足りないため、オペレータはアクセルペダル1を大きく踏み込む必要があるが、運転者が戸惑っている間にダンプトラツクが自重で後進してしまう場合もあり、危険である。
本実施の形態では、ブロック206〜228で、電動モータ12R,12Lの指令値として目標馬力Mrを求め、その後、そのときのモータ回転数を参照してモータ目標トルクを算出し、電動モータ12r、12Lを制御する。これによりモータ回転数が低い場合には、アクセルペダル1の操作量が小さく、電動モータ12R,12Lにかける馬力が小さくても、出力トルクを大きくできるので、登り坂での走行開始時に後ずさりするような不具合は起きなくなる。
また、アクセルペダル1の操作量pとモータ出力馬力との関係が一致するようになるので、良好な操作感覚が得られる。
このように本実施の形態では、アクセルペダル1の操作量が小さく、電動モータ12R,12Lにかかる馬力が小さくても、走行速度が遅く、モータ回転速度が小さい場合には電動モータ12R,12Lにかけるトルクを上限値ぎりぎりまで大きくすることができるので、登り坂道の発進時に後ずさりすることなくなり、操作感が向上し、安全性が向上する。
本実施の形態では、図4のブロック200,202において、アクセルペダル1の操作量pから直接原動機4の目標回転数Nrを求めるのではなく、最初に、関数Fr(p)により原動機4の目標馬力Frを計算し(ブロック200)、この目標馬力Frを用いて図12に示したfr(Nr)の逆関数である関数Nr(Fr)により目標回転数Nrを計算する(ブロック202)。これにより原動機4の馬力特性の非線形性を補正することができる。
本発明の他の実施の形態を図20及び図21を用いて説明する。本実施の形態は加速馬力制御部分の変形例を示すものである。
図20は、本実施の形態に係わる駆動システムの処理手順を示す機能ブロック図である。図中、図4に示すものと同等のものには同じ符号を付し説明は省略する。本実施の形態では、図4のブロック250〜252に代え1つのブロック260を有している。ブロック260では、原動機4の回転数偏差ΔNを用いて直接加速馬力補正値hcを算出する。
図21は、原動機の回転数偏差ΔNと加速馬力補正値hcとの関数h(ΔN)を示す図である。関数h(ΔN)は、加速初期時(アクセルペダル1の踏み込み直後)の原動機4の回転数の立ち上がり前であって、目標回転数Nrが実回転数Neを大幅に上回り、回転数偏差ΔNがマイナス側(ΔN<0側)に大きく低下したとき(ΔNの絶対値が大きいとき)は、加速馬力補正値hcは最大のhcmaxであり、実回転数Neが目標回転数Nrに近づいて回転数偏差ΔNがΔN1になると、加速馬力補正値hcは減り始め、回転数偏差ΔNがΔN2(>ΔN1)になるまで実回転数Neが目標回転数Nrに更に近づくと、加速馬力補正値hcは0(Ka=0)となるように設定されている。この場合も、例えば、ΔN1=−200rpm、ΔN2=−50rpmである。
ブロック214では、電動モータ12R,12Lで使用可能な最大馬力(f(Ne)−g(Ne)から加速馬力補正値hcを差し引いてその最大馬力を補正し、更に、ブロック216でその最大馬力を1/2にして電動モータ1台あたりのモータ目標馬力Mr2を求める。
Mr2=(f(Ne)−g(Ne)−hc)/2
このように構成した本実施の形態でも、加速初期では、原動機4の回転数は立ち上がらないので、回転数偏差ΔNが大きな負の値を取り(ΔN<ΔN1)、多くの馬力hc(=hcmax)を差し引いて電動モータ12R,12Lの目標馬力Mrを生成し、原動機4の回転数が十分立ち上がると回転数偏差ΔNはゼロに近づき(ΔN1<ΔN<ΔN2)、差し引く馬力hcを下げ、更に目標回転数Nr近くまで原動機の回転数Neが吹き上がれば(ΔN>ΔN2)、差し引く馬力hcをゼロにし、電動モータ12R,12Lは最大馬力f(Ne)−g(Ne)の全てを使えるようになる。
本実施の形態は、原動機加速用の馬力の決め方として、そのときの回転数に応じて変化させずに、回転数偏差のみで決めるものである。鉱山の採掘現場で使用されるマイニングダンプでは、走行開始時は静止状態から最大位置までペダル操作をするというのが殆どでであり、その場合は、目標回転数Nrはペダル操作後は最大値になっている。したがって、回転数偏差ΔNだけで差し引く馬力を決めてしまっても、先の実施の形態とほぼ同じ加速馬力制御を行うことができる。異なるのは、ペダル操作をゼロから最大ではなく中間まで踏み込んだ場合であり、原動機4の回転域によって加速用に使える馬力が異なっている。したがって、本実施の形態では、加速馬力補正値hcmaxは、その相違を考慮して最適の値に設定されている。
以上において、本発明の実施の形態を説明したが、それらは本発明の精神の範囲内で種々の変形が可能である。以下にその代表例を説明する。
1.上記実施の形態では、全馬力制御のスピードセンシング制御において、ブロック222で馬力補正値として馬力係数Kpを求め、ブロック226でモータ目標馬力Mr2にその馬力係数Kpを乗じてモータ目標馬力Mr3を求めたが、ブロック222の関数を回転数偏差ΔNと馬力補正値ΔMの関数とし、そのときのΔNに対応する馬力補正値ΔMを求め、この馬力補正値ΔMをモータ目標馬力Mr2に加算して、モータ目標馬力Mr3を求めてもよい。
2.上記実施の形態では、ブロック210,212で、最大出力馬力及び損失馬力をそれぞれ原動機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で計算されるモータ目標馬力Mr3は設定値としての損失馬力g(Ne)よりも増加し、原動機馬力をモータ側で有効利用することができ、その他の原動機負荷8の消費馬力が予測値(損失馬力g(Ne))より増え、ΔN<0となる場合は、結果としてブロック226で計算されるモータ目標馬力Mr3は設定値としての損失馬力g(Ne)よりも減少し、原動機4の過負荷によるストールを防止することができる。なお、この場合は、Ne<Nrmaxでスピードセンシング制御を行わない場合は、走行用の電動モータ12R,12Lの消費馬力が過度に大きくならないよう、ブロック223の馬力係数Kpを、Kp=0.9程度と、余裕のある値に設定する必要がある。
5.上記実施の形態では、ブロック210〜226において、スピードセンシング全馬力制御を行うためのモータ目標馬力Mr3を求めるのに、ブロック210,212で別々に最大出力馬力f(Ne)及び損失馬力g(Ne)を求め、ブロック214でその差分を求め、ブロック216でその差分に1/2を乗じてモータ目標馬力Mr2を求め、ブロック226でそのMr2に馬力係数Kpを乗じるという順序でモータ目標馬力Mr3を算出した。しかし、これは一例であり、結果として同じ値のMr3が求まるのであれば、計算順序や計算内容はそれに限定されない。例えば、ブロック210,212でそれぞれの関数f(Ne),g(Ne)を用いて最大出力馬力f(Ne)及び損失馬力g(Ne)を求め、ブロック214でその差分を求めるのではなく、事前にf(Ne)−g(Ne)に相当する1つの関数を用意し、1回の処理で当該差分相当の値を求めてもよい。また、ブロック216,226では、最大出力馬力f(Ne)と損失馬力g(Ne)の差分f(Ne)−g(Ne)から加速馬力補正値hbを差し引いた後に、その値に1/2と馬力係数Kpを乗じたが、ブロック214で計算をする前に1/2と馬力係数Kpを乗じてもよく、また、1/2と馬力係数Kpの一方のみ順序を逆にして乗算してもよい。
6.上記の実施の形態では、ブロック214で最大出力馬力f(Ne)と損失馬力g(Ne)の差分の計算と、その値から加速馬力補正値hbを差し引く計算を同時に行ったが、この計算は分けて行ってもよい。
7.電動モータ12R,12Lは誘導モータとしたが、同期モータであってもよい。
8.上記の実施の形態では、ブロック200で用いる関数Fr(p)としてブロック206,208でモータ目標馬力を求める関数hF(p),hR(p)と異なる関数を用いたが、ブロック206,208でモータ目標馬力を求める関数hF(p),hR(p)と同じ関数を用いてもよい。この場合は、電動モータ12R,12Lに必要な馬力分だけを原動機4が出力するように駆動されるので、無駄のない最適な原動機制御が可能となる。なお、この場合は、原動機4の目標馬力はモータ目標馬力+αを目標値として、少し高めに回転数を出すように修正することが好ましい。