以下、図面を適宜参照して、本発明の実施形態における電子制御スロットルシステムにつき、詳細に説明する。
〔電子制御スロットルシステムの構成〕
まず、図1を参照して、本実施形態における電子制御スロットルシステムに適用される車両用電子制御装置の構成につき、詳細に説明する。
図1は、本実施形態における電子制御スロットルシステムに適用される車両用電子制御装置の構成を示すブロック図である。
図1に示すように、本実施形態における電子制御スロットルシステムに適用される車両用電子制御装置1は、自動二輪車等の車両に搭載されて、図示を省略するCPU(Central Processing Unit)やメモリ等を有するマイクロコンピュータ等の演算処理装置であり、典型的にはECU(Electronic Control Unit)である。車両用電子制御装置1は、メモリから必要な制御プログラム及び制御データを読み出して、スロットル開度制御処理用等の制御プログラムを実行する。
具体的には、車両用電子制御装置1は、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、スロットル開度算出部7a、7b、スロットル開度フィルタ値算出部8a、8b、偏差算出部9a、9b、スロットル開度センサ選択部10、選択後スロットル開度設定部10a、フィルタ係数調整部11a、11b、フィルタ係数学習部12a、12b、フィルタ係数算出部13a、13b、燃料点火制御部14、目標スロットル開度算出部15、偏差算出部16、スロットル開度フィードバック(F/B)制御部17、及びモータ駆動出力部18を備えている。これらは、車両用電子制御装置1内において、CPUの機能ブロックとして実現されてもよいし、電気回路として実現されてもよい。また、スロットル開度フィルタ値算出部8a、8b、フィルタ係数調整部11a、11b、フィルタ係数学習部12a、12b、及びフィルタ係数算出部13a、13bは、フィルタ処理部に相当する。
アクセル開度算出部2は、車両における乗員のアクセル操作、具体的には図示を省略するアクセルグリップ等のアクセル操作部材の操作量を検出するアクセル開度センサ21からの出力信号に基づいて、アクセル開度を算出し、このように算出したアクセル開度を示す信号を燃料点火制御部14及び目標スロットル開度算出部15に出力する。
吸気圧算出部3は、吸気圧センサ22からの出力信号に基づいて、吸入空気の圧力(吸気圧)を算出し、このように算出した吸気圧を示す信号を燃料点火制御部14及び目標スロットル開度算出部15に出力する。
エンジン温度算出部4は、エンジン温度センサ23からの出力信号に基づいて、エンジンEの温度を算出し、このように算出したエンジンEの温度を示す信号を燃料点火制御部14及び目標スロットル開度算出部15に出力する。
車速算出部5は、車速センサ24からの出力信号に基づいて、車両の車速を算出し、このように算出した車速を示す信号を燃料点火制御部14及び目標スロットル開度算出部15に出力する。
エンジン回転数算出部6は、クランクセンサ25からの出力信号に基づいて、エンジンEの回転数を算出し、このように算出したエンジンEの回転数を示す信号を燃料点火制御部14及び目標スロットル開度算出部15に出力する。
スロットル開度算出部7aは、スロットル開度センサ26aからの出力信号に基づいて、エンジンEの吸気系に設けられたスロットル弁Tの開度(実スロットル開度)を算出し、このように算出した実スロットル開度を示す信号をスロットル開度フィルタ値算出部8a、偏差算出部9a及び選択後スロットル開度設定部10aに出力する。
スロットル開度算出部7bは、スロットル開度センサ26bからの出力信号に基づいて、実スロットル開度を算出し、このように算出した実スロットル開度を示す信号をスロットル開度フィルタ値算出部8b、偏差算出部9b及び選択後スロットル開度設定部10aに出力する。なお、スロットル開度センサ26a、26bは、共に同一のスロットル弁Tに適用され、その開度(実スロットル開度)に応じた信号(電気信号)を各々出力するものであり、その一方がスロットル弁Tの開度のフィードバック制御に用いられ、他方がそのフィードバック量の妥当性確認の参照用に用いられる。
スロットル開度フィルタ値算出部8aは、フィルタ係数算出部13aから出力されたフィルタ係数を用いて、スロットル開度算出部7aから出力された実スロットル開度に対してフィルタ処理を施した第1のフィルタスロットル開度を算出する。スロットル開度フィルタ値算出部8aは、このように算出した第1のフィルタスロットル開度を示す信号を偏差算出部9a及び選択後スロットル開度設定部10aに出力する。
スロットル開度フィルタ値算出部8bは、フィルタ係数算出部13bから出力されたフィルタ係数を用いて、スロットル開度算出部7bから出力された実スロットル開度に対してフィルタ処理を施した第2のフィルタスロットル開度を算出する。スロットル開度フィルタ値算出部8bは、このように算出した第2のフィルタスロットル開度を示す信号を偏差算出部9b及び選択後スロットル開度設定部10aに出力する。
偏差算出部9aは、スロットル開度算出部7aから出力された実スロットル開度とスロットル開度フィルタ値算出部8aから出力された第1のフィルタスロットル開度との偏差を第1の偏差として算出し、このように算出した第1の偏差を示す信号をスロットル開度
選択部10に出力する。
偏差算出部9bは、スロットル開度算出部7bから出力された実スロットル開度とスロットル開度フィルタ値算出部8bから出力された第2のフィルタスロットル開度との偏差を第2の偏差として算出し、このように算出した第2の偏差を示す信号をスロットル開度選択部10に出力する。
スロットル開度選択部10は、偏差算出部9aから出力された第1の偏差及び偏差算出部9bから出力された第2の偏差に基づいて、スロットル開度算出部7aから出力された実スロットル開度を示す信号(出力値)とスロットル開度算出部7bから出力された実スロットル開度を示す信号(出力値)の一方を選択する。スロットル開度選択部10は、このように選択した選択結果を示す信号を選択後スロットル開度設定部10aに出力する。
選択後スロットル開度設定部10aは、スロットル開度選択部10から出力された選択結果に基づいて、スロットル開度算出部7aから出力された実スロットル開度とスロットル開度算出部7bから出力された実スロットル開度との一方、又はスロットル開度フィルタ値算出部8aから出力された第1のフィルタスロットル開度とスロットル開度フィルタ値算出部8bから出力された第2のフィルタスロットル開度との一方を、選択後スロットル開度として設定する。選択後スロットル開度設定部10aは、このように設定した選択後スロットル開度を示す信号を、フィルタ係数調整部11a、11b、燃料点火制御部14、目標スロットル開度算出部15、及び偏差算出部16に出力する。
フィルタ係数調整部11aは、フィルタ係数算出部13aがスロットル開度選択部10から出力された実スロットル開度に基づいてフィルタ係数を算出する際に用いる参照フィルタ係数を調整する。フィルタ係数調整部11aは、このようにして調整した参照フィルタ係数を示す信号をフィルタ係数学習部12aに出力する。
フィルタ係数調整部11bは、フィルタ係数算出部13bがスロットル開度選択部10から出力された実スロットル開度に基づいてフィルタ係数を算出する際に用いる参照フィルタ係数を調整する。フィルタ係数調整部11bは、このように調整した参照フィルタ係数を示す信号をフィルタ係数学習部12bに出力する。
フィルタ係数学習部12aは、フィルタ係数調整部11aから出力された参照フィルタ係数を学習(メモリに記憶)する。
フィルタ係数学習部12bは、フィルタ係数調整部11bから出力された参照フィルタ係数を学習(メモリに記憶)する。
フィルタ係数算出部13aは、目標スロットル開度算出部15から出力された目標スロットル開度又はその変化量、及びフィルタ係数学習部12aが学習(メモリに記憶)した参照フィルタ係数を用いてフィルタ係数を算出する。フィルタ係数算出部13aは、このように算出したフィルタ係数を示す信号をスロットル開度フィルタ値算出部8aに出力する。
フィルタ係数算出部13bは、目標スロットル開度算出部15から出力された目標スロットル開度又はその変化量、及びフィルタ係数学習部12bが学習(メモリに記憶)した参照フィルタ係数を用いてフィルタ係数を算出する。フィルタ係数算出部13bは、このように算出したフィルタ係数を示す信号をスロットル開度フィルタ値算出部8bに出力する。
燃料点火制御部14は、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、及びスロットル開度センサ選択部10からの出力信号に基づいて、燃料噴射システムFI及び点火システムIGを制御することによりエンジンEへの燃料供給動作及びエンジンEの点火動作を制御する。
目標スロットル開度算出部15は、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、及びスロットル開度センサ選択部10からの出力信号に適宜基づいて、スロットル弁Tの目標開度(目標スロットル開度)を算出する。目標スロットル開度算出部15は、このように算出した目標スロットル開度を示す信号をフィルタ係数算出部13a、13b及び偏差算出部16に出力する。
偏差算出部16は、スロットル開度センサ選択部10から出力された信号が示す実スロットル開度と、目標スロットル開度算出部15から出力された信号が示す目標スロットル開度と、の偏差を算出し、このように算出した偏差を示す信号をスロットル開度F/B制御部17に出力する。
スロットル開度F/B制御部17は、偏差算出部16から出力された信号が示す偏差に基づいて、実スロットル開度が目標スロットル開度に一致するようにモータ駆動出力部18に制御信号を出力する。
モータ駆動出力部18は、スロットル開度F/B制御部17から出力された制御信号に従って、スロットル弁Tを駆動するための駆動信号をモータMに出力する。
ここで、スロットル開度算出部7a、7b、スロットル開度フィルタ値算出部8a、8b、偏差算出部9a、9b、スロットル開度センサ選択部10、フィルタ係数調整部11a、11b、フィルタ係数学習部12a、12b、フィルタ係数算出部13a、13b、燃料点火制御部14、目標スロットル開度算出部15、偏差算出部16、スロットル開度F/B制御部17、モータ駆動出力部18、スロットル開度センサ26a、26b、スロットル弁T、及びモータMを含むスロットルシステムは、電子制御スロットルシステムSであり、この中で、スロットル開度算出部7a、7b、スロットル開度フィルタ値算出部8a、8b、偏差算出部9a、9b、スロットル開度センサ選択部10、フィルタ係数調整部11a、11b、フィルタ係数学習部12a、12b、フィルタ係数算出部13a、13b、燃料点火制御部14、目標スロットル開度算出部15、偏差算出部16、スロットル開度F/B制御部17、及びモータ駆動出力部18が、電子制御スロットルシステムSにおける電子スロットル制御部である。
このような構成を有する電子制御スロットルシステムSは、以下に示すスロットル開度制御処理を実行することにより、スロットル開度センサ26a、26bの出力にノイズ的な出力変化が発生したことを精度良く検出し、エンジンEの出力が急激に変化することを抑制する。以下、図2から図4を参照して、本実施形態における電子制御スロットルシステムSが実行するスロットル開度制御処理の流れについて説明する。
〔スロットル開度制御処理〕
図2は、本実施形態及び変形例における電子制御スロットルシステムのスロットル開度制御処理を説明するための図であり、図2(a)は、本実施形態における電子制御スロットルシステムのスロットル開度制御処理の流れを示すフローチャートであり、図2(b)及び図2(c)は、各々、基準フィルタ係数と目標スロットル開度の変化量との関係を示す図であり、図2(d)は、図2(a)に示すスロットル開度制御処理の流れの変形例を示すフローチャートの一部であり、また、図2(e)は、制御ゲインとフィルタ係数との関係を示す図である。また、図3は、本実施形態における電子制御スロットルシステムの
スロットル開度制御処理の流れを説明するためのタイミングチャートである。また、図4は、本実施形態における電子制御スロットルシステムのスロットル開度制御処理の流れの変形例を説明するためのタイミングチャートである。
図2(a)のフローチャートに示すように、本実施形態におけるスロットル開度制御処理は、車両に搭載されたバッテリ等の電源から電子制御スロットルシステムSに適用される車両用電子制御装置1に対して電力が供給されたタイミングで開始となり、スロットル開度制御処理はステップS1の処理に進む。なお、かかるスロットル開度制御処理は、このような電力が供給されなくなったタイミングで停止する。
ステップS1の処理では、電子スロットル制御部が、スロットル開度制御処理において算出等される各種パラメータの内でリセットすべきものをリセットする初期化処理を実行する。また、フィルタ係数調整部11a、11b及びフィルタ係数算出部13a、13bは、各々、前回のスロットル開度制御処理でフィルタ係数学習部12a、12bが学習してメモリに記憶されている参照フィルタ係数CFLT1R、CFLT2Rを読み込む。これにより、ステップS1の処理は完了し、スロットル開度制御処理はステップS2の処理に進む。
ステップS2の処理では、目標スロットル開度算出部15が、アクセル開度算出部2、吸気圧算出部3、エンジン温度算出部4、車速算出部5、エンジン回転数算出部6、及びスロットル開度センサ選択部10からの出力信号に基づいて、目標スロットル開度TRGを算出すると共に、メモリに記憶する。また、目標スロットル開度算出部15は、前回のスロットル開度制御処理において算出された目標スロットル開度TRGと今回の処理において算出された目標スロットル開度TRGとの差分値を目標スロットル開度TRGの変化量ΔTRGとして算出する。目標スロットル開度算出部15は、このように算出した目標スロットル開度TRGを示す信号をフィルタ係数算出部13a、13b及び偏差算出部16に出力し、このように算出した目標スロットル開度TRGの変化量ΔTRGを示す信号をフィルタ係数算出部13a、13bに出力する。これにより、ステップS2の処理は完了し、スロットル開度制御処理はステップS3の処理に進む。なお、前回のスロットル開度制御処理において算出された目標スロットル開度TRGは、メモリに記憶されたものを読み出して用いる。
ここで、目標スロットル開度TRGは、図3(a)及び図3(b)のタイムチャートに細い実線で示すような時間変化を示す。
ステップS3の処理では、スロットル開度算出部7aがスロットル開度センサ26a(開度センサ1)の出力値TPS_1を読み込み、スロットル開度算出部7bがスロットル開度センサ26b(開度センサ2)の出力値TPS_2を読み込む。これにより、ステップS3の処理は完了し、スロットル開度制御処理はステップS4の処理に進む。
ステップS4の処理では、スロットル開度算出部7aが、ステップS3の処理において読み込まれたスロットル開度センサ26aの出力値TPS_1を実スロットル開度TH_1に変換し、実スロットル開度TH_1を示す信号をスロットル開度フィルタ値算出部8a及び偏差算出部9aに出力する。また、スロットル開度算出部7bは、ステップS3の処理において読み込まれたスロットル開度センサ26bの出力値TPS_2を実スロットル開度TH_2に変換し、実スロットル開度TH_2を示す信号をスロットル開度フィルタ値算出部8b及び偏差算出部9bに出力する。これにより、ステップS4の処理は完了し、スロットル開度制御処理はステップS5の処理に進む。なお、実スロットル開度を一致させるための目標スロットル開度値をスロットル開度センサ26a、26bの出力値に変換した電圧値はスロットル開度センサ毎に異なるため、スロットル開度センサ26a、
26bの出力値を物理値変換することにより得られた実スロットル開度の値を用いることにより、演算処理を簡素化しながら精度のよいスロットル開度制御処理を実現することができる。
ここで、スロットル開度センサ26aの出力値TPS_1に基づく実スロットル開度値TH_1は、図3(a)のタイムチャートに太い実線で示すような時間変化を示す。また、スロットル開度センサ26bの出力値TPS_2に基づく実スロットル開度値TH_2は、図3(b)のタイムチャートに太い実線で示すような時間変化を示す。
ステップS5の処理では、フィルタ係数算出部13a、13bが、各々、ステップS2の処理において算出された目標スロットル開度TRG又は目標スロットル開度TRGの変化量ΔTRGを用いて、基準フィルタ係数CFLT1、CFLT2を算出する。これにより、ステップS5の処理は完了し、スロットル開度制御処理はステップS6の処理に進む。なお、基準フィルタ係数CFLT1、CFLT2は、各々、上限値が1である正の整数である。
ここで、目標スロットル開度TRGの変化量ΔTRGを用いて基準フィルタ係数CFLT1、2を算出する場合には、フィルタ係数算出部13a、13bは、各々、図2(b)に示すような変化量ΔTRGの絶対値の値が大きくなるとフィルタ効果が弱まる(基準フィルタ係数CFLT1、CFLT2の値が1の側に近づく)基準フィルタ係数CFLT1、CFLT2と変化量ΔTRGとの関係を示すと共にメモリ内に記憶されたマップデータを読み出して参照することにより、ステップS2の処理で算出された変化量ΔTRGに対応する基準フィルタ係数CFLT1、CFLT2を算出することになる。
同様に、目標スロットル開度TRGを用いて基準フィルタ係数CFLT1、2を算出する場合には、フィルタ係数算出部13a、13bは、各々、図2(c)に示すような目標スロットル開度TRGが大きくなるとフィルタ効果が強まる(基準フィルタ係数CFLT1、CFLT2の値が0の側に近づく)基準フィルタ係数CFLT1、CFLT2と目標スロットル開度TRGとの関係を示すと共にメモリ内に記憶されたマップデータを読み出して参照することにより、ステップS2の処理で算出された目標スロットル開度TRGに対応する基準フィルタ係数CFLT1、CFLT2を算出することになる。
ステップS6の処理では、フィルタ係数算出部13a、13bが、各々、ステップS5の処理によって算出された基準フィルタ係数CFLT1、CFLT2にステップS1の処理において読み込まれた参照フィルタ係数CFLT1R、CFLT2Rを加算してフィルタ係数CFLT1TTL、CFLT2TTLを算出する。そして、フィルタ係数算出部13a、13bは、各々、このように算出したフィルタ係数CFLT1TTL、CFLT2TTLを示す信号をスロットル開度フィルタ値算出部8a、8bに出力する。これにより、ステップS6の処理は完了し、スロットル開度制御処理はステップS7の処理に進む。なお、フィルタ係数CFLT1TTL、CFLT2TTLは、各々、上限値が1である正の整数である。
ステップS7の処理では、スロットル開度フィルタ値算出部8aが、計算式(TH_1_FLT*CFLT1TTL+TH_1*(1.0−CFLT1TTL))に前回のスロットル開度制御処理において算出された第1のフィルタスロットル開度TH_1_FLT、ステップS6の処理において算出されたフィルタ係数CFLT1TTL、及びステップS4の処理において算出された実スロットル開度TH_1を代入することによって、今回の処理における第1のフィルタスロットル開度TH_1_FLTを算出する。同様に、スロットル開度フィルタ値算出部8bは、計算式(TH_2_FLT*CFLT2TTL+TH_2*(1.0−CFLT2TTL))に前回のスロットル開度制御処理において算
出された第2のフィルタスロットル開度TH_2_FLT、ステップS6の処理において算出されたフィルタ係数CFLT2TTL、及びステップS4の処理において算出された実スロットル開度TH_2を代入することによって、今回の処理における第2のフィルタスロットル開度TH_2_FLTを算出する。そして、スロットル開度フィルタ値算出部8a、8bは、各々、第1及び第2のフィルタスロットル開度TH_1_FLT、TH_2_FLTを示す信号を偏差算出部9a、9bに出力すると共に、メモリに記憶する。これにより、ステップS7の処理は完了し、スロットル開度制御処理はステップS8の処理に進む。なお、前回のスロットル開度制御処理において算出された第1のフィルタスロットル開度TH_1_FLT及び第2のフィルタスロットル開度TH_2_FLTは、メモリに記憶されたものを読み出して用いる。
ここで、第1のフィルタスロットル開度TH_1_FLTは、図3(a)のタイムチャートに破線で示すような時間変化を示す。また、第2のフィルタスロットル開度TH_2_FLTは、図3(b)のタイムチャートに破線で示すような時間変化を示す。
ステップS8の処理では、偏差算出部9aが、ステップS4の処理において算出された実スロットル開度TH_1とステップS7の処理において算出された第1のフィルタスロットル開度TH_1_FLTとの偏差を第1の偏差ERR_1として算出する。また、偏差算出部9bは、ステップS4の処理において算出された実スロットル開度TH_2とステップS7の処理において算出された第2のフィルタスロットル開度TH_2_FLTとの偏差を第2の偏差ERR_2として算出する。偏差算出部9a、9bは、各々、このように算出した第1及び第2の偏差ERR_1、ERR_2を示す信号をスロットル開度センサ選択部10に出力する。これにより、ステップS8の処理は完了し、スロットル開度制御処理はステップS9の処理に進む。
ここで、第1の偏差ERR_1(=TH_1−TH_1_FLT1)は、図3(c)のタイムチャートに実線で示すような時間変化を示す。また、第2の偏差ERR_2(=TH_2−TH_2_FLT1)は、図3(c)のタイムチャートに破線で示すような時間変化を示す。
ステップS9の処理では、スロットル開度センサ選択部10が、ステップS8の処理において各々算出された第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値以下であるか否かを判別する。判別の結果、第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値以下である場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS10の処理に進める。一方、第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値より大きい場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS11の処理に進める。
ここで、図3(c)に示すように、時刻t=t1までの時間帯、時刻t=t2から時刻t=t3の時間帯及び時刻t=t4以降の時間帯では、第1の偏差ERR_1が第2の偏差ERR2以下になっている一方で、時刻t=t1から時刻t=t2の時間帯及び時刻t=t3から時刻t=t4の時間帯では、第1の偏差ERR_1が第2の偏差ERR2より大きくなっている。
ステップS10の処理では、選択後スロットル開度設定部10aが、ステップS3の処理において読み込まれたスロットル開度センサ26aの出力値TPS_1に対応してステップS4の処理において算出された実スロットル開度TH_1を選択後スロットル開度として設定する。併せて、電子スロットル制御部が、このように設定された選択後スロットル開度及び適宜設定されたゲインに基づいて、この実スロットル開度TH_1がステップS2の処理において算出した目標スロットル開度TRGに一致するようにスロットル弁T
の開度をフィードバック制御する電子スロットル制御を実施する。これにより、ステップS10の処理は完了し、スロットル開度制御処理はステップS1の処理に戻る。
ここで、図3(c)に示すように、時刻t=t1までの時間帯、時刻t=t2から時刻t=t3の時間帯及び時刻t=t4以降の時間帯では、第1の偏差ERR_1が第2の偏差ERR2以下になっているため、選択後スロットル開度設定部10aが、スロットル開度センサ26aの出力TPS_1を選択している。
ステップS11の処理では、選択後スロットル開度設定部10aが、ステップS3の処理において読み込まれたスロットル開度センサ26bの出力値TPS_2に対応してステップS4の処理において算出された実スロットル開度TH_2を選択後スロットル開度として設定する。併せて、電子スロットル制御部が、このように設定された選択後スロットル開度及び適宜設定されたゲインに基づいて、この実スロットル開度TH_2がステップS2の処理において算出した目標スロットル開度TRGに一致するようにスロットル弁Tの開度をフィードバック制御する電子スロットル制御を実施する。これにより、ステップS11の処理は完了し、スロットル開度制御処理はステップS1の処理に戻る。
ここで、図3(c)に示すように、時刻t=t1から時刻t=t2の時間帯及び時刻t=t3から時刻t=t4の時間帯では、第1の偏差ERR_1が第2の偏差ERR2より大きくなっているため、選択後スロットル開度設定部10aが、スロットル開度センサ26bの出力TPS_2を選択している。
(変形例)
さて、以上の構成の本実施形態では、電子スロットル制御部は、第1の偏差ERR_1の絶対値と第2の偏差ERR_2の絶対値との大小関係のみに応じて、スロットル開度センサ26aの出力TPS_1及びスロットル開度センサ26bの出力値TPS_2の一方を選択し、実スロットル開度TH_1及び実スロットル開度TH_2の対応するものに基づいて電子スロットル制御を実施したが、図2(d)及び図4に示すように、前回のスロットル開度制御処理において選択されてメモリ内に記憶された実スロットル開度TH_n_FLT(n=1又2)、並びにステップS7の処理において各々算出された第1のフィルタスロットル開度TH_1_FLT及び第2のフィルタスロットル開度TH_2_FLTの対応するものに基づいて電子スロットル制御を実施してもよい。これにより、特に周波数が高いノイズ的な出力の変化を緩慢な振る舞いとし、電子スロットル制御の安定化を図ることができる。
具体的には、本変形例では、図2(d)に示すように、本実施形態のステップS8以降の各々の処理に換えて、ステップS19以降の各々の処理を実行する。
図2(a)に示すステップS8に続くステップS19の処理では、スロットル開度センサ選択部10が、ステップS8の処理において算出された第1及び第2の偏差ERR_1、ERR_2の絶対値が共に共通の所定偏差量以下であるか否かを判別する。判別の結果、第1及び第2の偏差ERR_1、ERR_2の絶対値が共に所定偏差量以下である場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS20に処理に進める。一方、第1及び第2の偏差ERR_1、ERR_2の絶対値の少なくとも一方が所定偏差量より大きい場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS27の処理に進める。なお、必要に応じて、第1及び第2の偏差ERR_1、ERR_2の絶対値と比較する所定偏差量を、第1及び第2の偏差ERR_1、ERR_2の絶対値の各々に個別な値として規定してもよい。
ここで、第1の偏差ERR_1(=TH_1−TH_1_FLT1)は、図4(c)の
タイムチャートに実線で示すような時間変化を示す一方で、第2の偏差ERR_2(=TH_2−TH_2_FLT1)は、図4(c)のタイムチャートに破線で示すような時間変化を示す。また、図4(c)に示すように、時刻t=t1までの時間帯、時刻t=t2から時刻t=t3の時間帯、時刻t=t4から時刻t=t5の時間帯、時刻t=t7から時刻t=t8の時間帯及び時刻t=t9以降の時間帯では、第1及び第2の偏差ERR_1、ERR_2の絶対値が共に所定偏差量以下である一方で、時刻t=t1から時刻t=t2の時間帯、時刻t=t3から時刻t=t4及び時刻t=t5から時刻t=t9の時間帯では、第1及び第2の偏差ERR_1、ERR_2の絶対値の一方が所定偏差量よりも大きくなっている。
ステップS20の処理では、スロットル開度センサ選択部10が、フラグTPSSELの値が、前回のスロットル開度制御処理における選択結果に応じてフィルタスロットル開度TH_n_FLT(n=1又2)のいずれかを選択することを示す値0に設定されているか否かを判別する。判別の結果、フラグTPSSELの値が0に設定されている場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS26の処理に進める。一方、フラグTPSSELの値が0に設定されていない場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS21の処理に進める。なお、フラグTPSSELの値は、メモリに記憶されたものを読み出して用いる。
ステップS21の処理では、スロットル開度センサ選択部10が、フラグTPSSELの値を、前回のスロットル開度制御処理における選択結果に応じてフィルタスロットル開度TH_n_FLT(n=1又2)のいずれかを選択することを示す0に設定すると共に、メモリに記憶する。これにより、ステップS21の処理は完了し、スロットル開度制御処理はステップS22の処理に進む。
ステップS22の処理では、フィルタ係数調整部11aが、実スロットル開度TH_1に対するフィルタ効果を弱めるために(参照フィルタ係数CFLT1Rの値を1の側に近づけるために)ステップS1の処理において読み込まれた参照フィルタ係数CFLT1Rの値を正の所定量(所定量3)増加させた値を新たな参照フィルタ係数CFLT1Rとして算出する。そして、フィルタ係数調整部11aは、このように算出した参照フィルタ係数CFLT1Rを示す信号をフィルタ係数学習部12aに出力する。これにより、ステップS22の処理は完了し、スロットル開度制御処理はステップS23の処理に進む。
ステップS23の処理では、フィルタ係数調整部11bが、実スロットル開度TH_2に対するフィルタ効果を弱めるために(参照フィルタ係数CFLT2Rの値を1の側に近づけるために)ステップS1の処理において読み込まれた参照フィルタ係数CFLT2Rの値を正の所定量(所定量4)増加させた値を新たな参照フィルタ係数CFLT2Rとして算出する。そして、フィルタ係数調整部11bは、このように算出した参照フィルタ係数CFLT2Rを示す信号をフィルタ係数学習部12bに出力する。これにより、ステップS23の処理は完了し、スロットル開度制御処理はステップS24の処理に進む。
ここで、図4(e)に示すように、時刻t=t1以前の時間帯、時刻t=t2から時刻t=t3の時間帯、時刻t=t4から時刻t=t5の時間帯、時刻t=t7から時刻t=t8の時間帯及び時刻t=t9以降の時間帯では、第1及び第2の偏差ERR_1、ERR_2の絶対値が共に所定偏差量以下であるため、フィルタ係数調整部11aが、実スロットル開度TH_1に対するフィルタ効果を弱めるためにステップS1の処理において読み込まれた参照フィルタ係数CFLT1Rの値を正の所定量増加させた値を新たな参照フィルタ係数CFLT1Rとして算出すると共に、フィルタ係数調整部11bが、実スロットル開度TH_2に対するフィルタ効果を弱めるためにステップS1の処理において読み込まれた参照フィルタ係数CFLT2Rの値を正の所定量増加させた値を新たな参照フィ
ルタ係数CFLT2Rとして算出している。
ステップS24の処理では、フィルタ係数学習部12a、12bが、各々、ステップS22及びステップS23の処理において算出された新たな参照フィルタ係数CFLT1R、CFLT2Rを学習してメモリに記憶する。これにより、ステップS24の処理は完了し、スロットル開度制御処理はステップS25の処理に進む。
ステップS25の処理では、電子スロットル制御部が、前回のスロットル開度制御処理において学習されたフィルタ係数CFLTnTTL(n=1又は2)に基づいて電子スロットル制御のゲインを調整する。これにより、ステップS25の処理は完了し、スロットル開度制御処理はステップS26の処理に進む。
ここで、電子スロットル制御部は、図2(e)に示すようなフィルタ係数CFLTnTTL(n=1又は2)の値が1の側に近づくほど(フィルタ効果が小さいほど)ゲインが大きくなるゲインとフィルタ係数CFLTnTTL(n=1又は2)との関係を示すと共にメモリ内に記憶されたマップデータと、前回のスロットル開度制御処理において学習されてメモリ内に記憶されたフィルタ係数CFLTnTTL(n=1又は2)と、を各々読み出して参照して、前回のスロットル開度制御処理において選択されてメモリ内に記憶されたフィルタ係数CFLTnTTL(n=1又は2)に対応するゲインを算出し電子スロットル制御のゲインとすることになる。
ステップS26の処理では、選択後スロットル開度設定部10aが、ステップS21の処理において設定されたフラグTPSSELの値0に基づいて、ステップS3の処理において読み込まれたスロットル開度センサ26aの出力値TPS_1又はスロットル開度センサ26bの出力値TPS_2に対応してステップS7の処理において算出されたフィルタスロットル開度TH_n_FLT(n=1又2)のうちで前回のスロットル開度制御処理において選択された結果に応じたものを選択後スロットル開度として設定する。併せて、電子スロットル制御部が、このように設定された選択後スロットル開度及びステップS25の処理によって調整されたゲインに基づいて、このフィルタスロットル開度TH_n_FLTがステップS2の処理において算出した目標スロットル開度TRGになるようにスロットル弁Tの開度をフィードバック制御する電子スロットル制御を実施する。これにより、ステップS26の処理は完了し、スロットル開度制御処理はステップS1の処理に戻る。
ここで、図4(d)に示すように、選択後スロットル開度設定部10aが、時刻t=t1以前の時間帯ではTH_1_FLT、時刻t=t2から時刻t=t3の時間帯ではTH_2_FLT、時刻t=t4から時刻t=t5の時間帯ではTH_1_FLT、及び時刻t=t9以降の時間帯ではTH_1_FLTを、各々引き続き選択している。
ステップS27の処理では、スロットル開度センサ選択部10が、ステップS8の処理において各々算出された第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値以下であるか否かを判別する。判別の結果、第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値以下である場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS28の処理に進める。一方、第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値より大きい場合には、スロットル開度センサ選択部10はスロットル開度制御処理をステップS34の処理に進める。
ここで、ステップS27の処理で、スロットル開度センサ選択部10が第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値以下であると判別する場合とは、第1の偏差ERR_1の絶対値が所定偏差量以下であって、かつ第2の偏差ERR_2の絶対値
が所定偏差量よりも大きい場合、並びに第1の偏差ERR_1の絶対値及び第2の偏差ERR_2の絶対値が共に所定偏差量よりも大きい場合であることが前提であるので、これらの場合を加味すると、かかる場合は、図4(c)に示す時刻t=t3から時刻t=t4、時刻t=t6から時刻t=t7及び時刻t=t8から時刻t=t9の時間帯に示される。また、ステップS27の処理で、スロットル開度センサ選択部10が第1の偏差ERR_1の絶対値が第2の偏差ERR_2の絶対値より大きいと判別する場合とは、第2の偏差ERR_2の絶対値が所定偏差量以下であって、かつ第1の偏差ERR_1の絶対値が所定偏差量よりも大きい場合、並びに第1の偏差ERR_1の絶対値及び第2の偏差ERR_2の絶対値が共に所定偏差量よりも大きい場合であることが前提であるので、これらの場合を加味すると、かかる場合は、図4(c)に示す時刻t=t1から時刻t=t2及び時刻t=t5から時刻t=t6の時間帯に示される。
ステップS28の処理では、スロットル開度センサ選択部10が、フラグTPSSELの値が、前回のスロットル開度制御処理ではフィルタスロットル開度TH_1_FLTを選択したことを示す値1に設定されているか否かを判別する。判別の結果、フラグTPSSELの値が1に設定されている場合には、スロットル開度センサ選択部10は、スロットル開度制御処理をステップS33の処理に進める。一方、フラグTPSSELの値が1に設定されていない場合には、スロットル開度センサ選択部10は、スロットル開度制御処理をステップS29の処理に進める。なお、フラグTPSSELの値は、メモリに記憶されたものを読み出して用いる。
ステップS29の処理では、スロットル開度センサ選択部10が、スロットル開度センサ26bに異常があると判断し、ステップS7の処理において算出されたフィルタスロットル開度TH_1_FLTを選択してフラグTPSSELの値を1に設定すると共に、メモリに記憶する。これにより、ステップS29の処理は完了し、スロットル開度制御処理はステップS30の処理に進む。ここで、フラグTPSSELの値1は、フィルタスロットル開度TH_1_FLTを選択することを示す。
ステップS30の処理では、フィルタ係数調整部11bが、実スロットル開度TH_2に対するフィルタ効果を強めるために(参照フィルタ係数CFLT2Rの値を0の側に近づけるために)ステップS1の処理において読み込まれた参照フィルタ係数CFLT2Rの値を正の所定量(所定量2)減少させた値を新たな参照フィルタ係数CFLT2Rとして算出する。そして、フィルタ係数調整部11bは、このように算出した参照フィルタ係数CFLT2Rを示す信号をフィルタ係数学習部12bに出力する。これにより、ステップS30の処理は完了し、スロットル開度制御処理はステップS31の処理に進む。
ここで、図4(e)に示すように、フィルタ係数調整部11bが、時刻t=t3から時刻t=t4、時刻t=t6から時刻t=t7及び時刻t=t8から時刻t=t9の時間帯で、実スロットル開度TH_2に対するフィルタ効果を強めるためにステップS1の処理において読み込まれた参照フィルタ係数CFLT2Rの値を正の所定量減少させた値を新たな参照フィルタ係数CFLT2Rとして算出している。
ステップS31の処理では、フィルタ係数学習部12bが、ステップS30の処理において算出された新たな参照フィルタ係数CFLT2Rを学習してメモリに記憶する。これにより、ステップS31の処理は完了し、スロットル開度制御処理はステップS32の処理に進む。
ステップS32の処理では、電子スロットル制御部が、ステップS6の処理において算出されたフィルタ係数CFLT1TTLに基づいて電子スロットル制御のゲインを調整する。これにより、ステップS32の処理は完了し、スロットル開度制御処理はステップS
23の処理に進む。
ここで、電子スロットル制御部は、図2(e)に示すようなフィルタ係数CFLT1TTLの値が1の側に近づくほど(フィルタ効果が小さいほど)ゲインが大きくなるゲインとフィルタ係数CFLT1TTLとの関係を示すと共にメモリ内に記憶されたマップデータを読み出して参照して、ステップS6の処理において算出されたフィルタ係数CFLT1TTLに対応するゲインを算出し電子スロットル制御のゲインとすることになる。
ステップS33処理では、選択後スロットル開度設定部10aが、ステップS29の処理において設定されたフラグTPSSELの値1に基づいて、ステップS3の処理において読み込まれたスロットル開度センサ26aの出力値TPS_1に対応してステップS7の処理において算出された第1のフィルタスロットル開度TH_1_FLTを選択後スロットル開度として設定する。併せて、電子スロットル制御部が、このように設定された選択後スロットル開度及びステップS32の処理によって調整されたゲインに基づいて、この第1のフィルタスロットル開度TH_1_FLTがステップS2の処理において算出した目標スロットル開度TRGになるようにスロットル弁Tの開度をフィードバック制御する電子スロットル制御を実施する。これにより、ステップS33の処理は完了し、スロットル開度制御処理はステップS1の処理に戻る。
ここで、図4(d)に示すように、選択後スロットル開度設定部10aが、時刻t=t3から時刻t=t4、時刻t=t6から時刻t=t7及び時刻t=t8から時刻t=t9の時間帯でTH_1_FLTを選択している。
ステップS34の処理では、スロットル開度センサ選択部10が、フラグTPSSELの値が、前回のスロットル開度制御処理ではフィルタスロットル開度TH_2_FLTを選択したことを示す値2に設定されているか否かを判別する。判別の結果、フラグTPSSELの値が2に設定されている場合には、スロットル開度センサ選択部10は、スロットル開度制御処理をステップS39の処理に進める。一方、フラグTPSSELの値が2に設定されていない場合には、スロットル開度センサ選択部10は、スロットル開度制御処理をステップS35の処理に進める。なお、フラグTPSSELの値は、メモリに記憶されたものを読み出して用いる。
ステップS35の処理では、スロットル開度センサ選択部10が、スロットル開度センサ26aに異常があると判断し、ステップS7の処理において算出されたフィルタスロットル開度TH_2_FLTを選択してフラグTPSSELの値を2に設定すると共に、メモリに記憶する。これにより、ステップS35の処理は完了し、スロットル開度制御処理はステップS36の処理に進む。ここで、フラグTPSSELの値2は、フィルタスロットル開度TH_2_FLTを選択することを示す。
ステップS36の処理では、フィルタ係数調整部11aが、実スロットル開度TH_1に対するフィルタ効果を強めるために(参照フィルタ係数CFLT1Rの値を0の側に近づけるために)ステップS1の処理において読み込まれた参照フィルタ係数CFLT1Rの値を正の所定量(所定量1)減少させた値を新たな参照フィルタ係数CFLT1Rとして算出する。そして、フィルタ係数調整部11aは、このように算出した参照フィルタ係数CFLT1Rを示す信号をフィルタ係数学習部12aに出力する。これにより、ステップS36の処理は完了し、スロットル開度制御処理はステップS37の処理に進む。
ここで、図4(e)に示すように、フィルタ係数調整部11aが、時刻t=t1から時刻t=t2及び時刻t=t5から時刻t=t6の時間帯で、実スロットル開度TH_1に対するフィルタ効果を強めるためにステップS1の処理において読み込まれた参照フィル
タ係数CFLT1Rの値を正の所定量減少させた値を新たな参照フィルタ係数CFLT1Rとして算出している。
ステップS37の処理では、フィルタ係数学習部12aが、ステップS36の処理において算出された新たな参照フィルタ係数CFLT1Rを学習してメモリに記憶する。これにより、ステップS37の処理は完了し、スロットル開度制御処理はステップS38の処理に進む。
ステップS38の処理では、電子スロットル制御部が、ステップS6の処理において算出されたフィルタ係数CFLT2TTLに基づいて電子スロットル制御のゲインを調整する。これにより、ステップS38の処理は完了し、スロットル開度制御処理はステップS39の処理に進む。
ここで、電子スロットル制御部は、図2(e)に示すようなフィルタ係数CFLT2TTLの値が1の側に近づくほど(フィルタ効果が小さいほど)ゲインが大きくなるゲインとフィルタ係数CFLT2TTLとの関係を示すと共にメモリ内に記憶されたマップデータを読み出して参照して、ステップS6の処理において算出されたフィルタ係数CFLT2TTLに対応するゲインを算出し電子スロットル制御のゲインとすることになる。
ステップS39処理では、選択後スロットル開度設定部10aが、ステップS35の処理において設定されたフラグTPSSELの値2に基づいて、ステップS3の処理において読み込まれたスロットル開度センサ26bの出力値TPS_2に対応してステップS7の処理において算出された第2のフィルタスロットル開度TH_2_FLTを選択後スロットル開度として設定する。併せて、電子スロットル制御部が、このように設定された選択後スロットル開度及びステップS38の処理によって調整されたゲインに基づいて、この第2のフィルタスロットル開度TH_2_FLTがステップS2の処理において算出した目標スロットル開度TRGになるようにスロットル弁Tの開度をフィードバック制御する電子スロットル制御を実施する。これにより、ステップS39の処理は完了し、スロットル開度制御処理はステップS1の処理に戻る。
ここで、図4(d)に示すように、選択後スロットル開度設定部10aが、時刻t=t1から時刻t=t2及び時刻t=t5から時刻t=t6の時間帯で、TH_2_FLTを選択している。
以上の説明から明らかなように、本実施形態における電子制御スロットルシステムSの構成では、スロットル開度センサ選択部10は、第1のスロットル開度センサ26aによって検出された実スロットル開度TH_1と第1のフィルタスロットル開度TH_1_FLTとの偏差である第1の偏差ERR_1が、第2のスロットル開度センサ26bによって検出された実スロットル開度TH_2と第2のフィルタスロットル開度TH_2_FLTとの偏差である第2の偏差ERR_2より小さい場合には、第1のスロットル開度センサ26aの出力を選択し、第2の偏差ERR_2が、第1の偏差ERR_1より小さい場合には、第2のスロットル開度センサ26bの出力を選択するものであるため、スロットル開度センサ26a、26bの出力にノイズ的な出力変化が発生したことを精度よく検出しながら、実スロットル開度TH_1、TH_2を目標スロットル開度TRGに収束させるフィードバック制御における操作量を小さくすることができ、エンジン出力が不要に急激に変化することを抑制することができる。
また、本実施形態における電子制御スロットルシステムSの構成では、スロットル開度センサ選択部10が、第1の偏差ERR_1及び第2の偏差ERR_2の一方が所定値より大きい場合には、第1のスロットル開度センサ26a及び第2のスロットル開度センサ
26bの一方に異常があると判断し、他方のスロットル開度センサの出力を選択するものであるため、一方のスロットル開度センサの出力にノイズ的な変化があった場合であってもフィードバック制御を続行することができる。
また、本実施形態における電子制御スロットルシステムSの構成では、電子制御スロットルシステムSが、第1のフィルタスロットル開度TH_1_FLT及び第2のフィルタスロットル開度TH_2_FLTのうち、異常のない他方のスロットル開度センサの出力に対応するものに基づいてフィードバック制御を実行するものであるため、特に周波数が高いノイズ的な出力の変化を緩慢な振る舞いとし、フィードバック制御の安定化を図ることができる。
また、本実施形態における電子制御スロットルシステムSの構成では、フィルタ処理部11a、11bが、第1の偏差ERR_1及び第2の偏差ERR_2のうち、大きい方の偏差に対応するスロットル開度センサによって検出された実スロットル開度に対するフィルタ処理のフィルタ効果を強めるものであるため、特に定常的にノイズ的な振る舞いをするスロットル開度センサの出力に対してフィルタ処理を強め、その出力をフィードバック制御に適用する際のフィードバック制御の安定化を図ることができる。
また、本実施形態における電子制御スロットルシステムSの構成では、フィルタ処理部11a、11bが、第1の偏差ERR_1が所定偏差量以下であり、かつ、第2の偏差ERR_2が所定偏差量以下である場合には、第1のスロットル開度センサ26a及び第2のスロットル開度センサ26bによって検出された各々の実スロットル開度に対するフィルタ処理の効果を弱めるものであるため、特にスロットル開度センサの出力のノイズ的な振る舞いが一過性である場合にフィードバック制御の応答性を高めることができる。
また、本実施形態における電子制御スロットルシステムSの構成では、スロットル開度センサ選択部10が、第1の偏差ERR_1が所定偏差量以下であり、かつ、第2の偏差ERR_2が所定偏差量以下である場合には、第1のスロットル開度センサ26a及び第2のスロットル開度センサ26bのうち、スロットル開度センサ選択部10による前回の選択処理で選択されたものの出力を選択するものであるため、スロットル開度センサ選択部10の選択処理における演算処理量を低減しながらフィードバック制御することができる。
なお、本発明は、部材の種類、形状、配置、個数等は前述の実施形態に限定されるものではなく、その構成要素を同等の作用効果を奏するものに適宜置換する等、発明の要旨を逸脱しない範囲で適宜変更可能であることはもちろんである。