JP2005264862A - エンジン制御装置 - Google Patents
エンジン制御装置 Download PDFInfo
- Publication number
- JP2005264862A JP2005264862A JP2004080373A JP2004080373A JP2005264862A JP 2005264862 A JP2005264862 A JP 2005264862A JP 2004080373 A JP2004080373 A JP 2004080373A JP 2004080373 A JP2004080373 A JP 2004080373A JP 2005264862 A JP2005264862 A JP 2005264862A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- crankshaft
- rotation signal
- missing tooth
- engine control
- 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.)
- Pending
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】 エンジン制御装置においてクランク位置を簡単な処理で正確に特定する。
【解決手段】 10°CA毎に立ち上がりエッジが生じるクランク軸センサからのNE信号と、カム軸の回転に応じてレベル変化するカム軸センサからのG信号とに基づいて、クランク位置を特定するエンジン制御装置において、G信号の1サイクル分のレベル変化パターンは、「60°CA分:ハイ→120°CA分:ロー→180°CA分:ハイ→60°CA分:ロー→120°CA分:ハイ→180°CA分:ロー」というように、同じレベルで同じクランク角度分の幅を持つ部分が複数存在しないようになっている。そして、このエンジン制御装置では、G信号が前回レベル変化してから今回レベル変化するまでの該G信号の1パルス期間中(G信号のエッジ間)にNE信号に生じた立ち上がりエッジの数と、その1パルス期間におけるG信号のレベルとから、クランク位置を特定する。
【選択図】 図2
【解決手段】 10°CA毎に立ち上がりエッジが生じるクランク軸センサからのNE信号と、カム軸の回転に応じてレベル変化するカム軸センサからのG信号とに基づいて、クランク位置を特定するエンジン制御装置において、G信号の1サイクル分のレベル変化パターンは、「60°CA分:ハイ→120°CA分:ロー→180°CA分:ハイ→60°CA分:ロー→120°CA分:ハイ→180°CA分:ロー」というように、同じレベルで同じクランク角度分の幅を持つ部分が複数存在しないようになっている。そして、このエンジン制御装置では、G信号が前回レベル変化してから今回レベル変化するまでの該G信号の1パルス期間中(G信号のエッジ間)にNE信号に生じた立ち上がりエッジの数と、その1パルス期間におけるG信号のレベルとから、クランク位置を特定する。
【選択図】 図2
Description
本発明は、エンジンを制御するエンジン制御装置に関し、特に、エンジンの1サイクルにおけるクランク軸の回転位置であるクランク位置を特定する技術に関するものである。
従来より、エンジン制御装置では、エンジンのクランク軸の回転に応じてクランク軸センサから出力されるクランク軸回転信号(一般にNE信号とも呼ばれる)と、クランク軸の回転に対し1/2の比率で回転するエンジンのカム軸の回転に応じてカム軸センサから出力されるカム軸回転信号(一般にG信号とも呼ばれる)とから、クランク位置を特定して、エンジンに対する点火や燃料噴射などを制御している(例えば、特許文献1参照)。
具体例を挙げて説明すると、まず、クランク軸センサから出力されるクランク軸回転信号には、クランク軸が所定角度回転する毎にパルスエッジが発生すると共に、クランク軸の回転位置が予め設定された基準位置に来た時には、パルスエッジが所定数(例えば2個)欠落した欠歯部が現れるようになっている。
また、カム軸センサから出力されるカム軸回転信号は、カム軸の回転に応じてハイレベルとローレベルとに変化すると共に、クランク軸回転信号に欠歯部が現れるタイミングでは、その各タイミング毎に交互に異なったレベルとなる。尚、この例では、カム軸センサが、磁気抵抗素子(MRE)式のセンサであるものとしている。
そして、エンジン制御装置では、クランク軸回転信号に欠歯部が現れたか否かを判定する欠歯判定を行い、その欠歯判定で欠歯部が現れたと判定したときのカム軸回転信号のレベルから、クランク位置を特定する。例えば、カム軸回転信号がハイレベルならば、現在のクランク位置が特定のクランク位置(ここではX°CAとする)であると認識し、カム軸回転信号がローレベルならば、現在のクランク位置がX°CAから360°CAだけ進んだクランク位置であると認識する。尚、「CA」はクランクアングル(クランク角度)を意味している。
また一般に、この種のエンジン制御装置では、クランク軸回転信号のパルス間隔(即ち、クランク軸回転信号に上記所定角度毎のパルスエッジが発生する間隔)を計測すると共に、今回測定したパルス間隔T1と前回計測したパルス間隔T0とを比較して、例えば、T1とT0との比(=T1/T0)が所定の判定比以上である、といった判定条件が成立したならば、クランク軸回転信号に欠歯部が現れたと判定する。
特開2001−90600号公報
上記従来のエンジン制御装置では、例えば下記の(1)や(2)の原因により、本当はクランク軸回転信号に欠歯部が現れていないのに、欠歯部が現れたと誤判定してしまう可能性がある。そして、欠歯部が現れたと誤判定すると、正しいクランク位置を認識することができなくなるため、適切でないタイミングで点火や燃料噴射を実施してしまうこととなる。
(1)エンジンの何れかの気筒が圧縮行程の上死点(いわゆるTDC)付近になったことなどによりクランク軸の回転速度が一時的に変動して、クランク軸回転信号の各パルス間隔のうちの何れかが間延びし、その結果、クランク軸回転信号に欠歯部が現れるタイミングではないのに上記の判定条件が成立して、欠歯部が現れたと誤判定してしまう。
(2)エンジン回転数(クランク軸の回転速度)が非常に低くて、クランク軸回転信号のパルス間隔の計測値がオーバーフローし(即ち、計測値のビット数が予め想定されたビット数をオーバーし)、その結果、パルス間隔の計測値自体が不正確なものになって、欠歯部が現れたと誤判定してしまう。
特に、上記(1)や(2)の原因による欠歯部の誤判定は、エンジンの始動時に連続して起こり易く、また、従来のエンジン制御装置では、欠歯部が現れたか否かの判定結果のみに依存してクランク位置を特定するようにしている。よって、従来のエンジン制御装置では、エンジンの始動時において、正確なクランク位置を認識するまでに時間がかかってしまう可能性がある。
そこで、上記(1)の原因による誤判定を回避するために、欠歯判定で比較するパルス間隔の数を2つから例えば5つといった具合に増やすことも考えられるが、そのようにすると、処理が複雑になってしまう上に、欠歯部が現れたか否かを判定するための判定比などの設定も難しくなる。また、上記(2)の原因による誤判定を回避するために、エンジン回転数が所定値以下の場合には、欠歯判定を行わないようにしたり、欠歯判定による判定結果を無効にしたりすることが考えられるが、そのようにすると、エンジンの低回転時にクランク位置を特定することができなくなってしまう。
本発明は、こうした問題に鑑みなされたものであり、エンジン制御装置においてクランク位置を簡単な処理で正確に特定できるようにすることを目的としている。
上記目的を達成するためになされた請求項1のエンジン制御装置では、第1の信号発生手段が、エンジンのクランク軸の回転に応じてクランク軸回転信号を出力する。そして、そのクランク軸回転信号には、クランク軸が所定角度回転する毎にパルスエッジ(以下、この所定角度毎のパルスエッジを有効エッジという)が発生する。
また、第2の信号発生手段が、クランク軸の回転に対し1/2の比率で回転するエンジンのカム軸の回転に応じて、ハイレベルとローレベルとに変化するカム軸回転信号を出力する。そして特に、そのカム軸回転信号は、カム軸が1回転する1サイクル分のレベル変化パターンにおいて、同じレベルで且つ同じクランク角度分の幅を持つ部分が複数存在しないようになっている。
このため、カム軸回転信号が前回レベル変化してから今回レベル変化するまでの該カム軸回転信号の1パルス期間中に、クランク軸回転信号に有効エッジが何回発生したかと、その1パルス期間におけるカム軸回転信号のレベルがハイ又はローの何れであるかとにより、カム軸の回転位置が分かり、エンジンの1サイクルにおけるクランク軸の回転位置であるクランク位置が分かる。
そこで、このエンジン制御装置では、クランク位置特定手段が、カム軸回転信号が前回レベル変化してから今回レベル変化するまでの該カム軸回転信号の1パルス期間中にクランク軸回転信号に発生した有効エッジの数と、その1パルス期間におけるカム軸回転信号のレベルとに基づいて、クランク位置を特定するようになっている。
このような請求項1のエンジン制御装置によれば、エンジンの回転変動や回転数に拘わらず、クランク位置を簡単な処理で正確に特定することができる。
つまり、従来の装置で必須であったクランク軸回転信号の欠歯判定を特に行わなくても、エンジン始動時においてクランキングが開始されてからカム軸回転信号が2回レベル変化すれば、クランク位置特定手段によりクランク位置を特定することができ、前述した(1)や(2)の原因によって正しいクランク位置が認識できなくなることを回避することができるからである。
つまり、従来の装置で必須であったクランク軸回転信号の欠歯判定を特に行わなくても、エンジン始動時においてクランキングが開始されてからカム軸回転信号が2回レベル変化すれば、クランク位置特定手段によりクランク位置を特定することができ、前述した(1)や(2)の原因によって正しいクランク位置が認識できなくなることを回避することができるからである。
次に、請求項2のエンジン制御装置では、請求項1のエンジン制御装置と同様の第1及び第2の信号発生手段を備えているが、第2の信号発生手段から出力されるカム軸回転信号は、カム軸が1回転する1サイクル分のレベル変化パターンにおいて、同じクランク角度分の幅を持つ部分がレベルに拘わらず複数存在しないようになっている。
このため、カム軸回転信号が前回レベル変化してから今回レベル変化するまでの該カム軸回転信号の1パルス期間中に、クランク軸回転信号に有効エッジが何回発生したかにより、カム軸の回転位置が分かり、クランク位置が分かる。
そこで、請求項2のエンジン制御装置では、クランク位置特定手段が、カム軸回転信号が前回レベル変化してから今回レベル変化するまでの該カム軸回転信号の1パルス期間中にクランク軸回転信号に発生した有効エッジの数に基づいて、クランク位置を特定するようになっている。
そして、このような請求項2のエンジン制御装置によっても、請求項1のエンジン制御装置と同様の効果を得ることができる。
尚、請求項1のエンジン制御装置では、カム軸回転信号の1サイクル分のレベル変化パターンとして、レベルが異なりさえすれば、同じクランク角度分の幅を持つ部分が2つあっても良いため(つまり、同じクランク角度分の幅を持つハイの部分とローの部分があっても良いため)、そのカム軸回転信号のレベル変化パターン(延いては、第2の信号発生手段の構成)を、請求項2のエンジン制御装置よりも単純なものにし易い。よって、その点においては、請求項2のエンジン制御装置よりも請求項1のエンジン制御装置の方が有利である。
尚、請求項1のエンジン制御装置では、カム軸回転信号の1サイクル分のレベル変化パターンとして、レベルが異なりさえすれば、同じクランク角度分の幅を持つ部分が2つあっても良いため(つまり、同じクランク角度分の幅を持つハイの部分とローの部分があっても良いため)、そのカム軸回転信号のレベル変化パターン(延いては、第2の信号発生手段の構成)を、請求項2のエンジン制御装置よりも単純なものにし易い。よって、その点においては、請求項2のエンジン制御装置よりも請求項1のエンジン制御装置の方が有利である。
次に、請求項3のエンジン制御装置では、請求項1又は2のエンジン制御装置において、第1の信号発生手段から出力されるクランク軸回転信号には、クランク軸の回転位置が基準位置に来た時に、前記有効エッジが所定数欠落した欠歯部が現れるようになっている。また、第2の信号発生手段から出力されるカム軸回転信号は、クランク軸回転信号に欠歯部が現れるタイミングでは、その各タイミング毎に交互に異なったレベルとなる。
そして、このエンジン制御装置では、パルス間隔計測手段が、クランク軸回転信号に発生する前記有効エッジの間隔(以下、パルス間隔という)を計測し、欠歯判定手段が、パルス間隔計測手段により計測されるパルス間隔に基づいて、クランク軸回転信号に欠歯部が現れたか否かを判定し、その欠歯判定手段によって欠歯部が現れたと判定されると、欠歯判定時特定手段が、そのときのカム軸回転信号のレベルに基づいてクランク位置を特定する。
このような請求項3のエンジン制御装置によれば、エンジンが始動のためにクランキングされるエンジン始動時において、もし、カム軸回転信号が2回レベル変化するよりも先に、クランク軸回転信号に欠歯部が現れたならば、その時点で欠歯判定時特定手段によりクランク位置が特定されることとなる。
よって、エンジン始動時にクランク位置を早期に特定し易くなり、エンジンの始動性を向上させることができる。クランク位置を早く特定できるほど、点火や燃料噴射などの制御を早期に開始することができるからである。
尚、欠歯判定手段は、前述した(1)や(2)の原因により、本当はクランク軸回転信号に欠歯部が現れていないのに欠歯部が現れたと誤判定してしまう可能性があり、もし、そのような誤判定が生じると、欠歯判定時特定手段によって特定されるクランク位置は正しいものとはならないが、カム軸回転信号が2回レベル変化しさえすれば、クランク位置特定手段の方で確実に正しいクランク位置が特定されることとなり、大きな問題とはならない。
次に、請求項4のエンジン制御装置では、請求項3のエンジン制御装置において、クランク軸回転信号の欠歯部は、該欠歯部が現れる直前のカム軸回転信号のレベル変化タイミングからみてクランク軸回転信号に一定数目の有効エッジが発生する時点からその次の有効エッジが発生するまでの期間となっている。
更に、このエンジン制御装置では、カム軸回転信号がレベル変化してからクランク軸回転信号に発生した有効エッジの数を計数手段が計数し、また、レベル変化有無判定手段が、欠歯判定手段によりクランク軸回転信号に欠歯部が現れたと判定されると、その判定時の前にカム軸回転信号にレベル変化が生じていたか否かを判定する。
そして、レベル変化有無判定手段により肯定判定されると(つまり、欠歯判定手段により欠歯部が現れたと判定された時点の前にカム軸回転信号にレベル変化が生じていたと判定されると)、誤動作防止手段が、その時点で計数手段により計数されている前記有効エッジの数に基づいて、欠歯判定手段の判定結果が正しいか否かを判定し、正しくないと判定したならば欠歯判定時特定手段が作動するのを禁止する。
具体的には、カム軸回転信号にレベル変化が生じてから、クランク軸回転信号に欠歯部が現れて、該欠歯部が現れたことを欠歯判定手段が正しく判定した場合に、その判定時点で計数手段により計数されているべき有効エッジの数を、正常数とすると、誤動作防止手段は、計数手段により計数されている有効エッジの数が上記正常数でなければ、欠歯判定手段の判定結果が正しくない(欠歯判定手段が誤判定した)と判定するように構成することができる。
つまり、請求項4のエンジン制御装置では、欠歯判定手段によってクランク軸回転信号に欠歯部が現れたと判定されても、その判定タイミングが、それの直前のカム軸回転信号のレベル変化タイミングからみて正常なタイミングでなければ、今回の欠歯判定手段による判定結果は誤判定であるとして、欠歯判定時特定手段がクランク位置を特定するのを禁止するようにしている。
このような請求項4のエンジン制御装置によれば、エンジン始動時にクランク位置を早期に特定することと、クランク位置を正確に特定することとを、高い次元で両立させることができる。
次に、請求項5のエンジン制御装置では、請求項3又は4のエンジン制御装置において、クランク位置特定手段によってクランク位置が特定された後は、欠歯判定時特定手段を作動させないようになっている。
このようなエンジン制御装置では、エンジン始動時において、カム軸回転信号が2回レベル変化するよりも先に、クランク軸回転信号に欠歯部が現れた場合にだけ、欠歯判定時特定手段によりクランク位置が特定され、それ以外の場合には、クランク位置特定手段によってクランク位置が特定されることとなる。よって、欠歯判定手段による判定結果を利用してクランク位置を特定する機会を最小限にすることができ、延いては、クランク位置を誤認識してしまう可能性を最小限することができる。
以下、本発明が適用された実施形態のエンジン制御装置について、図面を用いて説明する。尚、本実施形態のエンジン制御装置は、例えばV型8気筒の4ストローク1サイクルエンジン(いわゆる4サイクルエンジン)を制御するものである。
まず、図1は、実施形態のエンジン制御装置の構成を表す構成図であり、図2は、クランク位置を特定するための信号及び動作を表すタイムチャートである。
図1に示すように、本実施形態のエンジン制御装置は、マイコン(マイクロコンピュータ)1、入力回路3,5,7、A/D変換器9、及び出力回路11等を備えた電子制御ユニット(以下、ECUという)13を中心に構成されている。
図1に示すように、本実施形態のエンジン制御装置は、マイコン(マイクロコンピュータ)1、入力回路3,5,7、A/D変換器9、及び出力回路11等を備えた電子制御ユニット(以下、ECUという)13を中心に構成されている。
そして、エンジンに取り付けられたクランク軸センサ15からのクランク軸回転信号(以下、NE信号という)が、入力回路3を介してマイコン1に入力され、また、エンジンに取り付けられたカム軸センサ17からのカム軸回転信号(以下、G信号という)が、入力回路5を介してマイコン1に入力される。
ここで、クランク軸センサ15は、第1の信号発生手段に相当するものであり、エンジンのクランク軸19に固定されたロータ15aと、そのロータ15aの外周に対向して設けられ、該ロータ15aの外周に所定角度(本実施形態では10°)毎の間隔で形成された歯21を検出してパルスを出力する電磁ピックアップ式やホールIC式等の信号出力部15bとからなる。そして、上記ロータ15aの外周には、歯21が2個欠損した歯欠損部23が1つ設けられている。
このため、クランク軸センサ15(詳しくは、その信号出力部15b)から入力回路3を介してマイコン1に入力されるNE信号は、図2に示すように、クランク軸19が10°回転する毎(10°CA毎)にローレベル→ハイレベル→ローレベルといった具合にパルス状に変化すると共に、クランク軸19の回転位置が、上記ロータ15aの歯欠損部23が信号出力部15bに対向することとなる基準位置に来た時には、立ち上がりエッジの間隔が3倍長くなる。よって、NE信号には、10°CA毎に有効エッジとしての立ち上がりエッジが発生すると共に、クランク軸19の回転位置が基準位置に来ると、立ち上がりエッジが2個欠落した欠歯部(図2において「欠歯」と記した部分)が現れることとなる。尚、一般には、ロータ15aの歯欠損部23も、“欠歯部”或いは単に“欠歯”と呼ばれることがある。また、NE信号の欠歯部は、“欠歯信号”或いは単に“欠歯”と呼ばれることもある。
また、カム軸センサ17は、第2の信号発生手段に相当するものであり、クランク軸19の回転に対し1/2の比率で回転するエンジンのカム軸25に固定されたロータ17aと、そのロータ17aの外周に対向して設けられ、該ロータ17aの外周に形成された歯27による凹凸に応じて、ハイレベルとローレベルとに変化するG信号を出力する磁気抵抗素子(MRE)式の信号出力部17bとからなる。
そして、上記ロータ17aの外周には、その外周の形状が図1における反時計回り方向の順に「30°分:凸→60°分:凹→90°分:凸→30°分:凹→60°分:凸→90°分:凹」となるように、歯27が形成されている。
そして更に、信号出力部17bは、該信号出力部17bに対向するロータ17aの外周が凸の場合に、G信号をハイレベルで出力し、逆にロータ17aの外周が凹の場合に、G信号をローレベルで出力する。また、カム軸25及びロータ17aは、図1における時計回り方向に回転するようになっている。
このため、カム軸センサ17(詳しくは、その信号出力部17b)から入力回路5を介してマイコン1に入力されるG信号の1サイクル分(カム軸25の1回転分であり、クランク軸19の2回転分)のレベル変化パターンは、図2に示すように、「60°CA分:ハイ→120°CA分:ロー→180°CA分:ハイ→60°CA分:ロー→120°CA分:ハイ→180°CA分:ロー」というように、同じレベルで且つ同じクランク角度分の幅を持つ部分が複数存在しないパターンとなる。
また、クランク軸センサ15とカム軸センサ17は、図2に示すように、G信号が、NE信号に欠歯部が現れるタイミングにて、その各タイミング毎に交互に異なったレベルとなるように構成されている。そして更に、NE信号の欠歯部は、該欠歯部が現れる直前のG信号のレベル変化タイミングからみてNE信号に6発目の立ち上がりエッジが発生する時点からその次の立ち上がりエッジが発生するまでの30°CA分の期間となっている。
具体的には、図2に示すように、NE信号には、0〜720°CAの1サイクル分のクランク位置のうち、210°CA〜240°CAの期間であって、G信号が「180°CA分:ハイ」の状態になっている時と、570°CA〜600°CAの期間であって、G信号が「180°CA分:ロー」の状態になっている時に、欠歯部が現れるようになっている。そして更に、その欠歯部は、G信号が「120°CA分:ロー」の状態から「180°CA分:ハイ」の状態にレベル変化する立ち上がりタイミングと、G信号が「120°CA分:ハイ」の状態から「180°CA分:ロー」の状態にレベル変化する立ち下がりタイミングとの各々からみて、NE信号の6回目の立ち上がりエッジから7回目の立ち上がりエッジまでの期間となっている。
一方、ECU13内のマイコン1には、エンジンを始動させる際にオンされるスタータスイッチや、アクセルペダルが全閉の時にオンされるアイドルスイッチなどからの各種スイッチ信号が、入力回路7を介して入力される。また、マイコン1には、吸入空気量を検出するエアフロメータや、エンジンの冷却水温を検出する水温センサなどからの各種センサ信号が、A/D変換器9を介して入力される。
そして、マイコン1は、上記NE信号とG信号とに基づいて、クランク位置を特定して認識し、その認識したクランク位置と、上記各種スイッチ信号及び各種センサ信号から取得する情報とに基づいて、エンジンの最適な点火時期や燃料噴射時期及び噴射量などを演算する。そして更に、その演算結果に基づき、出力回路11を介して各気筒の燃料噴射弁や点火コイルなどを駆動する。
次に、ECU13のマイコン1がNE信号とG信号とからクランク位置を特定して認識するために実行する処理について、図3及び図4を用いて説明する。
まず図3は、NE信号に立ち上がりエッジが発生する毎に実行される割り込み処理を表すフローチャートである。
まず図3は、NE信号に立ち上がりエッジが発生する毎に実行される割り込み処理を表すフローチャートである。
そして、マイコン1が図3の割り込み処理の実行を開始すると、まずS110にて、当該割り込み処理を前回開始した時刻から今回開始した時刻までの時間を算出し、その算出した時間を、NE信号のパルス間隔T1として記憶する。
尚、車両のイグニッションスイッチがオンされてECU13が動作を開始してからマイコン1が始めて本割り込み処理を実行した場合、即ち、スタータスイッチのオンに伴いクランキングが開始されてNE信号に始めて立ち上がりエッジが発生した場合、T1は初期値としての最大値に設定される。
次に、S120にて、当該割り込み処理を前回実行してから今回開始するまでの間にG信号にエッジが発生したか否かと発生したエッジの種類とを表す内部レジスタ内のG信号エッジ情報を、GEDGという記憶部に記憶する。尚、マイコン1には、G信号に立ち上がりエッジが生じると、上記G信号エッジ情報を“1”にし、G信号に立ち下がりエッジが生じると、上記G信号エッジ情報を“2”にし、G信号にエッジが生じなければ、上記G信号エッジ情報を初期値である“0”のままにする、といったエッジ検出ハードウェアが備えられており、S120では、そのエッジ検出ハードウェアによって設定されているG信号エッジ情報をGEDGに記憶する。また、G信号エッジ情報は、当該割り込み処理を終了する直前の後述するS260にて、エッジ無しを示す“0”に初期化される。
次に、S130にて、G信号にエッジが生じてから(換言すれば、G信号がレベル変化してから)NE信号に発生した立ち上がりエッジの数を計数するためのカウンタNECNTを、1カウントアップさせる。尚、カウンタNECNTの初期値は0である。
次に、S140にて、当該割り込み処理を前回実行してから今回開始するまでの間にG信号にエッジが発生したか否かを、GEDGの値に基づき判定する。
そして、G信号にエッジが発生していなければ(即ち、GEDGの値=“0”であれば)、そのままS190へ移行するが、G信号にエッジが発生していたならば(即ち、GEDGの値=“1”又は“2”であれば)、S150に進み、G信号に発生したエッジの回数(G信号のレベル変化回数)を計数するためのカウンタGCNTを1カウントアップさせる。尚、カウンタGCNTの初期値も0である。また、このS150では、カウンタGCNTの値を最大値(例えば16進数表示でFF)でガードする処理(即ち、GCNTの値が最大値から0に戻ってしまうラップラウンドを防止する処理)も行う。
そして、G信号にエッジが発生していなければ(即ち、GEDGの値=“0”であれば)、そのままS190へ移行するが、G信号にエッジが発生していたならば(即ち、GEDGの値=“1”又は“2”であれば)、S150に進み、G信号に発生したエッジの回数(G信号のレベル変化回数)を計数するためのカウンタGCNTを1カウントアップさせる。尚、カウンタGCNTの初期値も0である。また、このS150では、カウンタGCNTの値を最大値(例えば16進数表示でFF)でガードする処理(即ち、GCNTの値が最大値から0に戻ってしまうラップラウンドを防止する処理)も行う。
そして、次のS160にて、カウンタGCNTの値が2以上であるか否かを判定し、2以上でなければ、そのままS180へ移行して、カウンタNECNTの値を0にクリアした後、S190へ進む。
これに対し、上記S160にて、カウンタGCNTの値が2以上であると判定した場合には、S170に進んで、GEDGの値とカウンタNECNTの値とから、現在のクランク位置(詳しくは、今回のNE信号の立ち上がりタイミングでのクランク位置)を特定し、その特定したクランク位置をCRNKという記憶部に記憶する。そして、続くS180でカウンタNECNTの値を0にクリアした後、S190へ進む。
つまり、カウンタGCNTの値が2以上であるということは、G信号が既に2回以上レベル変化したということである。そして、本実施形態では、前述したように、G信号の1サイクル分(720°CA分)のレベル変化パターンには、同じレベルで且つ同じクランク角度分の幅を持つ部分が複数存在しないため、G信号が前回レベル変化してから今回レベル変化するまでの1パルス期間中(換言すれば、G信号のエッジ間)に、NE信号に立ち上がりエッジが何回発生したかと、その1パルス期間におけるG信号のレベルとにより、クランク位置を特定することができる。また、G信号のレベルは、GEDGの値によって分かる。つまり、GEDGの値が“2”であれば、レベル変化前のG信号はハイであり、GEDGの値が“1”であれば、レベル変化前のG信号はローであるからである。
そこで、S170では、下記(a)〜(f)の手順でクランク位置を特定している。
(a):カウンタNECNTの値が6で、且つ、GEDGの値が“2”であれば、今回のNE信号の立ち上がりタイミングが、図2におけるG信号の「60°CA分:ハイ」の期間が終わった直後であることから、今回のNE信号の立ち上がりタイミングでのクランク位置が40°CAであると特定して、CRNKに40[°CA]を記憶する。
(a):カウンタNECNTの値が6で、且つ、GEDGの値が“2”であれば、今回のNE信号の立ち上がりタイミングが、図2におけるG信号の「60°CA分:ハイ」の期間が終わった直後であることから、今回のNE信号の立ち上がりタイミングでのクランク位置が40°CAであると特定して、CRNKに40[°CA]を記憶する。
(b):カウンタNECNTの値が12で、且つ、GEDGの値が“1”であれば、今回のNE信号の立ち上がりタイミングが、図2におけるG信号の「120°CA分:ロー」の期間が終わった直後であることから、今回のNE信号の立ち上がりタイミングでのクランク位置が160°CAであると特定して、CRNKに160[°CA]を記憶する。
(c):カウンタNECNTの値が16で、且つ、GEDGの値が“2”であれば、今回のNE信号の立ち上がりタイミングが、図2におけるG信号の「180°CA分:ハイ」の期間が終わった直後であることから、今回のNE信号の立ち上がりタイミングでのクランク位置が340°CAであると特定して、CRNKに340[°CA]を記憶する。
(d):カウンタNECNTの値が6で、且つ、GEDGの値が“1”であれば、今回のNE信号の立ち上がりタイミングが、図2におけるG信号の「60°CA分:ロー」の期間が終わった直後であることから、今回のNE信号の立ち上がりタイミングでのクランク位置が400°CAであると特定して、CRNKに400[°CA]を記憶する。
(e):カウンタNECNTの値が12で、且つ、GEDGの値が“2”であれば、今回のNE信号の立ち上がりタイミングが、図2におけるG信号の「120°CA分:ハイ」の期間が終わった直後であることから、今回のNE信号の立ち上がりタイミングでのクランク位置が520°CAであると特定して、CRNKに520[°CA]を記憶する。
(f):カウンタNECNTの値が16で、且つ、GEDGの値が“1”であれば、今回のNE信号の立ち上がりタイミングが、図2におけるG信号の「180°CA分:ロー」の期間が終わった直後であることから、今回のNE信号の立ち上がりタイミングでのクランク位置が700°CAであると特定して、CRNKに700[°CA]を記憶する。
次に、S190では、今回のS110で記憶されたNE信号のパルス間隔(即ち、NE信号の今回のパルス間隔)T1と、前回のS110で記憶されたNE信号のパルス間隔(即ち、NE信号の前回のパルス間隔)T0とを比較して、T1とT0との比(=T1/T0)が所定の判定比K(例えばK=2.4)以上である、という欠歯判定条件が成立しているか否かを判定し、その欠歯判定条件が成立していないと判定した場合には、S250に移行する。
そして、このS250にて、NE信号の今回のパルス間隔T1を前回のパルス間隔T0として記憶し、続くS260にて、前述したG信号エッジ情報を、エッジ無しを示す“0”に初期化する。そして、その後、当該割り込み処理を終了する。
尚、車両のイグニッションスイッチがオンされてECU13が動作を開始してからマイコン1が始めて本割り込み処理を実行した場合、T0は初期値としての最大値に設定されている。よって、その場合、S190では、必ず上記欠歯判定条件が成立していないと判定することとなる。
一方、S190にて、上記欠歯判定条件が成立していると判定した場合には、NE信号に欠歯部が現れた(詳しくは、今回のNE信号の立ち上がりエッジが欠歯部の終了タイミングであった)と判断してS200に進む。
S200では、カウンタGCNTの値が2以上であるか否かを判定し、2以上でなければ、S210に進んで、今度はカウンタGCNTの値が1以上であるか否かを判定する。そして、カウンタGCNTの値が1以上であると判定した場合(即ち、GCNTの値が1である場合には)、S220に進んで、カウンタNECNTの値が6であるか否かを判定し、カウンタNECNTの値が6でなければ(S220:NO)、本当はNE信号に欠歯部が現れていない(つまり、S190の判定結果は正しくない)と判断して、そのまま前述したS250及びS260の処理を行った後、当該割り込み処理を終了する。
また、上記S210でカウンタGCNTの値が1以上ではないと判定した場合(即ち、GCNTの値が0である場合)、或いは、上記S220でカウンタNECNTの値が6であると判定した場合には、S225に移行して、図4に示す欠歯検出時のクランク位置特定処理を実行する。
この欠歯検出時のクランク位置特定処理の実行が開始されると、まずS310にて、現在のG信号のレベルを検出して、その検出したレベルがハイであるか否かを判定する。
そして、G信号のレベルがハイであったならば(S310:YES)、今回の欠歯部が、クランク軸19の1回転目の欠歯部であって、エンジンの1サイクルにおける210°CA〜240°CAの期間で生じる欠歯部であると判断することができることから、S320に進んで、今回のNE信号の立ち上がりタイミングでのクランク位置が240°CAであると特定し、CRNKとカウンタNECNTとの各々に、クランク位置が240°CAであることを示す値をセットする。そして、その後、当該欠歯検出時のクランク位置特定処理を終了する。
そして、G信号のレベルがハイであったならば(S310:YES)、今回の欠歯部が、クランク軸19の1回転目の欠歯部であって、エンジンの1サイクルにおける210°CA〜240°CAの期間で生じる欠歯部であると判断することができることから、S320に進んで、今回のNE信号の立ち上がりタイミングでのクランク位置が240°CAであると特定し、CRNKとカウンタNECNTとの各々に、クランク位置が240°CAであることを示す値をセットする。そして、その後、当該欠歯検出時のクランク位置特定処理を終了する。
また、上記S310にて、現在のG信号のレベルがハイではない(ローである)と判定した場合には(S310:NO)、今回の欠歯部が、クランク軸19の2回転目の欠歯部であって、エンジンの1サイクルにおける570°CA〜600°CAの期間で生じる欠歯部であると判断することができることから、S330に移行して、今回のNE信号の立ち上がりタイミングでのクランク位置が600°CAであると特定し、CRNKとカウンタNECNTとの各々に、クランク位置が600°CAであることを示す値をセットする。そして、その後、当該欠歯検出時のクランク位置特定処理を終了する。
尚、本実施形態では、CRNKの値にカウンタNECNTの値×10の値を加えた値(=「CRNK+NECNT×10」)がクランク位置を示すようになっているが、NE信号における欠歯部の終了タイミングから次にG信号がレベル変化するまでの間については、「CRNK+NECNT×10」が、実際のクランク位置よりも20°CA分だけ小さい値となる。これは、NE信号の立ち上がりエッジが欠歯部で2回欠落し、その分、カウンタNECNTの値が2だけ小さくなるからである。このため、上記S320では、クランク位置=240°CAを示す値として、CRNKに160[°CA]をセットすると共に、カウンタNECNTには本来の8よりも2小さい6をセットし、同様に、上記S330では、クランク位置=600°CAを示す値として、CRNKに520[°CA]をセットすると共に、カウンタNECNTには本来の8よりも2小さい6をセットする。
このようにして欠歯検出時のクランク位置特定処理が終了すると、図3のS230へ進み、NE信号における欠歯部の終了タイミングで行うべき欠歯検出時の処理を実行する。そして、その次に、前述したS250及びS260の処理を行った後、当該割り込み処理を終了する。
また、上記S200にて、カウンタGCNTの値が2以上であると判定した場合には、S240に移行する。
ここで、この場合には、前述したS170の処理によってクランク位置が既に特定/把握されているため、S240では、現在のCRNKの値にカウンタNECNTの値×10の値を加えた値(=「CRNK+NECNT×10」)が、欠歯部の終了タイミングである240°CA又は600°CAに該当する220又は580であるか否かを判定する。
ここで、この場合には、前述したS170の処理によってクランク位置が既に特定/把握されているため、S240では、現在のCRNKの値にカウンタNECNTの値×10の値を加えた値(=「CRNK+NECNT×10」)が、欠歯部の終了タイミングである240°CA又は600°CAに該当する220又は580であるか否かを判定する。
そして、「CRNK+NECNT×10」が220又は580であれば(S240:YES)、前述したS230へ移行するが、「CRNK+NECNT×10」が220又は580でなければ(S240:NO)、本当はNE信号に欠歯部が現れていないのに上記欠歯判定条件が成立した(つまり、S190でNE信号に欠歯部が現れたと誤判定した)と判断して、そのまま前述したS250及びS260の処理を行った後、当該割り込み処理を終了する。
次に、以上のような図3の割り込み処理の作用について具体例を挙げて説明する。
例えば、クランク軸19が図2におけるSAの位置(即ち、680°CAと690°CAとの間の位置)で停止している状態で、エンジンが始動のためにクランキングされたとする。
例えば、クランク軸19が図2におけるSAの位置(即ち、680°CAと690°CAとの間の位置)で停止している状態で、エンジンが始動のためにクランキングされたとする。
この場合、まず、最初にNE信号が立ち上がる690°CAのタイミングでは、図3の割り込み処理が「S110〜S130→S140:NO→S190:NO→S250,S260」の順に実行されることとなる。
次に、2回目にNE信号が立ち上がる700°CAのタイミングでは、その前にG信号にエッジが発生し、しかも、そのG信号のエッジは1回目であることから、図3の割り込み処理が「S110〜S130→S140:YES→S150→S160:NO→S180→S190:NO→S250,S260」の順に実行されて、カウンタGCNTの値が1になると共に、カウンタNECNTの値が0にクリアされる。
その後、クランク軸19が40°CAの位置に来るまでは、NE信号が立ち上がる毎に、図3の割り込み処理が「S110〜S130→S140:NO→S190:NO→S250,S260」の順に実行されて、カウンタNECNTが1ずつカウントアップされていく。
そして、クランク軸19が40°CAの位置に来たときのNE信号の立ち上がりタイミングでは、その前にG信号にエッジが発生し、しかも、そのG信号のエッジは2回目であることから、図3の割り込み処理が「S110〜S130→S140:YES→S150→S160:YES→S170,S180→S190:NO→S250,S260」の順に実行されることとなる。
このとき、図3のS120でGEDGに記憶されるG信号エッジ情報は、立ち下がりを示す“2”であり、S130でカウントアップされた時点のカウンタNECNTの値は6であるため、S170にて、クランク位置が40°CAであると特定される。つまり、このタイミングで、「CRNKの値=40」且つ「カウンタNECNTの値=0」となり、マイコン1にてクランク位置が初めて認識されることとなる。
そして、その後、クランク軸19が160°CAの位置に来るまでは、NE信号が立ち上がる毎に、図3の割り込み処理が「S110〜S130→S140:NO→S190:NO→S250,S260」の順に実行されて、カウンタNECNTが1ずつカウントアップされていく。
そして、クランク軸19が160°CAの位置に来たときのNE信号の立ち上がりタイミングでは、その前にG信号にエッジが発生し、しかも、そのG信号のエッジは2回目以降(3回目)であることから、図3の割り込み処理が、再び「S110〜S130→S140:YES→S150→S160:YES→S170,S180→S190:NO→S250,S260」の順に実行されることとなる。
尚、この場合にも、S170でクランク位置を特定する処理が行われるが、この場合には、既にクランク位置を特定し認識しているので、S170の処理は、実際には「クランク位置の確認」という意味合いになる。また、この160°CAのタイミングでは、図3のS120でGEDGに記憶されるG信号エッジ情報が、立ち上がりを示す“1”となり、S130でカウントアップされた時点のカウンタNECNTの値は12となるため、S170では、クランク位置が160°CAであると特定することとなる。そして、このS170とS180の処理により、「CRNKの値=160」且つ「カウンタNECNTの値=0」となる。
その後、NE信号が立ち上がる毎に、図3の割り込み処理が「S110〜S130→S140:NO→S190:NO→S250,S260」の順に実行されて、カウンタNECNTが1ずつカウントアップされていく。
そして、クランク軸19が240°CAの位置に来たときのNE信号の立ち上がりタイミングでは、そのタイミングが欠歯部の終了タイミングであるため、図3の割り込み処理において、S190により、欠歯判定条件が成立した(つまり、NE信号に欠歯部が現れた)と肯定判定される。そして更に、このとき、カウンタGCNTの値は2以上になっているため、S190から進むS200では肯定判定される。よって、この回の割り込み処理では、「S190:YES→S200:YES→S240:YES→S230→S250,S260」の順に処理が進むこととなる。
尚、G信号にエッジが2回発生してS170の処理によりクランク位置が特定された後、本当はNE信号に欠歯部が現れていないのに上記S190で欠歯判定条件が成立したと誤判定した場合には、S200から移行するS240にて、「CRNK+NECNT×10」が欠歯部の終了タイミングを示す220又は580ではないと否定判定されることとなる。よって、このような欠歯部の誤判定が生じても、S230で欠歯検出時の処理を行ってしまうことが防止される。
一方、例えば、クランク軸19が図2における160°CAより後で200°CAより前の何れかの位置で停止している状態で、エンジンが始動のためにクランキングされたとする。
この場合にも、クランク軸19が240°CAの位置に来たときのNE信号の立ち上がりタイミングにて、図3の割り込み処理では、S190で欠歯判定条件が成立したと肯定判定してS200へ進むこととなる。
しかし、この場合には、G信号に1回もエッジが発生していないため、その回の割り込み処理では、「S190:YES→S200:NO→S210:NO→S225→S230→S250,S260」の順に処理が進むこととなり、S225の処理(図4)によって、クランク位置が240°CAであると特定される。つまり、G信号に1回もエッジが発生していないのにNE信号に欠歯部が現れた場合には、S225の処理により、その欠歯部が現れたときのG信号のレベルからクランク位置が特定される。
また、例えば、クランク軸19が図2における40°CAより後で150°CAより前の何れかの位置で停止している状態で、エンジンが始動のためにクランキングされたとする。
この場合、クランク軸19が160°CAの位置に来るまでは、NE信号が立ち上がる毎に、図3の割り込み処理が「S110〜S130→S140:NO→S190:NO→S250,S260」の順に実行されて、カウンタNECNTが1ずつカウントアップされていく。
そして、クランク軸19が160°CAの位置に来たときのNE信号の立ち上がりタイミングでは、その前にG信号にエッジが発生し、しかも、そのG信号のエッジは1回目であることから、図3の割り込み処理が「S110〜S130→S140:YES→S150→S160:NO→S180→S190:NO→S250,S260」の順に実行されて、カウンタGCNTの値が1になると共に、カウンタNECNTの値が0にクリアされる。
その後、NE信号が立ち上がる毎に、図3の割り込み処理が「S110〜S130→S140:NO→S190:NO→S250,S260」の順に実行されて、カウンタNECNTが1ずつカウントアップされていく。
そして、クランク軸19が240°CAの位置に来たときのNE信号の立ち上がりタイミングでは、そのタイミングが欠歯部の終了タイミングであるため、図3の割り込み処理において、S190により、欠歯判定条件が成立したと肯定判定される。
そして更に、この回の割り込み処理では、カウンタGCNTの値が1になっていると共に、カウンタNECNTの値が今回のS130で6になっているため、「S190:YES→S200:NO→S210:YES→S220:YES→S225→S230→S250,S260」の順に処理が進むこととなり、S225の処理(図4)によって、クランク位置が240°CAであると特定される。つまり、G信号に1回だけエッジが発生した後にNE信号に欠歯部が現れた場合も、S225の処理により、その欠歯部が現れたときのG信号のレベルからクランク位置が特定される。
尚、G信号にエッジが1回発生している状態で、本当はNE信号に欠歯部が現れていないのにS190で欠歯判定条件が成立したと誤判定した場合には、S210から進むS220にて、カウンタNECNTの値が6ではないと判定され、S225とS230の処理を行うことなく、S250へ進むこととなる。つまり、前述したように、NE信号の欠歯部は、該欠歯部が現れる直前のG信号のレベル変化タイミングからみてNE信号に6発目の立ち上がりエッジが発生する時点から7発目の立ち上がりエッジが発生するまでの期間となっているため、本当に欠歯部の終了タイミングに該当するNE信号の立ち上がりタイミングであれば、カウンタNECNTの値は必ず6になるからである。よって、このような欠歯部の誤判定が生じた場合に、S225の処理によってクランク位置を誤って特定してしまうことと、S230で欠歯検出時の処理を行ってしまうこととが防止される。
以上のような本実施形態のエンジン制御装置によれば、エンジンの始動時において、クランキングが開始されてからG信号が2回レベル変化すれば(2回エッジが生じれば)、図3におけるS170の処理により、そのG信号の今回のエッジ間にNE信号の立ち上がりエッジが何回発生したかと、そのG信号のエッジ間のレベルとにより、クランク位置が正確に特定され、前述した(1)や(2)の原因によって正しいクランク位置が認識できなくなることを回避することができる。このため、エンジンの回転変動や回転数に拘わらず、クランク位置を簡単な処理で正確に特定することができる。
また、本実施形態のエンジン制御装置によれば、エンジンの始動時において、もし、G信号が2回レベル変化するよりも先に、NE信号に欠歯部が現れたならば、図3におけるS225(図4)の処理により、その欠歯部が発生した時のG信号のレベルからクランク位置が特定される。よって、エンジン始動時にクランク位置を早期に特定し易くなり、エンジンの始動性を向上させることができる。
尚、図3におけるS190の処理では、前述した(1)や(2)の原因により、本当はNE信号に欠歯部が現れていないのに欠歯判定条件が成立したと判定(つまり、欠歯部が現れたと誤判定)してしまう可能性があり、もし、そのような誤判定が生じると、図3におけるS225の処理で特定されるクランク位置は正しいものとはならないが、G信号が2回レベル変化しさえすれば、図3におけるS170の処理の方で確実に正しいクランク位置が特定されることとなり、大きな問題とはならない。
特に、本実施形態においては、図3におけるS170の処理によってクランク位置が特定された後は、図3におけるS200からS240へ移行することとなり、S225の処理は行われないようになっている。
このため、エンジン始動時において、G信号が2回レベル変化するよりも先に、NE信号に欠歯部が現れた場合にだけ、図3におけるS225の処理によってクランク位置が特定され、それ以外の場合には、図3におけるS170の処理によってクランク位置が特定されることとなる。よって、図3におけるS190の判定結果(NE信号に欠歯部が現れたか否かの判定結果)を利用してクランク位置を特定する機会を最小限にすることができ、延いては、クランク位置を誤認識してしまう可能性を最小限することができる。
そして更に、本実施形態において、NE信号の欠歯部は、該欠歯部が現れる直前のG信号のレベル変化タイミングからみてNE信号に6発目の立ち上がりエッジが発生する時点から7発目の立ち上がりエッジが発生するまでの期間となっており、更に、図3におけるS210及びS220の判定を設けているため、前述したように、G信号にエッジが1回発生している状態で、本当はNE信号に欠歯部が現れていないのにS190で欠歯判定条件が成立したと誤判定した場合には、S210から進むS220にて、カウンタNECNTの値が6ではないと判定されて、S225とS230の処理を行うことなく、S250へ進むこととなる。
このため、本実施形態によれば、G信号にエッジが1回発生してから、S190の判定処理によってNE信号に欠歯部が現れたと誤判定しても、S225の処理でクランク位置を誤って特定してしまうことが防止され、エンジン始動時にクランク位置を早期に特定することと、クランク位置を正確に特定することとを、より高い次元で両立させることができる。
尚、本実施形態では、図3における各ステップの処理のうち、S170の処理がクランク位置特定手段に相当し、S110の処理がパルス間隔計測手段に相当し、S190の処理が欠歯判定手段に相当し、S225の処理が欠歯判定時特定手段に相当している。また、S120〜S140,S180,及びS260の処理が計数手段に相当し、S210の処理がレベル変化有無判定手段に相当し、S220の処理が誤作動防止手段に相当している。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、図3の割り込み処理において、S170の処理によりクランク位置が特定された後は、S190(或いは更にS200)の判定処理がスキップされるようにしても良い。つまり、S170の処理によってクランク位置が特定された後は、S180から、又はS140にてG信号にエッジが発生していないと否定判定した場合に、S240へ直接移行するようにしても良い。G信号に2回エッジが発生してクランク位置を特定できたならば、その後は、S190の判定処理を行わなくても、S240の判定処理により、NE信号についての欠歯検出(上記実施形態では、今回のNE信号の立ち上がりタイミングが欠歯部の終了タイミングであるか否かを判定すること)ができるからである。
また、エンジン停止状態でのクランク位置によってはクランク位置の特定が若干遅れる場合が生じるが、上記実施形態において、図3におけるS190の判定処理を始めから行わないように構成しても良い。具体的には、図3において、S110,S190,S210〜S225,及びS250の処理を削除すると共に、S200にてカウンタGCNTの値が2以上ではないと否定判定した場合には、S260へ移行するようにしても良い。
また、上記実施形態では、カム軸センサ17におけるロータ17aの外周形状(即ち、凹凸パターン)を、G信号の1サイクル分のレベル変化パターンに同じレベルで且つ同じクランク角度分の幅を持つ部分が複数存在しないように設定したが、ロータ17aの外周形状は、G信号の1サイクル分のレベル変化パターンに同じクランク角度分の幅を持つ部分が複数存在しないように設定しても良い。
例えば、図2におけるG信号のレベル変化パターンにおいて、「60°CA分:ハイ」の部分と「120°CA分:ハイ」の部分とが、それぞれ10°CA分だけ前のタイミングからハイレベルとなるようにすれば、G信号のレベル変化パターンは、「70°CA分:ハイ→120°CA分:ロー→180°CA分:ハイ→50°CA分:ロー→130°CA分:ハイ→170°CA分:ロー」というように、同じクランク角度分の幅を持つ部分が複数存在しないパターンとなる。
そして、この例の場合、図3のS170では、下記(a’)〜(f’)の手順でクランク位置を特定すれば良い。
(a’):カウンタNECNTの値が7であれば、今回のNE信号の立ち上がりタイミングでのクランク位置が図2における40°CAであると特定して、CRNKに40[°CA]を記憶する。
(a’):カウンタNECNTの値が7であれば、今回のNE信号の立ち上がりタイミングでのクランク位置が図2における40°CAであると特定して、CRNKに40[°CA]を記憶する。
(b’):カウンタNECNTの値が12であれば、今回のNE信号の立ち上がりタイミングでのクランク位置が図2における160°CAであると特定して、CRNKに160[°CA]を記憶する。
(c’):カウンタNECNTの値が16であれば、今回のNE信号の立ち上がりタイミングでのクランク位置が図2における340°CAであると特定して、CRNKに340[°CA]を記憶する。
(d’):カウンタNECNTの値が5であれば、今回のNE信号の立ち上がりタイミングでのクランク位置が図2における390°CAであると特定して、CRNKに390[°CA]を記憶する。
(e’):カウンタNECNTの値が13であれば、今回のNE信号の立ち上がりタイミングでのクランク位置が図2における520°CAであると特定して、CRNKに520[°CA]を記憶する。
(f’):カウンタNECNTの値が15であれば、今回のNE信号の立ち上がりタイミングでのクランク位置が690°CAであると特定して、CRNKに690[°CA]を記憶する。
そして、上記のように変形しても、前述した実施形態のエンジン制御装置と同様の効果を得ることができる。
一方、G信号のレベル変化は、エッジではなく、そのG信号のレベルを比較的短い一定時間毎にモニタすることで検出するようにしても良い。但し、エッジを検出するように構成した方が、処理負荷が小さくて済むという面で有利である。
一方、G信号のレベル変化は、エッジではなく、そのG信号のレベルを比較的短い一定時間毎にモニタすることで検出するようにしても良い。但し、エッジを検出するように構成した方が、処理負荷が小さくて済むという面で有利である。
1…マイコン、3,5,7…入力回路、9…A/D変換器、11…出力回路、13…ECU(電子制御ユニット)、15…クランク軸センサ、17…カム軸センサ、15a,17a…ロータ、15b,17b…信号出力部、19…クランク軸、21,27…歯、23…歯欠損部、25…カム軸
Claims (5)
- エンジンのクランク軸の回転に応じて、該クランク軸が所定角度回転する毎にパルスエッジ(以下、有効エッジという)が発生するクランク軸回転信号を出力する第1の信号発生手段と、
前記クランク軸の回転に対し1/2の比率で回転するカム軸の回転に応じて、ハイレベルとローレベルとに変化するカム軸回転信号を出力する第2の信号発生手段と、
を備え、前記クランク軸回転信号と前記カム軸回転信号とに基づいて、前記エンジンの1サイクルにおける前記クランク軸の回転位置であるクランク位置を特定するエンジン制御装置であって、
前記第2の信号発生手段から出力される前記カム軸回転信号は、前記カム軸が1回転する1サイクル分のレベル変化パターンにおいて、同じレベルで且つ同じクランク角度分の幅を持つ部分が複数存在しないようになっており、
当該エンジン制御装置は、前記カム軸回転信号が前回レベル変化してから今回レベル変化するまでの該カム軸回転信号の1パルス期間中に前記クランク軸回転信号に発生した前記有効エッジの数と、その1パルス期間における前記カム軸回転信号のレベルとに基づいて、クランク位置を特定するクランク位置特定手段を備えていること、
を特徴とするエンジン制御装置。 - エンジンのクランク軸の回転に応じて、該クランク軸が所定角度回転する毎にパルスエッジ(以下、有効エッジという)が発生するクランク軸回転信号を出力する第1の信号発生手段と、
前記クランク軸の回転に対し1/2の比率で回転するカム軸の回転に応じて、ハイレベルとローレベルとに変化するカム軸回転信号を出力する第2の信号発生手段と、
を備え、前記クランク軸回転信号と前記カム軸回転信号とに基づいて、前記エンジンの1サイクルにおける前記クランク軸の回転位置であるクランク位置を特定するエンジン制御装置であって、
前記第2の信号発生手段から出力される前記カム軸回転信号は、前記カム軸が1回転する1サイクル分のレベル変化パターンにおいて、同じクランク角度分の幅を持つ部分が複数存在しないようになっており、
当該エンジン制御装置は、前記カム軸回転信号が前回レベル変化してから今回レベル変化するまでの該カム軸回転信号の1パルス期間中に前記クランク軸回転信号に発生した前記有効エッジの数に基づいて、クランク位置を特定するクランク位置特定手段を備えていること、
を特徴とするエンジン制御装置。 - 請求項1又は請求項2に記載のエンジン制御装置において、
前記第1の信号発生手段から出力される前記クランク軸回転信号には、前記クランク軸の回転位置が基準位置に来た時に、前記有効エッジが所定数欠落した欠歯部が現れるようになっていると共に、
前記第2の信号発生手段から出力される前記カム軸回転信号は、前記クランク軸回転信号に前記欠歯部が現れるタイミングでは、その各タイミング毎に交互に異なったレベルとなり、
更に、当該エンジン制御装置は、
前記クランク軸回転信号に発生する前記有効エッジの間隔(以下、パルス間隔という)を計測するパルス間隔計測手段と、
該パルス間隔計測手段により計測されるパルス間隔に基づいて、前記クランク軸回転信号に前記欠歯部が現れたか否かを判定する欠歯判定手段と、
該欠歯判定手段により前記欠歯部が現れたと判定されると、そのときの前記カム軸回転信号のレベルに基づいてクランク位置を特定する欠歯判定時特定手段と、
を備えていることを特徴とするエンジン制御装置。 - 請求項3に記載のエンジン制御装置において、
前記クランク軸回転信号の欠歯部は、該欠歯部が現れる直前の前記カム軸回転信号のレベル変化タイミングからみて前記クランク軸回転信号に一定数目の有効エッジが発生する時点からその次の有効エッジが発生するまでの期間となっており、
更に、当該エンジン制御装置は、
前記カム軸回転信号がレベル変化してから前記クランク軸回転信号に発生した前記有効エッジの数を計数する計数手段と、
前記欠歯判定手段により前記欠歯部が現れたと判定されると、その判定時の前に前記カム軸回転信号にレベル変化が生じていたか否かを判定するレベル変化有無判定手段と、
該レベル変化有無判定手段により肯定判定されると、その時点で前記計数手段により計数されている前記有効エッジの数に基づいて、前記欠歯判定手段の判定結果が正しいか否かを判定し、正しくないと判定したならば前記欠歯判定時特定手段が作動するのを禁止する誤作動防止手段と、
を備えていることを特徴とするエンジン制御装置。 - 請求項3又は請求項4に記載のエンジン制御装置において、
前記クランク位置特定手段によってクランク位置が特定された後は、前記欠歯判定時特定手段を作動させないように構成されていること、
を特徴とするエンジン制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004080373A JP2005264862A (ja) | 2004-03-19 | 2004-03-19 | エンジン制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004080373A JP2005264862A (ja) | 2004-03-19 | 2004-03-19 | エンジン制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005264862A true JP2005264862A (ja) | 2005-09-29 |
Family
ID=35089675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004080373A Pending JP2005264862A (ja) | 2004-03-19 | 2004-03-19 | エンジン制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005264862A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103016185A (zh) * | 2012-11-26 | 2013-04-03 | 联合汽车电子有限公司 | 快速识别曲轴位置的方法 |
CN103867316A (zh) * | 2012-12-17 | 2014-06-18 | 罗伯特·博世有限公司 | 用于修正部分发动机运行中旋转凸轮轴的测量信号的方法 |
KR20140121652A (ko) * | 2013-04-08 | 2014-10-16 | 콘티넨탈 오토모티브 시스템 주식회사 | 차량용 크랭크 축 미싱투스 검출 방법 및 장치 |
CN108444722A (zh) * | 2018-04-04 | 2018-08-24 | 中国重汽集团济南动力有限公司 | 一种电控发动机同步检测装置及方法 |
KR20200013476A (ko) * | 2018-07-30 | 2020-02-07 | 현대자동차주식회사 | 차량의 시동성능 향상 제어 방법 및 이를 포함하는 차량 |
-
2004
- 2004-03-19 JP JP2004080373A patent/JP2005264862A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103016185A (zh) * | 2012-11-26 | 2013-04-03 | 联合汽车电子有限公司 | 快速识别曲轴位置的方法 |
CN103016185B (zh) * | 2012-11-26 | 2016-01-20 | 联合汽车电子有限公司 | 快速识别曲轴位置的方法 |
CN103867316A (zh) * | 2012-12-17 | 2014-06-18 | 罗伯特·博世有限公司 | 用于修正部分发动机运行中旋转凸轮轴的测量信号的方法 |
KR20140121652A (ko) * | 2013-04-08 | 2014-10-16 | 콘티넨탈 오토모티브 시스템 주식회사 | 차량용 크랭크 축 미싱투스 검출 방법 및 장치 |
CN108444722A (zh) * | 2018-04-04 | 2018-08-24 | 中国重汽集团济南动力有限公司 | 一种电控发动机同步检测装置及方法 |
CN108444722B (zh) * | 2018-04-04 | 2024-03-29 | 中国重汽集团济南动力有限公司 | 一种电控发动机同步检测装置及方法 |
KR20200013476A (ko) * | 2018-07-30 | 2020-02-07 | 현대자동차주식회사 | 차량의 시동성능 향상 제어 방법 및 이를 포함하는 차량 |
KR102518658B1 (ko) | 2018-07-30 | 2023-04-06 | 현대자동차주식회사 | 차량의 시동성능 향상 제어 방법 및 이를 포함하는 차량 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7444262B2 (en) | Reverse rotation detector for internal combustion engine | |
US8818685B2 (en) | Rotation detecting device and rotation detecting method | |
JP4586903B2 (ja) | エンジン制御装置 | |
WO2011093462A1 (ja) | 内燃機関の制御装置及び制御方法 | |
JP4542569B2 (ja) | エンジンの制御装置 | |
JP2004124717A (ja) | エンジンのクランク角度識別装置 | |
JP2005264862A (ja) | エンジン制御装置 | |
US6874359B2 (en) | Control apparatus and control method of engine | |
JP3979161B2 (ja) | エンジン制御装置 | |
JP4410614B2 (ja) | エンジン制御装置 | |
US6766242B2 (en) | Engine control apparatus | |
JP4069902B2 (ja) | エンジン制御装置 | |
JP2012062802A (ja) | 車載内燃機関の制御装置 | |
JP2005351211A (ja) | エンジン制御装置 | |
JP4475704B2 (ja) | エンジン制御装置 | |
JP4333552B2 (ja) | エンジン制御装置 | |
JP4399997B2 (ja) | エンジン制御装置 | |
JP4196426B2 (ja) | 内燃機関のクランク角判定装置 | |
JP4406324B2 (ja) | エンジン制御装置 | |
JP2009235963A (ja) | エンジンのクランク角検出方法および装置 | |
JP4332971B2 (ja) | エンジン制御装置及びそれに用いられる信号処理回路 | |
JP2010007508A (ja) | エンジンの制御装置 | |
JP2016173034A (ja) | クランク角検出装置 | |
JP2010185310A (ja) | エンジン制御装置 | |
JP6071697B2 (ja) | 内燃機関制御装置、内燃機関制御方法及びプログラム |