以下、図面を参照して、本発明の一実施形態について説明する。
図1は、本実施形態における内燃機関制御装置(以下、ECUと称する)を備えるエンジン制御システムの概略構成図である。この図1に示すように、本実施形態におけるエンジン制御システムは、エンジン1、電源供給部2、燃料供給部3、ECU(Engine Control Unit)4から概略構成されている。
エンジン(内燃機関)1は、4サイクル単気筒エンジンであり、シリンダ10、ピストン11、コンロッド12、クランクシャフト13、吸気バルブ14、排気バルブ15、点火プラグ16、点火コイル17、吸気管18、排気管19、エアクリーナ20、スロットルバルブ21、インジェクタ22、吸気圧センサ23、吸気温センサ24、スロットル開度センサ25、冷却水温センサ26、クランク角度センサ27から概略構成されている。
シリンダ10は、内部に設けられたピストン11を、吸気、圧縮、燃焼(膨張)、排気の4行程を繰り返すことによって往復運動させるための中空の円筒形状部材であり、空気と燃料との混合気を燃焼室10bに供給するための流路である吸気ポート10a、上記混合気を留め、圧縮行程において圧縮された混合気を燃焼行程において燃焼させるための空間である燃焼室10b、排気行程において燃焼室10bから排気ガスを外部に排出するための流路である排気ポート10cが設けられている。また、このシリンダ10の外壁には、冷却水を循環させるための冷却水路10dが設けられている。
ピストン11には、ピストン11の往復運動を回転運動に変換するためのクランクシャフト13がコンロッド12を介して連結されている。クランクシャフト13は、ピストン11の往復方向と直交する方向に延在しており、不図示のフライホイール、ミッションギア、後述する電源供給部2におけるロータ30aと連結されている。
吸気バルブ14は、吸気ポート10aにおける燃焼室10b側の開口部を開閉するための弁部材であり、不図示のカムシャフトと連結されており、当該カムシャフトによって各行程に応じて開閉駆動される。排気バルブ15は、排気ポート10cにおける燃焼室10b側の開口部を開閉するための弁部材であり、不図示のカムシャフトと連結されており、当該カムシャフトによって各行程に応じて開閉駆動される。
点火プラグ16は、電極を燃焼室10b側に向けて燃焼室10bの最上部に設けられており、点火コイル17から供給される高電圧の点火用電圧信号によって電極間に火花を発生する。点火コイル17は、1次巻線と2次巻線からなるトランスであり、ECU4から1次巻線に供給される点火用電圧信号を昇圧して2次巻線から点火プラグ16に供給する。
吸気管18は、空気供給用の配管であり、内部の吸気流路18aが吸気ポート10aと連通するようにシリンダ10に連結されている。排気管19は、排気ガス排出用の配管であり、内部の排気流路19aが排気ポート10cと連通するようにシリンダ10に連結されている。エアクリーナ20は、吸気管18の上流側に設けられており、外部から取り込まれる空気を清浄化して吸気流路18aに送り込む。スロットルバルブ21は、吸気流路18aの内部に設けられており、不図示のスロットル(もしくはアクセル)によって回動する。つまり、スロットルバルブ21の回動によって吸気流路18aの断面積が変化し、吸気量が変化する。インジェクタ22は、噴射口を吸気ポート10a側に向けて吸気管18に設けられており、燃料供給部3から供給される燃料を、ECU4から供給されるインジェクタ駆動信号に応じて噴射口から噴射する。
吸気圧センサ(吸気状態検出手段)23は、例えばピエゾ抵抗効果を利用した半導体圧力センサであり、スロットルバルブ21の下流側において感度面を吸気流路18aに向けて吸気管18に設けられており、吸気管18内の吸気圧(吸気状態値)に応じた吸気圧信号(吸気状態信号)をECU4に出力する。吸気温センサ24は、スロットルバルブ21の上流側において感部を吸気流路18aに向けて吸気管18に設けられており、吸気管18内の吸気温度に応じた吸気温信号をECU4に出力する。スロットル開度センサ25は、スロットルバルブ21の開度に応じたスロットル開度信号をECU4に出力する。冷却水温センサ26は、シリンダ10の冷却水路10dに感部を向けて設けられており、冷却水路10dを流れる冷却水の温度に応じた冷却水温信号をECU4に出力する。クランク角度センサ(クランク角度検出手段)27は、クランクシャフト13の回転に同期して、クランクシャフト13が所定角度回転する毎にクランク信号を出力する。なお、このクランク角度センサ27の詳細については後述する。
電源供給部2は、発電機30、レギュレートレクチファイヤ32、バッテリ33から構成されている。発電機30は、磁石式交流発電機であり、エンジン1のクランクシャフト13と連結されて同期回転するロータ30aと、当該ロータ30aの内周側に取り付けられた永久磁石30bと、発電出力を得るための3相のステータコイル30c、30d、30eと、逆回転検出用コイル30fを備えている。つまり、発電機30において、固定されたステータコイル30c、30d、30e及び逆回転検出用コイル30fに対して、ロータ30a(つまり永久磁石30b)が回転することにより、ステータコイル30c、30d、30eから電磁誘導によって3相交流電圧信号が発生し、逆回転検出用コイル30fから1相の交流電圧信号が発生する。ステータコイル30c、30d、30eから発生する3相交流電圧信号は、レギュレートレクチファイヤ32に出力され、逆回転検出用コイル30fから発生する交流電圧信号は、ECU4に出力される。
図2に示すように、ロータ30aの外周には、複数の突起が回転方向に対して、各突起の後端が等角度間隔(例えば20°間隔)になるように設けられている。また、上死点TDCに対応する位置から回転方向に前の位置、例えばBTDC10°すなわち上死点前10°の位置を、クランク角基準位置とし、このクランク角基準位置に突起の後端が位置する突起は、他の突起より回転方向に長い(例えば2倍)突起(クランク角基準突起30a1)が設けられている。以下では、クランク角基準突起30a1以外の突起を補助突起30a2と称する。また、このクランク角基準突起30a1の回転方向に対して後方に設けられている補助突起30a2の後端の位置、つまり上死点TDCに対応する位置から回転方向に10°後方の位置を、ATDCと称する。
また、ロータ30aの内周側には、60°毎にN極及びS極が1セットずつ配置されるように、永久磁石30bが取り付けられている。逆回転検出用コイル30fは、クランク角基準位置に設けられており、その一端はグランドラインと接続され、他端はECU4(詳細にはコンパレータ回路53の反転入力端子)と接続されている。つまり、逆回転検出用コイル30fからは、ロータ30a(クランクシャフト13)が60°回転するのに要する時間を1周期とする1相の交流電圧信号が発生する。
上述したクランク角度センサ27は、例えば電磁式ピックアップセンサであり、図2に示すように、ロータ30aの外周近傍に設けられ、クランク角基準突起30a1及び補助突起30a2がクランク角度センサ27近傍を通過する毎に極性の異なる1対のパルス状の信号をECU4に出力する。より詳細には、クランク角度センサ27は、回転方向に対して各突起の前端が通過した場合、負極性の振幅を有するパルス状の信号を出力し、回転方向に対して各突起の後端が通過した場合、正極性の振幅を有するパルス状の信号を出力する。
図1に戻って説明すると、レギュレートレクチファイヤ32は、整流回路32a及び出力電圧調整回路32bから構成されている。整流回路32aは、各ステータコイル30c、30d、30eから入力される3相交流電圧を整流するための、3相ブリッジ接続された6個の整流素子から構成されており、上記3相交流電圧を直流電圧に整流して出力電圧調整回路32bに出力する。出力電圧調整回路32bは、上記整流回路32aから入力される直流電圧を調整して電源電圧を生成し、当該電源電圧をバッテリ33及びECU4に供給する。バッテリ33は、出力電圧調整回路32bから供給される電源電圧によって充電されると共に、始動時など発電機30から電力供給がされない場合は、電源電圧をECU4に供給する。
燃料供給部3は、燃料タンク40及び燃料ポンプ41から構成されている。燃料タンク40は、例えばガソリン等の燃料を溜めておくための容器である。燃料ポンプ41は、燃料タンク40内に設けられており、ECU4から入力されるポンプ駆動信号に応じて、燃料タンク40内の燃料を汲み出してインジェクタ22に供給する。
ECU4は、図3に示すように、波形整形回路50、回転数カウンタ51、基準電圧源52、コンパレータ回路53、A/D変換器54、CPU(Central Processing Unit)55、点火回路56、インジェクタ駆動回路57、ポンプ駆動回路58、ROM(Read Only Memory)59、RAM(Random Access Memory)60、タイマ61から構成されている。このような構成のECU4は、電源供給部2から供給される電源電圧によって駆動するものであり、ECU4のVIG端子はバッテリ33の正極端子と接続され、GND端子はバッテリ33の負極端子及びグランドラインと接続されている。
波形整形回路(波形整形手段)50は、クランク角度センサ27から入力されるパルス状のクランク信号を、方形波のパルス信号(例えば負極性のクランク信号をハイレベルとし、正極性及びグランドレベルのクランク信号をローレベルとする)に波形整形し、回転数カウンタ51及びCPU55に出力する。つまり、この方形波のパルス信号は、クランクシャフト13が20°回転する際に要した時間を周期とする方形波のパルス信号である。回転数カウンタ51は、上記波形整形回路50から出力される方形波のパルス信号に基づいてエンジン回転数を算出し、当該エンジン回転数を示す回転数信号をCPU55に出力する。
基準電圧源52は、負極性の直流電圧である基準電圧信号を発生し、当該基準電圧信号をコンパレータ回路53の非反転入力端子に出力する。コンパレータ回路(比較手段)53は、逆回転検出用コイル30fから出力される交流電圧信号を反転入力端子の入力とし、基準電圧源52から出力される基準電圧信号を非反転入力端子の入力とするオペアンプから構成されており、上記交流電圧信号と基準電圧信号との電圧値の大小を比較して比較結果を示す比較結果信号をCPU55に出力する。具体的には、コンパレータ回路53は、交流電圧信号の電圧値が基準電圧信号の電圧値より大きい場合、ハイレベルの比較結果信号を出力し、交流電圧信号の電圧値が基準電圧信号の電圧値より小さい場合、ローレベルの比較結果信号を出力する。
A/D変換器54は、吸気圧センサ23から出力される吸気圧センサ出力、吸気温センサ24から出力される吸気温センサ出力、スロットル開度センサ25から出力されるスロットル開度センサ出力及び冷却水温センサ26から出力される冷却水温センサ出力を、デジタル信号に変換してCPU55に出力する。
CPU(制御手段)55は、ROM59に記憶されているエンジン制御プログラムを実行し、クランク信号、回転数カウンタ51から入力される回転数信号、コンパレータ回路53から入力される比較結果信号、A/D変換器52で変換された吸気圧値、スロットル開度値及び冷却水温値に基づいて、エンジン1の燃料噴射、点火、燃料供給に関する制御を行う。具体的には、CPU55は、点火タイミングに点火プラグ16をスパークさせるための点火制御信号を点火回路56に出力し、燃料噴射タイミングにインジェクタ22から所定量の燃料を噴射させるための燃料噴射制御信号をインジェクタ駆動回路57に出力し、また、インジェクタ22に燃料を供給するための燃料供給制御信号をポンプ駆動回路58に出力する。
点火回路56は、VIG電圧、つまり電源供給部2から供給される電源電圧を蓄積するコンデンサ(図示せず)を備え、上記CPU55から入力される点火制御信号に応じて、コンデンサに蓄積された電荷を点火用電圧信号として点火コイル17の1次巻線に放電する。インジェクタ駆動回路57は、上記CPU55から入力される燃料噴射制御信号に応じて、インジェクタ22から所定量の燃料を噴射させるためのインジェクタ駆動信号を生成し、当該インジェクタ駆動信号をインジェクタ22に出力する。ポンプ駆動回路58は、上記CPU55から入力される燃料供給制御信号に応じて、燃料ポンプ41からインジェクタ22に燃料を供給するためのポンプ駆動信号を生成し、当該ポンプ駆動信号を燃料ポンプ41に出力する。
ROM59は、上記CPU55によって実行されるエンジン制御プログラムや各種データを予め記憶している不揮発性メモリである。RAM60は、上記CPU55がエンジン制御プログラムを実行して各種動作を行う際に、データの一時保存先に用いられるワーキングメモリである。タイマ61は、CPU55による制御の下、所定のタイマ(計時)動作を行う。
次に、上記のように構成された本実施形態のECU4(内燃機関制御装置)を備えるエンジン制御システムにおいて、エンジン1の運転中におけるECU4(特にCPU55)の逆回転検出結果の解除処理(以下、逆回転解除処理と称す)について説明する。なお、本実施形態における逆回転解除処理は、逆回転検出後に、クランク角基準位置が検出された場合を正回転状態への復帰と判断して逆回転検出結果(点火出力禁止)を解除する第1形態と、逆回転検出後に、720°エンジン行程判別が完了した場合を正回転状態への復帰と判断して逆回転検出結果を解除する第2形態との2つの形態がある。以下では、まず、第1形態の逆回転解除処理について説明する。
<逆回転解除処理:第1形態>
図4は、クランク角度センサ27の出力であるクランク信号と、波形整形回路50から出力される波形整形後のクランク信号と、逆回転検出用コイル30fから出力される交流電圧信号及び基準電圧源52から出力される基準電圧信号と、コンパレータ回路53から出力される比較結果信号と、逆回転検出結果との対応関係を示すタイミングチャートである。
図4に示すように、エンジン1の運転中において、クランクシャフト13の回転に同期してロータ30aも回転し、クランク角度センサ27は、回転方向に対して各突起の前端が通過した場合に、負極性の振幅を有するパルス状のクランク信号を出力し、各突起の後端が通過した場合に、正極性の振幅を有するパルス状のクランク信号を出力する。また、波形整形回路50は、負極性のクランク信号をハイレベルとし、正極性及びグランドレベルのクランク信号をローレベルとなるように波形整形したクランク信号(方形波のパルス信号)を出力する。つまり、波形整形後のクランク信号の立下がりエッジ間の時間は、クランクシャフト13が20°回転するのに要した時間に相当する。また、逆回転検出用コイル30fからは、ロータ30a(クランクシャフト13)が60°回転するのに要する時間を1周期とする交流電圧信号が出力され、コンパレータ回路53からは、交流電圧信号の電圧値が基準電圧信号の電圧値より大きい場合(つまり交流電圧信号が正極性の場合)にハイレベルの比較結果信号が出力され、交流電圧信号の電圧値が基準電圧信号の電圧値より小さい場合(つまり交流電圧信号が負極性の場合)にローレベルの比較結果信号が出力される。
エンジン1の運転中において、CPU55は、上記のような波形整形後のクランク信号及び比較結果信号に基づいて、第1形態の逆回転解除処理を行う。図5は、第1形態の逆回転解除処理に関するCPU55の動作フローチャートである。図5に示すように、まず、CPU55は、波形整形後のクランク信号が入力されたか否かを判定し(ステップS1)、波形整形後のクランク信号が入力された場合(「Yes」)、サブルーチンであるクランク角基準位置検出処理を行う(ステップS2)。
このクランク角基準位置検出処理とは、クランク角基準位置を検出するための処理であり、クランク角基準突起30a1がクランク角度センサ27を通過する際に発生するクランク信号を基に検出することができる。以下、このクランク角基準位置検出処理の原理について、図6を参照して詳細に説明する。
図6(a)は、正回転時における、ロータ30aの各突起の配列と、クランク信号と、波形整形後のクランク信号との対応関係を示すタイミングチャートである。図6(b)は、逆回転時における、ロータ30aの各突起の配列と、クランク信号と、波形整形後のクランク信号との対応関係を示すタイミングチャートである。図6(a)及び(b)において、波形整形後のクランク信号のハイレベル期間を「凸時間」、ローレベル期間を「凹時間」と称し、凸時間/凹時間を凸凹時間比率と称する。
図6(a)に示すように、正回転時において、補助突起30a2同士が隣接する期間t0〜t2では、期間t0〜t1の凸凹時間比率(つまり前回凸凹時間比率)と、期間t1〜t2の凸凹時間比率(つまり今回凸凹時間比率)とは同じ値となる。例えば、凸時間を「1」、凹時間を「2」とすると、前回凸凹時間比率及び今回凸凹時間比率は、共に1/2=0.5となる。一方、回転方向に対して補助突起30a2が先行し、後方にクランク角基準突起30a1が隣接する期間t2〜t4では、補助突起30a2に対応する期間t2〜t3の凸凹時間比率(つまり前回凸凹時間比率)は、上記と同様、1/2=0.5となるが、クランク角基準突起30a1に対応する期間t3〜t4の凸凹時間比率(つまり今回凸凹時間比率)は、凸時間の方が凹時間より長くなるため、補助突起30a2に対応する凸凹時間比率より大きくなる。例えば、クランク角基準突起30a1に対応する期間t3〜t4の凸時間を「2」、凹時間を「1」とすると、凸凹時間比率は2/1=2となる。つまり、期間t2〜t4では、前回凸凹時間比率より今回凸凹時間比率の方が大きくなる。
また、回転方向に対してクランク角基準突起30a1が先行し、後方に補助突起30a2が隣接する期間t3〜t5では、クランク角基準突起30a1に対応する期間t3〜t4の凸凹時間比率(つまり前回凸凹時間比率)は、上記と同様、2/1=2となり、補助突起30a2に対応する期間t4〜t5の凸凹時間比率(つまり今回凸凹時間比率)は、上記と同様、1/2=0.5となる。つまり、期間t3〜t5では、前回凸凹時間比率より今回凸凹時間比率の方が小さくなる。
上記の説明からわかるように、正回転時では、下記(1)式が成立し、且つ下記(2)式が成立した場合に、クランク角基準位置を検出したと判定することができる。
今回凸凹時間比率 − 前回凸凹時間比率 ≧ 判定閾値A ・・・・(1)
前回凸凹時間比率 − 今回凸凹時間比率 ≧ 判定閾値B ・・・・(2)
ここで、判定閾値A(第1の閾値)及びB(第2の閾値)を、例えば「1」と設定する。
一方、図6(b)に示すように、逆回転時の場合、補助突起30a2同士が隣接する期間t0〜t2では、正回転時と同様に、期間t0〜t1の凸凹時間比率(つまり前回凸凹時間比率)と、期間t1〜t2の凸凹時間比率(つまり今回凸凹時間比率)とは同じ値となる。しかしながら、逆回転時の場合、回転方向に対して補助突起30a2が先行し、後方にクランク角基準突起30a1が隣接する期間t2〜t4では、補助突起30a2に対応する期間t2〜t3の凸凹時間比率(つまり前回凸凹時間比率)は、上記と同様、1/2=0.5となるが、クランク角基準突起30a1に対応する期間t3〜t4の凸凹時間比率(つまり今回凸凹時間比率)は、凸時間と凹時間とがほぼ一致するため、正回転時と比べて小さくなる。例えば、逆回転時における、クランク角基準突起30a1に対応する期間t3〜t4の凸時間を「2」、凹時間を「2」とすると、凸凹時間比率は2/2=1となる。つまり、逆回転時における期間t2〜t4では、上記(1)式が成立しない。
さらに、逆回転時の場合に、回転方向に対してクランク角基準突起30a1が先行し、後方に補助突起30a2が隣接する期間t3〜t5では、クランク角基準突起30a1に対応する期間t3〜t4の凸凹時間比率(つまり前回凸凹時間比率)は、上記と同様、2/2=1となるが、補助突起30a2に対応する期間t4〜t5の凸凹時間比率(つまり今回凸凹時間比率)は、凸時間と凹時間とがほぼ一致するため、正回転時と比べて大きくなる。例えば、逆回転時における、補助突起30a2に対応する期間t4〜t5の凸時間を「1」、凹時間を「1」とすると、凸凹時間比率は1/1=1となる。つまり、逆回転時における期間t3〜t5では、上記(2)式が成立しない。
このように、波形整形後のクランク信号の前回凸凹時間比率及び今回凸凹時間比率を用いると、正回転時にはクランク角基準位置を検出でき、逆回転時にはクランク角基準位置を検出できない。言い換えると、クランク角基準位置を検出できた場合に、エンジン1は正回転状態であると判定することができる。
以上のようなクランク角基準位置検出処理の原理に基づき、CPU55は、図5のステップS2において、図7に示すクランク角基準位置検出処理のサブルーチンを実行する。図7に示すクランク角基準位置検出処理において、CPU55は、まず、波形整形後のクランク信号の立上りエッジを検出したか否かを判定し(ステップS20)、立上がりエッジを検出した場合(「Yes」)、タイマ61を制御して、凹時間TCDENTの計測を終了する(ステップS21)。そして、CPU55は、凹時間を示す変数である「TCDENT」の値を、ステップS21の終了時点における凹時間計測値に更新し(ステップS22)、凸時間TCPRJの計測を開始する(ステップS23)。一方、ステップS20において、立上がりエッジを検出しなかった場合(「No」)、CPU55は、ステップS24の処理に移行する。
続いて、CPU55は、波形整形後のクランク信号の立下がりエッジを検出したか否かを判定し(ステップS24)、立下がりエッジを検出した場合(「Yes」)、タイマ61を制御して、凸時間TCPRJの計測を終了する(ステップS25)。一方、ステップS24において、立下がりエッジを検出しなかった場合(「No」)、CPU55は、クランク角基準位置検出処理を終了して、図5のステップS3の処理に移行する。
ステップS25の終了後、CPU55は、凸時間を示す変数である「TCPRJ」の値を、ステップS25の終了時点における凸時間計測値に更新し(ステップS26)、凹時間TCDENTの計測を開始する(ステップS27)。そして、CPU55は、ロータ30a(つまりクランクシャフト13)が20°回転したことを示す変数である360CAステージCALSTGをインクリメントする(ステップS28)。つまり、クランクシャフト13が20°回転する毎(波形整形後のクランク信号の立下がりエッジを検出する毎)に、360CAステージCALSTGの値は1ずつ増加し、1回転(360°回転)すると、CALSTG=17となる。
そして、CPU55は、前回凸凹時間比率RTCPD1の値を、現時点での今回凸凹時間比率RTCPDの値に更新し(ステップS29)、新たに今回凸凹時間比率RTCPDを算出する(ステップS30)。ここで、今回凸凹時間比率RTCPDの算出式は下記(3)式となる。
今回凸凹時間比率RTCPD=凸時間TCPRJ/凹時間TCDENT ・・・・(3)
そして、CPU55は、クランク角基準突起30a1を検出済みか否かを判定する(ステップS31)。具体的には、この時点でクランク角基準突起30a1を検出済みの場合、基準突起検出フラグF_LONG=1となっているため、ステップS31において、CPU55は、基準突起検出フラグF_LONG=1か否かを判定する。
このステップS31において、基準突起検出フラグF_LONGが「1」以外の場合、つまりクランク角基準突起30a1を検出済みではない場合(「No」)、CPU55は、上記(1)式が成立するか否か、つまり、今回凸凹時間比率RTCPDから前回凸凹時間比率RTCPD1を引いた値が判定閾値A以上か否かを判定する(ステップS32)。
このステップS32において、上記(1)式が成立する場合(「Yes」)、CPU55は、クランク角基準突起30a1を検出したと判定して、基準突起検出フラグF_LONG=1とした後、クランク角基準位置検出処理を終了して、図5のステップS3の処理に移行する(ステップS33)。一方、ステップS32において、上記(1)式が成立しない場合(「No」)、CPU55は、基準突起検出フラグF_LONG=0とした後、クランク角基準位置検出処理を終了して、図5のステップS3の処理に移行する(ステップS34)。
また、上記ステップS31において、基準突起検出フラグF_LONG=1の場合、つまり上記(1)式が成立し、クランク角基準突起30a1を検出済みである場合(「Yes」)、CPU55は、上記(2)式が成立するか否か、つまり、前回凸凹時間比率RTCPD1から今回凸凹時間比率RTCPDを引いた値が判定閾値B以上か否かを判定する(ステップS35)。
このステップS35において、上記(2)式が成立する場合(「Yes」)、CPU55は、基準突起検出フラグF_LONGを「0」にリセットし(ステップS36)、クランク角基準位置を検出したと判定して、基準位置検出フラグF_TCTDC=1とする(ステップS37)。そして、CPU55は、360CAステージCALSTGを「0」にリセットした後、クランク角基準位置検出処理を終了して、図5のステップS3の処理に移行する(ステップS38)。一方、ステップS35において、上記(2)式が成立しない場合(「No」)、CPU55は、基準位置検出フラグF_TCTDC=0とした後、クランク角基準位置検出処理を終了して、図5のステップS3の処理に移行する(ステップS39)。
以上がクランク角基準位置検出処理の説明であり、以下では図5に戻って説明する。CPU55は、上記のクランク角基準位置検出処理が終了すると、図5のステップS3の処理を行う。ここで、CPU55は、逆回転検出済みか否かを判定し(ステップS3)、逆回転検出済みではない場合(「No」)、逆回転検出処理を行う(ステップS4)。
このステップS4で行う逆回転検出処理としては、例えば、特許文献1(特許第2780257号公報)、特許文献2(特開昭62−75075号公報)、特許文献3(特許第3375679号公報)、特許文献4(特開2005−220866号公報)など、既に公知の技術を用いることができる。本実施形態では、特許文献1の技術を採用する。具体的には、図4に示すように、時刻t0に逆回転が発生し、その後、正回転に復帰した場合を想定すると、本来の正回転であれば、時刻t1において逆回転検出用コイル30fから出力される交流電圧信号は負極性となり、比較結果信号はローレベルとなるはずである(波形の破線部分参照)が、逆回転発生時には、時刻t1において交流電圧信号は正極性となり、比較結果信号はハイレベルとなる。つまり、所定のタイミングで検出される波形整形後のクランク信号の立下がりエッジ(本実施形態ではクランク角基準突起30a1に対応する立下がりエッジ)と、比較結果信号のレベル(交流電圧信号の極性)との対応関係が、正回転時と一致するか否かを判定することで、逆回転の発生を検出することができる。
CPU55は、このような手法で逆回転検出処理を行い、今回逆回転の発生を検出したか否かを判定する(ステップS5)。このステップS5において、今回逆回転の発生を検出した場合(「Yes」)、CPU55は、エンジン1が逆回転状態であると判定し(ステップS6)、点火出力禁止モード(点火制御信号の出力禁止)に移行する(ステップS7)。
図4の例では、逆回転が検出された時刻t1に、点火出力禁止モードに移行することになる。その後、CPU55は、ステップS1の処理に戻る。一方、ステップS5において、今回逆回転の発生を検出しなかった場合(「No」)、CPU55は、ステップS10の処理に移行する。
一方、ステップS3において、逆回転検出済みである場合(「Yes」)、CPU55は、クランク角基準位置の検出済みか否か、つまり基準位置検出フラグF_TCTDC=1か否かを判定し(ステップS8)、クランク角基準位置の検出済みである場合(「Yes」)、逆回転検出結果をリセットして、点火出力禁止モードを解除する(ステップS9)。すなわち、上述したように、クランク角基準位置を検出できたということは、エンジン1が正回転状態であると判定することができるので、点火出力禁止モードを継続する必要はない。図4の例では、時刻t2(ATDC10°に対応する波形整形後のクランク信号の立下がりエッジが検出された時刻)にクランク角基準位置を検出したことが確定するため、この時点で点火出力禁止モードが解除されることになる。
そして、CPU55は、エンジン1は正回転状態であると判定し(ステップS10)、通常の点火出力許可モード(点火タイミングが到来する毎に、点火制御信号を点火回路56に出力する)に移行する(ステップS11)。図4の例では、時刻t2以降、点火出力許可モードに移行することになる。CPU55は、このステップS11の後、または、ステップS8において、クランク角基準位置を検出済みではない場合(「No」)、ステップS1の処理に戻る。
また、ステップS1において、波形整形後のクランク信号が入力されない場合(「No」)、CPU55は、タイマ61を制御して、所定時間内に波形整形後のクランク信号の入力が無いか(エンストか)否かを判定する(ステップS12)。このステップS12において、CPU55は、所定時間内に波形整形後のクランク信号の入力が有った場合、つまりエンストではない場合(「No」)、ステップS1の処理に戻る。一方、ステップS12において、所定時間内に波形整形後のクランク信号の入力が無い場合、つまりエンストと判定される場合(「Yes」)、逆回転検出結果をリセットして点火出力禁止モードを解除し、ステップS1の処理に戻る(ステップS13)。
以上のように、本実施形態によれば、逆回転検出後、エンジン1の正回転への復帰を判断し、逆回転検出結果をリセットして点火出力禁止モードを解除することにより、逆回転検出後、スタータモータ、もしくは手動式始動デバイス(キックペダル等)を連続して操作した場合であっても、点火出力禁止モードが解除され始動不能に陥ることを防止することができる。また、逆回転中に、逆回転検出結果をリセットして点火出力禁止モードを解除することがないため、スタータアイドルギア等の始動駆動系部品やエンジン本体の破損を防止することができる。
<逆回転解除処理:第2形態>
続いて、逆回転解除処理の第2形態について説明するが、以下の説明において、ロータ30aの構造が、上記第1形態とは異なることに注意されたい。すなわち、図8に示すように、第2形態で使用するロータ30a’は、クランク角基準突起30a1の代わりに補助突起30a2が設けられており、また、回転方向に対して、上死点TDCから後方70°と90°の位置に設けられていた補助突起30a2を削除した構造となっている。
このような第2形態で使用するロータ30a’では、補助突起30a2の欠落部分を、クランク角基準位置を検出するために用いる。従って、第1形態では、ロータ30aの回転方向に対して、上死点TDCの前方10°の位置にクランク角基準位置(この位置は点火タイミングを規定する位置でもある)が設定されていたが、第2形態では、ロータ30a’の回転方向に対して、上死点TDCの前方10°の位置を、点火タイミングのみを規定する点火基準位置とする。
また、第2形態では、図8に示すように、ロータ30a’の回転方向に対して、下死点BDCの後方10°の位置を、吸気圧検出位置とする。
図9は、クランク角度センサ27の出力であるクランク信号と、波形整形回路50から出力される波形整形後のクランク信号と、逆回転検出用コイル30fから出力される交流電圧信号及び基準電圧源52から出力される基準電圧信号と、逆回転検出結果と、720°エンジン行程判別結果と、吸気圧センサ23から出力される吸気圧信号との対応関係を示すタイミングチャートである。
図9において、第1形態(図4)と異なる点は、ロータ30a’における突起欠落部分に対応する期間(クランク角基準位置に対応する期間)では、クランク信号及び波形整形後のクランクの入力が無い(グランドレベル)点と、逆回転検出後、吸気圧信号に基づいて720°エンジン行程の判別を行い、当該行程判別が完了した場合を正回転状態への復帰と判断して、逆回転検出結果をリセットして点火出力禁止モードを解除する点である。ここで、4サイクルエンジンの場合、クランクシャフト13が2回転(720°回転)する毎に、吸気→圧縮→膨張(燃焼)→排気という4行程を繰り返すことになる。上記の720°エンジン行程判別とは、その4行程の内の吸気行程を判別することを以ってエンジン行程判別完了とするものである。
以下、この逆回転解除処理の第2形態について、図10のフローチャートを参照して詳細に説明する。図10は、第2形態の逆回転解除処理に関するCPU55の動作フローチャートである。図10に示すように、まず、CPU55は、波形整形後のクランク信号が入力されたか否かを判定し(ステップS50)、波形整形後のクランク信号が入力された場合(「Yes」)、サブルーチンである720°エンジン行程判別処理を行う(ステップS51)。
この720°エンジン行程判別処理とは、上述したように、4行程の内の吸気行程を判別することを以ってエンジン行程判別完了とするものであり、吸気行程は吸気圧信号の変化によって判別することができる。以下、この720°エンジン行程判別処理の原理について、図11及び図12を参照して詳細に説明する。
図11(a)は、正回転時における、クランク信号と、波形整形後のクランク信号と、吸気圧信号との対応関係を示すタイミングチャートである。図11(b)は、逆回転時における、クランク信号と、波形整形後のクランク信号と、吸気圧信号との対応関係を示すタイミングチャートである。図12は、正回転時における、各行程の上死点TDC及び下死点BDCでのピストン11の位置と、吸気バルブ14及び排気バルブ15の開閉状態を示すものである。
図12に示すように、正回転時の吸気行程では、吸気バルブ14は開状態となり、ピスト11は下死点BDCに向かって下降する。これにより、吸気管18内には負圧が発生するため、図11(a)に示すように、吸気圧は大気圧より低くなる。従って、所定のクランク角度(本実施形態では、吸気圧検出位置)毎に検出した吸気圧が、下記条件式(4)を満たす場合に、現在のエンジン行程が吸気行程であると判別することができる。
なお、下記(4)式において、判別閾値Cは本発明の第3の閾値に相当する。
前回吸気圧PMBDCn-1 − 今回吸気圧PMBDCn ≧ 判別閾値C・・・・(4)
一方、逆回転時では、排気行程で排気管19から吸気し、吸気工程で吸気管18へ排気するため、図11(b)に示すように、吸気圧は正圧となる(大気圧より高くなる)。従って、逆回転時の場合、上記(4)式は不成立となる。言い換えると、上記(4)式が成立した場合に、エンジン1は正回転状態であると判定することができる。
以上のような720°エンジン行程判別処理の原理に基づき、CPU55は、図10のステップS51において、図13に示す720°エンジン行程判別処理のサブルーチンを実行する。図13に示す720°エンジン行程判別処理において、CPU55は、まず、所定のクランク角度か(吸気圧検出位置を検出したか)否かを判定し(ステップS70)、吸気圧検出位置を検出していない場合(「No」)、720°エンジン行程判別処理を終了して、図10のステップS52の処理に移行する。
一方、ステップS70において、吸気圧検出位置を検出した場合(「Yes」)、CPU55は、前回吸気圧PMBDCn-1の値を現時点での今回吸気圧PMBDCnの値に更新し(ステップS71)、A/D変換器54からデジタル吸気圧信号を読み込む(ステップS72)。そして、CPU55は、デジタル吸気圧信号を基に吸気圧を算出して今回吸気圧PMBDCnとし(ステップS73)、前回吸気圧PMBDCn-1と今回吸気圧PMBDCnとの差圧ΔPM(=PMBDCn-1−PMBDCn)を算出する(ステップS74)。
そして、CPU55は、720°エンジン行程を判別済みか否かを判定し(ステップS75)、判別済みの場合(「Yes」)、720°エンジン行程判別処理を終了して、図10のステップS52の処理に移行する一方、判別済みではない場合(「No」)、上記ステップS74で算出した差圧ΔPMを用いて、上記(4)式が成立するか否かを判定する(ステップS76)。
このステップS76において、上記(4)式が成立する場合、つまり現在のエンジン行程が吸気行程であると判別された場合(「Yes」)、CPU55は、720°エンジン行程判別済みと判定し(ステップS77)、現在のクランク角度を吸気・圧縮行程とする(ステップS78)。一方、ステップS76において、上記(4)式が成立しない場合、つまり現在のエンジン行程が吸気行程ではないと判別された場合(「No」)、CPU55は、720°エンジン行程判別処理を終了して、図10のステップS52の処理に移行する
以上が720°エンジン行程判別処理の説明であり、以下では図10に戻って説明する。CPU55は、上記の720°エンジン行程判別処理が終了すると、図10のステップS52の処理を行う。ここで、CPU55は、逆回転検出済みか否かを判定し(ステップS52)、逆回転検出済みではない場合(「No」)、逆回転検出処理を行う(ステップS53)。
このステップS52における逆回転検出処理は、第1形態と同様である。つまり、図9において、時刻t0に逆回転が発生し、その後、正回転に復帰した場合を想定すると、時刻t1に検出される波形整形後のクランク信号の立下がりエッジと、比較結果信号のレベル(交流電圧信号の極性)との対応関係が、正回転時と一致するか否かを判定することで、逆回転の発生を検出する。
CPU55は、このような手法で逆回転検出処理を行い、今回逆回転の発生を検出したか否かを判定する(ステップS54)。このステップS54において、今回逆回転の発生を検出した場合(「Yes」)、CPU55は、エンジン1は逆回転状態であると判定し(ステップS55)、点火出力禁止モード(点火制御信号の出力禁止)に移行する(ステップS56)。図9の例では、逆回転が検出された時刻t1に、点火出力禁止モードに移行することになる。また、この時、720°エンジン行程判別結果は、行程判別未完となる。ステップS56の後、CPU55は、ステップS50の処理に戻る。一方、ステップS54において、今回逆回転の発生を検出しなかった場合(「No」)、CPU55は、ステップS59の処理に移行する。
一方、ステップS52において、逆回転検出済みである場合(「Yes」)、CPU55は、720°エンジン行程判別済みか、つまり吸気行程を判別済みか否かを判定し(ステップS57)、720°エンジン行程判別済みである場合(「Yes」)、逆回転検出結果をリセットして、点火出力禁止モードを解除する(ステップS58)。すなわち、上述したように、720°エンジン行程を判別できたということは、エンジン1は正回転状態であると判定することができるので、点火出力禁止モードを継続する必要はない。図9の例では、時刻t2に上記(4)式が成立して吸気行程が判別されるため、この時点で点火出力禁止モードが解除されることになる。
そして、CPU55は、エンジン1は正回転状態であると判定し(ステップS59)、通常の点火出力許可モード(点火タイミングが到来する毎に、点火制御信号を点火回路56に出力する)に移行する(ステップS60)。図9の例では、時刻t2以降、点火出力許可モードに移行することになる。CPU55は、このステップS60の後、または、ステップS57において、720°エンジン行程判別済みではない場合(「No」)、ステップS50の処理に戻る。
また、ステップS50において、波形整形後のクランク信号が入力されない場合(「No」)、CPU55は、タイマ61を制御して、所定時間内に波形整形後のクランク信号の入力が無いか(エンストか)否かを判定する(ステップS61)。このステップS61において、CPU55は、所定時間内に波形整形後のクランク信号の入力が有った場合、つまりエンストではない場合(「No」)、ステップS50の処理に戻る。一方、ステップS61において、所定時間内に波形整形後のクランク信号の入力が無い場合、つまりエンストと判定される場合(「Yes」)、逆回転検出結果をリセットして点火出力禁止モードを解除し、ステップS50の処理に戻る(ステップS62)。
以上のような、逆回転解除処理の第2形態によれば、第1形態と同様、逆回転検出後、スタータモータ、もしくは手動式始動デバイスを連続して操作した場合であっても、点火出力禁止モードが解除され始動不能に陥ることを防止することができ、また、スタータアイドルギア等の始動駆動系部品やエンジン本体の破損を防止することができる。
なお、上記実施形態では、発電機30内に、逆回転検出専用の逆回転検出用コイル30fを設けたが、これに限らず、発電機30以外にクランクシャフト13と同期回転し、1相の交流電圧信号を出力する磁石式交流発電機を設けても良く、また、エキサイタコイルを逆回転検出用コイル30fとして使用しても良い。
また、上記実施形態では、エンジン1の吸気状態を示す吸気状態値として吸気圧を使用したが、これに限定されず、例えば吸気量を使用しても良い。具体的には、図14に示すように、吸気管18におけるスロットルバルブ21の下流側に吸気管18内の吸気量に応じた吸気量信号を出力するエアフローセンサ70を設ける。そして、エアフローセンサ70から出力される吸気量信号をECU4のA/D変換器54に入力し、A/D変換器54によってデジタル変換されたデジタル吸気量信号をCPU55に入力する。このように、吸気量の検出精度を上げるには、エアフローセンサ70をスロットルバルブ21の下流側に設けることが好ましいが、この位置ではエアフローセンサ70が汚れやすいため、スロットルバルブ21の上流側に設けるようにしても良い。
1…エンジン、2…電源供給部、3…燃料供給部、4…ECU(Engine Control Unit)、10…シリンダ、11…ピストン、12…コンロッド、13…クランクシャフト、14…吸気バルブ、15…排気バルブ、16…点火プラグ、17…点火コイル、18…吸気管、19…排気管、20…エアクリーナ、21…スロットルバルブ、22…インジェクタ、23…吸気圧センサ、24…吸気温センサ、25…スロットル開度センサ、26…冷却水温センサ、27…クランク角度センサ、30…発電機、32…レギュレートレクチファイヤ、33…バッテリ、40…燃料タンク、41…燃料ポンプ、50…波形整形回路、51…回転数カウンタ、52…基準電圧源、53…コンパレータ回路、54…A/D変換器、55…CPU(Central Processing Unit)、56…点火回路、57…インジェクタ駆動回路、58…ポンプ駆動回路、59…ROM(Read Only Memory)、60…RAM(Random Access Memory)、61…タイマ、70…エアフローセンサ