(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、図面を適宜参照して、本発明の実施形態における電子制御スロットルシステムにつき、詳細に説明する。
【0015】
〔電子制御スロットルシステムの構成〕
まず、
図1を参照して、本実施形態における電子制御スロットルシステムに適用される車両用電子制御装置の構成につき、詳細に説明する。
【0016】
図1は、本実施形態における電子制御スロットルシステムに適用される車両用電子制御装置の構成を示すブロック図である。
【0017】
図1に示すように、本実施形態における電子制御スロットルシステムに適用される車両用電子制御装置1は、自動二輪車等の車両に搭載されて、図示を省略するCPU(Cen
tral Processing Unit)やメモリ等を有するマイクロコンピュータ等の演算処理装置であり、典型的にはECU(Electronic Control Unit)である。車両用電子制御装置1は、メモリから必要な制御プログラム及び制御データを読み出して、スロットル開度情報に基づくスロットル駆動系の故障判定処理であるスロットル故障判定処理を含むスロットル開度制御処理用等の制御プログラムを実行する。
【0018】
具体的には、車両用電子制御装置1は、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、スロットル開度算出部7a、7b、スロットル開度算出部8、故障判定部9、燃料点火制御部10、目標スロットル開度算出部11、偏差算出部12、スロットル開度フィードバック(F/B)制御部13、及びモータ駆動出力部14を備えている。これらは、車両用電子制御装置1内において、CPUの機能ブロックとして実現されてもよいし、電気回路として実現されてもよい。
【0019】
アクセル開度算出部2は、車両における乗員のアクセル操作、具体的には図示を省略するアクセルグリップ等のアクセル操作部材の操作量を検出するアクセル開度センサ21からの出力信号に基づいて、アクセル開度を算出し、このように算出したアクセル開度を示す信号を燃料点火制御部10及び目標スロットル開度算出部11に出力する。
【0020】
吸気圧算出部3は、吸気圧センサ22からの出力信号に基づいて、吸入空気の圧力(吸気圧)を算出し、このように算出した吸気圧を示す信号を燃料点火制御部10及び目標スロットル開度算出部11に出力する。
【0021】
エンジン温度算出部4は、エンジン温度センサ23からの出力信号に基づいて、エンジンEの温度を算出し、このように算出したエンジンEの温度を示す信号を燃料点火制御部10及び目標スロットル開度算出部11に出力する。
【0022】
車速算出部5は、車速センサ24からの出力信号に基づいて、車両の車速を算出し、このように算出した車速を示す信号を燃料点火制御部10及び目標スロットル開度算出部11に出力する。
【0023】
エンジン回転数算出部6は、クランクセンサ25からの出力信号に基づいて、エンジンEの回転数を算出し、このように算出したエンジンEの回転数を示す信号を燃料点火制御部10及び目標スロットル開度算出部11に出力する。
【0024】
スロットル開度算出部7aは、スロットル開度センサ26aからの出力信号に基づいて、エンジンEの吸気系に設けられたスロットル弁Tの開度(実スロットル開度)を算出し、このように算出した実スロットル開度を示す信号をスロットル開度算出部8及び故障判定部9に出力する。
【0025】
スロットル開度算出部7bは、スロットル開度センサ26bからの出力信号に基づいて、エンジンEの吸気系に設けられたスロットル弁Tの開度(実スロットル開度)を算出し、このように算出した実スロットル開度を示す信号をスロットル開度算出部8及び故障判定部9に出力する。なお、本実施形態では、スロットル開度センサは2個であるとしたが、スロットル開度センサを3個以上設け、各スロットル開度センサに対してスロットル開度算出部を設けるようにしてもよい。
【0026】
スロットル開度算出部8は、予め設定された所定条件に従ってスロットル開度算出部7aから出力された実スロットル開度を示す信号及びスロットル開度算出部7bから出力された実スロットル開度を示す信号の一方を選択し、このように選択した実スロットル開度
を示す信号を燃料点火制御部10、目標スロットル開度算出部11、及び偏差算出部12に出力する。
【0027】
故障判定部9は、スロットル開度算出部7aから出力された実スロットル開度を示す信号、スロットル開度算出部7bから出力された実スロットル開度を示す信号、及び目標スロットル開度算出部11から出力された目標スロットル開度を示す信号に基づいて電子制御スロットルシステムの故障、具体的にはスロットル開度センサ26a、26bの故障を判定し、判定結果を燃料点火制御部10及び目標スロットル開度算出部11に出力する。
【0028】
燃料点火制御部10は、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、及びスロットル開度算出部8からの出力信号に基づいて、燃料噴射システムFI及び点火システムIGを制御することによりエンジンEへの燃料供給動作及びエンジンEの点火動作を制御する。
【0029】
目標スロットル開度算出部11は、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、及びスロットル開度算出部8からの出力信号に適宜基づいて、スロットル弁Tの目標開度(目標スロットル開度)を算出する。目標スロットル開度算出部11は、このように算出した目標スロットル開度を示す信号を故障判定部9及び偏差算出部12に出力する。
【0030】
偏差算出部12は、スロットル開度算出部8から出力された信号が示す実スロットル開度と、目標スロットル開度算出部11から出力された信号が示す目標スロットル開度と、の偏差を算出し、このように算出した偏差を示す信号をスロットル開度F/B制御部13に出力する。
【0031】
スロットル開度F/B制御部13は、偏差算出部12から出力された信号が示す偏差に基づいて、実スロットル開度が目標スロットル開度に一致するようにモータ駆動出力部14に制御信号を出力する。
【0032】
モータ駆動出力部14は、スロットル開度F/B制御部13から出力された制御信号に従って、スロットル弁Tを駆動するための駆動信号をモータMに出力する。
【0033】
ここで、スロットル開度算出部7a、7b、スロットル開度算出部8、故障判定部9、目標スロットル開度算出部11、偏差算出部12、スロットル開度F/B制御部13、モータ駆動出力部14、スロットル開度センサ26a、26b、スロットル弁T、及びモータMを含むスロットルシステムは、電子制御スロットルシステムSであり、この中で、スロットル開度算出部7a、7b、スロットル開度算出部8、故障判定部9、目標スロットル開度算出部11、偏差算出部12、スロットル開度F/B制御部13、及びモータ駆動出力部14が、電子制御スロットルシステムSにおける電子スロットル制御部である。
【0034】
このような構成を有する電子制御スロットルシステムSは、以下に示すスロットル故障判定処理を実行することにより、スロットル開度センサ26a、26bの出力にノイズ的な出力変化があった際に電子制御スロットルシステムS、具体的にはスロットル開度センサ26a、26bを含むスロットル駆動系が故障していると誤判定することを抑制する。以下、
図2及び
図3を参照して、本実施形態における電子制御スロットルシステムSが実行するスロットル故障判定処理の流れについて説明する。
【0035】
〔スロットル故障判定処理〕
図2は、本実施形態における電子制御スロットルシステムのスロットル故障判定処理の流れを示すフローチャートである。また、
図3は、本実施形態における電子制御スロット
ルシステムのスロットル故障判定処理の流れを説明するためのタイミングチャートである。
【0036】
図2のフローチャートに示すように、本実施形態におけるスロットル故障判定処理は、車両に搭載されたバッテリ等の電源から電子制御スロットルシステムSに適用される車両用電子制御装置1に対して電力が供給されたタイミングで開始となり、スロットル開度センサ選択処理はステップS1の処理に進む。なお、かかるスロットル開度センサ選択処理は、このような電力が供給されなくなったタイミングで停止する。
【0037】
ステップS1の処理では、電子スロットル制御部が、スロットル故障判定処理において算出等される各種パラメータの内でリセットすべきものをリセットする初期化処理を実行する。この初期化処理には、プログラムカウンタのカウント値を0に設定する処理を含む。これにより、ステップS1の処理は完了し、スロットル故障判定処理はステップS2の処理に進む。
【0038】
ステップS2の処理では、故障判定部9が、プログラムカウンタのカウント値i(リセット値0)を1増数する。これにより、ステップS2の処理は完了し、スロットル故障判定処理はステップS3の処理に進む。
【0039】
ステップS3の処理では、スロットル開度算出部7a及びスロットル開度算出部7bが、スロットル開度センサ26a及びスロットル開度センサ26bの出力値TPS_i(i=1、2)を対応して順次読み込む。具体的には、プログラムカウンタのカウント値iが1である場合には、スロットル開度算出部7aがスロットル開度センサ26aの出力値TPS_1を読み込み、プログラムカウンタのカウント値iが2である場合には、スロットル開度算出部7bがスロットル開度センサ26bの出力値TPS_2を読み込む。これにより、ステップS3の処理は完了し、スロットル故障判定処理はステップS4の処理に進む。
【0040】
ステップS4の処理では、スロットル開度算出部7a及びスロットル開度算出部7bが、ステップS4の処理で読み込んだ出力値TPS_i(i=1、2)からスロットル弁Tの開度値TH_i(i=1、2)を算出する。具体的には、ステップS4の処理で出力値TPS_1が読み込まれた場合には、スロットル開度算出部7aが出力値TPS_1からスロットル弁Tの開度値TH_1を算出し、ステップS4の処理で出力値TPS_2が読み込まれた場合には、スロットル開度算出部7bが出力値TPS_2からスロットル弁Tの開度値TH_2を算出する。これにより、ステップS4の処理は完了し、スロットル故障判定処理はステップS5の処理に進む。ここで、実スロットル開度を一致させるための目標スロットル開度値をスロットル開度センサ26a、26bの出力値に変換した電圧値はスロットル開度センサ毎に異なるため、スロットル開度センサ26a、26bの出力値を物理値変換することにより実開度値として用いることが好ましい。
【0041】
ここで、スロットル開度センサ26aの出力値TPS_1に基づく開度値TH_1は、
図3の上段のタイムチャートに太い実線で示すような時間変化を示し、時刻t=t1から時刻t=t4及び時刻t=t9から時刻t=t12の間の期間では、目標スロットル開度TRG以上の開度を示す。また、スロットル開度センサ26bの出力値TPS_2に基づく開度値TH_2は、
図3の上段のタイムチャートに太い点線で示すような時間変化を示し、時刻t=t5から時刻t=t8及び時刻t=t9から時刻t=t12の間の期間では、目標スロットル開度TRG以上の開度を示す。
【0042】
ステップS5の処理では、故障判定部9が、プログラムカウンタのカウント値iが2であるか否かを判定する。判定の結果、プログラムカウンタのカウント値iが2である場合
には、故障判定部9は、スロットル故障判定処理をステップS6の処理に進める。一方、プログラムカウンタのカウント値iが2でない場合には、故障判定部9は、スロットル故障判定処理をステップS2の処理に戻す。なお、本実施形態では、スロットル開度センサの数が2個であるために、プログラムカウンタのカウント値iの上限値を2としているが、スロットル開度センサが3個以上、つまりn(>2)個以上である場合には、プログラムカウンタのカウント値iの上限値をnとして、各スロットル開度センサの出力値に対してステップS3、S4の処理を実行すればよい。
【0043】
ステップS6の処理では、目標スロットル開度算出部11が、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、及びスロットル開度算出部8からの出力信号に基づいて、目標スロットル開度TRGを算出する。目標スロットル開度算出部11は、このように算出した目標スロットル開度TRGを示す信号を故障判定部9及び偏差算出部12に出力する。これにより、ステップS6の処理は完了し、スロットル故障判定処理はステップS7の処理に進む。
【0044】
ここで、目標スロットル開度TRGは、
図3の上段のタイムチャートに細い実線で示すような時間変化を示す。
【0045】
ステップS7の処理では、故障判定部9が、スロットル弁Tの開度が目標スロットル開度TRGに追従しているか否かを判定することによって、現在の車両の状態がスロットル故障判定処理を実施可能な状態にあるか否かを判定する。これにより、ステップS7の処理は完了し、スロットル故障判定処理はステップS8の処理に進む。
【0046】
ここで、故障判定部9が現在の車両の状態がスロットル故障判定処理を実施可能な状態にあるか否かを判定した結果は、
図3の中段のタイムチャートに示すような時間変化を示す。
【0047】
ステップS8の処理では、故障判定部9が、スロットル弁Tの開度が目標スロットル開度TRGに追従している場合には、現在の車両の状態がスロットル故障判定処理を実施可能な状態にあると判定し、スロットル故障判定処理をステップS9の処理に進める。一方、スロットル弁Tの開度が目標スロットル開度TRGに追従していない場合には、故障判定部9は、現在の車両の状態がスロットル故障判定処理を実施可能な状態でないと判定し、スロットル故障判定処理をステップS16の処理に進める。
【0048】
ステップS9の処理では、故障判定部9が、プログラムカウンタのカウント値iを0にリセットする。これにより、ステップS9の処理は完了し、スロットル故障判定処理はステップS10の処理に進む。
【0049】
ステップS10の処理では、故障判定部9が、プログラムカウンタのカウント値iを1増数する。これにより、ステップS10の処理は完了し、スロットル故障判定処理はステップS11の処理に進む。
【0050】
ステップS11の処理では、故障判定部9が、ステップS4の処理によって算出されたプログラムカウンタのカウント値iに対応するスロットル弁Tの開度値TH_iとステップS6の処理によって算出された目標スロットル開度TRGとの差の絶対値を算出する。そして、故障判定部9は、このように算出した絶対値が、実スロットル開度が目標スロットル開度に追従していないと判定する検知しきい値未満であるか否かを判定する。判定の結果、このように算出した絶対値が検知しきい値未満である場合には、故障判定部9はスロットル故障判定処理をステップS12の処理に進める。一方、このように算出した絶対値が検知しきい値未満でない場合には、故障判定部9はスロットル故障判定処理をステッ
プS13の処理に進める。なお、かかる検知しきい値は、目標スロットル開度TRGに所定の一定値を加算した値として求める。
【0051】
ステップS12の処理では、故障判定部9が、プログラムカウンタのカウント値iに対応するスロットル開度センサを含むスロット駆動系が異常であるか否かを仮判断した結果を示すフラグF_DBWERR_iの値を0(異常なし)に設定する。例えば、プログラムカウンタのカウント値iが1である場合には、故障判定部9はスロットル開度センサ26aの情報に基づきそのスロットル駆動系が異常であるか否かを仮判断した結果を示すフラグF_DBWERR_1の値を0に設定し、プログラムカウンタのカウント値iが2である場合には、故障判定部9はスロットル開度センサ26bの情報に基づきそのスロットル駆動系が異常であるか否かを仮判断した結果を示すフラグF_DBWERR_2の値を0に設定する。これにより、ステップS12の処理は完了し、スロットル故障判定処理はステップS14の処理に進む。
【0052】
ここで、
図3の下段のタイムチャート図に示すように、故障判定部9がスロットル開度センサ26aを含むスロット駆動系が異常であるか否かを示すフラグF_DBWERR_1の値を1から0に設定するのは時刻t=3であり、故障判定部9がスロットル開度センサ26bを含むスロット駆動系が異常であるか否かを示すフラグF_DBWERR_2の値を1から0に設定するのは時刻t=t7である。
【0053】
ステップS13の処理では、故障判定部9が、プログラムカウンタのカウント値iに対応するスロットル開度センサを含むスロット駆動系が異常であるか否かを仮判断した結果を示すフラグF_DBWERR_iの値を1(異常あり)に設定する。例えば、プログラムカウンタのカウント値iが1である場合には、故障判定部9はスロットル開度センサ26aの情報に基づきそのスロットル駆動系が異常であるか否かを仮判断した結果を示すフラグF_DBWERR_1の値を1に設定し、プログラムカウンタのカウント値iが2である場合には、故障判定部9はスロットル開度センサ26bの情報に基づきそのスロットル駆動系が異常であるか否かを仮判断した結果を示すフラグF_DBWERR_2の値を1に設定する。これにより、ステップS13の処理は完了し、スロットル故障判定処理はステップS14の処理に進む。
【0054】
ここで、
図3の下段のタイムチャート図に示すように、故障判定部9がスロットル開度センサ26aを含むスロット駆動系が異常であるか否かを示すフラグF_DBWERR_1の値を0から1に設定するのは時刻t=2であり、故障判定部9がスロットル開度センサ26bを含むスロット駆動系が異常であるか否かを示すフラグF_DBWERR_2の値を0から1に設定するのは時刻t=t6である。
【0055】
ステップS14の処理では、故障判定部9が、プログラムカウンタのカウント値iが2であるか否かを判定する。判定の結果、プログラムカウンタのカウント値iが2である場合には、故障判定部9は、スロットル故障判定処理をステップS15の処理に進める。一方、プログラムカウンタのカウント値iが2でない場合には、故障判定部9は、スロットル故障判定処理をステップS10の処理に戻す。なお、本実施形態では、スロットル開度センサの数が2個であるために、プログラムカウンタのカウント値iの上限値を2としているが、スロットル開度センサが3個以上、つまりn(>2)個以上である場合には、プログラムカウンタのカウント値iの上限値をnとして、各スロットル開度センサの出力値に対してステップS12、S13の処理を実行すればよい。
【0056】
ステップS15の処理では、故障判定部9が、フラグF_DBWERR_i(i=1、2)の値が全て1であるか否かを判定することにより、スロットル開度センサ26a、26bを含むそれらのスロット駆動系の両方に異常があるか否かを判定する。判定の結果、
フラグF_DBWERR_i(i=1、2)の値が全て1でない場合には、故障判定部9は、スロットル開度センサ26a、26bを含むそれらのスロット駆動系の少なくとも一方は正常であると判定し、スロットル故障判定処理をステップS16の処理に進める。一方、フラグF_DBWERR_i(i=1、2)の値が全て1である場合には、故障判定部9は、スロットル開度センサ26a、26bを含むそれらのスロット駆動系の両方に異常があると判定し、スロットル故障判定処理をステップS20の処理に進める。
【0057】
ここで、
図3の下段のタイムチャート図に示すように、故障判定部9がフラグF_DBWERR_i(i=1、2)の値が全て1でない場合にスロットル開度センサ26a、26bを含むそれらのスロット駆動系の少なくとも一方は正常であると判定するのは時刻t=2及び時刻t=t6であり、故障判定部9がフラグF_DBWERR_i(i=1、2)の値が全て1である場合にスロットル開度センサ26a、26bを含むそれらのスロット駆動系の両方に異常があると判定するのは時刻t=10である。
【0058】
ステップS16の処理では、故障判定部9が、全てのフラグF_DBWERR_i(i=1、2)の値をクリアする。これにより、ステップS16の処理は完了し、スロットル故障判定処理はステップS17の処理に進む。
【0059】
ステップS17の処理では、故障判定部9が、スロットル開度センサ26a及びスロットル開度センサ26bを含むそれらのスロット駆動系に異常が発生しているか否かを示すフラグF_DBWERRAの値を0(異常検知なし)に設定する。これにより、ステップS17の処理は完了し、スロットル故障判定処理はステップS18の処理に進む。
【0060】
ステップS18の処理では、故障判定部9が、実スロットル開度が目標スロットル開度に一致するようにスロットル弁Tを駆動するモータMをフィードバック制御する処理を継続する。これにより、ステップS18の処理は完了し、スロットル故障判定処理はステップS19の処理に進む。
【0061】
ステップS19の処理では、故障判定部9が、メータパネル等に設けられた故障警告灯(MIL)を消灯する。これにより、ステップS19の処理は完了し、スロットル故障判定処理はステップS1の処理に戻る。
【0062】
ステップS20の処理では、故障判定部9が、スロットル開度センサ26a及びスロットル開度センサ26bを含むそれらのスロット駆動系に異常が発生しているか否かを示すフラグF_DBWERRAの値を1(異常検知)に設定する。これにより、ステップS20の処理は完了し、スロットル故障判定処理はステップS21の処理に進む。
【0063】
ここで、
図3の下段のタイムチャート図に示すように、故障判定部9がスロットル開度センサ26a及びスロットル開度センサ26bに異常が発生しているか否かを示すフラグF_DBWERRAの値を0から1に設定するのは時刻t=10である。また、時刻t=10以降の期間では、フラグF_DBWERRAの値は1に維持され続ける。なお、スロットル弁Tの開度値TH_iと目標スロットル開度TRGとの差の絶対値が検知しきい値未満となるような時刻t=11においても、フラグF_DBWERRAの値は1から0に変更されることはない。
【0064】
ステップS21の処理では、故障判定部9が、実スロットル開度が目標スロットル開度に一致するようにスロットル弁Tを駆動するモータMをフィードバック制御する処理、及び燃料噴射システムFI及び点火システムIGを制御することによりエンジンEへの燃料供給動作及びエンジンEの点火動作を制御する処理を禁止する。これにより、ステップS21の処理は完了し、スロットル故障判定処理はステップS22の処理に進む。
【0065】
ステップS22の処理では、故障判定部9が、スロットル開度センサ26a及びスロットル開度センサ26bを含むそれらの駆動系に異常があることを報知するために故障警告灯(MIL)を点灯する。これにより、ステップS19の処理は完了し、スロットル故障判定処理はステップS1の処理に戻る。
【0066】
以上の説明から明らかなように、本実施形態における電子制御スロットルシステムSのスロットル故障判定処理では、故障判定部9が、目標スロットル開度と複数のスロットル開度センサ26a、26bによって検出された実スロットル開度との偏差を各々算出し、偏差の全てが所定値以上である場合には、電子制御スロットルシステムSが故障していると判定するものであるため、複数のスロットル開度センサ26a、26bのうちの一つのスロットル開度センサの出力にノイズ的な出力変化が生じても、それを誤検出することなく排除することができ、電子制御スロットルシステムSの故障と誤判定することを抑制することができる。
【0067】
また、本実施形態における電子制御スロットルシステムSのスロットル故障判定処理では、故障判定部9が、偏差の少なくとも1つが所定値未満である場合には、電子制御スロットルシステムSが故障していないと判定するものであるため、異常を検出していない方のスロットル開度センサ26a、26bの出力を用いてフィードバック制御を続行することができる。
【0068】
なお、本発明は、部材の種類、形状、配置、個数等は前述の実施形態に限定されるものではなく、その構成要素を同等の作用効果を奏するものに適宜置換する等、発明の要旨を逸脱しない範囲で適宜変更可能であることはもちろんである。