JPH0610734A - Deceleration control device for internal combustion engine - Google Patents

Deceleration control device for internal combustion engine

Info

Publication number
JPH0610734A
JPH0610734A JP19620592A JP19620592A JPH0610734A JP H0610734 A JPH0610734 A JP H0610734A JP 19620592 A JP19620592 A JP 19620592A JP 19620592 A JP19620592 A JP 19620592A JP H0610734 A JPH0610734 A JP H0610734A
Authority
JP
Japan
Prior art keywords
throttle
internal combustion
engine speed
throttle opening
combustion engine
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.)
Pending
Application number
JP19620592A
Other languages
Japanese (ja)
Inventor
Tokio Matsui
時男 松井
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.)
Suzuki Motor Corp
Original Assignee
Suzuki 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 Suzuki Motor Corp filed Critical Suzuki Motor Corp
Priority to JP19620592A priority Critical patent/JPH0610734A/en
Publication of JPH0610734A publication Critical patent/JPH0610734A/en
Pending legal-status Critical Current

Links

Landscapes

  • Control Of Throttle Valves Provided In The Intake System Or In The Exhaust System (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)

Abstract

PURPOSE:To perform the fuel cut control accurately, and stabilize the operation condition of an internal combustion engine at the time of deceleration by performing the fuel cut control when a predetermined value or less of the throttle open degree is detected and a predetermined value or more of the engine speed is detected. CONSTITUTION:In a deceleration control device 2, drive of an intake throttle valve 4 is controlled by a control unit 16 through a throttle motor 12. At the time of deceleration of an internal combustion engine, the intake throttle valve 4 is opened and the dash pot control, that returns the throttle open degree to the full open condition gradually, is performed. In this case, a throttle open degree sensor 18 and an engine speed sensor 20 are respectively provided. As a result, When a predetermined value or less of the throttle open degree is detected and a predetermined value ore less of the engine speed is detected, the control unit 16 performs the fuel cut control. Fuel cut control is thereby performed accurately to stabilize the operation condition of an internal combustion engine at the time of deceleration.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、内燃機関の減速時制
御装置に係り、特に内燃機関の減速時に吸気絞り弁を閉
動作してスロットル開度をスロットルモータによって漸
次略全閉状態まで戻すダッシュポット制御を行う内燃機
関の減速時制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a deceleration control device for an internal combustion engine, and more particularly to a dash for gradually closing the intake throttle valve to a substantially fully closed state by a throttle motor when the internal combustion engine is decelerated. The present invention relates to a deceleration control device for an internal combustion engine that performs pot control.

【0002】[0002]

【従来の技術】内燃機関に吸気を導入する吸気系におい
ては、内燃機関のアイドル運転時に吸気絞り弁を強制的
に開閉動作させてスロットル開度を変更させるべく通電
・非通電によって駆動されるステップモータであるスロ
ットルモータ(DCモータ)を有する減速時制御装置が
備えられているものがある。この減速時制御装置におい
ては、減速時にスロットル開度がスロットルモータのプ
ランジャの伸び縮みによって調整される。このスロット
ルモータの動きは、制御部によって制御されている。
2. Description of the Related Art In an intake system for introducing intake air into an internal combustion engine, a step in which the intake throttle valve is driven by energization / de-energization to force the intake throttle valve to open / close to change the throttle opening when the engine is idle. Some include a deceleration control device having a throttle motor (DC motor) which is a motor. In this deceleration control device, the throttle opening is adjusted by the expansion and contraction of the plunger of the throttle motor during deceleration. The movement of the throttle motor is controlled by the controller.

【0003】また、前記スロットルモータの先端側に
は、内燃機関のアイドル運転を検知すべく、オン・オフ
するアイドルスイッチが設けられている。更に、アイド
ル運転時のスロットル開度は、スロットルレバーと反対
側に設けられたスロットル開度センサから制御部に入力
される。前記スロットルモータの制御は、アイドルスイ
ッチがオン時のみに行われている。
Further, an idle switch for turning on and off is provided on the tip end side of the throttle motor to detect idle operation of the internal combustion engine. Further, the throttle opening during idle operation is input to the control unit from a throttle opening sensor provided on the opposite side of the throttle lever. The throttle motor is controlled only when the idle switch is on.

【0004】また、スロットルバルブの減速時開度制御
方法としては、特開昭59−37238号公報に開示さ
れる如く、スロットルレバーをスプリングの付勢力によ
り直流モータ駆動のスロットルアクチュエータに当接さ
せてスロットルバルブの全閉方向戻し位置を制御すると
ともに、スロットルレバーがアクセルペダルの踏み込み
によってスロットルアクチュエータから離れたときに、
直流モータを駆動してスロットルアクチュエータを予め
設定したスロットルバルブ全開方向側スロットルバルブ
戻し位置に移動させ、且つ、スロットルバルブがスプリ
ングの付勢力によって戻されてスロットルアクチュエー
タに当接したときに、直流モータを駆動してスロットル
アクチュエータを予め設定したスロットルバルブ全閉方
向側スロットルバルブ戻し位置にエンジン特性に対応し
て予め設定した減速率に従って徐々に移動させるべく制
御するものがある。
Further, as a method for controlling the opening degree of the throttle valve during deceleration, as disclosed in Japanese Patent Laid-Open No. 59-37238, the throttle lever is brought into contact with a throttle actuator driven by a DC motor by the urging force of a spring. While controlling the fully closed direction return position of the throttle valve, when the throttle lever is separated from the throttle actuator by depressing the accelerator pedal,
When the DC motor is driven to move the throttle actuator to a preset throttle valve fully open side throttle valve return position, and when the throttle valve is returned by the biasing force of the spring and contacts the throttle actuator, the DC motor is turned on. There is one that is driven to control the throttle actuator to gradually move to a preset throttle valve fully closed direction side throttle valve return position in accordance with a deceleration rate preset corresponding to engine characteristics.

【0005】[0005]

【発明が解決しようとする課題】ところで、従来の内燃
機関においては、減速による急激なバックトルクを防止
するために減速時のスロットル開度を漸次略全閉位置ま
で戻すダッシュポット制御を行うものがある。
By the way, in the conventional internal combustion engine, in order to prevent a sudden back torque due to deceleration, there is a dashpot control in which the throttle opening during deceleration is gradually returned to substantially the fully closed position. is there.

【0006】また、スロットル開度をスロットルモータ
により制御する内燃機関では、ダッシュポット制御を前
記スロットルモータの動作により行っている。このた
め、予めアイドル回転数用スロットル開度よりも大なる
スロットル開度を設定し、このスロットル開度に維持す
べくスロットル開放方向にスロットルモータを動作させ
ておく必要があった。
Further, in an internal combustion engine in which the throttle opening is controlled by a throttle motor, dashpot control is performed by the operation of the throttle motor. Therefore, it is necessary to set a throttle opening that is larger than the throttle opening for idle speed in advance and operate the throttle motor in the throttle opening direction to maintain this throttle opening.

【0007】更に、上述した内燃機関には、減速時のオ
ーバリッチ化を防止するために、スロットル開度が略全
閉状態の時に燃料カット制御を行うものがある。
Further, some of the above-described internal combustion engines perform fuel cut control when the throttle opening is in a substantially fully closed state in order to prevent overriching during deceleration.

【0008】前記内燃機関は、スロットルモータにより
内燃機関の運転状態に応じたアイドル回転用スロットル
開度たる略全閉位置を変化させている。このスロットル
モータの先端側には、アイドルスイッチが取り付けられ
ていた。
In the internal combustion engine, a throttle motor changes a substantially fully closed position which is a throttle opening for idle rotation according to an operating state of the internal combustion engine. An idle switch was attached to the tip side of this throttle motor.

【0009】このアイドルスイッチによりスロットル開
度の略全閉時のアイドル判定を行っている。また、通常
は、前記アイドルスイッチがオンとなった時に燃料カッ
ト制御を行っていた。
The idle switch makes an idle determination when the throttle opening is substantially fully closed. Further, normally, the fuel cut control is performed when the idle switch is turned on.

【0010】この結果、スロットルモータの先端側にア
イドルスイッチが設けられているとともに、前記アイド
ルスイッチの位置が前記スロットルモータの駆動状態に
よって変化してしまうため、予め設定されている燃料カ
ット制御開始用スロットル開度よりも大なるスロットル
開度でも燃料がカットされてしまう場合があり、内燃機
関の運転状態が不安定になる惧れがあり、実用上不利で
あるという不都合があった。
As a result, an idle switch is provided on the tip side of the throttle motor, and the position of the idle switch changes depending on the driving state of the throttle motor. The fuel may be cut off even at a throttle opening larger than the throttle opening, and the operating state of the internal combustion engine may become unstable, which is a disadvantage in practical use.

【0011】[0011]

【課題を解決するための手段】そこで、この発明は、上
述の不都合を除去するために、内燃機関の減速時に吸気
絞り弁を閉動作してスロットル開度をスロットルモータ
によって漸次略全閉状態まで戻すダッシュポット制御を
行う制御部を有する内燃機関の減速時制御装置におい
て、スロットル開度を検出するスロットル開度センサを
設けるとともにエンジン回転数を検出するエンジン回転
数センサを設け、前記スロットル開度センサから検出さ
れたスロットル開度が所定のスロットル開度以下且つ前
記エンジン回転数センサから検出されたエンジン回転数
が設定エンジン回転数以上である際には燃料カット制御
を行うべく動作する機能を前記制御部に付加して設けた
ことを特徴とする。
Therefore, in order to eliminate the above-mentioned inconvenience, the present invention closes the intake throttle valve at the time of deceleration of the internal combustion engine to gradually change the throttle opening to a substantially fully closed state by the throttle motor. In a deceleration control device for an internal combustion engine having a control unit for performing a dash pot control for returning, a throttle opening sensor for detecting a throttle opening and an engine speed sensor for detecting an engine speed are provided, and the throttle opening sensor is provided. When the throttle opening detected from the engine speed is equal to or less than a predetermined throttle opening and the engine speed detected by the engine speed sensor is equal to or higher than the set engine speed, the function for operating the fuel cut control is controlled. It is characterized in that it is provided in addition to the section.

【0012】[0012]

【作用】この発明の構成によれば、内燃機関の動作時に
は、制御部にスロットル開度センサによって検出された
スロットル開度が入力されるとともに、エンジン回転数
センサによって検出されたエンジン回転数が入力されて
いる。そして、スロットル開度が所定のスロットル開度
以下且つエンジン回転数が設定エンジン回転数以上であ
る際には、制御部が燃料カット制御を行うべく動作して
いる。
According to the structure of the present invention, during operation of the internal combustion engine, the throttle opening detected by the throttle opening sensor is input to the control unit, and the engine speed detected by the engine speed sensor is input. Has been done. When the throttle opening is equal to or smaller than the predetermined throttle opening and the engine speed is equal to or higher than the set engine speed, the control unit operates to perform the fuel cut control.

【0013】[0013]

【実施例】以下図面に基づいてこの発明の実施例を詳細
且つ具体的に説明する。
Embodiments of the present invention will be described in detail and specifically with reference to the drawings.

【0014】図1、図2は、この発明の実施例を示すも
のである。図2において、2は内燃機関(図示せず)の
減速時制御装置、4は内燃機関(図示せず)への吸入空
気量を制御する吸気絞り弁である。この吸気絞り弁4
は、絞り弁軸6に保持されている。
1 and 2 show an embodiment of the present invention. In FIG. 2, 2 is a deceleration control device for an internal combustion engine (not shown), and 4 is an intake throttle valve for controlling the amount of intake air to the internal combustion engine (not shown). This intake throttle valve 4
Are held on the throttle valve shaft 6.

【0015】吸気絞り弁4の一端側には、半円形状のス
ロットルレバー8が連設されている。このスロットルレ
バー8の一端側には、アクセルペダル(図示せず)に連
結するアクセルワイヤ10が接続されている。
A semicircular throttle lever 8 is connected to one end of the intake throttle valve 4. An accelerator wire 10 connected to an accelerator pedal (not shown) is connected to one end of the throttle lever 8.

【0016】スロットルレバー8の他端側には、ステッ
プモータ(DCモータ)からなるスロットルモータ12
が設けられている。このスロットルモータ12は、図示
しないプランジャの伸び縮みによってスロットル開度状
態を調整するストッパ12Aを有している。このストッ
パ12Aの先端側には、前記スロットルレバー8の他端
側に接するアイドルスイッチ14が装着されている。
At the other end of the throttle lever 8, there is a throttle motor 12 consisting of a step motor (DC motor).
Is provided. The throttle motor 12 has a stopper 12A that adjusts the throttle opening state by expanding and contracting a plunger (not shown). An idle switch 14 that is in contact with the other end of the throttle lever 8 is attached to the tip of the stopper 12A.

【0017】このアイドルスイッチ14は、内燃機関
(図示せず)のアイドル運転時にオンとなり、前記スロ
ットルモータ12の制御を行わせ、アイドル運転以外の
時にオフとなるものである。このスロットルモータ12
は、制御部16に連絡されている。
The idle switch 14 is turned on when the internal combustion engine (not shown) is in idle operation, controls the throttle motor 12, and is turned off when not in idle operation. This throttle motor 12
Is in contact with the control unit 16.

【0018】また、スロットル開度を検出するスロット
ル開度センサ18を設けるとともに、エンジン回転数を
検出するエンジン回転数センサ20を設け、前記スロッ
トル開度センサ18から検出されたスロットル開度が所
定のスロットル開度以下且つ前記エンジン回転数センサ
20から検出されたエンジン回転数が設定エンジン回転
数(NECUT)以上である際には、燃料カット制御を
行うべく動作する機能を前記制御部16に付加して設け
る。
A throttle opening sensor 18 for detecting the throttle opening and an engine speed sensor 20 for detecting the engine speed are provided so that the throttle opening detected by the throttle opening sensor 18 has a predetermined value. When the engine speed lower than the throttle opening and the engine speed detected by the engine speed sensor 20 is equal to or higher than the set engine speed (NECUT), the control unit 16 is provided with a function for performing fuel cut control. Set up.

【0019】詳述すれば、前記制御部16には、絞り弁
軸6に設けたスロットル開度センサ18と、エンジン回
転数を検出するエンジン回転数センサ20とが連絡され
ている。前記スロットル開度センサ18には、バッテリ
22が連絡されている。
More specifically, the control unit 16 is connected to a throttle opening sensor 18 provided on the throttle valve shaft 6 and an engine speed sensor 20 for detecting the engine speed. A battery 22 is connected to the throttle opening sensor 18.

【0020】また、前記制御部16は、スロットル開度
が所定のスロットル開度たるアイドル学習開度(ID学
習開度)に一定開度(A)を加えたスロットル開度以下
且つエンジン回転数が設定エンジン回転数(NECU
T)以上である際に、燃料カット制御を行うべく動作す
るものである。
Further, the control unit 16 determines that the throttle opening is equal to or less than the throttle opening obtained by adding a constant opening (A) to the idle learning opening (ID learning opening) which is a predetermined throttle opening, and the engine speed is Set engine speed (NECU
When it is T) or more, it operates to perform fuel cut control.

【0021】次に、この実施例の作用を、図1のフロー
チャートに基づいて説明する。
Next, the operation of this embodiment will be described based on the flowchart of FIG.

【0022】制御部16のプログラムがスタート(ステ
ップ102)すると、先ず、アイドルスイッチ14がオ
ンか否かの判断(ステップ104)を行い、このステッ
プ104がNOの場合は、ステップ102に戻す。
When the program of the control unit 16 is started (step 102), it is first judged whether or not the idle switch 14 is turned on (step 104). If this step 104 is NO, the process is returned to step 102.

【0023】また、前記ステップ104がYESの場合
には、スロットル開度が所定のスロットル開度たるアイ
ドル学習開度(ID学習開度)に一定開度(A)を加え
たスロットル開度以下であるか否かの判断(ステップ1
06)を行い、このステップ106がNOの場合は、ス
テップ102に戻す。
If YES in step 104, the throttle opening is equal to or less than the throttle opening obtained by adding a constant opening (A) to the idle learning opening (ID learning opening) which is a predetermined throttle opening. Judgment of whether or not there is (step 1
06) is performed, and if the result of step 106 is NO, the process returns to step 102.

【0024】更に、前記ステップ106がYESの場合
には、エンジン回転数が設定エンジン回転数(NECU
T)以上か否かの判断(ステップ108)を行い、この
ステップ108がNOの場合は、ステップ102に戻
す。
Furthermore, if step 106 is YES, the engine speed is set engine speed (NECU
It is judged whether or not (T) or more (step 108). If this step 108 is NO, the process returns to step 102.

【0025】更にまた、前記ステップ108がYESの
場合には、燃料カット制御を行っている。(ステップ1
10)
Furthermore, if step 108 is YES, fuel cut control is being performed. (Step 1
10)

【0026】これにより、予め設定されている燃料カッ
ト制御用スロットル開度よりも大なるスロットル開度
で、つまり、不必要時に燃料カット制御が行われるのを
防止することができ、必要時にのみ燃料カット制御を確
実に行い得て、実用上有利である。
This makes it possible to prevent the fuel cut control from being performed when the throttle opening is larger than the preset fuel cut control throttle opening, that is, when the fuel is not needed. The cut control can be surely performed, which is practically advantageous.

【0027】また、必要時に燃料カット制御が確実に行
われることにより、減速時の内燃機関の運転状態を安定
化させることができる。
Further, by reliably performing the fuel cut control when necessary, it is possible to stabilize the operating state of the internal combustion engine during deceleration.

【0028】更に、前記制御部16内のプログラムの変
更のみで対処することができることにより、構成が複雑
化する惧れが全くなく、製造が容易であり、コストを低
廉に維持し得て、経済的に有利である。
Further, since it can be dealt with only by changing the program in the control unit 16, there is no fear of complicating the structure, the manufacturing is easy, the cost can be kept low, and the economy is low. Is advantageous.

【0029】[0029]

【発明の効果】以上詳細な説明から明らかなようにこの
発明によれば、スロットル開度を検出するスロットル開
度センサを設けるとともにエンジン回転数を検出するエ
ンジン回転数センサを設け、スロットル開度センサから
検出されたスロットル開度が所定のスロットル開度以下
且つエンジン回転数センサから検出されたエンジン回転
数が設定エンジン回転数以上である際には燃料カット制
御を行うべく動作する機能を制御部に付加して設けたの
で、予め設定されている燃料カット制御用のスロットル
開度よりも大なるスロットル開度での燃料のカットを防
止でき、燃料カット制御を確実に行い得て、実用上有利
であるとともに、減速時の内燃機関の運転状態を安定化
させることができる。
As is apparent from the above detailed description, according to the present invention, the throttle opening sensor for detecting the throttle opening and the engine speed sensor for detecting the engine speed are provided. When the throttle opening detected from the engine is equal to or lower than a predetermined throttle opening and the engine speed detected by the engine speed sensor is equal to or higher than the set engine speed, the control unit is provided with a function for performing fuel cut control. Since it is additionally provided, it is possible to prevent the fuel from being cut at a throttle opening that is larger than the preset throttle opening for fuel cut control, and it is possible to reliably perform fuel cut control, which is practically advantageous. In addition, the operating state of the internal combustion engine during deceleration can be stabilized.

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

【図1】実施例における減速時制御用のフローチャート
である。
FIG. 1 is a flowchart for deceleration control in an embodiment.

【図2】減速時制御装置のシステム構成図である。FIG. 2 is a system configuration diagram of a deceleration control device.

【符号の説明】[Explanation of symbols]

2 減速時制御装置 4 吸気絞り弁 6 絞り弁軸 8 スロットルレバー 10 アクセルワイヤ 12 スロットルモータ 14 アイドルスイッチ 16 制御部 18 スロットル開度センサ 20 エンジン回転数センサ 2 Control device during deceleration 4 Intake throttle valve 6 Throttle valve shaft 8 Throttle lever 10 Accelerator wire 12 Throttle motor 14 Idle switch 16 Control section 18 Throttle opening sensor 20 Engine speed sensor

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 内燃機関の減速時に吸気絞り弁を閉動作
してスロットル開度をスロットルモータによって漸次略
全閉状態まで戻すダッシュポット制御を行う制御部を有
する内燃機関の減速時制御装置において、スロットル開
度を検出するスロットル開度センサを設けるとともにエ
ンジン回転数を検出するエンジン回転数センサを設け、
前記スロットル開度センサから検出されたスロットル開
度が所定のスロットル開度以下且つ前記エンジン回転数
センサから検出されたエンジン回転数が設定エンジン回
転数以上である際には燃料カット制御を行うべく動作す
る機能を前記制御部に付加して設けたことを特徴とする
内燃機関の減速時制御装置。
1. A deceleration control device for an internal combustion engine, comprising: a control portion for performing a dashpot control in which an intake throttle valve is closed at the time of deceleration of the internal combustion engine to gradually return a throttle opening to a substantially fully closed state by a throttle motor. A throttle opening sensor for detecting the throttle opening is provided, and an engine speed sensor for detecting the engine speed is provided.
Operates to perform fuel cut control when the throttle opening detected by the throttle opening sensor is equal to or less than a predetermined throttle opening and the engine speed detected by the engine speed sensor is equal to or higher than a set engine speed. A deceleration control device for an internal combustion engine, which is provided by adding the function of: to the control unit.
JP19620592A 1992-06-30 1992-06-30 Deceleration control device for internal combustion engine Pending JPH0610734A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19620592A JPH0610734A (en) 1992-06-30 1992-06-30 Deceleration control device for internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19620592A JPH0610734A (en) 1992-06-30 1992-06-30 Deceleration control device for internal combustion engine

Publications (1)

Publication Number Publication Date
JPH0610734A true JPH0610734A (en) 1994-01-18

Family

ID=16353949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19620592A Pending JPH0610734A (en) 1992-06-30 1992-06-30 Deceleration control device for internal combustion engine

Country Status (1)

Country Link
JP (1) JPH0610734A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7883443B2 (en) 2005-09-15 2011-02-08 Kawasaki Jukogyo Kabushiki Kaisha Method and system for controlling an engine for a vehicle, and a motorcycle

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7883443B2 (en) 2005-09-15 2011-02-08 Kawasaki Jukogyo Kabushiki Kaisha Method and system for controlling an engine for a vehicle, and a motorcycle

Similar Documents

Publication Publication Date Title
US7458915B2 (en) Leisure vehicle
JP5568527B2 (en) Vehicle control device
JPH0610734A (en) Deceleration control device for internal combustion engine
JPH0797950A (en) Throttle controller of internal combustion engine
JPH0666187A (en) Method and device for controlling actuator for car
JPH09287508A (en) Electric control throttle controller
JP3203697B2 (en) Electronic governor control device
JPH08144813A (en) Deceleration controller for engine
JP2001329878A (en) Exhaust gas recirculation control device
JPH04276143A (en) Throttle valve controller for internal combustion engine
JPH01249532A (en) Vehicle control device
JPS6160969B2 (en)
JPH0324849Y2 (en)
JPH042784B2 (en)
JP2003056372A (en) Control system for internal combustion engine and its method
JPH0143302Y2 (en)
JP4720366B2 (en) Intake control device for internal combustion engine
JPS6324143B2 (en)
JPS6176735A (en) Idle rotating number control method of engine
JPH07246857A (en) Cruise control device for internal combustion engine
JPS6093144A (en) Control device of idle speed in internal-combustion engine
JPH05296089A (en) Throttle fully-closed position control device for engine
JPH04124433A (en) Engine throttle valve controller
JPH05332183A (en) Idling engine speed control device for internal combustion engine
JPH0610729A (en) Start-up time control device for internal combustion engine