(57)【要約】【課題】複数のスロットルセンサを備えた電子スロットルシステムのフェイルセーフ性・信頼性を向上させる。【解決手段】２個のスロットルセンサ１８でスロットル開度を検出し、２つの検出スロットル開度θ１，θ２の偏差の絶対値｜θ１−θ２｜を所定の異常判定値ＫＤθと比較し、｜θ１−θ２｜＞ＫＤθと判定されれば、接続不良によるハーフショート／ハーフオープン等の異常が発生していると判断して、スロットルバルブ１５を駆動するＤＣモータ１７のフィードバック制御を停止して、フィードバック変数を初期化すると共に、アクセルＯＮ／ＯＦＦに応じてＤＣモータ１７のＤｕｔｙを例えば−３０％又は０％に設定する。【選択図】図２
2008255992.tif 000002
【特許請求の範囲】
【請求項１】
スロットルバルブを駆動するスロットル駆動手段と、
前記スロットルバルブの開度（以下「スロットル開度」という）を検出する複数のスロットルセンサと、
前記スロットル開度をアクセル操作等に応じて設定された目標スロットル開度に一致させるための制御量を演算し、この制御量を前記スロットル駆動手段に与えてスロットル開度をフィードバック制御するＦ／Ｂ制御手段と
を備えた内燃機関の電子スロットル制御装置において、
前記複数のスロットルセンサを監視してそれらの異常を検出する異常検出手段と、
前記異常検出手段がいずれかのスロットルセンサの異常を検出した時に、前記Ｆ／Ｂ制御手段によるフィードバック制御を停止し、前記スロットル駆動手段に与える制御量を所定値に設定して異常検出時のスロットル制御を実行する異常検出時制御手段と
を備えていることを特徴とする内燃機関の電子スロットル制御装置。
【請求項２】
前記アクセルの開度を検出するアクセルセンサを備え、
前記異常検出時制御手段は、前記アクセルセンサにより検出されるアクセルの開度に応じて前記スロットル駆動手段に与える制御量を決定することを特徴とする請求項１に記載の内燃機関の電子スロットル制御装置。
【請求項３】
前記異常検出手段は、前記複数のスロットルセンサの出力差が判定値以上であるか否かで、前記複数のスロットルセンサのいずれかが異常であるか否かを判定することを特徴とする請求項１又は２に記載の内燃機関の電子スロットル制御装置。
【請求項４】
前記異常検出手段は、前記複数のスロットルセンサのうちのいずれかのスロットルセンサの異常を検出しても、当該スロットルセンサの異常検出状態が所定の判定ディレー時間継続しなければ、当該スロットルセンサは正常であると判定することを特徴とする請求項１乃至３のいずれかに記載の内燃機関の電子スロットル制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットルバルブの開度（スロットル開度）を検出するスロットルセンサの異常を検出する機能を備えた内燃機関の電子スロットル制御装置に関するものである。
【背景技術】
【０００２】
自動車に搭載されている電子スロットルシステムでは、アクセルペダルの踏込量（アクセル操作量）をアクセルセンサにより検出し、その検出値に応じて目標スロットル開度を設定し、スロットルセンサにより検出したスロットル開度を目標スロットル開度に一致させるように、スロットルバルブを駆動するモータをフィードバック制御するようにしたものがある。
【０００３】
この電子スロットルシステムでは、フェイルセーフのために、特許文献１（特開平４−３５０３３２号公報）に示すように、スロットルセンサの異常を検出した時に、モータとスロットルバルブとの間をつなぐ電磁クラッチをＯＦＦしてスロットル制御を停止し、以後は、アクセルペダルの踏込み操作に機械的に連動してスロットル開度を調整する退避走行に移行し、異常を警告表示するようにしたものがある。
【特許文献１】特開平４−３５０３３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記スロットルセンサを複数個設けた電子スロットル制御システムにおいては、一方のスロットルセンサが異常と判定されている場合でも、他方のスロットルセンサが正常と判定されていれば、正常と判定されている方のスロットルセンサの出力値に基づいてフィードバック制御を継続することが考えられる。
【０００５】
しかしながら、例えば、接続不良によるハーフショート／ハーフオープン等の異常が発生した場合には、複数のスロットルセンサのうちのいずれのスロットルセンサが異常であるのかを特定することができない。従って、この状態で、片方のスロットルセンサの出力値に基づいてフィードバック制御を継続すると、適正なスロットル制御状態を維持できない。
【０００６】
そこで、本発明は、複数のスロットルセンサを備えた電子スロットルシステムのフェイルセーフ性・信頼性を向上させることができる内燃機関の電子スロットル制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に係る発明は、スロットルバルブを駆動するスロットル駆動手段と、前記スロットルバルブの開度（以下「スロットル開度」という）を検出する複数のスロットルセンサと、前記スロットル開度をアクセル操作等に応じて設定された目標スロットル開度に一致させるための制御量を演算し、この制御量を前記スロットル駆動手段に与えてスロットル開度をフィードバック制御するＦ／Ｂ制御手段とを備えた内燃機関の電子スロットル制御装置において、前記複数のスロットルセンサを監視してそれらの異常を検出する異常検出手段と、前記異常検出手段がいずれかのスロットルセンサの異常を検出した時に、前記Ｆ／Ｂ制御手段によるフィードバック制御を停止し、前記スロットル駆動手段に与える制御量を所定値に設定して異常検出時のスロットル制御を実行する異常検出時制御手段とを備えた構成としたものである。
【０００８】
この構成によれば、異常検出手段がいずれかのスロットルセンサの異常を検出した時に、Ｆ／Ｂ制御手段によるフィードバック制御を停止し、スロットル駆動手段に与える制御量を所定値に設定するため、例えば接続不良によるハーフショート／ハーフオープン等の異常が発生した場合のように、複数のスロットルセンサのうちのいずれのスロットルセンサが異常であるのか特定できない異常が発生した場合に、スロットルセンサの異常出力に基づいて誤ったフィードバック制御を行うことを回避できて、電子スロットルシステムののフェイルセーフ性・信頼性を向上させることができる。
【０００９】
この場合、請求項２のように、前記アクセルの開度を検出するアクセルセンサを備え、前記異常検出時制御手段は、前記アクセルセンサにより検出されるアクセルの開度に応じて前記スロットル駆動手段に与える制御量を決定するようにしても良い。これにより、アクセルの開度に応じて、スロットル駆動手段に与える制御量をより適正な値に設定することができる。
【００１０】
また、請求項３のように、異常検出手段は、前記複数のスロットルセンサの出力差が判定値以上であるか否かで、複数のスロットルセンサのいずれかが異常であるか否かを判定するようにしても良い。このようにすれば、例えば、接続不良によるハーフショート／ハーフオープン等の異常が発生した場合のように、複数のスロットルセンサのうちのいずれのスロットルセンサが異常であるのかを特定できない異常が発生した場合に、これを異常として検出することができる。
【００１１】
また、請求項４のように、複数のスロットルセンサのうちのいずれかのスロットルセンサの異常を検出しても、当該スロットルセンサの異常検出状態が所定の判定ディレー時間継続しなければ、当該スロットルセンサは正常であると判定するようにしても良い。このようにすれば、ノイズや瞬断等によるスロットルセンサの異常の誤検出を防止することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態を具体化した一実施形態を図面に基づいて説明する。
【００１３】
まず、図１に基づいて内燃機関１１の制御システム全体の概略構成を説明する。内燃機関１１の吸気管１２の上流側にはエアクリーナ１３が装着され、その下流側には吸気量Ｇa を測定するエアフローメータ１４が設置され、更にその下流側にスロットルバルブ１５が設けられている。このスロットルバルブ１５の回動軸１５ａには電磁クラッチ１６を介してＤＣモータ１７（スロットル駆動手段）が連結され、ＤＣモータ１７の駆動力によってスロットルバルブ１５の開度（スロットル開度）が制御され、このスロットル開度がスロットルセンサ１８によって検出される。このスロットルセンサ１８は、第１及び第２のスロットルセンサ(1) ，(2) から成る２トラック式のセンサであり、各スロットルセンサ(1) ，(2) は、例えば接触式ポテンショメータ、又は、ホール素子を用いた非接触式ポテンショメータで構成されている。
【００１４】
スロットルバルブ１５を通過した吸入空気を内燃機関１１の各気筒に導入する吸気マニホールド１９には、インジェクタ２０が取り付けられ、また、内燃機関１１の各気筒のシリンダヘッドには点火プラグ２１が取り付けられている。内燃機関１１のクランク軸２２に嵌着されたシグナルロータ２３の外周に対向してクランク角センサ２４が取り付けられ、このクランク角センサ２４から出力されるパルス状の機関回転数信号Ｎｅが電子制御ユニット（ＥＣＵ）２５に取り込まれ、この機関回転数信号Ｎｅのパルス間隔によって機関回転数が検出される。
【００１５】
一方、アクセルペダル２６の踏込量（アクセル操作量）がアクセルセンサ２７によって検出され、アクセル操作量に応じた電圧信号Ａｐが電子制御ユニット２５にＡ／Ｄ変換器２８を介して取り込まれる。また、エアフローメータ１４で検出した吸気量Ｇa やスロットルセンサ１８で検出したスロットル開度ＴＡの各電圧信号も、電子制御ユニット２５にＡ／Ｄ変換器２８を介して取り込まれる。
【００１６】
この電子制御ユニット２５は、ＣＰＵ２９、ＲＯＭ３０、ＲＡＭ３１等を備えたマイクロコンピュータを主体として構成され、ＲＯＭ３０に記憶されている内燃機関制御用の各種プログラムをＣＰＵ２９で実行することで、点火プラグ２１の点火時期を制御すると共に、インジェクタ駆動回路４５を介してインジェクタ２０に与える噴射パルスを制御し、燃料噴射量を制御する。更に、この電子制御ユニット２５は、ＲＯＭ３０に記憶されている図４等のスロットル制御用の各種プログラムをＣＰＵ２９で実行することで、通常のスロットル制御時には、電磁クラッチ駆動回路４６を介して電磁クラッチ１６を接続（ＯＮ）すると共に、アクセル操作量Ａｐに応じてモータ駆動回路３２を介してＤＣモータ１７をＰＩＤ制御によりフィードバック制御し、このＤＣモータ１７の駆動力によってスロットル開度を制御するＦ／Ｂ制御手段として機能する。
【００１７】
次に、図２及び図３に基づいて電子スロットルシステムの構成を説明する。アクセルペダル２６は、ワイヤ３３を介してアクセルレバー３４に連結されている。このアクセルレバー３４は、アクセルリターンスプリング３５，３６によって図２の下方（アクセル閉鎖方向）に付勢されている。そして、アクセルペダル２６を操作しない状態（アクセルＯＦＦ）では、アクセルレバー３４はアクセルリターンスプリング３５，３６によってアクセル全閉ストッパ３７に当接した状態に保持される。内燃機関１１の運転中は、アクセルレバー３４の位置がアクセルセンサ２７によってアクセル操作量Ａｐとして検出される。
【００１８】
一方、スロットルバルブ１５の回動軸１５ａにはバルブレバー３８が連結され、このバルブレバー３８が退避走行用スプリング３９によって図２の上方（スロットルバルブ１５の開方向）に付勢されている。このバルブレバー３８の開側にオープナ４０が掛合するように配置され、このオープナ４０がバルブリターンスプリング４１によって図２の下方（スロットルバルブ１５の閉方向）に付勢されている。このバルブリターンスプリング４１の引張力は退避走行用スプリング３９の引張力よりも大きく設定されている。
【００１９】
通常制御時には、図２（ａ）に示すように、電磁クラッチ１６が接続された状態（クラッチＯＮ）に保持される。この状態では、アクセルペダル２６の操作に応じてＤＣモータ１７を正転又は逆転させてスロットルバルブ１５の開度（スロットル開度）を調整し、そのときのスロットル開度がスロットルセンサ１８によって検出される。この際、スロットル開度を開く場合には、ＤＣモータ１７を正回転させて、図２（ａ）に示すように、バルブレバー３８がバルブリターンスプリング４１の引張力に抗してオープナ４０を押し上げながら、スロットルバルブ１５を開方向に駆動する。これとは逆に、スロットル開度を閉じる場合には、ＤＣモータ１７を逆回転させてバルブレバー３８を下降させながらスロットルバルブ１５を閉方向に駆動し、スロットルバルブ１５を全閉ストッパ位置（スロットル開度＝０ｄｅｇ）まで閉じたときに、バルブレバー３８がスロットル全閉ストッパ４３に突き当たって、それ以上の回動が阻止される。
【００２０】
一方、故障時に退避走行する場合には、図２（ｂ）に示すように、電磁クラッチ１６が切られた状態（クラッチＯＦＦ）に保持される。この状態では、運転者がアクセルペダル２６を所定量以上踏み込むと、アクセルレバー３４がオープナ４０に当接し、以後は、アクセルペダル２６の踏込量に応じてアクセルレバー３４によってオープナ４０が開方向に押し上げられ、これに追従してバルブレバー３８が退避走行用スプリング３９によって開方向に引き上げられ、スロットル開度がアクセルペダル２６の踏込量に機械的に連動して調整される。
【００２１】
この退避走行時（クラッチＯＦＦ時）には、アクセルペダル２６の踏込量が所定量以下になると、図２（ｂ）に示すように、アクセルレバー３４がオープナ４０から離れた状態となり、バルブリターンスプリング４１の引張力が退避走行用スプリング３９の引張力に打ち勝って、オープナ４０がオープナストッパ４２に当接した状態に保持される。この状態では、オープナ４０によりバルブレバー３８の位置（スロットル開度）がオープナストッパ４２で規制される開度（約３〜４ｄｅｇ）に保持され（以下、この開度を「オープナストッパ開度」という）、退避走行時のアイドル回転が確保される。
【００２２】
尚、正常時のアイドル回転は、オープナストッパ開度以下のスロットル開度で制御され、このアイドル状態から、アクセルペダル２６が踏み込まれて、目標スロットル開度がオープナストッパ開度を越えると、フィードバック制御によりスロットルバルブ１５が開方向に駆動されてオープナストッパ開度を通り越す際に、バルブレバー３８がオープナ４０に当接するまでの間は、バルブレバー３８に対して退避走行用スプリング３９の引張力により開方向の力が働き、バルブレバー３８がオープナ４０に当接した後は、バルブレバー３８に対してバルブリターンスプリング４１の引張力が加わって閉方向の力が働く。この結果、オープナストッパ開度を境にしてバルブレバー３８に加わる力の方向が逆転し、ＤＣモータ１７の負荷の方向が逆転する。
【００２３】
以上のように構成された電子スロットルシステムは、図４等に示すスロットル制御用の各ルーチンによって次のように制御される。図４のメインルーチンは、イグニッションスイッチ（図示せず）のＯＮ後に、電子制御ユニット２５によって例えば２ｍｓの周期にて繰り返し実行される。このメインルーチンの処理が開始されると、まずステップ１０１で、イニシャルチェック（初期化処理）を実行する。このイニシャルチェックでは、電気系統各部の通信異常の有無についてのチェックやＲＡＭ３１の初期値のミラーチェック等が行われる。この後、ステップ１０２で、上述した各種センサやスイッチからの信号を読み込み、次のステップ１０３で、非線形制御ルーチンを実行し、図５に示すマップを用いて、アクセル操作量Ａｐに対して非線形に制御するスロットルバルブ１５の目標スロットル開度（非線形目標開度）ＴＡＣＣを演算する。
【００２４】
この後、ステップ１０４で、トラクション制御ルーチンを実行し、車両のトラクション制御量に応じたスロットルバルブ１５の目標スロットル開度（トラクション目標開度）ＴＴＲＣを演算する。そして、次のステップ１０５で、定速走行制御ルーチンを実行し、定速走行制御モード移行時のスロットルバルブ１５の初期開度を演算すると共に、車速センサ（図示せず）を通じて検出される車両の実車連を目標車速に一致させるためのスロットルバルブ１５の目標開度（定速走行目標開度）ＴＣＲＣを演算する。
【００２５】
次のステップ１０６では、アイドル回転数制御（ＩＳＣ制御）ルーチンを実行し、アイドル時におけるスロットルバルブ１５の目標開度（ＩＳＣ目標開度）ＴＩＤＬを演算する。この後、ステップ１０７で、フェイル制御ルーチンを実行し、例えば電磁クラッチ１６の固着フェイル又はリターンスプリング４１切損時等、ＤＣモータ１７の制御により退避走行する場合のスロットルバルブ１５の開度、すなわちフェイル時のスロットルバルブ１５の目標開度（フェイル目標開度）ＴＦＡＩＬを演算する。
【００２６】
この後、ステップ１０８で、上述したステップ１０３〜１０７で演算した非線形制御、トラクション制御、定速走行制御、１ＳＣ制御、及びフェイル制御に関する各目標開度に基づいて最終的な目標スロットル開度（最終目標開度）ＴＴＡを演算する。この演算方法は、図６に示すように、非線形目標開度ＴＡＣＣと定速走行目標開度ＴＣＲＣとを比較して大きい方を選択した後、この選択値とトラクション目標開度ＴＴＲＣとを比較して小さい方を選択し、更に、この選択値とフェイル目標開度ＴＦＡＩＬとを比較して小さい方を選択し、最後に、この選択値にＩＳＣ目標開度ＴＩＤＬを加算して最終目標開度ＴＴＡ（特許請求の範囲でいう目標スロットル開度に相当）を算出する。
【００２７】
この後、図４のステップ１０９で、基準位置学習ルーチンを実行し、基準位置（全閉ストッパ位置）でのスロットルセンサ１８の出力電圧ＯＴＰにより基準位置を学習する。
ここで、基準位置の学習方法としては図７と図８に示す２通りの方法がある。
【００２８】
図７に示す基準位置学習ルーチンは、例えば８ｍｓ毎に繰り返し処理され、イグニッションスイッチ（ＩＧ）がＯＦＦからＯＮに切り替えられた直後に、ステップ１２１からステップ１２２に進み、スロットルバルブ１５を全閉ストッパ４３に当接させるまで駆動し、その全閉ストッパ位置でのスロットルセンサ１８の出力電圧ＯＴＰを読み込んで基準位置を直接学習する。
【００２９】
また、図７の基準位置学習ルーチンに代えて、図８の基準位置学習ルーチンを実行しても良い。図８の基準位置学習ルーチンでは、図７のステップ１２２に代えて、ステップ１２２ａの処理を実行する。すなわち、イグニッションスイッチ（ＩＧ）がＯＦＦからＯＮに切り替えられた直後に、ステップ１２１からステップ１２２ａに進み、電磁クラッチ１６がＯＮする前にスロットルセンサ１８の出力を読み込み、この出力値から全閉ストッパ位置でのスロットルセンサ１８の出力電圧ＯＴＰを推定する。つまり、電磁クラッチ１６がＯＮする前（ＯＦＦ状態のとき）は、図２（ｂ）に示すように、バルブレバー３８がオープナ４０に当接し、且つオープナ４０がオープナストッパ４２に当接した位置（オープナストッパ開度）に保持される。このようにして、電磁クラッチ１６がＯＮする前は、スロットルバルブ１５の開度がオープナストッパ開度（約３〜４ｄｅｇ）に保持されるため、このオープナストッパ開度でのスロットルセンサ１８の出力電圧から全閉ストッパ位置でのスロットルセンサ１８の出力電圧ＯＴＰを推定することが可能である。
【００３０】
以上のようにして図７又は図８に示す基準位置学習ルーチンを実行した後、図４のステップ１１０に戻り、図９に示す開度−電圧変換マップを用い、前記ステップ１０８で求めた最終目標開度ＴＴＡを目標電圧ＴＴＰに変換する。
【００３１】
この後、ステップ１１１で、後述する図１１のセンサ異常検出ルーチンを実行し、スロットルセンサ１８の異常の有無を判定した後、ステップ１１２に進み、後述する図１３のモータ／クラッチ制御ルーチンを実行する。以下、これら図１１及び図１３の各ルーチンの処理について説明する。
【００３２】
図１１のセンサ異常検出ルーチンは、イグニッションスイッチ（図示せず）のＯＮ後に例えば８ｍｓ毎に繰り返し実行され、スロットルセンサ１８の異常（センサ異常）を検出する異常検出手段としての役割を果たす。本実施形態では、スロットルセンサ１８は、第１及び第２のスロットルセンサ(1) ，(2) から成る２トラック式のセンサであり、図１２に示すように、各スロットルセンサ(1) ，(2) の出力電圧ＶＴＡ１，ＶＴＡ２は、スロットル開度θ１，θ２に応じてリニアに変化すし、正常時には、２つの出力電圧ＶＴＡ１，ＶＴＡ２の偏差が所定範囲内になるように設定されている。
【００３３】
図１１のセンサ異常検出ルーチンの処理が開始されると、まずステップ２０１で、第１のスロットルセンサ(1) の出力電圧ＶＴＡ１から検出スロットル開度θ１を次式により算出する。
θ１＝Ｋ１・ＶＴＡ１＋Ｖ０１
ここで、Ｋ１は出力電圧ＶＴＡ１をスロットル開度に変換する際の変換定数、Ｖ０１はスロットル開度＝０°の時の出力電圧ＶＴＡ１である（図１２参照）。
【００３４】
この後、ステップ２０２で、第２のスロットルセンサ(2) の出力電圧ＶＴＡ２から検出スロットル開度θ２を次式により算出する。
θ２＝Ｋ２・ＶＴＡ２＋Ｖ０２
ここで、Ｋ２は出力電圧ＶＴＡ２をスロットル開度に変換する際の変換定数、Ｖ０２はスロットル開度＝０°の時の出力電圧ＶＴＡ２である（図１２参照）。
【００３５】
この後、ステップ２０３で、検出スロットル開度θ１，θ２の偏差の絶対値を予め設定された所定の異常判定値ＫＤθと比較し、｜θ１−θ２｜≦ＫＤθの場合には正常と判定して、ステップ２０５に進み、第１の仮異常フラグＸＦＶＴＡＲを正常を意味する「０」にセットする。もし、｜θ１−θ２｜＞ＫＤθの場合には、ショート／断線以外の異常、例えば接続不良によるハーフショート／ハーフオープン等が発生しているため、ステップ２０４で、第１の仮異常フラグＸＦＶＴＡＲを異常を意味する「１」にセットする。
【００３６】
第１の仮異常フラグＸＦＶＴＡＲのセット後、ステップ２０６に進み、第１のスロットルセンサ(1) の出力電圧ＶＴＡ１が正常電圧範囲内（０．２Ｖ≦ＶＴＡ１≦４．８Ｖ）であるか否かによって、第１のスロットルセンサ(1) のショート／断線等の異常の有無を判定する。つまり、０．２Ｖ≦ＶＴＡ１≦４．８Ｖの場合には、正常と判定し、ステップ２０８に進んで、第２の仮異常フラグＸＦＶＴＡ１を正常を意味する「０」にセットする。もし、ＶＴＡ１＜０．２Ｖ又はＶＴＡ１＞４．８Ｖであれば、第１のスロットルセンサ(1) のショート／断線等の異常と判定して、ステップ２０７に進み、第２の仮異常フラグＸＦＶＴＡ１を異常を意味する「１」にセットする。
【００３７】
第２の仮異常フラグＸＦＶＴＡ１のセット後、ステップ２０９に進み、第２のスロットルセンサ(2) の出力電圧ＶＴＡ２が正常電圧範囲内（０．２Ｖ≦ＶＴＡ２≦４．８Ｖ）であるか否かによって、第２のスロットルセンサ(2) のショート／断線等の異常の有無を判定する。つまり、０．２Ｖ≦ＶＴＡ２≦４．８Ｖの場合には、正常と判定し、ステップ２１１に進んで、第３の仮異常フラグＸＦＶＴＡ２を正常を意味する「０」にセットする。もし、ＶＴＡ２＜０．２Ｖ又はＶＴＡ２＞４．８Ｖであれば、第２のスロットルセンサ(2) のショート／断線等の異常と判定して、ステップ２１０に進み、第３の仮異常フラグＸＦＶＴＡ２を異常を意味する「１」にセットする。
【００３８】
以上のようにして３種類の仮異常判定を行った後、ステップ２１２に進み、ノイズや瞬断等によるセンサ異常の誤検出を防ぐために、上述した３種類の仮異常フラグＸＦＶＴＡＲ，ＸＦＶＴＡ１，ＸＦＶＴＡ２のうちの少なくとも１つが異常を示す「１」になった状態が予め設定された所定の判定ディレー時間（例えば２ｓ）続いたか否かを判定し、もし、いずれかの仮異常フラグが「１」になっている状態が判定ディレー時間続けば、最終的に異常と判定して、ステップ２１３に進み、本異常フラグＸＦＶＴＡを本異常を意味する「１」にセットする。
【００３９】
これに対し、３種類の仮異常フラグＸＦＶＴＡＲ，ＸＦＶＴＡ１，ＸＦＶＴＡ２がいずれも正常を意味する「０」の場合、或は、いずれかの仮異常フラグが異常を意味する「１」であっても、この状態が判定ディレー時間続かなければ（換言すれば判定ディレー時間内に正常状態に復帰すれば）、最終的に正常と判定し、ステップ２１４に進み、本異常フラグＸＦＶＴＡを正常を意味する「０」にセットする。
【００４０】
尚、判定ディレー時間は、２ｓに限定されず、要は、ノイズや瞬断時の信号幅よりも長い時間であれば良く、また、異常モードや運転状態等によって判定ディレー時間を変えるようにしても良い。
【００４１】
一方、図１３に示すモータ／クラッチ制御ルーチンも、イグニッションスイッチ（図示せず）のＯＮ後に例えば８ｍｓ毎に繰り返し実行され、次のようにしてＤＣモータ１７と電磁クラッチ１６が制御される。まず、ステップ３０１で、本異常フラグＸＦＶＴＡが正常を意味する「０」であるか否かを判定し、ＸＦＶＴＡ＝０（正常）であれば、ステップ３０２に進み、電磁クラッチ１６のＯＮ状態（つまりＤＣモータ１７とスロットルバルブ１５とが連結された状態）を継続する。
【００４２】
そして、次のステップ３０３〜３０５で、３種類の仮異常フラグＸＦＶＴＡ１，ＸＦＶＴＡ２，ＸＦＶＴＡＲが全て正常を意味する「０」と判定された場合（つまり両スロットルセンサ(1) ，(2) の双方が正常な場合）には、ステップ３０８に進み、スロットルセンサ１８の出力電圧ＴＡとして、第１のスロットルセンサ(1) の出力電圧ＶＴＡ１を採用し、次のステップ３０９で、この出力電圧ＴＡ（＝ＶＴＡ１）に基づいて、ＤＣモータ１７の位置（ひいてはスロットル開度）を次のようにフィードバック制御する。すなわち、図１０に示すように、目標電圧ＴＴＰとスロットルセンサ１８の出力電圧ＴＡとを比較し、その偏差Δθ（＝ＴＴＰ−ＴＡ）を小さくすべく、比例（Ｐ）・積分（Ｉ）・微分（Ｄ）動作を行ってＤＣモータ１７の制御量を演算する。このＰＩＤ動作は、次の伝達関数により行われる。
【００４３】
【数１】
2008255992.tif 000003
【００４４】
そして、次のステップ３１４で、上記制御量をデューティ比信号Ｄｕｔｙに変換し、このデューティ比信号Ｄｕｔｙをモータ駆動回路３２を介してＤＣモータ１７に印加するＰＷＭ出力処理を行う。これにより、スロットルバルブ１５は、ＤＣモータ１７の駆動によって、スロットル開度が上記目標電圧ＴＴＰにより指令される最終目標開度ＴＴＡに一致するようにフィードバック制御されることとなる。
【００４５】
一方、前記ステップ３０３で、仮異常フラグＸＦＶＴＡ１＝１（第１のスロットルセンサ(1) のショート／断線等の異常）の場合には、ステップ３０６に進み、仮異常フラグＸＦＶＴＡ２＝０（第２のスロットルセンサ(2) が正常）であるか否かを判定し、ＸＦＶＴＡ２＝０であれば、ステップ３０７に進み、スロットルセンサ１８の出力電圧ＴＡとして、第２のスロットルセンサ(2) の出力電圧ＶＴＡ２を採用する。この後、ステップ３０９に進み、この出力電圧ＴＡ（＝ＶＴＡ２）に基づいて、ＤＣモータ１７の位置（ひいてはスロットル開度）をフィードバック制御する。つまり、第１のスロットルセンサ(1) が異常の場合には、第２のスロットルセンサ(2) が正常であれば、第２のスロットルセンサ(2) の出力電圧ＶＴＡ２に基づいてＤＣモータ１７の位置をフィードバック制御する。
【００４６】
また、前記ステップ３０３，３０４で、仮異常フラグＸＦＶＴＡ１＝０（第１のスロットルセンサ(1) が正常）で、且つ仮異常フラグＸＦＶＴＡ２＝１（第２のスロットルセンサ(2) のショート／断線等の異常）の場合には、両スロットルセンサ(1) ，(2) の双方が正常な場合（ＸＦＶＴＡ１，ＸＦＶＴＡ２，ＸＦＶＴＡＲが全て「０」の場合）と同じく、ステップ３０８，３０９に進み、第１のスロットルセンサ(1) の出力電圧ＶＴＡ１に基づいてＤＣモータ１７の位置をフィードバック制御する。
【００４７】
また、前記ステップ３０３，３０６で、仮異常フラグＸＦＶＴＡ１，ＸＦＶＴＡ２が共に「１」の場合（両スロットルセンサ(1) ，(2) の双方がショート／断線等の異常の場合）には、ステップ３１０に進み、フィードバック制御を停止してフィードバック変数（前記数１式のＰＩＤ演算に用いる各項の前回値）を初期化する。ノイズや瞬断等による一時的なセンサ異常が発生すると、フィードバック変数も異常値に変化している可能性があるので、このフィードバック変数を初期化することで、その後、スロットルセンサ１８の出力が正常に復帰した時に、異常なフィードバック変数でフィードバック制御を再開することを回避でき、速やかに正常なフィードバック制御状態に復帰できる。
【００４８】
また、前記ステップ３０５で、仮異常フラグＸＦＶＴＡＲ＝１の場合（ハーフショート／ハーフオープン等の異常の場合）にも、ステップ３１０に進み、フィードバック制御を停止してフィードバック変数を初期化する。ハーフショート／ハーフオープン時には、両スロットルセンサ(1) ，(2) のいずれが異常であるか判別できないためである。
【００４９】
フィードバック変数の初期化後、ステップ３１１に進み、アクセル操作量Ａｐが２°以下（つまりアクセルＯＦＦ）であるか否かを判定し、２°以下の場合には、ステップ３１２に進み、ＤＣモータ１７に印加するデューティ比信号Ｄｕｔｙ（以下「モータＤｕｔｙ」と表記する）を０％に設定して、ＰＷＭ出力処理を行う（ステップ３１４）。これにより、ＤＣモータ１７を停止させて、スロットルバルブ１５の開度を引き続きアイドル状態に保持する。正常時のアイドル回転は、オープナストッパ４２で規制される開度（オープナストッパ開度）以下で制御されるため、スロットルバルブ１５には退避走行用スプリング３９の引張力により開方向の力が働くが、電磁クラッチ１６がＯＮの状態では、スロットルバルブ１５の動きが停止中のＤＣモータ１７によって拘束され、スロットルバルブ１５がオープナストッパ開度まで開くことが阻止される。これにより、エンジン回転数の上昇が抑えられると共に、アイドル回転が確保される。
【００５０】
これに対し、上記ステップ３１１で、アクセル操作量Ａｐが２°よりも大きいと判定された場合（つまりアクセルＯＮ時）には、スロットルバルブ１５が開いているため、ステップ３１３に進み、スロットルバルブ１５を閉じる最低限のモータＤｕｔｙ（例えば−３０％）に設定して、ＰＷＭ出力処理（ステップ３１４）を行い、スロットルバルブ１５をゆっくり閉じる。
【００５１】
以上説明した正常時と仮異常検出時の判定ディレー時間内の処理を要約すると次ぎのようになる。
（１）第１のスロットルセンサ(1) が正常な場合
第２のスロットルセンサ(2) の正常／異常を問わず、第１のスロットルセンサ(1) の出力電圧ＶＴＡ１に基づくフィードバック制御が行われる。
（２）第１のスロットルセンサ(1) が異常な場合
第２のスロットルセンサ(2) が正常であれば、第２のスロットルセンサ(2) の出力電圧ＶＴＡ２に基づくフィードバック制御が行われるが、第２のスロットルセンサ(2) も異常であれば、フィードバック制御を停止してフィードバック変数を初期化すると共に、アクセルＯＮ／ＯＦＦに応じてモータＤｕｔｙを−３０％又は０％に設定する。尚、アクセル開度に応じてモータＤｕｔｙを３段階以上に設定するようにしても良い。
【００５２】
そして、仮異常の状態（３種類の仮異常フラグＸＦＶＴＡＲ，ＸＦＶＴＡ１，ＸＦＶＴＡ２のうちの少なくとも１つが異常を示す「１」の状態）が判定ディレー時間続くと、図１１のステップ２１２，２１３の処理により、最終的に異常と判定され、本異常フラグＸＦＶＴＡが本異常を意味する「１」にセットされる。これ以後は、図１３のステップ３０１で「Ｎｏ」と判定され、ステップ３１５に進んで、電磁クラッチ１６をＯＦＦすると共に、ステップ３１６で、ＤＣモータ１７をＯＦＦして、スロットル制御を停止し、退避走行に移行する。そして、ステップ３１７で、警告ランプ（図示せず）を点灯したり、或は警告音を発生して運転者に警告する。
【００５３】
ところで、図１４に示す比較例では、スロットルセンサ(1) ，(2) の双方が断線して、その出力電圧ＶＴＡ１，ＶＴＡ２が０Ｖになると、仮異常が検出され、この状態が判定ディレー時間続くと、本異常と判定され、電磁クラッチがＯＦＦされる（この動作は本実施形態と同じである）。しかし、比較例では、仮異常が検出されから本異常が検出されるまでの判定ディレー時間中は、スロットルセンサの出力電圧に基づくフィードバック制御を続け、スロットルセンサの出力電圧と目標電圧ＴＴＰ（目標スロットル開度）との偏差を小さくするように、ＰＩＤ動作を続けるために、アクセルＯＦＦ時でも、判定ディレー時間中はモータＤｕｔｙが最大値（１００％）に設定されてしまう。このため、判定ディレー時間中に、実スロットル開度が目標スロットル開度（目標電圧ＴＴＰ）を大きく越えて開方向に駆動されてしまい、エンジン回転数が上昇してしまう。
【００５４】
これに対し、本実施形態では、図１５に示すように、アクセルＯＦＦ時にスロットルセンサ(1) ，(2) の出力電圧ＶＴＡ１，ＶＴＡ２が断線により０Ｖになり、仮異常が検出されると、モータＤｕｔｙが０％に固定され（図１３のステップ３１１，３１２）、ＤＣモータ１７が停止する。アクセルＯＦＦ時の目標スロットル開度（つまりアイドル目標開度）はオープナストッパ開度以下であるため、スロットルバルブ１５には退避走行用スプリング３９の引張力により開方向の力が働くが、判定ディレー時間中は、電磁クラッチ１６がＯＮ状態に保持されるため、スロットルバルブ１５の動きが停止中のＤＣモータ１７によって拘束され、スロットルバルブ１５がアイドル目標開度付近に保持される。これにより、判定ディレー時間中のエンジン回転数の上昇が抑えられると共に、アイドル回転が確保される。その後、この仮異常の状態が判定ディレー時間続くと、本異常と判定され、電磁クラッチ１６がＯＦＦされ、ＤＣモータ１７によるスロットル制御が停止される。この後は、スロットルバルブ１５は退避走行用スプリング３９の引張力により開方向にオープナストッパ開度まで開き、退避走行時のアイドル回転が確保される。
【００５５】
また、本実施形態では、図１６に示すように、アクセルＯＮ時に、スロットルセンサ(1) ，(2) の出力電圧ＶＴＡ１，ＶＴＡ２が断線により０Ｖになり、仮異常が検出されると、モータＤｕｔｙがスロットルバルブ１５を閉じる最低限のモータＤｕｔｙ（例えば−３０％）に固定される（図１３のステップ３１１，３１３）。これにより、スロットルバルブ１５がゆっくり閉じられる。その後、この仮異常の状態が判定ディレー時間続くと、本異常と判定され、電磁クラッチ１６がＯＦＦされ、ＤＣモータ１７によるスロットル制御が停止される。この後は、スロットルバルブ１５が退避走行用スプリング３９の引張力によりオープナストッパ開度に保持され、退避走行時のアイドル回転が確保される。
【００５６】
以上説明した本実施形態によれば、仮異常を検出してから本異常と判定するまでに判定ディレー時間を持たせているので、ノイズや瞬断等によるセンサ異常の誤検出を排除することができ、センサ異常の検出精度を向上できる。しかも、仮異常検出後の判定ディレー期間中は、アクセルＯＮ／ＯＦＦに応じてモータＤｕｔｙを所定値に設定するため、スロットルセンサ１８の異常出力に基づく誤ったフィードバック制御を回避できて、判定ディレー時間中のエンジン回転数の上昇を防ぐことができ、フェイルセーフ性を確保できて、電子スロットルシステムの信頼性を向上できる。
【００５７】
更に、本実施形態では、仮異常検出後にモータＤｕｔｙを所定値に設定する時にスロットルセンサ１８の出力に基づくフィードバック制御を停止してフィードバック変数を初期化するようにしたので、スロットルバルブ１５の出力がノイズや瞬断等による一時的な異常状態から正常状態に復帰した時に、異常なフィードバック変数でフィードバック制御を再開することを回避でき、速やかに正常なフィードバック制御状態に復帰できる。
【００５８】
また、本実施形態では、２個のスロットルセンサ(1) ，(2) でスロットル開度を検出し、仮異常検出時でも、正常なスロットルセンサがあれば、判定ディレー時間中は、正常なスロットルセンサの出力に基づくフィードバック制御を実行するようにしたので、判定ディレー時間中のスロットル制御性を向上できる。
【００５９】
尚、スロットルセンサは、３個以上設けても良い。
また、センサ異常の検出方法は、図１１の処理に限定されず、例えば、出力特性の異なる複数のスロットルセンサの出力変化率又は出力値を所定の異常判定値と比較してセンサ異常を判定するようにしても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施形態を示す内燃機関制御システム全体の概略構成図
【図２】電子スロットルシステムの概略構成図で、（ａ）は通常制御時（クラッチＯＮ時）の状態を示す図、（ｂ）はクラッチＯＦＦ時の状態を示す図
【図３】電子スロットルシステムの斜視図
【図４】メインルーチンの処理の流れを示すフローチャート
【図５】アクセル操作量Ａｐから非線形目標開度ＴＡＣＣを設定するためのマップを示す図
【図６】非線形目標開度ＴＡＣＣ、定速走行目標開度ＴＣＲＣ、トラクション目標開度ＴＴＲＣ、フェイル目標開度ＴＦＡＩＬ、ＩＳＣ目標開度ＴＣＲＣから最終目標開度ＴＴＡを設定する手順を説明する図
【図７】基準位置学習ルーチンの処理の流れを示すフローチャート
【図８】他の基準位置学習ルーチンの処理の流れを示すフローチャート
【図９】最終目標開度ＴＴＡを目標電圧ＴＴＰに変換するマップを示す図
【図１０】スロットル開度をＰＩＤ制御する制御系のブロック図
【図１１】センサ異常検出ルーチンの処理の流れを示すフローチャート
【図１２】２つのスロットルセンサ(1) ，(2) の出力特性を示す図
【図１３】モータ／クラッチ制御ルーチンの処理の流れを示すフローチャート
【図１４】比較例のアクセルＯＦＦ時における仮異常検出後のスロットル制御の挙動を示すタイムチャート
【図１５】本実施形態のアクセルＯＦＦ時における仮異常検出後のスロットル制御の挙動を示すタイムチャート
【図１６】本実施形態のアクセルＯＮ時における仮異常検出後のスロットル制御の挙動を示すタイムチャート
【符号の説明】
【００６１】
１１…内燃機関、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、１６…電磁クラッチ、１７…ＤＣモータ（スロットル駆動手段）、１８，(1) ，(2) …スロットルセンサ、２５…電子制御ユニット（Ｆ／Ｂ制御手段，異常検出手段，異常検出時制御手段）、２６…アクセルペダル、２７…アクセルセンサ、３４…アクセルレバー、３５，３６…アクセルリターンスプリング、３７…アクセル全閉レバー、３８…バルブレバー、３９…退避走行用スプリング、４０…オープナ、４１…バルブリターンスプリング、４２…オープナストッパ、４３…スロットル全閉ストッパ。
【図１】
2008255992.tif 000004
【図２】
2008255992.tif 000005
【図３】
2008255992.tif 000006
【図４】
2008255992.tif 000007
【図５】
2008255992.tif 000008
【図６】
2008255992.tif 000009
【図７】
2008255992.tif 000010
【図８】
2008255992.tif 000011
【図９】
2008255992.tif 000012
【図１０】
2008255992.tif 000013
【図１１】
2008255992.tif 000014
【図１２】
2008255992.tif 000015
【図１３】
2008255992.tif 000016
【図１４】
2008255992.tif 000017
【図１５】
2008255992.tif 000018
【図１６】
2008255992.tif 000019