以下、図面を参照しながら、本発明の好ましい実施形態を詳細に説明する。図1に示す車両Vは、左右の前輪WF、WF及び左右の後輪(図示せず)を有する四輪車両であり、その前部には、内燃機関(以下「エンジン」という)3及び変速機4が搭載されている。
エンジン3は、例えばディーゼルエンジンであり、各気筒(図示せず)には、燃料噴射弁10が設けられている(図2参照)。燃料噴射弁10から噴射された燃料と吸入された空気との混合気が気筒内で燃焼することによって、エンジン3からトルクが出力される。このエンジン3の出力トルクは、燃料噴射弁10による燃料噴射量及び燃料噴射時期をECU2からの制御信号で制御することによって、制御される。
エンジン3のクランクシャフト3aは、フライホイール5及びクラッチ6を介して、変速機4の入力軸4aに連結されている。変速機4は、手動式のものであり、シフトレバー(図示せず)の操作位置に応じ、内蔵するギヤ機構(いずれも図示せず)によって、例えば前進6段及び後進1段のギヤ段とニュートラル状態を選択的に設定する。変速機4の出力ギヤ4bは、ディファレンシャルギヤ7の減速ギヤ7aに噛み合っている。
エンジン3の動力は、クラッチ6が接続された状態で、入力軸4aを介して変速機4に入力され、変速機4で変速された後、出力ギヤ4bから減速ギヤ7aを介してディファレンシャルギヤ7に出力され、さらに左右のドライブシャフト8、8を介して左右の前輪WF、WFに伝達される。また、エンジン3には、エアコンのコンプレッサ(図示せず)などを含む補機9が連結されており、補機9はエンジン3の動力によって駆動される。
クランクシャフト3aには、クランク角センサ21が設けられている。クランク角センサ21は、クランクシャフト3aの回転に伴い、所定のクランク角(例えば30°)ごとに、パルス信号であるCRK信号を出力する。ECU2は、CRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。
また、図2に示すように、ECU2には、アクセル開度センサ22から、車両Vのアクセルペダル(図示せず)の踏み込み量(以下「アクセル開度」という)APを表す検出信号が入力される。
さらに、ECU2には、ギヤ段センサ23から、変速機4において設定されている、ニュートラル状態を含むギヤ段SGRを表す検出信号が、車速センサ24から、車両Vの速度(車速)VPを表す検出信号が、吸気温センサ25から、エンジン3に吸入される吸気の温度(吸気温)TAを表す検出信号が、クラッチセンサ26から、クラッチ6の接続/遮断の状態を表す検出信号が、それぞれ入力される。
ECU2は、CPU、RAM、ROMおよびI/Oインターフェース(いずれも図示せず)などから成るマイクロコンピュータで構成されている。ECU2は、上述した各種のセンサ21〜26の検出信号などに応じて、車両V及びエンジン3の運転状態を判別するとともに、判別した運転状態に応じて、エンジン3の出力トルクを制御するトルク制御を含む各種の制御処理を実行する。
本実施形態では、ECU2が、第1目標トルク算出手段、第2目標トルク算出手段、目標トルク設定手段、制御手段、トルク変化速度設定手段、変更手段、及び禁止手段に相当する。
図3は、ECU2で実行される、車両Vの走行中のトルク制御処理のメインフローを示す。本処理は、所定時間ごとに繰り返し実行される。本処理では、まずステップ1(「S1」と図示。以下同じ)において、目標回転数制御フラグF_FBNEが「1」であるか否かを判別する。
この目標回転数制御フラグF_FBNEは、目標回転数制御の実行条件が成立しているときに「1」にセットされるものである。また、目標回転数制御は、車両Vが所定の走行状態のとき、例えば、前方の車両との間隔が小さく、クラッチ6が接続され、かつアクセルペダルが踏み込まれていない状態で、車両Vが惰性で走行しているときに、エンジン回転数NEが所定の目標回転数NECMDになるように、エンジン3の出力トルクを制御するものである。
このステップ1の答がNOで、目標回転数制御の実行条件が成立していないときには、ステップ2に進み、アクセル開度AP及びエンジン回転数NEに応じ、所定のマップ(図示せず)を検索することによって、エンジン3の出力トルクの目標となる目標トルクTRQCMDを算出する。
上記ステップ1の答がYESで、目標回転数制御の実行条件が成立しているときには、F/B(フィードバック)制御トルクTRQFBを算出する(ステップ3)。このF/B制御トルクTRQFBは、目標回転数制御において、エンジン回転数NEが目標回転数NECMDに収束するように、PIDフィードバック制御によって算出される。その算出処理の詳細については後述する。
次に、異音発生トルク領域を設定する(ステップ4)。この異音発生トルク領域は、エンジン3の出力トルクの領域のうち、異音が発生しやすいトルク領域に相当する。その設定処理の詳細については後述する。
次に、トルク制限制御フラグF_LMTTRQが「1」であるか否かを判別する(ステップ5)。このトルク制限制御フラグF_LMTTRQは、トルク制限制御の実行条件が成立しているときに「1」にセットされるものである。また、トルク制限制御は、F/B制御トルクTRQFBが異音発生トルク領域内にあるときに、異音の発生を抑制するために、目標トルクTRQCMDとして、F/B制御トルクTRQFBに代えて、後述するように算出される制限トルクTRQLMTを用いることにより、エンジン3の出力トルクを異音発生トルク領域をより速やかに通過するように制限するものである。
このため、トルク制限制御の実行条件として、次の条件(a)が設定されている。
(a)F/B制御トルクTRQが異音発生トルク領域内にあること
また、この条件(a)に加え、トルク制限制御の実行条件には、以下の複数の条件(b)〜(g)から適宜、選択された条件が含まれる。
(b)車速VPが0でなく、かつクラッチ6が接続されていること
(c)変速機4がニュートラル状態でないこと
(d)F/B制御トルクTRQFBのD項の変化量が所定値以下であること
(e)センサ類の故障が検出されていないこと
(f)クルーズコントロールや車両の挙動安定制御が行われていないこと
(g)ギヤ段SGRが所定のギヤ段以上であること
上記の条件(a)及び選択された条件がすべて成立しているときには、トルク制限制御の実行条件が成立しているとして、トルク制限制御フラグF_LMTTRQが「1」にセットされ、これらの条件のいずれかが成立していないときには、トルク制限制御の実行条件が成立していないとして、トルク制限制御フラグF_LMTTRQは「0」にセットされる。
上記の条件(b)から、例えば車両Vが停止中のアイドル運転状態のときには、トルク制限制御は禁止される。また、条件(d)は、F/B制御トルクTRQFBを算出するPIDフィードバック制御との干渉、特にD項によって得られるべきPIDフィードバック制御の応答性が低下するのを防止するためである。また、条件(f)は、クルーズコントロールや車両の挙動安定制御のためのトルク制御との干渉を防止するためである。さらに、条件(g)は、ギヤ段SGRが所定のギヤ段より低い場合には、異音が発生しにくいという傾向が認められることから、異音の抑制のためにトルク制限制御を実行する必要性が乏しいためである。
以上から、前記ステップ5の答がNOで、トルク制限制御の実行条件が成立していないときには、トルク制限制御を実行することなく、目標トルクTRQCMDをF/B制御トルクTRQFBに設定する(ステップ6)。一方、ステップ5の答がYESで、トルク制限制御の実行条件が成立しているときには、トルク制限制御として、制限トルクTRQLMTを後述するように算出する(ステップ7)とともに、算出した制限トルクTRQLMTを目標トルクTRQCMDとして設定する(ステップ8)。
最後に、前記ステップ2、6又は8で設定された目標トルクTRQCMDとエンジン回転数NEに基づいて、エンジン3を制御し(ステップ9)、本処理を終了する。具体的には、目標トルクTRQCMD及びエンジン回転数NEに応じて燃料噴射量及び燃料噴射時期を算出し、それに基づく駆動信号を燃料噴射弁10に出力することによって、エンジン3の出力トルクを制御する。
図4は、図3のステップ3で実行されるF/B制御トルクTRQFBの算出処理のサブルーチンを示す。本処理では、まずステップ11において、目標回転数制御フラグの前回値F_FBNEZが「1」であるか否かを判別する。この答がYESのとき、すなわち目標回転数制御の実行条件が成立した直後のときには、そのときに設定されている目標トルクTRQCMDを、F/B制御トルクTRQFBのI項TFBIの初期値として設定する(ステップ12)。
このステップ12の後、又はステップ11の答がNOのときには、ステップ13において、トルク制限制御フラグF_LMTTRQが「1」であるか否かを判別する。この答がNOで、トルク制限制御の実行中でないときには、P項ゲインKP、I項ゲインKI及びD項ゲインKIをそれぞれ、所定の通常制御時用ゲインKP1、KI1及びKD1に設定する(ステップ14)。一方、ステップ13の答がYESで、トルク制限制御の実行中のときには、異音発生トルク領域内にあるF/B制御トルクTRQFBの演算速度を速めるために、P項ゲインKP、I項ゲインKI及びD項ゲインKDをそれぞれ、上記の通常制御時用ゲインKP1、KI1及びKD1よりもそれぞれ大きなトルク所定の制限制御時用ゲインKP2、KI2及びKD2に設定する(ステップ15)。
上記ステップ14又は15に続くステップ16では、目標回転数NECMDと実際のエンジン回転数NEとの差(=NECMD−NE)を、回転数偏差ERRNEとして算出する。次に、回転数偏差の今回値ERRNE(n)と前回値ERRNE(n−1)との差(=ERRNE(n)−ERRNE(n−1))を、回転数偏差変化量DERRNEとして算出する(ステップ17)。
次に、ステップ16で算出した回転数偏差ERRNEにP項ゲインKPを乗算することによって、P項TFBPを算出する(ステップ18)。また、回転数偏差ERRNEにI項ゲインKIを乗算するとともに、I項の前回値TFBIを加算することによって、今回のI項TFBIを算出する(ステップ19)。さらに、ステップ17で算出した回転数偏差変化量DERRNEにD項ゲインKDを乗算することによって、D項TFBDを算出する(ステップ20)。
その後のステップ21〜23では、I項TFBIの上限側のリミット処理を実行する。まず、ギヤ段SGRに応じ、図5のテーブルを検索することによって、I項TFBIの上側リミット値TFBILMTを算出する(ステップ21)。このテーブルでは、上側リミット値TFBILMTは、ギヤ段SGRが1速段又は2速段のときには、非常に大きな第1所定値TLMT1に設定され、ギヤ段SGRが3速段〜6速段のときには、第2所定値TLMT2に設定されている。
次に、ステップ19で算出されたI項TFBIが、上側リミット値TFBILMTを上回っているか否かを判別し(ステップ22)、TFBI>TFBILMTのときには、I項TFBIを上側リミット値TFBILMTに設定し、制限する(ステップ23)。
以上のリミット処理により、PIDフィードバック制御でのI項TFBIの溜まり込みに起因する、F/B制御トルクTRQFB及びエンジン回転数NEが一旦、上昇した後に低下しにくくなるという現象を回避することができる。また、ギヤ段SGRが1速段又は2速段のときに、上側リミット値TFBILMTを非常に大きな第1所定値TLMT1に設定することにより、上側リミット値TFBILMTによるI項TFBIの制限が実質的に禁止されることで、低速段における車両Vの発進性能を確保することができる。
最後に、上記のように算出されたP項TFBP、I項TFBIとD項TFBDの和を、F/B制御トルクTRQFBとして算出し(ステップ24)、本処理を終了する。
図6は、図3のステップ4で実行される異音発生トルク領域の設定処理のサブルーチンを示す。本処理では、まずステップ31において、ECU2に記憶されている変速機入力トルクTRQINの上限値TINLMTH及び下限値TINLMTLを読み込む。これらの上下限値TINLMTH、TINLMTLは、変速機4の入力軸4aに入力される変速機入力トルクTRQINに関し、異音が発生し得るトルク領域の上限及び下限としてあらかじめ設定されたものである。以下、その設定方法を説明する。
図7は、変速機入力トルクTRQINの状況を模式的に示す。同図において、値0よりも大きな変速機入力トルクTRQINの領域は、エンジン3が前輪WFを駆動する駆動状態を表し、値0よりも小さな変速機入力トルクTRQINの領域は、減速時などにエンジン3が前輪WFによって駆動される被駆動状態を表す。前述したように、このようなエンジン3の駆動状態と被駆動状態が相互に切り替わることが、異音発生の原因になっており、したがって、変速機入力トルクTRQINが値0を横切る(またぐ)ときに、異音が発生しやすくなる。
また、同図に示すように、変速機入力トルクTRQINは、ある程度の振幅をもって振動しており、その振幅のピーク部(山部又は谷部)が値0をわずかに横切った場合でも、異音が発生するおそれがある。このような観点から、同図に示すように、変速機入力トルクTRQINの上限値TINLMTHは、変速機入力トルクTRQINの谷部が値0を横切る限界状態にあるときの変速機入力トルクTRQINの中心値に設定されている。同様に、下限値TINLMTLは、変速機入力トルクTRQINの山部が値0を横切る限界状態にあるときの変速機入力トルクTRQINの中心値に設定されている。以上のように上下限値TINLMTH、TINLMTLを設定することにより、変速機入力トルクTRQINに関する異音発生トルク領域を適切に設定することができる。
図6に戻り、前記ステップ31に続くステップ32では、フリクショントルクTRQFRを算出する。このフリクショントルクTRQFRは、エンジン3における混合気の燃焼によって発生する出力トルクのうち、ピストンとシリンダの間などにおけるフリクションによって消費されるトルク分に相当する。
次に、補機トルクTRQACを算出する(ステップ33)。この補機トルクTRQACは、エンジン3の出力トルクのうち、補機9を駆動するために消費されるトルク分に相当する。
次に、変速機入力トルクTRQINの上限値TINLMTHに、フリクショントルクTRQFR及び補機トルクTRQACを加算することによって、エンジン3の出力トルクに変換し、出力トルクに対する異音発生トルク領域の上限値TLMTHとして設定する(ステップ34)。同様に、変速機入力トルクTRQINの下限値TINLMTLに、フリクショントルクTRQFR及び補機トルクTRQACを加算することによって、エンジン3の出力トルクに変換し、出力トルクに対する異音発生トルク領域の下限値TLMTLとして設定し(ステップ35)、本処理を終了する。
図8は、図3のステップ7で実行される制限トルクTRQLMTの算出処理のサブルーチンを示す。本処理では、まずステップ41及び42において、後述するトルク増加時制御フラグF_TRQINC及びトルク減少時制御フラグF_TRQDECが「1」であるか否かをそれぞれ判別する。これらの答がいずれもNOで、トルク制限制御を開始した直後のときには、カウンタの値(以下「またぎカウンタ値」という)CCRSを0にリセットする(ステップ43)。このまたぎカウンタ値CCRSは、トルク制限制御中にF/B制御トルクTRQFBが異音発生トルク領域の上限又は下限を横切った(またいだ)回数を表す。
次に、トルク増減量ΔTRQを算出する(ステップ44)。このトルク増減量ΔTRQは、トルク制限制御において、制限トルクTRQLMTを増加又は減少させるのに用いられるものであり、ギヤ段SGRに応じ、図9に示すテーブルを検索することによって算出される。このテーブルでは、トルク増減量ΔTRQは、それによる制限トルクTRQLMTの増減速度が、前述したF/B制御トルクTRQFBの増減速度を上回るような、比較的大きな値に設定されている。また、トルク増減量ΔTRQは、ギヤ段SGRが低いほど、トルクショックが現れやすいため、より小さな値に設定されている。
次に、F/B制御トルクの前回値TRQFBZが異音発生トルク領域の下限値TLMTLよりも小さいか否かを判別する(ステップ45)。この答がYESのとき、すなわち、F/B制御トルクTRQFBが増加しながら異音発生トルク領域に下側から入ったときには、トルク増加時制御フラグF_TRQINCを「1」にセットする(ステップ46)とともに、トルク増加時制御を開始し(ステップ47)、本処理を終了する。その後は前記ステップ41の答がYESになるので、その場合にはステップ47に進み、トルク増加時制御を継続する。
一方、前記ステップ45の答がNOのとき、すなわち、F/B制御トルクTRQFBが減少しながら異音発生トルク領域に上側から入ったときには、トルク減少時制御フラグF_TRQDECを「1」にセットする(ステップ48)とともに、トルク減少時制御を開始し(ステップ49)、本処理を終了する。その後は前記ステップ42の答がYESになるので、その場合にはステップ49に進み、トルク減少時制御を継続する。
図10は、上述したトルク増加時制御処理のサブルーチンを示す。本処理では、まずステップ51において、F/B制御トルクTRQFBが、下限値TLMTL以上でかつ上限値TLMTH以下であるか否か、すなわち異音発生トルク領域内にあるか否かを判別する。この答がYESのときには、F/B制御トルクの前回値TRQFBZが下限値TLMTLよりも小さいか否かを判別する(ステップ52)。
このステップ52の答がYESのとき、すなわち、F/B制御トルクTRQFBが異音発生トルク領域に入った直後のときには、またぎカウンタ値CCRSをインクリメントする(ステップ53)とともに、下限値TLMTLを制限トルクTRQLMTの初期値として設定する(ステップ54)。
このステップ54の後、又は前記ステップ52の答がNOで、F/B制御トルクTRQFBが異音発生トルク領域に入った直後でないときには、ステップ55に進み、そのときの制限トルクTRQLMTにトルク増減量ΔTRQを加算することによって、今回の制限トルクTRQLMTを算出する。前述したようにトルク増減量ΔTRQが比較的大きな値に設定されているため、制限トルクTRQLMTは、トルク増減量ΔTRQの加算によって、F/B制御トルクTRQFBよりも大きな増加速度で増加する。
次に、算出した制限トルクTRQLMTが上限値TLMTHを上回ったか否かを判別し(ステップ56)、その答がYESのときには、制限トルクTRQLMTを上限値TLMTHに一致させる(ステップ57)。このステップ57の後、又はステップ56の答がNOのときには、ステップ58に進み、F/B制御トルクTRQFBが異音発生トルク領域を抜け出た(離脱した)後の経過時間をアップカウント式に計時する離脱タイマの値TMLMTを0にリセットし、その後、後述するステップ71に進む。
以上のように、F/B制御トルクTRQFBが増加しながら異音発生トルク領域に下側から入った場合には、制限トルクTRQLMTは、下限値TLMTLにトルク増減量ΔTRQを順次、加算することによって算出され、それにより、F/B制御トルクTRQFBよりも大きな増加速度で増加するとともに、上限値TLMTHに達した後には、上限値TLMTHに保持される(図12参照)。
一方、前記ステップ51の答がNOで、F/B制御トルクTRQFBが異音発生トルク領域内にないときには、F/B制御トルクTRQFBが上限値TLMTHよりも大きいか否かを判別し(ステップ59)、その答がYESで、F/B制御トルクTRQFBが異音発生トルク領域の上側に抜け出たときには、F/B制御トルクの前回値TRQFBZが上限値TLMTH以下であるか否かを判別する(ステップ60)。
このステップ60の答がYESのとき、すなわちF/B制御トルクTRQFBが異音発生トルク領域から抜け出た直後のときには、またぎカウンタ値CCRSをインクリメントする(ステップ61)。このステップ61の後、又はステップ60の答がNOのときには、ステップ62に進み、制限トルクTRQLMTをF/B制御トルクTRQFBに一致させる。
次に、前記ステップ58でリセットされた離脱タイマ値TMLMTが所定時間TREF以上であるか否かを判別する(ステップ63)。この答がNOのときには、後述するステップ71に進む。一方、ステップ63の答がYESのとき、すなわち、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後、所定時間TREFが経過したときには、トルク増加時制御及びトルク制限制御を終了するものとし、トルク増加時制御フラグF_TRQINC及びトルク制限制御フラグF_LMTTRQをそれぞれ「0」にリセットし(ステップ64、65)、本処理を終了する。
以上のように、F/B制御トルクTRQFBが異音発生トルク領域の上側に抜け出た後には、制限トルクTRQLMTはF/B制御トルクTRQFBに一致するように算出され、その後、所定時間TREFが経過したときに、トルク増加時制御及びトルク制限制御が終了し、F/B制御トルクTRQFBを用いた通常の目標回転数制御に復帰する。
また、前記ステップ59の答がNOのとき、すなわち、異音発生トルク領域に下側から入ったF/B制御トルクTRQFBが異音発生トルク領域の下側に抜け出た(戻った)ときには、F/B制御トルクの前回値TRQFBZが下限値TLMTL以上であるか否かを判別する(ステップ66)。
このステップ66の答がYESで、F/B制御トルクTRQFBが異音発生トルク領域の下側に抜け出た直後のときには、またぎカウンタ値CCRSをインクリメントする(ステップ67)。このステップ67の後、又はステップ66の答がNOのときには、ステップ68に進み、そのときの制限トルクTRQLMTからトルク増減量ΔTRQを減算することによって、今回の制限トルクTRQLMTを算出する。このトルク増減量ΔTRQの減算によって、制限トルクTRQLMTは、F/B制御トルクTRQFBよりも大きな減少速度で減少する。
次に、算出した制限トルクTRQLMTがF/B制御トルクTRQFB以下になったか否かを判別し(ステップ69)、その答がYESのときには、制限トルクTRQLMTをF/B制御トルクTRQFBに一致させる(ステップ70)。このステップ70の後、又はステップ69の答がNOのときには、前記ステップ63以降に進む。すなわち、ステップ63の答がYESで、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後、所定時間TREFが経過したときには、ステップ64、65において、トルク増加時制御フラグF_TRQINC及びトルク制限制御フラグF_LMTTRQを「0」にリセットし、トルク増加時制御及びトルク制限制御を終了する。
また、前記ステップ58の後、又は上記ステップ63の答がNOのときには、またぎカウンタ値CCRSが所定回数CREFに等しいか否かを判別し(ステップ71)、その答がNOのときには、そのまま本処理を終了する。一方、ステップ71の答がYESのとき、すなわち、F/B制御トルクTRQFBが異音発生トルク領域の上限又は下限をまたいだ回数が、所定回数CREFに達したときには、トルク増加時制御及びトルク制限制御を終了するものとし、前記ステップ64及び65を実行し、本処理を終了する。
図11は、図8のステップ49で実行されるトルク減少時制御処理のサブルーチンを示す。本処理では、まずステップ81において、F/B制御トルクTRQFBが、下限値TLMTL以上でかつ上限値TLMTH以下であるか否か(異音発生トルク領域内にあるか否か)を判別し、その答がYESのときには、F/B制御トルクの前回値TRQFBZが上限値TLMTHよりも大きいか否かを判別する(ステップ82)。
このステップ82の答がYESで、F/B制御トルクTRQFBが異音発生トルク領域に上側から入った直後のときには、またぎカウンタ値CCRSをインクリメントする(ステップ83)。このステップ83の後、又は前記ステップ82の答がNOのときには、ステップ84に進み、制限トルクTRQLMTを上限値TLMTHに一致させる。次に、離脱タイマ値TMLMTを0にリセットした(ステップ85)後、後述するステップ98に進む。
以上のように、F/B制御トルクTRQFBが減少しながら異音発生トルク領域に上側から入った場合には、F/B制御トルクTRQFBが異音発生トルク領域内にある限り、制限トルクTRQLMTは上限値TLMTHに保持される。
一方、前記ステップ81の答がNOで、F/B制御トルクTRQFBが異音発生トルク領域内にないときには、F/B制御トルクTRQFBが下限値TLMTLよりも小さいか否かを判別する(ステップ86)。この答がYESで、F/B制御トルクTRQFBが異音発生トルク領域の下側に抜け出たときには、F/B制御トルクの前回値TRQFBZが下限値TLMTL以上であるか否かを判別する(ステップ87)。
このステップ87の答がYESのとき、すなわち、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た直後のときには、またぎカウンタ値CCRSをインクリメントする(ステップ88)。このステップ88の後、又はステップ87の答がNOのときには、ステップ89に進み、そのときの制限トルクTRQLMTからトルク増減量ΔTRQを減算することによって、今回の制限トルクTRQLMTを算出する。
以上のように、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後に、制限トルクTRQLMTは、上限値TLMTLからトルク増減量ΔTRQを順次、減算することによって算出され、それにより、F/B制御トルクTRQFBよりも大きな減少速度で減少する(図13参照)。
次に、算出した制限トルクTRQLMTがF/B制御トルクTRQFB以下になったか否かを判別し(ステップ90)、その答がYESのときには、制限トルクTRQLMTをF/B制御トルクTRQFBに一致させる(ステップ91)。このステップ91の後、又はステップ90の答がNOのときには、ステップ92に進み、前記ステップ85でリセットされた離脱タイマ値TMLMTが所定時間TREF以上であるか否かを判別する。この答がNOのときには、後述するステップ98に進む。
一方、ステップ92の答がYESで、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後、所定時間TREFが経過したときには、トルク減少時制御及びトルク制限制御を終了するものとし、トルク減少時制御フラグF_TRQDEC及びトルク制限制御フラグF_LMTTRQをそれぞれ「0」にリセットし(ステップ93、94)、本処理を終了する。
以上のように、減少した制限トルクTRQLMTがF/B制御トルクTRQFB以下になった後には、制限トルクTRQLMTはF/B制御トルクTRQFBに一致するように算出され、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後、所定時間TREFが経過したときに、トルク減少時制御及びトルク制限制御が終了し、F/B制御トルクTRQFBを用いた通常の目標回転数制御に復帰する。
また、前記ステップ86の答がNOのとき、すなわち、異音発生トルク領域に上側から入ったF/B制御トルクTRQFBが異音発生トルク領域の上側に抜け出た(戻った)ときには、F/B制御トルクの前回値TRQFBZが上限値TLMTH以下であるか否かを判別する(ステップ95)。
このステップ95の答がYESで、F/B制御トルクTRQFBが異音発生トルク領域の上側に抜け出た直後のときには、またぎカウンタ値CCRSをインクリメントする(ステップ96)。このステップ96の後、又はステップ95の答がNOのときには、ステップ97に進み、制限トルクTRQLMTをF/B制御トルクTRQFBに一致させる。
このステップ97の後には、前記ステップ92以降に進む。すなわち、ステップ92の答がYESで、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後、所定時間TREFが経過したときには、ステップ93、94において、トルク減少時制御フラグF_TRQDEC及びトルク制限制御フラグF_LMTTRQを「0」にリセットし、トルク減少時制御及びトルク制限制御を終了する。
また、前記ステップ85の後、又は上記ステップ92の答がNOのときには、またぎカウンタ値CCRSが所定回数CREFに等しいか否かを判別し(ステップ98)、その答がNOのときには、そのまま本処理を終了する。一方、ステップ98の答がYESで、F/B制御トルクTRQFBが異音発生トルク領域をまたいだ回数が、所定回数CREFに達したときには、トルク減少時制御及びトルク制限制御を終了するものとし、前記ステップ93及び94を実行した後、本処理を終了する。
次に、図12〜図14を参照しながら、実施形態によるトルク制御処理によって得られる動作例を、とりまとめて説明する。図12は、目標回転数制御中に、F/B制御トルクTRQFBが増加しながら、上限値TLMTH及び下限値TLMTLで規定される異音発生トルク領域を、その下側から上側へ通過する例である。この場合には、トルク制限制御として、図10のトルク増加時制御が実行され(図8のステップ45〜47)、それによって算出された制限トルクTRQLMTが、目標トルクTRQCMDとして設定される(図3のステップ8)。
具体的には、F/B制御トルクTRQFBが異音発生トルク領域に下側から入ると(t1)、図10のステップ52の答がYESになるのに応じてステップ54及び55が実行されることにより、下限値TLMTLを初期値とし、トルク増減量ΔTRQを処理サイクルごとに加算することによって、制限トルクTRQLMTが算出される。これにより、実線で示す制限トルクTRQLMTは、点線で示すF/B制御トルクTRQFBよりも大きな増加速度で増加する(t1〜t2)。
増加した制限トルクTRQLMTが上限値TLMTHに達すると(t2)、その後、制限トルクTRQLMTは上限値TLMTHに保持される(ステップ56、57)。その後、F/B制御トルクTRQFBが異音発生トルク領域の上側に抜け出ると(t3)、制限トルクTRQLMTは、F/B制御トルクTRQFBに一致するように算出される(ステップ59、62)。そして、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後、所定時間TREFが経過したときに、トルク増加時制御が終了し(ステップ63〜65)、F/B制御トルクTRQFBによる通常の目標回転数制御に復帰する。
図13は、目標回転数制御中に、F/B制御トルクTRQFBが減少しながら、異音発生トルク領域をその上側から下側へ通過する例である。この場合には、トルク制限制御として、図11のトルク減少時制御が実行され(図8のステップ45、48、49)、それによって算出された制限トルクTRQLMTが、目標トルクTRQCMDとして設定される(図3のステップ8)。
具体的には、F/B制御トルクTRQFBが異音発生トルク領域に上側から入ると(t11)、図11のステップ82の答がYESになるのに応じてステップ84が実行され、制限トルクTRQLMTが上限値TLMTHに保持される(t11〜t12)。その後、F/B制御トルクTRQFBが異音発生トルク領域の下側に抜け出ると(t12)、上限値TLMTHを初期値とし、トルク増減量ΔTRQを処理サイクルごとに減算することによって、制限トルクTRQLMTが算出される(ステップ86、89)。これにより、制限トルクTRQLMTは、F/B制御トルクTRQFBよりも大きな減少速度で減少する(t12〜t13)。
減少した制限トルクTRQLMTがF/B制御トルクTRQFB以下になると(t13)、その後、制限トルクTRQLMTは、F/B制御トルクTRQFBに一致するように算出される(ステップ90、91)。そして、F/B制御トルクTRQFBが異音発生トルク領域から抜け出た後、所定時間TREFが経過したときに、トルク減少時制御が終了し(ステップ92〜94)、通常の目標回転数制御に復帰する。
図14は、目標回転数制御中に、F/B制御トルクTRQFBが、異音発生トルク領域に下側から入り、その後に一旦、下側へ戻った後、再び異音発生トルク領域に入り、最終的に上側へ抜け出る例である。この場合には、トルク制限制御として、図10のトルク増加時制御が実行される(図8のステップ45〜47)。
具体的には、F/B制御トルクTRQFBが異音発生トルク領域に下側から入ると(t21)、図12の場合と同様、制限トルクTRQLMTは、トルク増減量ΔTRQの加算によって、下限値TLMTLから上限値TLMTHまで、F/B制御トルクTRQFBよりも大きな増加速度で増加し(t21〜t22)、上限値TLMTHに達した後には、これに保持される(t22〜t23)。
その後、F/B制御トルクTRQFBが異音発生トルク領域の下側に戻ると(t23)、図10のステップ68が実行されることにより、制限トルクTRQLMTは、トルク増減量ΔTRQの減算によって、上限値TLMTHから、F/B制御トルクTRQFBよりも大きな減少速度で減少し(t23〜t24)、F/B制御トルクTRQFB以下になった後には、ステップ69、70の実行により、F/B制御トルクTRQFBに一致するように算出される(t24〜t25)。
その後、F/B制御トルクTRQFBが異音発生トルク領域に再び入ると(t25)、t21〜t23間と同様、制限トルクTRQLMTは、トルク増減量ΔTRQの加算によって、下限値TLMTLから上限値TLMTHまで、F/B制御トルクTRQFBよりも大きな増加速度で増加した後、上限値TLMTHに保持される(t25〜t27)。
、
そして、F/B制御トルクTRQFBが異音発生トルク領域の上側に抜け出ると(t7)、制限トルクTRQLMTは、F/B制御トルクTRQFBに一致するように算出され(ステップ59、62)、その後、所定時間TREFが経過したときに、トルク増加時制御が終了する。
また、図14に示すように、上記の制御の間、F/B制御トルクTRQFBが異音発生トルク領域の上限又は下限をまたぐごとに、またぎカウンタ値CCRSがインクリメントされ(ステップ53、61、66)、またぎカウンタ値CCRSが所定回数CREFに達した場合には、その時点でトルク増加時制御が終了する(ステップ71、64、65)。
以上のように、本実施形態によれば、車両Vが所定の走行状態のときに実行される目標回転数制御において、エンジン回転数NEが目標回転数NECMDに収束するように、PIDフィードバック制御によって、F/B制御トルクTRQFBを算出する。また、算出されたF/B制御トルクTRQFBが異音発生トルク領域を増加しながら通過するときには、制限トルクTRQLMTを、トルク増減量ΔTRQの加算によって、F/B制御トルクTRQFBよりも大きな増加速度で増加するように算出する。一方、F/B制御トルクTRQFBが異音発生トルク領域を減少しながら通過するときには、制限トルクTRQLMTを、トルク増減量ΔTRQの減算によって、F/B制御トルクTRQFBよりも大きな減少速度で減少するように算出する。
そして、以上のように算出された制限トルクTRQLMTを、F/B制御トルクTRQFBに代えて、目標回転数制御における目標トルクTRQCMDとして設定する。以上の設定により、目標トルクTRQCMDが異音発生トルク領域をより速やかに通過するので、異音の発生を効果的に抑制することができる。
また、制限トルクTRQLMTが、F/B制御トルクTRQFBと同じ方向に徐々に変化するので、従来のトルク制御装置と異なり、目標トルクTRQCMDが急激に変化することがなく、トルクショックを回避できるとともに、エンジン3の運転状態に見合った出力トルクを得ることができ、目標回転数制御を適切に行うことができる。
さらに、F/B制御トルクTRQFBと制限トルクTRQLMTの相互の切替を、両者の値が一致している状態で行うので、この切替時における目標トルクTRQCMDの連続性を確保でき、切替時のトルクショックも確実に回避することができる。また、制限トルクTRQLMTが、F/B制御トルクTRQFBよりも常に大きな値に設定されるので、目標トルクTRQCMDの不足によるエンジンストールを防止することができる。
また、トルク増減量ΔTRQを、変速機4のギヤ段SGRが低いほど、より小さな値に設定するので、特に低速側のときのトルクショックを抑制でき、エンジン3の出力トルクが異音発生トルク領域内に存在することによる異音の抑制と、ギヤ段SGRに応じたトルクショックの抑制をバランス良く実現することができる。
また、図7に示したように、変速機入力トルクTRQINの振幅の谷部又は山部が、エンジン3の駆動状態と被駆動状態との境界を表すトルク値0をわずかでもまたぐときの変速機入力トルクTRQINの中心値を、上限値TINLMT及び下限値TINLMTLとして求めるとともに、これらの上限値TINLMT及び下限値TINLMTLに対応するエンジン3の出力トルクを、異音発生トルク領域の上限値TLMTH及び下限値TLMTLとして設定する。これにより、エンジン3の駆動状態と被駆動状態との切り替わりによって異音が発生しやすいエンジン3の出力トルクの領域を、異音発生トルク領域として適切に設定できるとともに、出力トルクがこの異音発生トルク領域内に存在する時間を短縮することによって、異音の発生を適切に抑制することができる。
さらに、車両Vが停車中のアイドル運転状態のとき、変速機4がニュートラル状態のときや、変速機4のギヤ段SGRが異音が発生しにくい1速段又は2速段に設定されているときに、制限トルクTRQLMTによる制限が不要又は必要性が低いとして、制限トルクTRQLMTの算出を禁止するので、F/B制御トルクTRQFBを目標トルクTRQCMDとする本来のトルク制御によって、目標回転数制御を適切に行うことができる。
また、F/B制御トルクTRQFBを算出するPIDフィードバック制御において、I項TFBIを上側リミット値TFBILMTによって制限するので、I項TFBIの溜まり込みに起因する、F/B制御トルクTRQFB及びエンジン回転数NEが一旦、上昇した後に低下しにくくなるという現象を適切に回避することができる。また、変速機4のギヤ段SGRが1速段又は2速段のときには、上側リミット値TFBILMTを非常に大きな第1所定値TLMT1に設定し、上側リミット値TFBILMTによる制限を実質的に禁止するので、低速段における車両Vの発進性能を適切に確保することができる。
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、不具合が発生し得る所定のトルク領域として、異音が発生しやすい異音発生トルク領域を設定したが、本発明はこれに限らず、異音以外の不具合が生じ得るトルク領域としてもよい。その場合にも、目標トルクがそのトルク領域をより速やかに通過することによって、不具合の発生を抑制できるという効果を得ることができる。
また、実施形態では、目標回転数制御においてエンジン回転数NEが目標回転数NECMDに収束するように算出されるF/B制御トルクTRQFBを、第1目標トルクとして用いたが、これに代えて、エンジン3の運転状態に応じて算出される他の制御トルクを用いてもよい。さらに、このF/B制御トルクTRQFBの算出を、PIDフィードバック制御によって行っているが、PIフィードバック制御で行ってもよいことはもちろんである。
また、実施形態では、制限トルクTRQLMTを増加させる場合と減少させる場合において、共通のトルク増減量ΔTRQを用いているが、異なる増減量を用いてもよい。
また、実施形態は、エンジン3がディーゼルエンジン、変速機4が手動変速機の例であるが、本発明はこれに限らず、他のタイプの内燃機関、変速機やそれらの組み合わせに適用することが可能である。さらに、実施形態に示した制御処理の具体的な手法は、あくまで例示であり、他の適当な手法を採用してもよいことはもちろんである。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。