以下図面を用いて本発明の実施の形態を、具体的な実機例に基づいて詳細に説明する。
図1は、本発明の内燃機関の制御装置を搭載する多気筒エンジン1の構成を概略的に示す構成図である。図1において、エンジン1の吸気通路2にはスロットル弁3が設けられており、この上流側に図示しないエアクリーナが設けられている。このスロットル弁3の軸の一端にはこのスロットル弁3を駆動するアクチュエータ4が設けられており、他端にはスロットル弁3の開度を検出するスロットル開度センサ5が設けられている。即ち、この実施例のスロットル弁3はアクチュエータ4によって開閉駆動される電子制御スロットルである。
スロットル弁3の下流側の吸気通路2にはサージタンク6があり、このサージタンク6内には吸気の圧力を検出する圧力センサ7が設けられている。更に、サージタンク6の下流側には、各気筒毎に燃料供給系から加圧燃料を吸気ポートへ供給するための燃料噴射弁8が設けられている。スロットル開度センサ5の出力と圧力センサ7の出力は、マイクロコンピュータを内蔵したECU(エンジン・コントロール・ユニット)10に入力される。
また、エンジン1のシリンダブロックの冷却水通路9には、冷却水の温度を検出するための水温センサ11が設けられている。水温センサ11は冷却水の温度に応じたアナログ電圧の電気信号を発生する。排気通路12には、排気ガス中の3つの有害成分HC,CO,NOxを同時に浄化する三元触媒コンバータ(図示せず)が設けられており、この触媒コンバータの上流側の排気通路12には、空燃比センサの一種であるO2 センサ13が設けられている。O2 センサ13は排気ガス中の酸素成分濃度に応じて電気信号を発生する。これら水温センサ11及びO2 センサ13の出力はECU10に入力される。
更に、このECU10には、アクセルペダル14に取り付けられたアクセル踏込量センサ(アクセル開度センサ)15からのアクセル踏込量信号(アクセル開度信号)や、図示しないディストリビュータに取り付けられたクランク角センサからのエンジン回転数Neが入力される。
そして、エンジン1の燃焼室にはECU10によって点火制御される点火プラグ16が設けられており、ECU10はエンジン1の運転状態に応じてこの点火プラグ16の点火時期や点火時間を制御することができる。
一方、エンジン1の吸気通路2と排気通路12との間には、排気ガス中のNOxを低減させるために、排気通路12を流れる排気ガスの一部を吸気通路2に再循環させ、吸入混合気に混入させることにより燃焼時の最高温度を下げるためのEGR(排気ガス再循環)通路17が設けられている。そして、このEGR通路17の途中には、ECU10からの信号によってその開度が変化してEGR量を調整することができるEGR弁18が設けられている。
以上のように構成されたエンジン1において、図示しないイグニッションスイッチがオンされると、ECU10が通電されてプログラムが起動し、各センサからの出力を取り込み、スロットル弁3を開閉するアクチュエータ4や燃料噴射弁8、或いはその他のアクチュエータを制御する。ECU10には、各種センサからのアナログ信号をディジタル信号に変換するA/D変換器が含まれ、各種センサからの入力ディジタル信号や各アクチュエータを駆動する信号が出入りする入出力インタフェース101、演算処理を行うCPU102、ROM103やRAM104等のメモリや、クロック105等が設けられており、これらはバス106で相互に接続されている。ECU10の構成については公知であるので、これ以上の説明を省略する。
図2(a)は、図1に示される電子制御スロットルのアクセル開度‐スロットル開度特性を示す線図である。アクセルペダル14の踏込み量(アクセル開度)とスロットル弁3の開度(スロットル開度)が1対1に対応する場合は、図2(a)に二点鎖線で示されるようにアクセル開度が最大開度5になった時に、スロットル開度が全開となる。しかしながら、通常の電子制御スロットルでは、アクセル開度が開度3.1になった時に、スロットル弁3が全開位置に達するようになっており、以後はアクセルペダル14を踏み込んでもスロットル開度は全開のままの状態である。
図2(b)は図1に示される電子制御スロットルのアクセル開度の時間的な変化に対するスロットル開度変化を示すものである。この図から分かるように、アクセルペダル14が時刻t0において踏み込まれるとアクセル開度が上昇し、アクセル開度が最大開度を5として3.1/5(基準値)になった時刻t1でスロットル開度が全開となる。この後にアクセルペダル14が更に踏み込まれ、時刻t2で最大開度5となっても、時刻t1から時刻t2の間はスロットル開度は全開のままで変化しない。
このため、従来の電子制御スロットルを備えたエンジンでは、アクセル開度が前述の基準値を越えて踏み込まれ、基準値を越えた開度で開度変化をさせても、スロットル弁が全開のままで変化しないので、運転者はこの領域においてエンジンの空走感を感じていたのである。
そこで、本発明では、電子制御スロットルを備えたエンジンを搭載した車両において、アクセルペダルの最大踏込み量付近でエンジンの制御を行ってスポーツ走行を行うような運転者に対しては、以下のような2つの形態の制御を用いて、アクセル開度が基準値を越えた領域でもエンジンの制御が行われている感覚を運転者に与えることができるようにしている。
(1)アクセル開度が基準値を越えた領域で増減された場合、エンジン制御をスロットル弁開度以外のもので行い、エンジンがアクセル開度に応じて制御されている感覚を運転者に与える。
(2)アクセル開度が基準値を越えた領域で頻繁に増減されるような運転を運転者が継続して行う場合は、スロットル弁が全開となるアクセル開度の基準値を、アクセル開度とスロットル弁開度の対応が1対1に近づく方向に変更し、アクセル開度の大きな領域でスロットル弁が制御されるようにする。
以下にこの2つの制御について詳細に説明する。
[第1の実施例](第1の形態)
図3は、本発明の第1の実施例におけるエンジンの制御を説明するものである。第1の実施例では、実線で示すように、時刻T0でアクセルペダルが踏み込まれてアクセル開度が増大し、時刻T1でアクセル開度が基準値を越え、時刻T2でアクセル開度が最大となり、その後の時刻T3〜T4と時刻T6〜T7で運転者がアクセル開度が基準値を下回らない減速を2回行い、時刻T4〜T5と時刻T7からT8で運転者がアクセル開度が最大になるまでの加速を2回行い、時刻T9で運転者が減速を開始し、時刻T10でアクセル開度が基準値を下回り、時刻T11でアクセル開度が基準値より低い所定値で安定した運転状態を示すものである。
この場合、スロットル開度は時刻T1で全開となり、この全開状態は時刻T10まで継続する。同様に、時刻T1〜T10までの間、スロットル弁が全開、即ち、エンジンが最大負荷状態にあることを示す最大負荷状態フラグMLFがハイレベルとなる。一方、この実施例では、アクセル開度が基準値を越えた最大負荷状態にある時のエンジンの加速状態(時刻T1〜T2、T4〜T5及びT7〜T8)には最大負荷状態の加速フラグMLAFがハイレベルとなり、アクセル開度が基準値を越えた最大負荷状態にある時のエンジンの減速状態(時刻T3〜T4、T6〜T7及びT9〜T10)には最大負荷状態の減速フラグMLDFがハイレベルとなる。
そして、この実施例では、最大負荷状態の減速フラグMLDFがハイレベルの時に、エンジン出力低減フラグEODFをハイレベルにし、最大負荷状態の減速フラグEODFがハイレベルになった直後の最大負荷状態の加速フラグMLAFがハイレベルの時に、エンジン出力増大フラグEOAFがハイレベルになるようにしている。
なお、以上説明した波形図では、時刻T1でアクセル開度が基準値を越えた後に、時刻T2でアクセル開度が最大値になる例を説明したが、図3に破線で示すように、時刻T1でアクセル開度が基準値を越えた後に、アクセル開度は最大値にならなくても良い。この場合は、最大負荷状態の加速フラグMLAFが時刻T2′でローレベルになり、最大負荷状態の減速フラグMLDF及びエンジン出力低減フラグEODFが時刻T9′でハイレベルになる。
図4は、図3に示した本発明の第1の実施例の制御を、実際に図1に示したECU10が行う場合の制御の手順をフローチャートで示したものである。このフローチャートに示す制御手順は、所定時間毎に実行される。
ステップ401ではアクセル開度の読込みを行う。そして、続くステップ402においてアクセル開度が基準値以上になったか否かを判定する。この判定でアクセル開度が基準値未満であると判定した場合はステップ409に進み、減速カウンタGCの値を0にすると共に、最大負荷状態の減速フラグMLDF、最大負荷状態の加速フラグMLAF、エンジン出力低減フラグEODF、及びエンジン出力増大フラグEOAFを全てローレベルである0にしてこのルーチンを終了する。
一方、ステップ402においてアクセル開度が基準値以上になったと判定した場合はステップ403に進み、最大負荷状態フラグMLFを1にした後に、ステップ404に進む。ステップ404ではステップ401で読み込んだアクセル開度が前回の値よりも小さいか否かを判定する。アクセル開度が前回値よりも小さいと判定した場合は減速状態であるのでステップ405に進み、最大負荷状態の減速フラグMLDFを1にし、最大負荷状態の加速フラグMLAFを0にし、エンジン出力低減フラグEODFを1にし、エンジン出力増大フラグEOAFを0にする。そして、減速カウンタGCの値を1だけ増やしてこのルーチンを終了する。減速カウンタGCの値は、アクセル開度が基準値より小さい時には0であるので、初めてステップ405に進んで来た時には、減速カウンタGCの値は1になる。
一方、ステップ404においてアクセル開度が前回値以上であると判定した場合は加速状態(等速状態を含む)であるのでステップ406に進み、最大負荷状態の減速フラグMLDFを0にし、最大負荷状態の加速フラグMLAFを1にする。そして、続くステップ407で減速カウンタGCの値が1以上であるか否かを判定し、減速カウンタGCの値が0の場合はこのままこのルーチンを終了するが、減速カウンタGCの値が1以上の場合はステップ408に進み、エンジン出力低減フラグEODFを0にし、エンジン出力増大フラグEOAFを1にしてこのルーチンを終了する。即ち、この実施例では、アクセル開度が基準値を越えて最大負荷状態MLFになり、そのまま加速が継続する加速状態のみ、エンジン出力増大フラグEOAFの値を1にしないのである。この結果、図3に示すように、時刻T1から時刻T2までの加速状態では、エンジン出力増大フラグEOAFの値が1にならない。
図5(a)は本発明における最大負荷状態においてエンジンの出力を増減制御する場合の一例を示すフローチャートである。この例では、図1に示した点火プラグ16の点火時間を、エンジンの運転状態に応じて計算された値に対して増減することにより、エンジンの出力を増減するようにしている。
ステップ501では点火時間の読込みを行う。この点火時間はエンジンの運転状態(吸気圧、エンジン回転数、水温、空燃比、エンジン負荷等)に応じてECU10が演算によって求めた現在の点火時間の値である。そして、続くステップ502ではエンジン出力低減フラグEODFの値が1か否かを判定する。ステップ502でエンジン出力低減フラグEODFの値が1であると判定した場合はステップ504に進み、点火時間に補正係数a(<1)を乗算して点火時間を減らしてこのルーチンを終了する。この結果、エンジンの出力が低下する。
一方、ステップ502でエンジン出力低減フラグEODFの値が0であると判定した場合はステップ503に進み、エンジン出力増大フラグEOAFの値が1か否かを判定し、エンジン出力増大フラグEOAFの値が0の場合はこのままこのルーチンを終了する。また、ステップ503でエンジン出力増大フラグEOAFの値が1であると判定した場合はステップ505に進み、点火時間に補正係数b(>1)を乗算して点火時間を増大してこのルーチンを終了する。この結果、エンジンの出力が増大する。
なお、ステップ505における点火時間の増大補正は、例えば、ステップ501で読み込んだ点火時間の値を越えないように増大補正する。
図5(b)は本発明における最大負荷状態においてエンジンの出力を増減制御する場合の別の例を示すフローチャートである。この例では、図1に示した点火プラグ16の点火時期を、エンジンの運転状態に応じて計算された値に対して進角、或いは遅角することにより、エンジンの出力を増減するようにしている。
ステップ506では点火時期の読込みを行う。この点火時期はエンジンの運転状態に応じてECU10が演算によって求めた現在の点火時期の値である。そして、続くステップ507ではエンジン出力低減フラグEODFの値が1か否かを判定する。ステップ507でエンジン出力低減フラグEODFの値が1であると判定した場合はステップ509に進み、点火時期に遅角補正量cを加算して点火時期を遅らせてこのルーチンを終了する。この結果、エンジンの出力が低下する。
一方、ステップ507でエンジン出力低減フラグEODFの値が0であると判定した場合はステップ508に進み、エンジン出力増大フラグEOAFの値が1か否かを判定し、エンジン出力増大フラグEOAFの値が0の場合はこのままこのルーチンを終了する。また、ステップ508でエンジン出力増大フラグEOAFの値が1であると判定した場合はステップ510に進み、点火時期に進角補正値dを加算し点火時期を進角してこのルーチンを終了する。この結果、エンジンの出力が増大する。
なお、ステップ510における点火時期の進角補正は、例えば、ステップ506で読み込んだ点火時期よりも進角しないように行う。
また、以上説明したエンジンの出力を増減制御する例以外にも、エンジン出力低減フラグEODFの値が1である時にエンジンの出力を低減させ、エンジン出力増大フラグEOAFの値が1である時にエンジンの出力を増大させる方法としては、以下のような方法がある。
(A)図1に示したEGR通路17に設けたEGR弁18の開度を、エンジン出力低減フラグEODFの値が1である時に増大してエンジンの出力を低減させ、エンジン出力増大フラグEOAFの値が1である時に減少させてエンジンの出力を増大させる。
(B)図1に示した燃料噴射弁8からの燃料噴射量を、エンジン出力低減フラグEODFの値が1である時に低減してエンジンの出力を低減させ、エンジン出力増大フラグEOAFの値が1である時に増大してエンジンの出力を増大させる。
[第2の実施例](第1の形態)
図6は、本発明の第2の実施例におけるエンジンの制御を説明するものである。第2の実施例における時刻T0から時刻T11までのアクセル開度の推移は、実線で示した特性と破線で示した特性の両方において前述の第1の実施例と同じである。第2の実施例が第1の実施例と異なるのは、エンジン出力低減フラグEODFとエンジン出力増大フラグEOAFの状態のみである。
第1の実施例では、アクセル開度が時刻T1で基準値を越えた後、時刻T3〜T4における最初の減速時に、エンジン出力低減フラグEODFをハイレベルにして直ちにエンジン出力を低減させ、これに続く時刻T4〜T5の加速時に、エンジン出力増大フラグEOAFをハイレベルにして直ちにエンジン出力を増大させていた。これに対して、第2の実施例では、アクセル開度が時刻T1で基準値を越えた後の、時刻T3〜T4における最初の減速時にはエンジン出力低減フラグEODFをハイレベルにせず、これに続く時刻T4〜T5の加速時にもエンジン出力増大フラグEOAFをハイレベルにせずにエンジン出力の増減制御を実行していない。
これは、第2の実施例では、アクセル開度が時刻T1で基準値を越えた後の最初のアクセル開度の増減では運転者にエンジンの最大負荷時における制御意志があるとは判定せず、再度アクセル開度の増減が行われて初めて、運転者にエンジンの最大負荷時における制御意志があると判定するようにしたためである。
図7は、図6に示した本発明の第2の実施例の制御を、実際に図1に示したECU10が行う場合の制御の手順をフローチャートで示したものである。このフローチャートに示す制御手順は、所定時間毎に実行される。
図7に示したフローチャートに示す制御手順は、図4に示した第1の実施例における制御手順と一部が異なるだけである。よって、第2の実施例では、第1の制御手順と同じステップには同じステップ番号を付してその説明を省略し、異なる部分のみを説明する。第2の実施例における第1の実施例と同じ制御手順は、ステップ401からステップ404までと、ステップ409である。
ステップ404ではステップ401で読み込んだアクセル開度が前回の値よりも小さいか否かを判定する。アクセル開度が前回値よりも小さいと判定した場合は減速状態であるのでステップ701に進み、最大負荷状態の減速フラグMLDFを1にし、最大負荷状態の加速フラグMLAFを0にし、減速カウンタGCの値を1だけ増やしてステップ702に進む。減速カウンタGCの値はアクセル開度が基準値より小さい時には0であるので、初めてステップ701に進んで来た時には、減速カウンタGCの値は1になり、2回目にステップ702に進んで来た時に減速カウンタGCの値が2になる。
ステップ702では、減速カウンタGCの値が2以上であるか否かを判定し、減速カウンタGCの値が1の場合はこのままこのルーチンを終了するが、減速カウンタGCの値が2以上の場合はステップ703に進み、エンジン出力低減フラグEODFを1にし、エンジン出力増大フラグEOAFを0にしてこのルーチンを終了する。このステップ702の判定により、減速カウンタGCの値が1の場合は、即ち、アクセル開度が基準値を越えた後に初めて減速した時にはエンジン出力低減フラグEODFは1にはならず、エンジンの出力が低減されない。
一方、ステップ404においてアクセル開度が前回値よりも大きいと判定した場合は加速状態であるのでステップ704に進み、最大負荷状態の減速フラグMLDFを0にし、最大負荷状態の加速フラグMLAFを1にする。そして、続くステップ705で減速カウンタGCの値が2以上であるか否かを判定し、減速カウンタGCの値が0又は1の場合はこのままこのルーチンを終了するが、減速カウンタGCの値が2以上の場合はステップ706に進み、エンジン出力低減フラグEODFを0にし、エンジン出力増大フラグEOAFを1にしてこのルーチンを終了する。即ち、この実施例では、アクセル開度が基準値を越えた最大負荷状態における2回目以降の減速の直後の加速状態においてのみ、エンジン出力増大フラグEOAFの値を1にするのである。
このようにして、エンジン出力低減フラグEODFの値とエンジン出力増大フラグEOAFの値が1に設定された後のエンジンの出力制御は、前述の図5(a),(b)に示したフローチャートに記載の制御手順と同じであるので、ここではその説明を省略する。
[第3の実施例](第2の形態)
図8は、本発明の第3の実施例におけるエンジンの制御を説明するものである。図8には、時刻T0でアクセルペダルが踏み込まれてアクセル開度が増大し、時刻T1でアクセル開度が基準値を越えてスロットル開度が全開(開度5)となり、時刻T2でアクセル開度が最大となり、その後の時刻T3〜T23の間でアクセル開度が基準値を下回らない範囲で減速と加速とが繰り返された運転状態が示してある。
この場合、スロットル開度は時刻T1で全開となり、その後はアクセル開度が基準値を下回らないので全開のままである。この実施例では、アクセル開度が基準値を越えた領域で減速した後に増大する回数を、最大負荷状態の減速回数MLNによってカウントしている。この実施例の最大負荷回数計数カウンタMLNの最大カウント数は4であり、カウント数が4になると1に設定されるように設定されている。また、この実施例には最大負荷状態におけるアクセル開度変化の継続時間カウンタMLTCを設けてある。
最大負荷状態におけるアクセル開度変化の継続時間カウンタMLTCは減算カウンタであり、アクセル開度が最初に基準値を越えた時に最大カウント数CMAXに設定される。最大負荷状態におけるアクセル開度変化の継続時間カウンタMLTCは以後は減算カウントを行い、最大負荷状態の減算回数カウンタMLNの値が1に戻る毎に最大カウント数CMAXに復帰するように設定されている。更に、この実施例では、アクセル開度値変更係数AOCが設定されており、このアクセル開度値変更係数AOCの初期値は1であって、アクセル開度変化の継続時間カウンタMLNがクリアされる毎にその値が所定値、例えば、0.1ずつ小さくなるようになっている。このアクセル開度値変更係数AOCの最小値は0.62に設定されている。
例えば、この実施例では、アクセル開度が基準値を越えた後に、基準値を下回らない範囲で減速されてから増大させられる動作を3回繰り返すと、4回目の減速から増大に移行する時点の時刻T10で、アクセル開度値変更係数AOCが0.1だけ減算されて0.9に変更される。すると、実際には時刻T10からT18まで、実際のアクセル開度は実線で示すように変化するが、ECU10ではこのアクセル開度に0.9を乗算したアクセル開度2が計算され、このアクセル開度2でスロットル弁が制御される。このアクセル開度2の特性は、図8に破線で示すように変化する。
そして、時刻T9から時刻T11のアクセル開度の変化を1回目として、時刻T19までアクセル開度の変化が更に繰り返されると、4回目に減速されてから増大に移行する時点の時刻T18で、アクセル開度値変更係数AOCが0.1だけ減算されて0.8に変更される。すると、実際には時刻T18以降、実際のアクセル開度は実線で示すように変化するが、ECU10において演算されるアクセル開度2はこのアクセル開度に0.8が乗算された破線で示す特性になる。
図9は、本発明の第3の実施例におけるエンジンの制御において、アクセル開度が基準値を下回らない範囲で所定時間以上行われなかった時の状態を示すものである。この所定時間は、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの最大カウント数CMAXが0になるまでの時間であり、例えば3分間である。
この例では、図8で説明した時刻T0でアクセルペダルが踏み込まれてアクセル開度が増大し、時刻T1でアクセル開度が基準値を越えてスロットル開度が全開(開度5)となり、時刻T2でアクセル開度が最大となり、その後の時刻T3〜T12の間でアクセル開度が基準値を下回らない範囲で減速と加速とが繰り返され、時刻T10でアクセル開度値変更係数AOCの値が1から0.9になったが、時刻T12の後はアクセル開度が一定に保持された運転状態が示してある。
時刻T12の後に、アクセル開度が固定されると、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値は減り続け、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCのカウント値が時刻TEで0になると、最大負荷状態の減速回数カウンタMLNがクリアされて0になると共に、アクセル開度値変更係数AOCの値も1に復帰するようになっている。この結果、時刻TE以降はアクセル開度2がアクセル開度と同じ値になる。
図10は、本発明の第3の実施例におけるエンジンの制御において、アクセル開度が基準値を下回らない範囲で減速された後に増大される動作が所定回数だけ行われた後に、アクセル開度が基準値を下回り、基準値より下の領域で一度減速されてから増大された後に固定された時の状態を示すものである。
この例では、図8で説明した時刻T0でアクセルペダルが踏み込まれてアクセル開度が増大し、時刻T1でアクセル開度が基準値を越えてスロットル開度が全開(開度5)となり、時刻T2でアクセル開度が最大となり、その後の時刻T3〜T11の間でアクセル開度が基準値を下回らない範囲で減速と加速とが繰り返され、時刻T10でアクセル開度値変更係数AOCの値が1から0.9になったが、時刻T11で開始された減速がそのまま継続され、時刻T13で基準値を下回り、その後時刻T14〜T15において一旦開度保持され、時刻T15〜T16で減速され、時刻T16〜T17で僅かに加速された後に、アクセル開度が一定に保持された運転状態が示してある。
この場合は、時刻T10でアクセル開度2の値がアクセル開度と異なるようになるが、時刻T13においてアクセル開度が基準値を下回ると、最大負荷状態フラグMLF、最大負荷状態の減速フラグMLDF、最大負荷状態の加速フラグMLAF、最大負荷状態の減速回数カウンタMLN、及び、最大負荷状態におけるアクセル開度変化の継続時間が全て0になり、アクセル開度値変更係数AOCの値も1に復帰する。この結果、時刻T13からはアクセル開度2の値がアクセル開度と同じになる。
以上のように図8から図10を用いて説明した本発明の第3の実施例の制御は、アクセル開度が初めて基準値を越えた後に、減速と加速の繰り返し操作を運転者が4回以上行うと、運転者が最大負荷状態でエンジンを制御しようとしていると判断して、図2(a)に示したアクセル開度とスロットル開度との対応を、1対1に近づける方向の補正を行うものである。この補正方法としては、実際に検出したアクセル開度に、1より小さい所定値のアクセル開度値変更係数AOCを乗算してアクセル開度2を計算し、このアクセル開度2によってスロットル弁の開度を制御することにより、アクセル開度とスロットル開度との対応を1対1に近づける方向に補正するものである。
図15はこのアクセル開度とアクセル開度2、及びスロットル開度との関係を示すものである。アクセル開度値変更係数AOCが0.9の場合は、実際のスロットル開度の値が5であっても、スロットル開度を制御するアクセル開度2の値は4.5となる。この結果、アクセル開度2においてスロットル開度が5となる基準値は3.4となる。これは、実際のアクセル開度が3.4までスロットル開度をアクセルペダルで制御できることを意味する。同様に、アクセル開度値変更係数AOCが0.7の場合は、実際のスロットル開度の値が5であっても、スロットル開度を制御するアクセル開度2の値は3.5となる。この結果、アクセル開度2においてスロットル開度が5となる基準値は4.42となる。これは、実際のアクセル開度が4.42までスロットル開度をアクセルペダルで制御できることを意味する。従って、このアクセル開度値変更係数AOCの最小値は0.62であり、アクセル開度値変更係数の値が0.62の時にアクセル開度の最大開度5がアクセル開度2では3.1となり、最大アクセル開度5でスロットル開度が全開になる。
そして、このアクセル開度とスロットル開度の関係を1対1に近づける方向の制御は、運転者がアクセル開度を、3分間以上基準値を横切るように変化させなかった場合、及びアクセル開度が基準値を下回った場合に終了する。
なお、アクセル開度値変更係数AOCの値を変更するためのアクセル開度が減速と加速とを繰り返す回数は4回でなくとも良く、また、アクセル開度値変更係数AOCの変更毎にアクセル開度値変更係数AOCから減算する数値も0.1に限定されるものではない。更に、最大負荷状態におけるアクセル開度変化の継続時間カウンタMLTCに設定する最大カウント数CMAXも、3分間に相当する値でなくとも良い。
また、このアクセル開度とスロットル開度の関係を1対1に近づける方向の制御の別の例としては、単純に基準値の3.1を少しずつ最大アクセル開度5に近づける方向に補正する制御も考えられる。
図11は、図8から図10に示した本発明の第3の実施例の制御を、実際に図1に示したECU10が行う場合の制御の手順をフローチャートで示したものである。このフローチャートに示す制御手順は、所定時間毎に実行される。
ステップ1101ではアクセル開度の読込みを行い、次のステップ1102ではアクセル開度にアクセル開度値変更係数AOCを乗算した値を、スロットル弁の開度を制御するアクセル開度2として設定する演算を行う。アクセル開度が、基準値を越えた最大負荷状態において何回も減速と加速を繰り返さない限りは、このアクセル開度値変更係数AOCの値は1であるので、通常はステップ1102の演算によってもアクセル開度2の値はアクセル開度と同じである。
続くステップ1103においては、アクセル開度が基準値以上になったか否かを判定する。この判定でアクセル開度が基準値未満であると判定した場合はステップ1118に進み、最大負荷状態フラグMLF、最大負荷状態の減速回数カウンタMLN、最大負荷状態におけるアクセル開度変化の継続時間MLTC、最大負荷状態の減速フラグMLDF、及び最大負荷状態の加速フラグMLAFの値を0とし、アクセル開度値変更係数AOCの値を1にしてこのルーチンを終了する。
一方、ステップ1103における判定で、アクセル開度が基準値以上であると判定した場合はステップ1104に進み、最大負荷状態フラグMLFの値が0か否かを判定する。最大負荷状態フラグMLFの値が0である場合は、アクセル開度が基準値以上になってから初めてこのステップ1104に進んで来た場合であるので、ステップ1105に進み、最大負荷状態フラグMLFの値を1にすると共に、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値に最大値CMAXを設定してステップ1107に進む。また、ステップ1104で最大負荷状態フラグMLFの値が0でないと判定した場合はステップ1106で最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値を1だけ減算してステップ1107に進む。
ステップ1107ではステップ1101で読み込んだアクセル開度が前回の値よりも小さいか否かを判定する。アクセル開度が前回値よりも大きいと判定した場合は加速状態であるのでステップ1108に進み、最大負荷状態の減速フラグMLDFを0にし、最大負荷状態の加速フラグMLAFを1にする。そして、続くステップ1109で前回の最大負荷状態の減速フラグMLDFの値が1であるか否かを判定し、前回の最大負荷状態の減速フラグMLDFの値が1でない場合は前回も加速状態であるのでステップ1112に進む。一方、ステップ1109で前回の最大負荷状態の減速フラグMLDFの値が1であると判定した場合は、最大負荷状態の減速後の最初の加速であるので、最大負荷状態の減速回数カウンタMLNの値を1だけ増大してステップ1112に進む。
これに対して、ステップ1107において、アクセル開度が前回値よりも小さいと判定した場合は減速状態であるのでステップ1111に進み、最大負荷状態の減速フラグMLDFを1にし、最大負荷状態の加速フラグMLAFを0にしてステップ1112に進む。
ステップ1112では、最大負荷状態の減速回数カウンタMLNの値が4であるか否かを判定する。即ち、最大負荷状態になってからの減速と加速の回数が4回になったか否かを判定する。最大負荷状態の減速回数カウンタMLNの値が4になっていない場合はステップ1113に進み、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値が0であるか否かを判定する。最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値が0である場合は、最大負荷状態において運転者が減速と加速とを繰り返さなくなってから3分が経過した場合であるから、ステップ1114に進み、最大負荷状態の減速回数カウンタMLNの値を0にすると共に、アクセル開度値変更係数AOCの値を1にしてこのルーチンを終了する。一方、ステップ1113で最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値が0でないと判定した場合はこのままこのルーチンを終了する。
これに対して、ステップ1112で最大負荷状態の減速回数カウンタMLNの値が4であると判定した場合、即ち、最大負荷状態になってからの減速と加速の回数が4回になったと判定した場合はステップ1115に進む。ステップ1115では、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値に最大値のCMAXを入れ、最大負荷状態の減速回数カウンタMLNの値を1にし、更に、アクセル開度値変更係数AOCの値から0.1を減算したものを新たなアクセル開度値変更係数AOCの値とする。
この処理の後に進むステップ1116とステップ1117は、アクセル開度値変更係数AOCの値が0.62未満にならないようにするためのものである。よって、ステップ1116の判定でアクセル開度値変更係数AOCの値が0.62未満と判定された時は、ステップ1117でその値を0.62に設定してこのルーチンを終了し、そうでない場合はそのままこのルーチンを終了する。
以上のような処理により、アクセル開度が基準値を越えた範囲で何度も減速と加速とが繰り返すようなエンジン制御を運転者が行った場合には、この実施例では減速と加速との繰り返し回数が4回に達する毎に、アクセル開度に乗算するアクセル開度値変更係数AOCの値を次第に小さくして行く。そして、このアクセル開度値変更係数AOCを乗算して得られたアクセル開度2でスロットル弁の開度を制御する。この結果、アクセル開度が基準値を越えた領域において、何度も減速と加速とを繰り返すようなエンジン制御を運転者が長時間に渡って行った場合には、アクセル開度とスロットル開度との関係が1対1に近づき、最大負荷領域におけるアクセルの応答性が向上する。
また、この制御は、前述の第1の実施例や第2の実施例と組み合わせ、最大負荷領域における減速と加速時に、エンジン出力の何らかの方法で低減、或いは増大してやれば、最大負荷領域におけるアクセルの応答性が更に向上する。
[第4の実施例](第2の形態)
図12は、本発明の第4の実施例におけるエンジンの制御を説明するものである。第4の実施例においては、時刻T0から時刻T15までの間の実際のアクセル開度は、前述の第3の実施例と同様に推移する。そして、第4の実施例でも、アクセル開度が基準値を越えた後に減速と加速とを繰り返す回数に応じて次第に小さくなる所定の係数を、アクセル開度に乗算することによってアクセル開度2を演算し、このアクセル開度2でスロットル開度を制御する。しかしながら、第4の実施例Sが第3の実施例と異なる点は、アクセル開度に乗算するアクセル開度値変更係数AOCの変更を、実際のアクセル開度が基準値を大きく下回り、例えば、アイドル状態になった後にのみ行う点である。
図12には、時刻T0でアクセルペダルが踏み込まれてアクセル開度が増大し、時刻T1でアクセル開度が基準値を越え、時刻T2でアクセル開度が最大となり、その後の時刻T3〜T14の間でアクセル開度が基準値を越えた領域で減速と加速とが繰り返され、時刻T14から時刻T15までアクセル開度が最大値となった後に、時刻T16においてアクセル開度が一旦アイドル状態まで戻され、時刻T17でアクセル開度が最大値まで大きくされ、更にこの後にアクセル開度が基準値を越えた領域で減速と加速とを繰り返す運転状態を示してある。
第4の実施例では、第3の実施例と同様に、アクセル開度が基準値を越えた領域で減らされた後に増大する回数を、最大負荷状態の減速回数MLNによってカウントしている。この実施例の最大負荷回数計数カウンタMLNの最大カウント数は4であり、カウント数が4になると1に設定されるように設定されている。また、この実施例には最大負荷状態におけるアクセル開度変化の継続時間カウンタMLTCを設けてある。最大負荷状態の継続カウンタMLTCは、アクセル開度が最初に基準値を越えた時に最大カウント数CMAXに設定されており、以後は減算カウントを行い、最大負荷回数計数カウンタMLNの値が1に戻る毎に最大カウント数CMAXに復帰するように設定されている。
更に、この実施例では、仮アクセル開度値変更係数KAOCと、本アクセル開度値変更係数AOCとを設けてある。この仮アクセル開度値変更係数KAOCと本アクセル開度値変更係数AOCの初期値は共に1であって、仮アクセル開度値変更係数KAOCの値は、第3の実施例におけるアクセル開度値変更係数AOCと同様に、最大負荷状態の減速回数計数カウンタMLNがクリアされる毎にその値が所定値、例えば、0.1ずつ小さくなるようになっている。この仮アクセル開度値変更係数KAOCの最小値は0.62に設定されている。
第4の実施例では、この仮アクセル開度値変更係数KAOCが、第3の実施例におけるアクセル開度値変更係数AOCと同じであるが、第3の実施例において算出したアクセル開度2を算出するために、アクセル開度に乗算するのは、この仮アクセル開度値変更係数KAOCではなく、後述する本アクセル開度値変更係数AOCである。即ち、仮アクセル開度値変更係数KAOCは、アクセル開度が基準値を越えた後に、アクセル開度が基準値を下回らない範囲で減少してから増大する回数に応じて減算されていく。そして、第4の実施例では、この仮アクセル開度値変更係数KAOCを第3の実施例のアクセル開度値変更係数AOCと同様に算出することは行っても、これをアクセル開度に乗算してアクセル開度2を作成するためには使用しない。
第4の実施例では、アクセル開度に乗算してアクセル開度2を作成するのに使用する係数は本アクセル開度値変更係数AOCであって、仮アクセル開度値変更係数KAOCではない。第4の実施例における本アクセル開度値変更係数AOCは、アクセル開度が運転者によって一旦アイドル状態に落とされた時に、その時の仮アクセル開度値変更係数KAOCの値に設定される。図12では、時刻T16においてアクセル開度が一旦アイドル状態になった時に、その時の仮アクセル開度値変更係数KAOCの値である0.9が、本アクセル開度値変更係数AOCの値として設定される。
図13は、図12に示した本発明の第4の実施例の制御を実際に図1に示したECU10が行う場合の制御の手順をフローチャートで示したものである。このフローチャートに示す制御手順は、所定時間毎に実行される。
図13に示したフローチャートに示す制御手順は、図11に示した第3の実施例における制御手順と一部が異なるだけである。よって、第4の実施例では、第3の制御手順と同じステップには同じステップ番号を付してその説明を省略し、制御が異なる部分のみを説明する。
第4の実施例が第3の実施例と異なる制御手順は、ステップ1103の否定判定の後のステップがステップ1300からステップ1303に置き変わった点と、ステップ1012の後がステップ1305からステップ1307に置き換わった点である。
即ち、ステップ1103においてアクセル開度が基準値を下回ったと判定した後は、第3の実施例のように制御をクリアするのではなく、ステップ1300において最大負荷状態で運転中の瞬時減速状態の判定を行う。この最大負荷状態で運転中の瞬時減速状態の判定については、図14に示すフローチャートにおいて詳しく説明する。そして、ステップ1300で最大負荷状態の仮継続フラグNLFを設定しておき、ステップ1103で判定したアクセル開度が基準値を下回って低下した状態が、最大負荷状態における一瞬のものであるのか、或いは、最大負荷状態から完全に外れた状態であるのかを判定する。そして、アクセル開度が基準値を下回って低下した状態が一時的である時には最大負荷状態の仮継続フラグNLFを0にし、そうでない時にはこの仮継続フラグNLFを1に設定する。
そして、この最大負荷状態の仮継続フラグNLFの値が1であるか否かを、次のステップ1301で判定する。ステップ1301においてNFL=1と判定した時は、アクセル開度が基準値を下回って低下した状態が一時的ではなく、継続的なものであると判定してステップ1302に進む。ステップ1302では、第3の実施例で説明したように、最大負荷状態フラグMLF、最大負荷状態の減速回数カウンタMLN、最大負荷状態におけるアクセル開度変化の継続時間MLTC、最大負荷状態の減速フラグMLDF、及び最大負荷状態の加速フラグMLAFの値を0とし、仮アクセル開度値変更係数KAOCの値とアクセル開度値変更係数AOCの値を1にしてこのルーチンを終了する。
一方、ステップ1301において最大負荷状態の仮継続フラグNLFの値を1と判定した場合はステップ1303に進み、仮アクセル開度値変更係数KAOCの値を本アクセル開度値変更係数AOCの値に設定してステップ1110に進む。
次に、ステップ1112の後の制御について説明する。ステップ1112では、最大負荷状態の減速回数カウンタMLNの値が4であるか否かを判定する。最大負荷状態の減速回数カウンタMLNの値が4になっていない場合はステップ1113に進み、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値が0であるか否かを判定する。最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値が0である場合は、最大負荷状態において運転者が減速と加速とを繰り返さなくなってから3分が経過した場合であるから、ステップ1304に進み、最大負荷状態の減速回数カウンタMLNの値を0にすると共に、仮アクセル開度値変更係数KAOCの値と本アクセル開度値変更係数AOCの値を共に1にしてこのルーチンを終了する。一方、ステップ1113で最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値が0でないと判定した場合はこのままこのルーチンを終了する。
これに対して、ステップ1112で最大負荷状態の減速回数カウンタMLNの値が4であると判定した場合はステップ1305に進む。ステップ1305では、最大負荷状態におけるアクセル開度変化の継続カウンタMLTCの値に最大値のCMAXを設定し、最大負荷状態の減速回数カウンタMLNの値を1にし、更に、仮アクセル開度値変更係数KAOCの値から0.1を減算したものを新たな仮アクセル開度値変更係数KAOCの値とする。
この処理の後に進むステップ1306とステップ1307は、仮アクセル開度値変更係数KAOCの値が0.62未満にならないようにするためのものである。よって、ステップ1306の判定で仮アクセル開度値変更係数KAOCの値が0.62未満と判定された時は、ステップ1307でその値を0.62に設定してこのルーチンを終了し、そうでない場合はそのままこのルーチンを終了する。
ここで、図13のステップ1301における最大負荷状態で運転中の瞬時減速状態の判定について図14を用いて説明する。この判定では、まず、ステップ1401において最大負荷状態の減速フラグMLDFが1であるか否かを判定する。最大負荷状態の減速フラグMLDFが1でない場合は前回が通常負荷であり、最大負荷状態からの減速ではないので、ステップ1407に進み、最大負荷状態の仮継続フラグNLFを1にすると共に、最大負荷状態から通常負荷状態になった後の時間をカウントする時間カウンタTCの値を0にしてこのルーチンを終了する。
一方、ステップ1401において最大負荷状態の減速フラグMLDFが1であると判定した場合は前回が最大負荷状態の減速であるので、このフラグは0にすることなくステップ1402に進み、最大負荷状態から通常負荷状態になった後の時間をカウントする時間カウンタTCの値を1だけ増大し、次のステップ1403でこの時間カウンタTCの値が所定時間TLを越えたか否かを判定する。
最大負荷状態から通常負荷状態になった後の時間TCが所定時間TLを越えた場合は、最大負荷状態の終了と判定してステップ1407に進み、前述の動作を実行する。一方、ステップ1403で最大負荷状態から通常負荷状態になった後の時間TCが所定時間TL以下と判定した場合はステップ1404に進み、アクセル開度が前回値よりも大きいか否かを判定して現在の状況が減速中のままか、或いは加速中かを判定する。ステップ1404の判定が減速中の場合はステップ1302に進むが、加速中の場合はステップ1405に進み、アイドルオンしたか否かを判定する。このアイドルオンしたか否かは、減速の後にアクセル開度がアイドル状態となり、アイドルスイッチがオンした状態があったか否かを判定するものである。
ステップ1405において、アイドルオンしていないと判定した時はステップ1302に進むが、ステップ1405でアイドルオンしたと判定した場合はステップ1406に進み、最大負荷状態の仮継続フラグNLFを0にした後にステップ1302に進む。以上のルーチンで、今回のアクセル開度が最大負荷状態でない状況が一時的な最大負荷状態からの減速であるのか、あるいは、通常の負荷状態であるのかを判定する。
以上のような処理により、第4の実施例では、アクセル開度が項負荷領域で何度も減速と加速を繰り返すようなエンジン制御を運転者が行った場合には、アクセル開度が基準値を越えた範囲で減速から加速になる回数に応じて仮アクセル開度値変更係数KAOCの値を次第に小さくして行き、アクセル開度がアイドル状態になった時に、アクセル開度に乗算してアクセル開度2を計算する本アクセル開度値変更係数AOCの値を仮アクセル開度値変更係数KAOCの値で置き換える。
この結果、アクセル開度が基準値を越えた範囲で、何度も減速と加速とを繰り返すようなエンジン制御を運転者が長時間に渡って行った場合には、アクセル開度とスロットル開度との関係が1対1に近づくので、最大負荷領域におけるアクセルの応答性が向上する。
なお、第4の実施例では、アクセル開度がアイドル状態になった時に、本アクセル開度値変更係数AOCの値をその時の仮アクセル開度値変更係数KAOCの値で置き換えるようにしたが、アクセル開度がアイドル状態まで至らなくても、アイドル状態に近づいた状態に至った場合にも、本アクセル開度値変更係数AOCの値をその時の仮アクセル開度値変更係数KAOCの値で置き換えるようにしても良い。
また、この制御は、前述の第1の実施例や第2の実施例と組み合わせ、最大負荷領域における減速と加速時に、エンジン出力の何らかの方法で低減、或いは増大してやれば、最大負荷領域におけるアクセルの応答性が向上する。
[第5の実施例](第3の形態)
以上説明した第1から第4の実施例は、アクセル開度が基準値を越えた領域におけるエンジンのトルク制御であった。しかしながら、エンジンの中には、図16(a)に示すように、アクセル開度に対してスロットル開度が変化しない領域をアクセル開度が非常に小さい領域に持つものがある。即ち、アクセルペダルの踏込み量が小さい領域(以後、小負荷領域という)においても、スロットル開度を変化させない領域が設けられているエンジンがある。このようなエンジンに対しては、図16(b)に示すように運転者がアクセルペダルを急に踏み込んだ場合は、スロットル開度が立ち上がる迄の時間tsが短いので特に問題はないが、図16(b)に示すように、運転者がアクセルペダルを小負荷領域で長い時間操作した場合には、スロットル開度が0のままであるので、運転者はエンジンの感度が鈍いと感じてしまう。
そこで、本発明では、前述の第1から第4の実施例で説明したエンジンのトルク制御を、アクセル開度が小さい小負荷領域でも適用することにより、小負荷領域におけるエンジン感度の鈍さを運転者が感じないようにした例を、第5の実施例として説明する。
図17は、本発明の第5の実施例の制御を、実際に図1に示したECU10が行う場合の制御の手順をフローチャートで示したものである。このフローチャートに示す制御手順は、所定時間毎に実行される。
ステップ1701ではアクセル開度の読込みを行う。そして、続くステップ1702においてアクセル開度が基準値R未満であるか否かを判定する。この判定でアクセル開度が基準値R未満であると判定した場合はステップ1703に進み、後述するエンジン出力微増フラグを0にすると共に、ステップ1701で読み込んだアクセル開度に応じた出力増大係数A(>1)を算出してこのルーチンを終了する。アクセル開度に応じたエンジン出力増大係数Aはマップの形で図1のROM103に記憶させておけば良い。
一方、ステップ1702で、アクセル開度が基準値R以上と判定した場合はステップ1704に進みアクセル開度が所定開度、例えば、アクセル開度が図16(a)に示した開度1以上であるか否かを判定する。この所定開度は、この開度まで、スロットル弁以外の手段によってエンジン出力を増大させる開度のことである。アクセル開度が基準値R以上且つ所定開度(ここでは1)未満の領域を、この実施例ではエンジン出力微増領域とし、アクセル開度がエンジン出力微増領域にある時にエンジン出力微増フラグを1とする。
ステップ1704でアクセル開度が基準値R以上且つ1未満と判定した場合はステップ1705に進み、エンジン出力微増フラグを1にすると共に、ステップ1701で読み込んだアクセル開度に応じたエンジン出力微増係数B(>1)を算出してこのルーチンを終了する。アクセル開度に応じたエンジン出力微増係数Bもマップの形で図1のROM103に記憶させておけば良い。一方、ステップ1704で、アクセル開度が1以上と判定した場合はステップ1706に進み、エンジン出力微増フラグを0にすると共に、エンジン出力増大係数Aとエンジン出力増大係数Bの値を共に1にしてこのルーチンを終了する。
図18は、本発明の第5の実施例におけるエンジン出力の増減制御を示すフローチャートであり、この制御も所定時間毎に実行される。この実施例では、図1に示した点火プラグ16の点火時間を、エンジンの運転状態に応じて計算された値に対して増減することにより、エンジンの出力を増減するようにしている。
ステップ1801では点火時間の読込みを行う。この点火時間はエンジンの運転状態(吸気圧、エンジン回転数、水温、空燃比、エンジン負荷等)に応じてECU10が演算によって求めた現在の点火時間の値である。そして、続くステップ1802ではエンジン出力微増フラグの値が0か否かを判定する。ステップ1802でエンジン出力微増フラグの値が0であると判定した場合、即ち、アクセル開度が基準値R未満、又は開度1以上の場合、はステップ1803に進む。ステップ1803では、点火時間に出力増大係数Aを乗算してこのルーチンを終了する。この出力増大係数Aは、アクセル開度が基準値R未満の時は、ステップ1703において算出された正の値であり、アクセル開度が1以上の時はステップ1706で算出された1である。従って、アクセル開度が基準値R未満の所定値の時には点火時間が増大され、アクセル開度が1以上の時には点火時間は増大されずそのままの値となる。この結果、アクセル開度が基準値R未満の領域では、エンジンの出力がアクセルペダルの踏み込み量に応じて増減する。
一方、ステップ1802でエンジン出力微増フラグの値が1であると判定した場合、即ち、アクセル開度がR以上且つ1未満の場合、はステップ1804に進む。ステップ1804では、ステップ1801で読み込んだ点火時間に出力微増係数B(>1)を乗算してこのルーチンを終了する。この結果、アクセル開度がR以上且つ1未満の場合は、エンジンの出力が微増する。
この実施例では、エンジン出力をスロットル弁の開閉以外に増減させる方法として、点火時間の増減を示したが、エンジン出力をスロットル弁の開閉以外に増減させる他の方法としては、前述の実施例で説明した、点火時期の進角と遅角、EGR量の増減、及び燃料噴射量の増減や、ISC(アイドルスピードコントロール)弁の制御等がある。
図19は図17,18の制御手順により、運転者がアクセル開度が基準値Rよりも小さい小負荷領域でアクセル開度を時刻J0からJ5の間で変化させ、その後に踏み込んだ場合のアクセル開度、スロットル開度、及びエンジン出力の推移を時間と共に示すタイムチャートである。
図19には、運転者が、時刻J0〜J1の間でアクセル開度を基準値Rを越えない範囲で増大させ、その後時刻J2までアクセル開度を減少させ、時刻J2〜J3の間でアクセル開度を基準値Rを越えない範囲で増大させ、その後時刻J4までアクセル開度を減少させた後に、急にアクセル開度を増大させた情況が示してある。ここで、時刻J0から時刻J5までが小負荷領域、時刻J5〜J6までがエンジン出力微増領域である。
図19に示すようなアクセル操作を運転者が行った場合、スロットル開度はアクセル開度が基準値Rを越える時刻J5までは0であり、その後、アクセル開度の増大と共に増大する。また、エンジン出力は、時刻J0ではアイドルトルクであり、時刻J0〜時刻J5までは、アクセル開度の増減により、スロットル弁以外の手段によって増減し、時刻J5から時刻J6までは、時刻J5におけるエンジン出力が、時刻J5以降のスロットル弁の開弁によるエンジン出力の増大にショック無くつながるように、スロットル弁の開弁によるエンジン出力を微増し、この微増量が時刻J5で0になるように制御している。
この結果、第5の実施例では、アクセル開度に小負荷領域でスロットル開度を増大させない遊び領域が設けられているエンジンにおいても、運転者による小負荷領域のアクセルペダル操作にエンジン出力が追従するので、低負荷領域において運転者がエンジン感度が鈍いと感じることがなくなる。
なお、第5の実施例の変形例として、前述のトルク制御方法以外にも、図20に示すように、小負荷領域でアクセルペダルの踏込み量に変化がある場合に、詳しい説明は省略するが、アクセル開度とエンジン出力の関係を、前述のスロットル弁によるトルク増減以外の方法で、図20に示す特性、或いは、図21に示す特性のように変更することも可能である。なお、図20と図21に示す、破線の特性、一点鎖線の特性、及び二点鎖線の特性は、それぞれ、小負荷領域における運転者のアクセルペダルの踏込み量の変化が大きい場合、中程度の場合、及び小程度の場合の特性を示すものである。