(57)【要約】【課題】電子スロットル制御システムのリターンスプリングの異常の有無を精度良く判定できるようにする。【解決手段】エンジン停止中に実スロットル開度ＡＴを目標スロットル開度ＴＴ1 に一致させるように制御するスロットル開度制御を実行し、このスロットル開度制御中に目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差の絶対値ＤＰを積算した偏差積算値ΣＤＰが異常判定値を越えたか否かによって実スロットル開度ＡＴが振動しているか否かを判断して異常の有無を判定する第１の異常診断を実行する。この後、スロットルモータの非作動時の実スロットル開度ＡＴが正常範囲内であるか否かによって異常の有無を判定する第２の異常診断を実行し、第１の異常診断と第２の異常診断のうちの少なくとも一方で異常有りと判定されれば、最終的にリターンスプリングの異常有りと判定する。【選択図】図３
2007138759.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のスロットルバルブを駆動するスロットルアクチュエータと、前記スロットルバルブの開度（以下「スロットル開度」という）を検出するスロットル開度検出手段とを備え、前記スロットル開度検出手段で検出した実スロットル開度を目標スロットル開度に一致させるように前記スロットルアクチュエータを制御するスロットル開度制御を実行すると共に、前記スロットルアクチュエータの非作動時に前記スロットルバルブを所定開度に戻すためのリターンスプリングを備えた電子スロットル制御システムにおいて、
前記スロットル開度制御中に前記実スロットル開度の振動状態を検出し、その検出結果に基づいて前記リターンスプリングの異常の有無を判定する異常診断（以下「第１の異常診断」という）を実行する異常診断手段を備えていることを特徴とする電子スロットル制御システムの異常診断装置。
【請求項２】
前記異常診断手段は、前記スロットル開度制御中に前記目標スロットル開度と前記実スロットル開度との偏差に基づいて前記実スロットル開度の振動状態を検出することを特徴とする請求項１に記載の電子スロットル制御システムの異常診断装置。
【請求項３】
前記異常診断手段は、前記スロットル開度制御中に所定期間内における前記実スロットル開度の最大値と最小値との偏差に基づいて前記実スロットル開度の振動状態を検出することを特徴とする請求項１に記載の電子スロットル制御システムの異常診断装置。
【請求項４】
前記異常診断手段は、内燃機関の停止中に前記第１の異常診断を実行することを特徴とする請求項１乃至３のいずれかに記載の電子スロットル制御システムの異常診断装置。
【請求項５】
前記異常診断手段は、内燃機関の停止中に前記第１の異常診断の実行後又は実行前に前記スロットルアクチュエータの非作動時における実スロットル開度に基づいて前記リターンスプリングの異常の有無を判定する異常診断（以下「第２の異常診断」という）を実行し、前記第１の異常診断と前記第２の異常診断のうちの少なくとも一方で前記リターンスプリングの異常有りと判定されれば最終的に前記リターンスプリングの異常有りと判定することを特徴とする請求項４に記載の電子スロットル制御システムの異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットルアクチュエータの非作動時にスロットルバルブを所定開度に戻すためのリターンスプリングを備えた電子スロットル制御システムの異常診断装置に関するものである。
【背景技術】
【０００２】
近年、車両に搭載される内燃機関においては、スロットル開度を電子制御する電子スロットル制御システムを採用したものがある。この電子スロットル制御システムは、スロットルバルブを回動駆動するスロットルモータと、スロットル開度を検出するスロットル開度センサとを備え、アクセル操作量等に基づいて目標スロットル開度を算出し、スロットル開度センサで検出した実スロットル開度を目標スロットル開度に一致させるようにスロットルモータを制御するようにしている。
【０００３】
このような電子スロットル制御システムでは、システムの異常時に退避走行を可能にする吸入空気量を確保するために、スロットルバルブを所定開度（いわゆるオープナ開度）に付勢するリターンスプリングを設け、スロットルモータへの通電がオフされてスロットルモータが非作動状態になったときに、リターンスプリングによってスロットル開度を強制的に所定開度に戻すようにしたものがある。しかし、もし、リターンスプリングの折損等の異常が発生すると、スロットルモータの非作動時にスロットル開度を所定開度に戻すことができなくなる可能性がある。
【０００４】
そこで、リターンスプリングの異常を検出するために、特許文献１（特開２００３−２０６７５９号公報）に記載されているように、内燃機関の停止後に、一旦、実スロットル開度を所定開度よりも大きい目標スロットル開度（例えば全開位置）に一致するようにスロットルモータを制御した後、スロットルモータへの通電をオフしてスロットルモータを非作動状態にしたときに、実スロットル開度が所定の正常範囲（所定開度±許容誤差の範囲）内に戻るか否かによって、リターンスプリングの異常の有無を判定するようにしたものがある。
【特許文献１】特開２００３−２０６７５９号公報（第４頁、第３図等）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、本発明者の研究によると、図７に示すように、リターンスプリングの折損等の異常が発生した場合には、実スロットル開度を目標スロットル開度に一致させるようにスロットルモータを制御するスロットル開度制御中に、実スロットル開度が振動することがあり、このように実スロットル開度が振動した状態で、スロットルモータへの通電を停止してスロットルモータを非作動状態にしたときには、リターンスプリングが異常であるにも拘らず実スロットル開度の振動の影響等で実スロットル開度が所定開度付近に戻ってしまうことがあることが判明した。
【０００６】
しかし、上記特許文献１の異常診断では、スロットルモータを非作動状態にしたときに実スロットル開度が正常範囲内に戻るか否かによってリターンスプリングの異常の有無を判定するため、上述したように、リターンスプリングが異常であるにも拘らず実スロットル開度の振動の影響等で実スロットル開度が所定開度付近に戻って正常範囲内になった場合に、異常なリターンスプリングを異常無し（正常）と誤診断してまうという欠点がある。
【０００７】
本発明は、このような事情を考慮してなされたものであり、従って本発明の目的は、リターンスプリングの異常によって実スロットル開度が振動する場合に、リターンスプリングの異常無しと誤診断することを防止でき、リターンスプリングの異常診断精度を向上させることができる電子スロットル制御システムの異常診断装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１に係る発明は、スロットル開度検出手段で検出した実スロットル開度を目標スロットル開度に一致させるようにスロットルアクチュエータを制御するスロットル開度制御を実行すると共に、スロットルアクチュエータの非作動時にスロットル開度を所定開度に戻すためのリターンスプリングを備えた電子スロットル制御システムにおいて、スロットル開度制御中に実スロットル開度の振動状態を検出し、その検出結果に基づいてリターンスプリングの異常の有無を判定する異常診断（以下「第１の異常診断」という）を実行するようにしたものである。
【０００９】
スロットル開度制御中に実スロットル開度の振動状態を検出して、その検出データを評価すれば、リターンスプリングの異常によって実スロットル開度が振動している状態であるか否かを判定できるため、リターンスプリングの異常の有無を精度良く判定することができる。これにより、リターンスプリングの異常によって実スロットル開度が振動する場合に、リターンスプリングの異常無しと誤診断することを防止することができ、リターンスプリングの異常診断精度を向上させることができる。
【００１０】
この場合、例えば、請求項２のように、スロットル開度制御中に目標スロットル開度と実スロットル開度との偏差に基づいて実スロットル開度の振動状態を検出するようにすると良い。実スロットル開度の振動が大きくなるほど、目標スロットル開度と実スロットル開度との偏差が大きく振動するため、目標スロットル開度と実スロットル開度との偏差を検出すれば、実スロットル開度の振動状態を精度良く評価することができる。
【００１１】
或は、請求項３のように、スロットル開度制御中に所定期間内における実スロットル開度の最大値と最小値との偏差に基づいて実スロットル開度の振動状態を検出するようにしても良い。実スロットル開度の振動が大きくなるほど、所定期間内における実スロットル開度の最大値と最小値との偏差が大きくなるため、所定期間内における実スロットル開度の最大値と最小値との偏差を検出すれば、実スロットル開度の振動状態を精度良く評価することができる。
【００１２】
また、第１の異常診断は、内燃機関の運転中に実行するようにしても良いが、この場合、異常診断精度を確保するには、目標スロットル開度の変化の影響を受けないように、所定の安定した運転状態（例えば定速運転状態）となっている期間中に異常診断を行う必要がある。このため、車両の運転方法や走行パターン等によっては、異常診断が開始されても、その途中で、内燃機関の運転状態が変化したり、内燃機関の運転が停止されたりして、異常診断が中止される回数が増えてしまい、異常診断の実行頻度を確保できない可能性がある。
【００１３】
そこで、請求項４のように、内燃機関の停止中に第１の異常診断を実行するようにすると良い。要するに、内燃機関の運転状態の変化の影響を受けない内燃機関の停止中に第１の異常診断を実行すれば、異常診断が途中で中止されることがほとんどなく、異常診断の実行頻度を確保することができる。しかも、内燃機関の停止中であれば、強制的に第１の異常診断に適した条件（例えば目標スロットル開度を異常診断用の目標スロットル開度に固定した状態）に設定して、第１の異常診断を実行することができ、異常診断精度を確実に向上させることができる。
【００１４】
更に、請求項５のように、内燃機関の停止中に第１の異常診断の実行後又は実行前にスロットルアクチュエータの非作動時における実スロットル開度に基づいてリターンスプリングの異常の有無を判定する異常診断（以下「第２の異常診断」という）を実行し、第１の異常診断と第２の異常診断のうちの少なくとも一方でリターンスプリングの異常有りと判定されれば最終的にリターンスプリングの異常有りと判定するようにしても良い。このようにすれば、第１の異常診断と第２の異常診断の両方でリターンスプリングの異常の有無を判定することができ、リターンスプリングの異常をより確実に検出することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施例を図面に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、スロットルモータ１５（スロットルアクチュエータ）によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（以下「スロットル開度」という）を検出するスロットル開度センサ１７（スロットル開度検出手段）とが設けられている。
【００１６】
更に、スロットルバルブ１６の下流側には、エンジン１１の各気筒に空気を導入する吸気マニホールド１８が設けられ、各気筒の吸気マニホールド１８の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁１９が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２０が取り付けられ、各点火プラグ２０の火花放電によって筒内の混合気に着火される。
【００１７】
また、エンジン１１のシリンダブロックには、クランク軸２１が所定クランク角回転する毎にクランク角信号（パルス信号）を出力するクランク角センサ２２が取り付けられている。このクランク角センサ２２のクランク角信号に基づいてクランク角やエンジン回転速度が検出される。更に、アクセルセンサ２３によってアクセルペダル２４の踏込量（アクセル操作量）が検出される。
【００１８】
これら各種センサの出力は、制御回路（以下「ＥＣＵ」と表記する）２５に入力される。このＥＣＵ２５は、ＣＰＵ２６、ＲＯＭ２７、ＲＡＭ２８等を備えたマイクロコンピュータを主体として構成され、ＲＯＭ２７に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁１９の燃料噴射量や点火プラグ２０の点火時期を制御する。
【００１９】
次に、図２に基づいて電子スロットル制御システムの構成について説明する。アクセルペダル２４の回動軸３３には、アクセルレバー３４が連結固定され、このアクセルレバー３４がアクセルリターンスプリング３５によってアクセル閉鎖方向（図２の下方）に付勢されている。そして、アクセルペダル２４を踏み込まない状態（アクセルＯＦＦ）では、アクセルレバー３４はアクセルリターンスプリング３５によって全閉ストッパ３６に当接した状態に保持される。エンジン運転中は、アクセルレバー３４の位置がアクセルセンサ２３によってアクセル操作量として検出される。
【００２０】
一方、スロットルバルブ１６の回動軸３７には、バルブレバー３８が連結固定され、このバルブレバー３８がオープナスプリング３９によってスロットルバルブ１６の開方向（図２の上方）に付勢されている。このバルブレバー３８の開側にオープナ４０が掛合するように配置され、このオープナ４０がリターンスプリング４１によってスロットルバルブ１６の閉方向（図２の下方）に付勢されている。このリターンスプリング４１の引張力はオープナスプリング３９の引張力よりも大きく設定されている。尚、これらバルブレバー３８、オープナスプリング３９、オープナ４０、リターンスプリング４１及びオープナストッパ４２によってオープナ機構４４が構成されている。
【００２１】
通常制御時（スロットルモータ１５のＯＮ時）には、アクセルペダル２４の操作に応じてスロットルモータ１５を正回転又は逆回転させてスロットル開度を調整し、そのときのスロットル開度がスロットル開度センサ１７によって検出される。この際、スロットル開度を開く場合には、スロットルモータ１５を正回転させて、図２（ａ）に示すように、バルブレバー３８がリターンスプリング４１の引張力に抗してオープナ４０を開方向に移動させながらスロットルバルブ１６を開方向に駆動する。これとは反対に、スロットル開度を閉じる場合には、スロットルモータ１５を逆回転させて、バルブレバー３８を閉方向に移動させながらスロットルバルブ１６を閉方向に駆動し、スロットルバルブ１６を全閉位置（例えば０ｄｅｇ）まで閉じたときに、バルブレバー３８がスロットル全閉ストッパ４３に当接して、それ以上の回動が阻止されるようになっている。
【００２２】
一方、電子スロットル制御システムの異常時には、スロットルモータ１５への通電が遮断（ＯＦＦ）された状態に保たれる。この状態では、図２（ｂ）に示すように、リターンスプリング４１の引張力がオープナスプリング３９の引張力に打ち勝って、リターンスプリング４１の引張力によりオープナ４０がオープナストッパ４２に当接した状態に保持される。この状態では、オープナ４０によりバルブレバー３８の位置がオープナストッパ４２で規制される位置に保持されて、スロットル開度が所定のオープナ開度に保持されるようになっている。このオープナ開度は、退避走行時の吸入空気量を確保できるスロットル開度（例えば５〜１０ｄｅｇ）に設定されている。
【００２３】
ＥＣＵ２５は、ＲＯＭ２７に記憶されているスロットル制御用の各プログラムを実行することで、アクセルセンサ２３で検出したアクセル操作量等に基づいて目標スロットル開度を算出し、スロットル開度センサ１７で検出した実スロットル開度を目標スロットル開度に一致させるようにスロットルモータ１５をフィードバック制御するスロットル開度制御を実行する。
【００２４】
また、ＥＣＵ２５は、後述する図４乃至図６の異常診断用の各プログラムを実行することで、エンジン停止中にリターンスプリング４１の異常の有無を判定する異常診断を次のようにして実行する。尚、エンジン停止中にリターンスプリング４１の異常診断を実行するために、図示しないＩＧスイッチ（イグニッションスイッチ）のオフ後も暫くの間は、電源ラインのメインリレー（図示せず）をオン状態に維持してＥＣＵ２５への通電が継続されるようになっている。
【００２５】
本実施例では、図３に示すように、まず、ＩＧスイッチがオフされてエンジン１１が停止されてから所定時間Ｔ1 が経過した時点ｔ1 で第１の異常診断を実行し、その後、ＩＧスイッチがオフされてから所定時間（Ｔ1 ＋Ｔ2 ）が経過した時点ｔ2 （つまり第１の異常診断を開始してから所定時間Ｔ2 が経過した時点）で第２の異常診断を実行する。尚、ＩＧスイッチのオフから所定時間Ｔ1 が経過するまでの間に、スロットル開度の基準位置学習等の処理を実行するようにしても良い。
【００２６】
第１の異常診断では、ＩＧスイッチがオフされてから所定時間Ｔ1 が経過した時点ｔ1 で、まず、目標スロットル開度ＴＴを異常診断用の目標スロットル開度ＴＴ1 （例えば、オープナ開度よりも大きいスロットル開度）にセットして、実スロットル開度ＡＴを異常診断用の目標スロットル開度ＴＴ1 に一致させるようにスロットルモータ１５をフィードバック制御する異常診断用のスロットル開度制御を実行する。
【００２７】
この後、異常診断用のスロットル開度制御を開始してから所定時間Ｔ3 （実スロットル開度ＡＴが目標スロットル開度ＴＴ1 まで変化するのに必要十分な時間）が経過した時点t3で、目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差の絶対値ＤＰを積算して偏差積算値ΣＤＰを求める処理を所定の演算周期で実行する。この場合、演算周期（つまり実スロットル開度ＡＴのサンプリング周期）は、リターンスプリング４１の異常によって実スロットル開度ＡＴが振動する際の振動周期よりも十分に短い周期（例えば４ｍｓ）に設定されている。
【００２８】
一般に、実スロットル開度ＡＴの振動が大きくなるほど、目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差が大きく変動して偏差積算値ΣＤＰが大きくなるため、偏差積算値ΣＤＰは、実スロットル開度ＡＴの振動状態を精度良く反映した情報となる。
【００２９】
そして、この偏差積算値ΣＤＰを所定の異常判定値と比較し、第１の異常診断の実行期間中（つまり第１の異常診断を開始してから所定時間Ｔ2 が経過するまでの期間中）に偏差積算値ΣＤＰが異常判定値よりも大きくなった場合には、リターンスプリング４１の異常によって実スロットル開度ＡＴが振動していると判断して、リターンスプリング４１の異常有りと判定し、第１の異常判定フラグをオンにセットする。
【００３０】
一方、第２の異常診断では、ＩＧスイッチがオフされてから所定時間（Ｔ1 ＋Ｔ2 ）が経過した時点ｔ2 （つまり第１の異常診断を開始してから所定時間Ｔ2 が経過した時点）で、まず、スロットルモータ１５への通電をオフしてスロットルモータ１５を非作動状態にする。
【００３１】
この後、スロットルモータ１５を非作動状態にしてから所定時間Ｔ4 （実スロットル開度ＡＴの挙動が安定するのに必要十分な時間）が経過した時点ｔ4 で、実スロットル開度ＡＴが所定の正常範囲内に戻ったか否かを判定する。この正常範囲は、例えば、「オープナ開度−許容誤差α」から「オープナ開度＋許容誤差β」までの範囲に設定されている。その結果、実スロットル開度ＡＴが正常範囲から外れていると判定された場合には、リターンスプリング４１の異常有りと判定し、第２の異常判定フラグをオンにセットする。
【００３２】
そして、第１の異常診断と第２の異常診断のうちの少なくとも一方でリターンスプリング４１の異常有りと判定されれば、最終的にリターンスプリングの異常有りと判定して、最終異常判定フラグをオンにセットする。
以下、ＥＣＵ２５が実行する図４乃至図６の異常診断用の各プログラムの処理内容を説明する。
【００３３】
［異常診断メインプログラム］
図４に示す異常診断メインプログラムは、ＩＧスイッチのオフ後に所定周期（例えば４ｍｓ周期）で実行され、特許請求の範囲でいう異常診断手段としての役割を果たす。本プログラムが起動されると、まず、ステップ１０１で、ＩＧスイッチがオフされてから所定時間Ｔ1 が経過したか否かを判定し、ＩＧスイッチがオフされてから所定時間Ｔ1 が経過したと判定された時点で、ステップ１０２に進み、ＩＧスイッチがオフされてから所定時間（Ｔ1 ＋Ｔ2 ）が経過したか否かを判定する。
【００３４】
このステップ１０２でＩＧスイッチがオフされてから所定時間（Ｔ1 ＋Ｔ2 ）が経過する前であると判定されれば、ステップ１０３に進み、後述する図５の第１の異常診断プログラムを実行することで、スロットル開度制御中に目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差の絶対値ＤＰを積算した偏差積算値ΣＤＰが異常判定値を越えたか否かによって、実スロットル開度ＡＴが振動しているか否かを判断して、リターンスプリング４１の異常の有無を判定する。
【００３５】
その後、上記ステップ１０２で、ＩＧスイッチがオフされてから所定時間（Ｔ1 ＋Ｔ2 ）が経過したと判定された時点で、ステップ１０４に進み、後述する図６の第２の異常診断プログラムを実行することで、スロットルモータ１５を非作動状態にしたときに実スロットル開度ＡＴが正常範囲内に戻ったか否かによって、リターンスプリング４１の異常の有無を判定する。
【００３６】
この後、ステップ１０５に進み、第１の異常診断と第２の異常診断のうちの少なくとも一方でリターンスプリング４１の異常有りと診断されたか否かを判定し、少なくとも一方でリターンスプリング４１の異常有りと診断された場合には、ステップ１０６に進み、最終的にリターンスプリング４１の異常有りと診断して、最終異常判定フラグをオンにセットする。更に、運転席のインストルメントパネルに設けられた警告ランプ（図示せず）を点灯したり、或は運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して運転者に警告すると共に、その異常情報（異常コード等）をＥＣＵ２５のバックアップＲＡＭ（図示せず）等の書き換え可能な不揮発性メモリに記憶して、本プログラムを終了する。
【００３７】
［第１の異常診断プログラム］
図５に示す第１の異常診断プログラムは、前記図４の異常診断メインプログラムのステップ１０３で実行されるサブルーチンである。本プログラムが起動されると、まず、ステップ２０１で、目標スロットル開度ＴＴを異常診断用の目標スロットル開度ＴＴ1 にセットした後、ステップ２０２に進み、実スロットル開度ＡＴを異常診断用の目標スロットル開度ＴＴ1 に一致するようにスロットルモータ１５を制御する異常診断用のスロットル開度制御を実行する。
【００３８】
この後、ステップ２０３に進み、異常診断用のスロットル開度制御を開始してから所定時間Ｔ3 が経過したか否かを判定する。この所定時間Ｔ3 は、実スロットル開度ＡＴが目標スロットル開度ＴＴ1 まで変化するのに必要十分な時間に設定されている。
【００３９】
このステップ２０３で、異常診断用のスロットル開度制御を開始してから所定時間Ｔ3 が経過したと判定されれば、ステップ２０４に進み、現在の目標スロットル開度ＴＴ1 を読み込んだ後、ステップ２０５に進み、スロットル開度センサ１７で検出した現在の実スロットル開度ＡＴを読み込む。この後、ステップ２０６に進み、目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差の絶対値ＤＰを算出する。
ＤＰ＝｜ＴＴ1 −ＡＴ｜
【００４０】
この後、ステップ２０７に進み、今回の目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差の絶対値ＤＰ(i) を、前回までの偏差積算値ΣＤＰ(i-1) に積算して今回までの偏差積算値ΣＤＰ(i) を求める。
ΣＤＰ(i) ＝ΣＤＰ(i-1) ＋ＤＰ(i)
【００４１】
この後、ステップ２０８に進み、偏差積算値ΣＤＰが異常判定値よりも大きいか否かを判定して、第１の異常診断の実行期間中（つまり第１の異常診断を開始してから所定時間Ｔ2 が経過するまでの期間中）に偏差積算値ΣＤＰが異常判定値よりも大きくなったと判定された場合には、リターンスプリング４１の異常によって実スロットル開度ＡＴが振動していると判断して、ステップ２０９に進み、リターンスプリング４１の異常有りと判定し、第１の異常判定フラグをオンにセットする。
【００４２】
［第２の異常診断プログラム］
図６に示す第２の異常診断プログラムは、前記図４の異常診断メインプログラムのステップ１０４で実行されるサブルーチンである。本プログラムが起動されると、まず、ステップ３０１で、スロットルモータ１５への通電をオフしてスロットルモータ１５を非作動状態にする。
【００４３】
この後、ステップ３０２に進み、スロットルモータ１５を非作動状態にしてから所定時間Ｔ4 が経過したか否かを判定する。この所定時間Ｔ4 は、実スロットル開度ＡＴの挙動が安定するのに十分な時間に設定されている。
【００４４】
このステップ３０２で、スロットルモータ１５を非作動状態にしてから所定時間Ｔ4 が経過したと判定されたときに、ステップ３０３に進み、スロットル開度センサ１７で検出した現在の実スロットル開度ＡＴを読み込んだ後、ステップ３０４に進み、実スロットル開度ＡＴが「オープナ開度−許容誤差α」から「オープナ開度＋許容誤差β」までの範囲に設定された正常範囲内に戻ったか否かを判定する。
【００４５】
このステップ３０４で、実スロットル開度ＡＴが正常範囲から外れていると判定された場合には、ステップ３０５に進み、リターンスプリング４１の異常有りと判定し、第２の異常判定フラグをオンにセットする。
【００４６】
以上説明した本実施例では、エンジン停止中に実スロットル開度ＡＴを異常診断用の目標スロットル開度ＴＴ1 に一致させるようにスロットルモータ１５をフィードバック制御する異常診断用のスロットル開度制御を実行し、このスロットル開度制御中に目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差の絶対値ＤＰを積算して偏差積算値ΣＤＰを求め、この偏差積算値ΣＤＰが異常判定値を越えたか否かによって、実スロットル開度ＡＴが振動しているか否かを判断して、リターンスプリング４１の異常の有無を判定する第１の異常診断を実行するようにしたので、リターンスプリング４１の異常によって実スロットル開度が振動する場合に、リターンスプリング４１の異常無しと誤診断することを防止することができ、リターンスプリング４１の異常診断精度を向上させることができる。
【００４７】
また、本実施例では、エンジン１１の運転状態の影響を受けないエンジン停止中に第１の異常診断を実行するようにしたので、第１の異常診断が途中で中止される回数を極めて少なくすることができ、第１の異常診断の実行頻度を確保することができる。しかも、エンジン停止中であれば、強制的に第１の異常診断に適した条件（例えば目標スロットル開度ＴＴを異常診断用の目標スロットル開度ＴＴ1 に固定した状態）に設定して、第１の異常診断を実行することができ、異常診断精度を確実に向上させることができる。
【００４８】
更に、本実施例では、エンジン停止中に第１の異常診断を実行した後に、スロットルモータ１５の非作動時における実スロットル開度ＡＴが正常範囲内に戻ったか否かによってリターンスプリング４１の異常の有無を判定する第２の異常診断を実行し、第１の異常診断と第２の異常診断のうちの少なくとも一方でリターンスプリング４１の異常有りと判定された場合に最終的にリターンスプリング４１の異常有りと判定するようにしたので、第１の異常診断と第２の異常診断の両方でリターンスプリング４１の異常を検出することができ、リターンスプリング４１の異常をより確実に検出することができる。
【００４９】
尚、上記実施例では、第１の異常診断の診断結果に拘らず第２の異常診断を実行するようしたが、第１の異常診断で異常有りと判定された場合に、第２の異常診断を実行しないようにしても良い。
【００５０】
また、上記実施例では、エンジン停止中に第１の異常診断を実行した後に第２の異常診断を実行するようにしたが、エンジン停止中に第２の異常診断を実行した後に第１の異常診断を実行するようにしても良い。この場合、第２の異常診断の診断結果に拘らず第１の異常診断を実行するようして良いし、第２の異常診断で異常有りと判定された場合に、第１の異常診断を実行しないようにしても良い。また、エンジン停止中に、第２の異常診断を実行せずに第１の異常診断のみを実行するようにしても良い。
【００５１】
また、上記実施例では、エンジン停止中に第１の異常診断を実行するようにしたが、エンジン運転中に第１の異常診断を実行するようにしても良い。この場合、目標スロットル開度の変化の影響を受けないように、所定の安定した運転状態（例えば定速運転状態や減速運転状態等）となっている期間中に第１の異常診断を実行すると良い。
【００５２】
また、上記実施例では、スロットル開度制御中に目標スロットル開度ＴＴ1 と実スロットル開度ＡＴとの偏差の絶対値ＤＰを積算した偏差積算値ΣＤＰを異常判定値と比較して、実スロットル開度ＡＴが振動しているか否か（つまりリターンスプリング４１の異常の有無）を判定するようにしたが、実スロットル開度ＡＴが振動しているか否かの判定方法は、適宜変更しても良く、例えば、スロットル開度制御中に所定期間内における実スロットル開度ＡＴの最大値と最小値との偏差を、実スロットル開度ＡＴの振動状態の情報として検出し、この偏差を異常判定値と比較して、実スロットル開度ＡＴが振動しているか否（つまりリターンスプリング４１の異常の有無）を判定するようにしても良い。
【００５３】
或は、実スロットル開度ＡＴの所定期間内における増減回数や増減周期等を、実スロットル開度ＡＴの振動状態の情報として検出し、その検出データに基づいて実スロットル開度ＡＴが振動しているか否（つまりリターンスプリング４１の異常の有無）を判定するようにしても良い。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図２】電子スロットル制御システムの概略構成図で、（ａ）は通常制御時（モータＯＮ時）の状態を示す図であり、（ｂ）はモータＯＦＦ時の状態を示す図である。
【図３】本実施例の異常診断の実行例を示すタイムチャートである。
【図４】異常診断メインプログラムの処理の流れを示すフローチャートである。
【図５】第１の異常診断プログラムの処理の流れを示すフローチャートである。
【図６】第２の異常診断プログラムの処理の流れを示すフローチャートである。
【図７】従来の異常診断の実行例を示すタイムチャートである。
【符号の説明】
【００５５】
１１…エンジン（内燃機関）、１２…吸気管、１５…スロットルモータ（スロットルアクチュエータ）、１６…スロットルバルブ、１７…スロットル開度センサ（スロットル開度検出手段）、２５…ＥＣＵ（異常診断手段）、３８…バルブレバー、３９…オープナスプリング、４０…オープナ、４１…リターンスプリング、４２…オープナストッパ、４３…スロットル全閉ストッパ、４４…オープナ機構
【図１】
2007138759.tif 000003
【図２】
2007138759.tif 000004
【図３】
2007138759.tif 000005
【図４】
2007138759.tif 000006
【図５】
2007138759.tif 000007
【図６】
2007138759.tif 000008
【図７】
2007138759.tif 000009