JPS6250662B2 - - Google Patents
Info
- Publication number
- JPS6250662B2 JPS6250662B2 JP55009572A JP957280A JPS6250662B2 JP S6250662 B2 JPS6250662 B2 JP S6250662B2 JP 55009572 A JP55009572 A JP 55009572A JP 957280 A JP957280 A JP 957280A JP S6250662 B2 JPS6250662 B2 JP S6250662B2
- Authority
- JP
- Japan
- Prior art keywords
- feedback
- map
- ignition timing
- value
- amount
- 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
Links
- 238000000034 method Methods 0.000 claims description 52
- 238000005259 measurement Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 40
- 238000011156 evaluation Methods 0.000 description 28
- 238000001514 detection method Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 239000007858 starting material Substances 0.000 description 8
- 230000004044 response Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012854 evaluation process Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 101150022168 L3MBTL3 gene Proteins 0.000 description 1
- 102100040548 Lethal(3)malignant brain tumor-like protein 3 Human genes 0.000 description 1
- 101100280483 Manduca sexta MFB2 gene Proteins 0.000 description 1
- 101100401327 Schizosaccharomyces pombe (strain 972 / ATCC 24843) mfm2 gene Proteins 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
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/15—Digital data processing
- F02P5/152—Digital data processing dependent on pinking
-
- 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)
- Signal Processing (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Electrical Control Of Ignition Timing (AREA)
Description
本発明はエンジンのノツキングを検出するノツ
クセンサを有し、このノツクセンサの信号によつ
てエンジンにノツキングが発生したかどうかを判
別し、このノツキングが判別結果に基づいて点火
時期をフイードバツク制御する点火時期制御方法
に関する。
エンジンの点火時期に対するノツキング発生の
挙動は、点火時期を上死点から進角させていく
と、ある角度まではノツキングは発生せず、更に
進角させると、エンジンの燃焼回数(点火回数)
に対するノツク発生回数の割合が進角値の増大と
ともに0から増加する。
一般に、ノツクフイードバツク制御ではノツク
センサによりノツキングを検出し、エンジン回転
数(点火回数)又は時間に対するノツキングが検
出される割合(ノツク発生割合)が目標の値にな
るように点火時期を進遅角して制御する。
従来の点火時期のノツクフイードバツク制御の
方法では所定の開始条件が成立したのちノツク検
出を開始し、ノツキングが検出されたならば点火
時期を一定角度遅角し、又所定点火回数又は、所
定時間が経過してもノツキングが検出されない場
合は点火時期を一定角度進角する。
この方法では、フイードバツク量は進角の一定
角度、遅角の一定角度の2種類である。これらの
フイードバツク量は制御の応答速度を遅くさせな
いため、小さくするには限度がある。この従来方
法には、以下の様な欠点がある。すなわち、目標
とする点火回数又は時間に対する割合で、ノツキ
ングが検出されたとしても、従来方法では、ノツ
キングが検出されると必ず遅角方向へ制御してし
まうため、点火時期を不必要な場合にも動かして
しまう。
又、点火時期が動揺するため、ノツキング発生
の時間間隔、又はノツキング発生からノツキング
発生までの点火回数のバラツキが大きくなる。
本発明では前記の従来方法の欠点の解消を目的
としたもので、所定の開始条件が成立してから、
ノツキングが検出されるまでのつまりノツキング
が発生するまでの点火回数、又は時間を計測し、
この計測値の大小に応じて段階的、又は連続的に
点火時期のフイードバツク量を決めることを特徴
としており、すなわち、計測値とフイードバツク
量の関係は計測値の小さい部分では、最初遅角量
が大きく、計測値の増加に従つて、段階的又は連
続的に遅角量が0まで減少し、更に計測値の増加
に従つてフイードバツク量は進角量になり、所定
の計測値まで0から段階的又は連続的に進角量が
増大するようにしたことを特徴としており、進角
量、遅角量が0になる計測値の値を目標とするノ
ツク検出割合に対応する目標時間値、又は目標点
火回数値とすることにより、この時間値、点火回
数値でノツキングが検出されたときのフイードバ
ツク量は0であり、点火時期が不必要に動かされ
ることはないようにしたものである。つまり本発
明では目標とするノツキング検出割合に対応する
時間値又は点火回数値に近い時間値、点火回数値
でノツキングが検出されたときはフイードバツク
量は小さく、点火時期の動揺を小さくできるよう
にしたものである。また前記従来方式に比べて点
火時期の動揺が小さいので、ノツキング発生から
次のノツキング発生までの時間間隔又は、点火回
数間隔のバラツキも小さくできるものである。更
に、点火時期の安定性を高めることができるた
め、広い範囲の時間又は点火回数の計測値に対し
てフイードバツク量を0にできるものである。ま
た本発明ではノツキングが発生しなければ、フイ
ードバツクをしないと取決めると、ノツキングが
発生しない点火時期領域に点火時期がある場合、
フイードバツクが起らず、進角側に点火時期が制
御されないという問題を考慮し、所定の点火回数
又は所定時間経過してもノツキングが検出されな
い場合は、この所定の点火回数、又は所定時間で
ノツキングが検出されたとして処理することをも
特徴としている。
この所定の点火回数又は所定時間に対応した計
測値によるフイードバツク量の計算結果は当然の
ことであるが、点火時期を進角側にフイードバツ
ク制御する。また本発明では、フイードバツク制
御の応答速度を高速化しフイードバツク目標値に
到達した場合には安定性を良くするため、過去の
フイードバツク履歴により、計測点火回数又は計
測時間に応じた点火時期のフイードバツク量を計
算する方法を変更することを特徴としている。す
なわち、過去に遅角が続いて、今回のフイードバ
ツク量が遅角量である場合、この遅角量を通常よ
りも増加させてフイードバツクし、過去に進角が
続いて、今回のフイードバツク量が進角量である
場合、この進角量を通常よりも増加させてフイー
ドバツクし、また、進角と遅角が交互に続くフイ
ードバツク目標値に到達したような場合には、遅
角、進角のフイードバツク量を小さくした方が点
火時期の安定性が良くなることを考慮して進角と
遅角が交互に続くような場合には、フイードバツ
ク量を通常よりも減少させてフイードバツクする
ようにしたことを特徴としている。
以下本発明を第1図以下に示す4気筒エンジン
に適用した一実施例につき説明する。第1図にお
いて、1は4気筒4サイクルエンジン、2はエン
ジン1に固着され、ノツキング発生時の特有のエ
ンジン振動を検出するノツク検出器、3はスター
タであり、31はスタータスイツチである。4は
エンジン1の回転角度位置を測定する回転センサ
であり、エンジン1が回転して上死点位置になつ
た時に上死点信号を発生し、また上死点位置から
エンジン1回転を等分した一定クランク角度(例
えば本実施例においては7.5度)回転する毎に回
転角度信号を発生する。21は制御コンピユータ
6に内蔵された圧力センサであり、エンジン1の
吸気マニホールド12から配管13により圧力が
圧力入力口に伝達され、吸気マニホールド圧力を
測定する。5は公知の燃料供給装置である。7,
8はコイルを2個使用し、デイストリビユータを
廃止した点火アクチユエータとしてのそれぞれイ
グナイタ、点火コイルである。制御コンピユータ
6は、回転センサ4で発生される回転角度パルス
の発生する時間間隔からエンジン回転数を求め、
また、圧力センサ21の出力電圧から吸気マニホ
ールド圧力を計算して、エンジンの運転状態を測
定するとともに、ノツクセンサ(ノツク検出器)
2の出力信号からノツキング発生状態を検知し
て、点火時期を制御する。また、エンジン始動時
は特定の点火時期に制御するため、スタータスイ
ツチ31からスタータ3へ供給される電圧がスタ
ータ信号として制御コンピユータ6に入力され
る。また、点火コイルの通電時間をバツテリ電圧
に応じて変えるため、バツテリ電圧がバツテリ電
圧信号として制御コンピユータ6に取込まれる。
15は、制御コンピユータ6の必要とする電圧の
電力を、車輌が塔載するバツテリ19の電圧から
生成する電源である。
次に第2図により、上記の制御コンピユータ6
を詳細に説明する。60は点火時期を算出する中
央処理ユニツト(CPU)で16ビツド構成のTI社
製TMS9900を用いている。70は制御プログラ
ム、制御定数を記憶している読出し専用記憶ユニ
ツト(ROM)、69はCPU60が制御プログラム
に従つて動作中、制御データの記憶に使用される
一時記憶ユニツト(RAM)を示す。
61は割込み制御部であり、3レベルの優先順
位をつけてCPUに割込みの発生を知らせる。本
実施例の割込み要因としては、エンジンの回転セ
ンサ4の回転角度信号パルス発生による割込み、
CPU60自身がデイジタル入出力ポート64の
プログラム割込み出力ポートのレベルを“0”レ
ベルにして起すプログラム割込み、及びタイマー
が8ミリ秒(ms)経過する毎に起すタイマー割
込みの3種類がある。
タイマー部62は8μsのクロツク信号をカウ
ントする16ビツトのカウンタと回転センサ4の回
転角度信号パルスが発生する毎にカウンタの値を
格納保持するラツチから構成される。従つて、回
転角度パルス発生の割込み処理にてCPU60が
クランク角カウンタ部63の値を読出して、エン
ジンの回転角度位置を知るとともに、タイマー部
62のラツチの値を読出し、この操作を2つの回
転角度位置にて行ないラツチの値の差を求めるこ
とにより、2つの回転角度位置の間をエンジンが
回転する時間が測定でき、また、エンジン回転数
を計測できる。
クランク角カウンタ部63は、下位桁12進、上
位桁4進のカウンタであり、回転センサ4の回転
角度信号でカウントアツプし上死点信号の発生の
次の回転角度信号が発生した時、このカウンタは
値“0”にリセツトされエンジン回転と同期がと
られる。従つて、クランク角カウンタの値を
CPUが読出すことによりエンジン回転角度位置
を7.5度クランク角度単位で知ることができる。
デイジタル入出力ポート64は、論理信号の入
出力に使用されるポートであり、エンジン始動時
のスタータスイツチ31がONされていることを
認識するために、スタータスイツチ31からスタ
ータ3へ供給される電圧レベルを入力する。また
割込み制御部61へ供給するプログラム割込信号
を発生するのに使用される。
ノツク検出回路65は公知の如くノツク信号の
瞬時値が平均レベルより大きく越した場合、内部
でノツク検出パルス信号を発生するもので、この
パルス数をCPU60が指定する期間だけ計数す
る。
アナログ入力ポート67はアナログ信号の電圧
値を計測するものであり、エンジン1の吸気マニ
ホールド圧力を測定する圧力センサー21の出力
電圧信号と、点火コイル7の通電時間のバツテリ
ー電圧補正を行なうため、バツテリー電圧をアナ
ログ−デイジタル(A/D)変換する。
通電点火制御部68は、イグナイタ8の2つの
コイル電流アクチユエータ回路に通電、点火信号
を生成するものである。この通電点火制御部68
は、ダウンカウンタをいくつか持つており、通
電、点火制御を行なうべき点火コイル7の判別と
ダウンカウンタのカウント開始すべきクランク角
カウンタの値及びダウンカウント値とをCPUか
ら指示され、ダウンカウントの値が“0”になつ
た時に#1コイル通電信号、#2コイル通電信号
を、通電の場合はレベル“0”に、点火の場合は
レベル“1”にする。71はコモンバスであり、
CPUはこのバス信号線に制御及データ信号を乗
せ、周辺回路の制御及びデータの送受を行なう。
以下に本実施例の制御プログラムの構成、動作
及び制御の方法を説明する。
制御プログラムは、表1の如く優先順位関係の
The present invention has a knock sensor that detects engine knocking, and determines whether knocking has occurred in the engine based on a signal from the knock sensor, and performs ignition timing control that feedback controls the ignition timing based on the determination result. Regarding the method. The behavior of knocking with respect to the engine's ignition timing is that if the ignition timing is advanced from top dead center, knocking will not occur up to a certain angle, and if the ignition timing is advanced further, the number of engine combustions (the number of ignitions) will increase.
The ratio of the number of knock occurrences to the number of knocks increases from 0 as the advance angle value increases. Generally, in knock feedback control, knocking is detected by a knock sensor, and the ignition timing is advanced or retarded so that the rate at which knocking is detected (knock occurrence rate) with respect to engine speed (number of ignitions) or time reaches a target value. and control. In the conventional knock feedback control method for ignition timing, knock detection is started after a predetermined starting condition is met, and if knocking is detected, the ignition timing is retarded by a certain angle, and the knock detection is delayed by a predetermined number of ignitions or by a predetermined number of times. If no knocking is detected after a period of time, the ignition timing is advanced by a certain angle. In this method, there are two types of feedback amounts: a constant advance angle and a constant retard angle. Since these feedback amounts do not slow down the control response speed, there is a limit to how small they can be. This conventional method has the following drawbacks. In other words, even if knocking is detected at a ratio to the target number of ignitions or time, in the conventional method, when knocking is detected, the ignition timing is always controlled in the retarded direction. It also moves. Furthermore, since the ignition timing fluctuates, the time interval between knocking occurrences or the number of ignitions from knocking occurrence to knocking occurrence varies greatly. The present invention aims to eliminate the drawbacks of the conventional method described above, and after a predetermined starting condition is established,
Measure the number of ignitions or time until knotting is detected and until knotting occurs,
The ignition timing feedback amount is determined stepwise or continuously according to the magnitude of this measured value.In other words, the relationship between the measured value and the feedback amount is that in the portion where the measured value is small, the amount of retardation is initially As the measured value increases, the retard amount decreases stepwise or continuously to 0, and as the measured value further increases, the feedback amount becomes an advance amount, and the feedback decreases stepwise from 0 to a predetermined measured value. A target time value corresponding to a knock detection ratio, or By setting the target ignition number value, the amount of feedback when knocking is detected at this time value and the ignition number value is 0, and the ignition timing is not moved unnecessarily. In other words, in the present invention, when knocking is detected at a time value corresponding to the target knocking detection ratio or at a time value close to the ignition number value, the amount of feedback is small, making it possible to reduce fluctuations in the ignition timing. It is something. Furthermore, since fluctuations in the ignition timing are smaller than in the conventional system, variations in the time interval from one knocking occurrence to the next knocking occurrence or the ignition frequency interval can also be reduced. Furthermore, since the stability of ignition timing can be improved, the amount of feedback can be reduced to 0 over a wide range of measured values of time or number of ignitions. In addition, in the present invention, if it is agreed that feedback will not be performed unless knocking occurs, if the ignition timing is in the ignition timing range where knocking does not occur,
Considering the problem that feedback does not occur and the ignition timing is not controlled to the advanced side, if knocking is not detected even after a predetermined number of ignitions or a predetermined time, knocking will be detected at the predetermined number of ignitions or a predetermined time. It is also characterized in that it is processed as if it were detected. As a matter of course, the calculation result of the feedback amount based on the measured value corresponding to the predetermined number of ignitions or the predetermined time is used to feedback control the ignition timing to the advanced side. In addition, in the present invention, in order to increase the response speed of feedback control and improve stability when the feedback target value is reached, the amount of feedback of the ignition timing according to the measured number of ignitions or the measured time is adjusted based on the past feedback history. It is characterized by changing the calculation method. In other words, if there has been a retard in the past and the current amount of feedback is a retard amount, this retard amount is increased more than normal to feed back, and if there has been an advance in the past and the current amount of feedback is a retard amount. If the amount of advance angle is the amount of advance angle, feedback is performed by increasing the amount of advance angle than usual, and if the target value of feedback is reached where advance angle and retardation continue alternately, feedback of retardation and advance angle is performed. Taking into account that the stability of ignition timing is better when the amount is smaller, when advance and retardation occur alternately, the amount of feedback is reduced compared to normal to perform feedback. It is a feature. An embodiment in which the present invention is applied to a four-cylinder engine shown in FIG. 1 and below will be described below. In FIG. 1, 1 is a 4-cylinder 4-cycle engine, 2 is a knock detector fixed to the engine 1 and detects the characteristic engine vibration when knocking occurs, 3 is a starter, and 31 is a starter switch. 4 is a rotation sensor that measures the rotation angle position of the engine 1, which generates a top dead center signal when the engine 1 rotates and reaches the top dead center position, and also divides one engine rotation equally from the top dead center position. A rotation angle signal is generated each time the crank angle is rotated by a certain crank angle (for example, 7.5 degrees in this embodiment). A pressure sensor 21 is built into the control computer 6, and pressure is transmitted from the intake manifold 12 of the engine 1 to a pressure input port through a pipe 13 to measure the intake manifold pressure. 5 is a known fuel supply device. 7,
Reference numeral 8 designates an igniter and an ignition coil as an ignition actuator using two coils and eliminating a distributor. The control computer 6 calculates the engine rotation speed from the time interval at which the rotation angle pulses generated by the rotation sensor 4 occur.
In addition, the intake manifold pressure is calculated from the output voltage of the pressure sensor 21 to measure the operating state of the engine, and a knock sensor (knock detector)
The knocking occurrence state is detected from the output signal No. 2, and the ignition timing is controlled. Furthermore, in order to control the ignition timing to a specific value when starting the engine, the voltage supplied from the starter switch 31 to the starter 3 is input to the control computer 6 as a starter signal. Further, in order to change the energization time of the ignition coil in accordance with the battery voltage, the battery voltage is taken into the control computer 6 as a battery voltage signal.
Reference numeral 15 denotes a power source that generates power at a voltage required by the control computer 6 from the voltage of a battery 19 mounted on the vehicle. Next, according to FIG.
will be explained in detail. 60 is the central processing unit (CPU) that calculates the ignition timing, and uses a 16-bit TMS9900 manufactured by TI. Reference numeral 70 indicates a read-only memory unit (ROM) that stores control programs and control constants, and 69 indicates a temporary memory unit (RAM) that is used to store control data while the CPU 60 is operating according to the control program. 61 is an interrupt control unit which notifies the CPU of the occurrence of an interrupt with three levels of priority. The interrupt factors in this embodiment include an interrupt caused by the generation of a rotation angle signal pulse from the engine rotation sensor 4;
There are three types of interrupts: a program interrupt which is caused by the CPU 60 itself setting the level of the program interrupt output port of the digital input/output port 64 to "0" level, and a timer interrupt which is caused by the timer every 8 milliseconds (ms). The timer section 62 is composed of a 16-bit counter that counts an 8 μs clock signal and a latch that stores and holds the counter value every time a rotation angle signal pulse of the rotation sensor 4 is generated. Therefore, in the interrupt processing for generation of rotation angle pulses, the CPU 60 reads the value of the crank angle counter section 63 to know the rotation angle position of the engine, reads the latch value of the timer section 62, and repeats this operation for two rotations. By determining the difference between the latch values at each angular position, it is possible to measure the time it takes for the engine to rotate between two rotational angular positions, and also to measure the engine speed. The crank angle counter section 63 is a counter with a lower digit in decimal notation and an upper digit in 4 decimal notation, and counts up based on the rotation angle signal of the rotation sensor 4, and when the next rotation angle signal is generated after the generation of the top dead center signal. The counter is reset to the value "0" and synchronized with the engine rotation. Therefore, the value of the crank angle counter is
By reading it out by the CPU, the engine rotational angular position can be determined in units of 7.5 degrees of crank angle. The digital input/output port 64 is a port used for inputting and outputting logic signals, and in order to recognize that the starter switch 31 is turned on when starting the engine, the digital input/output port 64 is a port used for inputting and outputting logic signals. Enter your level. It is also used to generate a program interrupt signal to be supplied to the interrupt control section 61. As is well known, the knock detection circuit 65 internally generates a knock detection pulse signal when the instantaneous value of the knock signal greatly exceeds the average level, and counts the number of pulses for a period specified by the CPU 60. The analog input port 67 is for measuring the voltage value of an analog signal, and is connected to the output voltage signal of the pressure sensor 21 that measures the intake manifold pressure of the engine 1 and the battery voltage for correcting the energization time of the ignition coil 7. Analog-to-digital (A/D) conversion of voltage. The energization ignition control section 68 energizes the two coil current actuator circuits of the igniter 8 and generates an ignition signal. This energization ignition control section 68
has several down counters, and is instructed by the CPU to determine which ignition coil 7 should be energized and ignited, and to determine the crank angle counter value and down count value at which the down counter should start counting. When the value becomes "0", the #1 coil energization signal and the #2 coil energization signal are set to level "0" for energization and to level "1" for ignition. 71 is a common bus,
The CPU carries control and data signals on this bus signal line to control peripheral circuits and send and receive data. The configuration, operation, and control method of the control program of this embodiment will be explained below. The control program has a priority relationship as shown in Table 1.
【表】
ある3種類の割込み処理ルーチンと割込み処理が
行なわれない場合、常時実行されるベースルーチ
ンの4階層の処理で構成される。割込み処理ルー
チンでは、エンジン回転や経過時間に同期して行
なう必要のある処理が行なわれる。
まず第14図に示すギヤ割込み処理ルーチンに
ついて説明する。ギヤ割込み信号は、#1気筒又
は#4気筒の上死点位置を0度として7.5度クラ
ンク回転角度毎に発生する。ギヤ割込み処理ルー
チンでは、まずステツプ1100でクランク角カ
ウンタ部63からクランク角カウンタの値を読取
り、エンジン1の回転角度位置を知る。次にステ
ツプ1200の通電点火処理で後述するプログラ
ム割込みで計算された、通電点火制御データに従
つて通電点火制御部68にデータを供給し制御を
する。次にステツプ1300の固定位置処理で固
定した角度位置で行なう処理を行なう。
第15図に、上記ステツプ1200の通電点火
処理のフローチヤートを示す。まずステツプ12
05で、2つの点火コイル7のうち、#1コイル
の通電開始用のダウンカウントを開始する角度位
置に現在エンジンが達しているか否かを判断し、
判断が“YES”ならばステツプ1210で#1
コイル通電用のダウンカウンタの初期値を設定す
ると同時に、ダウンカウントを開始させる。この
ダウンカウンタはこの実施例では8μsのクロツ
ク信号ダウンカウントして値が“0”になつたと
きに、#1コイル通電信号を“0”にし通電を開
始させる。
ステツプ1215では、#1コイルの点火用の
ダウンカウントを開始する角度位置にエンジンが
達しているかを判断し、判断が“Yes”ならば、
ステツプ1220で#1コイル通電用のダウンカ
ウントの初期値を設定すると同時にダウンカウン
トを開始させる。このダウンカウンタは、この実
施例では8μsのクロツク信号でダウンカウント
して値が“0”になつたとき、点火コイルの通電
を停止することが点火に相当するので、#1コイ
ルの通電信号を論理“1”にして、点火コイル
#1の通電が停止される。
#2コイルについてもステツプ1225,12
30,1235,1240で同様に通電点火制御
が行なわれる。
次に上記ステツプ1300の固定位置処理につ
いて説明する。通電点火処理がプログラム割込み
で計算した値によつて、実効的に処理が働く角度
位置が変動するのに対して、固定位置処理は定め
られた角度位置で処理が行なわれる。
固定位置処理1300がどの回転角度位置で行
なわれるかを第4図に示す。クランク角度0〜60
度、180〜240度で、60度クランク角度を回転する
回転時間を計測する。0、180度の位置で吸気マ
ニホールド圧力を計測する。角度22.5〜60度、
202.5〜240度でノツク検出パルスを計数する。ま
た、60、240度でプログラム割込みを発生し、プ
ログラム割込み処理ルーチンを起動する。第16
図にこの固定位置処理1300のフローチヤート
を示す。
ステツプ1310でクランク角度を判断し、
0、180度でTDC処理1320を行ない、22.5〜
200.5度で22.5度処理1330を行ない、60度、
240度で60度処理1340を行ない、その他は何
もしない。
第17図に上記TDC処理1320のフローチ
ヤートを示す。ステツプ1321でタイマー部6
2のタイマーラツチ値を取込みTP1とし、次にス
テツプ1321で吸気マニホールド圧力Pmの
A/D変換値を取込む。
第18図に上記22.5度処理1330のフローチ
ヤートを示す。ステツプ1331でデイジタル入
出力ポート64の信号ポートを“0”にす
る。これにより、ノツク検出回路65でノツク検
出パルスの計数が開始される。
第19図に60度処理1340のフローチヤート
を示す。ステツプ1341でタイマーラツチ値を
取込みTP2とする。ステツプ1342で60度クラ
ンク角度回転時間Tmを(1)式で求める。
Tm=TP2−TP1 ……(1)
ステツプ1343でデイジタル入出力ポート6
4の信号出力ポートをレベル“1”にし
て、ノツク検出パルスの計数を終了させる。ま
た、ステツプ1344でデイジタル入出力ポート
64のプログラム割込み出力ポートをレベル
“0”にした後、再びレベル“1”にしてプログ
ラム割込み信号を発生させ、プログラム割込み処
理ルーチンを起動する。
第20図にプログラム割込み処理のフローチヤ
ートを示す。
ステツプ2100で、後述するベースルーチン
で計算されたフイードバツク結果に基づいて現在
の運転状態に適用すべき点火時期を計算する。実
際の通電点火制御部の制御は前述した様にギヤ割
込み処理ルーチンで行なう。
ステツプ2200では、フイードバツクフラグ
fFBが“1”であるかを判断する。フラグfFBが
“1”であるときは、ステツプ2300のノツク
評価処理でフイードバツクの開始が指示されて、
後述するようなマツプの書換え等のフイードバツ
ク処理が終了していないことを意味するので、ス
テツプ2300のノツク評価を行なわずプログラ
ム割込み処理を終了する。フラグfFBが“1”で
ないときには、値は“0”であり、このときフイ
ードバツクの開始が指示されておらず、フイード
バツク処理も進行中でないのでステツプ2300
のノツク評価処理を行なう。フラグfFBが“1”
のときに、ノツク評価を行なわないのは、マツプ
の書換えが進行しているときにノツク評価を行な
つても、制御条件が明確でないので、フイードバ
ツクの方法が複雑になるからであり、フイードバ
ツク制御の安定性を損うおそれがあるからであ
る。
ステツプ2300のノツク評価処理では、ノツ
ク検出回路65のノツク検出パルスの計数値及び
ノツクの検出されない点火回数からフイードバツ
ク処理を開始すべきか否かを判断して、実際にフ
イードバツク処理を行なうベースルーチンの処理
ルーチンに起動をかける。起動をかけるにはフラ
グfFBを“1”にする。
ここで、本実施例の点火時期の計算方法につい
て説明する。
第3図に、あるエンジン回転数の点火時期に対
するトルク曲線のグラフを示す。
点火時期は、上死点前角度(度BTDC)で表現
されており、値が大きい程進角していることにな
る。トルク曲線1はスロツトル弁が全開に近い状
態を示し、MBT1はトルク曲線1のMBT
(MINIMUM ADVANCE FOR BEST
TORQUE)の点火時期であり、この場合のノツ
クが発生し始める点火時期をノツク限界1として
示す。MBTで点火するのがエンジンの効率、燃
費の観点から最良であるが、ノツキングが発生す
るとエンジン自体に悪影響を与え、特有の発生音
が運転者への聴感上に良くないので、ノツク限界
またはノツク限界より少し遅角側に点火時期を設
定するのが通例である。トルク曲線2は、スロツ
トル弁が半開状態での点火時期に対するトルクの
関係を示す。MBT及びノツク限界をMBT2及び
ノツク限界2として表示する。この場合には、ノ
ツク限界がMBTより進角側にあるので、MBTで
点火するのが最良である。
従つて、本実施例ではMBTを最大進角点火時
期として、この値からノツクセンサーの出力信号
により、遅角側にフイードバツク制御している。
点火時期計算式を(2)式に示す。
θx=θPP−θFM−PXθT ……(2)
θx:最終点火時期(度BTDC)
θPP:固定マツプ進角
θFM:フイードバツクマツプ値
P:学習係数
θT:フイードバツク遅角量
以下、(2)式各項の求め方を第21図の点火時期
計算処理2100のフローチヤートに従つて説明
する。ステツプ2105ではギヤ割込み処理で計
算した60度クランク角度回転時間Tmから(3)式に
よりエンジン回転数Nを求める。
N(rpm)=107×1/Tm(マイクロ秒) ……(3)
ステツプ2110では、ギヤ割込み処理で取込
んだ吸気マニホールド圧力のA/D変換値Vpm
から(4)式により吸気マニホールド圧力を求める。
Pm(mmHg)=A1×Vpm+A2 ……(4)
A1、A2:変換係数
ステツプ2115では、エンジン始動時のスタ
ータ作動時かどうか判断し、“YES”ならばステ
ツプ2120で点火時期7.5度、通電時間を11.5
ミリ秒の固定的な値に設定して、ステツプ217
5に進む。スタータ作動時でない場合はステツプ
2125に進む。
固定マツプ進角(θPP)、フイードバツクマツ
プ値(θFM)、及び学習係数Pを求めるためのフ
イードバツク回数(NFB)はそれぞれエンジン回
転数N及び吸気マニホールド圧力(Pm)を2軸
とする固定進角マツプ(θPPマツプ、第5図参
照)、フイードバツクマツプ(θFMマツプ、第6
図参照)フイードバツク回数マツプ(NFBマツ
プ、第7図参照)から求められる。
θPPマツプはMBTを記憶している固定データ
のマツプであり、θFMマツプ、NFBマツプは制御
の進行に従つてフイードバツク等により書換えら
れる可変データのマツプである。θFMマツプは運
転状態区分毎にMBTからの遅角量を記憶するも
のであり、NFBマツプはθFMマツプの各値が過去
のフイードバツクの結果どれ程書換えられたかを
示すものである。
第5図のθPPマツプの横軸はエンジン回転数N
であり、1000回転未満の低回転域では横軸に対応
する欄番号Xに対して、エンジン回転数Nの増分
は小さく全体に比例関係(単一の一次関数型)に
はなつていない。θPPマツプの縦軸は吸気マニホ
ールド圧力Pmであり、縦軸に対応する行番号Y
に対して比例関係(単一の一次関数型)になつて
いる。第6図のθFMマツプ、第7図のNFBマツプ
は、第5図のθPPマツプの高負荷領域に対しての
み定義されているが、定義されている領域につい
てはエンジン回転、吸気マニホールド圧力と欄番
号X、行番号Yの関係はθPPマツプと同じであ
る。
θPPマツプ、θFMマツプ、NFBマツプからθP
P、θFM、NFBの各値を求める場合はX,Yによ
る。
従つて、第21図のステツプ2125では回転
数Nから欄番号Xへ(5)式に従つて変換される。
Xiは欄番号で整数、
Xの小数点部は、マツプの横軸に指定された回転
数の中間の回転数であることを示す。
ステツプ2130では、吸気マニホールド圧力
(Pm)から行番号Yへ(6)式に従つて変換される。
Yiは行番号で整数
Yの小数点部は、マツプの縦軸に指定された吸
気マニホールド圧力の中間の吸気マニホールド圧
力であることを示す。
ステツプ2135では固定マツプ進角θPPを、
ステツプ2125,2130で求めたX,Yにて
固定進角マツプ(θPPマツプ)から読み出し、(7)
式により4点補間計算して求める。
ステツプ2140ではX,Yにて、フイードバ
ツクマツプ(θFMマツプ)からフイードバツクマ
ツプ値θFMを(8)式により4点補間計算する。
ステツプ2145ではX,Yにて、フイードバ
ツク回数マツプ(NFBマツプ)からフイードバツ
ク回数NFBを(9)式により4点補間計算する。
フイードバツク回数マツプの各値は、同じX,
Y番号のθFMマツプの値が過去のどれ程フイード
バツクされているかを表わすものであり、フイー
ドバツクマツプ(θFMマツプ)、フイードバツク
回数マツプ(NFBマツプ)の各値の書換え手順
は、後述するベースルーチンの項で説明する。
ステツプ2150では、フイードバツク回数N
FBにて第9図の如き学習係数マツプ(Pマツプ)
より学習係数Pを検索する。学習係数Pは第9図
の学習係数マツプ(Pマツプ)から明らかなよう
に、フイードバツク回数が大きくなるに従つて小
さくなつている。これは、フイードバツクが行な
われるに従つてθFMマツプの各マツプ値はフイー
ドバツク目標値に近づくと考えられ、フイードバ
ツク量を小さくして制御の安定性を高めるためで
ある。
ステツプ2155では、(10)式によりフイードバ
ツク角度θFBを求める。
θFM=θFM+P×θx ……(10)
P×θTの項があるのは、後述するように加減
速時のようにノツク評価期間の間のエンジン回転
数及び吸気マニホールド圧力の分布が一定範囲内
にない場合、フイードバツクマツプ値θFMにフイ
ードバツクしないため、この項によりフイードバ
ツクするためである。
点火時期は、MBTより進角しないようにする
ため、ステツプ2160でθFBが負でないことを
調べ、負である場合はステツプ2165で0にす
る。
ステツプ2170では、最終点火時期θxを(11)
式により計算する。
θx=θPP−θFB ……(11)
ステツプ2175では、ステツプ2170から
の場合は後述する8ms割込み処理ルーチンで計算
する。コイル通電時間TONからエンジン回転数に
よりコイル通電角度を計算し、最終点火時期θx
から通電開始角度θONを求め、コイル#1、#2
について通電用ダウンカウントの開始角度位置と
ダウンカウンタに設定する初期値及び点火用のダ
ウンカウントの開始角度位置とダウンカウントに
設定する初期値を計算する。
第22図に前記ノツク評価処理ステツプ230
0のフローチヤートを示す。
ステツプ2305では、後述するベースルーチ
ンでノツク評価が開始されてからの点火数のソフ
トウエア上のカウンタであるノツクインターバル
WNOを1だけ増加する。
ステツプ2310,2315では、エンジン回
転数N及び吸気マニホールド圧力Pmがそれぞれ
の比較基準値Ns、Pmsから一定差△N、△Pm以
内に入るような定常状態か否かを判断し、“NO”
ならばステツプ2325で定常フラグfSTを値
“0”にする。
定常状態ならば、ステツプ2320でノツク評
価期間中のエンジン回転数Nに対応する欄番号
X、吸気マニホールド圧力Pmに対応する行番号
Yの平均値を計算するためX,Yの積算値ΣX、
ΣYに現在のX,Yを加算する。
ステツプ2335では、ギヤ割込み処理で22.5
〜60度、200.5〜240度の間、ノツク検出パルスを
計数させたノツク検出回路65からノツクパルス
計数値Nkplsを取込み、ステツプ2340では
Nkplsの値が比較基準値kpより大きいかを判断
し、“YES”ならばノツクが検出されたとしてス
テツプ2350でフイードバツクフラグfFBを
“1”にする。判断ステツプ2340で“NO”の
場合は、ステツプ2345でノツク評価が開始さ
れてからの点火数が所定の点火数Nmax(例えば
100点火)を経過しているか否かを判断し、経過
している場合はステツプ2350でフイードバツ
ク開始フラグfFB“1”にして、ベース処理ルー
チンにフイードバツクを開始させる。ステツプ2
345の判断が“NO”の場合は何もせずノツク
評価処理を終了する。
第23図に8ミリ秒(ms)割込み処理ルーチ
ンのフローチヤートを示す。ステツプ3100で
アナログ入力ポート67からバツテリ電圧VBを
取込む、ステツプ3200ではバツテリ電圧VB
により第13図に示す通電時間特性によつて、コ
イル通電時間TONを計算する。次にステツプ33
00で、1分ごとの時間信号を作るためのソフト
ウエア上のカウンタCIMに1を加算する。
第24図にベース処理のフローチヤートを示
す。ステツプ4700では、初期化処理を行ない
前記θFMマツプ、NFBマツプのクリア、ソフトウ
エア上のカウンタのクリア、パラメター等の初期
値設定を行なう。ステツプ4200で割込み許可
を行なう。ステツプ4300ではプログラム割込
み処理で設定され、フイードバツク処理の開始を
指示する、フイードバツクフラグfFBが“1”で
あるか否かを判断し、“Yes”であればステツプ
4400でフイードバツク処理を行なう。“NO”
の場合、何も行なわずにステツプ4500に進
む。
ステツプ4500では、1分のソフトウエア上
のカウンタCIMがKIM(=60秒/8ms=750)よ
り大きいかどうかを判断し“YES”ならば1分
を経過しているのでステツプ4600の忘却処理
を行なう。
第25図に前記フイードバツク処理4400の
フローチヤートを示す。この処理では、θFMマツ
プのフイードバツクはあるノツク評価期間のデー
タより生成されたマツプフイードバツクデータを
直ちにフイードバツクせず、次のノツク評価期間
終了後マツプにフイードバツクして、1ノツク評
価期間遅れて行なう。
何故ならば、フイードバツク角度θFBは、θFB
=θFM+P×θTと表わされ、後述する様にθFM
にも概略P×θTの量がフイードバツクされるの
で、フイードバツク角度θFBはθFMマツプにフイ
ードバツクされない時に比べて約2倍になるから
である。
ステツプ4405では、(12)式、(13)式でノツ
ク評価期間中の運転状態中心として、プログラム
割込み処理の点火時期計算2100で使用する欄
番号X、行番号Yの平均値で求める。
=ΣX/WNO ……(12)
=ΣY/WNO ……(13)
ΣX:ノツク評価期間中のXの積算値
ΣY:ノツク評価期間中のYの積算値
WNO:ノツクインターバル(ノツク評価期間
中の点火数)
θFMマツプ上の座標(、)の点はマツプフ
イードバツクする時のフイードバツク中心として
使用される。
ステツプ4410で、運転状態の中心(、
)が第6図の如きθFMマツプの定義されている
フイードバツク領域内にあるか判断して、
“YES”ならばステツプ4415でフイードバツ
ク量θT計算を行なう。ステツプ4425で定常
フラグfSTが“1”か判断し、“YES”ならばス
テツプ4430でマツプフイードバツクフラグ
(fMFB)を“1”にする。“NO”ならばステツプ
4435に進み、マツプフイードバツクフラグ
(fMFB)を“0”にする。従つて、この場合フイ
ードバツク量θTは計算されるが、マツプフイー
ドバツクを行なうか否かを示すマツプフイードバ
ツクフラグfMFBが“1”でないので、マツプに
フイードバツクされない。
ステツプ4410でフイードバツク領域内にな
い場合は、ステツプ4420でθTを“0”に
し、ステツプ4435に進みフラグfMFBを0に
する。
ステツプ4440では、前回のフイードバツク
処理のフラグfMFBの値が移されたマツプフイー
ドバツクフラグ2fMFB2の値が“1”か否かを判断
し、“YES”ならばステツプ4445でマツプフ
イードバツク処理を行なう。この時、マツプフイ
ードバツクに使用するデータは前回のフイードバ
ツク処理で計算されたものである。ステツプ44
40で判断が“NO”の場合、マツプフイードバ
ツクは行なわずステツプ4450に進む。
ステツプ4450では、今回計算したマツプフ
イードバツクデータを次回のフイードバツク処理
でマツプフイードバツクするパラメーターに設定
する。
2=マツプフイードバツクに使用するフイー
ドバツク中心のX座標
2=マツプフイードバツクに使用するフイー
ドバツク中心のY座標
θT2:マツプフイードバツクに使用するフイ
ードバツク量
fMFM2:マツプフイードバツクフラグ2
ステツプ4455ではノツク評価を開始する処
理を行なう。すなわち、ノツクインターバル
WNO、ΣX、ΣYの“0”クリア、フイードバ
ツクフラグfFBの“0”設定、定常フラグfSTの
“1”設定、定常判定の比較基準値Ns、Pmsに現
在のエンジン回転数N、吸気マニホールド圧力
Pmの設定を行なう。
第26図に前記ステツプ4415のフイードバ
ツク量θT計算処理のフローチヤートを示す。本
実施例では、ノツク評価開始からノツク評価終了
までの点火数であるノツクインターバルWNOに
よりフイードバツク量θTを決定している。ノツ
ク評価期間はノツクが検出されるか、打切り回数
Nmaxが経過した時終了する。
第8図にノツクインターバルWNOからフイー
ドバツク量θTを決める関係のグラフを示す。θT
の値が正の場合が遅角側へのフイードバツクであ
り、θTの値が負の場合が進角側へのフイードバ
ツクである。
基本的には、遅角側は直線a2、進角側は直線b2
のグラフで決定される。実際には、直線a2,c,
b2の端点のWNOとθTの値が基本フイードバツク
量θfマツプとして記憶されており、ノツクイン
ターバルWNOによりこのマツプから1次補間計
算してθfを求める。このθfに後述の補正係数を
乗じてθTとしている。
また、大きな角度を遅角しなければならないと
きは第8図のグラフのa2の部分の値が大きい程遅
角側への応答性が早く、また、大きな角度を進角
しなければならないときは、グラフのb2の部分の
値が大きい程進角側への応答性が早い。そのた
め、この実施例では過去に遅角が続いたならば、
遅角特性をa2からa3に変更し過去に進角が続いた
ならば進角特性をb2からb3に変更して制御の応答
性を早めている。また、進角と遅角が交互に続く
フイードバツク目標値に到達したような場合には
遅角、進角のフイードバツク量を小さくした方が
点火時期の安定性が良くなる。従つて本実施例で
は、進角と遅角が交互に続いた場合には遅角特性
をa2からa1に、進角特性をb2からb1にして制御の
安定性を高めている。
これを第26図に示すフイードバツク量θT計
算処理4415のフローチヤートで説明するとス
テツプ4415−1では、ノツクインターバル
WNOによりθfマツプからθfを補間計算を行な
い求める。ステツプ4415−2では、プログラ
ム割込み処理で管理される定常フラグfSTの
“0”又は“1”を判断し、“0”の非定常の場合
はステツプ4415−3,4415−4で遅角特
性パラメーターia、進角特性パラメーターibをと
もに0にし、ステツプ4415−5でフイードバ
ツク量θTに基本フイードバツク量θfをそのまま
設定する。ステツプ4415−2の判断で、定常
フラグfSTの値が“1”で定常の場合はステツプ
4415−6の今回のフイードバツク量θfの値
をチエツクする。θf>0で遅角の場合、ステツ
プ4415−7に進み、前回のフイードバツク履
歴を示すflの値を判断する。
fl>0のとき 前回は遅角
fl<0のとき 〃 進角
fl=0のとき 前回は進遅角なし
fl>0で前回も遅角の場合はステツプ441
5−8の進み、遅角特性パラメーターiaの値を判
断する。
ia=1:遅角特性は第8図のa3
ia=0:遅角特性は第8図のa2
ia=−1:遅角特性は第8図のa1
ia≦0の場合はステツプ2223−9でiaに1
を加算して遅角特性を増強し、ステツプ4415
−12に進む。ia>0の場合は、遅角特性をこれ
以上増強できないでそのままステツプ4415−
12に進む。
ステツプ4415−7の判断でfl=0の場合
は、そのままステツプ4415−12に進む。
ステツプ4415−7の判断でfl<0の場合
は、つまりは前回進角で今回遅角の場合である
が、この場合はステツプ4415−10で進角特
性係数ibの値を判断し、ib≧0の場合は、ステツ
プ4415−11でibを1減算してステツプ44
15−12に進む。ステツプ4415−12では
(15)式により
θT=θf×2ia ……(15)
フイードバツク量θTを計算する。その後ステ
ツプ4415−20に進む。ステツプ4415−
6でθf=0の場合はθT=0としてステツプ44
15−20に進む。
ステツプ4415−6でθf<0つまり、今回
のフイードバツク量が進角側である場合はステツ
プ4415−13に進む。ステツプ4415−1
3でfl>0で前回フイードバツクが遅角である
場合はステツプ4415−14に進む。ステツプ
4415−14で遅角特性係数iaがia≧0の場合
はステツプ4415−15でiaから1だけ減ず
る。そしてステツプ4415−18に進む。
ステツプ4415−14でia<0の場合は、何
もせずステツプ4415−18に進む。
ステツプ4415−13で、fl=0で前回フ
イードバツクで進遅角量が0の場合は直ちにステ
ツプ4415−18に進む。
ステツプ4415−13で、fl<0で前回フ
イードバツクが進角の場合は、ステツプ4415
−16に進み、進角特性係数ibの値を調べる。ib
≦0の場合は1加算して、進角フイードバツク量
を大きくする。そしてステツプ4415−18に
進む。ステツプ4415−16でib>0の場合
は、これ以上進角フイードバツク量を大きくでき
ない為、そのままステツプ4415−18に進
む。
ステツプ4415−18では、次式によりフイ
ードバツク量を計算する。
θT←θf×2ib ……(16)
そして、ステツプ4415−20に進む。ステ
ツプ4415−20では、今回計算したフイード
バツク量θTをflに移す。
第27図に前記マツプフイードバツク処理ステ
ツプ4445のフローチヤートを示す。
本実施例では、マツプフイードバツクはノツク
評価期間中の回転数Nに対応する欄番号Xの前回
までの平均値2、吸気マニホールド圧力Pmに
対応する行番号Yの前回までの平均値2を2座
標とするフイードバツク中心(2、2)から
2欄または2行以内のθFMマツプの各要素につい
てフイードバツクを行なう。
ステツプ4445−1〜4445−4でθFMマ
ツプの書換えを行なう領域の欄番号Xの下限値X
L、上限値XH、行番号Yの下限値YL、上限値YH
を(17)式〜(20)式で求める。
L=(2−1)の整数部又は2−2(2
が整数値のとき)又はXFML(上記の値が
θFMマツプのX下限値XFMLより小さいと
き) ……(17)
L=(2−1)の整数部又は2−2(2
が整数値のとき)又はYFML(上記の値が
θFMマツプのY下限値YFMLより小さいと
き) ……(18)
XH=(2−2)の整数部
又はXFMH(上記の値がθFMマツプのX上
限値XFMHより大きいとき) ……(19)
YH=(2−2)の整数部
又はYFMH(上記の値がθFMマツプのY上
限値YFMHより大きいとき) ……(20)
ステツプ4445−5で書換える要素の欄番号
XjにXLを、行番号YjにYLを設定する。ステツ
プ4445−6でフイードバツク中心(2、
2)と(Xj、Yj)点のX方向偏差△X、Y方向
偏差△Yを求める。
但し、△X,△Yは実際の偏差を4倍して整数
部のみにしたものである。
ステツプ4445−7では、△X,△Yにより
距離Lマツプを検索し距離lを求める。第10
図、第11図に距離マツプ例を示す。第10図の
例は、△X,△Yについて同等の重みで距離lが
増大する。第11図の例2は、△Xが△Yに対し
て2倍の重みで距離が増大する。フイードバツク
量は距離が大きい程小さくなつているので、第1
1図の例2の場合だと△Y方向つまり吸気マニホ
ールド圧力方向にフイードバツク中心から離れる
に従つて急激にフイードバツク量が減少する。
ステツプ4445−8は距離lによりフイード
バツク率マツプ(Kマツプ)からフイードバツク
率kを検索する。距離lとフイードバツク率kの
関係を第12図のKマツプの特性に示す。
ステツプ4445−9で、NFBマツプのフイー
ドバツク回数NFB(Xj、Yj)を検索する。ステ
ツプ4445−10では、第9図のPマツプから
NFB(Xj、Yj)により学習係数Pを検索する。
ステツプ4445−11では、前回のフイード
バツク量θT2の正負を判断してθT2≧0ならば、
ステツプ4445−13で(21)式によりθFM
(Xj、Yj)を書換える。
θFM(Xj、Yj)=最小値{θPP(Xj、Yj)、θFM(Xj、Yj)+K×P×θT2} ……(21)
θT2<0ならば、ステツプ4445−12で
(22)式によりθFM(Xj、Yj)を書換える。
θFM(Xj、Yj)=最大値{0、θFM(Xj、Yj)+K×P×θT2} ……(22)
その後、ステツプ4445−14でθFMマツプ
の書換え要素θFM(Xj、Yj)に対応するフイー
ドバツク回数NFBマツプの要素NFB(Xj、Yj)
を(23)式に従つて書換える。
NFB(Xj、Yj)=NFB(Xj、Yj)+K
……(23)
これによりθFMマツプの要素θFM(Xj、Yj)
がどれ程フイードバツクされたかを記憶する。
ステツプ4445−15で書換え要素の位置を
変更するためXjに1加算する。
ステツプ4445−16で、XjとXHの大小関
係を判断し、XjXHならばステツプ4445−
6に進み書換え操作を続ける。Xj>XHならばス
テツプ4445−17でXjにXLを設定し、ステ
ツプ4445−18でYを1だけ加算する。そし
てステツプ4445−19でYjとYHの大小関係
を判断し、YjYHならばステツプ4445−6
に進み書換え操作を続ける。Yj>YHならばマツ
プフイードバツク処理を終了する。
上記した第27図のマツプフイードバツク処理
ステツプ4445において、θFMマツプへのフイ
ードバツクの範囲と分布をフイードバツク中心
(2、2)と書換え要素(Xj、Yj)の欄番号
Xの偏差△Xと行番号Yの偏差△Yから距離lを
求めて行なうのは、次の利点がある。
θFMマツプとθPPマツプと各行、各欄に対応す
る吸気マニホールド圧力、エンジン回転数が計算
処理上の有利さから同一になつている。θPPマツ
プは、この実施例ではMBTが記憶されているが
値が急変する低回転部分では、隣り合う欄のエン
ジン回転数の差を小さくし、精度良くMBTを表
現している。このような運転領域では、フイード
バツク制御値も変動が激しいので、フイードバツ
ク中心からのエンジン回転数の差により、その要
素のフイードバツク量を決定するよりも、欄番号
の偏差によりフイードバツク量を決定する方法が
マツプ構造に調和する。
また、このマツプフイードバツク処理ステツプ
4445においては、フイードバツク中心(
2、2)とθFMマツプの書換え要素θFM
(Xj、Yj)の実際の座標の偏差を4倍して整数部
のみにしたX方向偏差△X、Y方向偏差△Yにて
距離マツプ(Lマツプ)から距離lを検索し、l
にてフイードバツク係数マツプ(Kマツプ)から
フイードバツク係数kを検索する。従つて、1/4
欄番号、行番号毎の偏差について、フイードバツ
ク係数を指示できる。このような微細にフイード
バツク量分布を指定できることによりフイードバ
ツク性能が向上する。
第28図に第24図のベース処理における忘却
処理ステツプ4600のフローチヤートを示す。
本実施例ではノツクインターバルが小さい時に遅
角し、大きい時に進角するフイードバツク制御を
行なつており、進角側への制御速度は、遅角側へ
の制御速度に比べて遅い。
また、θFMマツプの長時間使用されない運転状
態区分の各要素の値は、現在のフイードバツク目
標値から大きく離れている可能性がある。従つ
て、各要素の値をそのまま残しておくより忘却さ
せてしまつた方がフイードバツク目標値に早く到
達する可能性がある。そこで、本フイードバツク
では遅角側への制御速度が早いので、θFMマツプ
の全要素を1分毎に所定量だけ減算して忘却効果
として使用させている。
ステツプ4605で減算量計算済フラグFIMに
“1”が立つているか判断し、“0”ならばまだ減
算量の計算が済んでいないのでステツプ4610
で(24)式に従つて減算量θfgtを計算しステツプ
4615で分単位のソフトウエア上経過時間Tに
1を加算する。
θfgt=θFGT/(T−1) ……(24)
θFGT:減算初期量
T:経過時間
ステツプ4620では忘却のために書換えを行
なうθFMマツプの要素の欄番号XkにθFMマツプ
のX下限値XFMLを設定し、行番号YkにθFMマツ
プのY下限値YFMLを設定する。そしてステツプ
4625では、減算量計算済のフラグFIMを
“1”にする。
そして、ステツプ4630ではθFMマツプの要
素θFM(Xk、Yk)をθfgtだけ減算し、ステツプ
4640でθFM(Xk、Yk)<0のときはステツ
プ4645でθFM(Xk、Yk)を0とする。ステ
ツプ4650では、Xkを1だけ加算し、ステツ
プ4655ではXkとθFMマツプのX上限値XFMH
との大小関係を比較し、Xk≦XFMHの場合はこの
ままこの忘却処理を終了して、次に忘却処理が実
行されるときにθFMマツプの次の要素に忘却操作
がなされる。
ステツプ4655でXk>XFMHの場合は、ステ
ツプ4660でXkにXFMLを設定し、ステツプ4
665でYkに1だけ加算する。ステツプ467
0でYkをYFMHと大小関係を比較しYk≦YFMHの
場合は、このままこの忘却処理を終了して、次に
忘却処理が実行されるときにθFMマツプの次の要
素に忘却操作がなされる。
ステツプ4670でYk>YFMHの場合には、ス
テツプ4675で1分のソフトウエア上のカウン
タCIMを経過時間1分に対応する時間KIMだけ減
算する。また、ステツプ4680で減算量済フラ
グFIMに“0”を設定する。
従つて、CIMに再びKIMだけの値が加算された
とき次の忘却処理が開始される。
以上述べてきた実施例では、ノツク評価開始か
らノツクが検出されるまでの点火回数の大小に応
じて、フイードバツク量を決定しているが、以下
にノツク評価開始からノツクが検出されるまでの
時間の大小に応じて、フイードバツク量を決定す
る実施例を説明する。既に説明した実施例からの
変更点のみを説明する。
第22図のノツク評価ルーチン2300のステ
ツプ2345では、ノツク評価開始からの経過時
間WTとその比較値WTmaxのWTWTmaxの比
較を行なう。第23図の8ms割込処理処理ルーチ
ンは、第29図のように変更しステツプ3400
〜3500を追加する。すなわちフイードバツク
フラグfFBが=1が成立しないノツク評価期間中
は、ステツプ3500に進み経過時間WTに1加
算する。
また、ベース処理ルーチンにおけるフイードバ
ツク処理(第25図)のステツプ4455では、
ノツク評価開始処理を行なうが、ノツクインター
バルWNOの“0”クリアのかわりに経過時間
WTの“0”クリアを行なう。
従つて、WTはノツク評価開始からの経過時間
を8ms単位で示すことになる。
また、第8図のノツクインターバルWNOとフ
イードバツク量θTの関係グラフは、横軸をWNO
から経過時間WTに変更して構成する。基本フイ
ードバツク量マツプ(θfマツプ)も経過時間
WTとフイードバツク量θfを記憶する。第26
図のフイードバツク量θT計算ルーチン4415
のステツプ4415−1はWTによりθfマツプ
から基本フイードバツク量θfを補間計算する。
このようにすることにより、ノツク評価開始か
らノツクが検出されるまでの時間の大小によりフ
イードバツク量を決定できる。
以上説明したように本発明では、以下の特長利
点を持つ。
(1) 所定の計測開始条件が成立してから、ノツキ
ングが発生するまでの点火回数または時間の大
きさ(つまりノツクインターバル)によつて、
フイードバツク量を決めることにより点火時期
の安定度を高めることができる。
(2) 過去のフイードバツク履歴、つまり遅角方向
へフイードバツク制御していたか進角方向へフ
イードバツク制御していたかを判別する信号に
よつてノツクインターバルからフイードバツク
量を決める方法を変更することにより、進角、
遅角の両方向の制御応答性を早くできる。[Table] Consists of four layers of processing: three types of interrupt processing routines and a base routine that is constantly executed when no interrupt processing is performed. In the interrupt processing routine, processing that needs to be performed in synchronization with engine rotation and elapsed time is performed. First, the gear interrupt processing routine shown in FIG. 14 will be explained. The gear interrupt signal is generated every 7.5 degrees of crank rotation angle, with the top dead center position of cylinder #1 or #4 being 0 degrees. In the gear interrupt processing routine, first, in step 1100, the value of the crank angle counter is read from the crank angle counter section 63, and the rotational angular position of the engine 1 is determined. Next, in the energization ignition processing at step 1200, data is supplied to the energization ignition control unit 68 for control in accordance with energization ignition control data calculated by a program interrupt to be described later. Next, in step 1300, fixed position processing is performed to perform processing at a fixed angular position. FIG. 15 shows a flowchart of the energization ignition process in step 1200. First step 12
At 05, it is determined whether the engine has currently reached the angular position at which to start counting down to start energizing the #1 coil of the two ignition coils 7,
If the judgment is “YES”, step 1210 #1
At the same time as setting the initial value of the down counter for coil energization, down counting is started. In this embodiment, this down counter counts down the clock signal for 8 μs and when the value reaches "0", it sets the #1 coil energization signal to "0" and starts energizing. In step 1215, it is determined whether the engine has reached the angular position to start counting down for ignition of the #1 coil, and if the determination is "Yes",
At step 1220, the initial value of the down count for energizing the #1 coil is set, and at the same time, the down count is started. In this embodiment, this down counter counts down with an 8 μs clock signal, and when the value reaches "0", stopping the energization of the ignition coil corresponds to ignition, so the energization signal of the #1 coil is When set to logic "1", energization of ignition coil #1 is stopped. Steps 1225 and 12 for #2 coil as well.
Similarly, energization ignition control is performed at 30, 1235, and 1240. Next, the fixed position processing in step 1300 will be explained. In the energization ignition process, the angular position at which the process effectively operates varies depending on the value calculated by the program interrupt, whereas in the fixed position process, the process is performed at a predetermined angular position. FIG. 4 shows at which rotational angular position the fixed position process 1300 is performed. Crank angle 0~60
Measure the rotation time to rotate a 60 degree crank angle at 180 to 240 degrees. Measure the intake manifold pressure at 0 and 180 degrees. Angle 22.5~60 degrees,
Count the knock detection pulses from 202.5 to 240 degrees. Also, a program interrupt is generated at 60 and 240 degrees, and the program interrupt processing routine is activated. 16th
A flowchart of this fixed position processing 1300 is shown in the figure. In step 1310, the crank angle is determined,
Perform TDC treatment 1320 at 0, 180 degrees, 22.5 ~
Perform 22.5 degree processing 1330 at 200.5 degrees, 60 degrees,
Perform 60 degree processing 1340 at 240 degrees, and do nothing else. FIG. 17 shows a flowchart of the TDC processing 1320. In step 1321, the timer section 6
The timer latch value of step 2 is taken in as TP1, and then in step 1321, the A/D converted value of the intake manifold pressure Pm is taken in. FIG. 18 shows a flowchart of the 22.5 degree processing 1330. In step 1331, the signal port of the digital input/output port 64 is set to "0". As a result, the knock detection circuit 65 starts counting knock detection pulses. FIG. 19 shows a flowchart of the 60 degree process 1340. At step 1341, the timer latch value is fetched and set as TP2. In step 1342, the 60 degree crank angle rotation time Tm is determined using equation (1). Tm=TP2-TP1...(1) Digital input/output port 6 in step 1343
The signal output port No. 4 is set to level "1" and counting of the knock detection pulses is completed. Further, in step 1344, the program interrupt output port of the digital input/output port 64 is set to level "0" and then set to level "1" again to generate a program interrupt signal and start the program interrupt processing routine. FIG. 20 shows a flowchart of program interrupt processing. At step 2100, the ignition timing to be applied to the current operating condition is calculated based on the feedback results calculated in the base routine described below. Actual control of the energization ignition control section is performed by the gear interrupt processing routine as described above. In step 2200, it is determined whether the feedback flag fFB is "1". When the flag fFB is "1", the start of feedback is instructed in the check evaluation process at step 2300, and
Since this means that feedback processing such as map rewriting, which will be described later, has not been completed, the program interrupt processing is ended without performing the knock evaluation in step 2300. When the flag fFB is not "1", the value is "0", and at this time, the start of feedback has not been instructed and the feedback processing is not in progress, so step 2300 is executed.
Performs nok evaluation processing. Flag f FB is “1”
The reason why nok evaluation is not performed at this time is because even if nok evaluation is performed while map rewriting is in progress, the control conditions are not clear and the feedback method becomes complicated, so feedback control is not performed. This is because there is a risk of impairing the stability of In the knock evaluation processing at step 2300, it is determined whether or not to start feedback processing based on the count value of the knock detection pulses of the knock detection circuit 65 and the number of firings in which no knocks are detected, and the base routine processing actually performs the feedback processing. Activate the routine. To activate, set flag fFB to “1”. Here, a method of calculating ignition timing in this embodiment will be explained. FIG. 3 shows a graph of a torque curve with respect to ignition timing at a certain engine speed. Ignition timing is expressed in angle before top dead center (degrees BTDC), and the larger the value, the more advanced the ignition timing is. Torque curve 1 indicates the throttle valve is close to fully open, and MBT1 is the MBT of torque curve 1.
(MINIMUM ADVANCE FOR BEST
TORQUE), and the ignition timing at which knock starts to occur in this case is indicated as knock limit 1. Ignition using MBT is best from the standpoint of engine efficiency and fuel efficiency, but when knocking occurs, it has a negative effect on the engine itself, and the unique sound generated is not good for the driver's hearing, so it is necessary to reach the knocking limit or the knocking. It is customary to set the ignition timing slightly behind the limit. Torque curve 2 shows the relationship between torque and ignition timing when the throttle valve is in a half-open state. Display MBT and Knock Limit as MBT2 and Knock Limit 2. In this case, the knock limit is on the advance side of the MBT, so it is best to ignite at the MBT. Therefore, in this embodiment, MBT is set as the maximum advance ignition timing, and feedback control is performed from this value to the retard side using the output signal of the knock sensor. The ignition timing calculation formula is shown in equation (2). θx=θ PP -θ FM -PXθ T ...(2) θx: Final ignition timing (degrees BTDC) θ PP : Fixed map advance angle θ FM : Feedback map value P: Learning coefficient θ T : Feedback retard amount Hereinafter, how to obtain each term in equation (2) will be explained according to the flowchart of the ignition timing calculation process 2100 in FIG. 21. In step 2105, the engine rotational speed N is determined from the 60 degree crank angle rotation time Tm calculated in the gear interrupt process using equation (3). N (rpm) = 10 7 × 1/Tm (microseconds) ... (3) In step 2110, the A/D conversion value Vpm of the intake manifold pressure taken in by the gear interrupt processing is
Find the intake manifold pressure from equation (4). Pm (mmHg) = A 1 × Vpm + A 2 ... (4) A 1 , A 2 : Conversion coefficient In step 2115, it is determined whether the starter is activated when starting the engine, and if "YES", the ignition timing is changed to 7.5 in step 2120. degree, energizing time 11.5
Set it to a fixed value of milliseconds and proceed to step 217.
Proceed to step 5. If the starter is not operating, the process advances to step 2125. The fixed map advance angle (θ PP ), the feedback map value (θ FM ), and the number of feedbacks (N FB ) for determining the learning coefficient P are calculated using the engine speed N and intake manifold pressure (Pm) as two axes. Fixed advance angle map (θ PP map, see Figure 5), Feedback map (θ FM map, see Figure 6)
(See figure) It is determined from the feedback frequency map ( NFB map, see Figure 7). The θ PP map is a fixed data map that stores MBT, and the θ FM map and N FB map are variable data maps that are rewritten by feedback or the like as control progresses. The θ FM map stores the amount of retardation from the MBT for each operating state classification, and the N FB map shows how much each value in the θ FM map has been rewritten as a result of past feedback. The horizontal axis of the θ PP map in Figure 5 is the engine speed N
In the low rotation range below 1000 rotations, the increment of the engine rotation speed N is small with respect to the column number X corresponding to the horizontal axis, and there is no overall proportional relationship (single linear function type). The vertical axis of the θ PP map is the intake manifold pressure Pm, and the line number Y corresponding to the vertical axis
The relationship is proportional to (single linear function type). The θ FM map in Fig. 6 and the N FB map in Fig. 7 are defined only for the high load region of the θ PP map in Fig. 5, but for the defined region, engine rotation, intake manifold The relationship between pressure, column number X, and row number Y is the same as the θ PP map. θ PP map, θ FM map, N FB map to θ P
When determining the values of P , θ FM and N FB , use X and Y. Therefore, in step 2125 of FIG. 21, the rotation speed N is converted to the column number X according to equation (5). Xi is a column number and is an integer, and the decimal point of X indicates the middle rotation speed between the rotation speeds specified on the horizontal axis of the map. In step 2130, the intake manifold pressure (Pm) is converted to the row number Y according to equation (6). Yi is a row number and an integer. The decimal point part of Y indicates the intake manifold pressure that is between the intake manifold pressures specified on the vertical axis of the map. In step 2135, the fixed map advance angle θ PP is set as
Read from the fixed advance angle map (θ PP map) at X and Y obtained in steps 2125 and 2130, (7)
It is obtained by performing four-point interpolation calculation using the formula. In step 2140, a feedback map value θ FM is calculated by four-point interpolation from the feedback map (θ FM map) in X and Y using equation (8). In step 2145, the number of feedbacks N FB is calculated by four-point interpolation from the feedback number map (N FB map) in X and Y using equation (9). Each value of the feedback count map is the same
This shows how much the value of the θ FM map of the Y number has been feedbacked in the past, and the procedure for rewriting each value of the feedback map (θ FM map) and the number of feedback map (N FB map) will be described later. This is explained in the section on base routines. In step 2150, the number of feedback N
Learning coefficient map (P map) as shown in Figure 9 on FB
Search for learning coefficient P. As is clear from the learning coefficient map (P map) in FIG. 9, the learning coefficient P becomes smaller as the number of feedback increases. This is because each map value of the θ FM map is considered to approach the feedback target value as feedback is performed, and the amount of feedback is reduced to improve control stability. In step 2155, the feedback angle θFB is determined using equation (10). θ FM = θ FM + P x θ x ...(10) The term P x θ T exists because the distribution of engine speed and intake manifold pressure during the knock evaluation period, such as during acceleration and deceleration, as will be described later. This is because if θ FM is not within a certain range, there is no feedback to the feedback map value θFM , so this term provides feedback. In order to prevent the ignition timing from advancing beyond MBT, it is checked in step 2160 that θFB is not negative, and if it is negative, it is set to 0 in step 2165. In step 2170, the final ignition timing θ x is set as (11)
Calculate by formula. θx=θ PP −θ FB (11) In step 2175, in the case from step 2170, calculation is performed using an 8ms interrupt processing routine to be described later. Calculate the coil energization angle from the coil energization time T ON based on the engine speed, and set the final ignition timing θx.
Find the energization start angle θ ON from coils #1 and #2.
The starting angular position of the down-count for energization and the initial value to be set to the down counter, and the starting angular position of the down-count for ignition and the initial value to be set to the down-count are calculated. FIG. 22 shows the knock evaluation processing step 230.
0 is shown. In step 2305, the knock interval, which is a software counter of the number of ignitions since the start of knock evaluation in the base routine described later, is set.
Increase WNO by 1. In steps 2310 and 2315, it is determined whether the engine speed N and intake manifold pressure Pm are in a steady state within a certain difference △N, △Pm from the comparison reference values Ns, Pms, respectively, and the answer is "NO".
If so, in step 2325, the steady state flag fST is set to the value "0". If it is in a steady state, in step 2320, the average value of the column number X corresponding to the engine rotation speed N and the row number Y corresponding to the intake manifold pressure Pm during the knock evaluation period is calculated, so the integrated value Σ X of X and Y is calculated.
Σ Add the current X and Y to Y. In step 2335, 22.5
60 degrees and 200.5 to 240 degrees, the knock pulse count value Nkpls is taken from the knock detection circuit 65 that counts the knock detection pulses, and in step 2340
It is determined whether the value of Nkpls is larger than the comparison reference value kp, and if "YES", it is assumed that a knock has been detected and the feedback flag fFB is set to "1" in step 2350. If “NO” in the judgment step 2340, the number of ignitions after the start of knock evaluation in step 2345 is equal to the predetermined number of ignitions Nmax (for example,
100 ignitions) has elapsed, and if it has elapsed, the feedback start flag fFB is set to "1" in step 2350, and the base processing routine starts feedback. Step 2
If the determination at step 345 is "NO", no action is taken and the knot evaluation process is ended. FIG. 23 shows a flowchart of the 8 millisecond (ms) interrupt processing routine. In step 3100, the battery voltage V B is taken from the analog input port 67, and in step 3200, the battery voltage V B is taken in.
According to the energization time characteristics shown in FIG. 13, the coil energization time T ON is calculated. Next step 33
00, 1 is added to the counter CIM on the software for creating a time signal every minute. FIG. 24 shows a flowchart of base processing. In step 4700, initialization processing is performed to clear the θ FM map and N FB map, clear counters on the software, and set initial values of parameters and the like. In step 4200, interrupts are enabled. In step 4300, it is determined whether the feedback flag fFB , which is set by the program interrupt processing and instructs the start of feedback processing, is "1". If "Yes", the feedback processing is performed in step 4400. . “NO”
If so, proceed to step 4500 without doing anything. In step 4500, it is determined whether the 1-minute software counter C IM is greater than K IM (=60 seconds/8ms=750), and if ``YES'', 1 minute has passed, so the process is forgotten in step 4600. Process. FIG. 25 shows a flowchart of the feedback processing 4400. In this process, the θ FM map feedback does not immediately feed back the map feedback data generated from the data of a certain knot evaluation period, but feeds back to the map after the next knot evaluation period ends, and is delayed by one knot evaluation period. Let's do it. This is because the feedback angle θ FB is
It is expressed as = θ FM +P×θ T , and as described later, θ FM
This is because approximately an amount of P×θ T is fed back to the θ FM map, so the feedback angle θ FB is approximately twice as much as when it is not fed back to the θ FM map. In step 4405, the operating state during the knock evaluation period is determined by the average value of the column number X and line number Y used in the ignition timing calculation 2100 of the program interrupt processing using equations (12) and (13). = ΣX / WNO ... (12) = ΣY / WNO ... (13) ΣX: Accumulated value of X during the knock evaluation period ΣY: Accumulated value of Y during the knock evaluation period (number of ignitions) θ The point at coordinates (,) on the FM map is used as the feedback center when performing map feedback. In step 4410, the center of the operating state (,
) is within the defined feedback region of the θ FM map as shown in Figure 6,
If "YES", the feedback amount θ T is calculated in step 4415. In step 4425, it is determined whether the steady state flag fST is "1", and if it is "YES", the map feedback flag ( fMFB ) is set to "1" in step 4430. If "NO", the process advances to step 4435, and the map feedback flag ( fMFB ) is set to "0". Therefore, in this case, the feedback amount .theta.T is calculated, but it is not fed back to the map because the map feedback flag fMFB , which indicates whether map feedback is to be performed, is not "1". If it is determined in step 4410 that it is not within the feedback region, θ T is set to "0" in step 4420, and the process proceeds to step 4435, in which the flag fMFB is set to 0. In step 4440, it is determined whether the value of the map feedback flag 2f MFB2 to which the value of the flag f MFB of the previous feedback processing has been transferred is "1". If "YES", the map feedback flag is transferred in step 4445. Process. At this time, the data used for map feedback is the data calculated in the previous feedback process. Step 44
If the determination at step 44 is "NO", the map feedback is not performed and the process proceeds to step 4450. In step 4450, the map feedback data calculated this time is set as a parameter for map feedback in the next feedback process. 2 = X coordinate of the center of the feedback used for map feedback 2 = Y coordinate of the center of feedback used for map feedback θ T2 : Feedback amount used for map feedback f MFM2 : Map feedback flag 2 Step At step 4455, processing for starting the knot evaluation is performed. That is, the knock interval
WNO, ΣX, ΣY are cleared to "0", feedback flag f FB is set to "0", steady state flag f ST is set to "1", steady state judgment comparison reference value Ns, Pms is the current engine rotation speed N, intake manifold pressure
Configure Pm settings. FIG. 26 shows a flowchart of the feedback amount θ T calculation process in step 4415. In this embodiment, the feedback amount θ T is determined by the knock interval WNO, which is the number of ignitions from the start of the knock evaluation to the end of the knock evaluation. The knock evaluation period is determined by whether a knock is detected or the number of aborts.
It ends when Nmax has passed. FIG. 8 shows a graph of the relationship in determining the feedback amount θ T from the knock interval WNO. θT
When the value of θ T is positive, it is feedback toward the retard side, and when the value of θ T is negative, it is feedback toward the advance side. Basically, the retard side is a straight line a 2 and the advance side is a straight line b 2
determined by the graph of Actually, the straight lines a 2 , c,
The values of WNO and θ T at the end points of b 2 are stored as a basic feedback amount θ f map, and θ f is obtained by linear interpolation calculation from this map using the knock interval WNO. This θ f is multiplied by a correction coefficient, which will be described later, to obtain θ T. Also, when a large angle must be retarded, the larger the value of the a2 part of the graph in Figure 8, the faster the response to the retard side, and when a large angle must be advanced, The larger the value in the b2 part of the graph, the faster the response to the advance angle side. Therefore, in this example, if the retardation continued in the past,
If the retard angle characteristic was changed from a 2 to a 3 and the advance angle continued in the past, the advance angle characteristic was changed from b 2 to b 3 to speed up control responsiveness. Further, when the feedback target value is reached where the advance angle and the retard angle continue alternately, the stability of the ignition timing is improved by reducing the amount of feedback of the retard angle and the advance angle. Therefore, in this embodiment, when the advance angle and the retard angle continue alternately, the retard angle characteristic is changed from a 2 to a 1 , and the advance angle characteristic is changed from b 2 to b 1 to improve control stability. . This will be explained using the flowchart of the feedback amount θ T calculation process 4415 shown in FIG. 26. In step 4415-1, the knock interval
Find θ f from the θ f map using WNO by performing interpolation calculations. In step 4415-2, it is determined whether the steady state flag f ST managed by the program interrupt processing is "0" or "1", and if it is unsteady at "0", the retardation characteristic is determined in steps 4415-3 and 4415-4. Both the parameter ia and the lead angle characteristic parameter ib are set to 0, and in step 4415-5, the basic feedback amount θ f is directly set as the feedback amount θ T . If it is determined in step 4415-2 that the value of the steady state flag f ST is "1" indicating steady state, the value of the current feedback amount θ f is checked in step 4415-6. If θ f >0 and the angle is retarded, the process proceeds to step 4415-7, where the value of fl indicating the previous feedback history is determined. When f l > 0, the previous time was a retard. When f l < 0, when the lead angle was f l = 0. There was no lead or retard last time. If f l > 0 and the previous time was also a retard, step 441.
Determine the value of the advance and retard characteristic parameter ia in step 5-8. ia = 1: Retard angle characteristic is a in Fig. 8. 3 ia = 0: Retard angle characteristic is a in Fig. 8. 2 ia = -1: Retard angle characteristic is a in Fig . 8. If ia≦0, step 2223-9 to ia 1
is added to enhance the retardation characteristic, and step 4415
Proceed to -12. If ia > 0, the retard characteristic cannot be further enhanced and the process continues in step 4415-
Proceed to step 12. If fl = 0 as determined in step 4415-7, the process directly advances to step 4415-12. If f l <0 in the judgment at step 4415-7, that is, the previous angle was advanced and the current angle is retarded. In this case, the value of the advance angle characteristic coefficient ib is determined at step 4415-10, and ib If ≧0, subtract ib by 1 in step 4415-11 and proceed to step 44.
Proceed to 15-12. In step 4415-12, the feedback amount θ T is calculated using equation (15): θ T =θ f ×2 ia (15). The process then proceeds to step 4415-20. Step 4415-
If θ f =0 in step 4, set θ T =0.
Proceed to 15-20. In step 4415-6, if θ f <0, that is, the current feedback amount is on the advance side, the process advances to step 4415-13. Step 4415-1
In step 3, if fl > 0 and the previous feedback is retarded, the process advances to step 4415-14. If the retard characteristic coefficient ia is ia≧0 in step 4415-14, 1 is subtracted from ia in step 4415-15. The process then proceeds to step 4415-18. If ia<0 in step 4415-14, the process proceeds to step 4415-18 without doing anything. In step 4415-13, if f l =0 and the advance/lag amount in the previous feedback is 0, the process immediately proceeds to step 4415-18. In step 4415-13, if f l <0 and the previous feedback was advanced, step 4415
Proceed to -16 and check the value of the advance angle characteristic coefficient ib. ib
If ≦0, add 1 to increase the advance angle feedback amount. The process then proceeds to step 4415-18. If ib>0 in step 4415-16, the advance angle feedback amount cannot be increased any further, so the process directly advances to step 4415-18. In step 4415-18, the amount of feedback is calculated using the following equation. θ T ← θf×2 ib (16) Then, the process proceeds to step 4415-20. In step 4415-20, the feedback amount θ T calculated this time is transferred to fl . FIG. 27 shows a flowchart of the map feedback processing step 4445. In this embodiment, the map feedback includes the previous average value 2 of column number X corresponding to the rotation speed N during the knock evaluation period, and the previous average value 2 of row number Y corresponding to the intake manifold pressure Pm. Feedback is performed for each element of the θ FM map within two columns or two lines from the feedback center ( 2 , 2 ), which is defined as two coordinates. In steps 4445-1 to 4445-4 , the lower limit value X of the column number
L , upper limit value X H , lower limit value Y L of line number Y, upper limit value Y H
is obtained using equations (17) to (20). The integer part of L = ( 2 - 1) or 2 - 2 ( 2
is an integer value ) or X FML (when the above value is smaller than the lower limit of
(when is an integer value) or Y FML (when the above value is smaller than the Y lower limit Y FML of the θ FM map) ... ( 18 ) is larger than the upper limit of X of the θ FM map ) ...(20) Column number of the element to be rewritten in step 4445-5
Set X L to Xj and Y L to line number Yj. In step 4445-6, the feedback center ( 2 ,
2 ) Find the X-direction deviation △X and Y-direction deviation △Y between points (Xj, Yj). However, △X and △Y are obtained by multiplying the actual deviation by 4 to include only the integer part. In step 4445-7, the distance L map is searched using ΔX and ΔY to find the distance l. 10th
An example of a distance map is shown in FIG. In the example of FIG. 10, the distance l increases with equal weight for ΔX and ΔY. In example 2 of FIG. 11, the distance increases with ΔX weighing twice as much as ΔY. The amount of feedback decreases as the distance increases, so the first
In the case of Example 2 in FIG. 1, the amount of feedback decreases rapidly as it moves away from the feedback center in the ΔY direction, that is, in the intake manifold pressure direction. Step 4445-8 searches the feedback rate k from the feedback rate map (K map) using the distance l. The relationship between the distance l and the feedback rate k is shown in the characteristics of the K map in FIG. In step 4445-9, the number of feedbacks N FB (Xj, Yj) of the N FB map is searched. In step 4445-10, the learning coefficient P is searched from the P map shown in FIG. 9 using N FB (Xj, Yj). In step 4445-11, it is determined whether the previous feedback amount θ T2 is positive or negative, and if θ T2 ≧0,
In step 4445-13, θ FM is calculated using equation (21).
Rewrite (Xj, Yj). θ FM (Xj, Yj) = minimum value {θ PP (Xj, Yj), θ FM (Xj, Yj) + K × P × θ T2 } ... (21) If θ T2 < 0, in step 4445-12 Rewrite θ FM (Xj, Yj) using equation (22). θ FM (Xj, Yj) = maximum value {0, θ FM (Xj, Yj) + K×P×θ T2 } ...(22) After that, in step 4445-14, the rewriting element θ FM ( Xj , Feedback frequency N corresponding to Yj) FB map element N FB (Xj, Yj)
Rewrite according to equation (23). N FB (Xj, Yj) = N FB (Xj, Yj) + K
...(23) This allows the element θ FM (Xj, Yj) of the θ FM map
Memorizes how much feedback has been received. In step 4445-15, 1 is added to Xj to change the position of the rewritten element. In step 4445-16, the magnitude relationship between Xj and XH is determined, and if XjXH , step 4445-16 is performed.
Proceed to step 6 to continue the rewriting operation. If Xj> XH , set Xj to XL in step 4445-17, and add 1 to Y in step 4445-18. Then, in step 4445-19, the magnitude relationship between Yj and YH is determined, and if YjYH , step 4445-6
Go to and continue the rewrite operation. If Yj> YH , map feedback processing ends. In the above-described map feedback processing step 4445 of FIG. 27, the range and distribution of feedback to the θ FM map are determined by the deviation ΔX between the feedback center ( 2 , 2 ) and the column number X of the rewritten element (Xj, Yj). Determining the distance l from the deviation ΔY of the row number Y has the following advantages. The intake manifold pressure and engine speed corresponding to each row and each column of the θ FM map and the θ PP map are the same for the sake of computational advantages. In this embodiment, the θ PP map stores the MBT, but in the low-speed portion where the value changes suddenly, the difference between the engine speeds in adjacent columns is reduced to accurately represent the MBT. In such an operating range, the feedback control value also fluctuates rapidly, so rather than determining the amount of feedback for that element based on the difference in engine speed from the feedback center, it is better to determine the amount of feedback based on the deviation of the column number. Harmonizes with the map structure. In addition, in this map feedback processing step 4445, the feedback center (
2 , 2 ) and the rewriting element θ FM of the θ FM map
Find the distance l from the distance map (L map) using the X direction deviation △X and Y direction deviation △Y, which are obtained by multiplying the deviation of the actual coordinates of (Xj, Yj) by 4 to make only the integer part, and
The feedback coefficient k is searched from the feedback coefficient map (K map). Therefore, 1/4
Feedback coefficients can be specified for deviations for each column number and row number. Feedback performance is improved by being able to specify the feedback amount distribution in such a fine manner. FIG. 28 shows a flowchart of forgetting processing step 4600 in the base processing of FIG. 24.
In this embodiment, feedback control is performed to retard the angle when the knock interval is small and to advance the angle when it is large, and the control speed to the advance side is slower than the control speed to the retard side. Furthermore, the values of each element in the operating state category that is not used for a long time in the θ FM map may be far away from the current feedback target value. Therefore, the feedback target value may be reached more quickly if the value of each element is forgotten than if it is left as is. Therefore, in this feedback, since the control speed to the retard side is fast, all elements of the θ FM map are subtracted by a predetermined amount every minute to be used as a forgetting effect. In step 4605, it is determined whether the subtraction amount calculation completed flag FIM is set to "1". If it is "0", the subtraction amount has not been calculated yet, so step 4610 is performed.
Then, the subtraction amount θ fgt is calculated according to equation (24), and in step 4615, 1 is added to the software elapsed time T in minutes. θ fgt = θ FGT / (T-1) ... (24) θ FGT : Initial amount to be subtracted T: Elapsed time In step 4620, the column number Xk of the element of the θ FM map is rewritten for forgetting. Set the X lower limit value X FML , and set the Y lower limit value Y FML of the θ FM map in the row number Yk. Then, in step 4625, the flag FIM indicating that the amount of subtraction has been calculated is set to "1". Then, in step 4630, the element θ FM (Xk, Yk) of the θ FM map is subtracted by θ fgt , and if θ FM (Xk, Yk) < 0 in step 4640, θ FM (Xk, Yk) is subtracted in step 4645. Set to 0. At step 4650, Xk is added by 1, and at step 4655, Xk and θ FM map's X upper limit X FMH
If Xk≦ XFMH , this forgetting process is terminated, and the next time the forgetting process is executed, the forgetting operation is performed on the next element of the θ FM map. If Xk > X FMH in step 4655, set X FML to Xk in step 4660, and then
At 665, add 1 to Yk. Step 467
If Yk is 0 and Y FMH is compared in size, if Yk≦Y FMH , this forgetting process is terminated and the next time the forgetting process is executed, the forgetting operation is performed on the next element of the θ FM map. It will be done. If Yk> YFMH in step 4670, step 4675 subtracts a one-minute software counter CIM by a time KIM corresponding to one minute of elapsed time. Furthermore, in step 4680, the subtraction completed flag FIM is set to "0". Therefore, when the value of K IM is added to C IM again, the next forgetting process is started. In the embodiments described above, the amount of feedback is determined depending on the number of ignitions from the start of knock evaluation until a knock is detected. An example will be described in which the amount of feedback is determined depending on the magnitude of . Only changes from the previously described embodiments will be described. In step 2345 of the knock evaluation routine 2300 in FIG. 22, the elapsed time WT from the start of the knock evaluation and its comparison value WTmax are compared with WTWTmax. The 8ms interrupt processing routine in FIG. 23 is changed to step 3400 as shown in FIG.
Add ~3500. That is, during the knock evaluation period in which the feedback flag fFB =1 does not hold, the process advances to step 3500 and 1 is added to the elapsed time WT. Furthermore, in step 4455 of the feedback processing (FIG. 25) in the base processing routine,
The check evaluation start process is performed, but instead of clearing the check interval WNO to “0”, the elapsed time is
Clear WT to “0”. Therefore, WT indicates the elapsed time from the start of the knock evaluation in units of 8 ms. In addition, in the graph of the relationship between knock interval WNO and feedback amount θT in Figure 8, the horizontal axis is WNO
Configure by changing from to elapsed time WT. The basic feedback amount map (θ f map) also shows the elapsed time.
WT and feedback amount θ f are memorized. 26th
Feedback amount θ T calculation routine 4415 in the figure
In step 4415-1, the basic feedback amount θ f is calculated by interpolation from the θ f map using the WT. By doing this, the amount of feedback can be determined based on the length of time from the start of the knock evaluation until the knock is detected. As explained above, the present invention has the following features and advantages. (1) Depending on the number of ignitions or the length of time from when the predetermined measurement start conditions are met until knocking occurs (that is, the knocking interval),
By determining the amount of feedback, the stability of ignition timing can be increased. (2) By changing the method of determining the amount of feedback from the knock interval based on the past feedback history, that is, a signal that determines whether feedback control was being performed in the retard direction or in the advance direction, the advance angle can be adjusted. ,
Control response in both directions of retardation can be made faster.
第1図は本発明の一実施例を示す構成図、第2
図は第1図に示す制御コンピユータのブロツク回
路図、第3図は本発明の説明に供する点火時期−
トルク特性図、第4〜13図はそれぞれ第1図に
示す実施例の作動説明に供するもので、第4図は
エンジンクランク角度−固定位置処理関係図、第
5図は固定進角マツプ、第6図はフイードバツク
マツプ、第7図はフイードバツク回数マツプ、第
8図はノツクインターバル−フイードバツク量特
性図、第9図は学習係数マツプ特性図、第10図
は距離マツプ例1、第11図は距離マツプ例2、
第12図はフイードバツク率マツプ特性図、第1
3図は通電時間マツプ特性図、第14図〜28図
はそれぞれ第1図の実施例の制御プログラムのフ
ローチヤート、第29図は本発明の他の実施例の
制御プログラムの要部のフローチヤートである。
1……エンジン、2……ノツクセンサ、6……
制御コンピユータ。
FIG. 1 is a configuration diagram showing one embodiment of the present invention, and FIG.
The figure is a block circuit diagram of the control computer shown in Figure 1, and Figure 3 is an ignition timing diagram for explaining the present invention.
Torque characteristic diagrams and Figures 4 to 13 respectively serve to explain the operation of the embodiment shown in Figure 1. Figure 4 is an engine crank angle-fixed position processing relationship diagram, Figure 5 is a fixed advance angle map, and Figure 5 is a diagram showing the relationship between engine crank angle and fixed position processing. Figure 6 is a feedback map, Figure 7 is a feedback number map, Figure 8 is a knock interval-feedback amount characteristic diagram, Figure 9 is a learning coefficient map characteristic diagram, Figure 10 is a distance map example 1, and Figure 11 is a characteristic diagram of a learning coefficient map. is distance map example 2,
Figure 12 is a feedback rate map characteristic diagram,
3 is an energization time map characteristic diagram, FIGS. 14 to 28 are flowcharts of the control program of the embodiment of FIG. 1, and FIG. 29 is a flowchart of the main part of the control program of another embodiment of the present invention. It is. 1...Engine, 2...Knock sensor, 6...
control computer.
Claims (1)
サを有し、このノツクセンサの信号によつてエン
ジンにノツキングが発生したかどうかを判別し、
このノツキング判別結果に基づいて点火時期をフ
イードバツク制御する点火時期制御方法であつ
て、所定の計測開始条件が成立してから前記ノツ
キングが発生するまでの点火回数又は時間を計測
すること、前記点火時期を決定するフイードバツ
ク量の過去の値によつて点火時期を進角方向にフ
イードバツク制御しているか遅角方向にフイード
バツク制御しているかを判別すること、この判別
結果と前記計測結果の大きさとに応じて点火時期
を決定するためのフイードバツク量を計算するこ
と、このフイードバツク量に応じて点火時期を制
御することを特徴とする点火時期制御方法。 2 前記計測開始条件が成立してから所定の点火
回数又は所定の時間まで前記ノツキングが発生し
ないときは、この所定の点火回数又は所定の時間
後にてノツキングが発生したとみなして前記フイ
ードバツク量を計算することを特徴とする特許請
求の範囲第1項に記載の点火時期制御方法。[Claims] 1. A knock sensor for detecting engine knocking, and a signal from the knock sensor to determine whether knocking has occurred in the engine;
The ignition timing control method performs feedback control of the ignition timing based on the knocking determination result, the ignition timing control method comprising: measuring the number of ignitions or the time from when a predetermined measurement start condition is met until the knocking occurs; and the ignition timing determining whether the ignition timing is being feedback-controlled in the advance direction or in the retard direction based on the past value of the feedback amount that determines the ignition timing; 1. An ignition timing control method characterized by calculating a feedback amount for determining ignition timing based on the ignition timing, and controlling the ignition timing according to this feedback amount. 2 If the knocking does not occur until a predetermined number of ignitions or a predetermined time after the measurement start condition is met, calculate the amount of feedback by assuming that knocking has occurred after the predetermined number of ignitions or a predetermined time. An ignition timing control method according to claim 1, characterized in that:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP957280A JPS56106066A (en) | 1980-01-29 | 1980-01-29 | Controlling method of ignition timing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP957280A JPS56106066A (en) | 1980-01-29 | 1980-01-29 | Controlling method of ignition timing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS56106066A JPS56106066A (en) | 1981-08-24 |
| JPS6250662B2 true JPS6250662B2 (en) | 1987-10-26 |
Family
ID=11724010
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP957280A Granted JPS56106066A (en) | 1980-01-29 | 1980-01-29 | Controlling method of ignition timing |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS56106066A (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5862373A (en) * | 1981-10-07 | 1983-04-13 | Nippon Denso Co Ltd | Ignition timing control device for internal- combustion engine |
| JPH076482B2 (en) * | 1982-12-17 | 1995-01-30 | トヨタ自動車株式会社 | Knotting control method for internal combustion engine |
| IT1213129B (en) * | 1984-01-20 | 1989-12-14 | Alfa Romeo Spa | DEVICE FOR THE CORRECTION OF FUNCTIONAL SIZES IN AN INTERNAL COMBUSTION ENGINE |
| JPH0758064B2 (en) * | 1986-07-31 | 1995-06-21 | 日本電装株式会社 | Knock control device for internal combustion engine |
| FR3082892B1 (en) * | 2018-06-20 | 2020-12-18 | Psa Automobiles Sa | PROCEDURE FOR APPLYING A DEGRADATION IN ADVANCE AT IGNITION ACCORDING TO A TIME BETWEEN TWO CLICKS |
-
1980
- 1980-01-29 JP JP957280A patent/JPS56106066A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS56106066A (en) | 1981-08-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6212385B2 (en) | ||
| JP3323974B2 (en) | Control device for internal combustion engine | |
| US4261313A (en) | Method of and apparatus for controlling ignition timing of an internal-combustion engine | |
| JPH03134266A (en) | Knocking control device for engine | |
| JPS6246690B2 (en) | ||
| JPS6250662B2 (en) | ||
| US4269154A (en) | Ignition timing control system for internal combustion engines | |
| US4269155A (en) | Ignition timing control system for internal combustion engines | |
| JP2551501B2 (en) | Ignition timing control device for internal combustion engine | |
| JPH034746B2 (en) | ||
| JP2536243B2 (en) | Ignition timing control device for internal combustion engine | |
| JPH0235154B2 (en) | ||
| JPH0320593B2 (en) | ||
| JPH0742929B2 (en) | Ignition timing control device and control method for internal combustion engine | |
| JPS58107875A (en) | Control method for ignition timing of internal-combustion engine | |
| JP2629204B2 (en) | Ignition timing control device for internal combustion engine | |
| JPH0727011A (en) | Knocking control device for internal combustion engine | |
| JP2625763B2 (en) | Ignition timing control device for internal combustion engine | |
| JPH0826838B2 (en) | Ignition timing control method for internal combustion engine | |
| JPS6314766B2 (en) | ||
| JPH0826839B2 (en) | Ignition timing control method for internal combustion engine | |
| JPH0411742B2 (en) | ||
| JP2546368B2 (en) | Internal combustion engine speed control device | |
| JPH0256516B2 (en) | ||
| JPH029184B2 (en) |