(57)【要約】【課題】安価で、且つインジェクタによる燃料の噴射量を高精度に制御することができるインジェクタ制御装置を提供すること。【解決手段】水晶発振回路１１を有し所定のパルス幅のパルス信号である噴射指令信号を出力するマイコン１０と、ＲＣ発振回路２１を有しインジェクタ５０のアクチュエータに対する通電を行う制御ＩＣ２０とを備えるインジェクタ制御装置であって、マイコン１０は、制御ＩＣ２０のＲＣ発振回路２１によって生成された内部クロックを用いて計時された到達時間を、水晶発振回路１１によって生成された内部クロックを用いて計時された到達時間と同等になるように補正するための補正係数を学習するとともに、インジェクタの開弁時間が開弁時間狙い値となるように、補正係数によって補正された補正済到達時間に応じて噴射指令信号のパルス幅を補正する。【選択図】図１
2013060884.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されるものであり、インジェクタに設けられたアクチュエータへの通電状態によって、当該インジェクタを開閉させて内燃機関への燃料の噴射を制御するインジェクタ制御装置であって、
内部クロックを生成する発振回路として水晶発振回路を有し、所定のパルス幅のパルス信号である噴射指令信号を出力するマイコンと、
内部クロックを生成する発振回路としてＲＣ発振回路を有し、前記噴射指令信号が出力されている間、前記アクチュエータに対する通電を行う制御ＩＣと、を備え、
前記制御ＩＣは、
前記アクチュエータに流れるインジェクタ電流を検出する電流検出手段と、
前記ＲＣ発振回路によって生成された内部クロックを用いて、前記噴射指令信号が出力されてから、電流検出手段の検出結果が示す値が前記インジェクタが開弁する値に達するまでの到達時間を計時すると共に、該到達時間の計時結果を出力する計時手段と、を有し、
前記マイコンは、
前記ＲＣ発振回路によって生成された内部クロックを用いて計時された到達時間を、前記水晶発振回路によって生成された内部クロックを用いて計時した場合の到達時間と同等になるように補正するための補正係数を学習する学習手段と、
前記制御ＩＣから出力された計時結果が示す到達時間を前記補正係数によって補正した補正済到達時間を算出する第１補正手段と、
前記インジェクタの開弁時間が開弁時間狙い値となるように、前記第１補正手段によって補正された補正済到達時間に応じて前記噴射指令信号のパルス幅を補正する第２補正手段と、を備えることを特徴とするインジェクタ制御装置。
【請求項２】
前記学習手段は、所定のパルス幅のパルス信号である誤差確認用信号を出力し、前記計時手段に対して、前記ＲＣ発振回路によって生成された内部クロックを用いて前記誤差確認用信号のパルス幅を計時させるともに、該パルス幅の計時結果を出力させるものであり、前記誤差確認用信号のパルス幅を前記計時手段から出力されたパルス幅の計時結果で除算した値を補正係数として学習することを特徴とする請求項１に記載のインジェクタ制御装置。
【請求項３】
前記学習手段は、前記制御ＩＣに対して、前記ＲＣ発振回路によって生成された内部クロックを所定期間出力させるものであり、前記制御ＩＣが内部クロックを出力するのと同じ期間に前記水晶発振回路で生成された内部クロックのパルス数を、前記制御ＩＣから所定期間出力された内部クロックのパルス数で除算した値を補正係数として学習することを特徴とする請求項１に記載のインジェクタ制御装置。
【請求項４】
前記マイコンは、前記内燃機関の温度を示す温度情報を取得する温度情報取得手段を備え、
前記学習手段は、前記温度情報取得手段によって取得された温度情報が予め設定された所定温度を示す場合、補正係数の学習を行うことを特徴とする請求項１乃至３のいずれか一項に記載のインジェクタ制御装置。
【請求項５】
前記学習手段は、前記車両のイグニッションスイッチがオンになってから、当該イグニッションスイッチがオフになるまでの間に、少なくとも一回、補正係数の学習を行うことを特徴とする請求項１乃至３のいずれか一項に記載のインジェクタ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インジェクタ制御装置に関するものである。
【背景技術】
【０００２】
従来、インジェクタ制御装置の一例として、特許文献１に開示された筒内噴射式インジェクタの制御装置（インジェクタ制御装置）があった。
【０００３】
このインジェクタ制御装置は、制御パラメータ演算手段（マイコン）、複数のインジェクタコイルにそれぞれ対応して設けられた複数の気筒駆動回路（制御ＩＣ）を備える。制御ＩＣは、過励磁信号発生手段（励磁制御部）、第１スイッチング手段、保持電流発生手段（保持制御部）、第３スイッチング手段、第２スイッチング手段などを備える。
【０００４】
励磁制御部は、筒内噴射式インジェクタを初期開弁するために必要な過励磁電流をインジェクタのアクチュエータ（インジェクタコイル）に供給するものである。この励磁制御部は、マイコンより出力される制御信号のオンタイミングに同期して、高電圧発生手段から第１スイッチング手段を介して過励磁電流を供給する。
【０００５】
保持制御部は、マイコンより出力される制御信号がオンの期間中であり且つ過励磁時間の経過後に、第３スイッチング手段をオン／オフスイッチング制御することで、バッテリ−電圧をアクチュエータに断続的に供給するものである。
【０００６】
第２スイッチング手段は、アクチュエータに流れる電流を遮断する際に、電流を高速にオフするものである。この第２スイッチング手段は、マイコンから出力される制御信号がオンの期間中は、常時オン状態にされており、制御信号がオフするタイミングでオフ状態にされる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−３５１０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
このインジェクタ制御装置では、アクチュエータに流れる電流の電流値が所定値に達するとインジェクタが開弁し、第２スイッチング手段がオフ状態になるとインジェクタが閉弁する。つまり、アクチュエータに流れる電流の電流値が所定値に達してから、２スイッチング手段がオフ状態になるまでの間において、インジェクタから燃料が噴射される。
【０００９】
しかしながら、インジェクタ制御装置では、制御ＩＣやアクチュエータ（インジェクタコイル）の電気的特性がばらつくことがある。つまり、制御ＩＣやアクチュエータ（インジェクタコイル）は、製造ばらつきや経年変化によるばらつきが生じることがある。
【００１０】
このように電気特性がばらつくと、インジェクタ制御装置は、アクチュエータ（インジェクタコイル）に対して過励磁電流が供給され始めてから、アクチュエータに流れる電流の電流値が所定値に達するまでの時間（到達時間）がばらつく可能性がある。よって、インジェクタ制御装置は、燃料の噴射量がばらつく可能性がある。
【００１１】
そこで、アクチュエータ（インジェクタコイル）に対して過励磁電流が供給され始めてから、アクチュエータに流れる電流の電流値が所定値に達するまでの時間（到達時間）に基づいて、マイコンから出力する制御信号の時間（オン時間）を補正することも考えられる。また、この到達時間は、制御ＩＣに設けられた発振回路によって生成されたクロックをカウントすることで計時することができる。
【００１２】
この制御ＩＣの発振回路としては、ＲＣ発振回路を採用することが考えられる。ＲＣ発振回路は、発振周波数の精度が較的低いが安価であるため、インジェクタ制御装置を安価にすることができる。しかしながら、ＲＣ発振回路によって生成されたクロックに基づいて到達時間を計時すると、精確に到達時間を計時できない可能性がある。よって、到達時間に基づいて制御信号の時間を補正したとしても、燃料の噴射量を高精度に制御できない可能性がある。
【００１３】
これに対して、制御ＩＣの発振回路として発振周波数の精度が比較的高い水晶発振回路を採用した場合、到達時間の計時精度を向上させることができ、燃料の噴射量を高精度に制御することができる。しかしながら、水晶発振回路は、ＲＣ発振回路よりも高価であるためインジェクタ制御装置が高価になるという問題がある。
【００１４】
本発明は、上記問題点に鑑みなされたものであり、安価で、且つインジェクタによる燃料の噴射量を高精度に制御することができるインジェクタ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために請求項１に係る発明は、
車両に搭載されるものであり、インジェクタに設けられたアクチュエータへの通電状態によって、インジェクタを開閉させて内燃機関への燃料の噴射を制御するインジェクタ制御装置であって、
内部クロックを生成する発振回路として水晶発振回路を有し、所定のパルス幅のパルス信号である噴射指令信号を出力するマイコンと、
内部クロックを生成する発振回路としてＲＣ発振回路を有し、噴射指令信号が出力されている間、アクチュエータに対する通電を行う制御ＩＣと、を備え、
制御ＩＣは、
アクチュエータに流れるインジェクタ電流を検出する電流検出手段と、
ＲＣ発振回路によって生成された内部クロックを用いて、噴射指令信号が出力されてから、電流検出手段の検出結果が示す値がインジェクタが開弁する値に達するまでの到達時間を計時すると共に、この到達時間の計時結果を出力する計時手段と、を有し、
マイコンは、
ＲＣ発振回路によって生成された内部クロックを用いて計時された到達時間を、水晶発振回路によって生成された内部クロックを用いて計時された到達時間と同等になるように補正するための補正係数を学習する学習手段と、
制御ＩＣから出力された計時結果が示す到達時間を補正係数によって補正した補正済到達時間を算出する第１補正手段と、
インジェクタの開弁時間が開弁時間狙い値となるように、第１補正手段によって補正された補正済到達時間に応じて噴射指令信号のパルス幅を補正する第２補正手段と、を備えることを特徴とする。
【００１６】
このように補正係数を学習するとともに、ＲＣ発振回路によって生成された内部クロックを用いて計時された到達時間を補正係数で補正することによって、マイコンは、制御ＩＣから出力された到達時間を実際の到達時間と同等の時間として認識することができる。つまり、ＲＣ発振回路によって生成された内部クロックを用いて計時された到達時間（制御ＩＣから出力された到達時間）と実際の到達時間との間に誤差が生じていたとしても、マイコンは、制御ＩＣから出力された到達時間を実際の到達時間と同等の時間として認識することができる。
【００１７】
また、マイコンは、このように補正した補正済到達時間に応じて、インジェクタの開弁時間が狙い値となるように、噴射指令信号のパルス幅を補正することで、噴射指令信号のパルス幅を実際の到達時間に応じて補正した場合と同等にすることができる。よって、制御ＩＣやアクチュエータ（インジェクタコイル）の電気的特性にばらつきが生じて到達時間が基準時間からずれたとしても、インジェクタによる燃料の噴射量を高精度に制御することができる。
【００１８】
従って、本発明のインジェクタ制御装置は、制御ＩＣの内部クロックを生成する発振回路として比較的安価なＲＣ発振回路を採用したとしても、インジェクタの開弁時間（すなわちインジェクタによる燃料の噴射量）を高精度に制御することができる。換言すると、本発明におけるインジェクタ制御装置は、安価で、且つインジェクタによる燃料の噴射量を高精度に制御することができる。
【００１９】
また、学習手段としては、請求項２に示すように、所定のパルス幅のパルス信号である誤差確認用信号を出力し、計時手段に対して、ＲＣ発振回路によって生成された内部クロックを用いて誤差確認用信号のパルス幅を計時させるともに、このパルス幅の計時結果を出力させるものであり、誤差確認用信号のパルス幅（時間）を計時手段から出力されたパルス幅の計時結果（時間）で除算した値を補正係数として学習するようにしてもよい。
【００２０】
また、学習手段としては、請求項３に示すように、制御ＩＣに対して、ＲＣ発振回路によって生成された内部クロックを所定期間出力させるものであり、制御ＩＣが内部クロックを出力するのと同じ期間に水晶発振回路で生成された内部クロックのパルス数を、制御ＩＣから所定期間出力された内部クロックのパルス数で除算した値を補正係数として学習するようにしてもよい。
【００２１】
また、請求項４に示すように、マイコンは、内燃機関の温度を示す温度情報を取得する温度情報取得手段を備え、
学習手段は、温度情報取得手段によって取得された温度情報が予め設定された所定温度を示す場合、補正係数の学習を行うようにしてもよい。
【００２２】
このようにすることによって、内燃機関の温度によってＲＣ発振回路の精度が低下した場合であっても、ＲＣ発振回路によって計時された到達時間の誤差を補正することができる。
【００２３】
また、請求項５に示すように、学習手段は、車両のイグニッションスイッチがオンになってから、イグニッションスイッチがオフになるまでの間に、少なくとも一回、補正係数の学習を行うようにしてもよい。
【００２４】
このようにすることによって、経時（経年）劣化によってＲＣ発振回路の精度が低下した場合であっても、ＲＣ発振回路によって計時された到達時間の誤差を補正することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態におけるインジェクタ制御装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態におけるモニタ部の概略構成を示すブロック図である。
【図３】変形例１におけるモニタ部の概略構成を示すブロック図である。
【図４】本発明の実施の形態におけるインジェクタ制御装置に各点（各信号線）における波形図であり、（ａ）はマイコンが制御ＩＣに出力する噴射指令信号の電圧波形（信号線１の波形）であり、（ｂ）は励磁制御部が第１トランジスタに出力する駆動信号の電圧波形（信号線２の波形）であり、（ｃ）は保持制御部が第２トランジスタに出力する駆動信号の電圧波形（信号線３の波形）であり、（ｄ）はモニタ部で求められたインジェクタ電流の電流波形（信号線４の波形）である。
【図５】（ａ）はマイコンが制御ＩＣに出力する噴射指令信号の電圧波形（信号線１の波形）を示す波形図であり、（ｂ）はモニタ部で求められたインジェクタ電流の電流波形（信号線４の波形）のばらつきを示す波形図である。
【図６】本発明の実施の形態におけるインジェクタ制御装置のばらつき補正処理を示すフローチャートである。
【図７】到達時間が正常値である場合のマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形と、モニタ部２５で求められたインジェクタ電流の電流波形を示す波形図である。
【図８】（ａ）は到達時間が正常値よりも短くなった場合のマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形と、モニタ部２５で求められたインジェクタ電流の電流波形を示す波形図であり、（ｂ）はばらつき補正後のマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形と、モニタ部２５で求められたインジェクタ電流の電流波形を示す波形図である。
【図９】（ａ）は到達時間が正常値よりも長くなった場合のマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形と、モニタ部２５で求められたインジェクタ電流の電流波形を示す波形図であり、（ｂ）はばらつき補正後のマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形と、モニタ部２５で求められたインジェクタ電流の電流波形を示す波形図である。
【図１０】本発明の実施の形態におけるインジェクタ制御装置の学習処理を示すフローチャートである。
【図１１】本発明の実施の形態におけるインジェクタ制御装置の学習処理及びばらつき補正処理を示すブロック図である。
【図１２】本発明の実施の形態におけるインジェクタ制御装置のクロック誤差を考慮したばらつき補正処理を示すフローチャートである。
【図１３】（ａ）はクロック誤差があった場合のマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形と、モニタ部２５で求められたインジェクタ電流の電流波形を示す波形図であり、（ｂ）はクロック誤差に基づいて補正を行った後のマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形と、モニタ部２５で求められたインジェクタ電流の電流波形を示す波形図である。
【図１４】変形例におけるインジェクタ制御装置の概略構成を示すブロック図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を図に基づいて説明する。本実施形態におけるインジェクタ制御装置は、車両に搭載されるものであり、エンジン（内燃機関）における複数の気筒毎に設けられた複数のインジェクタ５０をそれぞれ個別に駆動制御するものである。ここでは、一例として、直噴型のインジェクタ５０を駆動制御するものを採用する。このインジェクタ制御装置は、インジェクタ５０を駆動して、インジェクタ５０による燃料の噴射量を制御するものである。具体的には、インジェクタ制御装置は、インジェクタ５０のアクチュエータ（ソレノイドコイルやピエゾ素子であり、ここではソレノイドコイルを採用する、図示省略）への通電状態（通電時間）によって、インジェクタ５０を開閉させて内燃機関への燃料の噴射量を制御する（駆動制御処理）。
【００２７】
また、インジェクタ制御装置は、燃料の噴射量に加えて、インジェクタ５０による燃料の噴射時期を制御するものであってもよい。この場合、インジェクタ制御装置は、インジェクタ５０のソレノイドコイルへの通電タイミングを制御することにより、インジェクタ５０による燃料の噴射時期を制御する。
【００２８】
なお、直噴型のインジェクタとは、内燃機関（ガソリンエンジン又はディーゼルエンジン）の気筒に燃料を直接噴射するインジェクタを示すものである。また、図１においては、複数のインジェクタ５０のうちの一つを代表的に図示している。
【００２９】
図１に示すように、インジェクタ制御装置は、マイコン１０と直噴制御ＩＣ（以下、単に制御ＩＣとも称する）２０とを備えて構成される。このインジェクタ制御装置は、後ほど説明するスイッチング手段（第１トランジスタ４１、第２トランジスタ４２、第３トランジスタ４３）を介してインジェクタ５０を駆動制御する（駆動制御処理）。また、インジェクタ制御装置は、後ほど説明する制御ＩＣ２０における内部クロック生成部２１（ＲＣ発振回路２１）で生成されたクロックを用いて計時された到達時間を補正するめの補正係数を学習する（学習処理）。具体的には、制御ＩＣ２０のＲＣ発振回路２１によって生成された内部クロックを用いて計時された到達時間を、後ほど説明するマイコン１０の水晶発振回路１１によって生成された内部クロックを用いて計時された場合の到達時間と同等になるように補正するための補正係数を学習する。この駆動制御処理及び学習処理に関しては、後ほど詳しく説明する。
【００３０】
なお、ＲＣ発振回路２１で生成されたクロックは、制御ＩＣ２０の内部クロック（基準クロック）であり、クロック信号、クロックパルスとも言い換えることができる。同様に、水晶発振回路１１によって生成された内部クロックは、マイコン１０の内部クロック（基準クロック）であり、クロック信号、クロックパルスとも言い換えることができる。
【００３１】
なお、マイコン１０と直噴制御ＩＣ２０とは、一つのケース内において別体で設けられていてもよいし、別々のケースにそれぞれ設けられていてもよい。また、本発明のインジェクタ制御装置は、マイコン１０と制御ＩＣ２０に加えて、上記スイッチング手段や抵抗素子６０（後ほど説明する）を備えて構成されるものであってもよい。
【００３２】
マイコン１０は、ＣＰＵ（CentralProcessing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、発振回路、及び記憶内容が書き換え可能な不揮発性メモリ（例えばＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）やフラッシュＲＯＭ）などを備えて構成される周知のマイクロコンピュータである。なお、本実施形態においては、内部クロック生成部１１である発振回路として、水晶振動子を用いた固体振動発振回路である水晶発振回路（以下、水晶発振回路１１とも記載する）を採用する。この水晶発振回路１１は、後ほど説明する制御ＩＣ２０の内部クロック生成部２１としてのＲＣ発振回路（以下、ＲＣ発振回路２１とも記載する）に比べて高価でるが、ＲＣ発振回路２１よりも発振周波数の精度が高い。ＲＣ発振回路２１の誤差は約２０％であるのに対して、水晶発振回路１１の誤差は約０．０００１％である。
【００３３】
マイコン１０は、ＣＰＵが水晶発振回路１１で生成されたクロックに同期して、予めＲＯＭに格納されたプログラムなどを読み出して、ＲＡＭを一時的記憶部として用いつつ演算処理を実行することで所定の処理動作を実行する。この処理動作としては、上述の駆動制御処理や学習処理などがある。
【００３４】
マイコン１０は、駆動制御処理時には、エンジン回転数、アクセル開度、エンジン水温など、各種センサ（図示省略）にて検出される内燃機関の運転情報に基づいて、気筒毎に所定のパルス幅（パルス持続時間）のパルス信号である噴射指令信号を生成する。なお、噴射指令信号は、所定時間の電圧波形と言い換えることもできる。
【００３５】
そして、この生成した噴射指令信号を制御ＩＣ２０に出力する（信号線１を介して出力する）。なお、インジェクタ５０は、噴射指令信号が出力されている間（言い換えると、噴射指令を示す信号のレベルがハイの間）、アクチュエータが通電される。つまり、マイコン１０は、内燃機関の運転情報に基づいて、気筒毎にインジェクタ５０のソレノイドコイル（アクチュエータ）への通電時間（通電期間）を設定する。そして、設定した通電期間に応じた噴射指令信号を出力する。つまり、設定した通電期間、噴射指令を示す信号のレベルをハイにする。よって、噴射指令信号（パルス信号）のパルス持続時間（パルス幅）は、設定した通電期間と同等である。よって、噴射指令信号は、インジェクタ（ソレノイドコイル）５０への通電時間を示す信号とも言い換えることができる。
【００３６】
また、マイコン１０は、学習処理時には、所定のパルス幅（時間Ａ）のパルス信号である誤差確認用信号を制御ＩＣ２０に出力する。この誤差確認用信号は、所定のパルス持続時間（時間Ａ）のパルス信号と言い換えることもできる。また、誤差確認用信号は、所定時間（時間Ａ）の電圧波形と言い換えることもできる。また、マイコン１０は、制御ＩＣ２０に対して、ＲＣ発振回路２１によって生成された内部クロックを用いて誤差確認用信号のパルス幅を計時させるともに、このパルス幅の計時結果（計時結果Ｂ）を出力させる。
【００３７】
そして、マイコン１０は、制御ＩＣ２０よって計時された、誤差確認用信号のパルス幅（パルス持続時間）を示す信号（計時結果Ｂ）を受信する。
さらに、マイコン１０は、誤差確認用信号（時間Ａ）と制御ＩＣ２０からの信号（計時結果Ｂ）とに基づいて、時間Ａ／計時結果Ｂを補正係数として学習（算出）する。つまり、マイコン１０は、誤差確認用信号のパルス幅（時間Ａ）を制御ＩＣ２０から出力されたパルス幅の計時結果Ｂで除算した値を補正係数として学習する。なお、マイコン１０は、学習した補正係数Ａ／Ｂを不揮発性メモリに記憶しておく。なお、不揮発性メモリには、後ほど説明する基準時間Ｆなども記憶されている。
【００３８】
制御ＩＣ２０は、内部クロック生成部（ＲＣ発振回路）２１、励磁制御部２２、保持制御部２３、ＩＮＪスイッチ制御部（以下、単にスイッチ制御部とも記載する）２４、モニタ部２５などの機能ブロックを備える。制御ＩＣ２０は、ＲＣ発振回路２１にて生成されるクロックに同期して動作するものである。上述のように、制御ＩＣ２０の内部クロックを生成するＲＣ発振回路２１は、マイコン１０の内部クロックを生成する水晶発振回路１１に比べて安価であるが、水晶発振回路１１よりも発振周波数の精度が低い。このように、制御ＩＣ２０の内部クロック生成部２１としてＲＣ発振回路２１を用いることによって、制御ＩＣ２０に水晶発振回路を用いる場合よりもインジェクタ制御装置を安価にすることができる。
【００３９】
制御ＩＣ２０は、マイコン１０からの噴射指令信号及びモニタ部２５でモニタ（計測）された電流値（電流検出手段の検出結果が示す値）に基づいてスイッチング手段（第１トランジスタ４１、第２トランジスタ４２、第３トランジスタ４３）のそれぞれを個別にオン及びオフする。このようにスイッチング手段（第１トランジスタ４１、第２トランジスタ４２、第３トランジスタ４３）のそれぞれを個別にオン及びオフすることで、インジェクタ５０のソレノイドコイルに対して第１電源３１又は第２電源３２から電圧が印加（供給）される。なお、制御ＩＣ２０は、マイコン１０から噴射指令信号が出力されている間、インジェクタ５０のソレノイドコイルに対する通電を行う。
【００４０】
励磁制御部２２は、第１トランジスタ４１に駆動信号（オン信号、オフ信号）を出力することによって、第１トランジスタ４１をオン及びオフさせる。保持制御部２３は、第２トランジスタ４２に駆動信号（オン信号、オフ信号）を出力することによって、第２トランジスタ４２をオン及びオフさせる。また、スイッチ制御部２４は、第３トランジスタ４３に駆動信号（オン信号、オフ信号）を出力することによって、第３トランジスタ４３をオン及びオフさせる。
【００４１】
励磁制御部２２が第１トランジスタ４１をオンにするとともに、スイッチ制御部２４が第３トランジスタ４３をオンにすることで、インジェクタ５０に対して第１電源３１から電圧が印加される。また、スイッチ制御部２４が第３トランジスタ４３をオフにすることで、インジェクタ５０に対する第１電源３１からの電圧の印加が停止される。
【００４２】
保持制御部２３が第２トランジスタ４２をオンにするとともに、スイッチ制御部２４が第３トランジスタ４３をオンにすることで、インジェクタ５０に対して第２電源３２から電圧が印加される。また、スイッチ制御部２４が第３トランジスタ４３をオフにすることで、インジェクタ５０に対する第２電源３２からの電圧の印加が停止される。
【００４３】
モニタ部２５は、インジェクタ５０に流れる電流の電流値をモニタ（計測）する（電流検出手段）とともに、インジェクタ５０に対する電圧の印加から電流値（電流検出手段の検出結果が示す値）が予め決められた値（例えばインジェクタ５０が開弁する値）になるまでの時間を計時する。このモニタ部２５は、図２に示すように、計時部２５１及び電流電圧変換回路２５２などを備える。インジェクタ５０のソレノイドコイルに流れる電流（以下、インジェクタ電流とも称する）は、第３トランジスタ４３に接続された電流電圧変換回路２５２におけるシャント抵抗Ｒを経てアースに流れる。よって、電流電圧変換回路２５２は、シャント抵抗Ｒの両端に生じる電圧降下を測定し、この測定電圧をシャント抵抗Ｒの抵抗値で除してインジェクタ５０に流れる電流値を求める。
【００４４】
計時部２５１は、インジェクタ電流が流れ初めてから（換言すると噴射指令信号が出力されてから）、インジェクタ電流の電流値が所定値に達するまでの時間（到達時間）を、ＲＣ発振回路２１で生成されたクロックをカウントすることで計測（計時）する（計時手段）。ここでの所定値としては、インジェクタ５０が開弁する電流値を採用することができる。つまり、計時部２５１は、インジェクタ電流が流れ初めてからインジェクタ５０が開弁するまでの時間を計測（計時）する。また、モニタ部２５（計時部２５１）は、計時した時間（インジェクタ電流が流れ初めてからインジェクタ５０が開弁するまでの時間）を示す信号（計時結果Ｅ）をマイコン１０に送信する（例えばシリアル通信にて送信する）。
【００４５】
また、モニタ部２５（計時部２５１）は、マイコン１０から送信された誤差確認用信号のパルス幅（パルス持続時間、以下、信号時間とも称する）を、ＲＣ発振回路２１で生成されたクロックをカウントすることで計測（計時）する（計時手段）。そして、モニタ部２５（計時部２５１）は、計時した時間（誤差確認用信号である電圧波形の時間（パルス信号のパルス持続時間））を示す信号（計時結果Ｂ）をマイコン１０に送信する（例えばシリアル通信にて送信する）。
【００４６】
また、モニタ部２５は、インジェクタ電流の電流値が第１トランジスタ４１をオフするための所定値（第１閾値、第１トランジスタ４１のオフ条件である電流値）に達したか否かを判定する。そして、インジェクタ電流の電流値が第１閾値に達したと判定すると、インジェクタ電流の電流値が第１閾値に達したことを示す信号を励磁制御部２２に送信する。
【００４７】
また、モニタ部２５は、インジェクタ電流の電流値が第２トランジスタ４２をオンするための所定値（第２閾値、第２トランジスタ４２のオン条件である電流値）に達したか否かを判定する。そして、インジェクタ電流の電流値が第２閾値に達したと判定すると、インジェクタ電流の電流値が第２閾値に達したことを示す信号を保持制御部２３に送信する。
【００４８】
また、モニタ部２５は、インジェクタ電流の電流値が第２トランジスタ４２をオフするための所定値（第３閾値、第２トランジスタ４２のオフ条件である電流値）に達したか否かを判定する。そして、インジェクタ電流の電流値が第３閾値に達したと判定すると、インジェクタ電流の電流値が第３閾値に達したことを示す信号を保持制御部２３に送信する。
【００４９】
なお、モニタ部２５は、図３に示すようにしてもよい。つまり、計時部２５１は、インジェクタ電流が流れ初めてから、インジェクタ電流の電流値が所定値に達するまでの時間を、直接電圧値（電流検出手段の検出結果が示す値）により計測（計時）するようにしてもよい。この場合も、ＲＣ発振回路２１で生成されたクロックをカウントすることで計測（計時）する。例えば、電圧波形（矩形波形）の立ち上がりエッジ間或いは立ち上がりエッジと立ち下がりエッジの間の時間を、ＲＣ発振回路２１で生成されたクロックをカウントすることで計測（計時）する。そして、モニタ部２５（計時部２５１）は、計時した時間（インジェクタ電流が流れ始めてから（インジェクタ５０のソレノイドコイルに通電を開始してから）インジェクタ５０が開弁するまでの時間）を示す信号（計時結果Ｅ）をマイコン１０に送信する（例えばシリアル通信にて送信する）。
【００５０】
また、この場合、モニタ部２５は、電圧値によって、インジェクタ電流の電流値が第１閾値に達したか否かを判定する。そして、インジェクタ電流の電流値が第１閾値に達したと判定すると、インジェクタ電流の電流値が第１閾値に達したことを示す信号を励磁制御部２２に送信する。また、モニタ部２５は、電圧値によって、インジェクタ電流の電流値が第２閾値に達したか否かを判定する。そして、インジェクタ電流の電流値が第２閾値に達したと判定すると、インジェクタ電流の電流値が第２閾値に達したことを示す信号を保持制御部２３に送信する。また、モニタ部２５は、電圧値によって、インジェクタ電流の電流値が第３閾値に達したか否かを判定する。そして、インジェクタ電流の電流値が第３閾値に達したと判定すると、インジェクタ電流の電流値が第３閾値に達したことを示す信号を保持制御部２３に送信する。
【００５１】
第１電源３１及び第２電源３２は、インジェクタ５０（ソレノイドコイル）に電圧を印加するものである。第１電源３１は、バッテリ（図示省略）の電圧（バッテリ電圧）を昇圧して、昇圧して得られた高電圧を発生（供給）するものであり、ＤＣ／ＤＣコンバータなどのスイッチング電源を採用することができる。
【００５２】
第２電源３２は、バッテリ電圧を降圧して、降圧して得られた低電圧を発生（供給）するものであり、ＤＣ／ＤＣコンバータなどのスイッチング電源を採用することができる。また、第２電源３２は、バッテリ電圧を発生（供給）するものであってもよい。
【００５３】
つまり、第１電源３１は、第２電源３２よりも高電圧を発生する高電圧発生手段である。一方、第２電源３２は、第１電源３１よりも低電圧を発生する低電圧発生手段である。
【００５４】
第１トランジスタ４１は、上述のように制御ＩＣ２０の励磁制御部２２からの駆動信号によってオン及びオフするものである。第２トランジスタ４２は、上述のように制御ＩＣ２０の保持制御部２３からの駆動信号によってオン及びオフするものである。第３トランジスタ４３は、制御ＩＣ２０のスイッチ制御部２４からの駆動信号によってオン及びオフするものである。これらの第１トランジスタ４１、第２トランジスタ４２、第３トランジスタ４３としては、ＭＯＳＦＥＴ、バイポーラトランジスタ等のスイッチング素子を採用することができる。
【００５５】
インジェクタ５０は、エンジン（内燃機関）の気筒毎にそれぞれに設けられ、気筒内に直接燃料を噴射する直噴型のインジェクタである。例えば、４気筒エンジン（内燃機関）の場合は、４個のインジェクタ５０が設けられる。図１では、複数のインジェクタ５０のうちの一つを図示している。このインジェクタ５０は、内蔵されたソレノイドコイル（アクチュエータ）に通電されると、このソレノイドコイルにより弁体が開弁位置に移動する。そして、インジェクタ５０は、このようにソレノイドコイルにより弁体が開弁位置に移動して開弁状態になると、燃料を噴射する。また、インジェクタ５０は、内蔵されたソレノイドコイル（アクチュエータ）への通電が停止（遮断）されると、このソレノイドコイルにより弁体が閉弁位置に移動する。そして、インジェクタ５０は、このようにソレノイドコイルにより弁体が閉弁位置に移動して閉弁状態になると、燃料の噴射を停止する。
【００５６】
ここで、インジェクタ制御装置の処理動作に関して説明する。まず、図４（ａ）〜（ｄ）の波形図に基づいて、駆動制御の基本的な処理に関して説明する。
【００５７】
マイコン１０は、イグニッションスイッチ（ＩＧＳＷ）がオンになると、スターターモータ（図示省略）を回転させることによってエンジン（内燃機関）を始動させる。そして、マイコン１０は、図４（ａ）に示すように、インジェクタ５０を開弁させるために、制御ＩＣ２０に対して噴射指令信号を送信する（開弁制御、例えばパラレル通信にて送信する）。
【００５８】
一方、噴射指令信号を受信した制御ＩＣ２０の励磁制御部２２は、第１トランジスタ４１に駆動信号（オン信号）を出力して第１トランジスタ４１をオンさせる（開弁制御、図４（ｂ）のｔ１）。換言すると、制御ＩＣ２０の励磁制御部２２は、噴射指令を示す信号のレベルがハイになると、第１トランジスタ４１に駆動信号（オン信号）を出力して第１トランジスタ４１をオンさせる。また、噴射指令信号を受信した制御ＩＣ２０のスイッチ制御部２４は、第３トランジスタ４３に駆動信号（オン信号）を出力して第３トランジスタ４３をオンさせる（開弁制御、図示省略）。換言すると、制御ＩＣ２０のスイッチ制御部２４は、噴射指令を示す信号のレベルがハイになると、第３トランジスタ４３に駆動信号（オン信号）を出力して第３トランジスタ４３をオンさせる。つまり、制御ＩＣ１０は、噴射指令信号を受信すると（噴射指令を示す信号のレベルがハイになると、噴射指令信号であるパルス信号を受信すると）、第１トランジスタ４１と第３トランジスタ４３とを同時にオンさせる。
【００５９】
このように第１トランジスタ４１と第３トランジスタ４３がオンすると、インジェクタ５０（ソレノイドコイル）には、第１電源３１から電圧が印加されてインジェクタ電流が流れる。このインジェクタ電流は、時間の経過に伴って徐々に大きくなる（図４（ｄ）のｔ１からｔ２）。そして、インジェクタ５０は、インジェクタ電流の電流値が所定値（インジェクタ５０が開弁する電流値、開弁電流値とも称する）に達すると開弁する。インジェクタ制御装置は、このように第１トランジスタ４１と第３トランジスタ４３とを同時にオンさせることによって、インジェクタ５０を開弁させる（開弁制御）。
【００６０】
また、モニタ部２５は、このインジェクタ電流の電流値を求めるとともに、インジェクタ電流の電流値が第１閾値に達したか否かを判定する（図４（ｄ）のｔ１からｔ２）。そして、インジェクタ電流の電流値が第１閾値に達したと判定すると（図４（ｄ）のｔ２）、インジェクタ電流の電流値が第１閾値に達したことを示す信号を励磁制御部２２に送信する。
【００６１】
制御ＩＣ２０の励磁制御部２２は、インジェクタ電流の電流値が第１閾値に達したことを示す信号を受信すると、第１トランジスタ４１に駆動信号（オフ信号）を出力して第１トランジスタ４１をオフさせる（図４（ｂ）のｔ２）。
【００６２】
なお、上述のように第１電源３１は、高電圧を発生（供給）するものである。よって、インジェクタ５０（ソレノイドコイル）に流れるインジェクタ電流（開弁電流）の電流値は、比較的早く所定値（インジェクタ５０が開弁する電流値）に達する（図４（ｄ）のｔ１からｔ２）。従って、インジェクタ５０を高速で開弁させることができる。つまり、インジェクタ５０の開弁応答を早めることができる。換言すると、インジェクタ５０を高速駆動させることができる。このように、図４（ｄ）のｔ１からｔ２の間は、励磁制御部２２によってインジェクタ５０の駆動制御が行われる。
【００６３】
インジェクタ制御装置は、このように第１トランジスタ４１と第３トランジスタ４３とをオンさせてインジェクタ５０を開弁させた後は、インジェクタ５０の開弁状態を保持（維持）する（開弁保持制御、開弁維持制御）。
【００６４】
励磁制御部２２によって第１トランジスタ４１がオフされると、インジェクタ電流は徐々に低下していく（図４（ｄ）のｔ２からｔ３）。モニタ部２５は、このインジェクタ電流の電流値を求めるとともに、インジェクタ電流の電流値が第２閾値に達したか否かを判定する（図４（ｄ）のｔ２からｔ３）。そして、インジェクタ電流の電流値が第２閾値に達したと判定すると（図４（ｄ）のｔ３）、インジェクタ電流の電流値が第２閾値に達したことを示す信号を保持制御部２３に送信する。
【００６５】
制御ＩＣ２０の保持制御部２３は、インジェクタ電流の電流値が第２閾値に達したことを示す信号を受信すると、第２トランジスタ４２に駆動信号（オン信号）を出力して第２トランジスタ４２をオンさせる（開弁保持制御、図４（ｃ）のｔ３）。第２トランジスタ４２がオンすると、インジェクタ５０（ソレノイドコイル）には、第２電源３２から電圧が印加されてインジェクタ電流が流れる。このインジェクタ電流は、時間の経過に伴って徐々に大きくなる（図４（ｄ）のｔ３からｔ４）。
【００６６】
なお、上述のように第２電源３２は、低電圧を発生（供給）するものである。つまり、第２トランジスタ４２をオンさせることで、インジェクタ５０（ソレノイドコイル）には比較的小さな電流値のインジェクタ電流（開弁保持電流）が流れる（図４（ｄ）のｔ３からｔ４）。この開弁保持電流の電流値は、インジェクタ５０の開弁状態を保持するのに必要な電流値である。
【００６７】
モニタ部２５は、このように保持制御部２３によって第２トランジスタ４２がオンされているときのインジェクタ電流の電流値を求めるとともに、このインジェクタ電流の電流値が第３閾値に達したか否かを判定する（図４（ｄ）のｔ３からｔ４）。そして、インジェクタ電流の電流値が第３閾値に達したと判定すると（図４（ｄ）のｔ４）、インジェクタ電流の電流値が第３閾値に達したことを示す信号を保持制御部２３に送信する。
【００６８】
制御ＩＣ２０の保持制御部２３は、インジェクタ電流の電流値が第３閾値に達したことを示す信号を受信すると、第２トランジスタ４２に駆動信号（オフ信号）を出力して第２トランジスタ４２をオフさせる（開弁保持制御、図４（ｃ）のｔ４）。保持制御部２３によって第２トランジスタ４２がオフされると、インジェクタ電流は徐々に低下していく（図４（ｄ）のｔ４からｔ５）。モニタ部２５は、このインジェクタ電流の電流値を求めるとともに、インジェクタ電流の電流値が第２閾値に達したか否かを判定する（保持制御、図４（ｄ）のｔ４からｔ５）。そして、インジェクタ電流の電流値が第２閾値に達したと判定すると（図４（ｄ）のｔ５）、インジェクタ電流の電流値が第２閾値に達したことを示す信号を保持制御部２３に送信する。
【００６９】
制御ＩＣ２０の保持制御部２３は、以降同様に、モニタ部２５で求められたインジェクタ電流の電流値と第２閾値及び第３閾値とを比較して、第２トランジスタ４２のオン及びオフを繰り返し行う。つまり、保持制御時においては、制御ＩＣ２０の保持制御部２３は、インジェクタ電流の電流値が、インジェクタ５０の開弁状態を保持するのに必要な電流値となるように、第２トランジスタ４２のオン及びオフを繰り返し行う。インジェクタ制御装置は、このように第２トランジスタ４２のオン及びオフを繰り返し行うことによって、インジェクタ５０の開弁状態を保持する。
【００７０】
そして、制御ＩＣ２０のスイッチ制御部２４は、噴射指令信号がオフ（噴射指令を示す信号のレベルがロー、噴射指令信号であるパルス信号がオフ）になると（図４（ａ）のｔ６）、第３トランジスタ４３に駆動信号（オフ信号）を出力して第３トランジスタ４３をオフさせる（図示省略）。このようにすることで、インジェクタ５０のソレノイドコイルへの通電を遮断して、インジェクタ５０を閉弁させる（図４（ｄ）のｔ６）。なお、このとき、制御ＩＣ２０の保持制御部２３は、インジェクタ電流値の電流値に応じて、第２トランジスタ４２に駆動信号（オン信号又はオフ信号）を出力する。
【００７１】
このようにインジェクタ制御装置は、インジェクタ５０を開弁して内燃機関に燃料を噴射する場合、開弁時には大電流値の開弁電流をインジェクタ５０のソレノイドに通電して開弁動作を速める。そして、開弁完了後は開弁状態の維持に必要な小電流値の開弁保持電流に切り替え（開弁保持電流をインジェクタ５０のソレノイドに通電して）、この開弁保持電流をソレノイドに所定時間（噴射指令信号がオフになるまで）通電させて噴射量を制御する。
【００７２】
なお、本実施形態においては、モニタ部２５が、インジェクタ電流の電流値が第１〜第３閾値に達したか否かを判定するとともに、インジェクタ電流の電流値が各閾値に達したことを励磁制御部２２又は保持制御部２３に通知する例を採用した。しかしながら、本発明はこれに限定されるものではない。インジェクタ電流の電流値が第１〜第３閾値の夫々に達したか否かを判定するとともに、インジェクタ電流の電流値が各閾値に達したことを励磁制御部２２又は保持制御部２３に通知する手段であれば採用することができる。
【００７３】
ところで、制御ＩＣ２０やインジェクタ５０（ソレノイドコイル）は、電気的特性にばらつき（製造ばらつき、温度変化によるばらつき）が生じることがある。この制御ＩＣ２０やインジェクタ５０（ソレノイドコイル）の電気的特性にばらつきは、インジェクタ５０による燃料の噴射量のばらつきにも繋がる可能性がある。つまり、制御ＩＣ２０やインジェクタ５０（ソレノイドコイル）の電気的特性にばらつきが生じた場合、インジェクタ５０（ソレノイドコイル）への通電波形がばらつく可能性がある。そして、インジェクタ５０（ソレノイドコイル）への通電波形がばらつくと、インジェクタ５０にインジェクタ電流が流れ始めてから（つまり噴射指令信号が出力されてから）インジェクタ電流が開弁電流値に達するまでの時間がばらつき、インジェクタ５０による燃料の噴射量もばらつく可能性がある。なお、このインジェクタ電流が流れ始めてからインジェクタ電流が開弁電流値に達するまでの時間を、インジェクタ開弁開始時間（開弁開始時間）又は到達時間とも称する。
【００７４】
図５に示すように、例えば、インジェクタ電流が正常時よりも急に上昇した場合、開弁開始時間は狙いとする開弁開始時間（開始狙い値Ｆ、換言すると、予め設定された到達時間の基準時間Ｆ）よりも短くなる。この場合、インジェクタ５０の開弁時間が長くなるため、燃料の噴射時間が長くなって、燃料の噴射量が多くなる。逆に、インジェクタ電流が正常時よりもなだらかに上昇した場合、開弁開始時間は狙いとする開弁開始時間（開始狙い値Ｆ、予め設定された到達時間の基準時間Ｆ）よりも長くなる。この場合、インジェクタ５０の開弁時間が短くなるため、燃料の噴射時間が短くなって、燃料の噴射量が少なくなる。なお、開始狙い値Ｆ（基準時間Ｆ）は、燃料の噴射時間が狙い値（噴射時間狙い値、言い換えると、噴射量が狙い値（噴射量狙い値））となるように予め設定された値であり、インジェクタ５０にインジェクタ電流が流れ始めてから、インジェクタ電流が開弁電流値に達するまでの時間である。なお、燃料の噴射時間は、インジェクタ５０の開弁時間と同等である。よって、噴射時間狙い値は、開弁時間狙い値とも言い換えることができる。
【００７５】
そこで、本実施形態におけるインジェクタ制御装置は、ばらつき補正処理を行うものである。このばらつき補正処理に関して図６〜図９を用いて説明する。図６に示すフローチャートは、イグニッションスイッチ（ＩＧＳＷ）がオンになるとスタートして、ＩＧＳＷがオンの間実行されるものである。
【００７６】
まず、ステップＳ１０では、マイコン１０は、ＩＧＳＷがオンになると、スターターモータ（図示省略）を回転させることによってエンジン（内燃機関）を始動する。
【００７７】
ステップＳ１１では、マイコン１０は、図４（ａ）に示すように、インジェクタ５０を開弁させるために、信号線１を介して制御ＩＣ２０に対して噴射指令信号を送信する（開弁制御、例えばパラレル通信にて送信する）。
【００７８】
上述のように、噴射指令信号を受信した制御ＩＣ２０の励磁制御部２２は、第１トランジスタ４１に駆動信号（オン信号）を出力して第１トランジスタ４１をオンさせる（開弁制御、図４（ｂ）のｔ１）。また、噴射指令信号を受信した制御ＩＣ２０のスイッチ制御部２４は、第３トランジスタ４３に駆動信号（オン信号）を出力して第３トランジスタ４３をオンさせる（開弁制御、図示省略）。
【００７９】
ステップＳ１２では、制御ＩＣ２０（モニタ部２５の計時部２５１）は、インジェクタ５０（ソレノイドコイル）への通電電流波形（インジェクタ電流の電流値）が開弁電流値に達（到達）するまでの時間（到達時間）を計時する。つまり、インジェクタ電流が流れ初めてから、インジェクタ電流の電流値が開弁電流値にするまでにかかった時間を計時する。言い換えると、制御ＩＣ２０（モニタ部２５の計時部２５１）は、インジェクタ電流が流れ初めてからインジェクタ５０が開弁するまでの時間を計時する。このとき、制御ＩＣ２０（モニタ部２５の計時部２５１）は、ＲＣ発振回路２１で生成されたクロックをカウントすることで計測（計時）する。
【００８０】
ステップＳ１３では、制御ＩＣ２０は、ステップＳ１２で計時した時間を示す信号（計時結果Ｅ）をマイコン１０に送信する（例えばシリアル通信にて送信する）。
【００８１】
ステップＳ１４では、マイコン１０は、予め設定された到達時間の基準時間Ｆと計時結果Ｅとを比較する。つまり、マイコン１０は、不揮発性メモリに記憶された基準時間Ｆと、制御ＩＣ２０から受信した計時結果Ｅとを比較する（第２補正手段）。
【００８２】
ステップＳ１５では、マイコン１０は、基準時間Ｆと計時結果Ｅとが一致するか否か（Ｅ＝Ｆであるか否か）を判定する（第２補正手段）。そして、基準時間Ｆと計時結果Ｅとが一致する（Ｅ＝Ｆ）と判定した場合は、狙い通りの噴射量が得られているとみなしてステップＳ１１へ戻る（第２補正手段）。つまり、制御ＩＣ２０に送信する噴射指令信号の補正は行わない。一方、基準時間Ｆと計時結果Ｅとが一致しない（Ｅ≠Ｆ）と判定した場合は、狙い通りの噴射量が得られていないとみなしてステップＳ１６へ進む（第２補正手段）。
【００８３】
ステップＳ１６では、マイコン１０は、制御ＩＣ２０に送信する噴射指令信号を補正する。つまり、基準時間Ｆと計時結果Ｅとの差分に応じて、インジェクタ５０の開弁時間が開弁時間狙い値となるように噴射指令信号のパルス幅を補正する（第２補正手段）。
【００８４】
ここで、この噴射指令信号の補正に関して、波形図（図７〜図９）を用いて説明する。ここでは、５ｍｓ（初期値）の噴射指令信号（５ｍｓの電圧波形、パルス持続時間（パルス幅）が５ｍｓのパルス信号）をマイコン１０から制御ＩＣ２０に送信するものであり、基準時間Ｆが１．０ｍｓ、噴射時間狙い値が４．０ｍｓである場合を一例として採用する。
【００８５】
なお、図７では、上段はマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形（信号線１の波形）を示し、下段はモニタ部２５で求められたインジェクタ電流の電流波形（信号線４の波形）を示す。また、図８（ａ）、図８（ｂ）、図９（ａ）、図９（ｂ）の各図でも同様に、上段はマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形（信号線１の波形）を示し、下段はモニタ部２５で求められたインジェクタ電流の電流波形（信号線４の波形）を示す。
【００８６】
まず、図７に示すように、計時結果Ｅ（モニタ値）が基準時間Ｆと同じ１．０ｍｓであった場合（すなわち図６に示すフローチャートでは、ステップＳ１５でＹＥＳ判定）、インジェクタ５０による燃料の噴射時間は４．０ｍｓとなる。つまり、インジェクタ５０による燃料の噴射時間も噴射時間狙い値と同じとなる。よって、計時結果Ｅが基準時間Ｆと一致した場合、狙い通りの噴射量が得られているとみなすことができる。
【００８７】
次に、図８（ａ）に示すように、計時結果Ｅ（モニタ値）が基準時間Ｆよりも０．１ｍｓ短い０．９ｍｓであった場合（すなわち図６に示すフローチャートでは、ステップＳ１５でＮＯ判定）、インジェクタ５０による燃料の噴射時間は４．１ｍｓとなる。つまり、インジェクタ５０による燃料の噴射時間は、噴射時間狙い値よりも０．１ｍｓ長くなる。よって、この場合、インジェクタ５０による燃料の噴射量は、噴射量狙い値よりも多くなってしまう。
【００８８】
この場合、図８（ｂ）に示すように、噴射指令信号の時間を４．９ｍｓに補正する。すなわち、電圧波形の時間を４．９ｍｓに補正する（言い換えると、パルス持続時間（パルス幅）を４．９ｍｓに補正する）。つまり、計時結果Ｅが基準時間Ｆよりも短かった場合、計時結果Ｅと基準時間Ｆの差分時間の分だけ、噴射指令信号の時間（パルス幅）を短くする。よって、図６に示すフローチャートにおけるステップＳ１６では、このように噴射指令信号の時間を補正する。
【００８９】
このように補正することによって、計時結果Ｅが基準時間Ｆよりも０．１ｍｓ短い０．９ｍｓであっても、インジェクタ５０による燃料の噴射時間は４．０ｍｓとなる。つまり、インジェクタ５０による燃料の噴射時間を噴射時間狙い値と同じにすることができる。よって、インジェクタ５０による燃料の噴射量を噴射量狙い値とすることができる。
【００９０】
次に、図９（ａ）に示すように、計時結果Ｅ（モニタ値）が基準時間Ｆよりも０．１ｍｓ長い１．１ｍｓであった場合（すなわち図６に示すフローチャートでは、ステップＳ１５でＮＯ判定）、インジェクタ５０による燃料の噴射時間は３．９ｍｓとなる。つまり、インジェクタ５０による燃料の噴射時間は、噴射時間狙い値よりも０．１ｍｓ短くなる。よって、この場合、インジェクタ５０による燃料の噴射量は、噴射量狙い値よりも少なくなってしまう。
【００９１】
この場合、図９（ｂ）に示すように、噴射指令信号の時間を５．１ｍｓに補正する。すなわち、電圧波形の時間を５．１ｍｓに補正する（言い換えると、パルス持続時間（パルス幅）を５．１ｍｓに補正する）。つまり、計時結果Ｅが基準時間Ｆよりも長かった場合、計時結果Ｅと基準時間Ｆの差分時間の分だけ、噴射指令信号の時間（パルス幅）を長くする。よって、図６に示すフローチャートにおけるステップＳ１６では、このように噴射指令信号の時間を補正する。
【００９２】
このように補正することによって、計時結果Ｅが基準時間Ｆよりも０．１ｍｓ長い１．１ｍｓであっても、インジェクタ５０による燃料の噴射時間は４．０ｍｓとなる。つまり、インジェクタ５０による燃料の噴射時間を噴射時間狙い値と同じにすることができる。よって、インジェクタ５０による燃料の噴射量を噴射量狙い値とすることができる。
【００９３】
ここまで説明したように、インジェクタ制御装置は、ばらつき補正処理を行うことによって、制御ＩＣ２０やインジェクタ５０に電気的特性にばらつきが生じた場合であっても、インジェクタ５０による燃料の噴射量を高精度に制御することができる。よって、インジェクタ５０と制御ＩＣ２０との組み合わせを変更したとしても、インジェクタ５０による燃料の噴射量を高精度に制御することができる。換言すると、ばらつきが生じた場合や、組み合わせを変更したとしても、インジェクタ５０による燃料の噴射量を狙い値（噴射量狙い値）にすることができる。
【００９４】
しかしながら、上述のように、制御ＩＣ２０は、インジェクタ制御装置を安価にするために、マイコン１０に設けられた水晶発振回路１１よりも精度が低いＲＣ発振回路２１を用いている。従って、ばらつき補正処理時に制御ＩＣ２０で到達時間を計時したとしても、この到達時間に誤差が生じている可能性がある。
【００９５】
そこで、本実施形態におけるインジェクタ制御装置は、制御ＩＣ２０におけるＲＣ発振回路２１による誤差（ＲＣ発振回路２１のクロック誤差であり、言い換えれば、制御ＩＣ２０のクロック誤差）を補正するために、学習処理を実行する。
【００９６】
なお、この学習処理は、インジェクタ制御装置の生産工程で行うことができる。また、学習処理は、インジェクタ制御装置、又はインジェクタ制御装置が搭載された車両が市場に出た後（例えばインジェクタ制御装置が搭載された車両の定期メンテナンスなどのタイミング）で行うこともできる。ＲＣ発振回路２１は、インジェクタ制御装置、又はインジェクタ制御装置が搭載された車両が市場に出た後に、抵抗（Ｒ）、コンデンサ（Ｃ）の劣化で精度が低下（ＲＣ発振回路２１の生産時よりも低下）することもありうる。よって、インジェクタ制御装置、又はインジェクタ制御装置が搭載された車両が市場に出た後に学習処理を行うことによって、ＲＣ発振回路２１の精度が低下した場合であっても、ＲＣ発振回路２１の誤差を補正することができる。
【００９７】
また、インジェクタ制御装置内の温度、又はエンジンの冷却水の温度が所定値（所定温度）に達した場合に、学習処理を行うようにしてもよい。ＲＣ発振回路２１は、温度によって特性が変化して精度が低下する可能性がある。しかしながら、このようにすることによって、ＲＣ発振回路２１の精度が低下した場合であっても、ＲＣ発振回路２１が生成するクロックを用いて計時された到達時間を補正することができる。
【００９８】
なお、インジェクタ制御装置内の温度が所定値に達した場合に、学習処理を行う場合には、インジェクタ制御装置内の温度を検出する温度検出装置（図示省略）を設けておく。
そして、マイコン１０は、内燃機関の温度を示す温度情報として、温度検出装置からインジェクタ制御装置内の温度を示す温度情報を取得する（温度情報取得手段）。同様に、エンジンの冷却水の温度が所定値に達した場合に、学習処理を行う場合には、エンジンの冷却水の温度を検出する温度検出装置（図示省略）を設けておく。マイコン１０は、内燃機関の温度を示す温度情報として、温度検出装置から冷却水の温度を示す温度情報を取得する（温度情報取得手段）。
【００９９】
なお、ＩＧＳＷがオン状態である間に少なくとも一回、学習処理を行うようにしてもよい。このようにすることによって、ＲＣ発振回路２１が経時（経年）劣化によって精度が低下した場合であっても、ＲＣ発振回路２１が生成するクロックを用いて計時された到達時間の誤差を補正することができる。
【０１００】
ここで、図１０〜図１３を用いて、インジェクタ制御装置の学習処理に関連する処理動作を説明する。
【０１０１】
まず、図１０，図１１に基づいて、インジェクタ制御装置の学習処理に関して説明する。ステップＳ２０では、マイコン１０は、誤差確認用信号（時間Ａの電圧波形、パルス持続時間（パルス幅）が時間Ａのパルス信号）を制御ＩＣ２０へ送信する（例えばパラレル通信にて送信する）。例えば、図１１に示すように、マイコン１０は、１０ｍｓの波形（誤差確認用信号）を送信する（学習手段）。また、マイコン１０は、制御ＩＣ２０（モニタ部２５、計時手段）に対して、ＲＣ発振回路２２によって生成された内部クロックを用いて誤差確認用信号のパルス幅を計時させる（学習手段）。
【０１０２】
ステップＳ２１では、制御ＩＣ２０（モニタ部２５の計時部２５１）は、マイコン１０から受信した誤差確認用信号の時間を、ＲＣ発振回路２１で生成されたクロックをカウントすることで計測（計時）する。つまり、制御ＩＣ２０（モニタ部２５の計時部２５１）は、誤差確認用信号が入力されてから、誤差確認用信号の入力が終了までの時間を計時する。図１１に示す例では、制御ＩＣ２０（モニタ部２５の計時部２５１）は、１０ｍｓの波形（誤差確認用信号）を１１ｍｓと計時する。
【０１０３】
ステップＳ２２では、制御ＩＣ２０は、ステップＳ２１で計時した時間を示す信号（計時結果Ｂ）をマイコン１０に送信する（例えばシリアル通信にて送信する）。つまり、図１１に示すように、制御ＩＣ２０は、計時した１１ｍｓを示す計時結果Ｂを送信する。このように、インジェクタ制御装置は、マイコン１０から制御ＩＣ２０に送信された誤差確認用信号を制御ＩＣ２０内でモニタして、その結果をマイコン１０に戻す。
【０１０４】
そして、ステップＳ２３では、マイコン１０は、送信した誤差確認用信号の時間Ａと制御ＩＣ２０から受信した計時結果Ｂとを比較して、時間Ａと計時結果ＢとからＡ／Ｂを補正係数として学習する（学習手段）。つまり、図１１に示すように、マイコン１０は、誤差確認用信号の時間１０ｍｓと制御ＩＣ２０から受信した計時結果である１１ｍｓとから補正係数１０／１１を学習する。なお、マイコン１０は、この補正係数Ａ／Ｂを不揮発性メモリに記憶する。なお、図１１における補正過程とは、上述のばらつき補正処理を示すものである。
【０１０５】
次に、図１２，図１３に基づいて、学習処理を行ったインジェクタ制御装置がばらつき補正処理を行う際の処理動作に関して説明する。つまり、制御ＩＣ２０におけるクロック誤差を考慮して、ばらつき補正処理を行う際の処理動作に関して説明する。
【０１０６】
ステップＳ３０では、図６のステップＳ１０と同様に、マイコン１０は、ＩＧＳＷがオンになると、スターターモータ（図示省略）を回転させることによってエンジン（内燃機関）を始動する。その後、図６のステップＳ１１と同様に、マイコン１０は、インジェクタ５０を開弁させるために、信号線１を介して制御ＩＣ２０に対して噴射指令信号を送信する（開弁制御、例えばパラレル通信にて送信する）。一方、噴射指令信号を受信した制御ＩＣ２０の励磁制御部２２は、第１トランジスタ４１に駆動信号（オン信号）を出力して第１トランジスタ４１をオンさせる。また、噴射指令信号を受信した制御ＩＣ２０のスイッチ制御部２４は、第３トランジスタ４３に駆動信号（オン信号）を出力して第３トランジスタ４３をオンさせる（開弁制御、図示省略）。
【０１０７】
ステップＳ３１では、図６のステップＳ１２と同様に、制御ＩＣ２０（モニタ部２５の計時部２５１）は、インジェクタ５０（ソレノイドコイル）への通電電流波形（すなわち、インジェクタ電流の電流値）が開弁電流値に達するまでの時間（到達時間）を計時する。
【０１０８】
ステップＳ３２では、図６のステップＳ１３と同様に、制御ＩＣ２０は、ステップＳ３１で計時した時間（到達時間）を示す信号（計時結果Ｅ）をマイコン１０に送信する（例えばシリアル通信にて送信する）。
【０１０９】
ステップＳ３３では、マイコン１０は、制御ＩＣ２０から送信された計時結果Ｅを受信する。そして、マイコン１０は、受信した計時結果Ｅが示す到達時間を補正係数Ａ／Ｂを使って補正する（第１補正手段）。この補正した値（補正済到達時間）Ｃは、Ｅ×Ａ／Ｂである。そして、マイコン１０は、この補正した値Ｃを制御ＩＣ２０で計時された到達時間として認識する。
【０１１０】
その後、マイコン１０は、図６のステップＳ１４〜１６の処理を行う。つまり、マイコン１０は、インジェクタの開弁時間が開弁時間狙い値となるように、補正した値（補正済到達時間）Ｃに応じて噴射指令信号のパルス幅を補正する（第２補正手段）。具体的には、補正した値Ｃと基準時間Ｆとを比較して、一致すると判定した場合は図６のステップＳ１１へ戻り、不一致であると判定した場合は図６のステップＳ１６に進んで噴射指令信号を補正する（第２補正手段）。なお、マイコン１０は、補正した値Ｃと基準時間Ｆとが異なる場合は、インジェクタ５０の開弁時間が狙い値となるように、補正した値Ｃと基準時間Ｆとの差分に応じて、噴射指令信号のパルス幅を補正する（第２補正手段）。
【０１１１】
ここで、制御ＩＣ２０におけるクロック誤差を考慮した、ばらつき補正処理に関して、図１３に示す波形図を用いて説明する。なお、図１３（ａ）では、上段はマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形（信号線１の波形）を示し、下段はモニタ部２５で求められたインジェクタ電流の電流波形（信号線４の波形）を示す。同様に、図１３（ｂ）では、上段はマイコン１０が制御ＩＣ２０に出力する噴射指令信号の電圧波形（信号線１の波形）を示し、下段はモニタ部２５で求められたインジェクタ電流の電流波形（信号線４の波形）を示す。
【０１１２】
ここでは、５ｍｓ（初期値）の噴射指令信号（５ｍｓの電圧波形、パルス持続時間（パルス幅）が５ｍｓのパルス信号）をマイコン１０から制御ＩＣ２０に送信するものであり、基準時間Ｆが１．０ｍｓ、噴射時間狙い値が３．９ｍｓである場合を一例として採用する。
【０１１３】
クロック誤差を考慮してない場合（つまりクロック誤差の補正前）、図１３（ａ）に示すように、制御ＩＣ２０（モニタ部２５の計時部２５１）は、ＲＣ発振回路２１のクロック誤差によって、実際は１．０ｍｓである到達時間を１．１ｍｓと認識（計時）する。この場合、インジェクタ５０による燃料の噴射時間は４．０ｍｓとなる。つまり、インジェクタ５０による燃料の噴射時間は、噴射時間狙い値よりも０．１ｍｓ長くなる。よって、この場合、インジェクタ５０による燃料の噴射量は、噴射量狙い値よりも多くなってしまう。
【０１１４】
その後、制御ＩＣ２０は、図１２のステップＳ３２に示すように、計時した時間（ここでは１．１ｍｓ）を示す信号（計時結果Ｅ）をマイコン１０に送信する。この計時結果Ｅを受信したマイコン１０は、予め学習して不揮発性メモリに記憶しておいた補正係数Ａ／Ｂ（ここでは１０／１１）で計時結果Ｅ（ここでは１．１）を補正する。つまり、マイコン１０は、補正した値Ｃ（ここでは１．１（Ｅ）×１０（Ａ）／１１（Ｂ））を算出する。
【０１１５】
これによって、マイコン１０は、実際の到達時間が１．０ｍｓであることを認識する。さらに、マイコン１０は、実際の到達時間が１．０ｍｓであると認識することで、５ｍｓ（初期値）の噴射指令信号では、インジェクタ５０による燃料の噴射時間が狙い値（燃料噴射狙い値）よりも０．１ｍｓ長いことを認識する。
【０１１６】
そこで、マイコン１０は、インジェクタ５０による噴射時間を噴射時間狙い値とするために、図１２（ｂ）に示すように、噴射指令信号の時間を４．９ｍｓに補正する。すなわち、マイコン１０は、電圧波形の時間を４．９ｍｓに補正する（言い換えると、パルス持続時間（パルス幅）を４．９ｍｓに補正する）。
【０１１７】
つまり、マイコン１０は、噴射指令信号の時間を、制御ＩＣ２０から受信した到達時間と補正係数との積（到達時間と補正係数との乗算結果、つまり、自身が認識した実際の到達時間）に対して噴射時間狙い値を足した値（時間）に補正（設定）する。
【０１１８】
よって、クロック誤差を考慮して補正された噴射指令信号は、制御ＩＣ２０から受信した到達時間と補正係数との積が示す時間に噴射時間狙い値（時間）を足した時間の電圧波形となる。換言すると、制御ＩＣ２０から受信した到達時間と補正係数との積が示す時間に噴射時間狙い値（時間）を足した時間のパルス持続時間（パルス幅）であるパルス信号である。
【０１１９】
このように、マイコン１０は、送信した値と受信した値を比較し、それを制御ＩＣ２０におけるクロックのばらつき（クロック誤差）と認識する。そして、マイコン１０は、上述のばらつき補正処理の過程においてクロックのばらつきも反映する。
【０１２０】
ここまで説明したように、補正係数を学習するとともに、ＲＣ発振回路２１によって生成された内部クロックを用いて計時された到達時間を補正係数で補正することによって、マイコン１０は、制御ＩＣ２０から出力された到達時間を実際の到達時間と同等の時間として認識することができる。つまり、ＲＣ発振回路２１によって生成された内部クロックを用いて計時された到達時間と実際の到達時間との間に誤差が生じていたとしても、マイコン１０は、制御ＩＣ２０から出力された到達時間を実際の到達時間と同等の時間として認識することができる。
【０１２１】
また、マイコン１０は、このように補正した補正済到達時間に応じて、インジェクタ５０の開弁時間が狙い値となるように、噴射指令信号のパルス幅を補正することで、噴射指令信号のパルス幅を実際の到達時間に応じて補正した場合と同等にすることができる。よって、制御ＩＣ２０やインジェクタ５０（ソレノイドコイル）の電気的特性にばらつきが生じて到達時間が基準時間からずれたとしても、インジェクタによる燃料の噴射量を高精度に制御することができる。
【０１２２】
従って、本発明のインジェクタ制御装置は、制御ＩＣ２０の内部クロックを生成する発振回路として比較的安価なＲＣ発振回路２１を採用したとしても、インジェクタ５０の開弁時間（すなわちインジェクタによる燃料の噴射量）を高精度に制御することができる。つまり、制御ＩＣ２０の内部クロック発生部としてＲＣ発振回路２１を用いた場合であっても、制御ＩＣ２０の内部クロック発生部として水晶発振回路１１を用いた場合と同等の精度で、インジェクタ５０による燃料の噴射量を制御することができる。よって、本発明におけるインジェクタ制御装置は、安価で、且つインジェクタによる燃料の噴射量を高精度に制御することができる。
【０１２３】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。
【０１２４】
（変形例）
上述の実施形態におけるインジェクタ制御装置では、マイコン１０が誤差確認用信号を送信すると共に、誤差確認用信号の時間Ａと、制御ＩＣ２０から送信された経時結果Ｂとによって、制御ＩＣ２０のクロック誤差を学習する例を採用した。しかしながら、本発明はこれに限定されるものではない。
【０１２５】
変形例におけるインジェクタ制御装置では、制御ＩＣ２０のクロック誤差をマイコン１０で直接学習するようにしてもよい。なお、変形例におけるインジェクタ制御装置と、上述の実施形態におけるインジェクタ制御装置とは、学習処理の処理動作が異なる。また、図１４に示すように、ＲＣ発振回路２１で生成されたクロック信号がマイコンに入力される点が異なる。その他の構成、処理動作に関しては同様であるため説明は省略する。
【０１２６】
変形例のインジェクタ制御装置では、マイコン１０は、制御ＩＣ２０に対して、ＲＣ発振回路２１で生成されたクロック信号（クロックパルス）を所定期間出力させる。そして、マイコン１０は、制御ＩＣ２０から出力されたクロック信号と、自身に設けられた水晶発振回路１１で生成されたクロック信号（クロックパルス）とに基づいて、補正係数を学習（算出）する。
【０１２７】
具体的には、マイコン１０は、所定期間に入力されたクロック信号のパルス数Ｂ１と、同じ期間に水晶発振回路１１で生成されたクロック信号のパルス数Ａ１とを比較する。そして、マイコン１０は、水晶発振回路１１で生成されたクロック信号のパルス数Ａ１とＲＣ発振回路２１で生成されたクロック信号のパルス数Ｂ１とからＡ１／Ｂ１を補正係数として学習する。つまり、マイコン１０は、制御ＩＣ２０が内部クロックを出力するのと同じ期間に水晶発振回路１１で生成された内部クロックのパルス数Ａ１を、制御ＩＣ２０から所定期間出力された内部クロックのパルス数Ｂ１で除算した値を補正係数として学習する。
【０１２８】
このようなインジェクタ制御装置であっても、本発明の目的を達成することができる（すなわち上述の実施形態と同じ効果を奏することができる）。つまり、制御ＩＣ２０の内部クロック発生部として、水晶発振回路１１よりも安価で精度が低いＲＣ発振回路２１を用いつつ、インジェクタ５０による燃料の噴射量を高精度に制御することができる。換言すると、制御ＩＣ２０の内部クロック発生部としてＲＣ発振回路２１を用いた場合であっても、制御ＩＣ２０の内部クロック発生部として水晶発振回路１１を用いた場合と同等の精度で、インジェクタ５０による燃料の噴射量を制御することができる。従って、変形例のインジェクタ制御装置は、安価で且つ燃料の噴射量を高精度に制御することができる。
【符号の説明】
【０１２９】
１０  マイコン、１１  内部クロック生成部（水晶発振回路）、２０  制御ＩＣ、２１  内部クロック生成部（ＲＣ発振回路）、２２  励磁制御部、２３  保持制御部、２４  ＩＮＪスイッチ制御部、２５  モニタ部、２５１  計時部、２５２  電流電圧変換回路、３１  第１電源、３２  第２電源、４１  第１トランジスタ、４２  第２トランジスタ、４３  第３トランジスタ、５０  インジェクタ
【図１】
2013060884.tif 000003
【図２】
2013060884.tif 000004
【図３】
2013060884.tif 000005
【図４】
2013060884.tif 000006
【図５】
2013060884.tif 000007
【図６】
2013060884.tif 000008
【図７】
2013060884.tif 000009
【図８】
2013060884.tif 000010
【図９】
2013060884.tif 000011
【図１０】
2013060884.tif 000012
【図１１】
2013060884.tif 000013
【図１２】
2013060884.tif 000014
【図１３】
2013060884.tif 000015
【図１４】
2013060884.tif 000016