(57)【要約】【課題】エンジン回転数が高回転領域である場合でも燃料噴射量を決定する処理を行なう期間を十分に確保する。【解決手段】制御装置は、エンジンのクランク角度が＃０に対応するクランク角度から＃３に対応するクランク角度まで変化するまでにエンジン回転数を算出する第１処理と、エンジン回転数を用いてエンジンの燃料噴射量の要求値を算出する第２処理と、クランク角度が＃３に対応するクランク角度に変化するときに燃料噴射量の要求値を用いて気筒別燃料噴射量を算出する第３処理とを実行する。制御装置は、クランク角度に関係なく定期的に第２処理を実行する。【選択図】図７
2019199832.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのクランク角度を検出する検出装置と、
前記クランク角度が第１角度から第２角度まで変化するまでに前記エンジンの回転数を算出する第１処理と、前記エンジンの回転数を用いて前記エンジンの燃料噴射量の要求値を算出する第２処理と、前記クランク角度が前記第２角度に変化するときに前記要求値を用いて前記燃料噴射量を決定する第３処理とを実行する制御装置とを備え、
前記制御装置は、前記クランク角度に関係なく定期的に前記第２処理を実行する、エンジンの制御装置。
【請求項２】
前記制御装置は、前記第３処理において、直近に実行された前記第２処理において算出された要求値を用いて前記燃料噴射量を決定する、請求項１に記載のエンジンの制御装置。
【請求項３】
前記制御装置は、前記クランク角度が前記第２角度になるまでに、前記エンジンの回転数を用いて前記燃料噴射量の下限値を設定し、前記第３処理において、前記要求値と前記下限値とを用いて前記燃料噴射量を決定する、請求項１または２に記載のエンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの燃料噴射制御に関する。
【背景技術】
【０００２】
ディーゼルエンジン等のエンジンにおいては、エンジンの運転中に、エンジンのクランク角度の変化時間に基づいてエンジン回転数が算出される。そして、算出されたエンジン回転数に基づいて燃料噴射量の要求値が算出され、算出された要求値を用いて燃料噴射量が最終的に決定される。これらの処理は、所定のクランク角度間で行なわれる。
【０００３】
たとえば、特開２００４−１５０３２１号公報（特許文献１）には、エンジン回転の低速領域ではピークエンジン回転数検出直後の第１計算タイミングにて噴射量を算出する技術が開示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１５０３２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した処理が所定のクランク角度間で行なわれる場合、エンジン回転数が高回転領域になると所定のクランク角度間の変化時間が短くなるため、たとえば、上述の処理の他に優先度の高い割り込み処理が実行されると、上述の処理を行なう期間を十分に確保できない場合がある。上述の特許文献１においては、エンジン回転の中高速領域にある場合には、第１計算タイミングより前の第２計算タイミング（時間同期）にて噴射量を算出することによって高回転でも演算に余裕を持たせているが、上述の処理を行なう期間の確保についてさらなる改善が求められる。
【０００６】
本発明は、上述した課題を解決するためになされたものであって、その目的は、エンジン回転数が高回転領域である場合でも燃料噴射量を算出する処理を行なう期間を十分に確保するエンジンの制御装置を提供することである。
【課題を解決するための手段】
【０００７】
この発明のある局面に係るエンジンの制御装置は、エンジンのクランク角度を検出する検出装置と、クランク角度が第１角度から第２角度まで変化するまでにエンジンの回転数を算出する第１処理と、エンジンの回転数を用いてエンジンの燃料噴射量の要求値を算出する第２処理と、クランク角度が第２角度に変化するときに要求値を用いて燃料噴射量を決定する第３処理とを実行する制御装置とを備える。制御装置は、クランク角度に関係なく定期的に第２処理を実行する。
【０００８】
このようにすると、燃料噴射量の要求値を決定する第２処理についてはクランク角度に関係なく定期的に実行されるので、第１角度から第２角度まで変化する期間内に第２処理を行なう期間を確保する必要がなくなる。そのため、エンジン回転数が高回転領域であって、さらに他の優先度の高い割り込み処理が実行される場合でも第２処理を実行する期間を十分に確保することができる。
【０００９】
好ましくは、制御装置は、第３処理において、直近に実行された第２処理において算出された要求値を用いて燃料噴射量を決定する。
【００１０】
このようにすると、第３処理において、直近に実行された第２処理において算出された要求値を用いて燃料噴射量が決定されるので、第１角度から第２角度まで変化する期間内に第２処理を行なう期間を確保する必要がなくなる。
【００１１】
さらに好ましくは、制御装置は、クランク角度が第２角度になるまでに、エンジンの回転数を用いて燃料噴射量の下限値を設定し、第３処理において、要求値と下限値とを用いて燃料噴射量を決定する。
【００１２】
このようにすると、第３処理において決定される燃料噴射量として少量の燃料噴射量が決定されることを抑制することができるため、エンジンの運転状態を適切に維持することができる。
【発明の効果】
【００１３】
この発明によると、エンジン回転数が高回転領域である場合でも燃料噴射量を決定する処理を行なう期間を十分に確保するエンジンの制御装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態におけるエンジンの概略構成を示す図である。
【図２】燃料噴射制御の一例を説明するための図である。
【図３】エンジンの高回転時と低回転時とにおける燃料噴射制御の処理の一例を説明するための図である。
【図４】エンジンの高回転時と低回転時とにおける燃料噴射制御の処理中に実行される割り込み処理について説明するための図である。
【図５】制御装置において実行される処理の一例を示すフローチャート（その１）である。
【図６】制御装置において実行される処理の一例を示すフローチャート（その２）である。
【図７】本実施の形態における燃料噴射制御の処理の一例を説明するための図（その１）である。
【図８】本実施の形態における燃料噴射制御の処理の一例を説明するための図（その２）である。
【図９】変形例における制御装置において実行される処理の一例を示すフローチャートである。
【図１０】変形例における燃料噴射制御の処理の一例を説明するための図（その１）である。
【図１１】変形例における燃料噴射制御の処理の一例を説明するための図（その２）である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００１６】
図１は、本実施の形態におけるエンジン１の概略構成を示す図である。本実施の形態において、エンジン１は、たとえば、コモンレール式のディーゼルエンジンを一例として説明する。しかしながら、エンジン１としては、その他の形式のエンジン（たとえば、ガソリンエンジン等）であってもよい。
【００１７】
エンジン１は、エンジン本体１０と、エアクリーナ２０と、インタークーラ２６と、吸気マニホールド２８と、過給機３０と、排気マニホールド５０と、排気処理装置５６と、排気再循環装置（以下、ＥＧＲ（Exhaust  Gas  Recirculation）装置と記載する）６０と、制御装置２００と、クランク角度センサ２０２と、エアフローメータ２０８と、燃料ポンプ２１０と、燃料フィルタ２１２と、燃料タンク２１４とを備える。
【００１８】
エンジン本体１０は、複数の気筒１２と、コモンレール１４と、複数のインジェクタ１６とを含む。本実施の形態においては、エンジン１は、直列４気筒エンジンを一例として説明するが、その他の気筒レイアウト（たとえば、Ｖ型あるいは水平型）のエンジンであってもよい。
【００１９】
複数のインジェクタ１６は、複数の気筒１２の各々に設けられ、その各々がコモンレール１４に接続されている燃料噴射装置である。燃料タンク２１４に貯留された燃料は、燃料フィルタ２１２を経由して燃料ポンプ２１０によって所定圧まで加圧されてコモンレール１４へ供給される。コモンレール１４に供給された燃料は複数のインジェクタ１６の各々から所定のタイミングで噴射される。複数のインジェクタ１６は、制御装置２００からの制御信号ＩＪ１〜ＩＪ４に基づいて動作する。
【００２０】
エアクリーナ２０は、エンジン１の外部から吸入される空気から異物を除去する。エアクリーナ２０には、第１吸気管２２の一方端が接続される。
【００２１】
第１吸気管２２の他方端には、過給機３０のコンプレッサ３２の吸気流入口に接続される。コンプレッサ３２の吸気流出口には、第２吸気管２４の一方端が接続される。コンプレッサ３２は、第１吸気管２２から流通する空気を過給して第２吸気管２４に供給する。コンプレッサ３２の詳細な動作については後述する。
【００２２】
第２吸気管２４の他方端には、インタークーラ２６の一方端が接続される。インタークーラ２６は、第２吸気管２４を流通する空気を冷却する空冷式あるいは水冷式の熱交換器である。
【００２３】
インタークーラ２６の他方端には、第３吸気管２７の一方端が接続される。第３吸気管２７の他方端には、吸気マニホールド２８が接続される。吸気マニホールド２８は、エンジン本体１０の複数の気筒１２の各々の吸気ポートに連結される。なお、吸気マニホールド２８の上流には、たとえば、排気マニホールド５０からＥＧＲ装置６０を経由して還流する排気（以下、吸気通路に還流される排気をＥＧＲガスとも記載する）を吸気マニホールド２８に流通させるための吸気絞り弁が設けられていてもよい。
【００２４】
排気マニホールド５０は、エンジン本体１０の複数の気筒１２の各々の排気ポートに連結される。排気マニホールド５０には、第１排気管５２の一方端が接続される。第１排気管５２の他方端は、過給機３０のタービン３６の排気流入口に接続される。そのため、各気筒の排気ポートから排出される排気は、排気マニホールド５０に集められた後、第１排気管５２を経由してタービン３６に供給される。
【００２５】
タービン３６の排気流出口には、第２排気管５４の一方端が接続される。第２排気管５４には、排気処理装置５６の入口部が接続される。排気処理装置５６は、たとえば、酸化触媒（ＤＯＣ：Diesel  Oxidation  Catalyst）や、排気に含まれる粒子状物質（以下、ＰＭ（Particulate  Matter）と記載する。）を捕集するＰＭ除去フィルタ等を含む。
【００２６】
排気処理装置５６の出口部には、第３排気管５８の一方端が接続される。第３排気管５８の他方端には、触媒などの排気から特定の成分を除去する追加の排気処理装置やマフラー等が接続される。そのため、タービン３６から排出された排気は、第２排気管５４、排気処理装置５６、第３排気管５８、各種触媒およびマフラー等を経由して車外に排出される。
【００２７】
第３吸気管２７と排気マニホールド５０とは、エンジン本体１０を経由せずにＥＧＲ装置６０によって接続される。ＥＧＲ装置６０は、ＥＧＲバルブ６２と、ＥＧＲクーラ６４と、ＥＧＲ通路６６とを含む。ＥＧＲ通路６６は、第３吸気管２７と排気マニホールド５０とを接続する。ＥＧＲバルブ６２と、ＥＧＲクーラ６４とは、ＥＧＲ通路６６の途中に設けられる。
【００２８】
ＥＧＲバルブ６２は、制御装置２００からの制御信号に応じて、ＥＧＲ通路６６を流通するＥＧＲガスの流量を調整する。
【００２９】
ＥＧＲクーラ６４は、たとえば、ＥＧＲ通路６６を流通するＥＧＲガスを冷却する水冷式あるいは空冷式の熱交換器である。排気マニホールド５０内の排気がＥＧＲ装置６０を経由してＥＧＲガスとして吸気側に戻されることによって気筒内の燃焼温度が低下され、ＮＯｘの生成量が低減される。
【００３０】
過給機３０は、コンプレッサ３２と、タービン３６とを含む。コンプレッサ３２のハウジング内にはコンプレッサホイール３４が収納され、タービン３６のハウジング内にはタービンホイール３８が収納される。コンプレッサホイール３４とタービンホイール３８とは、連結軸４２によって連結され、一体的に回転する。そのため、コンプレッサホイール３４は、タービンホイール３８に供給される排気の排気エネルギーによって回転駆動される。
【００３１】
エンジン１の動作は、制御装置２００によって制御される。制御装置２００は、各種処理を行なうＣＰＵ（Central  Processing  Unit）と、プログラムおよびデータを記憶するＲＯＭ（Read  Only  Memory）およびＣＰＵの処理結果等を記憶するＲＡＭ（Random  Access  Memory）等を含むメモリと、外部との情報のやり取りを行なうための入・出力ポート（いずれも図示せず）とを含む。
【００３２】
入力ポートには、上述したセンサ類（たとえば、クランク角度センサ２０２およびエアフローメータ２０８等）が接続される。出力ポートには、制御対象となる機器（たとえば、複数のインジェクタ１６および燃料ポンプ２１０等）が接続される。
【００３３】
制御装置２００は、各センサおよび機器からの信号、ならびにメモリに格納されたマップおよびプログラムに基づいて、エンジン１が所望の運転状態となるように各種機器を制御する。なお、各種制御については、ソフトウェアによる処理に限られず、専用のハードウェア（電子回路）により処理することも可能である。また、制御装置２００には、時間の計測を行うためのタイマー回路（図示せず）が内蔵されている。
【００３４】
クランク角度センサ２０２は、エンジン１のクランクシャフトの回転角度（以下、クランク角度と記載する）ＣＡを検出する。クランク角度センサ２０２は、検出したクランク角度ＣＡを示す信号を制御装置２００に送信する。
【００３５】
より具体的には、たとえば、エンジン１のクランクシャフトには、円盤形状のタイミングロータが固定される。タイミングロータには、回転中心を中心として所定の角度毎に円周方向に沿って複数の歯部が設けられる。クランク角度センサ２０２は、たとえば、タイミングロータの歯部に対向する位置に設けられる。クランク角度センサ２０２は、クランクシャフトの回転時において、タイミングロータが所定の角度だけ回転する毎に歯部とのエアギャップの変化に応じて増減する電圧信号を制御装置２００に出力する。制御装置２００は、電圧信号の増減によってタイミングロータが所定の角度だけ回転することを検出することができる。なお、タイミングロータの所定の位置（たとえば、所定の気筒における上死点に対応する位置）においては、隣接する歯部間の間隔が他の歯部間の間隔よりも長く設定される。制御装置２００は、間隔が長く設定された歯部に対応した電圧信号の増減を検出することによってタイミングロータの回転位置が所定の位置であることを検出することができる。なお、クランク角度センサ２０２としては、少なくともクランク角度が検出できればよく、特に上述した構成に限定されるものではない。
【００３６】
エアフローメータ２０８は、第１吸気管２２に導入される新気の流量（吸入空気量）Ｑｉｎを検出する。エアフローメータ２０８は、検出した吸入空気量Ｑｉｎを示す信号を制御装置２００に送信する。
【００３７】
燃料タンク２１４は、複数のインジェクタ１６に供給するための燃料を貯留する。燃料ポンプ２１０は、制御装置２００からの制御信号に応じて動作し、燃料タンク２１４に貯留される燃料をコモンレール１４に圧送する。燃料ポンプ２１０と燃料タンク２１４との間の燃料が流通する通路には燃料フィルタ２１２が設けられる。燃料フィルタ２１２は、流通する燃料に含まれる異物を捕集する。
【００３８】
以上のような構成を有するエンジン１においては、制御装置２００は、エンジン１の運転中に、エンジン１のクランク角度の変化時間に基づいてエンジン回転数ＮＥを算出する。制御装置２００は、算出されたエンジンン回転数に基づいて燃料噴射量の要求値を算出し、算出された要求値を用いて燃料噴射量を最終的に決定する。制御装置２００は、各気筒に対応づけられた所定のクランク角度間にこれらの処理を行なう。
【００３９】
以下に、各気筒に対して行なわれる燃料噴射制御の一例について図２を用いて説明する。図２は、燃料噴射制御の一例を説明するための図である。
【００４０】
図２の上段には、燃料噴射制御の対象となる気筒の変化が示される。図２の中段には、クランク角度ＣＡの変化が示される。図２の下段には、クランク角度ＣＡに対応づけられた処理の一例が示される。
【００４１】
本実施の形態においては、たとえば、４つの気筒に対して点火順序にしたがって「０」〜「３」の気筒番号を設定するものとする。また、制御装置２００は、「０」〜「３」の気筒の各々に対してクランクシャフトが１８０ＣＡだけ回転する間に、瞬時ＮＥ（後述する）の算出処理（以下、第１算出処理と記載する）と、燃料噴射量の要求値の算出処理（以下、第２算出処理と記載する）と、気筒別の燃料噴射量の算出処理（以下、第３算出処理と記載する）と、噴射指令処理とを燃料噴射制御として実行するものとする。
【００４２】
より具体的には、制御装置２００は、１８０ＣＡのクランク角度の範囲を３０ＣＡずつの複数の区間に区分し、上述の処理の各々を複数の区間のうちのいずれかに割り当てて実行する。なお、以下の説明において複数の区間の各々の始点となるクランク角度ＣＡに対して＃０、＃３、＃６、＃９、＃１２および＃１５と称するものとする。したがって、たとえば「０」の気筒の複数の区間は、＃０〜＃３の区間と、＃３〜＃６の区間と、＃６〜＃９の区間と、＃９〜＃１２の区間と、＃１２〜＃１５の区間と、＃１５〜「１」の気筒の＃０の区間とを含む。なお、＃９に対応するクランク角度は、気筒の上死点（ＴＤＣ：Top  Dead  Center）に対応するクランク角度であるものとする。
【００４３】
制御装置２００は、たとえば、クランク角度センサ２０２からクランク角度を示す信号が入力されることで燃料噴射制御の各処理を実行する。具体的には、制御装置２００は、クランク角度が「０」の気筒の＃０に対応するクランク角度になる場合に、直前の所定のクランク角度範囲におけるクランク角度の変化時間からエンジン回転数（以下、瞬時ＮＥとも記載する）を算出する処理を第１算出処理として実行する。制御装置２００は、算出された瞬時ＮＥを用いて燃料噴射量の要求値を算出する処理を第２算出処理として実行する。そして、制御装置２００は、クランク角度が「０」の気筒の＃３に対応するクランク角度になる場合に、算出された燃料噴射量の要求値を用いて「０」の気筒に対応する燃料噴射量（以下、気筒別燃料噴射量と記載する）を算出する処理を第３算出処理として実行する。その後、制御装置２００は、クランク角度が「０」の気筒の＃６以降に対応するクランク角度になる場合に、算出された気筒別燃料噴射量に従った噴射指令処理を実行する。
【００４４】
制御装置２００は、クランク角度が「１」の気筒の＃０に対応するクランク角度になる場合、「１」の気筒に対して上述の燃料噴射制御の各処理を実行する。その後に、制御装置２００は、クランク角度が「２」の気筒の＃０に対応するクランク角度になる場合には、「２」の気筒に対して上述の燃料噴射制御の各処理を実行する。そして、制御装置２００は、クランク角度が「３」の気筒の＃０に対応するクランク角度になる場合には、「３」の気筒に対して上述の燃料噴射制御の各処理を実行する。
【００４５】
しかしながら、上述した燃料噴射制御の各処理が所定のクランク角度間で行なわれるため、エンジン回転数が高回転領域になると所定のクランク角度間の変化時間が短くなり、たとえば、上述の燃料噴射制御の各処理の他に優先度の高い割り込み処理が実行されると、上述の燃料噴射制御の各処理を行なう期間を十分に確保できない場合がある。
【００４６】
図３は、エンジン１の高回転時と低回転時とにおける燃料噴射制御の処理の一例を説明するための図である。図３（Ａ）は、エンジン１の低回転時（たとえば、エンジン回転数ＮＥが２０００ｒｐｍである場合）における燃料噴射制御の処理の一例を説明するための図である。図３（Ｂ）は、エンジン１の高回転時（たとえば、エンジン回転数ＮＥが４０００ｒｐｍである場合）における燃料噴射制御の処理の一例を説明するための図である。
【００４７】
図３（Ａ）の（１）に示すように、制御装置２００は、エンジン１の低回転時において、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる場合に、第１算出処理を実行する。そして、図３（Ａ）の（２）に示すように、第１算出処理によって算出された瞬時ＮＥを用いて第２算出処理を実行する。図３（Ａ）の（３）に示すように、その後に、制御装置２００は、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度になる場合に、第２算出処理によって算出された燃料噴射量の要求値を用いて第３算出処理を実行し、気筒別燃料噴射量を算出する。エンジン１の低回転時においては、第２算出処理が完了した時点からクランク角度ＣＡが＃３に対応するクランク角度になる時点までの期間に余裕がある。
【００４８】
一方、図３（Ｂ）の（１）および（２）に示すように、制御装置２００は、エンジン１の高回転時においても同様に、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる場合に、第１算出処理と第２算出処理とを実行する。そして、図３（Ｂ）の（３）に示すように、制御装置２００は、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度になる場合に、第３算出処理を実行する。しかしながら、たとえば、エンジン回転数が２倍になる場合には、クランク角度ＣＡが＃０に対応するクランク角度から＃３に対応するクランク角度まで変化する時間が半分になるため、第２算出処理が完了した時点からクランク角度ＣＡが＃３に対応するクランク角度になる時点までの期間が短くなる。
【００４９】
そのため、たとえば、第２算出処理中に第２算出処理よりも優先度の高い割り込み処理（たとえば、クランク角度ＣＡを算出する処理等）が実行される場合には、第２算出処理を実行する期間を十分に確保できない場合がある。
【００５０】
図４は、エンジン１の高回転時と低回転時とにおける燃料噴射制御の処理中に実行される割り込み処理について説明するための図である。図４（Ａ）は、エンジン１の低回転時（たとえば、エンジン回転数ＮＥが２０００ｒｐｍである場合）における燃料噴射制御の処理中に実行される割り込み処理について説明するための図である。図４（Ｂ）は、エンジン１の高回転時（たとえば、エンジン回転数ＮＥが４０００ｒｐｍである場合）における燃料噴射制御の処理中に実行される割り込み処理について説明するための図である。
【００５１】
図３（Ａ）を用いて説明したように、エンジン１の低回転時においては、第２算出処理の完了時点からクランク角度ＣＡが＃３に対応するクランク角度になる時点までの期間に余裕がある。そのため、図４（Ａ）に示すように、第２算出処理中に高優先の割り込み処理が実行された場合（すなわち、第２算出処理が中断され、高優先の割り込み処理が完了した後に第２算出処理が再開された場合）でも第２算出処理の実施期間が十分に確保される。
【００５２】
一方、図３（Ｂ）を用いて説明したように、エンジン１の高回転時においては、第２算出処理の完了時点からクランク角度ＣＡが＃３に対応するクランク角度になる移転までの期間に余裕がない。そのため、図４（Ｂ）に示すように、第２算出処理中に第２算出処理よりも優先度の高い割り込み処理が実行された場合に、第２算出処理の実施期間を十分に確保できない場合がある。そのため、このような高回転状態が継続すると、第２算出処理が実行できない状態が継続する可能性があり、適切な気筒別燃料噴射量を算出できない状態が継続する可能性がある。
【００５３】
そこで、本実施の形態においては、制御装置２００は、クランク角度ＣＡが＃０に対応するクランク角度から＃３に対応するクランク角度まで変化するまでの間に第１算出処理を実行し、クランク角度ＣＡが＃３に対応するクランク角度に変化するときに第３算出処理を実行し、第２算出処理をクランク角度ＣＡに関係なく定期的に実行するものとする。
【００５４】
このようにすると、燃料噴射量の要求値を決定する第２算出処理についてはクランク角度に関係なく定期的に実行されるので、クランク角度ＣＡが＃０に対応するクランク角度から＃３に対応するクランク角度まで変化する期間内に第２算出処理を行なう期間を確保する必要がなくなる。そのため、エンジン回転数ＮＥが高回転領域であって、さらに他の優先度の高い割り込み処理が実行される場合でも第２算出処理を実行する期間を十分に確保することができる。
【００５５】
以下に、図５および図６を参照して、本実施の形態における制御装置２００で実行される処理について説明する。図５および図６は、いずれも制御装置２００において実行される処理の一例を示すフローチャートである。
【００５６】
図５および図６のフローチャートに示される処理は、所定の制御周期毎にメインルーチン（図示せず）から呼び出されて実行される。より具体的には、制御装置２００は、クランク角度センサ２０２からクランク角度を示す信号を受信した場合に図５に示す処理を実行する。さらに、制御装置２００は、タイマーにより計測される計測時間が所定時間（たとえば、数ミリ秒）に到達する毎に図６に示す処理を図５に示す処理の割り込み処理として実行する。ただし、制御装置２００は、瞬時ＮＥの算出中あるいは気筒別燃料噴射量の算出中においては、瞬時ＮＥの算出完了後あるいは気筒別燃料噴射量の算出後に図６に示す処理を実行するものとする。また、瞬時ＮＥの算出処理や気筒別燃料噴射量の算出処理は、図６に示す処理よりも優先して実行されるものとする。すなわち、制御装置２００は、図６に示す処理の実行中においては、図６に示す処理を中断して瞬時ＮＥの算出処理や気筒別燃料噴射量の算出処理を実行し、算出処理の完了後に中断していた図６に示す処理を再開するものとする。
【００５７】
図５を参照して、ステップ（以下、ステップをＳと記載する）１００にて、制御装置２００は、クランク角度ＣＡが＃０に対応するクランク角度であるか否かを判定する。制御装置２００は、たとえば、クランク角度が「０」〜「３」のいずれかの気筒の＃０に対応するクランク角度であるか否かを判定する。クランク角度ＣＡが＃０に対応するクランク角度であると判定される場合（Ｓ１００にてＹＥＳ）、処理はＳ１０２に移される。
【００５８】
Ｓ１０２にて、制御装置２００は、瞬時ＮＥを算出する。制御装置２００は、＃０に対応するクランク角度を終点とする直前の予め定められたクランク角度間（たとえば、６０ＣＡ間）におけるクランク角度の変化時間を算出し、算出された変化時間を用いて算出されるエンジン回転数ＮＥを瞬時ＮＥとして算出する。
【００５９】
Ｓ１０４にて、制御装置２００は、算出された瞬時ＮＥをメモリの所定の記憶領域に記憶させる。制御装置２００は、過去の履歴と今回値とを含む複数個の瞬時ＮＥを記憶してもよいし、あるいは、記憶された瞬時ＮＥの前回値を瞬時ＮＥの今回値で更新してもよい。なお、クランク角度ＣＡが＃０に対応するクランク角度でないと判定される場合（Ｓ１００にてＮＯ）、処理はＳ１０６に移される。
【００６０】
Ｓ１０６にて、制御装置２００は、クランク角度ＣＡが＃３に対応するクランク角度であるか否かを判定する。制御装置２００は、たとえば、クランク角度ＣＡが「０」〜「３」のいずれかの気筒の＃３に対応するクランク角度であるか否かを判定する。クランク角度ＣＡが＃３に対応するクランク角度であると判定される場合（Ｓ１０６にてＹＥＳ）、処理はＳ１０８に移される。
【００６１】
Ｓ１０８にて、制御装置２００は、燃料噴射量の要求値を取得する。制御装置２００は、メモリの所定の記憶領域に記憶された燃料噴射量の要求値を読み出すことによって燃料噴射量の要求値を取得する。
【００６２】
Ｓ１１０にて、制御装置２００は、気筒別燃料噴射量を算出する。制御装置２００は、たとえば、クランク角度ＣＡから燃料噴射制御の対象気筒が「０」〜「３」の気筒のうちのいずれの気筒であるかを特定し、特定された気筒に対応した補正処理を実行することによって気筒別燃料噴射量を算出する。補正処理は、燃料噴射量の要求値に対して各気筒別に実施された学習処理を反映した補正係数を乗算する処理であってもよいし、燃料噴射量の要求値に対して各気筒別に実施された学習処理を反映した補正量を加算する処理であってもよい。各気筒別に実施される学習処理としては、たとえば、微小噴射量に対するエンジン回転数ＮＥの回転変動量に基づいて各気筒のインジェクタ１６からの実燃料噴射量と燃料噴射量の指令値とのずれを補正する処理などの周知の学習処理が含まれる。
【００６３】
Ｓ１１２にて、制御装置２００は、噴射指令を実行する。より具体的には、制御装置２００は、エンジン１の運転状態に応じて噴射時期および噴射回数を決定し、決定された噴射時期および噴射回数に従って噴射指令を実行する。なお、噴射時期としては、少なくとも＃６に対応するクランク角度から次の点火順序となる気筒の＃０に対応するクランク角度までの間に単数箇所あるいは複数箇所設定される。
【００６４】
なお、クランク角度ＣＡが＃３に対応するクランク角度でないと判定される場合（Ｓ１０６にてＮＯ）、処理は終了される。なお、本実施の形態において、瞬時ＮＥを算出する処理が「第１処理」に相当し、気筒別燃料噴射量を算出する処理が「第３処理」に相当する。
【００６５】
図６を参照して、Ｓ２００にて、制御装置２００は、エンジン１の要求トルクを取得する。制御装置２００は、たとえば、アクセル開度や車速等に基づいて要求トルクを算出することによってエンジン１の要求トルクを取得する。
【００６６】
Ｓ２０２にて、制御装置２００は、瞬時ＮＥを取得する。制御装置２００は、メモリの所定の記憶領域に記憶される瞬時ＮＥの最新値を読み出すことによって瞬時ＮＥを取得する。
【００６７】
Ｓ２０４にて、制御装置２００は、要求トルクと瞬時ＮＥとを用いて燃料噴射量の要求値を算出する。制御装置２００は、たとえば、要求トルクと瞬時ＮＥと燃料噴射量の要求値との関係を示すマップを用いて燃料噴射量の要求値を算出する。要求トルクと瞬時ＮＥと燃料噴射量の要求値との関係を示すマップは、たとえば、実験等により適合され、予め作成され、制御装置２００のメモリに記憶される。
【００６８】
Ｓ２０６にて、制御装置２００は、Ｓ２０４にて算出された燃料噴射量の要求値に対してなまし処理を実行する。具体的には、制御装置２００は、前回の燃料噴射量から、Ｓ２０４にて算出された燃料噴射量の要求値への変化の大きさが変化上限値を超える場合には、変化の大きさを変化上限値に制限した値を燃料噴射量の要求値とする処理を実行する。
【００６９】
Ｓ２０８にて、制御装置２００は、燃料噴射量の上限ガードを設定する。制御装置２００は、たとえば、エンジン１のトルク制約や、エンジン１に連結される変速機等のトルク容量や、車速等に基づいて燃料噴射量の上限ガードを設定する。
【００７０】
Ｓ２１０にて、制御装置２００は、最終的な燃料噴射量の要求値を算出する。制御装置２００は、たとえば、なまし処理後の燃料噴射量の要求値と燃料噴射量の上限ガードとを比較した結果に基づいて最終的な燃料噴射量の要求値を算出する。制御装置２００は、たとえば、なまし処理後の燃料噴射量の要求値が燃料噴射量の上限ガードよりも小さい場合には、なまし処理後の燃料噴射量の要求値を最終的な燃料噴射量の要求値として算出する。あるいは、制御装置２００は、たとえば、なまし処理後の燃料噴射量の要求値が上限ガードよりも大きい場合には、上限ガードの値を最終的な燃料噴射量の要求値として算出する。なお、本実施の形態において図６に示す処理が「第２処理」に相当する。
【００７１】
以上のような構造およびフローチャートに基づく制御装置２００の動作について図７および図８を参照しつつ説明する。
【００７２】
図７および図８は、いずれも本実施の形態における燃料噴射制御の処理の一例を説明するための図である。なお、図７の（１）および図８の（１）に示すように、たとえば、クランク角度ＣＡが「３」の気筒の＃０に対応するクランク角度になる時点において、「３」の気筒の燃料噴射制御に用いられる瞬時ＮＥの値ＮＥ（ｎ−１）が算出されているものとする。
【００７３】
図７の（２）に示すように、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる場合に（Ｓ１００にてＹＥＳ）、瞬時ＮＥの値ＮＥ（ｎ）が算出される（Ｓ１０２）。算出された瞬時ＮＥの値ＮＥ（ｎ）は、制御装置２００のメモリに記憶される（Ｓ１０４）。
【００７４】
図７の（ａ）に示すように、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になった時点よりも後の時間ｔ（ｎ）にて、図６に示す処理が実行される。この場合、要求トルクが取得され（Ｓ２００）、制御装置２００のメモリから瞬時ＮＥの値ＮＥ（ｎ）が取得される（Ｓ２０２）。さらに、要求トルクと瞬時ＮＥの値ＮＥ（ｎ）とを用いて燃料噴射量の要求値が算出され（Ｓ２０４）、算出された燃料噴射量の要求値に対してなまし処理が実行される（Ｓ２０６）。そして、燃料噴射量の上限ガードが設定されると（Ｓ２０８）、なまし処理された燃料噴射量の要求値と上限ガードとの比較結果に基づいて燃料噴射量の要求値Ｑ１（ｎ）が算出される（Ｓ２１０）。
【００７５】
図７の（３）に示すように、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度になる時点に（Ｓ１０６にてＹＥＳ）、制御装置２００のメモリから燃料噴射量の要求値Ｑ１（ｎ）が取得され（Ｓ１０８）、取得された燃料噴射量の要求値Ｑ１（ｎ）に対して「０」の気筒に対応した補正処理が行なわれることによって気筒別燃料噴射量Ｑ２（ｎ）が算出される（Ｓ１１０）。そして、＃６に対応するクランク角度以降において算出された気筒別燃料噴射量Ｑ２（ｎ）を用いた噴射指令が実行される（Ｓ１１２）。その後、図７の（ｂ）に示すように、時間ｔ（ｎ＋１）にて、再度図６に示す処理が実行され、燃料噴射量の要求値Ｑ１（ｎ＋１）が算出される。
【００７６】
一方、図８の（ａ）に示すように、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる時点よりも前に、時間ｔ（ｎ）になる場合に、図６に示す処理が実行される。
【００７７】
しかしながら、図８の（２）に示すように、図６の示す処理の実行中に、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる場合（Ｓ１００にてＹＥＳ）、図６に示す処理が中断され、図５に示す処理が実行される。そのため、瞬時ＮＥの値ＮＥ（ｎ）が算出され（Ｓ１０２）、算出された瞬時ＮＥの値ＮＥ（ｎ）が制御装置２００のメモリに記憶される（Ｓ１０４）。
【００７８】
その後、図６に示す処理が再開され、燃料噴射量の要求値Ｑ１（ｎ）が算出される（Ｓ２１０）。この場合、燃料噴射量の要求値Ｑ１（ｎ）は、瞬時ＮＥの値ＮＥ（ｎ−１）を用いて算出される。
【００７９】
そして、図８の（３）に示すように、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度になると（Ｓ１０６にてＹＥＳ）、算出された燃料噴射量の要求値Ｑ１（ｎ）が取得され（Ｓ１０８）、気筒別燃料噴射量が算出され（Ｓ１１０）、噴射指令が実行される（Ｓ１１２）。
【００８０】
なお、この処理の実行中においては、時間ｔ（ｎ＋１）になっても図６に示す処理は直ちに実行されず、気筒別燃料噴射量Ｑ２（ｎ）が算出された後に実行され、燃料噴射量の要求値Ｑ１（ｎ＋１）が算出される（Ｓ２１０）。この場合、燃料噴射量Ｑ１（ｎ＋１）は、瞬時ＮＥの値ＮＥ（ｎ）を用いて算出される。
【００８１】
上述のように、燃料噴射量の要求値を算出する処理がクランク角度ＣＡの変化に関係なく、定期的に実行されることによって、エンジン回転数ＮＥが高回転領域であっても、燃料噴射量の要求値を算出する期間が確保される。
【００８２】
以上のようにして、本実施の形態に係るエンジンの制御装置によると、燃料噴射量の要求値を決定する第２処理についてはクランク角度に関係なく定期的に実行され、第３処理においては、直近に実行された第２処理において算出された燃料噴射量の要求値を用いて燃料噴射量が決定される。そのため、クランク角度ＣＡが＃０に対応するクランク角度から＃３に対応するクランク角度まで変化する期間内に第２処理を行なう期間を確保する必要がなくなる。そのため、エンジン回転数ＮＥが高回転領域であって、さらに他の優先度の高い割り込み処理が実行される場合でも第２処理を実行する期間を十分に確保することができる。したがって、エンジン回転数が高回転領域である場合でも燃料噴射量を算出する処理を行なう期間を十分に確保するエンジンの制御装置を提供することができる。
【００８３】
以下、変形例について説明する。
上述の実施の形態では、エンジン１が４気筒のエンジンである場合を一例としクランクシャフトが７２０度回転する場合（１サイクル）において、１８０ＣＡの範囲が１気筒当りの燃料噴射制御の処理が行なわれるクランク角度の区間として設定されるものとして説明したが、エンジン１の気筒数として４気筒のエンジンに特に限定されるものではない。たとえば、エンジン１としては３気筒エンジンであってもよいし、６気筒エンジンであってもよい。
【００８４】
特に、エンジン１が６気筒エンジンである場合には、１サイクルにおいて、１２０ＣＡの範囲が１気筒当りの燃料噴射制御の処理が行なわれるクランク角度の区間として設定される。この場合、４気筒のエンジンに比べて燃料噴射制御に用いられるクランク角度の範囲が小さくなる。そのため、多気筒エンジンに対して本発明を適用することによって、高回転時においても燃料噴射量を算出する処理を行なう期間を十分確保することができる。
【００８５】
さらに上述の実施の形態では、第３処理においては、直近に実行された第２処理において算出された燃料噴射量の要求値を用いて燃料噴射量が決定されるものとして説明したが、直近に実行された第２処理において算出された燃料噴射量の要求値が前回以前の瞬時ＮＥを用いて算出される場合には、燃料噴射量として少量の燃料噴射量が決定されることによって、燃料噴射量が不足する可能性がある。そのため、たとえば、燃料噴射量の下限ガードを設定してもよい。
【００８６】
以下、図９を参照して、この変形例における制御装置２００で実行される処理について説明する。図９は、変形例に係る制御装置において実行される処理の一例を示すフローチャートである。
【００８７】
なお、図９フローチャートのＳ１００〜Ｓ１０８，Ｓ１１２の処理は、以下に説明する点を除き、図５のフローチャートのＳ１００〜Ｓ１０８，Ｓ１１２の処理とそれぞれ同様の処理である。そのため、その詳細な説明は繰り返さない。
【００８８】
Ｓ１０４にて瞬時ＮＥが記憶された後や、Ｓ１００にてクランク角度ＣＡが＃０に対応するクランク角度でないと判定される場合（Ｓ１００にてＮＯ）、処理はＳ１５０に移される。
【００８９】
Ｓ１５０にて、制御装置２００は、クランク角度ＣＡが＃３に対応するクランク角度の所定クランク角度前であるか否かを判定する。所定クランク角度は、少なくとも以下に説明する瞬時ＮＥを用いた燃料噴射量の下限ガードの算出が十分に可能となるように設定される。クランク角度ＣＡが＃３に対応するクランク角度の所定クランク角度前であると判定される場合（Ｓ１５０にてＹＥＳ）、処理はＳ１５２に移される。
【００９０】
Ｓ１５２にて、制御装置２００は、燃料噴射量の下限ガードを算出する。制御装置２００は、メモリの所定の記憶領域に記憶される瞬時ＮＥの最新値を読み出して、読み出された瞬時ＮＥを用いて燃料噴射量の下限ガードを算出する。制御装置２００は、たとえば、瞬時ＮＥと燃料噴射量の下限ガードとの関係を示すマップを用いて燃料噴射量の下限ガードを算出する。瞬時ＮＥと燃料噴射量の下限ガードとの関係を示すマップは、たとえば、実験等により適合され、予め作成され、制御装置２００のメモリに記憶される。制御装置２００は、算出した燃料噴射量の下限ガードをメモリの所定の記憶領域に記憶する。
【００９１】
Ｓ１５２の処理後や、Ｓ１５０にてクランク角度ＣＡが＃３に対応するクランク角度の所定クランク角度前でないと判定される場合（Ｓ１５０にてＮＯ）、処理はＳ１０６に移される。
【００９２】
Ｓ１０８にて、燃料噴射量の要求値が取得されると、処理はＳ１５４に移される。Ｓ１５４にて、制御装置２００は、燃料噴射量の下限ガードを取得する。すなわち、制御装置２００は、メモリの所定の記憶領域に記憶される燃料噴射量の下限ガードを読み出すことによって燃料噴射量の下限ガードを取得する。
【００９３】
Ｓ１５６にて、制御装置２００は、気筒別燃料噴射量を算出する。制御装置２００は、たとえば、クランク角度ＣＡから気筒が「０」〜「３」の気筒のうちのいずれの気筒であるかを特定し、特定された気筒に対応した補正処理を実行することによって気筒別燃料噴射量を算出する。なお、補正処理については上述したとおりであるため、その詳細な説明は繰り返さない。さらに、制御装置２００は、算出された気筒別燃料噴射量と燃料噴射量の下限ガードとの比較結果に基づいて最終的な気筒別燃料噴射量を算出する。制御装置２００は、たとえば、算出された気筒別燃料噴射量が燃料噴射量の下限ガードよりも大きい場合には、算出された気筒別燃料噴射量を最終的な気筒別燃料噴射量として算出する。制御装置２００は、たとえば、算出された気筒別燃料噴射量が燃料噴射量の下限ガードよりも小さい場合には、燃料噴射量の下限ガードの値を最終的な気筒別燃料噴射量として算出する。
【００９４】
以上のような構造およびフローチャートに基づく制御装置２００の動作について図１０および図１１を参照しつつ説明する。
【００９５】
図１０および図１１は、いずれも変形例における燃料噴射制御の処理の一例を説明するための図である。なお、図１０の（１）および図１１の（１）に示すように、たとえば、クランク角度が「３」の気筒の＃０に対応するクランク角度になる時点において、「３」の気筒の燃料噴射制御に用いられる瞬時ＮＥの値ＮＥ（ｎ−１）が算出されているものとする。
【００９６】
図１０の（２）に示すように、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる場合に（Ｓ１００にてＹＥＳ）、瞬時ＮＥの値ＮＥ（ｎ）が算出される（Ｓ１０２）。算出された瞬時ＮＥの値ＮＥ（ｎ）は、制御装置２００のメモリに記憶される（Ｓ１０４）。
【００９７】
図１０の（ａ）に示すように、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になった時点よりも後の時間ｔ（ｎ）にて、図６に示す処理が実行され、燃料噴射量の要求値Ｑ１（ｎ）が算出される（Ｓ２１０）。
【００９８】
図１０の（３）に示すように、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度の所定クランク角度前である場合に（Ｓ１５０にてＹＥＳ）、瞬時ＮＥの値ＮＥ（ｎ）を用いて燃料噴射量の下限ガードが算出される（Ｓ１５２）。
【００９９】
図１０の（４）に示すように、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度になる時点に（Ｓ１０６にてＹＥＳ）、制御装置２００のメモリから燃料噴射量の要求値Ｑ１（ｎ）が取得され（Ｓ１０８）、燃料噴射量の下限ガードが取得され（Ｓ１５４）、気筒別燃料噴射量Ｑ２（ｎ）が算出される（Ｓ１５６）。そして、＃６に対応するクランク角度以降において算出された気筒別燃料噴射量Ｑ２（ｎ）を用いた噴射指令が実行される（Ｓ１１２）。その後、図１０の（ｂ）に示すように、時間ｔ（ｎ＋１）にて、再度図６に示す処理が実行され、燃料噴射量の要求値Ｑ１（ｎ＋１）が算出される。
【０１００】
一方、図１１の（ａ）に示すように、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる時点よりも前に、時間ｔ（ｎ）になる場合に、図６に示す処理が実行される。
【０１０１】
しかしながら、図１１の（２）に示すように、図６の示す処理の実行中に、クランク角度ＣＡが「０」の気筒の＃０に対応するクランク角度になる場合（Ｓ１００にてＹＥＳ）、図６に示す処理が中断され、図９に示す処理が実行される。そのため、瞬時ＮＥの値ＮＥ（ｎ）が算出され（Ｓ１０２）、算出された瞬時ＮＥの値ＮＥ（ｎ）が制御装置２００のメモリに記憶される（Ｓ１０４）。
【０１０２】
その後、図６に示す処理が再開され、燃料噴射量の要求値Ｑ１（ｎ）が算出される（Ｓ２１０）。この場合、燃料噴射量の要求値Ｑ１（ｎ）は、瞬時ＮＥの値ＮＥ（ｎ−１）を用いて算出される。
【０１０３】
そして、図１１の（３）に示すように、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度の所定クランク角度前である場合に（Ｓ１５０にてＹＥＳ）、瞬時ＮＥの値ＮＥ（ｎ）を用いて燃料噴射量の下限ガードが算出される（Ｓ１５２）。
【０１０４】
図１１の（４）に示すように、クランク角度ＣＡが「０」の気筒の＃３に対応するクランク角度になると（Ｓ１０６にてＹＥＳ）、算出された燃料噴射量の要求値Ｑ１（ｎ）が取得され（Ｓ１０８）、燃料噴射量の下限ガードが取得され（Ｓ１５４）、気筒別燃料噴射量が算出され（Ｓ１５６）、噴射指令が実行される（Ｓ１１２）。
【０１０５】
このようにすると、上述のとおり燃料噴射量の要求値を算出する期間を十分に確保することができるとともに、算出される燃料噴射量の要求値が前回以前の瞬時ＮＥを用いて算出される場合にも、燃料噴射量が不足することを抑制することができる。
【０１０６】
なお、上記した変形例は、その全部または一部を組み合わせて実施してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０７】
１  エンジン、１０  エンジン本体、１２  気筒、１４  コモンレール、１６  インジェクタ、２０  エアクリーナ、２２，２４，２７  吸気管、２６  インタークーラ、２８  吸気マニホールド、３０  過給機、３２  コンプレッサ、３４  コンプレッサホイール、３６  タービン、３８  タービンホイール、４２  連結軸、５０  排気マニホールド、５２，５４，５８  排気管、５６  排気処理装置、６０  ＥＧＲ装置、６２  ＥＧＲバルブ、６４  ＥＧＲクーラ、６６  ＥＧＲ通路、２００  制御装置、２０２  クランク角度センサ、２０８  エアフローメータ、２１０  燃料ポンプ、２１２  燃料フィルタ、２１４  燃料タンク。
【図１】
2019199832.tif 000003
【図２】
2019199832.tif 000004
【図３】
2019199832.tif 000005
【図４】
2019199832.tif 000006
【図５】
2019199832.tif 000007
【図６】
2019199832.tif 000008
【図７】
2019199832.tif 000009
【図８】
2019199832.tif 000010
【図９】
2019199832.tif 000011
【図１０】
2019199832.tif 000012
【図１１】
2019199832.tif 000013