JPH086630B2 - Engine controller - Google Patents

Engine controller

Info

Publication number
JPH086630B2
JPH086630B2 JP29281386A JP29281386A JPH086630B2 JP H086630 B2 JPH086630 B2 JP H086630B2 JP 29281386 A JP29281386 A JP 29281386A JP 29281386 A JP29281386 A JP 29281386A JP H086630 B2 JPH086630 B2 JP H086630B2
Authority
JP
Japan
Prior art keywords
cylinder
learning value
engine
learning
signal
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
Application number
JP29281386A
Other languages
Japanese (ja)
Other versions
JPS63147958A (en
Inventor
良隆 田原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mazda Motor Corp
Original Assignee
Mazda Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mazda Motor Corp filed Critical Mazda Motor Corp
Priority to JP29281386A priority Critical patent/JPH086630B2/en
Publication of JPS63147958A publication Critical patent/JPS63147958A/en
Publication of JPH086630B2 publication Critical patent/JPH086630B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、エンジンの制御装置、特にエンジンの各気
筒の燃焼状態を検出し、燃焼状態が所定の状態になるよ
う気筒別に学習制御するようにしたエンジンの制御装置
に関するものである。
The present invention relates to an engine control device, and more particularly, to detecting the combustion state of each cylinder of the engine and performing learning control for each cylinder so that the combustion state becomes a predetermined state. The present invention relates to the engine control device.

(従来技術) 従来、エンジンの燃焼状態が所定の状態になるよう制
御するものとして、たとえば、エンジンのノッキングを
検出するセンサを設け、ノッキングを感知したときに点
火時期をリタードするようにしたものがよく知られてい
る。また、このようにノッキングが起こって初めて制御
するような単なるフィードバック制御だけでは、どうし
てもその間に遅れが生じることから、この間の遅れを極
力無くしたいということで、例えば特開昭58−222976号
公報に記載されているように、エンジンの回転数と負荷
によって区画されたメモリの各領域にエンジンの運転状
態毎の学習補正値を記憶しておき、次回その運転状態が
あったときに、記憶された補正値と基本的な進角値との
演算によって最終的に制御する点火時期を決めるように
したものが知られている。このようなノッキングの学習
制御によれば、運転状態の変化に即応して最適な点火時
期を得ることができる。ところが、多気筒エンジンで
は、各気筒間で、空燃比,充填量,燃焼室温度,圧縮比
特に不可避的なばらつきがあるため、上記のように全部
の気筒に一律にフィードバックをかけたのでは、個々の
気筒についてみたとき、最適な制御を行っていることに
ならないという問題がある。
(Prior Art) Conventionally, as a control for controlling the combustion state of an engine to a predetermined state, for example, there is provided a sensor for detecting knocking of the engine and retarding the ignition timing when the knocking is detected. well known. Further, in such a mere feedback control that controls only after knocking occurs, since a delay is inevitably generated between them, it is desired to eliminate the delay during this period, for example, in JP-A-58-222976. As described, the learning correction value for each operating state of the engine is stored in each area of the memory partitioned by the engine speed and the load, and the learning correction value is stored the next time the operating state occurs. It is known that the ignition timing to be finally controlled is determined by calculating a correction value and a basic advance value. According to such knocking learning control, the optimum ignition timing can be obtained in response to a change in the operating state. However, in a multi-cylinder engine, there are inevitable variations in air-fuel ratio, filling amount, combustion chamber temperature, and compression ratio among the cylinders. Therefore, if feedback is uniformly applied to all cylinders as described above, When looking at individual cylinders, there is a problem that optimum control is not being performed.

気筒間のばらつきを考慮に入れて、気筒毎にノッキン
グ発生限界に対応した点火時期を決めるようにしたもの
としては、特開昭58−192968号公報に記載されたような
ものがあるが、これは、単に、点火時期を気筒毎に設定
するというものであって、運転状態の変化に合わせて最
適な点火時期に制御するというものではない。
Taking into account the variation between cylinders, the ignition timing corresponding to the knocking occurrence limit is determined for each cylinder, as described in JP-A-58-192968. Is simply to set the ignition timing for each cylinder, and is not to control the ignition timing to be optimum in accordance with changes in the operating state.

また、これら従来技術に基づいて、各気筒毎にフィー
ドバック制御をするとともに、各気筒毎に学習値による
補正を行うようにすれば、より精度の良い制御をするこ
とができるわけであるが、その場合に、たとえば4気筒
であれば、学習値を記憶するためのメモリーが四つ分必
要であるというのでは、メモリーの全体的な容量が大き
くなってしまう。つまり、気筒毎に同一のデータサイズ
を持っていたのでは、RAM容量が増大し、RAMを増設する
必要が生じ、コストアップにつながるという問題が出て
くる。さらに、一般のエンジンでは、1チップCPUが用
いられるが、この1チップCPUはROM,RAMを内蔵している
ため、RAMの増設はバスラインをCPUの外に出すことを意
味し、耐ノイズ性の悪化を伴うことになる。また、1チ
ップCPUをRAM外付けで用いる場合に、バスとなる端子は
通常の使用形態であるシングルポートモードではI/Oポ
ートとして用いられているため、RAM以外にI/Oポート用
のLSIの増設が必要となる。
Further, based on these conventional techniques, if feedback control is performed for each cylinder and correction is performed with a learning value for each cylinder, more accurate control can be performed. In this case, for example, in the case of four cylinders, if the memory for storing the learning value is required for four, the overall capacity of the memory becomes large. In other words, if the same data size is used for each cylinder, the RAM capacity will increase and it will be necessary to add more RAM, leading to a problem of cost increase. Furthermore, in a general engine, a one-chip CPU is used. Since this one-chip CPU has built-in ROM and RAM, adding RAM means that the bus line is taken out of the CPU, and noise resistance Will be worse. In addition, when the 1-chip CPU is used as an external RAM, the bus terminals are used as I / O ports in the single port mode, which is the normal usage pattern. Will need to be added.

(発明の目的) 本発明は、上記のような従来技術によるエンジンの制
御装置の問題点に鑑み、エンジンの運転状態毎の学習補
正値によって制御量を補正するようにしたエンジンの制
御装置において、各気筒毎の精度を落とすことなく全体
としての記憶容量を低減することを目的とする。
(Object of the Invention) In view of the problems of the engine control device according to the related art as described above, the present invention provides an engine control device in which the control amount is corrected by a learning correction value for each operating state of the engine. The purpose is to reduce the overall storage capacity without degrading the accuracy of each cylinder.

(発明の構成) 本発明は、エンジンの燃焼状態、たとえば、エンジン
のノッキングの状態は、季節により、またガソリンのオ
クタン価により大幅に変動しても、気筒間のノック限界
の差は減少であってそれほど大きくは変動しないことか
ら、特定の気筒については学習補正値をそのまま記憶
し、その他の気筒については学習補正値を特定気筒のそ
れとの差として記憶するようにしても、現実的に問題と
なるような精度の低下は無く、しかもメモリの容量が低
減できる、という知見に基づくものであって、その全体
的な構成は第1図に示すとおりである。すなわち、本発
明に係るエンジンの制御装置は、エンジンの運転状態を
検出する運転状態検出手段と、該運転状態検出手段の出
力に基づいて基本制御量を決定する基本制御量決定手段
と、エンジンの気筒別に燃焼状態を検出する気筒別燃焼
検出手段と、該気筒別燃焼検出手段からの信号に応じて
気筒別にフィードバック補正量を決定するフィードバッ
ク補正量決定手段と、フィードバック補正量に基づいて
学習値を演算する学習値演算手段と、現気筒を識別する
気筒識別手段と、該気筒識別手段からの信号を受けて特
定気筒の学習値を記憶する第1の学習値記憶手段と、他
の気筒の学習値と特定気筒の学習値との差を演算する差
分演算手段と、該差分演算手段の出力を前記他の気筒の
学習値として記憶する第2の学習値記憶手段と、基本制
御量とフィードバック補正量と学習値とから気筒別に最
終制御量を決定する最終制御量決定手段と、該最終制御
量決定手段の出力によってエンジンの燃焼状態を制御す
る燃焼制御手段とを備え、特定の気筒の学習値はそのま
ま記憶し、他の気筒の学習値は前記特定気筒の学習値と
の差としてそれぞれ記憶するよう構成されている。運転
状態検出手段は、例えば配電機(ディストゥリビュー
タ)に付設したクランク角センサの出力から、エンジン
の運転状態を検出する。また、燃焼制御手段は、例えば
燃料噴射装置や点火装置の制御によって、エンジンの燃
焼状態を制御するものである。
(Structure of the Invention) According to the present invention, even if the combustion state of the engine, for example, the knocking state of the engine varies greatly depending on the season and the octane number of gasoline, the difference in knock limit between the cylinders is reduced. Since it does not change so much, it is actually a problem if the learning correction value is stored as it is for a specific cylinder and the learning correction value is stored as a difference from that of the specific cylinder for other cylinders. It is based on the finding that there is no such decrease in accuracy and the capacity of the memory can be reduced, and its overall configuration is as shown in FIG. That is, the engine control device according to the present invention includes an operating state detecting means for detecting an operating state of the engine, a basic control amount determining means for determining a basic control amount based on an output of the operating state detecting means, and an engine Cylinder combustion detection means for detecting the combustion state for each cylinder, feedback correction amount determination means for determining a feedback correction amount for each cylinder according to a signal from the cylinder combustion detection means, and a learning value based on the feedback correction amount. Learning value calculation means for calculating, cylinder identification means for identifying the current cylinder, first learning value storage means for storing a learning value of a specific cylinder in response to a signal from the cylinder identification means, and learning for other cylinders. Difference calculation means for calculating the difference between the value and the learning value of the specific cylinder, second learning value storage means for storing the output of the difference calculation means as the learning value of the other cylinder, and basic control A final control amount determining means for determining the final control amount for each cylinder from the feedback correction amount and the learned value, and combustion control means for controlling the combustion state of the engine by the output of the final control amount determining means. Are stored as they are, and the learning values of the other cylinders are stored as differences from the learning values of the specific cylinder. The operating state detecting means detects the operating state of the engine, for example, from the output of a crank angle sensor attached to a distribution machine (distribulator). Further, the combustion control means controls the combustion state of the engine by controlling a fuel injection device and an ignition device, for example.

(作用) 運転状態検出手段はエンジンの回転数や負荷からエン
ジンの運転状態を判定する。基本制御量決定手段は、運
転状態決定手段の出力を受け、運転領域毎のマップから
基本制御量、例えば基本点火時期、を計算する。また、
フィードバック補正量決定手段は、気筒別に設けた燃焼
検出手段からの信号を受け、気筒別にフィードバック補
正量を修正する。さらに、学習値演算手段によって、フ
ィードバック補正量に基づいた学習補正値を計算し、運
転領域毎の学習補正値を記憶,更新する。最終制御量決
定手段は、これら基本制御量,フィードバック補正値お
よび学習補正値から最終制御量を計算し、エンジンの燃
焼制御装置、例えば点火装置や燃料噴射装置、のための
制御信号を出力する。このようにしてエンジンの燃焼状
態を制御する。ところで、本発明における気筒識別手
段,差分演算手段,および第1と第2の学習値記憶手段
による学習補正値の記憶,更新はつぎのようになされ
る。すなわち、現気筒が特定気筒であれば、演算した学
習補正値を第1の学習値記憶手段によってそのまま記
憶,更新し、また、その他の気筒については、特定気筒
の学習値との差だけを第2の学習値記憶手段によって記
憶,更新していく、といった処理がなされる。なお、エ
ンジンの回転数はクランク角センサの信号から演算する
ことができる。また、エンジンの負荷は、エアフローセ
ンサからの吸入空気量信号に基づいて充填量の形で検出
することができる。
(Operation) The operating state detecting means determines the operating state of the engine based on the engine speed and the load. The basic control amount determining means receives the output of the operating state determining means and calculates a basic control amount, for example, a basic ignition timing, from a map for each operating region. Also,
The feedback correction amount determination means receives a signal from the combustion detection means provided for each cylinder and corrects the feedback correction amount for each cylinder. Furthermore, the learning correction value is calculated by the learning value calculation means based on the feedback correction amount, and the learning correction value for each operating region is stored and updated. The final control amount determining means calculates the final control amount from the basic control amount, the feedback correction value and the learning correction value, and outputs a control signal for the combustion control device of the engine, for example, the ignition device or the fuel injection device. In this way, the combustion state of the engine is controlled. By the way, the storage and updating of the learning correction value by the cylinder identifying means, the difference calculating means, and the first and second learning value storage means in the present invention are performed as follows. That is, if the current cylinder is the specific cylinder, the calculated learning correction value is stored and updated as it is by the first learning value storage means, and for the other cylinders, only the difference from the learning value of the specific cylinder is calculated. The learning value storage means 2 stores and updates the learning value. The engine speed can be calculated from the signal from the crank angle sensor. Further, the load of the engine can be detected in the form of the filling amount based on the intake air amount signal from the air flow sensor.

(実施例) 以下、本発明の実施例を図面に基づいて説明する。(Example) Hereinafter, the Example of this invention is described based on drawing.

第2図は、点火時期をリタードする(すなわち、遅角
させる)ことによってエンジンのノッキングを制御する
ようにした実施例の概略図であり、その要部をなすECU
(電気的制御ユニット)の機能ブロック図が第3図であ
る。燃焼室9の上部に設けられた点火プラグ7は、配電
器6を介して点火コイル5に接続され、点火コイル5は
ECU3に接続されている。配電器6にはクランク角センサ
とシリンダーセンサが付設されている。このクランク角
センサはECU3に対し基準となる信号を出力する。第2図
において、1はエンジン本体であり、そのシリンダーブ
ロック10にはシリンダーブロック10の振動からノッキン
グを検出するためのノックセンサ2が取り付けられてい
る。吸気マニホルド11上方の吸気管12にはサージタンク
が形成されており、さらにその上方のスロットル弁13直
上流の吸気通路にはエンジンの吸入空気量を検出するた
めのエアフローセンサ8が設けられている。吸入空気は
図示しないエアクリーナから吸入され、インジェクタ4
から噴射される燃料とともに吸気弁14を介して燃焼室9
内に供給される。燃焼後の排気は排気弁15を介して排気
マニホルド16から排気管17に流れ触媒装置18を通って排
出される。
FIG. 2 is a schematic diagram of an embodiment in which knocking of the engine is controlled by retarding (that is, retarding) the ignition timing, and an ECU forming a main part thereof.
FIG. 3 is a functional block diagram of (electrical control unit). The ignition plug 7 provided on the upper part of the combustion chamber 9 is connected to the ignition coil 5 via a distributor 6, and the ignition coil 5 is
It is connected to ECU3. The distributor 6 is provided with a crank angle sensor and a cylinder sensor. This crank angle sensor outputs a reference signal to the ECU 3. In FIG. 2, reference numeral 1 denotes an engine body, and a cylinder block 10 thereof is provided with a knock sensor 2 for detecting knocking from vibration of the cylinder block 10. A surge tank is formed in the intake pipe 12 above the intake manifold 11, and an air flow sensor 8 for detecting the intake air amount of the engine is provided in the intake passage immediately above and upstream of the throttle valve 13. . The intake air is taken in from an air cleaner (not shown), and the injector 4
Together with the fuel injected from the combustion chamber 9 via the intake valve 14.
Supplied within. The exhaust gas after combustion flows from the exhaust manifold 16 through the exhaust valve 15 to the exhaust pipe 17, and is exhausted through the catalyst device 18.

ECU3は、ノックセンサ2の出力とクランク角センサの
出力とエアフローセンサ8の出力、の三つの出力を入力
とし、またシリンダーセンサからの信号を受けて、気筒
毎に演算を行い点火信号を出す。
The ECU 3 receives the output of the knock sensor 2, the output of the crank angle sensor, and the output of the air flow sensor 8 as input, and receives a signal from the cylinder sensor to perform an operation for each cylinder to output an ignition signal.

第3図において、ROMには、基本となるデータや、点
火時期を制御するプログラムが入っている。エアフロー
センサの出力とノックセンサの出力は、アナログバッフ
ァを通ってA/Dコンバータに入力される。また、シリン
ダーセンサの信号は、デジタルバッファを通ってインプ
ットポートに入力される。CPUは、これらROM,A/Dコンバ
ータおよびインプットポートとの間で、またPTM(プロ
グラマブルタイマー),フリーランニングカウンタおよ
び学習値記憶手段との間でデータのやり取りをしてい
る。一方、クランク角センサは、所定のクランク角毎に
パルス状の信号を発生するもので、このパルス状の信号
が波形整形されてINT(インターラプト)に入り、割り
込みのタイミングをとる。クランク角信号に基づいてプ
ログラムの流れが支配される。PTMの出力は、アウトプ
ットインターフェイスによって、点火コイルに送るため
の信号に変換される。
In FIG. 3, the ROM contains basic data and a program for controlling the ignition timing. The output of the air flow sensor and the output of the knock sensor are input to the A / D converter through the analog buffer. In addition, the signal from the cylinder sensor is input to the input port through the digital buffer. The CPU exchanges data with the ROM, the A / D converter and the input port, and with the PTM (programmable timer), the free running counter and the learning value storage means. On the other hand, the crank angle sensor generates a pulse-shaped signal for each predetermined crank angle, and the pulse-shaped signal is waveform-shaped and enters INT (interrupt) to take an interrupt timing. The program flow is controlled based on the crank angle signal. The output of the PTM is converted by the output interface into a signal for delivery to the ignition coil.

第4図は点火時期の基本的な制御を示すタイミングチ
ャートである。この実施例は4気筒であって、ATDC(上
死点後)60度毎にクランク角信号が出るようになってい
る。4気筒であるので、TDC(上死点)とTDCの間は180
度である。クランク角信号が来た時に、演算した点火ま
での通電時間TCをPTMに書き込む。つまりPTMにTCという
値がセットされる。TCがセットされた後、クランク角信
号からのネガディブエッジ(立ち下がり点)が来た時点
からカウンターPTMは減算を始める。TCという時間情報
が書き込まれるとすぐにPTMはハイの信号(図示された
点火信号とは逆)を出力し、TCの時間がたってカウンタ
ーの値が0になった時点でロウに落ちる。このハイにな
っている時間というのは点火コイルに通電している時間
であって、PTMの出力がロウに落ちたとき、点火コイル
の電圧が急激に落ちて点火コイルに火花が飛ぶ。ところ
で、インプットポート(第3図参照)にはシリンダー信
号が入ってくるが、この信号がハイのときは第1気筒
(特定気筒)であるということで、第4図に矢印で示す
時点が第1気筒の点火時期である。そして、シリンダ
ー信号がロウであればその他の気筒ということで、点火
順序に従って、点火時点が第3気筒の点火時期、時点
が第4気筒の点火時期、点火時点が第2気筒の点火
時期ということになる。基本的に点火時期はこのように
制御されている。
FIG. 4 is a timing chart showing basic control of ignition timing. This embodiment has four cylinders, and a crank angle signal is output every 60 degrees ATDC (after top dead center). Since it has 4 cylinders, 180 between TDC (top dead center) and TDC
It is degree. When the crank angle signal comes, the calculated energization time TC until ignition is written in PTM. In other words, the value of TC is set in PTM. After TC is set, the counter PTM starts subtraction at the time when the negative edge (falling point) from the crank angle signal comes. As soon as the time information TC is written, the PTM outputs a high signal (the opposite of the ignition signal shown in the figure) and falls low when the counter value reaches 0 after the time TC has elapsed. This high time is the time when the ignition coil is energized, and when the output of the PTM drops to low, the voltage of the ignition coil drops sharply and sparks fly to the ignition coil. By the way, a cylinder signal is input to the input port (see FIG. 3), and when this signal is high, it means that the cylinder is the first cylinder (specific cylinder), so that the time point indicated by the arrow in FIG. This is the ignition timing of one cylinder. If the cylinder signal is low, it means that the cylinders are other cylinders. Therefore, the ignition timing is the ignition timing of the third cylinder, the time is the ignition timing of the fourth cylinder, and the ignition timing is the ignition timing of the second cylinder according to the ignition order. become. Basically, the ignition timing is controlled in this way.

エンジンの運転領域毎の学習値を表現する学習マップ
は、第5図に示すように、特定気筒(第1気筒)につい
ては、2バイトで、基本進角に対する遅角量をそのまま
表現し、その他の気筒については、特定気筒の学習値に
対する遅角量として1バイトで表現するようになってい
る。マップの縦軸は回転数、横軸は充填量である。
As shown in FIG. 5, the learning map expressing the learning value for each operating region of the engine is 2 bytes for the specific cylinder (first cylinder) and expresses the retard amount with respect to the basic advance angle as it is. For the cylinder No., the amount of delay angle with respect to the learning value of the specific cylinder is represented by 1 byte. The vertical axis of the map is the rotation speed, and the horizontal axis is the filling amount.

第6図、第7図および第8図はこのような制御を実行
するフローチャートを示すものである。
FIG. 6, FIG. 7 and FIG. 8 show flow charts for executing such control.

このうち、第6図には、常時流れているバックグラウ
ンドルーチンが示されている。なお、図中のB1〜B14
各ステップを示す。
Of these, FIG. 6 shows a background routine that constantly flows. In addition, B 1 to B 14 in the figure indicate each step.

B2で初期化が行われた後、TDC周期からエンジン回転
数NEを計算する。TDC周期は先程の第4図に示したT0に
相当するものであって、後述するインターラプトルーチ
ンで求め、ここに取り込む。4気筒の場合、TDCとTDCの
間は180度であるので、この間の時間をみればエンジン
の回転数が求まる。
After the initialization is performed in B 2, to calculate the engine rotational speed NE from the TDC period. The TDC cycle corresponds to T0 shown in FIG. 4, and is obtained by an interrupt routine described later and is taken in here. In the case of four cylinders, the interval between TDC and TDC is 180 degrees, so the engine speed can be found by looking at the time between these.

B4でエアフローセンサの出力QAを入力し、B5で充填量
CEを計算する。QAはエンジンに吸入される単位時間当た
りの空気量であるので、これから1気筒1回当たりの充
填量を計算する。これがすなわちエンジンの負荷に対応
する。
Enter the output QA of the air flow sensor with B 4 , and fill with B 5
Calculate CE. Since QA is the amount of air taken into the engine per unit time, the filling amount for each cylinder is calculated from this. This corresponds to the load on the engine.

B6では、回転数NEと充填量CEに基づいて、マップから
基本点火時期ABを計算する。マップにはあらかじめ実験
などで求めた点火時期が入っているので、これを呼び出
す。
In B 6, based on the charge amount CE and the rotational speed NE, to calculate a basic ignition timing AB from the map. I will call this because the map contains the ignition timing obtained in advance through experiments.

つぎに、B7で、現在の運転領域がノックゾーンかどう
かを見る。ここでは、充填量CEが300CC以上であればノ
ックゾーンであると判断している。
Then, in the B 7, the current operating area to see whether or not the knock zone. Here, if the filling amount CE is 300 CC or more, it is determined to be in the knock zone.

NO、つまりノックゾーンでないということであれば、
ノッキングコントロールフラッグをクリアし(B8)、学
習補正値をクリアする(B9)。そしてB3に戻っていく。
つまり、ノックゾーンでないところでは基本的な点火時
期だけで制御を行う。
NO, that is, not in the knock zone,
Clear the knocking control flag (B 8), to clear the learning correction value (B 9). Then go back to B 3 .
That is, the control is performed only by the basic ignition timing in a place other than the knock zone.

YES、すなわちノックゾーンであれば、ノックコント
ロールフラッグをセットし(B10),B11に行く。
If YES, that is, in the knock zone, set the knock control flag (B 10 ), and go to B 11 .

B11では、回転数NEと充填量CEのマップから現在の学
習ゾーンを計算する。つまり、マップにおける行の番号
jと列の番号kを計算して、現在の運転状態がどのゾー
ンj,kに該当するかを求める。そして、現在の学習ゾー
ンj,kに対応する学習値L ijkをRAM上のマップから読み
出す(B12)。つまり、現在制御する気筒が何番目の気
筒であるか、したがってどのマップを選択するかを、i
で表現し、L ijkを最終的な学習値として読み込む。
At B 11 , the current learning zone is calculated from the map of the rotational speed NE and the filling amount CE. That is, the row number j and the column number k in the map are calculated to determine which zone j, k the current operating state corresponds to. Then, the learning value L ijk corresponding to the current learning zone j, k is read from the map on the RAM (B 12 ). In other words, the number of the cylinder currently controlled and the map to be selected are determined by i
, And read L ijk as the final learning value.

そして、第1気筒の学習補正値AL1を計算し(B13)、
ついでその他の気筒の学習補正値を計算する(B14)。
現在の気筒が第1気筒であればそのままのデータが使わ
れるが、他の気筒であれば、第1気筒のデータAL1jkと
その気筒のデータL ijkとの足し算となる。
Then, the learning correction value AL1 for the first cylinder is calculated (B 13 ),
Then calculates the learning correction value of the other cylinders (B 14).
If the current cylinder is the first cylinder, the data is used as it is, but if it is another cylinder, the data AL1jk of the first cylinder and the data L ijk of the cylinder are added.

以上がバックグラウンドルーチンである。 The above is the background routine.

つぎに、第7図および第8図に示すインターラプトル
ーチンを説明する。I1〜I28は各ステップを示す。
Next, the interrupt routine shown in FIGS. 7 and 8 will be described. I 1 to I 28 indicate each step.

インターラプトルーチンは、ATDC60度の信号が来るた
びに1回作動する。常時はバックグラウンドルーチンが
作動しているが、ATDC60度の信号が来るとインターラプ
トルーチンに飛び、こちらが1回終われば、また飛んだ
位置に戻る。全体的にはそういった制御になっている。
The interrupt routine is activated once for each ATDC 60 degree signal. The background routine is operating all the time, but when the ATDC signal of 60 degrees arrives, it jumps to the interrupt routine, and when this ends once, it returns to the jumped position. That is the kind of control overall.

第4図で示したATDC60度のクランク角信号でこのルー
チンは走りだし(11)、割り込みが発生したときの時刻
TをFRC(フリーランニングカウンター)から読み取り
(I2)、たとえば今回読み取った時刻をT1とすれば、T1
とその前の回に読み取った時刻T2との差からTDC周期T0
を求める(I3)。そして、次回また周期を計算するため
に、今回の時刻T1をT2に入れていく。すなわち、前回割
り込み時刻を更新する(I4)。
This routine starts with the crank angle signal of ATDC 60 degrees shown in Fig. 4 ( 11 ), and the time T when the interrupt occurs is read from the FRC (free running counter) (I 2 ), for example, the time read this time. Is T1, then T1
From the time T2 read in the previous time and TDC cycle T0
(I 3 ). Then, in order to calculate the cycle again next time, this time T1 is put into T2. That is, the last interrupt time is updated (I 4 ).

つぎにI5でノックゾーンであるかどうかを検出する。
つまり、ここで立ったフラッグが1であるかどうかを検
出する。
Next, I 5 detects whether it is a knock zone.
That is, it is detected whether or not the flag set here is 1.

ノックゾーンでなければ(NO)、フィードバック補正
値をクリアする(I6)。
If it is not in the knock zone (NO), the feedback correction value is cleared (I 6 ).

ノックゾーンである(YES)ということであれば、ノ
ック強度IKを入力する(I7)。そして、ノッキングが有
るかどうかをみて(I8)、NO、すなわち無いということ
であれば、I9に行って、それまでに求まっているフィー
ドバック補正値を進角側に修正する。これは、いままで
のフィードバック補正値から所定値(非常に小さい値)
を引いたものを新しい補正値とするという操作である。
If it is the knock zone (YES), the knock intensity IK is input (I 7 ). Then, whether or not there is knocking (I 8 ), NO, that is, if there is no knocking, go to I 9 and correct the feedback correction value obtained so far to the advance side. This is a predetermined value (very small value) from the previous feedback correction value
It is an operation to obtain a new correction value by subtracting.

ノッキングがあれば(YES)、I10に行って、ノッキン
グの強度に応じた値(CR×IK、但し、CRは定数、IKはノ
ック強度である)をフィードバック値に加え、I11で非
ノックカウンターをクリアして、I12に行く。
If knocking (YES), go to I 10, the intensity value corresponding to knocking (CR × IK, however, CR is a constant, IK is knock intensity) was added to the feedback value, the non-knocking I 11 Clear the counter and go to I 12 .

I12では、学習条件かどうかをみている。つまり、ノ
ッキングが強ければ学習値をより遅角側に修正しなけれ
ばいけないということで、検出したノック強度が学習判
定ノック強度IKL(定数)より大きいかどうかをここで
みている。
In I 12 , it is checked whether it is a learning condition. In other words, if the knocking is strong, the learning value has to be corrected to the retard side, and it is checked here whether the detected knock intensity is larger than the learning determination knock intensity IKL (constant).

そして、YES、すなわちノッキングが強いときだけ、
現在の気筒の学習補正値を遅角側に修正する(I13)。
具体的には、今までの学習値ALiにAF/Bi×0.1を加えた
ものを新しい学習値にするという操作である。突発的な
ノッキングが起こっただけで後は起こらないという事態
にも対応できるように、修正は微少単位で行う。
And yes, only when knocking is strong,
Correct the learning correction value of the current cylinder to the retard side (I 13 ).
Specifically, it is an operation of adding a value obtained by adding AF / Bi × 0.1 to the learning value ALi so far to obtain a new learning value. Modifications are made in minute increments so that it is possible to deal with situations where sudden knocking occurs but not later.

I12で、NO、すなわち学習条件でないということであ
れば、学習値の更新を行うことはない。
In I 12, NO, namely if that is not the learning condition, no updating of the learning value.

I13で学習値が遅角修正されると、つぎに学習値を更
新するステップに移り、まず、I14で、iが1であるか
どうか、つまり第1気筒であるかどうかをみて、iが1
であれば(YES)、第1気筒の学習値を更新する
(I15)。
When the learning value is retarded in I 13 , the process proceeds to the step of updating the learning value. First, in I 14 , it is checked whether i is 1, that is, whether it is the first cylinder. Is 1
If so (YES), the learning value for the first cylinder is updated (I 15 ).

また、iが1でなければ(NO)、現在の気筒の学習値
を更新する(I16)。これは、その気筒の最終的に求め
た補正値ALiと第1気筒の学習値L1jkとの差を求め、こ
の差に対応したものを最終的に記憶するという操作であ
る。
If i is not 1 (NO), the learning value of the current cylinder is updated (I 16 ). This is an operation of obtaining the difference between the correction value ALi finally obtained for that cylinder and the learning value L1jk of the first cylinder, and finally storing the difference corresponding to this difference.

このようにして学習値が更新されると、これをもとに
最終点火時期の計算がおこなわれるが、その際、I
17で、そのときの気筒が第何気筒であるかを判定してい
る。つまり、第3図で示したポートに入ってくるシリン
ダー信号をみて、この信号がハイであれば第1気筒であ
り、ロウであればその他の気筒であるということで、ハ
イであれば(YES)、I18で気筒ナンバーiを初期化し
(iを1にする)、ロウであれば(NO)、I19で気筒ナ
ンバーiを更新していく(iにi+1を足していく)。
ここで、たとえばiが2のときは、現在の気筒が点火順
序で2番目の気筒すなわち第3気筒であるということに
なる。
When the learning value is updated in this way, the final ignition timing is calculated based on this, and at this time, I
At 17 , it is determined what cylinder the cylinder at that time is. That is, looking at the cylinder signal coming into the port shown in FIG. 3, if this signal is high, it means the first cylinder, if it is low, it means the other cylinder, and if it is high (YES ), The cylinder number i is initialized at I 18 (i is set to 1), and if low (NO), the cylinder number i is updated at I 19 (i + 1 is added to i + 1).
Here, for example, when i is 2, it means that the current cylinder is the second cylinder in the ignition order, that is, the third cylinder.

こうして作動気筒を判定した後、I20で最終点火時期
を計算する。
After determining the working cylinder in this way, the final ignition timing is calculated by I 20 .

一方、ノッキング領域であって、ノッキングが起こっ
ていないときは前述のとおりI9でフィードバック補正値
を進角側に修正していくのであるが、つづいてI21で、
過去にノッキングが発生しているかどうかをみている。
具体的には、その運転状態における今までの学習値が0
よりも大きければ、その領域で過去にノッキングが起こ
ったというふうに判断する。過去にノッキングが発生し
ていなければ(NO)学習補正値は0であって、更新は無
い。過去にノッキングが起こっている場合(YES)に
は、I22で現気筒の非ノックカウンターをインクレメン
ト(CW/Oi=CW/Oi+1)し、I23で学習条件であるかど
うかをみる。つまり、ノッキングが無いということで
(I8)ここに来ているのであるから、学習値を進角側に
修正しなければならないが、すぐに修正したのではハン
チングを起こすので、確実にノッキングが起きないかど
うかを知るために、300回以上ノッキングの無い状態が
続いたかどうかをみる。ノッキングが300回以上起きな
かったらI24で現気筒の学習値を進角側に修正し、現気
筒の非ノックカウンターをクリアする(I25)。
On the other hand, in the knocking region, when the knocking does not occur, the feedback correction value is corrected to the advance side with I 9 as described above, and then with I 21 ,
I am looking at whether knocking has occurred in the past.
Specifically, the learning value up to now in that driving state is 0.
If it is larger than that, it is determined that knocking has occurred in the area in the past. If knocking has not occurred in the past (NO), the learning correction value is 0 and there is no update. In the case where knocking is occurring (YES) in the past, the non-knock counter of the current cylinder increment (CW / Oi = CW / Oi + 1) and in I 22, see whether it is the learning conditions in the I 23. In other words, because there is no knocking (I 8 ) I am here, so I have to correct the learning value to the advance side, but if I correct it immediately, hunting will occur, so knocking will definitely occur. To see if it doesn't happen, look to see if you've been knocked free over 300 times. If knocking does not occur more than 300 times, I 24 is used to correct the learning value of the current cylinder to the advance side, and the non-knock counter of the current cylinder is cleared (I 25 ).

このように、一方は、大きなノッキングが起こってい
るので学習値を遅角側に修正するという操作であり、ま
た、他方は、ノッキングが300回以上にわたって起きな
かったから学習値を進角側に修正するという操作であっ
て、これらの操作に基づいてI14〜I18のステップで学習
値を更新するようになっている。そして、前述のとおり
ステップI17〜I20に至り最終点火時期を計算する。最終
点火時期ASは基本点火時期ABからフィードバック補正値
AF/Biと学習値ALiとを引いたものである。なお、ノック
ゾーンでないときは(I5でNO)、AF/BiとALiはともに0
であるから、AS=ABである。
In this way, one is an operation to correct the learning value to the retard side because a large knocking has occurred, and the other is to correct the learning value to the advance side because knocking did not occur over 300 times. The learning value is updated in steps I 14 to I 18 based on these operations. Then, to calculate the final ignition timing reaches a step I 17 ~I 20 as described above. The final ignition timing AS is the feedback correction value from the basic ignition timing AB
AF / Bi and learning value ALi are subtracted. If it is not in the knock zone (I 5 = NO), AF / Bi and ALi are both 0.
Therefore, AS = AB.

つぎに、I26で点火までの時間TCを計算する。Next, I 26 is used to calculate the time to ignition TC.

第4図のタイミングチャートから明らかなように、時
間TCにに対応するクランク角は90度から点火時期AS(TD
C前何度)を引いたものである。このクランク角から時
間TCが計算できる。こうして計算した通電時間TCをPTM
にセットする(I27)。第4図の説明でも述べたよう
に、セットした時刻からPTMがハイの信号を出し、時間T
Cが経過するとTPMの出力はロウに落ちる。この時点が点
火時期である。このようにPTMを時間で管理するように
している。
As is clear from the timing chart of FIG. 4, the crank angle corresponding to time TC starts from 90 degrees and the ignition timing AS (TD
Before C) is subtracted. The time TC can be calculated from this crank angle. The energization time TC calculated in this way is PTM
Set to (I 27 ). As described in the explanation of FIG. 4, the PTM outputs a high signal from the set time, and the time T
When C elapses, the TPM output drops low. This time is the ignition timing. In this way, the PTM is managed on time.

インターラプトルーチンは、第4図のタイミングチャ
ートでみたように、クランク角信号によって走り出す。
クランク角信号が来た時点でシリンダー信号がハイであ
れば気筒ナンバーiは1であって、ここで計算されたTC
に基づき特定気筒(第1気筒)の点火時期制御が行われ
る。そして、つぎのクランク角信号で、インターラプト
ルーチンはまた走り出す。そのときシリンダー信号がロ
ウであるから、この時点からiは2(第3気筒)にな
る。以下、iは、3(第4気筒)、4(第2気筒)と更
新されていき、つぎに来るハイのシリンダー信号によっ
て1にクリアされる。
The interrupt routine starts by the crank angle signal, as seen in the timing chart of FIG.
If the cylinder signal is high when the crank angle signal comes, the cylinder number i is 1 and TC calculated here is TC.
Based on the above, ignition timing control of the specific cylinder (first cylinder) is performed. Then, at the next crank angle signal, the interrupt routine starts again. Since the cylinder signal is low at that time, i becomes 2 (third cylinder) from this point. Thereafter, i is updated to 3 (4th cylinder) and 4 (2nd cylinder), and is cleared to 1 by the next high cylinder signal.

ところで、本発明は、上記のようなノッキング制御に
限らず、たとえば、多気筒エンジンにおいて気筒毎に空
燃比を制御するようなものであっても良い。燃料を同じ
ように供給しても、気筒間で空燃比がばらつくことは避
けがたいことから、各気筒の空燃比をたとえば14.7に制
御するために、気筒毎にそれぞれ補正値を持つように
し、しかもその補正値の持ちかたを上記のような格好に
することができる。また、上記実施例では、特定の気筒
については2バイトで学習値を表現し、その他の気筒に
ついては1バイト表現とするようになっているが、必要
に応じて、特定気筒は1バイトでその他は1/2バイトで
表現することも可能である。
By the way, the present invention is not limited to the knocking control as described above, but may be, for example, one in which the air-fuel ratio is controlled for each cylinder in a multi-cylinder engine. Even if the fuel is supplied in the same way, it is unavoidable that the air-fuel ratio varies between the cylinders, so in order to control the air-fuel ratio of each cylinder to, for example, 14.7, each cylinder has its own correction value, Moreover, the manner of holding the correction value can be set as described above. Further, in the above-described embodiment, the learning value is expressed in 2 bytes for a specific cylinder and expressed in 1 byte for other cylinders. Can also be expressed as 1/2 byte.

(発明の効果) 本発明はこのように構成されているので、気筒別学習
制御の全体的な精度を落とすことなく記憶容量を低減す
ることができる。したがってまた、従来のようにRAMを
増設する必要がないので、コスト低減、耐ノイズ性向
上,省スペース,軽量化特の効果が得られる。
(Effects of the Invention) Since the present invention is configured in this way, it is possible to reduce the storage capacity without reducing the overall accuracy of the learning control for each cylinder. Therefore, since it is not necessary to add RAM as in the conventional case, the effects of cost reduction, noise resistance improvement, space saving, and weight reduction can be obtained.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明の全体構成図、第2図は本発明の一実施
例を示す概略図、第3図は同実施例の要部を示す機能ブ
ロック図、第4図は同実施例における点火時期の基本的
な制御を示すタイミングチャート、第5図は同実施例に
おける遅角量学習値のマップを示す図、第6図,第7
図,および第8図は同実施例の制御を実行するフローチ
ャートである。 1:エンジン本体、2:センサー、3:電気的制御装置、7:配
電器、9:エアフローセンサ。
FIG. 1 is an overall configuration diagram of the present invention, FIG. 2 is a schematic diagram showing an embodiment of the present invention, FIG. 3 is a functional block diagram showing an essential part of the same embodiment, and FIG. A timing chart showing the basic control of the ignition timing, FIG. 5 is a diagram showing a map of the retarded amount learning value in the same embodiment, FIG. 6, and FIG.
FIG. 8 and FIG. 8 are flowcharts for executing the control of the same embodiment. 1: Engine body, 2: Sensor, 3: Electric control device, 7: Distributor, 9: Air flow sensor.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 F02D 45/00 340 H 376 B F02P 5/15 5/152 5/153 ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI Technical indication location F02D 45/00 340 H 376 B F02P 5/15 5/152 5/153

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】エンジンの運転状態を検出する運転状態検
出手段と、該運転状態検出手段の出力に基づいて基本制
御量を決定する基本制御量決定手段と、エンジンの気筒
別に燃焼状態を検出する気筒別燃焼検出手段と、該気筒
別燃焼検出手段からの信号に応じて気筒別にフィードバ
ック補正量を決定するフィードバック補正量決定手段
と、フィードバック補正量に基づいて学習値を演算する
学習値演算手段と、現気筒を識別する気筒識別手段と、
該気筒識別手段からの信号を受けて特定気筒の学習値を
記憶する第1の学習値記憶手段と、他の気筒の学習値と
特定気筒の学習値との差を演算する差分演算手段と、該
差分演算手段の出力を前記他の気筒の学習値として記憶
する第2の学習値記憶手段と、基本制御量とフィードバ
ック補正量と学習値とから気筒別の最終制御量を決定す
る最終制御量決定手段と、該最終制御量決定手段の出力
によってエンジンの燃焼状態を制御する燃焼制御手段と
を備え、特定気筒の学習値はそのまま記憶し他の気筒の
学習値は前記特定気筒の学習値との差としてそれぞれ記
憶するようにしたことを特徴とするエンジンの制御装
置。
1. An operating state detecting means for detecting an operating state of an engine, a basic control amount determining means for determining a basic control amount based on an output of the operating state detecting means, and a combustion state for each cylinder of the engine. Combustion detection means for each cylinder, feedback correction amount determination means for determining a feedback correction amount for each cylinder according to a signal from the combustion detection means for each cylinder, and learning value calculation means for calculating a learning value based on the feedback correction amount. , Cylinder identifying means for identifying the current cylinder,
First learning value storage means for receiving a signal from the cylinder identification means and storing a learning value of a specific cylinder; difference calculation means for calculating a difference between a learning value of another cylinder and a learning value of the specific cylinder; Second learning value storage means for storing the output of the difference calculation means as a learning value for the other cylinder, and a final control amount for determining a final control amount for each cylinder from the basic control amount, the feedback correction amount, and the learning value. And a combustion control means for controlling the combustion state of the engine by the output of the final control amount determination means. The learning value of the specific cylinder is stored as it is and the learning value of the other cylinders is the learning value of the specific cylinder. The engine control device is characterized in that the difference is stored as a difference.
JP29281386A 1986-12-08 1986-12-08 Engine controller Expired - Lifetime JPH086630B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29281386A JPH086630B2 (en) 1986-12-08 1986-12-08 Engine controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29281386A JPH086630B2 (en) 1986-12-08 1986-12-08 Engine controller

Publications (2)

Publication Number Publication Date
JPS63147958A JPS63147958A (en) 1988-06-20
JPH086630B2 true JPH086630B2 (en) 1996-01-29

Family

ID=17786681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29281386A Expired - Lifetime JPH086630B2 (en) 1986-12-08 1986-12-08 Engine controller

Country Status (1)

Country Link
JP (1) JPH086630B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19651238C2 (en) * 1996-12-10 2001-06-21 Bosch Gmbh Robert Device determining the ignition angle of an internal combustion engine
DE19742630C2 (en) * 1997-09-26 2001-11-29 Siemens Ag Method for determining cylinder-specific ignition angles of a multi-cylinder internal combustion engine

Also Published As

Publication number Publication date
JPS63147958A (en) 1988-06-20

Similar Documents

Publication Publication Date Title
JP2510250B2 (en) Combustion control device for internal combustion engine
JPS58143169A (en) Method for controlling ignition timing
JPH0388945A (en) Knocking sensing method for engine
EP0302735B1 (en) Control apparatus of an internal combustion engine
WO2003006808A1 (en) 4-stroke engine control device and control method
JP2003286890A (en) Controller for engine
JPH0814271B2 (en) Ignition timing control device for internal combustion engine
JPH086630B2 (en) Engine controller
JPH0320588B2 (en)
JP2538626B2 (en) Control device for internal combustion engine
JPH0826838B2 (en) Ignition timing control method for internal combustion engine
JP2625933B2 (en) Ignition timing control device for internal combustion engine
JPH05141334A (en) Knocking control device for internal combustion engine
JP2625763B2 (en) Ignition timing control device for internal combustion engine
JPS63147971A (en) Engine knocking control device
JP2586435B2 (en) Knocking control device for internal combustion engine
JP2766905B2 (en) Ignition timing learning control method
JPH0735749B2 (en) Atmospheric pressure prediction method for internal combustion engine control
JP2514442B2 (en) Knock detection device for internal combustion engine
JP3031469B2 (en) Ignition timing control device for internal combustion engine
JP2734056B2 (en) Ignition timing control device for internal combustion engine
JPH0526952B2 (en)
JPH03141846A (en) Knocking detecting device for internal combustion engine
JPH0784861B2 (en) Ignition timing control method for internal combustion engine
JPS593176A (en) Ignition timing control for internal-combustion engine