JP2009024686A - 内燃機関の始動制御装置 - Google Patents

内燃機関の始動制御装置 Download PDF

Info

Publication number
JP2009024686A
JP2009024686A JP2007191642A JP2007191642A JP2009024686A JP 2009024686 A JP2009024686 A JP 2009024686A JP 2007191642 A JP2007191642 A JP 2007191642A JP 2007191642 A JP2007191642 A JP 2007191642A JP 2009024686 A JP2009024686 A JP 2009024686A
Authority
JP
Japan
Prior art keywords
amount
ignition timing
cpu
control amount
cylinder
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.)
Pending
Application number
JP2007191642A
Other languages
English (en)
Inventor
Koji Ide
宏二 井手
Shigemasa Hirooka
重正 広岡
Shogo Suda
尚吾 須田
Sunao Murase
直 村瀬
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2007191642A priority Critical patent/JP2009024686A/ja
Publication of JP2009024686A publication Critical patent/JP2009024686A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

  • 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)

Abstract

【課題】失火が発生することを防止しながらエンジン回転速度を基準エンジン回転速度に迅速に近づけることが可能な内燃機関の始動制御装置を提供すること。
【解決手段】制御装置は機関の始動直後の期間中、エンジン回転速度NEが基準エンジン回転速度よりも高いとき、エンジン回転速度に基づいて点火時期SAを補正量ΔSAだけ遅角側に補正する(ステップ730)。装置は筒内空気量が基準量よりも多くなる空気量条件が成立しているか否かを判定する(ステップ705)。このとき、空気量条件が成立していると判定された場合における補正量ΔSA(ステップ725,745)は、空気量条件が成立していないと判定された場合における補正量ΔSA(ステップ710,725)よりも小さい量に設定される。これにより、出力トルクが低減されるとともに筒内空気量が基準量よりも多い場合に点火時期が過度に遅角側の時期に設定されることが回避される。
【選択図】図7

Description

本発明は、内燃機関の始動時にエンジン回転速度に基づいて点火時期を変更する装置に関する。
一般に、内燃機関に供給される燃料には、相対的に霧化しやすい燃料である軽質燃料と、相対的に霧化しにくい燃料である重質燃料と、が存在する。
内燃機関が始動させられた直後の始動初期期間においては、気筒にて燃焼に供される燃料量は、噴射された燃料が霧化しやすいほど多くなる。従って、軽質燃料が噴射されると、重質燃料が噴射された場合と比較して多い量の燃料が燃焼に供されるので、気筒内に形成された混合ガスが燃焼することにより内燃機関が出力するトルク(出力トルク)は大きくなる。この結果、軽質燃料が噴射された場合には、始動初期期間においてエンジン回転速度が過度に高くなる吹き上がりが発生する。
そこで、従来の内燃機関の始動制御装置の一つは、始動初期期間において、エンジン回転速度が所定の基準エンジン回転速度よりも高いとき、補正量(遅角補正量)だけ所定の基準点火時期を補正することにより点火時期を遅角させる。この遅角補正量は、エンジン回転速度から基準エンジン回転速度を減じた値が大きくなるほど大きくなるように設定されている(例えば、特許文献1を参照。)。
特開2004−19571号公報
これによれば、吹き上がりが発生した場合、点火時期が遅角されることにより出力トルクが低減される。従って、エンジン回転速度は基準エンジン回転速度に近づけられる。この結果、エンジン回転速度が過度に高くなることを防止することができる。換言すると、吹き上がりを抑制することができる。
ところで、点火時期を遅角させ過ぎると、混合ガスに点火しても混合ガスが燃焼しない失火が発生する。失火は、燃料が霧化しにくくなるほど発生しやすくなる。即ち、重質燃料が噴射された場合、軽質燃料が噴射された場合よりも失火が発生しやすい。一方、上記従来の制御装置においては、燃料が霧化しにくくなるほど出力トルクが小さくなるので遅角補正量は小さくなる。従って、重質燃料が噴射された場合であっても失火が発生する可能性は低い。
しかしながら、始動初期期間において、気筒内に供給される空気量(筒内空気量)が何らかの理由により所定の基準筒内空気量よりも比較的多くなる場合がある。この場合、出力トルクが大きくなるので、エンジン回転速度も高くなる。従って、上記従来の制御装置によれば、始動初期期間にて筒内空気量が比較的多い場合において重質燃料が噴射されたとき、失火が発生しやすい重質燃料を含む混合ガスにとって遅角補正量が過大となって失火が発生する可能性が高まるという問題があった。
本発明は上述した課題に対処するためになされたものであって、その目的の一つは、失火が発生することを防止しながらエンジン回転速度を基準エンジン回転速度に迅速に近づけることが可能な内燃機関の始動制御装置を提供することにある。
かかる目的を達成するため本発明に係る内燃機関の始動制御装置は、
エンジン回転速度を取得するとともに、同取得されたエンジン回転速度が、気筒内に導入される空気量である筒内空気量が所定の基準筒内空気量であるという条件が成立している状態において同気筒内に導入された空気と燃料とを含む混合ガスに所定の基準点火時期にて点火した場合に取得されるエンジン回転速度である基準エンジン回転速度よりも高いとき、同基準点火時期を遅角側に補正することにより点火時期を決定し同決定された点火時期にて同混合ガスに点火することによりエンジン回転速度を同基準エンジン回転速度に近づけるように構成される装置である。
更に、この始動制御装置は、
前記筒内空気量が前記基準筒内空気量よりも多くなる空気量条件が成立しているか否かを判定する空気量判定手段と、
前記内燃機関が始動させられた直後の始動初期期間にて、前記取得されたエンジン回転速度が前記基準エンジン回転速度よりも高い場合において前記空気量判定手段により前記空気量条件が成立していないと判定されたとき、第1の点火時期補正量だけ前記基準点火時期を遅角側に補正することにより前記点火時期を決定する第1の点火時期補正手段と、
前記始動初期期間にて、前記取得されたエンジン回転速度が前記基準エンジン回転速度よりも高い場合において前記空気量判定手段により前記空気量条件が成立していると判定されたとき、第2の点火時期補正量だけ前記基準点火時期を遅角側に補正することにより、前記第1の点火時期補正手段が使用されると仮定した場合に決定される点火時期よりも進角側の時期に前記点火時期を決定する第2の点火時期補正手段と、を備える。
なお、エンジン回転速度は、内燃機関の出力軸の回転速度そのものであってもよいし、複数の時点にて取得された内燃機関の出力軸の回転速度の平均値であってもよい。また、エンジン回転速度は、内燃機関の出力軸の回転速度を表すパラメータにより表されていてもよい。このパラメータは、例えば、混合ガスの燃焼が最初に発生した気筒が、その燃焼が発生する燃焼サイクルにおける圧縮上死点を迎えた時点(初爆時点)から経過した時間(経過時間)である。即ち、「エンジン回転速度が高い」ことは、「経過時間が短い」ことに対応していると言うことができる。
これによれば、始動初期期間にて、エンジン回転速度が基準エンジン回転速度よりも高い場合において空気量条件が成立していないとき、第1の点火時期補正手段によって、点火時期は、基準点火時期が第1の点火時期補正量だけ遅角側に補正されることにより決定される。これにより、気筒における混合ガスの燃焼によって出力されるトルク(出力トルク)が適切に低減させられる。この結果、エンジン回転速度を基準エンジン回転速度に迅速に近づけることができる。
なお、空気量条件が成立していない場合に吹き上がりが発生したときは、軽質燃料が使用されている可能性が高い。従って、比較的大きい第1の点火時期補正量だけ基準点火時期を遅角側に補正することによりエンジン回転速度を比較的大きく低下させても、失火は発生しにくい。
一方、始動初期期間にて、エンジン回転速度が基準エンジン回転速度よりも高い場合において空気量条件が成立しているときは、重質燃料が使用されている可能性が否定できない。そこで、点火時期は、第2の点火時期補正手段によって、第2の点火時期補正量だけ基準点火時期が遅角側に補正されることにより第1の点火時期補正手段が使用されると仮定した場合に決定される点火時期よりも進角側の時期に決定される。これにより、出力トルクが低減されるとともに、点火時期が過度に遅角側の時期に設定されることが回避される。この結果、エンジン回転速度を基準エンジン回転速度に近づけることができるとともに、重質燃料が使用されていても失火が発生する(混合ガスに点火しても混合ガスが燃焼しない)ことを防止することができる。
なお、軽質燃料が使用されている場合にも、空気量条件が成立しているときには、空気量条件が成立していないときよりも出力トルクが大きくなる。従って、例えば、制御装置が、エンジン回転速度と基準エンジン回転速度との差が大きくなるほど大きくなる点火時期補正量だけ基準点火時期を遅角側に補正するように構成されている場合には、軽質燃料が使用されていても点火時期が過度に遅角側に補正されることにより失火が発生する虞がある。これに対し、上記構成によれば、空気量条件が成立している場合、点火時期は、空気量条件が成立していない場合よりも進角側の時期に決定されるので、失火が発生することを防止することができる。
この場合、上記内燃機関の始動制御装置は、
所定の制御量を変更することにより前記気筒内に供給される空気量を変更する空気量変更手段と、
前記制御量を目標制御量に一致させるように前記空気量変更手段を制御する空気量制御手段と、
所定のフィードバック条件が成立している場合、前記取得されたエンジン回転速度が所定の目標エンジン回転速度に一致するように、フィードバック制御量を算出するとともに同算出されたフィードバック制御量に基づいて前記目標制御量を決定するフィードバック制御手段と、
前記フィードバック条件が成立している場合に前記算出されたフィードバック制御量に基づいて学習制御量を算出するとともに同算出された学習制御量を記憶手段が保持するように同記憶手段に記憶させ、一方、同フィードバック条件が成立していない場合において同学習制御量が保持されているときに同保持されている学習制御量に基づいて前記目標制御量を決定する学習制御手段と、
前記内燃機関を始動させるために同内燃機関が操作された際、前記学習制御量が保持されている場合に同保持されている学習制御量に基づいて前記目標制御量を決定し一方同学習制御量が保持されていない場合に所定の初期目標制御量を前記目標制御量として採用する始動時目標制御量設定手段と、
を備え、
前記空気量判定手段は、前記始動初期期間にて、前記学習制御量が保持されている場合に前記空気量条件が成立していないと判定し一方同学習制御量が保持されていない場合に同空気量条件が成立していると判定するように構成されることが好適である。
これによれば、フィードバック条件が成立している場合、取得されたエンジン回転速度が目標エンジン回転速度に一致するようにフィードバック制御量が算出されるとともに、少なくとも算出されたフィードバック制御量に基づいて目標制御量が決定される。そして、制御量が決定された目標制御量に一致するように空気量変更手段が制御される。これにより、制御量が適切に変更されるので、エンジン回転速度を目標エンジン回転速度に十分に近づけることができる。
更に、この場合、算出されたフィードバック制御量に基づいて学習制御量が算出されるとともに算出された学習制御量が記憶手段により保持される。
また、内燃機関を始動させるために内燃機関が操作された際、学習制御量が保持されている場合、保持されている学習制御量に基づいて目標制御量が決定される。一方、学習制御量が保持されていない場合、初期目標制御量が目標制御量として採用される。
ところで、初期目標制御量は、内燃機関を始動させるために必要な出力トルクを確保するために筒内空気量を比較的多い量とするように設定されている。このため、制御装置へ電力を供給するバッテリが交換されること等により記憶手段が保持していた学習制御量が消去された場合には、始動初期期間にて筒内空気量が基準筒内空気量よりも多くなる。
従って、上記構成のように、始動初期期間にて、学習制御量が保持されている場合に空気量条件が成立していないと判定し一方学習制御量が保持されていない場合に空気量条件が成立していると判定することにより、筒内空気量が基準筒内空気量よりも多くなる空気量条件が成立しているか否かを適切に判定することができる。
<構成>
以下、本発明による内燃機関の始動制御装置(制御装置)の実施形態について図面を参照しながら説明する。図1は、この制御装置を火花点火式多気筒(4気筒)内燃機関に適用したシステムの概略構成を示している。なお、図1は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
内燃機関10は、4サイクル運転方式により運転されるように構成されている。4サイクル運転方式は、排気上死点から吸気下死点までの吸気行程、吸気下死点から圧縮上死点までの圧縮行程、圧縮上死点から膨張下死点までの膨張行程及び膨張下死点から排気上死点までの排気行程の4つの行程からなる燃焼サイクルを各気筒が繰り返す運転方式である。内燃機関10は、4つの気筒の燃焼サイクルの位相が1つの行程に対応する大きさ(後述するクランク角度にて180°)ずつ異なるように構成されている。
内燃機関10は、車両に搭載されている。内燃機関10は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20に燃料と空気とを含む混合ガスを供給するための吸気系統40と、シリンダブロック部20からの排ガスを外部に放出するための排気系統50と、を含んでいる。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23及び出力軸としてのクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これによりクランク軸24が回転するようになっている。シリンダ21、ピストン22のヘッド及びシリンダヘッド部30は、燃焼室(気筒)25を形成している。
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともにこのインテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置33、可変吸気タイミング装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38及び燃料噴射手段としてのインジェクタ39を備えている。
インジェクタ39は、図示しない燃料タンクFTに接続されている。インジェクタ39には、その燃料タンクFT内の燃料が供給される。インジェクタ39は、供給された燃料を指示信号に応答して吸気ポート31内に噴射することにより燃焼室25内へ燃料を供給するようになっている。
吸気系統40は、各気筒の吸気ポート31にそれぞれ連通する独立した複数の通路を有するインテークマニホールド41、インテークマニホールド41のすべての通路に連通したサージタンク42、サージタンク42に一端が接続され吸気ポート31とインテークマニホールド41とサージタンク42とともに吸気通路を形成する吸気ダクト43、吸気ダクト43の他端部から下流(サージタンク42)に向けて順に吸気ダクト43に配設されたエアフィルタ44、空気量変更手段としてのスロットル弁45及び空気量制御手段としてのスロットル弁アクチュエータ45aを備えている。
スロットル弁45は、吸気ダクト43に回転可能に支持されている。スロットル弁45は、スロットル弁アクチュエータ45aにより駆動(制御)されることによって、制御量としての開度(スロットル弁開度TA)を調整して吸気ダクト43の通路断面積を調整するようになっている。このような構成により、スロットル弁45は、スロットル弁開度TAを変更することにより、吸気ダクト43(吸気通路)を通過する空気の量を変更でき、その結果、気筒内に供給される空気量を変更できる。
DCモータからなるスロットル弁アクチュエータ45aは、後述する電気制御装置70により送出される駆動信号に応じて、実際のスロットル弁45の開度(スロットル弁開度)TAが目標スロットル弁開度TAtgtに一致するようにスロットル弁45を駆動するようになっている。
排気系統50は、各気筒の排気ポート34にそれぞれ連通する独立した複数の通路を有するエキゾーストマニホールド51、エキゾーストマニホールド51に接続され排気ポート34とエキゾーストマニホールド51とともに排気通路を形成する排気管52及び排気管52に配設された三元触媒装置53を備えている。
一方、このシステムは、熱線式のエアフローメータ61、吸気温度センサ62、吸気圧力センサ63、スロットルポジションセンサ64、カムポジションセンサ65、クランクポジションセンサ66、アクセル開度センサ67、冷却水温度センサ68、車速センサ69及び電気制御装置70を備えている。
エアフローメータ61は、エアフィルタ44とスロットル弁45との間の吸気ダクト43に配設されている。エアフローメータ61は、吸気ダクト43内を通過する空気の流量(即ち、吸気流量)を検出し、吸気流量Gaを表す信号を出力するようになっている。
吸気温度センサ62は、エアフィルタ44とスロットル弁45との間の吸気ダクト43に配設されている。吸気温度センサ62は、スロットル弁45の上流における空気の温度(即ち、吸気温度)を検出し、吸気温度Taを表す信号を出力するようになっている。
吸気圧力センサ63は、エアフィルタ44とスロットル弁45との間の吸気ダクト43に配設されている。吸気圧力センサ63は、スロットル弁45の上流における空気の圧力(即ち、吸気圧力)を検出し、吸気圧力Paを表す信号を出力するようになっている。
スロットルポジションセンサ64は、スロットル弁45の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
カムポジションセンサ65は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)生じるパルスを有する信号(G2信号)を出力するようになっている。
クランクポジションセンサ66は、クランク軸24が10°回転する毎に生じる幅狭のパルスを有するとともにクランク軸24が360°回転する毎に生じる幅広のパルスを有する信号を出力するようになっている。この信号は、クランク軸24が30°回転する間に経過する時間である第1回転所要時間T30と、クランク軸24が180°回転する間に経過する時間である第2回転所要時間T180と、クランク軸24が360°回転する間に経過する時間の逆数であるエンジン回転速度NEと、を取得するために使用される。
アクセル開度センサ67は、運転者によって操作されるアクセルペダル81の操作量を検出し、アクセルペダルの操作量(アクセルペダル操作量)Accpを表す信号を出力するようになっている。
冷却水温度センサ68は、シリンダ21の側壁内を循環する冷却水の温度(冷却水温度)を検出し、冷却水温度Twを表す信号を出力するようになっている。
車速センサ69は、車両の速度である車速Vを検出し、検出された車速Vを表す信号を出力するようになっている。
電気制御装置70は、互いにバスによって接続されたCPU71、ROM72、RAM73、バックアップRAM74及びインターフェース75を含むマイクロコンピュータである。なお、バックアップRAM74は記憶手段を構成している。
CPU71は、所定のプログラムを実行することにより、種々の指示信号を送るようになっている。
ROM72は、電力が供給されている間に、保持しているデータをCPU71が読み取れるように構成された記憶媒体である。ROM72は、CPU71により実行されるプログラム、テーブル(ルックアップテーブル、マップ)、定数等のデータ(情報)を予め保持している。
RAM73及びバックアップRAM74は、電力が供給されている間に、CPU71からの指示に応じてデータを記憶することにより記憶したデータを保持するように構成されるとともに保持しているデータをCPU71が読み取れるように構成された記憶媒体である。
インターフェース75は、ADコンバータを介して前記センサ61〜69と接続されている。インターフェース75は、CPU71にセンサ61〜69からの信号を供給するとともに、CPU71の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39及びスロットル弁アクチュエータ45aに駆動信号(指示信号)を送出するようになっている。
更に、電気制御装置70は、図示しないバッテリBTに接続されている。
バッテリBTは、電気制御装置70に接続された状態において、図示しないイグニッション・スイッチISがオン状態に設定されている場合にCPU71、ROM72、RAM73、バックアップRAM74及びインターフェース75へ電力を供給し、一方、イグニッション・スイッチISがオフ状態に設定されている場合にバックアップRAM74にのみ電力を供給するようになっている。
このような構成により、RAM73は、イグニッション・スイッチISがオン状態に設定されている場合にCPU71がプログラムを実行することによって生成されるデータを一時的に保持する。また、バックアップRAM74は、イグニッション・スイッチISがオフ状態となっている間に保持する必要があるデータを保持する。
<作動の概要>
次に、上記のように構成された内燃機関の始動制御装置の作動の概要について説明する。
この制御装置は、アクセルペダル操作量Accpが「0」であるとき(アイドル運転状態にあるとき)であって内燃機関10の温度が略一定となったとき(本例では、冷却水温度Twが所定の閾値温度Twth以上となったとき)、エンジン回転速度NEが目標エンジン回転速度NErefに一致するように、フィードバック制御量TAfbを算出する。このフィードバック制御量TAfbは、エンジン回転速度NEが目標エンジン回転速度NErefよりも高いときに減少させられ、一方、エンジン回転速度NEが目標エンジン回転速度NErefよりも低いときに増大させられる。
そして、この制御装置は、算出したフィードバック制御量TAfbに基づいてスロットル弁開度TAをフィードバック制御する。更に、制御装置は、フィードバック制御量TAfbに基づいて学習制御量TAgを算出し(学習を行い)、算出された学習制御量TAgをバックアップRAM74に保持させる。
ところで、このバックアップRAM74は、前述したように、イグニッション・スイッチISがオフ状態に設定されている場合にもバッテリBTから電力が供給されることにより学習制御量TAgを保持する。従って、バッテリBTが交換されること等によりバックアップRAM74への電力の供給が途絶えると、学習制御量TAgは消失する。この場合、学習を再度行わなければならない。換言すると、学習完了条件は不成立となる。
そこで、この制御装置は、内燃機関10を始動させるために内燃機関10が操作された際(本例では、イグニッション・スイッチISが始動位置に移動されて(オフ状態からオン状態へ切り替えられて)スタータ・モータが駆動された際(以下、単に「始動操作時」とも称呼する。))、学習完了条件が成立していれば、即ち、学習制御量TAgが得られていてバックアップRAM74に保持されていれば、スロットル弁開度TAをその学習制御量TAgに基づく開度に調整する。
これに対し、始動操作時に学習完了条件が成立していなければ、即ち、学習制御量TAgがバックアップRAM74に保持されていなければ、スロットル弁開度TAを初期目標スロットル弁開度TA0に調整する。この初期目標スロットル弁開度TA0は、供給される燃料が重質燃料であっても内燃機関10が始動時に必要なトルクを出力できるように、比較的大きい開度に定められている。なお、始動時においては、内燃機関10の始動性を良好にするために、内燃機関10に供給される混合ガスの空燃比を理論空燃比よりもリッチ側のリッチ空燃比とするような比較的多量の燃料が噴射される。
一方、制御装置は、内燃機関10が始動させられた直後の始動初期期間中の時点(本例では、各気筒において2回目の燃焼が発生する燃焼サイクルにおける圧縮上死点をその気筒が迎えた時点)にて、経過時間Tiが基準経過時間Trefよりも短いとき(即ち、エンジン回転速度NEの平均値が基準エンジン回転速度の平均値よりも高いとき)、経過時間Tiに基づいて点火時期SAを点火時期補正量ΔSAだけ遅角側に補正する。ここで、経過時間Tiは、混合ガスの燃焼が最初に発生した気筒が、その燃焼が発生する燃焼サイクルにおける圧縮上死点を迎えた(ピストン22が圧縮上死点位置に位置した)時点(初爆時点)から経過した時間である。この点火時期補正量ΔSAは、経過時間Tiと基準経過時間Trefとの差に応じて定められる。このように点火時期が遅角される結果、経過時間Tiを基準経過時間Trefに近づけることができる。
ところで、スロットル弁開度TAが初期目標スロットル弁開度TA0に調整されると筒内空気量(燃焼室25内に導入される空気量、吸入空気量)が多くなる。これにより、出力トルクが増大してエンジン回転速度が大きく上昇する場合が生じる。その結果、特に、遅角された点火時期に対して失火し易い重質燃料が供給されていると、点火時期が過度に遅角側に補正されることにより失火が発生する可能性が高まる。
そこで、この制御装置は、始動操作時において学習完了条件が成立していない場合(スロットル弁開度TAが初期目標スロットル弁開度TA0に設定される場合)、その後の点火時期の点火時期補正量ΔSAを、始動操作時において学習完了条件が成立している場合よりも小さい量に設定する。この結果、点火時期を重質燃料にとって失火が生じない程度の時期に設定することができる。
また、軽質燃料が供給されている状態にて筒内空気量が比較的多い場合には、エンジン回転速度が極めて大きくなる場合がある。この場合においても、点火時期補正量ΔSAを学習完了条件が成立している場合と同じ量に設定していると、点火時期が過度に遅角側に移行される。その結果、供給される燃料が軽質燃料であっても失火が発生する虞がある。これに対し、この制御装置は、スロットル弁開度TAが初期目標スロットル弁開度TA0に設定される場合には点火時期補正量ΔSAを小さくするので、そのような事態(軽質燃料供給時の失火)の発生をも回避することができる。
<作動の詳細>
次に、電気制御装置70の実際の作動について、図2〜図12を参照しながら説明する。
先ず、後述するように、所定の学習完了条件が成立することにより値が「1」に設定された学習完了フラグXgdと、エンジン回転速度NEに基づいてスロットル弁開度TAがフィードバック制御されることにより算出された学習制御量TAgと、がバックアップRAM74に保持されている状態であって、燃料タンクFTに軽質燃料が充填された状態において、内燃機関10の運転が開始することを運転者が希望する場合から説明する。
ここで、学習完了フラグXgdは、所定の学習完了条件(図10のステップ1040を参照。)が成立しているか否かを表すフラグであって、その値が「1」であれば成立しており、「0」であれば成立していないことを示す。なお、学習完了フラグXgdの値が「1」であることは、実質的に学習制御量TAgが記憶手段に保持されていることを表す。また、学習完了フラグXgdの値が「0」であることは、実質的に学習制御量TAgが記憶手段に保持されていないことを表す。
この場合、運転者は、内燃機関10を始動させるためにイグニッション・スイッチISをオフ状態からオン状態へ切り替える(内燃機関10が操作される)。これにより、CPU71は、図示しないスタータ・モータによりクランク軸24を回転させる(クランキングを開始させる)ためにそのスタータ・モータに駆動信号を送る。その結果、クランキングが開始させられる。
一方、CPU71は、イグニッション・スイッチISがオフ状態からオン状態へ切り替えられた時、図示しない学習読込ルーチンを実行する。
具体的には、CPU71は、バックアップRAM74に保持されている学習制御量TAg及び学習完了フラグXgdをRAM73に記憶させることによりRAM73に保持させる。なお、学習制御量TAg及び学習完了フラグXgdは、バックアップRAM74への電力の供給が途絶え、その後、バックアップRAM74へ電力が供給されると、それぞれが「0」に設定される(「0」に初期化される)ようになっている。
(フィードバック制御実行判定)
また、CPU71は、図2にフローチャートにより示したフィードバック制御実行判定ルーチンを、いずれかの気筒が圧縮上死点を迎える(いずれかの気筒におけるピストン22が圧縮上死点位置に位置する)毎に(即ち、クランク軸24の回転角度であるクランク角度が180°ずつ変化する毎に)実行するようになっている。
従って、所定のタイミングになると、CPU71は、ステップ200から処理を開始してステップ205に進み、アクセル開度センサ67により検出されたアクセルペダル操作量Accp(機関10の負荷)を読み込む。次いで、CPU71は、ステップ210に進んで、上記ステップ205にて読み込まれたアクセルペダル操作量Accpが「0」であるか否かを判定する。
この時点では、運転者はアクセルペダル81を操作していないので、アクセルペダル操作量Accpは「0」である。従って、CPU71は、ステップ210にて「Yes」と判定してステップ215に進み、車速センサ69により検出された車速Vを読み込む。次いで、CPU71は、ステップ220に進んで上記ステップ215にて読み込まれた車速Vが「0」であるか否かを判定する。
この時点では、車両は停止しているので、車速Vは「0」である。従って、CPU71は、ステップ220にて「Yes」と判定してステップ225に進み、アイドル運転フラグXidlの値を「1」に設定する。
ここで、アイドル運転フラグXidlは、内燃機関10がアイドル運転状態にあるか否かを表すフラグであって、その値が「1」であればアイドル運転状態にあり、「0」であればアイドル運転状態にないことを示す。後述する通り、アイドル運転フラグXidlの値は、アクセルペダル操作量Accp及び車速Vのいずれかが「0」でない場合に「0」に設定される(ステップ250を参照。)。
そして、CPU71は、ステップ230に進んで冷却水温度センサ68により検出された冷却水温度Twを読み込む。次いで、CPU71は、ステップ235に進んで上記ステップ230にて読み込まれた冷却水温度Twが閾値温度Twth以上であるか否かを判定する。ここで、閾値温度Twthは、冷却水温度Twが閾値温度Twthである場合において内燃機関10が運転され続けても冷却水温度Twが略一定となるような温度に予め設定されている。本例では、閾値温度Twthは70℃(343K)である。
なお、ステップ210、ステップ220及びステップ235のすべての条件が成立していることは、フィードバック条件が成立していることに対応している。また、ステップ210、ステップ220及びステップ235のいずれかの条件が成立していないことは、フィードバック条件が成立していないことに対応している。
この時点では、内燃機関10が始動された直後であるので、冷却水温度Twは大気の温度と略等しい。従って、CPU71は、ステップ235にて「No」と判定してステップ240に進み、フィードバック実行フラグ(FB実行フラグ)Xfbの値を「0」に設定する。
ここで、FB実行フラグXfbは、スロットル弁開度TAのフィードバック制御を実行するか否かを表すフラグであって、その値が「1」であればフィードバック制御を実行し、「0」であればフィードバック制御を実行しないことを示す。後述する通り、FB実行フラグXfbの値は、アクセルペダル操作量Accp及び車速Vがいずれも「0」であり且つ冷却水温度Twが上記閾値温度Twth以上となった場合に「1」に設定される(ステップ245を参照。)。
そして、CPU71はステップ299に進んで本ルーチンを一旦終了する。
(スロットル弁開度制御)
更に、CPU71は、図3にフローチャートにより示したスロットル弁開度制御ルーチンを、フィードバック制御実行判定ルーチンに続いて実行するようになっている。
従って、フィードバック制御実行判定ルーチンの実行が終了すると、CPU71は、ステップ300から処理を開始してステップ305に進み、アイドル運転フラグXidlの値が「1」に設定されているか否かを判定する。
この時点では、アイドル運転フラグXidlの値が「1」に設定されているので、CPU71は、ステップ305にて「Yes」と判定してステップ310に進み、FB実行フラグXfbの値が「1」であるか否かを判定する。
この時点では、FB実行フラグXfbの値が「0」に設定されているので、CPU71は、ステップ310にて「No」と判定してステップ315に進み、フィードバック制御量TAfbを「0」に設定する。即ち、スロットル弁開度TAのフィードバック制御は実質的に行われない。
そして、CPU71は、ステップ320に進んで学習完了フラグXgdの値が「1」であるか否かを判定する。
この状態においては、上述したように、CPU71が学習読込ルーチンを実行することにより学習完了フラグXgdの値は「1」に設定されている。従って、CPU71は、ステップ320にて「Yes」と判定してステップ325に進み、初期目標制御量としての初期目標スロットル弁開度TA0に上記ステップ315にて設定されたフィードバック制御量TAfb(ここでは、TAfb=0)及びCPU71が学習読込ルーチンを実行することによりRAM73に保持されている学習制御量TAgを加えた値TA0+TAfb+TAg(=TA0+TAg=TA1)に目標スロットル弁開度(目標制御量)TAtgtを設定する。
ここで、初期目標スロットル弁開度TA0は、内燃機関10を始動させるために必要な出力トルクを確保するために比較的多い量の空気が燃焼室25に導入されるように、実験による測定値に基づいて予め設定されている。従って、後述するように、学習完了条件が成立している状態においては、学習制御量TAgは負の値となる。
なお、ステップ310、ステップ315、ステップ320及びステップ325の処理が実行されることは、学習制御手段の機能の一部が達成されることに対応している。
次いで、CPU71は、ステップ330に進んで過去のフィードバック制御量TAfboldを本ルーチンの今回実行時の上記ステップ315にて設定されたフィードバック制御量TAfbに設定する。
そして、CPU71は、ステップ335に進んでスロットル弁開度TAを上記ステップ325にて設定された目標スロットル弁開度TAtgtに一致させるための指示信号をスロットル弁アクチュエータ45aに送る。
そして、CPU71はステップ399に進んで本ルーチンを一旦終了する。
これにより、各気筒の燃焼室25内に基準筒内空気量の空気が導入される。
(燃焼開始判定)
更に、CPU71は、図4にフローチャートにより示した燃焼開始判定ルーチンを、スロットル弁開度制御ルーチンに続いて実行するようになっている。
従って、スロットル弁開度制御ルーチンの実行が終了すると、CPU71は、ステップ400から処理を開始してステップ405に進み、燃焼開始フラグXbの値が「0」であるか否かを判定する。
ここで、燃焼開始フラグXbは、クランキングの開始時点から現時点までの間にいずれかの気筒にて混合ガスの燃焼が発生したか否かを表すフラグであって、その値が「1」であれば発生し、「0」であれば発生しなかったことを示す。後述する通り、燃焼開始フラグXbの値は、本ルーチンにおいて第1回転所要時間T30が所定の閾値時間δよりも短くなった時に「1」に設定され(ステップ420を参照。)、イグニッション・スイッチISがオフ状態からオン状態へ切り替えられた時に「0」に設定される。
従って、この時点では、燃焼開始フラグXbの値は「0」であるから、CPU71は、ステップ405にて「Yes」と判定してステップ410に進み、現時点からクランク角度にて90°だけ前の時点にてクランクポジションセンサ66からの信号に基づいて別途算出されていた第1回転所要時間T30を読み込む。
次いで、CPU71は、ステップ415に進んで上記ステップ410にて読み込まれた第1回転所要時間T30が閾値時間δよりも短いか否かを判定する。ここで、閾値時間δは、クランキング中に燃焼が発生しないと仮定した場合における第1回転所要時間T30の最小値よりも僅かに短い時間に設定されている。
この時点では、混合ガスの燃焼は発生していない。従って、第1回転所要時間T30が閾値時間δよりも長いので、CPU71は、ステップ415にて「No」と判定してステップ499に直接進み本ルーチンを一旦終了する。
(点火時期制御)
更に、CPU71は、図5にフローチャートにより示した点火時期制御ルーチンを、燃焼開始判定ルーチンに続いて実行するようになっている。
従って、燃焼開始判定ルーチンの実行が終了すると、CPU71は、ステップ500から処理を開始してステップ505に進み、アイドル運転フラグXidlの値が「1」に設定されているか否かを判定する。
この時点では、アイドル運転フラグXidlの値が「1」に設定されているので、CPU71は、ステップ505にて「Yes」と判定してステップ510に進み、燃焼開始フラグXbの値が「1」であるか否かを判定する。
この時点では、燃焼開始フラグXbの値が「0」であるから、CPU71は、ステップ510にて「No」と判定してステップ515に進み、圧縮上死点到来回数Ntdcを「1」に設定する。
ここで、圧縮上死点到来回数Ntdcは、クランキングの開始後に混合ガスの燃焼が最初に発生した気筒が、その燃焼が発生した燃焼サイクルにおける圧縮上死点を迎えた(ピストン22が圧縮上死点位置に位置した)時点(初爆時点)以降において本ルーチンを実行した回数(いずれかの気筒が圧縮上死点を迎えた回数)を表す整数である。
次いで、CPU71は、ステップ520に進んで後述する図7の第2の点火時期決定ルーチンにて点火時期補正量ΔSAを算出するために使用される経過時間Tiを「0」に設定する。ここで、経過時間Tiは、上記初爆時点から現時点(本ルーチンの実行時点、即ち、いずれかの気筒が圧縮上死点を迎える時点)までに経過した時間である。なお、経過時間Tiは、初爆時点から現時点までの期間におけるエンジン回転速度NEの平均値を表すパラメータであると言うこともできる。
そして、CPU71は、ステップ525に進んで冷却水温度センサ68により検出された冷却水温度Twを読み込む。そして、CPU71は、ステップ530に進んで、冷却水温度Twと基準点火時期としての始動時点火時期SA0との関係を規定するテーブルMapSA0及び上記ステップ525にて読み込まれた冷却水温度Twに基づいて始動時点火時期SA0を決定する。ここで、テーブルMapSA0は、冷却水温度Twが低くなるほど、求められる始動時点火時期SA0が進角側の時期となるように予め設定されている。
また、以下の説明において、MapX(a)と表記されるテーブルは、変数aと値Xとの関係を規定するテーブルを意味することとする。また、値XをテーブルMapX(a)に基づいて求めるとは、値Xを現時点の変数aと、テーブルMapX(a)と、に基づいて求める(決定する)ことを意味することとする。なお、変数は2つ以上であってもよい。
また、始動時点火時期SA0は、BTDCにより表される。BTDCは、気筒毎に定義されている。BTDCは、各気筒における圧縮上死点(TDC)を原点としクランク軸24の回転方向と逆方向を正にとったクランク軸24の回転角度(クランク角度)である。なお、後述する点火時期SAもBTDCにより表される。
そして、CPU71は、ステップ535に進んで圧縮上死点到来回数Ntdcが「4」よりも小さいか否かを判定する。この時点では、圧縮上死点到来回数Ntdcの値が「1」であるから、CPU71は、ステップ535にて「Yes」と判定してステップ540に進み、点火時期SAを上記ステップ530にて決定された始動時点火時期SA0に設定する。
次いで、CPU71は、ステップ545に進んで上記ステップ540にて決定された点火時期SAに応じた指示信号を、現時点にて圧縮上死点を迎えた気筒の次に圧縮上死点を迎える気筒のイグナイタ38に対して送出する。
そして、CPU71はステップ599に進んで本ルーチンを一旦終了する。
(燃料噴射量決定)
一方、CPU71は、図示しない燃料噴射量決定ルーチンを、いずれかの気筒が排気上死点よりもクランク角度にて75°だけ進角された燃料噴射量決定時点を迎える毎に実行する。
従って、所定のタイミングになると、CPU71は、燃料噴射量決定ルーチンの処理を開始する。CPU71は、圧縮上死点到来回数Ntdcが「4」よりも小さい場合、初期燃料噴射量を燃料噴射量として採用する。一方、CPU71は、圧縮上死点到来回数Ntdcが「4」以上である場合、エアフローメータ61により検出された吸気流量Gaに基づいて燃料噴射量を決定する。
ここで、初期燃料噴射量は、筒内空気量が基準筒内空気量と相違していても内燃機関10を始動させるために必要な出力トルクが確保されるように、比較的多い量に設定されている。
そして、CPU71は、決定された燃料噴射量に応じた指示信号を、現時点にて燃料噴射量決定時点を迎えた気筒のインジェクタ39に対して送出する。
そして、ある気筒(初爆発生気筒)の燃焼室25にて混合ガスの燃焼が発生する。これにより、図6に示したように、クランク軸24の回転に伴って(時間の経過に伴って)、エンジン回転速度NEが増加するとともに、冷却水温度Twが上昇する。
そして、その燃焼が発生した燃焼サイクルにおける圧縮上死点を初爆発生気筒が迎えた時点(初爆時点)からクランク軸24が180°だけ回転した時点になると、CPU71は、再び図4の燃焼開始判定ルーチンの処理を開始してステップ415に進む。
この時点では、初爆発生気筒にて混合ガスの燃焼が発生したことにより、クランク軸24を回転させるトルク(出力トルク)が発生しているので、第1回転所要時間T30は上記閾値時間δよりも短くなっている。
従って、CPU71は、ステップ415にて「Yes」と判定してステップ420に進み、燃焼開始フラグXbの値を「1」に設定する。
そして、CPU71はステップ499に進んで本ルーチンを一旦終了する。
更に、この時点にて、CPU71が図5の点火時期制御ルーチンの処理を開始してステップ510に進んだとき、CPU71は、ステップ510にて「Yes」と判定してステップ550に進む。
CPU71は、ステップ550にて圧縮上死点到来回数Ntdcに「1」を加えた値Ntdc+1に圧縮上死点到来回数Ntdcを設定する(圧縮上死点到来回数Ntdcに「1」を加えることにより圧縮上死点到来回数Ntdcを更新する)。即ち、この時点では、圧縮上死点到来回数Ntdcは「2」に設定される。
次いで、CPU71は、ステップ555に進んでクランクポジションセンサ66からの信号に基づいて別途算出されている第2回転所要時間T180を読み込む(取得する)。そして、CPU71は、ステップ560に進んで経過時間Tiに上記ステップ555にて読み込まれた第2回転所要時間T180を加えた値Ti+T180に経過時間Tiを設定する。
次いで、CPU71は、ステップ525以降のステップに進んで、始動時点火時期SA0に応じた指示信号を、現時点にて圧縮上死点を迎えた気筒の次に圧縮上死点を迎える気筒のイグナイタ38に対して送出した後、図5のルーチンを一旦終了する。
そして、クランク軸24が更に180°だけ回転すると、CPU71は、上述した場合と同様の処理を実行する。従って、この時点においては、ステップ550の処理が実行されることにより、圧縮上死点到来回数Ntdcは「3」になる。
そして、クランク軸24が更に180°だけ回転すると、ステップ550の処理が実行されることにより圧縮上死点到来回数Ntdcが「4」となるので、CPU71がステップ535に進んだとき、CPU71は、ステップ535にて「No」と判定してステップ565に進み、圧縮上死点到来回数Ntdcが「8」よりも小さいか否かを判定する。なお、本例では、圧縮上死点到来回数Ntdcが「4」以上の値であって「8」よりも小さい値に設定されている期間は、始動初期期間とも呼ばれる期間である。
圧縮上死点到来回数Ntdcは「4」であるから、CPU71は、ステップ565にて「Yes」と判定してステップ570に進み、経過時間Tiに基づいて点火時期を補正するため、図7のフローチャートに示した第2の点火時期決定ルーチンのステップ700に進む。
CPU71は、ステップ705に進んで学習完了フラグXgdの値が「1」であるか否かを判定する。この時点では、学習完了フラグXgdの値は「1」であるから、CPU71は、ステップ705にて「Yes」と判定してステップ710に進む。なお、ステップ705の処理が実行されることは、空気量判定手段の機能が達成されることに対応している。
CPU71は、ステップ710にて補正係数Kを正の第1の補正係数K1に設定するとともに、遅角限界クランク角GDRを第1の遅角限界クランク角GDR1に設定する。
次いで、CPU71は、ステップ715に進んで冷却水温度センサ68により検出された冷却水温度Twを読み込む。
次いで、CPU71は、ステップ720に進んでテーブルMapTref(Ntdc,Tw)に基づいて基準経過時間Trefを決定する。
ここで、基準経過時間Trefは、学習完了条件が成立した状態にて算出された学習制御量TAgがバックアップRAM74に保持されていた場合(即ち、筒内空気量が基準筒内空気量であるという条件が成立している場合)であって、内燃機関10に供給されることが想定される燃料のうちの最も霧化しにくい燃料(最重質燃料)を使用し且つ始動時点火時期SA0にて混合ガスが点火された場合における経過時間である。
なお、基準経過時間Trefは、この場合に取得されるエンジン回転速度NEである基準エンジン回転速度の、初爆時点から現時点までの期間における平均値を表すパラメータであると言うこともできる。テーブルMapTref(Ntdc,Tw)は、実験による測定値に基づいて予め設定されている。
そして、CPU71は、ステップ725に進んで上記ステップ720にて決定された基準経過時間Trefから図5のステップ560にて算出された経過時間Tiを減じた値Tref−Tiに上記ステップ710にて設定された補正係数Kを乗じた値K・(Tref−Ti)を点火時期補正量ΔSAに設定する。即ち、点火時期補正量ΔSAは、経過時間Tiが基準経過時間Trefよりも短くなるほど大きくなる量である(即ち、エンジン回転速度NEの平均値が基準エンジン回転速度の平均値よりも高くなるほど大きくなる量である。)。なお、ステップ710にて設定された補正係数K(即ち、第1の補正係数K1)を用いて算出された点火時期補正量ΔSAは、第1の点火時期補正量とも呼ばれる量である。
図8は、圧縮上死点到来回数Ntdcに対する経過時間Ti及び基準経過時間Trefの変化を示したグラフである。図8の三角のプロットM1は、経過時間Tiの変化を示している。図8の丸のプロットM2は、基準経過時間Trefの変化を示している。図8の四角のプロットM3は、基準経過時間Trefから経過時間Tiを減じた値Tref−Tiの変化を示している。
この状態においては、軽質燃料が使用されているので、図8に示したように、経過時間Tiは基準経過時間Trefよりも短い。従って、値Tref−Tiが正の値となるので、点火時期補正量ΔSAは正の値である。
次いで、CPU71は、ステップ730に進んで、図5のステップ530にて決定された始動時点火時期SA0から上記ステップ725にて算出された点火時期補正量ΔSAを減じた値SA0−ΔSAに点火時期SAを設定する。即ち、ここでは、点火時期SAは、始動時点火時期SA0を点火時期補正量ΔSAだけ遅角側に補正した時期に設定される。
このように、経過時間Tiが基準経過時間Trefよりも短い場合、即ち、エンジン回転速度NEの平均値が基準エンジン回転速度の平均値よりも高い場合、始動時点火時期SA0が遅角側に補正されることにより点火時期SAが決定される。
そして、CPU71は、ステップ735に進んで上記ステップ730にて算出された点火時期SAが上記ステップ710にて設定された遅角限界クランク角GDRよりも小さいか否かを判定する。
この状態においては、点火時期補正量ΔSAはそれほど大きくないので、点火時期SAは遅角限界クランク角GDRよりも大きい。従って、CPU71は、ステップ735にて「No」と判定してステップ799に直接進み本ルーチンを一旦終了する。
なお、ステップ740にて点火時期SAが遅角限界クランク角GDRに設定された場合には、始動時点火時期SA0から遅角限界クランク角GDRを減じた値が実質的な点火時期補正量ΔSAである。従って、この場合、始動時点火時期SA0からステップ710にて設定された遅角限界クランク角GDR(即ち、第1の遅角限界クランク角GDR1)を減じた値が第1の点火時期補正量とも呼ばれる量である。
加えて、ステップ705〜ステップ740の処理が実行されることは、第1の点火時期補正手段の機能が達成されることに対応している。
上述した場合と同様の処理は、図5のステップ550の処理の実行が完了した時点にて設定されている圧縮上死点到来回数Ntdcが「8」よりも小さい間、クランク軸24の回転に伴って繰り返し実行される。従って、この間、上述した場合と同様に、点火時期SAは、基準経過時間Trefから経過時間Tiを減じた値Tref−Tiに比例する点火時期補正量ΔSAだけ始動時点火時期SA0を遅角側に補正した時期に設定される。
但し、ステップ730にて設定された点火時期SAが遅角限界クランク角GDRよりも小さくなった場合(図6に示した例においては、Ntdc=7のとき)、CPU71は、図7のステップ735に進んだとき、ステップ735にて「Yes」と判定してステップ740に進み、点火時期SAを遅角限界クランク角GDRに設定する。
そして、図5のステップ550の処理の実行が完了した時点にて設定されている圧縮上死点到来回数Ntdcが「8」以上になると、CPU71は、ステップ565に進んだとき、ステップ565にて「No」と判定してステップ575に進み、エンジン回転速度NEに基づいて点火時期を補正するため、図9のフローチャートに示した第3の点火時期決定ルーチンのステップ900に進む。
CPU71は、ステップ905に進んでクランクポジションセンサ66からの信号に基づいて別途算出されているエンジン回転速度NEを読み込む。次いで、CPU71は、ステップ910に進んで上記ステップ905にて読み込んだエンジン回転速度NEが所定の目標エンジン回転速度NEref(本例では、1000rpm)よりも低いか否かを判定する。
CPU71は、エンジン回転速度NEが目標エンジン回転速度NErefよりも低い場合、CPU71は、ステップ910にて「Yes」と判定してステップ915に進み、図5の点火時期制御ルーチンの前回実行時にて決定された点火時期SAに予め設定された正の点火時期補正量ΔSA1を加えることにより点火時期SAを進角側に補正する。
一方、エンジン回転速度NEが目標エンジン回転速度NEref以上である場合、CPU71は、ステップ910にて「No」と判定してステップ920に進み、図5の点火時期制御ルーチンの前回実行時にて決定された点火時期SAから上記点火時期補正量ΔSA1を減じることにより点火時期SAを遅角側に補正する。
次いで、CPU71は、ステップ925に進んで上記ステップ915又はステップ920にて補正された点火時期SAが予め設定された進角限界クランク角GDAよりも大きい(進角限界クランク角GDAよりも進角側の時期である)か否かを判定する。そして、CPU71は、点火時期SAが進角限界クランク角GDAよりも大きい場合にはステップ925にて「Yes」と判定してステップ930に進み、点火時期SAを進角限界クランク角GDAに設定する。
次いで、CPU71は、ステップ935に進んで上記ステップ915又はステップ920にて補正された点火時期SAが図7の第2の点火時期決定ルーチンにおいて設定された遅角限界クランク角GDRよりも小さい(遅角限界クランク角GDRよりも遅角側の時期である)か否かを判定する。そして、CPU71は、点火時期SAが遅角限界クランク角GDRよりも小さい場合にはステップ935にて「Yes」と判定してステップ940に進み、点火時期SAを遅角限界クランク角GDRに設定する。
次いで、CPU71はステップ999に進んで本ルーチンを一旦終了する。
そして、時間の経過に伴って、冷却水温度Twが上昇する。そして、圧縮上死点到来回数Ntdcが「Ntdc1」となる時点(図6を参照。)にて冷却水温度Twが閾値温度Twth以上となる。
従って、この時点にてCPU71が図2のフィードバック制御実行判定ルーチンの処理を開始してステップ235に進んだとき、CPU71は、同ステップ235にて「Yes」と判定してステップ245に進む。CPU71は、ステップ245にてFB実行フラグXfbの値を「1」に設定し、続くステップ299にて本ルーチンを一旦終了する。
この状態において、CPU71が図3のスロットル弁開度制御ルーチンの処理を開始してステップ310に進んだとき、CPU71は、ステップ310にて「Yes」と判定してステップ340に進み、フィードバック制御量TAfbを算出するため、図10のフローチャートに示したフィードバック制御量算出ルーチンのステップ1000に進む。なお、図10のルーチンの処理が実行されることは、フィードバック制御手段の機能の一部が達成されることに対応している。
次いで、CPU71は、ステップ1005に進んでクランクポジションセンサ66からの信号に基づいて別途算出されているエンジン回転速度NEを読み込むとともに、続くステップ1010にてクランクポジションセンサ66からの信号に基づいて別途算出されている第2回転所要時間T180を読み込む。
そして、CPU71は、ステップ1015に進んで目標エンジン回転速度NErefから上記ステップ1005にて読み込んだエンジン回転速度NEを減じた値NEref−NEに回転速度差DNEを設定する。
次いで、CPU71は、ステップ1020に進んで、上記ステップ1015にて設定された回転速度差DNEに上記ステップ1010にて読み込まれた第2回転所要時間T180を乗じた値DNE・T180を本ルーチンの前回実行時にて算出された回転速度差積算値SDNEに加えた値SDNE+DNE・T180に回転速度差積算値SDNEを設定する。
ここで、回転速度差積算値SDNEは、イグニッション・スイッチISがオフ状態からオン状態へ切り替えられた時に「0」に設定される。従って、この時点では、回転速度差積算値SDNEは、値DNE・T180である。
次いで、CPU71は、ステップ1025に進んで、予め設定された比例係数Kpに上記ステップ1015にて設定された回転速度差DNEを乗じた値Kp・DNEと、予め設定された積分係数Kiに上記ステップ1020にて設定された回転速度差積算値SDNEを乗じた値Ki・SDNEと、の和Kp・DNE+Ki・SDNEにフィードバック制御量TAfbを設定する。後述するように、このフィードバック制御量TAfbを用いてスロットル弁開度TAが制御される。即ち、スロットル弁開度TAはPI制御される。
そして、CPU71は、ステップ1030に進んで、目標エンジン回転速度NErefとエンジン回転速度NEとの差の大きさ|NEref−NE|が所定の閾値α1よりも小さく、且つ、上記ステップ1025にて設定されたフィードバック制御量TAfbと図3のスロットル弁開度制御ルーチンの前回実行時にてステップ330にて設定された過去のフィードバック制御量TAfboldとの差の大きさ|TAfb−TAfbold|が所定の閾値β1よりも小さいという学習実行条件が成立しているか否かを判定する。
この状態においては、学習制御量TAgが適切に設定されているので、値|NEref−NE|及び値|TAfb−TAfbold|のいずれもが略0である。従って、CPU71は、ステップ1030にて「Yes」と判定してステップ1035に進み、学習制御量TAgを算出するため、図11のフローチャートに示した学習制御量算出ルーチンのステップ1100に進む。なお、図11の学習制御量算出ルーチンの処理が実行されることは、学習制御手段の機能の一部が達成されることに対応している。
次いで、CPU71は、ステップ1105に進んで、図10のステップ1025にて設定されたフィードバック制御量TAfbを本ルーチンの前回実行時にて算出された積算量Igに加えることにより積算量Igを更新する。積算量Igは、イグニッション・スイッチISがオフ状態からオン状態へ切り替えられた時に「0」に設定される。
そして、CPU71は、ステップ1110に進んで、本ルーチンの前回実行時にて算出された積算回数Nsに「1」を加えることにより積算回数Nsを更新する。積算回数Nsは、イグニッション・スイッチISがオフ状態からオン状態へ切り替えられた時に「0」に設定される。
次いで、CPU71は、ステップ1115に進んで、上記ステップ1110にて更新された積算回数Nsが所定の閾値回数Nsth(本例では、「10」)以上であるか否かを判定する。
この時点では、積算回数Nsは「1」であるから、CPU71は、ステップ1115にて「No」と判定してステップ1199を経由して図10のステップ1040に進む。
CPU71は、ステップ1040にて目標エンジン回転速度NErefとエンジン回転速度NEとの差の大きさ|NEref−NE|が上記閾値α1よりも小さい閾値α2よりも小さく、且つ、ステップ1025にて設定されたフィードバック制御量TAfbの大きさ|TAfb|が所定の閾値β2よりも小さいという学習完了条件が成立しているか否かを判定する。
この状態においては、学習制御量TAgが負の適切な値に設定されているので、値|NEref−NE|及び値|TAfb|のいずれもが略0である。従って、CPU71は、ステップ1040にて「Yes」と判定してステップ1045に進み、学習完了フラグXgdの値を「1」に設定する。即ち、学習完了フラグXgdの値は「1」に維持される。
そして、CPU71は、ステップ1099を経由して図3のステップ320以降のステップに進んで、図10のステップ1025にて設定されたフィードバック制御量TAfbを用いて目標スロットル弁開度TAtgtを決定するとともに、スロットル弁開度TAを決定された目標スロットル弁開度TAtgtに一致させるための指示信号をスロットル弁アクチュエータ45aに送出した後、図3のルーチンを一旦終了する。
なお、ステップ310、ステップ340及びステップ325(又はステップ360)の処理が実行されることは、フィードバック制御手段の機能の一部が達成されることに対応している。
そして、クランク軸24の回転に伴って、上述した場合と同様の処理が繰り返し実行される。従って、CPU71がステップ1110の処理を実行することにより積算回数Nsが増加する。
その結果、積算回数Nsが閾値回数Nsth以上となると、CPU71は、ステップ1115に進んだとき、ステップ1115にて「Yes」と判定してステップ1120に進み、積算量Igを積算回数Nsによって除した値Ig/Nsを学習制御量TAgに加えた値TAg+Ig/Nsに学習制御量TAgを設定する。
次いで、CPU71は、ステップ1125に進んで、積分係数Kiを積算回数Nsに乗じた値Ki・Nsによって積算量Igを除した値Ig/(Ki・Ns)を回転速度差積算値SDNEから減じた値SDNE−Ig/(Ki・Ns)に回転速度差積算値SDNEを設定する。
そして、CPU71は、ステップ1130に進んで積算量Igを「0」に設定するとともに積算回数Nsを「0」に設定する。
その後、CPU71はステップ1199に進んで図11のルーチンを一旦終了する。
その後、運転者がアクセルペダル81を操作することによりアクセルペダル操作量Accpが「0」よりも大きくなった時点にてCPU71が図2のフィードバック制御実行判定ルーチンの処理を開始してアクセルペダル操作量Accpが「0」であるか否かを判定するステップ210に進んだとき、CPU71は、ステップ210にて「No」と判定してステップ250に進む。
CPU71は、ステップ250にてアイドル運転フラグXidlの値を「0」に設定するとともに、続くステップ240に進んでFB実行フラグXfbの値を「0」に設定する。そして、CPU71はステップ299に進んで本ルーチンを一旦終了する。
更に、CPU71が図3のスロットル弁開度制御ルーチンの処理を開始して、アイドル運転フラグXidlの値が「1」であるか否かを判定するステップ305に進んだとき、CPU71は、ステップ305にて「No」と判定してステップ345に進む。
CPU71は、ステップ345にてアクセル開度センサ67により検出されたアクセルペダル操作量Accpを読み込むとともに、続くステップ350にてクランクポジションセンサ66からの信号に基づいて別途算出されているエンジン回転速度NEを読み込む。次いで、CPU71は、ステップ355に進んでテーブルMapTAtgt(Accp,NE)に基づいて目標スロットル弁開度TAtgtを決定する。
次いで、CPU71は、ステップ335に進んで、スロットル弁開度TAを上記ステップ355にて決定された目標スロットル弁開度TAtgtに一致させるための指示信号をスロットル弁アクチュエータ45aに送る。
そして、CPU71はステップ399に進んで本ルーチンを一旦終了する。
加えて、CPU71が図5の点火時期制御ルーチンの処理を開始して、アイドル運転フラグXidlの値が「1」であるか否かを判定するステップ505に進んだとき、CPU71は、ステップ505にて「No」と判定してステップ580に進む。
CPU71は、ステップ580にてアクセル開度センサ67により検出されたアクセルペダル操作量Accpを読み込むとともに、続くステップ585にてクランクポジションセンサ66からの信号に基づいて別途算出されているエンジン回転速度NEを読み込む。次いで、CPU71は、ステップ590に進んでテーブルMapSA(Accp,NE)に基づいて点火時期SAを決定する。
次いで、CPU71は、ステップ545に進んで、上記ステップ590にて決定された点火時期SAに応じた指示信号を、現時点にて圧縮上死点を迎えた気筒の次に圧縮上死点を迎える気筒のイグナイタ38に対して送出する。
そして、CPU71はステップ599に進んで本ルーチンを一旦終了する。
その後、内燃機関10の運転が停止することを運転者が希望した場合、運転者は、イグニッション・スイッチISをオン状態からオフ状態へ切り替える。
一方、CPU71は、イグニッション・スイッチISがオン状態からオフ状態へ切り替えられたとき、バッテリBTからのCPU71、ROM72、RAM73及びインターフェース75への電力の供給が停止される前に図示しない学習書出ルーチンを実行する。
具体的には、CPU71は、RAM73に保持されている学習制御量TAg及び学習完了フラグXgdをバックアップRAM74に記憶させることによりバックアップRAM74に保持させる。なお、学習書出ルーチンの処理が実行されることは、学習制御手段の機能の一部が達成されることに対応している。
上述したように、バックアップRAM74に保持されている学習制御量TAg及び学習完了フラグXgdは、イグニッション・スイッチISがオフ状態からオン状態へ切り替えられた時にCPU71が学習読込ルーチンを実行することによってRAM73に保持されるデータである。
(学習制御量が消去された場合)
次に、バッテリBTを交換する際にバッテリBTが電気制御装置70から一時的に取り外されたことにより、バックアップRAM74に保持されていた学習制御量TAg及び学習完了フラグXgdが消去された(それぞれの値が「0」に初期化された)場合であって、燃料タンクFTに最重質燃料が充填された状態において内燃機関10の運転が開始することを運転者が希望する場合について説明する。
この場合、運転者は、イグニッション・スイッチISをオフ状態からオン状態へ切り替える。これにより、クランキングが開始する。
一方、CPU71は、イグニッション・スイッチISがオフ状態からオン状態へ切り替えられた時、学習読込ルーチンを実行する。この状態においては、CPU71は、学習制御量TAg及び学習完了フラグXgdのそれぞれの値が「0」であることを表すデータをRAM73に保持させる(学習制御量TAg及び学習完了フラグXgdのそれぞれを「0」に設定する)。
また、CPU71は、上述したように、所定のタイミングにて図2のフィードバック制御実行判定ルーチンの処理を実行する。
具体的には、CPU71は、アクセルペダル操作量Accpが「0」であるか否かを判定するステップ210及び車速Vが「0」であるか否かを判定するステップ220にて「Yes」と判定して、ステップ225にてアイドル運転フラグXidlの値を「1」に設定する。更に、CPU71は、冷却水温度Twが閾値温度Twth以上であるか否かを判定するステップ235にて「No」と判定してステップ240にてFB実行フラグXfbの値を「0」に設定する。
加えて、CPU71は、図3のスロットル弁開度制御ルーチンの処理を実行する。
具体的には、CPU71は、アイドル運転フラグXidlの値が「1」であるか否かを判定するステップ305にて「Yes」と判定し、且つ、FB実行フラグXfbの値が「1」であるか否かを判定するステップ310にて「No」と判定して、ステップ315にてTAfbを「0」に設定する。
更に、CPU71は、学習完了フラグXgdの値が「1」であるか否かを判定するステップ320にて「No」と判定して、ステップ360にて初期目標スロットル弁開度TA0にフィードバック制御量TAfb(=0)を加えた値TA0+TAfb(=TA0)に目標スロットル弁開度TAtgtを設定する。即ち、初期目標スロットル弁開度TA0が目標スロットル弁開度TAtgtとして採用される。なお、ステップ320、ステップ325及びステップ360の処理が実行されることは、始動時目標制御量設定手段の機能の一部が達成されることに対応している。
そして、CPU71は、ステップ335にてスロットル弁開度TAを上記ステップ360にて設定された目標スロットル弁開度TAtgtに一致させるための指示信号をスロットル弁アクチュエータ45aに送る。
上述したように、初期目標スロットル弁開度TA0は、内燃機関10を始動させるために必要な出力トルクを確保するために比較的多い量の空気が燃焼室25に導入されるように設定されている。また、学習完了条件が成立している場合には、学習制御量TAgは負の値となる。ところで、この状態においては、学習完了条件が成立していない。従って、学習制御量TAgに基づいて目標スロットル弁開度TAtgtが決定される場合よりもスロットル弁開度TAが大きくされるので、各気筒の燃焼室25内に基準筒内空気量よりも多い量の空気が導入される。
また、CPU71は、図4の燃焼開始判定ルーチンの処理を実行する。
具体的には、CPU71は、燃焼開始フラグXbの値が「0」であるか否かを判定するステップ405にて「Yes」と判定し、且つ、第1回転所要時間T30が閾値時間δよりも短いか否かを判定するステップ415にて「No」と判定する。従って、燃焼開始フラグXbの値は「0」に維持される。
更に、CPU71は、図5の点火時期制御ルーチンの処理を実行する。
具体的には、CPU71は、アイドル運転フラグXidlの値が「1」であるか否かを判定するステップ505にて「Yes」と判定し、且つ、燃焼開始フラグXbの値が「1」であるか否かを判定するステップ510にて「No」と判定して、ステップ515にて圧縮上死点到来回数Ntdcを「1」に設定するとともにステップ520にて経過時間Tiを「0」に設定する。
更に、CPU71は、圧縮上死点到来回数Ntdcが「4」よりも小さいか否かを判定するステップ535にて「Yes」と判定して、ステップ540にて点火時期SAを冷却水温度Twに基づいて決定された始動時点火時期SA0に設定する。
そして、ステップ545にて、CPU71は、上記ステップ540にて決定された点火時期SAに応じた指示信号を、現時点にて圧縮上死点を迎えた気筒の次に圧縮上死点を迎える気筒のイグナイタ38に対して送出する。
そして、ある気筒(初爆発生気筒)の燃焼室25にて混合ガスの燃焼が発生する。これにより、図12に示したように、クランク軸24の回転に伴って、エンジン回転速度NEが増加するとともに、冷却水温度Twが上昇する。
そして、その燃焼が発生した燃焼サイクルにおける圧縮上死点を初爆発生気筒が迎えた時点(初爆時点)からクランク軸24が180°だけ回転した時点になる。
この時点では、初爆発生気筒にて混合ガスの燃焼が発生したことにより、クランク軸24を回転させるトルク(出力トルク)が発生しているので、第1回転所要時間T30は上記閾値時間δよりも短くなっている。
従って、CPU71が図4の燃焼開始判定ルーチンの処理を開始すると、CPU71は、第1回転所要時間T30が閾値時間δよりも短いか否かを判定するステップ415にて「Yes」と判定して、ステップ420にて燃焼開始フラグXbの値を「1」に設定する。
更に、CPU71が図5の点火時期制御ルーチンの処理を開始すると、CPU71は、ステップ505及びステップ510にて「Yes」と判定することによりステップ550〜ステップ560の処理を実行して、圧縮上死点到来回数Ntdcに「1」を加算するとともに経過時間Tiに第2回転所要時間T180を加算する。
そして、CPU71は、ステップ525〜ステップ545の処理を実行して、冷却水温度Twに基づいて決定された始動時点火時期SA0に点火時期SAを設定し設定された点火時期SAに応じた指示信号を、現時点にて圧縮上死点を迎えた気筒の次に圧縮上死点を迎える気筒のイグナイタ38に対して送出する。
そして、クランク軸24が更に180°だけ回転すると、CPU71は、上述した場合と同様の処理を実行する。従って、この時点においては、ステップ550の処理が実行されることにより、圧縮上死点到来回数Ntdcは「3」になる。
そして、クランク軸24が更に180°だけ回転すると、CPU71がステップ550の処理を実行することにより圧縮上死点到来回数Ntdcは「4」となる。従って、CPU71は、圧縮上死点到来回数Ntdcが「4」よりも小さいか否かを判定するステップ535にて「No」と判定し、且つ、圧縮上死点到来回数Ntdcが「8」よりも小さいか否かを判定するステップ565にて「Yes」と判定して、ステップ570にて図7の第2の点火時期決定ルーチンの処理を開始する。
この時点では、学習完了フラグXgdの値は「0」である。従って、CPU71は、学習完了フラグXgdの値が「1」であるか否かを判定するステップ705にて「No」と判定してステップ745に進む。
なお、上述したように、目標スロットル弁開度TAtgtを決定するために学習制御量TAgが用いられるか否かは、学習完了フラグXgdの値が「1」であるか否かによって決定される(図3のステップ320)。従って、ステップ705の処理は、筒内空気量が基準筒内空気量よりも多くなる空気量条件が成立しているか否かを判定していると言うこともできる。
CPU71は、ステップ745にて補正係数Kを第1の補正係数K1よりも小さい正の第2の補正係数K2に設定するとともに、遅角限界クランク角GDRを第1の遅角限界クランク角GDR1よりも進角側の第2の遅角限界クランク角GDR2に設定する。
次いで、CPU71は、ステップ715以降のステップに進んで、基準経過時間Trefから経過時間Tiを減じた値Tref−Tiに上記ステップ745にて設定された補正係数Kを乗じた値K・(Tref−Ti)を点火時期補正量ΔSAに設定するとともに、始動時点火時期SA0から点火時期補正量ΔSAを減じた値SA0−ΔSAに点火時期SAを設定する。
なお、ステップ745にて設定された補正係数K(即ち、第2の補正係数K2)を用いて算出された点火時期補正量ΔSAは、第2の点火時期補正量とも呼ばれる量である。また、ステップ740にて点火時期SAが遅角限界クランク角GDRに設定された場合、始動時点火時期SA0からステップ745にて設定された遅角限界クランク角GDR(即ち、第2の遅角限界クランク角GDR2)を減じた値が第2の点火時期補正量とも呼ばれる量である。
上述したように、第2の補正係数K2は、第1の補正係数K1よりも小さく、且つ、第2の遅角限界クランク角GDR2は、第1の遅角限界クランク角GDR1よりも進角側のクランク角度である。従って、第2の点火時期補正量は、ステップ710にて補正係数Kが第1の補正係数K1に設定されるとともに遅角限界クランク角GDRが第1の遅角限界クランク角GDR1に設定されると仮定した場合に設定される第1の点火時期補正量よりも小さい。
また、ステップ705、ステップ715〜ステップ740及びステップ745の処理が実行されることは、第2の点火時期補正手段の機能が達成されることに対応している。
上述した場合と同様の処理は、図5のステップ550の処理の実行が完了した時点にて設定されている圧縮上死点到来回数Ntdcが「8」よりも小さい間、クランク軸24の回転に伴って繰り返し実行される。従って、この間、上述した場合と同様に、点火時期SAは、基準経過時間Trefから経過時間Tiを減じた値Tref−Tiに比例する点火時期補正量ΔSAだけ始動時点火時期SA0を遅角側に補正した時期に設定される。
但し、ステップ730にて設定された点火時期SAが遅角限界クランク角GDRよりも小さくなった場合(図12に示した例においては、Ntdc=7のとき)、CPU71は、図7のステップ735に進んだとき、ステップ735にて「Yes」と判定してステップ740に進み、点火時期SAを遅角限界クランク角GDRに設定する。
上述したように、燃料タンクFTに充填されている燃料は、最重質燃料である。一方、目標スロットル弁開度TAtgtは初期目標スロットル弁開度TA0に設定されている。従って、学習完了条件が成立した状態にて算出された学習制御量TAgに基づいて目標スロットル弁開度TAtgtが設定された場合と比較して筒内空気量は多くなる。
これにより、各気筒における最初の燃焼に供される混合ガスの空燃比が出力トルクを最大にする空燃比に近づけられるとともに、各気筒における2回目以降の燃焼に供される燃料の量が多くなる。即ち、各気筒において実際に燃焼させられる燃料の量が多くなる。その結果、出力トルクが大きくなる。この結果、エンジン回転速度NEは基準経過時間Trefに対応した基準エンジン回転速度よりも高くなる。
ところで、学習完了フラグXgdの値が「0」に設定されている場合、学習完了フラグXgdの値が「1」に設定されている場合と比較して、補正係数Kは小さい値に設定され、且つ、遅角限界クランク角GDRは進角側に設定されている。従って、学習完了フラグXgdの値が「0」に設定されている場合、同一の値Tref−Tiに対して求められる点火時期補正量ΔSAは、学習完了フラグXgdの値が「1」に設定されている場合よりも小さくなる。即ち、学習完了フラグXgdの値が「0」に設定されている場合、同一の値Tref−Tiに対して求められる点火時期SAは、学習完了フラグXgdの値が「1」に設定されている場合(図12の符号C1が付された点線)よりも進角側の時期となる。
これにより、出力トルクが低減されるとともに、点火時期SAが過度に遅角側の時期に設定されることが回避される。この結果、エンジン回転速度NEを基準エンジン回転速度に近づけることができるとともに、筒内空気量が基準筒内空気量よりも多くなったとしても失火が発生する(混合ガスに点火しても混合ガスが燃焼しない)ことを防止することができる。また、仮に軽質燃料が使用された場合であっても、点火時期SAが過度に遅角されることがないので、失火が発生することを防止することができる。
そして、図5のステップ550の処理の実行が完了した時点にて設定されている圧縮上死点到来回数Ntdcが「8」以上になると、CPU71は、ステップ565に進んだとき、ステップ565にて「No」と判定してステップ575に進み、図9の第3の点火時期決定ルーチンを実行することにより、エンジン回転速度NEに基づいて点火時期SAを補正する。
そして、時間の経過に伴って、冷却水温度Twが上昇する。そして、圧縮上死点到来回数Ntdcが「Ntdc1」となる時点(図12を参照。)にて冷却水温度Twが閾値温度Twth以上となる。
従って、この時点にてCPU71が図2のフィードバック制御実行判定ルーチンの処理を開始してステップ235に進んだとき、CPU71は、ステップ235にて「Yes」と判定してステップ245にてFB実行フラグXfbの値を「1」に設定する。
この状態において、CPU71が図3のスロットル弁開度制御ルーチンの処理を開始してステップ310に進んだとき、CPU71は、ステップ310にて「Yes」と判定してステップ340に進み、図10のフィードバック制御量算出ルーチンの処理を実行する。
具体的には、CPU71は、ステップ1005〜ステップ1025の処理を実行することにより、エンジン回転速度NEと目標エンジン回転速度NErefとに基づいてフィードバック制御量TAfbを算出する。
上述したように、算出されたフィードバック制御量TAfbは、ステップ360にて目標スロットル弁開度TAtgtが算出される際に使用される。従って、エンジン回転速度NEを目標エンジン回転速度NErefに一致させるように、スロットル弁開度TAがフィードバック制御される。
そして、CPU71は、学習実行条件が成立しているか否かを判定するステップ1030にて「No」と判定し、且つ、学習完了条件が成立しているか否かを判定するステップ1040にて「No」と判定して、ステップ1050にて学習完了フラグXgdの値を「0」に設定する。即ち、学習完了フラグXgdの値は、「0」に維持される。
そして、クランク軸24の回転に伴って、エンジン回転速度NEが目標エンジン回転速度NErefに近づけられるとともに、フィードバック制御量TAfbの変化量が減少する。そして、圧縮上死点到来回数Ntdcが「Ntdc2」となる時点(図12を参照。)にて、学習実行条件が成立する。
従って、この時点にてCPU71が図10のフィードバック制御量算出ルーチンの処理を開始してステップ1030に進んだとき、CPU71は、ステップ1030にて「Yes」と判定してステップ1035に進み、図11の学習制御量算出ルーチンの処理を実行する。
そして、クランク軸24の回転に伴って、学習制御量算出ルーチンの処理が繰り返し実行されることにより、フィードバック制御量TAfbを積算した積算量Igに基づく値Ig/Nsが学習制御量TAgに加算されるとともに、積算量Igに対応した値Ig/(Ki・Ns)が回転速度差積算値SDNEから減算される。これにより、回転速度差積算値SDNEは、「0」に近づけられる。従って、クランク軸24の回転に伴って、エンジン回転速度NEが目標エンジン回転速度NErefに更に近づけられるとともに、フィードバック制御量TAfbが減少する。
そして、圧縮上死点到来回数Ntdcが「Ntdc3」となる時点(図12を参照。)にて、学習完了条件が成立する。
従って、この時点にてCPU71が図10のフィードバック制御量算出ルーチンの処理を開始してステップ1040に進んだとき、CPU71は、ステップ1040にて「Yes」と判定してステップ1045に進み、学習完了フラグXgdの値を「1」に設定する。
以上、説明したように、本発明による内燃機関の始動制御装置の実施形態によれば、始動初期期間にて、エンジン回転速度NEの平均値が基準エンジン回転速度の平均値よりも高い場合において空気量条件が成立していないとき、点火時期SAは、第1の補正係数K1及び第1の遅角限界クランク角GDR1に基づいて算出される第1の点火時期補正量だけ始動時点火時期(基準点火時期)SA0が遅角側に補正されることにより決定される。
これにより、気筒における混合ガスの燃焼によって出力されるトルク(出力トルク)が適切に低減させられる。この結果、エンジン回転速度NEを基準エンジン回転速度に迅速に近づけることができる。
一方、始動初期期間にて、エンジン回転速度NEの平均値が基準エンジン回転速度の平均値よりも高い場合において空気量条件が成立しているとき、点火時期SAは、第2の補正係数K2及び第2の遅角限界クランク角GDR2に基づいて算出される第2の点火時期補正量だけ始動時点火時期(基準点火時期)SA0が遅角側に補正されることにより決定される。第2の点火時期補正量は、第1の点火時期補正量よりも小さい量に設定される。
これにより、出力トルクが低減されるとともに、点火時期SAが過度に遅角側の時期に設定されることが回避される。この結果、エンジン回転速度NEを基準エンジン回転速度に近づけることができるとともに、筒内空気量が基準筒内空気量よりも多くなったとしても失火が発生することを防止することができる。
更に、上記実施形態は、始動初期期間にて、学習完了フラグXgdの値が「1」に設定されている(学習制御量TAgが記憶手段に保持されている)場合に空気量条件が成立していないと判定し一方学習完了フラグXgdの値が「0」に設定されている(学習制御量TAgが保持されていない)場合に空気量条件が成立していると判定する。これにより、筒内空気量が基準筒内空気量よりも多くなる空気量条件が成立しているか否かを適切に判定することができる。
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態は、各気筒にて2回目の燃焼が発生した燃焼サイクルにおける点火時期SAを経過時間Tiに基づいて決定する(即ち、4≦Ntdc<8が成立するとき、図7の第2の点火時期決定ルーチンを実行する)ように構成されていたが、各気筒にて1回目の燃焼が発生した燃焼サイクルにおける点火時期SAも経過時間Tiに基づいて決定する(例えば、2≦Ntdc<8が成立するとき、図7の第2の点火時期決定ルーチンを実行する)ように構成されていてもよい。また、各気筒にて3回目以降の燃焼が発生した燃焼サイクルにおける点火時期SAも経過時間Tiに基づいて決定するように構成されていてもよい。
加えて、上記実施形態において、学習完了条件は、目標エンジン回転速度NErefとエンジン回転速度NEとの差の大きさ|NEref−NE|が閾値α2よりも小さく、且つ、フィードバック制御量TAfbの大きさ|TAfb|が閾値β2よりも小さいという条件であった(図10のステップ1040を参照。)が、図11のステップ1120の処理が実行されることにより学習制御量TAgが更新された回数(学習制御量更新回数)が所定の閾値回数以上であるという条件であってもよい。
また、上記実施形態においては、経過時間Tiが基準経過時間Trefよりも短い場合、即ち、エンジン回転速度NEの平均値が基準エンジン回転速度の平均値よりも高い場合に点火時期SAを遅角側に補正するように構成されていた(図7のステップ725及びステップ730)が、ある時点のエンジン回転速度NEがその時点の基準エンジン回転速度よりも高い場合に点火時期SAを遅角側に補正するように構成されていてもよい。
なお、上記実施形態は、学習完了条件が成立した状態にて算出された学習制御量TAgがバックアップRAM74に保持されていない場合に空気量条件が成立していると判定するように構成されていたが、内燃機関10を始動させる際の大気圧が、バックアップRAM74に保持されている学習制御量TAgが算出された際の大気圧よりも相当高い場合に空気量条件が成立していると判定するように構成されていてもよい。
本発明の実施形態に係る始動制御装置を火花点火式多気筒内燃機関に適用したシステムの概略構成図である。 図1に示したCPUが実行するプログラムであってフィードバック制御を実行するか否かを決定するためのプログラムを示したフローチャートである。 図1に示したCPUが実行するプログラムであってスロットル弁開度を制御するためのプログラムを示したフローチャートである。 図1に示したCPUが実行するプログラムであって燃焼が開始したか否かを判定するためのプログラムを示したフローチャートである。 図1に示したCPUが実行するプログラムであって点火時期を制御するためのプログラムを示したフローチャートである。 エンジン回転速度、冷却水温度、スロットル弁開度、点火時期及び各種フラグの変化を示したタイムチャートである。 図1に示したCPUが実行するプログラムであって点火時期を決定するためのプログラムを示したフローチャートである。 圧縮上死点到来回数に対する経過時間及び基準経過時間の変化を示したグラフである。 図1に示したCPUが実行するプログラムであって点火時期を決定するためのプログラムを示したフローチャートである。 図1に示したCPUが実行するプログラムであってフィードバック制御量を算出するためのプログラムを示したフローチャートである。 図1に示したCPUが実行するプログラムであって学習制御量を算出するためのプログラムを示したフローチャートである。 エンジン回転速度、冷却水温度、スロットル弁開度、点火時期及び各種フラグの変化を示したタイムチャートである。
符号の説明
10…内燃機関、20…シリンダブロック部、21…シリンダ、22…ピストン、24…クランク軸、25…燃焼室、30…シリンダヘッド部、37…点火プラグ、38…イグナイタ、39…インジェクタ、40…吸気系統、45…スロットル弁、45a…スロットル弁アクチュエータ、64…スロットルポジションセンサ、66…クランクポジションセンサ、70…電気制御装置、71…CPU、73…RAM、74…バックアップRAM、BT…バッテリ。

Claims (2)

  1. エンジン回転速度を取得するとともに、同取得されたエンジン回転速度が、気筒内に導入される空気量である筒内空気量が所定の基準筒内空気量であるという条件が成立している状態において同気筒内に導入された空気と燃料とを含む混合ガスに所定の基準点火時期にて点火した場合に取得されるエンジン回転速度である基準エンジン回転速度よりも高いとき、同基準点火時期を遅角側に補正することにより点火時期を決定し同決定された点火時期にて同混合ガスに点火することによりエンジン回転速度を同基準エンジン回転速度に近づけるように構成された内燃機関の始動制御装置であって、
    前記筒内空気量が前記基準筒内空気量よりも多くなる空気量条件が成立しているか否かを判定する空気量判定手段と、
    前記内燃機関が始動させられた直後の始動初期期間にて、前記取得されたエンジン回転速度が前記基準エンジン回転速度よりも高い場合において前記空気量判定手段により前記空気量条件が成立していないと判定されたとき、第1の点火時期補正量だけ前記基準点火時期を遅角側に補正することにより前記点火時期を決定する第1の点火時期補正手段と、
    前記始動初期期間にて、前記取得されたエンジン回転速度が前記基準エンジン回転速度よりも高い場合において前記空気量判定手段により前記空気量条件が成立していると判定されたとき、第2の点火時期補正量だけ前記基準点火時期を遅角側に補正することにより、前記第1の点火時期補正手段が使用されると仮定した場合に決定される点火時期よりも進角側の時期に前記点火時期を決定する第2の点火時期補正手段と、
    を備える内燃機関の始動制御装置。
  2. 請求項1に記載の内燃機関の始動制御装置であって、
    所定の制御量を変更することにより前記気筒内に供給される空気量を変更する空気量変更手段と、
    前記制御量を目標制御量に一致させるように前記空気量変更手段を制御する空気量制御手段と、
    所定のフィードバック条件が成立している場合、前記取得されたエンジン回転速度が所定の目標エンジン回転速度に一致するように、フィードバック制御量を算出するとともに同算出されたフィードバック制御量に基づいて前記目標制御量を決定するフィードバック制御手段と、
    前記フィードバック条件が成立している場合に前記算出されたフィードバック制御量に基づいて学習制御量を算出するとともに同算出された学習制御量を記憶手段が保持するように同記憶手段に記憶させ、一方、同フィードバック条件が成立していない場合において同学習制御量が保持されているときに同保持されている学習制御量に基づいて前記目標制御量を決定する学習制御手段と、
    前記内燃機関を始動させるために同内燃機関が操作された際、前記学習制御量が保持されている場合に同保持されている学習制御量に基づいて前記目標制御量を決定し一方同学習制御量が保持されていない場合に所定の初期目標制御量を前記目標制御量として採用する始動時目標制御量設定手段と、
    を備え、
    前記空気量判定手段は、前記始動初期期間にて、前記学習制御量が保持されている場合に前記空気量条件が成立していないと判定し一方同学習制御量が保持されていない場合に同空気量条件が成立していると判定するように構成された内燃機関の始動制御装置。
JP2007191642A 2007-07-24 2007-07-24 内燃機関の始動制御装置 Pending JP2009024686A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007191642A JP2009024686A (ja) 2007-07-24 2007-07-24 内燃機関の始動制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007191642A JP2009024686A (ja) 2007-07-24 2007-07-24 内燃機関の始動制御装置

Publications (1)

Publication Number Publication Date
JP2009024686A true JP2009024686A (ja) 2009-02-05

Family

ID=40396693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007191642A Pending JP2009024686A (ja) 2007-07-24 2007-07-24 内燃機関の始動制御装置

Country Status (1)

Country Link
JP (1) JP2009024686A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104411879A (zh) * 2012-06-29 2015-03-11 松本油脂制药株式会社 纤维用糊剂及其应用
JP2017089549A (ja) * 2015-11-12 2017-05-25 トヨタ自動車株式会社 内燃機関の点火時期制御装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104411879A (zh) * 2012-06-29 2015-03-11 松本油脂制药株式会社 纤维用糊剂及其应用
JP2017089549A (ja) * 2015-11-12 2017-05-25 トヨタ自動車株式会社 内燃機関の点火時期制御装置
US10273929B2 (en) 2015-11-12 2019-04-30 Toyota Jidosha Kabushiki Kaisha Ignition timing control apparatus for internal combustion engine

Similar Documents

Publication Publication Date Title
JP2009013921A (ja) 内燃機関の停止始動制御装置
JP2002130015A (ja) 筒内噴射式内燃機関の燃料噴射制御装置
US9863389B2 (en) Control unit for a multi-cylinder internal combustion engine
JP2009228447A (ja) 内燃機関の燃料噴射制御装置
JP2007009852A (ja) 内燃機関の燃料制御装置および燃料噴射時期制御方法
US20080230029A1 (en) Intake air control for an internal-combustion engine
JP2012062844A (ja) 内燃機関の制御装置
JP2011064109A (ja) 内燃機関の制御装置
JP3589011B2 (ja) 内燃機関の燃料噴射制御装置
JP2009024686A (ja) 内燃機関の始動制御装置
JP4604921B2 (ja) 内燃機関の制御装置
JP2006241997A (ja) 内燃機関の制御装置
JP6740588B2 (ja) 燃料噴射制御装置
JP2005315231A (ja) エンジンの始動装置
JP2018044480A (ja) 可変動弁装置及び可変動弁装置のコントローラ
JP4671054B2 (ja) 多気筒内燃機関の始動制御装置
JP4259375B2 (ja) エンジンの始動装置
JPH11270386A (ja) 内燃機関の燃料噴射制御装置
JP4915324B2 (ja) 内燃機関の制御装置
WO2021112221A1 (ja) 内燃機関の駆動制御装置
JP4534968B2 (ja) 内燃機関の制御装置
JP4853675B2 (ja) 内燃機関の制御装置
JP2016125351A (ja) エンジンの回転停止位置制御装置
JP2016125353A (ja) エンジンの回転停止位置制御装置
JP2009197727A (ja) 内燃機関の制御装置および制御方法