JP2004003397A - Arrangement for controlling torque of internal combustion engine - Google Patents

Arrangement for controlling torque of internal combustion engine Download PDF

Info

Publication number
JP2004003397A
JP2004003397A JP2002160626A JP2002160626A JP2004003397A JP 2004003397 A JP2004003397 A JP 2004003397A JP 2002160626 A JP2002160626 A JP 2002160626A JP 2002160626 A JP2002160626 A JP 2002160626A JP 2004003397 A JP2004003397 A JP 2004003397A
Authority
JP
Japan
Prior art keywords
torque
cut
sequential
fuel injection
ignition timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002160626A
Other languages
Japanese (ja)
Other versions
JP4082096B2 (en
Inventor
Hidehiko Asakuma
朝熊 英彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2002160626A priority Critical patent/JP4082096B2/en
Priority to DE2003124589 priority patent/DE10324589A1/en
Publication of JP2004003397A publication Critical patent/JP2004003397A/en
Application granted granted Critical
Publication of JP4082096B2 publication Critical patent/JP4082096B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/008Controlling each cylinder individually
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D37/00Non-electrical conjoint control of two or more functions of engines, not otherwise provided for
    • F02D37/02Non-electrical conjoint control of two or more functions of engines, not otherwise provided for one of the functions being ignition
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P5/00Advancing or retarding ignition; Control therefor
    • F02P5/04Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
    • F02P5/145Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
    • F02P5/15Digital data processing
    • F02P5/1502Digital data processing using one central computing unit
    • F02P5/1506Digital data processing using one central computing unit with particular means during starting
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2200/00Input parameters for engine control
    • F02D2200/02Input parameters for engine control the parameters being related to the engine
    • F02D2200/10Parameters related to the engine output, e.g. engine torque or engine speed
    • F02D2200/1002Output torque
    • F02D2200/1004Estimation of the output torque
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2250/00Engine control related to specific problems or objectives
    • F02D2250/12Timing of calculation, i.e. specific timing aspects when calculation or updating of engine parameter is performed
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/009Electrical control of supply of combustible mixture or its constituents using means for generating position or synchronisation signals
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/04Introducing corrections for particular operating conditions
    • F02D41/12Introducing corrections for particular operating conditions for deceleration
    • F02D41/123Introducing corrections for particular operating conditions for deceleration the fuel injection being cut-off
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Electrical Control Of Ignition Timing (AREA)
  • Output Control And Ontrol Of Special Type Engine (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable a stable torque control to be performed in a mode which gives priority to the stability of a torque control even when ignition timing is computed to timing which was late for calculation of a fuel oil consumption. <P>SOLUTION: In response mode which gives priority to the response of the torque control, the fuel oil consumption is computed based on the condition torque newest to the fuel oil consumption calculation timing, and the response of the torque control is raised by computing an ignition timing based on the indication torque newest to subsequent ignition timing calculation timing. On the other hand, in a stability mode which gives priority to the stability of the torque control, the fuel oil consumption is computed based on the latest indication torque under the fuel oil consumption calculation timing, and the stability of the torque control is raised by computing the ignition timing based on the former indication torque (indication torque in the fuel oil consumption calculation timing in front of for example) to subsequent ignition timing calculation timing. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、内燃機関の指示トルクに基づいて燃料噴射量(例えば燃料カットの有無)や点火時期を制御する内燃機関のトルク制御装置に関するものである。
【0002】
【従来の技術】
近年の自動車においては、例えば特許第3211512号公報に示すように、駆動輪の空転(スリップ)を防止するトラクション制御等を行う際に、エンジンの出力トルクが指示トルクになるように各気筒の燃料噴射量(例えば燃料カットの有無)や点火時期を制御する「トルク制御」を行うようにしたものがある。
【0003】
【発明が解決しようとする課題】
今日の最も一般的な内燃機関である吸気ポート噴射式のエンジンでは、燃料噴射弁から噴射した燃料を吸気行程終了までに筒内に吸入させるために、図3に示すように、遅くとも吸気行程前半までに燃料噴射を終了し(通常はバルブオーバーラップ期間での吹き抜けを防止するために排気行程以前に燃料噴射を終了し)、圧縮行程で点火プラグの通電を開始して圧縮上死点付近で点火することで混合気を燃焼(爆発)させるようにしている。このため、燃料噴射開始から点火プラグ通電開始までには、例えば360〜720°CA程度の遅れが生じる。
【0004】
従って、指示トルクの変化に対して応答性の良いトルク制御を行うためには、燃料噴射量算出タイミングと点火時期算出タイミングを、それぞれ燃料噴射開始時期と点火プラグ通電開始時期の直前に設定し、図4(a)に示すように、燃料噴射量算出タイミングで、その時点の最新の指示トルクに基づいて燃料噴射量を算出し、その後(例えば360〜720°CA経過後)の点火時期算出タイミングで、その時点の最新の指示トルクに基づいて点火時期を算出することが考えられる。
【0005】
しかし、このトルク制御方法では、図4(a)に示すように、指示トルクが変化していると、燃料噴射量算出に用いる指示トルク値と点火時期算出に用いる指示トルク値とが異なってくるため、その変化量が大きいと、以下に説明する例のように指示トルクに対する出力トルクの変動が大きくなって不安定なトルク制御になってしまうおそれがある。
【0006】
例えば、図4(a)に実線で示すように、ある気筒において燃料噴射量算出タイミングでの指示トルクでは燃料カットが不要であったが、その後の点火時期算出タイミングでは指示トルクが低下していて、点火遅角では実現できないほど低い指示トルクになっていると、この気筒の爆発行程で得られるトルクは点火時期算出タイミングにおける指示トルクより大きくなってしまう。また、図4(a)に二点鎖線で示すように、燃料カット中の気筒において燃料噴射量算出タイミングでの指示トルクでは燃料復帰(燃料噴射の再開)が不要であったが、その後の点火時期算出タイミングでは指示トルクが上昇していて、指示トルク実現のために燃料復帰が必要になっていても、既に手遅れとなって燃料復帰が行えず、この気筒の爆発行程で得られるトルクが点火時期算出タイミングにおける指示トルクより小さくなってしまう。
【0007】
また、内燃機関の燃料カットや燃料復帰(燃料噴射の再開)の際のトルクショックを低減するために、内燃機関の燃料カット気筒数を増加させる際に各気筒の通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で燃料噴射をカットしていくシーケンシャルカットや、内燃機関の燃料カット気筒数を減少させる際に各気筒の通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で燃料噴射を再開していくシーケンシャル復帰を行うようにしたものがある。
【0008】
従来、このようなシーケンシャルカット(又はシーケンシャル復帰)を行う場合に、初回の燃料カット気筒(又は燃料復帰気筒)に応じてマップ等により以降の燃料カット気筒(又は燃料復帰気筒)を設定したり、或は、クランク角を積算して次の燃料カット気筒(又は燃料復帰気筒)を判定したりするようにしたものがある。しかし、このような制御方法では、指示トルクに応じて燃料カット気筒(又は燃料復帰気筒)を制御しているわけではないため、指示トルクを精度良く反映したシーケンシャルカット(又はシーケンシャル復帰)を行うことができない。
【0009】
本発明はこれらの事情を考慮してなされたものであり、第1の目的は、燃料噴射量の算出から遅れたタイミングで点火時期を算出する場合でも、安定したトルク制御を行うことができるようにすることであり、また、第2の目的は、指示トルクを精度良く反映したシーケンシャルカット又はシーケンシャル復帰を行うことができるようにすることである。
【0010】
【課題を解決するための手段】
上記第1の目的を達成するために、本発明の請求項1の内燃機関のトルク制御装置は、所定の指示トルク算出タイミング毎に指示トルクを指示トルク算出手段で算出して、所定の燃料噴射量算出タイミング毎に指示トルクに基づいて燃料噴射量を燃料噴射量算出手段で算出し、その燃料噴射量算出タイミングよりも遅れた所定の点火時期算出タイミング毎に指示トルクに基づいて点火時期を点火時期算出手段で算出する。そして、トルク制御の安定性を優先するスタビリティモード運転中に点火時期を算出する際には、その点火時期算出タイミングにおける指示トルクよりも前に算出された過去の指示トルクに基づいて点火時期を算出するようにしたものである。
【0011】
燃料噴射量算出タイミングよりも遅れた点火時期算出タイミングで点火時期を算出する際に、過去の指示トルクを用いれば、燃料噴射量算出に用いる指示トルクと点火時期算出に用いる指示トルクとの偏差を小さくすることができるため、指示トルクに対する出力トルクの変動を小さくすることができ、トルク制御の安定性を向上させることができる。従って、トルク制御の安定性を優先するスタビリティモード運転中に、過去の指示トルクに基づいて点火時期を算出するようにすれば、燃料噴射量算出タイミングよりも遅れた点火時期算出タイミングで点火時期を算出する場合でも、安定したトルク制御を実現することができる。
【0012】
この場合、請求項2のように、スタビリティモード運転中に点火時期を算出する際に、過去の指示トルクとして直前の燃料噴射量算出タイミングにおける指示トルクを用いるようにすると良い。このようにすれば、同じ指示トルク(燃料噴射量算出タイミングにおける指示トルク)に基づいて燃料噴射量と点火時期を算出することができるので、より安定したトルク制御を実現することができる。
【0013】
ところで、過去の指示トルクに基づいて点火時期を算出すると、トルク制御の応答性が低下するおそれがある。この対策として、請求項3のように、スタビリティモード運転中に将来回転速度予測手段で予測した将来回転速度に基づいて指示トルクを算出するようにしても良い。このようにすれば、内燃機関の将来の回転速度の挙動を考慮に入れた指示トルクを算出することができるので、過去の指示トルクに基づいて点火時期を算出する場合でも、トルク制御の応答性を向上することができる。
【0014】
この場合、将来回転速度は、内燃機関の軸トルクを積分して求めることができるが、積分を用いると、制御装置の演算負荷が大きくなる。
【0015】
そこで、請求項4のように、内燃機関の回転速度を回転速度検出手段で検出すると共に、内燃機関の吸入空気量に基づいて軸トルクを軸トルク算出手段で算出し、回転速度検出手段で検出した回転速度と、軸トルク算出手段で算出した軸トルクとに基づいて将来回転速度を算出するようにしても良い。軸トルクの挙動によって回転速度のその後の挙動が決まってくるため、回転速度検出手段で検出した回転速度と軸トルクとを用いれば、最新の回転速度を基にして将来回転速度を精度良く算出することができると共に、積分が不要になり、制御装置の演算負荷を小さくすることができる。
【0016】
一方、請求項5のように、トルク制御の応答性を優先するレスポンスモード運転中に点火時期を算出する際には、その点火時期算出タイミングにおける指示トルクに基づいて点火時期を算出するようにすると良い。このようにすれば、トルク制御の応答性を優先するレスポンスモードでは、点火時期を算出する際に、最新の指示トルクに基づいて点火時期を算出することができ、応答性の良いトルク制御を行うことができる。
【0017】
ここで、レスポンスモードとスタビリティモードとを切り換える際に、それに伴って点火時期算出に用いる指示トルクを、最新の指示トルクと過去の指示トルクとの間で瞬時に切り換えると、その変化量が大きい場合には、点火時期算出に用いる指示トルクが急変するため、出力トルクが急変してドライバビリティに悪影響を及ぼす可能性がある。
【0018】
この対策として、請求項6のように、レスポンスモードとスタビリティモードとを切り換える際に、点火時期算出に用いる指示トルクを指示トルク徐変手段により徐々に変化させるようにしても良い。このようにすれば、レスポンスモードとスタビリティモードとを切り換える際に、点火時期算出に用いる指示トルクが急変することを防止することができ、出力トルクの急変を防止してドライバビリティの悪化を防止することができる。
【0019】
また、各気筒の通常の燃料噴射順序に対して所定気筒数ずつ飛ばした順序で燃料噴射をカット又は再開していくシーケンシャルカット又はシーケンシャル復帰を行う場合には、請求項7、8のように、シーケンシャル制御手段によって、全気筒で燃料噴射した場合の出力トルクに対する指示トルクの割合であるトルク発生率を所定周期で所定変化量ずつ変化させ、そのトルク発生率に応じて燃料カット気筒数を変化させることでシーケンシャルカット又はシーケンシャル復帰を実行するようにすると良い。
【0020】
トルク発生率は、直接、燃料カット気筒数と対応させることができる。例えば、全気筒数が5気筒の内燃機関では、トルク発生率が0.8(=4/5)の場合は1気筒だけ燃料カットすれば良い。この点に着目して、トルク発生率を所定周期で所定変化量ずつ減少(又は増加)させれば、シーケンシャルカット(又はシーケンシャル復帰)となるような割合でトルク発生率を減少(又は増加)させることができ、このように変化させたトルク発生率に応じて燃料カット気筒数を増加(又は減少)させれば、シーケンシャルカット(又はシーケンシャル復帰)を行うことができる。これにより、指示トルク(トルク発生率)を精度良く反映したシーケンシャルカットやシーケンシャル復帰を実現することができる。
【0021】
この場合、請求項9のように、全気筒数がY気筒(但しYは3以上の整数)の内燃機関で各気筒の通常の燃料噴射順序に対してnサイクル(但しnは0以上の整数)おきにX気筒(但しXは1以上の整数)ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行する場合には、トルク発生率を変化させる際の所定周期を内燃機関の通常の点火間隔(=720℃A/Y)に設定し、所定変化量を1/Y/(X+1+n×Y)に設定すると良い。
【0022】
例えば、全気筒数が5気筒の内燃機関で各気筒の通常の燃料噴射順序に対して0サイクルおきに(1サイクル毎に)1気筒ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行する場合には、Y=5、n=0、X=1を1/Y/(X+1+n×Y)に代入して、所定変化量を1/5/(1+1+0×5)=0.1に設定する。この場合、1点火毎にトルク発生率を0.1ずつ減少又は増加させることができるので、2点火毎に(つまり、通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で)、トルク発生率を0.2(つまり、5気筒の内燃機関の1気筒分の燃料カット又は燃料復帰に相当するトルク発生率)ずつ減少又は増加させることができる。これにより、5気筒の内燃機関で各気筒の通常の燃料噴射順序に対して1気筒ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行することができる。
【0023】
ところで、シーケンシャルカット又はシーケンシャル復帰となるようにトルク発生率を定率で(所定周期で所定変化量づつ)変化させても、燃料噴射量算出タイミング(つまり、トルク発生率に応じて燃料カット又は燃料復帰を決定するタイミング)が変化すると、燃料噴射量算出タイミング毎に受信するトルク発生率の変化が定率でなくなる場合があるため、燃料カット順序や燃料復帰順序が乱れてしまうおそれがある。また、燃料噴射時期が固定されていないと、事前に燃料カット又は燃料復帰が間に合うか否かを判定するのが困難になり、次に燃料カット又は燃料復帰する気筒を特定しにくくなる。
【0024】
この対策として、請求項10のように、シーケンシャルカット及び/又はシーケンシャル復帰の実行中に燃料噴射量算出タイミングと燃料噴射時期を固定するようにしても良い。燃料噴射量算出タイミングを固定すれば、燃料噴射量算出タイミング毎に受信するトルク発生率の変化を定率にすることができるので、燃料カット順序や燃料復帰順序の乱れを防止することができ、所定通りの順序でシーケンシャルカットやシーケンシャル復帰を実行することができる。また、燃料噴射時期を固定すれば、事前に燃料カット又は燃料復帰が間に合う気筒を容易に判定することができ、次に燃料カット又は燃料復帰する気筒を容易に特定することができる。
【0025】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。まず、図1に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば5気筒のエンジン11は、第1気筒(#1)〜第5気筒(#5)の5つの気筒を有し、このエンジン11の吸気管12の最上流部には、エアクリーナ13が設けられ、このエアクリーナ13の下流側に、吸入空気量を検出するエアフローメータ14が設けられている。このエアフローメータ14の下流側には、スロットルバルブ15が設けられ、このスロットルバルブ15の開度(スロットル開度)がスロットル開度センサ16によって検出される。
【0026】
また、スロットルバルブ15の下流側には、サージタンク17が設けられ、このサージタンク17に、吸気管圧力を検出する吸気管圧力センサ18が設けられている。また、サージタンク17には、エンジン11の各気筒に空気を導入する吸気マニホールド19が設けられ、各気筒の吸気マニホールド19の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁20が取り付けられている。
【0027】
エンジン11のシリンダヘッドには、各気筒毎に点火プラグ21が取り付けられ、各点火プラグ21の火花放電によって筒内の混合気に着火される。更に、エンジン11のシリンダブロックには、冷却水温を検出する冷却水温センサ22や、エンジン回転速度を検出するクランク角センサ23(回転速度検出手段)が取り付けられている。
【0028】
一方、エンジン11の排気管24には、排出ガス中のCO,HC,NOx等を浄化する三元触媒等の触媒25が設けられ、この触媒25の上流側に、排出ガスの空燃比又はリーン/リッチ等を検出する排出ガスセンサ26(空燃比センサ、酸素センサ等)が設けられている。
【0029】
前述した各種センサの出力は、エンジン制御回路(以下「ECU」と表記する)27に入力される。このECU27は、マイクロコンピュータを主体として構成され、内蔵されたROM(記憶媒体)に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁20の燃料噴射量や点火プラグ21の点火時期を制御する。
【0030】
また、ECU27は、駆動輪の空転(スリップ)を防止するトラクション制御や減速時燃料カット等を行う際に、後述する図12乃至図25のトルク制御用の各プログラムを実行することで、エンジン11の出力トルクが指示トルクになるように、各気筒の燃料カットや燃料復帰(燃料噴射の再開)を制御すると共に、各気筒の点火時期を制御する「トルク制御」を行う。
【0031】
以下、ECU27が実行するトルク制御の概要を説明する。
ECU27は、トルク制御を行う際には、運転条件に基づいてシーケンシャルカットモード、シーケンシャル復帰モード、全気筒カットモード、全気筒復帰モードの中から1つのモードを選択する。
【0032】
図2に示すように、シーケンシャルカットモードでは、エンジン11の燃料カット気筒数を増加させる際に各気筒の通常の燃料噴射順序(#1→#2→#4→#5→#3)に対して所定気筒数(例えば1気筒)ずつ飛ばした順序(図2では#3→#2→#5→#1→#4)で燃料噴射をカットしていくシーケンシャルカットを実行する。また、シーケンシャル復帰モードでは、エンジン11の燃料カット気筒数を減少させる際に各気筒の通常の燃料噴射順序に対して所定気筒数(例えば1気筒)ずつ飛ばした順序(図2では#5→#1→#4→#3→#2)で燃料噴射を再開していくシーケンシャル復帰を実行する。本実施形態では、このシーケンシャルカットモードとシーケンシャル復帰モードを、トルク制御の安定性を優先するスタビリティモードとする。
【0033】
一方、全気筒カットモードでは、各気筒の通常の燃料噴射順序で燃料噴射をカットして全気筒の燃料噴射をカットする全気筒カットを実行する。また、全気筒復帰モードでは、各気筒の通常の燃料噴射順序で燃料噴射を再開して全気筒の燃料噴射を再開する全気筒復帰を実行する。本実施形態では、この全気筒カットモードと全気筒復帰モードを、トルク制御の応答性を優先するレスポンスモードとする。
【0034】
図3に示すように、一般に、燃料噴射開始から点火プラグ通電開始までには、例えば360〜720°CAの遅れがある。従って、ECU27は、レスポンスモード(全気筒カットモードと全気筒復帰モード)運転中に、指示トルクの変化に対して応答性の良いトルク制御を行うために、燃料噴射量算出タイミングと点火時期算出タイミングを、それぞれ燃料噴射開始時期と点火プラグ通電開始時期の直前に設定し、図4(a)に示すように、燃料噴射量算出タイミングで、その時点の最新の指示トルクに基づいて燃料噴射量を算出し、その後の点火時期算出タイミングで、その時点の最新の指示トルクに基づいて点火時期を算出する。
【0035】
しかし、このレスポンスモード運転中のトルク制御方法では、図4(a)に示すように、指示トルクが変化していると、燃料噴射量算出に用いる指示トルク値と点火時期算出に用いる指示トルク値とが異なってくるため、その変化量が大きいと、指示トルクに対する出力トルクの変動が大きくなって不安定なトルク制御になるおそれがある。従って、スタビリティモード(シーケンシャルカットモードとシーケンシャル復帰モード)運転中に、レスポンスモードと同じように、燃料噴射量の算出時と点火時期の算出時に、それぞれ最新の指示トルクを用いるようにすると、トルク制御の安定性を優先するスタビリティモードであるにも拘らず、不安定なトルク制御になってしまうおそれがある。
【0036】
そこで、ECU27は、スタビリティモード運転中には、図4(b)に示すように、燃料噴射量算出タイミングで、その時点の最新の指示トルクに基づいて燃料噴射量を算出し、その後の点火時期算出タイミングでは、その点火時期算出タイミングにおける指示トルクよりも前に算出された過去の指示トルク(例えば、直前の燃料噴射量算出タイミングにおける指示トルク)に基づいて点火時期を算出する。これにより、燃料噴射量算出に用いる指示トルクと点火時期算出に用いる指示トルクとの偏差を小さく(又は0に)して、指示トルクに対する出力トルクの変動を小さくし、トルク制御の安定性を向上させる。
【0037】
ところで、上述したように、スタビリティモード運転中は、過去の指示トルクに基づいて点火時期を算出するため、トルク制御の応答性が低下するおそれがある。この対策として、ECU27は、スタビリティモード運転中に、エンジン11の将来の回転速度を予測し、その将来回転速度に基づいて指示トルクを算出することで、過去の指示トルクに基づいて点火時期を算出する場合でも、トルク制御の応答性を向上させる。
【0038】
将来回転速度は、次のようにして求める。図5に示すように、所定周期(例えば360℃A周期)でクランク角センサ23によりエンジン回転速度Neを検出すると共に、気筒別推定軸トルクTを算出する。この気筒別推定軸トルクTの算出方法は、エアフローメータ14で検出した実吸入空気量に基づいて推定軸トルクT0を算出し、この推定軸トルクT0に点火時期効率と燃料噴射の有無(1又は0)とを乗算して気筒別推定軸トルクTを求める。
T=T0×点火時期効率×燃料噴射の有無(1又は0)
【0039】
スタビリティモード(シーケンシャルカットモードとシーケンシャル復帰モード)は、エンジン11に連結されている駆動伝達系(ギアやクラッチ)の状態が安定しているとき(例えば減速時燃料カット運転)で選択されるため、気筒別推定軸トルクTの挙動によってその後の回転速度Neの挙動がほぼ決まってくる。このため、気筒別推定軸トルクTの変動量と回転速度Neの変動量との関係を次式のように表すことができる。
{Ne(i)−Ne(i−1)}/{T(i−1)−T(i−2)}={ENe−Ne(i)}/{T(i)−T(i−1)}
【0040】
ここで、Ne(i−1)は1回前(例えば360℃A前)の回転速度、Ne(i)は今回の回転速度、ENeは次回(例えば360℃A後)の将来回転速度であり、T(i−2)は2回前(例えば720℃A前)の気筒別推定軸トルク、T(i−1)は1回前(例えば360℃A前)の気筒別推定軸トルク、T(i)は今回の気筒別推定軸トルクである。
【0041】
上式を将来回転速度ENeについて解くことで、次の(1)式を得ることができる。
ENe={T(i)−T(i−1)}/{T(i−1)−T(i−2)}×{Ne(i)−Ne(i−1)}+Ne(i)……(1)
【0042】
ECU27は、上記(1)式によりエンジン回転速度Neと気筒別推定軸トルクTを用いて将来回転速度ENeを算出し、スタビリティモード運転中に、その将来回転速度ENeに基づいて指示トルクを算出する。
【0043】
また、上述したように、レスポンスモードでは、最新の指示トルクに基づいて点火時期を算出するが、スタビリティモードでは、過去の指示トルクに基づいて点火時期を算出する。このため、図6に示すように、レスポンスモードとスタビリティモードとを切り換える際に、それに伴って点火時期算出に用いる指示トルクを、最新の指示トルクと過去の指示トルク(例えば3点火前の指示トルク)との間で瞬時に切り換えると、その変化量が大きい場合には、点火時期算出に用いる指示トルクが急変するため、出力トルクが急変してドライバビリティに悪影響を及ぼす可能性がある。
【0044】
この対策として、ECU27は、図7に示すように、レスポンスモードとスタビリティモードとを切り換える際に、点火時期算出に用いる指示トルクを徐々に変化させるスムージング処理を実行することで、点火時期算出に用いる指示トルクの急変を防止して、出力トルクの急変を防止する。
【0045】
以下、レスポンスモードでは、最新の指示トルクRT(i)に基づいて点火時期を算出し、スタビリティモードでは、そのn点火前(例えば3点火前)の指示トルクRT(i−n)に基づいて点火時期を算出する場合について説明する。
【0046】
図7に示すように、レスポンスモードでは、スムージングカウンタのカウンタ値Sを最大値Smax(例えば4)に維持し、レスポンスモードからスタビリティモードに切り換える際には、通常の点火間隔毎にスムージングカウンタのカウンタ値Sを「1」ずつデクリメントして、最大値Smaxから0まで減少させる。一方、スタビリティモードでは、スムージングカウンタのカウンタ値Sを0に維持し、スタビリティモードからレスポンスモードに切り換える際には、通常の点火間隔毎にスムージングカウンタのカウンタ値Sを「1」ずつインクリメントして、0から最大値Smaxまで増加させる。
【0047】
そして、点火時期算出に用いる指示トルク rRTを次式により算出する。
rRT=RT(i−n)+{RT(i)−RT(i−n)}×S/Smax……(2)
レスポンスモードでは、スムージングカウンタのカウンタ値Sを最大値Smaxに維持するため、上記(2)式により、点火時期算出に用いる指示トルク rRTが最新の指示トルクRT(i)に維持される。
【0048】
また、レスポンスモードからスタビリティモードに切り換える際には、スムージングカウンタのカウンタ値Sを最大値Smaxから0まで「1」ずつデクリメントするため、上記(2)式により、点火時期算出に用いる指示トルク rRTが、最新の指示トルクRT(i)からn点火前の指示トルクRT(i−n)まで徐々に変化する。
【0049】
一方、スタビリティモードでは、スムージングカウンタのカウンタ値Sを0に維持するため、上記(2)式により、点火時期算出に用いる指示トルク rRTがn点火前の指示トルクRT(i−n)に維持される。
【0050】
また、スタビリティモードからレスポンスモードに切り換える際には、スムージングカウンタのカウンタ値Sを0から最大値Smaxまで「1」ずつインクリメントするため、上記(2)式により、点火時期算出に用いる指示トルク rRTがn点火前の指示トルクRT(i−n)から最新の指示トルクRT(i)まで徐々に変化する。
【0051】
尚、上記(2)式は必ずしも全モードで用いる必要はなく、レスポンスモードからスタビリティモードに切り換える際と、スタビリティモードからレスポンスモードに切り換える際のうちの少なくとも一方で用いるようにしても良い。
【0052】
次に、各気筒の通常の燃料噴射順序に対して所定気筒数ずつ飛ばした順序で燃料噴射をカット又は再開していくシーケンシャルカット又はシーケンシャル復帰について説明する。
【0053】
指示トルクそのものではなく、トルク発生率(全気筒で燃料噴射した場合の出力トルクに対する指示トルクの割合)であれば、直接、燃料カット気筒数と対応させることができる。例えば、全気筒数が5気筒のエンジン11では、トルク発生率が0.8(=4/5)の場合は1気筒だけ燃料カットすれば良い。
【0054】
そこで、ECU27は、トルク発生率を定率で(所定周期で所定変化量ずつ)減少又は増加させ、そのトルク発生率に応じて燃料カット気筒数を増加又は減少させることで、指示トルク(トルク発生率)を精度良く反映したシーケンシャルカット又はシーケンシャル復帰を実現する。
【0055】
トルク発生率を定率で変化させる際の所定周期と所定変化量(以下「トルク発生率変化量」という)は、次のようにして設定する。全気筒数がY気筒(但しYは3以上の整数)のエンジン11で各気筒の通常の燃料噴射順序に対してnサイクル(但しnは0以上の整数)おきにX気筒(但しXは1以上の整数)ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行する場合には、トルク発生率を変化させる際の所定周期を、エンジン11の通常の点火間隔(=720℃A/Y)に設定し、トルク発生率変化量ΔTCRを次の(3)式により設定する。
ΔTCR=1/Y/(X+1+n×Y)……(3)
【0056】
従って、シーケンシャルカットモードでは、通常の点火間隔毎にトルク発生率TCRateを次式によりトルク発生率変化量ΔTCR=1/Y/(X+1+n×Y)ずつ減少させる。
TCRate(i)=TCRate(i−1)−1/Y/(X+1+n×Y)
【0057】
一方、シーケンシャル復帰モードでは、通常の点火間隔毎にトルク発生率TCRateを次式によりトルク発生率変化量ΔTCR=1/Y/(X+1+n×Y)ずつ増加させる。
TCRate(i)=TCRate(i−1)+1/Y/(X+1+n×Y)
【0058】
以下、全気筒数が5気筒のエンジン11の場合について説明する。
5気筒のエンジン11では、燃料カット気筒数が1気筒だけ増加する毎に出力トルクが20%ずつ減少するので、図8(a)に示すように、シーケンシャルカットモードでは、トルク発生率TCRateの判定値が0.2間隔(例えば、0.8→0.6→0.4→0.2→0)で設定され、トルク発生率TCRateが0.2だけ減少する毎に燃料カット気筒数が1気筒ずつ増加するようにしている。
【0059】
また、5気筒のエンジン11では、燃料復帰気筒数(5−燃料カット気筒数)が1気筒だけ増加する毎に出力トルクが20%ずつ増加するので、図8(b)に示すように、シーケンシャル復帰モードでは、トルク発生率TCRateの判定値が0.2間隔(例えば、0→0.2→0.4→0.6→0.8)で設定され、トルク発生率TCRateが0.2だけ増加する毎に燃料復帰気筒数が1気筒ずつ増加するようにしている。
【0060】
尚、各モードのトルク発生率TCRateの判定値は適合要素であり、例えば、0<TCRate≦0.2のときには、点火遅角でトルク調整する際に、その調整範囲を越えて失火してしまう場合や排気温度上昇の懸念があるので、シーケンシャルカットモードでは、TCRate≦0.1の範囲で燃料カット気筒数を5とするようにしても良い。
【0061】
全気筒数が5気筒のエンジン11で各気筒の通常の燃料噴射順序に対して0サイクルおきに(つまり1サイクル毎に)、1気筒ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行する場合には、上記(3)式にY=5、n=0、X=1を代入して、トルク発生率変化量ΔTCRを求める。
ΔTCR=1/5/(1+1+0×5)=0.1
【0062】
このようにトルク発生率変化量ΔTCRを設定すれば、図9に示すように、1点火毎にトルク発生率TCRateを0.1ずつ減少又は増加させることができるので、2点火毎に(つまり、通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で)、トルク発生率を0.2(つまり、5気筒のエンジン11の1気筒分の燃料カット又は燃料復帰に相当するトルク発生率)ずつ減少又は増加させることができる。これにより、5気筒のエンジン11で各気筒の通常の燃料噴射順序に対して1気筒ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行することができる。
【0063】
ところで、トルク発生率変化量ΔTCRを上記(3)式により算出する場合には、全気筒数が3気筒や6気筒のときのように、トルク発生率変化量ΔTCRの算出結果が無限小数になることもある。例えば、全気筒数が6気筒のエンジン11で各気筒の通常の燃料噴射順序に対して0サイクルおきに(つまり、1サイクル毎に)1気筒ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行する場合には、上記(3)式にY=6、n=0、X=1を代入して、トルク発生率変化量ΔTCRを算出すると、トルク発生率変化量ΔTCRが次のように無限小数になる。
ΔTCR=1/6/(1+1+0×6)=0.08333・・・・
【0064】
そこで、図10(a)に示すように、まず、トルク発生率TCRateの判定値の小数点以下の桁数を制御上、問題のないように設定し、次に、トルク発生率変化量ΔTCRの小数点以下の桁数が判定値と同じになるように、切り捨て方式でトルク発生率変化量ΔTCRを例えば0.0833に設定する。しかし、切り捨て方式でトルク発生率変化量ΔTCRを設定すると、シーケンシャルカットを行うために、トルク発生率TCRateをトルク発生率変化量ΔTCR(例えば0.0833)ずつ減少させたときに、トルク発生率TCRateの減少量が不足して、燃料カット気筒数を増加させるタイミングがずれてしまう。
【0065】
そこで、図10(b)に示すように、トルク発生率変化量ΔTCRの小数点以下の桁数が判定値と同じになるように、切り上げ方式でトルク発生率変化量ΔTCRを例えば0.0834に設定することが必要になる。このように切り上げ方式でトルク発生率変化量ΔTCRを設定すると、シーケンシャルカットを行うために、トルク発生率TCRateをトルク発生率変化量ΔTCR(例えば0.0834)ずつ減少させたときに、トルク発生率TCRateの最小値がマイナス値になる。そこで、トルク発生率TCRateがマイナス値になるのを防止するために、トルク発生率TCRateの最小値を0でガード処理することが考えられる。
【0066】
しかし、トルク発生率TCRateの最小値を0でガード処理すると、その後、シーケンシャル復帰を行うために、そのガード処理された最小値(0)からトルク発生率TCRateをトルク発生率変化量ΔTCR(例えば0.0834)ずつ増加させたときに、燃料復帰気筒数を増加させるタイミングがずれてしまう可能性がある。また、このようにトルク発生率TCRateがガード処理された場合と、ガード処理されなかった場合(運転条件の変化等によりトルク発生率TCRateが最小値まで減少する前に、増加に移った場合)とで、トルク発生率が異なる値になってしまうという問題もある。
【0067】
この対策として、図10(c)に示すように、燃料カット気筒数や燃料復帰気筒数の判定に用いるトルク発生率TCRateは、ガード処理を行わず、マイナス値になってもそのまま使用し、トルク制御値に変換する段階で0として扱うようにすると良い。このようにすれば、燃料カット気筒数や燃料復帰気筒数を増加させるタイミングがずれることなく、シーケンシャルカットやシーケンシャル復帰を行うことができる。また、トルク発生率TCRateの判定値の桁数よりトルク発生率変化量ΔTCRの桁数を多くすることで積算時の精度悪化も防止することができる。
【0068】
ところで、シーケンシャルカット又はシーケンシャル復帰となるようにトルク発生率TCRateを定率で(所定周期で所定変化量づつ)変化させても、燃料噴射量算出タイミング(つまり、トルク発生率TCRateに応じて燃料カットや燃料復帰を決定するタイミング)が変化すると、燃料噴射量算出タイミング毎に受信するトルク発生率TCRateの変化が定率でなくなる場合があるため、燃料カット順序や燃料復帰順序が乱れてしまうおそれがある。また、燃料噴射時期が固定されていないと、事前に燃料カット又は燃料復帰が間に合うか否かを判定するのが困難になり、次に燃料カット又は燃料復帰する気筒を特定しにくくなる。
【0069】
この対策として、ECU27は、スタビリティモード(シーケンシャルカットモードとシーケンシャル復帰モード)では、燃料噴射量算出タイミングと燃料噴射時期を固定する。例えば、図11(a)に示すように、シーケンシャルカット時は、点火時期算出タイミングの2点火前に燃料噴射量算出タイミングを固定し、シーケンシャル復帰時は、点火時期算出タイミングの3点火前に燃料噴射量算出タイミングを固定する。燃料噴射時期は、それぞれの燃料噴射量算出タイミングの直後に固定される。
【0070】
この場合、エンジン回転速度やエンジン温度、負荷等のエンジン運転状態によって要求燃料噴射量が変わるので、燃料噴射量算出タイミングと燃料噴射時期は、ある程度余裕を持って噴射できるタイミングにするべきである。ポイントは、一旦、スタビリティモードに入ったら、そのスタビリティモード運転中に、燃料噴射量算出タイミングと燃料噴射時期を変えなくて済むように固定することであり、スタビリティモードに入った直後の最初の燃料噴射量算出タイミングと燃料噴射時期は、以後のエンジン運転状態変化を想定して設定するようにしても良い。以後のエンジン運転状態変化を想定してと言ってもスタビリティモードを継続すべき運転状態を考えれば良いので、アクセルを踏んだり、急激な回転速度降下がある場合は、スムージング処理もバイパスしてレスポンスモードに切り換えるべきなので、これらの場合は考えなくて良い。
【0071】
以上説明したECU27によるトルク制御は、図12乃至図25に示すトルク制御用のプログラムに従って実行される。以下、これら各プログラムの処理内容を説明する。
【0072】
[将来回転速度算出]
図12に示す将来回転速度算出プログラムは、所定周期(例えば360℃A周期)で実行される。本プログラムが起動されると、まず、ステップ101で、クランク角センサ23で検出したエンジン回転速度Neを読み込む。
【0073】
この後、ステップ102に進み、エアフローメータ14で検出した吸入空気量に基づいて推定軸トルクT0を算出し、この推定軸トルクT0に点火時期効率と燃料噴射の有無(1又は0)とを乗算して気筒別推定軸トルクTを求める。このステップ102の処理が特許請求の範囲でいう軸トルク算出手段としての役割を果たす。
【0074】
この後、ステップ103に進み、将来回転速度ENeを次式により算出する。
ENe={T(i)−T(i−1)}/{T(i−1)−T(i−2)}×{Ne(i)−Ne(i−1)}+Ne(i)
このステップ103の処理が特許請求の範囲でいう将来回転速度予測出手段としての役割を果たす。
【0075】
[トルク発生率算出]
図13に示すトルク発生率算出プログラムは、通常の点火間隔毎(例えば5気筒エンジンの場合は144℃A毎)に実行される。本プログラムが起動されると、まず、ステップ201で、トルクカットモードTCModeが「1」にセットされているか否かを判定する。
【0076】
このトルクカットモードTCModeは、トルクカットモード判定プログラム(図示せず)によって、「1」、「2」、「3」、「0」のうちのいずれかにセットされる。トルクカットモードTCMode=1はシーケンシャルカットモードを意味し、トルクカットモードTCMode=2は全気筒カットモードを意味する。また、トルクカットモードTCMode=3はシーケンシャル復帰モードを意味し、トルクカットモードTCMode=0は全気筒復帰モードを意味する。
【0077】
例えば、アイドリング状態であること、ギアがニュートラルでないこと、エンジン回転速度Neが所定回転速度よりも高いこと等の減速時燃料カット・復帰条件が全て成立したときには、トルク制御の安定性を優先すべき状態であると判断して、トルクカットモードTCMode=1にセットしてシーケンシャルカットモードを選択する。または、トルクカットモードTCMode=3にセットしてシーケンシャル復帰モードを選択する。
【0078】
一方、減速時燃料カット・復帰条件が不成立のときには、トルク制御の応答性を優先すべき状態であると判断して、トルクカットモードTCMode=2にセットして全気筒カットモードを選択する。または、トルクカットモードTCMode=0にセットして全気筒復帰モードを選択する。
【0079】
上記ステップ201で、トルクカットモードTCModeが「1」にセットされているか否かによって、シーケンシャルカットモードが選択されているか否かを判定し、シーケンシャルカットモードが選択されている(トルクカットモードTCMode=1)と判定されれば、ステップ202に進み、前回もシーケンシャルカットモードであったか否かを判定する。
【0080】
前回がシーケンシャルカットモードではないと判定された場合、つまり、シーケンシャルカットモードに切り換え後の最初の処理の場合には、ステップ202からステップ203に進み、トルク発生率TCRateを「1」に設定した後、ステップ204に進む。
【0081】
一方、上記ステップ202で前回もシーケンシャルカットモードであると判定された場合、つまり、シーケンシャルカットモードに切り換え後の2回目以降は、ステップ202からステップ204に進む。
【0082】
このステップ204では、次式によりトルク発生率TCRateをトルク発生率TCRateの変化量ΔTCRだけ減少させる。但し、トルク発生率TCRateの最小値は0とする。
TCRate=TCRate−ΔTCR
【0083】
ここで、全気筒数が5気筒のエンジン11で各気筒の通常の燃料噴射順序に対して0サイクルおきに(つまり、1サイクル毎に)、1気筒ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行する場合には、次式にY=5、n=0、X=1を代入して、トルク発生率変化量ΔTCRを設定する。
ΔTCR=1/Y/(X+1+n×Y)
=1/5/(1+1+0×5)=0.1
【0084】
これにより、シーケンシャルカットモードでは、1点火毎にトルク発生率TCRateを0.1ずつ減少させて、2点火毎に(つまり、通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で)トルク発生率TCRateを0.2(つまり、5気筒のエンジン11の1気筒分の燃料カットに相当するトルク発生率)ずつ減少させる。
【0085】
一方、上記ステップ201で、シーケンシャルカットモードが選択されていない(トルクカットモードTCMode≠1)と判定された場合には、ステップ205に進み、トルクカットモードTCModeが「2」にセットされているか否かによって、全気筒カットモードが選択されているか否かを判定する。
【0086】
このステップ205で、全気筒カットモードが選択されている(トルクカットモードTCMode=2)と判定されれば、ステップ206に進み、トルク発生率TCRateを「0」に設定する。
TCRate=0
【0087】
また、上記ステップ205で、全気筒カットモードが選択されていない(トルクカットモードTCMode≠2)と判定された場合には、ステップ207に進み、トルクカットモードTCModeが「3」にセットされているか否かによって、シーケンシャル復帰モードが選択されているか否かを判定する。
【0088】
このステップ207で、シーケンシャル復帰モードが選択されている(トルクカットモードTCMode=3)と判定されれば、ステップ208に進み、次式によりトルク発生率TCRateをトルク発生率変化量ΔTCRだけ増加させる。但し、トルク発生率TCRateの最大値は1とする。
TCRate=TCRate+ΔTCR
【0089】
これにより、シーケンシャル復帰モードでは、1点火毎にトルク発生率TCRateを0.1ずつ増加させて、2点火毎に(つまり、通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で)トルク発生率TCRateを0.2(つまり、5気筒のエンジン11の1気筒分の燃料復帰に相当するトルク発生率)ずつ増加させる。
【0090】
また、上記ステップ207で、シーケンシャル復帰モードが選択されていない(トルクカットモードTCMode≠3)と判定された場合には、全気筒復帰モードが選択されている(トルクカットモードTCMode=0)と判断して、ステップ209に進み、トルク発生率TCRateを「1」に設定する。
TCRate=1
【0091】
[指示図示トルク算出]
図14に示す指示図示トルク算出プログラムは、通常の点火間隔毎に実行され、特許請求の範囲でいう指示トルク算出手段としての役割を果たす。本プログラムが起動されると、まず、ステップ301で、トルク発生率TCRateが「1」であるか否かを判定する。
【0092】
トルク発生率TCRateが「1」の場合、つまり、全気筒復帰モードの場合には、ステップ302に進み、ドライバ指示軸トルクにロストルク(外部補機類等の負荷に応じたトルク)を加算して指示図示トルクRITrqを求める。
RITrq=ドライバ指示軸トルク+ロストルク
【0093】
一方、トルク発生率TCRateが「1」でない場合、つまり、シーケンシャルカットモード、シーケンシャル復帰モード、全気筒カットモードの場合には、ステップ303に進み、将来回転速度ENeと吸入空気量とに基づいてマップ等により全気筒で燃料噴射した場合の推定図示トルクEITrqを算出した後、ステップ304に進み、推定図示トルクEITrqにトルク発生率TCRateを乗算して指示図示トルクRITrqを求める。
RITrq=EITrq×TCRate
【0094】
[燃料カット・復帰決定]
図15及び図16に示す燃料カット・復帰決定プログラムは、通常の点火間隔毎に実行され、特許請求の範囲でいう燃料噴射量算出手段としての役割を果たす。本プログラムが起動されると、まず、ステップ401で、推定図示トルクEITrq≠0であるか否かを判定し、もし、推定図示トルクEITrq=0と判定されれば、0割り防止のために、ステップ402に進み、トルク比 rTRateを「1」に設定する。
【0095】
一方、上記ステップ401で、推定図示トルクEITrq≠0であると判定されれば、ステップ403に進み、指示図示トルクRITrqを推定図示トルクEITrqで除算してトルク比 rTRate(=トルク発生率TCRate)を求める。
rTRate=RITrq/EITrq
【0096】
この後、ステップ404に進み、トルクカットモードTCMode=1(シーケンシャルカットモード)であるか否かを判定し、シーケンシャルカットモードであれば、ステップ405に進み、後述する図17に示す燃料カット気筒順序設定プログラムを実行する。
【0097】
この後、ステップ406に進み、トルクカットモードTCMode=3(シーケンシャル復帰モード)であるか否かを判定し、シーケンシャル復帰モードであれば、ステップ407に進み、後述する図18に示す燃料復帰気筒順序設定プログラムを実行する。
【0098】
この後、図16のステップ408に進み、全気筒数Y(例えば5)と現在の燃料カット気筒数FCLとを用いて噴射率 rIRateを次式により算出する。
rIRate=(5−FCL)/5
【0099】
そして、次のステップ409で、トルクカットモードTCMode=1(シーケンシャルカットモード)であるか否かを判定し、シーケンシャルカットモードであれば、ステップ410に進み、後述する図19に示すシーケンシャル燃料カット処理プログラムを実行して、各気筒の通常の燃料噴射順序に対して所定気筒数(例えば1気筒)ずつ飛ばした順序で燃料噴射をカットしていくシーケンシャルカットを行う。
【0100】
この後、ステップ411に進み、トルクカットモードTCMode=3(シーケンシャル復帰モード)であるか否かを判定し、シーケンシャル復帰モードであれば、ステップ412に進み、後述する図20に示すシーケンシャル燃料復帰処理プログラムを実行して、各気筒の通常の燃料噴射順序に対して所定気筒数(例えば1気筒)ずつ飛ばした順序で燃料噴射を再開していくシーケンシャル復帰を行う。
【0101】
そして、次のステップ413で、トルクカットモードTCMode=2(全気筒カットモード)であるか否かを判定し、全気筒カットモードであれば、ステップ414に進み、全気筒燃料カット処理を実行して、各気筒の通常の燃料噴射順序で燃料噴射をカットして全気筒の燃料噴射をカットする。
【0102】
この後、ステップ415に進み、トルクカットモードTCMode=0(全気筒復帰モード)であるか否かを判定し、全気筒復帰モードであれば、ステップ416に進み、全気筒燃料復帰処理を実行して、各気筒の通常の燃料噴射順序で燃料噴射を再開して全気筒の燃料噴射を再開する。
【0103】
そして、最後のステップ417で、現在の燃料カット気筒数FCLを算出した後、本プログラムを終了する。
【0104】
[燃料カット気筒順序設定]
図17に示す燃料カット気筒順序設定プログラム(図15のステップ405)が起動されると、まず、ステップ501で、クランクカウンタCCuntのカウント値(クランク回転位置)を読み込む。図11(b)に示すように、このクランクカウンタCCuntは、36℃A毎に「1」ずつインクリメントされるため、クランクカウンタCCuntの4カウントが通常の点火間隔(144℃A)に相当し、クランクカウンタCCuntの20カウントが1サイクル(720℃A)に相当する。尚、クランクカウンタCCuntは、「20」になった時点で「0」にリセットされる。
【0105】
また、クランクカウンタCCunt=0のクランク回転位置が、#5の点火時期算出タイミングに相当し、クランクカウンタCCunt=4、8、12、16のクランク回転位置が、それぞれ#3、#1、#2、#4の点火時期算出タイミングに相当するように設定されている。
【0106】
まず、ステップ501で、クランクカウンタCCuntのカウント値(クランク回転位置)を読み込んだ後、ステップ502で、クランクカウンタCCunt=0(#5の点火時期算出タイミング)であるか否かを判定する。その結果、クランクカウンタCCunt=0(#5の点火時期算出タイミング)であると判定されれば、ステップ503に進み、 rCylord(1)=3、 rCylord(2)=1、 rCylord(3)=2、 rCylord(4)=4、 rCylord(5)=5に設定することで、燃料カットする気筒の優先順位を#3、#1、#2、#4、#5の順に設定する。
【0107】
一方、上記ステップ502で、クランクカウンタCCunt=0(#5の点火時期算出タイミング)ではないと判定された場合には、ステップ504に進み、クランクカウンタCCunt=4(#3の点火時期算出タイミング)であるか否かを判定する。クランクカウンタCCunt=4(#3の点火時期算出タイミング)であると判定されれば、ステップ505に進み、 rCylord(1)=1、 rCylord(2)=2、 rCylord(3)=4、 rCylord(4)=5、 rCylord(5)=3に設定することで、燃料カットする気筒の優先順位を#1、#2、#4、#5、#3の順に設定する。
【0108】
また、上記ステップ504で、クランクカウンタCCunt=4(#3の点火時期算出タイミング)ではないと判定された場合には、ステップ506に進み、クランクカウンタCCunt=8(#1の点火時期算出タイミング)であるか否かを判定する。その結果、クランクカウンタCCunt=8(#1の点火時期算出タイミング)であると判定されれば、ステップ507に進み、 rCylord(1)=2、 rCylord(2)=4、 rCylord(3)=5、 rCylord(4)=3、 rCylord(5)=1に設定することで、燃料カットする気筒の優先順位を#2、#4、#5、#3、#1の順に設定する。
【0109】
また、上記ステップ506で、クランクカウンタCCunt=8(#1の点火時期算出タイミング)ではないと判定された場合には、ステップ508に進み、クランクカウンタCCunt=12(#2の点火時期算出タイミング)であるか否かを判定する。その結果、クランクカウンタCCunt=12(#2の点火時期算出タイミング)であると判定されれば、ステップ509に進み、 rCylord(1)=4、 rCylord(2)=5、 rCylord(3)=3、 rCylord(4)=1、 rCylord(5)=2に設定することで、燃料カットする気筒の優先順位を#4、#5、#3、#1、#2の順に設定する。
【0110】
また、上記ステップ508で、クランクカウンタCCunt=12(#2の点火時期算出タイミング)ではないと判定された場合には、クランクカウンタCCunt=16(#4の点火時期算出タイミング)と判断して、ステップ510に進み、 rCylord(1)=5、 rCylord(2)=3、 rCylord(3)=1、 rCylord(4)=2、 rCylord(5)=4に設定することで、燃料カットする気筒の優先順位を#5、#3、#1、#2、#4の順に設定する。
【0111】
[燃料復帰気筒順序設定]
図18に示す燃料復帰気筒順序設定プログラム(図15のステップ407)が起動されると、まず、ステップ601で、クランクカウンタCCuntのカウント値(クランク回転位置)を読み込んだ後、ステップ602に進み、クランクカウンタCCunt=8(#1の点火時期算出タイミング)であるか否かを判定する。その結果、クランクカウンタCCunt=8(#1の点火時期算出タイミング)であると判定されれば、ステップ603に進み、 rCylord(1)=4、 rCylord(2)=5、 rCylord(3)=3、 rCylord(4)=1、 rCylord(5)=2に設定することで、燃料復帰する気筒の優先順位を#4、#5、#3、#1、#2の順に設定する。
【0112】
一方、上記ステップ602で、クランクカウンタCCunt=8(#1の点火時期算出タイミング)ではないと判定された場合には、ステップ604に進み、クランクカウンタCCunt=12(#2の点火時期算出タイミング)であるか否かを判定する。その結果、クランクカウンタCCunt=12(#2の点火時期算出タイミング)であると判定されれば、ステップ605に進み、 rCylord(1)=5、 rCylord(2)=3、 rCylord(3)=1、 rCylord(4)=2、 rCylord(5)=4に設定することで、燃料復帰する気筒の優先順位を#5、#3、#1、#2、#4の順に設定する。
【0113】
また、上記ステップ604で、クランクカウンタCCunt=12(#2の点火時期算出タイミング)ではないと判定されれば、ステップ606に進み、クランクカウンタCCunt=16(#4の点火時期算出タイミング)であるか否かを判定する。その結果、クランクカウンタCCunt=16(#4の点火時期算出タイミング)であると判定された場合には、ステップ607に進み、 rCylord(1)=3、 rCylord(2)=1、 rCylord(3)=2、 rCylord(4)=4、 rCylord(5)=5に設定することで、燃料復帰する気筒の優先順位を#3、#1、#2、#4、#5の順に設定する。
【0114】
また、上記ステップ606で、クランクカウンタCCunt=16(#4の点火時期算出タイミング)ではないと判定されれば、ステップ608に進み、クランクカウンタCCunt=0(#5の点火時期算出タイミング)であるか否かを判定する。その結果、クランクカウンタCCunt=0(#5の点火時期算出タイミング)であると判定された場合には、ステップ609に進み、 rCylord(1)=1、rCylord(2)=2、 rCylord(3)=4、 rCylord(4)=5、 rCylord(5)=3に設定することで、燃料復帰する気筒の優先順位を#1、#2、#4、#5、#3の順に設定する。
【0115】
また、上記ステップ608で、クランクカウンタCCunt=0(#5の点火時期算出タイミング)ではないと判定されれば、クランクカウンタCCunt=4(#3の点火時期算出タイミング)と判断して、ステップ610に進み、 rCylord(1)=2、 rCylord(2)=4、 rCylord(3)=5、 rCylord(4)=3、 rCylord(5)=1に設定することで、燃料復帰する気筒の優先順位を#2、#4、#5、#3、#1の順に設定する。
【0116】
[シーケンシャル燃料カット処理]
図19に示すシーケンシャル燃料カット処理プログラム(図16のステップ410)が起動されると、まず、ステップ701で、噴射率 rIRateから0.2だけ減算した値がトルク比 rTRate以上( rIRate−0.2≧ rTRate)であるか否かを判定する。もし、 rIRate−0.2< rTRateと判定されれば、そのまま本プログラムを終了する。
【0117】
その後、 rIRate−0.2≧ rTRateであると判定されたときに、ステップ702に進み、気筒別燃料カット要求 rCCReq{rCylord(n)}が燃料復帰を意味する「0」にセットされ、且つ、気筒別吸入燃料量 rIFel{rCylord(n)}が0となっている rCylord(n)のうち優先順位の高いものを燃料カット気筒として選択する。これ以降のスタビリティモード(シーケンシャルカットモード)運転中は、燃料噴射量算出タイミングと燃料噴射時期を固定する。
【0118】
この後、ステップ703に進み、上記ステップ702で選択した rCylord(n)について、気筒別燃料カット要求 rCCReq{rCylord(n)}を燃料カットを意味する「1」にセットした後、ステップ704に進み、噴射率 rIRateを0.2だけ減少させる。
【0119】
シーケンシャルカットモードでは、1点火毎にトルク比 rTRate(=トルク発生率TCRate)を0.1ずつ減少させて、2点火毎にトルク比 rTRateを0.2ずつ減少させるので、以上の処理により2点火毎に(つまり、通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で)、燃料カット気筒を1つずつ増加していくシーケンシャルカットを実行することができる。
【0120】
[シーケンシャル燃料復帰処理]
図20に示すシーケンシャル燃料復帰処理プログラム(図16のステップ412)が起動されると、まず、ステップ801で、トルク比 rTRateが噴射率 rIRate以上( rTRate≧ rIRate)であるか否かを判定する。その結果、rTRate< rIRateと判定されれば、そのまま本プログラムを終了する。
【0121】
その後、 rTRate≧ rIRateであると判定されたときに、ステップ802に進み、気筒別燃料カット要求 rCCReq{rCylord(n)}が、燃料カットを意味する「1」にセットされている rCylord(n)のうち優先順位の高いものを燃料復帰気筒として選択する。これ以降のスタビリティモード(シーケンシャル復帰モード)運転中は、燃料噴射量算出タイミングと燃料噴射時期を固定する。
【0122】
この後、ステップ803に進み、上記ステップ802で選択した rCylord(n)について、気筒別燃料カット要求 rCCReq{rCylord(n)}を燃料復帰を意味する「0」にセットした後、ステップ804に進み、噴射率 rIRateを0.2だけ増加させる。
【0123】
シーケンシャル復帰モードでは、1点火毎にトルク比 rTRate(=トルク発生率TCRate)を0.1ずつ増加させて、2点火毎にトルク比 rTRateを0.2ずつ増加させるので、以上の処理により2点火毎に(つまり、通常の燃料噴射順序に対して1気筒ずつ飛ばした順序で)、燃料復帰気筒を1つずつ増加していくシーケンシャル復帰を実行することができる。
【0124】
図17に示す燃料カット気筒順序設定プログラムと、図18に示す燃料復帰気筒順序設定プログラムと、図19に示すシーケンシャル燃料カットプログラムと、図20に示すシーケンシャル燃料復帰プログラムが、特許請求の範囲でいうシーケンシャル制御手段としての役割を果たす。
【0125】
[点火時期遅角量算出]
図21に示す点火時期遅角量算出プログラムは、通常の点火間隔毎に実行され、特許請求の範囲でいう点火時期算出手段としての役割を果たす。本プログラムが起動されると、まず、ステップ901で、トルクカットモードTCMode=1(シーケンシャルカットモード)であるか否かを判定し、シーケンシャルカットモードであれば、ステップ902に進み、後述する図22に示すシーケンシャルカット処理プログラムを実行する。
【0126】
この後、ステップ903に進み、トルクカットモードTCMode=3(シーケンシャル復帰モード)であるか否かを判定し、シーケンシャル復帰モードであれば、ステップ904に進み、後述する図23に示すシーケンシャル復帰処理プログラムを実行する。
【0127】
そして、次のステップ905で、トルクカットモードTCMode=0又は2(全気筒復帰モード又は全気筒カットモード)であるか否かを判定し、全気筒復帰モード又は全気筒カットモードであれば、ステップ906に進み、後述する図24に示す全気筒復帰又は全気筒カット処理プログラムを実行する。
【0128】
この後、ステップ907に進み、 rTCMode(old)の値を現在のTCModeで更新した後、ステップ908に進み、後述する指示トルク rRTrqと推定トルクrETrqと燃料カット気筒数 rCLとを用いて、点火時期遅角量を算出するためのトルク比 rTRateを次式により算出する。
rTRate= rRTrq/{ rETrq×(5− rCL)/5}
【0129】
そして、次のステップ909で、図25に示す前回値更新処理プログラムを実行した後、ステップ910に進み、図26に示す点火時期遅角量TCRetrdのマップを検索して、トルク比 rTRateに応じた点火時期遅角量TCRetrdを求める。
【0130】
[シーケンシャルカット処理]
図22に示すシーケンシャルカット処理プログラム(図21のステップ902)が起動されると、まず、ステップ1001で、 rTCMode(Old)=0(前回が全気筒復帰モード)であるか否かを判定する。前回が全気筒復帰モードと判定された場合、つまり、シーケンシャルカットモードに切り換え後の初回の場合には、ステップ1002に進み、スムージングカウンタSCntのカウンタ値を最大値Smax(例えば3)にセットする。
【0131】
この後、ステップ1003に進み、3点火前の指示トルク rRTrq(old3)の初期値、2点火前の指示トルク rRTrq(old2)の初期値及び1点火前の指示トルクrRTrq(old)の初期値として、全て現在の指示図示トルクRITrqをセットする。これら rRTrq(old3)、 rRTrq(old2)及び rRTrq(old)の値は、後述する図25に示す前回値更新処理プログラムで更新される。
【0132】
この後、ステップ1004に進み、3点火前の推定トルク rETrq(old3)の初期値、2点火前の推定トルク rETrq(old2)の初期値及び1点火前の推定トルクrETrq(old)の初期値として、全て現在の推定図示トルクEITrqをセットする。これら rETrq(old3)、 rETrq(old2)及び rETrq(old)の値は、後述する図25に示す前回値更新処理プログラムで更新される。
【0133】
一方、上記ステップ1001で前回が全気筒復帰モードではないと判定された場合、つまり、シーケンシャルカットモードに切り換え後の2回目以降は、ステップ1005に進み、スムージングカウンタSCntのカウンタ値を「1」だけデクリメントする(但し、SCnt=0を最小値とする)。
【0134】
この後、ステップ1006に進み、例えばシーケンシャルカット時の燃料噴射量算出タイミングが点火時期算出タイミングの2点火前の場合は、点火時期遅角量の算出に用いる指示トルク rRTrqを次式により算出する。
rRTrq= rRTrq(old2)+{ rRITrq− rRTrq(old2)}×SCnt/3
【0135】
これにより、全気筒復帰モード(レスポンスモード)からシーケンシャルカットモード(スタビリティモード)に切り換わる際には、スムージングカウンタSCntのカウンタ値を最大値Smax(例えば3)から0まで「1」ずつデクリメントするため、上式により点火時期遅角量の算出に用いる指示トルク rRTrqが、最新の指示図示トルク rRITrqから2点火前の指示トルク rRTrq(old2)まで徐々に変化し、その後、スタビリティモード中は、スムージングカウンタSCntのカウンタ値を0に維持するため、上式により点火時期遅角量の算出に用いる指示トルク rRTrqが2点火前の指示トルク rRTrq(old2)、つまり、燃料噴射量算出に用いた指示トルクに維持される。このステップ1006の処理が特許請求の範囲でいう指示トルク徐変手段としての役割を果たす。
【0136】
この後、ステップ1007に進み、点火時期遅角量の算出に用いる推定トルクrETrqを2点火前の推定トルク rETrq(old2)にセットした後、ステップ1008に進み、点火時期遅角量の算出に用いる燃料カット気筒数 rCLを1点火前の燃料カット気筒数 rCL(old)にセットする。
【0137】
[シーケンシャル復帰処理]
図23に示すシーケンシャル復帰処理プログラム(図21のステップ904)が起動されると、ステップ1101で、例えばシーケンシャル復帰時の燃料噴射量算出タイミングが点火時期算出タイミングの3点火前の場合は、点火時期遅角量の算出に用いる指示トルク rRTrqを3点火前の指示トルク rRTrq(old3)、つまり燃料噴射量算出に用いた指示トルクにセットし、点火時期遅角量の算出に用いる推定トルク rETrqを3点火前の推定トルク rETrq(old3)にセットすると共に、点火時期遅角量の算出に用いる燃料カット気筒数 rCLを1点火前の燃料カット気筒数 rCL(old)にセットする。
【0138】
[全気筒復帰又は全気筒カット処理]
図24に示す全気筒復帰又は全気筒カット処理プログラム(図21のステップ906)が起動されると、ステップ1201で、点火時期遅角量の算出に用いる指示トルク rRTrqを現在の指示図示トルクRITrqにセットし、点火時期遅角量の算出に用いる推定トルク rETrqを現在の推定図示トルクEITrqにセットすると共に、点火時期遅角量の算出に用いる燃料カット気筒数 rCLを現在の燃料カット気筒数FCLにセットする。
【0139】
[前回値更新処理]
図25に示す前回値更新処理プログラム(図21のステップ909)が起動されると、まず、ステップ1301で、3点火前の指示トルク rRTrq(old3)を2点火前の指示トルク rRTrq(old2)で更新し、2点火前の指示トルク rRTrq(old2)を1点火前の指示トルク rRTrq(old)で更新すると共に、1点火前の指示トルク rRTrq(old)を現在の指示図示トルクRITrqで更新する。
【0140】
この後、ステップ1302に進み、3点火前の推定トルク rETrq(old3)を2点火前の推定トルク rETrq(old2)で更新し、2点火前の推定トルク rETrq(old2)を1点火前の推定トルク rETrq(old)で更新すると共に、1点火前の推定トルク rETrq(old1)を現在の推定図示トルクEITrqで更新する。
【0141】
この後、ステップ1303に進み、燃料カット気筒数 rCLを現在の燃料カット気筒数FCLで更新した後、本プログラムを終了する。
【0142】
以上説明した本実施形態によれば、トルク制御の応答性を優先するレスポンスモード(全気筒カットモードと全気筒復帰モード)では、燃料噴射量算出タイミングで、その時点の最新の指示トルクに基づいて燃料噴射量を算出し、その後の点火時期算出タイミングで、その時点の最新の指示トルクに基づいて点火時期を算出するようにしたので、指示トルクの変化に対して応答性の良いトルク制御を行うことができる。
【0143】
しかし、トルク制御の安定性を優先するスタビリティモード(シーケンシャルカットモードとシーケンシャル復帰モード)で、レスポンスモードと同じように、燃料噴射量の算出時と点火時期の算出時に、それぞれ最新の指示トルクを用いるようにすると、燃料噴射量算出に用いる指示トルク値と点火時期算出に用いる指示トルク値とが異なってくるため、図27のシミュレーション結果に示すように、指示トルクに対して気筒別総合推定トルク(出力トルク)がばらついて、不安定なトルク制御になってしまうおそれがある。
【0144】
そこで、本実施形態では、スタビリティモードでは、燃料噴射量算出タイミングで、その時点の最新の指示トルクに基づいて燃料噴射量を算出し、その後の点火時期算出タイミングでは、その点火時期算出タイミングにおける指示トルクよりも前に算出された過去の指示トルク(例えば、直前の燃料噴射量算出タイミングにおける指示トルク)に基づいて点火時期を算出するようにしたので、燃料噴射量算出に用いる指示トルクと点火時期算出に用いる指示トルクとの偏差を小さく(又は0に)することができ、図28のシミュレーション結果に示すように、指示トルクに対して気筒別総合推定トルク(出力トルク)のばらつきを小さくすることができ、安定したトルク制御を実現することができる。
【0145】
尚、点火時期の算出に用いる指示トルクは、燃料噴射量算出タイミングにおける指示トルクに限定されず、点火時期算出タイミングにおける指示トルクよりも前に算出された過去の指示トルクであれば、燃料噴射量算出タイミングにおける指示トルクの前後の指示トルクを用いるようにしても良い。
【0146】
スタビリティモードでは、過去の指示トルクに基づいて点火時期を算出するため、図28に示すように、指示トルクに対して気筒別総合推定トルク(出力トルク)の応答性が低下するおそれがあるが、本実施形態では、スタビリティモード運転中に、エンジン11の将来の回転速度を予測し、その将来回転速度に基づいて指示トルクを算出するようにしたので、エンジン11の将来の回転速度の挙動を考慮に入れた指示トルクを算出することができ、過去の指示トルクに基づいて点火時期を算出する場合でも、トルク制御の応答性を向上することができる。
【0147】
また、将来回転速度は、エンジン11の軸トルクを積分して求めることができるが、積分を用いると、ECU17の演算負荷が大きくなる。その点、本実施形態では、クランク角センサ23で検出した回転速度と、吸入空気量に基づいて算出した軸トルクとを用いて将来回転速度を算出するようにしたので、最新の回転速度を基に将来回転速度を精度良く算出することができると共に、積分が不要になり、ECU27の演算負荷を小さくすることができる。
【0148】
しかしながら、将来回転速度の算出方法は、適宜変更しても良く、エンジン11の軸トルクを積分して将来回転速度を求めるようにしても良い。
また、必ずしも将来回転速度に基づいて指示トルクを算出する必要はなく、現在の回転速度に基づいて指示トルクを算出しても良い等、指示トルクの算出方法を適宜変更しても良い。
【0149】
更に、本実施形態では、レスポンスモードとスタビリティモードとを切り換える際に、点火時期算出に用いる指示トルクを徐々に変化させるようにしたので、レスポンスモードとスタビリティモードとを切り換える際に、点火時期算出に用いる指示トルクが急変することを防止することができ、出力トルクの急変を防止してドライバビリティの悪化を防止することができる。
【0150】
また、本実施形態では、全気筒数がY気筒(但しYは3以上の整数)のエンジン11で各気筒の通常の燃料噴射順序に対してnサイクル(但しnは0以上の整数)おきにX気筒(但しXは1以上の整数)ずつ飛ばした順序でシーケンシャルカット又はシーケンシャル復帰を実行する場合に、トルク発生率を変化させる際の所定周期を通常の点火間隔(=720℃A/Y)に設定し、所定変化量を1/Y/(X+1+n×Y)に設定するようにしたので、所望のシーケンシャルカット(又はシーケンシャル復帰)となるような割合でトルク発生率を減少(又は増加)させることができ、このように変化させたトルク発生率に応じて燃料カット気筒数を増加(又は減少)させれることで、指示トルク(トルク発生率)を精度良く反映したシーケンシャルカットやシーケンシャル復帰を実現することができる。
【0151】
また、本実施形態では、シーケンシャルカットやシーケンシャル復帰の実行中に燃料噴射量算出タイミングと燃料噴射時期を固定するようにしたので、燃料カット順序や燃料復帰順序の乱れてを防止することができ、所定通りの順序でシーケンシャルカットやシーケンシャル復帰を確実に実行することができると共に、事前に燃料カット又は燃料復帰が間に合う気筒を容易に判定することができ、次に燃料カット又は燃料復帰する気筒を容易に特定することができる。
【0152】
尚、本発明の適用範囲は5気筒のエンジンに限定されず、4気筒以下又は6気筒以上の気筒数のエンジンに本発明を適用しても良い。
【図面の簡単な説明】
【図1】本発明の一実施形態におけるエンジン制御システム全体の概略構成図
【図2】シーケンシャルカット及びシーケンシャル復帰を説明するためのタイムチャート
【図3】燃料噴射時期と点火時期との関係を説明するためのタイムチャート
【図4】(a)はレスポンスモードにおいて燃料噴射量算出に用いる指示トルクと点火時期算出に用いる指示トルクとの関係を説明するためのタイムチャート、(b)はスタビリティモードにおいて燃料噴射量算出に用いる指示トルクと点火時期算出に用いる指示トルクとの関係を説明するためのタイムチャート
【図5】将来回転速度の算出方法を説明するためのタイムチャート
【図6】レスポンスモードとスタビリティモードとを切り換える際に、点火時期算出に用いる指示トルクを最新の指示トルクと過去の指示トルクとの間で瞬時に切り換える場合を示すタイムチャート
【図7】レスポンスモードとスタビリティモードとを切り換える際に、点火時期算出に用いる指示トルクを徐々に変化させる場合を示すタイムチャート
【図8】
(a)はシーケンシャルカットモード時のトルク発生率と燃料カット気筒数との関係を示す図、(b)はシーケンシャル復帰モード時のトルク発生率と燃料復帰気筒数との関係を示す図
【図9】
トルク発生率に応じたシーケンシャルカット及びシーケンシャル復帰を説明するためのタイムチャート
【図10】
(a)〜(c)はトルク発生率変化量の算出結果が無限小数になる場合の対処方法を説明するための図
【図11】
(a)は燃料噴射量算出タイミングと点火時期算出タイミングとの関係の一例を示す図、(b)はクランクカウンタのカウント値と各気筒の各行程との関係を示す図
【図12】
将来回転速度算出プログラムの処理の流れを示すフローチャート
【図13】
トルク発生率算出プログラムの処理の流れを示すフローチャート
【図14】
指示図示トルク算出プログラムの処理の流れを示すフローチャート
【図15】
燃料カット・復帰決定プログラムの処理の流れを示すフローチャート(その1)
【図16】
燃料カット・復帰決定プログラムの処理の流れを示すフローチャート(その2)
【図17】
燃料カット気筒順序設定プログラムの処理の流れを示すフローチャート
【図18】燃料復帰気筒順序設定プログラムの処理の流れを示すフローチャート
【図19】シーケンシャル燃料カット処理プログラムの処理の流れを示すフローチャート
【図20】シーケンシャル燃料復帰処理プログラムの処理の流れを示すフローチャート
【図21】点火時期遅角量算出プログラムの処理の流れを示すフローチャート
【図22】シーケンシャルカット処理プログラムの処理の流れを示すフローチャート
【図23】シーケンシャル復帰処理プログラムの処理の流れを示すフローチャート
【図24】全気筒復帰又は全気筒カット処理プログラムの処理の流れを示すフローチャート
【図25】前回値更新処理プログラムの処理の流れを示すフローチャート
【図26】点火時期遅角量のマップを概念的に示す図
【図27】最新の指示トルクに基づいて点火時期を算出した場合のシミュレーション結果を示すタイムチャート
【図28】過去の指示トルクに基づいて点火時期を算出した場合のシミュレーション結果を示すタイムチャート
【符号の説明】
11…エンジン(内燃機関)、12…吸気管、14…エアフローメータ、15…スロットルバルブ、20…燃料噴射弁、21…点火プラグ、23…クランク角センサ23(回転速度検出手段)、24…排気管、27…ECU(指示トルク算出手段,燃料噴射量算出手段,点火時期算出手段,将来回転速度予測手段,軸トルク算出手段,指示トルク徐変手段,シーケンシャル制御手段)。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a torque control device for an internal combustion engine that controls a fuel injection amount (for example, whether or not fuel is cut) and an ignition timing based on a command torque of the internal combustion engine.
[0002]
[Prior art]
In recent automobiles, for example, as shown in Japanese Patent No. 3211512, when performing traction control or the like for preventing idle rotation (slip) of drive wheels, the fuel of each cylinder is set so that the output torque of the engine becomes the specified torque. In some cases, “torque control” for controlling an injection amount (for example, whether or not fuel is cut) and an ignition timing is performed.
[0003]
[Problems to be solved by the invention]
In an intake port injection type engine, which is the most common internal combustion engine today, the fuel injected from the fuel injection valve is sucked into the cylinder by the end of the intake stroke, as shown in FIG. By the end of the fuel injection (normally, the fuel injection is stopped before the exhaust stroke to prevent blow-through during the valve overlap period), the ignition plug is energized in the compression stroke and The mixture is burned (exploded) by ignition. Therefore, a delay of, for example, about 360 to 720 ° CA occurs from the start of fuel injection to the start of energization of the spark plug.
[0004]
Therefore, in order to perform torque control with good responsiveness to a change in the instruction torque, the fuel injection amount calculation timing and the ignition timing calculation timing are set immediately before the fuel injection start timing and the ignition plug energization start timing, respectively. As shown in FIG. 4A, at the fuel injection amount calculation timing, the fuel injection amount is calculated based on the latest instruction torque at that time, and then the ignition timing calculation timing (for example, after elapse of 360 to 720 ° CA) Then, it is possible to calculate the ignition timing based on the latest instruction torque at that time.
[0005]
However, in this torque control method, as shown in FIG. 4A, if the indicated torque changes, the indicated torque value used for calculating the fuel injection amount and the indicated torque value used for calculating the ignition timing differ. Therefore, if the amount of the change is large, the fluctuation of the output torque with respect to the instructed torque may increase as in the example described below, resulting in unstable torque control.
[0006]
For example, as shown by the solid line in FIG. 4A, in a certain cylinder, the command torque at the fuel injection amount calculation timing does not require the fuel cut, but at the subsequent ignition timing calculation timing, the command torque decreases. If the command torque is too low to be realized by the ignition retard, the torque obtained during the explosion stroke of this cylinder becomes larger than the command torque at the ignition timing calculation timing. Further, as indicated by a two-dot chain line in FIG. 4A, in the cylinder in which fuel is cut, the command torque at the fuel injection amount calculation timing does not require the fuel return (restart of fuel injection), but the subsequent ignition At the timing of the timing calculation, the indicated torque is increasing, and even if it is necessary to return the fuel to achieve the indicated torque, it is already too late to perform the fuel return, and the torque obtained during the cylinder's explosion stroke is ignited. It becomes smaller than the instruction torque at the timing calculation timing.
[0007]
Further, in order to reduce the torque shock at the time of fuel cut or fuel return (restart of fuel injection) of the internal combustion engine, when increasing the number of fuel cut cylinders of the internal combustion engine, the normal fuel injection order of each cylinder is reduced. Sequential cuts in which fuel injection is cut in the order of one cylinder at a time, or fuel injection in the order of one cylinder at a time compared to the normal fuel injection order of each cylinder when reducing the number of fuel cut cylinders in the internal combustion engine There is a method in which a sequential return is performed to restart the operation.
[0008]
Conventionally, when performing such a sequential cut (or sequential return), a subsequent fuel cut cylinder (or fuel return cylinder) is set by a map or the like according to the first fuel cut cylinder (or fuel return cylinder), Alternatively, there is an engine in which the next fuel cut cylinder (or fuel return cylinder) is determined by integrating crank angles. However, in such a control method, since the fuel cut cylinder (or the fuel return cylinder) is not controlled in accordance with the command torque, it is necessary to perform the sequential cut (or sequential return) accurately reflecting the command torque. Can not.
[0009]
The present invention has been made in consideration of these circumstances, and a first object is to perform stable torque control even when the ignition timing is calculated at a timing delayed from the calculation of the fuel injection amount. The second object is to enable a sequential cut or a sequential return that accurately reflects the indicated torque.
[0010]
[Means for Solving the Problems]
In order to achieve the first object, a torque control device for an internal combustion engine according to claim 1 of the present invention calculates a command torque by a command torque calculation means at each predetermined command torque calculation timing, and performs a predetermined fuel injection. The fuel injection amount is calculated by the fuel injection amount calculating means based on the instruction torque at each amount calculation timing, and the ignition timing is ignited based on the instruction torque at each predetermined ignition timing calculation timing that is later than the fuel injection amount calculation timing. It is calculated by the timing calculating means. When calculating the ignition timing during the stability mode operation in which the stability of the torque control is prioritized, the ignition timing is calculated based on the past instruction torque calculated before the instruction torque at the ignition timing calculation timing. This is calculated.
[0011]
When calculating the ignition timing at the ignition timing calculation timing that is later than the fuel injection amount calculation timing, if the past instruction torque is used, the deviation between the instruction torque used for the fuel injection amount calculation and the instruction torque used for the ignition timing calculation is calculated. Since the output torque can be reduced, the fluctuation of the output torque with respect to the instruction torque can be reduced, and the stability of the torque control can be improved. Therefore, if the ignition timing is calculated based on the past instruction torque during the stability mode operation in which the stability of the torque control is prioritized, the ignition timing is calculated at the ignition timing calculation timing that is later than the fuel injection amount calculation timing. Is calculated, stable torque control can be realized.
[0012]
In this case, when calculating the ignition timing during the stability mode operation, the instruction torque at the immediately preceding fuel injection amount calculation timing may be used as the past instruction torque. With this configuration, the fuel injection amount and the ignition timing can be calculated based on the same instruction torque (instruction torque at the fuel injection amount calculation timing), so that more stable torque control can be realized.
[0013]
By the way, if the ignition timing is calculated based on the past command torque, the responsiveness of the torque control may be reduced. As a countermeasure, the command torque may be calculated based on the future rotation speed predicted by the future rotation speed prediction means during the stability mode operation. In this way, the command torque taking into account the behavior of the future rotational speed of the internal combustion engine can be calculated, so that even when the ignition timing is calculated based on the past command torque, the response of the torque control can be improved. Can be improved.
[0014]
In this case, the future rotational speed can be obtained by integrating the shaft torque of the internal combustion engine. However, when the integration is used, the calculation load on the control device increases.
[0015]
Therefore, the rotation speed of the internal combustion engine is detected by the rotation speed detection means, and the shaft torque is calculated by the shaft torque calculation means based on the intake air amount of the internal combustion engine. The future rotation speed may be calculated based on the calculated rotation speed and the shaft torque calculated by the shaft torque calculation means. Since the subsequent behavior of the rotation speed is determined by the behavior of the shaft torque, the future rotation speed is accurately calculated based on the latest rotation speed by using the rotation speed and the shaft torque detected by the rotation speed detection means. In addition, the integration becomes unnecessary, and the calculation load of the control device can be reduced.
[0016]
On the other hand, when calculating the ignition timing during the response mode operation giving priority to the responsiveness of the torque control, the ignition timing is calculated based on the instruction torque at the ignition timing calculation timing. good. With this configuration, in the response mode in which the responsiveness of the torque control is prioritized, when calculating the ignition timing, the ignition timing can be calculated based on the latest instruction torque, and the torque control with good responsiveness is performed. be able to.
[0017]
Here, when switching between the response mode and the stability mode, when the command torque used for calculating the ignition timing is instantaneously switched between the latest command torque and the past command torque, the change amount is large. In such a case, the command torque used for calculating the ignition timing changes abruptly, so that the output torque may change abruptly and adversely affect drivability.
[0018]
As a countermeasure, when switching between the response mode and the stability mode, the command torque used for calculating the ignition timing may be gradually changed by the command torque gradually changing means. In this way, when switching between the response mode and the stability mode, it is possible to prevent a sudden change in the instruction torque used for calculating the ignition timing, and to prevent a sudden change in the output torque, thereby preventing deterioration in drivability. can do.
[0019]
Further, when performing a sequential cut or a sequential return in which fuel injection is cut or restarted in an order skipped by a predetermined number of cylinders with respect to a normal fuel injection order of each cylinder, as in claims 7 and 8, The sequential control means changes the torque generation rate, which is the ratio of the command torque to the output torque when fuel is injected in all cylinders, by a predetermined amount at predetermined intervals, and changes the number of fuel cut cylinders according to the torque generation rate. Therefore, it is preferable to execute the sequential cut or the sequential return.
[0020]
The torque generation rate can directly correspond to the number of fuel cut cylinders. For example, in an internal combustion engine having five cylinders, when the torque generation rate is 0.8 (= 4/5), only one cylinder needs to be cut. Focusing on this point, if the torque generation rate is reduced (or increased) by a predetermined change amount in a predetermined cycle, the torque generation rate is reduced (or increased) at such a rate that sequential cut (or sequential return) is performed. If the number of fuel cut cylinders is increased (or decreased) according to the torque generation rate thus changed, sequential cut (or sequential return) can be performed. As a result, it is possible to realize a sequential cut or a sequential return that accurately reflects the instruction torque (torque generation rate).
[0021]
In this case, in the internal combustion engine in which the total number of cylinders is Y cylinders (where Y is an integer of 3 or more), n cycles (where n is an integer of 0 or more) are performed with respect to the normal fuel injection order of each cylinder. In the case where the sequential cut or the sequential return is executed in the order of skipping every X cylinders (where X is an integer of 1 or more) every other cycle, the predetermined cycle for changing the torque generation rate is set to the normal ignition interval of the internal combustion engine ( = 720 ° C. A / Y), and the predetermined change amount is preferably set to 1 / Y / (X + 1 + n × Y).
[0022]
For example, in a case where a sequential cut or a sequential return is performed in an internal combustion engine having a total number of five cylinders in a sequence of skipping one cylinder at a time every 0 cycles (every cycle) with respect to a normal fuel injection sequence of each cylinder. Substitutes Y = 5, n = 0, and X = 1 into 1 / Y / (X + 1 + n × Y), and sets the predetermined change amount to 1/5 / (1 + 1 + 0 × 5) = 0.1. In this case, the torque generation rate can be decreased or increased by 0.1 for each ignition, so that the torque generation rate is generated for every two ignitions (that is, in the order of skipping one cylinder at a time with respect to the normal fuel injection order). The rate can be decreased or increased by 0.2 (that is, a torque generation rate corresponding to fuel cut or fuel return for one cylinder of a five-cylinder internal combustion engine). Thus, in the five-cylinder internal combustion engine, the sequential cut or the sequential return can be executed in the order in which the normal fuel injection order of each cylinder is skipped one by one.
[0023]
By the way, even if the torque generation rate is changed at a fixed rate (by a predetermined change amount in a predetermined cycle) so that the sequential cut or the sequential return is performed, the fuel injection amount calculation timing (that is, the fuel cut or the fuel return in accordance with the torque generation rate). When the fuel injection amount is calculated, the change in the torque generation rate received at each fuel injection amount calculation timing may not be constant, and the fuel cut order and the fuel return order may be disturbed. Further, if the fuel injection timing is not fixed, it is difficult to determine in advance whether fuel cut or fuel return is in time, and it becomes difficult to specify a cylinder to be fuel cut or fuel returned next.
[0024]
As a countermeasure, the fuel injection amount calculation timing and the fuel injection timing may be fixed during execution of the sequential cut and / or the sequential return. If the fuel injection amount calculation timing is fixed, the change in the torque generation rate received at each fuel injection amount calculation timing can be made a constant rate. Sequential cut and sequential return can be executed in the same order. Further, if the fuel injection timing is fixed, it is possible to easily determine in advance the cylinder in which fuel cut or fuel return will be in time, and easily identify the cylinder in which fuel cut or fuel return will be performed next.
[0025]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. First, a schematic configuration of the entire engine control system will be described with reference to FIG. For example, a five-cylinder engine 11, which is an internal combustion engine, has five cylinders of a first cylinder (# 1) to a fifth cylinder (# 5), and an air cleaner is provided at the most upstream portion of an intake pipe 12 of the engine 11. An air flow meter 14 for detecting the amount of intake air is provided downstream of the air cleaner 13. A throttle valve 15 is provided downstream of the air flow meter 14, and the opening of the throttle valve 15 (throttle opening) is detected by a throttle opening sensor 16.
[0026]
Further, a surge tank 17 is provided downstream of the throttle valve 15, and the surge tank 17 is provided with an intake pipe pressure sensor 18 for detecting an intake pipe pressure. The surge tank 17 is provided with an intake manifold 19 for introducing air into each cylinder of the engine 11, and a fuel injection valve 20 for injecting fuel is attached near an intake port of the intake manifold 19 of each cylinder. I have.
[0027]
An ignition plug 21 is attached to a cylinder head of the engine 11 for each cylinder, and the air-fuel mixture in the cylinder is ignited by spark discharge of each ignition plug 21. Further, a cooling water temperature sensor 22 for detecting a cooling water temperature and a crank angle sensor 23 (rotation speed detection means) for detecting an engine rotation speed are attached to a cylinder block of the engine 11.
[0028]
On the other hand, a catalyst 25 such as a three-way catalyst for purifying CO, HC, NOx and the like in the exhaust gas is provided in an exhaust pipe 24 of the engine 11, and an air-fuel ratio or a lean An exhaust gas sensor 26 (an air-fuel ratio sensor, an oxygen sensor, etc.) for detecting the air / rich ratio is provided.
[0029]
The outputs of the various sensors described above are input to an engine control circuit (hereinafter referred to as “ECU”) 27. The ECU 27 is mainly composed of a microcomputer, and executes various engine control programs stored in a built-in ROM (storage medium), thereby controlling the fuel injection amount of the fuel injection valve 20 according to the engine operating state. The ignition timing of the ignition plug 21 is controlled.
[0030]
The ECU 27 executes the torque control programs shown in FIGS. 12 to 25 to be described later when performing traction control for preventing idling of the drive wheels (slip), fuel cut during deceleration, and the like. In addition to controlling the fuel cut and fuel return (restart of fuel injection) of each cylinder so that the output torque of the cylinder becomes the instructed torque, "torque control" for controlling the ignition timing of each cylinder is performed.
[0031]
Hereinafter, an outline of the torque control executed by the ECU 27 will be described.
When performing the torque control, the ECU 27 selects one mode from the sequential cut mode, the sequential return mode, the all cylinder cut mode, and the all cylinder return mode based on the operating conditions.
[0032]
As shown in FIG. 2, in the sequential cut mode, when the number of fuel cut cylinders of the engine 11 is increased, the normal fuel injection order of each cylinder (# 1 → # 2 → # 4 → # 5 → # 3) is satisfied. A sequential cut is performed in which fuel injection is cut in a predetermined number of cylinders (for example, one cylinder) (in FIG. 2, # 3 → # 2 → # 5 → # 1 → # 4). Further, in the sequential return mode, when the number of fuel cut cylinders of the engine 11 is reduced, the order of skipping a predetermined number of cylinders (for example, one cylinder) with respect to the normal fuel injection order of each cylinder (# 5 → # in FIG. 2) (1 → # 4 → # 3 → # 2), a sequential return to restart the fuel injection is executed. In the present embodiment, the sequential cut mode and the sequential return mode are set to the stability mode in which the stability of the torque control is prioritized.
[0033]
On the other hand, in the all-cylinder cut mode, all-cylinder cut in which fuel injection is cut in the normal fuel injection order of each cylinder to cut fuel injection in all cylinders is executed. In the all-cylinder return mode, all-cylinder return in which fuel injection is restarted in the normal fuel injection order of each cylinder and fuel injection of all cylinders is restarted. In the present embodiment, the all-cylinder cut mode and the all-cylinder return mode are response modes in which the responsiveness of torque control is prioritized.
[0034]
As shown in FIG. 3, generally, there is a delay of, for example, 360 to 720 ° CA from the start of fuel injection to the start of energization of the spark plug. Therefore, during the response mode (all-cylinder cut mode and all-cylinder return mode) operation, the ECU 27 performs the fuel injection amount calculation timing and the ignition timing calculation timing in order to perform torque control with good response to a change in the command torque. Are set immediately before the fuel injection start timing and the spark plug energization start timing, respectively, and as shown in FIG. 4A, at the fuel injection amount calculation timing, the fuel injection amount is set based on the latest instruction torque at that time. Then, at the subsequent ignition timing calculation timing, the ignition timing is calculated based on the latest instruction torque at that time.
[0035]
However, in the torque control method during the response mode operation, as shown in FIG. 4A, when the command torque changes, the command torque value used for calculating the fuel injection amount and the command torque value used for calculating the ignition timing are changed. Therefore, if the amount of the change is large, the fluctuation of the output torque with respect to the command torque becomes large, and unstable torque control may be performed. Therefore, during the stability mode (sequential cut mode and sequential return mode) operation, as in the response mode, the latest instruction torque is used when calculating the fuel injection amount and when calculating the ignition timing, respectively. In spite of the stability mode in which control stability is prioritized, unstable torque control may occur.
[0036]
Therefore, during the stability mode operation, the ECU 27 calculates the fuel injection amount based on the latest command torque at that time at the fuel injection amount calculation timing as shown in FIG. At the timing calculation timing, the ignition timing is calculated based on the past instruction torque calculated before the instruction torque at the ignition timing calculation timing (for example, the instruction torque at the immediately preceding fuel injection amount calculation timing). As a result, the deviation between the command torque used for calculating the fuel injection amount and the command torque used for calculating the ignition timing is reduced (or set to 0), the fluctuation of the output torque with respect to the command torque is reduced, and the stability of torque control is improved. Let it.
[0037]
By the way, as described above, during the stability mode operation, since the ignition timing is calculated based on the past command torque, the responsiveness of the torque control may be reduced. As a countermeasure, the ECU 27 predicts the future rotation speed of the engine 11 during the stability mode operation, calculates the indicated torque based on the future rotation speed, and sets the ignition timing based on the past indicated torque. Even when calculating, the response of the torque control is improved.
[0038]
The future rotation speed is obtained as follows. As shown in FIG. 5, the engine rotation speed Ne is detected by the crank angle sensor 23 at a predetermined cycle (for example, 360 ° A cycle), and the estimated shaft torque T for each cylinder is calculated. According to the method of calculating the estimated shaft torque T for each cylinder, the estimated shaft torque T0 is calculated based on the actual intake air amount detected by the air flow meter 14, and the estimated shaft torque T0 includes the ignition timing efficiency and the presence or absence of fuel injection (1 or 0) to obtain the cylinder-specific estimated shaft torque T.
T = T0 x ignition timing efficiency x presence or absence of fuel injection (1 or 0)
[0039]
The stability mode (sequential cut mode and sequential return mode) is selected when the state of the drive transmission system (gear or clutch) connected to the engine 11 is stable (for example, fuel cut operation during deceleration). The behavior of the subsequent rotational speed Ne is substantially determined by the behavior of the estimated shaft torque T for each cylinder. Therefore, the relationship between the fluctuation amount of the estimated shaft torque T for each cylinder and the fluctuation amount of the rotation speed Ne can be expressed as the following equation.
{Ne (i) -Ne (i-1)} / {T (i-1) -T (i-2)} = {ENe-Ne (i)} / {T (i) -T (i-1) )}
[0040]
Here, Ne (i-1) is the rotation speed one time before (for example, before 360 ° A), Ne (i) is the current rotation speed, and ENe is the future rotation speed for the next time (for example, after 360 ° A). , T (i-2) is the cylinder estimated shaft torque two times before (for example, 720 ° C. before), T (i-1) is the cylinder shaft estimated one time before (for example, 360 ° A before), T (I) is the current estimated cylinder torque for each cylinder.
[0041]
By solving the above equation for the future rotation speed ENe, the following equation (1) can be obtained.
ENe = {T (i) -T (i-1)} / {T (i-1) -T (i-2)} × {Ne (i) -Ne (i-1)} + Ne (i) ... … (1)
[0042]
The ECU 27 calculates the future rotation speed ENe using the engine rotation speed Ne and the cylinder-specific estimated shaft torque T according to the above equation (1), and calculates the instruction torque based on the future rotation speed ENe during the stability mode operation. I do.
[0043]
Further, as described above, in the response mode, the ignition timing is calculated based on the latest instruction torque, whereas in the stability mode, the ignition timing is calculated based on the past instruction torque. For this reason, as shown in FIG. 6, when switching between the response mode and the stability mode, the command torque used for calculating the ignition timing is switched between the latest command torque and the past command torque (for example, the command torque before three ignitions). If the amount of change is large, the command torque used for calculating the ignition timing changes abruptly, so that the output torque may change suddenly and adversely affect drivability.
[0044]
As a countermeasure, as shown in FIG. 7, when switching between the response mode and the stability mode, the ECU 27 executes a smoothing process for gradually changing the instruction torque used for calculating the ignition timing, thereby making it possible to calculate the ignition timing. A sudden change in the used instruction torque is prevented, and a sudden change in the output torque is prevented.
[0045]
Hereinafter, in the response mode, the ignition timing is calculated based on the latest instruction torque RT (i). In the stability mode, the ignition timing is calculated based on the instruction torque RT (in) before n ignitions (for example, three ignitions before). The case where the ignition timing is calculated will be described.
[0046]
As shown in FIG. 7, in the response mode, the counter value S of the smoothing counter is maintained at the maximum value Smax (for example, 4), and when the mode is switched from the response mode to the stability mode, the smoothing counter is switched every normal ignition interval. The counter value S is decremented by “1”, and is decreased from the maximum value Smax to 0. On the other hand, in the stability mode, the counter value S of the smoothing counter is maintained at 0, and when switching from the stability mode to the response mode, the counter value S of the smoothing counter is incremented by "1" at each normal ignition interval. From 0 to the maximum value Smax.
[0047]
Then, the instruction torque rRT used for calculating the ignition timing is calculated by the following equation.
rRT = RT (in) + {RT (i) -RT (in)} × S / Smax (2)
In the response mode, in order to maintain the counter value S of the smoothing counter at the maximum value Smax, the command torque rRT used for calculating the ignition timing is maintained at the latest command torque RT (i) according to the above equation (2).
[0048]
Further, when switching from the response mode to the stability mode, the counter value S of the smoothing counter is decremented by 1 from the maximum value Smax to 0, and therefore, the command torque rRT used for calculating the ignition timing is calculated by the above equation (2). Gradually changes from the latest command torque RT (i) to the command torque RT (in) before n ignitions.
[0049]
On the other hand, in the stability mode, in order to maintain the counter value S of the smoothing counter at 0, the command torque rRT used for calculating the ignition timing is maintained at the command torque RT (in) before n ignitions, according to the above equation (2). Is done.
[0050]
When the mode is switched from the stability mode to the response mode, the counter value S of the smoothing counter is incremented by “1” from 0 to the maximum value Smax in increments of “1”. Gradually changes from the instruction torque RT (in) before n ignitions to the latest instruction torque RT (i).
[0051]
The expression (2) need not always be used in all modes, and may be used in at least one of switching from the response mode to the stability mode and switching from the stability mode to the response mode.
[0052]
Next, a description will be given of a sequential cut or a sequential return in which fuel injection is cut or restarted in an order skipped by a predetermined number of cylinders with respect to a normal fuel injection order of each cylinder.
[0053]
If the torque generation rate (the ratio of the instruction torque to the output torque when fuel injection is performed in all cylinders) is not the instruction torque itself, it can directly correspond to the number of fuel cut cylinders. For example, in the case of the engine 11 having a total of five cylinders, when the torque generation rate is 0.8 (= 4/5), it is sufficient to cut off the fuel for only one cylinder.
[0054]
Therefore, the ECU 27 reduces or increases the torque generation rate at a constant rate (by a predetermined change amount in a predetermined cycle), and increases or decreases the number of fuel cut cylinders in accordance with the torque generation rate, so that the designated torque (torque generation rate) is reduced. ) Is accurately reflected, and a sequential cut or a sequential return is realized.
[0055]
A predetermined cycle and a predetermined change amount (hereinafter, referred to as a “torque generation rate change amount”) when the torque generation rate is changed at a constant rate are set as follows. In an engine 11 having a total number of cylinders of Y cylinders (where Y is an integer of 3 or more), X cylinders (where X is 1) every n cycles (where n is an integer of 0 or more) with respect to the normal fuel injection order of each cylinder. When executing the sequential cut or the sequential return in the order skipped by the above integers, the predetermined cycle for changing the torque generation rate is set to the normal ignition interval of the engine 11 (= 720 ° C. A / Y). Then, the torque generation rate change amount ΔTCR is set by the following equation (3).
ΔTCR = 1 / Y / (X + 1 + n × Y) (3)
[0056]
Therefore, in the sequential cut mode, the torque generation rate TCRate is reduced by the following equation at each normal ignition interval by a torque generation rate change amount ΔTCR = 1 / Y / (X + 1 + n × Y).
TCrate (i) = TCrate (i-1) -1 / Y / (X + 1 + n * Y)
[0057]
On the other hand, in the sequential return mode, the torque generation rate TCRate is increased by a torque generation rate change amount ΔTCR = 1 / Y / (X + 1 + n × Y) by the following equation at each normal ignition interval.
TCrate (i) = TCrate (i−1) + 1 / Y / (X + 1 + n × Y)
[0058]
Hereinafter, the case where the engine 11 has five cylinders will be described.
In the five-cylinder engine 11, the output torque decreases by 20% each time the number of fuel cut cylinders increases by one cylinder. Therefore, as shown in FIG. 8A, in the sequential cut mode, the determination of the torque generation rate TCrate is performed. The value is set at intervals of 0.2 (for example, 0.8 → 0.6 → 0.4 → 0.2 → 0), and the number of fuel cut cylinders decreases by 1 every time the torque generation rate TCRate decreases by 0.2. It is designed to increase by cylinder.
[0059]
In addition, in the five-cylinder engine 11, the output torque increases by 20% each time the number of fuel return cylinders (5-fuel cut cylinder number) increases by one cylinder. Therefore, as shown in FIG. In the return mode, the determination value of the torque generation rate TCRate is set at intervals of 0.2 (for example, 0 → 0.2 → 0.4 → 0.6 → 0.8), and the torque generation rate TCRate is only 0.2. Each time the number of cylinders is increased, the number of fuel return cylinders is increased by one cylinder.
[0060]
Note that the determination value of the torque generation rate TCRate in each mode is an appropriate factor. For example, when 0 <TCrate ≦ 0.2, misfire occurs beyond the adjustment range when adjusting the torque at the ignition retard angle. In the case of the sequential cut mode, the number of fuel cut cylinders may be set to 5 in a range of TCrate ≦ 0.1 in the case of the sequential cut mode.
[0061]
When the engine 11 having five cylinders performs the sequential cut or the sequential return in the order of skipping one cylinder at a time every 0 cycles (that is, every cycle) with respect to the normal fuel injection order of each cylinder. Substitutes Y = 5, n = 0, and X = 1 into the above equation (3) to determine the torque generation rate change amount ΔTCR.
ΔTCR = 1/5 / (1 + 1 + 0 × 5) = 0.1
[0062]
By setting the torque generation rate change amount ΔTCR in this way, as shown in FIG. 9, the torque generation rate TCRate can be decreased or increased by 0.1 for each ignition, so that every two ignitions (that is, The torque generation rate is 0.2 (that is, the torque generation rate corresponding to fuel cut or fuel return for one cylinder of the five-cylinder engine 11) in increments of one cylinder at a time with respect to the normal fuel injection order. It can be reduced or increased. Thus, the five-cylinder engine 11 can execute the sequential cut or the sequential return in the order in which the cylinders are skipped one by one with respect to the normal fuel injection order of each cylinder.
[0063]
By the way, when the torque generation rate change amount ΔTCR is calculated by the above equation (3), the calculation result of the torque generation rate change amount ΔTCR becomes an infinite decimal number as in the case where the total number of cylinders is three or six. Sometimes. For example, in the engine 11 having a total number of six cylinders, the sequential cut or the sequential return is executed in the order in which the cylinders are skipped one by one every 0 cycles (that is, every cycle) with respect to the normal fuel injection order of each cylinder. In this case, when the torque generation rate change ΔTCR is calculated by substituting Y = 6, n = 0, and X = 1 into the above equation (3), the torque generation rate change ΔTCR becomes an infinite decimal number as follows. Become.
ΔTCR = 1/6 / (1 + 1 + 0 × 6) = 0.08333
[0064]
Therefore, as shown in FIG. 10A, first, the number of digits after the decimal point of the determination value of the torque generation rate TCRate is set so as not to cause a problem in control, and then the decimal point of the torque generation rate change amount ΔTCR is set. The torque generation rate change amount ΔTCR is set to, for example, 0.0833 by the round-down method so that the following digits are equal to the determination value. However, if the torque generation rate change amount ΔTCR is set by the truncation method, when the torque generation rate TCRate is decreased by the torque generation rate change amount ΔTCR (for example, 0.0833) in order to perform the sequential cut, the torque generation rate TCRate is set. Is insufficient, and the timing for increasing the number of fuel cut cylinders is shifted.
[0065]
Therefore, as shown in FIG. 10B, the torque generation rate change ΔTCR is set to, for example, 0.0834 by the round-up method so that the number of decimal places of the torque generation rate change ΔTCR becomes the same as the determination value. Need to be done. When the torque generation rate change amount ΔTCR is set in the round-up method as described above, when the torque generation rate TCRate is decreased by the torque generation rate change amount ΔTCR (for example, 0.0834) in order to perform the sequential cut, the torque generation rate is changed. The minimum value of TCrate becomes a negative value. Therefore, in order to prevent the torque generation rate TCRate from becoming a negative value, it is conceivable to perform a guard process by setting the minimum value of the torque generation rate TCRate to 0.
[0066]
However, if the minimum value of the torque generation rate TCRate is guarded by 0, then the torque generation rate TCRate is changed from the guarded minimum value (0) to the torque generation rate change amount ΔTCR (for example, 0) in order to perform sequential return. 0.0834), the timing of increasing the number of fuel return cylinders may be shifted. In addition, the case where the torque generation rate TCRate is subjected to the guard processing and the case where the guard processing is not performed (the case where the torque generation rate TCRate is increased before the torque generation rate TCRate is reduced to the minimum value due to a change in the operating conditions). Therefore, there is also a problem that the torque generation rates become different values.
[0067]
As a countermeasure, as shown in FIG. 10 (c), the torque generation rate TCRate used for determining the number of fuel cut cylinders and the number of fuel return cylinders is not subjected to guard processing, and is used as it is even if it takes a negative value. It is good to treat it as 0 at the stage of conversion into a control value. In this manner, the sequential cut and the sequential return can be performed without shifting the timing of increasing the number of fuel cut cylinders and the number of fuel return cylinders. Further, by increasing the number of digits of the torque generation rate change amount ΔTCR to be larger than the number of digits of the determination value of the torque generation rate TCRate, it is possible to prevent the accuracy from being deteriorated during integration.
[0068]
By the way, even if the torque generation rate TCRate is changed at a constant rate (by a predetermined change amount in a predetermined cycle) so as to perform a sequential cut or a sequential return, the fuel injection amount calculation timing (that is, the fuel cut or the fuel cutoff in accordance with the torque generation rate TCRate). When the fuel return timing changes, the change in the torque generation rate TCRate received at each fuel injection amount calculation timing may not be constant, and the fuel cut order and the fuel return order may be disturbed. Further, if the fuel injection timing is not fixed, it is difficult to determine in advance whether fuel cut or fuel return is in time, and it becomes difficult to specify a cylinder to be fuel cut or fuel returned next.
[0069]
As a countermeasure, the ECU 27 fixes the fuel injection amount calculation timing and the fuel injection timing in the stability mode (sequential cut mode and sequential return mode). For example, as shown in FIG. 11A, during sequential cut, the fuel injection amount calculation timing is fixed two ignitions before the ignition timing calculation timing, and at the time of sequential recovery, the fuel injection amount calculation timing is three ignitions before the ignition timing calculation timing. The injection amount calculation timing is fixed. The fuel injection timing is fixed immediately after each fuel injection amount calculation timing.
[0070]
In this case, the required fuel injection amount changes depending on the engine operating state such as the engine rotation speed, the engine temperature, and the load. Therefore, the fuel injection amount calculation timing and the fuel injection timing should be set to timings allowing injection with some allowance. The point is that once in the stability mode, the fuel injection amount calculation timing and the fuel injection timing need not be changed during the stability mode operation. The first fuel injection amount calculation timing and the fuel injection timing may be set by assuming a subsequent change in the engine operating state. Even if it is assumed that the engine operation state will change afterwards, it is sufficient to consider the operation state in which the stability mode should be continued, so if the accelerator is depressed or there is a sharp decrease in the rotation speed, the smoothing process will also be bypassed. Since these should be switched to the response mode, these cases do not need to be considered.
[0071]
The torque control by the ECU 27 described above is executed in accordance with the torque control programs shown in FIGS. Hereinafter, the processing contents of these programs will be described.
[0072]
[Future rotation speed calculation]
The future rotation speed calculation program shown in FIG. 12 is executed at a predetermined cycle (for example, 360 ° A cycle). When this program is started, first, in step 101, the engine rotation speed Ne detected by the crank angle sensor 23 is read.
[0073]
Thereafter, the routine proceeds to step 102, where the estimated shaft torque T0 is calculated based on the intake air amount detected by the air flow meter 14, and the estimated shaft torque T0 is multiplied by the ignition timing efficiency and the presence or absence of fuel injection (1 or 0). To obtain an estimated shaft torque T for each cylinder. The processing of step 102 serves as a shaft torque calculating means referred to in the claims.
[0074]
Thereafter, the routine proceeds to step 103, where the future rotational speed ENe is calculated by the following equation.
ENe = {T (i) -T (i-1)} / {T (i-1) -T (i-2)} × {Ne (i) -Ne (i-1)} + Ne (i)
The processing in step 103 plays a role as a future rotation speed prediction means in the claims.
[0075]
[Calculation of torque generation rate]
The torque generation rate calculation program shown in FIG. 13 is executed at regular ignition intervals (for example, at 144 ° C. in the case of a five-cylinder engine). When this program is started, first, in step 201, it is determined whether or not the torque cut mode TCMode is set to “1”.
[0076]
The torque cut mode TCMode is set to one of “1”, “2”, “3”, and “0” by a torque cut mode determination program (not shown). The torque cut mode TCMode = 1 means the sequential cut mode, and the torque cut mode TCMode = 2 means the all cylinder cut mode. Further, the torque cut mode TCMode = 3 means the sequential return mode, and the torque cut mode TCMode = 0 means the all cylinder return mode.
[0077]
For example, when all the deceleration fuel cut / return conditions such as the idling state, the gear is not neutral, and the engine rotation speed Ne is higher than a predetermined rotation speed are satisfied, the stability of the torque control should be prioritized. It is determined that the state is the state, and the torque cut mode TCMode = 1 is set to select the sequential cut mode. Alternatively, the torque recovery mode TCMode is set to 3, and the sequential return mode is selected.
[0078]
On the other hand, when the deceleration fuel cut / return condition is not satisfied, it is determined that the responsiveness of the torque control should be given priority, and the torque cut mode TCMode is set to 2 to select the all cylinder cut mode. Alternatively, the torque cut mode TCMode = 0 is set and the all-cylinder return mode is selected.
[0079]
In step 201, it is determined whether or not the sequential cut mode is selected based on whether or not the torque cut mode TCMode is set to “1”, and the sequential cut mode is selected (torque cut mode TCMode = If determined as 1), the process proceeds to step 202, where it is determined whether or not the previous time was also the sequential cut mode.
[0080]
When it is determined that the previous time is not the sequential cut mode, that is, in the case of the first processing after switching to the sequential cut mode, the process proceeds from step 202 to step 203, where the torque generation rate TCrate is set to “1”. , Proceed to step 204.
[0081]
On the other hand, if it is determined in the step 202 that the previous time is also the sequential cut mode, that is, the second and subsequent times after switching to the sequential cut mode, the process proceeds from the step 202 to the step 204.
[0082]
In step 204, the torque generation rate TCRate is reduced by the change amount ΔTCR of the torque generation rate TCRate according to the following equation. However, the minimum value of the torque generation rate TCrate is 0.
TCRate = TCRate-ΔTCR
[0083]
Here, in the engine 11 having the total number of cylinders of 5, the sequential cut or the sequential return is performed every 0 cycles (that is, every cycle) with respect to the normal fuel injection order of each cylinder in the order of skipping one cylinder at a time. When executing, the torque generation rate change amount ΔTCR is set by substituting Y = 5, n = 0, and X = 1 into the following equation.
ΔTCR = 1 / Y / (X + 1 + n × Y)
= 1/5 / (1 + 1 + 0 × 5) = 0.1
[0084]
Thus, in the sequential cut mode, the torque generation rate TCRate is reduced by 0.1 for each ignition, and the torque is generated for every two ignitions (that is, in the order of skipping one cylinder at a time with respect to the normal fuel injection order). The rate TCRate is decreased by 0.2 (that is, a torque generation rate corresponding to a fuel cut for one cylinder of the five-cylinder engine 11).
[0085]
On the other hand, if it is determined in step 201 that the sequential cut mode is not selected (torque cut mode TCMode # 1), the process proceeds to step 205, and whether the torque cut mode TCMode is set to "2" is determined. Thus, it is determined whether or not the all-cylinder cut mode is selected.
[0086]
If it is determined in step 205 that the all-cylinder cut mode is selected (torque cut mode TCMode = 2), the process proceeds to step 206, where the torque generation rate TCrate is set to “0”.
TCrate = 0
[0087]
If it is determined in step 205 that the all-cylinder cut mode is not selected (torque cut mode TCMode # 2), the process proceeds to step 207, and whether the torque cut mode TCMode is set to "3" is determined. Whether or not the sequential return mode has been selected is determined depending on whether or not it is determined.
[0088]
If it is determined in step 207 that the sequential return mode has been selected (torque cut mode TCMode = 3), the process proceeds to step 208, where the torque generation rate TCrate is increased by the torque generation rate change amount ΔTCR according to the following equation. However, the maximum value of the torque generation rate TCrate is 1.
TCrate = TCrate + ΔTCR
[0089]
Thus, in the sequential return mode, the torque generation rate TCRate is increased by 0.1 for each ignition, and the torque is generated for every two ignitions (that is, in the order of skipping one cylinder at a time with respect to the normal fuel injection order). The rate TCRate is increased by 0.2 (that is, a torque generation rate corresponding to fuel return for one cylinder of the five-cylinder engine 11).
[0090]
When it is determined in step 207 that the sequential return mode is not selected (torque cut mode TCMode # 3), it is determined that the all-cylinder return mode is selected (torque cut mode TCMode = 0). Then, the routine proceeds to step 209, where the torque generation rate TCrate is set to "1".
TCrate = 1
[0091]
[Instruction indicated torque calculation]
The indicated indicated torque calculation program shown in FIG. 14 is executed at each normal ignition interval, and plays a role as indicated torque calculation means in claims. When this program is started, first, in step 301, it is determined whether or not the torque generation rate TCrate is “1”.
[0092]
If the torque generation rate TCRate is "1", that is, in the case of the all-cylinder return mode, the routine proceeds to step 302, where a loss torque (torque according to the load of external accessories, etc.) is added to the driver-specified shaft torque. The designated indicated torque RITrq is obtained.
RITrq = driver indicated shaft torque + loss torque
[0093]
On the other hand, if the torque generation rate TCRate is not "1", that is, if the sequential cut mode, the sequential return mode, or the all-cylinder cut mode, the process proceeds to step 303, where the map is generated based on the future rotational speed ENe and the intake air amount. After calculating the estimated indicated torque EITrq in the case where fuel is injected in all cylinders, the process proceeds to step 304, and the indicated indicated torque RITrq is obtained by multiplying the estimated indicated torque EITrq by the torque generation rate TCRate.
RITrq = EITRq × TCrate
[0094]
[Fuel cut / return decision]
The fuel cut / return determination program shown in FIGS. 15 and 16 is executed at each normal ignition interval, and plays a role as a fuel injection amount calculation means referred to in the claims. When the program is started, first, in step 401, it is determined whether or not the estimated indicated torque EITrq ≠ 0. If it is determined that the estimated indicated torque EITrq = 0, in order to prevent a division by zero, Proceeding to step 402, the torque ratio rTrate is set to "1".
[0095]
On the other hand, if it is determined in step 401 that the estimated indicated torque EITrq ≠ 0, the process proceeds to step 403, where the indicated indicated torque RITrq is divided by the estimated indicated torque EITrq to obtain a torque ratio rTrate (= torque generation rate TCRate). Ask.
rTRate = RITrq / EITRq
[0096]
Thereafter, the routine proceeds to step 404, where it is determined whether or not the torque cut mode TCMode = 1 (sequential cut mode). If the torque cut mode TCMode is the sequential cut mode, the routine proceeds to step 405, where the fuel cut cylinder order shown in FIG. Execute the setting program.
[0097]
Thereafter, the process proceeds to step 406, where it is determined whether or not the torque cut mode TCMode = 3 (sequential return mode). If the mode is the sequential return mode, the process proceeds to step 407, and the fuel return cylinder order shown in FIG. Execute the setting program.
[0098]
Thereafter, the process proceeds to step 408 in FIG. 16, and the injection rate rIRate is calculated by the following equation using the total number of cylinders Y (for example, 5) and the current number of fuel cut cylinders FCL.
rIRate = (5-FCL) / 5
[0099]
Then, in the next step 409, it is determined whether or not the torque cut mode TCMode = 1 (sequential cut mode). If the mode is the sequential cut mode, the process proceeds to step 410, where a sequential fuel cut process shown in FIG. The program is executed to perform a sequential cut in which fuel injection is cut in a sequence skipped by a predetermined number of cylinders (for example, one cylinder) with respect to a normal fuel injection sequence of each cylinder.
[0100]
Thereafter, the process proceeds to step 411, where it is determined whether or not the torque cut mode TCMode = 3 (sequential return mode). If the mode is the sequential return mode, the process proceeds to step 412, where a sequential fuel return process shown in FIG. The program is executed to perform a sequential return in which fuel injection is restarted in the order in which a predetermined number of cylinders (for example, one cylinder) are skipped in the normal fuel injection order of each cylinder.
[0101]
Then, in the next step 413, it is determined whether or not the torque cut mode TCMode = 2 (all cylinder cut mode). If it is the all cylinder cut mode, the process proceeds to step 414 to execute the all cylinder fuel cut process. Then, the fuel injection is cut in the normal fuel injection order of each cylinder to cut the fuel injection of all cylinders.
[0102]
Thereafter, the process proceeds to step 415, where it is determined whether or not the torque cut mode TCMode is 0 (all cylinders return mode). If the mode is the all cylinders return mode, the process proceeds to step 416 to execute the all cylinder fuel return process. Then, fuel injection is resumed in the normal fuel injection order of each cylinder, and fuel injection of all cylinders is resumed.
[0103]
Then, in the last step 417, after calculating the current number of fuel cut cylinders FCL, the present program is ended.
[0104]
[Set fuel cut cylinder order]
When the fuel cut cylinder order setting program (step 405 in FIG. 15) shown in FIG. 17 is started, first, in step 501, the count value (crank rotation position) of the crank counter CCunt is read. As shown in FIG. 11B, the crank counter CCunt is incremented by “1” every 36 ° C., so that 4 counts of the crank counter CCnt correspond to a normal ignition interval (144 ° C.), Twenty counts of the crank counter CCnt correspond to one cycle (720 ° C.). Note that the crank counter CCunt is reset to “0” when it reaches “20”.
[0105]
Further, the crank rotation position of the crank counter CCunt = 0 is equivalent to the ignition timing calculation timing of # 5, and the crank rotation positions of the crank counter CCunt = 4, 8, 12, and 16 are # 3, # 1, and # 2, respectively. , And # 4.
[0106]
First, in step 501, the count value (crank rotation position) of the crank counter CCunt is read, and then in step 502, it is determined whether or not the crank counter CCunt = 0 (ignition timing calculation timing of # 5). As a result, if it is determined that the crank counter CCnt = 0 (ignition timing calculation timing of # 5), the process proceeds to step 503, where rCylord (1) = 3, rCylord (2) = 1, rCylord (3) = 2. By setting rCylord (4) = 4 and rCylord (5) = 5, the priority order of the cylinders to be fuel cut is set in the order of # 3, # 1, # 2, # 4, # 5.
[0107]
On the other hand, if it is determined in step 502 that the crank counter CCunt is not 0 (ignition timing calculation timing of # 5), the process proceeds to step 504, and the crank counter CCunt = 4 (ignition timing calculation timing of # 3). Is determined. If it is determined that the crank counter CCunt = 4 (ignition timing calculation timing of # 3), the process proceeds to step 505, where rCylord (1) = 1, rCylord (2) = 2, rCylord (3) = 4, rCylord ( 4) = 5, rCylord (5) = 3, so that the priority order of the cylinders for which fuel is cut is set in the order of # 1, # 2, # 4, # 5, # 3.
[0108]
If it is determined in step 504 that the crank counter CCunt is not 4 (ignition timing calculation timing of # 3), the process proceeds to step 506, and the crank counter CCunt = 8 (ignition timing calculation timing of # 1). Is determined. As a result, if it is determined that the crank counter CCunt = 8 (ignition timing calculation timing of # 1), the process proceeds to step 507, where rCylord (1) = 2, rCylord (2) = 4, rCylord (3) = 5. By setting rCylord (4) = 3 and rCylord (5) = 1, the priority order of the cylinders for fuel cut is set in the order of # 2, # 4, # 5, # 3, # 1.
[0109]
If it is determined in step 506 that the crank counter CCunt is not 8 (ignition timing calculation timing of # 1), the process proceeds to step 508, and the crank counter CCunt = 12 (ignition timing calculation timing of # 2). Is determined. As a result, if it is determined that the crank counter CCunt = 12 (ignition timing calculation timing of # 2), the process proceeds to step 509, where rCylord (1) = 4, rCylord (2) = 5, rCylord (3) = 3. By setting rCylord (4) = 1 and rCylord (5) = 2, the priority order of the cylinders to be fuel cut is set in the order of # 4, # 5, # 3, # 1, # 2.
[0110]
If it is determined in step 508 that the crank counter CCunt is not 12 (ignition timing calculation timing of # 2), it is determined that the crank counter CCunt = 16 (ignition timing calculation timing of # 4). Proceeding to step 510, by setting rCylord (1) = 5, rCylord (2) = 3, rCylord (3) = 1, rCylord (4) = 2, rCylord (5) = 4, the cylinder of the fuel cut cylinder is set. The priorities are set in the order of # 5, # 3, # 1, # 2, # 4.
[0111]
[Fuel return cylinder setting]
When the fuel return cylinder order setting program (step 407 in FIG. 15) shown in FIG. 18 is started, first, in step 601, the count value (crank rotation position) of the crank counter CCunt is read, and then the process proceeds to step 602. It is determined whether or not crank counter CCunt = 8 (ignition timing calculation timing of # 1). As a result, if it is determined that the crank counter CCunt = 8 (ignition timing calculation timing of # 1), the process proceeds to step 603, where rCylord (1) = 4, rCylord (2) = 5, rCylord (3) = 3. By setting rCylord (4) = 1 and rCylord (5) = 2, the priority order of the cylinders that return fuel is set in the order of # 4, # 5, # 3, # 1, # 2.
[0112]
On the other hand, if it is determined in step 602 that the crank counter CCunt is not 8 (ignition timing calculation timing of # 1), the process proceeds to step 604, and the crank counter CCunt = 12 (ignition timing calculation timing of # 2). Is determined. As a result, if it is determined that the crank counter CCunt = 12 (ignition timing calculation timing of # 2), the process proceeds to step 605, where rCylord (1) = 5, rCylord (2) = 3, rCylord (3) = 1. By setting rCylord (4) = 2 and rCylord (5) = 4, the priority order of the cylinders that return fuel is set in the order of # 5, # 3, # 1, # 2, # 4.
[0113]
If it is determined in step 604 that the crank counter CCunt is not 12 (ignition timing calculation timing of # 2), the process proceeds to step 606, and the crank counter CCunt = 16 (ignition timing calculation timing of # 4). It is determined whether or not. As a result, when it is determined that the crank counter CCunt = 16 (ignition timing calculation timing of # 4), the process proceeds to step 607, where rCylord (1) = 3, rCylord (2) = 1, and rCylord (3). = 2, rCylord (4) = 4, and rCylord (5) = 5, the priority order of the cylinders that return fuel is set in the order of # 3, # 1, # 2, # 4, and # 5.
[0114]
If it is determined in step 606 that the crank counter CCunt is not 16 (ignition timing calculation timing of # 4), the process proceeds to step 608, where crank counter CCunt = 0 (ignition timing calculation timing of # 5). It is determined whether or not. As a result, when it is determined that the crank counter CCunt = 0 (ignition timing calculation timing of # 5), the process proceeds to step 609, where rCylord (1) = 1, rCylord (2) = 2, and rCylord (3). By setting = 4, rCylord (4) = 5, and rCylord (5) = 3, the priority order of the cylinders that return fuel is set in the order of # 1, # 2, # 4, # 5, and # 3.
[0115]
If it is determined in step 608 that the crank counter CCunt is not 0 (ignition timing calculation timing of # 5), it is determined that crank counter CCunt = 4 (ignition timing calculation timing of # 3), and step 610 is determined. By setting rCylord (1) = 2, rCylord (2) = 4, rCylord (3) = 5, rCylord (4) = 3, and rCylord (5) = 1, the priority order of the cylinders returning to fuel is set. Are set in the order of # 2, # 4, # 5, # 3, # 1.
[0116]
[Sequential fuel cut processing]
When the sequential fuel cut processing program (step 410 in FIG. 16) shown in FIG. 19 is started, first, in step 701, a value obtained by subtracting 0.2 from the injection rate rIRate is equal to or more than the torque ratio rTRate (rIRate−0.2). ≧ rTrate) is determined. If it is determined that rIRate-0.2 <rTrate, the program ends.
[0117]
Thereafter, when it is determined that rIRate−0.2 ≧ rTrate, the routine proceeds to step 702, where a cylinder-specific fuel cut request rCCReq {rCylord (n)} is set to “0” meaning fuel return, and The cylinder-based intake fuel amount rIFel {rCylord (n)} is 0. Among rCylord (n), the one with the highest priority is selected as the fuel cut cylinder. During the subsequent stability mode (sequential cut mode) operation, the fuel injection amount calculation timing and the fuel injection timing are fixed.
[0118]
Thereafter, the routine proceeds to step 703, where the cylinder-specific fuel cut request rCCReq {rCylord (n)} is set to "1" indicating the fuel cut for the rCylord (n) selected in step 702, and then proceeds to step 704. , The injection rate rIRate is reduced by 0.2.
[0119]
In the sequential cut mode, the torque ratio rTRate (= torque generation rate TCRate) is reduced by 0.1 for each ignition, and the torque ratio rTRate is reduced by 0.2 for each two ignitions. Every time (that is, in the order of skipping one cylinder at a time with respect to the normal fuel injection order), a sequential cut in which the number of fuel cut cylinders is increased one by one can be executed.
[0120]
[Sequential fuel return processing]
When the sequential fuel return processing program (step 412 in FIG. 16) shown in FIG. 20 is started, first, in step 801, it is determined whether the torque ratio rTrate is equal to or more than the injection rate rIRate (rTrate ≧ rIRate). As a result, if it is determined that rTrate <rIRate, the program ends.
[0121]
Thereafter, when it is determined that rTRate ≧ rIRate, the routine proceeds to step 802, where the cylinder-specific fuel cut request rCCReq {rCylord (n)} is set to “1” meaning fuel cut rCylord (n) Among them, the one with the highest priority is selected as the fuel return cylinder. During the subsequent stability mode (sequential return mode) operation, the fuel injection amount calculation timing and the fuel injection timing are fixed.
[0122]
Thereafter, the routine proceeds to step 803, where the cylinder-specific fuel cut request rCCReq {rCylord (n)} is set to "0", which means fuel return, for the rCylord (n) selected at step 802, and then proceeds to step 804. , Increase the injection rate rIRate by 0.2.
[0123]
In the sequential return mode, the torque ratio rTRate (= torque generation rate TCRate) is increased by 0.1 for each ignition, and the torque ratio rTRate is increased by 0.2 for every two ignitions. Every time (that is, in the order of skipping one cylinder at a time with respect to the normal fuel injection order), a sequential return in which the number of fuel return cylinders is increased one by one can be executed.
[0124]
The fuel cut cylinder order setting program shown in FIG. 17, the fuel return cylinder order setting program shown in FIG. 18, the sequential fuel cut program shown in FIG. 19, and the sequential fuel return program shown in FIG. It serves as a sequential control means.
[0125]
[Calculation of ignition timing retard amount]
The ignition timing retard amount calculation program shown in FIG. 21 is executed at regular ignition intervals, and plays a role as ignition timing calculation means described in the claims. When the program is started, first, in step 901, it is determined whether or not the torque cut mode TCMode is 1 (sequential cut mode). If it is the sequential cut mode, the process proceeds to step 902, and FIG. The sequential cut processing program shown in FIG.
[0126]
Thereafter, the process proceeds to step 903, where it is determined whether or not the torque cut mode TCMode = 3 (sequential return mode). If the mode is the sequential return mode, the process proceeds to step 904 to execute a sequential return processing program shown in FIG. Execute
[0127]
Then, in the next step 905, it is determined whether or not the torque cut mode TCMode = 0 or 2 (all cylinder return mode or all cylinder cut mode). Proceeding to 906, the all cylinder return or all cylinder cut processing program shown in FIG.
[0128]
Thereafter, the process proceeds to step 907, in which the value of rTCMode (old) is updated with the current TCMode, and then the process proceeds to step 908, where the ignition timing is determined by using an instruction torque rRTrq, an estimated torque rETrq, and the number of fuel cut cylinders rCL described later. The torque ratio rTrate for calculating the retard amount is calculated by the following equation.
rTRate = rRTrq / {rETrq × (5-rCL) / 5}
[0129]
Then, in the next step 909, after executing the previous value update processing program shown in FIG. 25, the process proceeds to step 910, in which a map of the ignition timing retard amount TCRert shown in FIG. 26 is searched, and the map corresponding to the torque ratio rTrate is retrieved. An ignition timing retard amount TCRert is obtained.
[0130]
[Sequential cut processing]
When the sequential cut processing program (step 902 in FIG. 21) shown in FIG. 22 is started, first, in step 1001, it is determined whether or not rTCMode (Old) = 0 (previous is all-cylinder return mode). If the previous time was determined to be the all-cylinder return mode, that is, the first time after switching to the sequential cut mode, the process proceeds to step 1002, and the counter value of the smoothing counter SCnt is set to the maximum value Smax (for example, 3).
[0131]
Thereafter, the process proceeds to step 1003, where 3 is the initial value of the instruction torque rRTrq (old3) before ignition, 2 is the initial value of the instruction torque rRTrq (old2) before ignition, and 1 is the initial value of the instruction torque rRTrq (old) before ignition. , Set the current indicated indicated torque RITrq. These values of rRTrq (old3), rRTrq (old2) and rRTrq (old) are updated by a previous value update processing program shown in FIG.
[0132]
Thereafter, the process proceeds to step 1004, where the initial value of the estimated torque rETrq (old3) before 3 ignitions, the initial value of the estimated torque rETrq (old2) before 2 ignitions, and the initial value of the estimated torque rETrq (old) before 1 ignition are determined. , Set the current estimated indicated torque EITrq. The values of rETrq (old3), rETrq (old2) and rETrq (old) are updated by a previous value update processing program shown in FIG.
[0133]
On the other hand, if it is determined in step 1001 that the previous time is not the all-cylinder return mode, that is, from the second time after switching to the sequential cut mode, the process proceeds to step 1005, and the counter value of the smoothing counter SCnt is set to “1”. It is decremented (however, SCnt = 0 is set to the minimum value).
[0134]
Thereafter, the process proceeds to step 1006, where, for example, when the fuel injection amount calculation timing at the time of the sequential cut is two ignitions before the ignition timing calculation timing, the instruction torque rRTrq used for calculating the ignition timing retard amount is calculated by the following equation.
rRTrq = rRTrq (old2) + {rRITrq−rRTrq (old2)} × SCnt / 3
[0135]
Thus, when switching from the all-cylinder return mode (response mode) to the sequential cut mode (stability mode), the counter value of the smoothing counter SCnt is decremented by 1 from the maximum value Smax (for example, 3) to 0. Therefore, the command torque rRTrq used for calculating the ignition timing retard amount by the above equation gradually changes from the latest commanded indicated torque rRITrq to the command torque rRTrq (old2) two ignitions before, and during the stability mode, In order to maintain the counter value of the smoothing counter SCnt at 0, the command torque rRTrq used for calculating the ignition timing retard amount by the above equation is the command torque rRTrq (old2) before two ignitions, that is, the command used for calculating the fuel injection amount. The torque is maintained. The process of step 1006 plays a role as a command torque gradually changing means referred to in the claims.
[0136]
Thereafter, the process proceeds to step 1007, in which the estimated torque rETrq used for calculating the ignition timing retard amount is set to the estimated torque rETrq (old2) before two ignitions, and then the process proceeds to step 1008, which is used for calculating the ignition timing retard amount. The fuel cut cylinder number rCL is set to the fuel cut cylinder number rCL (old) one ignition before.
[0137]
[Sequential return processing]
When the sequential return processing program (step 904 in FIG. 21) shown in FIG. 23 is started, in step 1101, for example, if the fuel injection amount calculation timing at the time of sequential return is three ignitions before the ignition timing calculation timing, the ignition timing The instruction torque rRTrq used for calculating the retard amount is set to the instruction torque rRTrq (old3) before ignition, that is, the instruction torque used for calculating the fuel injection amount, and the estimated torque rETrq used for calculating the ignition timing retard amount is set to 3. The estimated torque rETrq (old3) before ignition is set, and the number rCL of fuel cut cylinders used for calculating the ignition timing retard amount is set to the number rCL (old) of fuel cut cylinders before one ignition.
[0138]
[All cylinder return or all cylinder cut processing]
When the all cylinder return or all cylinder cut processing program (step 906 in FIG. 21) shown in FIG. 24 is started, in step 1201, the instruction torque rRTrq used for calculating the ignition timing retard amount is changed to the current instruction indicated torque RITrq. It sets the estimated torque rETrq used for calculating the ignition timing retard amount to the current estimated indicated torque EITrq, and sets the fuel cut cylinder number rCL used for calculating the ignition timing retard amount to the current fuel cut cylinder number FCL. set.
[0139]
[Previous value update process]
When the previous value update processing program (step 909 in FIG. 21) shown in FIG. 25 is started, first, in step 1301, the instruction torque rRTrq (old3) before three ignitions is changed to the instruction torque rRTrq (old2) before two ignitions. The instruction torque rRTrq (old2) before the second ignition is updated with the instruction torque rRTrq (old) before the first ignition, and the instruction torque rRTrq (old) before the first ignition is updated with the current indicated indicated torque RITrq.
[0140]
Thereafter, the routine proceeds to step 1302, where the estimated torque rETrq (old3) before three ignitions is updated with the estimated torque rETrq (old2) before two ignitions, and the estimated torque rETrq (old2) before two ignitions is estimated for one ignition before. While updating with rETrq (old), the estimated torque rETrq (old1) one ignition before is updated with the current estimated indicated torque EITrq.
[0141]
Thereafter, the routine proceeds to step 1303, where the fuel cut cylinder number rCL is updated with the current fuel cut cylinder number FCL, and the program ends.
[0142]
According to the present embodiment described above, in response modes (all-cylinder cut mode and all-cylinder return mode) in which the responsiveness of torque control is prioritized, the fuel injection amount calculation timing is based on the latest instruction torque at that time. The fuel injection amount is calculated, and at the subsequent ignition timing calculation timing, the ignition timing is calculated based on the latest instruction torque at that time, so that torque control with good response to a change in the instruction torque is performed. be able to.
[0143]
However, in the stability mode (sequential cut mode and sequential return mode) where the stability of torque control is prioritized, the latest instruction torque is calculated when calculating the fuel injection amount and when calculating the ignition timing, as in the response mode. If this is used, the command torque value used for calculating the fuel injection amount and the command torque value used for calculating the ignition timing will be different. Therefore, as shown in the simulation result of FIG. (Output torque) may vary, leading to unstable torque control.
[0144]
Therefore, in the present embodiment, in the stability mode, the fuel injection amount is calculated based on the latest instruction torque at that time at the fuel injection amount calculation timing, and at the subsequent ignition timing calculation timing, the fuel injection amount is calculated at the ignition timing calculation timing. Since the ignition timing is calculated based on the past command torque calculated before the command torque (for example, the command torque at the immediately preceding fuel injection amount calculation timing), the command torque and the ignition used for the fuel injection amount calculation are calculated. The deviation from the command torque used for timing calculation can be reduced (or set to 0), and as shown in the simulation result of FIG. 28, the variation of the cylinder-based total estimated torque (output torque) with respect to the command torque is reduced. Thus, stable torque control can be realized.
[0145]
Note that the command torque used for calculating the ignition timing is not limited to the command torque at the fuel injection amount calculation timing, but may be the past command torque calculated before the command torque at the ignition timing calculation timing. The command torque before and after the command torque at the calculation timing may be used.
[0146]
In the stability mode, since the ignition timing is calculated based on the past command torque, as shown in FIG. 28, there is a possibility that the responsiveness of the cylinder-based total estimated torque (output torque) to the command torque may decrease. In the present embodiment, the future rotation speed of the engine 11 is predicted during the stability mode operation, and the instruction torque is calculated based on the future rotation speed. Is taken into account, and the responsiveness of the torque control can be improved even when the ignition timing is calculated based on the past command torque.
[0147]
Further, the future rotational speed can be obtained by integrating the shaft torque of the engine 11, but using the integration increases the calculation load of the ECU 17. In this regard, in the present embodiment, the future rotation speed is calculated using the rotation speed detected by the crank angle sensor 23 and the shaft torque calculated based on the intake air amount. In addition, the future rotational speed can be calculated with high accuracy, and integration becomes unnecessary, and the calculation load of the ECU 27 can be reduced.
[0148]
However, the calculation method of the future rotation speed may be appropriately changed, and the future rotation speed may be obtained by integrating the shaft torque of the engine 11.
Further, it is not always necessary to calculate the instruction torque based on the future rotation speed, and the calculation method of the instruction torque may be appropriately changed such that the instruction torque may be calculated based on the current rotation speed.
[0149]
Further, in the present embodiment, when switching between the response mode and the stability mode, the command torque used for calculating the ignition timing is gradually changed. Therefore, when switching between the response mode and the stability mode, the ignition timing is changed. It is possible to prevent the command torque used for the calculation from changing suddenly, and prevent the output torque from changing suddenly, thereby preventing the drivability from deteriorating.
[0150]
Further, in the present embodiment, in the engine 11 in which the total number of cylinders is Y (where Y is an integer of 3 or more), every n cycles (where n is an integer of 0 or more) with respect to the normal fuel injection order of each cylinder. When sequential cut or sequential return is executed in the order skipped by X cylinders (where X is an integer of 1 or more), a predetermined cycle for changing the torque generation rate is set to a normal ignition interval (= 720 ° C. A / Y). , And the predetermined amount of change is set to 1 / Y / (X + 1 + n × Y), so that the torque generation rate is reduced (or increased) at such a rate as to achieve a desired sequential cut (or sequential return). The number of fuel cut cylinders can be increased (or decreased) in accordance with the torque generation rate thus changed, so that the sequence in which the indicated torque (torque generation rate) is accurately reflected. It is possible to realize a Yarukatto and sequential return.
[0151]
Further, in the present embodiment, since the fuel injection amount calculation timing and the fuel injection timing are fixed during the execution of the sequential cut or the sequential return, it is possible to prevent the fuel cut order and the fuel return order from being disordered, Sequential cut and sequential return can be reliably executed in a predetermined order, and the cylinder that is ready for fuel cut or fuel return can be easily determined in advance. Can be specified.
[0152]
The scope of the present invention is not limited to a five-cylinder engine, and the present invention may be applied to an engine having four or less cylinders or six or more cylinders.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of an entire engine control system according to an embodiment of the present invention.
FIG. 2 is a time chart for explaining a sequential cut and a sequential return.
FIG. 3 is a time chart for explaining a relationship between a fuel injection timing and an ignition timing.
4A is a time chart for explaining a relationship between a command torque used for calculating a fuel injection amount and a command torque used for calculating an ignition timing in a response mode, and FIG. 4B is a time chart for calculating a fuel injection amount in a stability mode; Chart for explaining the relationship between the command torque used for ignition and the command torque used for ignition timing calculation
FIG. 5 is a time chart for explaining a calculation method of a future rotation speed.
FIG. 6 is a time chart showing a case in which, when switching between the response mode and the stability mode, the command torque used for calculating the ignition timing is instantaneously switched between the latest command torque and the past command torque;
FIG. 7 is a time chart showing a case where the command torque used for calculating the ignition timing is gradually changed when switching between the response mode and the stability mode;
FIG. 8
(A) is a diagram showing the relationship between the torque generation rate in the sequential cut mode and the number of fuel cut cylinders, and (b) is a diagram showing the relationship between the torque generation rate in the sequential return mode and the number of fuel return cylinders.
FIG. 9
Time chart for explaining sequential cut and sequential return according to torque generation rate
FIG. 10
(A) to (c) are diagrams for explaining a countermeasure method when the calculation result of the torque generation rate change amount is an infinite decimal number.
FIG. 11
(A) is a diagram showing an example of a relationship between a fuel injection amount calculation timing and an ignition timing calculation timing, and (b) is a diagram showing a relationship between a count value of a crank counter and each stroke of each cylinder.
FIG.
Flow chart showing the processing flow of the future rotation speed calculation program
FIG. 13
Flow chart showing the flow of processing of the torque generation rate calculation program
FIG. 14
Flowchart showing the flow of processing of the indicated indicated torque calculation program
FIG.
Flow chart showing the flow of processing of the fuel cut / return determination program (part 1)
FIG.
Flow chart showing the flow of processing of the fuel cut / return determination program (part 2)
FIG.
Flow chart showing the processing flow of the fuel cut cylinder order setting program
FIG. 18 is a flowchart showing the flow of processing of a fuel return cylinder order setting program.
FIG. 19 is a flowchart showing a processing flow of a sequential fuel cut processing program;
FIG. 20 is a flowchart showing a processing flow of a sequential fuel return processing program;
FIG. 21 is a flowchart showing the flow of processing of an ignition timing retard amount calculation program;
FIG. 22 is a flowchart showing the flow of processing of a sequential cut processing program
FIG. 23 is a flowchart showing the flow of processing of a sequential return processing program
FIG. 24 is a flowchart showing the flow of processing of an all cylinder return or all cylinder cut processing program;
FIG. 25 is a flowchart showing the flow of processing of a previous value update processing program;
FIG. 26 is a diagram conceptually showing a map of an ignition timing retard amount.
FIG. 27 is a time chart showing a simulation result when the ignition timing is calculated based on the latest indicated torque.
FIG. 28 is a time chart showing a simulation result when an ignition timing is calculated based on a past instruction torque;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 11 ... Engine (internal combustion engine), 12 ... Intake pipe, 14 ... Air flow meter, 15 ... Throttle valve, 20 ... Fuel injection valve, 21 ... Spark plug, 23 ... Crank angle sensor 23 (rotation speed detecting means), 24 ... Exhaust Pipe, 27 ... ECU (instruction torque calculation means, fuel injection amount calculation means, ignition timing calculation means, future rotation speed prediction means, shaft torque calculation means, instruction torque gradual change means, sequential control means).

Claims (10)

所定の指示トルク算出タイミング毎に指示トルクを算出する指示トルク算出手段と、
所定の燃料噴射量算出タイミング毎に前記指示トルクに基づいて燃料噴射量を算出する燃料噴射量算出手段と、
前記燃料噴射量算出タイミングよりも遅れた所定の点火時期算出タイミング毎に前記指示トルクに基づいて点火時期を算出する点火時期算出手段とを備え、
前記点火時期算出手段は、トルク制御の安定性を優先するスタビリティモード運転中に点火時期を算出する際に、その点火時期算出タイミングにおける指示トルクよりも前に算出された過去の指示トルクに基づいて点火時期を算出することを特徴とする内燃機関のトルク制御装置。
Command torque calculating means for calculating a command torque at each predetermined command torque calculation timing;
Fuel injection amount calculation means for calculating a fuel injection amount based on the command torque at each predetermined fuel injection amount calculation timing;
Ignition timing calculation means for calculating an ignition timing based on the command torque at each predetermined ignition timing calculation timing delayed from the fuel injection amount calculation timing,
The ignition timing calculation means, when calculating the ignition timing during the stability mode operation giving priority to the stability of the torque control, based on the past instruction torque calculated before the instruction torque at the ignition timing calculation timing. A torque control device for an internal combustion engine, wherein an ignition timing is calculated by using the torque control device.
前記点火時期算出手段は、前記スタビリティモード運転中に点火時期を算出する際に、前記過去の指示トルクとして直前の燃料噴射量算出タイミングにおける指示トルクを用いることを特徴とする請求項1に記載の内燃機関のトルク制御装置。2. The ignition timing calculation means according to claim 1, wherein when calculating the ignition timing during the stability mode operation, the instruction torque at the immediately preceding fuel injection amount calculation timing is used as the past instruction torque. Internal combustion engine torque control device. 内燃機関の将来の回転速度を予測する将来回転速度予測手段を備え、
前記指示トルク算出手段は、前記スタビリティモード運転中に前記将来回転速度予測手段で予測した将来回転速度に基づいて指示トルクを算出することを特徴とする請求項1又は2に記載の内燃機関のトルク制御装置。
A future rotation speed prediction means for predicting a future rotation speed of the internal combustion engine,
3. The internal combustion engine according to claim 1, wherein the command torque calculation unit calculates the command torque based on a future rotation speed predicted by the future rotation speed prediction unit during the stability mode operation. 4. Torque control device.
内燃機関の回転速度を検出する回転速度検出手段と、
内燃機関の吸入空気量に基づいて軸トルクを算出する軸トルク算出手段とを備え、
前記将来回転速度予測手段は、前記回転速度検出手段で検出した回転速度と前記軸トルク算出手段で算出した軸トルクとに基づいて前記将来回転速度を算出することを特徴とする請求項3に記載の内燃機関のトルク制御装置。
Rotation speed detection means for detecting the rotation speed of the internal combustion engine,
Shaft torque calculation means for calculating shaft torque based on the intake air amount of the internal combustion engine,
The said future rotation speed prediction means calculates the said future rotation speed based on the rotation speed detected by the rotation speed detection means and the shaft torque calculated by the shaft torque calculation means. Internal combustion engine torque control device.
前記点火時期算出手段は、トルク制御の応答性を優先するレスポンスモード運転中に点火時期を算出する際に、その点火時期算出タイミングにおける指示トルクに基づいて点火時期を算出することを特徴とする請求項1乃至4のいずれかに記載の内燃機関のトルク制御装置。The ignition timing calculation means calculates the ignition timing based on the command torque at the ignition timing calculation timing when calculating the ignition timing during the response mode operation giving priority to the responsiveness of the torque control. Item 5. The torque control device for an internal combustion engine according to any one of Items 1 to 4. 前記レスポンスモード運転と前記スタビリティモード運転とを切り換える際に、前記点火時期算出手段が点火時期を算出する際に用いる指示トルクを徐々に変化させる指示トルク徐変手段を備えていることを特徴とする請求項5に記載の内燃機関のトルク制御装置。When switching between the response mode operation and the stability mode operation, the ignition timing calculation unit includes an instruction torque gradual change unit that gradually changes an instruction torque used for calculating an ignition timing. The torque control device for an internal combustion engine according to claim 5. 内燃機関の燃料カット気筒数を増加させる際に各気筒の通常の燃料噴射順序に対して所定気筒数ずつ飛ばした順序で燃料噴射をカットしていくシーケンシャルカットと、内燃機関の燃料カット気筒数を減少させる際に各気筒の通常の燃料噴射順序に対して所定気筒数ずつ飛ばした順序で燃料噴射を再開していくシーケンシャル復帰とのうちの少なくとも一方を実行するシーケンシャル制御手段を備え、
前記シーケンシャル制御手段は、全気筒で燃料噴射した場合の出力トルクに対する指示トルクの割合であるトルク発生率を所定周期で所定変化量ずつ変化させ、そのトルク発生率に応じて燃料カット気筒数を変化させることで前記シーケンシャルカット又は前記シーケンシャル復帰を実行することを特徴とする請求項1乃至6のいずれかに記載の内燃機関のトルク制御装置。
When increasing the number of fuel cut cylinders of the internal combustion engine, a sequential cut in which fuel injection is cut in a sequence skipped by a predetermined number of cylinders with respect to the normal fuel injection order of each cylinder, and a fuel cut cylinder number of the internal combustion engine Sequential control means for executing at least one of sequential return to restart fuel injection in an order skipped by a predetermined number of cylinders with respect to the normal fuel injection order of each cylinder when decreasing,
The sequential control means changes the torque generation rate, which is the ratio of the command torque to the output torque when fuel is injected in all cylinders, by a predetermined change amount in a predetermined cycle, and changes the number of fuel cut cylinders according to the torque generation rate. The torque control device for an internal combustion engine according to any one of claims 1 to 6, wherein the sequential cut or the sequential return is performed by performing the control.
内燃機関の燃料カット気筒数を増加させる際に各気筒の通常の燃料噴射順序に対して所定気筒数ずつ飛ばした順序で燃料噴射をカットしていくシーケンシャルカットと、内燃機関の燃料カット気筒数を減少させる際に各気筒の通常の燃料噴射順序に対して所定気筒数ずつ飛ばした順序で燃料噴射を再開していくシーケンシャル復帰とのうちの少なくとも一方を実行するシーケンシャル制御手段を備えた内燃機関のトルク制御装置において、
前記シーケンシャル制御手段は、全気筒で燃料噴射した場合の出力トルクに対する指示トルクの割合であるトルク発生率を所定周期で所定変化量ずつ変化させ、そのトルク発生率に応じて燃料カット気筒数を変化させることで前記シーケンシャルカット又は前記シーケンシャル復帰を実行することを特徴とする内燃機関のトルク制御装置。
When increasing the number of fuel cut cylinders of the internal combustion engine, a sequential cut in which fuel injection is cut in a sequence skipped by a predetermined number of cylinders with respect to the normal fuel injection order of each cylinder, and a fuel cut cylinder number of the internal combustion engine The internal combustion engine is provided with a sequential control means for performing at least one of a sequential return in which fuel injection is restarted in a sequence skipped by a predetermined number of cylinders with respect to a normal fuel injection sequence of each cylinder when decreasing. In the torque control device,
The sequential control means changes the torque generation rate, which is the ratio of the command torque to the output torque when fuel is injected in all cylinders, by a predetermined change amount in a predetermined cycle, and changes the number of fuel cut cylinders according to the torque generation rate. The torque control device for an internal combustion engine performs the sequential cut or the sequential return by causing the torque control to be performed.
全気筒数がY気筒(但しYは3以上の整数)の内燃機関で各気筒の通常の燃料噴射順序に対してnサイクル(但しnは0以上の整数)おきにX気筒(但しXは1以上の整数)ずつ飛ばした順序で前記シーケンシャルカット又は前記シーケンシャル復帰を実行する場合に、
前記トルク発生率を変化させる際の前記所定周期を内燃機関の通常の点火間隔に設定し、前記所定変化量を1/Y/(X+1+n×Y)に設定することを特徴とする請求項7又は8に記載の内燃機関のトルク制御装置。
In an internal combustion engine having a total number of cylinders of Y cylinders (where Y is an integer of 3 or more), X cylinders (where X is 1) every n cycles (where n is an integer of 0 or more) with respect to the normal fuel injection order of each cylinder. When executing the sequential cut or the sequential return in the order skipped by (the above integer),
8. The method according to claim 7, wherein the predetermined cycle for changing the torque generation rate is set to a normal ignition interval of the internal combustion engine, and the predetermined change amount is set to 1 / Y / (X + 1 + n * Y). 9. The torque control device for an internal combustion engine according to claim 8.
前記シーケンシャルカット及び/又は前記シーケンシャル復帰の実行中に燃料噴射量算出タイミングと燃料噴射時期を固定することを特徴とする請求項7乃至9のいずれかに記載の内燃機関のトルク制御装置。The torque control device for an internal combustion engine according to any one of claims 7 to 9, wherein a fuel injection amount calculation timing and a fuel injection timing are fixed during the execution of the sequential cut and / or the sequential return.
JP2002160626A 2002-05-31 2002-05-31 Torque control device for internal combustion engine Expired - Fee Related JP4082096B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002160626A JP4082096B2 (en) 2002-05-31 2002-05-31 Torque control device for internal combustion engine
DE2003124589 DE10324589A1 (en) 2002-05-31 2003-05-30 Moment control system for combustion engine calculates ignition order based on past instruction moments that were calculated before calculation of instruction moment used for the timing for calculating ignition order

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002160626A JP4082096B2 (en) 2002-05-31 2002-05-31 Torque control device for internal combustion engine

Publications (2)

Publication Number Publication Date
JP2004003397A true JP2004003397A (en) 2004-01-08
JP4082096B2 JP4082096B2 (en) 2008-04-30

Family

ID=29720183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002160626A Expired - Fee Related JP4082096B2 (en) 2002-05-31 2002-05-31 Torque control device for internal combustion engine

Country Status (2)

Country Link
JP (1) JP4082096B2 (en)
DE (1) DE10324589A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006152857A (en) * 2004-11-26 2006-06-15 Honda Motor Co Ltd Ignition timing controller of internal combustion engine
JP2014227835A (en) * 2013-05-17 2014-12-08 株式会社デンソー Engine control device
CN104727958A (en) * 2013-12-18 2015-06-24 福特环球技术公司 Method and system for pre-ignition control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006152857A (en) * 2004-11-26 2006-06-15 Honda Motor Co Ltd Ignition timing controller of internal combustion engine
JP2014227835A (en) * 2013-05-17 2014-12-08 株式会社デンソー Engine control device
CN104727958A (en) * 2013-12-18 2015-06-24 福特环球技术公司 Method and system for pre-ignition control

Also Published As

Publication number Publication date
DE10324589A1 (en) 2004-01-08
JP4082096B2 (en) 2008-04-30

Similar Documents

Publication Publication Date Title
JP3045921B2 (en) Fuel injection control device for internal combustion engine
JP5796635B2 (en) Fuel cut control device and fuel cut control method for internal combustion engine
JP2003148185A (en) Cylinder cut-off control device of multi-cylinder engine
JP3791032B2 (en) Fuel injection control device for internal combustion engine
JP4244824B2 (en) Fuel injection control device for internal combustion engine
JP2003314312A (en) Variable valve control device for internal combustion engine
JP2007278224A (en) Control device of internal combustion engine
JP4082096B2 (en) Torque control device for internal combustion engine
JP4270246B2 (en) Engine start control device and start control method
US20190136773A1 (en) Controller for internal combustion engine and method for controlling internal combustion engine
JP2002130008A (en) Exhaust emission control system for internal combustion engine
JPH02298642A (en) Engine controller for vehicle with automatic transmission
JP2696444B2 (en) Fuel supply control device for internal combustion engine
JP5731735B2 (en) Engine control device
JP2000130221A (en) Fuel injection control device of internal combustion engine
JP2000154748A (en) Internal combustion engine control device
JP6885291B2 (en) Internal combustion engine control device
JP2004232477A (en) Control device of internal combustion engine
JP3511670B2 (en) Engine control device
JP2000213390A (en) Control apparatus for engine
JP2003214216A (en) Device and method for controlling engine
JP2914085B2 (en) Intake air amount control device for internal combustion engine
JP2023066661A (en) engine device
JPH10184430A (en) Exhaust gas purifying device for engine
JP2022114996A (en) Drive control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071116

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080204

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees