JPH034746B2 - - Google Patents
Info
- Publication number
- JPH034746B2 JPH034746B2 JP55109705A JP10970580A JPH034746B2 JP H034746 B2 JPH034746 B2 JP H034746B2 JP 55109705 A JP55109705 A JP 55109705A JP 10970580 A JP10970580 A JP 10970580A JP H034746 B2 JPH034746 B2 JP H034746B2
- Authority
- JP
- Japan
- Prior art keywords
- ignition timing
- ignition
- angle
- engine
- knocking
- 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 - Lifetime
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02P—IGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
- F02P5/00—Advancing or retarding ignition; Control therefor
- F02P5/04—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
- F02P5/145—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
- F02P5/1455—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means by using a second control of the closed loop type
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Electrical Control Of Ignition Timing (AREA)
Description
本発明は内燃機関の出力の向上及び燃料消費率
を低減させるべく点火時期を帰還制御する点火時
期制御方法に関する。 従来、内燃機関の点火時期は、ノツキング、排
気ガス特性の問題等の特別の理由のない限り、内
燃機関の出力を最大限に発揮でき同時に燃料消費
率を最小に抑え得る様に内燃機関の運転状態に合
せて、回転数、吸気圧力等で制御されているが、
個々の機関のバラツキ、環境条件の変化等によ
り、制御精度を常に高く保つことは困難であり、
ある程度の出力の低下及び燃料消費率の増加は避
けられなかつた。 また機関の点火時期の目標値をメモリに記憶し
ておき、ノツキングの発生のフイードバツク要因
に応じてこの記憶内容を書き換えるようにして点
火時期を帰還制御し機関出力の向上および燃料消
費率を低減する方法が考えられているが、この方
法ではメモリの記憶内容をノツキングの発生等の
フイードバツクを示す信号の一つのみにより書き
換えているため、点火時期を目標とする点火時期
にきめ細く制御することは困難であつた。 本発明は上記従来の欠点を解決するためになさ
れたものであり、単一の書き換え可能な不揮発性
メモリの所定の記憶内容を、機関の点火時期が最
大トルク点火時期より進み側にあるか遅れ側にあ
るかを示す信号に基づいて点火時期を進み側また
は遅れ側に書き換え、機関のノツキングの発生量
が所定値以上である場合、点火時期が最大トルク
点火時期より進み側にあるか遅れ側にあるかを示
す信号とは無関係に点火時期を遅れ側のみに書き
換えることにより、不揮発性メモリの数を増やす
ことなく、ノツキングの発生防止を優先しながら
燃料消費率の低い最適な点火時期で機関を運転で
きる内燃機関用点火時期制御方法の提供を目的と
している。 以下本発明方法を適用する装置の一実施例を図
面を用いて説明する。第1図はそのブロツク図で
あり、1は内燃機関、2はイグナイタ等の点火装
置、3はマイクロプロセツサを用いた制御コンピ
ユータである。6は回転角センサ、7は内燃機関
の吸気管圧力を検出する吸気管圧力センサ、8は
内燃機関の運転状態がアイドル状態にあるかどう
かを判別するアイドルスイツチ、9は内燃機関の
冷却水温度を検出する水温センサ、10は内燃機
関のノツキングを検出するノツクセンサ、であ
る。制御コンピユータ3は回転角センサ6及び吸
気管圧力センサ7等の出力から機関状態を検知
し、その時点での点火時期を算出しこの計算結果
に従つて実際の点火時期、通電開始時期の信号を
点火装置2に出力する。 アイドルスイツチ8は吸気系のスロツトル弁の
開度を検出するものであり、アイドリング時に点
火時期を最適点火時期へ制御すると内燃機関の回
転数が上昇して逆に燃料消費率が悪化することに
なる為、アイドリング時には最適点火時期への制
御を停止させる信号を出力するものである。水温
センサ9はサーミスタ等が温度によつて抵抗値を
変化させることを利用して内燃機関の冷却水温度
を検出するものであり、内燃機関を始動して暖機
走行過程等の急激に最適点火時期が変化する場合
には必ずしも完全に制御が追従できない場合があ
る為、所定の冷却水温度に達するまで最適点火時
期への制御を停止させるものである。ノツクセン
サ10は機関のノツキングを示す機関振動を検知
するものであり詳細は公知のため省略する。な
お、4は車載のバツテリ、5は制御コンピユータ
3用の電源回路である。 第2図は内燃機関をスロツトル弁全開状態で運
転したときの内燃機関回転数に対する最大トルク
点火時期Uとノツキング発生開始の点火時期Vを
示したものである。前記最適点火時期とはノツキ
ングの発生しない時には最大トルク点火時期であ
り、最大トルク点火時期まで点火時期を進角する
とノツキングが発生する場合にはノツキング発生
開始の点火時期まで遅角した点火時期が最適点火
時期である。 次に、第3図により、上記のマイクロプロセツ
サを用いた制御コンピユータ3について詳述す
る。30は運転条件に応じた最適点火時期を算出
する中央処理ユニツト(CPU)で本例では16ビ
ツト構成のTI(テキサスインスツルメント)社製
マイクロプロセツサTMS9900を使用している。
38は制御プログラム、制御定数を記憶している
読出し専用記憶ユニツト(ROM)、39はCPU
30が制御プログラムに従つて動作中に使用され
る一時記憶ユニツト(RAM)を示す。37は学
習した最適点火時期を記憶しておく書き換え可能
な不揮発性メモリとしての不揮発性RAMで、
RAM39とは異なりイグニツシヨンキースイツ
チを切つてもその内容が保持されるような構成と
なつている。すなわち不揮発性RAM37は内部
に電池等の簡易補助電源をもつている。また補助
電源の代わりに不揮発性RAM37の電源を車載
バツテリー4からイグニツシヨンキースイツチを
通さず直接供給してもよいし、記憶素子自体に不
揮発性のものを使用してもよい。 32は割込み制御部であり、3レベルの優先順
位をつけてCPUに割込みの発生を知らせる。本
実施例の割込み要因としては、機関の回転角セン
サ6の回転角度信号パルス発生による割込み、
CPU30自身がデイジタル入出力ポート35の
プログラム割込み出力ポートのレベルを“0”レ
ベルにして起すプログラム割込み、及びタイマー
が8ミリ秒(ms)経過する毎に起すタイマー割
込みの3種類がある。 タイマー部33は8μsのクロツク信号をカウン
トする16ビツトのカウンタと回転角センサ6の回
転角度信号パルスが発生する毎にカウンタの値を
格納保持するラツチから構成される。従つて、回
転角度パルス発生の割込み処理にてCPU30が
クランク角カウンタ部34の値を読出して、機関
の回転角度位置を知るとともに、タイマー部33
のラツチの値を読出し、この操作を2つの回転角
度位置にて行ないラツチの値の差を求めることに
より、2つの回転角度位置の間を機関が回転する
時間が、測定でき、また、機関回転数を計測でき
る。 クランク角カウンタ部34を構成するカウンタ
は6進カウンタであり、回転角センサ6から発生
する回転角度信号でカウントアツプし、#1、3
気筒(4気筒エンジンの場合)上死点信号の発生
した直後の回転角度信号の発生により、このカウ
ンタは値“0”にリセツトされ機関回転と同期が
とられる。従つて、クランク角カウンタ部の値を
CPU30が読出すことにより機関回転角度位置
を30度クランク角度単位で知ることができる。 デイジタル入出力ポート35は、論理信号の入
出力に使用されるポートであり、機関始動時の図
示しないスタータスイツチがONされていること
を認識するために、スタータスイツチからスター
タへ供給される電圧レベルを入力する。また割込
み制御部32へ供給するプログラム割込信号を発
生するのに使用される。さらにスロツトル弁と連
動するアイドルスイツチ8の状態及び、ノツク検
出回路36から、点火時にノツキングが生じたか
どうかを示す信号が入力される。CPU30はプ
ログラム実行の際、必要に応じデイジタル入力ポ
ートを読み出すことにより、スタータスイツチ、
アイドルスイツチの状態及びノツキングの有無を
検知できる。 ノツク検出回路36は公知の如く例えば
ATDC(上死点後クランク角度)0゜〜60゜の間にノ
ツクセンサ10からの信号が、ノツキングのない
場合のノツクセンサ信号平均バツクグラウンドレ
ベルより大きい時、ノツキング有、そうでない場
合、ノツキング無と判定し、その結果をデイジタ
ル入出力ポート35に出力する。 アナログ入力ポート31はアナログ信号の電圧
値を計測するものであり、機関1の吸気マニホー
ルド圧力を測定する圧力センサ7の出力電圧信
号、機関の冷却水温を測定する水温センサ9の出
力電圧信号、及び点火装置2に対する通電時間の
バツテリー電圧補正を行なうためバツテリー電圧
をそれぞれA/D(アナログ−デイジタル)変換
し、CPU30からの要求に応じて変換データを
コモンバス41を通して転送する。 通電点火制御部40は点火装置2に対して通
電、点火信号を発生させるものである。この通電
点火制御部40は、ダウンカウンタをいくつかも
つている。後述のように通電または点火のための
ダウンカウントを開始すべき回転角度信号の直前
の回転角度信号パルスで発生するギア割込みの処
理ルーチン内で、次の回転角度信号でのダウンカ
ウント開始指令及びダウンカウント値の指示がな
される。次の回転角度信号の入力により、通電ま
たは点火のためのダウンカウントが開始され、ダ
ウンカウンタの値が“0”になつた時、通電信号
(レベル“0”)または点火信号(レベル“1”)
が点火装置2に出力される。41はコモンバスで
あり、CPU30はこのバス信号線を通じて、周
辺回路の制御及びデータの送受を実行する。 以下に本実施例の制御プログラムの構成、動
作、及び制御の方法を説明する。本実施例のシス
テムは、それぞれ優先順位をもつ3つの割込みを
持ちそれを第1表に示す。3つの割込みは優先レ
ベルの高い順に、ギア割込み、プログラム割込
み、8ms割込みである。メインルーチンはこれ
らの各割込み処理中でないときに実行される。
を低減させるべく点火時期を帰還制御する点火時
期制御方法に関する。 従来、内燃機関の点火時期は、ノツキング、排
気ガス特性の問題等の特別の理由のない限り、内
燃機関の出力を最大限に発揮でき同時に燃料消費
率を最小に抑え得る様に内燃機関の運転状態に合
せて、回転数、吸気圧力等で制御されているが、
個々の機関のバラツキ、環境条件の変化等によ
り、制御精度を常に高く保つことは困難であり、
ある程度の出力の低下及び燃料消費率の増加は避
けられなかつた。 また機関の点火時期の目標値をメモリに記憶し
ておき、ノツキングの発生のフイードバツク要因
に応じてこの記憶内容を書き換えるようにして点
火時期を帰還制御し機関出力の向上および燃料消
費率を低減する方法が考えられているが、この方
法ではメモリの記憶内容をノツキングの発生等の
フイードバツクを示す信号の一つのみにより書き
換えているため、点火時期を目標とする点火時期
にきめ細く制御することは困難であつた。 本発明は上記従来の欠点を解決するためになさ
れたものであり、単一の書き換え可能な不揮発性
メモリの所定の記憶内容を、機関の点火時期が最
大トルク点火時期より進み側にあるか遅れ側にあ
るかを示す信号に基づいて点火時期を進み側また
は遅れ側に書き換え、機関のノツキングの発生量
が所定値以上である場合、点火時期が最大トルク
点火時期より進み側にあるか遅れ側にあるかを示
す信号とは無関係に点火時期を遅れ側のみに書き
換えることにより、不揮発性メモリの数を増やす
ことなく、ノツキングの発生防止を優先しながら
燃料消費率の低い最適な点火時期で機関を運転で
きる内燃機関用点火時期制御方法の提供を目的と
している。 以下本発明方法を適用する装置の一実施例を図
面を用いて説明する。第1図はそのブロツク図で
あり、1は内燃機関、2はイグナイタ等の点火装
置、3はマイクロプロセツサを用いた制御コンピ
ユータである。6は回転角センサ、7は内燃機関
の吸気管圧力を検出する吸気管圧力センサ、8は
内燃機関の運転状態がアイドル状態にあるかどう
かを判別するアイドルスイツチ、9は内燃機関の
冷却水温度を検出する水温センサ、10は内燃機
関のノツキングを検出するノツクセンサ、であ
る。制御コンピユータ3は回転角センサ6及び吸
気管圧力センサ7等の出力から機関状態を検知
し、その時点での点火時期を算出しこの計算結果
に従つて実際の点火時期、通電開始時期の信号を
点火装置2に出力する。 アイドルスイツチ8は吸気系のスロツトル弁の
開度を検出するものであり、アイドリング時に点
火時期を最適点火時期へ制御すると内燃機関の回
転数が上昇して逆に燃料消費率が悪化することに
なる為、アイドリング時には最適点火時期への制
御を停止させる信号を出力するものである。水温
センサ9はサーミスタ等が温度によつて抵抗値を
変化させることを利用して内燃機関の冷却水温度
を検出するものであり、内燃機関を始動して暖機
走行過程等の急激に最適点火時期が変化する場合
には必ずしも完全に制御が追従できない場合があ
る為、所定の冷却水温度に達するまで最適点火時
期への制御を停止させるものである。ノツクセン
サ10は機関のノツキングを示す機関振動を検知
するものであり詳細は公知のため省略する。な
お、4は車載のバツテリ、5は制御コンピユータ
3用の電源回路である。 第2図は内燃機関をスロツトル弁全開状態で運
転したときの内燃機関回転数に対する最大トルク
点火時期Uとノツキング発生開始の点火時期Vを
示したものである。前記最適点火時期とはノツキ
ングの発生しない時には最大トルク点火時期であ
り、最大トルク点火時期まで点火時期を進角する
とノツキングが発生する場合にはノツキング発生
開始の点火時期まで遅角した点火時期が最適点火
時期である。 次に、第3図により、上記のマイクロプロセツ
サを用いた制御コンピユータ3について詳述す
る。30は運転条件に応じた最適点火時期を算出
する中央処理ユニツト(CPU)で本例では16ビ
ツト構成のTI(テキサスインスツルメント)社製
マイクロプロセツサTMS9900を使用している。
38は制御プログラム、制御定数を記憶している
読出し専用記憶ユニツト(ROM)、39はCPU
30が制御プログラムに従つて動作中に使用され
る一時記憶ユニツト(RAM)を示す。37は学
習した最適点火時期を記憶しておく書き換え可能
な不揮発性メモリとしての不揮発性RAMで、
RAM39とは異なりイグニツシヨンキースイツ
チを切つてもその内容が保持されるような構成と
なつている。すなわち不揮発性RAM37は内部
に電池等の簡易補助電源をもつている。また補助
電源の代わりに不揮発性RAM37の電源を車載
バツテリー4からイグニツシヨンキースイツチを
通さず直接供給してもよいし、記憶素子自体に不
揮発性のものを使用してもよい。 32は割込み制御部であり、3レベルの優先順
位をつけてCPUに割込みの発生を知らせる。本
実施例の割込み要因としては、機関の回転角セン
サ6の回転角度信号パルス発生による割込み、
CPU30自身がデイジタル入出力ポート35の
プログラム割込み出力ポートのレベルを“0”レ
ベルにして起すプログラム割込み、及びタイマー
が8ミリ秒(ms)経過する毎に起すタイマー割
込みの3種類がある。 タイマー部33は8μsのクロツク信号をカウン
トする16ビツトのカウンタと回転角センサ6の回
転角度信号パルスが発生する毎にカウンタの値を
格納保持するラツチから構成される。従つて、回
転角度パルス発生の割込み処理にてCPU30が
クランク角カウンタ部34の値を読出して、機関
の回転角度位置を知るとともに、タイマー部33
のラツチの値を読出し、この操作を2つの回転角
度位置にて行ないラツチの値の差を求めることに
より、2つの回転角度位置の間を機関が回転する
時間が、測定でき、また、機関回転数を計測でき
る。 クランク角カウンタ部34を構成するカウンタ
は6進カウンタであり、回転角センサ6から発生
する回転角度信号でカウントアツプし、#1、3
気筒(4気筒エンジンの場合)上死点信号の発生
した直後の回転角度信号の発生により、このカウ
ンタは値“0”にリセツトされ機関回転と同期が
とられる。従つて、クランク角カウンタ部の値を
CPU30が読出すことにより機関回転角度位置
を30度クランク角度単位で知ることができる。 デイジタル入出力ポート35は、論理信号の入
出力に使用されるポートであり、機関始動時の図
示しないスタータスイツチがONされていること
を認識するために、スタータスイツチからスター
タへ供給される電圧レベルを入力する。また割込
み制御部32へ供給するプログラム割込信号を発
生するのに使用される。さらにスロツトル弁と連
動するアイドルスイツチ8の状態及び、ノツク検
出回路36から、点火時にノツキングが生じたか
どうかを示す信号が入力される。CPU30はプ
ログラム実行の際、必要に応じデイジタル入力ポ
ートを読み出すことにより、スタータスイツチ、
アイドルスイツチの状態及びノツキングの有無を
検知できる。 ノツク検出回路36は公知の如く例えば
ATDC(上死点後クランク角度)0゜〜60゜の間にノ
ツクセンサ10からの信号が、ノツキングのない
場合のノツクセンサ信号平均バツクグラウンドレ
ベルより大きい時、ノツキング有、そうでない場
合、ノツキング無と判定し、その結果をデイジタ
ル入出力ポート35に出力する。 アナログ入力ポート31はアナログ信号の電圧
値を計測するものであり、機関1の吸気マニホー
ルド圧力を測定する圧力センサ7の出力電圧信
号、機関の冷却水温を測定する水温センサ9の出
力電圧信号、及び点火装置2に対する通電時間の
バツテリー電圧補正を行なうためバツテリー電圧
をそれぞれA/D(アナログ−デイジタル)変換
し、CPU30からの要求に応じて変換データを
コモンバス41を通して転送する。 通電点火制御部40は点火装置2に対して通
電、点火信号を発生させるものである。この通電
点火制御部40は、ダウンカウンタをいくつかも
つている。後述のように通電または点火のための
ダウンカウントを開始すべき回転角度信号の直前
の回転角度信号パルスで発生するギア割込みの処
理ルーチン内で、次の回転角度信号でのダウンカ
ウント開始指令及びダウンカウント値の指示がな
される。次の回転角度信号の入力により、通電ま
たは点火のためのダウンカウントが開始され、ダ
ウンカウンタの値が“0”になつた時、通電信号
(レベル“0”)または点火信号(レベル“1”)
が点火装置2に出力される。41はコモンバスで
あり、CPU30はこのバス信号線を通じて、周
辺回路の制御及びデータの送受を実行する。 以下に本実施例の制御プログラムの構成、動
作、及び制御の方法を説明する。本実施例のシス
テムは、それぞれ優先順位をもつ3つの割込みを
持ちそれを第1表に示す。3つの割込みは優先レ
ベルの高い順に、ギア割込み、プログラム割込
み、8ms割込みである。メインルーチンはこれ
らの各割込み処理中でないときに実行される。
【表】
以下、各プログラム処理について順次説明す
る。第4図にギア割込み処理ルーチンのフローチ
ヤートを示す。ギア割込みは最も優先順位の高い
割込みで、最優先に処理される。このギア割込み
の起動は、前記の第3図に示す割込み制御部32
に印加される回転角度パルスによつて行なわれ
る。したがつてギア割込みは、#1気筒、又は
#4気筒の上死点位置を0度として、30度クラン
ク角度毎に発生する。起動されるとステツプ11
00で第3図に示すクランク角カウンタ部34の
クランク角カウンタのREAD操作により、CPU
30は現在のクランク位置を読み取り、機関の回
転角度位置を知る。ステツプ1200の通電点火
処理では後述するプログラム割込みのステツプ2
140で計算された通電点火制御データに従つ
て、通電点火制御部40にデータを設定して通電
点火制御をする。次にステツプ1300の固定位
置処理では決められた固定のクランク位置での処
理を行う。 第5図に通電点火処理ステツプ1200の詳細
なフローチヤートを示す。ステツプ1205で点
火コイルの通電開始用ダウンカウント指令を出力
する角度と、ステツプ1100で求めた現在のク
ランク角度位置とを比較して、一致したならばス
テツプ1210で第3図通電点火制御部40の点
火コイル通電用のダウンカウンタにダウンカウン
ト値を設定すると同時に、点火コイル通電命令が
出力される。このダウンカウンタはタイマー部3
3から供給される8μsecのクロツク信号でダウン
カウントして「0」になつたとき点火コイルの通
電信号を“0”にして通電を開始させる。ステツ
プ1215ではコイルの点火用ダウンカウントを
開始する角度と、ステツプ1100で求めた現在
のクランク角度位置とを比較して、一致したなら
ばステツプ1220で第3図通電点火制御部40
の点火用ダウンカウンタにダウンカウント値を設
定すると同時に、点火コイル点火命令が出力され
る。このダウンカウンタは8μsecのクロツク信号
でダウンカウントして「0」になつた時、点火コ
イルの通電を停止することが点火に相当するの
で、点火コイル通電信号を論理“1”にしてコイ
ルの通電が停止される。 次に固定位置処理ステツプ1300の詳細なフ
ローチヤートを第6図に示す。通電点火処理ステ
ツプ1200がプログラム割込みで計算した値に
よつて実効的に処理が働く角度位置が変動するの
に対して、固定位置処理ステツプ1300はあら
かじめ定められた角度位置で処理が行われる。ク
ランク角度0度で、180度クランク角度を回転す
るのに要する回転時間の計測、吸気管圧力の計
測、プログラム割込みの発生を行い、クランク角
度60度でノツキングの有無を判定する。この処理
を詳細に説明するとステツプ1310で回転角度
を判断し、0度の時はステツプ1311に進み
180度回転時間の計測を行う。第3図のタイマー
部33を使用してラツチされているリアルタイム
タイマー値をステツプ1311で取込み、ステツ
プ1312で前回取込まれたタイマー値をTp1と
して180度回転時間Tmは Tm=Tp2−Tp1 ………(1) で求められる。ステツプ1313ではTp2の値を
Tp1に移しておく。ステツプ1314では吸気脈
動対策のために、吸気管圧力のA/D変換値をク
ランク角に同期して取込む。又、ステツプ131
5ではデイジタル入出力ポート35のプログラム
割込み出力ポートをレベル“0”にした後再びレ
ベル“1”にしてプログラム割込み信号を発生さ
せ、プログラム割込み処理ルーチンを起動する。 ステツプ1310で回転角度が60度のときはス
テツプ1320に進み、第3図のノツク検出回路
36の出力をデイジタル入出力ポート35を通し
て読み込む。その結果ステツプ1320で直前の
点火でノツキングが発生しなかつたと判定した場
合、ステツプ1323でノツク間隔点火カウンタ
tIGを1増加させる。ノツク間隔点火カウンタtIG
は隣り合うノツキング間の点火回数をカウントす
るカウンタである。ステツプ1321でノツキン
グが発生したと判断すると、ステツプ1322に
進みノツク間隔点火カウンタtIGの内容をノツク
間隔点火レジスタCKに移し、tIGを“0”にリセ
ツトする。ノツク間隔点火レジスタCKは前回ノ
ツキング発生した時点から今回発生した時点まで
の間隔を点火回数で表現したもので、ノツキング
頻度に反比例する。そしてステツプ1315に進
みプログラム割込みを起動させ、後述の学習進角
マツプTLMAPの遅角を行なう。ノツキングが生じ
なかつた場合、さらに判断ステツプ1324に進
み、フイードバツク学習周期かどうか、フイード
バツク点火回数カウンタtLNで判断する。本例で
は後述のデイザー周期を50点火としており、tLN
が51であればステツプ1315でプログラム割込
みを起動し、学習進角マツプTLMAPを学習、修正
する。 ステツプ1310で回転角度が0度、30度以外
のときはなにもせず固定位置処理を終了する。 次に第7図に回転角度0゜、60゜で起動されるプ
ログラム割込み処理ルーチンを示す。まず回転角
度0゜のときの点火時期計算処理について詳述す
る。ステツプ2100で、前記ギア割込み処理ル
ーチンで求めた180度回転時間Tmより回転数N
を(2)式により計算する。 N(r.p.m)=107×3/Tm(μs)………(2) ステツプ2110では前記ギア割込み処理ルー
チンでクランク角度0度、180度にて取込んだ吸
気管圧力のA/D変換値Vpmを(3)式により吸気
管圧力Pm(mmHg単位) Pm=A1×Vpm+A2 ………(3) A1、A2:変換係数 に変換する。ステツプ2120ではスタータスイ
ツチからの信号を調べ、ONならばステツプ21
40で固定進角10度を最終点火進角θXとしてステ
ツプ2150に移り、通電点火制御部40への出
力値計算を行う。またスタータ作動時でない時
は、ステツプ2130に進み、最終点火進角θXを
もとめ、同様にステツプ2150で通電点火時期
制御部40への出力値算を行う。ステツプ215
0を終了すると、プログラム割込み処理を完了
し、8ms割込み処理またはメインルーチンを再
開する。 以下、点火進角θX算出ステツプ2130を第8
図に従つて詳述する。第9図は第3図のROM3
8に格納された2次元の基本進角マツプTBMAP一
例を示す。第10図はイグニツシヨンキースイツ
チを切つてもその内容が保持される書き換え可能
な不揮発性RAM37に格納された2次元の学習
進角マツプTLMAPの例を示す。このTLMAPは後述
のフイードバツク学習処理で常時、θXがノツキン
グを発生させないで、最大トルクかつ燃料消費率
最低となる点火進角値になるよう書き換えられ
る。TBMAP、TLMAPとも横軸は機関回転数Nであ
り、横軸に対応する列番号X、X′に対して比例
関係になつている。また縦軸は吸気管圧力Pmで
あり、縦軸に対応する行番号Y、Y′に対して比
例関係になつている。まずステツプ2131では
回転数Nから列番号Xへ(4)式に従つて変換され
る。 ここで、NxiはNを越えない最大のマツプ横軸
に指定された回転数、 XiはNxiに対応する列番号で整数、Xの小数点
部は、マツプ横軸に指定された回転数の中間の回
転数であることを示す。 同様にして回転数NからXi′、△X′を算出す
る。またステツプ2132で吸気管圧力Pmから
行番号Yへ(5)式に従つて変換換される。 ここで、PmYiはPmを越えない最大のマツプ
縦軸に指定された吸気管圧力、 YiはPmYiに対応する行番号で整数、Yの小
数点部はマツプの縦軸に指定された吸気管圧力の
中間の圧力であることを示す。 同様に学習進角マツプTLMAPのYj′、△Y′を算
出する。ステツプ2133ではX、Yに対応して
基本進角マツプ(TBMap)より基本進角θBASEを(6)
式により4点補間して求める。 θBASE=(1−△X)・(1−△Y)・TBMa
p(Xi、Yi) θBASE=(1−△X)・(1−△Y)・TBMa
p(Xi、Yi) +(1−△Y)・△X・TBMap(Xi+1、Yi)+△Y・(
1−△X)・TBMap(Xi、Yi+1) +△Y・△X・TBMap(Xi+1、Yi+1) ただし、 X=Xi+△X(0≦△X<1) Y=Yi+△Y(0≦△Y<1) (6) 同様にステツプ2134では上述のX′、Y′に
対応して学習進角マツプTLMAPより学習フイード
バツク進角θFBを(7)式により4点補間して求める。 θFB=(1−△X′)・(1−△Y′)・TLMA
P(Xj、Yj) θFB=(1−△X′)・(1−△Y′)・TLMA
P(Xj、Yj) +(1−△Y′)・△X′・TLMAP(Xj+1、Yj)+△Y′
・(1−△X′) θFB=(1−△X′)・(1−△Y′)・TLMA
P(Xj、Yj) +(1−△Y′)・△X′・TLMAP(Xj+1、Yj)+△Y′
・(1−△X′) ・TLMAP(Xj、Yj+1)+△X′△Y′・TLMAP(Xj+1、Yj
+1) ただし、 X′=Xj′+△X′ Y′=Yj′+△Y′ (7) ステツプ2135ではイグナイタ等による点火
信号の遅れをクランク角度に換算し、点火遅延角
(θDLY)とする。関係式は(8)式の通りである。 θDLY=tDLY×180(度CA)/Tm(μs)………(8) tDLY :イグナイタによる点火信号の遅れ時間
(40〜100μs) Tm:180度回転時間(μs) 次にステツプ2136では最適点火時期MBT
(Minimum spark advance for Best Torque)
フイードバツク処理を行なう。このフイードバツ
ク処理について第11図により説明する。本実施
例では所定点火(40〜200点火)毎に、機関運転
条件から算出した点火時期を一定角度(1〜
6゜CA(クランク角度))進角、遅角させることを
交互にくり返し、その結果生じる回転数の微小な
差を検出し、回転数が上昇する方向に学習進角マ
ツプTLMAPを書き換える。このように進角値をふ
ることを以後デイザと呼ぶ。第12図に本実施例
に基づく点火進角制御のタイムチヤートを示す。
第12図ではわかりやすいように0〜1000点火区
間では定常状態と仮定している。したがつて基本
進角θBASE、点火遅角θDLY、水温進角θTHWはすべて
一定であり、点火進角θXの変化はデイザ角θDSR、
学習進角θFBの変化に一致する。第12図では150
点火目からフイードバツクを開始している。まず
第12図1のようにA1、A2で進角、R1、R2で遅
角させる。デイザサイクル開始後、進角、遅角の
デイザサイクルをそれぞれ2サイクル経過した
ら、各デイザサイクルの先頭で各デイザサイクル
における第12図2に示す平均回転数を比較す
る。進角デイザサイクルiにおいて、 (イ) Ri−2<Ai−1>Ri−1<Aiのとき TLMAP(N、Pm)→進角 (ロ) Ri−2>Ai−1<Ri−1>Aiのとき TLMAP(N、Pm)→遅角 それ以外のときは修正しない。 また遅角デイザサイクルjにおいて、 (ハ) Aj−2>Rj−1<Aj−1>Rjのとき TLMAP(N、Pm)→進角 (ニ) Aj−2<Rj−1>Aj−1<Rjのとき TLMAP(N、Pm)→遅角 それ以外のときなにもしない。 したがつて、ノツキングのない場合、第13図
に示すように点火進角θXがMBTになるよう、そ
の機関運転条件における学習進角マツプTLMAP
(N、Pm)を書き換えていく。すなわち、今、
TLMAP(N、Pm)がA点にある場合、デイザによ
るトルク変化(回転数変化)の詳価(イ)、(ハ)によ
り、B点にある場合、(ロ)、(ニ)によりMBTに近づ
いていく。ノツキングゾーンZが第14図に示す
ように、MBTより遅角側にある場合、近接した
ノツキング検出により、デイザサイクルを直ちに
中止し、その運転条件におけるTLMAP(N、Pm)
を遅角させ、新たにフイードバツクを開始する。
したがつて、今TLMAP(N、Pm)がC点にある場
合、(イ)、(ハ)によりMBTではなくD点に近づいて
いく。第12図ではまず進角デイザサイクルA3
の最初で平均回転数を比較し、A1>R1>A2
<R2となるため学習進角θFBは変化しない。こ
の進角デイザサイクルA3ではR1>A2<R2>
NA3、すなわち前記条件(ロ)が成立し、TLMAPが更
新され、図示のようにθFBは遅角、したがつてθX
−θDSR(図の点線)が遅角している。同様にデイ
ザサイクルA5、A6及びR5、R6ではそれぞれ前記
条件(イ)、(ハ)が成立し、θX−θDSRが進角し、MBT
に近づいている。しかしながらデイザサイクル
A7では第12図3に示すようにノツキングが3
回発生し、その間隔が短いため直ちに遅角し、デ
イザサイクルを中止している。そして非ノツキン
グ域まで遅角したのちフイードバツクサイクルを
再開している。なおデイザサイクルは必ず進角サ
イクルから始まる。第11図において2141〜
2143のステツプはフイードバツク条件が成立
しているかどうかを判断するステツプである。ス
テツプ2141では後述のメインルーチンで算出
した水温が70℃以上であればステツプ2142
に、そうでなければステツプ2180に進む。次
にステツプ2142ではアイドルスイツチがON
であるかどうかを第3図のデイジタル入出力ポー
ト35から読み込んで、OFFであればステツプ
2143に進み、ONであればステツプ2180
に進む。さらにステツプ2143で現在の運転条
件(N、Pm)が学習進角マツプ領域内にあれば
ステツプ2144に、領域をはずれていればステ
ツプ2180に進む。ステツプ2144ではフイ
ードバツクサイクル中、定常運転であつたかどう
かを判断する。これは第10図に示す学習進角マ
ツプTLMAPにおいて、フイードバツクサイクル開
始時の運転領域(SX、SY)及びそのまわり8
点、たとえば(SX、SY)=fならばa、b、c、
e、f、g、i、j、kの領域から、現在の運転
領域が外れた場合(例えばnに移つたとき)、加
減速状態と判定しステツプ2145に進み、サイ
クル開始時の運転領域ポインタSX、SYを現在の
運転領域(Xi′、Xj′)に更新する。さらにステツ
プ2146では前記フイードバツク点火回数カウ
ンタtLN、デイザ回数カウンタCDSRをリセツトし、
後述の回転数積算値ANを0に設定する。ステツ
プ2147ではデイザーフラグfDSRをリセツトし、
所定値C1(1〜6゜CA)をデイザ角θDSRにセツトし、
前記ノツク間隔点火カウンタtIGを最大値C2にセ
ツトする。運転領域点火回数マツプTDMAPは第1
5図に示すような2次元マツプでフイードバツク
開始後の各運転領域での点火回数を示す。この
TDMAPの中心点(Xi′、Yj′)は(SX、SY)に一
致している。ステツプ2148はこのTDMAP内の
9個のカウンタをすべて“0”にリセツトする。
すなわちステツプ2145〜2148はフイード
バツク開始のための処理である。 フイードバツク条件が成立しないときはステツ
プ2180に進み、カウンタtLNをリセツトし、
さらにステツプ2181でデイザ角θDSRに0を入
れ、カウンタtIGを最大値C2にセツトする。また
ステツプ2182でフイードバツク条件が成立し
たときにフイードバツク開始処理2145〜21
48を実行するよう、実際の運転条件にはない値
C3、C4をSX、SYに入れ、MBTフイードバツク
処理を終了する。なお、ステツプ2144で定常
と判断されると直ちにステツプ2149に進み、
フイードバツク点火回数カウンタtLNを1増加さ
せ、そして第16図に移りステツプ2150で運
転領域点火回数マツプのそのときの運転条件に対
応するカウンタTDMAP、(Xi′、Yj′)を1増加させ
る。次にステツプ2151では、フイードバツク
点火回数カウンタtLNの値を調べ、51であればス
テツプ2152へ、48以上50以下であればステツ
プ2157へ、1以上47以下であればMBTフイ
ードバツク処理を終了する。 ステツプ2152〜2153はあるデイザサイ
クルを終了し、次のデイザサイクルを開始するた
めの処理である。ステツプ2152ではデイザフ
ラグを反転させ、2153ではデイザ角を進角
(遅角)から遅角(進角)へスイツチしている。
ステツプ2154ではデイザ回数カウンタCDSRを
1カウントアツプし、次のステツプ2155にて
CDSRが4以上であるかどうか判定している。すな
わちフイードバツク開始後4デイザサイクル経過
したかどうかチエツクしており、もし経過してい
ればフイードバツク学習フラグfFDをセツトし後
述のようにクランク角60゜のギア割込みで起動さ
れるプログラム割込みにおいて、各デイザサイク
ルにおける平均回転数の評価により学習進角マ
ツプTLMAPが更新される。そうでなければ直ちに
ステツプ2157に進み、平均回転数算出のた
めの回転数積算値ANにステツプ2100で算出
した回転数Nを加算する。 これでMBTフイードバツク処理を完了し、続
いて第8図のステツプ2137に進み点火進角θX
をステツプ2131〜2136により算出した
θBASE、θFB、θDSR、θDLY及び後述のメインルーチン
で算出した水温進角θTHWの和として算出する。以
上で点火進角θXの計算を終え通電点火制御部40
への出力値を計算するためステツプ2150に進
む。 ステツプ2150では(90−θX)により点火ク
ランク角を、さらに後述の8ms割込み処理ルー
チンにより算出された通電時間τONから通電クラ
ンク角を計算する。そして点火、通電クランク角
を、0゜、30゜、60゜のギア角とそれを補間するダウ
ンカウント値(単位8μs)に換算しておき、前述
の第5図通電点火処理により、通電、点火を実行
する。 クランク角60度で起動されたプログラム割込み
ではステツプ2500に進み、ステツプ1320
で入力したノツキング信号の有無を判定する。ノ
ツキング信号がない場合、ステツプ2550にジ
ヤンプし、ある場合にはステツプ2510に進
み、前回のノツキングから今回のノツキングまで
の点火回数CKが50を越えているかどうか判定す
る。CK>50であればやはりステツプ2550に
ジヤンプし、そうでなければステツプ2520に
進み、ノツクの生じた運転条件での学習進角マツ
プTLMAP(X′、Y′)を(9)式により遅角させる。 TLMAP(Xi、Yj′)−C5→ TLMAP(Xi′、Yj′) ………(9) C5:定数(0.1〜3゜CA) ただし(Xi′、Yj′)は直前の0゜のクランク角で
起動されたプログラム割込みではなく、もう1つ
前の0゜クランク角で起動されたプログラム割込み
でステツプ2131〜2132で(4)、(5)式から算
出された値である。上述のように本例ではCKが
50以上すなわちノツキング率2%以内になるよう
進角を学習制御している。ステツプ2530,2
540はフイードバツクリセツトのための処理で
あり、MBTフイードバツク条件が成立していれ
ば次の0゜クランク角で起動されるMBTフイード
バツク処理において、ステツプ2145よりのフ
イードバツク初期化を行なわせるためのものであ
る。次にステツプ2550に進み、MBTフイー
ドバツク学習時期(新しいデイザサイクル開始直
後)かどうか判断する。もしtLN<51であれば、
このプログラム割込みはノツキング発生によつて
のみ起動されたものであり、処理を終了する。学
習時期であればステツプ2560に進み学習進角
マツプθLMAPを学習、修正する。 第17図、第18図にMBTフイードバツク
θLMAP更新のステツプ2560の詳細を示す。ま
ずステツプ2561で、デイザサイクルでの平均
回転数を計算する。本例では前述の回転数積算値
ANを平均回転数としている。すなわちANは
各デイザサイクルの最後の2回転における4回の
180度クランク角で計測した回転数の積算である。
次にステツプ2562に進み、フイードバツク開
始後、4デイザ経過したかどうか調べる。経過し
ていれば前記ステツプ2156でフイードバツク
学習フラグfFDはセツトされており、ステツプ2
563に進む。セツトされていなければステツプ
2577にジヤンプする。ステツプ2563では
フラグfFDをリセツトし、過去4回のデイザサイ
クルにおける対応する運転領域点火回数マツプ
TDMAPの9個のカウンタをそれぞれ加算する。各
デイザサイクルにはTDMAPが1つずつ対応するの
で、TDMAPは4個あり、デイザサイクルとともに
順次更新される。続いてステツプ2564で
TDMAPの加算マツプSTDMAPの9個の各カウンタの
中で最大値をもつ要素を(XM′、YM′)とする。
すなわち代表運転領域(XM′、YM′)は過去4回
のデイザサイクルにおいて最も頻度の高い運転領
域(機関状態)である。ステツプ2567では、
この最も頻度の高い領域が4回のデイザサイクル
の例えば70%以上存在したかどうか、すなわち、
200点火中140点火以上であつたかどうか判断す
る。140点火以上であればステツプ2568に進
みそうでなければステツプ2577にジヤンプ
し、学習進角マツプTLMAPは修正しない。さらに
ステツプ2568では、ステツプ2520でノツ
クフイードバツク処理により修正されたTLMAPの
領域(Xi′、Yj′)と、MBT学習領域が一致した
場合も、MBTフイードバツクによるTLMAPの修
正は行なわない。すなわちノツクフイードバツク
及びMBTフイードバツクに起因する学習処理が
同時に重なつた場合、ノツキング発生に伴う
TLMAPの遅角を最優先に処理し、MBTフイード
バツクにより、進角、遅角何れの処理要求が生じ
てもこれを無視する。MBTフイードバツク学習
処理のみの場合は直ちにステツプ2569に進
む。尚MBT学習領域とは前述の代表運転領域
(XM′、YM′)及びそのまわり8点をさす。たと
えば(XM′、YM′)が第10図に示すg点であつ
たとすると、MBT学習領域はb、c、d、f、
g、h、j、k、lの計9点である。 ステツプ2569では現在のデイザサイクルが
進角デイザサイクル開始直後(デイザフラグfDSR
=0)であるか、遅角デイザサイクル開始直後
(fDSR=1)であるかを判定する。fDSR=0であれ
ば直前の4つのデイザサイクルはそれぞれ進角→
遅角→進角→遅角の順序であり、ステツプ256
1で求めた各デイザサイクルの平均回転数−3、
N−2、−1、0についてステツプ2570で
前述の条件(ハ)を、ステツプ2571で条件(ニ)をチ
エツクする。fDSR=1であれば、ステツプ257
3で条件(ロ)を、ステツプ2574で条件(イ)をチエ
ツクする。前述のように、条件(イ)、(ハ)が成立すれ
ばステツプ2575でMBT学習値△θに進角値
C5を入れ、条件(ロ)、(ニ)が成立すればステツプ2
572で△θに遅角値−C5を入れる。そしてス
テツプ2576でまず運転領域の代表点(XM′、
YM′)での学習進角マツプTLMAPの値を(10)式によ
り修正し、 TLMAP(XM′、YM′)+△θ→TLMAP(XM′、YM
′)………(10) 次に代表点のまわり8点についてTLMAPの値を
(11)式により修正する。 TLMAP(Xk′、Yl′)+C6×△θ→TLMAP(Xk′
、Yl′)………(11) C6:(定数)0<C6<1、k、l=M−1、M、
M+1(k=l=Mは除く) したがつて例えば過去4回のデイザサイクルで
の定常運転領域が第10図に示す、a、b、c、
e、f、g、i、j、kであつても、代表運転領
域(XM′、YM′)=gであつたとすれば、MBT学
習領域はb、c、d、f、g、h、j、k、lと
なり、各点の進角値が修正される。条件(イ)、(ロ)、
(ハ)、(ニ)の何れも成立しない時は、TLMAPは修正さ
れず、直ちにステツプ2577にジヤンプする。
ステツプ2577では新しいデイザサイクルのた
めに、フイードバツク点火回数カウンタtLNに1
を入れ、回転数積算レジスタの積算値ANを0に
する。 以上でプログラム割込み処理を終了する。 第19図に8ms割込み処理ルーチンのフロー
チヤートを示す。ステツプ3100ではアナログ
入力ポート31からバツテリー電圧VBを取り込
み、通電時間特性によりコイル通電時間τONを計
算する。 第20図はメインルーチンのフローチヤートを
示す。ステツプ4100では初期化処理を行い、
RAM領域のクリア、各種初期パラメータの入
力、割込みの許可を行う。ステツプ4200では
水温のA/D変換値がアナログ入力ポート31か
ら入力され、これに基づいて1次元のマツプから
水温進角θTHWが計算される。このステツプは割込
み処理のない時は常に実行される。 なお、上記実施例では機関運転条件から算出し
た点火時期を一定角度進角、遅角させることを交
互にくり返し、その結果生じる回転数の微小な差
を検出して回転数が上昇する方向つまり最大トル
ク点火時期の方向に学習進角マツプLMAPを書き換
えていたが、機関運転条件から算出した点火時期
(ベース点火時期と呼ぶ)で運転し、次にこのベ
ース点火時期より進角側の点火時期(アドバンス
点火時期と呼ぶ)で運転し、そして次にベース点
火時期より遅角側の点火時期(リタード点火時期
と呼ぶ)で運転して、この3つの点火時期におけ
る回転数を比較することにより最大トルク点火時
期の方向を判定し学習進角マツプLMAPを書き換え
るようにしてもよい。即ち、ベース点火時期、ア
ドバンス点火時期、リタード点火時期における平
均回転数を各々B、A、Rとし、A>B>
NRのときLMAPの値を進角側に書き換え、A<
B<Rのとき遅角側に書き換え、これ以外のとき
は何も書き換えないというようにしてもよい。 以上詳細に述べたように本発明は、点火時期が
最大トルク点火時期より進み側にあるか遅れ側に
あるかを示す信号およびノツキングの発生量を示
す信号に基づいて単一の書き換え可能な不揮発性
メモリの所定の記憶内容を書き換え、ノツキング
の発生量が所定値以上であれば点火時期の遅れ側
のみ記憶内容を書き換えているので、トルクフイ
ードバツクとノツクフイードバツクとを含む2つ
以上のフイードバツク信号による学習制御に対
し、書き換え可能な不揮発性メモリの数を増やす
ことなく、機関にとつて有害でかつ運転者にとつ
て不快音となるノツキングの発生を防止でき、そ
の状態を維持する中で最も燃料消費率の低い状態
で機関を運転できるという優れた効果がある。
る。第4図にギア割込み処理ルーチンのフローチ
ヤートを示す。ギア割込みは最も優先順位の高い
割込みで、最優先に処理される。このギア割込み
の起動は、前記の第3図に示す割込み制御部32
に印加される回転角度パルスによつて行なわれ
る。したがつてギア割込みは、#1気筒、又は
#4気筒の上死点位置を0度として、30度クラン
ク角度毎に発生する。起動されるとステツプ11
00で第3図に示すクランク角カウンタ部34の
クランク角カウンタのREAD操作により、CPU
30は現在のクランク位置を読み取り、機関の回
転角度位置を知る。ステツプ1200の通電点火
処理では後述するプログラム割込みのステツプ2
140で計算された通電点火制御データに従つ
て、通電点火制御部40にデータを設定して通電
点火制御をする。次にステツプ1300の固定位
置処理では決められた固定のクランク位置での処
理を行う。 第5図に通電点火処理ステツプ1200の詳細
なフローチヤートを示す。ステツプ1205で点
火コイルの通電開始用ダウンカウント指令を出力
する角度と、ステツプ1100で求めた現在のク
ランク角度位置とを比較して、一致したならばス
テツプ1210で第3図通電点火制御部40の点
火コイル通電用のダウンカウンタにダウンカウン
ト値を設定すると同時に、点火コイル通電命令が
出力される。このダウンカウンタはタイマー部3
3から供給される8μsecのクロツク信号でダウン
カウントして「0」になつたとき点火コイルの通
電信号を“0”にして通電を開始させる。ステツ
プ1215ではコイルの点火用ダウンカウントを
開始する角度と、ステツプ1100で求めた現在
のクランク角度位置とを比較して、一致したなら
ばステツプ1220で第3図通電点火制御部40
の点火用ダウンカウンタにダウンカウント値を設
定すると同時に、点火コイル点火命令が出力され
る。このダウンカウンタは8μsecのクロツク信号
でダウンカウントして「0」になつた時、点火コ
イルの通電を停止することが点火に相当するの
で、点火コイル通電信号を論理“1”にしてコイ
ルの通電が停止される。 次に固定位置処理ステツプ1300の詳細なフ
ローチヤートを第6図に示す。通電点火処理ステ
ツプ1200がプログラム割込みで計算した値に
よつて実効的に処理が働く角度位置が変動するの
に対して、固定位置処理ステツプ1300はあら
かじめ定められた角度位置で処理が行われる。ク
ランク角度0度で、180度クランク角度を回転す
るのに要する回転時間の計測、吸気管圧力の計
測、プログラム割込みの発生を行い、クランク角
度60度でノツキングの有無を判定する。この処理
を詳細に説明するとステツプ1310で回転角度
を判断し、0度の時はステツプ1311に進み
180度回転時間の計測を行う。第3図のタイマー
部33を使用してラツチされているリアルタイム
タイマー値をステツプ1311で取込み、ステツ
プ1312で前回取込まれたタイマー値をTp1と
して180度回転時間Tmは Tm=Tp2−Tp1 ………(1) で求められる。ステツプ1313ではTp2の値を
Tp1に移しておく。ステツプ1314では吸気脈
動対策のために、吸気管圧力のA/D変換値をク
ランク角に同期して取込む。又、ステツプ131
5ではデイジタル入出力ポート35のプログラム
割込み出力ポートをレベル“0”にした後再びレ
ベル“1”にしてプログラム割込み信号を発生さ
せ、プログラム割込み処理ルーチンを起動する。 ステツプ1310で回転角度が60度のときはス
テツプ1320に進み、第3図のノツク検出回路
36の出力をデイジタル入出力ポート35を通し
て読み込む。その結果ステツプ1320で直前の
点火でノツキングが発生しなかつたと判定した場
合、ステツプ1323でノツク間隔点火カウンタ
tIGを1増加させる。ノツク間隔点火カウンタtIG
は隣り合うノツキング間の点火回数をカウントす
るカウンタである。ステツプ1321でノツキン
グが発生したと判断すると、ステツプ1322に
進みノツク間隔点火カウンタtIGの内容をノツク
間隔点火レジスタCKに移し、tIGを“0”にリセ
ツトする。ノツク間隔点火レジスタCKは前回ノ
ツキング発生した時点から今回発生した時点まで
の間隔を点火回数で表現したもので、ノツキング
頻度に反比例する。そしてステツプ1315に進
みプログラム割込みを起動させ、後述の学習進角
マツプTLMAPの遅角を行なう。ノツキングが生じ
なかつた場合、さらに判断ステツプ1324に進
み、フイードバツク学習周期かどうか、フイード
バツク点火回数カウンタtLNで判断する。本例で
は後述のデイザー周期を50点火としており、tLN
が51であればステツプ1315でプログラム割込
みを起動し、学習進角マツプTLMAPを学習、修正
する。 ステツプ1310で回転角度が0度、30度以外
のときはなにもせず固定位置処理を終了する。 次に第7図に回転角度0゜、60゜で起動されるプ
ログラム割込み処理ルーチンを示す。まず回転角
度0゜のときの点火時期計算処理について詳述す
る。ステツプ2100で、前記ギア割込み処理ル
ーチンで求めた180度回転時間Tmより回転数N
を(2)式により計算する。 N(r.p.m)=107×3/Tm(μs)………(2) ステツプ2110では前記ギア割込み処理ルー
チンでクランク角度0度、180度にて取込んだ吸
気管圧力のA/D変換値Vpmを(3)式により吸気
管圧力Pm(mmHg単位) Pm=A1×Vpm+A2 ………(3) A1、A2:変換係数 に変換する。ステツプ2120ではスタータスイ
ツチからの信号を調べ、ONならばステツプ21
40で固定進角10度を最終点火進角θXとしてステ
ツプ2150に移り、通電点火制御部40への出
力値計算を行う。またスタータ作動時でない時
は、ステツプ2130に進み、最終点火進角θXを
もとめ、同様にステツプ2150で通電点火時期
制御部40への出力値算を行う。ステツプ215
0を終了すると、プログラム割込み処理を完了
し、8ms割込み処理またはメインルーチンを再
開する。 以下、点火進角θX算出ステツプ2130を第8
図に従つて詳述する。第9図は第3図のROM3
8に格納された2次元の基本進角マツプTBMAP一
例を示す。第10図はイグニツシヨンキースイツ
チを切つてもその内容が保持される書き換え可能
な不揮発性RAM37に格納された2次元の学習
進角マツプTLMAPの例を示す。このTLMAPは後述
のフイードバツク学習処理で常時、θXがノツキン
グを発生させないで、最大トルクかつ燃料消費率
最低となる点火進角値になるよう書き換えられ
る。TBMAP、TLMAPとも横軸は機関回転数Nであ
り、横軸に対応する列番号X、X′に対して比例
関係になつている。また縦軸は吸気管圧力Pmで
あり、縦軸に対応する行番号Y、Y′に対して比
例関係になつている。まずステツプ2131では
回転数Nから列番号Xへ(4)式に従つて変換され
る。 ここで、NxiはNを越えない最大のマツプ横軸
に指定された回転数、 XiはNxiに対応する列番号で整数、Xの小数点
部は、マツプ横軸に指定された回転数の中間の回
転数であることを示す。 同様にして回転数NからXi′、△X′を算出す
る。またステツプ2132で吸気管圧力Pmから
行番号Yへ(5)式に従つて変換換される。 ここで、PmYiはPmを越えない最大のマツプ
縦軸に指定された吸気管圧力、 YiはPmYiに対応する行番号で整数、Yの小
数点部はマツプの縦軸に指定された吸気管圧力の
中間の圧力であることを示す。 同様に学習進角マツプTLMAPのYj′、△Y′を算
出する。ステツプ2133ではX、Yに対応して
基本進角マツプ(TBMap)より基本進角θBASEを(6)
式により4点補間して求める。 θBASE=(1−△X)・(1−△Y)・TBMa
p(Xi、Yi) θBASE=(1−△X)・(1−△Y)・TBMa
p(Xi、Yi) +(1−△Y)・△X・TBMap(Xi+1、Yi)+△Y・(
1−△X)・TBMap(Xi、Yi+1) +△Y・△X・TBMap(Xi+1、Yi+1) ただし、 X=Xi+△X(0≦△X<1) Y=Yi+△Y(0≦△Y<1) (6) 同様にステツプ2134では上述のX′、Y′に
対応して学習進角マツプTLMAPより学習フイード
バツク進角θFBを(7)式により4点補間して求める。 θFB=(1−△X′)・(1−△Y′)・TLMA
P(Xj、Yj) θFB=(1−△X′)・(1−△Y′)・TLMA
P(Xj、Yj) +(1−△Y′)・△X′・TLMAP(Xj+1、Yj)+△Y′
・(1−△X′) θFB=(1−△X′)・(1−△Y′)・TLMA
P(Xj、Yj) +(1−△Y′)・△X′・TLMAP(Xj+1、Yj)+△Y′
・(1−△X′) ・TLMAP(Xj、Yj+1)+△X′△Y′・TLMAP(Xj+1、Yj
+1) ただし、 X′=Xj′+△X′ Y′=Yj′+△Y′ (7) ステツプ2135ではイグナイタ等による点火
信号の遅れをクランク角度に換算し、点火遅延角
(θDLY)とする。関係式は(8)式の通りである。 θDLY=tDLY×180(度CA)/Tm(μs)………(8) tDLY :イグナイタによる点火信号の遅れ時間
(40〜100μs) Tm:180度回転時間(μs) 次にステツプ2136では最適点火時期MBT
(Minimum spark advance for Best Torque)
フイードバツク処理を行なう。このフイードバツ
ク処理について第11図により説明する。本実施
例では所定点火(40〜200点火)毎に、機関運転
条件から算出した点火時期を一定角度(1〜
6゜CA(クランク角度))進角、遅角させることを
交互にくり返し、その結果生じる回転数の微小な
差を検出し、回転数が上昇する方向に学習進角マ
ツプTLMAPを書き換える。このように進角値をふ
ることを以後デイザと呼ぶ。第12図に本実施例
に基づく点火進角制御のタイムチヤートを示す。
第12図ではわかりやすいように0〜1000点火区
間では定常状態と仮定している。したがつて基本
進角θBASE、点火遅角θDLY、水温進角θTHWはすべて
一定であり、点火進角θXの変化はデイザ角θDSR、
学習進角θFBの変化に一致する。第12図では150
点火目からフイードバツクを開始している。まず
第12図1のようにA1、A2で進角、R1、R2で遅
角させる。デイザサイクル開始後、進角、遅角の
デイザサイクルをそれぞれ2サイクル経過した
ら、各デイザサイクルの先頭で各デイザサイクル
における第12図2に示す平均回転数を比較す
る。進角デイザサイクルiにおいて、 (イ) Ri−2<Ai−1>Ri−1<Aiのとき TLMAP(N、Pm)→進角 (ロ) Ri−2>Ai−1<Ri−1>Aiのとき TLMAP(N、Pm)→遅角 それ以外のときは修正しない。 また遅角デイザサイクルjにおいて、 (ハ) Aj−2>Rj−1<Aj−1>Rjのとき TLMAP(N、Pm)→進角 (ニ) Aj−2<Rj−1>Aj−1<Rjのとき TLMAP(N、Pm)→遅角 それ以外のときなにもしない。 したがつて、ノツキングのない場合、第13図
に示すように点火進角θXがMBTになるよう、そ
の機関運転条件における学習進角マツプTLMAP
(N、Pm)を書き換えていく。すなわち、今、
TLMAP(N、Pm)がA点にある場合、デイザによ
るトルク変化(回転数変化)の詳価(イ)、(ハ)によ
り、B点にある場合、(ロ)、(ニ)によりMBTに近づ
いていく。ノツキングゾーンZが第14図に示す
ように、MBTより遅角側にある場合、近接した
ノツキング検出により、デイザサイクルを直ちに
中止し、その運転条件におけるTLMAP(N、Pm)
を遅角させ、新たにフイードバツクを開始する。
したがつて、今TLMAP(N、Pm)がC点にある場
合、(イ)、(ハ)によりMBTではなくD点に近づいて
いく。第12図ではまず進角デイザサイクルA3
の最初で平均回転数を比較し、A1>R1>A2
<R2となるため学習進角θFBは変化しない。こ
の進角デイザサイクルA3ではR1>A2<R2>
NA3、すなわち前記条件(ロ)が成立し、TLMAPが更
新され、図示のようにθFBは遅角、したがつてθX
−θDSR(図の点線)が遅角している。同様にデイ
ザサイクルA5、A6及びR5、R6ではそれぞれ前記
条件(イ)、(ハ)が成立し、θX−θDSRが進角し、MBT
に近づいている。しかしながらデイザサイクル
A7では第12図3に示すようにノツキングが3
回発生し、その間隔が短いため直ちに遅角し、デ
イザサイクルを中止している。そして非ノツキン
グ域まで遅角したのちフイードバツクサイクルを
再開している。なおデイザサイクルは必ず進角サ
イクルから始まる。第11図において2141〜
2143のステツプはフイードバツク条件が成立
しているかどうかを判断するステツプである。ス
テツプ2141では後述のメインルーチンで算出
した水温が70℃以上であればステツプ2142
に、そうでなければステツプ2180に進む。次
にステツプ2142ではアイドルスイツチがON
であるかどうかを第3図のデイジタル入出力ポー
ト35から読み込んで、OFFであればステツプ
2143に進み、ONであればステツプ2180
に進む。さらにステツプ2143で現在の運転条
件(N、Pm)が学習進角マツプ領域内にあれば
ステツプ2144に、領域をはずれていればステ
ツプ2180に進む。ステツプ2144ではフイ
ードバツクサイクル中、定常運転であつたかどう
かを判断する。これは第10図に示す学習進角マ
ツプTLMAPにおいて、フイードバツクサイクル開
始時の運転領域(SX、SY)及びそのまわり8
点、たとえば(SX、SY)=fならばa、b、c、
e、f、g、i、j、kの領域から、現在の運転
領域が外れた場合(例えばnに移つたとき)、加
減速状態と判定しステツプ2145に進み、サイ
クル開始時の運転領域ポインタSX、SYを現在の
運転領域(Xi′、Xj′)に更新する。さらにステツ
プ2146では前記フイードバツク点火回数カウ
ンタtLN、デイザ回数カウンタCDSRをリセツトし、
後述の回転数積算値ANを0に設定する。ステツ
プ2147ではデイザーフラグfDSRをリセツトし、
所定値C1(1〜6゜CA)をデイザ角θDSRにセツトし、
前記ノツク間隔点火カウンタtIGを最大値C2にセ
ツトする。運転領域点火回数マツプTDMAPは第1
5図に示すような2次元マツプでフイードバツク
開始後の各運転領域での点火回数を示す。この
TDMAPの中心点(Xi′、Yj′)は(SX、SY)に一
致している。ステツプ2148はこのTDMAP内の
9個のカウンタをすべて“0”にリセツトする。
すなわちステツプ2145〜2148はフイード
バツク開始のための処理である。 フイードバツク条件が成立しないときはステツ
プ2180に進み、カウンタtLNをリセツトし、
さらにステツプ2181でデイザ角θDSRに0を入
れ、カウンタtIGを最大値C2にセツトする。また
ステツプ2182でフイードバツク条件が成立し
たときにフイードバツク開始処理2145〜21
48を実行するよう、実際の運転条件にはない値
C3、C4をSX、SYに入れ、MBTフイードバツク
処理を終了する。なお、ステツプ2144で定常
と判断されると直ちにステツプ2149に進み、
フイードバツク点火回数カウンタtLNを1増加さ
せ、そして第16図に移りステツプ2150で運
転領域点火回数マツプのそのときの運転条件に対
応するカウンタTDMAP、(Xi′、Yj′)を1増加させ
る。次にステツプ2151では、フイードバツク
点火回数カウンタtLNの値を調べ、51であればス
テツプ2152へ、48以上50以下であればステツ
プ2157へ、1以上47以下であればMBTフイ
ードバツク処理を終了する。 ステツプ2152〜2153はあるデイザサイ
クルを終了し、次のデイザサイクルを開始するた
めの処理である。ステツプ2152ではデイザフ
ラグを反転させ、2153ではデイザ角を進角
(遅角)から遅角(進角)へスイツチしている。
ステツプ2154ではデイザ回数カウンタCDSRを
1カウントアツプし、次のステツプ2155にて
CDSRが4以上であるかどうか判定している。すな
わちフイードバツク開始後4デイザサイクル経過
したかどうかチエツクしており、もし経過してい
ればフイードバツク学習フラグfFDをセツトし後
述のようにクランク角60゜のギア割込みで起動さ
れるプログラム割込みにおいて、各デイザサイク
ルにおける平均回転数の評価により学習進角マ
ツプTLMAPが更新される。そうでなければ直ちに
ステツプ2157に進み、平均回転数算出のた
めの回転数積算値ANにステツプ2100で算出
した回転数Nを加算する。 これでMBTフイードバツク処理を完了し、続
いて第8図のステツプ2137に進み点火進角θX
をステツプ2131〜2136により算出した
θBASE、θFB、θDSR、θDLY及び後述のメインルーチン
で算出した水温進角θTHWの和として算出する。以
上で点火進角θXの計算を終え通電点火制御部40
への出力値を計算するためステツプ2150に進
む。 ステツプ2150では(90−θX)により点火ク
ランク角を、さらに後述の8ms割込み処理ルー
チンにより算出された通電時間τONから通電クラ
ンク角を計算する。そして点火、通電クランク角
を、0゜、30゜、60゜のギア角とそれを補間するダウ
ンカウント値(単位8μs)に換算しておき、前述
の第5図通電点火処理により、通電、点火を実行
する。 クランク角60度で起動されたプログラム割込み
ではステツプ2500に進み、ステツプ1320
で入力したノツキング信号の有無を判定する。ノ
ツキング信号がない場合、ステツプ2550にジ
ヤンプし、ある場合にはステツプ2510に進
み、前回のノツキングから今回のノツキングまで
の点火回数CKが50を越えているかどうか判定す
る。CK>50であればやはりステツプ2550に
ジヤンプし、そうでなければステツプ2520に
進み、ノツクの生じた運転条件での学習進角マツ
プTLMAP(X′、Y′)を(9)式により遅角させる。 TLMAP(Xi、Yj′)−C5→ TLMAP(Xi′、Yj′) ………(9) C5:定数(0.1〜3゜CA) ただし(Xi′、Yj′)は直前の0゜のクランク角で
起動されたプログラム割込みではなく、もう1つ
前の0゜クランク角で起動されたプログラム割込み
でステツプ2131〜2132で(4)、(5)式から算
出された値である。上述のように本例ではCKが
50以上すなわちノツキング率2%以内になるよう
進角を学習制御している。ステツプ2530,2
540はフイードバツクリセツトのための処理で
あり、MBTフイードバツク条件が成立していれ
ば次の0゜クランク角で起動されるMBTフイード
バツク処理において、ステツプ2145よりのフ
イードバツク初期化を行なわせるためのものであ
る。次にステツプ2550に進み、MBTフイー
ドバツク学習時期(新しいデイザサイクル開始直
後)かどうか判断する。もしtLN<51であれば、
このプログラム割込みはノツキング発生によつて
のみ起動されたものであり、処理を終了する。学
習時期であればステツプ2560に進み学習進角
マツプθLMAPを学習、修正する。 第17図、第18図にMBTフイードバツク
θLMAP更新のステツプ2560の詳細を示す。ま
ずステツプ2561で、デイザサイクルでの平均
回転数を計算する。本例では前述の回転数積算値
ANを平均回転数としている。すなわちANは
各デイザサイクルの最後の2回転における4回の
180度クランク角で計測した回転数の積算である。
次にステツプ2562に進み、フイードバツク開
始後、4デイザ経過したかどうか調べる。経過し
ていれば前記ステツプ2156でフイードバツク
学習フラグfFDはセツトされており、ステツプ2
563に進む。セツトされていなければステツプ
2577にジヤンプする。ステツプ2563では
フラグfFDをリセツトし、過去4回のデイザサイ
クルにおける対応する運転領域点火回数マツプ
TDMAPの9個のカウンタをそれぞれ加算する。各
デイザサイクルにはTDMAPが1つずつ対応するの
で、TDMAPは4個あり、デイザサイクルとともに
順次更新される。続いてステツプ2564で
TDMAPの加算マツプSTDMAPの9個の各カウンタの
中で最大値をもつ要素を(XM′、YM′)とする。
すなわち代表運転領域(XM′、YM′)は過去4回
のデイザサイクルにおいて最も頻度の高い運転領
域(機関状態)である。ステツプ2567では、
この最も頻度の高い領域が4回のデイザサイクル
の例えば70%以上存在したかどうか、すなわち、
200点火中140点火以上であつたかどうか判断す
る。140点火以上であればステツプ2568に進
みそうでなければステツプ2577にジヤンプ
し、学習進角マツプTLMAPは修正しない。さらに
ステツプ2568では、ステツプ2520でノツ
クフイードバツク処理により修正されたTLMAPの
領域(Xi′、Yj′)と、MBT学習領域が一致した
場合も、MBTフイードバツクによるTLMAPの修
正は行なわない。すなわちノツクフイードバツク
及びMBTフイードバツクに起因する学習処理が
同時に重なつた場合、ノツキング発生に伴う
TLMAPの遅角を最優先に処理し、MBTフイード
バツクにより、進角、遅角何れの処理要求が生じ
てもこれを無視する。MBTフイードバツク学習
処理のみの場合は直ちにステツプ2569に進
む。尚MBT学習領域とは前述の代表運転領域
(XM′、YM′)及びそのまわり8点をさす。たと
えば(XM′、YM′)が第10図に示すg点であつ
たとすると、MBT学習領域はb、c、d、f、
g、h、j、k、lの計9点である。 ステツプ2569では現在のデイザサイクルが
進角デイザサイクル開始直後(デイザフラグfDSR
=0)であるか、遅角デイザサイクル開始直後
(fDSR=1)であるかを判定する。fDSR=0であれ
ば直前の4つのデイザサイクルはそれぞれ進角→
遅角→進角→遅角の順序であり、ステツプ256
1で求めた各デイザサイクルの平均回転数−3、
N−2、−1、0についてステツプ2570で
前述の条件(ハ)を、ステツプ2571で条件(ニ)をチ
エツクする。fDSR=1であれば、ステツプ257
3で条件(ロ)を、ステツプ2574で条件(イ)をチエ
ツクする。前述のように、条件(イ)、(ハ)が成立すれ
ばステツプ2575でMBT学習値△θに進角値
C5を入れ、条件(ロ)、(ニ)が成立すればステツプ2
572で△θに遅角値−C5を入れる。そしてス
テツプ2576でまず運転領域の代表点(XM′、
YM′)での学習進角マツプTLMAPの値を(10)式によ
り修正し、 TLMAP(XM′、YM′)+△θ→TLMAP(XM′、YM
′)………(10) 次に代表点のまわり8点についてTLMAPの値を
(11)式により修正する。 TLMAP(Xk′、Yl′)+C6×△θ→TLMAP(Xk′
、Yl′)………(11) C6:(定数)0<C6<1、k、l=M−1、M、
M+1(k=l=Mは除く) したがつて例えば過去4回のデイザサイクルで
の定常運転領域が第10図に示す、a、b、c、
e、f、g、i、j、kであつても、代表運転領
域(XM′、YM′)=gであつたとすれば、MBT学
習領域はb、c、d、f、g、h、j、k、lと
なり、各点の進角値が修正される。条件(イ)、(ロ)、
(ハ)、(ニ)の何れも成立しない時は、TLMAPは修正さ
れず、直ちにステツプ2577にジヤンプする。
ステツプ2577では新しいデイザサイクルのた
めに、フイードバツク点火回数カウンタtLNに1
を入れ、回転数積算レジスタの積算値ANを0に
する。 以上でプログラム割込み処理を終了する。 第19図に8ms割込み処理ルーチンのフロー
チヤートを示す。ステツプ3100ではアナログ
入力ポート31からバツテリー電圧VBを取り込
み、通電時間特性によりコイル通電時間τONを計
算する。 第20図はメインルーチンのフローチヤートを
示す。ステツプ4100では初期化処理を行い、
RAM領域のクリア、各種初期パラメータの入
力、割込みの許可を行う。ステツプ4200では
水温のA/D変換値がアナログ入力ポート31か
ら入力され、これに基づいて1次元のマツプから
水温進角θTHWが計算される。このステツプは割込
み処理のない時は常に実行される。 なお、上記実施例では機関運転条件から算出し
た点火時期を一定角度進角、遅角させることを交
互にくり返し、その結果生じる回転数の微小な差
を検出して回転数が上昇する方向つまり最大トル
ク点火時期の方向に学習進角マツプLMAPを書き換
えていたが、機関運転条件から算出した点火時期
(ベース点火時期と呼ぶ)で運転し、次にこのベ
ース点火時期より進角側の点火時期(アドバンス
点火時期と呼ぶ)で運転し、そして次にベース点
火時期より遅角側の点火時期(リタード点火時期
と呼ぶ)で運転して、この3つの点火時期におけ
る回転数を比較することにより最大トルク点火時
期の方向を判定し学習進角マツプLMAPを書き換え
るようにしてもよい。即ち、ベース点火時期、ア
ドバンス点火時期、リタード点火時期における平
均回転数を各々B、A、Rとし、A>B>
NRのときLMAPの値を進角側に書き換え、A<
B<Rのとき遅角側に書き換え、これ以外のとき
は何も書き換えないというようにしてもよい。 以上詳細に述べたように本発明は、点火時期が
最大トルク点火時期より進み側にあるか遅れ側に
あるかを示す信号およびノツキングの発生量を示
す信号に基づいて単一の書き換え可能な不揮発性
メモリの所定の記憶内容を書き換え、ノツキング
の発生量が所定値以上であれば点火時期の遅れ側
のみ記憶内容を書き換えているので、トルクフイ
ードバツクとノツクフイードバツクとを含む2つ
以上のフイードバツク信号による学習制御に対
し、書き換え可能な不揮発性メモリの数を増やす
ことなく、機関にとつて有害でかつ運転者にとつ
て不快音となるノツキングの発生を防止でき、そ
の状態を維持する中で最も燃料消費率の低い状態
で機関を運転できるという優れた効果がある。
第1図は本発明の方法を適用した装置の一実施
例を示す構成図、第2図は機関回転数に対する最
大トルク点火時期およびノツキング発生開始の点
火時期を示す特性図、第3図は第1図中の制御コ
ンピユータの詳細構成図、第4図乃至第8図、第
11図、第16図乃至第20図は第1図中の制御
コンピユータの演算処理手順を示すフローチヤー
ト、第9図、第10図、第15図は第1図に示す
装置の作動説明に供するマツプ模式図、第12図
は第1図に示す装置の作動説明に供するタイムチ
ヤート、第13図、第14図は最適点火時期への
修正状態を示す特性図である。 1……内燃機関、2……点火装置、3……制御
コンピユータ、6……回転角センサ、7……吸気
管圧力センサ、10……ノツクセンサ、30……
中央処理ユニツト、36……ノツク検出回路、3
7……書き換え可能な不揮発性メモリをなす不揮
発性RAM、38……読出し専用記憶ユニツト
(ROM)、39……一時記憶ユニツト(RAM)。
例を示す構成図、第2図は機関回転数に対する最
大トルク点火時期およびノツキング発生開始の点
火時期を示す特性図、第3図は第1図中の制御コ
ンピユータの詳細構成図、第4図乃至第8図、第
11図、第16図乃至第20図は第1図中の制御
コンピユータの演算処理手順を示すフローチヤー
ト、第9図、第10図、第15図は第1図に示す
装置の作動説明に供するマツプ模式図、第12図
は第1図に示す装置の作動説明に供するタイムチ
ヤート、第13図、第14図は最適点火時期への
修正状態を示す特性図である。 1……内燃機関、2……点火装置、3……制御
コンピユータ、6……回転角センサ、7……吸気
管圧力センサ、10……ノツクセンサ、30……
中央処理ユニツト、36……ノツク検出回路、3
7……書き換え可能な不揮発性メモリをなす不揮
発性RAM、38……読出し専用記憶ユニツト
(ROM)、39……一時記憶ユニツト(RAM)。
Claims (1)
- 1 内燃機関の運転状態を検出して機関の基本点
火時期を算出すること、この基本点火時期を、単
一の書き換え可能な不揮発性メモリの所定の記憶
内容に基づいて補正し機関の点火時期を算出する
こと、点火時期をそれぞれ学習補正するための二
つ以上のフイードバツク信号により前記単一の書
き換え可能な不揮発性メモリの所定の記憶内容を
書き換えることを特徴とする内燃機関用点火時期
制御方法であつて、前記二つ以上のフイードバツ
ク信号は、前記点火時期が機関の出力を最大限に
発揮させる最大トルク点火時期より進み側にある
か遅れ側にあるかを示す信号および機関のノツキ
ングの発生量を示す信号であり、かつ前記単一の
書き換え可能な不揮発性メモリの所定の記憶内容
は、前記ノツキングの発生量が所定値以下である
場合前記点火時期が前記最大トルク点火時期より
進み側にあるか遅れ側にあるかを示す信号に基づ
いて点火時期を進み側または遅れ側に書き換え、
前記ノツキングの発生量が所定値以上である場合
前記点火時期が前記最大トルク点火時期より進み
側にあるか遅れ側にあるかを示す信号とは無関係
に点火時期を遅れ側のみに書き換えることを特徴
とする内燃機関用点火時期制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10970580A JPS5735157A (en) | 1980-08-08 | 1980-08-08 | Ignition timing control system for internal combustion engine |
| US06/578,295 US4510910A (en) | 1980-08-08 | 1984-02-08 | Ignition timing control method and apparatus for internal combustion engines |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10970580A JPS5735157A (en) | 1980-08-08 | 1980-08-08 | Ignition timing control system for internal combustion engine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5735157A JPS5735157A (en) | 1982-02-25 |
| JPH034746B2 true JPH034746B2 (ja) | 1991-01-23 |
Family
ID=14517117
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10970580A Granted JPS5735157A (en) | 1980-08-08 | 1980-08-08 | Ignition timing control system for internal combustion engine |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4510910A (ja) |
| JP (1) | JPS5735157A (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6047824A (ja) * | 1983-08-25 | 1985-03-15 | Toyota Motor Corp | 電子制御ガスタ−ビンエンジンの可動部制御方法 |
| JPS6047825A (ja) * | 1983-08-26 | 1985-03-15 | Toyota Motor Corp | 電子制御ガスタ−ビンエンジンの可動部制御方法 |
| JPS6088869A (ja) * | 1983-10-19 | 1985-05-18 | Japanese National Railways<Jnr> | 光フアイバを用いた火花点火機関の燃料点火時期制御方法 |
| US4703430A (en) * | 1983-11-21 | 1987-10-27 | Hitachi, Ltd. | Method controlling air-fuel ratio |
| JPS60195360A (ja) * | 1984-03-15 | 1985-10-03 | Mitsubishi Electric Corp | 内燃機関のノツキング抑制装置 |
| DE3419727A1 (de) * | 1984-05-26 | 1985-11-28 | Robert Bosch Gmbh, 7000 Stuttgart | Verfahren zur klopfregelung von brennkraftmaschinen |
| US4640249A (en) * | 1984-06-30 | 1987-02-03 | Nissan Motor Company, Limited | System for controlling an ignition timing in an internal combustion engine and method therefor |
| JPS61112765A (ja) * | 1984-07-27 | 1986-05-30 | Fuji Heavy Ind Ltd | 自動車用エンジンの空燃比制御方式 |
| JPS6149168A (ja) * | 1984-08-16 | 1986-03-11 | Fuji Heavy Ind Ltd | 内燃機関用フイ−ドバツク式点火時期制御方式 |
| JPS61157768A (ja) * | 1984-12-28 | 1986-07-17 | Fuji Heavy Ind Ltd | 内燃機関の点火時期制御方式 |
| JPH0723582Y2 (ja) * | 1986-10-15 | 1995-05-31 | 日産自動車株式会社 | 内燃機関の点火時期制御装置 |
| JP2536243B2 (ja) * | 1990-06-13 | 1996-09-18 | 三菱電機株式会社 | 内燃機関の点火時期制御装置 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2539113B2 (de) * | 1975-09-03 | 1978-04-20 | Robert Bosch Gmbh, 7000 Stuttgart | Elektronische Einrichtung zur Steuerung eines periodisch sich wiederholenden Vorganges bei Brennkraftmaschinen, insbesondere des Stauflusses durch die Zündspule |
| US4130095A (en) * | 1977-07-12 | 1978-12-19 | General Motors Corporation | Fuel control system with calibration learning capability for motor vehicle internal combustion engine |
| JPS5420203A (en) * | 1977-07-15 | 1979-02-15 | Hitachi Ltd | Combustion control equipment of engine |
| DE2732781C3 (de) * | 1977-07-20 | 1995-04-06 | Bosch Gmbh Robert | Einrichtung zum Steuern von betriebsparameterabhängigen und sich wiederholenden Vorgängen |
| DE2847021A1 (de) * | 1978-10-28 | 1980-05-14 | Bosch Gmbh Robert | Vorrichtung zur regelung von betriebskenngroessen einer brennkraftmaschine auf optimale werte |
| US4231091A (en) * | 1978-11-27 | 1980-10-28 | General Motors Corporation | Engine control system |
| JPS5578168A (en) * | 1978-12-07 | 1980-06-12 | Nippon Soken Inc | Feedback type ignition time control device for internal combustion engine |
| JPS55138104A (en) * | 1979-04-13 | 1980-10-28 | Hitachi Ltd | Engine controller |
| US4351306A (en) * | 1981-05-26 | 1982-09-28 | General Motors Corporation | Electronic ignition system |
-
1980
- 1980-08-08 JP JP10970580A patent/JPS5735157A/ja active Granted
-
1984
- 1984-02-08 US US06/578,295 patent/US4510910A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5735157A (en) | 1982-02-25 |
| US4510910A (en) | 1985-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4479186A (en) | Method and apparatus for controlling an internal combustion engine | |
| JPS6213499B2 (ja) | ||
| JPH034746B2 (ja) | ||
| JPS6248066B2 (ja) | ||
| JPS6410663B2 (ja) | ||
| JPS6347893B2 (ja) | ||
| JPS61272470A (ja) | 内燃エンジンの点火時期制御方法 | |
| JPS6212385B2 (ja) | ||
| JPS6253709B2 (ja) | ||
| JPS61275572A (ja) | 内燃エンジンの点火時期制御方法 | |
| JPH1193760A (ja) | エンジン制御装置およびその制御方法 | |
| JPS61185642A (ja) | 内燃機関の燃料噴射時期制御装置 | |
| JPH0320592B2 (ja) | ||
| JPH0380982B2 (ja) | ||
| JPS6321816B2 (ja) | ||
| JPS6231189B2 (ja) | ||
| JPH0826838B2 (ja) | 内燃機関の点火時期制御方法 | |
| JPS6248065B2 (ja) | ||
| JP2625763B2 (ja) | 内燃機関の点火時期制御装置 | |
| JP2537414B2 (ja) | 内燃機関の点火時期制御装置 | |
| JP2629204B2 (ja) | 内燃機関の点火時期制御装置 | |
| JPH0536999Y2 (ja) | ||
| JPH0686840B2 (ja) | エンジンの制御装置 | |
| JPH01159466A (ja) | 内燃機関のノッキング制御装置 | |
| JPH0627518B2 (ja) | エンジンの制御装置 |