(57)【要約】    【課題】  吸気弁のリフト量を制御する制御パラメータの学習を適切に行い、リフト量のより広い範囲で適切な学習補正を行うことができる内燃機関の吸気制御装置を提供する。    【解決手段】  機関がアイドル状態にあるとき、検出吸入空気流量ＧＡＩＲが目標吸入空気流量ＧＡＩＲＣＭＤと一致するように、リフト補正量ＡＬＤＥＧＳＬＤが算出され、リフト補正量ＡＬＤＥＧＳＬＤの学習値である学習補正量ＡＬＤＧＲＥＦが算出され、リフト補正量ＡＬＤＥＧＳＬＤ及び学習補正量ＡＬＤＥＧＲＥＦを用いて、リフト量指令値ＬＦＴＣＭＤが算出される。高リフト量領域及び低リフト量領域に対応して第１学習補正値ＡＬＤＥＧＲＥＦＡ及び第２学習補正値ＡＬＤＥＧＲＥＦＢが算出され、検出リフト量に応じて第１学習補正値または第２学習補正値の一方が学習補正量ＡＬＤＥＧＲＥＦとして適用される。【選択図】  図１０
2008232139.tif 000002
【特許請求の範囲】
【請求項１】
吸気弁のリフト量を連続的に変更する弁作動特性可変機構を備えた内燃機関の吸気制御装置において、
前記機関の吸入空気流量を検出する吸入空気流量検出手段と、
前記機関の目標吸入空気流量を算出する目標吸入空気流量算出手段と、
前記目標吸入空気流量に応じて前記リフト量の基本値である基本リフト量を算出する基本リフト量算出手段と、
前記機関がアイドル状態にあるとき、前記吸入空気流量検出手段により検出される吸入空気流量が前記目標吸入空気流量と一致するように、前記基本リフト量を補正するリフト補正量を算出するリフト補正量算出手段と、
前記リフト補正量の学習値である学習補正量を算出する学習補正量算出手段と、
前記基本リフト量を前記リフト補正量及び学習補正量により補正することにより、リフト量指令値を算出するリフト量指令値算出手段と、
算出されたリフト量指令値に応じて前記弁作動特性可変機構を制御するリフト量制御手段と、
前記リフト量を示すリフト量パラメータを検出するリフト量パラメータ検出手段とを備え、
前記学習補正量算出手段は、検出されるリフト量パラメータから算出されるリフト量が所定閾値以下である低リフト量領域、及び前記リフト量が前記所定閾値より大きい高リフト量領域に対応して第１学習値及び第２学習値を算出し、前記リフト量に応じて前記第１学習値または第２学習値の一方を選択して前記学習補正量として出力することを特徴とする内燃機関の吸気制御装置。
【請求項２】
前記学習補正量手段は、前記第１学習値から第２学習値への切換またはその逆の切換を徐々に行うことを特徴とする請求項１に記載の内燃機関の吸気制御装置。
【請求項３】
前記リフト補正量算出手段は、検出吸入空気流量と前記目標吸入空気流量との偏差が「０」に収束する速度を変化させるゲインパラメータを用いて前記リフト量補正量を算出し、前記ゲインパラメータは、前記リフト量補正量の算出開始時点からの経過時間に応じて設定されることを特徴とする請求項１または２に記載の内燃機関の吸気制御装置。
【請求項４】
前記第１学習値の異常判定を行う第１異常判定手段と、前記第２学習値の異常判定を行う第２異常判定手段と、前記第１学習値または第２学習値の何れか一方が異常と判定されたときは、前記リフト量パラメータ検出手段の検出特性が異常であると診断し、前記第１学習値及び第２学習値がともに異常と判定されたときは、前記弁作動特性可変機構が異常であると診断する診断手段とをさらに備えることを特徴とする請求項１から３の何れか１項に記載の内燃機関の吸気制御装置。
【請求項５】
前記機関は、前記機関に供給する燃料を貯蔵する燃料タンク内で発生する蒸発燃料を前記機関の吸気通路に供給する蒸発燃料処理装置、前記機関のクランクケース内のブローバイガスを前記吸気通路に還流するブローバイガス還流装置、及び前記機関の排気の一部を前記吸気通路に還流する排気還流装置の少なくとも１つを含む吸気関連装置を備え、前記学習補正量算出手段が前記第１または第２の学習値を算出するときは、前記吸気関連装置の作動を停止させる作動停止手段をさらに備えることを特徴とする請求項１から４の何れか１項に記載の内燃機関の吸気制御装置。
【請求項６】
前記吸入空気流量検出手段の異常判定を行う第３異常判定手段をさらに備え、
前記第１及び第２異常判定手段及び前記診断手段は、前記吸入空気流量検出手段が正常であるときに作動させることを特徴とする請求項４に記載の内燃機関の吸気制御装置。
【請求項７】
前記第３異常判定手段は、前記吸入空気流量検出手段を通過する空気流量の推定値と、前記吸入空気流量検出手段の検出値とに基づいて前記異常判定を行うことを特徴とする請求項６に記載の内燃機関の吸気制御装置。
【請求項８】
前記吸気通路に設けられたスロットル弁と、前記吸気通路の前記スロットル弁下流側における吸気圧を検出する吸気圧検出手段と、該吸気圧検出手段の異常判定を行う第４異常判定手段とをさらに備え、
前記第１及び第２異常判定手段及び前記診断手段は、前記吸気圧検出手段が正常であるときに作動させることを特徴とする請求項６に記載の内燃機関の吸気制御装置。
【請求項９】
前記機関に供給される混合気の空燃比を検出する空燃比検出手段をさらに備え、
前記第４異常判定手段は、検出空燃比が目標空燃比と一致するよう算出される空燃比補正量と、前記吸気圧検出手段により検出される吸気圧が目標吸気圧と一致するように算出される前記スロットル弁の開度補正量とに基づいて、前記異常判定を行うことを特徴とする請求項８に記載の内燃機関の吸気制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
内燃機関の吸気制御装置に関し、特に吸気弁のリフト量を連続的に変更する弁作動特性可変機構を備える内燃機関の吸気制御装置に関する。
【背景技術】
【０００２】
特許文献１には、吸気弁のリフト量を連続的に変化させる弁作動特性可変機構を備えた内燃機関の制御装置が示されている。この装置では、弁作動特性可変機構の、リフト量を変化させるための制御軸の作動角が作動角センサにより検出され、検出された作動角から機関の推定吸入空気流量が算出され、推定吸入空気流量と検出される吸入空気流量とに基づいて、検出される作動角を補正する補正値が学習される。
【０００３】
【特許文献１】特開２００３−４１９７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した制御装置では、作動角補正値の学習は、機関が低負荷定常運転状態にあるとき実行されるが、推定吸入空気流量と検出吸入空気流量学習との差に応じて１つの補正値が更新されるだけある。しかしながら、センサ出力特性あるいは弁作動特性可変機構の作動特性は、リフト量の全範囲に亘って一様に経時変化するわけではない。したがって、単一の補正値を更新する学習では、リフト量変化範囲の一部の領域で適切な補正が可能であっても、他の領域では補正が不十分であったり、あるいは過度の補正が行われる可能性がある。
【０００５】
本発明はこの点に着目してなされたものであり、吸気弁のリフト量を制御する制御パラメータの学習を適切に行い、リフト量のより広い範囲で適切な学習補正を行うことができる内燃機関の吸気制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、吸気弁のリフト量を連続的に変更する弁作動特性可変機構（４１）を備えた内燃機関の吸気制御装置において、前記機関の吸入空気流量（ＧＡＩＲ）を検出する吸入空気流量検出手段（１３）と、前記機関の目標吸入空気流量（ＧＡＩＲＣＭＤ）を算出する目標吸入空気流量算出手段と、前記目標吸入空気流量（ＧＡＩＲＣＭＤ）に応じて前記リフト量の基本値である基本リフト量（ＬＦＴＣＭＤＢ）を算出する基本リフト量算出手段と、前記機関がアイドル状態にあるとき、前記吸入空気流量検出手段により検出される吸入空気流量（ＧＡＩＲ）が前記目標吸入空気流量（ＧＡＩＲＣＭＤ）と一致するように、前記基本リフト量（ＬＦＴＣＭＤＢ）を補正するリフト補正量（ＡＬＤＥＧＳＬＤ）を算出するリフト補正量算出手段と、前記リフト補正量（ＡＬＤＥＧＳＬＤ）の学習値である学習補正量（ＡＬＤＥＧＲＥＦ）を算出する学習補正量算出手段と、前記基本リフト量（ＬＦＴＣＭＤＢ）を前記リフト補正量（ＡＬＤＥＧＳＬＤ）及び学習補正量（ＡＬＤＥＧＲＥＦ）により補正することにより、リフト量指令値（ＬＦＴＣＭＤ）を算出するリフト量指令値算出手段と、算出されたリフト量指令値（ＬＦＴＣＭＤ）に応じて前記弁作動特性可変機構（４１）を制御するリフト量制御手段と、前記リフト量（ＡＶＣＳＤＥＧ１）を示すリフト量パラメータ（ＣＳＡ）を検出するリフト量パラメータ検出手段（１４）とを備え、前記学習補正量算出手段は、検出されるリフト量パラメータ（ＣＳＡ）から算出されるリフト量（ＡＶＣＳＤＥＧ１）が所定閾値（ＡＶＣＳＤＥＧＢ）以下である低リフト量領域、及び前記リフト量（ＡＶＣＳＤＥＧ１）が前記所定閾値（ＡＶＣＳＤＥＧＢ）より大きい高リフト量領域に対応して第１学習値（ＡＬＤＥＧＲＥＦＡ）及び第２学習値（ＡＬＤＥＧＲＥＦＢ）を算出し、前記リフト量（ＡＶＣＳＤＥＧ１）に応じて前記第１学習値（ＡＬＤＥＧＲＥＦＡ）または第２学習値（ＡＬＤＥＧＲＥＦＢ）の一方を選択して前記学習補正量（ＡＬＤＥＧＲＥＦ）として出力することを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の内燃機関の吸気制御装置において、前記学習補正量手段は、前記第１学習値（ＡＬＤＥＧＲＥＦＡ）から第２学習値（ＡＬＤＥＧＲＥＦＢ）への切換またはその逆の切換を徐々に行うことを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１または２に記載の内燃機関の吸気制御装置において、前記リフト補正量算出手段は、検出吸入空気流量（ＧＡＩＲ）と前記目標吸入空気流量（ＧＡＩＲＣＭＤ）との偏差（ＥＧＡＩＲ）が「０」に収束する速度を変化させるゲインパラメータ（ＶＰＯＬＥＧＡ）を用いて前記リフト補正量（ＡＬＤＥＧＳＬＤ）を算出し、前記ゲインパラメータ（ＶＰＯＬＥＧＡ）は、前記リフト補正量（ＡＬＤＥＧＳＬＤ）の算出開始時点からの経過時間（ＣＧＡＦＢＯＮ）に応じて設定されることを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１から３の何れか１項に記載の内燃機関の吸気制御装置において、前記第１学習値（ＡＬＤＥＧＲＥＦＡ）の異常判定を行う第１異常判定手段と、前記第２学習値（ＡＬＤＥＧＲＥＦＢ）の異常判定を行う第２異常判定手段と、前記第１学習値または第２学習値の何れか一方が異常と判定されたときは、前記リフト量パラメータ検出手段（１４）の検出特性が異常であると診断し、前記第１学習値及び第２学習値がともに異常と判定されたときは、前記弁作動特性可変機構（４１）が異常である診断する診断手段とをさらに備えることを特徴とする。
【００１０】
請求項５に記載の発明は、請求項１から４の何れか１項に記載の内燃機関の吸気制御装置において、前記機関は、前記機関に供給する燃料を貯蔵する燃料タンク内で発生する蒸発燃料を前記機関の吸気通路（２）に供給する蒸発燃料処理装置（２３，２４）、前記機関のクランクケース内のブローバイガスを前記吸気通路に還流するブローバイガス還流装置（１９〜２２）、及び前記機関の排気の一部を前記吸気通路（２）に還流する排気還流装置（１７，１８）の少なくとも１つを含む吸気関連装置を備え、前記学習補正量算出手段が前記第１または第２の学習値を算出するときは、前記吸気関連装置の作動を停止させる作動停止手段をさらに備えることを特徴とする。
【００１１】
請求項６に記載の発明は、請求項４に記載の内燃機関の吸気制御装置において、前記吸入空気流量検出手段（１３）の異常判定を行う第３異常判定手段をさらに備え、前記第１及び第２異常判定手段及び前記診断手段は、前記吸入空気流量検出手段（１３）が正常であるときに作動させることを特徴とする。
【００１２】
請求項７に記載の発明は、請求項６に記載の内燃機関の吸気制御装置において、前記第３異常判定手段は、前記吸入空気流量検出手段（１３）を通過する空気流量の推定値（ＨＧＡＩＲＡＦＭ）と、前記吸入空気流量検出手段の検出値（ＧＡＩＲ）とに基づいて前記異常判定を行うことを特徴とする。
【００１３】
請求項８に記載の発明は、請求項６に記載の内燃機関の吸気制御装置において、前記吸気通路（２）に設けられたスロットル弁（３）と、前記吸気通路（２）の前記スロットル弁下流側における吸気圧（ＰＢＡ）を検出する吸気圧検出手段（８）と、該吸気圧検出手段（８）の異常判定を行う第４異常判定手段とをさらに備え、前記第１及び第２異常判定手段及び前記診断手段は、前記吸気圧検出手段（８）が正常であるときに作動させることを特徴とする。
【００１４】
請求項９に記載の発明は、請求項８に記載の内燃機関の吸気制御装置において、前記機関に供給される混合気の空燃比（ＡＦ）を検出する空燃比検出手段（１６）をさらに備え、前記第４異常判定手段は、検出空燃比（ＡＦ）が目標空燃比（ＡＦＣＭＤ）と一致するよう算出される空燃比補正量（ＫＡＦ）と、前記吸気圧検出手段（８）により検出される吸気圧が目標吸気圧と一致するように算出される前記スロットル弁の開度補正量（ＡＴＨＣ）とに基づいて、前記異常判定を行うことを特徴とする。
【発明の効果】
【００１５】
請求項１に記載の発明によれば、目標吸入空気流量に応じて基本リフト量が算出され、機関がアイドル状態にあるとき、検出吸入空気流量が目標吸入空気流量と一致するように、基本リフト量を補正するリフト補正量が算出され、リフト補正量の学習値である学習補正量が算出され、基本リフト量をリフト補正量及び学習補正量により補正することにより、リフト量指令値が算出され、算出されたリフト量指令値に応じて弁作動特性可変機構が制御される。より具体的には、検出されるリフト量が所定閾値以下である低リフト量領域、及び検出リフト量が所定閾値より大きい高リフト量領域に対応して第１学習値及び第２学習値が算出され、検出リフト量に応じて第１学習値または第２学習値の一方が学習補正量として適用される。したがって、高リフト量領域及び低リフト量領域のそれぞれの領域に適した学習値を得ることができ、リフト量の広い範囲に亘って適切な学習補正を行うことができる。
【００１６】
請求項２に記載の発明によれば、第１学習値から第２学習値への切換またはその逆の切換が徐々に行われるので、リフト量指令値が急変することがなく、円滑な制御を行うことができる。
【００１７】
請求項３に記載の発明によれば、検出吸入空気流量と目標吸入空気流量との偏差が「０」に収束する速度を変化させるゲインパラメータを用いてリフト補正量が算出され、ゲインパラメータは、リフト補正量の算出開始時点からの経過時間に応じて設定される。フィードバック制御の開始時点で収束速度が高すぎると、リフト量指令値が急変する可能性があるので、経過時間に応じて徐々に収束速度が高くなるようにゲインパラメータを設定することにより、制御開始直後の安定性を確保することができる。
【００１８】
請求項４に記載の発明によれば、第１学習値の異常判定、及び第２学習値の異常判定が行われ、第１学習値または第２学習値の何れか一方が異常と判定されたときは、リフト量パラメータ検出手段の検出特性が異常であると診断され、第１学習値及び第２学習値がともに異常と判定されたときは、弁作動特性可変機構が異常であると診断される。したがって、異常状態を区別して診断し、診断後に適切な処置を行うことができる。
【００１９】
請求項５に記載の発明によれば、学習補正量算出手段が第１または第２の学習値を算出するときは、吸気関連装置の作動が停止されるので、吸気関連装置の作動によって学習値が不適切な値をとることを防止することができる。
【００２０】
請求項６に記載の発明によれば、第１及び第２異常判定手段及び診断手段は、吸入空気流量検出手段が正常であるときに作動し、異常診断が行われる。吸入空気流量検出手段が異常であるときは、検出吸入空気流量が正確なものでなくなるため、学習値が不適切な値となる可能性が高い。したがって、吸入空気流量検出手段が正常であるときに異常診断を行うことにより正確な診断を行うことができる。
【００２１】
請求項７に記載の発明によれば、吸入空気流量検出手段を通過する空気流量の推定値と、吸入空気流量検出手段の検出値とに基づいて、吸入空気量検出手段の異常判定が行われる。吸気圧センサ出力、あるいは排気系に設けられる空燃比センサ出力に基づく従来の判定手法に比べて、精度の良い判定を行うことができる。
【００２２】
請求項８に記載の発明によれば、第１及び第２異常判定手段及び診断手段は、吸気圧検出手段が正常であるときに作動し、異常診断が行われる。吸気圧検出手段により検出される吸気圧は、上記学習値の算出に直接適用されるわけではないが、スロットル弁開度の制御に適用されるので、吸気圧検出手段が異常であると、上記学習値が影響を受ける。したがって、吸気圧検出手段が正常であるときに異常診断を行うことにより正確な診断を行うことができる。
【００２３】
請求項９に記載の発明によれば、検出空燃比が目標空燃比と一致するように算出される空燃比補正量と、検出吸気圧が目標吸気圧と一致するように算出されるスロットル弁の開度補正量とに基づいて、吸気圧検出手段の異常判定が行われる。従来の手法に比べて、精度のよい判定を行うことができる。
【発明を実施するための最良の形態】
【００２４】
以下本発明の実施の形態を図面を参照して説明する。
［第１の実施形態］
図１は、本発明の第１の実施形態に係る内燃機関とその制御装置の構成を示す図であり、図２は弁作動特性可変装置の構成を示す図である。図１において、例えば４気筒を有する内燃機関（以下単に「エンジン」という）１は、吸気弁及び排気弁と、これらを駆動するカムを備えるとともに、吸気弁の弁リフト量及び開角（開弁期間）を連続的に変更する第１弁作動特性可変機構４１と、吸気弁を駆動するカムの、クランク軸回転角度を基準とした作動位相を連続的に変更するカム位相可変機構としての第２弁作動特性可変機構４２とを有する弁作動特性可変装置４０を備えている。第２弁作動特性可変機構４２により吸気弁を駆動するカムの作動位相が変更され、吸気弁の作動位相が変更される。
【００２５】
エンジン１の吸気管２の途中にはスロットル弁３が配されている。また、スロットル弁３にはスロットル弁開度（ＴＨ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子コントロールユニット（以下（ＥＣＵ）という）５に供給する。スロットル弁３には、スロットル弁３を駆動するアクチュエータ７が接続されており、アクチュエータ７は、ＥＣＵ５によりその作動が制御される。
【００２６】
燃料噴射弁６はエンジン１とスロットル弁３との間かつ吸気管２の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されて当該ＥＣＵ５からの信号により燃料噴射弁６の開弁時間が制御される。
【００２７】
スロットル弁３の下流には吸気圧ＰＢＡを検出する吸気圧センサ８及び吸気温ＴＡを検出する吸気温センサ９が取付けられている。またエンジン１の本体には、エンジン冷却水温ＴＷを検出するエンジン冷却水温センサ１０が取り付けられている。これらのセンサの検出信号は、ＥＣＵ５に供給される。
【００２８】
ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１１及び、エンジン１の吸気弁を駆動するカムが固定されたカム軸の回転角度を検出するカム角度位置センサ１２が接続されており、クランク軸の回転角度及びカム軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１１は、一定クランク角周期毎（例えば３０度周期）に１パルス（以下「ＣＲＫパルス」という）と、クランク軸の所定角度位置を特定するパルスを発生する。また、カム角度位置センサ１２は、エンジン１の特定の気筒の所定クランク角度位置でパルス（以下「ＣＹＬパルス」という）と、各気筒の吸入行程開始時の上死点（ＴＤＣ）でパルス（以下「ＴＤＣパルス」という）を発生する。これらのパルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数（エンジン回転速度）ＮＥの検出に使用される。なお、カム角度位置センサ１２より出力されるＴＤＣパルスと、クランク角度位置センサ１１より出力されるＣＲＫパルスとの相対関係からカム軸の実際の作動位相ＣＡＩＮが検出される。
【００２９】
ＥＣＵ５には、エンジン１によって駆動される車両のアクセルペダルの踏み込み量（以下「アクセルペダル操作量」という）ＡＰを検出するアクセルセンサ３１、当該車両の走行速度（車速）ＶＰを検出する車速センサ３２、及び大気圧ＰＡを検出する大気圧センサ３３が接続されている。これらのセンサの検出信号は、ＥＣＵ５に供給される。また図示しない他の制御ユニットから自動変速機を備えた車両におけるシフト位置に関する情報、手動変速機を備えた車両におけるクラッチの締結状態を示す情報、空調装置のオンオフを示す情報、パワーステアリングのオンオフを示す情報、及びヘッドライトなどの電気負荷のオンオフを示す情報が、ＥＣＵ５に供給される。
【００３０】
弁作動特性可変装置４０は、図２に示すように、吸気弁のリフト量及び開角（以下単に「リフト量」という）を連続的に変更する第１弁作動特性可変機構４１と、吸気弁の作動位相を連続的に変更する第２弁作動特性可変機構４２と、吸気弁のリフト量ＬＦＴを連続的に変更するためのモータ４３と、吸気弁の作動位相を連続的に変更するために、その開度が連続的に変更可能な電磁弁４４とを備えている。吸気弁の作動位相を示すパラメータとして、上記カム軸の作動位相ＣＡＩＮが用いられる。電磁弁４４には、オイルパン４６の潤滑油がオイルポンプ４５により、加圧されて供給される。なお、第２弁作動特性可変機構４２の具体的な構成は、例えば特開２０００−２２７０１３号公報に示されている。
【００３１】
第１弁作動特性可変機構４１は、図３（ａ）に示すように、カム５２が設けられたカム軸５１と、シリンダヘッドに軸５５ａを中心として揺動可能に支持されるコントロールアーム５５と、コントロールアーム５５を揺動させるコントロールカム５７が設けられたコントロール軸５６と、コントロールアーム５５に支軸５３ｂを介して揺動可能に支持されるとともに、カム５２に従動して揺動するサブカム５３と、サブカム５３に従動し、吸気弁６０を駆動するロッカアーム５４とを備えている。ロッカアーム５４は、コントロールアーム５５内に揺動可能に支持されている。
【００３２】
サブカム５３は、カム５２に当接するローラ５３ａを有し、カム軸５１の回転により、軸５３ｂを中心として揺動する。ロッカアーム５４は、サブカム５３に当接するローラ５４ａを有し、サブカム５３の動きが、ローラ５４ａを介して、ロッカアーム５４に伝達される。
【００３３】
コントロールアーム５５は、コントロールカム５７に当接するローラ５５ｂを有し、コントロール軸５６の回動により軸５５ａを中心として揺動する。図３（ａ）に示す状態では、サブカム５３の動きはロッカアーム５４にほとんど伝達されないため、吸気弁６０はほぼ全閉の状態を維持する。一方同図（ｂ）に示す状態では、サブカム５３の動きがロッカアーム５４を介して吸気弁６０に伝達され、吸気弁６０は最大リフト量ＬＦＴＭＡＸ（例えば１２ｍｍ）まで開弁する。
【００３４】
したがって、モータ４３によりコントロール軸５６を回動させることにより、吸気弁６０のリフト量ＬＦＴを連続的に変更することができる。本実施形態では、第１弁作動特性可変機構４１に、コントロール軸５６の回転角度（以下「ＣＳ角度」という）ＣＳＡを検出するコントロール軸回転角度センサ１４が設けられており、検出されるＣＳ角度ＣＳＡがリフト量ＬＦＴを示すパラメータとして使用される。
【００３５】
なお、第１弁作動特性可変機構４１の詳細な構成は、本出願人による特許出願（特願２００６−１９７２５４号）の明細書及び図面に示されている。
第１弁作動特性可変機構４１により、図４（ａ）に示すように吸気弁のリフト量ＬＦＴ（及び開角）が変更される。また第２弁作動特性可変機構４２により、吸気弁は、同図（ｂ）に実線Ｌ３及びＬ４で示す特性を中心として、カムの作動位相ＣＡＩＮの変化に伴って破線Ｌ１，Ｌ２で示す最進角位相から、一点鎖線Ｌ５，Ｌ６で示す最遅角位相までの間の位相で駆動される。
【００３６】
ＥＣＵ５は各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、ＣＰＵで実行される演算プログラム及び演算結果等を記憶する記憶回路のほか、アクチュエータ７、燃料噴射弁６、モータ４３、電磁弁４４に駆動信号を供給する出力回路等から構成される。
【００３７】
ＥＣＵ５のＣＰＵは、上記センサの検出信号に応じて、スロットル弁３の開度制御、エンジン１に供給する燃料量（燃料噴射弁６の開弁時間）の制御、並びにモータ４３及び電磁弁４４による弁作動特性（吸入空気流量）の制御を行う。
【００３８】
図５は、吸気弁のリフト量ＬＦＴを決定するＣＳ角度ＣＳＡの指令値であるＣＳ角度指令値ＣＳＡＣＭＤ、カム５２の作動位相ＣＡＩＮの指令値である作動位相指令値ＣＡＣＭＤ、及びスロットル弁開度ＴＨの指令値であるスロットル弁開度指令値ＴＨＣＭＤを算出する吸気制御モジュールの構成を示すブロック図である。図５に示す吸気制御モジュールの機能は、実際にはＥＣＵ５のＣＰＵによる演算処理により実現される。算出されたＣＳ角度指令値ＣＳＡＣＭＤ、作動位相指令値ＣＡＣＭＤ、及びスロットル弁開度指令値ＴＨＣＭＤに基づいて、実際のＣＳ角度ＣＳＡ、作動位相ＣＡＩＮ、及びスロットル弁開度ＴＨが対応する指令値に一致するように、モータ４３、電磁弁４４、及びアクチュエータ７の駆動信号がＥＣＵ５から出力される。
【００３９】
吸気制御モジュールは、目標トルク算出部７１、目標吸入空気流量算出部７２、目標リフト量算出部７４、リフト補正量算出部７５、学習補正量算出部７６、外部負荷補正量算出部７７、加算部７８，７９、角度指令値算出部８０、進角量算出部８１、目標負圧算出部８２、基準開口面積算出部８３、密度補正部８４、減算部８８、スロットル弁開度補正量算出部８５、加算部８６、及びスロットル弁開度指令値算出部８７を備えている。
【００４０】
目標トルク算出部７１は、アクセルペダル操作量ＡＰ及びエンジン回転数ＮＥに応じて、エンジンの目標トルクＴＲＱを算出する。目標トルクＴＲＱは、アクセルペダル操作量ＡＰが増加するほど増加するように設定される。目標吸入空気流量算出部７２は、目標トルクＴＲＱに応じて目標吸入空気流量ＧＡＩＲＣＭＤを算出する。
【００４１】
目標リフト量算出部７４は、目標吸入空気流量ＧＡＩＲＣＭＤ及びエンジン回転数ＮＥに応じて、吸気弁の基本目標リフト量ＬＦＴＣＭＤＢを算出する。ただし、エンジンのアイドル状態では、検出したエンジン回転数ＮＥに代えて、アイドル時の目標回転数ＮＯＢＪに応じて基本目標リフト量ＬＦＴＣＭＤＢを算出する。基本目標リフト量ＬＦＴＣＭＤＢは、アイドル状態以外の運転状態では、おおむねエンジン回転数ＮＥが増加するほど、また目標吸入空気流量ＧＡＩＲＣＭＤが増加するほど、増加するように設定される。またアイドル状態では、基本目標リフト量ＬＦＴＣＭＤＢは、目標回転数ＮＯＢＪが増加するほど、また目標吸入空気流量ＧＡＩＲＣＭＤが増加するほど、増加するように設定される。
【００４２】
リフト補正量算出部７５は、エンジンのアイドル状態において、検出される吸入空気流量ＧＡＩＲが目標吸入空気流量ＧＡＩＲＣＭＤと一致するようにリフト補正量ＡＬＤＥＧＳＬＤを算出する。学習補正量算出部７６は、検出されるＣＳ角度ＣＳＡから算出される検出リフト量に応じてリフト補正量ＡＬＤＥＧＳＬＤのなまし処理を行うことにより、学習補正量ＡＬＤＥＧＲＥＦを算出する。また外部負荷補正量算出部７７は、外部負荷、すなわちパワーステアリングの駆動負荷、空調装置のコンプレッサの駆動負荷などが印加されたときに適用される外部負荷補正量ＡＬＤＧＥＬを算出する。
【００４３】
加算部７８及び７９により、下記式（１）による演算が行われる。すなわち、基本目標リフト量ＬＦＴＣＭＤＢが補正量ＡＬＤＥＧＳＬＤ，ＡＬＤＥＧＲＥＦ，及びＡＬＤＥＧＥＬにより補正され、目標リフト量ＬＦＴＣＭＤが算出される。
ＬＦＴＣＭＤ＝ＬＦＴＣＭＤＢ＋ＡＬＤＥＧＳＬＤ
＋ＡＬＤＥＧＲＥＦ＋ＡＬＤＥＧＥＬ      （１）
【００４４】
角度指令値算出部８０は、目標リフト量ＬＦＴＣＭＤに応じて図６（ａ）に示すＣＳＡＣＭＤテーブルを検索し、ＣＳ角度指令値ＣＳＡＣＭＤを算出する。
【００４５】
進角量算出部８１は、目標吸入空気流量ＧＡＩＲＣＭＤ、エンジン回転数ＮＥ及び吸気圧ＰＢＡに応じて、吸気弁作動位相の進角量を算出し、作動位相指令値ＣＡＣＭＤとして出力する。
【００４６】
目標負圧算出部８２は、エンジン回転数ＮＥに応じて吸気圧ＰＢＡと大気圧ＰＡとの差圧（ＰＢＡ−ＰＡ）の目標値である目標負圧ＰＢＯＢＪ（＜０）を算出する。目標負圧ＰＢＯＢＪは、エンジン回転数ＮＥが増加するほど、その絶対値が小さくなるように設定される。なお、目標負圧ＰＢＯＢＪはエンジン回転数ＮＥに拘わらず一定値としてもよい。基準開口面積算出部８３は、目標負圧ＰＢＯＢＪに応じてスロットル弁３の基準開口面積ＡＴＨＢを算出する。基準開口面積ＡＴＨＢは、目標負圧ＰＢＯＢＪの絶対値が増加するほど減少するように設定される。
【００４７】
密度補正部８４は、大気圧ＰＡ及び吸気温ＴＡに応じて基準開口面積ＡＴＨＢの密度補正を行い、補正基準開口面積ＡＴＨＢＭを算出する。基準開口面積ＡＴＨＢは、大気圧ＰＡが低下するほど、また吸気温ＴＡが高くなるほど増加するように補正される。
【００４８】
減算部８８は、吸気圧ＰＢＡから大気圧ＰＡを減算することにより吸気負圧ＰＢを算出する。スロットル弁開度補正量算出部８５は、ＰＩＤ制御、あるいは他のフィードバック制御手法（例えばスライディングモード制御）を用いて、吸気負圧ＰＢが目標負圧ＰＢＯＢＪに一致するように、面積補正量ＡＴＨＣを算出する。加算部８６は、補正基準開口面積ＡＴＨＢＭに面積補正量ＡＴＨＣを加算し、開口面積ＡＴＨを算出する。スロットル弁開度指令値算出部８７は、開口面積ＡＴＨに応じて図６（ｂ）に示すＴＨＣＭＤテーブルを検索し、スロットル弁開度指令値ＴＨＣＭＤを算出する。
【００４９】
ブロック８２〜８８により、吸気負圧ＰＢが目標負圧ＰＢＯＢＪに一致するようにスロットル弁開度ＴＨが制御される。したがって、例えばエンジンのアイドル状態では、吸気負圧ＰＢが一定の目標負圧ＰＢＯＢＪに維持される。
【００５０】
図７は、図５の目標リフト量算出部７４における演算処理のフローチャートである。この処理は所定時間（例えば１０ミリ秒）毎に実行される。なお、後述する他のフローチャートに示す処理も同様に所定時間（例えば１０ミリ秒）毎に実行される。
【００５１】
ステップＳ１１の答が否定（ＮＯ）、すなわちエンジン１がアイドル状態にない（通常運転中である）ときは、目標吸入空気流量ＧＡＩＲＣＭＤ及びエンジン回転数ＮＥに応じて、第１通常リフト量マップを検索し、第１リフト量マップ値ＡＬＣＭＤＬ１を算出する（ステップＳ１２）。第１通常リフト量マップは、大気圧ＰＡが第１の値ＰＡ１（例えば１０１ｋＰａ（７６０ｍｍＨｇ））である状態に対応して設定されている。
【００５２】
ステップＳ１３では、目標吸入空気流量ＧＡＩＲＣＭＤ及びエンジン回転数ＮＥに応じて、第２通常リフト量マップを検索し、第２リフト量マップ値ＡＬＣＭＤＬ２を算出する。第２通常リフト量マップは、大気圧ＰＡが第２の値ＰＡ２（例えば９４．６ｋＰａ（７１０ｍｍＨｇ））である状態に対応して設定されている。
【００５３】
ステップＳ１４では、目標吸入空気流量ＧＡＩＲＣＭＤ及びエンジン回転数ＮＥに応じて、第３通常リフト量マップを検索し、第３リフト量マップ値ＡＬＣＭＤＬ３を算出する。第３通常リフト量マップは、大気圧ＰＡが第３の値ＰＡ３（例えば８０ｋＰａ（６００ｍｍＨｇ））である状態に対応して設定されている。
【００５４】
ステップＳ１５では、目標吸入空気流量ＧＡＩＲＣＭＤ及びエンジン回転数ＮＥに応じて、第４通常リフト量マップを検索し、第４リフト量マップ値ＡＬＣＭＤＬ４を算出する。第４通常リフト量マップは、大気圧ＰＡが第４の値ＰＡ４（例えば６６．７ｋＰａ（５００ｍｍＨｇ））である状態に対応して設定されている。
【００５５】
ステップＳ１６では、目標吸入空気流量ＧＡＩＲＣＭＤ及びエンジン回転数ＮＥに応じて、第５通常リフト量マップを検索し、第５リフト量マップ値ＡＬＣＭＤＬ５を算出する。第５通常リフト量マップは、大気圧ＰＡが第５の値ＰＡ５（例えば５３．３ｋＰａ（４００ｍｍＨｇ））である状態に対応して設定されている。
【００５６】
ステップＳ２２では、検出された大気圧ＰＡが、第１〜第５の値ＰＡ１〜ＰＡ５で決まる範囲のうち、どの範囲にあるかを判別し、補間演算を行って、基本目標リフト量ＬＦＴＣＭＤＢを算出する。例えば、大気圧ＰＡが第１の値ＰＡ１と第２の値ＰＡ２の間にあるときは、基本目標リフト量ＬＦＴＣＭＤＢは下記式（２）により算出される。
ＬＦＴＣＭＤＢ＝（ＡＬＣＭＤＬ２−ＡＬＣＭＤＬ１）
×（ＰＡ−ＰＡ１）／（ＰＡ２−ＰＡ１）＋ＡＬＣＭＤＬ１
（２）
【００５７】
ステップＳ１１の答が肯定（ＹＥＳ）、すなわちエンジン１がアイドル状態にあるときは、目標吸入空気流量ＧＡＩＲＣＭＤ及びアイドル時の目標回転数ＮＯＢＪに応じて、第１アイドルリフト量マップを検索し、第１リフト量マップ値ＡＬＣＭＤＬ１を算出する（ステップＳ１７）。第１アイドルリフト量マップは、大気圧ＰＡが第１の値ＰＡ１である状態に対応して設定されている。
【００５８】
ステップＳ１８では、目標吸入空気流量ＧＡＩＲＣＭＤ及び目標回転数ＮＯＢＪに応じて、第２アイドルリフト量マップを検索し、第２リフト量マップ値ＡＬＣＭＤＬ２を算出する。第２アイドルリフト量マップは、大気圧ＰＡが第２の値ＰＡ２である状態に対応して設定されている。
【００５９】
ステップＳ１９では、目標吸入空気流量ＧＡＩＲＣＭＤ及び目標回転数ＮＯＢＪに応じて、第３アイドルリフト量マップを検索し、第３リフト量マップ値ＡＬＣＭＤＬ３を算出する。第３アイドルリフト量マップは、大気圧ＰＡが第３の値ＰＡ３である状態に対応して設定されている。
【００６０】
ステップＳ２０では、目標吸入空気流量ＧＡＩＲＣＭＤ及び目標回転数ＮＯＢＪに応じて、第４アイドルリフト量マップを検索し、第４リフト量マップ値ＡＬＣＭＤＬ４を算出する。第４アイドルリフト量マップは、大気圧ＰＡが第４の値ＰＡ４である状態に対応して設定されている。
【００６１】
ステップＳ２１では、目標吸入空気流量ＧＡＩＲＣＭＤ及び目標回転数ＮＯＢＪに応じて、第５アイドルリフト量マップを検索し、第５リフト量マップ値ＡＬＣＭＤＬ５を算出する。第５アイドルリフト量マップは、大気圧ＰＡが第５の値ＰＡ５である状態に対応して設定されている。
ステップＳ２１実行後、前記ステップＳ２２に進む。
【００６２】
以上のように図７の処理によれば、エンジン１がアイドル状態以外の運転状態にあるときは、基本目標リフト量ＬＦＴＣＭＤＢは、目標吸入空気流量ＧＡＩＲＣＭＤ及びエンジン回転数ＮＥに応じて設定される一方、エンジン１がアイドル運転状態にあるときは、目標吸入空気流量ＧＡＩＲＣＭＤ及び目標回転数ＮＯＢＪに応じて設定される。アイドル状態では、エンジン回転数ＮＥに応じて基本目標リフト量ＬＦＴＣＭＤＢを設定すると、エンジン回転が不安定化したときに吸気弁のリフト量が変動し、エンジン回転をさらに不安定化することがある。そこで、本実施形態では、目標回転数ＮＯＢＪに応じて基本目標リフト量ＬＦＴＣＭＤＢを設定することにより、そのような不具合を解消し、安定したエンジン回転を維持することができる。
【００６３】
図８は、図５のリフト補正量算出部７５におけるリフト補正量ＡＬＤＥＧＳＬＤを算出する処理のフローチャートである。
ステップＳ５１では、吸気温ＴＡに応じて図９（ａ）に示すＫＴＡＧＡＣＭＤテーブルを検索し、吸気温補正係数ＫＴＡＧＡＣＭＤを算出する。ＫＴＡＧＡＣＭＤテーブルは、吸気温ＴＡが高くなるほど補正係数ＫＴＡＧＡＣＭＤが減少するように設定されている。
【００６４】
ステップＳ５２では、大気圧ＰＡに応じて図９（ｂ）に示すＫＰＡＧＡＣＭＤテーブルを検索し、大気圧補正係数ＫＰＡＧＡＣＭＤを算出する。ＫＰＡＧＡＣＭＤテーブルは、大気圧ＰＡが高くなるほど補正係数ＫＰＡＧＡＣＭＤが減少するように設定されている。
【００６５】
ステップＳ５３では、下記式（４）に上記補正係数ＫＴＡＧＡＣＭＤ，ＫＰＡＧＡＣＭＤ、及び目標吸入空気流量ＧＡＩＲＣＭＤを適用し、補正目標吸入空気流量ＧＡＲＣＰＡＴＡを算出する。
ＧＡＲＣＰＡＴＡ＝ＧＡＩＲＣＭＤ×ＫＴＡＧＡＣＭＤ×ＫＰＡＧＡＣＭＤ
（４）
【００６６】
ステップＳ５４では、検出吸入空気流量ＧＡＩＲから補正目標吸入空気流量ＧＡＲＣＰＡＴＡを減算することにより、流量偏差ＤＧＡＩＲＡＬを算出する。ステップＳ５５では、フィードバック制御フラグＦＧＡＩＲＦＢが「１」であるか否かを判別する。フィードバック制御フラグＦＧＡＩＲＦＢは、エンジンのアイドル状態においてフィードバック制御の実行条件が成立したとき「１」に設定される。
【００６７】
ステップＳ５５の答が否定（ＮＯ）であるときは、初期化フラグＦＥＧＡＩＲＩＮＩを「０」に設定するとともに、リフト補正量ＡＬＤＥＧＳＬＤを「０」に設定して（ステップＳ５６）、本処理を終了する。ＦＧＡＩＲＦＢ＝１であるときは、初期化フラグＦＥＧＡＩＲＩＮＩが「１」であるか否かを判別する（ステップＳ５７）。
【００６８】
最初はこの答は否定（ＮＯ）であるため、ステップＳ５８に進み、前回偏差ＥＧＡＩＲＺをステップＳ５４で算出した流量偏差ＤＧＡＩＲＡＬに設定するとともに、実行カウンタＣＧＡＦＢＯＮの値を「０」に設定する。次いで、初期化フラグＦＥＧＡＩＲＩＮＩを「１」に設定し（ステップＳ５９）、ステップＳ６１に進む。ステップＳ５９を実行すると、ステップＳ５７の答が肯定（ＹＥＳ）となるので、以後は前回偏差ＥＧＡＩＲＺを今回の偏差ＥＧＡＩＲに設定し（ステップＳ６０）、ステップＳ６１に進む。
【００６９】
ステップＳ６１では、偏差ＥＧＡＩＲをステップＳ５４で算出した流量偏差ＤＧＡＩＲＡＬに設定するとともに、実行カウンタＣＧＡＦＢＯＮを「１」だけインクリメントする。次いで、実行カウンタＣＧＡＦＢＯＮの値に応じて図９（ｃ）に示すＶＰＯＬＥＧＡテーブルを検索し、ゲインパラメータＶＰＯＬＥＧＡを算出する（ステップＳ６２）。ＶＰＯＬＥＧＡテーブルは、実行カウンタＣＧＡＦＢＯＮの値が増加するほど、ゲインパラメータＶＰＯＬＥＧＡが上限値ＶＰＭＡＸ（例えば−０．４）まで増加するように（絶対値が減少するように）設定される。ゲインパラメータＶＰＯＬＥＧＡは、「−１」より大きな値に設定される。
【００７０】
ステップＳ６３では、偏差ＥＧＡＩＲ、前回偏差ＥＧＡＩＲＺ、及びゲインパラメータＶＰＯＬＥＧＡを下記式（５）に適用し、切換関数値ＳＧＭＡＬを算出する。
ＳＧＭＡＬ＝ＥＧＡＩＲ＋ＶＰＯＬＥＧＡ×ＥＧＡＩＲＺ          （５）
【００７１】
ステップＳ６４では、切換関数値ＳＧＭＡＬを下記式（６）に適用し、積算値ＳＵＭＳＧＭを算出する。式（６）の右辺のＳＵＭＳＧＭは前回算出値である。
ＳＵＭＳＧＭ＝ＳＵＭＳＧＭ＋ＳＧＭＡＬ                  （６）
【００７２】
ステップＳ６５では、下記式（７）（８）により、到達則入力Ｕrchga及び適応則入力Ｕadpgaを算出する。
Ｕrchga＝Ｋrchga×ＳＧＭＡＬ                            （７）
Ｕadpga＝Ｋadpga×ＳＵＭＳＧＭ                          （８）
ここで、Ｋrchga及びＫadpgaは、それぞれ所定の値に設定される到達則制御ゲイン及び適応則制御ゲインである。
【００７３】
ステップＳ６６では、到達則入力Ｕrchga及び適応則入力Ｕadpgaを加算して、リフト補正量ＡＬＤＥＧＳＬＤを算出する。
【００７４】
図８の処理によれば、検出吸入空気流量ＧＡＩＲと目標吸入空気流量ＧＡＩＲＣＭＤとの偏差ＥＧＡＩＲが「０」に収束する速度を変化させるゲインパラメータＶＰＯＬＥＧＡを用いてリフト補正量ＡＬＤＥＧＳＬＤが算出され、ゲインパラメータＶＰＯＬＥＧＡは、リフト補正量ＡＬＤＥＧＳＬＤの算出開始時点からの経過時間に対応する実行カウンタＣＧＡＦＢＯＮの値に応じて設定される。フィードバック制御の開始時点で収束速度が高すぎると、リフト補正量ＡＬＤＥＧＳＬＤが急変する可能性があるので、経過時間に応じて徐々に収束速度が高くなるようにゲインパラメータＶＰＯＬＥＧＡを設定することにより、制御開始直後の安定性を確保することができる。
【００７５】
図１０は、図５の学習補正量算出部７６における、学習補正量ＡＬＤＥＧＲＥＦを算出する処理のフローチャートである。
ステップＳ７１では、学習値設定フラグＦＡＬＤＥＧＩＮＩが「１」であるか否かを判別する。エンジン始動直後は、この答が否定（ＮＯ）となるので、ステップＳ７２に進み、低リフト量領域で適用される第１学習補正値ＡＬＤＥＧＲＥＦＡを、エンジンの前回運転時に算出・記憶された第１学習記憶値ＡＬＤＲＥＦＢＵＡに設定し、高リフト量領域で適用される第２学習補正値ＡＬＤＥＧＲＥＦＢを、エンジンの前回運転時に算出・記憶された第２学習記憶値ＡＬＤＲＥＦＢＵＢに設定するとともに、学習値設定フラグＦＡＬＤＥＧＩＮＩを「１」に設定する。その後ステップＳ９１に進む。
【００７６】
学習値設定フラグＦＡＬＤＥＧＩＮＩが「１」に設定されると、ステップＳ７１の答が肯定（ＹＥＳ）となり、ステップＳ７３に進んで、学習実行フラグＦＡＬＲＥＦＣＮＤが「１」であるか否かを判別する。学習実行フラグＦＡＬＲＥＦＣＮＤは、下記の条件ａ）〜ｅ）が満たされるとき「１」に設定される：
ａ）エンジン回転数ＮＥの変化量ＤＮＥが所定回転数変化量以下であること
ｂ）アイドル目標回転数ＮＯＢＪとエンジン回転数ＮＥとの偏差ΔＮＥが所定回転数偏差量以下であること
ｃ）エンジンの暖機が完了している（エンジン冷却水温ＴＷが所定温度以上である）こと
ｄ）吸気負圧ＰＢの変化量ＤＰＢが所定圧力変化量以下であること
ｅ）目標負圧ＰＢＯＢＪと吸気負圧ＰＢとの偏差ΔＰＢが所定圧力偏差量以下であること。
【００７７】
ステップＳ７３の答が否定（ＮＯ）であるときは、最小補正量ＡＬＤＥＧＭＩＮ及び最大補正量ＡＬＤＥＧＭＡＸを、いずれもリフト補正量ＡＬＤＥＧＳＬＤに設定し（ステップＳ７５）、さらにダウンカウントタイマＴＡＬＤＥＧＲＥＦを所定時間ＴＭＡＬＤＥＧ（例えば２秒）に設定してスタートさせる（ステップＳ７６）。その後ステップＳ９１に進む。
【００７８】
ステップＳ７３でＦＡＬＲＥＦＣＮＤ＝１であるときは、最大補正量ＡＬＤＥＧＭＡＸと最小補正量ＡＬＤＥＧＭＩＮとの差（ＡＬＤＥＧＭＡＸ−ＡＬＤＥＧＭＩＮ）が、所定値ＡＬＤＥＧＭＸＭＮ以下であるか否かを判別する（ステップＳ７４）。最初はこの答は肯定（ＹＥＳ）となるので、ステップＳ７７に進み、リフト補正量ＡＬＤＥＧＳＬＤが最大補正量ＡＬＤＥＧＭＡＸ以下であるか否かを判別する。この答が否定（ＮＯ）であるときは、最大補正量ＡＬＤＥＧＭＡＸをそのときのリフト補正量ＡＬＤＥＧＳＬＤに設定し（ステップＳ７８）、ステップＳ８１に進む。
【００７９】
ステップＳ７７で、ＡＬＤＥＧＳＬＤ≦ＡＬＤＥＧＭＡＸであるときは、リフト補正量ＡＬＤＥＧＳＬＤが最小補正量ＡＬＤＥＧＭＩＮ以上であるか否かを判別する（ステップＳ７９）。この答が否定（ＮＯ）であるときは、最小補正量ＡＬＤＥＧＭＩＮをそのときのリフト補正量ＡＬＤＥＧＳＬＤに設定し（ステップＳ８０）、ステップＳ８１に進む。ステップＳ７９で、ＡＬＤＥＧＳＬＤ≧ＡＬＤＥＧＭＩＮであるときは、直ちにステップＳ８１に進む。
【００８０】
ステップＳ８１では、ダウンカウントタイマＴＡＬＤＥＧＲＥＦの値が、「０」であるか否かを判別する。最初はこの答は否定（ＮＯ）となるので、直ちにステップＳ９１に進む。所定時間ＴＭＡＬＤＥＧが経過し、ステップＳ８１の答が肯定（ＹＥＳ）となると、ステップＳ８２に進み、ＣＳ角度ＣＳＡから算出される検出リフト量ＡＶＣＳＤＥＧ１が所定閾値ＡＶＣＳＤＥＧＢ（例えば１．２ｍｍ）より大きいか否かを判別する。この答が否定（ＮＯ）であるとき、すなわち現在のリフト量ＡＶＣＳＤＥＧ１が低リフト量領域にあるときは、下記式（９）にリフト補正量ＡＬＤＥＧＳＬＤを適用し、第１学習記憶値ＡＬＤＲＥＦＢＵＡを算出する（ステップＳ８３）。
ＡＬＤＲＥＦＢＵＡ＝ＣＡＬＤＲＥＦ×ＡＬＤＥＧＳＬＤ
＋（１−ＣＡＬＤＲＥＦ）×ＡＬＤＲＥＦＢＵＡ
（９）
ここで、ＣＡＬＤＲＥＦは０から１の間の値に設定されるなまし係数、右辺のＡＬＤＲＥＦＢＵＡは前回算出値である。
【００８１】
ステップＳ８２で、ＡＶＣＳＤＥＧ１＞ＡＶＣＳＤＥＧＢであるとき、すなわちは、現在のリフト量ＡＶＣＳＤＥＧ１が高リフト量領域にあるときは、下記式（１０）にリフト補正量ＡＬＤＥＧＳＬＤを適用し、第２学習記憶値ＡＬＤＲＥＦＢＵＢを算出する（ステップＳ８４）。
ＡＬＤＲＥＦＢＵＢ＝ＣＡＬＤＲＥＦ×ＡＬＤＥＧＳＬＤ
＋（１−ＣＡＬＤＲＥＦ）×ＡＬＤＲＥＦＢＵＢ
（１０）
ここで、右辺のＡＬＤＲＥＦＢＵＢは前回算出値である。
【００８２】
ステップＳ８３またはＳ８４実行後は、ステップＳ９１に進む。
ステップＳ７４，Ｓ７７〜Ｓ８４を繰り返し実行しているときに、ステップＳ７４の答が否定（ＮＯ）、すなわち最大補正量ＡＬＤＥＧＭＡＸと最小補正量ＡＬＤＥＧＭＩＮとの差が大きくなったときは、制御が不安定化した可能性があるため、学習演算を中止し、ステップＳ７５に進む。そして、所定時間ＴＭＡＬＤＥＧ待機後、学習演算が再開される。
【００８３】
ステップＳ９１では、ステップＳ８２と同様に、検出リフト量ＡＶＣＳＤＥＧ１が所定閾値ＡＶＣＳＤＥＧＢより大きいか否かを判別する。この答が否定（ＮＯ）であるとき、すなわち現在のリフト量ＡＶＣＳＤＥＧ１が低リフト量領域にあるときは、下記式（１１）に第１学習補正値ＡＬＤＥＧＲＥＦＡを適用し、学習補正量ＡＬＤＥＧＲＥＦを算出する（ステップＳ９２）。
ＡＬＤＥＧＲＥＦ＝ＣＳＷ×ＡＬＤＥＧＲＥＦＡ
＋（１−ＣＳＷ）×ＡＬＤＥＧＲＥＦ      （１１）
ここで、ＣＳＷは０から１の間の値に設定されるなまし係数、右辺のＡＬＤＥＧＲＥＦは前回算出値である。
【００８４】
ステップＳ８２で、ＡＶＣＳＤＥＧ１＞ＡＶＣＳＤＥＧＢであるとき、すなわちは、現在のリフト量ＡＶＣＳＤＥＧ１が高リフト量領域にあるときは、下記式（１２）に第２学習補正値ＡＬＤＥＧＲＥＦＢを適用し、学習補正量ＡＬＤＥＧＲＥＦを算出する（ステップＳ９３）。
ＡＬＤＥＧＲＥＦ＝ＣＳＷ×ＡＬＤＥＧＲＥＦＢ
＋（１−ＣＳＷ）×ＡＬＤＥＧＲＥＦ      （１２）
ここで、右辺のＡＬＤＥＧＲＥＦは前回算出値である。
【００８５】
図１０の処理によれば、低リフト領域及び高リフト領域に対応して第１学習補正値ＡＬＤＥＧＲＥＦＡ及び第２学習補正値ＡＬＤＥＧＲＥＦＢが算出され、低リフト領域では第１学習補正値ＡＬＤＥＧＲＥＦＡが学習補正量ＡＬＤＥＧＲＥＦとして適用される一方、高リフト領域では第２学習補正値ＡＬＤＥＧＲＥＦＢが学習補正量ＡＬＤＥＧＲＥＦとして適用されるので、それぞれのリフト量領域に適した学習補正を行い、リフト量の広い範囲に亘って適切な学習補正を行うことができる。
【００８６】
またステップＳ９２及びＳ９３におけるなまし処理により、第１学習補正値ＡＬＤＥＧＲＥＦＡから第２学習補正値ＡＬＤＥＧＲＥＦＢへの切換またはその逆の切換が徐々に行われるので、リフト量指令値が急変することがなく、円滑な制御を行うことができる。
【００８７】
図１１は、検出リフト量ＡＶＣＳＤＥＧ１と、ＣＳ角度ＣＳＡとの関係を示す図であり、実線が初期状態における関係を示し、破線が経時変化後の関係を示す。この例では、同一のリフト量を実現するＣＳ角度ＣＳＡが大きくなるので、基本目標リフト量ＬＦＴＣＭＤＢは学習補正量ＡＬＤＥＧＲＥＦにより増加方向に補正される。その際、検出リフト量ＡＶＣＳＤＥＧ１が所定閾値ＡＶＣＳＤＥＧＢ以下であるときは、第１学習補正値ＡＬＤＥＧＲＥＦＡが適用され、検出リフト量ＡＶＣＳＤＥＧ１が所定閾値ＡＶＣＳＤＥＧＢより大きいときは、第２学習補正値ＡＬＤＥＧＲＥＦＢが適用される。
【００８８】
図１２は、第１学習補正値ＡＬＤＥＧＲＥＦＡ及び第２学習補正値ＡＬＤＥＧＲＥＦＢに応じた異常診断処理のフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間毎に実行される。
【００８９】
ステップＳ１０１では、第１学習補正値ＡＬＤＥＧＲＥＦＡの絶対値が第１判定閾値ＡＬＦＬＴＨＡより大きいか否かを判別する。この答が否定（ＮＯ）であるときは、第２学習補正値ＡＬＤＥＧＲＥＦＢの絶対値が第２判定閾値ＡＬＦＬＴＨＢより大きいか否かを判別する（ステップＳ１０２）。この答が肯定（ＹＥＳ）であるとき、すなわち、低リフト領域における第１学習補正値ＡＬＤＥＧＲＥＦＡのみが異常値であるときは、コントロール軸回転角度センサ１４の検出特性（直線性）の異常と診断する（ステップＳ１０４）。
【００９０】
ステップＳ１０１の答が肯定（ＹＥＳ）であるときは、ステップＳ１０３に進み、第２学習補正値ＡＬＤＥＧＲＥＦＢの絶対値が第２判定閾値ＡＬＦＬＴＨＢより大きいか否かを判別する。この答が否定（ＮＯ）、すなわち、高リフト領域における第２学習補正値ＡＬＤＥＧＲＥＦＢのみが異常値であるときは、前記ステップＳ１０４に進む。
【００９１】
ステップＳ１０３の答が肯定（ＹＥＳ）であるとき、すなわち、第１学習補正値ＡＬＤＥＧＲＥＦＡ及び第２学習補正値ＡＬＤＥＧＲＥＦＢがともに異常値であるときは、吸気弁のリフト量を変更する第１弁作動特性可変機構４１が異常と診断する。
【００９２】
図１２の処理によれば、第１学習補正値ＡＬＤＥＧＲＥＦＡ及び第２学習補正値ＡＬＤＥＧＲＥＦＢに応じて、異常状態を区別して診断することができる。したがって、診断後に適切な処置を行うことが可能となる。
【００９３】
本実施形態では、吸入空気流量センサ１３が吸入空気流量検出手段に相当し、コントロール軸回転角度センサ１４がリフト量パラメータ検出手段に相当し、モータ４３がリフト量制御手段の一部に相当する。またＥＣＵ５が、目標吸入空気流量算出手段、基本リフト量算出手段、リフト補正量算出手段、学習補正量算出手段、リフト量指令値算出手段、リフト量制御手段、第１異常判定手段、第２異常判定手段、及び診断手段を構成する。具体的には、図５の目標吸入空気流量算出部７２が目標吸入空気流量算出手段に相当し、目標リフト量算出部７４が基本リフト量算出手段に相当し、リフト補正量算出部７５がリフト補正量算出手段に相当し、学習補正量算出部７６が学習補正量算出手段に相当し、加算部７８及び７９がリフト指令値算出手段に相当し、角度指令値算出部８０がリフト量制御手段に一部に相当する。また図１２に示すステップＳ１０１が第１異常判定手段に相当し、ステップＳ１０２及びＳ１０３が第２異常判定手段に相当し、ステップＳ１０４及びＳ１０５が診断手段に相当する。
【００９４】
[第２の実施形態]
図１３は、本発明の第２の実施形態にかかる内燃機関及びその制御装置の構成を示す図である。図１に示す構成と異なる点を以下に説明する。なお、実際の内燃機関及び制御装置は、図１３で追加した構成要素を備えているが、図１は直接関係のない構成要素を省略して示したものである。
【００９５】
図１３に示すように、排気管１５と吸気管２のスロットル弁３の下流側との間には、排気還流通路１７が設けられ、排気還流通路１７には、吸気系に還流される排気量を制御する排気還流制御弁（以下［ＥＧＲ弁」という）１８が設けられている。エンジン１のシリンダヘッド（図示せず）と吸気管２のスロットル弁３の上流側との間には、シリンダヘッド内のシリンダ上部室（図示せず）に空気を供給する空気供給通路１９が接続されている。空気供給通路１９は、吸入空気流量センサ１３の下流側で吸気管２と接続されている。空気供給通路１９には一方向弁２０が設けられており、吸気管２からシリンダ上部室へ向かう空気の流れのみが許容される。シリンダ上部室はエンジン１のクランク室（図示せず）に連通している。
【００９６】
エンジン１のクランク室と吸気管２のスロットル弁３の下流側との間には、ブローバイガス通路２１が設けられている。ブローバイガス通路２１は、エンジン１のクランク室に漏れ出すブローバイガスを吸気管２に還流する。ブローバイガス通路２１がクランク室に接続される部分には、ＰＣＶ（Positive Crankcase Ventilation）弁２２が設けられている。本実施形態では、ＰＣＶ弁２２は電磁弁であり、ＥＣＵ５からの制御信号により開閉可能に構成されている。
【００９７】
空気供給通路１９からシリンダ上部室、クランク室、及びブローバイガス通路２１を介して新気がスロットル弁３の下流側に流入するので、空気供給通路１９からシリンダ上部室、クランク室、及びブローバイガス通路２１によって、スロットル弁３をバイパスする通路（以下「ＰＣＶ通路」という）が構成される。
【００９８】
吸気管２のスロットル弁３の下流側にはパージ通路２３が接続されている。パージ通路２３は、燃料タンクで発生する蒸発燃料を貯蔵するキャニスタ（図示せず）に接続されており、キャニスタから吸気管２に蒸発燃料を供給する。パージ通路２３には、蒸発燃料の流量を制御するパージ制御弁２４が設けられており、パージ制御弁２４の開度は、ＥＣＵ５により制御される。
【００９９】
排気管１５には、排気中の酸素濃度からエンジン１に供給される混合気の空燃比ＡＦを検出する空燃比センサ１６が設けられている。空燃比センサ１６の検出信号は、ＥＣＵ５に供給される。
【０１００】
本実施形態は、第１の実施形態における学習補正値ＡＬＤＥＧＲＥＦＡ，ＡＬＤＥＧＲＥＦＢの算出中は、ブローバイガス通路２１，ＰＣＶ弁２２などからなるブローバイガス還流装置、排気還流通路１７，ＥＧＲ弁１８などからなる排気還流装置、及びパージ通路２３，パージ制御弁２４などからなる蒸発燃料処理装置の動作を停止させるようにしたものである。ブローバイガス還流装置、排気還流装置、及び蒸発燃料処理装置を、以下「吸気関連装置」という。
【０１０１】
本実施形態ではさらに、図１２に示す異常診断処理の実行条件として、吸入空気流量センサ１３または吸気圧センサ８が異常と判定されていないことを追加したものである。以下に説明する点以外は、第１の実施形態と同一である。
【０１０２】
図１４は、上述した吸気関連装置の制御処理のフローチャートである。この処理及び後述する他の処理は、所定時間（例えば１０ミリ秒）毎にＥＣＵ５のＣＰＵで実行される。
【０１０３】
ステップＳ１５１では、学習実行フラグＦＡＬＲＥＦＣＮＤが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは通常動作を許可する（ステップＳ１５２）。一方、ＦＡＬＲＥＦＣＮＤ＝１であって学習補正値ＡＬＤＥＧＲＥＦＡ，ＡＬＤＥＧＲＥＦＢの算出中は、ＥＧＲ弁１８、パージ制御弁２４、及びＰＣＶ弁２２を閉弁し（ステップＳ１５３，Ｓ１５４，Ｓ１５５）、吸気関連装置の作動を停止させる。
これにより、吸気関連装置の作動によって学習補正値が不適切な値をとることを防止することができる。
【０１０４】
図１５は、本実施形態における異常診断処理のフローチャートである。この処理は、図１２に示す処理にステップＳ１１１及びＳ１１２を追加したものである。
【０１０５】
ステップＳ１１１では、吸入空気流量センサ異常フラグＦＡＦＭＦＬが「１」であるか否かを判別する。吸入空気流量センサ異常フラグＦＡＦＭＦＬは、後述する図２３の処理により、吸入空気流量センサ１３が異常であると判定されたとき、「１」に設定される。ステップＳ１１２では、吸気圧センサ異常フラグＦＰＢＳＦＬが「１」であるか否かを判別する。吸気圧センサ異常フラグＦＰＢＳＦＬは、後述する図２４の処理により、吸気圧センサ８が異常であると判定されたとき、「１」に設定される。
【０１０６】
ステップＳ１１１またはＳ１１２の答が肯定（ＹＥＳ）であるときは、異常診断を実行することなく直ちに本処理を終了する。またステップＳ１１１及びＳ１１２の答がともに否定（ＮＯ）、すなわち吸入空気流量センサ１３及び吸気圧センサ８がともに正常であるときは、ステップＳ１０１に進み、異常診断を実行する。
【０１０７】
異常診断に適用される学習補正値ＡＬＤＥＧＲＥＦＡ，ＡＬＤＥＧＲＥＦＢの算出には、吸入空気流量センサ１３により検出される吸入空気流量ＧＡＩＲが適用されるので（図５，ブロック７５，７５参照）、吸入空気流量センサ１３が異常であると、学習補正値ＡＬＤＥＧＲＥＦＡ，ＡＬＤＥＧＲＥＦＢが不適切な値となる可能性が高い。したがって、吸入空気流量センサ１３が正常であることを条件として異常診断を行うことにより正確な診断を行うことができる。
【０１０８】
また吸気圧センサ８により検出される吸気圧ＰＢＡは、面積補正量ＡＴＨＣの算出に適用され、最終的にスロットル弁開度指令値ＴＨＣＭＤの値に影響を及ぼす。したがって、吸気圧センサ８が異常であると、学習補正値ＡＬＤＥＧＲＥＦＡ，ＡＬＤＥＧＲＥＦＢの算出に影響を与えるおそれがある。よって、吸気圧センサ８も正常であることを異常診断の実行条件とすることにより、正確な診断を行うことができる。
【０１０９】
以下図１６〜図２４を参照して、吸入空気流量センサ１３及び吸気圧センサ８の異常判定処理を詳細に説明する。
【０１１０】
図１６は、吸入空気流量センサ１３を通過する空気流量の推定値（以下「推定センサ通過空気流量」という）ＨＧＡＩＲＡＦＭを算出する処理のフローチャートである。
ステップＳ２０１では、スロットル弁３の開口面積ＡＴＨに応じて図１７に示すＧＡＩＲＴＨＢテーブルを検索し、基本スロットル弁通過空気流量ＧＡＩＲＴＨＢを算出する。基本スロットル弁通過空気流量ＧＡＩＲＴＨＢは、所定基準状態（例えば吸気負圧ＰＢが−１３．３ｋＰａ（−１００ｍｍＨｇ）、外気温２５℃、大気圧１気圧（１０１ｋＰａ）である状態）におけるスロットル弁通過空気流量である。
【０１１１】
ステップＳ２０２では、下記式（２１）に基本スロットル弁通過空気流量ＧＡＩＲＴＨＢを適用して、スロットル弁通過空気流量ＧＡＩＲＴＨを算出する。式（２１）のＴＡ０及びＰＡ０は、所定基準状態の外気温及び大気圧である。
【数１】
2008232139.tif 000003
【０１１２】
ステップＳ２０３では、下記式（２２）に基本ＰＣＶ流量ＧＡＩＲＰＣＶＢを適用して、ＰＣＶ通路を介して吸入される空気の流量であるＰＣＶ流量ＧＡＩＲＰＣＶを算出する。基本ＰＣＶ流量ＧＡＩＲＰＣＶＢは、所定基準状態においてＰＣＶ通路を介して吸気管２のスロットル弁下流側に流入する空気（ブローバイガスを含む）の流量であり、予め設定されている値を有する。
【数２】
2008232139.tif 000004
【０１１３】
ステップＳ２０４では、スロットル弁通過空気流量ＧＡＩＲＴＨ及びＰＣＶ流量ＧＡＩＲＰＣＶを加算することにより、推定センサ通過空気流量ＨＧＡＩＲＡＦＭを算出する。
【０１１４】
図１８は、補正吸入空気流量ＧＡＩＲＡＦＭを算出する処理のフローチャートである。補正吸入空気流量ＧＡＩＲＡＦＭは、図２２の処理で前回のエンジン運転期間（イグニッションスイッチがオンされてからオフされるまでの期間）に算出されたＡＦＭ学習補正係数（以下「前回ＡＦＭ学習補正係数」という）ＫＲＥＦｉＡＦＭＰ（ｉ＝１〜３）により、検出吸入空気流量ＧＡＩＲを補正することにより、算出される。ここで「ｉ」は、吸入空気流量に応じた運転領域を示す運転領域パラメータである。
【０１１５】
ステップＳ２１１では、吸入空気流量ＧＡＩＲが第１所定流量ＧＡＩＲ１（例えば１０ｇ／秒）以下であるか否かを判別する。ステップＳ２１１の答が肯定（ＹＥＳ）であるときは、運転領域パラメータｉを「１」に設定し（ステップＳ２１２）、下記式（２３）により補正吸入空気流量ＧＡＩＲＡＦＭを算出する（ステップＳ２１３）。式（２３）のＫＲＥＦ１ＡＦＭＰは、運転領域パラメータｉが「１」である第１運転領域において算出された第１前回ＡＦＭ学習補正係数である。
ＧＡＩＲＡＦＭ＝ＫＲＥＦ１ＡＦＭＰ×ＧＡＩＲ              （２３）
【０１１６】
ステップＳ２１１の答が否定（ＮＯ）であるときは、吸入空気流量ＧＡＩＲが第１所定流量ＧＡＩＲ１より大きくかつ第２所定流量（例えば２０ｇ／秒）以下であるか否かを判別する（ステップＳ２１４）。ステップＳ２１４の答が肯定（ＹＥＳ）であるときは、運転領域パラメータｉを「２」に設定し（ステップＳ２１５）、下記式（２４）により補正吸入空気流量ＧＡＩＲＡＦＭを算出する（ステップＳ２１６）。式（２４）のＫＲＥＦ２ＡＦＭＰは、運転領域パラメータｉが「２」である第２運転領域において算出された第２前回ＡＦＭ学習補正係数である。
ＧＡＩＲＡＦＭ＝ＫＲＥＦ２ＡＦＭＰ×ＧＡＩＲ              （２４）
【０１１７】
ステップＳ２１４の答が否定（ＮＯ）であるときは、運転領域パラメータｉを「３」に設定し（ステップＳ２１７）、下記式（２５）により補正吸入空気流量ＧＡＩＲＡＦＭを算出する（ステップＳ２１８）。式（２５）のＫＲＥＦ３ＡＦＭＰは、運転領域パラメータｉが「３」である第３運転領域において算出された第３前回ＡＦＭ学習補正係数である。
ＧＡＩＲＡＦＭ＝ＫＲＥＦ３ＡＦＭＰ×ＧＡＩＲ              （２５）
【０１１８】
図１９は、第１運転領域において第１ＡＦＭ学習補正係数ＫＲＥＦ１ＡＦＭの算出を実行する学習条件を判定する第１学習条件判定処理のフローチャートである。
ステップＳ２２１では、スロットル弁開度ＴＨが第１所定開度ＴＨ１（例えば６度）より大きくかつ第２所定開度ＴＨ２（例えば１５度）より小さいか否かを判別する。その答が肯定（ＹＥＳ）であるときは、目標負圧ＰＢＯＢＪが所定負圧ＰＢ０（例えば−１３．３ｋＰａ（−１００ｍｍＨｇ））に設定されているか否かを判別する（ステップＳ２２２）。その答が肯定（ＹＥＳ）であるときは、吸気負圧ＰＢと目標負圧ＰＢＯＢＪとの偏差の絶対値が所定偏差ＤＰＢ０（例えば０．６７Ｐａ（５ｍｍＨｇ））より小さいか否かを判別する（ステップＳ２２３）。
【０１１９】
ステップＳ２２３の答が肯定（ＹＥＳ）であるときは、吸入空気流量ＧＡＩＲが第１所定流量ＧＡＩＲ以下（ｉ＝１）であるか否かを判別する（ステップＳ２２４）。その答が肯定（ＹＥＳ）であるときは、吸入空気流量ＧＡＩＲのばらつき幅を示すばらつきパラメータＳＩＧＧＡＩＲが所定値ＳＩＧ０（０．５ｇ／秒）より小さいか否かを判別する（ステップＳ２２５）。ばらつきパラメータＳＩＧＧＡＩＲは、吸入空気流量ＧＡＩＲの現在値と、１サイクル（２回転）前の値との差の絶対値として算出される。
【０１２０】
ステップＳ２２５の答が肯定（ＹＥＳ）であるときは、ＡＦＭ学習補正係数の算出に関連のある装置、すなわちアクチュエータ７を含む、スロットル弁３の駆動装置、吸気圧センサ８、大気圧センサ３３、及びブローバイガス還流装置がすべて正常である（異常が検出されていない）か否かを判別する（ステップＳ２２６）。
【０１２１】
ステップＳ２２１〜Ｓ２２６の何れかの答が否定（ＮＯ）であるときは、アップカウントタイマＴＬＷＡＩＴ１を「０」に設定し（ステップＳ２２７）、第１学習許可フラグＦＡＦＭＲＥＦ１を「０」に設定する（ステップＳ２２９）。
【０１２２】
ステップＳ２２６の答が肯定（ＹＥＳ）であるときは、アップカウントタイマＴＬＷＡＩＴ１の値が所定時間ＴＬＷ０（例えば２秒）を超えたか否かを判別する（ステップＳ２２８）。この答が否定（ＮＯ）である間はステップＳ２２９に進み、肯定（ＹＥＳ）となると、第１運転領域において学習条件が成立していると判定し、第１学習許可フラグＦＡＦＭＲＥＦ１を「１」に設定する。
【０１２３】
図２０は、第２運転領域において第２ＡＦＭ学習補正係数ＫＲＥＦ２ＡＦＭの算出を実行する学習条件を判定する第２学習条件判定処理のフローチャートである。この処理は、図１９に示す処理のステップＳ２２４，Ｓ２２７〜Ｓ２３０をそれぞれステップＳ２２４ａ，Ｓ２２７ａ〜Ｓ２３０ａに変更したものである。
【０１２４】
ステップＳ２２４ａでは、吸入空気流量ＧＡＩＲが第１所定流量ＧＡＩＲより大きくかつ第２所定流量ＧＡＩＲ２以下（ｉ＝２）であるか否かを判別する。ステップＳ２２７ａでは、アップカウントタイマＴＬＷＡＩＴ２を「０」に設定し、ステップＳ２２８ａでは、アップカウントタイマＴＬＷＡＩＴ２の値が所定時間ＴＬＷ０を超えたか否かを判別する。ステップＳ２２９ａでは、第２学習許可フラグＦＡＦＭＲＥＦ２を「０」に設定し、ステップＳ２３０ａでは、第２学習許可フラグＦＡＦＭＲＥＦ２を「１」に設定する。したがって、第２運転領域において学習条件が成立するときは、第２学習許可フラグＦＡＦＭＲＥＦ２が「１」に設定される。
【０１２５】
図２１は、第３運転領域において第３ＡＦＭ学習補正係数ＫＲＥＦ３ＡＦＭの算出を実行する学習条件を判定する第３学習条件判定処理のフローチャートである。この処理は、図１９に示す処理のステップＳ２２４，Ｓ２２７〜Ｓ２３０をそれぞれステップＳ２２４ｂ，Ｓ２２７ｂ〜Ｓ２３０ｂに変更したものである。
【０１２６】
ステップＳ２２４ｂでは、吸入空気流量ＧＡＩＲが第２所定流量ＧＡＩＲ２より大きい（ｉ＝３である）か否かを判別する。ステップＳ２２７ｂでは、アップカウントタイマＴＬＷＡＩＴ３を「０」に設定し、ステップＳ２２８ｂでは、アップカウントタイマＴＬＷＡＩＴ３の値が所定時間ＴＬＷ０を超えたか否かを判別する。ステップＳ２２９ｂでは、第３学習許可フラグＦＡＦＭＲＥＦ３を「０」に設定し、ステップＳ２３０ｂでは、第３学習許可フラグＦＡＦＭＲＥＦ３を「１」に設定する。したがって、第３運転領域において学習条件が成立するときは、第３学習許可フラグＦＡＦＭＲＥＦ３が「１」に設定される。
【０１２７】
図２２は、ＡＦＭ学習補正係数を算出する処理のフローチャートである。
ステップＳ２４１では、第１学習許可フラグＦＡＦＭＲＥＦ１が「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、下記式（２６）に補正吸入空気流量ＧＡＩＲＡＦＭ及び推定センサ通過空気流量ＨＧＡＩＲＡＦＭを適用し、第１比率ｋｒｅｆ１ａｆｍを算出する（ステップＳ２４２）。
ｋｒｅｆ１ａｆｍ＝ＧＡＩＲＡＦＭ／ＨＧＡＩＲＡＦＭ          （２６）
【０１２８】
ステップＳ２４３では、下記式（２７）により第１比率ｋｒｅｆ１ａｆｍのなまし演算を行い、なまし第１比率ｋｒｅｆ１ａｆｍａｖを算出する。式（２７）のＣＲＥＦは０から１の間の値に設定されるなまし係数であり、右辺のｋｒｅｆ１ａｆｍａｖは前回算出値である。
ｋｒｅｆ１ａｆｍａｖ＝ＣＲＥＦ×ｋｒｅｆ１ａｆｍ
＋（１−ＣＲＥＦ）×ｋｒｅｆ１ａｆｍａｖ  （２７）
【０１２９】
ステップＳ２４４では、下記式（２８）に第１前回学習補正係数ＫＲＥＦ１ＡＦＭＰ及びなまし第１比率ｋｒｅｆ１ａｆｍａｖを適用し、第１学習補正係数ＫＲＥＦ１ＡＦＭを算出する。
ＫＲＥＦ１ＡＦＭ＝ＫＲＥＦ１ＡＦＭＰ×ｋｒｅｆ１ａｆｍａｖ    （２８）
【０１３０】
ステップＳ２４１の答が否定（ＮＯ）であるときは、第２学習許可フラグＦＡＦＭＲＥＦ２が「１」であるか否かを判別する（ステップＳ２４５）。その答が肯定（ＹＥＳ）であるときは、下記式（２９）に補正吸入空気流量ＧＡＩＲＡＦＭ及び推定センサ通過空気流量ＨＧＡＩＲＡＦＭを適用し、第２比率ｋｒｅｆ２ａｆｍを算出する（ステップＳ２４６）。
ｋｒｅｆ２ａｆｍ＝ＧＡＩＲＡＦＭ／ＨＧＡＩＲＡＦＭ          （２９）
【０１３１】
ステップＳ２４７では、下記式（３０）により第２比率ｋｒｅｆ２ａｆｍのなまし演算を行い、なまし第２比率ｋｒｅｆ２ａｆｍａｖを算出する。
ｋｒｅｆ２ａｆｍａｖ＝ＣＲＥＦ×ｋｒｅｆ２ａｆｍ
＋（１−ＣＲＥＦ）×ｋｒｅｆ２ａｆｍａｖ  （３０）
【０１３２】
ステップＳ２４８では、下記式（３１）に第２前回学習補正係数ＫＲＥＦ２ＡＦＭＰ及びなまし第２比率ｋｒｅｆ２ａｆｍａｖを適用し、第２学習補正係数ＫＲＥＦ２ＡＦＭを算出する。
ＫＲＥＦ２ＡＦＭ＝ＫＲＥＦ２ＡＦＭＰ×ｋｒｅｆ２ａｆｍａｖ    （３１）
【０１３３】
ステップＳ２４５の答が否定（ＮＯ）であるときは、第３学習許可フラグＦＡＦＭＲＥＦ３が「１」であるか否かを判別する（ステップＳ２４９）。その答が肯定（ＹＥＳ）であるときは、下記式（３２）に補正吸入空気流量ＧＡＩＲＡＦＭ及び推定センサ通過空気流量ＨＧＡＩＲＡＦＭを適用し、第３比率ｋｒｅｆ３ａｆｍを算出する（ステップＳ２５０）。
ｋｒｅｆ３ａｆｍ＝ＧＡＩＲＡＦＭ／ＨＧＡＩＲＡＦＭ          （３２）
【０１３４】
ステップＳ２５１では、下記式（３３）により第３比率ｋｒｅｆ３ａｆｍのなまし演算を行い、なまし第３比率ｋｒｅｆ３ａｆｍａｖを算出する。
ｋｒｅｆ３ａｆｍａｖ＝ＣＲＥＦ×ｋｒｅｆ３ａｆｍ
＋（１−ＣＲＥＦ）×ｋｒｅｆ３ａｆｍａｖ  （３３）
【０１３５】
ステップＳ２５２では、下記式（３４）に第３前回学習補正係数ＫＲＥＦ３ＡＦＭＰ及びなまし第３比率ｋｒｅｆ３ａｆｍａｖを適用し、第３学習補正係数ＫＲＥＦ３ＡＦＭを算出する。
ＫＲＥＦ３ＡＦＭ＝ＫＲＥＦ３ＡＦＭＰ×ｋｒｅｆ３ａｆｍａｖ    （３４）
【０１３６】
図２３は、吸入空気流量センサ１３の異常判定を行う処理のフローチャートである。
ステップＳ２６１では、第１学習補正係数ＫＲＥＦ１ＡＦＭと「１」との差の絶対値が第１判定閾値ＤＫＲＥＦＴＨ１（例えば０．２）より大きいか否か判別する。その答が否定（ＮＯ）であるときは、第２学習補正係数ＫＲＥＦ２ＡＦＭと「１」との差の絶対値が第２判定閾値ＤＫＲＥＦＴＨ２（例えば０．２）より大きいか否か判別する（ステップＳ２６２）。その答が否定（ＮＯ）であるときは、第３学習補正係数ＫＲＥＦ３ＡＦＭと「１」との差の絶対値が第３判定閾値ＤＫＲＥＦＴＨ３（例えば０．２）より大きいか否か判別する（ステップＳ２６３）。ステップＳ２６３の答が否定（ＮＯ）であるときは、直ちに本処理を終了する。
【０１３７】
ステップＳ２６１〜Ｓ２６３の何れかの答が肯定（ＹＥＳ）であるときは、吸入空気流量センサ１３が異常であると判定し、吸入空気流量センサ異常フラグＦＡＦＭＦＬを「１」に設定する（ステップＳ２６４）。
【０１３８】
吸気圧センサが正常であることを前提として、吸気圧センサの検出値及びエンジン回転数ＮＥに応じて算出される推定吸入空気流量と、検出吸入空気流量とに基づいて、吸入空気流量センサの異常を判定する手法が従来より知られているが、その従来手法では、推定吸入空気流量の精度が低いために、吸入空気流量センサの出力が大幅にずれた状態にならないと異常と判定することができないという課題があった。
【０１３９】
本実施形態では、スロットル弁の開口面積ＡＴＨから算出されるスロットル弁通過空気流量ＧＡＩＲＴＨ及びＰＣＶ通路を通過するＰＣＶ流量ＧＡＩＲＰＣＶの和として、推定センサ通過空気流量ＨＧＡＩＲＡＦＭが算出され、補正吸入空気流量ＧＡＩＲＡＦＭと推定センサ通過空気流量ＨＧＡＩＲＡＦＭとの比率から学習補正係数ＫＲＥＦｉＡＦＭが算出される。そして、学習補正係数ＫＲＥＦｉＡＦＭの中心値「１」からのずれが大きくなったとき、吸入空気流量センサ１３が異常であると判定される。したがって、従来に比べてより高い精度で異常判定を行うことができる。
【０１４０】
図２４は、吸気圧センサ８の異常判定を行う処理のフローチャートである。
ステップＳ２７１では、エンジン１がアイドル運転中であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、スロットル弁開度指令値ＴＨＣＭＤの算出に適用される面積補正量ＡＴＨＣが面積補正量閾値ＡＴＨＦＸ（例えば２０ｍｍ2）より大きいか否かを判別する（ステップＳ２７２）。その答が肯定（ＹＥＳ）であるときは、空燃比補正係数ＫＡＦと「１」との差の絶対値が空燃比補正係数閾値ＫＡＦＦＸ（例えば０．４）より大きいか否かを判別する（ステップＳ２７３）。
【０１４１】
空燃比補正係数ＫＡＦは、燃料噴射弁６により供給される燃料量を補正するための係数であり、空燃比センサ１６により検出される空燃比ＡＦが目標空燃比ＡＦＣＭＤと一致するように、ＰＩＤ制御、あるいは他のフィードバック制御手法を適用して算出される。空燃比補正係数ＫＡＦは、初期状態では、空燃比ＡＦが目標空燃比ＡＦＣＭＤと一致した状態で、「１．０」近傍の値をとるように設定される。
【０１４２】
ステップＳ２７１〜Ｓ２７３のいずれかの答が否定（ＮＯ）であるときは直ちに本処理を終了する。一方、ステップＳ２７３の答が肯定（ＹＥＳ）、すなわちアイドル運転中において面積補正量ＡＴＨＣが大きく、かつ空燃比補正係数ＫＡＦが大きいときは、吸気圧センサ８が異常であると判定し、吸気圧センサ異常フラグＦＰＢＳＦＬを「１」に設定する（ステップＳ２７４）。
【０１４３】
面積補正量ＡＴＨＣは、図５を参照して説明したように、吸気圧センサ８により検出される吸気圧ＰＢＡと大気圧ＰＡとの差である吸気負圧ＰＢが、目標負圧ＰＢＯＢＪと一致するように算出されるものであり、面積補正量ＡＴＨＣが大きいときは、スロットル弁の実際の開口面積が基準開口面積ＡＴＨＢから大きくずれていることを示すので、スロットル弁３そのものあるいは吸気圧センサ８が異常である可能性があることを示す。一方、空燃比補正係数ＫＡＦと「１」との差分が大きいときは、検出吸気圧ＰＢＡ及びエンジン回転数ＮＥに応じて算出される基本燃料量と、目標空燃比ＡＦＣＭＤを実現するために必要な燃料量とのずれ量が大きくなっていることを示す。したがって、アイドル運転中において面積補正量ＡＴＨＣが面積補正量閾値ＡＴＨＦＸより大きく、かつ空燃比補正係数ＫＡＦと「１」との差の絶対値が空燃比補正係数閾値ＫＡＦＦＸより大きいときは、吸気圧センサ８が異常であると判定することができる。
【０１４４】
図２４の処理によれば、吸気圧センサの従来の異常判定手法に比べて、精度のよい異常判定を行うことができる。
【０１４５】
本実施形態では、吸気圧センサ８及び空燃比センサ１６が、それぞれ吸気圧検出手段及び空燃比検出手段に相当し、ＥＣＵ５が作動停止手段、第３異常判定手段、及び第４異常判定手段を構成する。具体的には、図１４に示す処理が作動停止手段に相当し、図１６，及び図１８〜図２３に示す処理が第３異常判定手段に相当し、図２４に示す処理が第４異常判定手段に相当する。
【０１４６】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、吸気負圧ＰＢが目標負圧ＰＢＯＢＪと一致するようにスロットル弁の面積補正量ＡＴＨＣが算出されるが、検出吸気圧ＰＢＡが目標吸気圧ＰＢＡＯＢＪ（＝ＰＡ＋ＰＢＯＢＪ）と一致するように、面積補正量ＡＴＨＣを算出するようにしてもよい。
【０１４７】
また、第１及び第２弁作動特性可変機構は、上述したものに限らず、例えば特許文献１に示されたもの等も使用可能である。
【０１４８】
また上述した第２の実施形態では、吸入空気流量センサ１３及び吸気圧センサ８がともに正常であることを条件として、コントロール軸回転角度センサ１４または第１弁作動特性可変機構の異常診断を行うようにしたが、吸入空気流量センサ１３が正常であることを条件として行うようにしてもよい。
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの吸気制御にも適用が可能である。
【図面の簡単な説明】
【０１４９】
【図１】本発明の第１の実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】弁作動特性可変装置の構成を示す図である。
【図３】第１弁作動特性可変機構の概略構成を説明するための図である。
【図４】弁作動特性を示す図である。
【図５】弁作動特性可変装置及びスロットル弁の制御指令値を算出するモジュールの構成を示すブロック図である。
【図６】図５に示すブロックで参照されるテーブルを示す図である。
【図７】図５に示す目標リフト量算出部における演算処理のフローチャートである。
【図８】図５に示す基本目標リフト量算出部における演算処理のフローチャートである。
【図９】図８の処理で参照されるテーブルを示す図である。
【図１０】図５に示す学習補正量算出部における演算処理のフローチャートである。
【図１１】吸気弁のリフト量とＣＳ角度（ＣＳＡ）との関係を示す図である。
【図１２】学習補正値に基づく異常診断処理のフローチャート（第１の実施形態）である。
【図１３】本発明の第２の実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図１４】吸気関連装置の制御を行う処理のフローチャートである。
【図１５】学習補正値に基づく異常診断処理のフローチャート（第２の実施形態）である。
【図１６】吸入空気量センサを通過する空気流量の推定値を算出する処理のフローチャートである。
【図１７】図１６の処理で参照されるテーブルを示す図である。
【図１８】検出吸入空気流量（ＧＡＩＲ）の学習補正を行う処理のフローチャートである。
【図１９】検出吸入空気流量の学習補正係数（ＡＦＭ学習補正係数）の算出を許可する条件を判定する処理のフローチャートである。
【図２０】検出吸入空気流量の学習補正係数（ＡＦＭ学習補正係数）の算出を許可する条件を判定する処理のフローチャートである。
【図２１】検出吸入空気流量の学習補正係数（ＡＦＭ学習補正係数）の算出を許可する条件を判定する処理のフローチャートである。
【図２２】ＡＦＭ学習補正係数を算出する処理のフローチャートである。
【図２３】吸入空気流量センサの異常判定を行う処理のフローチャートである。
【図２４】吸気圧センサの異常判定を行う処理のフローチャートである。
【符号の説明】
【０１５０】
１  内燃機関
２  吸気管
５  電子制御ユニット（目標吸入空気流量算出手段、基本リフト量算出手段、リフト補正量算出手段、学習補正量算出手段、リフト量指令値算出手段、リフト量制御手段、第１異常判定手段、第２異常判定手段、診断手段、作動停止手段、第３異常判定手段、第４異常判定手段）
８  吸気圧センサ（吸気圧検出手段）
１３  吸入空気流量センサ（吸入空気流量検出手段）
１６  空燃比センサ（空燃比検出手段）
４１  第１弁作動特性可変機構
４３  モータ（リフト量制御手段）
６０  吸気弁
７２  目標吸入空気流量算出部（目標吸入空気流量算出手段）
７４  目標リフト量算出部（基本リフト量算出手段）
７５  リフト補正量算出部（リフト補正量算出手段）
７６  学習補正量算出部（学習補正量算出手段）
７８，７９  加算部（リフト量指令値算出手段）
８０  角度指令値算出部（リフト量制御手段）
【図１】
2008232139.tif 000005
【図２】
2008232139.tif 000006
【図３】
2008232139.tif 000007
【図４】
2008232139.tif 000008
【図５】
2008232139.tif 000009
【図６】
2008232139.tif 000010
【図７】
2008232139.tif 000011
【図８】
2008232139.tif 000012
【図９】
2008232139.tif 000013
【図１０】
2008232139.tif 000014
【図１１】
2008232139.tif 000015
【図１２】
2008232139.tif 000016
【図１３】
2008232139.tif 000017
【図１４】
2008232139.tif 000018
【図１５】
2008232139.tif 000019
【図１６】
2008232139.tif 000020
【図１７】
2008232139.tif 000021
【図１８】
2008232139.tif 000022
【図１９】
2008232139.tif 000023
【図２０】
2008232139.tif 000024
【図２１】
2008232139.tif 000025
【図２２】
2008232139.tif 000026
【図２３】
2008232139.tif 000027
【図２４】
2008232139.tif 000028