(57)【要約】【課題】カム角信号が各気筒に対応した所定の角度位置で発生する構成において、クランク角信号が異常の場合にエンジンを始動できるエンジン制御装置を提供する。【解決手段】エンジン始動時からクランク角信号が異常の場合（Ｓ４１０：Ｙｅｓ、Ｓ４１８：Ｎｏ）、エンジン制御装置は、前回気筒推定位置を＋１して今回気筒推定位置とする（Ｓ４２０）。エンジン始動後に最初にカム角信号を検出する場合、エンジン停止時の気筒位置を前回気筒推定位置とする。エンジン制御装置は、２回目のカム角信号を検出してからは（Ｓ４２４：Ｎｏ）、カム角信号の時間間隔に基づいて生成される疑似クランク角信号と今回気筒推定位置とカム角信号とに基づいて燃料の噴射、点火処理を実行し（Ｓ４３６、Ｓ４３８）、３回目以降のカム角信号を検出し前回噴射燃料が正常燃焼していない場合（Ｓ４２２：Ｎｏ、Ｓ４３０：Ｎｏ）、今回気筒推定位置をずらす（Ｓ４３４）。【選択図】図６
2013053576.tif 000002
【特許請求の範囲】
【請求項１】
クランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、カム軸の回転に伴って各気筒に対応した所定の角度位置で発生するカム角信号とに基づいて気筒判別を行い、前記クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を判定するエンジン制御装置において、
前記クランク角信号の異常を判定する異常判定手段と、
前記クランク角信号が正常時の気筒判別情報に基づいてエンジン停止時の気筒位置を記憶部に記憶する記憶手段と、
エンジン始動時に前記クランク角信号が異常の場合、前記記憶部に記憶しているエンジン停止時の前記気筒位置に基づいて前記カム角信号を検出するときの気筒位置を推定する気筒推定手段と、
エンジン始動時に前記クランク角信号が異常の場合、前記気筒推定手段の推定結果に基づいて燃料を噴射し燃焼させる運転制御手段と、
を備えることを特徴とするエンジン制御装置。
【請求項２】
前記気筒推定手段は、前記気筒推定手段の推定結果に基づいて前記運転制御手段が噴射させた燃料が該当気筒で燃焼しなかった場合、推定する気筒位置をずらすことを特徴とする請求項１に記載のエンジン制御装置。
【請求項３】
前記記憶手段は、イグニションスイッチがオフの状態でも記憶情報を保持する記憶部に前記気筒位置を記憶することを特徴とする請求項１または２に記載のエンジン制御装置。
【請求項４】
エンジン始動時に前記クランク角信号が異常の場合、前記カム角信号の間隔に基づいて所定間隔で疑似クランク角信号を生成する信号生成手段を備え、
前記気筒推定手段は、エンジン始動時に前記クランク角信号が異常の場合、前記記憶部に記憶している前記気筒位置と前記カム角信号と前記疑似クランク角信号とに基づいて前記エンジン回転位置を推定する、
ことを特徴とする請求項１から３のいずれか一項に記載のエンジン制御装置。
【請求項５】
前記エンジンは３気筒エンジンであり、前記カム角信号は各気筒に対応して等角度間隔に発生することを特徴とする請求項１から４のいずれか一項に記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クランク角信号とカム角信号とに基づいて気筒判別を行い、クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を判定するエンジン制御装置に関する。
【背景技術】
【０００２】
従来、エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、エンジンのカム軸の回転に伴って所定の角度位置で発生するカム角信号とに基づいて気筒判別を行い、吸入行程、圧縮行程、膨張行程、排気行程からなる１燃焼サイクルにおけるエンジン回転位置をクランク角信号に基づいて判定するエンジン制御装置が知られている（例えば、特許文献１参照。）。
【０００３】
このようなエンジン制御装置において、例えば４気筒エンジンの場合、クランク角信号の基準位置信号を検出するときにカム角信号を検出する場合には第１気筒が圧縮上死点に位置し、クランク角信号の基準位置信号を検出するときにカム角信号を検出しない場合には第２気筒が圧縮上死点に位置しているように設定すれば、エンジン始動時において燃料を噴射して燃焼させる気筒を判別できる。つまり、カム角信号は特定の気筒を判別する気筒判別信号として使用される。
【０００４】
したがって、カム角センサの故障等によりカム角信号が異常の場合、クランク角信号の基準位置信号が示す圧縮上死点位置が第１気筒または第２気筒のいずれであるかを判定できない。
【０００５】
この場合には、例えばエンジン始動時において、検出したクランク角信号の基準位置信号が第２気筒の圧縮上死点を表わしていると推定し、燃料を噴射して燃焼させる。そして、エンジン回転数等から判断して正常に燃焼していない場合には、第１気筒の排気上死点で燃料を噴射していると考えられるので、燃焼サイクルを半周期ずらして燃料を噴射することにより、正常に燃料を燃焼させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２３９１８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
カム角信号により特定の気筒を判別する構成に対し、カム角信号が各気筒に対応して所定の角度位置で発生するものが知られている。
ここで、カム角信号により特定の気筒を判別する構成の場合、クランク角信号が異常であっても、カム角信号だけで気筒を判別することは可能である。
【０００８】
一方、カム角信号が各気筒に対応して所定の角度位置で気筒毎に発生する構成の場合、クランク角信号が異常になるとカム角信号だけでは気筒の判別ができない。その結果、エンジンを始動できないという問題がある。
【０００９】
本発明は、上記課題を解決するためになされたものであり、カム角信号が各気筒に対応した所定の角度位置で発生する構成において、クランク角信号が異常の場合にエンジンを始動できるエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１から５に記載の発明によると、クランク軸の回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、カム軸の回転に伴って各気筒に対応した所定の角度位置で発生するカム角信号とに基づいて気筒判別を行い、クランク角信号に基づいて１燃焼サイクルにおけるエンジン回転位置を判定するエンジン制御装置において、記憶手段は、クランク角信号が正常時の気筒判別情報に基づいてエンジン停止時の気筒位置を記憶部に記憶し、気筒推定手段は、エンジン始動時にクランク角信号が異常の場合、記憶部に記憶しているエンジン停止時の気筒位置に基づいてカム角信号を検出するときの気筒位置を推定し、運転制御手段は、エンジン始動時にクランク角信号が異常の場合、気筒推定手段の推定結果に基づいて燃料を噴射し燃焼させる。
【００１１】
尚、１燃焼サイクルは、吸入行程、圧縮行程、膨張行程、排気行程からなり、クランク軸の２回転、カム軸の１回転の角度に相当する。そして、エンジン回転位置は、１燃焼サイクルの回転角度におけるエンジンの回転位置を表わしており、エンジン回転位置に基づいて各気筒の行程の位置を判定できる。
【００１２】
このように、エンジン始動時にクランク角信号が異常の場合、カム軸の回転に伴って各気筒に対応した所定の角度位置で発生するカム角信号を検出すると、記憶部に記憶しているエンジン停止時の気筒位置に基づいてカム角信号を検出するときの気筒位置を推定し、気筒位置を更新できる。したがって、推定した気筒位置に基づいて燃料を噴射して燃焼させ、エンジンを始動できる。
【００１３】
これにより、例えばクランク角信号が異常になったために燃料噴射が停止されエンジンが停止してもエンジンを始動できるので、車両を退避走行させることができる。
尚、エンジンが停止するときに記憶部に記憶する気筒位置は、クランク角信号が正常であればエンジンが停止するときの気筒判別情報に基づいて記憶し、クランク角信号が異常であれば、クランク角信号が正常時の気筒判別情報に基づいて、例えばエンジンが停止するまでカム角信号を検出する毎に気筒位置を更新することにより記憶できる。
【００１４】
ところで、エンジン停止時には、最後のカム角信号を検出してから上死点を乗り越えて停止するか、上死点を乗り越えられずに逆転して停止するかのいずれかが考えられる。したがって、エンジン停止時に、クランク角信号が正常時の気筒判別情報に基づいてエンジン停止時の気筒位置を記憶すると、気筒位置がずれる可能性がある。
【００１５】
そこで、請求項２に記載の発明によると、気筒推定手段は、気筒推定手段の推定結果に基づいて運転制御手段が噴射させた燃料が該当気筒で燃焼しなかった場合、推定する気筒位置をずらす。
【００１６】
このように、噴射させた燃料が該当気筒で燃焼しなかった場合に推定する気筒位置をずらすことにより、ずらした気筒で燃料を噴射し、いずれかの気筒で燃料を燃焼させることができる。
【００１７】
請求項３に記載の発明によると、記憶手段は、イグニションスイッチがオフの状態でも記憶情報を保持する記憶部に気筒位置を記憶する。
これにより、エンジンが停止してイグニションスイッチがオフされても、エンジン停止時の気筒位置を記憶部に保持できるので、イグニションスイッチをオフにしてからオンにしてエンジンを始動するときに、記憶部に記憶している気筒位置に基づいてカム角信号を検出したときの気筒位置を推定できる。
【００１８】
請求項４に記載の発明によると、信号生成手段は、エンジン始動時にクランク角信号が異常の場合、カム角信号の間隔に基づいて所定間隔で疑似クランク角信号を生成し、気筒推定手段は、エンジン始動時にクランク角信号が異常の場合、記憶部に記憶している気筒位置とカム角信号と疑似クランク角信号とに基づいてエンジン回転位置を推定する。
【００１９】
このように、カム角信号の間隔に基づいて所定間隔で疑似クランク角信号を生成することにより、エンジン始動時にクランク角信号が異常であっても、記憶部に記憶している気筒位置とカム角信号と疑似クランク角信号とに基づいてエンジン回転位置を高精度に推定できる。
【００２０】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組合せにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【００２１】
【図１】本実施形態によるエンジン制御装置を示すブロック図。
【図２】正常時のカム角信号、クランク角信号、燃料の噴射・点火制御を示すタイムチャート。
【図３】クランク角信号異常時のエンジン停止時におけるカム角信号、クランク角信号、燃料の噴射・点火制御を示すタイムチャート。
【図４】クランク角信号異常時のエンジン始動時におけるカム角信号、クランク角信号、燃料の噴射・点火制御を示すタイムチャート。
【図５】エンジン停止時処理を示すフローチャート。
【図６】エンジン始動時処理を示すフローチャート。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図に基づいて説明する。図１に、車両に搭載される本実施形態の電子制御装置（ＥＣＵ：Electronic Control Unit）１０を示す。
ＥＣＵ１０は、例えば、３気筒のガソリンエンジン用のインジェクタの噴射制御、点火プラグの点火制御を行うエンジンＥＣＵであり、ＣＰＵ１２、ＲＯＭ１４、ＲＡＭ１６、ＳＲＡＭ（スタンバイＲＡＭ）１８、ＥＥＰＲＯＭ２０、入力回路３０および出力回路３２等から構成されている。
【００２３】
ＥＣＵ１０は、ＲＯＭ１４に記憶されている制御プログラムをＣＰＵ１２が実行することにより、各種センサが検出するアクセル開度、スロットル開度、車速、クランク角、カム角、イグニションスイッチ等の各種信号を入力回路３０を介して入力する。そして、これらセンサの検出信号に基づいて、図示しないインジェクタの噴射制御、点火プラグの点火制御等の制御信号を出力回路３２を介して出力する。
【００２４】
ＥＣＵ１０の制御プログラムが作業用に使用し、イグニションスイッチがオフされると電力供給が遮断されて記憶データが消失するＲＡＭ１６と異なり、イグニションスイッチのオン、オフに関わらず、ＳＲＡＭ１８にはバッテリから電力が供給される。したがって、ＳＲＡＭ１８は、バッテリの交換等により電力供給が遮断されない限り、記憶しているデータを保存する記憶部である。
【００２５】
ＥＥＰＲＯＭ２０は、書き換え可能な不揮発性の記憶部である。バッテリから電力供給が遮断されても、ＥＥＰＲＯＭ２０に記憶されているデータは保存される。
ＥＣＵ１０は、イグニションスイッチをオフして車両の運転を停止しても記憶する必要のあるデータを、ＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶する。
【００２６】
（気筒判別）
ＥＣＵ１０は、クランク軸の回転に伴って所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク角信号と、カム軸の回転に伴って各気筒に対応した所定の角度位置で発生するカム角信号とに基づいて気筒判別を行い、吸入行程、圧縮行程、膨張行程、排気行程からなる１燃焼サイクルにおけるエンジン回転位置をクランク角信号に基づいて判定する。
【００２７】
クランク角信号は、クランク軸に固定されたクランクロータの外周に所定の角度間隔（例えば１０°）で形成された歯を、クランク軸の回転に伴って図示しないクランク角センサが検出することにより発生する。
【００２８】
尚、クランクロータの外周に形成される歯の間隔は１０°に限るものではなく、１０°より小さくてもよいし、大きくてもよい。クランクロータの歯列の途中には、１個の歯を挟んで２個の歯が２箇所で連続して欠損した欠歯の連欠け２００（図２参照）と、２個の歯が１箇所で欠損した欠歯の単欠け２０２（図２参照）とが、所定の角度位置として１８０°反対側に形成されている。連欠け２００、単欠け２０２を検出するときのクランク角信号は、気筒判別および１燃焼サイクルにおけるエンジン回転位置の判定を行うときの基準位置信号になる。
【００２９】
ＥＣＵ１０は、クランク角信号に基づいて１回転中におけるクランク軸の角度位置を検出するとともに、単位時間当たりのクランク角信号のパルス数を算出することにより、エンジン回転数を検出する。
【００３０】
カム軸は、クランク軸に対して１／２の比率で回転するので、クランク軸が２回転（７２０°ＣＡ）する間に１回転する。カム角信号は、カム軸に固定されたカムの外周に３気筒エンジンに対応して、所定の角度位置として２４０°ＣＡ（カムロータの角度としては１２０°）の等角度間隔で形成されたカム歯２１０（図２参照）を、カム軸の回転に伴って図示しないカム角センサが検出することにより発生する。
【００３１】
本実施形態では図２に示すように、カム歯２１０の３０°ＣＡ後に各気筒の圧縮ＴＤＣ（圧縮上死点）に達する構成になっている。
ＥＣＵ１０は、クランク角信号の連欠け２００および単欠け２０２と、カム歯２１０との組合せにより、カム歯２１０を検出した次の圧縮ＴＤＣが３気筒のうちのどの気筒に相当するかを判定する。連欠け２００を検出する角度範囲内でカム歯２１０を検出すると、次の圧縮ＴＤＣは第２気筒であり、単欠け２０２を検出してからカム歯２１０を検出すると、次の圧縮ＴＤＣは第３気筒であり、連欠け２００を検出する角度範囲内でカム歯２１０を検出しないと、カム歯２１０を検出したときの次の圧縮ＴＤＣは第１気筒である。
【００３２】
ＥＣＵ１０は、クランク角信号の連欠け２００および単欠け２０２と、カム歯２１０との組合せにより気筒を判別すると、図２に示すように、カム歯２１０を検出する毎に、次の圧縮ＴＤＣに該当する気筒を表わす気筒位置情報を気筒判別情報に基づいて更新する。
【００３３】
（エンジン回転位置）
エンジン始動時にカム角信号を検出すると、３０°ＣＡ後にいずれかの気筒の圧縮ＴＤＣに達する。そこで、ＥＣＵ１０は、エンジン始動時に、クランク角信号の連欠け２００および単欠け２０２と、カム歯２１０との組合せにより気筒を判別し、カム角信号を検出することにより３０°ＣＡ後に該当する気筒の圧縮ＴＤＣになることを判定する。そして、クランク角信号を３０°ＣＡ毎にカウントすることにより、該当気筒の行程位置であるエンジン回転位置を判定する。
【００３４】
ＥＣＵ１０は、エンジン回転位置に基づいて、インジェクタによる燃料の噴射タイミング、点火プラグによる点火タイミングを、エンジン運転状態に適したタイミングに設定する。
【００３５】
次に、ＲＯＭ１４等に記憶されている制御プログラムをＣＰＵ１２が実行することにより、ＥＣＵ１０が実行するエンジン停止時処理およびエンジン始動時処理について説明する。
【００３６】
（エンジン停止時）
クランク角信号が正常のままエンジンが停止するときには、正常なクランク角信号とカム角信号とにより気筒判別を行った気筒判別情報に基づき、最後にカム角信号を検出したときの気筒位置情報をＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶する。
【００３７】
クランク角センサの故障等によりエンジン運転中にクランク角信号に異常が発生し、図３に示すようにクランク角信号が出力されない場合、エンジン回転位置を判定できないので、点線で示すように燃料の噴射・点火処理は中止される。その後、エンジンは惰性で回転し、停止する。クランク角信号は、例えば信号レベルが「ロウ」または「ハイ」に固定されている場合、異常と判定される。
【００３８】
クランク角信号が異常になると、ＥＣＵ１０は、クランク角信号が正常時の気筒判別情報に基づいて、気筒位置情報をカム角信号を検出する毎に更新し、最後にカム角信号を検出したときの気筒位置情報をＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶する。
【００３９】
図３では、気筒位置情報が第２気筒を表わしているときにクランク角信号が異常になり、燃料噴射を停止している。そして、次にカム角信号を検出し気筒位置情報を第３気筒に更新してからエンジンが停止している。
【００４０】
（エンジン始動時）
エンジン始動時にクランク角信号が正常の場合、ＥＣＵ１０は、正常なクランク角信号とカム角信号とにより気筒判別を行った気筒判別情報とクランク角信号とに基づいてエンジン回転位置を判定し、該当気筒に燃料を噴射して点火する。
【００４１】
一方、エンジン始動時にクランク角信号が異常の場合、カム角信号を検出する毎に、２４０°ＣＡ間隔で発生するカム角信号の時間間隔をタイマ等で測定し、測定したカム角信号の時間間隔に基づいて、燃料を噴射、点火制御するために３０°ＣＡ間隔で生成する疑似クランク角信号の時間間隔を算出する。疑似クランク角信号は、クランク角信号の代わりに３０°ＣＡ毎にエンジン回転位置をカウントするための信号である。
【００４２】
したがって、疑似クランク角信号は、エンジン始動時にスタータモータを回転させ、２回目のカム角信号を検出してから、カム角信号の時間間隔に基づいて生成できる。ＥＣＵ１０は、生成した疑似クランク角信号とカム角信号と気筒位置情報とに基づいて、エンジン回転位置を推定する。
【００４３】
図４は、エンジン停止時にクランク角信号が異常であったときのエンジン始動時のタイムチャートである。図４においてエンジンを始動したときに記憶している気筒位置情報は第３気筒であり、カム角信号を検出する毎に気筒位置情報を＋１して更新する。更新する前の気筒位置情報が第３気筒であれば次の気筒位置情報は第１気筒に更新される。
【００４４】
尚、エンジン停止時に最後にカム角信号を検出してから、エンジンが上死点を超えて停止するか、上死点を超えずに逆転して停止するかは判定できない。本実施形態では、最後にカム角信号を検出すると、エンジンは上死点を超えずに逆転して停止すると判断する。それ故、図４に示すように、エンジン停止時に最後にカム角信号を検出したときの気筒位置が第３気筒であれば、エンジンは第３気筒の圧縮上死点を超えずに停止したと判断する。
【００４５】
したがって、エンジン始動時にクランク角信号が異常の場合、１回目のカム角信号を検出したときの気筒位置は第３気筒であり、２回目のカム角信号を検出したときの気筒位置は第３気筒の次の第１気筒であると推定する。そこで、２回目のカム角信号を検出し疑似クランク角信号を生成できるようになると、まず、第１気筒の圧縮上死点近傍で燃料を噴射して点火させる。このとき、例えばスタータモータで駆動しているときのカム角信号の時間間隔よりも短くなれば、２回目のカム角信号を検出したときに推定した気筒位置は第１気筒で正しかったことになる。
【００４６】
噴射燃料に点火してもカム角信号の時間間隔が短くならない場合、２回目のカム角信号を検出したときの気筒位置は第１気筒ではなかったと判断する。つまり、エンジン停止時に最後にカム角信号を検出してから、エンジンは上死点を超えて停止したと考えられる。つまり、エンジンが停止したときの気筒位置は第３気筒の次の第１気筒であり、エンジン始動時に１回目のカム角信号を検出したときの気筒位置は第１気筒であり、２回目のカム角信号を検出したときの気筒位置は第２気筒であると考えられる。
【００４７】
そこで、エンジン始動時に第１気筒の圧縮上死点であると推定して燃料を噴射して点火してもカム角信号の時間間隔が短くならない場合には、推定した気筒位置をずらし、第１気筒の次の第２気筒ではなく第３気筒の圧縮上死点であると推定して燃料を噴射して点火させる。これでカム角信号の時間間隔が短くなれば、適切な気筒で燃料を噴射して燃焼したと判断する。
【００４８】
以後、カム角信号を検出毎に気筒位置情報を更新し、気筒位置情報とカム角信号と疑似クランク角信号とに基づいてエンジン回転位置を判定し、燃料を噴射して燃焼させることができる。
【００４９】
次に、エンジン停止時処理のフローチャートを図５に示し、エンジン始動時処理のフローチャートを図６に示す。図５に示すフローチャートは常時実行され、図６に示すフローチャートはカム角信号検出時に実行される。図５および図６において「Ｓ」はステップを表わしている。
【００５０】
（エンジン停止時処理）
エンジンが停止すると（Ｓ４００：Ｙｅｓ）、ＥＣＵ１０は、エンジン停止時の気筒位置として、後述する図６で設定される今回気筒推定位置を記憶済みか否かを判定する（Ｓ４０２）。
【００５１】
今回気筒推定位置をまだ記憶していない場合（Ｓ４０２：Ｎｏ）、ＥＣＵ１０は、エンジン停止時にクランク角信号が正常か異常かに関わらず、今回気筒推定位置をＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶する（Ｓ４０４）。
【００５２】
（エンジン始動時処理）
カム角信号を検出すると、図６のＳ４１０においてＥＣＵ１０は、クランク角信号が異常か否かを判定する。
【００５３】
クランク角信号が正常の場合（Ｓ４１０：Ｎｏ）、ＥＣＵ１０は、クランク角信号とカム角信号とに基づいて気筒判別を行って今回の気筒位置を判定し（Ｓ４１２）、Ｓ４１２で判定した今回気筒判定位置を今回気筒推定位置として設定し（Ｓ４１４）、ｘｆｌｇ１を１に設定し（Ｓ４１６）、Ｓ４３８に処理を移行する。
【００５４】
ｘｆｌｇ１は、クランク角信号が正常であったことを示す変数であり、エンジン始動時に初期値の０に設定される。
クランク角信号が異常の場合（Ｓ４１０：Ｙｅｓ）、ＥＣＵ１０は、ｘｆｌｇ１が１であるか否か、つまりクランク角信号が異常になる前に正常であったか否か、言い換えればエンジン運転中にクランク角信号が異常になったか否かを判定する（Ｓ４１８）。ｘｆｌｇ１が１の場合（Ｓ４１８：Ｙｅｓ）、ＥＣＵ１０は本処理を終了する。これにより、Ｓ４３８が実行されず燃料の噴射が停止されるので、エンジンは停止する。
【００５５】
ｘｆｌｇ１が１ではない場合（Ｓ４１８：Ｎｏ）、ＥＣＵ１０はエンジン始動時からクランク角信号は異常であると判断する。そして、ＥＣＵ１０は、本処理において前回設定した今回気筒推定位置を前回気筒推定位置とし、前回気筒推定位置を＋１して更新し今回気筒推定位置とする（Ｓ４２０）。更新前の前回気筒推定位置が第３気筒の場合、今回気筒推定位置は第１気筒に設定される。エンジンを始動して最初にカム角信号を検出する場合には、前述したエンジン停止時処理でＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶した今回気筒推定位置を前回気筒推定位置とする。
【００５６】
次にＥＣＵ１０は、前回噴射した燃料が正常に燃焼したか否かを判定する（Ｓ４２２）。クランク角信号が異常な状態で、前回噴射した燃料が正常に燃焼したか否かの判定は、カム角信号の時間間隔で判断する。
【００５７】
例えば、エンジン始動時にスタータモータでエンジンを駆動しているときには、スタータモータで駆動しているときよりもカム角信号の時間間隔が短くなれば、前回噴射した燃料が正常に燃焼したと判定する。スタータモータによる駆動後は、カム角信号の時間間隔が所定の時間間隔以下であれば、前回噴射した燃料が正常に燃焼したと判定する。ただし、エンジン始動時に２回目のカム角信号を検出するまではＳ４３８の噴射、点火処理は実行されないので、Ｓ４２２の判定は「Ｎｏ」になる。
【００５８】
前回噴射した燃料が正常に燃焼していない場合（Ｓ４２２：Ｎｏ）、ＥＣＵ１０は、ｘｆｌｇ２が０か否かを判定することにより、エンジン始動後に最初のカム角信号を検出したか否かを判定する（Ｓ４２４）。ｘｆｌｇ２は、エンジン始動時に初期値の０に設定される。
【００５９】
最初のカム角信号の検出の場合（Ｓ４２４：Ｙｅｓ）、ＥＣＵ１０は、ｘｆｌｇ２を１に設定し（Ｓ４２６）、前回気筒推定位置を今回気筒推定値に設定する（Ｓ４２８）。そして、最初のカム角信号を検出するタイミングでは、まだ疑似クランク角信号を生成するためのカム角信号の時間間隔を測定できないので本処理を終了する。
【００６０】
今回が最初ではなく（Ｓ４２４：Ｎｏ）、２回目のカム角信号の検出であれば（Ｓ４３０：Ｙｅｓ）、ＥＣＵ１０は、ｘｆｌｇ２を２に設定し（Ｓ４３２）、疑似クランク角信号を生成するためのカム角信号の時間間隔を測定できるので、Ｓ４３６に処理を移行する。２回目のカム角信号の検出であるか否かは、ｘｆｌｇ２が１であるか否かで判定する。ｘｆｌｇ２が１であれば２回目のカム角信号の検出であると判定する。
【００６１】
エンジン始動後に今回が３回目以降のカム角信号の検出であれば（Ｓ４３０：Ｎｏ）、ＥＣＵ１０は、エンジン始動後に前回推定した気筒位置で燃料を噴射したが正常に燃焼していないと判断し、Ｓ４２０で設定した今回気筒推定位置をさらに＋１して更新する（Ｓ４３４）。更新前の今回気筒推定位置が第３気筒の場合には第１気筒に設定する。そして、Ｓ４３６に処理を移行する。
【００６２】
前回の噴射燃料が正常に燃焼している場合（Ｓ４２２：Ｙｅｓ）、ＥＣＵ１０は、今回が少なくとも３回目以降のカム角信号の検出であり、疑似クランク角信号を生成するためのカム角信号の時間間隔を測定できるので、Ｓ４３６に処理を移行する。
【００６３】
Ｓ４３６においてＥＣＵ１０は、カム角信号の時間間隔に基づいて、３０°ＣＡ間隔で生成する疑似クランク角信号の時間間隔を算出する。算出された疑似クランク角信号の時間間隔に基づいて、図示しないルーチンで疑似クランク角信号が生成される。
【００６４】
Ｓ４３８においてＥＣＵ１０は、クランク角信号が正常時にはＳ４１４で設定した今回気筒推定位置とクランク角信号とに基づいてエンジン回転位置を判定し、クランク角信号が異常時にはＳ４２０またはＳ４３４で設定した今回気筒推定位置とカム角信号と疑似クランク角信号とに基づいてエンジン回転位置を推定し、所定のエンジン回転位置で該当気筒に燃料を噴射して点火させる。
【００６５】
Ｓ４３８の燃料の噴射、点火処理において実際に燃料を噴射し点火する処理は、クランク角信号の正常時にはクランク角信号を３０°ＣＡ毎にカウントするカウント値に基づいたエンジン回転位置において、あるいはクランク角信号の異常時に疑似クランク角信号が３０°ＣＡ間隔で生成される場合には疑似クランク角信号のカウント値に基づいたエンジン回転位置において、その実行タイミングが設定される。
【００６６】
以上説明した上記実施形態では、クランク角信号が正常時の気筒判別情報に基づいて、エンジン停止時の気筒位置をＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶する。これにより、エンジン始動時にクランク角信号が異常であっても、エンジン停止時の気筒位置とカム角信号とに基づいて今回燃料を噴射して点火する気筒を推定できる。そして、推定した気筒に燃料を噴射して点火してもカム角信号の所定の時間間隔以下にならない場合には、燃料を噴射して点火する気筒をずらす。
【００６７】
これにより、エンジン始動時にクランク角信号が異常であっても適切な気筒に燃料を噴射して燃焼させエンジンを運転することができるので、エンジン始動時にクランク角信号が異常であっても、車両の退避走行が可能である。
【００６８】
さらに、エンジン始動時にクランク角信号が異常の場合、カム角信号の時間間隔に基づいて疑似クランク角信号を生成することにより、疑似クランク角信号に基づいてエンジン回転位置を推定し、高精度に燃料を噴射して点火できる。
【００６９】
また、エンジンが停止するときの気筒位置をＳＲＡＭ１８またはＥＥＰＲＯＭ２０に記憶することにより、エンジンを停止してイグニションスイッチをオフにしてから再びオンにしても、記憶している気筒位置に基づいて燃料を噴射して点火できる。
【００７０】
本実施形態では、図５の処理において、Ｓ４０４の処理が本発明の記憶手段が実行する機能に相当する。
また、図６の処理において、Ｓ４１０の処理が本発明の異常判定手段が実行する機能に相当し、Ｓ４２０、Ｓ４２８およびＳ４３４の処理が本発明の気筒推定手段が実行する機能に相当し、Ｓ４３６の処理が本発明の信号生成手段が実行する機能に相当し、Ｓ４３８の処理が本発明の運転制御手段が実行する機能に相当する。
【００７１】
また、ＥＣＵ１０は、本発明のエンジン制御装置に相当し、本発明の異常判定手段、記憶手段、気筒推定手段、運転制御手段および信号生成手段が実行する機能を実現する。
［他の実施形態］
上記実施形態では、エンジン始動時にクランク角信号が異常の場合、カム角信号の時間間隔に基づいて疑似クランク角信号を生成し、疑似クランク角信号と気筒位置とカム角信号とに基づいてエンジン回転位置を推定して該当気筒に燃料を噴射して点火させた。
【００７２】
これに対し、疑似クランク角信号を生成せず、気筒位置とカム角信号とだけに基づいてエンジン位置を判定し、該当気筒に燃料を噴射して点火させてもよい。例えば、カム角信号を検出した直後に該当気筒に燃料を噴射して点火させてもよい。
【００７３】
本発明は、ガソリンエンジンに限らず、ディーゼルエンジン等の内燃機関を駆動源とする車両に適用できる。また、エンジンの気筒数は３気筒に限るものではない。
また、上記実施形態では、異常判定手段、記憶手段、気筒推定手段、運転制御手段および信号生成手段の機能を、制御プログラムにより機能が特定されるＥＣＵ１０により実現している。これに対し、上記複数の手段の機能の少なくとも一部を、回路構成自体で機能が特定されるハードウェアで実現してもよい。
【００７４】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【００７５】
１０：ＥＣＵ（エンジン制御装置、異常判定手段、記憶手段、気筒推定手段、運転制御手段、信号生成手段）
【図１】
2013053576.tif 000003
【図２】
2013053576.tif 000004
【図３】
2013053576.tif 000005
【図４】
2013053576.tif 000006
【図５】
2013053576.tif 000007
【図６】
2013053576.tif 000008