(57)【特許請求の範囲】
【請求項１】
内燃エンジンから得られるエンジンパラメータに応じて前記内燃エンジンの燃料供給量制御及び点火時制御のいずれか一方の制御をなす装置であって、
前記内燃エンジンのクランクシャフトの所定回転角度毎にタイミングパルスを発生するクランク角センサと、
前記タイミングパルスに応じてステージカウント値を更新してステージカウント現在値を得るステージカウンタと、
所定のステージカウント値に前記ステージカウント現在値が一致したときに前記エンジンパラメータを取り込んで、これに応じて前記制御を実行すべき実行ステージ番号を決定する実行ステージ決定手段と、
前記実行ステージ番号に前記ステージカウント現在値が一致したとき、その時のエンジンパラメータの今回値に応じた制御値を演算して、得られた制御値に基づいて前記制御の実行を指令する制御実行指令手段と、を含むことを特徴とする内燃エンジンの制御装置。
【請求項２】
前記内燃エンジンは、多気筒エンジンであり、前記実行ステージ決定手段は、前記実行ステージを気筒毎に決定することを特徴とする請求項1記載の制御装置。
【請求項３】
前記実行ステージ決定手段は、前記エンジンパラメータのうち少なくとも２つをパラメータとする２次元マップによって定まる座標点に前記実行ステージ番号を予め対応させていることを特徴とする請求項1記載の制御装置。
【請求項４】
前記実行ステージ決定手段は、前記座標点の今回値を前回値から大きく異ならないように設定することを特徴とする請求項3記載の制御装置。
【請求項５】
前記実行ステージ決定手段は、前記内燃エンジンが所定回転数以上の時のみ前記エンジンパラメータに応じてステージ番号を決定することを特徴とする請求項1記載の制御装置。
【発明の詳細な説明】
【０００１】
【技術分野】
本発明は、内燃エンジンの燃料供給量制御若しくは点火時期制御等を実行する内燃エンジンの制御装置に関する。
【０００２】
【従来の技術】
内燃エンジンの燃料供給量制御若しくは点火時期制御のためには、内燃エンジンから得られるエンジン回転数、吸気管負圧、エンジン温度、等のエンジンパラメータに基づいてエンジンサイクル毎の燃料供給量若しくは点火時期を演算によって求めている。かかる技術の従来例が、特開昭６１−２７７８４５号公報に記載されている。
【０００３】
かかる演算は、エンジンパラメータの値が安定する所定のクランク角度位置においてなされており、しかも１つのエンジンサイクルにおいて得られた演算結果は次のエンジンサイクルの燃料供給量や点火時期の制御のために用いられるのである。
かかる従来の内燃エンジンの制御装置においては、所定の即ち決められたクランク角度位置におけるエンジンパラメータに基づいて演算を行っているので、エンジンの運転状態が変動した場合、一種のハンチング現象を生じてエンジンの運転状態の安定化までに時間がかかってしまうという問題があった。また、特に多気筒エンジンの場合、常に決まったクランク角度位置におけるエンジンパラメータに基づいて演算をなすことが必ずしも良い訳ではないことも分った。
【０００４】
【発明が解決しようとする課題】
そこで、本発明は、内燃エンジンの運転状態に応じて最適な演算をなすことの出来る内燃エンジンの制御装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明による内燃エンジンの制御装置は、内燃エンジンから得られるエンジンパラメータに応じて前記内燃エンジンの燃料供給量制御及び点火時期制御のいずれか一方の制御をなす装置であって、
前記内燃エンジンのクランクシャフトの所定回転角度毎にタイミングパルスを発生するクランク角センサと、
前記タイミングパルスに応じてステージカウント値を更新してステージカウント現在値を得るステージカウンタと、
前記エンジンパラメータに応じて前記制御を実行すべき実行ステージ番号を決定する実行ステージ決定手段と、
前記実行ステージ番号に前記ステージカウント現在値が一致したとき、その時のエンジンパラメータの今回値に応じた制御値を演算して、得られた制御値に基づいて前記制御の実行を指令する制御実行指令手段と、を含むことを特徴とする。
【０００６】
本発明の他の特徴によれば、前記内燃エンジンが、多気筒エンジンであり、前記実行ステージ決定手段は、前記実行ステージを気筒毎に決定する。
本発明の他の特徴によれば、前記実行ステージ決定手段が、前記エンジンパラメータのうち少なくとも２つをパラメータとする２次元マップによって定まる座標点に前記実行ステージ番号を予め対応させている。
【０００７】
本発明の他の特徴によれば、前記実行ステージ決定手段が、前記座標点の今回値を前回値から大きく異ならないように設定する。
本発明の他の特徴によれば、前記実行ステージ決定手段は、前記内燃エンジンが所定回転数以上の時にのみ前記エンジンパラメータに応じてステージ番号を決定する。
【０００８】
【作用】
本発明による内燃エンジンの制御装置によれば、内燃エンジンの運転状態に応じて最適のタイミングにて燃料噴射や点火制御を実行することが出来る。
本発明の１つの特徴によれば、多気筒の内燃エンジンにおいて、気筒毎に最適なタイミングにて燃料噴射や点火時期制御が実行される。
【０００９】
本発明の別の特徴によれば、燃料噴射や点火時期制御のタイミングが急変しないので、エンジンの運転の安定性が損なわれることがない。
本発明の別の特徴によれば、内燃エンジンが所定回転数以上の状態においてのみエンジンパラメータに基づく燃料噴射や点火時期制御の演算がなされるので正しい制御がなされる。
【００１０】
【発明の実施の形態】
図１は、本発明による内燃エンジンの制御装置の構成を示している。即ち、制御対象である内燃エンジン（図示せず）のエンジンパラメータとしての絞り弁下流の気圧ＰＢが絶対圧センサ１０によって検出され、内燃エンジンの絞り弁開度θが絞り弁開度センサ１１によって検出される。また、内燃エンジンの冷却水温度Ｔｗが冷却水温センサ１２によって検出される。更に、大気圧ＰＡが、大気圧センサ１３によって検出される。これらのエンジンパラメータは、制御回路２０のレベル変換回路２１によって、各々、適当にレベル変換されてマルチプレクサ２２に供給される。マルチプレクサ２２によって、多重化されたエンジンパラメータは、Ａ／Ｄコンバータ２３によってデジタル化されてＣＰＵ２４にバスラインを経て供給される。ＣＰＵ２４は、供給されるデータをＲＡＭ２５に蓄積する一方、ＲＯＭ２６に予め蓄積されたプログラムに従って演算動作即ちルーチンを実行する。また、ＣＰＵ２４は、ルーチンによって与えられる指令に応じて駆動回路２７及び駆動回路２８を介して点火回路の点火スイッチ２９及び燃料噴射弁３０を駆動して、点火時期制御及び燃料噴射制御を実行する。
【００１１】
クランク角センサ１４は、例えば、クランクシャフト（図示せず）の６０°、３６０°及び３００°の角度位置毎に基準パルスＣＹＬを生成しかつクランク角３０度毎にタイミングパルスＰＣ１を生成して制御回路２０の波形成形回路３１に供給する。なお、ＣＹＬパルスは、クランクシャフトの２回転毎に１回転する回転体の円周側面に１８０°、３０°、１５０°の間隔を置いて設けられた突起をパルサによって検出する形態とすることによって得られる。波形成形回路３１を経たＣＹＬパルス及びタイミングパルスＰＣ１は、各々、ＣＰＵ２４に、直接、供給される。タイミングパルスＰＣ１は、ステージカウンタ３２によってカウントされる。ステージカウンタ３２は、タイミングパルスＰＣ１をカウントし、カウント値がオーバーフローしたら自動的にリセットされるようになっており、例えば、０〜２３のうちのいずれか１をステージカウント値として、ＣＰＵ２４に供給する。
【００１２】
ＣＰＵ２４はＡ／Ｄ変換器２３から供給されるエンジンパラメータに応じて適当な燃料噴射量を演算しあるいは適当な点火タイミングを演算して得られた演算結果に従って燃料噴射弁３０あるいは点火スイッチ２９を駆動するのである。
かかる噴射制御あるいは点火制御を実行するにあたり、本発明においては、図２に示すようなエンジン回転数Ｎｅ及び絞り弁開度θを縦及び横座標とする座標点をセルＣｉｊとするマップを予め用意している。このマップにおいては、例えば、エンジン回転数を１０段階に分ける一方絞り弁開度を５段階に分ける。
【００１３】
そして、図３に示すような、セル切り替えルーチンをＰＣ１パルスの到来の度に実行するのである。即ち、先ず、ステージカウンタ３２からのステージカウント値ｓｔｇが４に等しいか否かを判別し４に等しければ、その時点におけるエンジン回転数Ｎｅ及び絞り弁開度θを取り込む（ステップＳ１、Ｓ２）。そして、図２（ａ）のマップに従って第４気筒のＣｉｊすなわちＣｉｊ（４）を決定する（ステップＳ３）。次いで、第４気筒のための噴射量の算出ステージＦＩＳＴＧ（４）を図２（ｂ）のマップから検索する（ステップＳ４）。
【００１４】
ステージカウント値ｓｔｇが４に等しくない場合、これが７に等しいか否かを判別して、７に等しければ、その時点におけるエンジン回転数Ｎｅ及び絞り弁開度θを取り込む（ステップＳ５、Ｓ６）。そして、図２（ａ）のマップに従って第１気筒のＣｉｊすなわちＣｉｊ（１）を検索する（ステップＳ７）。次いで、図２（ｂ）のマップに従って第1気筒のための噴射量の算出ステージＦＩＳＴＧ（1）を検索する（ステップＳ８）。
【００１５】
ステージカウント値ｓｔｇが７に等しくない場合、これが１３に等しいか否かを判別して、１３に等しければ、その時点におけるエンジン回転数Ｎｅ及び絞り弁開度θを取り込む（ステップＳ９、Ｓ１０）。そして、図２（ａ）のマップに従って第３気筒のＣｉｊ（３）を決定する（ステップＳ１１）。次いで、図２（ｂ）のマップに従って第３気筒のための噴射量の算出ステージＦＩＳＴＧ（３）を検索する（ステップＳ１２）。
【００１６】
ステージカウント値ｓｔｇが１３に等しくない場合、これが２２に等しいか否かを判別して２２に等しければ、その時点におけるエンジン回転数Ｎｅ及び絞り弁開度θを取り込む（ステップＳ１３、Ｓ１４）。そして、図２（ａ）のマップに従って第２気筒のＣｉｊ（２）を決定する（Ｓ１５）。次いで、図２（ｂ）のマップに従って第２気筒のための噴射量の算出ステージＦＩＳＴＧ（２）を検索する（ステップＳ１６）。図２（ｂ）のマップは、一部を取り出して示しているが、各セルＣｉｊ（ｍ）に対して噴射ステージを、実際にどのステージにするかは、場合に応じて決められるのでマップ値全てを示してはいない。なお、ステージカウント値ｓｔｇが２２に等しくない場合、このルーチンのいずれのステップも実行しないでそのまま終了してメインルーチン（図示せず）に戻る。
【００１７】
図４は、各気筒毎の燃料噴射を実行するための噴射制御ルーチンを示している。このルーチンにおいては、先ず、ステージカウンタ３２から供給されるステージカウント値が、既に得られた第1気筒のための噴射量算出ステージＦＩＳＴＧ（１）に等しいか否かを判別して、等しければ、その時点のエンジン回転数Ｎｅ及び絞り弁開度θを取り込む（ステップＳ２０、Ｓ２１）。
【００１８】
そして、取り込んだエンジン回転数Ｎｅ及び絞り弁開度θに基づいて１つの気筒に対する所望の噴射量Ｔｏｕｔを演算する。この場合のＴｏｕｔの演算式については種々のものが良く知られており、ここでは詳述しない。そして、直ちに得られたＴｏｕｔに従って第１気筒の吸気系に設けられた噴射弁を駆動するのである（ステップＳ２３）。
【００１９】
ステージカウント値ｓｔｇがＦＩＳＴＧ（１）に等しくない場合は、ステージカウント値ｓｔｇがＦＩＳＴＧ（２）に等しいか否かを判別して、等しければ、その時点のエンジン回転数Ｎｅ及び絞り弁開度θを取り込む（ステップＳ２４、Ｓ２５）。こうして取り込んだエンジン回転数Ｎｅ及び絞り弁開度θに基づいて、第２気筒のための所望の噴射量Ｔｏｕｔを演算する（ステップＳ２６）。そして、直ちに得られたＴｏｕｔに従って第２気筒の吸気系に設けられた噴射弁を駆動するのである（ステップＳ２７）。
【００２０】
以下、同様にして、第３及び第4気筒に対しても、既に得られた燃料噴射量算出・噴射実行ステージＦＩＳＴＧ（３）及びＦＩＳＴＧ（４）において所望の噴射量の算出と噴射の実行とを行うのである（ステップＳ２８〜Ｓ３５）。
図５は、上述した如きＣＰＵ２４による燃料噴射量算出・実行動作のタイミングをステージカウント値を基準として示している。この図から明らかなように、第1気筒については、燃料噴射量算出演算・噴射実行ステージが，ステージ９，１０，．．．．２３,０の範囲に分布している。第２気筒については、ステージ０，１，．．．．１４，１５の範囲に亘って分布している。第３気筒については、ステージ１５，１６，．．．．５，６の範囲に亘って分布している。更に、第４気筒については、燃料噴射量算出・噴射実行ステージが、ステージ６，７，．．．．２０，２１の範囲に亘って分布している。又、第１〜第４気筒についてのセル切り替え点が、各々、ステージ７，２２，１３，５にあることもわかる。
【００２１】
図６は、図３において示したセル切替ルーチンにおけるｍ番気筒に対応するセルＣｉｊ（ｍ）の決め方の１例としてのサブルーチンを示している。
すなわち、このサブルーチンにおいては、まず、エンジン回転数Ｎｅの今回値Ｎｅ（ｎ）及び絞り弁開度 θの今回値θ（ｎ）に基づいて、Ｎｅ座標値ｉ（ｎ）及びθ座標値ｊ（ｎ）を得る（ステップＳ４０）。
【００２２】
次に、得られたＮｅ座標値ｉ（ｎ）が前回値ｉ（ｎ−１）から±１の範囲内にあるかどうかを判別し（ステップＳ４１）、この範囲にある場合、ｉ（ｎ）をＮｅ座標値ｉと決定する（ステップＳ４２）。
一方、ｉ（ｎ）がｉ（ｎ−１）±１の範囲外にあることを判別した場合であって、ｉ（ｎ）＜ｉ（ｎ−１）であるかどうかを判別し（ステップＳ４３）、ｉ（ｎ）＜ｉ（ｎ−１）であったならば｛ｉ（ｎ−１）−１｝をｉと決定する。ｉ（ｎ）＞ｉ（ｎ−１）であった場合ｉをｉ（ｎ−１）＋１と決定する（ステップＳ４５）。
【００２３】
次に、先に得られたθ座標値ｊ（ｎ）が前回値ｊ（ｎ−１）から±１の範囲内にあるかどうかを判別し（ステップＳ４６）、この範囲内にある場合、ｊ（ｎ）をθ座標ｊと決定する（ステップＳ４７）。一方、ｊ（ｎ）がｊ（ｎ−１）±１｝の範囲外にあってｊ（ｎ）＜ｊ（ｎ−１）であることを判別した場合（ステップＳ４８）、｛ｊ（ｎ−１）−１｝をｊと決定する（ステップＳ４９）。また、ｊ（ｎ）が｛ｊ（ｎ−１）±１｝の範囲外にあって、ｊ（ｎ）＞ｊ（ｎ−１）である場合｛ｊ（ｎ−１）＋１｝をｊと決定する。
【００２４】
こうして得られた（ｉ，ｊ）に基づいて、図２（ａ）のマップからＣｉｊ（ｍ）を得るのである（ステップＳ５１）。
なお、図３及び図４のセル切替ルーチン及び噴射制御ルーチンのいずれもエンジン回転数Ｎｅが、例えば、クランキング回転数ＮCRより大きな値にあるときのみ、 実行するようにして、エンジンが安定状態にあることを確認した上で、これらのルーチンを実行することとしても良い。これを行うためには、例えば、各ルーチンの最初のステップＳ１及びＳ２０の前方にＮｅ＞ＮCRを判別したときのみ、ルーチンを実行する判別ステップを入れれば良い。こうすることによって、ステージカウント動作が安定して行われているときのみ、本発明による制御動作を実行することが出来るのである。
【００２５】
更に、上記した実施例は、燃料噴射制御のみについての例であるが図３における噴射ステージＦＩＳＴＧ（ｍ）に代えて点火ステージＩＧＳＴＧ（ｍ）とし、図４におけるルーチンにおいて、噴射弁駆動を点火コイル駆動に代えることにより、点火制御をなす実施例を得ることが出来ることは明らかである。
【００２６】
【発明の効果】
以上説明したように、本発明によれば、1つの気筒における動作ステージを定めてその動作ステージにおけるエンジンパラメータに応じてその都度エンジン制御量及びタイミングを定めているので、１つの気筒に対して最適の制御が実現できる。
【図面の簡単な説明】
【図１】  本発明の実施例を示すブロック図。
【図２】エンジンパラメータＮｅ，θに対応したセルとセルに対応した噴射ステージとの対応を示すマップ。
【図３】エンジンステージの進行に応じて各気筒毎のセルＣｉｊ（ｍ）を決定するルーチンを示すフローチャート。
【図４】エンジンステージの進行に応じて既に定めたセルＣｉｊ（ｍ）に応じて定まるエンジンステージの到来毎に噴射制御を実行するルーチンを示すフローチャート。
【図５】クランクパルスＰＣ１、及びステージカウント値の変化並びにこれらに対応した気筒毎の制御ステージの分布範囲を示す波形図。
【図６】図３のサブルーチンにおけるセルＣｉｊ（ｍ）の決定ルーチンを示すフローチャート。
【主要部分の符号の説明】
１０〜１４  各種センサ
２０  制御回路
３２  ステージカウンタ
【図１】
0003938811.tif 000002
【図２】
0003938811.tif 000003
【図３】
0003938811.tif 000004
【図４】
0003938811.tif 000005
【図５】
0003938811.tif 000006
【図６】
0003938811.tif 000007