(57)【要約】【課題】燃料を加熱するヒータにレアショートが発生した場合にこれを検出して、燃料の過熱を防ぎつつ内燃機関を始動できるようにする。【解決手段】各ヒータ２１〜２４は、マイコン４１からの駆動要求値に従って駆動される。マイコン４１は、通電中の各ヒータ２１〜２４にかかる各電圧を差動回路４４を介して取得し、取得した各差動電圧ＶＤ１〜ＶＤ４を相互比較判断する。例えば気筒♯４のヒータ２４の差動電圧ＶＤ４については、その差動電圧ＶＤ４と他の各差動電圧ＶＤ１〜ＶＤ３との差がそれぞれ許容範囲内か否か判断し、他の各差動電圧ＶＤ１〜ＶＤ３の全て（又は２つ以上）に対して上記差が許容範囲から外れていた場合に、気筒♯４のヒータ２４が異常であると判定する。そして、その異常状態がレアショート状態の場合には、正常時よりも小さい駆動要求値で各ヒータ２１〜２４を減衰駆動する。【選択図】図３
2014088859.tif 000002
【特許請求の範囲】
【請求項１】
３つ以上の気筒を有する内燃機関の各気筒の燃料噴射弁（１１，１２，１３，１４）から噴射される燃料を加熱するために前記燃料噴射弁毎に個別に設けられたヒータ（２１，２２，２３，２４）へ駆動要求値に応じた通電を行うことによって前記各ヒータを駆動するよう構成されたヒータ駆動装置（３）に対し、前記駆動要求値を示す駆動要求信号を出力することによって前記各ヒータの駆動を制御する燃料加熱制御装置（５）であって、
通電中の各ヒータの電圧を直接又は間接的に示すヒータ電圧をそれぞれ取得するヒータ電圧取得手段（４４）と、
各ヒータのうち１つを判定対象ヒータ、その判定対象ヒータ以外の他の各ヒータを比較用ヒータとして、前記判定対象ヒータの前記ヒータ電圧である判定対象ヒータ電圧と前記各比較用ヒータの前記各ヒータ電圧である各比較用ヒータ電圧との差がそれぞれ所定の許容範囲内にあるか否かの相互比較判断を、前記ヒータ毎に順次実行する相互比較手段（４１，Ｓ３１０〜Ｓ４２０）と、
前記相互比較手段による前記相互比較判断において、前記各比較用ヒータのうち少なくともその半数より多い所定数以上の前記比較用ヒータに対して前記差が前記許容範囲内にないと判断された前記判定対象ヒータがあった場合に、その判定対象ヒータが異常であると判定すると共に、その判定対象ヒータについて前記相互比較判断時に前記差が前記許容範囲内にないと判断されたときの前記判定対象ヒータ電圧と前記比較用ヒータ電圧の大小関係に基づいて、前記異常と判定した前記判定対象ヒータの異常状態の種類が、その判定対象ヒータの発熱量が正常時よりも大きくなるレアショート状態であるか否かを判定する異常判定手段（４１，Ｓ４３０〜Ｓ４６０，Ｓ２１０〜Ｓ２２０）と、
所定の演算方法によって前記駆動要求値を算出し、何れかのヒータが前記異常判定手段によって前記レアショート状態であると判定された場合には、全てのヒータが正常な場合の前記駆動要求値よりも所定の要求値減衰量だけ小さい値の駆動要求値を算出する減衰駆動を行うことにより各ヒータの発熱量を低減させる駆動要求値算出手段（４１，Ｓ５２０〜Ｓ５４０，Ｓ５６０〜Ｓ５９０，Ｓ６４０〜Ｓ７００）と、
前記駆動要求値算出手段が算出した前記駆動要求値を示す前記駆動要求信号を出力する駆動要求信号出力手段（４２）と、
を備えることを特徴とする燃料加熱制御装置。
【請求項２】
請求項１に記載の燃料加熱制御装置であって、
前記駆動要求値算出手段（Ｓ２３０）は、何れかのヒータが前記異常判定手段によって前記レアショート状態であると判定された場合、そのヒータが前記判定対象ヒータとして前記相互比較手段により前記相互比較判断された際にその判定対象ヒータ電圧と前記各比較用ヒータ電圧との差が前記許容範囲から外れた量に基づき、その外れた量が大きいほど前記要求値減衰量が大きくなるようにその要求値減衰量を設定する
ことを特徴とする燃料加熱制御装置。
【請求項３】
請求項１又は請求項２に記載の燃料加熱制御装置であって、
前記相互比較手段（Ｓ３３０〜Ｓ３８０）は、前記相互比較判断における、前記比較用ヒータ電圧毎の、前記判定対象ヒータ電圧と前記比較用ヒータ電圧との差が前記許容範囲内にあるか否かの判断を、前記比較用ヒータ電圧より所定量大きい上限値及びその比較用ヒータ電圧より所定量小さい下限値をそれぞれ設定して、前記判定対象ヒータ電圧が前記下限値より大きくかつ前記上限値より小さい場合に前記差が前記許容範囲内にあると判断することにより行う
ことを特徴とする燃料加熱制御装置。
【請求項４】
請求項１〜請求項３の何れか１項に記載の燃料加熱制御装置であって、
前記各気筒に対し、予め設定された噴射順序で対応する前記燃料噴射弁から燃料を噴射させる燃料噴射制御を実行する噴射制御手段（４１）と、
前記各ヒータの温度を検出するヒータ温度検出手段（４１，Ｓ８２０）と、
前記噴射制御手段により前記各燃料噴射弁の何れかから燃料の噴射が行われる噴射タイミング毎に、その噴射タイミングまたはその噴射タイミングより所定時間前のタイミングで、その噴射が行われる前記燃料噴射弁に設けられた前記ヒータの温度を前記ヒータ温度検出手段により取得してその温度が所定の目標温度以上であるか否か判断するヒータ温度判断手段（４１，Ｓ８４０）と、
を備え、
前記噴射制御手段（Ｓ８６０）は、前記駆動要求値算出手段により前記減衰駆動が行われている間は、前記噴射タイミング毎に、その噴射タイミングで燃料を噴射させるべき前記燃料噴射弁に設けられた前記ヒータの温度が、前記ヒータ温度判断手段により前記目標温度以上と判断されているか否か判断し、前記目標温度以上と判断されていない場合は、その噴射タイミングでの燃料の噴射は行わない
ことを特徴とする燃料加熱制御装置。
【請求項５】
請求項４に記載の燃料加熱制御装置であって、
前記噴射制御手段（Ｓ８４０〜Ｓ８６０）は、前記噴射タイミングにおいて、その噴射タイミングで燃料を噴射させるべき前記燃料噴射弁に設けられた前記ヒータの温度が前記目標温度以上と判断されなかった場合であっても、直前の前記噴射タイミングにおいても噴射対象の前記燃料噴射弁に設けられた前記ヒータの温度が前記目標温度以上ではないことによりその燃料噴射弁からの燃料の噴射が行われなかったこと、及び前記内燃機関の回転数が所定の回転数閾値未満であること、の２つの条件のうち少なくとも一方又は双方が成立しているならば、燃料の噴射を実行させる
ことを特徴とする燃料加熱制御装置。
【請求項６】
請求項１〜請求項５の何れか１項に記載の燃料加熱制御装置であって、
前記各ヒータの駆動開始後、前記ヒータ毎に、前記駆動開始時からの消費電力量を算出して、その算出した各消費電力量がいずれも、前記駆動開始時からその算出した時点までの経過時間又は燃料噴射量に基づいて決定される所定の消費電力量上限閾値以下であるか否か判断する消費電力量判断手段（４１，Ｓ１４０，Ｓ２７０）と、
前記消費電力量判断手段により前記各消費電力量のうち何れか１つでも前記消費電力量上限閾値を超えていると判断された場合に、前記ヒータ駆動装置による前記各ヒータの駆動を停止させる停止手段（４１，Ｓ２８０）と、
を備えることを特徴とする燃料加熱制御装置。
【請求項７】
請求項１〜請求項６の何れか１項に記載の燃料加熱制御装置であって、
前記駆動要求値算出手段は、前記噴射制御手段による前記燃料噴射制御が開始されてから所定の駆動終了タイミングまで前記駆動要求値を算出して前記各ヒータを駆動させる通常加熱制御を行うのに加えて、当該燃料加熱制御装置への電源投入後、実際に前記噴射制御手段による前記燃料噴射制御が開始されるまでの間の所定の予熱期間に所定の前記駆動要求値にて前記各ヒータを駆動させる予熱制御も行うよう構成されており、
前記各ヒータの何れかが前記異常判定手段によって前記レアショート状態であると判定された場合に、少なくとも次回再び当該燃料加熱制御装置へ電源が投入されたときに実行される前記予熱制御における前記予熱期間を延長する予熱期間延長手段（４１，Ｓ２４０，Ｓ６００〜Ｓ６１０）を備える
ことを特徴とする燃料加熱制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の各気筒に噴射される燃料の加熱を制御する燃料加熱制御装置に関する。
【背景技術】
【０００２】
例えばアルコールを主成分とする燃料のように低温時の始動性が低い燃料を各気筒に噴射して動作させるよう構成された内燃機関として、燃料を加熱するヒータを設けることにより始動性の改善が図られたものが知られている（例えば、特許文献１参照。）。
【０００３】
ヒータの種類としては、抵抗加熱型のものが一般的である。ヒータの設置部位は種々考えられ、その１つとして、各気筒のインジェクタ（燃料噴射弁）毎に個別にヒータを設ける構成が考えられる。インジェクタ毎にヒータを設け、インジェクタ毎にそのインジェクタから噴射される燃料をその噴射される直前にヒータで加熱することで、各気筒の燃料の噴霧性・着火性を向上させることができ、良好な始動性を得ることができる。
【０００４】
各ヒータを駆動する駆動システムの構成も種々考えられるが、最も一般的な構成の１つとして、制御装置（例えばマイコン）が駆動要求値を算出してそれを示す駆動要求信号を出力し、ヒータ駆動用の駆動ドライバ（駆動装置）がその駆動要求値に応じた電流を各ヒータへ通電することにより各ヒータを駆動する構成が考えられる。
【０００５】
このようなヒータ駆動システムにおいては、何らかの要因で、駆動ドライバからヒータへの配線経路が断線したりショートしたりするおそれがある。なお、配線経路のショートとしては、電源電圧へショートする電源ショートや、グランドラインへショートするグランドショートなどがある。
【０００６】
一般的な駆動ドライバは、上述した断線やショートが発生した場合にそれを検出するための基本的機能を備えている。例えば、制御装置からの駆動要求値がゼロであるのにヒータの電圧がゼロではない場合にはその要因として電源ショートが考えられる。また例えば、制御装置から所定の駆動要求値を示す駆動要求信号が入力されてそれに応じた通電駆動を行っているにもかかわらずヒータの電圧がゼロである場合にはその要因としてグランドショートが考えられる。
【０００７】
駆動ドライバが断線やショートを検出する機能を備えていることで、制御装置は、断線やショートが生じた場合にはそれを駆動ドライバを介して知ることができ、発生した異常に応じた適切な処理（例えばヒータの駆動停止）を行うことができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−１０１２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、ヒータに生じる異常には、上述した断線やショートなどといった、駆動ドライバが備える基本的な異常検出機能で検出可能なもの以外にも、例えば、ヒータの内部が部分的に短絡するなどの種々の要因で抵抗値が正常時よりも小さくなってしまう異常（以下「レアショート」という）や、ヒータの経年劣化等によって抵抗値が正常時よりも大きくなってしまう異常などもある。このうち特にレアショートについては、これが発生すると、そのレアショートが発生したヒータ付近の燃料が必要以上に（駆動要求値以上に）加熱されてしまう。レアショートの程度によっては、燃料が沸騰してベーパが発生し、内燃機関の始動が不可能になってしまうおそれがある。
【００１０】
そのため、上述したレアショート等の異常についても検出する必要性がある。しかし、従来の駆動ドライバは、上述したレアショートを検出する機能までは備えていない。
本発明は上記課題に鑑みなされたものであり、燃料を加熱するヒータにレアショートが発生した場合にこれを検出して、燃料の過熱を防ぎつつ内燃機関を始動できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するためになされた本発明は、３つ以上の気筒を有する内燃機関の各気筒の燃料噴射弁から噴射される燃料を加熱するために燃料噴射弁毎に個別に設けられたヒータへ駆動要求値に応じた通電を行うことによって各ヒータを駆動するよう構成されたヒータ駆動装置に対し、駆動要求値を示す駆動要求信号を出力することによって各ヒータの駆動を制御する燃料加熱制御装置であって、ヒータ電圧取得手段と、相互比較手段と、異常判定手段と、駆動要求値算出手段と、駆動要求信号出力手段とを備えることを特徴としている。
【００１２】
ヒータ電圧取得手段は、通電中の各ヒータの電圧を直接又は間接的に示すヒータ電圧をそれぞれ取得する。
相互比較手段は、各ヒータのうち１つを判定対象ヒータ、その判定対象ヒータ以外の他の各ヒータを比較用ヒータとして、判定対象ヒータのヒータ電圧である判定対象ヒータ電圧と各比較用ヒータの各ヒータ電圧である各比較用ヒータ電圧との差がそれぞれ所定の許容範囲内にあるか否かの相互比較判断を、ヒータ毎に順次実行する。
【００１３】
異常判定手段は、相互比較手段による相互比較判断において、各比較用ヒータのうち少なくともその半数より多い所定数以上の比較用ヒータに対して上記差が許容範囲内にないと判断された判定対象ヒータがあった場合に、その判定対象ヒータが異常であると判定すると共に、その判定対象ヒータについて相互比較判断時に上記差が許容範囲内にないと判断されたときの判定対象ヒータ電圧と比較用ヒータ電圧の大小関係に基づいて、異常と判定した判定対象ヒータの異常状態の種類が、その判定対象ヒータの発熱量が正常時よりも大きくなるレアショート状態であるか否かを判定する。
【００１４】
駆動要求値算出手段は、所定の演算方法によって駆動要求値を算出する。また、駆動要求値算出手段は、何れかのヒータが異常判定手段によってレアショート状態であると判定された場合には、全てのヒータが正常な場合の駆動要求値よりも所定の要求値減衰量だけ小さい値の駆動要求値を算出する減衰駆動を行うことにより各ヒータの発熱量を低減させる。
【００１５】
このように構成された本発明の燃料加熱制御装置では、各気筒の各燃料噴射弁に設けられた各ヒータについて、そのヒータ電圧を相互比較判断することによって、異常であるか否か、さらにはレアショート状態であるか否かを判定する。そして、レアショート状態であると判定された場合は、減衰駆動を行うことによって各ヒータの駆動自体は継続させる。そのため、何れかのヒータがレアショート状態になったとしても、そのレアショート状態になったヒータによる燃料の過熱を防ぎつつ、内燃機関を始動させることができる。
【００１６】
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１７】
【図１】実施形態のインジェクタヒータ駆動システムの概略構成を表す構成図。
【図２】差動回路の内部構成を表す構成図。
【図３】ヒータにかかる電圧（差動電圧）の相互監視によりヒータの異常を判定する方法を説明するための説明図。
【図４】レアショートが検出された場合に行われる減衰駆動の概念を説明するための説明図。
【図５】減衰駆動時にヒータ温度に応じて噴射カットが行われることを説明するための説明図。
【図６】ヒータ駆動開始からの消費電力積算値とその上限閾値との関係を表す説明図。
【図７】ヒータ監視処理を表すフローチャート。
【図８】図７のヒータ監視処理におけるＳ１３０のヒータ相互監視処理を表すフローチャート。
【図９】ヒータ駆動処理を表すフローチャート。
【図１０】燃料噴射カット処理を表すフローチャート。
【発明を実施するための形態】
【００１８】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
（１）インジェクタヒータ駆動システム全体の概要
図１に示すように、本実施形態のインジェクタヒータ駆動システム１は、４つのヒータ２１，２２，２３，２４を駆動制御するものであって、ヒータ駆動ドライバ３とエンジンＥＣＵ５を備えている。
【００１９】
本実施形態のインジェクタヒータ駆動システム１は、アルコール燃料で動作する内燃機関を搭載した車両に設けられている。内燃機関の気筒数は本実施形態では４気筒であり、１番気筒（気筒♯１）から４番気筒（気筒♯４）までの各気筒それぞれにインジェクタ１１，１２，１３，１４が備えられている。燃料タンクから燃料ポンプによって供給されてきた燃料は、デリバリパイプによって各インジェクタ１１〜１４に分配され、各インジェクタ１１〜１４からそれぞれ所定の噴射タイミングで、対応する気筒内へ噴射される。
【００２０】
そして、各気筒のインジェクタそれぞれに、当該インジェクタから噴射される燃料を加熱するためのヒータが備えられている。即ち、気筒♯１のインジェクタ１１にはこのインジェクタ１１から噴射される燃料を加熱するヒータ（以下「第１ヒータ」ともいう）２１が備えられ、気筒♯２のインジェクタ１２にはこのインジェクタ１２から噴射される燃料を加熱するヒータ（以下「第２ヒータ」ともいう）２２が備えられ、気筒♯３のインジェクタ１３にはこのインジェクタ１３から噴射される燃料を加熱するヒータ（以下「第３ヒータ」ともいう）２３が備えられ、気筒♯４のインジェクタ１４にはこのインジェクタ１４から噴射される燃料を加熱するヒータ（以下「第４ヒータ」ともいう）２４が備えられている。
【００２１】
各ヒータ２１〜２４はいずれも、通電によるジュール熱で発熱する抵抗加熱型のヒータであり、通電される電流が大きいほど発熱量が大きくなる。各ヒータ２１〜２４としては、いずれも電気的特性が同じものが用いられる。各ヒータ２１〜２４は、いずれも、その一端がヒータ駆動ドライバ３に接続され、他端が接地されている。
【００２２】
各ヒータ２１〜２４への通電が行われる期間は、詳細は後述するが、図示しないイグニションスイッチがユーザによりオン（即ちエンジンＥＣＵ５へ電源が投入）されてから所定のプレヒート時間Ｔｐが経過するまでの期間、及びクランキングが開始されてから所定のヒータ駆動終了タイミングまでの期間である。これらの期間に、エンジンＥＣＵ５からヒータ駆動ドライバ３へＰＷＭ信号が出力されてヒータ駆動ドライバ３から各ヒータ２１〜２４への通電が行われることで、各ヒータ２１〜２４が発熱し、燃料が加熱される。
【００２３】
（２）ヒータ駆動ドライバの構成
ヒータ駆動ドライバ３は、各ヒータ２１〜２４毎に設けられた４つのＭＯＳＦＥＴ（以下単に「ＭＯＳ」と称する）３１〜３４と、制御回路３５と、駆動回路３６と、異常検出回路３７と、ダイアグ出力回路３８とを備えている。本実施形態の４つのＭＯＳ３１〜３４はいずれもｎチャネル型ＭＯＳＦＥＴであり、その電気的特性・定格はいずれも同じである。
【００２４】
各ＭＯＳ３１〜３４のソースは、それぞれ対応する気筒のヒータの一端に接続されている。各ＭＯＳ３１〜３４のゲートは、いずれも駆動回路３６に接続されている。各ＭＯＳ３１〜３４のドレインは、いずれも、パワー系電源リレー１５及びヒューズ１７を介して車載バッテリ７の正極に接続されている。
【００２５】
パワー系電源リレー１５は、基本的には、イグニションスイッチがオンされることによりエンジンＥＣＵ５に電源が投入されてエンジンＥＣＵ５が動作している間に、エンジンＥＣＵ５によりオンされる。したがって、イグニションスイッチがオンされている間は、各ＭＯＳ３１〜３４のドレインには車載バッテリ７の電圧（以下「バッテリ電圧」という）ＶＢが印加される。そのため、各ＭＯＳ３１〜３４の何れかがオンされると、車載バッテリ７からそのオンされたＭＯＳを介してそのＭＯＳに接続されたヒータへの通電が行われる。バッテリ電圧ＶＢは、本実施形態では、例えば１４Ｖである。なお、パワー系電源リレー１５を介してヒータ駆動ドライバ３へ入力されるバッテリ電圧ＶＢを、以下、パワー系電源ともいう。
【００２６】
ヒータ駆動ドライバ３には、上記パワー系電源の他に、ヒューズ１８及びメインリレー１６を介してバッテリ電圧ＶＢが入力される。この、メインリレー１６を介して入力されるバッテリ電圧ＶＢを、以下、制御系電源ともいう。メインリレー１６も、パワー系電源リレー１５と同様、イグニションスイッチがオンされてエンジンＥＣＵ５が動作している間にエンジンＥＣＵ５によりオンされる。
【００２７】
ヒータ駆動ドライバ３は、制御系電源から所定の制御電圧（例えば５Ｖ）を生成するレギュレータ（図示略）を備えており、ヒータ駆動ドライバ３内の各種回路等はそれぞれその制御電圧を電源として動作する。
【００２８】
制御回路３５は、エンジンＥＣＵ５から入力されるＰＷＭ信号が示すデューティに応じた駆動指令を駆動回路３６へ出力する。この駆動指令は、ＰＷＭ信号のデューティを示すものである。駆動回路３６は、制御回路３５から入力された駆動指令に従って（即ち駆動指令が示すデューティで）、各ＭＯＳ３１〜３４をデューティ駆動する。つまり、各ＭＯＳ３１〜３４はいずれもＰＷＭ信号に応じた同じデューティで駆動する。但し本実施形態では、各ＭＯＳ３１〜３４がいずれも同じタイミングでオン・オフされるのではなく、オンされるタイミングが、デューティ駆動周期の１／４周期ずつずれている。
【００２９】
異常検出回路３７は、各ヒータ２１〜２４の電圧（ヒータ２１〜２４の両端の電圧）ＶＩＨ１〜ＶＩＨ４）に基づいて、各ヒータ２１〜２４の通電経路の各種異常のうち特に電源ショート、グランドショート、及び断線を検出する。例えば、各ＭＯＳ３１〜３４が全てオフされているにもかかわらず何れかのヒータの電圧がバッテリ電圧ＶＢに近い値になっている場合は、そのヒータの一端が電源ショートしている可能性があることが検出できる。また例えば、何れかのＭＯＳがオンされているにもかかわらずそのＭＯＳに接続されたヒータの電圧が０の場合は、そのヒータの一端がグランドショートしている可能性があることが検出できる。このように、異常検出回路３７は、各ヒータ２１〜２４のヒータの電圧と各ＭＯＳ３１〜３４の状態等に基づいて、各ヒータ２１〜２４の通電経路の電源ショート及びグランドショートを検出するのである。
【００３０】
ダイアグ出力回路３８は、異常検出回路３７によって異常が検出された場合に、その異常の内容や異常部位等を示すダイアグ検出情報をシリアル通信にてエンジンＥＣＵ５へ出力する。
【００３１】
（３）エンジンＥＣＵ５の構成
エンジンＥＣＵ５は、各ヒータ２１〜２４の駆動制御や各インジェクタ１１〜１４からの燃料噴射制御などの、エンジン（内燃機関）を動作させるための各種の制御を行うものであり、マイコン４１と、出力回路４２と、入力回路４３と、差動回路４４とを備えている。
【００３２】
出力回路４２は、マイコン４１から入力される駆動要求値が示すデューティのＰＷＭ信号を生成してヒータ駆動ドライバ３へ出力する。駆動要求値は、各ヒータ２１〜２４を駆動させる際のデューティを示すものであり、後述するようにマイコン４１にて算出される。
【００３３】
入力回路４３は、ヒータ駆動ドライバ３からシリアル通信にて入力されるダイアグ検出情報を受信して、そのダイアグ検出情報の内容を示すデータをマイコン４１へ出力する。
差動回路４４は、バッテリ電圧ＶＢと各ヒータの電圧ＶＩＨ１〜ＶＩＨ４の差をそれぞれ増幅することにより各ヒータ２１〜２４にかかる電圧（差動電圧）ＶＤ１〜ＶＤ４を出力する。
【００３４】
差動回路４４の内部構成は、図２に示す通りである。即ち、差動回路４４は、図２に示すように、４つの差動増幅回路５１，５２，５３，５４を備えている。第１の差動増幅回路５１は、オペアンプ６１と、一端がこのオペアンプ６１の非反転入力端子に接続されて他端にパワー系電源（バッテリ電圧ＶＢ）が入力される抵抗Ｒ１１と、一端がオペアンプ６１の反転入力端子に接続されて他端に第１ヒータ２１の電圧ＶＩＨ１が入力される抵抗Ｒ１２と、一端がオペアンプ６１の非反転入力端子に接続されて他端がグランドラインに接続された抵抗Ｒ１３と、一端がオペアンプ６１の反転入力端子に接続されて他端がオペアンプ６１の出力端子に接続された抵抗Ｒ１４とにより構成されている。他の第２の差動増幅回路５２，第３の差動増幅回路５３，及び第４の差動増幅回路５４もいずれも、第１の差動増幅回路５１と全く同じ構成である。
【００３５】
このように構成された各差動増幅回路５１〜５４は、それぞれ、入力される２つの電圧の差、即ちバッテリ電圧ＶＢとヒータの電圧との差を、所定の増幅率（本実施形態では例えば７倍）で増幅して出力する。即ち、第１の差動増幅回路５１からは、バッテリ電圧ＶＢと第１ヒータ２１の電圧ＶＩＨ１との差が増幅された差動電圧（以下「第１差動電圧」ともいう）ＶＤ１が出力される。第２の差動増幅回路５２からは、バッテリ電圧ＶＢと第２ヒータ２２の電圧ＶＩＨ２との差が増幅された差動電圧（以下「第２差動電圧」ともいう）ＶＤ２が出力される。第３の差動増幅回路５３からは、バッテリ電圧ＶＢと第３ヒータ２３の電圧ＶＩＨ３との差が増幅された差動電圧（以下「第３差動電圧」ともいう）ＶＤ３が出力される。第４の差動増幅回路５４からは、バッテリ電圧ＶＢと第４ヒータ２４の電圧ＶＩＨ４との差が増幅された差動電圧（以下「第４差動電圧」ともいう）ＶＤ４が出力される。
【００３６】
各差動増幅回路５１〜５４から出力される各差動電圧ＶＤ１〜ＶＤ４は、バッテリ電圧ＶＢとヒータの電圧との差を増幅したものであるため、直接的には、ＭＯＳの両端の電圧を示しているものである。ただし、見方を変えれば、バッテリ電圧ＶＢを仮に基準電位（０Ｖ）とした場合にその基準電位に対するヒータの一端側の電位の絶対値を示すものでもあり、ヒータの電圧が変化すると差動電圧も変化する。そのため、差動電圧はヒータの電圧を間接的に示すもの、即ち本発明のヒータ電圧に相当するものである。
【００３７】
なお、差動回路４４からマイコン４１へ入力される各差動電圧ＶＤ１〜ＶＤ４は、マイコン４１において、各ヒータ２１〜２４の監視に用いられる。この監視は、後述するように、各差動電圧ＶＤ１〜ＶＤ４を相互比較して、４つとも同程度の値になっているか否かを判断することにより行われる。
【００３８】
このような相互比較は、例えば、差動回路４４に入力される各電圧ＶＩＨ１〜ＶＩＨ４に基づいて行うことも理論的には可能である。しかし、各ヒータ２１〜２４の抵抗値は非常に小さく（例えば５Ω）、かつ各ＭＯＳ３１〜３４のオン抵抗（例えば１０ｍΩ）よりは非常に大きい。そのため、各ヒータの電圧ＶＩＨ１〜ＶＩＨ４は、バッテリ電圧ＶＢよりわずかに小さい値となり、また相互間の差は非常に小さい。よって、各ヒータの電圧ＶＩＨ１〜ＶＩＨ４を直接相互比較しても、相互間の差を適切に判断できず、よって各ヒータ２１〜２４の監視を適切に行うことは困難である。
【００３９】
そこで本実施形態では、各ヒータ２１〜２４の電圧ＶＩＨ１〜ＶＩＨ４をそれぞれ差動増幅回路５１〜５４に入力し、バッテリ電圧ＶＢとの差を演算・増幅して、その演算結果である各差動電圧ＶＤ１〜ＶＤ４をマイコン４１に入力するようにしている。バッテリ電圧ＶＢと各ヒータの電圧ＶＩＨ１〜ＶＩＨ４との差そのものは非常に小さいが、その差を増幅することで、マイコン４１にて適切に処理することが可能な適切なレベルの電圧にすることができる。そのため、マイコン４１は、各差動電圧ＶＤ１〜ＶＤ４の相互比較を適切に行うことができ、各ヒータ２１〜２４の監視を適切に行うことができる。
【００４０】
マイコン４１は、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、フラッシュメモリ、Ａ／Ｄ変換器、Ｉ／Ｏ等を備えた周知の構成のものである。差動回路４４からマイコン４１に入力された各差動電圧ＶＤ１〜ＶＤ４は、Ａ／Ｄ変換器でデジタルデータに変換された上で、マイコン４１における後述するヒータ相互監視処理（図８参照）で用いられる。
【００４１】
マイコン４１は、ＲＯＭやフラッシュメモリに格納された各種プログラムに従って各種制御を実行する。マイコン４１が実行する主な制御として、各インジェクタ１１〜１４からの燃料の噴射を制御する燃料噴射制御、図示しない燃料ポンプの動作を制御するポンプ駆動制御、各ヒータ２１〜２４の制御などがある。また、各ヒータ２１〜２４の制御には、各ヒータ２１〜２４の駆動そのものを制御するヒータ駆動制御の他、本実施形態の最も特徴的機能である、各ヒータ２１〜２４の状態を監視して所定の異常状態が発生した場合にこれを検出するヒータ監視制御がある。
【００４２】
ポンプ駆動制御は、燃料ポンプ駆動信号を生成・出力して図示しない燃料ポンプを駆動制御することにより、図示しない燃料タンク内の燃料をデリバリパイプ経由で各インジェクタ１１〜１４へ供給するものである。
【００４３】
燃料噴射制御は、各気筒♯１〜♯４に対し、予め設定された噴射順序で、対応する各インジェクタを所定の開弁タイミングで所定期間開弁させて所定量の燃料を噴射させるものである。この燃料噴射制御には、後述する燃料噴射カット処理（図１０参照）も含まれている。
【００４４】
ヒータ駆動制御は、イグニションスイッチがオンされる毎に、所定のタイミング及び所定の期間に各ヒータ２１〜２４を通電駆動させるものである。具体的には、通電させるべき期間に、駆動要求値（デューティ）を算出する。マイコン４１は、基本的には、上記デューティとして、所定の算出方法によって通常駆動デューティＤｏを算出し、その通常駆動デューティＤｏを示す駆動要求値を出力する。通常駆動デューティＤｏの算出方法は種々考えられ、例えば予め定められた一定値としてもよいし、例えば冷却水温などの種々のパラメータに応じた適切な値のデューティを算出するようにしてもよい。本実施形態では、一例として、各ヒータ２１〜２４の温度を検出して各検出値が目標温度以上となるように通常駆動デューティＤｏを算出する、フィードバック制御を行っているものとして、以下説明を続ける。
【００４５】
各ヒータ２１〜２４の温度をどのように検出するかについては種々の方法を採用することができる。例えば、各ヒータ２１の近傍にそれぞれ温度センサを設けるようにしてもよい。また例えば、ヒータの抵抗値から温度を推定演算するための演算式を予め用意しておき、その演算式を用いて温度を推定演算するようにしてもよい。ヒータの抵抗値は、ヒータの電圧ＶＩＨ、バッテリ電圧ＶＢ、ＭＯＳのオン抵抗などを元に算出することができる。
【００４６】
各ヒータ２１〜２４を駆動する期間は、既述の通り、イグニションスイッチのオンから所定のプレヒート時間Ｔｐが経過するまでのプレヒート期間、及びエンジンのクランキングが開始されてからヒータ駆動終了タイミングまでのメイン駆動期間である。
【００４７】
プレヒート期間における各ヒータ２１〜２４の駆動（プレヒート）は、エンジンのクランキング前に予め各ヒータ２１〜２４を加熱しておくことによりクランキング開始時の始動性向上を目的とするものである。プレヒート期間の設定方法は種々考えられ、例えば各ヒータ２１〜２４の温度が目標温度に達するまで駆動する方法や、単に一定時間駆動する方法などがある。本実施形態では、原則として、プレヒート時間Ｔｐは一定のプレヒート基本時間Ｔｏに設定されているものとして説明する。ただし本実施形態では、後述するように、プレヒート時間Ｔｐがプレヒート基本時間Ｔｏよりも延長されるケースがある。また、プレヒート基本時間Ｔｏは、ヒータの温度や冷却水温等に応じて可変設定されるものであってもよい。
【００４８】
（４）ヒータ監視制御
次に、マイコン４１が実行する各種制御のうち最も特徴的な制御の１つである、ヒータ監視制御について説明する。
【００４９】
各ヒータ２１〜２４やこれらの通電経路に生じるおそれのある各種異常のうち、断線や電源ショート、グランドショートについては、ヒータ駆動ドライバ３の異常検出機能（異常検出回路３７）によって検出することができる。しかし、各種異常の中には、ヒータ駆動ドライバ３の異常検出機能では検出できない（或いは検出困難な）異常もある。
【００５０】
具体的には、ヒータの内部が部分的に短絡するなどの種々の要因で抵抗値が正常時よりも小さくなってしまうレアショートや、このレアショートとは逆にヒータの経年劣化等によって抵抗値が正常時よりも大きくなってしまう異常（以下「劣化異常」ともいう）などがある。このような異常が生じると、当然ながら、ヒータの正常駆動が困難になる。特にレアショートが生じると、ヒータの温度が正常時よりも上昇して過熱状態となり、燃料が過度に加熱されてベーパが発生するおそれがある。
【００５１】
そこで本実施形態では、マイコン４１が、差動回路４４からの各差動電圧ＶＤ１〜ＶＤ４を相互比較することによって、レアショート及び劣化異常を検出する。具体的な検出方法を、図３を用いて説明する。
【００５２】
図３は、第１ヒータ２１〜第３ヒータ２３はいずれも正常で第４ヒータ２４にレアショートが生じている場合を例示している。第４ヒータ２４がレアショートしているため、第４ヒータ２４の電圧ＶＩＨ４は、正常時よりも小さい値となる。第４ヒータ２４の電圧ＶＩＨ４が小さくなると、第４の差動増幅回路５４から出力される第４差動電圧ＶＤ４は、正常時よりも大きな値となる。図３には、第１差動電圧ＶＤ１〜第３差動電圧ＶＤ３の３つの差動電圧はほぼ同レベルで正常であるのに対して第４差動電圧ＶＤ４が高い値になっている例が示されている。
【００５３】
異常検出の具体的手順は次の取りである。まず、４つの気筒♯１〜♯４のうち第１気筒♯１を基準気筒として、その基準気筒である第１気筒♯１の第１ヒータ２１の第１差動電圧ＶＤ１が正常であると仮定した上で、その第１差動電圧ＶＤ１に基づいて、その２倍の値を正常電圧上限値ＶＨ、その１／２の電圧を正常電圧下限値ＶＬとして設定する。図３の例では、第１差動電圧ＶＤ１が２Ｖであるため、その２倍の４Ｖが正常電圧上限値ＶＨに設定され、その１／２の１Ｖが正常電圧下限値ＶＬに設定された例が示されている。
【００５４】
このように基準気筒の差動電圧に基づいて正常電圧上限値ＶＨ及び正常電圧下限値ＶＬを設定した後、基準気筒以外の他の３つの気筒の各差動電圧を判定対象として、それぞれ、正常電圧上限値ＶＨより小さくかつ正常電圧下限値ＶＬより大きい許容範囲内にあるか否かを判断する。
【００５５】
即ち、まず第２気筒♯２の第２ヒータ２２の第２差動電圧ＶＤ２について、上記許容範囲内にあるか否かを判断する。図３の例では、第２差動電圧ＶＤ２は許容範囲内にあるため、第２ヒータ２２は正常と判定する。続いて、第３気筒♯３の第３ヒータ２３の第３差動電圧ＶＤ３について、上記許容範囲内にあるか否かを判断する。図３の例では、第３差動電圧ＶＤ３は許容範囲内にあるため、第３ヒータ２３は正常と判定する。続いて、第４気筒♯４の第４ヒータ２４の第４差動電圧ＶＤ４について、上記許容範囲内にあるか否かを判断する。図３の例では、第４差動電圧ＶＤ４は正常電圧上限値ＶＨ以上となっているため、第４ヒータはＮＧ（異常）であると仮判定する。
【００５６】
このようにして、第１気筒♯１を基準気筒とした異常判断を終えると、引き続き、基準気筒を第２気筒♯２〜第４気筒♯４まで順次切り替えて、それぞれ上記同様に基準気筒の差動電圧に対する他の３つの判定対象ヒータの差動電圧の異常判断を行う。図３の例では、第２気筒♯２を基準気筒として異常判断を行った場合も、第４ヒータ２４の第４差動電圧ＶＤ４が正常電圧上限値ＶＨ以上となって、第４ヒータはＮＧと仮判定される。さらに、第３気筒♯３を基準気筒として異常判断を行った場合も、第４ヒータ２４の第４差動電圧ＶＤ４が正常電圧上限値ＶＨ以上となって、第４ヒータはＮＧと仮判定される。
【００５７】
一方、第４気筒♯４を基準気筒として異常判断を行う場合、図３の例では第４気筒♯４の第４差動電圧ＶＤ４は４．８Ｖと大きいため、正常電圧下限値ＶＬはその１／２の２．４Ｖとなる。この値は、他の３つの差動電圧ＶＤ１〜ＶＤ３よりも大きい値である。そのため、判定対象の第１ヒータ２１〜第３ヒータ２３の３つのヒータはいずれもＮＧとなってしまう。そこで本実施形態では、このように基準気筒以外の他の各判定対象ヒータがいずれもＮＧとなった場合は、基準気筒がＮＧであると仮判定する。
【００５８】
このようにして、全気筒が同じ駆動要求値で駆動している各ヒータ２１〜２４について、各気筒を基準気筒として基準気筒以外のヒータの差動電圧が基準気筒の差動電圧に対して所定の許容範囲内に収まっているかどうかを総当りで比較し、ＮＧか否かの判断を行う。そして、基準気筒を全気筒遷移させた後に、有効気筒数（本例では４つ）の過半数以上（本例では３つ以上）のＮＧ仮判定がなされた気筒を異常と判定する。図３の例では、第４気筒♯４の第４ヒータ２４が、４つの基準気筒全てに対してＮＧと仮判定されたことから、第４気筒♯４の第４ヒータ２４はＮＧと本判定されることになる。なお、有効気筒数に対してどの程度の数のＮＧ仮判定がなされた場合にその気筒を異常と本判定するかについては種々決めることができ、例えば有効気筒数と同じ数のＮＧ仮判定がなされた場合に異常と本判定するようにしてもよい。
【００５９】
ここで、本実施形態では、ＮＧとの本判定が１回なされることによって第４ヒータ２４のＮＧが確定されるわけではない。ＮＧとの本判定がなされた後も、再び、同じ要領で基準気筒を全気筒遷移させてのＮＧ判断を繰り返し行う。そして、ＮＧと本判定された回数（ＮＧ判定回数）が所定の異常確定閾値以上となった場合に、第４ヒータ２４がＮＧであることが確定される。なお、異常確定閾値は適宜決めることができ、１としてもよいし、２以上の複数値としてもよい。
【００６０】
ＮＧが確定されると、そのＮＧの内容（レアショートか劣化異常か）に応じて、以後のヒータ駆動を、通常駆動デューティＤｏによる通常駆動から、デューティを低減（減衰）させる減衰駆動又はデューティを増大させる増大駆動に切り替える。図３の例の場合、気筒♯４の第４ヒータ２４は、その第４差動電圧ＶＤ４が他の各差動電圧ＶＤ１〜ＶＤ３よりも大きくて許容範囲を上回っていたことから、その異常の内容はレアショートである。そのため、その場合は、減衰駆動に切り替える。
【００６１】
減衰駆動において、デューティを通常駆動デューティＤｏよりもどの程度減衰させるかについては種々考えられる。本実施形態では、第４差動電圧ＶＤ４が他の各差動電圧ＶＤ１〜ＶＤ３と相互比較された時の、第４差動電圧ＶＤ４と正常電圧上限値ＶＨとの差である超過量ｖｏに基づいて減衰率Ｄａが算出される。
【００６２】
なお、超過量ｖｏは、基準気筒毎に異なる値となる可能性が高いが、その場合、例えば、各超過量ｖｏのうち最も大きい値をもとに、第４差動電圧ＶＤ４が少なくともその超過量ｖｏだけは低下するように減衰率Ｄａを算出してもよい。また例えば、各超過量ｖｏを平均化して、その平均化後の超過量ｖｏをもとに、第４差動電圧ＶＤ４が少なくともその平均化後の超過量ｖｏだけは低下するように減衰率Ｄａを算出してもよい。いずれの算出方法でも、超過量ｖｏが大きいほど減衰率Ｄａも大きくなる。
【００６３】
ただし、デューティを減衰させるということは、他の正常なヒータ２１〜２４の各差動電圧ＶＤ１〜ＶＤ３も低下することになる。そのため、減衰率Ｄａを算出するにあたっては、異常（レアショート）と判定された第４ヒータ２４の第４差動電圧ＶＤ４を十分に低下させることだけでなく、他の正常なヒータの各差動電圧ＶＤ１〜ＶＤ３が低くなりすぎて加熱が不十分とならないようにすることも考慮する必要がある。
【００６４】
このようにして減衰率Ｄａが算出された後、通常駆動デューティＤｏをその減衰率Ｄａだけ減衰させた減衰駆動デューティＤ１（Ｄ１＝（１−Ｄａ）・Ｄｏ）が算出され、その減衰駆動デューティＤ１による減衰駆動が行われる。適切な減衰率Ｄａによって減衰駆動が行われると、相互比較による異常判定時に異常（レアショート）と判定された第４ヒータ２４の差動電圧ＶＤ４は、図４に例示するように、その異常判定時の正常電圧上限値ＶＨよりも小さい値（即ち許容範囲内の値）に収まる。この減衰駆動により、レアショート状態の第４ヒータ２４の発熱量の過度な上昇を抑えて燃料のベーパを抑制することができる。
【００６５】
図３の例とは逆に、何れか１つのヒータが劣化異常となったことにより、その差動電圧が他の３つの差動電圧よりも小さくて許容範囲を下回った場合は、増大駆動に切り替える。増大駆動において、デューティを通常駆動デューティＤｏよりどの程度増大させるかについても種々考えられる。本実施形態では、異常が確定したヒータの差動電圧が他の各差動電圧と相互比較された時の正常電圧下限値ＶＬとの差である不足量ｖｕに基づいて増大率Ｄｂが算出される。そして、通常駆動デューティＤｏを増大率Ｄｂだけ増大させた増大駆動デューティＤ２（Ｄ２＝（１＋Ｄｂ）・Ｄｏ）が算出され、その増大駆動デューティＤ２による増大駆動が行われる。
【００６６】
ヒータ監視制御によって何れかのヒータがレアショートと判断されて減衰駆動に移行すると、場合によっては、ヒータの発熱量不足で燃料が十分に加熱されない状況も起こり得る。そこで本実施形態では、ヒータの減衰駆動中は、何れかの気筒の燃料噴射タイミングが到来する毎に、その燃料噴射タイミング又は燃料噴射タイミングよりも所定時間前のタイミング（以下これらを「規定タイミング」という）で、燃料噴射対象気筒のヒータの温度を検出する。そして、検出したヒータ温度が目標温度未満ならば、その燃料噴射タイミングでの噴射対象気筒の燃料噴射をカットする（噴射を行わない）ようにしている。
【００６７】
燃料噴射のカットが行われる具体例を図５に示す。図５は、プレヒートの段階で何れかのヒータのレアショートが検出されたことにより減衰駆動に切り替わった場合における、クランキングが開始されてエンジンが始動する際の、各気筒♯１〜♯４の燃料噴射タイミングと各ヒータ２１〜２４の温度変化の一例である。ヒータの温度は、既述の通り目標温度に制御される。そのため、燃料噴射が行われる毎に、加熱された燃料が噴射されることによりヒータ温度は一旦低下するものの、その後再び目標温度まで上昇していく。
【００６８】
クランキング中でエンジン回転数が低い間は、いずれの気筒も燃料噴射タイミングの間隔が長い。そのため、何れの気筒も、ある噴射タイミングで噴射が行われてヒータの温度が低下しても、次の噴射タイミングまでにはヒータの温度を十分に目標温度に到達させることができる。しかし、エンジンが始動して回転数が上昇すると、当然ながらいずれの気筒も噴射タイミングの間隔が短くなる。そのため、ある噴射タイミングで噴射が行われてヒータの温度が低下した後、ヒータの温度が目標温度に到達する前に次の噴射タイミングが到来してしまうことも起こり得る。
【００６９】
図５の時刻ｔ１は、第１気筒♯１の燃料噴射タイミングであるが、この時刻ｔ１での第１ヒータ２１の温度は目標温度に到達していない。そのため、この時刻ｔ１では、第１気筒♯１の燃料噴射はカットされる。第１気筒♯１の次は時刻ｔ２で第２気筒♯２の燃料噴射タイミングが来る。この時刻ｔ２でも、第２ヒータ２２の温度は目標温度に到達していない。そのため、単にヒータ温度だけをみれば、この時刻ｔ２でも第２気筒♯２の燃料噴射はカットすべきである。しかし、時刻ｔ２の燃料噴射タイミングの直前の燃料噴射タイミングである時刻ｔ１において第１気筒♯１の燃料噴射がカットされている。そのため、時刻ｔ２でも燃料噴射をカットすると、２回連続で燃料噴射がカットされることになり、エンジンの始動性を悪化させるおそれがある。そこで、時刻ｔ２では、燃料噴射をカットすることなく、第２気筒♯２への燃料噴射が行われる。
【００７０】
つまり、たとえ今回の燃料噴射タイミングで燃料噴射対象気筒のヒータの温度が目標温度未満であっても、直前の燃料噴射タイミングにおいて燃料噴射がカットされている場合は、今回の燃料噴射タイミングでは燃料噴射を行うようにしている。
【００７１】
時刻ｔ２で第２気筒♯２への燃料噴射が行われた後、次の時刻ｔ３で第３気筒♯３の燃料噴射タイミングが来る。この時刻ｔ３でも、第３ヒータ２３の温度は目標温度に到達していない。そのため、この時刻ｔ３では、第３気筒♯３の燃料噴射はカットされる。時刻ｔ３で第３気筒♯３への燃料噴射がカットされた後、次の時刻ｔ４で第４気筒♯４の燃料噴射タイミングが来る。この時刻ｔ４では、第４ヒータ２４の温度が目標温度に到達している。そのため、この時刻ｔ４では通常通り第４気筒♯４への燃料噴射が行われる。
【００７２】
何れかのヒータがレアショートすると、その後、減衰駆動によってデューティを低減したとしても、例えばその低減量が十分ではなかったり、レアショートの度合いが大きくて（即ちヒータの抵抗値が大幅に低下していて）、そのレアショート状態のヒータの発熱量を十分に下げることができないおそれもある。
【００７３】
そこで本実施形態では、ヒータ監視制御において、上述した各ヒータの異常判定を行うと共に、各ヒータの消費電力の積算も行うようにしている。即ち、イグニションスイッチのオンによりヒータの駆動が開始されてからの各ヒータの消費電力量Ｕ１（ｔ）〜Ｕ４（ｔ）を算出するようにしている。そして、何れかのヒータが異常と判定されたことにより減衰駆動に移行した後、各ヒータの消費電力積算値Ｕ１（ｔ）〜Ｕ４（ｔ）をチェックして、何れかの消費電力積算値が所定の上限閾値Ｕｒ（ｔ）を超えた場合には、デューティを０にして各ヒータの駆動を強制的に停止させる。
【００７４】
消費電力積算値（Ｕ１（ｔ）〜Ｕ４（ｔ））と上限閾値Ｕｒ（ｔ）との関係の一例は図６に示す通りである。図６に示すように、ヒータの消費電力積算値は、駆動時間と共に上昇していくが、上限閾値Ｕｒ（ｔ）も同様に駆動時間と共に上昇していく。つまり、上限閾値Ｕｒ（ｔ）は、予め設定された、駆動時間に対する所定の演算式（関数）により得られる。この上限閾値Ｕｒ（ｔ）の演算式は、ヒータが正常である場合に想定される消費電力積算値の変化をもとにして、その正常時の消費電力積算値よりも大きい値（正常である限りその値を超えることのないような値）となるように設定されている。そのため、上限閾値Ｕｒ（ｔ）を超える領域は、ヒータ駆動開始からの経過時間に対して消費電力量が過大な領域であり、換言すれば、ベーパが発生する可能性が高くなる領域である。
【００７５】
ヒータが正常である限り、ヒータの消費電力積算値が上限閾値Ｕｒ（ｔ）を超えることはないが、ヒータがレアショートすると、駆動時間に対して消費電力積算値が急上昇していく。つまり、駆動開始からの経過時間に対する消費電力量が大きく、やがて上限閾値Ｕｒ（ｔ）に達する。このように、消費電力積算値が上限閾値Ｕｒ（ｔ）に達した場合は、減衰駆動が十分に行われていない（或いは十分に行うことができない）異常状態と判定して、各ヒータの駆動を強制停止させるのである。
【００７６】
（５）マイコン４１が実行する各制御処理の具体的説明
（５−１）ヒータ監視処理
次に、マイコン４１が実行する各種制御処理のうち、上述したヒータ監視制御を実現するためのヒータ監視処理について、図７を用いて説明する。マイコン４１は、イグニションスイッチがオンされてその動作を開始した後、所定のヒータ駆動終了タイミングまで、図７に示したヒータ監視処理を定期的に繰り返し実行する。なお、図７のヒータ監視処理で用いられる各変数ｚｊ、Ｚｋ、Ｕ１（ｔ）〜Ｕ４（ｔ）は、イグニションスイッチがオフされると全て０にクリアされる。一方、図７のヒータ監視処理で設定される各フラグは、イグニションスイッチがオフされても、そのオフ直前の設定状態が維持される。ただし、各フラグの初期値は、通常駆動フラグはオンで他の各フラグはオフである。
【００７７】
マイコン４１は、図７のヒータ監視処理を開始すると、まずＳ１１０で、ヒータ駆動ドライバ３からシリアル通信にてダイアグ検出情報が出力されているか否か判断する。ダイアグ検出情報が出力されている場合は、ヒータ駆動ドライバ３において断線又はショートの異常が検出されたということであるため、Ｓ２８０で通電停止要求フラグをオンにする。
【００７８】
通電停止要求フラグをオンすると、後述する図９のヒータ駆動処理におけるＳ７３０の処理によってヒータの駆動が強制的に停止（終了）されることになる。ただしその強制終了は、マイコン４１がＰＷＭ信号の出力を停止する（即ちデューティを０にする）ことにより行われる。そのため、ＰＷＭ信号の出力を停止してもヒータへの通電が継続されるような異常が生じている場合には、ＰＷＭ信号の出力を停止させることだけでは実際に駆動を終了させることはできない。そこで、Ｓ２８０で通電停止要求フラグをオンした後、Ｓ２９０で、ヒータ駆動の停止が不可能か否かを判断する。
【００７９】
具体的には、各ヒータ２１〜２４の各電圧ＶＩＨ１〜ＶＩＨ４をモニタして、０になっているか否かを判断する。モニタした各電圧ＶＩＨ１〜ＶＩＨ４が全て０になっていれば、全てのヒータ２１〜２４が停止しているものと判断して、このヒータ監視処理を終了する。一方、何れかのヒータの電圧が０ではない場合は、少なくともそのヒータについては停止させること（詳しくはＰＷＭ信号を０にすることによって停止させること）が不可能と判断して、Ｓ３００に進み、パワー系電源リレー１５を遮断する。これにより、ヒータ駆動ドライバ３へのパワー系電源の供給が強制的に遮断されるため、各ヒータ２１〜２４の駆動を停止させることができる。
【００８０】
Ｓ１１０で、ヒータ駆動ドライバ３からダイアグ検出情報が出力されていないと判断した場合は、Ｓ１２０で、ヒータ通常駆動フラグがオンされているか否か判断する。ヒータ通常駆動フラグがオフされている場合はこのヒータ監視処理を終了するが、ヒータ通常駆動フラグがオンされている場合は、Ｓ１３０のヒータ相互監視処理に進む。
【００８１】
Ｓ１３０のヒータ相互監視処理の詳細は図８に示す通りであり、まずＳ３１０で、各ヒータ２１〜２４の各差動電圧ＶＤ１〜ＶＤ４を取り込む。なお、ここで取り込む各差動電圧ＶＤ１〜ＶＤ４は、いずれも、デューティ駆動におけるＭＯＳのオン時（即ち対応するヒータへの通電が行われているとき）の値である。Ｓ３２０では、３つの補助変数ｉ，ｊ，ｋを全て１に初期化する。
【００８２】
そしてＳ３３０で、基準気筒を第ｉ気筒♯ｉとして、その基準気筒♯ｉの差動電圧ＶＤｉに基づき、正常電圧上限値ＶＨ（＝２・ＶＤｉ）及び正常電圧下限値ＶＬ（＝ＶＤｉ／２）をそれぞれ算出する。そしてＳ３４０で、判定対象の気筒を第ｊ気筒♯ｊとして、この気筒♯ｊの差動電圧ＶＤｊが正常電圧下限値ＶＬより大きくかつ正常電圧上限値ＶＨより小さい範囲（即ち許容範囲）内にあるか否かを判断する。判定対象の差動電圧ＶＤｊが許容範囲内にあればＳ３７０に進むが、許容範囲から外れている場合は、Ｓ３５０に進み、判定対象の気筒♯ｊの仮ＮＧ判定回数ｚｊをカウントアップする。そしてＳ３６０で、正常電圧上限値ＶＨに対する判定対象の差動電圧ＶＤｊの超過量ｖｏ（＝ＶＤｊ−ＶＨ）又は正常電圧下限値ＶＬに対する判定対象の差動電圧ＶＤｊの不足量ｖｕ（＝ＶＬ−ＶＤｊ）を算出し、メモリ（ＲＡＭ又はフラッシュメモリ）に保持する。具体的には、Ｓ３４０の判断において判定対象の差動電圧ＶＤｊが正常電圧上限値ＶＨ以上であった場合はＳ３６０では超過量ｖｏが算出・保持されることになり、逆にＳ３４０の判断において判定対象の差動電圧ＶＤｊが正常電圧下限値ＶＬ以下であった場合はＳ３６０では不足量ｖｕが算出・保持されることになる。
【００８３】
Ｓ３７０では、判定対象の気筒を示す補助変数ｊが４であるか否かを判断し、４の場合はＳ３９０に進むが、まだ４でない場合はＳ３８０でこの補助変数ｊを１つインクリメントしてＳ３４０に戻る。このようにして、基準気筒♯ｉ以外の３つの判定対象気筒♯ｊの各差動電圧ＶＤｊについて、Ｓ３４０の判断を順次行い、許容範囲から外れている場合には仮ＮＧ判定回数ｚｊのカウントアップ（Ｓ３５０）と、超過量ｖｏ又は不足量ｖｕの算出・保持（Ｓ３６０）を行うのである。
【００８４】
Ｓ３７０でｊ＝４と判断した場合は、Ｓ３９０に進み、基準気筒♯ｉ以外の３つの気筒♯ｊが全て仮ＮＧ判定されたか否かを判断する。ここで、基準気筒♯ｉ以外の３つの気筒♯ｊのうち１つでも正常と判断された場合はＳ４１０に進むが、基準気筒♯ｉ以外の３つの気筒♯ｊが全て仮ＮＧ判定された場合は、基準気筒♯ｉが異常であって基準気筒♯ｉをＮＧと仮判定すべきである（図３における、第４気筒♯４を基準気筒としたときの事例に相当）。そこで、基準気筒♯ｉ以外の３つの気筒♯ｊが全て仮ＮＧ判定された場合は、Ｓ４００で、基準気筒♯ｉに対する他の３つの判定対象気筒♯ｊに対してなされた仮ＮＧ判定を全てクリアして、これら３つの判定対象気筒♯ｊの各仮ＮＧ判定回数ｚｊもそれぞれ１つずつカウントダウンする。逆に基準気筒♯ｉの仮ＮＧ判定回数ｚｊについては１つカウントアップする。
【００８５】
このようにして、１つの基準気筒♯ｉに基づく仮判定処理を終えると、Ｓ４１０で、基準気筒を示す補助変数ｉが４であるか否かを判断する。補助変数ｉが４の場合はＳ４３０に進むが、まだ４でない場合はＳ４２０でこの補助変数ｉを１つインクリメントしてＳ３３０に戻る。つまり、基準気筒を現在の気筒♯ｉから気筒♯ｉ＋１に切り替えて、再びＳ３３０以下の処理を行うのである。全ての気筒♯１〜♯４について、それぞれを基準気筒としたときの仮ＮＧ判定処理が終了すると、Ｓ４１０でｉ＝４と判断され、Ｓ４３０に進むことになる。
【００８６】
Ｓ４３０では、各気筒が異常か否かの正判定を行う。即ち、正判定対象の気筒♯ｋについて、その仮ＮＧ判定回数ｚｋが有効気筒数の過半数以上か否かを判断する。本実施形態では、有効気筒数が４でその過半数は３であるため、Ｓ４３０の判断は、仮ＮＧ判定回数ｚｋが３以上か否かの判断となる。
【００８７】
気筒♯ｋの仮ＮＧ判定回数ｚｋが３以上でなければ、気筒♯ｋについては正常であるものと本判定して、Ｓ４５０に進む。一方、気筒♯ｋの仮ＮＧ判定回数ｚｋが３以上の場合は、気筒♯ｋについては異常であるものと本判定して、Ｓ４４０で気筒♯ｋのＮＧ判定回数Ｚｋをカウントアップして、Ｓ４５０に進む。
【００８８】
Ｓ４５０では、本判定対象の気筒を示す補助変数ｋが４であるか否かを判断し、４の場合はこの図８のヒータ相互監視処理を終えてＳ１４０（図７）の処理に進むが、まだ４でない場合はＳ４６０でこの補助変数ｋを１つインクリメントしてＳ４３０に戻る。このように各気筒♯１〜♯４について順次Ｓ４３０以降の処理を行うことで、各気筒それぞれＮＧであるか否かの本判定を行うのである。
【００８９】
図８のヒータ相互監視処理を終えてＳ１４０（図７）に進むと、各ヒータ２１〜２４の消費電力を積算することで、消費電力積算値（消費電力量）Ｕ１（ｔ）〜Ｕ４（ｔ）をそれぞれ算出する。そしてＳ１５０で、Ｓ１３０のヒータ相互監視処理においていずれかのヒータでＮＧ判定（本判定）がなされたか否かを判断する。いずれのヒータでもＮＧ判定がなされなかった場合は、Ｓ１６０で、各ヒータの仮ＮＧ判定回数ｚｊを全て０にクリアする。そして、Ｓ１７０でヒータ通常駆動フラグをオンし、Ｓ１８０で減衰駆動フラグ及び増大駆動フラグを共にオフして、ヒータ監視処理を終了する。
【００９０】
Ｓ１３０のヒータ相互監視処理においていずれかのヒータでＮＧ判定（本判定）がなされた場合は、Ｓ１５０からＳ１９０に進み、ＮＧ判定回数Ｚｋが異常確定閾値以上のヒータがあるか否か判断する。ＮＧ判定回数Ｚｋが異常確定閾値以上のヒータがない場合はヒータ監視処理を終了するが、ＮＧ判定回数Ｚｋが異常確定閾値以上のヒータがある場合は、Ｓ２００で、ヒータ通常駆動フラグをオフする。この時点で、そのＮＧ判定回数Ｚｋが異常確定閾値以上のヒータのＮＧが確定される。
【００９１】
そしてＳ２１０で、当該ヒータ（ＮＧ判定回数Ｚｋが異常確定閾値以上のヒータ）に対して、超過量ｖｏ又は不足量ｖｕのどちらがメモリに保持されているか判断する。当該ヒータがＳ１３０のヒータ相互監視処理でＮＧと本判定された際に、当該ヒータの差動電圧が正常電圧上限値ＶＨ以上となっていた場合（即ちレアショートの場合）はメモリに超過量ｖｏが保持され、当該ヒータの差動電圧が正常電圧下限値ＶＬ以下となっていた場合（即ち劣化異常の場合）はメモリに不足量ｖｕが保持されているはずである。
【００９２】
メモリに超過量ｖｏが保持されている場合は、Ｓ２２０で減衰駆動フラグをオンし、Ｓ２３０で、超過量ｖｏに基づいてデューティ減衰率Ｄａを算出する。さらにＳ２４０で、次回からのプレヒート延長時間Ｔαを演算する。このプレヒート延長時間Ｔαは、次回再びイグニションスイッチがオンされてプレヒートが行われる際に、プレヒート時間Ｔｐをプレヒート基本時間Ｔｏよりもどれだけ延長させるかを決めるものである。このプレヒート延長時間Ｔαは、Ｓ２３０で算出したデューティ減衰率Ｄａに基づいて演算する。例えば、デューティ減衰率Ｄａが大きいほど大きくなるようにプレヒート延長時間Ｔαを演算することが考えられる。もちろん、このようなプレヒート延長時間Ｔαの演算方法はあくまでも一例である。
【００９３】
メモリに不足量ｖｕが保持されている場合は、Ｓ２１０からＳ２５０に進んで増大駆動フラグをオンし、Ｓ２６０で、不足量ｖｕに基づいてデューティ増大率Ｄｂを算出する。
そしてＳ２７０で、各ヒータの消費電力積算値Ｕ１（ｔ）〜Ｕ４（ｔ）がいずれも上限閾値Ｕｒ（ｔ）以下であるか否か判断する。各ヒータの消費電力積算値Ｕ１（ｔ）〜Ｕ４（ｔ）がいずれも上限閾値Ｕｒ（ｔ）以下ならば、ヒータ監視処理を終了するが、何れか１つでも、消費電力積算値が上限閾値Ｕｒ（ｔ）を超えているヒータがある場合は、Ｓ２８０以降に進み、各ヒータ２１〜２４の駆動を強制停止させる。
【００９４】
（５−２）ヒータ駆動処理
次に、マイコン４１が実行する各種制御処理のうち、上述したヒータ駆動制御を実現するためのヒータ駆動処理について、図９を用いて説明する。マイコン４１は、イグニションスイッチがオンされてその動作を開始した時に、図９に示したヒータ駆動処理を実行する。
【００９５】
マイコン４１は、このヒータ駆動処理を開始すると、まずＳ５１０で、通電停止要求フラグがオンされているか否か判断する。通電停止要求フラグがオンされている場合は、Ｓ７３０で各ヒータ２１〜２４の駆動を全て終了させて、ヒータ駆動処理を終了する。Ｓ７３０の処理は、具体的には、駆動要求値を０にしてＰＷＭ信号の出力を停止させる（デューティを０にする）ことにより行われる。
【００９６】
Ｓ５１０で通電停止要求フラグがオフされている場合は、Ｓ５２０で通常駆動デューティＤｏを算出し、Ｓ５３０で、駆動フラグのオン判定を行う。即ち、通常駆動フラグ、減衰駆動フラグ、及び増大駆動フラグのうちどの駆動フラグがオンされているかを判定する。
【００９７】
通常駆動フラグがオンされている場合は、Ｓ５４０で、出力デューティを通常駆動デューティＤｏに設定する。出力デューティとは、最終的にヒータ駆動ドライバ３へ出力するＰＷＭ信号のデューティである。そしてＳ５５０で、プレヒート時間Ｔｐを演算して、Ｓ６２０に進む。通常駆動フラグがオンされている場合は、プレヒート基本時間Ｔｏがそのままプレヒート時間Ｔｐとして演算される。
【００９８】
増大駆動フラグがオンされている場合は、Ｓ５６０で、増大駆動デューティＤ２を算出する。増大駆動デューティＤ２は、既述の通り、通常駆動デューティＤｏを増大率Ｄｂだけ増大させたものであり、Ｄ２＝（１＋Ｄｂ）・Ｄｏの演算式で算出する。そしてＳ５７０で、出力デューティをその算出した増大駆動デューティＤ２に設定し、Ｓ５５０でプレヒート時間Ｔｐを演算して、Ｓ６２０に進む。
【００９９】
減衰駆動フラグがオンされている場合は、Ｓ５８０で、減衰駆動デューティＤ１を算出する。減衰駆動デューティＤ１は、既述の通り、通常駆動デューティＤｏを減衰率Ｄａだけ減衰させたものであり、Ｄ１＝（１−Ｄａ）・Ｄｏの演算式で算出する。そしてＳ５９０で、出力デューティをその算出した減衰駆動デューティＤ１に設定する。更に、Ｓ６００で、図７のＳ２４０で演算したプレヒート延長時間Ｔαを取得し、Ｓ６１０で、その取得したプレヒート延長時間Ｔαを用いてプレヒート時間Ｔｐを演算して、Ｓ６２０に進む。減衰駆動フラグがオンされている場合のプレヒート時間Ｔｐは、プレヒート基本時間Ｔｏにプレヒート延長時間Ｔαが加算されたものとなる。
【０１００】
Ｓ６２０では、Ｓ５４０、Ｓ５７０、又はＳ５９０で設定した出力デューティでプレヒートを実行する。即ち、設定した出力デューティを示す駆動要求値を出力回路４２へ出力することで、出力回路４２からその駆動要求値に応じた（駆動要求値が示す出力デューティの）ＰＷＭ信号を出力させる。これにより、各ヒータ２１〜２４は、プレヒート時間Ｔｐの間、出力デューティにて駆動される。
【０１０１】
プレヒートの実行後、Ｓ６３０で、エンジンのクランキング開始を待ち、クランキングが開始されたら、Ｓ６４０で、通常駆動デューティＤｏを算出する。そしてＳ６５０で、Ｓ５３０と同じように駆動フラグのオン判定を行う。
【０１０２】
Ｓ６５０において、通常駆動フラグがオンされている場合は、Ｓ６６０で、通常駆動デューティＤｏでの各ヒータ２１〜２４の通常駆動を実行する。即ち、通常駆動デューティＤｏを示す駆動要求値を出力回路４２へ出力することで、出力回路４２からその駆動要求値に応じた（通常駆動デューティＤｏの）ＰＷＭ信号を出力させる。
【０１０３】
Ｓ６５０において、増大駆動フラグがオンされている場合は、Ｓ６７０で、Ｓ５６０と同じように増大駆動デューティＤ２を算出する。そしてＳ６８０で、その算出した増大駆動デューティＤ２での各ヒータ２１〜２４の増大駆動を実行する。即ち、増大駆動デューティＤ２を示す駆動要求値を出力回路４２へ出力することで、出力回路４２からその駆動要求値に応じた（増大駆動デューティＤ２の）ＰＷＭ信号を出力させる。
【０１０４】
Ｓ６５０において、減衰駆動フラグがオンされている場合は、Ｓ６９０で、Ｓ５８０と同じように減衰駆動デューティＤ１を算出する。そしてＳ７００で、その算出した減衰駆動デューティＤ１での各ヒータ２１〜２４の減衰駆動を実行する。即ち、減衰駆動デューティＤ１を示す駆動要求値を出力回路４２へ出力することで、出力回路４２からその駆動要求値に応じた（減衰駆動デューティＤ１の）ＰＷＭ信号を出力させる。
【０１０５】
Ｓ７１０では、ヒータ駆動終了タイミングであるか否かを判断する。ヒータ駆動終了タイミングがまだ到来していない場合は、Ｓ７２０で、通電停止要求フラグがオンされているか否か判断し、オンされていない場合はＳ６４０に戻って、各ヒータ２１〜２４の駆動を続ける。Ｓ７１０でヒータ駆動終了タイミングが到来した場合、及びＳ７２０で通電停止要求フラグがオンされている場合は、Ｓ７３０で各ヒータ２１〜２４の駆動を終了させて、このヒータ駆動処理を終了する。
【０１０６】
駆動終了タイミングは、種々の方法で決めることができる。例えば、エンジンが始動してから一定期間経過後のタイミングとしてもよいし、エンジン始動後、エンジンの暖気が十分に行われたかどうかを所定の方法で確認して十分に行われたと判断したタイミングとしてもよい。
【０１０７】
（５−３）燃料噴射カット処理
次に、マイコン４１が実行する各種制御処理のうち、上述した燃料噴射制御の一部である燃料噴射カット処理について、図１０を用いて説明する。マイコン４１は、各ヒータ２１〜２４が減衰駆動されている間（即ち減衰駆動フラグがオンされている間）、図１０に示した燃料噴射カット処理を定期的に繰り返し実行する。
【０１０８】
マイコン４１は、この燃料噴射カット処理を開始すると、まずＳ８１０で、何れかの気筒が噴射直前の規定タイミングであるか否か判断する。何れかの気筒♯ｎが規定タイミングになった場合は、Ｓ８２０で、当該気筒♯ｎの第ｎヒータの温度を検出し、さらにＳ８３０で、エンジンの回転数を検出する。
【０１０９】
Ｓ８４０では、Ｓ８２０で検出したヒータ温度が目標温度未満であって、かつＳ８３０で検出したエンジン回転数が回転数閾値以上であるか否かを判断する。ヒータ温度が目標温度以上であったり、エンジン回転数が回転数閾値未満である場合は、Ｓ８１０に戻るが、ヒータ温度が目標温度未満でかつエンジン回転数が回転数閾値以上の場合は、Ｓ８５０に進む。
【０１１０】
Ｓ８５０では、直前の燃料噴射タイミングにおける噴射対象の気筒♯ｎ−１（ｎ＝１の場合は気筒♯４）について、燃料噴射がカットされたか否か判断する。直前の噴射対象気筒♯ｎ−１の噴射がカットされた場合はＳ８１０に戻るが、直前の噴射対象気筒♯ｎ−１の噴射がカットされなかった場合は、Ｓ８６０で、今回の噴射対象気筒♯ｎについて、今回の噴射タイミングでは噴射をカットさせるように設定する。そしてＳ８７０で、各ヒータ２１〜２４の駆動が終了したか否か判断し、終了していない場合はＳ８１０に戻るが、終了した場合はこの燃料噴射カット処理を終了する。
【０１１１】
（６）実施形態の効果
以上説明した本実施形態のインジェクタヒータ駆動システム１では、エンジンＥＣＵ５のマイコン４１が、各気筒の各インジェクタ１１〜１４に設けられた各ヒータ２１〜２４について、それらの差動電圧ＶＤ１〜ＶＤ４を相互比較判断することによって、異常であるか否かを判断する。そして、異常判定した場合、その異常がレアショートである場合は各ヒータ２１〜２４を減衰駆動させる。そのため、何れかのヒータがレアショート状態になったとしても、そのレアショート状態になったヒータによる燃料の過熱を防ぎつつ、エンジンを始動させることができる。
【０１１２】
また、異常の内容が劣化異常であった場合は、レアショートの場合とは逆に各ヒータ２１〜２４を増大駆動させる。そのため、何れかのヒータが劣化異常になったとしても、その劣化異常になったヒータによる燃料の加熱不足を補い、エンジンの始動性低下を抑えることができる。
【０１１３】
また、減衰駆動を行う際の減衰率Ｄａは、上限値ＶＨからの超過量ｖｏに基づいて、差動電圧が少なくともその超過量ｖｏだけは低下するように算出される。換言すれば、超過量ｖｏが大きいほど大きい値となるように減衰率Ｄａが算出される。そのため、レアショートが生じたヒータの発熱量を適切なレベルに抑えることができる。
【０１１４】
一方、増大駆動を行う際の増大率Ｄｂは、下限値ＶＬに対する不足量ｖｕに基づいて、差動電圧が少なくともその不足量ｖｕだけは増加するように算出される。換言すれば、不足量ｖｕが大きいほど大きい値となるように増大率Ｄｂが算出される。そのため、劣化異常が生じたヒータの発熱量を適切なレベルに上昇させることができる。
【０１１５】
また、本実施形態では、各ヒータ２１〜２４の異常判定を、各ヒータ２１〜２４の各差動電圧ＶＤ１〜ＶＤ４の相互比較により行っている。即ち、各ヒータ２１〜２４の各電圧ＶＩＨ１〜ＶＩＨ４そのものに着目して判定しているのではないのはもちろん、各ヒータ２１〜２４の各差動電圧ＶＤ１〜ＶＤ４自体の絶対値に着目して判定しているのでもない。あくまでも、各差動電圧ＶＤ１〜ＶＤ４が同等の値に揃っているか、それとも他に対して相対的に大きな（又は小さな）値になっているものがあるか、といった観点で判定を行っている。更に、判定を行う際の基準となる正常電圧上限値ＶＨ及び正常電圧下限値ＶＬは、いずれも、基準気筒の差動電圧をもとに決定される。
【０１１６】
そのため、各ヒータ２１〜２４の各電圧ＶＩＨ１〜ＶＩＨ４の値や相互間の差の大小にかかわらず、また各ヒータ２１〜２４の各電圧ＶＩＨ１〜ＶＩＨ４の変動や各差動電圧ＶＤ１〜ＶＤ４の変動があっても、異常判定を容易かつ確実に行うことができる。
【０１１７】
また、本実施形態では、減衰駆動が行われている間、各気筒の噴射タイミング毎に（詳しくは規定タイミング毎に）、当該噴射対象気筒のヒータの温度を検出して、目標温度に達していない場合はその噴射タイミングでの噴射をカットするようにしている。即ち、減衰駆動によって燃料が十分に加熱されないまま噴射タイミングが到来した場合には噴射を間引くようにしている。このように目標温度に達していない場合は噴射をカットすることで、加熱時間を優先的に確保して加熱能力を補うことができる。
【０１１８】
ただし、ヒータ温度が目標温度に達していない場合であっても、直前の噴射タイミングでも噴射がカットされていてかつエンジン回転数が所定回転数に満たないという、２つの条件が成立している場合は、噴射をカットせず通常通り燃料噴射を実行させるようにしている。これにより、減衰駆動中であっても、各ヒータの加熱時間を確保しつつ、エンジンの始動性低下を抑えることが可能となる。なお、上記２つの条件のうち何れか一方のみ成立した場合であっても燃料噴射をカットしないようにしてもよい。
【０１１９】
また、上記実施形態では、各ヒータ２１〜２４の消費電力量を各々積算し、何れかのヒータの消費電力積算値が上限閾値Ｕｒ（ｔ）を超えた場合には、各ヒータ２１〜２４の駆動を強制停止させるようにしている。そのため、各ヒータの過熱をより確実に抑えることができ、ベーパの発生をより精度良く抑制することができる。
【０１２０】
また、上記実施形態では、減衰駆動フラグがオンされている場合、プレヒート時間Ｔｐを、プレヒート基本時間Ｔｏよりもプレヒート延長時間Ｔαだけ延長し、これにより通常よりも長い時間プレヒートを行うようにしている。そのため、減衰駆動が行われる場合においても、燃料噴射前に燃料を十分に加熱することができる。
【０１２１】
［変形例］
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１２２】
例えば、上記実施形態では、減衰率Ｄａに基づいて減衰駆動デューティＤ１を算出し、増大率Ｄｂに基づいて増大駆動デューティＤ２を算出するようにしたが、これら各駆動デューティＤ１，Ｄ２の算出方法はあくまでも一例である。例えば、減衰駆動デューティＤ１については、超過量ｖｏに基づいてデューティの減衰量を算出し、その算出した減衰量を通常駆動デューティＤｏから減算することにより算出するようにしてもよい。増大駆動デューティＤ２についても、不足量ｖｕに基づいてデューティの増大量を算出し、その算出した増大量を通常駆動デューティＤｏに加算することにより算出するようにしてもよい。或いは、減衰率Ｄａ（又は上記減衰量）や増大率Ｄｂ（又は上記増大量）をそれぞれ予め定められた一定値とするようにしてもよい。
【０１２３】
また、エンジンＥＣＵ５からヒータ駆動ドライバ３への駆動要求値の伝送について、上記実施形態では、駆動要求値（デューティ）を示すＰＷＭ信号を伝送する構成を例示したが、このような伝送方法もあくまでも一例である。例えば、駆動要求値を示すデータを所定のデータ通信方式（例えばシリアル通信）によりヒータ駆動ドライバ３へ送信する構成としてもよい。
【０１２４】
駆動要求値のデータをシリアル通信によりヒータ駆動ドライバ３へ伝送する構成の場合、何れかのヒータのレアショート時に減衰駆動させるためには、伝送する駆動要求値を低下させればよい。また、４つのヒータ２１〜２４を個別に（個別の駆動要求値で）制御する構成としてもよく、そのような構成において何れかのヒータの異常時に減衰駆動させる場合は、異常となっているヒータのみ減衰駆動させるようにしてもよい。
【０１２５】
また、何れか一つのヒータの異常が検出されて減衰駆動又は増大駆動に移行した後も、引き続き、その異常が検出されたヒータ以外の他の３つのヒータを相互監視するようにしてもよい。即ち、３つ以上のヒータを相互比較できる限り、ヒータの異常判定の処理を続けることができる。
【０１２６】
また、上記実施形態では、正常電圧上限値ＶＨを、基準気筒の差動電圧の２倍の値とし、正常電圧下限値を、基準気筒の差動電圧の１／２倍の値としたが、これら上限値ＶＨ及び下限値ＶＬをこのような方法で算出するのはあくまでも一例である。基準気筒の差動電圧に基づいて正常電圧上限値ＶＨ及び正常電圧下限値ＶＬを算出する具体的算出方法は種々考えられる。
【０１２７】
また、本発明の適用は、上述した４つのインジェクタを備えた４気筒エンジンへの適用に限定されるものでないことはいうまでもない。また、本発明はアルコール燃料車両への適用に限定されるものでもない。本発明は、燃料を加熱するためのヒータを３つ以上備えたあらゆるエンジンに対して広く適用可能である。
【符号の説明】
【０１２８】
１…インジェクタヒータ駆動システム、３…ヒータ駆動ドライバ、５…エンジンＥＣＵ、７…車載バッテリ、１１〜１４…インジェクタ、１５…パワー系電源リレー、１６…メインリレー、１７，１８…ヒューズ、２１〜２４…ヒータ、３１〜３４…ＭＯＳＦＥＴ、３５…制御回路、３６…駆動回路、３７…異常検出回路、３８…ダイアグ出力回路、４１…マイコン、４２…出力回路、４３…入力回路、４４…差動回路、５１〜５４…差動増幅回路、６１〜６４…オペアンプ、Ｒ１１〜Ｒ１４，Ｒ２１〜Ｒ２４，Ｒ３１〜Ｒ３４，Ｒ４１〜Ｒ４４…抵抗
【図１】
2014088859.tif 000003
【図２】
2014088859.tif 000004
【図３】
2014088859.tif 000005
【図４】
2014088859.tif 000006
【図５】
2014088859.tif 000007
【図６】
2014088859.tif 000008
【図７】
2014088859.tif 000009
【図８】
2014088859.tif 000010
【図９】
2014088859.tif 000011
【図１０】
2014088859.tif 000012