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

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

Info

Publication number
JP3564146B2
JP3564146B2 JP19554391A JP19554391A JP3564146B2 JP 3564146 B2 JP3564146 B2 JP 3564146B2 JP 19554391 A JP19554391 A JP 19554391A JP 19554391 A JP19554391 A JP 19554391A JP 3564146 B2 JP3564146 B2 JP 3564146B2
Authority
JP
Japan
Prior art keywords
ignition timing
learning
value
knock
acceleration
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.)
Expired - Fee Related
Application number
JP19554391A
Other languages
English (en)
Other versions
JPH0539770A (ja
Inventor
能之 十川
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 Jukogyo KK
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 Jukogyo KK filed Critical Fuji Jukogyo KK
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

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

Description

【0001】
【産業上の利用分野】
本発明は、ノック発生の有無に応じて点火時期を学習制御するエンジンの点火時期学習制御方法に関する。
【0002】
【従来の技術】
最近では、エンジンの異常燃焼によるノッキングを検出し、点火時期を最適に制御する技術が広く採用されている。
【0003】
この場合、エンジンのノックは、混合気の異常燃焼による圧力振動を、シリンダヘッドあるいはシリンダブロックに取付けた加速度センサなどにより機械的振動として検出するものが多く、エンジン高回転時などにはノックによる振動成分とエンジン自体の振動成分との区別が困難となる。
【0004】
従って、ノック検出の困難な運転領域では、ノック検出の可能な運転領域で学習した学習値により点火時期の補正を行なうようにしており、例えば、特開昭60−27782号公報には、エンジン(機関)の状態が急変する過渡時に学習遅角量の更新を停止し、学習遅角量が異常に大きくなることによる不必要なトルクの低下を防止する技術が開示されている。
【0005】
【発明が解決しようとする課題】
しかしながら、加速時には、車輌の変速機のシフト位置(シフトレンジ)によってエンジンの運転状態が左右されるため、加速が比較的緩やかであっても、ノック発生を正確に検出することが困難で、適切な学習ができない場合がある。また、ノック発生期間も一定でないため、一義的に点火時期学習を停止すると制御性の悪化を招くおそれがある。
【0006】
本発明は上記事情に鑑みてなされたもので、加速時に、エンジンの状態に応じた期間だけ点火時期学習を停止することにより制御性の悪化を防止し、安定した点火時期制御を行なうことのできるエンジンの点火時期学習制御方法を提供することを目的としている。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ノックの有無に応じた点火時期補正量を学習し、この学習した点火時期補正量に基づいて点火時期を制御すると共に、加速を判断し、加速時は所定の点火回数の間、上記点火時期補正量の学習を禁止するエンジンの点火時期学習制御方法において、自動変速機搭載車のエンジンの点火時期学習制御であって、スロットル開度の変化により加速度合いを示す加速判定レベルを設定し、加速判定レベルと設定値との比較により加速が大きいと判断されるとき、点火時期補正量の学習を禁止し、且つ、このときの学習禁止期間を定める点火回数を、車速が設定値以上の高車速の場合は、車速が設定値未満の低車速の場合に比べ、大きく設定することを特徴とする。
【0009】
【作用】
本発明は、自動変速機搭載車のエンジンの点火時期学習制御において、加速時に所定の点火回数の間、点火時期補正量の学習を禁止するに際し、スロットル開度の変化により加速度合いを示す加速判定レベルを設定する。そして、加速判定レベルと設定値との比較により加速が大きいと判断されるとき、点火時期補正量の学習を禁止すると共に、このときの学習禁止期間を定める点火回数を、車速が設定値以上の高車速の場合は、車速が設定値未満の低車速の場合に比べ、大きく設定する。
【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)、図14は部分補正点火時期学習のサブルーチンを示すフローチャート(その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に設けられたスロットルバルブ5aに、スロットル開度センサ9aとスロットルバルブ全閉を検出するアイドルスイッチ9bとが連設されている。
【0014】
さらに、上記スロットルバルブ5aの上流側と下流側とを連通するバイパス通路10に、アイドルスピードコントロールバルブ(ISCV)11が介装され、上記インテークマニホルド3の各気筒の各吸気ポート2a直上流側に、インジェクタ12が臨まされている。さらに、上記シリンダヘッド2の各気筒毎に、その先端を燃焼室に露呈する点火プラグ13aが取付けられ、この点火プラグ13aに連設される点火コイル13bにイグナイタ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) の圧縮上死点前(BTDC)θ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 =20°)に形成され、突起27bが3個の突起で構成されて最初の突起が#1気筒のATDCθ5 の位置(例えばθ5 =5°)に形成されている。さらに、突起27cが2個の突起で形成され、最初の突起が#2気筒のATDCθ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は、メインCPU38、ROM39、RAM40、バックアップRAM40a、タイマ41、シリアルインターフェース(SCI)42、及び、I/Oインターフェース43がバスライン44を介して互いに接続されて構成され、具体的には、例えば1つのLSIチップとしてECU30内に実装されている。
【0025】
上記I/Oインターフェース43の入力ポートには、吸入空気量センサ8、スロットル開度センサ9a、冷却水温センサ21、O2センサ23、及び、車速センサ60が、A/D変換器45を介して接続されるとともに、スタータスイッチ46、アイドルスイッチ9b、クランク角センサ26、カム角センサ28が接続され、さらに、上記バッテリ35が接続されてバッテリ電圧がモニタされる。
【0026】
また、上記I/Oインターフェース43の出力ポートには、イグナイタ14が接続され、さらに、駆動回路47を介して、ISCV11、インジェクタ12、燃料ポンプリレー37のリレーコイルが接続されている。
【0027】
一方、サブコンピュータ32は、サブCPU48、ROM49、RAM50、タイマ51、SCI52、及び、I/Oインターフェース53がバスライン54を介して互いに接続されて構成され、具体的には、上記メインコンピュータ31同様、例えば1つのLSIチップとしてECU30内に実装されている。
【0028】
上記I/Oインターフェース53の入力ポートには、クランク角センサ26、カム角センサ28が接続されるとともに、ノックセンサ20が、アンプ55、周波数フィルタ56、A/D変換器57を介して接続されている。
【0029】
上記ノックセンサ20は、例えばノック振動とほぼ同じ固有周波数を持つ振動子と、この振動子の振動加速度を検知して電気信号に変換する圧電素子とから構成される共振形のノックセンサであり、エンジンの爆発行程における燃焼圧力波によりシリンダブロック1aに伝わる振動を検出し、その振動波形を検出信号として出力する。
【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インターフェース53に出力され、ノック発生の場合には、SCI52,42を介したシリアル回線を通じてサブコンピュータ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で、それぞれ、スタータスイッチ46がONされているか否か、エンジン回転数NEが完爆回転数NESET(例えば、NESET=400rpm)に達しているか否かを判別する。
【0044】
そして、スタータスイッチ46がONのエンジン始動時、あるいは、NE≦NESETのときには、ステップS201あるいはステップS202からステップS216へ分岐してエンジン始動時及び極低回転時を判別するための始動時・極低回転時判別フラグFLAGSTをセットし(FLAGST←1)、ルーチンを抜ける。
【0045】
一方、スタータスイッチ46のONによるエンジンのクランキング後、スタータスイッチ46がOFFされ、NE>NESETとなってエンジンが完爆したときには、ステップS201,S202からステップS203へ進んで、始動時・極低回転時判別フラグFLAGSTをクリアし(FLAGST←0)、ステップS204で、冷却水温TWに基づき水温補正値ADVTW(角度データ)を設定する。
【0046】
次いで、ステップS205へ進み、エンジン回転数NE、エンジン負荷としての基本燃料噴射量TPに基づき、部分補正テーブルTBADVPRTを参照して部分補正点火時期ADVPRTを設定する。この部分補正テーブルTBADVPRTは、運転領域毎に部分的な補正を行なうための部分補正点火時期ADVPRTをバックアップRAM40aにストアしたものであり、図18に示すように、エンジン回転数NE、基本燃料噴射量TPをパラメータとして特定される各領域毎に部分補正点火時期ADVPRTがストアされている。
【0047】
尚、上述の基本燃料噴射量TPは、エンジン負荷の一例であり、その他、燃料噴射量あるいは1行程当たりの吸入空気量などを用いても良い。
【0048】
ステップS206では、エンジン回転数NE、基本燃料噴射量TPに基づき、基本進角値テーブルを補間計算付きで参照して基本進角値IGREGを設定する。この基本進角値テーブルは、レギュラーガソリンなどの低オクタン価の燃料を使用した際に、ノッキングを許容範囲内に抑えることのできるノック限界の点火時期を基本進角値として、エンジン回転数NE、基本燃料パルス幅TPをパラメータとして予め実験などにより求めてROM39にストアされているものであり、例えば、16×16格子の三次元テーブルとして構成されている。
【0049】
その後、ステップS207へ進むと、バックアップRAM40aにストアされている全体補正係数TCMPを読出し、ステップS208で、エンジン回転数NE、基本燃料噴射量TPに基づき、高オクタン価燃料用進角値テーブルを補間計算付きで参照して高オクタン価燃料用進角値IGMBTを設定する。
【0050】
上記高オクタン価燃料用進角値テーブルは、プレミアムガソリンなどの高オクタン価で耐ノック性の高い燃料を使用した際に発揮することのできる許容最大トルクを得られる点火時期を、エンジン回転数NE、基本燃料パルス幅TPをパラメータとして予め実験などにより求め、ROM39に、例えば、16×16格子の三次元テーブルとしてストアされているものである。
【0051】
次いで、ステップS209へ進み、上記ステップS206で設定した基本進角値IGREGと、上記ステップS208で設定した高オクタン価燃料用進角値IGMBTに上記ステップS207で読出した全体補正係数TCMPを乗算した値とを加算し、全体補正点火時期(°CAを単位とする角度データ)ADVTOTを算出する(ADVTOT←IGREG+TCMP×IGMBT)。
【0052】
そして、ステップS210へ進み、上記ステップS209で算出した全体補正点火時期ADVTOTに、部分補正点火時期ADVPRT及び水温補正値ADVTWを加算して制御進角ADVを算出し(ADV←ADVTOT+ADVPRT+ADVTW)、ステップS211で、制御進角ADVをθ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は、エンジン回転数NEが高いほど小さく設定される。
【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へ進み、加速状態での点火時期学習を中止する点火回数を示す学習中止点火回数COUNTACCの値が0か否かを判別する。
【0065】
上記ステップS504で、COUNTACC≠0のときには、ステップS509へジャンプし、学習中止点火回数COUNTACCをカウントダウンして(COUNTACC←COUNTACC−1)ルーチンを抜け、COUNTACC=0のときには、ステップS505で、加速判定レベルLEVACC(後述する加速判定ルーチンにて設定され、数値が小さいほど加速が大きい)と設定値ACCDVG(例えば、ACCDVG=4)とを比較する。
【0066】
その結果、上記ステップS505で、LEVACC≦ACCDVGのときには、ステップS506へ進んで、車速VSPが設定値VSPACT(例えば、VSPACT=20〜60Km)未満か否かを判別し、VSP<VSPACTのとき、ステップS507で、学習中止点火回数COUNTACCに設定値ACCTN(例えば、30回)をセットして(COUNTACC←ACCTN)、ステップS509でカウントダウンを行なってルーチンを抜け、VSP≧VSPACTのとき、ステップS508で、学習中止点火回数COUNTACCに設定値ACCNTV(例えば、150回)をセットして(COUNTACC←ACCNTV)、ステップS509でカウントダウンを行なってルーチンを抜ける。
【0067】
すなわち、加速時には、正確なノック検出が困難であって的確な点火時期学習が期待できず、また、加速状態は短時間であるため、学習を中止しても問題はないため、加速レベルLEVACCが設定値ACCDVG以下のとき、所定点火回数の間、加速と判定して学習を中止するのである。
【0068】
この際、自動変速機を搭載した自動車では、車速VSPが高い(VSP≧VSPACT)とキックダウンが起こり、エンジン回転数が急激に変化し、安定化するに至るまで時間を要し、車速VSPが低い(VSP<VSPACT)と、キックダウンは起こらず、比較的エンジン回転数変化が少ない。従って、学習中止の際、VSP≧VSPACTの場合には、VSP<VSPACTの場合よりも学習中止の点火回数を大きくするのである。
【0069】
一方、上記ステップS505で、LEVACC>ACCDVGのときには、上記ステップS505からステップS510以降へ分岐して学習を行なう。以下、学習手順について説明すると、ステップS510で、バックアップRAM40aの所定アドレスから全体補正終了フラグFLAGTCMPの値を読出し、全体補正が終了したか否かを判別する。
【0070】
そして、FLAGTCMP=0、すなわち、全体補正が終了していないときには、ステップS510からステップS511へ進んで、ノック無しの状態の継続時間をカウントするノック無し継続時間タイマTIM3をクリアし(TIM3←0)、ステップS512で、全体補正係数学習のサブルーチンを呼び出して全体補正係数TCMPを学習し、ルーチンを終了する。
【0071】
一方、上記ステップS510で、FLAGTCMP=1、すなわち、全体補正が終了しているときには、ステップS510からステップS513以降へと分岐し、ステップS513,S514で、それぞれ、後述する全体補正係数学習のサブルーチンにて、全体補正係数TCMPが上下限に達した状態をカウントするための制限カウント値COUNTTCMP、ノック発生無しの状態をカウントするためのノック発生無しカウント値COUNTNKをクリアする(COUNTTCMP←0、COUNTNK←0)。
【0072】
その後、ステップS515で、部分補正点火時期学習のサブルーチンを呼び出して部分補正点火時期ADVPRTを学習し、次いで、部分補正の結果、全体補正が不適当となって、再度、全体補正を行なう全体補正復帰条件が成立するか否かを、ステップ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)を乗算した値IGMBT×PCMPLと、部分補正点火時期ADVPRTの絶対値|ADVPRT|とを、ステップS519にて比較する。
【0075】
そして、|ADVPRT|<IGMBT×PCMPLのときには、ステップS519からルーチンを抜け、|ADVPRT|≧IGMBT×PCMPLのとき、ステップS519からステップS520へ進んで、エンジン回転数NE及び基本燃料噴射量TPが設定範囲内(NESETL3≦NE≦NESETH3、且つ、TPSETL3≦TP≦TPSETH3)にあるか否かを判別し、設定範囲内にないときにはルーチンを抜け、設定範囲内のとき、ステップS521で、全体補正終了フラグFLAGTCMPをクリアして(FLAGTCMP←0)ルーチンを抜ける。
【0076】
上述のステップS505における加速判定レベルLEVACCは、所定時間毎に実行される加速判定ルーチン(図4及び図5)にて設定される。この加速判定ルーチンでは、まず、ステップS601で、スロットル開度センサ9aからのスロットル開度θを読込み、ステップS602で、前回のルーチン実行時のスロットル開度θMEMOをRAM40から読出す。
【0077】
次いで、ステップS603へ進んで、今回のスロットル開度θと前回のスロットル開度θMEMOからスロットル開度変化d(θ−θMEMO)/dtを算出し、ステップS604以降におけるスロットル開度変化d(θ−θMEMO)/dtの設定値SET0,SET1,SET2,SET3,SET4,SET5,SET6(SET0>SET1>SET2>SET3>SET4>SET5>SET6)に対する大小比較結果により、加速判定レベルLEVACCを決定する。
【0078】
すなわち、ステップS604で、d(θ−θMEMO)/dt>SET0のときには、ステップS605へ進んで、加速判定レベルLEVACCを0として(LEVACC←0)RAM40にストアし、d(θ−θMEMO)/dt≦SET0のときには、ステップS606へ分岐して、スロットル開度変化d(θ−θMEMO)/dtを設定値SET1と比較する。
【0079】
上記ステップS606での比較結果、d(θ−θMEMO)/dt>SET1のときには、ステップS607で、加速判定レベルLEVACCを1として(LEVACC←1)RAM40にストアし、d(θ−θMEMO)/dt≦SET1のときには、ステップS608以降へ分岐する。
【0080】
そして、以下、同様にして、スロットル開度変化d(θ−θMEMO)/dtと設定値SET2,SET3,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、あるいは、LEVACC←6)RAM40にストアし、最終的に、ステップS616で、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≦NESETH1、且つ、TPSETL1≦TP≦TPSETH1)にあるか否かを判別し、学習領域内にないときにはルーチンを抜け、学習領域内にあるときには、ステップS702で、ノック発生の有無を判別して、ノック発生有りのとき、ステップS703以降へ進み、、ノック発生無しのとき、ステップS713以降へ分岐する。
【0084】
まず、ノック発生有りの場合について説明すると、ステップS703で、ノックの有無の変化を判別するための全体補正ノック有無変化判別フラグFLAGNK1の値を参照し、FLAGNK1=1のとき、すなわち、前回もノック発生有りの状態であり、ノック有無の状態が変化していないときには、ステップS705へジャンプし、FLAGNK1=0のとき、すなわち、前回、ノック発生無しであり、今回ノック発生有りとなったときには、ステップS704で、全体補正係数TCMPを更新するための変化量ΔTCMPを前回の値の1/2に更新し(ΔTCMP←ΔTCMP/2)、ステップS705へ進む。
【0085】
ステップS705では、前回までの全体補正係数TCMPを変化量ΔTCMPを減算して更新し(TCMP←TCMP−ΔTCMP)、ステップS706で、部分補正テーブルTBADVPRTを初期化する。すなわち、ノックが発生しているときには、エンジン1/2回転毎に全体補正係数TCMPを遅角側に更新し、この全体補正係数TCMPの更新に伴い部分補正テーブルTBADVPRTのテーブル値を全て”0”にクリアして初期化するのである。
【0086】
尚、部分補正テーブルTBADVPRTは、バックアップ電源がOFFとなってバックアップRAM40a内のデータが破壊された場合には、電源再投入時、テーブル値は全てクリアされ初期化される。
【0087】
その後、ステップS707へ進むと、全体補正係数TCMPが遅角側に更新されて負の値になったか否かを判別し、TCMP≦0のとき、ステップS708で、全体補正係数TCMPを”0”に固定して(TCMP←0)遅角制限すると、ステップS709で、全体補正係数TCMPが上下限に達した状態をカウントするための制限カウント値COUNTTCMPをカウントアップし(COUNTTCMP←COUNTTCMP+1)、ステップS711へ進む。
【0088】
また、上記ステップS707で、TCMP>0のときには、ステップS709で、制限カウント値COUNTTCMPをクリアし(COUNTTCMP←0)、ステップS711で、全体補正ノック有無変化判別フラグFLAGNK1をセットすると(FLAGNK1←1)、ステップS712で、ノック発生無しの状態をカウントするためのノック発生無しカウント値COUNTNKをクリアし(COUNTNK←0)、ステップS725へ進む。
【0089】
一方、上記ステップS702で、ノック発生無しの場合には、ステップS713で、全体補正ノック有無変化判別フラグFLAGNK1の値を参照し、FLAGNK1=1のとき、すなわち、前回、ノック発生有りの状態からノック無しの状態に変化したときには、ステップS714へ進んで、変化量ΔTCMPを前回の値の1/2に更新し(ΔTCMP←ΔTCMP/2)、ステップS724で、全体補正ノック有無変化判別フラグFLAGNK1をクリアして(FLAGNK1←0)ステップS725へ進む。
【0090】
また、上記ステップS713で、FLAGNK1=0であり、前回から引き続きノック発生無しの状態が継続しているときには、上記ステップS713からステップS715へ進んで、ノック発生無しカウント値COUNTNKをカウントアップすると(COUNTNK←COUNTNK+1)、ステップS716で、ノック発生無しカウント値COUNTNKが設定値CTOTJD以上となったか否かを判別する。
【0091】
そして、上記ステップS716で、COUNTNK<CTOTJDのときには、前述のステップS724へ分岐し、COUNTNK≧CTOTJDのとき、すなわち、ノックが設定回数の点火で発生しなかったときには、ステップS717へ進んで、前回までの全体補正係数TCMPに変化量ΔTCMPを加算して進角側に更新し(TCMP←TCMP+ΔTCMP)、ステップS718で、部分補正テーブルTBADVPRTを初期化する。
【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をクリアする(COUNTTCMP←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≧NTCMPの条件が不成立のときには、ステップS727で、全体補正終了フラグFLAGTCMPをクリアして(FLAGTCMP←0)ルーチンを抜け、条件が1つでも成立したとき、すなわち、変化量ΔTCMPが設定値DTCMP2以下のとき、あるいは、全体補正係数TCMPが上下限となった状態が設定回連続したときには、ステップS728で、全体補正終了フラグFLAGTCMPをセットして(FLAGTCMP←1)ルーチンを抜け、前述した全体補正係数及び部分補正点火時期学習手順のルーチンが次回に起動されたとき、全体補正を終了させて部分補正に移行させる。
【0095】
尚、全体補正係数TCMP、変化量ΔTCMP、全体補正終了フラグFLAGTCMPは、バックアップRAM40aにストアされており、バッテリ35を取外すなどしてバックアップ電源がOFFとなり、バックアップRAM40a内のデータが破壊された場合には、電源再投入時に、それぞれ、初期値にイニシャルセットされる(TCMP←TCMPINI(例えば、1/2)、ΔTCMP←ΔTCMPINI(例えば、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←ADVPRT)、ステップS806で、旧テーブル値(ADVPRT)OLDから設定値DRETPを減算して新テーブル値(ADVPRT)NEWとする((ADVPRT)NEW←(ADVPRT)OLD−DRETP)ことにより、1回ノックが発生する毎に設定値DRETPずつ遅角させ、ステップS807へ進む。
【0098】
ステップS807では、新テーブル値(ADVPRT)NEWを遅角制限値LWLMTPと比較し、(ADVPRT)NEW>LWLMTPのときには、ステップS809にジャンプする一方、(ADVPRT)NEW≦LWLMTPのときには、ステップS808で、新テーブル値(ADVPRT)NEWを遅角制限値LWLMTPに固定して((ADVPRT)NEW←LWLMTP)ステップS809に進み、制限値以上の遅角化を防止する。
【0099】
ステップS809では、部分補正テーブルTBADVPRTの該当領域ADDRESSの部分補正点火時期ADVPRTを新テーブル値(ADVPRT)NEWで更新し(ADVPRT←(ADVPRT)NEW)、ステップS810で、ノックの有無の変化を判別するための部分補正ノック有無変化判別フラグFLAGNK2をセットして(FLAGNK2←1)ルーチンを抜ける。
【0100】
一方、上記ステップS802で、ノック発生無しの場合には、上記ステップS802からステップS811へ分岐し、部分補正ノック有無変化判別フラグFLAGNK2の値を参照し、FLAGNK2=1のとき、すなわち、前回、ノック発生有りの状態からノック無しの状態に変化したときには、ステップS832へジャンプして、ノック無し継続時間タイマTIM3をスタートさせ、ステップS833で、部分補正ノック有無変化判別フラグFLAGNK2をクリアして(FLAGNK2←0)ルーチンを抜ける。
【0101】
また、部分補正ノック有無変化判別フラグFLAGNK2がFLAGNK2=0のとき、すなわち、前回ルーチン実行時もノック発生無しのときには、上記ステップS811からステップS812へ進んで、エンジン回転数NE、基本燃料噴射量TPに基づき部分補正テーブルTBADVPRTにおける領域ADDRESSを特定し、ステップS813で、この領域ADDRESSを新領域(ADDRESS)NEWとする((ADDRESS)NEW←ADDRESS)。
【0102】
そして、今回のルーチン実行時の新領域(ADDRESS)NEWが前回の旧領域(ADDRESS)OLDと同じか否かをステップS814で判別し、新領域(ADDRESS)NEWが前回のルーチン実行時の旧領域(ADDRESS)OLDと異なる場合には、ステップS814からステップS830へ分岐してノック無し継続時間タイマTIM3をクリアし(TIM3←0)、ステップS831で、新領域(ADDRESS)NEWを旧領域(ADDRESS)OLDとして((ADDRESS)OLD←(ADDRESS)NEW)、前述したステップS832,S833を経てルーチンを抜ける。
【0103】
一方、今回のルーチン実行時の新領域(ADDRESS)NEWが前回のルーチン実行時の旧領域(ADDRESS)OLDと同じ場合には、上記ステップS814からステップS815へ進んで、新領域(ADDRESS)NEWを旧領域(ADDRESS)OLDとし((ADDRESS)OLD←(ADDRESS)NEW)、ステップS816で、ノック無し継続時間タイマTIM3の計時が設定時間TIMPRT以上経過したか否かを判別する。
【0104】
上記ステップS816で、ノック無し継続時間タイマTIM3の計時が設定時間TIMPRTを越えていないときには、前述のステップS833を経てルーチンを抜け、ノック無し継続時間タイマTIM3の計時が設定時間TIMPRT以上となったときには、ステップS817で、ノック無し継続時間タイマTIM3をクリアして(TIM3←0)ステップS818へ進み、部分補正テーブルTBADVPRTの該当領域ADDRESSから部分補正点火時期ADVPRTを読出す。
【0105】
その後、ステップS819へ進んで、読出した部分補正点火時期ADVPRTを旧テーブル値(ADVPRT)OLDとし((ADVPRT)OLD←ADVPRT)、ステップS820で、旧テーブル値(ADVPRT)OLDに設定値DADVPを加算して新テーブル値(ADVPRT)NEWとする((ADVPRT)NEW←(ADVPRT)OLD+DADVP)ことにより、同一の運転領域でノックが発生していなければ設定時間TIMPRT毎に設定値DADVPずつ進角させ、ステップS821へ進む。
【0106】
ステップS821では、エンジン回転数NE、基本燃料噴射量TPに基づき、高オクタン価燃料用進角値テーブルを参照して高オクタン価燃料用進角値IGMBTを設定すると、ステップS822で、全体補正係数TCMPをバックアップRAM40aから読出す。
【0107】
次に、ステップS823で、高オクタン価燃料用進角値IGMBTに全体補正係数TCMPの上限との差(1−TCMP)を乗算した値を、部分補正点火時期制限値ADVPRTLIMとし(ADVPRTLIM←IGMBT×(1−TCMP))、この新テーブル値(ADVPRT)NEWを、ステップS824以降で、設定値UPLMTPと部分補正点火時期制限値ADVPRTLIMとの小さい方の値に進角制限する。
【0108】
すなわち、ステップS824で、部分補正点火時期制限値ADVPRTLIMと設定値UPLMTPと比較し、UPLMTP≦ADVPRTLIMのときには、上記ステップS824からステップS825へ進んで、上記ステップS820で設定した新テーブル値(ADVPRT)NEWと設定値UPLMTPとを比較する。
【0109】
その比較結果、(ADVPRT)NEW<UPLMTPのときには、上記ステップS825からステップS829へジャンプし、(ADVPRT)NEW≧UPLMTPのときには、ステップS826で、設定値UPLMTPを新テーブル値(ADVPRT)NEWとして((ADVPRT)NEW←UPLMTP)、ステップS829へ進む。
【0110】
一方、上記ステップS824での比較結果、UPLMTP>ADVPRTLIMのときには、上記ステップS824からステップS827へ分岐して新テーブル値(ADVPRT)NEWと部分補正点火時期制限値ADVPRTLIMとを比較し、(ADVPRT)NEW<ADVPRTLIMのときにはステップS829にジャンプし、(ADVPRT)NEW≧ADVPRTLIMのときには、ステップS828で、部分補正点火時期制限値ADVPRTLIMを新テーブル値(ADVPRT)NEWとして((ADVPRT)NEW←ADVPRTLIM)、ステップS829へ進む。
【0111】
そして、一連の進角制限のステップを経てステップS829へ進むと、部分補正テーブルTBADVPRTの該当領域ADDRESSの部分補正点火時期ADVPRTを、新テーブル値(ADVPRT)NEWにて更新し(ADVPRT←(ADVPRT)NEW)、ステップS833で、部分補正ノック有無変化判別フラグFLAGNK2をクリアして(FLAGNK2←0)ルーチンを抜ける。
【0112】
これにより、全体補正点火時期ADVTOT(=IGREG+TCMP×IGMBT)と部分補正点火時期ADVPRTとの加算値は、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 (1)

  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 JPH0539770A (ja) 1993-02-19
JP3564146B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4207729B2 (ja) 2003-09-16 2009-01-14 日産自動車株式会社 可変圧縮比機構付き内燃機関の制御装置
JP7059855B2 (ja) * 2018-07-30 2022-04-26 トヨタ自動車株式会社 内燃機関の点火時期制御装置

Also Published As

Publication number Publication date
JPH0539770A (ja) 1993-02-19

Similar Documents

Publication Publication Date Title
US7753028B2 (en) Control apparatus and method for internal combustion engine
JPS58217775A (ja) 内燃機関の点火時期制御方法
JPH04353233A (ja) 内燃機関の電子制御燃料噴射装置
JP3564146B2 (ja) エンジンの点火時期学習制御方法
JPH0814271B2 (ja) 内燃機関の点火時期制御装置
JP2000205025A (ja) エンジンの制御装置
JPH1150900A (ja) 火花点火式エンジンの制御装置
JP4501760B2 (ja) 内燃機関の点火制御装置
JP2929619B2 (ja) 内燃機関の点火時期制御装置
JPH05157034A (ja) 内燃エンジンの点火時期制御装置
US8490599B2 (en) Abnormality determination apparatus and abnormality determination method for internal combustion engine
JPH09112395A (ja) エンジンの点火制御装置
JP2682651B2 (ja) エンジンの点火時期制御装置
JPH05157033A (ja) 内燃エンジンの点火時期制御装置
JPS63106365A (ja) 内燃機関の点火時期制御方法
JP5086922B2 (ja) 内燃機関の点火時期制御装置
JP3324767B2 (ja) エンジンの点火時期制御方法
JPH10103206A (ja) リーンバーンエンジンの点火時期制御装置
JP2007263043A (ja) 内燃機関の燃焼制御システム
JP2005307844A (ja) 2サイクル内燃機関用点火制御方法及び点火制御装置
JP6454539B2 (ja) 内燃機関制御装置
JP2023169652A (ja) 内燃機関制御装置
JP2967588B2 (ja) エンジンの点火時期制御装置
JP2002349408A (ja) 内燃機関の点火時期制御装置
JPS6375355A (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