(57)【特許請求の範囲】
【請求項１】
車両に搭載された内燃機関のスロットルバルブをアクチュエータによって開閉し、該スロットルバルブの開度をアクセル操作量検出手段によって検出されるアクセル操作量に応じて調節する内燃機関のスロットル制御装置において、
前記スロットル制御装置に異常が発生していることが検出されているときに、前記スロットルバルブの開閉が可能でありかつ前記アクセル操作量検出手段からアクセル操作量に対応して変化する信号が出力されている異常状態を判定する異常判定手段と、
前記アクセル操作量検出手段からの信号を、予め定められた複数の操作領域毎に、それぞれ異なる一定値に変換し、アクセル操作量に応じた階段状の信号とする信号処理手段と、
前記異常判定手段によって前記異常状態が判定されたときには、前記信号処理手段からの信号に基きスロットルバルブの開度を制御する制御手段とを備える内燃機関のスロットル制御装置。
【請求項２】
前記信号処理手段の前記一定値は、前記異常判定手段によって前記異常状態が判定されていない場合に前記アクセル操作量検出手段によって検出される値に比べて小さくされる請求項１に記載の内燃機関のスロットル制御装置。
【請求項３】
前記信号処理手段で用いられる前記アクセル操作量検出手段からの信号は、信号の変化速度を予め決められた値以内に制限して用いられる請求項１又は２に記載の内燃機関のスロットル制御装置。
【請求項４】
前記信号処理手段で用いられる前記アクセル操作量検出手段からの信号は、信号の大きさを予め決められた値以内に制限して用いられる請求項１、２及び３のいずれかに記載の内燃機関のスロットル制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両に搭載された内燃機関のスロットルバルブをアクチュエータによって開閉し、該スロットルバルブの開度を調節する内燃機関のスロットル制御装置に関する。
【０００２】
【従来の技術】
周知の様に内燃機関の吸気通路に設けられたスロットルバルブは、運転者により踏み込み操作されるアクセルペダルとワイヤ等を通じて機械的に連結されており、その開度はアクセルペダルの踏み込み量に応じて一義的に決定される。これに対して、近年では、内燃機関の運転状態に基づいてスロットルバルブをモータ等のアクチュエータを用いて開閉制御するようにしたシステム、いわゆる電子スロットル制御システムも採用されている。
【０００３】
この電子スロットル制御システムにあっては、アクセルペダルの操作量を検出するためのセンサが設けられており、このセンサによって検出されたアクセルペダルの操作量と内燃機関の運転状態に基づいて目標スロットル開度を算出し、スロットルバルブの開度が該目標スロットル開度となる様にスロットルバルブをアクチュエータによって開閉している。
【０００４】
ところで、電子スロットル制御システムにおいては、安全性を向上させるために二重の制御系統を備えており、アクセルペダルの操作量を検出するセンサも少なくとも２つ設け、一方のセンサが故障したときには他方のセンサの検出出力をスロットルバルブの開閉制御に用いている。
【０００５】
例えば、特開平１０−２９９５１３号公報に記載の装置においては、２つのアクセルセンサのうちの一方が故障したときには、正常な方のアクセルセンサを選択し、更に十分な安全性を確保するために、正常な方のアクセルセンサの検出出力を１／２倍にしてからスロットルバルブの開閉制御に用いていた。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来の装置においては、選択した正常な方のアクセルセンサの検出出力にノイズが載っている場合は、このノイズに応じてアクセルペダルの操作量が変化したものとみなされ、スロットルバルブの開度が変化して、内燃機関の出力が不用意に変動するという問題点があった。
【０００７】
そこで、本発明は、上記従来の課題に鑑みなされたものであり、異常の発生時にアクセルセンサの検出出力のノイズによる影響を受け難い内燃機関のスロットル制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記従来の課題を解決するために、本発明は、車両に搭載された内燃機関のスロットルバルブをアクチュエータによって開閉し、該スロットルバルブの開度をアクセル操作量検出手段によって検出されるアクセル操作量に応じて調節する内燃機関のスロットル制御装置において、前記スロットル制御装置に異常が発生していることが検出されているときに、前記スロットルバルブの開閉が可能でありかつ前記アクセル操作量検出手段からアクセル操作量に対応して変化する信号が出力されている異常状態を判定する異常判定手段と、前記アクセル操作量検出手段からの信号を、予め定められた複数の操作領域毎に、それぞれ異なる一定値に変換し、アクセル操作量に応じた階段状の信号とする信号処理手段と、前記異常判定手段によって前記異常状態が判定されたときには、前記信号処理手段からの信号に基きスロットルバルブの開度を制御する制御手段とを備えている。
【０００９】
本発明によれば、スロットル制御装置の異常時であっても、スロットルバルブの開閉が可能でありかつアクセル操作量検出手段からのアクセル操作量に対応して変化する信号が出力されているときには、この信号を、予め定められた複数の操作領域毎に、それぞれ異なる一定値に変換して、アクセル操作量に応じた階段状の信号とし、この階段状の信号に基きスロットルバルブの開度を制御している。従って、アクセル操作量検出手段からの信号にノイズが重畳していても、この信号がある一定値に保たれる。この結果、ノイズに応答してスロットルバルブの開度が変化せずに済み、ノイズによる影響を受け難ずに済む。
【００１０】
一実施形態では、前記信号処理手段の前記一定値は、前記異常判定手段によって前記異常状態が判定されていない場合に前記アクセル操作量検出手段によって検出される値に比べて小さくされている。この様に一定値を小さく設定すると、異状時のスロットル開度が小さくなり、これによって内燃機関のオーバランを防止することができると共に、内燃機関の出力低下により運転者に異常発生を知らせることができる。また、異常時のアクセル操作量検出手段からの信号がノイズの重畳等によって実際より大きくなって出力されている場合でも、内燃機関のオーバランを防止することができる。
【００１１】
一実施形態では、前記信号処理手段で用いられる前記アクセル操作量検出手段からの信号は、信号の変化速度を予め決められた値以内に制限して用いられる。ここでも、異常時のアクセル操作量検出手段からの信号がノイズの重畳等によって実際より大きくなって出力されている場合に、内燃機関のオーバランを防止することができる。
【００１２】
一実施形態では、前記信号処理手段で用いられる前記アクセル操作量検出手段からの信号は、信号の大きさを予め決められた値以内に制限して用いられる。これによって内燃機関のオーバランを確実に防止することができる。
【００１３】
【発明の実施の形態】
図１および図２に、この発明の内燃機関のスロットル制御装置の一実施形態を示す。
【００１４】
まず、図１を参照して同実施形態のスロットル制御装置が適用される内燃機関、並びにその周辺装置の概略構成について説明する。
【００１５】
図１において、内燃機関（車載エンジン）１は、例えば直列４気筒の４サイクルエンジンとして構成されている。このエンジン１の吸気通路２には、上流に図示しないエアクリーナが設けられ、同エアクリーナの下流側には、スロットルバルブ１０が設けられている。このスロットルバルブ１０は、電子制御装置（ＥＣＵ）２０を通じてその駆動が制御されるモータ１１によって開閉されるもので、同スロットルバルブ１０の開度に応じてエンジン１に供給される空気量が調節される。
【００１６】
また、上記スロットルバルブ１０には、その周辺機器としてスロットル開度センサ１２が設けられており、該スロットル開度センサ１２を通じてスロットルバルブ１０の開度が検出される。この検出信号は、スロットル開度信号ＴＡとしてＥＣＵ２０に取り込まれる。
【００１７】
また、吸気通路２のスロットルバルブ１０の下流には、同エンジン１ヘの吸入空気量（吸気圧）を検出する吸気圧センサ１３が設けられている。この吸気圧センサ１３によって検出される吸入空気量（吸気圧）は、吸気圧信号ＰＭとして、ＥＣＵ２０に取り込まれる。
【００１８】
さらに、吸気通路２は、インテークマニホールド５を介して同エンジン１の各気筒に接続されており、この吸気通路２から吸入され、上記スロットルバルブ１０により調節された空気は同インテークマニホールド５を経てエンジン１の各気筒に分配供給されるようになる。
【００１９】
このインテークマニホールド５には、各気筒にそれぞれ対応して燃料噴射弁であるインジェクタ５ａ，５ｂ，５ｃ，５ｄが配設されている。それらインジェクタ５ａ〜５ｄを通じて噴射供給される燃料は、上記調節され、分配供給される吸気通路２からの吸入空気と混合されて、同エンジン１の各気筒に供給される。
【００２０】
エンジン１の各気筒においては、それら供給された混合気がそれぞれ点火プラグ６ａ〜６ｄの点火に基づき各燃焼室にて爆発・燃焼され、図示しないクランクシャフトに駆動力が付与される。燃焼後の排気ガスは、排気通路３に排出され、更に触媒３１を経て浄化された後、外部に放出される。
【００２１】
また、上記クランクシャフトの近傍にはその回転角を検出するクランク角センサ２４が配設されている。このクランク角センサ２４からは、クランクシャフトの回転角（クランク角）の所定角度（例えば３０°）毎にパルス信号が出力され、この出力されたパルス信号が、同機関１の回転速度（回転数）に対応した回転数信号ＮＥとしてＥＣＵ２０に取り込まれる。
【００２２】
また、上記クランクシャフトに駆動連結されているこれも図示しないカムシャフトには、その近傍にカム角センサ２５が設けられている。このカム角センサ２５は通常、気筒判別センサとして用いられ、例えば第１気筒＃１の圧縮上死点（ＴＤＣ）に対応して適宜のパルス信号を出力する。この出力されるパルス信号は、カム角信号（気筒判別信号）ＣＡとして同様にＥＣＵ２０に取り込まれる。
【００２３】
また、エンジン１本体には、そのウォータジャケット内を流れる冷却水の水温を検出する水温センサ２６が設けられている。この水温センサ２６による検出信号は、水温信号ＴＨＷとしてＥＣＵ２０に取り込まれ、エシジン１の機関温度を示すパラメータとして各種の制御に供される。
【００２４】
一方、図示しない車両の車室内にはアクセルペダル５１が設けられており、その操作量（踏込量）が、第１及び第２アクセルセンサ５３，５４によって検出される。第１アクセルセンサ５３は、抵抗帯５３ａと該抵抗帯５３ａ上を摺動する摺動子５３ｂを有しており、この摺動子５３ｂがアクセルペダル５１の操作に連動して該抵抗帯５３ａ上を摺動する。同様に、第２アクセルセンサ５４は、抵抗帯５４ａと該抵抗帯５４ａ上を摺動する摺動子５４ｂを有しており、この摺動子５４ｂがアクセルペダル５１の操作に連動して該抵抗帯５４ａ上を摺動する。
【００２５】
ＥＣＵ２０は、基準電圧Ｖc（例えば５.０Ｖ）及び接地電位Ｅ（例えば０Ｖ）を第１及び第２アクセルセンサ５３，５４の抵抗帯５３ａ，５４ａに印加する。
【００２６】
アクセルペダル５１の操作に連動して、第１及び第２アクセルセンサ５３，５４の摺動子５３ｂ，５４ｂがそれぞれの抵抗帯５３ａ，５４ａ上を摺動し、これらの摺動子５３ｂ，５４ｂの位置に対応するそれぞれのアクセル開度信号ＶPa1及びＶPa2が該各摺動子５３ｂ，５４ｂからＥＣＵ２０に出力される。ＥＣＵ２０は、例えば各アクセル開度信号ＶPa1及びＶPa2のうちの小さいレベルの方を選択し、選択した開度信号に基いてアクセルペダル５１の操作量（アクセル開度ＰACAL）を求める。
【００２７】
また、自動車の制動時に操作されるブレーキペダル５６には、ブレーキスイッチ５７が設けられている。ブレーキペダル５６が操作されると、ブレーキスイッチ５７がオンになる。ＥＣＵ２０は、ブレーキスイッチ５７のオンオフによりブレーキペダル５６が操作されているか否かを判定する。
【００２８】
ＥＣＵ２０は、例えばマイクロコンピュータを有して構成され、上記取り込まれる吸気圧信号ＰＭや回転数信号ＮＥ、水温信号ＴＨＷ等に基づいてインジェクタ５ａ〜５ｄを制御するとともに、上記取り込まれるスロットル開度信号ＴＡやアクセル開度信号ＶPa1，ＶPa2、更には水温信号ＴＨＷ等に基づいてスロットルバルブ１０を開閉制御する、
また、このＥＣＵ２０は、上記各燃焼室に導入された混合気に点火する点火タイミング（点火時期）も上記回転数信号ＮＥや吸気圧信号ＰＭに基づいて演算しており、この点火タイミングを指示する信号（点火信号）をイグナイタ６１に出力している。イグナイタ６１は、こうして入力される点火信号を、その内部に設けられた点火コイル６２によって、上記各点火プラグ６ａ，６ｂ，６ｃ，６ｄの点火駆動が可能な電力に変換する装置である。これにより、エンジン１の各気筒内に供給された混合気が上記演算された点火タイミングで着火され、爆発・燃焼されるようになる。
【００２９】
また一方、エンジン１には、車両の変速態様を切り替える自動変速機５２が連結されている。そしてこの自動変速機５２には、そのシフト位置（変速位置）を検出するシフト位置センサ２２が設けられている。このシフト位置センサ２２は主に、同自動変速機５２のシフト位置がＮ（ニュートラル）レンジにあるか、あるいはＤ（ドライブ）レンジにあるかを検出しており、その検出される内容がシフト位置情報としてＥＣＵ２０に取り込まれる。
【００３０】
さらに、図示しない車両の車軸には、その近傍に車速センサ２３が設けられており、同車速センサ２３によって車軸の回転速度、すなわち車両の速度が検出される。この検出信号は車速信号としてＥＣＵ２０に取り込まれる。
【００３１】
本実施形態にあっては、これらシフト位置情報や車速信号も、後述する機関出力の調整、特にその調整量の学習に際して参照される。
【００３２】
次に、上述したスロットルバルブ１０、並びにその周辺構造について、図２を参照して詳述する。
【００３３】
この実施形態のスロットル制御装置にあっては、同図２に示されるように。モータ１１からの動力がスロットルバルブ１０に伝達されるとともに、その動力がスロットル開度センサ１２にも直接伝達されて、スロットルバルブ１０の開度がこのスロットル開度センサ１２に直接反映されるようになっている。モータｌｌは上述のように、同図においては図示を割愛したＥＣＵ２０（図１）によってその駆動が制御される、
一方、このスロットルバルブ１０には、ばね機構を利用した補助機構４０が設けられており、同スロットルバルブ１０をモータｌ１によって駆動できない異常が生じたとき、すなわちスロットルフェール時には、この補助機構４０を通じてスロットルバルブ１０が所定開度に固定される。
【００３４】
すなわちこの補助機構４０において、スロットルバルブ１０に連結されたバルブレバー４４には、付勢力Ｆ２をもってスロットルバルブ１０を開弁方向に付勢する退避走行用スプリング４２が設けられるとともに、このバルブレバー４４とは独立して運動可能なバルブリターンレバー４３には、付勢力Ｆ１をもってバルブレバー４４をスロットルバルブ１０の閉弁方向に付勢するバルブリターンスプリング４１が設けられている。
【００３５】
ここで、上記バルブリターンスプリング４１の付勢力Ｆ１と上記退避走行用スプリング４２の付勢力Ｆ２とは、
Ｆ１＞Ｆ２
といった関係に設定されているが、バルブリターンレバー４３に対しては中間ストッパ４６が設けられていることにより、スロットルフェール時等、モータｌ１の非通電時には、バルブリターンレバー４３とバルブレバー４４との位置関係、すなわちスロットルバルブ１０の開度は、同図２に示される態様で固定される。この固定されるスロットルバルブ１０開度が上記所定開度であり、中間ストッパ４６の位置設定を通じて、通常は、アイドル運転時に要求される同スロットルバルブ１０の開度よりもやや開き側の開度に設定される。
【００３６】
そして、スロットルバルブ１０の正常時、同バルブ１０をモータ１１を通じて開弁方向に駆動する際には、バルブリターンスプリング４１の付勢力Ｆ１に抗してバルブレバー４４およびバルブリターンレバー４３が図２中において矢印Ｆ３方向に押し下げられ、バルブリターンレバー４３が全開ストッパ４７に当接したところでスロットルバルブ１０が全開となる。
【００３７】
また、スロットルバルブ１０の正常時、同バルブ１０をモータ１１を通じて閉弁方向に駆動する際には、退避走行用スプリング４２の付勢力Ｆ２に抗してバルブレバー４４が図２中において矢印Ｆ４方向に押し上げられ、バルブレバー４４が全閉ストッパ４５に当接したところでスロットルバルブ１０が全閉となる。
【００３８】
ところで、スロットルフェールとなった場合は、スロットルバルブ１０の開度が上記所定開度に固定されることにより、退避走行性能が確保される。また、アイドル運転時には、エンジン１の減筒運転を行ったり、あるいは空燃比補正や点火時期補正といった機関出力（エンジン出力）の調整を行うことで、そのオーバラン等も防止される。
【００３９】
これらエンジン出力の調整に際し、その冷間運転時と温間運転時とにおける機関抵抗（フリクション）の違いを考慮しないと、スロットルフエール時のアイドル運転時において、ストール若しくはオーバランを招くおそれがある。すなわち、エンジン出力の調整をエンジン１の温間運転時を基準として行うと、同エンジン１の冷間運転時にはストールに陥るおそれがあり、また、冷間運転時にストールしないように同エンジン出力の調整をエンジン１の冷間運転時を基準として行うと、同エンジン１の温間運転時にはオーバーランを招くおそれがある。このため、冷間運転時と温間運転時を区別して制御することが好ましい。
【００４０】
また、第１及び第２アクセルセンサ５３，５４の一方の故障時には、第１及び第２アクセルセンサ５３，５４の検出信号を全面的に信頼することはできないものの、安全性を確保した上で、運転者の操縦意志を可能な限り識別して反映しつつ、スロットルバルブ１０の開度を制御することが好ましい。
【００４１】
そこで、本実施形態においては、図３、図５、図７、図８、図１１、図１２、図１３、図１４、図１５及び図１６に示す様なフローチャートに従って処理を行うことにより、スロットル制御装置の多様な状態に応じて、それぞれ的確なスロットル制御を行うようにしている。
【００４２】
以下、図３〜図１８を参照して、このエンジン出力調整処理にかかる詳細を説明する。
【００４３】
先ず、図３および図４を参照して、同エンジン出力調整処理においてエンジン出力レベルの初期値を決定するルーチンについて具体的に説明する。なお、このルーチンをはじめとする同エンジン出力調整処理は、エンジン１の運転全般を制御する周知のエンジン制御メインルーチンの前処理として実行されるもので、例えば上記クランク角センサ２４を通じて検出されるクランクシャフトの所定角度毎の割り込み処理として、ＥＣＵ２０によって実行される。
【００４４】
さて、図３に示すエンジン出力レベル初期値決定ルーチンにおいては、ＥＣＵ２０は、スロットル制御装置異常フラグが機関始動後、最初にセットされたか否かを判断する（ステップＳ１０１）。ここで、スロットル制御装置異常フラグは、スロットル制御装置自体に異常が生じたときにセットされるフラグであって、図示しない別途のルーチンによって、機械的な異常、あるいは電気的な回路異常が発生したこと等を条件にセットされる。なお、このスロットル制御装置異常フラグは、ＥＣＵ２０内部の揮発性のメモリ又はレジスタにセットされ、エンジン１の運転停止時には一旦リセットされる。
【００４５】
そして、こうしたスロットル制御装置異常フラグが最初にセットされたと判断される場合にのみ（ステップＳ１０１，Ｙｅｓ）、ステップＳ１０２へ移行して、エンジン出力レベル学習初期値の決定処理が行われる。
【００４６】
このステップＳ１０２においては、ＥＣＵ２０は、エンジン水温ＴＨＷの値、およぴ図４に示すマップＡを読み込み、同マップＡに基づいて、そのときのエンジン水温ＴＨＷの値に対応したエンジン出力レベル学習初期値を決定する。なお、このマップＡは、ＥＣＵ２０内部の不揮発性のメモリに予め格納されている。
【００４７】
こうしてエンジン出力レベル学習初期値が決定された後は、図５および図７に示すエンジン出力レベル学習ルーチンに移行する。
【００４８】
一方、スロットル制御装置異常フラグが既にセットされていたり、あるいはセットされていない（正常）と判断される場合には（ステップＳ１０１，Ｎｏ）、当該ルーチンをぬけ、直接図５および図７に示すエンジン出力レベル学習ルーチンに移行する。
【００４９】
次に、図５〜図７を参照して、このエンジン出力調整処理においてエンジン出力レベルを学習するためのルーチンについて具体的に説明する。
【００５０】
図５に示すエンジン出力レベル学習ルーチンにあっては、まずＥＣＵ２０は、スロットル制御装置異常フラグおよび始動後判定フラグを読み込み、それらのフラグが共にセットされていることの論理積（アンド｝条件が満たされているか否かを判定する（ステップＳ２０１）。ここで、スロットル制御装置異常フラグについては上述した。また、始動後判定フラグは、エンジン１の図示しないスタータがオフ操作されていること、あるいはその後エンジン１が自律運転に至ったこと等に基づいてセットされるフラグである。
【００５１】
そして、上記論理積（アンド）条件が満たされていないと判断される場合、すなわちスロットル制御装置が正常であったり、エンジン１が始動中であった場合には（ステップＳ２０１，Ｎｏ）、ＥＣＵ２０は、一部の気筒の燃料カット（Ｆ／Ｃ）を禁止した上で（ステップＳ２０２）、前記周知のエンジン制御メインルーチンへ移行する。
【００５２】
一方、上記スロットル制御装置異常フラグおよび始動後判定フラグが共にセットされていると判断される場合には（ステップＳ２０１，Ｙｅｓ）、ＥＣＵ２０は、スロットルフェール、つまりスロットルバルブ１０がモータ１１によって駆動できない異常が生じているのかを判定する（ステップＳ２０３）。例えば、スロットルフェールでなく、他の異常がスロットルバルブ制御装置に発生しているのであれば（ステップＳ２０３，Ｙｅｓ）、ＥＣＵ２０は、図１１〜図１６に示す処理に移行し、この後に前記周知のエンジン制御メインルーチンヘ移行する。
【００５３】
また、スロットルフェールであって、スロットルバルブ１０が所定開度で固定されている場合は、エンジン１の出力を次の様にして制御する。
【００５４】
まず、ＥＣＵ２０は、アイドル運転時の回転数を監視するための上下限値を算出する（ステップＳ２０４）。このステップＳ２０４においては、エンジン水温ＴＨＷの値、上記自動変速機５２のシフト位置、および図６に示すマップＢが読み込まれ、同マップＢに基づいて、そのときのエンジン水温ＴＨＷの値、およびシフト位置情報（Ｎ，Ｄ）に対応したフィードバック（Ｆ／Ｂ）基準上限回転数ＮＥＦＢＵおよび同下限回転数ＮＥＦＢＤが算出決定される、
そして、こうした上下限回転数ＮＥＦＢＵ、ＮＥＦＢＤの決定後、ＥＣＵ２０は、エンジン１がアイドル運転中であるか非アイドル運転中であるかを判定する（ステップＳ２０５）。具体的には、前記車速センサ２３、クランク角センサ２４および第１及び第２アクセルセンサ５３，５４から、車速、エンジン回転数の変動度合い、およびアクセル開度ＰACALが読み込まれ、
・車速が出ていないこと。
・エンジン回転数変動が一定範囲内であること。
・アクセル開度ＰACALがアイドル開度であること。
の論理積（アンド）条件が満たされているか否かのチェックが行われる。
【００５５】
そして、上記論理積（アンド）条件が満たされていないと判断される場合には（ステップＳ２０５，Ｎｏ）、現在、エンジン１が非アイドル運転中であるとみなされて、後述するエンジン出力レベル決定ルーチン（図８）へ移行する。
【００５６】
他方、上記論理積（アンド）条件が満たされていると判断される場合には（ステップＳ２０５，Ｙｅｓ）、現在、エンジン１がアイドル回転中であるとして、図７に示すステップＳ２０６以隆の学習処理に移行する。
【００５７】
この学習処理にあって、ステップＳ２０６およびＳ２１０においては、上記エンジン回転数ＮＥが読み込まれ、同エンジン回転数ＮＥと上記ステップＳ２０４にて決定されたＦ／Ｂ基準下限回転数ＮＥＦＢＤとが比較される。
【００５８】
すなわち、ステップＳ２０６では、
ＮＥ＜ＮＥＦＢＤ
といった比較に基づいて、上記読み込まれたエンジン回転数ＮＥがＦ／Ｂ基準下限回転数ＮＥＦＢＤを下回っているか否かがチェックされる。
【００５９】
このチェックの結果、エンジン回転数ＮＥがＦ／Ｂ基準下限回転数ＮＥＦＢＤを下回っている旨判断される場合には（ステップＳ２０６，Ｙｅｓ）、ＥＣＵ２０は、回転数上昇補正用の上昇カウンタをインクリメントする（ステップＳ２０７）。そして、ＥＣＵ２０は、このインクリメントされた上昇カウンタ値と補正（学習値更新）実行のために設定された所定値とを比較する（ステップＳ２０８）。その後、当該ルーチンの上記ステップＳ２０６での比較条件が満たされ続けることにより、
上昇カウンタ値＞所定値
といった関係に至った時点で（ステップＳ２０８，Ｙｅｓ）、ＥＣＵ２０は、エンジン出力レベルベース学習値更新処理を行う（ステップ２０９）。このステップＳ２０９においては、エンジン回転数ＮＥがＦ／Ｂ基準下限回転数ＮＥＦＢＤを下回っている状態が上記所定値に対応する期間にわたって継続されることを条件に、前記ステップＳ１０２で決定されたエンジン出力レベル学習初期値であるエンジン出力レベルベース学習値が、
エンジン出力レベルベース学習値＋１
といった態様で更新される。
【００６０】
一方、エンジン回転数ＮＥがＦ／Ｂ基準下限回転数ＮＥＦＢＤを下回っていない旨判断されることを条件に（ステップＳ２０６，Ｎｏ）、
ＮＥ＞ＮＥＦＢＵ
といった比較に基づいて、ＥＣＵ２０は、上記読み込まれたエンジン回転数ＮＥがＦ／Ｂ基準上限回転数ＮＥＦＢＵを上回っているか否かをチェックする（ステップＳ２１０）。
【００６１】
このチェックの結果、エンジン回転数ＮＥがＦ／Ｂ基準上限回転数ＮＥＦＢＵを上回っている旨判断される場合には（ステップＳ２１０，Ｙｅｓ）、ＥＣＵ２０は、回転数下降補正用の下降カウンタをインクリメントする（ステップＳ２１１）。そして、ＥＣＵ２０は、このインクリメントされた下降カウンタ値と補正（学習値更新）実行のために設定された所定値とを比較する（ステップＳ２１２）。その後、当該ルーチンの上記ステップＳ２１０での比較条件が満たされ続けることにより、
下降カウンタ値＞所定値
といった関係に至った時点で（ステップＳ２１２，Ｙｅｓ）、ＥＣＵ２０は、エンジン出力レベルベース学習値更新処理を行う（ステップＳ２１３）。このステップＳ２１３においては、エンジン回転数ＮＥが上記所定値に対応する期間にわたって継続されることを条件に、前記ステップＳ１０２で決定されたエンジン出力レベルベース学習値が、
エンジン出力レベルベース学習値−１
といった態様で更新される。
【００６２】
こうしてエンジン出力レベルベース学習値の更新が行われた場合には、ＥＣＵ２０は、
１≦エンジン出力レベルベース学習値≦５
といった上下限ガード処理を行い（ステップＳ２１４）、更に上記上昇カウンタおよび下降カウンタをクリアした後（ステップＳ２１５）、エンジン出力レベル決定ルーチンに移行する。なお、上記Ｓ２０６およびＳ２１０での比較条件が共に満たされなかった場合、すなわち、エンジン回転数ＮＥが、
ＮＥＦＢＤ≦ＮＥ≦ＮＥＦＢＵ
といった範囲にあった場合には、上記ステップＳ２１５の処理を経てエンジン出力レベル決定ルーチンに移行する。
【００６３】
次に、図８を参照して、上記学習されるベース学習値に基づき最終的にエンジン出力レベルを決定・反映するルーチンについて具体的に説明する。この図８に示すエンジン出力レベル決定ルーチンにあっては、そのステップＳ３０１およびＳ３０４において、第１及び第２アクセルセンサ５３，５４を通じて検出されるアクセル開度ＰACALが読み込まれ、ステップＳ３０１では、
ＰACAL＜１０°
といった比較のもとに、加速要求があるか否かが、またステップＳ３０４では、
１０°≦ＰACAL＜２０°
といった比較のもとに、加速要求があった場合の要求度合いが判断される。
【００６４】
そして、アクセル開度ＰACALが１０°未満である旨判断される場合には（ステップＳ３０１，Ｙｅｓ）、ＥＣＵ２０は、加速要求が無いものとしてステップＳ３０２に移行し、
エンジン出力レベル＝ベース学習値
としてエンジン出力レベルを決定する。
【００６５】
こうしてエンジン出力レベルが決定された後、ＥＣＵ２０は、次のステップＳ３０３において、
１≦エンジン出力レベル≦５
といった態様で、同決定されたエンジン出力レベルに対する上下限ガードを施し、次のステップＳ３０８の処理に移行する。
【００６６】
また、上記読み込まれるアクセル開度ＰACALが１０°以上で、かつ２０°未満である旨判断される場合には（ステップＳ３０４，Ｙｅｓ）、ＥＣＵ２０は、加速要求はあるものの、その要求度合いは小さいとしてステップＳ３０５に移行し、
エンジン出力レベル＝ベース学習値＋１
としてエンジン出力レベルを決定する。
【００６７】
そしてこの場合には、ＥＣＵ２０は、
２≦エンジン出力レベル≦５
といった態様で、上記決定されたエンジン出力レベルに対する上下限ガードを施し（ステップＳ３０６）、ステップＳ３０８の処理に移行する。
【００６８】
他方、上記読み込まれるアクセル開度ＰACALが２０°以上である旨判断される場合には（ステップＳ３０４，Ｎｏ）、ＥＣＵ２０は、加速要求の要求度合いが大きいと判断してステップＳ３０７に移行し、
エンジン出力レベル＝５
としてエンジン出力レベルを固定的に決定する。このレベル「５」というエンジン出力レベルは、本実施形態においてスロットルフェール時の最大レベルであり、この場合にはガード処理が施されることなくステップＳ３０８の処理に移行する。
【００６９】
こうして、各々エンジン出力レベルが決定された後は、ステップＳ３０８において、図９に示すマップＣが読み込まれ、同マップＣに基づいて、それら決定されたエンジン出力レベルに対応する運転気筒数および点火時期が決定される。これら決定された運転気筒数および点火時期は、その後に引き続いて実行されるエンジン制御メインルーチンにおいて反映されることとなる。
【００７０】
この様にスロットルフェールに伴ってスロットルバルブ１０が所定開度に固定された場合（図２参照）、該スロットルフェールと判断されたときの機関温度（エンジン水温ＴＨＷ）に基づいて、先ずエンジン出力レベルのベース値（学習初期値）がマップＡ（図４）を通じて決定される。ただし、このベース値は、エンジン１のアイドル運転時の回転数に基づき、同回転数がマップＢ（図６）にて規定される機関温度および自動変速機のシフト位置に応じた所定の回転数の範囲に収まるようにフィードバック制御されつつ、その適正値が学習されている。このため、エンジン１に個体差があったり、その特性に経時的な変化が生じたとしても、上記マップＡを通じて決定されるエンジン出力レベルのベース値は、常に適切な値に維持される。
【００７１】
そして、エンジン１のアイドル運転時はもとより、車両の退避走行に際してアクセルペダル５１が踏込み操作される場合も、その操作量であるアクセル開度ＰACALと同開度ＰACALに対応したベース値（ベース学習値）とに基づいて最終的なエンジン出力レベルが決定される。これによりエンジン１は、アイドル運転時であれ、あるいは退避走行時であれ、それら状況に即した適切な出力レベルに設定されるようになる。
【００７２】
なお、上記決定されるエンジン出力レベル「１」〜「５」に応じて、それぞれマップＣ（図９）に示されるように、
（イ）エンジン出力レベル「１」に対応しては、エンジン１の運転気筒数を「２」、すなわち２気筒を減筒してエンジン１を運転する。また併せて、点火時期を通常制御での点火時期よりも遅角してエンジン１を運転する。図１０に示すように、点火時期によってもエンジン出力は変化する。ここでは、エンジン回転数ＮＥと吸気圧ＰＭとによって求まる通常点火時期よりも２５°ＣＡ（クランク角）だけ遅角する。
（ロ）エンジン出力レベル「２」に対応しては、エンジン１の運転気筒数を「３」、すなわち１気筒を減筒してエンジン１を運転する。また併せて、点火時期を通常点火時期よりも３０°ＣＡだけ遅角する。
（ハ）エンジン出力レベル「３」に対応しては、エンジン１の運転気筒数を「４」、すなわち全気筒運転する。また併せて、この場合も点火時期を通常点火時期よりも３０°ＣＡだけ遅角する。
（ニ）エンジン出力レベル「４」に対応しては、上記（ハ）と同様にエンジン１を全気筒運転する。また併せて、この場合には点火時期を通常点火時期よりも２５°ＣＡだけ遅角する。
（ホ）エンジン出力レベル「５」に対応しては、上記（ハ）および（ニ）と同様にエンジン１を全気筒運転する。また併せて、点火時期を通常点火時期に設定してエンジン１を運転する。
といった態様で、エンジン１の運転条件を制御する。このような態様でエンジン１の運転条件を制御することにより、エンジン出力レベル「１」〜「５」に応じて、順次エンジン出力が高められるようになる。また、これら制御される運転条件は、それが機関温度に応じて適切に選択されることにより、スロットルバルブ１０が所定開度に固定されるスロットルフェール時において、それぞれ同エンジン１のストールの防止、並びにオーバランの防止を図ることのできる運転条件となっている。
【００７３】
次に、先に述べた様に図５のステップＳ２０３において、スロットルフェールでなく（スロットルバルブ１０がモータ１１によって駆動できる状態）、他の異常がスロットルバルブ制御装置に発生していると判定された場合は、図１１〜図１６に示す処理に移行し、この後に前記周知のエンジン制御メインルーチンヘ移行する。この場合の一連の処理を説明する。
【００７４】
まず、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４からのそれぞれの検出信号ＶPa1及びＶPa2に基いて、第１及び第２アクセルセンサ５３，５４の故障を判定する（ステップＳ７０１〜７０８）。
【００７５】
例えば、第１アクセルセンサ５３の検出信号ＶPa1が低レベルしきい値Ａ（例えば０.５Ｖ）よりも低いか否かを判定し（ステップＳ７０１）、低ければ（ステップＳ７０１，Ｙｅｓ）、第１アクセルセンサ５３に断線又はショートが発生しているので、ショートフラグＸPA1UPをオフにすると共に、断線又はショートフラグＸPA1DNをオンにする（ステップＳ７０２）。
【００７６】
また、低くなければ（ステップＳ７０１，Ｎｏ）、第１アクセルセンサ５３の検出信号ＶPa1が高レベルしきい値Ｂ（例えば４.８Ｖ）よりも高いか否かを判定し（ステップＳ７０３）、高ければ（ステップＳ７０３，Ｙｅｓ）、第１アクセルセンサ５３にショートが発生しているので、ショートフラグＸPA1UPをオンにすると共に、断線又はショートフラグＸPA1DNをオフにする（ステップＳ７０４）。
【００７７】
更に、第２アクセルセンサ５４の検出信号ＶPa2が低レベルしきい値Ａよりも低いか否かを判定し（ステップＳ７０５）、低ければ（ステップＳ７０５，Ｙｅｓ）、第２アクセルセンサ５４に断線又はショートが発生しているので、ショートフラグＸPA2UPをオフにすると共に、断線又はショートフラグＸPA2DNをオンにする（ステップＳ７０６）。
【００７８】
また、低くなければ（ステップＳ７０５，Ｎｏ）、第２アクセルセンサ５４の検出信号ＶPa2が高レベルしきい値Ｂよりも高いか否かを判定し（ステップＳ７０７）、高ければ（ステップＳ７０７Ｙｅｓ）、第２アクセルセンサ５４にショートが発生しているので、ショートフラグＸPA2UPをオンにすると共に、断線又はショートフラグＸPA2DNをオフにする（ステップＳ７０８）。
【００７９】
次に、ＥＣＵ２０は、各フラグＸPA1UP，ＸPA1DN，ＸPA2UP，ＸPA2DNのいずれかがオンであるか否かを判定し（ステップＳ７０９）、いずれかがオンであれば（ステップＳ７０９，Ｙｅｓ）、ステップＳ７１４に移る。また、いずれもオンで無ければ（ステップＳ７０９，No）、第１及び第２アクセルセンサ５３，５４の検出信号ＶPa1及びＶPa2の差の絶対値ΔＶPa（＝｜ＶPa1−ＶPa2｜）を求め（ステップＳ７１０）、この差の絶対値ΔＶPaが予め定められた誤差しきい値Ｅよりも低いか否かを判定する（ステップＳ７１１）。差の絶対値ΔＶPaが誤差しきい値Ｅ以下であれば（ステップＳ７１１，Ｙｅｓ）、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４に故障が発生していないものとみなし、異常フラグＸＶPARをオフに設定する（ステップＳ７１２）。また、差の絶対値ΔＶPaが誤差しきい値Ｅよりも高ければ（ステップＳ７１１，Ｎｏ）、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４に故障が発生しているものとみなし、異常フラグＸＶPARをオンに設定する（ステップＳ７１３）。
【００８０】
こうして第１及び第２アクセルセンサ５３，５４の故障を判定し、各フラグＸPA1UP，ＸPA1DN，ＸPA2UP，ＸPA2DN，ＸＶPARを設定した後、ＥＣＵ２０は、第１アクセルセンサ５３の断線又はショートフラグＸPA1DN及び第２アクセルセンサ５４の断線又はショートフラグＸPA2DNの少なくとも一方がオンであるか否かを判定する（ステップＳ７１４）。いずれもオフであれば（ステップＳ７１４，Ｎｏ）、ＥＣＵ２０は、第１アクセルセンサ５３のショートフラグＸPA1UP及び第２アクセルセンサ５４のショートフラグＸPA2UPの少なくとも一方がオンであるか否かを判定する（ステップＳ７１５）。いずれもオフであれば（ステップＳ７１５，Ｎｏ）、ＥＣＵ２０は、異常フラグＸＶPARがオンであるか否かを判定する（ステップＳ７１６）。異常フラグＸＶPARがオフであれば（ステップＳ７１６，Ｎｏ）、全てのフラグがオフであり、第１及び第２アクセルセンサ５３，５４が正常に動作していることになる。この場合、ステップＳ７１７の処理１（図１２に示す）に移る。
【００８１】
図１２のフローチャートにおいて、ＥＣＵ２０は、例えば第１アクセルセンサ５３の検出信号ＶPa1に対応する仮アクセル開度ＰAを求め（ステップＳ８０１）、更に該仮アクセル開度ＰAをアクセル開度ＰACALとして設定する（ステップＳ８０２）。この後、図１６のフローチャートの処理に移る。
【００８２】
尚、ステップＳ８０１においては、第１アクセルセンサ５３の検出信号ＶPa1に対応する仮アクセル開度ＰAを求める代わりに、第２アクセルセンサ５４の検出信号ＶPa2に対応する仮アクセル開度ＰAを求めても良い。また、第１及び第２アクセルセンサ５３，５４の検出信号ＶPa1及びＶPa2のいずれか低い方に対応する仮アクセル開度ＰAを求めても構わない。あるいは、各検出信号ＶPa1及びＶPa2の平均値に対応する仮アクセル開度ＰAを求めても良い。
【００８３】
次に、図１１のフローチャートにおいて、第１及び第２アクセルセンサ５３，５４の少なくとも一方が断線又はショートしており、第１アクセルセンサ５３の断線又はショートフラグＸPA1DN及び第２アクセルセンサ５４の断線又はショートフラグＸPA2DNの少なくとも一方がオンであれば（ステップＳ７１４，Ｙｅｓ）、ステップＳ７１８の処理２（図１３に示す）に移る。
【００８４】
図１３のフローチャートにおいて、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４が共に断線又はショートしているか否かを判定する（ステップＳ９０１）。第１及び第２アクセルセンサ５３，５４が共に断線又はショートしており、各断線又はショートフラグＸPA1DN，ＸPA2DNのいずれもがオンであるときには（ステップＳ９０１，Ｙｅｓ）、アクセル開度ＰACALの特定が不可能である。この場合、ＥＣＵ２０は、ブレーキスイッチ１７のオンオフを確認し（ステップ９０２）、ブレーキスイッチ１７がオンであれば（ステップＳ９０２，Ｙｅｓ）、運転者が車両を停止させようとしているので、スロットルバルブ１０の目標スロットル開度ＴＨＡを３°に設定する（ステップＳ９０３）。また、ブレーキスイッチ１７がオフであって（ステップＳ９０２，Ｎｏ）、運転者が車両を停止させようとしていなければ、スロットルバルブ１０の目標スロットル開度ＴＨＡを５°に設定する（ステップＳ９０４）。この後、エンジン制御メインルーチンに移り、スロットルバルブ１０の開度を目標スロットル開度ＴＨＡ（３°又は５°）に設定し、これによって運転者が車両を停止させようとしているときにはエンジン１の回転数を速やかに低減させ、また運転者が車両を停止させようとしていなければエンジン１の回転数の急激なる低減を避けるようにしている。
【００８５】
また、第１及び第２アクセルセンサ５３，５４のいずれか一方のみが断線又はショートしており、各断線又はショートフラグＸPA1DN，ＸPA2DNのいずれか一方のみがオンであれば（ステップＳ９０１，Ｎｏ）、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４の検出信号ＶPa1，ＶPa2の和を予め定められた定数Ｋ1で割った商を求め、この商に対応する仮アクセル開度ＰAを求め（ステップＳ９０５）、図１４の処理３に移る。
【００８６】
尚、第１及び第２アクセルセンサ５３，５４のいずれか一方のみが断線又はショートしている場合は、各検出信号ＶPa1，ＶPa2の一方が低レベルしきい値Ａ（例えば０.５Ｖ）よりも低く、他方がアクセルペダル１３の操作量に対応したレベルを示す。従って、定数Ｋ1を予め適宜に設定しておき、各検出信号ＶPa1，ＶPa2の和を該定数Ｋ1で割れば、この商がアクセルペダル１３の操作量に対応する正常な検出信号のレベルよりも僅かに低いレベルとなり、仮アクセル開度ＰAがアクセルペダル１３の操作量に対応する開度よりも僅かに閉じ側に設定される。
【００８７】
引き続き図１４のフローチャートにおいて、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４の少なくとも一方に異常が発生する直前、つまり各フラグの少なくとも１つがオンとなる直前に、ステップＳ８０２において求めたアクセル開度ＰACALを前回アクセル開度ＰAOLDとして設定し、各ステップＳ９０５において求めた仮アクセル開度ＰAから前回アクセル開度ＰAOLDを引いた差（アクセル開度の変化量）を求め、この差を予め定められた定数Ｋ3で割った商（アクセル開度の変化量を補正した値）を前回アクセル開度ＰAOLDに加算して、スロットルバルブ１４の目標スロットル開度を求めるためのアクセル開度ＰACALを求める（ステップＳ１００１）。
【００８８】
そして、ＥＣＵ２０は、前回アクセル開度ＰAOLDとステップＳ９０５において求めた仮アクセル開度ＰAを比較し（ステップＳ１００２）、仮アクセル開度ＰAが前回アクセル開度ＰAOLDよりも小さくて、アクセル開度が小さくなる傾向にある場合は（ステップＳ１００２，Ｙｅｓ）、ステップＳ１００１において求めたアクセル開度ＰACALを該アクセル開度ＰACALよりも小さな仮アクセル開度ＰAに再設定する（ステップＳ１００３）。この後、前回アクセル開度ＰAOLDを再設定されたアクセル開度ＰACALに更新する（ステップＳ１００４）。
【００８９】
また、仮アクセル開度ＰAが前回アクセル開度ＰAOLD以上であって、アクセル開度が大きくなる傾向にある場合は（ステップＳ１００２，Ｎｏ）、ステップＳ１００１において求めたアクセル開度ＰACALを再設定せずに、前回アクセル開度ＰAOLDをアクセル開度ＰACALに更新する（ステップＳ１００４）。
【００９０】
この様に第１及び第２アクセルセンサ５３，５４の少なくとも一方が断線又はショートしている場合は、第１及び第２アクセルセンサ５３，５４の検出信号ＶPa1，ＶPa2に基いて仮アクセル開度ＰAを設定し、仮アクセル開度ＰAと前回アクセル開度ＰAOLDからアクセル開度の変化量を求め、この変化量を補正した値を前回アクセル開度ＰAOLDに加算することによってアクセル開度ＰACALを求めている。つまり、正常な状態での前回アクセル開度ＰAOLDを元にして、この前回アクセル開度ＰAOLDを増減してアクセル開度ＰACALを求めている。このため、アクセルペダル１３の操作量を急激に変化させずに正常な状態でかつ運転者の意志を十分に反映させて設定することができ、スロットルバルブ１４のスロットル開度も同様に制御することができる。
【００９１】
また、アクセル開度が小さくなる傾向にある場合は、アクセル開度ＰACALを仮アクセル開度ＰAに再設定している。これによってアクセル開度ＰACALが速やかに小さくなり、これに伴ってスロットルバルブ１４が閉じられるので、安全性の向上を果たすことができる。
【００９２】
次に、図１１のフローチャートにおいて、第１及び第２アクセルセンサ５３，５４の少なくとも一方がショートしており、第１アクセルセンサ５３のショートフラグＸPA1UP及び第２アクセルセンサ５４のショートフラグＸPA2UPの少なくとも一方がオンであれば（ステップＳ７１５，Ｙｅｓ）、ステップＳ７２０の処理４（図１５に示す）に移る。
【００９３】
図１５のフローチャートにおいて、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４が共にショートしているか否かを判定する（ステップＳ１１０１）。第１及び第２アクセルセンサ５３，５４が共にショートしており、各ショートフラグＸPA1UP，ＸPA2UPのいずれもがオンであるときには（ステップＳ１１０１，Ｙｅｓ）、アクセル開度ＰACALの特定が不可能である。この場合、ＥＣＵ２０は、シフト位置センサ２２によって検出されたシフト位置が高速走行に適した位置（例えば、走行（Ｄ）レンジ、又はオーバドライブ（ＯＤ）走行可能な状態）にあるか否かを判定する（ステップＳ１１０２）。シフト位置が高速走行に適した位置になければ（ステップＳ１１０２，Ｎｏ）、ＥＣＵ２０は、スロットルバルブ１０の目標スロットル開度ＴＨＡを３°に設定する（ステップＳ１１０３）。また、シフト位置が高速走行に適した位置にあれば（ステップＳ１１０２，Ｙｅｓ）、スロットルバルブ１０の目標スロットル開度ＴＨＡを５°に設定する（ステップＳ１１０４）。この後、エンジン制御メインルーチンに移り、スロットルバルブ１０の開度を目標スロットル開度ＴＨＡ（３°又は５°）に設定し、これによってシフト位置が高速走行に適した位置になければエンジン１の回転数を速やかに低減させ、またシフト位置が高速走行に適した位置にあればエンジン１の回転数の急激なる低減を避けるようにしている。
【００９４】
また、第１及び第２アクセルセンサ５３，５４のいずれか一方のみがショートしており、各ショートフラグＸPA1UP，ＸPA2UPのいずれか一方のみがオンであれば（ステップＳ１１０１，Ｎｏ）、ＥＣＵ２０は、第１及び第２アクセルセンサ５３，５４の検出信号ＶPa1，ＶPa2のうちの小さい方を選択し、この選択した検出信号に対応する仮アクセル開度ＰAを求め（ステップＳ１１０５）、図１４の処理３に移る。
【００９５】
尚、ステップＳ１１０５においては、第１及び第２アクセルセンサ５３，５４の検出信号ＶPa1，ＶPa2のうちの小さい方を求めるだけでなく、更に小さい方の検出信号を予め定められた定数Ｋ2で割ることにより補正し、この補正値に対応する仮アクセル開度ＰAを求めても良い。
【００９６】
引き続き図１４のフローチャートにおいて、ＥＣＵ２０は、各フラグの少なくとも１つがオンとなる直前に、ステップＳ８０２において求めたアクセル開度ＰACALを前回アクセル開度ＰAOLDとして設定し、各ステップＳ１１０５において求めた仮アクセル開度ＰAから前回アクセル開度ＰAOLDを引いた差（アクセル開度の変化量）を求め、この差を定数Ｋ3で割った商（アクセル開度の変化量を補正した値）を前回アクセル開度ＰAOLDに加算して、アクセル開度ＰACALを求める（ステップＳ１００１）。これによって、アクセルペダル１３の操作量を急激に変化させずに正常な状態でかつ運転者の意志を十分に反映させて設定することができる。
【００９７】
そして、ＥＣＵ２０は、ステップＳ１１０５において求めた仮アクセル開度ＰAが前回アクセル開度ＰAOLDがよりも小さくて、アクセル開度が小さくなる傾向にある場合は（ステップＳ１００２，Ｙｅｓ）、ステップＳ１００１において求めたアクセル開度ＰACALを仮アクセル開度ＰAに再設定し（ステップＳ１００３）、これによってアクセル開度ＰACALが速やかに小さくなるようにする。この後、前回アクセル開度ＰAOLDを再設定されたアクセル開度ＰACALに更新する（ステップＳ１００４）。
【００９８】
また、仮アクセル開度ＰAが前回アクセル開度ＰAOLD以上であって、アクセル開度が大きくなる傾向にある場合は（ステップＳ１００２，Ｎｏ）、ステップＳ１００１において求めたアクセル開度ＰACALを再設定せずに、前回アクセル開度ＰAOLDをアクセル開度ＰACALに更新する（ステップＳ１００４）。
【００９９】
次に、図１１のフローチャートにおいて、第１及び第２アクセルセンサ５３，５４の検出信号ＶPa1及びＶPa2の差の絶対値ΔＶPaが大きくて、異常フラグＸＶPARがオンである場合は（ステップＳ７１６，Ｙｅｓ）、各ショートフラグＸPA1UP，ＸPA2UPの少なくとも一方がオンであるとき（ステップＳ７１５，Ｙｅｓ）と同様に、ステップＳ７２１の処理４（図１５に示す）を経て、ステップＳ７１９の処理３（図１４に示す）に移る。
【０１００】
ステップＳ７２１の処理４は先に説明したステップＳ７２０の処理４と全く同様であり、またステップＳ７１９の処理３は先に説明したので、これらの処理の説明を省略する。
【０１０１】
こうして上記各ステップＳ８０２，１００１，１００３のいずれかにおいて、アクセル開度ＰACALが設定されると、図１６に示すフローチャートの処理に移る。
【０１０２】
まず、ＥＣＵ２０は、仮抑制アクセル開度ｔ＿pdlaをアクセル開度ＰACALに等しく設定し（ステップＳ１２０１）、この仮抑制アクセル開度ｔ＿pdlaと前回の演算により求めた抑制アクセル開度ｅpdlaoの差ｅdlpdlaを求め(ステップＳ１２０２)、この差ｅdlpdlaが図１７のグラフに示す特性曲線の値Ｆよりも大きいか否かを判定する（ステップＳ１２０３）。この差ｅdlpdlaが値Ｆ以下であれば（ステップＳ１２０３，Ｎｏ）、ＥＣＵ２０は、仮抑制アクセル開度ｔ＿pdlaをそのまま維持する（ステップＳ１２０４）。また、この差ｅdlpdlaが値Ｆよりも大きければ（ステップＳ１２０３，Ｙｅｓ）、ＥＣＵ２０は、差ｅdlpdlaを値Ｆに制限し（ステップＳ１２０５）、その上で前回の抑制アクセル開度ｅpdlaoに値Ｆを加算した和を仮抑制アクセル開度ｔ＿pdlaとして再設定する（ステップＳ１２０４）。
【０１０３】
次に、ＥＣＵ２０は、仮抑制アクセル開度ｔ＿pdlaが予め設定された値Ｇよりも大きいか否かを判定する（ステップＳ１２０６）。仮抑制アクセル開度ｔ＿pdlaが値Ｇ以下であれば（ステップＳ１２０６，Ｎｏ）、ＥＣＵ２０は、この仮抑制アクセル開度ｔ＿pdlaをそのまま維持して、この仮抑制アクセル開度ｔ＿pdlaを今回の抑制アクセル開度ｅpdla並びに前回の抑制アクセル開度ｅpdlaoとして設定する（ステップＳ１２０７）。また、仮抑制アクセル開度ｔ＿pdlaが値Ｇよりも大きければ（ステップＳ１２０６，Ｙｅｓ）、ＥＣＵ２０は、この仮抑制アクセル開度ｔ＿pdlaを値Ｇに制限し（ステップＳ１２０８）、その上で該仮抑制アクセル開度ｔ＿pdlaを今回の抑制アクセル開度ｅpdla並びに前回の抑制アクセル開度ｅpdlaoとして設定する（ステップＳ１２０７）。
【０１０４】
要するに、アクセル開度ＰACALの変化の度合いを制限し、かつアクセル開度ＰACALの最大値を制限したものが抑制アクセル開度ｅpdlaとなる。図１７のグラフは、アクセル開度ＰACALに対する値Ｆの特性曲線を示している。この特性曲線によって、アクセル開度ＰACALが大きい程、アクセル開度ＰACALの変化の度合いがより制限される。
【０１０５】
次に、ＥＣＵ２０は、抑制アクセル開度ｅpdlaが定数Ｋa1未満であれば（ステップＳ１２０９，Ｙｅｓ）、スロットルバルブ１０の目標スロットル開度ＴＨＡ＝３°とし（ステップＳ１２１０）、また抑制アクセル開度ｅpdlaが定数Ｋa1以上定数Ｋa2未満であれば（ステップＳ１２１１，Ｙｅｓ）、目標スロットル開度ＴＨＡ＝４°とし（ステップＳ１２１２）、また抑制アクセル開度ｅpdlaが定数Ｋa2以上定数Ｋa3未満であれば（ステップＳ１２１３，Ｙｅｓ）、目標スロットル開度ＴＨＡ＝５°とし（ステップＳ１２１４）、更に抑制アクセル開度ｅpdlaが定数Ｋa3以上定数Ｋa4未満であれば（ステップＳ１２１５，Ｙｅｓ）、目標スロットル開度ＴＨＡ＝６°とし（ステップＳ１２１６）、抑制アクセル開度ｅpdlaが定数Ｋa4以上であれば（ステップＳ１２１６，Ｎｏ）、目標スロットル開度ＴＨＡ＝７°とする（ステップＳ１２１７）。
【０１０６】
この結果、目標スロットル開度ＴＨＡは、図１８のグラフに示す様に抑制アクセル開度ｅpdlaに対して段階的に設定されることになる。
【０１０７】
こうして目標スロットル開度ＴＨＡを設定した後、エンジン制御メインルーチンに移り、スロットルバルブ１０の開度を目標スロットル開度ＴＨＡに設定する。これによって、スロットルバルブ１０の開度が３°、４°、５°、６°、７°のいずれかに設定されることになる。
【０１０８】
この様に本実施形態においては、スロットルバルブ１０が所定開度に固定されるスロットルフェール時には、エンジン出力レベル「１」〜「５」に応じて、順次エンジン出力が高められる。また、これら制御される運転条件は、それが機関温度に応じて適切に選択されるので、スロットルバルブ１０が所定開度に固定されるスロットルフェール時において、それぞれ同エンジン１のストールの防止、並びにオーバランの防止を図ることができる。
【０１０９】
また、スロットル制御装置の異常時であっても、スロットルバルブ１０を駆動することが可能なときには、ブレーキペダルが操作されているか否か、あるいは変速機のシフト位置が高速走行に適した位置であるか否かに基いて、運転者の操縦意志を識別し、運転者の操縦意志に従ってスロットルバルブ１０の目標スロットル開度を設定し、エンジン制御メインルーチンにおいてスロットルバルブ１０の開度を目標スロットル開度に設定し、エンジン１の出力を制御している。
【０１１０】
また、スロットル制御装置の異常時であっても、スロットルバルブ１０を駆動することが可能であって、更に第１及び第２アクセルセンサ５３，５４の少なくとも一方が正常であるときには、アクセル開度を検出して求め、このアクセル開度に対応するスロットルバルブ１０の目標開度を設定し、エンジン制御メインルーチンにおいてスロットルバルブ１０の開度を目標スロットル開度に設定し、エンジン１の出力を制御している。このとき、アクセルセンサによって検出されたアクセル開度に対してスロットルバルブ１０の目標スロットル開度を段階的に変化させるので、アクセルセンサの検出出力にノイズが載っていても、スロットルバルブ１０の目標スロットル開度が細かく変化することはなく、ノイズによってエンジン１の出力が不用意に変動することがない。更に、スロットルバルブ１０の目標スロットル開度を段階的に変化させるので、エンジン１の出力も段階的に変化し、このことによって運転者に故障の発生を知らせることができる。
【０１１１】
尚、本発明は、上記実施形態に限定されるものでなく、多様に変形することができる。例えば、エンジン出力の低減調整手法は、前述した運転気筒数の減少や点火時期の遅角に限られることはなく任意であり、他に例えば、燃料噴射量を調整することでエンジン出力の低減を図るようにしてもよい。
【０１１２】
また、同エンジン出力の低減調整に関しては、これら運転気筒数の減少、点火時期の遅角、及び燃料噴射量の調整を適宜に組み合わせても良い。これにより、より木目の細かいエンジン出力の調整が可能となる。
【０１１３】
また、スロットルフェール時、スロットルバルブ１０を所定開度に固定する機構として図２に例示した補助機構４０を採用したが、同等の機能を有する機構であれば、この補助機構４０に限られない任意の機構を採用することができる。
【０１１４】
また、直列４気筒の４サイクルエンジンだけでなく、本発明は、アクチュエータ駆動式のスロットルバルブを備える車載用エンジンであれば、どのような形式のエンジンにも適用可能である。
【０１１５】
【発明の効果】
以上説明した様に本発明によれば、スロットル制御装置の異常時であっても、スロットルバルブの開閉が可能でありかつアクセル操作量検出手段からのアクセル操作量に対応して変化する信号が出力されているときには、この信号を、予め定められた複数の操作領域毎に、それぞれ異なる一定値に変換して、アクセル操作量に応じた階段状の信号とし、この階段状の信号に基きスロットルバルブの開度を制御している。従って、アクセル操作量検出手段からの信号にノイズが重畳していても、この信号がある一定値に保たれる。この結果、ノイズに応答してスロットルバルブの開度が変化せずに済み、ノイズによる影響を受け難ずに済む。
【図面の簡単な説明】
【図１】本発明の内燃機関のスロットル制御装置の一実施形態を示す概略構成図である。
【図２】図１の装置におけるスロットル構造を模式的に示す図である。
【図３】図１の装置におけるエンジン出力レベル初期値決定手順を示すフローチャートである。
【図４】図１の装置におけるエンジン出力レベル初期値決定に用いられるマップを示す図である。
【図５】図１の装置におけるエンジン出力レベル学習手順を示すフローチャートである。
【図６】図１の装置におけるエンジン出力レベル学習に用いられるマップを示す図である。
【図７】図１の装置におけるエンジン出力レベル学習手順を示すフローチャートである。
【図８】図１の装置におけるエンジン出力レベル決定手順を示すフローチャートである。
【図９】図１の装置におけるエンジン出力レベル決定に用いられるマップを示す図である。
【図１０】図１の装置における点火時期とエンジン出力の関係を示すグラフである。
【図１１】図１の装置におけるアクセルセンサの異常を判定し、アクセル開度を求めるための処理を示すフローチャートである。
【図１２】図１１のフローチャートにおけるステップ７１７の処理１を示すフローチャートである。
【図１３】図１１のフローチャートにおけるステップ７１８の処理２を示すフローチャートである。
【図１４】図１１のフローチャートにおけるステップ７１９の処理３を示すフローチャートである。
【図１５】図１１のフローチャートにおけるステップ７２０の処理４を示すフローチャートである。
【図１６】図１１に引き続く処理であって、スロットル開度を求めるための処理を示すフローチャートである。
【図１７】図１の装置におけるアクセル開度に対する抑制アクセル開度の特性を示すグラフである。
【図１８】図１の装置における抑制アクセル開度に対する目標スロットル開度の特性を示すグラフである。
【符号の説明】
１  内燃機関（エンジン）
２  吸気通路
３  排気通路
１０  スロットルバルブ
１１  モータ
１２  スロットル開度センサ
２０  電子制御装置（ＥＣＵ）
２４  クランク角センサ
２６  水温センサ
３１  触媒
４０  補助機構
５１  アクセルペダル
５３  第１アクセルセンサ
５４  第２アクセルセンサ
【図１】
0003794216.tif 000002
【図２】
0003794216.tif 000003
【図３】
0003794216.tif 000004
【図４】
0003794216.tif 000005
【図５】
0003794216.tif 000006
【図６】
0003794216.tif 000007
【図７】
0003794216.tif 000008
【図８】
0003794216.tif 000009
【図９】
0003794216.tif 000010
【図１０】
0003794216.tif 000011
【図１１】
0003794216.tif 000012
【図１２】
0003794216.tif 000013
【図１３】
0003794216.tif 000014
【図１４】
0003794216.tif 000015
【図１５】
0003794216.tif 000016
【図１６】
0003794216.tif 000017
【図１７】
0003794216.tif 000018
【図１８】
0003794216.tif 000019