JP4069902B2 - エンジン制御装置 - Google Patents

エンジン制御装置 Download PDF

Info

Publication number
JP4069902B2
JP4069902B2 JP2004174302A JP2004174302A JP4069902B2 JP 4069902 B2 JP4069902 B2 JP 4069902B2 JP 2004174302 A JP2004174302 A JP 2004174302A JP 2004174302 A JP2004174302 A JP 2004174302A JP 4069902 B2 JP4069902 B2 JP 4069902B2
Authority
JP
Japan
Prior art keywords
engine
rotation
rotational position
signal
crankshaft
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004174302A
Other languages
English (en)
Other versions
JP2005351212A (ja
Inventor
克之 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2004174302A priority Critical patent/JP4069902B2/ja
Priority to US11/149,550 priority patent/US7142973B2/en
Publication of JP2005351212A publication Critical patent/JP2005351212A/ja
Application granted granted Critical
Publication of JP4069902B2 publication Critical patent/JP4069902B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、エンジンを制御するエンジン制御装置に関し、特に、エンジンの停止時にクランク軸の停止位置を推定しておき、その推定した停止位置を次のエンジン始動時に利用するエンジン制御装置に関する。
従来より、エンジン制御装置では、エンジンのクランク軸の回転に応じてクランク軸センサから出力されるクランク軸回転信号と、クランク軸の回転に対し1/2の比率で回転するエンジンのカム軸の回転に応じてカム軸センサから出力されるカム軸回転信号とから、エンジン1サイクル当たりの回転位置を特定し、その特定後に、エンジンに対する点火や燃料噴射を開始している(例えば、特許文献1参照)。
具体例を挙げて説明すると、まず、クランク軸センサから出力されるクランク軸回転信号には、クランク軸が所定角度回転する毎にパルスエッジが発生すると共に、クランク軸の回転位置が予め設定された基準位置に来た時には、そのパルスエッジが所定数(例えば2個)欠落した欠歯部が現れるようになっている。また、カム軸センサから出力されるカム軸回転信号は、カム軸の回転に応じてハイレベルとローレベルとに変化すると共に、クランク軸回転信号に欠歯部が現れるタイミングでは、その各タイミング毎に交互に異なったレベルとなる。
そして、エンジン制御装置では、クランク軸回転信号に欠歯部が現れたか否かを判定する欠歯判定を行い、その欠歯判定で欠歯部が現れたと判定したときのカム軸回転信号のレベルから、エンジンの回転位置を特定する。例えば、欠歯判定時にカム軸回転信号がハイレベルであれば、現在の回転位置は予め設定された特定の回転位置「X°CA」であると特定し、欠歯判定時にカム軸回転信号がローレベルならば、現在の回転位置は「X°CA」から360°CAだけ進んだ回転位置であると特定する。
尚、「°CA」はクランクアングル(クランク角度)を表しており、エンジンの回転位置は、クランク軸2回転分のクランク角度(0°CA〜720°CA)にて特定される。また、この種のエンジン制御装置では、クランク軸回転信号のパルス間隔(即ち、クランク軸回転信号に上記所定角度毎のパルスエッジが発生する間隔)を計測すると共に、今回測定したパルス間隔T1と前回計測したパルス間隔T0とを比較して、例えば、T1とT0との比(=T1/T0)が所定の判定比以上である、といった欠歯判定条件が成立した際に、クランク軸回転信号に欠歯部が現れたと判定する。
しかし、上記技術では、エンジンの始動時において、スタータによるクランキングが開始されてからクランク軸回転信号における欠歯部等の基準位置が検出されてクランク位置が最初に特定されるまでには、一般にクランク軸の数回転分が必要となる。
このため、スタータによるエンジン始動時に、エンジンに対する点火及び噴射の制御を速やかに開始することができず、始動前にインジェクタ(燃料噴射弁)から漏れ落ちた燃料や吸気管内に残っていた未燃焼ガスがそのまま排気されてエミッションの悪化を招くといった問題がある。特に、近年益々強化される排気ガスの規制を満足させるためには、スタータ始動とほぼ同時に燃料を燃やしきり、未燃焼ガスや生ガスが排気管へ送られないようにすることが重要となってくるが、上記従来のエンジン制御装置では、こうした要求に応えることができない。
そこで、スタータによるエンジンの始動時にエンジン制御を速やかに開始して、エミッションを向上させるために、エンジンが停止する際に、クランク軸回転信号やカム軸回転信号を評価してエンジンの停止位置を推定し、次のエンジン始動時には、その推定した停止位置に基づいてエンジン制御を開始することが提案されている(例えば、特許文献2参照)。
特開2001−90600号公報 特表平8−506397号公報
上記提案のエンジン制御装置によれば、エンジン始動時には、エンジン停止時に推定したエンジンの停止位置に基づきエンジン制御を開始するため、エンジン始動直後から燃料を燃焼させて、未燃焼ガスや生ガスが排気管へ送られるのを防止できる。
しかし、エンジン停止時に推定した停止位置が誤っていたり、エンジンが停止されてから次に始動されるまでの間に停止位置が変化すると、エンジン制御開始時の制御タイミングが適正タイミングから外れてしまい、エンジンを始動できなくなったり、エンジン始動時のエミッションが悪くなるという問題が生じる。
そこで、本願出願人は、こうした問題を防止するために、カム軸センサを、エンジンの回転位置に応じて変化するカム軸回転信号を出力するように構成し、エンジン始動時には、エンジン停止時に推定した停止位置と、エンジンの始動時にカム軸センサから出力されるカム軸回転信号の変化(立上がりエッジ、立下がりエッジ等)とからエンジンの回転位置を特定して、エンジン制御を開始することを考えた。
つまり、エンジン始動時には、エンジン停止時に推定した停止位置とカム軸回転信号とを用いてエンジンの回転位置を特定することで、エンジン制御を、実際のエンジンの回転位置に応じて適正に実行できるようにするのである。
しかし、このようにすると、エンジン始動時には、エンジン停止時に推定した停止位置を用いて、エンジン制御を適正な制御タイミングで開始することはできるものの、カム軸の回転位置によってエンジンの回転位置を特定できるまでの時間がさまざま異なるため、場合によっては、エンジン制御の開始タイミングが、クランク軸回転信号の欠歯部を利用してエンジン回転位置を特定するようにした場合に比べて遅れてしまうという問題が生じる。
本発明は、こうした問題に鑑みなされたもので、エンジン停止時に推定した停止位置を利用してエンジン制御を開始するエンジン制御装置であって、エンジン制御を、エンジンの実際の回転位置に応じた適正タイミングで、より早く開始できるようにすることを目的とする。
かかる目的を達成するためになされた請求項1、2に記載のエンジン制御装置においては、エンジンのカム軸の回転位置に応じて変化するカム軸回転信号を発生するカム軸センサと、エンジンのクランク軸の所定の回転角度毎にクランク軸回転信号を発生するクランク軸センサとを備え、エンジンが運転状態から停止する際には、停止位置推定手段が、カム軸回転信号及びクランク軸回転信号の少なくとも一方に基づき、エンジンの回転停止位置を推定する。
また、エンジンの始動時には、第1の回転位置特定手段が、停止位置推定手段にて推定された停止位置とカム軸回転信号とに基づき、エンジン1サイクル当たりの回転位置を特定すると共に、第2の回転位置特定手段が、クランク軸回転信号及びカム軸回転信号の少なくとも一方に基づき、エンジン1サイクル当たりの回転位置を特定する。
そして、本発明のエンジン制御装置は、第1の回転位置特定手段にてエンジンの回転位置が特定されるか、或いは、第2の回転位置特定手段にて回転位置が特定されると、その特定された回転位置に基づくエンジン制御を開始し、その後、エンジンの回転位置をクランク軸回転信号に基づき更新しつつエンジン制御を実行する。
つまり、本発明のエンジン制御装置においては、エンジン始動時に、エンジン停止時に推定したエンジンの停止位置をそのまま利用してエンジン制御を開始するのではなく、第1の回転位置特定手段にて、エンジンの停止位置とカム軸回転信号とに基づきエンジンの回転位置を特定して、エンジン制御を開始するようにし、しかも、第1の回転位置特定手段が回転位置を特定できる場合であっても、第1の回転位置特定手段よりも第2の回転位置特定手段の方がエンジンの回転位置を早く特定できたときには、その特定できたエンジンの回転位置に基づきエンジン制御を開始するようにしている。
従って、本発明のエンジン制御装置によれば、エンジン始動時のエンジン制御を、エンジンの実際の回転位置に応じて適正に開始することができ、しかも、その開始タイミングをより早くすることができる。
ここで、第2の回転位置特定手段は、エンジン停止時に推定した停止位置を利用することなくエンジン始動時のエンジンの回転位置を特定するためのものであり、請求項1に記載のように、クランク軸センサを、上述した従来のクランク軸センサのように、欠歯等を利用して、クランク軸の特定の回転角度位置にてクランク軸回転信号がクランク軸の回転に対して不連続になるよう構成した場合には、クランク軸回転信号からクランク軸1回転分(360°CA)の位相差を有する2つの回転位置(X°CA、X+360°CA)を交互に検出できることから、第2の回転位置特定手段において、クランク軸センサから出力されるクランク軸回転信号から、クランク軸の特定の回転角度位置を検出し、そのときのエンジンの回転位置が、上記2つの回転位置の内のいずれであるか否かを、クランク軸回転信号若しくはカム軸回転信号の変化状態から特定するように構成すればよい。
尚、この場合、第2の回転位置特定手段にて、カム軸回転信号の変化状態からエンジンの回転位置を特定できるようにするには、クランク軸の特定の回転角度位置において、カム軸センサからの出力レベルが、エンジンの回転に伴いハイレベルとローレベルとに交互に変化するよう、カム軸センサを構成しておけばよい。
また、エンジンの気筒数が奇数である場合には、クランク軸回転信号から検出し得る2つの回転位置(X°CA、X+360°CA)において、クランク軸回転信号の変化状態が互いに異なり、そのクランク軸回転信号の間隔が短くなりつつあるか、長くなりつつあるかによって、エンジンの回転位置を特定できることから、第2の回転位置特定手段において、カム軸回転信号の変化状態からエンジンの回転位置を特定するようにする場合には、本発明を、奇数気筒のエンジンを制御する制御装置に適用するようにすればよい。
一方、カム軸回転信号は、エンジン1サイクルに1回の割合で回転するカム軸の回転位置に応じて変化することから、カム軸回転信号の変化波形からエンジンの回転位置を特定することができる。このため、第2の回転位置特定手段は、請求項2に記載のように、カム軸回転信号の変化波形に基づきエンジンの回転位置を特定するよう構成することもできる。
また、第2の回転位置特定手段を、請求項1に記載のように構成した場合には、請求項3に記載のように、更に、第3の回転位置特定手段として、カム軸回転信号の変化波形に基づきエンジンの回転位置を特定する回転位置特定手段を設け、エンジンの始動時には、第1、第2、第3の回転位置特定手段の何れかで最初にエンジンの回転位置が特定された際に、その特定された回転位置に基づきエンジン制御を開始するようにしてもよい。そしてこのようにすれば、エンジン始動時に、エンジン制御をより早く開始することができるようになる。
次に、停止位置推定手段は、カム軸回転信号及びクランク軸回転信号の少なくとも一方に基づきエンジンの回転停止位置を推定するが、エンジン停止時には、エンジンの停止直前に圧縮行程にある気筒で上死点(TDC)を越えることができずに、クランク軸やカム軸が逆回転してしまうことがあることから、請求項4に記載のように、停止位置推定手段には、カム軸回転信号又はクランク軸回転信号の変化状態からエンジンが正回転しているか逆回転したかを判定する回転方向判定手段を設けて、その回転方向判定手段による判定結果に従い、エンジンの停止位置を推定するように構成するとよい。
つまり、このように停止位置推定手段に回転方向判定手段を設けて、エンジン停止時のエンジンの回転方向を判定するようにすれば、停止位置推定手段による停止位置の推定誤差を抑制することができる。
また、このように、回転方向判定手段にて、カム軸回転信号やクランク軸回転信号からエンジン停止時のエンジンの回転方向を判定する際には、その回転信号のエッジの変化方向やエッジの時間間隔の変化状態から、エンジンの回転方向を判定することになるが、センサの構造等によっては、エンジンの回転方向を正確に判定できない領域が生じることがある。
そこで、このように回転方向判定手段にてエンジンの回転方向を特定できないときには、請求項4に記載のように、停止位置推定手段において、エンジン正回転時及びエンジン逆回転時のエンジンの停止位置を各々推定するようにし、第1の回転位置特定手段では、その推定された複数の停止位置とカム軸回転信号とを利用して、エンジンの回転位置を特定するようにすればよい。
また、回転方向判定手段による回転方向の判定精度を向上するには、請求項5に記載のように、回転方向判定手段として、カム軸回転信号の変化状態からエンジンの回転方向を判定する第1の判定手段と、クランク軸回転信号の変化状態からエンジンの回転方向を判定する第2の判定手段との2つの判定手段を設け、停止位置推定手段では、この2つの判定手段の何れかでエンジンの回転方向が特定されたときには、その特定された回転方向に基づきエンジンの停止位置を推定し、これら2つの判定手段の両方でエンジンの回転方向が特定できないときに限って、エンジン正回転時及びエンジン逆回転時のエンジンの停止位置を各々推定するようにすればよい。
また、エンジン停止時に停止位置推定手段にて複数の停止位置が推定されている場合、第1の回転位置特定手段では、エンジン始動時にカム軸センサから入力されるカム軸回転信号の変化状態が、複数の停止位置の各々でエンジンを始動させたときのカム軸回転信号の変化状態の一つと一致したときに、エンジンの回転位置を特定するようにすればよいが、この場合、エンジンの停止位置によっては、複数の停止位置からエンジンの回転位置を特定するのに要する時間(換言すればエンジンの回転量)が大きくなり過ぎ、他の回転位置特定手段(第2若しくは第3の回転位置特定手段)の方がエンジンの回転位置を早く特定できることが明らかな場合がある。
そこで、請求項4又は請求項5に記載のエンジン制御装置においては、エンジン始動時にエンジンの回転位置を特定するのに要する時間が長くなる停止位置の組み合わせを、エンジンの回転位置を特定するのに不適切な停止位置であるとして予め設定しておき、停止位置推定手段にて複数の停止位置が推定された際には、請求項6に記載のように、停止位置推定禁止手段にて、その複数の停止位置がエンジンの回転位置を特定するのに不適切として予め設定された停止位置であるか否かを判定し、その複数の停止位置がエンジンの回転位置を特定するのに不適切な停止位置である場合には、停止位置推定手段による停止位置の推定を禁止して、次のエンジン始動時に第1の回転位置特定手段がエンジンの回転位置を特定するのを禁止するようにするとよい。
そして、このようにすれば、エンジン停止時に停止位置推定手段にて複数の停止位置が推定された際、その複数の停止位置が、エンジン始動時に回転位置を特定するのに要する時間が長くなる停止位置である場合に、停止位置推定手段や第1の回転位置特定手段による不要な制御動作を禁止して、エンジン制御装置の制御の負担を軽減することができるようになる。
以下に、本発明が適用された実施形態のエンジン制御装置について説明する。尚、本実施形態のエンジン制御装置は、DOHC型直列5気筒の4ストローク1サイクルエンジン(いわゆる4サイクルエンジン)を制御するものである。
図1に示すように、本実施形態のエンジン制御装置は、エンジン3を制御するための処理を実行するマイコン(マイクロコンピュータ)5と、マイコン5からの制御信号に従って各種アクチュエータを作動させる駆動回路7と、各種信号をマイコン5に入力させる入力回路9とを備えた電子制御装置(以下、エンジンECUという)1を中心に構成されている。
そして、エンジンECU1のマイコン5には、エンジン3の吸気管11に設けられた吸入空気量センサ13からの信号、吸気管11に設けられたスロットル弁15の開度を検出するスロットル開度センサ17からの信号、吸気管11内の圧力を検出する吸気管圧力センサ19からの信号、運転者によって操作されるアクセルペダル21の操作位置を検出するペダル位置センサ23からの信号、エンジン3の冷却水温を検出する水温センサ25からの信号、エンジン3のノッキングを検出するためのノックセンサ27からの信号、エンジン3の排気管29に設けられた酸素濃度センサ31からの信号、クランク軸33の回転に応じてクランク軸センサ35から出力されるクランク軸回転信号(以下、クランク信号という)、吸気バルブを作動させるカム軸(以下、吸気カム軸という)37の回転に応じて吸気カム軸センサ39から出力される吸気カム軸回転信号(以下、吸気カム信号という)、排気バルブを作動させるカム軸(以下、排気カム軸という)41の回転に応じて排気カム軸センサ43から出力される排気カム軸回転信号(以下、排気カム信号という)、及び車両のイグニッションスイッチ45やスタータスイッチ(図示省略)といった各種スイッチのオン/オフ状態を表すスイッチ信号などが、入力回路9を介して入力される。
また、マイコン5は、入力回路9を介して入力される上記各信号に基づいてエンジン3や車両の状態を検出すると共に、その検出結果に基づいて駆動回路7に制御信号を出力することにより、スロットル弁15の開度を変えるスロットルモータ49、クランク軸33に対する吸気カム軸37の回転位相差(即ち、吸気バルブの開閉タイミング)や吸気バルブのリフト量を変化させる吸気側可変バルブタイミング機構51を油圧によって作動させるための吸気側オイルコントロールバルブ53、クランク軸33に対する排気カム軸41の回転位相差(即ち、排気バルブの開閉タイミング)や排気バルブのリフト量を変化させる排気側可変バルブタイミング機構55を油圧によって作動させるための排気側オイルコントロールバルブ57、各気筒の点火プラグに通電して着火させるための点火コイル59、及び各気筒のインジェクタ61、といった各種アクチュエータを制御してエンジン3を作動させる。
一方、エンジンECU1の外部には、給電用のメインリレー63が設けられており、イグニッションスイッチ45がオンされると、そのメインリレー63がオンして、当該エンジンECU1の電源ライン65にバッテリ電圧(車載バッテリ67のプラス端子の電圧)VBが供給される。そして、エンジンECU1では、その電源ライン65に供給されるバッテリ電圧VBをもとにして、マイコン5や駆動回路7及び入力回路9等の各部が動作する。
また、メインリレー63は、マイコン5が駆動回路7を介してオン/オフさせることもできるようになっている。そして、マイコン5は、イグニッションスイッチ45のオンに伴いメインリレー63がオンして動作を開始すると、自らもメインリレー63をオンさせることで、その後、イグニッションスイッチ45がオフされても動作を継続し、必要な処理を全て終了したならば、上記メインリレー63をオフさせて、動作を停止する。尚、こうしたメインリレー63による給電技術は、例えば特開平11−259375号公報等に記載されているように周知である。
ここで、クランク軸センサ35は、クランク軸33に固定されたロータ69の外周に対向して設けられ、該ロータ69の外周に所定角度(本実施形態では6°)毎の間隔で形成された歯71を検出して、該歯71が通過する毎に立ち下がるパルスを出力する電磁ピックアップ式やホールIC式等の回転センサである。そして、そのクランク軸センサ35からのパルス列であるクランク信号は、入力回路9によりハイとローとの矩形波に波形整形されてマイコン5に入力される。また、上記ロータ69の外周には、歯71が2個欠損した歯欠損部が1つ設けられている。
このため、クランク軸センサ35から入力回路9を介してマイコン5に入力されるクランク信号には、図2に示すように、6°CA毎(クランク軸33が6°回転する毎)に有効エッジとしての立下がりエッジが発生すると共に、クランク軸33の回転位置が、上記ロータ69の歯欠損部が当該クランク軸センサ35に対向することとなる基準位置に来ると、立下がりエッジの間隔が3倍の長さ(即ち、18°CA分の長さ)になった欠歯部Kが現れることとなる。尚、ロータ69の歯欠損部も“欠歯部”或いは単に“欠歯”と呼ばれることがあり、クランク信号の欠歯部Kも単に“欠歯”と呼ばれることがある。
また、本実施形態では、図2に示すように、エンジン3の各気筒が第1気筒#1→第2気筒#2→第4気筒#4→第5気筒#5→第3気筒#3の順にTDC(上死点)となり、クランク信号の欠歯部Kは、第4気筒#4のBTDC30°CA〜BTDC12°CAの期間と、第3気筒#3のATDC42°CA〜ATDC60°CAの期間とに、現れるようになっている。尚、「BTDC」は「上死点前」を意味し、「ATDC」は「上死点後」を意味している。
一方、吸気カム軸センサ39は、吸気カム軸37に固定されたロータ(図示省略)の外周に対向して設けられ、そのロータの外周に形成された凹凸に応じて、出力信号のレベルがハイとローとに変化する磁気抵抗素子(MRE)式の回転センサであり、この吸気カム軸センサ39から出力される吸気カム信号も、入力回路9により波形整形されてマイコン5に入力される。
そして、吸気カム軸センサ39から入力回路9を介してマイコン5に入力される吸気カム信号の1サイクル分(吸気カム軸37の1回転分であり、クランク軸33の2回転分)のレベル変化パターンは、図2に示すように、例えば第4気筒#4のTDC直前の立下がりエッジを起点にして述べると、「120°CA分:ロー→24°CA分:ハイ→90°CA分:ロー→54°CA分:ハイ→60°CA分:ロー→84°CA分:ハイ→48°CA分:ロー→96°CA分:ハイ→18°CA分:ロー→126°CA分:ハイ」というように、同じクランク角度分の幅を持つ部分が複数存在しないパターンになっている。また、吸気カム信号の各立下がりエッジは、各気筒のBTDC33°CAのタイミングで生じるようになっている。そして更に、吸気カム信号は、クランク信号における欠歯部Kの終了タイミングでは、その各タイミング毎に交互に異なったレベルとなる。具体的には、第4気筒#4のBTDC12°CAのタイミングではローレベルとなり、第3気筒#3のATDC60°CAのタイミングではハイレベルとなる。
また同様に、排気カム軸センサ43も、排気カム軸41に固定されたロータ(図示省略)の外周に対向して設けられ、そのロータの外周に形成された凹凸に応じて、出力信号のレベルがハイとローとに変化する磁気抵抗素子式の回転センサであり、この排気カム軸センサ43から出力される排気カム信号も、入力回路9により波形整形されてマイコン5に入力される。
そして、排気カム軸センサ43から入力回路9を介してマイコン5に入力される排気カム信号の1サイクル分(排気カム軸41の1回転分であり、クランク軸33の2回転分)のレベル変化パターンは、図2に示すように、例えば第4気筒#4のTDC直前の立上がりエッジを起点にして述べると、「102°CA分:ハイ→18°CA分:ロー→144°CA分:ハイ→120°CA分:ロー→18°CA分:ハイ→60°CA分:ロー→72°CA分:ハイ→72°CA分:ロー→102°CA分:ハイ→42°CA分:ロー」というパターンになっている。また、排気カム信号の各エッジのうち、第4気筒#4のTDC直前の立上がりエッジ(「42°CA分:ロー」から「102°CA分:ハイ」へ遷移する立上がりエッジ)は、第4気筒#4のBTDC78°CAのタイミングで生じるようになっている。
尚、図2において、吸気カム信号と排気カム信号との各波形に付された各矢印の上部に記載されている数字は、その矢印の期間のクランク角度を示している。また、図1では、入力回路9を1つにまとめて記載しているが、入力回路9は、実際には、マイコン5に入力させる入力信号毎に存在しており、その各入力信号の種類に応じた信号処理を行う。例えば、入力信号が、クランク信号、吸気カム信号、排気カム信号や、スイッチ信号であれば、その信号を波形整形してマイコン5に入力させ、吸入空気量センサ13からの信号や水温センサ25からの信号といったアナログ信号であれば、その信号から高周波ノイズを除去してマイコン5のA/D変換器用の入力ポートに入力させる。また同様に、駆動回路7も、実際には各アクチュエータ毎に存在している。
以上のようなハードウェア構成のエンジンECU1において、マイコン5は、上記のクランク信号、吸気カム信号、及び排気カム信号に基づいて、エンジン3の1サイクル当たりの回転位置を、0°CA〜720°CAのクランク位置として特定すると共に、当該マイコン5内でクランク位置を認識するために参照するクランクカウンタの値を図2の如く更新する。
尚、クランクカウンタの値は、図2における実線では、分解能が36°CAで且つ0〜19の範囲でラップラウンドするように示しているが、実際には、点線の楕円内に示すように、クランクカウンタの分解能は6°CAである。つまり、クランクカウンタの値は、分解能が6°CAで且つ0〜119の範囲でラップラウンドされる。また、クランクカウンタの値が最大の119から最小の0へ戻るタイミングのクランク位置は、第4気筒#4のBTDC6°CAとなっている。そして、マイコン5は、そのクランクカウンタの値に基づいて、エンジン3に対する点火や燃料噴射のタイミングを設定している。
次に、マイコン5がクランク位置を特定するために実行する処理について、図3〜図7に示すフローチャートを用いて説明する。尚、マイコン5は、データを記憶するためのメモリとして、通常のRAM以外に、上記電源ライン65にバッテリ電圧VBが供給されない本エンジンECU1の動作停止時にもデータを継続的に保持可能なメモリ6(本実施形態では電源バックアップされたRAMであるが、例えば、フラッシュROMやEEPROM等のデータ書き換え可能な不揮発性メモリでも良い)を備えているが、以下の各処理に関する説明において、特に明記していなければ、情報の記憶先は通常のRAMである。また、その通常のRAMに記憶された情報は、イグニッションスイッチ45のオンに伴い当該マイコン5が動作を開始する際のRAMに対する初期化処理によってクリアされるか或いは他の初期値に設定される。
まず図3は、クランク信号に有効エッジとしての立下がりエッジが発生する毎に実行されるクランク信号割り込み処理を表すフローチャートである。但し、このクランク信号割り込み処理は、スタータスイッチがオンされてスタータによるエンジン3のクランキングが開始されてから一定時間が経過するまでのスタータマスク期間は、クランク信号にスタータの作動による大きなノイズが乗っている可能性が高いため、実行が禁止されるようになっている。
図3に示すように、マイコン5がクランク信号割り込み処理を開始すると、まずS110(Sはステップを表す)にて、当該クランク信号割り込み処理を前回開始した時刻から今回開始した時刻までの時間を算出し、その算出した時間をクランク信号のパルス間隔として記憶する。尚、イグニッションスイッチ45がオンされてマイコン5が動作を開始してから始めて本処理を実行した場合、パルス間隔としては、初期値としての最大値が記憶される。
次にS120では、S110にて今回記憶したパルス間隔(即ち、クランク信号の今回のパルス間隔)T1と、S110にて前回記憶したパルス間隔(即ち、クランク信号の前回のパルス間隔)T0とを比較して、T1とT0との比(=T1/T0)が所定の判定比H(例えばH=2.4)以上である、という欠歯判定条件が成立しているか否かを判定し、欠歯判定条件が成立している場合には、クランク信号に欠歯部Kが現れた(詳しくは、今回のクランク信号の立下がりエッジが欠歯部Kの終了タイミングである)と判定して、続くS130に移行し、逆に、欠歯判定条件が成立していなければ、S150に移行する。
尚、イグニッションスイッチ45がオンされてマイコン5が動作を開始してから始めて本処理を実行した場合、T0は初期値としての最大値に設定されていることから、この場合には、S120にて、必ず欠歯判定条件が成立していないと判定されることになる。
次に、欠歯判定条件が成立した際に実行されるS130では、現在の吸気カム信号のレベルをチェックし、続くS140では、クランクカウンタに、上記S120でチェックした吸気カム信号のレベルに応じた値をセットする。具体的には、吸気カム信号がローレベルであれば、現在のクランク位置が第4気筒#4のBTDC12°CAであると判断できることから、クランクカウンタに119(即ち、0に戻る1つ前の値)をセットし、吸気カム信号がハイレベルであれば、現在のクランク位置が第3気筒#3のATDC60°CAであると判断できることから、クランクカウンタに59(即ち、119から360°CA分である60だけずれた値)をセットする。そして、S140にて、クランクカウンタに値119若しくは値59をセットした後は、続くS150に移行する。
S150では、クランク位置を特定済みか否かを判定し、クランク位置を特定済みであれば、続くS160に移行し、逆に、クランク位置を特定済みでなければ、そのまま当該クランク信号割り込み処理を終了する。
尚、クランク位置を特定済みとは、イグニッションスイッチ45のオンに伴い当該マイコン5が動作を開始してから既にクランク位置を特定しているということであり、更に詳しくは、その特定したクランク位置に該当する値をクランクカウンタにセットできており、既にクランクカウンタの値がクランク位置を示す値になっているということである。そして、本実施形態では、マイコン5が動作を開始してから、上述したS140の処理、若しくは、後述する図4のS340又はS360の処理にて、クランクカウンタに値がセットされれば、その時点でクランク位置を特定済みとなる。
次に、S160では、S120での判定結果を参照することにより、クランク信号に欠歯部Kが現れか否かを判定し、クランク信号に欠歯部Kが現れた場合にはS180に移行し、逆に、クランク信号に欠歯部Kが現れていなければ、S170にて、クランクカウンタのカウント処理を行った後、S180に移行する。尚、S170では、基本的には、クランクカウンタの値を1増加させるインクリメント処理を行うが、増加前の値が119である場合には、値を0に戻すラップラウンドの処理を行う。また、S170では、後述のS250の処理によって、カウント方向が反転されている際には、エンジン3が停止直前であり、通常の運転時とは逆方向に回転しているものとして、クランクカウンタの値を1減少させるデクリメント処理を行う。
S180では、イグニッションスイッチ(IGSW)45がオンされているか否か、つまり、エンジン3は運転中であるか否かを判定する。そして、現在、イグニッションスイッチ(IGSW)45がオンされており、エンジン3は運転中であれば、S190に移行して、現在のクランク位置が、第4気筒#4のBTDC6°CAを基準にした36°CA毎のクランク位置であるか否か(即ち、現在のクランクカウンタの値が6の整数倍の値(=0,6,12,…,108,114)であるか否か)を判定し、36°CA毎のクランク位置でなければ、そのまま当該クランク信号割り込み処理を終了し、36°CA毎のクランク位置であれば、続くS200及びS210の処理を実行した後、当該クランク信号割り込み処理を終了する。
尚、S200では、各気筒の点火と燃料噴射を制御するための制御処理を起動し、続くS210では、36°CA毎に実行すべき他の角度同期制御処理を起動する。この結果、エンジン3の点火時期、燃料噴射量、噴射時期、といった各種制御量の演算、並びに、点火や燃料噴射を実施するためのタイマセット等が行われる。
一方、S180にて、イグニッションスイッチ(IGSW)45はオンされていないと判断された場合には、S220にて、エンジン回転数が所定値TH0以下であるか否かを判定することにより、エンジン3が運転状態から停止状態への移行中であるか否かを判定する。尚、エンジン回転数は、上述したS110で逐次更新記憶されるクランク信号のパルス間隔に基づいて算出される。また、所定値TH0には、アイドル回転数よりも低いエンジン回転数、例えば500rpmが設定される。
そして、S220にて、エンジン回転数が所定値TH0よりも高いと判断された場合には、そのまま当該クランク信号割り込み処理を終了し、逆に、エンジン回転数が所定値TH0以下であると判断された際には、続くS230に移行して、上述したS110で逐次更新記憶されるクランク信号のパルス間隔に基づいて、エンジン3の回転方向が反転したか否か(つまり、エンジン3が逆回転したか否か)を判定する。
つまり、エンジン3の停止時には、その停止直前に圧縮行程にある気筒で上死点(TDC)を越えることができず、エンジン3が通常の運転時とは逆方向に回転することがあるので、S230では、S110で逐次更新記憶されるクランク信号のパルス間隔の過去の履歴に基づき、パルス間隔が急に長くなったか否かを判断することにより、エンジン3の回転方向が反転したか否かを判定するのである。
そして、このようにエンジン3の停止時にエンジン3の回転方向が反転すると、S170のカウント処理にて更新されるクランクカウンタの値が、エンジン3の実際のクランク位置とは対応しなくなってしまうことから、S230にてエンジン3の回転方向が反転したと判定された場合には、S240に移行して、そのときの回転方向に従いクランクカウンタの値を更新し、続くS250にて、S170のカウント処理におけるクランクカウンタのカウント方向を今までとは逆方向に反転させた後、当該クランク信号割り込み処理を終了する。尚、S230にてエンジン3の回転方向は反転していないと判断された場合には、そのまま当該クランク信号割り込み処理を終了する。
次に、図4は、吸気カム信号と排気カム信号との何れかにエッジが発生する毎に実行されるカム信号割り込み処理を表すフローチャートである。
図4に示すように、マイコン5がカム信号割り込み処理を開始すると、まずS300にて、当該割り込み処理の起動に今回用いられたカム信号の種類とそのエッジ方向(立上がり若しくは立下がり)を記憶し、続くS310にて、イグニッションスイッチ(IGSW)45がオンされているか否かを判定する。そして、S310にて、イグニッションスイッチ45がオンされていると判定した場合には、S320に移行して、エンジン回転数が所定値TH1以下であるか否かを判定する。
尚、この所定値TH1は、エンジン3が本エンジンECU1の制御によって作動していると見なされる回転数であり、本実施形態では、アイドル回転数よりも若干低い例えば500rpmに設定されている。また、エンジン回転数は、図3のS110で逐次更新記憶されるクランク信号のパルス間隔に基づいて算出される。
次に、S320にて、エンジン回転数が所定値TH1以下であると判定された場合、つまり、現在、エンジン3の始動直後である場合には、S330に移行し、逆に、S320にて、エンジン回転数が所定値TH1を越えていると判定された場合には、S390にて、クランク軸33の停止位置の推定値である停止位置推定値をメモリ6から消去する初期化を行った後、当該カム信号割り込み処理を終了する。尚、停止位置推定値は、後述する400の停止位置推定処理によってエンジン3の停止時に算出され、メモリ6に記憶されるデータである。
次に、S330では、図3のS150と同様に、現在、クランク位置を特定済みか否かを判定する。そして、S330にて、クランク位置を特定済みではないと判断されると、続くS340にて、カム信号に基づく気筒判別処理(図6参照)を実行した後、S350に移行し、逆に、S330にて、クランク位置を特定済みであると判断されると、そのままS350に移行する。
また、S350では、S330や図3のS150と同様に、現在、クランク位置を特定済みか否かを判定する。そして、S350にて、クランク位置を特定済みではないと判断されると、続くS360にて、停止位置推定値に基づくクランク位置の特定処理(図7参照)を実行した後、当該カム信号割り込み処理を終了し、逆に、S350にて、クランク位置を特定済みであると判断されると、そのまま当該カム信号割り込み処理を終了する。
また、S310にて、イグニッションスイッチ(IGSW)45がオンされていないと判断された場合、つまり、イグニッションスイッチ(IGSW)45がオフされて、現在エンジン3が運転状態から停止状態への移行中である場合には、S400に移行して、エンジン3の停止位置を推定する停止位置推定処理(図5参照)を実行し、当該カム信号割り込み処理を終了する。
尚、マイコン5は、イグニッションスイッチ(IGSW)45がオンされることにより起動すると、上記各割り込み処理を繰り返し実行するが、起動後、イグニッションスイッチ(IGSW)45がオフされ、その後、クランク信号と吸気カム信号と排気カム信号との全てが一定時間以上継続してレベル変化しない、という状態を検出すると、エンジン3が完全に停止したと判断して、メインリレー63をオフさせ、自らの動作を停止する。
次に、エンジン3の停止時に図4のS400にて実行される停止位置推定処理について説明する。
図5に示す如く、この停止位置推定処理では、まずS500にて、マイコン5の起動時にリセット(=0)され、後述のS650の処理にてセット(=1)される推定禁止フラグFが、セット(=1)されているか否かを判断する。そして、推定禁止フラグFがセットされていれば、そのまま当該停止位置推定処理を終了し、逆に、推定禁止フラグFがセットされていなければ、S510に移行して、図3のS220と同様に、エンジン回転数が所定値TH0以下であるか否かを判定する。
次に、S510にて、エンジン回転数が所定値TH0以下ではないと判断された場合には、そのまま当該停止位置推定処理を終了し、S510にて、エンジン回転数が所定値TH0以下であると判断された場合には、S520に移行して、メモリ6に停止位置推定値が記憶されているか否かを判断する。
そして、S520にて、メモリ6に停止位置推定値が記憶されていないと判断された際には、S530に移行して、図3のクランク信号割り込み処理にて更新されるクランクカウンタの値に基づき、停止位置推定値の初期値を設定し、その値をメモリ6に記憶した後、当該停止位置推定処理を終了する。
尚、停止位置推定値は、エンジン3の停止時のクランク位置を表すものであり、本実施形態では、カム信号割り込み処理を起動するのに今回用いられた吸気カム信号若しくは排気カム信号のエッジが、図2に示すE1〜E20までの20通りの番号を付したエッジの何れであるかを判別して、そのエッジ番号を停止位置推定値としてメモリ6に記憶するようにされている。
一方、S520にて、メモリ6に停止位置推定値が記憶されていると判断された場合には、S540に移行して、その停止位置推定値を更新する。尚、この更新処理は、基本的には、エッジ番号をインクリメント(+1)することにより行われ、エッジ番号がE20であるときには、エッジ番号を最小値E1に戻すことによって、停止位置推定値が更新される。また、後述のS590の処理にて停止位置推定値の更新方向が通常時とは逆方向に設定されている場合には、S540では、エッジ番号をデクリメント(−1)することにより、停止位置推定値を更新し、また、この更新動作時にエッジ番号がE1になっているときには、エッジ番号を最大値E20に戻すことによって、停止位置推定値を更新する。
こうして、S540にて停止位置推定値が更新されると、今度は、S550にて、図4のS300にて今回記憶したカム信号のエッジ方向と前回記憶したカム信号のエッジ方向とを比較することにより、エンジン3の回転方向がエンジン運転時の回転方向である正回転方向であるか、或いは、それとは逆の逆回転方向であるかを判定する。
つまり、図2から明らかな如く、エンジン3の正回転時にマイコン5に入力されるカム信号のエッジは、その入力順序とエッジ方向とが決まっており、エンジン3が逆回転した際には、エッジの入力順序やエッジ方向が、エンジン3の正回転時とは異なることから、S550では、カム信号割り込み処理を起動するのに今回用いられたカム信号の種類及びエッジ方向と、前回のカム信号の種類及びエッジ方向とを比較することにより、エンジン3は正回転しているか逆回転しているかを判定するのである。
また、例えば、エンジン3の正回転によってクランク位置が図2のエッジ番号E5とE6との間に入り、停止位置推定値がエッジ番号E5として記憶されている状態で、吸気カム信号の立上がりエッジが入力されてカム信号割り込み処理が起動されたときのように、カム信号割り込み処理の起動に用いられたカム信号のエッジだけでは、エンジン3の回転方向を識別できない領域があるので、続くS560では、S550の判定処理にてエンジン3の回転方向を識別できたか否かを判定する。
そして、S560にて、エンジン3の回転方向を識別できたと判断された場合には、S570に移行して、S550による判定結果に基づき、エンジン3の回転方向が反転したか否か(つまり、エンジン3が逆回転したか否か)を判定し、S570にて、エンジン3の回転方向が反転したと判定された場合には、S580に移行して、そのときの回転方向に従いメモリ6に記憶されている停止位置推定値を修正し、続くS590にて、S540の停止位置推定値の更新処理における停止位置推定値の更新方向を今までとは逆方向に反転させた後、当該停止位置推定処理を終了する。尚、S570にてエンジン3の回転方向は反転していないと判断された場合には、そのまま当該停止位置推定処理を終了する。
一方、S560にて、エンジン3の回転方向を識別できなかったと判断された場合には、S600に移行して、S540にて更新された停止位置推定値に加えて、エンジン3が現在想定している回転方向とは逆方向に回転した際の停止位置推定値を所謂候補として追加する。つまり、S540にて、エンジン3が正回転方向に回転しているとして停止位置推定値を更新した際には、S600では、エンジン3が逆回転方向に回転しているものとして更新した停止位置推定値を、停止位置推定値の新たな候補として追加する。
また、S600にて、停止位置推定値を追加した際には、続くS610にて、クランクカウンタの値からエンジン3の停止位置を推定可能か否かを判断する。つまり、本実施形態では、図3に示したクランク信号割り込み処理でも、エンジン3の停止時にエンジン3の回転方向が反転したか否かを判断して(S230)、その判断結果に基づきクランクカウンタを更新する(S240)ようにしているので、S610では、クランク信号割り込み処理でエンジン3の回転方向を判定してクランクカウンタを正確に更新できたか否かを判断することによって、クランクカウンタの値からエンジン3の停止位置を推定可能か否かを判断するのである。
そして、S610にて、クランクカウンタの値からエンジン3の停止位置(つまりクランク位置)を推定できると判断されると、S620に移行して、そのクランクカウンタの値から一つの停止位置推定値を特定し、当該停止位置推定処理を終了する。
一方、S610にて、クランクカウンタの値からエンジン3の停止位置を推定できないと判断された場合には、S630に移行して、現在メモリ6に記憶されている複数の停止位置推定値は、次のエンジン始動時にエンジンの回転位置(クランク位置)を特定するのに不適切な推定値として予め設定されている値であるか否かを判断する。
そして、S630にて、現在メモリ6に記憶されている複数の停止位置推定値は、不適切な推定値ではない(推定値OK)と判断された場合には、そのまま当該停止位置推定処理を終了し、逆に、現在メモリ6に記憶されている複数の停止位置推定値は、不適切な推定値であると判断された場合には、S640にて、停止位置推定値をメモリ6から消去する初期化を行った後、S650にて、推定禁止フラグFをセットし、当該停止位置推定処理を終了する。
尚、次のエンジン始動時にエンジン3の回転位置(クランク位置)を特定するのに不適切な推定値とは、エンジン始動時に、メモリ6に記憶されている複数の停止位置推定値を用いてクランク位置を特定するようにすると、S360におけるクランク位置特定処理を何度も実行しなければならず、エンジン始動時にクランク位置を特定できるまでの時間が、クランク信号割り込み処理、若しくは、当該カム信号割り込み処理におけるS340の気筒判別処理にてクランク位置が特定される時間に比べて長くなってしまう、停止位置推定値を表す。
つまり、メモリ6に停止位置推定値が複数記憶されている場合には、S360のクランク位置特定処理において、エンジン始動時に、吸気カム軸センサ39及び排気カム軸センサ43から入力される各カム信号のエッジを監視し、そのエッジが、各停止位置推定値に対応したクランク位置からエンジン3を始動したときに入力されるべきエッジと一致しているか否かを順次判定してゆくことによって、最終的に、一つの停止位置推定値から更新されるクランク位置を、現在のエンジン3の回転位置として特定することになるが、クランク位置特定処理においてクランク位置を特定できる迄の処理回数は、メモリ6に記憶された停止位置推定値によって変化し、複数の停止位置推定値の組み合わせによっては、クランク位置特定処理の実行回数が極めて多くなることがあるので、本実施形態では、このような停止位置推定値の組み合わせを予め登録しておき、メモリ6に記憶された複数の停止位置推定値が、その登録された停止位置推定値と一致した場合には、停止位置の推定動作自体を禁止して、次のエンジン始動時には、クランク信号割り込み処理若しくは当該カム信号割り込み処理におけるS340の気筒判別処理にて、クランク位置を特定するようにしているのである。
次に、エンジン3の始動時にクランク位置が特定されていないときに、図4のS340にて実行される気筒判別処理について説明する。
図6に示すように、この気筒判別処理では、まずS710にて、S300にて記憶したカム信号の種類及びエッジ方向に基づき、今回のカム信号割り込み処理の起動は、吸気カム信号の立上がりエッジによるものであるか否かを判断する。
そして、S710にて、今回のカム信号割り込み処理の起動は、吸気カム信号の立上がりエッジによるものであると判断されると、S715に移行して、前述のスタータマスク期間が過ぎた(以下、「スタータマスクが解除された」という)か否かを判断し、スタータマスクが解除されていれば、S720にて、クランク軸センサ35から入力されるクランク信号の立上がり(又は立下がり)エッジをカウントする図示しないカウント処理を開始した後、当該気筒判別処理を終了し、逆に、スタータマスクが解除されていなければ、そのまま当該気筒判別処理を終了する。
一方、S710にて、今回のカム信号割り込み処理の起動は、吸気カム信号の立上がりエッジによるものでないと判断された場合には、S730に移行して、今度は、今回のカム信号割り込み処理の起動は、吸気カム信号の立下がりエッジによるものであるか否かを判断する。
S730にて、今回のカム信号割り込み処理の起動は、吸気カム信号の立下がりエッジによるものでないと判断されると、そのまま当該気筒判別処理を終了し、そうでなければ、S735に移行して、S720の処理により、現在、クランク信号のカウント処理が実行されているか否かを判断する。
そして、クランク信号のカウント処理は未だ実行されていなければ、そのまま当該気筒判別処理を終了し、逆に、クランク信号のカウント処理が実行されていれば、S740に移行して、吸気カム信号の立上がりエッジの入力時にS720にてカウントを開始したクランク信号の立上がり(又は立下がり)エッジのカウント値から、エンジン3の回転位置(クランク位置)を特定する。
つまり、本実施形態では、吸気カム信号の立下がりエッジは、各気筒のBTDC33°CAのタイミングで生じるようになっており、しかも、吸気カム信号の立上がり後、次に立ち下がるまでの期間(クランク角度)は、各気筒毎に異なる期間(クランク角度)に設定されていることから、この気筒判別処理では、吸気カム信号が一端立ち上がって、その後立ち下がるまでの期間を、クランク信号のエッジをカウントすることにより計測し、そのカウント値に基づき、エンジン3のクランク位置を特定するようにされているのである。
そして、このように、S740にて、エンジンのクランク位置が特定されると、続くS750に移行して、クランクカウンタに、S740にて特定したクランク位置に対応する値をセットして、当該気筒判別処理を終了する。尚、S750にて、クランクカウンタに値がセットされると、その後は、クランク位置特定済みとして、当該気筒判別処理や後述のクランク位置特定処理は禁止される。
次に、エンジン3の始動時にクランク位置が特定されていないときに、図4のS360にて実行されるクランク位置特定処理について説明する。
図7に示すように、このクランク位置特定処理では、まずS810にて、メモリ6に停止位置推定値が記憶されているか否かを判定し、メモリ6に停止位置推定値が記憶されていれば、S820にて、カム信号割り込み処理を今回起動するのに用いられたカム信号及びそのエッジ方向は、メモリ6に記憶されている停止位置推定値に対応しているか否かを判断する。
つまり、停止位置推定値は、エンジン3の正回転での停止時に最後に通過したカム信号のエッジを表すエッジ番号であり、そのエッジ番号からは、エンジン始動時に次に入力されるべきカム信号及びそのエッジ方向を特定できることから、S820では、メモリ6に記憶されている停止位置推定値と今回入力されたカム信号のエッジとが対応しているか否かを判断することにより、メモリ6に記憶されている停止位置推定値(複数記憶されている場合にはその内の少なくとも一つ)が、エンジン3の実際の回転位置と一致しているか否かを判断するのである。
そして、S820にて、メモリ6に記憶された停止位置推定値(複数記憶されている場合には、その内の全て)が、エンジン3の実際の回転位置と一致していないと判断された場合には、S830に移行して、メモリ6に記憶された全ての停止位置推定値を消去することにより、メモリ6を初期化し、当該クランク位置特定処理を終了する。
一方、S820にて、メモリ6に記憶された停止位置推定値(複数記憶されている場合には、その内の少なくとも一つ)が、エンジン3の実際の回転位置と一致していると判断された場合には、S840にて、メモリ6には複数の停止位置推定値が記憶されており、その内の一つでもエンジン3の実際の回転位置と一致していないものがあるか否かを判断する。
そして、メモリ6に、エンジン3の実際の回転位置と一致しない停止位置推定値が記憶されている場合には、S850に移行して、その停止位置推定値をメモリ6から消去する初期化の処理を実行した後、S860に移行し、逆に、メモリ6には、エンジン3の実際の回転位置と一致しない停止位置推定値が記憶されていない場合には、そのままS860に移行する。
次に、S860では、前述のスタータマスク期間が過ぎた(以下、「スタータマスクが解除された」という)か否かを判断し、スタータマスクが解除されていれば、S870に移行して、現在メモリ6に記憶されている停止位置推定値は一つであるか否かを判断する。
そして、S870にて、メモリ6に記憶されている停止位置推定値は一つではない(つまり複数である)と判断されるか、或いは、S860にて、スタータマスクは解除されていないと判断された場合には、S880にて、メモリ6に記憶されている停止位置推定値をエンジン3の正回転方向に沿って値1だけ更新した後、当該クランク位置特定処理を終了する。
一方、S870にて、メモリ6に記憶されている停止位置推定値は一つであると判断された場合には、S890に移行して、メモリ6に記憶された停止位置推定値に基づき、クランクカウンタに現在のクランク位置を表す値をセットし、当該クランク位置特定処理を終了する。
例えば、メモリ6に停止位置推定値として、エッジ番号E1が記憶されている場合、今回のカム信号割り込み処理は、次のエッジ番号E2のエッジにより起動されたものであることから、クランクカウンタには、エッジ番号E2のエッジに対応したクランク位置を表す値がセットされ、これにより、エンジン始動時最初のクランク位置が特定されることになる。尚、S890にて、クランクカウンタに値がセットされると、その後は、クランク位置特定済みとして、当該クランク位置特定処理や気筒判別処理は禁止される。
以上説明したように、本実施形態では、エンジン始動時に、エンジン3の回転位置であるクランク位置が特定されて、クランクカウンタに値がセットされる迄は、クランク信号割り込み処理における欠歯検出後のクランクカウンタのセット処理(S140)に加えて、カム信号割り込み処理におけるカム信号に基づく気筒判別処理(S340)と、同じくカム信号割り込み処理における停止位置推定値に基づくクランク位置特定処理(S360)とを実行し、これら各処理の何れかでクランクカウンタに値がセットされると、クランク信号割り込み処理でクランクカウンタの値を更新しつつ、エンジン制御を起動し、しかも、クランクカウンタに値がセットされた後は、クランク位置特定済みとして、クランク位置特定処理(S360)と気筒判別処理(S340)の実行を禁止するようにされている。
従って、本実施形態のエンジン制御装置によれば、クランク信号の欠歯部K、吸気カム信号の変化パターン、若しくは、エンジン停止時に推定した停止位置推定値、を利用した3種類のクランク位置特定方法の内で最も早くクランク位置を特定できたものを利用してエンジン制御を開始することができるようになり、エンジン制御の開始タイミングをより早くすることができる。
また、本実施形態では、エンジン停止時には、圧縮行程にある気筒で上死点(TDC)を越えることができずに、エンジン3が逆回転してしまうことがあるので、停止位置推定処理にてエンジン3の停止位置を推定する際には、エンジン3の回転方向を判定し(S550)、その判定結果に従い、エンジンの停止位置を推定するようにしているため、エンジン停止時にエンジンの回転方向が判定しても、停止位置を正確に推定できる。
また、本実施形態では、エンジン停止時の回転方向の判定は、カム信号割り込み処理にて実行される停止位置推定処理だけでなく、クランク信号割り込み処理においても実行し(S230)、停止位置推定処理にて、カム信号からエンジンの回転方向を識別できないときには、クランク信号割り込み処理にてクランク信号に基づき判定された回転方向に従い更新されるクランクカウンタの値を利用して、停止位置を推定するようにしているため、停止位置の推定精度を高めることができる。
また更に、本実施形態では、停止位置推定処理だけでなく、クランク信号割り込み処理においても、エンジン停止時のエンジン3の回転方向を正確に識別できないときには、エンジン3が正回転したときの停止位置とエンジン3が逆回転したときの停止位置とを各々推定し(S600)、エンジン始動時には、クランク位置特定処理において、その複数の停止位置推定値に基づき、エンジン3の回転位置(クランク位置)を特定するようにしているため、エンジン始動時には、停止位置推定値を利用してクランク位置を特定することができる。
また、本実施形態では、エンジン始動時には、クランク位置特定処理だけでなく、クランク信号割り込み処理や、気筒判別処理でも、エンジン3の回転位置(クランク位置)を特定できることから、停止位置推定処理にて推定された複数の停止位置が、クランク位置特定処理においてクランク位置を特定するのに時間がかかる停止位置である場合には、停止位置推定処理による推定動作、及び、エンジン始動時のクランク位置特定処理の動作を、禁止するようにしている(S640,S650)。このため、本実施形態によれば、マイコン5における不要な演算動作を禁止して、マイコン5の処理負荷を軽減することができる。
尚、本実施形態においては、カム信号割り込み処理における停止位置推定処理(図5)が本発明の停止位置推定手段に相当し、同じくクランク位置特定処理(図7)が本発明の第1の回転位置特定手段に相当し、同じく気筒判別処理(図6)が本発明(詳しくは請求項3に記載)の第3の回転位置特定手段に相当し、クランク信号割り込み処理(図3)においてクランク信号の欠歯部に基づきクランクカウンタをセットするのに実行されるS120〜S140の処理が、本発明(詳しくは請求項1に記載)の第2の回転位置特定手段に相当する。
また、停止位置推定処理及びクランク信号割り込み処理においてエンジン3の回転方向を判定するS550及びS230の処理は、本発明の回転方向判定手段に相当し、このうち、特にS550の処理は、第1の判定手段に相当し、S230の処理は第2の判定手段に相当する。停止位置推定処理において停止位置の推定を禁止するのに実行されるS630〜S650、及びS500の処理は、本発明の停止位置推定禁止手段に相当する。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の技術範囲内にて、種々の態様を採ることができる。
例えば、上記実施形態では、カム信号割り込み処理におけるクランク位置特定処理と、同じく気筒判別処理と、クランク信号割り込み処理との3つの処理にて、エンジン始動時のエンジン3の回転位置(クランク位置)を特定できるようにし、この3つの処理の何れかで最も早くクランク位置を特定できたときに、そのクランク位置に基づくエンジン制御を開始するようにしているが、エンジン始動時にエンジン3の回転位置を特定する処理としては、クランク位置特定処理とクランク信号割り込み処理との2つであっても、或いは、クランク位置特定処理と気筒判別処理との2つであってもよい。
また、上記実施形態では、エンジン停止時の停止位置は、カム信号割り込み処理において、吸気カム信号と排気カム信号とのエッジに基づき推定するものとして説明したが、吸気カム信号若しくは排気カム信号の一方のエッジを用いて推定するようにしてもよく、或いは、クランク信号割り込み処理において更新されるクランクカウンタの値だけでエンジン停止時の停止位置を推定するようにしてもよい。
また、上記実施形態のように、エンジン停止時の停止位置を吸気カム信号や排気カム信号のエッジに基づき推定するようにした場合、エンジン3の気筒数が増えると、カム信号のエッジを増加させ、そのエッジ間隔を短くする必要があるが、このためには、カム軸センサの形状を複雑にし、しかも、カム軸に対するカム軸センサの組み付け精度を高める必要があることから、装置のコストアップを招いてしまう。
そこで、こうした問題を防止し、カム軸センサの形状をより簡単にし、しかも、カム軸への組み付け精度も要求されないようにするには、エンジン停止時の停止位置を、カム信号とクランク信号とを利用して推定するようにしてもよい。つまり、例えば、上記実施形態において、エンジン停止時には、吸気カム信号のエッジを利用して、停止位置を大まかに推定し、その推定後のエンジン停止位置を、クランク信号をカウントすることにより推定するようにすれば、カム軸センサの形状を複雑にしたり、カム軸センサのカム軸への組み付け精度を高めることなく、エンジン3の停止位置を精度よく推定することができるようになる。
また上記実施形態では、エンジン3の停止位置を推定する際には、図5のS550〜S650の処理において、カム信号のエッジ方向の変化に基づきエンジン3の回転方向を判定し、エンジン3が逆回転したときには、その回転方向に応じて停止位置推定値を修正し、更に、回転方向を正確に判定できないときには、各回転方向に応じて停止位置推定値の候補を追加するものとして説明したが、エンジン3が停止する直前で逆回転しても、カム信号のエッジが発生することのないようにカム軸センサを形成すれば、こうした処理を不要にすることができる。
つまり、上記実施形態において、エンジン3が逆回転したときにカム信号のエッジが入力されるのは、カム軸センサ39、43が、エンジン3の各気筒の上死点の直前でカム信号のエッジを発生するように構成されているためであることから、例えば、エンジン3の各気筒の上死点若しくは上死点を過ぎた位置でカム信号のエッジが発生するように、カム軸センサを形成すれば、図5におけるS550〜S650の処理を不要にすることができる。
また、上記実施形態では、クランク信号にノイズが乗ると予想されるスタータマスク期間が過ぎるまではエンジンの制御を開始しないようにしていたが、そのスタータマスク期間中は時間タイマで燃料噴射などを実施するように構成すれば、スタータマスク期間中であっても、クランク位置特定処理若しくは気筒判別処理にてエンジン3の回転位置(クランク位置)が特定された時点からエンジン制御を開始することができる。
また、上記実施形態では、吸気カム信号と排気カム信号との2つのカム軸回転信号を利用して、エンジン3の停止位置を推定したり、エンジン3の回転位置(クランク位置)を特定するようにしたが、本発明は、クランク信号の他にカム軸回転信号が1つだけ入力されるものであっても適用することができる。
また、上記実施形態では、クランク軸33のロータ69に欠歯(歯欠損部)を設けることで基準位置を検出しているが、基準位置を検出するためのロータ69の構成としては、そのような欠歯を設ける構成に限定されるものではなく、他の歯形状構成(例えば、いわゆる足し歯や余分歯を設ける構成、欠歯の逆で1箇所だけ突起部(歯)が他より長い等の不連続部を設ける構成など)でも良い。
実施形態のエンジン制御装置全体の構成を表す構成図である。 クランク信号と吸気カム信号と排気カム信号とクランクカウンタとの関係を表すタイムチャートである。 クランク信号割り込み処理を表すフローチャートである。 カム信号割り込み処理を表すフローチャートである。 停止位置推定処理を表すフローチャートである。 カム信号に基づく気筒判別処理を表すフローチャートである。 停止位置推定値に基づくクランク位置特定処理を表すフローチャートである。
符号の説明
1…エンジンECU、3…エンジン、5…マイコン、6…メモリ、7…駆動回路、9…入力回路、11…吸気管、13…吸入空気量センサ、15…スロットル弁、17…スロットル開度センサ、19…吸気管圧力センサ、21…アクセルペダル、23…ペダル位置センサ、25…水温センサ、27…ノックセンサ、29…排気管、31…酸素濃度センサ、33…クランク軸、35…クランク軸センサ、37…吸気カム軸、39…吸気カム軸センサ、41…排気カム軸、43…排気カム軸センサ、45…イグニッションスイッチ、49…スロットルモータ、51…吸気側可変バルブタイミング機構、53…吸気側オイルコントロールバルブ、55…排気側可変バルブタイミング機構、57…排気側オイルコントロールバルブ、59…点火コイル、61…インジェクタ、63…メインリレー、65…電源ライン、67…車載バッテリ、69…ロータ、71…歯、K…欠歯部。

Claims (6)

  1. エンジンのカム軸に設けられ、該カム軸の回転位置に応じて変化するカム軸回転信号を発生するカム軸センサと、
    エンジンのクランク軸に設けられ、該クランク軸の所定の回転角度毎にクランク軸回転信号を発生するクランク軸センサと、
    エンジンが運転状態から停止する際、前記カム軸回転信号及びクランク軸回転信号の少なくとも一方に基づき、エンジンの回転停止位置を推定する停止位置推定手段と、
    エンジンの始動時に、前記停止位置推定手段にて推定された停止位置と前記カム軸回転信号とに基づき、エンジン1サイクル当たりの回転位置を特定する第1の回転位置特定手段と、
    を備え、該第1の回転位置特定手段にてエンジンの回転位置が特定されると、該回転位置に基づくエンジン制御を開始し、その後、エンジンの回転位置を前記クランク軸回転信号に基づき更新しつつエンジン制御を実行するよう構成されたエンジン制御装置であって、
    前記クランク軸センサを、前記クランク軸の特定の回転角度位置にて前記クランク軸回転信号が前記クランク軸の回転に対して不連続になるよう構成すると共に、
    前記クランク軸センサから出力されるクランク軸回転信号に基づき前記クランク軸の特定の回転角度位置を検出し、そのときのクランク軸回転信号若しくはカム軸回転信号の変化状態から前記エンジンの回転位置を特定する第2の回転位置特定手段を設け、
    前記第1の回転位置特定手段が回転位置を特定可能であっても、前記第1の回転位置特定手段にて回転位置が特定される前に、前記第2の回転位置特定手段にて回転位置が特定された際には、該第2の回転位置特定手段にて特定された回転位置に基づきエンジン制御を開始するよう構成してなることを特徴とするエンジン制御装置。
  2. エンジンのカム軸に設けられ、該カム軸の回転位置に応じて変化するカム軸回転信号を発生するカム軸センサと、
    エンジンのクランク軸に設けられ、該クランク軸の所定の回転角度毎にクランク軸回転信号を発生するクランク軸センサと、
    エンジンが運転状態から停止する際、前記カム軸回転信号及びクランク軸回転信号の少なくとも一方に基づき、エンジンの回転停止位置を推定する停止位置推定手段と、
    エンジンの始動時に、前記停止位置推定手段にて推定された停止位置と前記カム軸回転信号とに基づき、エンジン1サイクル当たりの回転位置を特定する第1の回転位置特定手段と、
    を備え、該第1の回転位置特定手段にてエンジンの回転位置が特定されると、該回転位置に基づくエンジン制御を開始し、その後、エンジンの回転位置を前記クランク軸回転信号に基づき更新しつつエンジン制御を実行するよう構成されたエンジン制御装置であって、
    前記カム軸回転信号の変化波形に基づき、前記エンジンの回転位置を特定する第2の回転位置特定手段を備え、
    前記第1の回転位置特定手段が回転位置を特定可能であっても、前記第1の回転位置特定手段にて回転位置が特定される前に、前記第2の回転位置特定手段にて回転位置が特定された際には、該第2の回転位置特定手段にて特定された回転位置に基づきエンジン制御を開始するよう構成してなることを特徴とするエンジン制御装置。
  3. 前記カム軸回転信号の変化波形に基づき、前記エンジンの回転位置を特定する第3の回転位置特定手段を備え、
    エンジンの始動時に、前記第1の回転位置特定手段、前記第2の回転位置特定手段、及び、前記第3の回転位置特定手段の何れかで最初にエンジンの回転位置が特定された際に、該特定された回転位置に基づくエンジン制御を開始することを特徴とする請求項1に記載のエンジン制御装置。
  4. 前記停止位置推定手段は、
    前記カム軸回転信号又は前記クランク軸回転信号の変化状態からエンジンが正回転しているか逆回転したかを判定する回転方向判定手段を備え、
    該回転方向判定手段にてエンジンの回転方向が特定されたときには、前記回転方向判定手段の判定結果に基づきエンジンの停止位置を推定し、該回転方向判定手段にてエンジンの回転方向が特定できないときには、エンジン正回転時及びエンジン逆回転時のエンジンの停止位置を各々推定することを特徴とする請求項1〜請求項3の何れか記載に記載のエンジン制御装置。
  5. 前記停止位置推定手段は、
    前記回転方向判定手段として、
    前記カム軸回転信号の変化状態からエンジンの回転方向を判定する第1の判定手段と、
    前記クランク軸回転信号の変化状態からエンジンの回転方向を判定する第2の判定手段と、
    を備え、前記第1の判定手段及び前記第2の判定手段の何れかでエンジンの回転方向が特定されたときには、その特定された回転方向に基づきエンジンの停止位置を推定し、前記第1の判定手段及び前記第2の判定手段の両方でエンジンの回転方向が特定できないときには、エンジン正回転時及びエンジン逆回転時のエンジンの停止位置を各々推定することを特徴とする請求項4に記載のエンジン制御装置。
  6. 前記停止位置推定手段にて複数の停止位置が推定されると、該複数の停止位置が、前記第1の回転位置特定手段にてエンジンの回転位置を特定するのに不適切として予め設定された停止位置であるか否かを判定し、該複数の停止位置がエンジンの回転位置を特定するのに不適切な停止位置である場合には、前記停止位置推定手段による停止位置の推定を禁止して、次のエンジン始動時に前記第1の回転位置特定手段がエンジンの回転位置を特定するのを禁止する停止位置推定禁止手段を設けたことを特徴とする請求項4又は請求項5に記載のエンジン制御装置。
JP2004174302A 2004-06-11 2004-06-11 エンジン制御装置 Expired - Lifetime JP4069902B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004174302A JP4069902B2 (ja) 2004-06-11 2004-06-11 エンジン制御装置
US11/149,550 US7142973B2 (en) 2004-06-11 2005-06-10 Engine control apparatus designed to ensure accuracy in determining engine position

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004174302A JP4069902B2 (ja) 2004-06-11 2004-06-11 エンジン制御装置

Publications (2)

Publication Number Publication Date
JP2005351212A JP2005351212A (ja) 2005-12-22
JP4069902B2 true JP4069902B2 (ja) 2008-04-02

Family

ID=35585885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004174302A Expired - Lifetime JP4069902B2 (ja) 2004-06-11 2004-06-11 エンジン制御装置

Country Status (1)

Country Link
JP (1) JP4069902B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4586903B2 (ja) * 2008-07-22 2010-11-24 株式会社デンソー エンジン制御装置
JP5169956B2 (ja) * 2009-04-07 2013-03-27 スズキ株式会社 内燃機関の始動時制御装置
JP2011007144A (ja) * 2009-06-29 2011-01-13 Fujitsu Ten Ltd エンジンの制御装置、及び制御方法
JP6071568B2 (ja) * 2013-01-16 2017-02-01 本田技研工業株式会社 車両用制御装置
JP6560047B2 (ja) * 2015-07-29 2019-08-14 株式会社Subaru 内燃機関のノック検出装置
KR102463442B1 (ko) * 2016-09-22 2022-11-04 현대자동차주식회사 Mcu 독립형 엔진정지각 보상 방법 및 하이브리드 차량

Also Published As

Publication number Publication date
JP2005351212A (ja) 2005-12-22

Similar Documents

Publication Publication Date Title
US8818685B2 (en) Rotation detecting device and rotation detecting method
JP4258448B2 (ja) 内燃機関の逆回転検出装置
JP4419655B2 (ja) エンジンの停止始動制御装置
JP2011153586A (ja) 内燃機関の制御装置
JP4508215B2 (ja) 内燃機関の制御装置
CN111664013A (zh) 发动机同步***及其控制方法
JP5170312B2 (ja) 内燃機関の始動制御システム
JP4239868B2 (ja) 内燃機関の気筒判別装置
JP4310744B2 (ja) エンジン制御装置
JP4135684B2 (ja) エンジン制御装置
JP4069902B2 (ja) エンジン制御装置
JP4131397B2 (ja) 内燃機関の制御装置
JP4410614B2 (ja) エンジン制御装置
JP4508225B2 (ja) 内燃機関の始動制御装置
JP4619299B2 (ja) 内燃機関の燃焼状態判定方法
CN108952980A (zh) 用于发动机的控制装置及发动机的控制方法
EP1384878A1 (en) Control apparatus and control method of engine
JP4406324B2 (ja) エンジン制御装置
JP4816163B2 (ja) 可変動弁機構の制御装置
JP2005264862A (ja) エンジン制御装置
JP6153342B2 (ja) 内燃機関の制御装置
JP4196426B2 (ja) 内燃機関のクランク角判定装置
JP5287977B2 (ja) 内燃機関の制御装置
JP2010180865A (ja) 内燃機関の可変動弁装置
JP4389680B2 (ja) 内燃機関の点火制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080107

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4069902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120125

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140125

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250