(57)【特許請求の範囲】
【請求項１】
作業機の動力源として使用可能な汎用エンジンのエンジン回転数が操作者によって設定された目標回転数となるように前記汎用エンジンの吸気管に配置されたスロットルバルブのスロットル開度を調整するスロットル開度調整手段と、前記エンジン回転数とスロットル開度に基づいて基本噴射量を算出する基本噴射量算出手段と、前記汎用エンジンの始動が完了した後に前記算出された基本噴射量を暖機補正係数で補正して暖機時の燃料噴射量を算出してインジェクタから噴射させる暖機制御を実行する暖機制御実行手段とを備えた汎用エンジンの制御装置において、前記エンジン回転数が一定であるとき、前記暖機時の燃料噴射量を増減させ、そのときに調整される前記スロットル開度に基づいて前記汎用エンジンの出力が最大となるときの燃料噴射量を探索する最大出力燃料噴射量探索手段と、前記探索された燃料噴射量を用いて前記暖機補正係数を修正する暖機補正係数修正手段とを備えると共に、前記最大出力燃料噴射量探索手段は、前記暖機時の燃料噴射量を増減させたときに調整される前記スロットル開度の最小値に基づいて前記汎用エンジンの出力が最大となるときの燃料噴射量を探索することを特徴とする汎用エンジンの制御装置。
【請求項２】
前記暖機補正係数は、前記汎用エンジンが所定数回転する度または所定時間が経過する度に所定値ずつ減少するように設定されることを特徴とする請求項１記載の汎用エンジンの制御装置。
【請求項３】
前記最大出力燃料噴射量探索手段は、規定時間ごとに前記暖機時の燃料噴射量を増減させて前記汎用エンジンの出力が最大となるときの燃料噴射量を探索することを特徴とする請求項１または２記載の汎用エンジンの制御装置。
【請求項４】
前記暖機補正係数が１．０以上の乗算項からなり、前記汎用エンジンが前記所定数回転する度または前記所定時間が経過する度に１．０に向けて前記所定値ずつ減少するように設定されると共に、前記暖機制御実行手段は、前記暖機補正係数が１．０になるまで前記暖機制御を実行することを特徴とする請求項２記載の汎用エンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は汎用エンジンの制御装置に関し、より詳しくは汎用エンジンの暖機運転を制御する装置に関する。
【背景技術】
【０００２】
従来より、暖機時に燃料噴射量の増量補正を行うようにしたエンジンの制御装置は種々提案されており、その例として特許文献１記載の技術を挙げることができる。特許文献１記載の技術にあっては、水冷式のエンジンの暖機時に、エンジン回転数などに基づいて算出された基本噴射量をエンジン水温などに応じて設定された補正量により増量補正するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２１６０７号公報（段落０００３，００２５から００２８、図１から３など）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
また、空冷式の汎用エンジンにおいては上記したエンジン水温に代え、例えばシリンダヘッドの温度に基づいて暖機補正係数を算出し、基本噴射量を暖機補正係数で補正して暖機時の燃料噴射量を算出するようにしている。
【０００５】
しかしながら、上記の如く、外気温の影響を受け易いシリンダヘッドの温度を用いて暖機補正係数を算出すると、外気温によっては暖機補正係数がエンジンの暖機状態に応じた値にならず、そのため暖機状態に適した燃料噴射量が算出されず、結果として暖機運転が必要以上に長く行われて燃料消費量が増大するなどの不具合が発生するおそれがあった。
【０００６】
従って、この発明の目的は上記した課題を解決し、エンジンの暖機状態に応じた暖機補正係数を算出して適切な燃料噴射量を算出するようにした汎用エンジンの制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記した課題を解決するために、請求項１にあっては、作業機の動力源として使用可能な汎用エンジンのエンジン回転数が操作者によって設定された目標回転数となるように前記汎用エンジンの吸気管に配置されたスロットルバルブのスロットル開度を調整するスロットル開度調整手段と、前記エンジン回転数とスロットル開度に基づいて基本噴射量を算出する基本噴射量算出手段と、前記汎用エンジンの始動が完了した後に前記算出された基本噴射量を暖機補正係数で補正して暖機時の燃料噴射量を算出してインジェクタから噴射させる暖機制御を実行する暖機制御実行手段とを備えた汎用エンジンの制御装置において、前記エンジン回転数が一定であるとき、前記暖機時の燃料噴射量を増減させ、そのときに調整される前記スロットル開度に基づいて前記汎用エンジンの出力が最大となるときの燃料噴射量を探索する最大出力燃料噴射量探索手段と、前記探索された燃料噴射量を用いて前記暖機補正係数を修正する暖機補正係数修正手段とを備えると共に、前記最大出力燃料噴射量探索手段は、前記暖機時の燃料噴射量を増減させたときに調整される前記スロットル開度の最小値に基づいて前記汎用エンジンの出力が最大となるときの燃料噴射量を探索する如く構成した。
【０００８】
請求項２に係る汎用エンジンの制御装置にあっては、前記暖機補正係数は、前記汎用エンジンが所定数回転する度または所定時間が経過する度に所定値ずつ減少するように設定される如く構成した。
【０００９】
請求項３に係る汎用エンジンの制御装置にあっては、前記最大出力燃料噴射量探索手段は、規定時間ごとに前記暖機時の燃料噴射量を増減させて前記汎用エンジンの出力が最大となるときの燃料噴射量を探索する如く構成した。
【００１１】
請求項５に係る汎用エンジンの制御装置にあっては、前記暖機補正係数が１．０以上の乗算項からなり、前記汎用エンジンが前記所定数回転する度または前記所定時間が経過する度に１．０に向けて前記所定値ずつ減少するように設定されると共に、前記暖機制御実行手段は、前記暖機補正係数が１．０になるまで前記暖機制御を実行する如く構成した。
【発明の効果】
【００１２】
請求項１にあっては、エンジン回転数が目標回転数となるようにスロットル開度を調整するスロットル開度調整手段と、エンジン回転数とスロットル開度に基づいて基本噴射量を算出する基本噴射量算出手段と、汎用エンジンの始動が完了した後に基本噴射量を暖機補正係数で補正して暖機時の燃料噴射量を算出してインジェクタから噴射させる暖機制御を実行する暖機制御実行手段とを備えた汎用エンジンの制御装置において、エンジン回転数が一定であるとき、暖機時の燃料噴射量を増減させ、そのときに調整されるスロットル開度に基づいて汎用エンジンの出力が最大となるときの燃料噴射量を探索すると共に、探索された燃料噴射量を用いて暖機補正係数を修正すると共に、暖機時の燃料噴射量を増減させたときに調整されるスロットル開度の最小値に基づいて汎用エンジンの出力が最大となるときの燃料噴射量を探索するように構成、即ち、エンジン回転数が一定であるときに燃料噴射量を増減させた場合、調整されるスロットル開度が最小値のときにエンジンの出力が最大となることを利用して前記燃料噴射量を探索するように構成したので、エンジンの暖機状態（運転状態）に応じて修正（算出）された暖機補正係数から適切な燃料噴射量を算出でき、よって暖機運転時間を短縮することが可能になると共に、燃料消費量を低減させることができる。
【００１３】
また、汎用エンジンが外気温によって暖機状態（具体的には暖機の進捗状態）が変化し易い空冷式の汎用エンジンからなる場合であっても、上記の如く構成することで、暖機状態に応じた適切な燃料噴射量を算出することが可能となる。また、簡易な構成でありながらエンジンの出力が最大となるときの燃料噴射量を精度良く探索することができる。
【００１４】
請求項２に係る汎用エンジンの制御装置にあっては、暖機補正係数は、汎用エンジンが所定数回転する度または所定時間が経過する度に所定値ずつ減少するように設定されるように構成したので、上記した効果に加え、時間の経過に伴って、換言すれば、エンジンの暖機が進むにつれて暖機補正係数を徐々に（段階的に）減少させることができ、よってエンジンの暖機状態に応じた適切な燃料噴射量を算出することができる。
【００１５】
請求項３に係る汎用エンジンの制御装置にあっては、最大出力燃料噴射量探索手段は、規定時間ごとに暖機時の燃料噴射量を増減させて汎用エンジンの出力が最大となるときの燃料噴射量を探索するように構成したので、上記した効果に加え、暖機補正係数も規定時間ごとに（定期的に）修正されることとなり、よってエンジンの暖機状態に一層適した燃料噴射量を算出することができる。
【００１７】
請求項５に係る汎用エンジンの制御装置にあっては、暖機補正係数が１．０以上の乗算項からなり、汎用エンジンが所定数回転する度または所定時間が経過する度に１．０に向けて所定値ずつ減少するように設定されるように構成したので、請求項２で述べた効果に加え、エンジンの暖機が進むにつれて暖機補正係数を１．０に向けて徐々に減少させることができ、よってエンジンの暖機状態により一層適した燃料噴射量を算出することができる。
【００１８】
また、暖機制御実行手段は、暖機補正係数が１．０になるまで暖機制御を実行するように構成したので、エンジンの暖機が完了する適切な時期まで暖機制御を実行（継続）することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】この発明の実施例に係る汎用エンジンの制御装置を全体的に示す概略図である。
【図２】図１に示す電子制御ユニット（ＥＣＵ）の構成を中心に示すブロック図である。
【図３】図１に示す制御装置の燃料噴射量の暖機補正処理を示すフロー・チャートである。
【図４】図３フロー・チャートの処理で使用されるマップを示す説明図である。
【図５】図３フロー・チャートの処理で使用されるマップを示す説明図である。
【図６】図３のフィードバック補正係数算出処理を示すサブ・ルーチン・フロー・チャートである。
【図７】図６の最大出力燃料噴射量探索処理を示すサブ・ルーチン・フロー・チャートである。
【図８】図７の最大出力燃料噴射量探索の原理を説明するためのグラフである。
【図９】図７の暖機時の最大出力燃料噴射量の算出を説明するためのグラフである。
【図１０】図３および図６，７フロー・チャートの処理を説明するタイム・チャートである。
【発明を実施するための形態】
【００２０】
以下、添付図面に即してこの発明に係る汎用エンジンの制御装置を実施するための形態について説明する。
【実施例】
【００２１】
図１はこの発明の実施例に係る汎用エンジンの制御装置を全体的に示す概略図である。
【００２２】
図１において、符号１０は汎用エンジン（汎用内燃機関）を示す。エンジン１０は空冷式の４サイクル単気筒ＯＨＶ型でガソリンを燃料とし、例えば４００ｃｃ程度の排気量を有し、農業、建設などの産業用小型作業機の動力源として使用（接続）可能な汎用内燃機関からなる。
【００２３】
エンジン１０のシリンダブロック１０ａの内部に形成されたシリンダ（気筒）１２には、ピストン１４が往復動自在に収容される。シリンダブロック１０ａにはシリンダヘッド１０ｂが取り付けられ、ピストン１４の頂部との間に燃焼室１６が形成される。
【００２４】
燃焼室１６には吸気管２０が接続される。吸気管２０にはスロットルバルブ２２が配置されると共に、その下流の吸気ポートの付近にはインジェクタ２４が配置される。インジェクタ２４は燃料供給管２６を介して燃料タンク３０に接続される。
【００２５】
より具体的には、インジェクタ２４は第１の燃料供給管２６ａを介してサブ燃料タンク３２に接続されると共に、サブ燃料タンク３２は第２の燃料供給管２６ｂを介して燃料タンク３０に接続される。
【００２６】
第２の燃料供給管２６ｂには低圧ポンプ３４が介挿され、燃料タンク３０に貯留された燃料（ガソリン）を汲み上げてサブ燃料タンク３２に圧送する。サブ燃料タンク３２には燃料ポンプ（高圧ポンプ）３６が配置される。
【００２７】
燃料ポンプ３６は圧送されてフィルタ３２ａで濾過された燃料を高圧に加圧し、レギュレータ３２ｂで調圧しつつ、燃料供給管２６ａを介してインジェクタ２４に圧送する。サブ燃料タンク３２の燃料の一部は戻し管２６ｃを介して燃料タンク３０に戻される。
【００２８】
エアクリーナ（図示せず）から吸入された吸気は吸気管２０を流れ、スロットルバルブ２２で流量を調整されて吸気ポートに至り、インジェクタ２４から噴射された燃料と混合して混合気を形成する。
【００２９】
混合気は吸気バルブ４０が開かれるとき、燃焼室１６に流入し、点火プラグ４２で点火されて燃焼してピストン１４を駆動する。燃焼によって生じた排ガスは排気バルブ４４が開かれるとき、排気管４６を流れて外部に放出される。
【００３０】
シリンダブロック１０ａにはシリンダヘッド１０ｂと対向する側においてクランクケース（図示せず）が取り付けられ、その内部にはクランクシャフト５０が回転自在に収容される。クランクシャフト５０はピストン１４にコンロッド１４ａを介して連結され、ピストン１４の駆動に応じて回転する。
【００３１】
クランクケースにはクランクシャフト５０と平行してカムシャフト（図示せず）が回転自在に収容され、ギヤ機構（図示せず）を介してクランクシャフト５０に連結されて駆動される。カムシャフトは吸気側カムと排気側カムを備え、図示しないプッシュロッドとロッカーアームを介して吸気バルブ４０と排気バルブ４４を開閉する。
【００３２】
クランクシャフト５０の他端にはフライホイール５２が取り付けられる。フライホイール５２の外側位置においてクランクケースにはパルサコイル（クランク角センサ）５４が取り付けられ、フライホイール５２の表面側に取り付けられた１個のマグネット（永久磁石片。図示せず）と相対回転してその磁束と交錯することで、上死点付近の所定のクランク角度でクランクシャフト５０の１回転当たり（３６０度当たり）１個の出力を生じる。
【００３３】
また、クランクケースの内側位置にはパワーコイル（発電コイル）５６が取り付けられ、フライホイール５２の裏面側に取り付けられた８個のマグネット（永久磁石片。図示せず）との相対回転に伴ってマグネットの磁束と交錯して起電力を生じるＡＣＧ（交流発電機）として機能する。生じた起電力は整流された後、バッテリ（図示せず）に供給され、バッテリを充電する。
【００３４】
クランクシャフト５０の一端には作業機などの負荷６０が接続される。ここで負荷６０は「原動機から出るエネルギ（出力）を消費する機械設備またはその機械設備が消費する動力（仕事率）の大きさ」を意味する。
【００３５】
エンジン１０のハウジング（図示せず）上の適宜位置には操作者（ユーザ）に操作自在なアクセルレバー６２が配置される。アクセルレバー６２は、操作者の指でつままれて所定の最小エンジン回転数から最大エンジン回転数に至る範囲を回転して操作者の意図する目標回転数Ｎｄを指示可能なツマミからなる。
【００３６】
スロットルバルブ２２は電動モータ（アクチュエータ。より具体的にはステッピングモータ。スロットル開度調整手段）６４が連結される。電動モータ６４は、操作者のアクセルレバー６２の操作と独立に、スロットルバルブ２２を開閉（調整）するように構成される。即ち、スロットルバルブ２２はDrive By Wire型に構成される。
【００３７】
吸気管２０においてスロットルバルブ２２の配置位置の上流にはサーミスタなどからなる吸気温度センサ７０が配置され、その部位を流れる吸気の温度を示す出力を生じる。また、シリンダブロック１０ａにおいてシリンダヘッド１０ｂの近傍位置には同様にサーミスタなどからなるエンジン温度センサ７２が配置され、その部位の温度、即ち、エンジン１０の温度（エンジン温度。正確にはシリンダヘッド１０ｂの温度）Ｔを示す出力を生じる。
【００３８】
また、アクセルレバー６２には可変抵抗器（ポテンショメータ）７４が接続され、操作者によるアクセルレバー６２の操作によって設定された目標回転数Ｎｄを示す出力を生じると共に、エンジン１０のハウジング上の適宜位置には操作者（ユーザ）に操作自在な操作スイッチ７６が配置される。
【００３９】
操作スイッチ７６は、操作者によってオン位置に操作される（オンされる）とき運転指示を示す出力を生じる一方、オフ位置に操作される（オフされる）とき停止指示を示す出力を生じる。
【００４０】
これらセンサ７０，７２，７４とスイッチ７６と前記したパルサコイル５４ならびにパワーコイル５６の出力は、ＥＣＵ（Electronic Control Unit。電子制御ユニット）８０に送られる。ＥＣＵ８０はその出力に基づいてインジェクタ２４、点火プラグ４２および電動モータ６４などの動作を制御する。
【００４１】
図２はＥＣＵ８０の構成を中心に示すブロック図である。ＥＣＵ８０はエンジン回転数検出ブロック８０ａ、ガバナ制御ブロック８０ｂ、燃料噴射量算出ブロック８０ｃ、フィードバック補正係数算出ブロック８０ｄおよび点火時期算出ブロック８０ｅを備える。
【００４２】
エンジン回転数検出ブロック８０ａは、パルサコイル５４の出力をカウントしてエンジン回転数ＮＥを検出する。尚、エンジン回転数ＮＥはパワーコイル５６の出力から検出しても良い。
【００４３】
ガバナ制御ブロック８０ｂは、アクセルレバー６２の操作に応じた可変抵抗器７４の出力からエンジン１０の目標回転数Ｎｄを決定し、エンジン回転数検出ブロック８０ａから入力されるエンジン回転数ＮＥが目標回転数Ｎｄとなるように（一致するように）スロットル開度を調整する。
【００４４】
具体的には、検出されたエンジン回転数ＮＥが目標回転数Ｎｄより小さい場合、現在のスロットル開度指令値ＴＨより所定開度だけ増大させたスロットル開度指令値ＴＨを出力する。逆に、エンジン回転数ＮＥが目標回転数Ｎｄより大きい場合、現在出力しているスロットル開度指令値ＴＨより所定開度だけ減少させたスロットル開度指令値ＴＨを出力する。出力されたスロットル開度指令値ＴＨは電動モータ６４に送信され、電動モータ６４によってスロットル開度が調整される。即ち、この実施例に係るエンジン１０は、電動モータ６４，ＥＣＵ８０などから構成される機構からなる電子ガバナを備える。
【００４５】
このようにＥＣＵ８０は電動モータ６４の回転量を指令することから、スロットル開度センサを必要とすることなく、自らの指令値ＴＨからスロットルバルブ２２の開度（スロットル開度）を算出（検出）する。スロットル開度は全閉位置付近を０、全開位置付近を１００としたときの％で算出される。
【００４６】
燃料噴射量算出ブロック８０ｃは、エンジン回転数検出ブロック８０ａで検出されたエンジン回転数ＮＥとガバナ制御ブロック８０ｂから入力されたスロットル開度指令値ＴＨに基づいて予め設定された燃料噴射量マップ（特性）に従ってマップ燃料噴射量Ｑｍａｐを算出する。燃料噴射量マップは理想状態（例えば外気温２５℃、高度０ｍ、湿度５０％）においてエンジン１０の出力が最大となる空燃比（いわゆる出力空燃比）が達成されるような燃料噴射量を予め実験で求め、設定されたものである。尚、出力空燃比は理論空燃比よりもリッチ側の値とされる。
【００４７】
さらに、燃料噴射量算出ブロック８０ｃは、エンジン温度センサ７２の出力からエンジン温度Ｔを検出し、検出されたエンジン温度Ｔに基づいて予め設定された暖機補正係数マップ（特性）に従って暖機補正係数を算出する。暖機補正係数マップは、燃料噴射量マップと同様、理想状態での暖機運転においてエンジン１０の出力が最大となる空燃比（出力空燃比）が達成されるような暖機補正係数を予め実験により求め、設定されたものである。
【００４８】
燃料噴射量算出ブロック８０ｃは、前記したマップ燃料噴射量Ｑｍａｐをフィードバック補正係数算出ブロック８０ｄに送る。フィードバック補正係数算出ブロック８０ｄは、後述するようにマップ燃料噴射量Ｑｍａｐなどに基づいてフィードバック補正係数Ｋを算出し、それを燃料噴射量算出ブロック８０ｃに送信する。
【００４９】
燃料噴射量算出ブロック８０ｃは、エンジン１０の始動後の暖機運転時においてフィードバック補正係数Ｋが入力されるまでの間、燃料噴射量マップと暖機補正係数マップに従って暖機時の燃料噴射量を算出する。
【００５０】
具体的には、エンジン回転数ＮＥとスロットル開度指令値ＴＨに基づいて燃料噴射量マップを検索して基本噴射量を算出、即ち、スロットルスピード方式といわれる手法で算出すると共に、エンジン温度Ｔに基づいて暖機補正係数マップを検索して暖機補正係数を算出する。そして、基本噴射量に暖機補正係数を乗算することで暖機時の燃料噴射量を算出し、それを最終燃料噴射量指令値Ｑｆとしてインジェクタ２４に送信する。インジェクタ２４は、送信された指令値Ｑｆに応じた開弁時間だけ開弁して燃料を噴射する。
【００５１】
一方、フィードバック補正係数Ｋが入力されると、燃料噴射量算出ブロック８０ｃは、フィードバック補正係数Ｋを暖機補正係数マップの各係数に乗算してマップを修正（再構築）する。そして、修正されたマップに従って暖機補正係数を算出し、それを基本噴射量に乗算して暖機時の燃料噴射量を算出する。この暖機時の燃料噴射量の算出については後に詳説する。
【００５２】
点火時期算出ブロック８０ｅは、パルサコイル５４の出力などから点火時期を算出し、点火コイルなどの点火装置８２を介して点火プラグ４２の点火動作を制御する。尚、燃料噴射時期と点火時期はパルサコイル５４の出力に合わせて実行される。
【００５３】
図３は、ＥＣＵ８０によって実行される処理のうち、操作スイッチ７６がオンされてからエンジン１０の暖機運転が終了するまでの燃料噴射量の暖機補正処理を示すフロー・チャートである。
【００５４】
以下説明すると、先ずＳ１０において、エンジン温度Ｔに基づいて算出される始動噴射量をインジェクタ２４から噴射させる始動時制御を実行し、燃料噴射量を増量する。具体的には、始動開始時のエンジン温度Ｔから図４に示す始動噴射量マップを検索して始動噴射量を算出し、算出された始動噴射量をインジェクタ２４から噴射させる。始動噴射量は、エンジン１０の始動動作に必要な燃料噴射量とされると共に、図示の如く、エンジン温度Ｔが上昇するにつれて段階的に減少するように設定される。
【００５５】
次いでＳ１２に進み、エンジン１０の始動が完了したか否か判断、具体的には、エンジン回転数ＮＥが完爆回転数（例えば１０００ｒｐｍ）に達したか否か判断し、否定されるときはＳ１０の処理に戻る一方、肯定されるときはＳ１４に進んで燃料噴射量を増量する始動後補正制御を実行する。
【００５６】
始動後補正制御では、エンジン回転数ＮＥとスロットル開度（正確にはスロットル開度指令値ＴＨ）に基づいて算出された基本噴射量に、エンジン温度Ｔに基づいて算出される始動後補正係数を乗算して得た燃料噴射量をインジェクタ２４から噴射させる。始動後補正係数は、１．０以上の乗算項からなり、エンジン温度Ｔが上昇するにつれて徐々に減少するように設定される。
【００５７】
次いでＳ１６に進み、始動後補正制御が終了したか否か判断する。具体的には、暖機補正係数が始動後補正係数より大きいか否か判断し、否定されるときはＳ１４の処理を繰り返す一方、肯定されるときはＳ１８に進み、基本噴射量を暖機補正係数で補正して暖機時の燃料噴射量を算出してインジェクタ２４から噴射させる暖機制御を実行し、燃料噴射量を増量する。
【００５８】
暖機制御において暖機時の燃料噴射量は以下の式に従って算出する。
暖機時の燃料噴射量＝基本噴射量×暖機補正係数            ・・・式（１）
【００５９】
上記で暖機補正係数は、エンジン温度Ｔから図５に示す暖機補正係数マップ（修正される前の暖機補正係数マップ）を検索して算出する。図示の如く、暖機補正係数は、１．０以上の乗算項からなり、エンジン温度Ｔが上昇するにつれて徐々に減少するように設定される。
【００６０】
また、暖機補正係数は、エンジン１０が所定数（例えば１回）回転する度に１．０に向けて暖機補正係数減算量（所定値）ずつ減少するように設定される。この暖機補正係数減算量は、エンジン温度Ｔから図５に示す暖機補正係数減算量マップを検索して算出する。暖機補正係数減算量は、エンジン温度Ｔの上昇に比例して徐々に増加し、エンジン温度Ｔが暖機が終了したと推定できる値（例えば１００℃）のときは０とされる。
【００６１】
即ち、式（１）の暖機補正係数は、エンジン１０が所定数回転する度に下記式（２）の計算を行って算出する。
暖機補正係数＝（前回の）暖機補正係数−暖機補正係数減算量    ・・・式（２）
【００６２】
このように、暖機補正係数が減少することから、式（１）の暖機時の燃料噴射量は時間の経過に伴って徐々に減少（減量）することとなる。尚、暖機補正係数は、エンジン１０の回転に代え、所定時間が経過する度に暖機補正係数減算量ずつ減少するように設定しても良い。
【００６３】
次いでＳ２０に進み、暖機制御を開始してから規定時間（例えば１５ｓｅｃ）が経過したか否か判断する。Ｓ２０で否定されるときは処理を繰り返すと共に、肯定されるときはＳ２２に進み、現在の暖機補正係数が１．０より大きいか否か判定する。
【００６４】
Ｓ２２で肯定されるときはＳ２４に進み、フィードバック補正係数Ｋの算出処理を実行する。
【００６５】
図６はフィードバック補正係数Ｋの算出処理を示すサブ・ルーチン・フロー・チャートである。
【００６６】
先ずＳ１００において、所定範囲内の目標回転数Ｎｄが入力されているか否か判断する。具体的には、アクセルレバー６２が例えば１０００ｒｐｍから３０００ｒｐｍの範囲内に設定されているか否か判断する。
【００６７】
Ｓ１００で肯定されるときはＳ１０２に進み、検出されたエンジン回転数ＮＥが一定であるか否か判断、正確には既定時間継続して目標回転数Ｎｄ近傍の値を示したか否か判断する。ここでは、例えばエンジン回転数ＮＥが目標回転数Ｎｄに対して±２００ｒｐｍの範囲で５秒間継続するとき、エンジン回転数ＮＥが一定であると判断する。
【００６８】
Ｓ１０２で肯定される場合、Ｓ１０４に進んでスロットル開度（正確にはスロットル開度指令値ＴＨ）が所定スロットル開度以下で、かつスロットル開度の変化量（正確にはスロットル開度指令値ＴＨの変化量）が既定時間継続して所定変化量以下であるか否か判断する。Ｓ１０４では、例えばスロットル開度が３０％以下の開度であるか否か判断すると共に、５秒間継続してスロットル開度の変化量が±１％であるか否か判断する。
【００６９】
Ｓ１００からＳ１０４のうちいずれかで否定されるときは以降の処理をスキップする一方、Ｓ１０４で肯定、即ち、エンジン回転数ＮＥが一定でエンジン１０に接続される負荷が一定であるときはＳ１０６に進み、マップ燃料噴射量Ｑｍａｐを算出する。具体的には、エンジン回転数ＮＥが一定である状態において検出されるエンジン回転数ＮＥとスロットル開度指令値ＴＨに基づいて燃料噴射量マップに従ってマップ燃料噴射量Ｑｍａｐを算出する。
【００７０】
次いでＳ１０８に進み、エンジン１０の出力が最大となるときの燃料噴射量を探索（検知）する処理を実行する。即ち、エンジン１０は、前述したように小型作業機の動力源として使用されることから、出力が最大となる出力空燃比が達成されるような燃料噴射量で駆動されることが望ましいが、この出力空燃比はエンジン１０の暖機状態（正確には暖機の進捗状態）に応じて変化する。そこで、エンジン１０の暖機状態に応じた暖機時の燃料噴射量に修正するべく、先ずＳ１０８においてエンジン１０の出力が最大となるときの燃料噴射量を探索する。
【００７１】
図７は、その最大出力燃料噴射量探索処理を示すサブ・ルーチン・フロー・チャートである。
【００７２】
図７フロー・チャートの説明に入る前に最大出力燃料噴射量探索の原理について説明する。
【００７３】
図８はその原理を説明するためのグラフである。横軸は空燃比Ａ／Ｆであり、グラフ中の破線は空燃比Ａ／Ｆに対するエンジン１０の出力特性を示す。一般的にエンジン出力は理論空燃比（Ａ／Ｆ＝１４．７（質量比））よりもリッチ側の空燃比で最大となる特性を有する。即ち、エンジン出力が最大となる空燃比（出力空燃比）よりもリーン側またはリッチ側に移行するに従って出力は低下する。
【００７４】
一方、エンジン回転数ＮＥが一定でエンジン１０に接続される負荷が一定である状態においては、スロットル開度指令値ＴＨも電子ガバナ制御によって略一定値を保持する。
【００７５】
そのような状態において、暖機時の燃料噴射量を意図的に増加あるいは減少させる、即ち空燃比を変化させるとエンジン出力が変化することからエンジン回転数ＮＥも変化する。従って、エンジン回転数ＮＥを目標回転数Ｎｄに保つため、スロットル開度指令値ＴＨは電子ガバナ制御によって変化することとなる。即ち、図中で示すように暖機時の燃料噴射量を増減させると、スロットル開度指令値ＴＨは出力空燃比において最小値を示し、それよりもリーン側またはリッチ側に移行するに従って増加することとなる。
【００７６】
従って、エンジン回転数ＮＥと負荷が一定である状態において、暖機時の燃料噴射量を意図的に増減させ、スロットル開度指令値ＴＨの最小値を求めることにより、出力空燃比が達成されるような燃料噴射量を探索することができる。
【００７７】
図７フロー・チャートの説明に戻ると、先ずＳ２００において暖機時の燃料噴射量を増加させつつ、スロットル開度指令値ＴＨを読み込む。具体的には、燃料噴射量を１秒毎に５％ずつ増加させる。それによって調整されたスロットル開度指令値ＴＨを１００ｍｓｅｃ毎に読み込み、１秒間におけるスロットル開度指令値ＴＨの平均値を算出する。増加させて噴射した燃料噴射量とスロットル開度指令値ＴＨの平均値を逐次メモリに記憶する。
【００７８】
次いでＳ２０２に進み、スロットル開度指令値ＴＨが規定開度以上増加したか否か判断する。具体的には、燃料噴射量を増加させた後のスロットル開度指令値ＴＨ（平均値）が燃料噴射量を増加させる前に算出されたスロットル開度指令値ＴＨ（平均値）に対して１０％以上増加したか否か判断する。図８で言えば、点ａ付近に達したか否か判断する。
【００７９】
Ｓ２０２で否定されるときはＳ２００に戻る一方、肯定されるときはＳ２０４に進み、今度は逆に暖機時の燃料噴射量を減少させつつ、スロットル開度指令値ＴＨを読み込む。具体的には、燃料噴射量を１秒毎に５％ずつ減少させる。それによって調整されたスロットル開度指令値ＴＨを１００ｍｓｅｃ毎に読み込み、１秒間におけるスロットル開度指令値ＴＨの平均値を算出する。減少させて噴射した燃料噴射量とスロットル開度指令値ＴＨの平均値を逐次メモリに記憶する。
【００８０】
次いでＳ２０６に進み、スロットル開度指令値ＴＨが規定開度以上増加したか否か判断する。具体的には、燃料噴射量を減少させた後のスロットル開度指令値ＴＨ（平均値）が燃料噴射量を減少させる前に算出されたスロットル開度指令値ＴＨ（平均値）に対して５％以上増加したか否か判断、具体的には図８で点ｂ付近に達したか否か判断する。
【００８１】
Ｓ２０６で否定されるときはＳ２０４に戻る一方、肯定される場合はＳ２０８に進んで暖機時の最大出力燃料噴射量（出力空燃比相当燃料噴射量）Ｑｄｍｉｎを算出する。具体的には、図９に示す如く、増加あるいは減少させて噴射した燃料噴射量とそのときに算出されたスロットル開度指令値ＴＨ（平均値）をプロットする。次いでスロットル開度指令値ＴＨの変化特性を２次曲線として最小２乗法によって近似する。次いで、近似された２次曲線におけるスロットル開度指令値ＴＨの最小値を求め、スロットル開度指令値ＴＨの最小値に対応する燃料噴射量を求める。このスロットル開度指令値ＴＨの最小値に対応する燃料噴射量が出力空燃比を達成する燃料噴射量、即ち暖機時の最大出力燃料噴射量Ｑｄｍｉｎである。
【００８２】
次いでＳ２１０に進み、暖機時の最大出力燃料噴射量Ｑｄｍｉｎを現在の暖機補正係数で除算して、暖機補正前の最大出力燃料噴射量Ｑｍｉｎを算出する。
【００８３】
図６フロー・チャートに戻ると、次いでＳ１１０に進んでフィードバック補正係数Ｋを算出する。フィードバック補正係数Ｋは、図示の式に従い、Ｓ１０６のマップ燃料噴射量ＱｍａｐとＳ２１０の最大出力燃料噴射量Ｑｍｉｎの比に基づいて算出する。
【００８４】
即ち、フィードバック補正係数Ｋは、理想状態（即ち燃料噴射量マップを設定する際の状態）において出力空燃比を達成する燃料噴射量と、エンジン１０の暖機状態に応じた実際に出力空燃比を達成する燃料噴射量とのずれの度合いを示す係数である。
【００８５】
図３フロー・チャートにおいては、次いでＳ２６に進んで暖機補正係数マップを修正（再構築）する。具体的には、理想状態の下で設定された暖機補正係数マップに対してフィードバック補正係数Ｋを乗じることで、現在のエンジン１０の暖機状態に即するようにマップを修正する。
【００８６】
次いでＳ２８に進み、修正された暖機補正係数マップを用いて暖機制御を行う。詳しくはＳ２８では、Ｓ１８と同様、先ずエンジン回転数ＮＥとスロットル開度（正確にはスロットル開度指令値ＴＨ）に基づき、燃料噴射量マップを検索して基本噴射量を算出すると共に、エンジン温度Ｔに基づき、修正された暖機補正係数マップを検索して暖機補正係数を算出する。そして、算出された基本噴射量に暖機補正係数を乗じて暖機時の燃料噴射量を新たに算出する。
【００８７】
このように、Ｓ２００からＳ２０８で探索された暖機時の最大出力燃料噴射量Ｑｄｍｉｎを用いて（正確には暖機時の最大出力燃料噴射量Ｑｄｍｉｎから算出される最大出力燃料噴射量Ｑｍｉｎ（Ｓ２１０）を用いて）暖機補正係数マップを修正し、修正された暖機補正係数マップから新たな暖機補正係数を求める、換言すれば、Ｓ１８で算出された暖機補正係数をＳ２８において修正する。
【００８８】
その後Ｓ２０の処理に戻り、規定時間が経過するごとに前述したＳ２２からＳ２８の処理を繰り返す。即ち、規定時間ごとに暖機時の燃料噴射量を増減させて最大出力燃料噴射量Ｑｄｍｉｎを探索し、それに基づいて暖機補正係数を修正することで、エンジンの暖機状態の変化に対応する。
【００８９】
暖機補正係数が式（２）によって減少してＳ２２で否定、即ち、暖機補正係数が１．０以下になったときはＳ３０に進んで暖機制御を終了し、プログラムを終了する。別言すれば、暖機補正係数が１．０になるまで暖機制御を実行する。尚、暖機終了後は通常の燃料噴射制御が行われるが、それは本願の要旨と直接の関係を有しないので説明を省略する。
【００９０】
図１０は上記した処理を説明するタイム・チャートである。
【００９１】
以下説明すると、先ず時刻ｔ０において操作スイッチ７６がオンされると、始動噴射量をインジェクタ２４から噴射させる始動時制御を実行する（Ｓ１０）。次いで時刻ｔ１においてエンジン１０の始動が完了すると（Ｓ１２）、基本噴射量に始動後補正係数を乗算して得た燃料噴射量をインジェクタ２４から噴射させる始動後補正制御を実行する（Ｓ１４）。
【００９２】
時刻ｔ２で始動後補正制御が終了すると（Ｓ１６）、基本噴射量を暖機補正係数で補正して算出した暖機時の燃料噴射量をインジェクタ２４から噴射させる暖機制御を開始する（Ｓ１８）。暖機補正係数はエンジン１０が所定数回転する度に暖機補正係数減算量ずつ減少するように設定されるため、暖機時の燃料噴射量も徐々に減少する。
【００９３】
次いで暖機制御を開始して規定時間が経過すると（Ｓ２０）、暖機時の燃料噴射量を増減させ、そのときに調整されるスロットル開度に基づいてエンジン１０の出力が最大となる最大出力燃料噴射量Ｑｄｍｉｎを探索し、それを用いて暖機補正係数マップを修正して暖機補正係数を修正し、修正された暖機補正係数と基本噴射量から、新しい暖機時の燃料噴射量を算出してインジェクタ２４から噴射させる（Ｓ２４〜Ｓ２８。時刻ｔ３）。
【００９４】
時刻ｔ３から規定時間が経過すると（Ｓ２０）、暖機時の燃料噴射量を増減させて暖機補正係数の修正を再度行う（時刻ｔ４）。具体的には、例えば図８に想像線で示す如く、エンジン１０の暖機状態の変化によって出力空燃比が図で左側（即ち、リーン側）にシフトすることがあるが、そのような場合には、暖機時の燃料噴射量を増減させて最大出力燃料噴射量Ｑｄｍｉｎを探索し、暖機補正係数を再修正するようにする。
【００９５】
そして、時刻ｔ５において暖機補正係数が１．０になるときに暖機制御を終了する、逆に言えば、暖機補正係数が１．０になるまで暖機制御を実行する（Ｓ２２，Ｓ３０）。
【００９６】
図１０から分かるように、時刻ｔ２で最初に算出された暖機時の燃料噴射量のまま暖機運転を継続すると、破線で示す如く、暖機制御が終了するのは時刻ｔ６となるが、エンジン１０の暖機状態に応じてマップを修正して暖機補正係数を修正することで（図１０の例では時刻ｔ３とｔ４の２回修正することで）、暖機制御は時刻ｔ５で終了することとなり、暖機運転時間が短縮される。
【００９７】
以上の如く、この発明の実施例にあっては、作業機（負荷６０）の動力源として使用可能な汎用エンジンのエンジン回転数ＮＥが操作者によって設定された目標回転数Ｎｄとなるように前記汎用エンジン（エンジン）１０の吸気管２０に配置されたスロットルバルブ２２のスロットル開度（スロットル開度指令値）ＴＨを調整するスロットル開度調整手段と（電動モータ６４，ＥＣＵ８０）、前記エンジン回転数ＮＥとスロットル開度ＴＨに基づいて基本噴射量を算出する基本噴射量算出手段と（ＥＣＵ８０。Ｓ１８，Ｓ２８）、前記汎用エンジン１０の始動が完了した後に前記算出された基本噴射量を暖機補正係数で補正して暖機時の燃料噴射量を算出してインジェクタ２４から噴射させる暖機制御を実行する暖機制御実行手段と（ＥＣＵ８０。Ｓ１８，Ｓ２８）を備えた汎用エンジンの制御装置において、前記エンジン回転数ＮＥが一定であるとき、前記暖機時の燃料噴射量を増減させ、そのときに調整される前記スロットル開度ＴＨに基づいて前記汎用エンジン１０の出力が最大となるときの燃料噴射量（最大出力燃料噴射量）Ｑｄｍｉｎを探索する最大出力燃料噴射量探索手段と（ＥＣＵ８０。Ｓ２４，Ｓ１０２，Ｓ１０８，Ｓ２００〜Ｓ２１０）、前記探索された燃料噴射量Ｑｄｍｉｎを用いて前記暖機補正係数を修正する暖機補正係数修正手段と（ＥＣＵ８０。Ｓ２６，Ｓ２８）を備えると共に、前記最大出力燃料噴射量探索手段は、前記暖機時の燃料噴射量を増減させたときに調整される前記スロットル開度ＴＨの最小値に基づいて前記汎用エンジン１０の出力が最大となるときの燃料噴射量Ｑｄｍｉｎを探索する如く構成（Ｓ２４，Ｓ１０８，Ｓ２０８）、即ち、エンジン回転数ＮＥが一定であるときに燃料噴射量を増減させた場合、調整されるスロットル開度ＴＨが最小値のときにエンジン１０の出力が最大となることを利用して前記燃料噴射量Ｑｄｍｉｎを探索するように構成した。
【００９８】
これにより、エンジン１０の暖機状態（運転状態）に応じて修正（算出）された暖機補正係数から適切な燃料噴射量を算出でき、よって暖機運転時間を短縮することが可能になると共に、燃料消費量を低減させることができる。また、簡易な構成でありながらエンジン１０の出力が最大となるときの燃料噴射量を精度良く探索することができる。
【００９９】
また、汎用エンジン１０が外気温によって暖機状態（具体的には暖機の進捗状態）が変化し易い空冷式の汎用エンジンからなる場合であっても、上記の如く構成することで、暖機状態に応じた適切な燃料噴射量を算出することが可能となる。
【０１００】
また、前記暖機補正係数は、前記汎用エンジン１０が所定数回転する度または所定時間が経過する度に所定値（暖機補正係数減算量）ずつ減少するように設定される如く構成したので、時間の経過に伴って、換言すれば、エンジン１０の暖機が進むにつれて暖機補正係数を徐々に（段階的に）減少させることができ、よってエンジン１０の暖機状態に応じた適切な燃料噴射量を算出することができる。
【０１０１】
また、前記最大出力燃料噴射量探索手段は、規定時間ごとに前記暖機時の燃料噴射量を増減させて前記汎用エンジン１０の出力が最大となるときの燃料噴射量Ｑｄｍｉｎを探索する如く構成したので（Ｓ２０〜Ｓ２８）、暖機補正係数も規定時間ごとに（定期的に）修正されることとなり、よってエンジン１０の暖機状態に一層適した燃料噴射量を算出することができる。
【０１０３】
また、前記暖機補正係数が１．０以上の乗算項からなり、前記汎用エンジン１０が前記所定数回転する度または前記所定時間が経過する度に１．０に向けて前記所定値（暖機補正係数減算量）ずつ減少するように設定されると共に、前記暖機制御実行手段は、前記暖機補正係数が１．０になるまで前記暖機制御を実行する如く構成したので（Ｓ２２，Ｓ３０）、エンジン１０の暖機が進むにつれて暖機補正係数を１．０に向けて徐々に減少させることができ、よってエンジン１０の暖機状態により一層適した燃料噴射量を算出することができる。また、暖機補正係数が１．０になるまで暖機制御を実行するように構成したので、エンジン１０の暖機が完了する適切な時期まで暖機制御を実行（継続）することが可能となる。
【０１０４】
尚、上記において、暖機補正係数および始動後補正係数を乗算項としたが、加算項であっても良い。また、暖機補正係数、暖機補正係数減算量や始動噴射量などを具体的な値で示したが、それらは例示であって限定されるものではない。
【符号の説明】
【０１０５】
１０  汎用エンジン、２０  吸気管、２２  スロットルバルブ、２４  インジェクタ、６０  負荷（作業機）、６４  電動モータ（スロットル開度調整手段）、８０  ＥＣＵ（電子制御ユニット）
【図１】
0005528958.tif 000002
【図２】
0005528958.tif 000003
【図３】
0005528958.tif 000004
【図４】
0005528958.tif 000005
【図５】
0005528958.tif 000006
【図６】
0005528958.tif 000007
【図７】
0005528958.tif 000008
【図８】
0005528958.tif 000009
【図９】
0005528958.tif 000010
【図１０】
0005528958.tif 000011