以下、本発明を具体化したグロープラグの通電制御装置の一実施の形態について、図面を参照して説明する。まず、図1を参照し、グロープラグ40の通電制御装置100の概略的な構成について説明する。図1は、グロープラグ40の通電制御装置100にバッテリ30およびECU50を接続した状態の概略的な回路構成を示す図である。
図1に示すように、イグニッションキーのスイッチ(以下、「キースイッチ」という。)31を介してバッテリ30に接続された通電制御装置100は、CANによる通信を介して接続されたECU50から受信する情報に基づき、グロープラグ40への通電を制御するものである。通電制御装置100には、CPU11、ROM12、RAM13を有し、通電制御装置100の主制御を司るマイクロコンピュータ10が設けられている。このマイクロコンピュータ10には、少なくとも、電源端子21、出力ポート22、データ入出力ポート23、出力ポート24、接地端子25、出力ポート26、データ入出力ポート27、および入力ポート28が設けられている。そして、電源端子21には、電圧を安定化するレギュレータ6のOUT端子が接続されている。また、このレギュレータ6のGND端子は接地され、IN端子には、一例としてPNP型のトランジスタ3のコレクタが接続されている。このトランジスタ3のエミッタは、電源であるバッテリ30の正極に接続されている。
また、バッテリ30の正極にはキースイッチ31の一端部が接続され、キースイッチ31の他端部には、一例としてNPN型のトランジスタ4のベースが接続されている。このキースイッチ31の操作により、トランジスタ4へのベース電流のオン・オフが制御できるようになっている。さらに、トランジスタ4のベースは、マイクロコンピュータ10の出力ポート24にも接続されている。また、トランジスタ4のコレクタはトランジスタ3のベースに接続され、トランジスタ4のエミッタは、接地されている。なお、バッテリ30の負極は接地されている。
トランジスタ3のベースには、一例としてNPN型のトランジスタ5のコレクタが接続され、トランジスタ5のエミッタは、トランジスタ4のエミッタと同様に接地されている。そしてトランジスタ5のベースは、マイクロコンピュータ10の出力ポート22に接続されている。
マイクロコンピュータ10のデータ入出力ポート23には、不揮発メモリであるEEPROM14が接続されている。このEEPROM14は、通電制御装置100への非通電時においても、後述するオフ時間カウント終了フラグの値が維持されるように設けられている。さらに、マイクロコンピュータ10の出力ポート26は、一例としてNPN型のトランジスタ15のベースに接続されている。また、トランジスタ15のエミッタは接地され、トランジスタ15のコレクタは、抵抗8の一端部に接続されている。抵抗8の他端部は、抵抗7の一端部に接続されると共に、MOSFET9のゲートに接続されている。そして抵抗7の他端部およびMOSFET9のソースは、バッテリ30の正極に接続されている。MOSFET9のドレインは、この通電制御装置100により通電制御を行うグロープラグ40の発熱抵抗体41の一端部に、図示しない端子金具を介して接続されており、発熱抵抗体41の他端部は、図示しない主体金具を介して接地されている。なお、グロープラグ40は、1本しか図示していないが、実際には、ディーゼルエンジンのシリンダ数に応じた本数が設けられている。
また、マイクロコンピュータ10のデータ入出力ポート27には、通信インターフェース(I/F)2が接続されている。通信インターフェース2は、エンジン制御装置(以下、「ECU」という。)50と通電制御装置100との間でCAN(車載用ネットワーク)を介した信号の送受信を行うために設けられている。なお、ECU50もバッテリ30から電力の供給を受けており、また、キースイッチ31のオン・オフの状態を検出できるように、その両端に接続されている。
そして、マイクロコンピュータ10の入力ポート28には、電圧測定回路16が接続されている。電圧測定回路16は、バッテリ30の正極とグランドとの間に設けられており、バッテリ30の出力電圧を測定する。そして、測定したバッテリ30の電圧をA/D変換した電圧対応値が、入力ポート28を介してマイクロコンピュータ10に入力される。
次に、グロープラグ40について説明する。グロープラグ40は、円筒形をなす主体金具(図示外)の上部に端子金具(図示外)が設けられ、主体金具から延設された円筒形の先端部内に発熱抵抗体41を内蔵する公知の構成を有している。発熱抵抗体41としては、一例として、Fe−Cr合金あるいはNi−Cr合金等からなる発熱コイルが用いられる。なお、グロープラグ40は、発熱抵抗体41としてW合金などからなる導電性ペーストを使用し、これを窒化珪素等の絶縁粉体で包み焼成してなるセラミックヒータを用いたものであってもよい。本実施の形態の通電制御装置100はこのグロープラグ40への通電制御を行うものであり、後述する通電制御プログラムの実行に従い、ディーゼルエンジン(図示外)の始動時に、発熱抵抗体41を短時間で急速に昇温できるようにしたものである。
次に、図2〜図4を参照し、マイクロコンピュータ10に内蔵されたROM12およびRAM13と、マイクロコンピュータ10に接続されたEEPROM14の各記憶エリアの構成について説明する。図2は、ROM12の記憶エリアの構成を示す概念図である。図3は、RAM13の記憶エリアの構成を示す概念図である。図4は、EEPROM14の記憶エリアの構成を示す概念図である。
図2に示すように、ROM12には、初期値記憶エリア121、通電制御プログラム記憶エリア122、テーブル記憶エリア123、オフ時間記憶エリア124、定常温度通電時間記憶エリア125等が設けられている。初期値記憶エリア121には、通電制御プログラムに使用される変数やカウンタ、フラグ等の初期値が記憶されている。通電制御プログラム記憶エリア122には、グロープラグ40への通電制御を行うためCPU11に実行される通電制御プログラム(図5〜図8参照)が記憶されている。
テーブル記憶エリア123には、カウント加算値設定テーブル、カウント初期値設定テーブル、および目標値設定テーブルが記憶されている。「カウント加算値設定テーブル」は、後述するカウント加算値算出処理(図6参照)で参照されるテーブルであり、急速昇温通電時間カウンタ(後述)に加算するカウント加算値(後述)をバッテリ30の電圧に応じ適宜調整するため、互いが対応付けられ記憶されている。「カウント初期値設定テーブル」は、後述する急速昇温通電処理(図7参照)で参照されるテーブルであり、再通電時の過昇温を防止するため、急速昇温通電時間カウンタのカウント開始時の初期値が、オフ時間(後述)に対応付けられて記憶されている。「目標値設定テーブル」は、後述する温度情報受信処理(図9参照)で参照されるテーブルであり、急速昇温通電を終了させるタイミングを決定するため、急速昇温通電時間カウンタによるカウントを終了させる目標値(後述)が、ECU50から得られる温度情報(例えば水温情報)に対応付けられて記憶されている。
オフ時間記憶エリア124には、グロープラグ40への再通電時の過昇温を防止するため、通電が終了したタイミングからの経過時間が十分であるかの判断基準となる「オフ時間」(例えば60秒)に相当するカウント値が記憶されている。定常温度通電時間記憶エリア125には、公知のPWM制御により行われる定常温度通電を終了させるタイミングの判断基準としての「定常温度通電時間」(例えば80秒)に相当するカウント値が記憶されている。さらにROM12には、図示しないが、通電制御プログラムで用いられる各種変数の初期値等を記憶した記憶エリアや、その他各種の記憶エリアが設けられている。
次に、図3に示すように、RAM13には、カウンタ記憶エリア131、フラグ記憶エリア132、目標値記憶エリア133、カウント加算値記憶エリア134等が設けられている。カウンタ記憶エリア131には、オフ時間カウンタ、急速昇温通電時間カウンタ、および定常温度通電時間カウンタが設けられている。「オフ時間カウンタ」は、グロープラグ40への再通電時の過昇温を防止するため、通電が終了したタイミングからの経過時間をカウントするためのカウンタであり、そのカウント値が前述したオフ時間に相当するカウント値に達すると、カウントを終了する。「急速昇温通電時間カウンタ」は、グロープラグ40への急速昇温通電を行った時間をカウントするためのカウンタであり、そのカウント値が前述した目標値に達するとカウントを終了する。本実施の形態では、この目標値を、ECU50から得られる温度情報に基づいて適宜変更し、発熱抵抗体41の過昇温を防止している。「定常温度通電時間カウンタ」は、急速昇温通電の完了後に行う定常温度通電の経過時間をカウントするためのカウンタであり、そのカウント値が前述した定常温度通電時間に相当するカウント値に達するとカウントを終了する。
なお、後述する通電制御プログラムでは一連の処理が所定時間ごとに繰り返し実行されるように構成されており、オフ時間カウンタおよび定常温度通電時間カウンタのカウント値、その一連の処理が一周するごとにインクリメントされる。具体的には12.5msecごとに一連の処理が行われるため、これらのカウンタのカウント値は、1カウントあたり12.5msecに相当し、80カウントされるとカウント開始から1secが経過したことになる。急速昇温通電時間カウンタのカウント値にはカウント加算値による重み付けがなされるため、必ずしも経過時間とは一致しない。
また、フラグ記憶エリア132には、急速昇温通電完了フラグ、定常温度通電終了フラグ、および通電許可フラグが記憶されている。「急速昇温通電完了フラグ」は、急速昇温通電が完了したか否かを確認するためのフラグであり、初期状態では0、急速昇温通電が完了すると(急速昇温通電時間カウンタのカウント値が目標値に達すると)1が記憶される。「定常温度通電終了フラグ」は、定常温度通電が終了したか否かを確認するためのフラグであり、初期状態では0、定常温度通電が終了すると(定常温度通電時間カウンタのカウント値が定常温度通電時間に達すると)1が記憶される。
「通電許可フラグ」は、グロープラグ40の発熱抵抗体41への通電の可否を確認するためのフラグであり、通電不可の場合には0、通電可能である場合には1が記憶される。本実施の形態では、ECU50からの通電開始信号の受信を契機に、後述する通電開始信号受信処理(図10参照)が、実行中の通電制御プログラムへの割込処理として行われ、通電許可フラグが立てられる。エンジンの稼働状況に応じてグロープラグ40への通電が不要であると判断された場合などには、ECU50から通電開始信号が送出されず、あるいは通電停止信号などの送出により、通電許可フラグに0がセットされる。
目標値記憶エリア133には、前述した急速昇温通電時間カウンタによるカウントを終了させる「目標値」が記憶される。目標値は、ECU50から得られる温度情報に基づいて適宜変更(設定)されるが、その処理は後述する温度情報受信処理(図9参照)によって、実行中の通電制御プログラムへの割込処理として行われる。
カウント加算値記憶エリア134には、前述した急速昇温通電時間カウンタのカウント時に加算される「カウント加算値」が記憶される。カウント加算値は、発熱抵抗体41の過昇温を防止するため、急速昇温通電時間カウンタのカウント値を発熱抵抗体41に供給した電力に応じた値にするものであり、バッテリ30の電圧に応じて適宜調整される。
次に、図4に示すように、EEPROM14には、オフ時間カウント終了フラグ記憶エリア141が設けられている。「オフ時間カウント終了フラグ」は、オフ時間カウンタによるカウントが終了した、すなわち、グロープラグ40への通電の終了後、オフ時間が経過したか否かを確認するためのフラグである。初期状態では0、オフ時間が経過すると(オフ時間カウンタのカウント値がオフ時間に達すると)1が記憶される。前述したように、EEPROM14は、通電制御装置100への非通電時においても記憶内容を維持することができる。この特性を利用して、本実施の形態では、グロープラグ40への通電中に通電制御装置100への通電が、例えばバッテリ30の電圧低下などにより停止(以下、このような状態を「異常終了」ともいう。)した場合の検知にオフ時間カウント終了フラグを用いている。異常終了の発生を検知することで、通電制御装置100への通電が復帰した後に、マイクロコンピュータ10がリセットされてグロープラグ40への通電が初期状態のまま行われてしまうことを防止し、発熱抵抗体41を過昇温から保護している。
次に、通電制御装置100の動作の概略を説明する。図1に示すように、まず、キースイッチ31が操作されてオンとなると、バッテリ30からの電流がトランジスタ4のベースに流れ込みベース・エミッタ間に電流が流れる。従って、トランジスタ4のコレクタ・エミッタ間にもトランジスタ3のベースから電流が流れ込む。トランジスタ3のエミッタ・コレクタ間にも電流が流れ、レギュレータ6のIN端子にバッテリ30からの電力が供給されて、例えば5Vの安定化された電圧がマイクロコンピュータ10の電源端子21に供給される。
そして、マイクロコンピュータ10の出力ポート26から出力電流がトランジスタ15のベースに供給されると、トランジスタ15のコレクタ・エミッタ間に、抵抗7,8を介してバッテリ30から電流が流れることになる。すると、MOSFET9のゲートの電位がソースの電位より低くなり、ソース・ドレイン間にバッテリ30から電流が流れ、グロープラグ40の発熱抵抗体41に電流が流れて加熱する。
一方、マイクロコンピュータ10の出力ポート26から出力電流が途絶えると、トランジスタ15がオフとなり、トランジスタ15のコレクタ・エミッタ間に電流が流れなくなる。すると、MOSFET9のゲートの電位はソースの電位と同じになり、ソース・ドレイン間がオフとなり、グロープラグ40の発熱抵抗体41にバッテリ30からの電流が流れず、発熱が停止する。
なお、キースイッチ31がオフとなっても、マイクロコンピュータ10の出力ポート22からトランジスタ5のベースへの出力電流によりトランジスタ5がオン状態に維持される。よって、トランジスタ3もオン状態に維持されるので、レギュレータ6からマイクロコンピュータ10の電源端子21への電源の供給は停止しない。従って、キースイッチ31がオフでも、マイクロコンピュータ10は動作可能となっている。また、マイクロコンピュータ10自身が、出力ポート22からトランジスタ5のベースへの出力電流をオフにすると、マイクロコンピュータ10に電源が供給されずに、マイクロコンピュータ10は動作を停止する。
また、ECU50では、図示しない温度検出手段によりエンジンの温度(水温)の測定を行っている。通電制御装置100では、その測定結果を温度情報として、CANを介してECU50から受信し、後述する通電制御プログラムにおいて利用する。
次に、この通電制御装置100で実行する通電制御プログラムの詳細について、図5〜図10に示すフローチャートを参照して説明する。図5は、通電制御プログラムのメインルーチンのフローチャートである。図6は、メインルーチンからコールされるカウント加算値算出処理のフローチャートである。図7は、メインルーチンからコールされる急速昇温通電処理のフローチャートである。図8は、メインルーチンからコールされる定常温度通電処理のフローチャートである。図9は、通電制御プログラムの実行時に割込処理を行う温度情報受信処理のフローチャートである。図10は、通電制御プログラムの実行時に割込処理を行う通電開始信号受信処理のフローチャートである。なお、フローチャートにおける各ステップを「S」と略記する。
グロープラグ40はディーゼルエンジン(図示外)始動時の補助を行うものであり、通電制御装置100は、エンジン(図示外)の駆動に伴い起動される。すなわち、運転者によりイグニッションキーが操作されてキースイッチ31がオンとされると、バッテリ30から電力が供給されてマイクロコンピュータ10が駆動し、図5に示す、通電制御プログラムのメインルーチンが実行される。
図5に示すように、通電制御プログラムが実行されると、最初にマイクロコンピュータ10の初期化が行われる(S11)。具体的には、マイクロコンピュータ10内部のRAM13のワークエリア(図示外)に確保された、通電制御プログラムで使用される変数やカウンタ、フラグ等の値がクリアされ、それらにROM12の初期値記憶エリア121から読み込まれた初期値が設定される。
次に、EEPROM14に記憶されたオフ時間カウント終了フラグが参照される(S12)。このときに、オフ時間カウント終了フラグが1であった場合には(S12:YES)、オフ時間カウント終了フラグのクリアが行われ、0が記憶される(S15)。一方、オフ時間カウント終了フラグが0であれば(S12:NO)、前回、通電制御装置100の動作時においてオフ時間のカウントが終了する前に異常終了してしまい、マイクロコンピュータ10はリセット状態となっている。従って、発熱抵抗体41の保護のため急速昇温通電処理が行われないように、急速昇温通電完了フラグを1とする(S16)。
次に、イグニッションキーが操作されたことによりキースイッチ31がオンであると(S17:YES)、通電許可フラグの確認が行われる(S23)。前述したように、通電制御装置100がECU50から通電開始信号を受信したときには、図10に示す、通電開始信号受信処理が、通電制御プログラムの実行を中断して(割り込んで)実行され、通電許可フラグに1が記憶される(S75)。この割込処理が終了すれば、通電制御プログラムは中断したステップから実行を再開する。図5に示すように、S23が実行されたときに通電許可フラグが0であるなら(S23:NO)、S17に戻り、キースイッチ31がオンであるうちはS17およびS23が繰り返される。そして、通電許可フラグが1となっていれば(S23:YES)、カウント加算値算出処理のサブルーチンがコールされる(S24)。
図6に示す、カウント加算値算出処理では、RAM13の急速昇温通電完了フラグが参照される(S41)。初期状態ではS11の初期化処理(図5参照)で急速昇温通電完了フラグに0が記憶されており(S41:NO)、ここでは急速昇温通電を行うため、まず、電圧測定回路16によって測定され入力ポート28から入力されたバッテリ30の電圧の電圧対応値(電圧に応じて変換された値)が読み取られる(S42)。次に、ROM12のカウント加算値設定テーブルが参照され、電圧対応値に応じたカウント加算値が選択されて、RAM13のカウント加算値記憶エリア134に記憶される(S43)。その後、メインルーチンに戻る。なお、カウント加算値が、本発明における「通電量対応値」に相当し、S43の処理を行って、バッテリ30の電圧に応じたカウント加算値の設定を行うCPU11が、本発明における「通電量対応値取得手段」に相当する。
図5に示す、通電制御プログラムのメインルーチンでは、次に、急速昇温通電処理のサブルーチンがコールされる(S25)。図7に示す、急速昇温通電処理では、RAM13の急速昇温通電完了フラグが参照され、上記同様0であれば(S45:NO)、急速昇温通電を行うため、まず、オフ時間カウンタのカウント値が0か否かが確認される(S46)。オフ時間カウンタのカウント値が0である場合(S46:YES)、現在、グロープラグ40への通電中であると判断される。これは後述するS29において、通電中であればオフ時間カウンタが常時リセットされることによる。従って、急速昇温通電時間カウンタに対する処理は行われず、S49へ進む。
一方、オフ時間カウンタのカウント値が0でない場合(S46:NO)、すでにグロープラグ40への通電が終了した後(急速昇温通電が完了し、定常温度通電も終了した状態)の処理中、すなわち後述するオフ時間のカウント中であると判断されてS47に進む。グロープラグ40が一度通電された後、短期間のうちに再通電される場合(例えば運転者がイグニッションキーを一旦オフにした後すぐにオンとした場合)、発熱抵抗体41の温度は未だ高い状態にある。この状態で通常通りに急速昇温通電が行われると発熱抵抗体41の過昇温を招く虞があるため、S47では、オフ時間カウンタの(現在の)カウント値に応じ、急速昇温通電におけるカウント値の初期値の設定が行われる。
このオフ時間カウンタの初期値とオフ時間カウンタのカウント値との対応付けは、予め行われる実験等の結果により設定され、本実施の形態では上記したカウント初期値設定テーブルとして記憶されている。一例として、急速昇温通電を行う時間を最大で2秒(160カウント)、オフ時間を60秒(4800カウント)とする。オフ時間カウンタのカウント値が60秒(4800カウント)である場合、実験結果によれば、発熱抵抗体41の温度が十分に下がっており、急速昇温通電を行う時間を最大の2秒としてもよい状態とみなされ、急速昇温通電カウンタの初期値に0秒(0カウント)が設定される。また、オフ時間カウンタのカウント値が30秒(2400カウント)である場合、実験結果によれば急速昇温通電が0.2秒行われた直後の状態と同等とみなされ、急速昇温通電が1.8秒を超えないようにするため、急速昇温通電カウンタの初期値に0.2秒(16カウント)が設定される。さらに、オフ時間カウンタのカウント値が2秒(160カウント)である場合、実験結果によれば急速昇温通電が1.6秒行われた直後の状態と同等とみなされ、急速昇温通電が0.4秒を超えないようにするため、急速昇温通電カウンタの初期値に1.6秒(128カウント)が設定される。
急速昇温通電時間カウンタの初期値が設定されると、次にS49へ進み、急速昇温通電時間カウンタのカウント値が、急速昇温通電を終了させる目標値以上の値となっていないか確認が行われる。初期状態では急速昇温通電時間カウンタのカウント値は初期値から加算されておらず、目標値未満であり(S49:NO)、次のS50において、急速昇温通電時間カウンタにカウント加算値算出処理(図6参照)で決定されたカウント加算値が加算される(S50)。なお、S50の処理を行って急速昇温時間カウンタにカウント加算値を加算するCPU11が、本発明における「通電量対応値総量積算手段」に相当する。
次いで急速昇温通電がオン状態にされ、グロープラグ40への急速昇温通電が開始される(S51)。具体的には、マイクロコンピュータ10の出力ポート26から出力電流がトランジスタ15のベースに供給され、トランジスタ15のコレクタ・エミッタ間に抵抗7,8を介して、バッテリ30から電流が流れる。すると、MOSFET9のゲートの電位がソースの電位より低くなり、ソース・ドレイン間にバッテリ30から電流が流れ、グロープラグ40の発熱抵抗体41にバッテリ30からの電圧(一例として、11V)が常時印加される。急速昇温通電の開始後は図5のメインルーチンに戻る。なお、S51の処理を行ってグロープラグ40への急速昇温通電を開始させるCPU11が、本発明における「通電開始手段」に相当する。
なお、後述するが、メインルーチンのS17〜S36は所定時間(本実施の形態では12.5msec)ごとに繰り返し実行されている。図7に示すように、S51の処理も、S49で急速昇温通電時間カウンタのカウント値が目標値に達したと判断されるまで、所定時間ごとに繰り返し実行される。つまり、2周目以降のS51の処理では、マイクロコンピュータ10の出力ポート26からトランジスタ15のベースへの出力電流の供給が継続されることとなる。この結果、発熱抵抗体41は目標温度(一例として、1250℃)に向けて短時間のうちに昇温していく。
急速昇温通電処理が繰り返し実行されるうちに、ECU50が温度情報(水温情報)を得て、その温度情報を、CANを介して送信してきた場合、図9に示す、温度情報受信処理が割込処理として実行され、通電制御プログラムの実行が中断される。温度情報受信処理ではROM12に記憶された目標値設定テーブルが参照され、受信した温度情報に応じた目標値が抽出される。そして、その新たな目標値でRAM13の目標値記憶エリア133を上書きすることによって目標値が変更されると(S71)、割込を行った温度情報受信処理は終了し、図5に示す、通電制御プログラムは中断したステップから実行を再開する。なお、ECU50から温度情報を受信し次第、S71の割込処理を行って、目標値の変更を行うCPU11が、本発明における「目標通電量変更手段」に相当する。
さらに、急速昇温通電処理が繰り返し実行されるうちに、図7に示すように、急速昇温通電時間カウンタのカウント値が目標値に達すると(S49:YES)、急速昇温通電はオフ状態にされる(S53)。具体的には、マイクロコンピュータ10の出力ポート26からの出力電流がオフにされ、トランジスタ15がオフにされる。トランジスタ15のコレクタ・エミッタ間には電流が流れなくなり、MOSFET9のゲートの電位がソースの電位と同じとなってソース・ドレイン間がオフとなり、グロープラグ40の発熱抵抗体41にバッテリ30からの電流が流れず、発熱が停止する。急速昇温通電の完了に伴い、急速昇温通電完了フラグに1が記憶され(S54)、その後、図5のメインルーチンに戻る。次回以降のカウント加算値算出処理(S24)および急速昇温通電処理(S25)では、急速昇温通電完了フラグが1となっているため(S41:YES/S45:YES)、各サブルーチンは実行されず、そのまま図5のメインルーチンに戻る。なお、目標値が、本発明における「目標通電量」に相当し、S49の処理を行って、急速昇温通電時間カウンタのカウント値が目標値以上となったことを判断し、S53の処理で急速昇温通電をオフとするCPU11が、本発明における「通電完了手段」に相当する。
S25の急速昇温通電処理が終了すると、次いで、定常温度通電処理(S27)のサブルーチンがコールされる。グロープラグ40への定常温度通電は、急速昇温通電の完了後に行う通電であるため、図8に示すように、急速昇温通電完了フラグが参照される(S61)。急速昇温通電の継続中であれば急速昇温通電完了フラグは0であり(S61:NO)、そのまま図5のメインルーチンに戻る。
一方、急速昇温通電完了フラグが1であり、グロープラグ40に対する急速昇温通電が完了していれば(S61:YES)、次いで、定常温度通電終了フラグが参照される(S62)。常温度通電が行われる前の初期状態では定常温度通電終了フラグは0であり(S62:NO)、S63に進み、定常温度通電が実施される。まず、定常温度通電時間カウンタのカウント値が参照され、定常温度通電時間が経過していないか確認が行われる(S63)。初期状態ではS11の初期化処理(図5参照)で定常温度通電時間カウンタのカウント値は0となっており(S63:NO)、定常温度通電時間に相当するカウント値未満であるので、次のS65において、定常温度通電時間カウンタがインクリメントされる(S65)。
次いで定常温度通電がオン状態にされ、グロープラグ40への定常温度通電が開始される(S66)。なお、この定常温度通電は、PWM制御で行われる。具体的には、マイクロコンピュータ10の出力ポート26からの出力電流のオンとオフの比率を変化させて、グロープラグ40にバッテリ30から印加される電力を調整し、目標温度(例えば1250℃)に制御する。この制御は、通電制御プログラムとは別に並列実行されるPWM制御プログラムの実行に従って行われる。定常温度通電の開始後は図5のメインルーチンに戻る。
上記した急速昇温通電と同様に定常温度通電も、図8に示す、S63で定常温度通電時間カウンタのカウント値が定常温度通電時間に相当するカウント値に達し、定常温度通電時間が経過したと判断されるまで、所定時間ごとに繰り返し実行される。つまり、2周目以降のS66の処理では、定常温度通電として、PWM制御によるグロープラグ40への通電が、継続して行われる。発熱抵抗体41は目標温度に維持される。
定常温度通電処理が繰り返し実行されるうちに、定常温度通電時間カウンタのカウント値が定常温度通電時間に相当するカウント値に達すると(S63:YES)、定常温度通電はオフ状態にされる(S67)。すなわち、マイクロコンピュータ10の出力ポート26からの出力電流が常時オフにされ、上記同様、グロープラグ40の発熱抵抗体41にバッテリ30からの電流が流れなくなり、発熱が停止する。定常温度通電の終了に伴い、定常温度通電終了フラグに1が記憶され(S69)、その後、図5のメインルーチンに戻る。次回以降の定常温度通電処理では、急速昇温通電完了フラグおよび定常温度通電終了フラグが共に1であるため(S61:YES,S62:YES)、そのまま図5のメインルーチンに戻る。
S27の定常温度通電処理が終了すると、次に、グロープラグ40への通電が行われている最中であるか否かが確認される(S28)。このとき、急速昇温通電完了フラグおよび定常温度通電終了フラグのいずれか一方でも0であれば、通電中であると判断される(S28:YES)。この場合は、通電終了からの経過時間のカウントを行わないため、オフ時間カウンタのリセットを行い(S29)、S36へ進む。S36では、S17〜S36の一連の処理を所定時間ごとに繰り返して行うためのウエイト処理が行われる。具体的には、CPU11のクロック信号に同期して、例えば、12.5msecごとに割込信号を発するようにしたプログラムを並列実行させておき、この割込信号の受信がなければ待機し(S36:NO)、受信したらS17に戻る(S36:YES)。
S17〜S36の一連の処理が繰り返し実行されるうちに、グロープラグ40への通電が終了し、急速昇温通電完了フラグおよび定常温度通電終了フラグが共に1となれば(S28:NO)、S31に進み、通電終了後の経過時間のカウントが開始される。S31が最初に実施されたとき、オフ時間カウンタのカウント値は、前回までS29においてリセットされ続けていたため0であり、オフ時間に相当するカウント値には達しておらず、オフ時間は経過していないと判断される(S31:NO)。この場合にはオフ時間カウンタのインクリメントが行われ(S32)、S36を経てS17に戻る。
そして、S17〜S36の一連の処理が繰り返し実行され、オフ時間カウンタのカウント値がオフ時間に相当するカウント値に達し、オフ時間が経過したと判断されると(S31:YES)、EEPROM14のオフ時間カウント終了フラグが参照され、0であれば(S33:NO)、オフ時間カウント終了フラグに1が記憶される(S35)。なお、次回以降のS33の処理では、オフ時間カウント終了フラグに1が記憶されているので、S35の記憶処理(すなわちEEPROM14へのデータの書込処理)はスキップされる(S33:YES)。以降、S36を経てS17に戻り、イグニッションキーがオンであるうちはS17〜S36の一連の処理が繰り返されるが、エンジンは駆動しており、グロープラグ40への通電によるエンジンの始動補助を行う必要はない。また、オフ時間カウント終了フラグが1であれば、運転者により突然エンジンがかけ直されたとしても発熱抵抗体41は十分に温度が低下しており、グロープラグ40への通電が初期状態から行われても過昇温となることはない。
ところで、通電制御プログラムの実行中に運転者によりイグニッションキーが操作され、キースイッチ31がオフとされた場合には、S17からS19へ進み(S17:NO)、通電制御装置100の電源をオフとするための終了過程に移行する。まず、RAM13の急速昇温通電完了フラグと定常温度通電終了フラグに0が記憶され、また、定常温度通電時間カウンタがリセットされる。さらに、エンジンの駆動中、すなわちグロープラグ40への通電中であっても運転者にイグニッションキーがオフにされる場合があるため、グロープラグ40への通電をオフにする(S19)。すなわち、マイクロコンピュータ10の出力ポート26からの出力電流が常時オフにされ、上記同様、グロープラグ40の発熱抵抗体41にバッテリ30からの電流が流れなくなり、発熱が停止する。
次に、S31と同様に、オフ時間カウンタのカウント値が参照され、オフ時間の経過が確認される(S20)。オフ時間カウンタのカウント値がオフ時間に相当するカウント値に達しないうちは(S20:NO)、S32に進んでオフ時間カウンタをインクリメントし、オフ時間の経過を待つ。
そしてオフ時間カウンタのカウント値がオフ時間に相当するカウント値に達してオフ時間が経過したと判断されると(S20:YES)、EEPROM14のオフ時間カウント終了フラグに1が記憶される(S37)。その後、マイクロコンピュータ10の出力ポート22からトランジスタ5のベースへの出力電流をオフにして、マイクロコンピュータ10への電源の供給を停止し、通電制御装置100の電源をオフにする(S39)。
このように、本実施の形態の通電制御装置100では、グロープラグ40への急速昇温通電を行うにあたって、その通電時間の管理に、急速昇温通電時間カウンタを用いた。そして、発熱抵抗体41に印加されるバッテリ30の電圧、および前回の発熱抵抗体41への通電完了後の経過時間に応じて、カウント加算値、およびカウント開始時の初期値を適宜変更できるようにし、発熱抵抗体41の過昇温を防止した。さらに、発熱抵抗体41の過昇温の防止のため、ECU50から受信する温度情報に応じてカウント終了の目標値の変更を行うが、その設定を割込処理によって行うため、ECU50からの温度情報の受信待ちを行う必要がない。すなわち、ECU50からの温度情報の受信待ちを行って、受信してから目標値を設定し、目標値を設定してから急速昇温通電を開始する従来の通電制御装置と比べ、より早く、発熱抵抗体41の昇温を行うことができる。
なお、本実施の形態は上記実施の形態に限られず、各種変形が可能である。例えば、急速昇温通電処理する場合にバッテリ30から印加する電圧や時間は、グロープラグ40の発熱抵抗体41の特性に合わせて適宜決定すればよい。また、定常温度通電処理する場合のPWM制御のデューティ比についても、グロープラグ40の発熱抵抗体41の特性に合わせて適宜決定すればよい。また、通電制御装置100の回路構成は、上記の実施の形態のものに限定されず、適宜変更してもよい。
また、上記の実施の形態では、ECU50からの通電開始信号の受信を契機に通電許可フラグを1にしてグロープラグ40への急速昇温通電を開始したが、キースイッチ31がオンされたことを契機にグロープラグ40への通電処理を開始してもよい。換言すれば、キースイッチ31がオンとなった状態が、通電開始信号を受信した状態であるといえる。また、通電制御プログラムとは別に並列実行するプログラムによりグロープラグ40への通電が可能な状態であるか否かの判断を行い、通電許可フラグの管理を行ってもよい。
また、目標値設定テーブルは、エンジンの温度情報(水温情報)に対応した目標値をテーブル化したものであるが、水温情報に限定するものではなく、ECU50から得られる様々なその他の温度情報を元に目標値の設定を行ってもよい。また、各テーブル(カウント加算値設定テーブル、カウント初期値設定テーブル、目標値設定テーブル)の代わりに計算式を用い、それぞれが目的とする値を得てもよい。
また、各カウンタ(オフ時間カウンタ、急速昇温通電時間カウンタ、定常温度通電時間カウンタ)にはカウント値を加算していく方式を採用したが、減算していく方式を用いてもよい。
また、温度情報受信処理は割込処理としたが、メインルーチンのS36(図5参照)において行われるウエイト処理と共に温度情報の受信待ちを行い、受信し次第、目標値の設定を行うようにしてもよい。