JPH0539770A - エンジンの点火時期学習制御方法 - Google Patents

エンジンの点火時期学習制御方法

Info

Publication number
JPH0539770A
JPH0539770A JP3195543A JP19554391A JPH0539770A JP H0539770 A JPH0539770 A JP H0539770A JP 3195543 A JP3195543 A JP 3195543A JP 19554391 A JP19554391 A JP 19554391A JP H0539770 A JPH0539770 A JP H0539770A
Authority
JP
Japan
Prior art keywords
ignition timing
learning
engine
value
knock
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
JP3195543A
Other languages
English (en)
Other versions
JP3564146B2 (ja
Inventor
Takayuki Sogawa
能之 十川
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.)
Subaru Corp
Original Assignee
Fuji Heavy Industries Ltd
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 Fuji Heavy Industries Ltd filed Critical Fuji Heavy Industries Ltd
Priority to JP19554391A priority Critical patent/JP3564146B2/ja
Publication of JPH0539770A publication Critical patent/JPH0539770A/ja
Application granted granted Critical
Publication of JP3564146B2 publication Critical patent/JP3564146B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 Ignition Timing (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

(57)【要約】 【目的】 加速時に、エンジンの状態に応じた期間だけ
点火時期学習を停止することにより制御性の悪化を防止
する。 【構成】 学習条件が成立して学習中止点火回数COU
NTACCが0のとき、加速判定レベルLEVACCと設定値
ACCDVGとを比較し(S505)、LEVACC≦ACCDVGの
とき、車速VSPが設定値VSPACT未満か否かを判別
する(S506)。そして、VSP<VSPACTのとき、学習
中止点火回数COUNTACCに設定値ACCTNをセット
してルーチンを抜け、VSP≧VSPACTのとき、学習
中止点火回数COUNTACCに設定値ACCNTVをセット
してルーチンを抜ける。この際、自動変速機を搭載した
自動車では、車速VSPが高いとキックダウンによりエ
ンジン回転数が急激に変化して安定化に時間を要し、車
速VSPが低いとキックダウンは起こらず比較的エンジ
ン回転数変化が少ないため、ACCTN<ACCNTVとす
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ノック発生の有無に応
じて点火時期を学習制御するエンジンの点火時期学習制
御方法に関する。
【0002】
【従来の技術】最近では、エンジンの異常燃焼によるノ
ッキングを検出し、点火時期を最適に制御する技術が広
く採用されている。
【0003】この場合、エンジンのノックは、混合気の
異常燃焼による圧力振動を、シリンダヘッドあるいはシ
リンダブロックに取付けた加速度センサなどにより機械
的振動として検出するものが多く、エンジン高回転時な
どにはノックによる振動成分とエンジン自体の振動成分
との区別が困難となる。
【0004】従って、ノック検出の困難な運転領域で
は、ノック検出の可能な運転領域で学習した学習値によ
り点火時期の補正を行なうようにしており、例えば、特
開昭60−27782号公報には、エンジン(機関)の
状態が急変する過渡時に学習遅角量の更新を停止し、学
習遅角量が異常に大きくなることによる不必要なトルク
の低下を防止する技術が開示されている。
【0005】
【発明が解決しようとする課題】しかしながら、加速時
には、車輌の変速機のシフト位置(シフトレンジ)によ
ってエンジンの運転状態が左右されるため、加速が比較
的緩やかであっても、ノック発生を正確に検出すること
が困難で、適切な学習ができない場合がある。また、ノ
ック発生期間も一定でないため、一義的に点火時期学習
を停止すると制御性の悪化を招くおそれがある。
【0006】本発明は上記事情に鑑みてなされたもの
で、加速時に、エンジンの状態に応じた期間だけ点火時
期学習を停止することにより制御性の悪化を防止し、安
定した点火時期制御を行なうことのできるエンジンの点
火時期学習制御方法を提供することを目的としている。
【0007】
【課題を解決するための手段】第1の発明によるエンジ
ンの点火時期学習制御方法は、ノック発生の有無に応じ
た点火時期補正量を学習し、この学習した点火時期補正
量に基づいて点火時期を制御するエンジンの点火時期学
習制御方法において、加速状態に応じて設定した加速判
定レベルと設定値とを比較し、この比較結果により加速
と判定したとき、所定の点火回数の間、上記点火時期補
正量の学習を停止することを特徴とする。
【0008】第2の発明によるエンジンの点火時期学習
制御方法は、第1の発明において点火時期補正量の学習
を停止する点火回数を、車速に応じて設定することを特
徴とする。
【0009】
【作用】第1の発明によるエンジンの点火時期学習制御
方法では、加速判定レベルと設定値とを比較して加速と
判定したとき、所定の点火回数の間、点火時期補正量の
学習を停止する。
【0010】第2の発明によるエンジンの点火時期学習
制御方法では、第1の発明において加速と判定したと
き、車速に応じて設定した点火回数の間、点火時期補正
量の学習を停止する。
【0011】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図面は本発明の一実施例を示し、図1は全体補正
係数及び部分補正点火時期学習手順のフローチャート
(その1)、図2は全体補正係数及び部分補正点火時期
学習手順のフローチャート(その2)、図3は全体補正
係数及び部分補正点火時期学習手順のフローチャート
(その3)、図4は加速判定手順のフローチャート(そ
の1)、図5は加速判定手順のフローチャート(その
2)、図6は気筒判別・エンジン回転数算出手順のフロ
ーチャート、図7は点火時期設定手順のフローチャート
(その1)、図8は点火時期設定手順のフローチャート
(その2)、図9は通電・点火制御手順におけるθ2割
込みのフローチャート、図10は通電・点火制御手順に
おけるθ3割込みのフローチャート、図11は全体補正
係数学習のサブルーチンを示すフローチャート(その
1)、図12は全体補正係数学習のサブルーチンを示す
フローチャート(その2)、図13は全体補正係数学習
のサブルーチンを示すフローチャート(その3)、図1
4は部分補正点火時期学習のサブルーチンを示すフロー
チャート(その1)、図15は部分補正点火時期学習の
サブルーチンを示すフローチャート(その2)、図16
は部分補正点火時期学習のサブルーチンを示すフローチ
ャート(その3)、図17は部分補正点火時期学習のサ
ブルーチンを示すフローチャート(その4)、図18は
部分補正テーブルの概念図、図19はエンジン制御系の
概略図、図20はクランクロータとクランク角センサの
正面図、図21はカムロータとカム角センサの正面図、
図22は制御装置の回路構成図、図23は点火タイミン
グを示すタイムチャートである。
【0012】(エンジン制御系の構成)図19におい
て、符号1はエンジン本体であり、図においては水平対
向4気筒型エンジンを示す。このエンジン本体1のシリ
ンダヘッド2に形成された各吸気ポート2aにインテー
クマニホルド3が連通され、このインテークマニホルド
3にエアチャンバ4を介してスロットルチャンバ5が連
通され、このスロットルチャンバ5上流側に吸気管6を
介してエアクリーナ7が取付けられている。
【0013】また、上記吸気管6の上記エアクリーナ7
の直下流に吸入空気量センサ(図においては、ホットワ
イヤ式エアフローメータ)8が介装され、さらに、上記
スロットルチャンバ5に設けられたスロットルバルブ5
aに、スロットル開度センサ9aとスロットルバルブ全
閉を検出するアイドルスイッチ9bとが連設されてい
る。
【0014】さらに、上記スロットルバルブ5aの上流
側と下流側とを連通するバイパス通路10に、アイドル
スピードコントロールバルブ(ISCV)11が介装さ
れ、上記インテークマニホルド3の各気筒の各吸気ポー
ト2a直上流側に、インジェクタ12が臨まされてい
る。さらに、上記シリンダヘッド2の各気筒毎に、その
先端を燃焼室に露呈する点火プラグ13aが取付けら
れ、この点火プラグ13aに連設される点火コイル13
bにイグナイタ14が接続されている。
【0015】上記インジェクタ12は、燃料供給路15
を介して燃料タンク16に連通されており、この燃料タ
ンク16内にはインタンク式の燃料ポンプ17が設けら
れている。この燃料ポンプ17からの燃料は、上記燃料
供給路15に介装された燃料フィルタ18を経て上記イ
ンジェクタ12、プレッシャレギュレータ19に圧送さ
れ、このプレッシャレギュレータ19から上記燃料タン
ク16にリターンされて所定の圧力に調圧される。
【0016】また、上記エンジン本体1のシリンダブロ
ック1aにノックセンサ20が取付けられるとともに、
このシリンダブロック1aに形成された冷却水通路(図
示せず)に冷却水温センサ21が臨まされ、さらに、上
記シリンダヘッド2の排気ポート2bに連通するエグゾ
ーストマニホルド22の集合部に、O2センサ23が臨
まされている。尚、符号24は触媒コンバータである。
【0017】また、上記シリンダブロック1aに支承さ
れたクランクシャフト1bに、クランクロータ25が軸
着され、このクランクロータ25の外周に、所定のクラ
ンク角に対応する突起(あるいはスリット)を検出する
電磁ピックアップなどからなるクランク角センサ26が
対設され、さらに、上記シリンダヘッド2のカムシャフ
ト1cに連設されたカムロータ27に、電磁ピックアッ
プなどからなる気筒判別用のカム角センサ28が対設さ
れている。
【0018】上記クランクロータ25は、図20に示す
ように、その外周に突起25a,25b,25cが形成
され、これらの各突起25a,25b,25cが、各気
筒(#1,#2と#3,#4) の圧縮上死点前(BTD
C)θ1,θ2,θ3 の位置(例えば、θ1 =97°,θ2
=65°,θ3 =10°)に形成されている。
【0019】すなわち、突起25a,25b間の通過時
間からエンジン回転数NEが算出され、突起25b、突
起25cが、それぞれ、点火時期及び燃料噴射タイミン
グ設定の際の基準クランク角、固定点火時期を示す基準
クランク角となる。
【0020】また、上記カムロータ27の外周には、図
21に示すように、気筒判別用の突起27a,27b,
27cが形成され、例えば、突起27aが#3,#4の
圧縮上死点後(ATDC)θ4 の位置(例えばθ4 =2
0°)に形成され、突起27bが3個の突起で構成され
て最初の突起が#1気筒のATDCθ5 の位置(例えば
θ5 =5°)に形成されている。さらに、突起27cが
2個の突起で形成され、最初の突起が#2気筒のATD
Cθ6の位置(例えばθ6 =20°)に形成されてい
る。
【0021】尚、上記クランク角センサ26、カム角セ
ンサ28は、電磁ピックアップなどの磁気センサに限ら
ず、光センサなどでも良い。
【0022】(制御装置の回路構成)一方、図22にお
いて、符号30は、マイクロコンピュータなどからなる
制御装置(ECU)であり、このECU30は、点火時
期制御、燃料噴射制御などを行なうメインコンピュータ
31と、ノック検出処理を行なう専用のサブコンピュー
タ32との2つのマイクロコンピュータを中核として構
成されている。
【0023】上記ECU30内には、各部に安定化電圧
を供給する定電圧回路33が内蔵されており、この定電
圧回路33は、直接、及びECUリレー34のリレー接
点を介して、バッテリ35に接続されている。このバッ
テリ35には、上記ECUリレー34のリレーコイルが
キースイッチ36を介して接続されるとともに、燃料ポ
ンプリレー37のリレー接点を介して燃料ポンプ17が
接続されている。
【0024】上記メインコンピュータ31は、メインC
PU38、ROM39、RAM40、バックアップRA
M40a、タイマ41、シリアルインターフェース(S
CI)42、及び、I/Oインターフェース43がバス
ライン44を介して互いに接続されて構成され、具体的
には、例えば1つのLSIチップとしてECU30内に
実装されている。
【0025】上記I/Oインターフェース43の入力ポ
ートには、吸入空気量センサ8、スロットル開度センサ
9a、冷却水温センサ21、O2センサ23、及び、車
速センサ60が、A/D変換器45を介して接続される
とともに、スタータスイッチ46、アイドルスイッチ9
b、クランク角センサ26、カム角センサ28が接続さ
れ、さらに、上記バッテリ35が接続されてバッテリ電
圧がモニタされる。
【0026】また、上記I/Oインターフェース43の
出力ポートには、イグナイタ14が接続され、さらに、
駆動回路47を介して、ISCV11、インジェクタ1
2、燃料ポンプリレー37のリレーコイルが接続されて
いる。
【0027】一方、サブコンピュータ32は、サブCP
U48、ROM49、RAM50、タイマ51、SCI
52、及び、I/Oインターフェース53がバスライン
54を介して互いに接続されて構成され、具体的には、
上記メインコンピュータ31同様、例えば1つのLSI
チップとしてECU30内に実装されている。
【0028】上記I/Oインターフェース53の入力ポ
ートには、クランク角センサ26、カム角センサ28が
接続されるとともに、ノックセンサ20が、アンプ5
5、周波数フィルタ56、A/D変換器57を介して接
続されている。
【0029】上記ノックセンサ20は、例えばノック振
動とほぼ同じ固有周波数を持つ振動子と、この振動子の
振動加速度を検知して電気信号に変換する圧電素子とか
ら構成される共振形のノックセンサであり、エンジンの
爆発行程における燃焼圧力波によりシリンダブロック1
aに伝わる振動を検出し、その振動波形を検出信号とし
て出力する。
【0030】上記ノックセンサ20の検出信号は上記ア
ンプ55により所定のレベルに増幅された後、上記周波
数フィルタ56により必要な周波数成分が抽出され、A
/D変換器57でアナログデータからデジタルデータに
変換される。
【0031】また、上記メインコンピュータ31と上記
サブコンピュータ32とは、SCI42,52を介した
シリアル回線により接続されるとともに、上記サブコン
ピュータ32のI/Oインターフェース53の出力ポー
トが、上記メインコンピュータ31のI/Oインターフ
ェース43の入力ポートに接続されている。
【0032】上記メインコンピュータ31では、クラン
ク角センサ26からのクランクパルスに基づいて点火時
期などを設定するとともに、カム角センサ28からのカ
ムパルスに基づいて点火対象となる該当気筒を判別し、
所定の点火時期に達すると、イグナイタ14に点火信号
を出力して該当気筒の点火を行なう。
【0033】一方、上記サブコンピュータ32では、エ
ンジン回転数とエンジン負荷とに基づいてノックセンサ
20からの検出信号のサンプル区間を設定し、このサン
プル区間でノックセンサ20からの検出信号を高速にA
/D変換して振動波形を忠実にデジタルデータに変換
し、ノック発生の有無を判定する。
【0034】このノック発生の有無のノック判定データ
は、サブコンピュータ32のI/Oインターフェース5
3に出力され、ノック発生の場合には、SCI52,4
2を介したシリアル回線を通じてサブコンピュータ32
から上記メインコンピュータ31にノックデータが読込
まれる。上記メインコンピュータ31では、このノック
データに基づいて直ちに該当気筒の点火時期を遅らせ、
ノックを回避する。
【0035】上記メインコンピュータ31による点火時
期制御に際しては、低オクタン価燃料用の基本進角値テ
ーブルと高オクタン価燃料用進角値テーブルとの2つの
点火時期テーブルに対して学習制御が行なわれ、この学
習制御は、加速時、停止される。以下、この点火時期学
習制御に係わる動作について説明する。
【0036】(気筒判別・エンジン回転数算出手順)図
6は、クランク角センサ26からのクランクパルス入力
により割込みスタートする気筒判別・エンジン回転数算
出のルーチンであり、まず、ステップS101で、カム角セ
ンサ28の出力に基づき、#iの点火対象気筒を判別す
ると、次に、ステップS102で、クランクパルスを識別す
る。
【0037】図23のタイムチャートに示すように、例
えば、上記カム角センサ28からθ5 (突起27b)の
カムパルスが出力された場合、次の圧縮上死点は#3気
筒であり、この#3気筒が点火対象気筒(#4気筒が燃
料噴射対象気筒)となることが判別できる。
【0038】また、上記θ5 のカムパルスの後にθ4
(突起27a)のカムパルスが出力された場合、次の圧
縮上死点は#2気筒であり、この#2気筒が点火対象気
筒(#1気筒が燃料噴射対象気筒)となることが判別で
きる。
【0039】同様にθ6 (突起27c)のカムパルスが
出力された後の圧縮上死点は#4気筒であり、この#4
気筒が点火対象気筒(#3気筒が燃料噴射対象気筒)と
なる。さらに、上記θ6 のカムパルスの後にθ4 (突起
27a)のカムパルスが出力された場合、その後の圧縮
上死点は#1気筒であり、この#1気筒が点火対象気筒
(#2気筒が燃料噴射対象気筒)となることが判別でき
る。
【0040】さらに、上記カム角センサ28からカムパ
ルスが出力された後に、クランク角センサ26から出力
されるクランクパルスが周期(回転数)を算出する際の
基準クランク角(θ1)を示し、次のクランクパルスが
該当気筒の点火時期及び燃料噴射開始時期を設定する際
の基準クランク角(θ2 )を示すものであることが判別
できる。
【0041】すなわち、本実施例の4サイクル4気筒エ
ンジンでは、燃焼行程は#1→#3→#2→#4の気筒
順であり、#i気筒の点火対象気筒が#1気筒とする
と、このときの燃料噴射対象気筒#i(+2)は#2気筒で
あり、次の燃料噴射対象気筒#i(+2)のは#4気筒とな
る。そして、点火が#1→#3→#2→#4の気筒順に
行われ、燃料噴射は該当気筒に対して720℃A(エン
ジン2回転)毎に1回のシーケンシャル噴射が行われ
る。
【0042】その後、ステップS103で、例えば、クラン
ク角センサ26から出力されるBTDCθ1 ,θ2 のク
ランクパルスの入力間隔時間(周期)Tθ12を計時し、
ステップS104で、この入力間隔時間Tθ12からエンジン
回転数NE を算出し、RAM40の所定アドレスに回転
数データとしてストアしてルーチンを抜ける。
【0043】(点火時期設定手順)一方、所定時間毎に
実行される図7及び図8の割込みルーチンにて点火時期
が設定される。この点火時期設定ルーチンでは、まず、
ステップS201,S202で、それぞれ、スタータスイッチ4
6がONされているか否か、エンジン回転数NEが完爆
回転数NESET(例えば、NESET=400rpm)に達し
ているか否かを判別する。
【0044】そして、スタータスイッチ46がONのエ
ンジン始動時、あるいは、NE≦NESETのときには、ス
テップS201あるいはステップS202からステップS216へ分
岐してエンジン始動時及び極低回転時を判別するための
始動時・極低回転時判別フラグFLAGSTをセットし
(FLAGST←1)、ルーチンを抜ける。
【0045】一方、スタータスイッチ46のONによる
エンジンのクランキング後、スタータスイッチ46がO
FFされ、NE>NESETとなってエンジンが完爆したと
きには、ステップS201,S202からステップS203へ進ん
で、始動時・極低回転時判別フラグFLAGSTをクリア
し(FLAGST←0)、ステップS204で、冷却水温TW
に基づき水温補正値ADVTW(角度データ)を設定す
る。
【0046】次いで、ステップS205へ進み、エンジン回
転数NE、エンジン負荷としての基本燃料噴射量TPに基
づき、部分補正テーブルTBADVPRTを参照して部分補正
点火時期ADVPRTを設定する。この部分補正テーブル
TBADVPRTは、運転領域毎に部分的な補正を行なうため
の部分補正点火時期ADVPRTをバックアップRAM4
0aにストアしたものであり、図18に示すように、エ
ンジン回転数NE、基本燃料噴射量TPをパラメータとし
て特定される各領域毎に部分補正点火時期ADVPRTが
ストアされている。
【0047】尚、上述の基本燃料噴射量TPは、エンジ
ン負荷の一例であり、その他、燃料噴射量あるいは1行
程当たりの吸入空気量などを用いても良い。
【0048】ステップS206では、エンジン回転数NE、
基本燃料噴射量TPに基づき、基本進角値テーブルを補
間計算付きで参照して基本進角値IGREGを設定する。
この基本進角値テーブルは、レギュラーガソリンなどの
低オクタン価の燃料を使用した際に、ノッキングを許容
範囲内に抑えることのできるノック限界の点火時期を基
本進角値として、エンジン回転数NE、基本燃料パルス
幅TPをパラメータとして予め実験などにより求めてR
OM39にストアされているものであり、例えば、16
×16格子の三次元テーブルとして構成されている。
【0049】その後、ステップS207へ進むと、バックア
ップRAM40aにストアされている全体補正係数TCM
Pを読出し、ステップS208で、エンジン回転数NE、基本
燃料噴射量TPに基づき、高オクタン価燃料用進角値テ
ーブルを補間計算付きで参照して高オクタン価燃料用進
角値IGMBTを設定する。
【0050】上記高オクタン価燃料用進角値テーブル
は、プレミアムガソリンなどの高オクタン価で耐ノック
性の高い燃料を使用した際に発揮することのできる許容
最大トルクを得られる点火時期を、エンジン回転数N
E、基本燃料パルス幅TPをパラメータとして予め実験な
どにより求め、ROM39に、例えば、16×16格子
の三次元テーブルとしてストアされているものである。
【0051】次いで、ステップS209へ進み、上記ステッ
プS206で設定した基本進角値IGREGと、上記ステップS
208で設定した高オクタン価燃料用進角値IGMBTに上記
ステップS207で読出した全体補正係数TCMPを乗算した
値とを加算し、全体補正点火時期(°CAを単位とする
角度データ)ADVTOTを算出する(ADVTOT←IGRE
G+TCMP×IGMBT)。
【0052】そして、ステップS210へ進み、上記ステッ
プS209で算出した全体補正点火時期ADVTOTに、部分
補正点火時期ADVPRT及び水温補正値ADVTWを加算
して制御進角ADVを算出し(ADV←ADVTOT+A
DVPRT+ADVTW)、ステップS211で、制御進角AD
Vをθ2パルスを基準とした点火時刻、すなわち角度を
時間データに変換した点火タイミングTADVを設定する
(TADV←Tθ12×(θ2−ADV)/θ12)。但し、θ
12はθ1クランクパルスとθ2クランクパルスに対応する
角度差(例えば、θ1=97°CA、θ2=65°CAの
とき、θ12=32°CA)である。
【0053】次に、ステップS212へ進むと、バッテリ電
圧に基づき基本通電時間テーブルを補間計算付きで参照
して基本通電時間DWLBを設定すると、ステップS213
で、エンジン回転数NEに基づき回転補正テーブルを補
間計算付きで参照して回転補正KDWLNを設定する。尚、
上記基本通電時間DWLBは、バッテリ電圧が高いほど短
く設定され、上記回転補正KDWLNは、エンジン回転数N
Eが高いほど小さく設定される。
【0054】そして、ステップS214へ進んで、基本通電
時間DWLBに回転補正KDWLNを乗じて通電時間DWLを算
出すると(DWL←DWLB×KDWLN)、ステップS215で、
θ2クランクパルスを基準とした通電開始時刻すなわち
通電開始タイミングTDWLを設定して(TDWL←TADV−
DWL)ルーチンを抜ける。
【0055】この点火時期設定ルーチンで設定した点火
時期に対し、図9及び図10に示す通電・点火制御手順
のルーチンが、θ2、θ3クランクパルス割込みにより起
動され、点火対象気筒#iのドエル(通電)及びドエル
カット(点火)を行なう。
【0056】図9に示すθ2クランクパルスによる割込
みでは、ステップS301で、始動時・極低回転時判別フラ
グFLAGSTの値を参照し、FLAGST=1、すなわ
ち、始動時あるいは極低回転時にはステップS302へ分岐
して点火対象気筒#iのドエルを開始してルーチンを抜
け、FLAGST=0、すなわち、通常時には、ステップ
S303へ進んで、ドエルセットタイマTIM1及び点火セ
ットタイマTIM2のカウントを開始する。
【0057】次いで、ステップS304へ進むと、ドエルセ
ットタイマTIM1のカウント値が通電開始タイミング
TDWLに達したか否かを判別するループとなり、通電開
始タイミングTDWLに達すると、ステップS305へ進ん
で、点火対象気筒#iのドエルを開始し、ステップS306
で、ドエルセットタイマTIM1をクリアして(TIM1
←0)、ステップS307で、点火セットタイマTIM2の
カウント値が点火タイミングTADVに達したか否かを判
別する。
【0058】そして、上記ステップS307で、点火セット
タイマTIM2のカウント値が点火タイミングTADVに達
すると、ステップS308へ進んで、点火対象気筒#iのド
エルカットすなわち点火を行ない、ステップS309で、点
火セットタイマTIM2をクリアして(TIM2←0)ル
ーチンを抜ける。
【0059】次に、θ3のクランクパルスが入力される
と、図10の割込みルーチンが起動され、ステップS401
で、始動時・極低回転時判別フラグFLAGSTの値を参
照し、FLAGST=0、すなわち、通常時にはそのまま
ルーチンを抜け、FLAGST=1、すなわち、始動時あ
るいは極低回転時には、ステップS402で、点火対象気筒
#iのドエルカットを行ない、ルーチンを抜ける。
【0060】すなわち、図23に示すように、始動時あ
るいは極低回転時には、θ2(例えば、BTDC65
°)クランクパルスが入力されると直ちに該当気筒#i
のドエルを開始し、θ3(例えば、BTDC10°)ク
ランクパルスで点火を行なう固定点火時期となり、一
方、通常時には、θ2クランクパルスを基準として、こ
の基準から所定時間経過した通電開始タイミングTDWL
にてドエルを開始し、点火タイミングTADVにて点火を
行なうのである。
【0061】また、通常時の点火時期制御においては、
現在のエンジンの要求する点火時期の値が、低オクタン
価燃料用の基本進角値テーブルと高オクタン価燃料用進
角値テーブルとの2つの点火時期テーブルのどの位置に
あるかを決定する全体補正と、エンジン回転数とエンジ
ン負荷とをパラメータとする領域毎にノック発生の有無
により点火時期の値を補正する部分補正とが行われる。
以下、その手順について説明する。
【0062】図1〜図3は全体補正係数及び部分補正点
火時期学習手順を示し、本実施例の4気筒エンジンにお
いては、エンジン1/2回転毎の点火に対し実行される
(6気筒エンジンではエンジン1/3回転毎)。
【0063】まず、ステップS501,S502,503で学習条件
の判別を行なう。すなわち、ステップS501で、始動時・
極低回転時判別フラグFLAGSTが”0”か否かを判別
し、ステップS502で、ノックセンサ20、ISCV11
などの点火時期に影響するセンサ、アクチュエータが正
常か否かをECU30の内部データにより判別し、ステ
ップS503で、冷却水温TWが暖機完了温度TWSET以上か
否かを判別する。
【0064】そして、上記ステップS501,S502,S503で満
足されない条件がある場合には、そのステップからルー
チンを抜け、一方、ステップS501でFLAGST=0で通
常時であり、且つ、ステップS502でノックセンサ20、
ISCV11などの点火時期に影響するセンサ、アクチ
ュエータが正常であり、さらに、ステップS503で冷却水
温TWが暖機完了温度TWSET以上の場合、学習条件成立
と判別してステップS504へ進み、加速状態での点火時期
学習を中止する点火回数を示す学習中止点火回数COU
NTACCの値が0か否かを判別する。
【0065】上記ステップS504で、COUNTACC≠0
のときには、ステップS509へジャンプし、学習中止点火
回数COUNTACCをカウントダウンして(COUNTA
CC←COUNTACC−1)ルーチンを抜け、COUNTA
CC=0のときには、ステップS505で、加速判定レベルL
EVACC(後述する加速判定ルーチンにて設定され、数
値が小さいほど加速が大きい)と設定値ACCDVG(例
えば、ACCDVG=4)とを比較する。
【0066】その結果、上記ステップS505で、LEVAC
C≦ACCDVGのときには、ステップS506へ進んで、車速
VSPが設定値VSPACT(例えば、VSPACT=20〜60
Km)未満か否かを判別し、VSP<VSPACTのとき、
ステップS507で、学習中止点火回数COUNTACCに設
定値ACCTN(例えば、30回)をセットして(COU
NTACC←ACCTN)、ステップS509でカウントダウン
を行なってルーチンを抜け、VSP≧VSPACTのと
き、ステップS508で、学習中止点火回数COUNTACC
に設定値ACCNTV(例えば、150回)をセットして
(COUNTACC←ACCNTV)、ステップS509でカウン
トダウンを行なってルーチンを抜ける。
【0067】すなわち、加速時には、正確なノック検出
が困難であって的確な点火時期学習が期待できず、ま
た、加速状態は短時間であるため、学習を中止しても問
題はないため、加速レベルLEVACCが設定値ACCDVG
以下のとき、所定点火回数の間、加速と判定して学習を
中止するのである。
【0068】この際、自動変速機を搭載した自動車で
は、車速VSPが高い(VSP≧VSPACT)とキック
ダウンが起こり、エンジン回転数が急激に変化し、安定
化するに至るまで時間を要し、車速VSPが低い(VS
P<VSPACT)と、キックダウンは起こらず、比較的
エンジン回転数変化が少ない。従って、学習中止の際、
VSP≧VSPACTの場合には、VSP<VSPACTの場
合よりも学習中止の点火回数を大きくするのである。
【0069】一方、上記ステップS505で、LEVACC>
ACCDVGのときには、上記ステップS505からステップS
510以降へ分岐して学習を行なう。以下、学習手順につ
いて説明すると、ステップS510で、バックアップRAM
40aの所定アドレスから全体補正終了フラグFLAG
TCMPの値を読出し、全体補正が終了したか否かを判別す
る。
【0070】そして、FLAGTCMP=0、すなわち、全
体補正が終了していないときには、ステップS510からス
テップS511へ進んで、ノック無しの状態の継続時間をカ
ウントするノック無し継続時間タイマTIM3をクリア
し(TIM3←0)、ステップS512で、全体補正係数学
習のサブルーチンを呼び出して全体補正係数TCMPを学
習し、ルーチンを終了する。
【0071】一方、上記ステップS510で、FLAGTCMP
=1、すなわち、全体補正が終了しているときには、ス
テップS510からステップS513以降へと分岐し、ステップ
S513,S514で、それぞれ、後述する全体補正係数学習の
サブルーチンにて、全体補正係数TCMPが上下限に達し
た状態をカウントするための制限カウント値COUNT
TCMP、ノック発生無しの状態をカウントするためのノッ
ク発生無しカウント値COUNTNKをクリアする(CO
UNTTCMP←0、COUNTNK←0)。
【0072】その後、ステップS515で、部分補正点火時
期学習のサブルーチンを呼び出して部分補正点火時期A
DVPRTを学習し、次いで、部分補正の結果、全体補正
が不適当となって、再度、全体補正を行なう全体補正復
帰条件が成立するか否かを、ステップS516〜S520におい
て判別する。
【0073】すなわち、ステップS516で、学習した運転
領域の部分補正点火時期ADVPRTが負の値か否か(リ
タードか否か)を判別するとともに、ステップS517で、
全体補正係数TCMPが設定値TCLOW(但し、1.0>TCLOW
>0)以上か否かを判別し、ADVPRT<0(リタード)
且つTCMP≧TCLOWのときステップS518へ進み、これ以
外のときにはルーチンを抜ける。
【0074】ステップS518では、エンジン回転数NE、
基本燃料噴射量TPに基づき、高オクタン価燃料用進角
値テーブルから高オクタン価燃料用進角値IGMBTを設
定し、この高オクタン価燃料用進角値IGMBTに設定値
PCMPL(例えば、PCMPL=0.1〜0.4)を乗算した値IG
MBT×PCMPLと、部分補正点火時期ADVPRTの絶対値|
ADVPRT|とを、ステップS519にて比較する。
【0075】そして、|ADVPRT|<IGMBT×PCMPL
のときには、ステップS519からルーチンを抜け、|AD
VPRT|≧IGMBT×PCMPLのとき、ステップS519からス
テップS520へ進んで、エンジン回転数NE及び基本燃料
噴射量TPが設定範囲内(NESETL3≦NE≦NESETH3、且
つ、TPSETL3≦TP≦TPSETH3)にあるか否かを判別
し、設定範囲内にないときにはルーチンを抜け、設定範
囲内のとき、ステップS521で、全体補正終了フラグFL
AGTCMPをクリアして(FLAGTCMP←0)ルーチンを
抜ける。
【0076】上述のステップS505における加速判定レベ
ルLEVACCは、所定時間毎に実行される加速判定ルー
チン(図4及び図5)にて設定される。この加速判定ル
ーチンでは、まず、ステップS601で、スロットル開度セ
ンサ9aからのスロットル開度θを読込み、ステップS6
02で、前回のルーチン実行時のスロットル開度θMEMOを
RAM40から読出す。
【0077】次いで、ステップS603へ進んで、今回のス
ロットル開度θと前回のスロットル開度θMEMOからスロ
ットル開度変化d(θ−θMEMO)/dtを算出し、ステッ
プS604以降におけるスロットル開度変化d(θ−θMEMO)
/dtの設定値SET0,SET1,SET2,SET3,
SET4,SET5,SET6(SET0>SET1>SE
T2>SET3>SET4>SET5>SET6)に対する
大小比較結果により、加速判定レベルLEVACCを決定
する。
【0078】すなわち、ステップS604で、d(θ−θMEM
O)/dt>SET0のときには、ステップS605へ進ん
で、加速判定レベルLEVACCを0として(LEVACC←
0)RAM40にストアし、d(θ−θMEMO)/dt≦S
ET0のときには、ステップS606へ分岐して、スロット
ル開度変化d(θ−θMEMO)/dtを設定値SET1と比
較する。
【0079】上記ステップS606での比較結果、d(θ−
θMEMO)/dt>SET1のときには、ステップS607で、
加速判定レベルLEVACCを1として(LEVACC←1)
RAM40にストアし、d(θ−θMEMO)/dt≦SET
1のときには、ステップS608以降へ分岐する。
【0080】そして、以下、同様にして、スロットル開
度変化d(θ−θMEMO)/dtと設定値SET2,SET
3,SET4,SET5,SET6とを順に比較し、スロッ
トル開度変化d(θ−θMEMO)/dtが設定値より大きい
とき、ステップS609,S611,S613,S615,S617のいずれかの
ステップで、加速判定レベルLEVACCを2、3、4、
5、あるいは6として(LEVACC←2、LEVACC←
3、LEVACC←4、LEVACC←5、あるいは、LEV
ACC←6)RAM40にストアし、最終的に、ステップS
616で、d(θ−θMEMO)/dt≦SET6のとき、ステッ
プS618へ進んで、加速判定レベルLEVACCを7として
(LEVACC←7)RAM40にストアする。
【0081】その後、加速判定レベルLEVACCを決定
すると、ステップS619へ進み、今回読込んだスロットル
開度θをスロットル開度θMEMOとしてRAM40の所定
アドレスにストアし、ルーチンを抜ける。
【0082】また、上述の全体補正係数及び部分補正点
火時期学習ルーチンのステップS512,S515における全体
補正係数学習のサブルーチン、部分補正点火時期学習の
サブルーチンは、それぞれ、図11〜図13、図14〜
図17に示される。
【0083】図11〜図13の全体補正係数学習のサブ
ルーチンでは、ステップS701で、エンジン回転数NE、
基本燃料噴射量TPが学習領域内(NESETL1≦NE≦NES
ETH1、且つ、TPSETL1≦TP≦TPSETH1)にあるか否か
を判別し、学習領域内にないときにはルーチンを抜け、
学習領域内にあるときには、ステップS702で、ノック発
生の有無を判別して、ノック発生有りのとき、ステップ
S703以降へ進み、、ノック発生無しのとき、ステップS7
13以降へ分岐する。
【0084】まず、ノック発生有りの場合について説明
すると、ステップS703で、ノックの有無の変化を判別す
るための全体補正ノック有無変化判別フラグFLAGNK
1の値を参照し、FLAGNK1=1のとき、すなわち、前
回もノック発生有りの状態であり、ノック有無の状態が
変化していないときには、ステップS705へジャンプし、
FLAGNK1=0のとき、すなわち、前回、ノック発生
無しであり、今回ノック発生有りとなったときには、ス
テップS704で、全体補正係数TCMPを更新するための変
化量ΔTCMPを前回の値の1/2に更新し(ΔTCMP←ΔTC
MP/2)、ステップS705へ進む。
【0085】ステップS705では、前回までの全体補正係
数TCMPを変化量ΔTCMPを減算して更新し(TCMP←TC
MP−ΔTCMP)、ステップS706で、部分補正テーブルT
BADVPRTを初期化する。すなわち、ノックが発生してい
るときには、エンジン1/2回転毎に全体補正係数TCMPを
遅角側に更新し、この全体補正係数TCMPの更新に伴い
部分補正テーブルTBADVPRTのテーブル値を全て”0”
にクリアして初期化するのである。
【0086】尚、部分補正テーブルTBADVPRTは、バッ
クアップ電源がOFFとなってバックアップRAM40
a内のデータが破壊された場合には、電源再投入時、テ
ーブル値は全てクリアされ初期化される。
【0087】その後、ステップS707へ進むと、全体補正
係数TCMPが遅角側に更新されて負の値になったか否か
を判別し、TCMP≦0のとき、ステップS708で、全体補
正係数TCMPを”0”に固定して(TCMP←0)遅角制限
すると、ステップS709で、全体補正係数TCMPが上下限
に達した状態をカウントするための制限カウント値CO
UNTTCMPをカウントアップし(COUNTTCMP←CO
UNTTCMP+1)、ステップS711へ進む。
【0088】また、上記ステップS707で、TCMP>0の
ときには、ステップS709で、制限カウント値COUNT
TCMPをクリアし(COUNTTCMP←0)、ステップS711
で、全体補正ノック有無変化判別フラグFLAGNK1を
セットすると(FLAGNK1←1)、ステップS712で、
ノック発生無しの状態をカウントするためのノック発生
無しカウント値COUNTNKをクリアし(COUNTNK
←0)、ステップS725へ進む。
【0089】一方、上記ステップS702で、ノック発生無
しの場合には、ステップS713で、全体補正ノック有無変
化判別フラグFLAGNK1の値を参照し、FLAGNK1=
1のとき、すなわち、前回、ノック発生有りの状態から
ノック無しの状態に変化したときには、ステップS714へ
進んで、変化量ΔTCMPを前回の値の1/2に更新し(ΔT
CMP←ΔTCMP/2)、ステップS724で、全体補正ノック
有無変化判別フラグFLAGNK1をクリアして(FLA
GNK1←0)ステップS725へ進む。
【0090】また、上記ステップS713で、FLAGNK1
=0であり、前回から引き続きノック発生無しの状態が
継続しているときには、上記ステップS713からステップ
S715へ進んで、ノック発生無しカウント値COUNTNK
をカウントアップすると(COUNTNK←COUNTNK
+1)、ステップS716で、ノック発生無しカウント値C
OUNTNKが設定値CTOTJD以上となったか否かを判別
する。
【0091】そして、上記ステップS716で、COUNT
NK<CTOTJDのときには、前述のステップS724へ分岐
し、COUNTNK≧CTOTJDのとき、すなわち、ノック
が設定回数の点火で発生しなかったときには、ステップ
S717へ進んで、前回までの全体補正係数TCMPに変化量
ΔTCMPを加算して進角側に更新し(TCMP←TCMP+Δ
TCMP)、ステップS718で、部分補正テーブルTBADVPR
Tを初期化する。
【0092】次いで、ステップS719へ進み、進角側への
更新により全体補正係数TCMPが1.0以上となったか否か
を判別し、TCMP≧1.0のとき、ステップS720で、全体補
正係数TCMPを1.0に固定して(TCMP←1.0)進角制限す
ると、ステップS721で、制限カウント値COUNTTCMP
をカウントアップし(COUNTTCMP←COUNTTCMP
+1)、TCMP<1.0のときには、ステップS722で、制限
カウント値COUNTTCMPをクリアする(COUNTTC
MP←0)。
【0093】次いで、上記ステップS721あるいはステッ
プS722からステップS723へ進むと、ノック発生無しカウ
ント値COUNTNKをクリアして(COUNTNK←
0)、ステップS724で、全体補正ノック有無変化判別フ
ラグFLAGNK1をクリアし(FLAGNK1←0)、その
後、ステップS725で、変化量ΔTCMPを設定値DTCMP2
(例えば、1/16)と比較するとともに、ステップS726
で、制限カウント値COUNTTCMPを設定値NTCMPと比
較する。
【0094】そして、上記ステップS725,S726におい
て、ΔTCMP≦DTCMP2、あるいは、COUNTTCMP≧N
TCMPの条件が不成立のときには、ステップS727で、全体
補正終了フラグFLAGTCMPをクリアして(FLAGTC
MP←0)ルーチンを抜け、条件が1つでも成立したと
き、すなわち、変化量ΔTCMPが設定値DTCMP2以下のと
き、あるいは、全体補正係数TCMPが上下限となった状
態が設定回連続したときには、ステップS728で、全体補
正終了フラグFLAGTCMPをセットして(FLAGTCMP
←1)ルーチンを抜け、前述した全体補正係数及び部分
補正点火時期学習手順のルーチンが次回に起動されたと
き、全体補正を終了させて部分補正に移行させる。
【0095】尚、全体補正係数TCMP、変化量ΔTCMP、
全体補正終了フラグFLAGTCMPは、バックアップRA
M40aにストアされており、バッテリ35を取外すな
どしてバックアップ電源がOFFとなり、バックアップ
RAM40a内のデータが破壊された場合には、電源再
投入時に、それぞれ、初期値にイニシャルセットされる
(TCMP←TCMPINI(例えば、1/2)、ΔTCMP←ΔTCMP
INI(例えば、1/4)、FLAGTCMP←0) また、図14〜図17の部分補正点火時期学習のサブル
ーチンでは、ステップS801で、エンジン回転数NE、基
本燃料噴射量TPが、部分補正テーブルTBADVPRTの領
域内(NE0≦NE≦NEN、且つ、TP0≦TP≦TPN)か否
かを判別し、領域内にないときにはルーチンを抜け、領
域内にあるとき、ステップS802で、ノック発生の有無を
判別する。
【0096】そして、ノック発生有りの場合には、ステ
ップS802からステップS803へ進み、ノック無しの状態の
継続時間をカウントするためのノック無し継続時間タイ
マTIM3をクリアし(TIM3←0)、ステップS804
で、エンジン回転数NE、基本燃料噴射量TPに基づき、
部分補正テーブルTBADVPRTを参照して部分補正点火時
期ADVPRTを設定する。
【0097】次いで、ステップS805へ進み、上記ステッ
プS804で設定した部分補正点火時期ADVPRTを旧テー
ブル値(ADVPRT)OLDとし((ADVPRT)OLD←ADVPR
T)、ステップS806で、旧テーブル値(ADVPRT)OLDか
ら設定値DRETPを減算して新テーブル値(ADVPRT)NEW
とする((ADVPRT)NEW←(ADVPRT)OLD−DRETP)こ
とにより、1回ノックが発生する毎に設定値DRETPずつ
遅角させ、ステップS807へ進む。
【0098】ステップS807では、新テーブル値(ADVP
RT)NEWを遅角制限値LWLMTPと比較し、(ADVPRT)NEW
>LWLMTPのときには、ステップS809にジャンプする一
方、(ADVPRT)NEW≦LWLMTPのときには、ステップS8
08で、新テーブル値(ADVPRT)NEWを遅角制限値LWLM
TPに固定して((ADVPRT)NEW←LWLMTP)ステップS8
09に進み、制限値以上の遅角化を防止する。
【0099】ステップS809では、部分補正テーブルTB
ADVPRTの該当領域ADDRESSの部分補正点火時期A
DVPRTを新テーブル値(ADVPRT)NEWで更新し(AD
VPRT←(ADVPRT)NEW)、ステップS810で、ノックの
有無の変化を判別するための部分補正ノック有無変化判
別フラグFLAGNK2をセットして(FLAGNK2←1)
ルーチンを抜ける。
【0100】一方、上記ステップS802で、ノック発生無
しの場合には、上記ステップS802からステップS811へ分
岐し、部分補正ノック有無変化判別フラグFLAGNK2
の値を参照し、FLAGNK2=1のとき、すなわち、前
回、ノック発生有りの状態からノック無しの状態に変化
したときには、ステップS832へジャンプして、ノック無
し継続時間タイマTIM3をスタートさせ、ステップS83
3で、部分補正ノック有無変化判別フラグFLAGNK2を
クリアして(FLAGNK2←0)ルーチンを抜ける。
【0101】また、部分補正ノック有無変化判別フラグ
FLAGNK2がFLAGNK2=0のとき、すなわち、前回
ルーチン実行時もノック発生無しのときには、上記ステ
ップS811からステップS812へ進んで、エンジン回転数N
E、基本燃料噴射量TPに基づき部分補正テーブルTBAD
VPRTにおける領域ADDRESSを特定し、ステップS8
13で、この領域ADDRESSを新領域(ADDRES
S)NEWとする((ADDRESS)NEW←ADDRES
S)。
【0102】そして、今回のルーチン実行時の新領域
(ADDRESS)NEWが前回の旧領域(ADDRESS)O
LDと同じか否かをステップS814で判別し、新領域(AD
DRESS)NEWが前回のルーチン実行時の旧領域(AD
DRESS)OLDと異なる場合には、ステップS814からス
テップS830へ分岐してノック無し継続時間タイマTIM
3をクリアし(TIM3←0)、ステップS831で、新領域
(ADDRESS)NEWを旧領域(ADDRESS)OLDとし
て((ADDRESS)OLD←(ADDRESS)NEW)、前
述したステップS832,S833を経てルーチンを抜ける。
【0103】一方、今回のルーチン実行時の新領域(A
DDRESS)NEWが前回のルーチン実行時の旧領域(A
DDRESS)OLDと同じ場合には、上記ステップS814か
らステップS815へ進んで、新領域(ADDRESS)NEW
を旧領域(ADDRESS)OLDとし((ADDRESS)O
LD←(ADDRESS)NEW)、ステップS816で、ノック
無し継続時間タイマTIM3の計時が設定時間TIMPRT
以上経過したか否かを判別する。
【0104】上記ステップS816で、ノック無し継続時間
タイマTIM3の計時が設定時間TIMPRTを越えていな
いときには、前述のステップS833を経てルーチンを抜
け、ノック無し継続時間タイマTIM3の計時が設定時
間TIMPRT以上となったときには、ステップS817で、
ノック無し継続時間タイマTIM3をクリアして(TI
M3←0)ステップS818へ進み、部分補正テーブルTBA
DVPRTの該当領域ADDRESSから部分補正点火時期
ADVPRTを読出す。
【0105】その後、ステップS819へ進んで、読出した
部分補正点火時期ADVPRTを旧テーブル値(ADVPRT)
OLDとし((ADVPRT)OLD←ADVPRT)、ステップS820
で、旧テーブル値(ADVPRT)OLDに設定値DADVPを加算
して新テーブル値(ADVPRT)NEWとする((ADVPRT)N
EW←(ADVPRT)OLD+DADVP)ことにより、同一の運転
領域でノックが発生していなければ設定時間TIMPRT
毎に設定値DADVPずつ進角させ、ステップS821へ進む。
【0106】ステップS821では、エンジン回転数NE、
基本燃料噴射量TPに基づき、高オクタン価燃料用進角
値テーブルを参照して高オクタン価燃料用進角値IGMB
Tを設定すると、ステップS822で、全体補正係数TCMPを
バックアップRAM40aから読出す。
【0107】次に、ステップS823で、高オクタン価燃料
用進角値IGMBTに全体補正係数TCMPの上限との差(1
−TCMP)を乗算した値を、部分補正点火時期制限値A
DVPRTLIMとし(ADVPRTLIM←IGMBT×(1−TCM
P))、この新テーブル値(ADVPRT)NEWを、ステップS8
24以降で、設定値UPLMTPと部分補正点火時期制限値A
DVPRTLIMとの小さい方の値に進角制限する。
【0108】すなわち、ステップS824で、部分補正点火
時期制限値ADVPRTLIMと設定値UPLMTPと比較し、U
PLMTP≦ADVPRTLIMのときには、上記ステップS824か
らステップS825へ進んで、上記ステップS820で設定した
新テーブル値(ADVPRT)NEWと設定値UPLMTPとを比較
する。
【0109】その比較結果、(ADVPRT)NEW<UPLMTP
のときには、上記ステップS825からステップS829へジャ
ンプし、(ADVPRT)NEW≧UPLMTPのときには、ステッ
プS826で、設定値UPLMTPを新テーブル値(ADVPRT)N
EWとして((ADVPRT)NEW←UPLMTP)、ステップS829
へ進む。
【0110】一方、上記ステップS824での比較結果、U
PLMTP>ADVPRTLIMのときには、上記ステップS824か
らステップS827へ分岐して新テーブル値(ADVPRT)NEW
と部分補正点火時期制限値ADVPRTLIMとを比較し、
(ADVPRT)NEW<ADVPRTLIMのときにはステップS829
にジャンプし、(ADVPRT)NEW≧ADVPRTLIMのときに
は、ステップS828で、部分補正点火時期制限値ADVPR
TLIMを新テーブル値(ADVPRT)NEWとして((ADVPR
T)NEW←ADVPRTLIM)、ステップS829へ進む。
【0111】そして、一連の進角制限のステップを経て
ステップS829へ進むと、部分補正テーブルTBADVPRTの
該当領域ADDRESSの部分補正点火時期ADVPRT
を、新テーブル値(ADVPRT)NEWにて更新し(ADVPR
T←(ADVPRT)NEW)、ステップS833で、部分補正ノッ
ク有無変化判別フラグFLAGNK2をクリアして(FL
AGNK2←0)ルーチンを抜ける。
【0112】これにより、全体補正点火時期ADVTOT
(=IGREG+TCMP×IGMBT)と部分補正点火時期A
DVPRTとの加算値は、IGREG+IGMBT以下に制限さ
れ、過進角が防止される。
【0113】
【発明の効果】以上説明したように本発明によれば、加
速時に、エンジンの状態に応じた期間だけ点火時期学習
を停止することにより、制御性の悪化を防止して安定し
た点火時期制御を行うことができるなど優れた効果が得
られる。
【図面の簡単な説明】
【図1】全体補正係数及び部分補正点火時期学習手順の
フローチャート(その1)
【図2】全体補正係数及び部分補正点火時期学習手順の
フローチャート(その2)
【図3】全体補正係数及び部分補正点火時期学習手順の
フローチャート(その3)
【図4】加速判定手順のフローチャート(その1)
【図5】加速判定手順のフローチャート(その2)
【図6】気筒判別・エンジン回転数算出手順のフローチ
ャート
【図7】点火時期設定手順のフローチャート(その1)
【図8】点火時期設定手順のフローチャート(その2)
【図9】通電・点火制御手順におけるθ2割込みのフロ
ーチャート
【図10】通電・点火制御手順におけるθ3割込みのフ
ローチャート
【図11】全体補正係数学習のサブルーチンを示すフロ
ーチャート(その1)
【図12】全体補正係数学習のサブルーチンを示すフロ
ーチャート(その2)
【図13】全体補正係数学習のサブルーチンを示すフロ
ーチャート(その3)
【図14】部分補正点火時期学習のサブルーチンを示す
フローチャート(その1)
【図15】部分補正点火時期学習のサブルーチンを示す
フローチャート(その2)
【図16】部分補正点火時期学習のサブルーチンを示す
フローチャート(その3)
【図17】部分補正点火時期学習のサブルーチンを示す
フローチャート(その4)
【図18】部分補正テーブルの概念図
【図19】エンジン制御系の概略図
【図20】クランクロータとクランク角センサの正面図
【図21】カムロータとカム角センサの正面図
【図22】制御装置の回路構成図
【図23】点火タイミングを示すタイムチャート
【符号の説明】
LEVACC 加速判定レベル ACCDVG 設定値 VSP 車速 COUNTACC 学習中止点火回数

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ノック発生の有無に応じた点火時期補正
    量を学習し、この学習した点火時期補正量に基づいて点
    火時期を制御するエンジンの点火時期学習制御方法にお
    いて、 加速状態に応じて設定した加速判定レベルと設定値とを
    比較し、この比較結果により加速と判定したとき、所定
    の点火回数の間、上記点火時期補正量の学習を停止する
    ことを特徴とするエンジンの点火時期学習制御方法。
  2. 【請求項2】 上記点火回数を、車速に応じて設定する
    ことを特徴とする請求項1記載のエンジンの点火時期学
    習制御方法。
JP19554391A 1991-08-05 1991-08-05 エンジンの点火時期学習制御方法 Expired - Fee Related JP3564146B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19554391A JP3564146B2 (ja) 1991-08-05 1991-08-05 エンジンの点火時期学習制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19554391A JP3564146B2 (ja) 1991-08-05 1991-08-05 エンジンの点火時期学習制御方法

Publications (2)

Publication Number Publication Date
JPH0539770A true JPH0539770A (ja) 1993-02-19
JP3564146B2 JP3564146B2 (ja) 2004-09-08

Family

ID=16342849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19554391A Expired - Fee Related JP3564146B2 (ja) 1991-08-05 1991-08-05 エンジンの点火時期学習制御方法

Country Status (1)

Country Link
JP (1) JP3564146B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165517B2 (en) 2003-09-16 2007-01-23 Nissan Motor Co., Ltd. Control apparatus and method for internal combustion engine with variable compression ratio mechanism
CN110778438A (zh) * 2018-07-30 2020-02-11 丰田自动车株式会社 内燃机的点火正时控制装置以及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165517B2 (en) 2003-09-16 2007-01-23 Nissan Motor Co., Ltd. Control apparatus and method for internal combustion engine with variable compression ratio mechanism
CN110778438A (zh) * 2018-07-30 2020-02-11 丰田自动车株式会社 内燃机的点火正时控制装置以及方法

Also Published As

Publication number Publication date
JP3564146B2 (ja) 2004-09-08

Similar Documents

Publication Publication Date Title
JPS58217775A (ja) 内燃機関の点火時期制御方法
JPH0237171A (ja) エンジンの点火時期制御装置
JPH0233472A (ja) エンジンの点火時期制御装置
JP3191676B2 (ja) 内燃機関の点火時期制御装置
JPS6225871B2 (ja)
JPH0814271B2 (ja) 内燃機関の点火時期制御装置
JP3564146B2 (ja) エンジンの点火時期学習制御方法
JPH1150900A (ja) 火花点火式エンジンの制御装置
JP2929619B2 (ja) 内燃機関の点火時期制御装置
JP2682651B2 (ja) エンジンの点火時期制御装置
JPH09112395A (ja) エンジンの点火制御装置
JPH05157033A (ja) 内燃エンジンの点火時期制御装置
JPS63106365A (ja) 内燃機関の点火時期制御方法
JPS60159372A (ja) 内燃機関の点火時期制御方法
JP3324767B2 (ja) エンジンの点火時期制御方法
JP5086922B2 (ja) 内燃機関の点火時期制御装置
JP2597125B2 (ja) 内燃機関の点火時期制御装置
JP2002349408A (ja) 内燃機関の点火時期制御装置
JPS58180766A (ja) 内燃機関用点火時期制御装置
JP2528168B2 (ja) 内燃機関の点火時期制御装置
JPH08303282A (ja) 内燃機関の空燃比制御装置
JPS63176637A (ja) 内燃機関の燃料噴射量制御方法
JPS6375355A (ja) 内燃機関のノツキング制御装置
JP2967588B2 (ja) エンジンの点火時期制御装置
JP6454539B2 (ja) 内燃機関制御装置

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040607

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees