マイクロプロセッサを用いて点火位置(点火動作を行なわせるクランク角位置)を制御するようにした内燃機関用点火装置は、例えば特許文献1に示されているように、機関のクランク角情報を含むパルスを発生するパルス発生器と、パルス発生器が発生するパルスを入力として機関の回転速度の検出と、点火位置の演算と、点火指令の発生とを行なうための各種の手段を構成するマイクロプロセッサと、点火指令が発生したときに点火用高電圧を発生する点火回路とにより構成される。
パルス発生器は、例えば、機関のクランク軸に取り付けられたリラクタ付きのロータと、このロータのリラクタのエッジを検出してパルスを発生するセンサとからなっていて、内燃機関のクランク角位置が内燃機関の点火位置の最大進角位置よりも進角した位置に設定された基準位置に一致したときに基準位置検出パルスを発生し、クランク角位置が内燃機関の極低速回転時の点火位置として適した位置に設定された固定点火位置に一致したときに固定点火位置検出パルスを発生するように構成される。
またマイクロプロセッサは、ROMに記憶された所定のプログラムを実行することにより、パルス発生器がパルスを発生する間隔を速度検出用時間データとして計測する速度検出用計時手段と、速度検出用時間データから検出される内燃機関の回転速度に対して内燃機関の点火位置を演算する点火位置演算手段と、速度検出用時間データから検出される回転速度が設定値以下であるときに固定点火位置で(固定点火位置検出パルスが発生した時に)点火指令を発生し、内燃機関の回転速度が設定値を超えているときには点火位置演算手段が演算した点火位置で点火指令を発生する点火指令発生手段とを構成する。
速度検出用計時手段は、例えば、パルス発生器が前回の基準位置検出パルスを発生してから今回の基準位置検出パルスを発生するまでの時間を速度検出用時間データ[NRPM]としてタイマにより計測する。この場合、マイクロプロセッサは、基準位置検出パルスが発生する毎にタイマの計測値を読み取って、読み取った数値をRAMに格納するとともに、新たに読み取った計測値から前回読み取られてRAMに格納されている計測値を引くことにより速度検出用時間データを求め、この速度検出用時間データ[NRPM]をRAMに格納する。
上記速度検出用時間データは機関のクランク軸が1回転するのに要した時間であり、機関の回転速度の情報を含む。機関の回転速度を[RPM]とすると、回転速度[RPM]は、
RPM=(60/NRPM)×106 …(1)
で与えられる。
点火位置演算手段は、速度検出用時間データ[NRPM]から検出される回転速度に対して、基準位置(基準位置検出パルスの発生位置)から機関の点火動作を行なわせるクランク角位置(点火位置)までの角度を点火角度Δθとして演算し、更にこの点火角度Δθを速度検出用時間データ[NRPM]を用いて、そのときの機関の回転速度でクランク軸が基準位置から演算された点火位置まで回転するのに要する時間を点火位置検出用計時データ[IGT]として演算する。点火角度Δθは、機関の回転速度と点火角度Δθとの間の関係を与える点火角度演算用マップ(ROMに記憶されている)を用いて演算されてRAMに格納される。
ROMに記憶させておく点火角度演算用マップは、速度検出用時間データ[NRPM]と点火角度Δθとの関係を与えるように構成してもく、回転速度と点火角度Δθとの間の関係を与えるように構成してもよい。回転速度と点火角度Δθとの間の関係を与えるように点火角度演算用マップを構成する場合には、速度検出用時間データ[NRPM]から回転速度[RPM]を演算する回転速度演算手段を設けて、この回転速度演算手段が演算した回転速度[RPM]をRAMに格納しておく。速度検出用時間データ[NRPM]と点火角度Δθとの間の関係を与えるように点火角度演算用マップを構成する場合には、回転速度演算手段は特に設けなくてもよい。点火位置検出用計時データ[IGT]と点火角度Δθと速度検出用時間データ[NRPM]との間には下記の関係がある。
[IGT]=[NRPM]×(Δθ/360°) …(2)
マイクロプロセッサは、基準位置検出パルスが発生したことを検出したときに(2)式で与えられる計時データ[IGT]の計測を開始し、該計時データ[IGT]の計測を完了したときに点火指令を発生させる。
マイクロプロセッサがパワーオンリセットされた直後は、パルス発生器が発生するパルスがマイクロプロセッサに入力されていないので、速度検出用時間データ[NRPM]を格納するRAMにはデータが格納されていない。また回転速度[RPM]も演算されていないので、回転速度[RPM]を格納するRAMにもデータが格納されていない。このように点火位置検出用計時データの演算に用いる数値を格納するRAMにデータが格納されていない状態では、点火位置検出用計時データの演算を行なってもその演算結果は不定値となり、点火指令を発生させることができない。
そこで、マイクロプロセッサがパワーオンリセットされたとき(マイクロプロセッサの電源が投入された時)には、その直後に制御に用いるすべてのRAMの内容を適正化するための処理を行なっている。即ち、速度検出用計時手段は、マイクロプロセッサのパワーオンリセット時に計測し得る時間の最大値を速度検出用時間データの初期値とするように構成される。マイクロプロセッサのパワーオンリセット時にRAMに格納する初期値の適正値は制御の内容により異なるが、通常は、マイクロプロセッサ内のタイマが計測し得る時間の最大値に等しく設定している。
速度検出用時間データを計測するタイマとしては、例えば、1μsec間隔で発生するクロックパルスを計数するマイクロプロセッサ内の16進、16BITタイマが用いられる。このように16進、16BITタイマを用いる場合、計測し得る計数値の最大値はFFFFである。このタイマを用いてクランク軸が1回転する間の時間を計測する場合、その計測値から検出できる回転速度の最小値(タイマの計数値がFFFFの時の回転速度)は916r/minである。この場合、パワーオンリセット時に回転速度検出用時間データ[NRPM]を格納するRAMの内容がFFFFとされ、回転速度[RPM]を格納するRAMの内容が916r/minとされる。また点火位置検出用計時データ[IGT]を格納するRAMの内容はFFFFとされる。
上記のようなタイマが用いられる場合、機関の始動時にその回転速度が916r/min未満である間は、タイマの計測値がオーバフローするため、速度検出用時間データがFFFFに固定され、速度検出用時間データから検出される回転速度は916r/minに固定される。機関の回転速度が916r/min以上になると速度検出用時間データがFFFFよりも短くなっていき、機関の実際の回転速度の情報が含まれた速度検出用時間データが得られるようになり、この時間データから機関の実際の回転速度が検出されるようになる。
点火回路は、周知のコンデンサ放電式の回路や、電流遮断式の回路からなっていて、点火指令が与えられたときに点火コイルの一次電流に急激な変化を生じさせることにより、該点火コイルの二次コイルに点火用の高電圧を誘起させる。この高電圧は機関の気筒に取り付けられた点火プラグに印加されるため、該点火プラグで火花放電が生じて機関が点火される。
特開2001−323865号公報
上記のようにマイクロプロセッサを用いて点火位置を制御する2サイクル内燃機関用の点火装置において、機関が高速回転している状態で、運転者が故意にイグニッションキーをオフ状態にしてマイクロプロセッサの電源を落とした後キースイッチをオン状態にした場合を考える。このときの点火装置の動作を説明するためのタイムチャートを図7に示した。同図(A)はキースイッチのオンオフ動作を示し、(B)はパルス発生器が発生する基準位置検出パルスP1及び固定点火位置検出パルスP2を示している。
機関の高速運転中に(例えば機関が10000r/minで回転しているときに)時刻t0において運転者によりキースイッチが故意にオフ状態にされてマイクロプロセッサの電源が落とされた後、時刻t1においてキースイッチがオン状態にされたとする。時刻t1でキースイッチがオン状態にされるとマイクロプロセッサがパワーオンリセットされ、回転速度検出用時間データNPRMがFFFFとされる。また回転速度[RPM]を格納するRAMの値が916r/minとされ、マイクロプロセッサ内の16進、16BITタイマ(フリーランタイマ)が計測動作を開始する。マイクロプロセッサは、回転速度[RPM]=916r/minに対して点火角Δθを演算する。その後時刻t2でパルス発生器がパワーオンリセット後最初の基準位置検出パルスP1が発生する。このとき未だ機関の実際の回転速度は検出されていないので、マイクロプロセッサは、回転速度[RPM]を初期値916r/minとして(2)式により点火位置検出用計時データ[IGT]を算出する。Δθ=10degとすると、[IGT]=1820.4μsecとなる。
次いで時刻t3において固定点火位置検出パルスP2が発生すると、マイクロプロセッサは点火指令を発生する。このようにして、パワーオンリセット後1回転目の点火は、固定点火位置で行なわれる。
次いで時刻t4において、基準位置検出パルスP1が発生すると、タイマの計測値が読み取られ、この計測値から既に時刻t2で読み取られてRAMに記憶されているタイマの計測値を差し引くことにより、回転速度検出用時間データ[NRPM]が求められる。今機関は10000r/minで回転しているので、[NRPM]=6msecとなる。時刻t4で基準位置検出パルスP1が発生すると、マイクロプロセッサは、時刻t2において回転速度916r/minに対して演算された点火位置検出用計時データ[IGT](=1820.4μsec)の計測を開始し、この計時データの計測を完了したときに点火指令を発生する。これによりパワーオンリセット後2回転目の点火が行われる。
時刻t2及びt4においては、機関が10000r/minで回転しているため、本来であれば、回転速度を10000r/minとして点火位置検出用計時データ[IGT](=166.7μsec)を演算すべきであったが、時刻t2では回転速度を916r/minとして[IGT]が演算されたため、時刻t4で計測が開始される点火位置検出用計時データ[IGT]は、1820.4−166.7=1653.7μsecだけ正規の値よりも大きくなっている。時刻t4で計測が開始される点火位置検出用計時データと正規の点火位置検出用計時データとの差分1653.7μsecを10000r/minのときの角度に換算すると、99.2degとなる。従って、時刻t4で開始された点火位置検出用計時データ[IGT]の計測が完了したときに行なわれる、パワーオンリセット後2回転目の点火動作は、回転速度を10000r/minとして求めた点火位置検出用計時データにより検出される点火位置よりも99.2degも遅れた過遅角位置で行なわれることになる。
なお時刻t5で固定点火位置検出パルスP2が発生したときに点火指令が発生すれば、大幅に遅角した位置で点火が行なわれることにはならないが、時刻t5においては既に実際の回転速度[RPM]=10000r/minが検出されていて、機関の回転速度が設定値を超えていると判定されるので、時刻t5で点火指令が発生することはない。
時刻t6でパワーオンリセット後3番目の基準位置検出パルスP1が発生したときには、時刻t4において、回転速度を10000r/minとして演算された点火角度Δθと、回転速度10000r/minとを用いて演算された点火位置検出用計時データ[IGT]の計測が開始される。従って、パワーオンリセット後3回目の点火は、機関の実際の回転速度10000r/minにおける正規の点火位置で行なわれる。
上記のように、従来の点火装置では、機関が高速運転されている状態で運転者が故意にキースイッチをオフ状態にした後、オン状態にする操作を行なったときに、マイクロプロセッサのパワーオンリセット後2回目の点火が過遅角位置で行なわれる。このように過遅角位置で点火が行なわれるとシリンダ内で異常燃焼が生じ、パワーオンリセットが行なわれるまでの間に機関が失火して排気管内に混合気が残留しているとアフタファイアが発生して大きな爆発音が発生する。
機関の運転中にアフタファイアが生じると、大きな爆発音が発生して周囲を驚かせるだけでなく、機関が損傷するおそれがあるため、高速運転中にマイクロプロセッサのパワーオンリセットが行なわれた場合に、過遅角位置での点火が行なわれることがないようにしておくのが好ましい。
そこで、パワーオンリセット後、1回目の点火と2回目の点火とを中止して機関を2回失火させ、時刻t4で機関の実際の回転速度を用いて演算された正規の点火位置検出用計時データ[IGT]の計測を時刻t6で開始することにより、点火動作を再開させるようにすることが考えられる。
しかしながら、このようにした場合には、機関を停止状態から始動させる際にも、機関が2回失火させられた後に点火動作が行われるため、機関の始動性が悪くなるという問題が生じる。
本発明の目的は、機関の始動性を損なうことなく、高速運転中にマイクロプロセッサがパワーオンリセットされたときに過遅角位置での点火が行なわれてアフタファイアが生じるのを防ぐことができる内燃機関用点火装置を提供することにある。
本発明は、内燃機関のクランク角位置が前記内燃機関の点火位置の最大進角位置よりも進角した位置に設定された基準位置に一致したときに基準位置検出パルスを発生し、クランク角位置が前記内燃機関の極低速回転時の点火位置として適した位置に設定された固定点火位置に一致したときに固定点火位置検出パルスを発生するパルス発生器と、パルス発生器がパルスを発生する間隔を速度検出用時間データとして計測する速度検出用計時手段と、速度検出用時間データから検出される前記内燃機関の回転速度に対して基準位置から内燃機関の点火位置までの角度を点火角度として演算し、内燃機関のクランク軸が基準位置から演算された点火角度だけ回転する間にタイマに計測させる時間を点火位置検出用計時データとして演算する点火位置演算手段と、固定点火位置検出パルスが発生したとき及びタイマが点火位置検出用計時データの計測を完了したときに点火指令を発生する点火指令発生手段とを構成するようにプログラムされたマイクロプロセッサと、点火指令信号が発生したときに点火用高電圧を発生する点火回路とを備えた内燃機関用点火装置を対象とする。
本発明が対象とする点火装置においては、上記速度検出用計時手段が、マイクロプロセッサのパワーオンリセット時に計測し得る時間の最大値を速度検出用時間データの初期値とするように構成されている。
本発明においては、マイクロプロセッサがパワーオンリセットされたときに設定された一定時間[TIME]を計測するリセット時計時動作を行うパワーオンリセット時計時手段と、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生しなかったときには点火指令発生手段が固定点火位置検出パルスの発生位置及び点火位置検出用計時データの計測を完了した位置で点火指令を発生するのを許可し、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生したときには点火位置演算手段が点火位置検出用計時データを演算するまでの間点火指令発生手段が点火指令を発生するのを禁止する点火許否手段とを設けた。
上記リセット時計時動作を行なわせる時間[TIME]は、機関の始動時にキースイッチが閉じられてから(マイクロプロセッサの電源が投入されてから)クランキング操作が開始されるまでの時間として予測される時間の最小値(通常は数秒)よりも十分に短く、かつマイクロプロセッサがパワーオンリセットされた場合にアフタファイアが発生するおそれがある回転速度領域において計測される回転速度検出用時間データ[NRPM]の最大値よりは十分に長く設定しておく。
上記のように構成すると、機関の始動時には、マイクロプロセッサがパワーオンリセットされた後、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生することがないので、始動操作開始後最初に到来する点火タイミングから点火指令の発生が許可される。従って、機関の始動時には機関を失火させることなく、すべての点火タイミングで点火動作を行なわせて機関の始動性を良好にすることができる。
これに対し、機関の高速運転時にマイクロプロセッサの電源が一旦落とされた後回復させられて、マイクロプロセッサがパワーオンリセットされたときには、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生するため、内燃機関の実際の回転速度が反映された点火位置が演算されるまでの間点火指令の発生が禁止され、過遅角位置で点火が行なわれるのが防止される。従って、機関の高速運転時にマイクロプロセッサのパワーオンリセットが行なわれたときにアフタファイアが発生するのを防ぐことができ、大きな爆発音が発生したり、機関が損傷したりするのを防ぐことができる。
以上のように、本発明によれば、マイクロプロセッサがパワーオンリセットされたときに設定された一定時間の間リセット時計時動作を行うパワーオンリセット時計時手段と、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生しなかったときに点火指令発生手段が点火指令を発生するのを許可し、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生したときには内燃機関の実際の回転速度が反映された点火位置が演算されるまでの間点火指令の発生を禁止する点火許否手段とを設けたので、リセット時計時動作を行なわせる時間を適値に設定しておくことにより、機関の始動時に機関を失火させることなく、機関の高速運転時にマイクロプロセッサがパワーオンリセットされた時にアフタファイアが発生するのを防ぐことができる。従って本発明によれば、機関の始動性を何ら損なうことなく、機関の高速運転時にマイクロプロセッサがパワーオンリセットされた時にアフタファイアが発生するのを防いで、大きな爆発音が発生したり機関が損傷したりするのを防ぐことができる。
以下図面を参照して本発明の好ましい実施形態を詳細に説明する。図1は、本発明の実施形態のハードウェアの構成を概略的に示したものである。本実施形態では、内燃機関が2サイクル単気筒内燃機関であるとしている。図1において、1は図示しない内燃機関の回転と同期してパルスを発生するパルス発生器、2はコントローラ、3はコンデンサ放電式の点火回路、4は点火回路の点火コンデンサを充電するための電圧を発生する点火コンデンサ充電用電源である。
パルス発生器1は、図示しない内燃機関のクランク軸に取り付けられたロータ1Aと、センサ1Bとにより構成される。図示のロータ1Aは、機関のクランク軸に取り付けられた鉄製の回転子ヨーク101の外周に円弧状のリラクタ102を設けたものである。またセンサ1Bは、例えば、リラクタ102を含むロータ1Aの外周に対向する磁極部を先端に有する鉄心と、この鉄心に巻回された信号コイルScと、該鉄心に磁気結合された永久磁石とを備えたものからなっていて、リラクタ102の回転方向の前端側エッジを検出したとき及びリラクタ102の回転方向の後端側エッジを検出したときにそれぞれ極性が異なるパルスを発生する。本実施形態では、内燃機関のクランク角位置が内燃機関の点火位置の最大進角位置よりも進角した位置に設定された基準位置に一致したときに信号コイルScに基準位置検出パルスP1が誘起し、機関のクランク角位置が機関の極低速回転時の点火位置として適した位置に設定された固定点火位置に一致したときに信号コイルScに固定点火位置検出パルスP2が誘起するように、リラクタ102の極弧角とセンサ1Bの取付位置とが設定されている。本実施形態では、図3(B)に示したように、基準位置検出パルスP1が負極性のパルスからなり、固定点火位置検出パルスP2が正極性のパルスからなるように信号コイルScの巻き方向が設定されている。
コントローラ2は、CPU,ROM,RAM,タイマ(16進、16BITタイマ)などを有するマイクロプロセッサ200と、パルス発生器1が出力する基準位置検出パルスP1がダイオードD1を通して入力された第1の波形成形回路201と、固定点火位置検出パルスP2がダイオードD2を通して入力された第2の波形成形回路202とを備えていて、マイクロプロセッサ200がROMに記憶された所定のプログラムを実行することにより、点火位置制御するために必要な各種の制御手段を構成する。
第1の波形整形回路201及び第2の波形整形回路202はそれぞれ、基準位置検出パルスP1及び固定点火位置検出パルスP2をマイクロプロセッサ200が認識し得る波形に変換する回路で、基準位置検出パルスP1及び固定点火位置検出パルスP2がこれらの波形整形回路201及び202を通してマイクロプロセッサ200に入力されている。マイクロプロセッサ200は、パルス発生器1から波形成形回路201,202を通して与えられるパルスから機関のクランク角情報と回転速度情報とを得て点火位置の演算と、演算した点火位置の検出とを行ない、機関の点火位置で点火指令Viを発生する。
図示の点火回路3は、コンデンサ放電式の回路で、一端が接地された一次コイルW1及び二次コイルW2を有する点火コイルIgと、点火コイルの一次コイルW1の他端に一端が接続された点火コンデンサCiと、点火コンデンサCiの他端と接地間にアノードを点火コンデンサCi側に向けて接続されたサイリスタThと、点火コンデンサCiの他端にカソードが接続されアノードが点火コンデンサ充電用電源4の非接地側出力端子(正極側出力端子)に接続されたダイオードD3と、点火コイルの一次コイルW1の両端にカソードを接地側に向けて接続されたダイオードD4と、サイリスタThのゲートカソード間に接続された抵抗R1とからなっており、点火コイルの二次コイルW2に誘起する電圧が機関の気筒に取り付けられた点火プラグPLに印加されている。サイリスタThのゲートは、図示しないインターフェース回路を通してマイクロプロセッサ200のポートに接続されていて、マイクロプロセッサ200が点火指令Viを発生したときにサイリスタThにトリガ信号が与えられるようになっている。
点火コンデンサ充電用電源4は、機関により駆動される磁石発電機内に設けられたエキサイタコイルや、バッテリの電圧を昇圧するDC/DCコンバータ等からなっていて、この充電用電源4の出力電圧によりダイオードD3とD4とを通して点火コンデンサCiが図示の極性に充電される。マイクロコンピュータ200が点火指令Viを発生すると、サイリスタThがトリガされるため、該サイリスタが導通して点火コンデンサCiに蓄積された電荷がサイリスタThと点火コイルIgの一次コイルW1とを通して放電させられる。このコンデンサの放電により点火コイルの一次コイルW1に立ち上がりが速い電流が流れ、一次コイルW1に高い電圧が誘起する。この電圧は点火コイルの一次/二次間の昇圧比により更に昇圧されるため、点火コイルの二次コイルW2に点火用の高電圧が誘起する。この高電圧は点火プラグPLに印加されるため、該点火プラグで火花放電が生じて機関が点火される。
なお点火回路3は図示の回路に限定されるものではなく、点火指令が発生したときに点火用高電圧を発生するものであれば如何なるものでもよい。
本実施形態では、マイクロプロセッサ200が、図2に示すように、速度検出用計時手段2Aと、回転速度検出手段2Bと、点火角度演算手段2Cと、点火位置検出用計時データ演算手段2Dと、点火指令発生手段2Eと、パワーオンリセット時計時手段2Fと、点火許否手段2Gとを構成する。
速度検出用計時手段2Aは、内燃機関ENGの回転速度の情報を得るためにパルス発生器1が基準位置検出パルスP1を発生する間隔を計測して速度検出用時間データデータを得る手段である。この速度検出用計時手段は、基準位置検出パルスP1が発生する毎にマイクロプロセッサ内の16進16BITタイマの計測値を読み取って、読み取った計測値をRAMに格納するとともに、新たに読み取った計測値から前回読み取られてRAMに格納されている計測値を差し引くことにより速度検出用時間データ[NRPM]を求め、この速度検出用時間データ[NRPM]をRAMに格納する。
回転速度演算手段2Bは、速度検出用計時手段2Aが求めた速度検出用時間データ[NRPM]から前記(1)式により機関の回転速度[RPM]を演算してRAMに格納する手段であり、点火角度演算手段2Cは、基準位置から点火位置までの角度Δθを機関の回転速度[RPM]に対して演算してRAMに格納する手段である。点火角度Δθの演算は、回転速度と点火角度との間の関係を与える点火角度演算用マップを用いて行なわれる。
点火位置検出用計時データ演算手段2Dは、基準位置から点火角度演算手段2Cにより演算された点火角度Δθだけクランク軸が回転する間にタイマに計測させる時間を点火位置検出用計時データ[IGT]として演算する手段で、RAMに格納されている速度検出用時間データデータ[NRPM]と前記(2)式とを用いて、点火角度演算手段2Cにより演算された点火角度Δθを点火位置検出用計時データ[IGT]に変換する。
本実施形態では、点火角度演算手段2Cと、点火位置検出用計時データ演算手段2Dとにより、速度検出用時間データから検出される内燃機関の回転速度に対して内燃機関の点火位置を、点火位置検出用計時データ(クランク軸が基準位置から点火位置まで回転するのに要する時間)[IGT]の形で演算する点火位置演算手段2Hが構成されている。
点火指令発生手段2Eは、点火許否手段2Gが点火指令の発生を許可しているときに所定の点火位置で点火指令を発生する手段で、点火許否手段により点火指令の発生が許可されていて、かつ速度検出用時間データから検出される回転速度が設定値以下であるときに固定点火位置で(固定点火位置検出パルスが発生した時に)点火指令を発生し、点火許否手段により点火指令の発生が許可されていて、かつ内燃機関の回転速度が設定値を超えているときには点火位置検出用計時データ[IGT]の計測を完了したクランク角位置で点火指令Viを発生する。上記回転速度の設定値は、一定の点火位置(固定点火位置)で機関を点火する回転速度領域の上限値(例えばアイドリング回転速度)に設定する。
パワーオンリセット時計時手段2Fは、マイクロプロセッサ200がパワーオンリセットされたときに設定された一定時間[TIME]を計測する「リセット時計時動作」を行う手段で、この手段は例えば、タイマの計測値を一定時間[TIME]と比較して、タイマの計測値が[TIME]未満のときにリセット時計時動作が完了していないことを示すフラグを「1」とし、タイマの計測値が[TIME]以上になったときにフラグを「0」にリセットする手段により構成することができる。
点火許否手段2Gは、機関の始動時にマイクロプロセッサのパワーオンリセットが働いたときには点火指令が発生するのを許可し、機関が高速回転している状態でマイクロプロセッサのパワーオンリセットが働いたときには機関の実際の回転速度が反映された点火位置が演算されるようになるまでの間点火指令が発生するのを禁止する手段である。この点火許否手段は、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生しなかったときに機関の始動時であると判定して点火指令発生手段が固定点火位置検出パルスの発生位置及び点火位置検出用計時データの計測を完了した位置で点火指令を発生するのを許可し、リセット時計時動作が行なわれている間にパルス発生器がパルスを発生したときには機関の高速運転時に行なわれたパワーオンリセットであると判定して、内燃機関の実際の回転速度に基づいて演算された点火位置を検出できるようになるまでの間点火指令の発生を禁止する。
上記リセット時計時動作を行なわせる時間[TIME]は、機関の始動時にキースイッチが閉じられてから(マイクロプロセッサの電源が投入されてから)クランキング操作が開始されるまでの時間として予測される時間の最小値(通常は数秒)よりも十分に短く、かつマイクロプロセッサがパワーオンリセットされた場合にアフタファイアが発生するおそれがある回転速度領域において計測される回転速度検出用時間データ[NRPM]の最大値よりは十分に長く設定する。本実施形態では、リセット時計時動作を行なわせる時間[TIME]を100msecに設定している。
図2に示した各手段を構成するためにマイクロプロセッサに実行させるプログラムの要部のアルゴリズムを示すフローチャートを図5及び図6に示した。図5は、パルス発生器1が基準位置検出パルスP1を発生する毎に実行される第1のクランク角割り込み処理を示したもので、この割り込み処理においては、ステップ1で回転速度検出用時間データ[NRPM]を読み込み、ステップ2で(1)式により回転速度[RPM]を演算する。次いでステップ3で点火角度Δθを演算するとともに点火位置検出用計時データ[IGT]を演算し、ステップ4でリセット時計時動作が完了しているか([TIME]が経過しているか)否かを判定する。その結果リセット時計時動作が完了していないとき([TIME]が経過していないとき)にはステップ5に進んで点火指令の発生を禁止する処理(失火処理)を行なってこの割り込み処理を終了する。ステップ4でリセット時計時動作が完了している([TIME]が経過している)と判定されたときには、ステップ6に進んで点火位置検出用計時データを計測するタイマ手段に計時データ[IGT]をセットしてその計測を開始させた後この割り込み処理を終了する。
図6はパルス発生器1が固定点火位置検出パルスP2を発生する毎に実行される第2のクランク割り込み処理を示したもので、この割り込み処理では、先ずステップ1でリセット時計時動作が完了しているか([TIME]が経過しているか)否かを判定する。その結果リセット時計時動作が完了していないとき([TIME]が経過していないとき)にはステップ2に進んで点火指令の発生を禁止する処理(失火処理)を行なってこの割り込み処理を終了する。ステップ1でリセット時計時動作が完了している([TIME]が経過している)と判定されたときには、ステップ3に進んで点火指令の発生を許可して、機関の回転速度が設定値以下であるときに点火指令を発生させた後この割り込み処理を終了する。機関の回転速度が設定値を超えている時には、ステップ3に進んでも点火指令は発生させないようにしておく。
図5及び図6に示したアルゴリズムによる場合には、図5の割り込み処理のステップ1により速度検出用計時手段2Aが構成され、同割り込み処理のステップ2により回転速度演算手段2Bが構成される。また図5のステップ3において点火角度Δθを演算する過程により点火角度演算手段2Cが構成され、点火位置検出用計時データ[IGT]を演算する過程により点火位置検出用計時データ演算手段2Dが構成される。また図5の割り込み処理のステップ4及び5と図6の割り込み処理ステップ1ないし3とにより点火許否手段2Gが構成される。
上記のように構成すると、機関の高速運転時にキースイッチが一旦開かれた後再投入されたためにマイクロプロセッサのパワーオンリセットが行なわれたときに過遅角した位置で点火動作が行なわれるのを防ぐことができる。例えば、機関が10000r/minで回転している状態でキースイッチが一旦開かれた後再投入された場合には、回転速度検出用時間データ[NRPM]が6msecであるので、[NRPM]<[TIME]となり、リセット時計時動作が行なわれている間にパルス発生器1がパルスを発生する。これにより、機関が高速運転中にパワーオンリセットが働いたと判定することができる。このとき点火許否手段は、内燃機関の実際の回転速度が反映された点火位置が演算されるまでの間点火指令発生手段2Eが点火指令を発生するのを禁止するので、過遅角した位置で点火動作が行なわれてアフタファイアが発生するのが防止される。
本実施形態の点火装置において、機関の高速運転中にマイクロプロセッサのパワーオンリセットが行なわれたときの動作の一例を図3に示したタイムチャートを用いて説明する。機関の高速運転中に(例えば機関が10000r/minで回転しているときに)図3の時刻t0において運転者によりキースイッチが故意にオフ状態にされてマイクロプロセッサの電源が落とされた後、時刻t1においてキースイッチがオン状態にされたとする。時刻t1でキースイッチがオン状態にされるとマイクロプロセッサがパワーオンリセットされ、回転速度検出用時間データ[NPRM]がFFFFとされる。また回転速度[RPM]を格納するRAMの値が916r/minとされ、マイクロプロセッサ内の16進、16BITタイマ(フリーランタイマ)が計測動作を開始し、一定時間[TIME]を計測するリセット時計時動作が開始される。その後時刻t2でパルス発生器がパワーオンリセット後最初の基準位置検出パルスP1を発生する。この基準位置検出パルスP1はリセット時計時動作が行なわれている間に発生するため、機関の高速運転中にマイクロプロセッサのパワーオンリセットが行なわれたと判定され、機関の実際の回転速度が反映された点火位置が演算されるまでの間点火指令の発生が禁止される。時刻t3で固定点火位置検出パルスP2が発生するが、このときは未だ機関の回転速度が検出されていないため、点火指令の発生は禁止される。時刻t4でパワーオンリセット後2回目の基準位置検出パルスP1が発生すると回転速度検出用時間データ[NRPM]が得られる。この回転速度検出用時間データを用いて回転速度[RPM]が演算され、この回転速度に対して点火角度Δθと、点火位置検出用計時データ[IGT]とが演算される。点火位置検出用計時データ[IGT]が演算されると、機関の実際の回転速度が反映された点火位置を検出し得る状態になる。
時刻t5で固定点火位置検出パルスP2が発生するが、このパルスP2が発生する位置は機関の実際の回転速度が反映された点火位置ではなく、また回転速度が設定値を超えていることが既に検出されているので、点火指令は発生しない。時刻t6でパワーオンリセット後3番目の基準位置検出パルスP1が発生すると、時刻t4以降に演算されてRAMに格納されている点火位置検出用計時データ[IGT]の計測が開始され、この計時データの計測が完了したときに点火指令が発生して点火動作が行なわれる。以後、基準位置検出パルスが発生する毎に点火位置検出用計時データ[IGT]の計測が行なわれ、その計測が完了したときに点火指令が発生する。
機関の始動時の動作を示すタイムチャートを図4に示した。機関の始動時には、図4に示した時刻t1においてキースイッチがオン状態にされると、マイクロプロセッサのパワーオンリセットが行なわれ、マイクロプロセッサ内のタイマがリセット時計時動作を開始する。時刻t2でパルス発生器が最初の基準位置検出パルスP1を発生するが、このときリセット時計時動作は既に終了しているので、点火指令の発生が禁止されることはなく、時刻t3で固定点火位置検出パルスP2が発生したときに最初の点火指令が発生する。次いで時刻t4で基準位置検出パルスP1が発生すると、回転速度検出用時間データ[NRPM]が得られ、この時間データを用いて機関の回転速度[RPM]と点火角度Δθと、点火位置検出用計時データ[IGT]とが演算される。時刻t5で固定点火位置検出パルスP2が発生すると点火指令が発生し、機関が点火される。次いで時刻t6でパワーオンリセット後3番目の基準位置検出パルスP1が発生すると、時刻t4で検出された回転速度検出用時間データに基づいて演算された点火位置検出用計時データ[IGT]の計測が開始され、この計測が完了したときに点火指令が発生する。
このように、機関の始動時にマイクロプロセッサのパワーオンリセットが行なわれた際には、回転速度検出用時間データ[NRPM]が必ずリセット時計時動作が行なわれる時間[TIME](この例では100msec)を超えるので、リセット時計時動作が行なわれている間にパルス発生器1がパルスを発生することはない。そのため、機関の始動時には、点火指令の発生が禁止されることはなく、点火動作を1回目から支障なく行なわせて機関の始動性を向上させることができる。
上記の実施形態では、回転速度検出用時間データ[NRPM]から回転速度[RPM]を演算したが、回転速度検出用時間データ[NRPM]から直接点火角度Δθを演算するように点火角度演算用マップを作成するようにしてもよい。この場合には回転速度[RPM]を演算する手段を省略することができる。