(57)【特許請求の範囲】
【請求項１】
燃料用ガスを圧縮してガスタンクに充填する圧縮機と、この圧縮機を駆動するガスエンジンとを備えたガス充填機におけるガスエンジンの希薄燃焼制御方法において、
前記圧縮機からガスタンクに送られるガス圧力を検出し、これに基づいて前記ガスエンジンまたは前記圧縮機の回転数を制御するとともに、
予め設定したエンジン回転数とスロットル開度に基づくマップを用い、
前記マップは、ベースマップと、このベースマップよりリーン側に燃料供給量を設定した第２マップとを有し、
前記ベースマップにより制御された燃料供給中に、失火を判定しながら燃料を徐々にリーン化し、
失火または第２マップに達した時点でリーン化を停止してその燃料供給量を学習して前記ベースマップを書き換え、この書き換えたベースマップにしたがって燃料供給量を制御することを特徴とするガス充填装置におけるガスエンジンの希薄燃焼制御方法。
【請求項２】
前記第２マップは、エンジン回転数とスロットル開度に応じたマップ形成領域ごとに異なる運転特性を優先させて、その運転特性が得られる最もリーン側の燃料供給量となるように設定されたことを特徴とする請求項１に記載のガス充填装置におけるガスエンジンの希薄燃焼制御方法。
【請求項３】
前記ベースマップの書き換え時に、制御している領域とともに他の領域についても同じオフセット量を前記第２マップよりリッチ側の範囲で書き換えることを特徴とする請求項１または２に記載のガス充填装置におけるガスエンジンの希薄燃焼制御方法。
【請求項４】
前記失火判定時に、１ステップずつリーン化し、失火を検出したらベースマップよりリーン側の範囲で所定ステップだけリッチ側に戻すことを特徴とする請求項１、２または３に記載のガス充填装置におけるガスエンジンの希薄燃焼制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はガス燃料を使用する車両や各種装置等のガスタンクに燃料用ガスを充填するガス充填装置に関し、特にそのガスエンジンの失火を判定しながら燃料のリーン化を図った希薄燃焼制御方法に関するものである。
【０００２】
【従来の技術】
ガス充填装置として、燃料用ガスを圧縮する圧縮機と、この圧縮機を駆動するガスエンジンからなるガス充填装置が開発されている。このガス充填装置においては、圧縮機のガス吸込口を燃料用ガスの供給源に接続し、ガス吐出口を充填用ホースによって車両や各種装置等のガスタンクに接続し、ガスエンジンで圧縮機を駆動して前記燃料用ガスを所定の高圧にして車両等のガスタンクに圧送し充填する。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のガス充填装置では、充填終期に充填圧力が増大して圧縮機から車両のガスタンクに充填されるガスの量（充填流量）が低下し、充填時間が長くかかるというガス充填装置特有の問題があった。
【０００４】
一方、このようなガス充填装置のガスエンジンにおいて、ＮＯｘの低減や燃費の改善のために希薄燃焼方式でエンジン駆動することが考えられる。この場合、例えば、エンジン回転数とスロットル開度に応じて設定した失火限界のベースマップを用いて希薄燃焼制御を行った場合、失火が起きた場合に、これを検出して対処しなければ次回その運転領域で再び失火が起こり、結果的に未燃ガスが排出され燃費も悪化する。
【０００５】
一般の車両や空調システムの分野において使用されるガスエンジンの希薄燃焼制御方法が特開平１０−１３１７９５号公報に開示されている。この公報記載の公知技術は、ガス流量制御弁の開度データのマップを備え、学習ステップによりマップを失火しない範囲でリーン側に書き換えることにより、失火限界に近い希薄燃焼状態の維持を図るものである。このような希薄燃焼により、燃費の向上とともにＮＯｘの排気ガス対策が図られる。
【０００６】
一方、エンジンを運転する場合、エンジン回転数およびスロットル弁開度に応じた運転領域により、燃費や排気ガス対策とともに、エンジン出力や、燃焼効率あるいは運転性等の各種運転特性について、各領域ごとにその領域に合った最良の運転特性が要求される。
【０００７】
しかしながら、上記公報記載の燃料制御方法においては、運転領域の全域について失火限界に近い値までマップデータを書き換えるため、学習後の最終的なマップデータは、運転領域にかかわらず全域でほぼ、失火限界の燃料制御弁開度となる。このため、特に出力を確保したい高負荷運転領域や燃焼効率を高めたい領域等、希薄燃焼に優先して領域ごとにその領域に合った最良の運転状態を得たい場合に、燃料は常に最大限の失火限界に近づけて、希薄化されてしまうため所望の運転特性が得られず、運転領域に応じて要求される最適な運転特性の燃焼状態を得ることができない。
【０００８】
本発明は上記従来技術を考慮したものであって、ガス充填装置特有の課題であるガス充填効率を高めて充填時間の短縮を図るとともに、必要な希薄燃焼を行って十分なＮＯｘの低減や燃費の向上を図った上で、さらに運転領域に応じて領域ごとに最適な運転特性を達成することができるガス充填装置における希薄燃焼制御方法の提供を目的とする。
【０００９】
【課題を解決するための手段】
前記目的を達成するため、本発明では、燃料用ガスを圧縮してガスタンクに充填する圧縮機と、この圧縮機を駆動するガスエンジンとを備えたガス充填機におけるガスエンジンの希薄燃焼制御方法において、前記圧縮機からガスタンクに送られるガス圧力を検出し、これに基づいて前記ガスエンジンまたは前記圧縮機の回転数を制御するとともに、予め設定したエンジン回転数とスロットル開度に基づくマップを用い、前記マップは、ベースマップと、このベースマップよりリーン側に燃料供給量を設定した第２マップとを有し、前記ベースマップにより制御された燃料供給中に、失火を判定しながら燃料を徐々にリーン化し、失火または第２マップに達した時点でリーン化を停止してその燃料供給量を学習して前記ベースマップを書き換え、この書き換えたベースマップにしたがって燃料供給量を制御することを特徴とするガス充填装置におけるガスエンジンの希薄燃焼制御方法を提供する。
【００１０】
この構成によれば、圧縮機吐出側のガスタンクの圧力に応じて、ガスエンジンまたは圧縮機の回転数が制御されるため、圧力に応じた最適効率でガスエンジンの出力制御を行うことができる。この場合の回転数制御としては、例えば、ガスタンクのガス圧力が高くなるにしたがって圧縮機の回転数を徐々に低下させたり、あるいは充填初期時の圧力が低いときにエンジン回転数を上げて急速充填を図るように制御してもよい。
【００１１】
また、希薄燃焼制御のベースマップとして、例えば予め分っている失火が起きない燃料供給量データを設定するとともに、このベースマップよりリーン側に設定した第２マップを備え、ベースマップによる燃料供給量から失火するまで燃料を徐々にリーン化し、失火した時点の燃料供給量または失火する前に第２マップに達した場合にはその第２マップの燃料供給量でベースマップが書き換えられる。これにより失火限界と第２マップの組合せによるマップが学習により形成され、失火限界のマップに対し予め設定した所望特性が得られる第２マップを加味して燃料制御マップを形成することができる。この場合、ベースマップの他に書き換え用のマップを備えて、この書き換えマップを順次書き換えることによりオリジナルのベースマップを残したまま実質上ベースマップの書き換えによる学習を行うことができる。
【００１２】
好ましい構成例においては、前記第２マップは、エンジン回転数とスロットル開度に応じたマップ形成領域ごとに異なる運転特性を優先させて、その運転特性が得られる最もリーン側の燃料供給量となるように設定されたことを特徴としている。
【００１３】
この構成によれば、第２マップに、エンジン回転数とスロットル開度に応じた運転領域ごとにその領域で要求される運転特性に合った燃料供給量データが設定されるため、失火限界の範囲内で運転領域に応じた最適な運転特性で燃料制御が行われる。
【００１４】
さらに好ましい構成例では、前記ベースマップの書き換え時に、制御している領域とともに他の領域についても同じオフセット量を前記第２マップよりリッチ側の範囲で書き換えることを特徴としている。
【００１５】
この構成によれば、ある領域で燃料制御を学習中に他の領域についても一律に同じリーン側へのオフセット量だけベースマップが書き換えられるため、学習作業が効率的に行われる。
【００１６】
さらに好ましい構成例では、前記失火判定時に、１ステップずつリーン化し、失火を検出したらベースマップよりリーン側の範囲で所定ステップだけリッチ側に戻すことを特徴としている。
【００１７】
この構成によれば、予め分っている失火が起きないことが保証された最もリーンなベースマップの設定量を維持したまま、さらに失火限界に近づけて燃料のリーン化が図られる。
【００１８】
【発明の実施の形態】
以下本発明の実施の形態について、図面を参照して説明する。
図１は、本発明の実施の形態に係るガス充填装置の構成図である。また、図２は、充填圧力と主換気ファンの回転数との関係を示すグラフである。
【００１９】
この実施形態のガス充填装置１は、図１中に符号２で示すガス吸入口から供給された例えば天然ガス（以下、単にガスという）を圧縮して図示していない車両や各種装置のガスタンクに充填するためのものであって、１つのケーシング３に後述するエンジン４、圧縮機５、ガス冷却器６などを収容している。
【００２０】
この実施の形態によるガス充填装置１のガス冷却器６は水冷式のものを採用している。ガス冷却器６の熱交換部６ａは、エンジン冷却水系におけるラジエータ下流側に介装し、ラジエータ３４によって冷却されたエンジン冷却水でガスを冷却する構造を採っている。なお、この実施の形態では、ラジエータ３４をケーシング３の排気口８に配置している。また、冷却水ポンプ３５はエンジン４が駆動する構造のものを使用している。
【００２１】
このように構成したガス充填装置１によれば、水冷式エンジン４のエンジン冷却水を利用してガスを冷却することができるから、空冷式のガス冷却器を使用する場合に比べてガス冷却器６をケーシング３内に配置する位置の自由度を増大させることができる。このためケーシング３内に形成されるデッドスペースにガス冷却器６を配置することができる。
【００２２】
クランク軸１３には冷却水ポンプ３５駆動用のプーリと、端部に一方向クラッチ１１０を介してファン駆動軸１１１が連結され、ファン駆動軸１１１にはエンジン回転数に対してファン回転数を可変とする変速装置１１２と、発電機と電動モータを兼ねる回転機１１３とベルト連結されるプーリ１１４が配設されている。エンジン４の運転中には、エンジン動力の一部が一方向クラッチ１１０を経て変速装置１１２とプーリ１１４に伝えられ、回転機１１３は発電機として機能するとともに、変速装置１１２が要求冷却性能に合わせた変速比で主換気ファン１０を駆動する。
【００２３】
エンジン４停止中における換気動作時、例えばガス洩れ検知器７８がガスを検知したとき、回転機１１３が不図示のバッテリからの電力供給を受けて電動モータとして機能して変速装置１１２を介して主換気ファン１０を駆動する。このとき、一方向クラッチ１１０により負荷の大きいクランク軸１３側には電動モータの回転力は伝わらない。
【００２４】
この水冷式ガス冷却器６の冷却性能を増大させるためには、主換気ファン１０の回転数がエンジン回転数より高くなるように変速装置１１２を制御してラジエータ３４の放熱量を増大させることによって行う。このようにガス冷却器６の冷却性能を向上させることによって、ガスの充填終期にガスの温度上昇が緩和され、圧縮機５から吐出させるガスの密度を高く保つことができる。
【００２５】
これを示したのが図２である。圧縮機５は、第１の圧力センサ４８で検知される略一定のガス供給源の圧力を、第２の圧力センサ５５で検知される吐出圧力まで昇圧する。すなわち、充填が進行するにしたがい総圧縮比が増加して発熱量が増加するが、吐出圧力、すなわち充填圧力が増加するにしたがい主換気ファン回転数を増加させており、充填効率が低下するのを防止している。
【００２６】
図１において、エンジン冷却水系に介装した符号９１で示すものはサーモスタット弁である。また、ガス冷却器６の冷却水出口の近傍に接続した符号９２で示すものは冷却水用リザーブタンクである。
また、この実施の形態によるガス充填装置１の除湿装置４６は、加熱装置６１の熱源をエンジン４の廃熱を吸収したエンジン冷却水としている。詳述すると、エンジン冷却水系であってエンジン出口とラジエータ入口との間に、除湿装置４６の空気加熱用パイプ６３を相対的に高温のエンジン冷却水で加熱する構造の熱交換器９３を介装している。
【００２７】
この実施の形態では、ブローダウンタンク５７に圧縮機５の圧縮部＃２〜＃４と、圧縮機出口菅４２をそれぞれ安全弁９４を介して連通させている。また、充填カプラソケット５１の上流側に緊急分離カプラ９５を介装している。
圧縮機５は、負荷が最も大きくなる圧縮部＃４の機構部分にオイルを圧送する構造を採っている。オイルポンプを符号９６で示し、オイルフィルターを符号９７で示し、オイル用圧力調整弁を符号９８で示す。
【００２８】
符号１２０および１２１で示すものは、ブローダウン弁９６が開くとき同時に開となり、オイルフィルター５４で捕捉したオイルをブローダウンタンク５７に循環させるオイルドレン弁である。
【００２９】
また、符号２１はエアクリーナ、２３はスロットル弁、２４はミキサー、２５はスロットル弁開閉駆動モータ、２６は燃料ガス供給用配管である。燃料ガス供給配管２６上には、エンジン４に供給する燃料ガスの圧力を略大気圧に減圧制御するための減圧調整弁２８および燃料ガス流量制御弁２９が設けられる。符号４３はガス供給元弁、４４は全ガス流量計、４５は逆止弁である。
【００３０】
前記圧縮機出口管４２は、ケーシング３を貫通してケーシング３外に導出させ、先端部に充填カプラソケット５１を接続している。この充填カプラソケット５１を図示していない車両のタンク側カプラソケットに接続することによって、圧縮機５を車両のガスタンクに連通する。なお、充填カプラソケット５１は、タンク側カプラソケットが接続されていることを検出する充填ホース接続確認用のセンサ５２を備えている。
【００３１】
ブローダウンタンク５７は、充填開始時であって充填カプラソケット５１を車両に接続する以前に圧縮系に残存するガスを排出させ、ガス充填系の圧力を低減させるためのものである。すなわち、ブローダウン弁５６を開いて圧縮機５内の残圧を低減させることによって、充填カプラソケット５１をタンク側カプラソケットに人手によって簡単に接続することができる。ブローダウン弁５６を開くとき、ブローダウンタンク５７内の圧力が異常に高くなる場合には、リリーフ弁５８を開いて、放出口５９から外部にガスを逃す。なお、ブローダウンタンク５７の容積を充分に取ることにより、圧力異常を防ぐことができるので、その場合にはリリーフ弁５８および放出口５９を省略することができる。
【００３２】
前述の加熱装置６１は、スロットル弁２３の下流側の吸気通路に下流端を接続した吸引用パイプ６４を備えている。また、空気加熱用パイプ６３の上流端にはエアクリーナ６５が設けられ、ケーシング３内の空気を取入れる。
【００３３】
符号７１は制御装置である。制御装置７１には、図３に示すように、入力側に各種のセンサー類を接続するとともに、出力側に弁やモータ等のアクチュエータを接続し、電子部品等の駆動制御を行う。
【００３４】
入力側のセンサ類は、供給ガスの圧力を検出する第１の圧力センサ４８と、充填圧力検出用の第２の圧力センサ５５と、運転モードを切換えるための運転切換えスイッチ７２（図１参照）と、吸込流量計４４と、吐出流量計と、外気温を検出するための第１の温度センサ７３と、ケーシング３内の温度を検出するための第２の温度センサ７４と、エンジン冷却水のエンジン出口での温度を検出するための第３の温度センサ７５と、圧縮機５の温度を検出するための第４の温度センサ７６と、圧縮機５から吐出されたガスの温度を検出するための第５の温度センサ７７と、ケーシング３内の上部に配設したガス検知器７８と、エンジン回転数センサと、スロットル弁開度センサ８０と、充填ホース接続確認用センサ５２および排気圧センサなどである。
【００３５】
出力側のアクチュエータは、エンジン４の点火時期を制御するための点火制御回路と、スロットル弁開閉駆動モータ２５と、燃料制御弁２９と、リリーフ弁５８と、ブローダウン弁５６と、吸入遮断弁と、除湿装置用三方弁と、主換気フアン１０に接続した回転機１１３と、エンジン４と圧縮機５との間に介装した電磁クラッチと、冷却水ポンプ３５と、冷却水用リニア三方弁と、ガス供給元弁４３と、副換気ファンを駆動するための電動モータなどである。なお、図３のセンサーやアクチュエータは図１では図示省略しているものもあるし、図１のガス充填装置には備わらず必要に応じて備えるものもある。この制御装置７１および各電子部品の電源はバッテリー（図示しない）とし、エンジン４が停止している状態でも前記アクチュエータを駆動して各種の制御を実施することができるようにしている。なお、バッテリーは、エンジン４を運転している状態で発電機によって充電する。
【００３６】
また、この制御装置７１は、前記運転切換スイッチ７２によってエンジン４の運転モードを切換える構成を採っている。運転モードとしては、（１）運転停止モード、（２）低速充填モード、（３）通常充填モード、（４）急速充填モードである。ガス充填時には、前記運転モード毎に定めた目標エンジン回転数Ｒ１と実際のエンジン４の回転数Ｒ２との差を求め、この回転数の差がなくなるようにスロットル弁開度をフィードバック制御によって制御する。目標エンジン回転数は、図３中に符号８２で示すメモリに記憶させている。
【００３７】
さらに、この制御装置７１は、ガスの実際の充填圧力と、予め定めた最終充填圧力（目標圧力）との差が小さくなるに従って、エンジン回転数を予め定めた回転数（圧縮機５を駆動できる最低回転数）まで徐々に低下させる構成を採っている。エンジン回転数を低下させるには、予め定めた関数をもってスロットル弁開度を低下させる。この関数は、比例関数の他に、ファジー関数を用いることができる。
【００３８】
図４は本発明の実施の形態に係るガス充填装置における燃料制御弁の駆動制御プログラムのフローチャートである。
この例では、排気経路に圧力センサーを設け、この圧力センサーによって検出される排気圧力に基づいて失火を検出し、失火の有無に応じて燃料制御弁を制御するフィードバック制御を実施する。このような制御において、エンジン負荷およびエンジン回転数の変化が速いとフィードバック制御がエンジンの変化に追従できなくなり、排気のエミッション及び燃費が悪化する。
【００３９】
この問題に対処するため、本実施形態では、フィードバック制御によって希薄燃焼状態になるときのエンジン負荷またはエンジン回転数の少なくとも一方の検出値に対応した燃料制御弁の制御量をメモリに格納する学習ステップをもち、以降は、このメモリに格納された学習ステップを実行することにより、フィードバックによるウェイト時間をなくし、エンジン負荷およびエンジン回転数の急激な変化に素速く追従して、排気ガスのエミッションと燃費の改善を図ることができる。
【００４０】
図４のフローチャートにおける動作は以下のとおりである。
ステップＳ１０１：エンジンが運転中か停止中かを判別する。
【００４１】
ステップＳ１０２：燃料制御弁の開度算出および設定動作プログラムを実行する。このときのエンジン回転数とスロットル開度に基づいて燃料制御弁開度が算出され、これに基づいてステッピングモータが駆動され、燃料制御弁の開度が算出した値になるように設定される。
【００４２】
ステップＳ１０３：エンジン始動後、エンジン回転数と目標エンジン回転数の差が所定値以下になった場合に、失火制御プログラムが実行される。この失火制御プログラムでは次の処理を実行する。
【００４３】
▲１▼燃料制御弁を検出値から所定の微小量だけ小さくする。
【００４４】
▲２▼排気圧センサーによって検出された排気管圧力によって、失火の有無を判別する。
【００４５】
▲３▼失火がなければ上記▲１▼の処理を継続し、失火があれば次の▲４▼に進む。
【００４６】
▲４▼燃料制御弁を別の所定の微小量だけ増加する。
【００４７】
▲５▼この微小量の燃料増加後、排気圧センサーによって検出された排気管圧力により失火の有無を判別する。
【００４８】
▲６▼失火があれば▲４▼の処理を続け燃料を微小量だけ増加する。失火がなければ次のステップＳ１０４に進み、燃料制御弁開度のデータマップを書換える。
【００４９】
ステップＳ１０４：このステップは、次の条件の下で実行される。
【００５０】
（ａ）データマップはエンジン回転数とスロットル開度を軸とする。
【００５１】
（ｂ）マトリックス上の全成分データには、工場出荷時に予め所定の希薄燃焼が可能な燃料制御弁開度データがセットされる。
【００５２】
（ｃ）同様にデータ管理用のフラグマップをもつ（データマップと同じサイズで初期値は０）。
【００５３】
このステップの動作は前述の▲６▼に続くものである。
【００５４】
▲７▼燃料制御弁開度データマップのデータを、前記▲４▼の開度データに書換える。このとき、書換え前の開度データと書換え値との差Ｓを算出し、これをメモリー内に格納する。
【００５５】
▲８▼フラグマップ上で、上記▲７▼で書換えたデータマップに対応するフラグを１とする。これ以降、フラグマップが１の場合は、データマップ上の対応するデータの書換えは行わない。
【００５６】
▲９▼フラグが０の点に相当するデータマップ上のデータを、一律に前記Ｓだけ差引いた値に書換える。ここでＳの値が負となる場合は、燃料制御弁開度は増加する。このことから、前記▲３▼〜▲６▼の動作により一律にＳだけ差引かれた開度データを設定することにより直ちに失火してしまう場合でも、失火しない開度範囲に戻すことが可能になる。
【００５７】
図５は、本発明の実施の形態に係るガス充填装置のガスエンジンでの燃料制御弁フィードバック制御方法のメインプログラムのフローチャートである。
運転操作が開始されると、まず、各弁やアクチュエータの初期設定が行われる（ステップＳ１）。エンジンが起動したかどうかを判別し（ステップＳ２）、起動完了したら目標エンジン回転数を算出する（ステップＳ３）。
【００５８】
続いて失火判定プログラムが実行される（ステップＳ４）。これは、後述の燃料制御弁フィードバック制御による失火制御とは別にエンジン運転中常に行われる失火監視のためのプログラムである。
【００５９】
次に、前記ステップＳ３で算出した目標エンジン回転数とするためのスロットル開度を算出してスロットル弁２３（図１）をフィードバック制御する（ステップＳ５）。次に本発明による後述の燃料制御弁２９（図１）のフィードバック制御が行われているかどうかをフィードバック制御のフラグの有無により判別し（ステップＳ６）、実行中であればそのまま続行し（ステップＳ７）、実行していなければマップ（後述のベースマップ）に基づいて燃料制御弁の開度を算出してフィードバック制御の目標値とする（ステップＳ７）。
【００６０】
次に、後述のように学習によりベースマップを書き換える失火制御プログラムを行う（ステップＳ８）。この失火判定が終了したら、エンジン停止指令があるかどうかを判定し（ステップＳ９）、エンジン停止でなければ、ステップＳ２からのルーチンを繰り返し、エンジン停止であれば所定の順序で各機器を停止動作させるエンジン停止プログラムを実行する（ステップＳ１０）。
【００６１】
図６は、学習プログラムによるＮＯｘ対策のための燃料希薄化を図る燃料制御弁フィードバック制御のフローチャートである。
メインルーチンから単位時間ごとにコールされるサブルーチンが開始されると、まずスロットル弁開度とエンジン回転数の検出データからマップにおける現在位置および面補完された値を算出する（ステップＳ１１）。この際、燃料制御弁のベースマップおよび学習による書き換えマップの両方のマップにより算出する。この値を１つ前のサイクルの値と比較する（ステップＳ１２）。差が所定値より大きければ後述するフィードバック（ＦＢ）制御による細かいステップごとのリーン化の制御は行わずにＦＢ実行フラグをＯＦＦにして後述のタイマーＡ、タイマーＢをともにＯＦＦにする（ステップＳ２２）。
【００６２】
差が所定値以下であれば、冷却水温や運転状態の検出データからＦＢ制御を実行するかどうかを判別する（ステップＳ１３）。例えば暖機中であればＦＢ制御は実行しない。次に、実際にＦＢ制御が開始されているかをチェックする（ステップＳ１４）。開始されていない場合には、即座に１ステップリーン動作を行い、実行フラグを成立させる。ＦＢ実行中であれば、現在リーン動作中かどうかを判定する（ステップＳ１５）。
【００６３】
リーン動作中でなければ後述の安定待ち時間中と判断してステップＳ２３に進み、安定時間が終了したかどうかを、後述のタイマーＢの設定時間に達したかどうかにより判別する。タイマー設定時間に達していなければ達するまでルーチンが繰り返される。タイマー設定時間に達して安定時間が終了したら、マップ書き換え処理を行う（ステップＳ２４）。
【００６４】
ステップＳ１５でリーン動作中のときは失火判定プログラムを実行する（ステップＳ１６）。この失火判定プログラムにおいて失火が検出される（ステップＳ１７）。この失火判定は、例えば、エンジンの排圧センサからの検出波形の解析により行われる。
【００６５】
失火が検出されなければ、リーン時間が経過したかをチェックする（ステップＳ１８）。このリーン時間チェックは、後のリーンプロセス（ステップＳ１９）でセットされるタイマーＡの設定時間に達したかどうかにより判断される。リーン時間が経過したら、燃料制御弁を１ステップリーンにする（ステップＳ１９）。これと同時にタイマーＡを所定のリーン時間にセットする。続いて、ＦＢ実行中であることを示すためにＦＢ実行フラグを立てる（ステップＳ２０）。
【００６６】
次に、このリーン後のステップ数が第２マップの値より大きいか（第２マップよりリーン側か）をチェックする（ステップＳ２１）。大きければ、ルーチンが繰り返され、燃料制御弁は１ステップずつ徐々にリーン化される。１ステップずつリーン化して失火することなく第２マップの値に達したら、安定時間処理を行う（ステップＳ２７）。この安定時間処理において、タイマーＢが所定の安定時間にセットされ安定処理がスタートする。
【００６７】
この安定時間が終了すると、前述のステップＳ１５で安定時間待ちと判別され、タイマーＢによる設定時間終了後に、ベースマップの値が、失火しないことが確認された第２マップの値に書き換えられる。
【００６８】
一方、１ステップずつリーン化している途中で失火が検出されると、前述のステップＳ１７で、即座にエンリッチ動作に移行して所定のＮステップだけ燃料がリッチ化される。失火を回復させるためである。このエンリッチ量はエンリッチマップに基づいて算出される（ステップＳ２５）。このエンリッチ量を算出した後、その値がベースマップ以下（リーン側）かどうかが判別される（ステップＳ２６）。ベースマップより大きいときには、今回のＦＢ制御は無効としてＦＢ実行フラグをおろす（ステップＳ２８）。これは失火しないことが分っているベースマップよりリッチ側への書き換えは行わないようにするためである。
【００６９】
続いて、そのマップ値に対応するガス流量制御弁開度値をベースマップの値に戻してそのマップ値に恒久フラグを立てる（ステップＳ２９）。これにより、以後このマップ位置の運転状態で制御する場合、リーン化の学習による書き換えを行わずに恒久フラグが立ったオリジナルのベースマップに基づいて直ちに燃料制御が行われる。
【００７０】
前記ステップＳ２６で、算出値がベースマップ以下であれば、安定時間をセットして安定制御モードに移行する（ステップＳ２７）。この安定時間はタイマーＢをスタートさせることにより所定時間だけ保持される。安定時間が終了すると、前述のステップＳ２３でこれが判別され、失火した値（または失火した値よりＮステップだけリッチ側の値）でベースマップが書き換えられる。
【００７１】
この書き換えプロセスにおいて、制御中のマップ位置でのベースマップより下がったステップ数だけそのマップ位置だけでなくマップ領域の全域が書き換えられる。この場合、他の位置でその書き換えステップ数をリーン側に下げると第２マップに達する場合には、その位置では第２マップ以下には下げないで第２マップの値に書き換える。
【００７２】
また、オリジナルのベースマップはそのまま保存し、書き換え用のマップを準備してこの書き換えマップに順次学習した値を書込んで新たなベースマップとして使用する。
【００７３】
図７は、マップ書換え処理のフローチャートである。これは、前述の図６のマップ書換えステップＳ２４のフローである。
まず、前述の図６のステップＳ１１と同様に、エンジン回転数とスロットル開度からマップの現在位置を算出する（ステップＳ３０）。この現在位置に恒久フラグを立てる（ステップＳ３１）。次に、ベースマップ算出値から現在の燃料制御弁開度を減算し、その値をオフセット値とする（ステップＳ３２）。
【００７４】
ステップＳ３３では、書換えマップ全体を書換えるに際し、書換え用のカウンタを用意し、このカウンタをクリアする。このカウンタにおけるマップ座標は（ｘ，ｙ）とし、この処理では（０，０）に初期化される。
【００７５】
ステップＳ３４では、（ｘ，ｙ）座標の書換えマップに恒久フラグが立っているかをチェックする。恒久フラグがあれば、この座標位置のデータ書換えは行わない。
ステップＳ３５では、（ｘ，ｙ）座標の書換えマップにフィードバック制御しない領域となる対象外フラグが立っているかをチェックする。対象外フラグがあれば、この座標位置のデータ書換えは行わない。
ステップＳ３６では、（ｘ，ｙ）座標のベースマップ値からオフセット値を減算する。この減算された値が（ｘ，ｙ）座標の第２マップ値以上かをチェックする（ステップＳ３７）。
【００７６】
オフセット減算値が第２マップ値以上（第２マップ値よりリッチ側）であれば、このオフセット減算値を書換えマップの（ｘ，ｙ）座標に書込む（ステップＳ３８）。
【００７７】
一方、オフセット減算値が第２マップ値未満（第２マップ値よりリーン側）であれば、（ｘ，ｙ）座標の書換えマップ値はその第２マップ値に書換える。（ステップＳ３９）。
マップカウンタ数が全マップ数に達したときに書換え作業は終了する（ステップＳ４０）。
【００７８】
図８は、失火判定のフローチャートである。
まず、エンジン回転数およびスロットル開度のデータからマップの現在位置が算出される（ステップＳ４１）。
【００７９】
次にステップＳ４２で、気筒判別処理が行われる。この気筒判別処理は、失火状態を気筒ごとに判別するために行う。この気筒判別は、後述のように、カム軸センサからのパルサー信号とクランク角センサからのクランク角度に応じたパルス信号に基づいて行われる。
【００８０】
ステップＳ４３では、排気圧センサからの波形データを取込み、所定のクランク角ｔ１〜ｔ２間の波形の面積を算出する。
ステップＳ４４で、この波形面積が所定値以下かをチェックする。この所定値はセンサの異常をチェックするためのものであり、例えば失火による面積減少量を越える程度に小面積な値とする。
【００８１】
この波形面積が所定値以下の場合、ステップＳ４５で、タイマーまたはサイクル数のカウンタをセットする。
ステップＳ４６で、タイマーによる所定時間中またはカウンタによる所定回数の検出において同じ小面積の所定値以下の波形データが入力されるかがチェックされる。所定時間が経過し又は所定回数が検出された後、なお所定値以下の排圧波形面積であれば、排気圧センサの異常と判断して排気圧センサ異常の警告表示を行う（ステップＳ４７）。
【００８２】
続いて、ステップＳ４８で応急運転フラグを立て、燃料制御弁をＦＢ制御しないでオリジナルのベースマップ運転プログラムに固定してエンジンを駆動する（ステップＳ４９）。
【００８３】
前記ステップＳ４４で面積値が所定値以上でセンサに異常がない場合には、気筒ごとに、クランク角ｔ１〜ｔ２における排気圧センサからの波形の面積移動平均値を算出する（ステップＳ５０）。
【００８４】
ステップＳ５１で、この気筒移動平均面積に対する排気圧センサの波形面積の比率Ｒを算出する。
ステップＳ５２で、各波形面積データの平均値に対する比率Ｒが基準値以下かをチェックする。この基準値は運転領域に応じて異なり、この基準値に基づいて気筒別に失火が判別される。失火が起きていない場合には、ステップＳ５３で、今回の波形データを加えて気筒別排気圧センサの波形移動平均値を書換える。
【００８５】
上記波形面積の比率Ｒが基準値以下であれば、ステップＳ５４で、失火が起きていると判定される。この失火判定は気筒別に行われる。
【００８６】
ステップＳ５５は、失火した気筒数をチェックする。例えば４気筒中２気筒以上失火していればエンジン異常と判断してエンジンを強制停止する（ステップＳ５９）。その後エンジン異常の表示を行う（ステップＳ６０）。
【００８７】
失火気筒数が１気筒の場合には、ステップＳ５６で、ＦＢ制御運転中かをチェックする。ＦＢ制御中であれば、前述の図６の失火判定プログラム（ステップＳ１６）終了後の失火検出ステップＳ１７のルーチンに戻る。
【００８８】
失火気筒数が１気筒でＦＢ運転中でなければ、ステップＳ５７で、応急フラグを立てる。続いて、ステップＳ５８で、失火回復の制御運転を行う。これは、例えば燃料制御弁の開度マップをエンリッチ化したり、あるいは失火気筒の点火時期を変更することにより行う。
【００８９】
図９は、スロットル開度とエンジン回転数に応じたエンジン運転領域の説明図である。
エンジン運転領域の全域において最適な運転状態を得るために、運転領域に応じて燃料制御方法を変えることが望ましい。例えば、スロットル開度が小さい低負荷側の領域Ｉでは、安定した燃焼を確保するためにリーン化を抑える。中間の領域ＩＩでは、排気ガス対策あるいは燃焼効率を優先させ、失火判定のための燃料制御弁フィードバック制御を実施する。高負荷領域ＩＩＩでは、出力確保のために燃料制御弁フィードバック制御を実施しない。
【００９０】
本発明では、燃料制御弁開度のベースマップとともに第２マップを備え、学習により燃料をリーン化しながらベースマップを書換える。
【００９１】
表１は、このような運転領域に応じて要求される運転特性を考慮した第２マップ設定方法の一例を示す。
【００９２】
【表１】
0004237350.tif 000002
【００９３】
この第２マップでは、スロットル開度が低い領域で運転性を優先させ（Ａ領域）、中間開度では排気ガス（ＮＯｘ）低減を優先（Ｂ領域）あるいは運転効率を優先させ（Ｄ領域）、高開度では出力確保を優先させている（Ｃ領域）。
【００９４】
図１０（Ａ）（Ｂ）は、気筒判別用波形および失火判別用波形のデータ例を示すグラフである。
図１０（Ａ）に示すように、カム軸の回転を検出するパルサーコイルからのパルサー信号ａがクランク軸の２回転（７２０度）ごとに入力される。このパルサー信号ａに同期してクランク角センサからのクランク角パルス信号ｂが入力される。このクランク角信号は、例えば１２０枚の歯を有するリングギヤの各歯を検出するごとに出力されるものであり、パルサー信号が得られる２回転では２４０個のパルス信号となり、クランク角３度ごとに１個のパルスが入力される。このパルサー信号の検出位置を例えば＃１気筒のＢＴＤＣ９０度に設定しておく。これにより、例えば＃１→＃３→＃４→＃２の順で点火される４気筒エンジンで、例えば９０度ごとに排圧が検出される４気筒の各々についてパルサー信号の検出位置からのクランク角度により気筒番号が判別される。
【００９５】
各気筒の燃焼条件はそれぞれ微妙に異なるため各気筒の排圧波形も異なる。本発明では、このように気筒を判別して気筒ごとに失火を判定することにより、各気筒の排圧波形に対応してそれぞれ最適なフィードバック制御が可能になる。
【００９６】
図１０（Ｂ）は４気筒の排圧検出データである。実線のグラフｃが正常時の排圧波形であり、点線のグラフｄが失火時の排圧波形である。このような波形検出データから、各気筒のごとに波形の面積を算出し、この波形面積に基づいて失火を判別する。この場合、各気筒の波形データにおいて、圧縮上死点後の積算開始クランク角ｔ１と積算終了クランク角ｔ２を設定しておく。
【００９７】
所定のクランク角で所定気筒に点火され、爆発、排気行程を経て排気管途中の排圧センサ部に排気ガスが到達する。この排気ガス到達までのクランク角（エンジン速度により異なる）を考慮して排圧波形のピークを挟んで排圧データを取込めるように、気筒ごとの点火タイミングに対応して気筒別にｔ１およびｔ２を定めておく。
【００９８】
各気筒ごとにクランク角ｔ１〜ｔ２間の波形面積を算出して、これと直前の所定サイクルの移動平均値と比較する。この波形面積の平均値に対する比率Ｒをマップに格納された基準値と比較して失火を判別する。この基準値は、運転領域に対応したマップの座標ごとに異なる。
【００９９】
図１１は、失火判定の基準値のマップを示す立体図である。
図示したように、スロットル開度とエンジン回転数に応じたマップ座標位置により、失火判定基準（％）を異ならせている。この例では高回転でスロットル高開度側では失火判定基準が低く、低回転低スロットル開度側では基準が高い。したがって、高回転高負荷側では、前述の排圧波形面積が平均値に比べ大きく減少して例えば２０００ｒｐｍ以上の高負荷領域では前記比率Ｒが２０％以下まで小さくならないと失火と判定されず、リーン化が続行される。これに対し、低回転低負荷側では、排圧波形面積の比率Ｒが３０〜４０％になると失火と判定されリーン化が停止される。
【０１００】
このように、失火判定基準を運転領域に応じて変えることにより、前述の第２マップを運転領域ごとに所望の優先特性に応じて形成したことと相まって、運転領域全体にわたって最適な運転状態が得られる。
【０１０１】
なお、排圧波形面積の平均値に対する比Ｒを求めてこれを基準値と比較する方法に代えて、排圧波形面積と平均値との差を求めてこの差を予め定めた所定の基準値（この基準値も運転領域に応じて異なる）と比較することにより失火を判定してもよい。
【０１０２】
本実施の形態においては、燃料制御弁２９を経た燃料ガスがミキサー２４内で空気と混合され、混合器がミキサー２４内で流量調整されたのち、エンジン４に吸引される。このため、燃料制御弁２９による燃料ガス量の調整により空燃比が制御される。このため多気筒エンジンの場合、気筒別失火判定の結果の失火気筒の失火回復は、空燃比制御に加え個別気筒毎の点火時期制御を組み合わせることにより、有効に達成可能である。
【０１０３】
また、吸気マニホールドの各気筒への分配管にそれぞれミキサーを配置し、このそれぞれのミキサーに別個の燃料制御弁を介して燃料ガスを導くようにし、吸気マニホールドの内分配管の上流部に吸入空気量を制御するスロットル弁を配置する場合には、気筒別失火判定の結果の失火気筒の失火回復は、失火気筒に対応する燃料制御弁の開度を大きくする方向に微調整することにより達成可能である。この場合さらに個別気筒毎の点火時期制御を組み合わせてもよい。
【０１０４】
【発明の効果】
以上説明したように、本発明では、圧縮機吐出側のガスタンクの圧力に応じて、ガスエンジンまたは圧縮機の回転数が制御されるため、圧力に応じた最適効率でガスエンジンの出力制御を行うことができる。
【０１０５】
また、希薄燃焼制御のベースマップとして、例えば予め分っている失火が起きない燃料供給量データを設定するとともに、このベースマップよりリーン側に設定した第２マップを備え、ベースマップによる燃料供給量から失火するまで燃料を徐々にリーン化し、失火した時点の燃料供給量または失火する前に第２マップに達した場合には、その第２マップの燃料供給量にベースマップが書き換えられる。これにより失火限界と第２マップの組合せによるマップが学習により形成され、失火限界のマップに対し予め設定した所望特性が得られる第２マップを加味して燃料制御マップを形成することができる。このような失火学習制御により、エンジン負荷やエンジン回転数の急激な変化に素速く追従できるとともに、運転状態に応じた最適な希薄燃焼が達成され、有効なＮＯｘの低減および燃費の改善が図られる。
【０１０６】
この場合、第２マップとして、エンジン回転数とスロットル開度に応じたマップ形成領域ごとに異なる運転特性を優先させて、その運転特性が得られる最もリーン側の燃料供給量となるように設定すれば、この第２マップに、エンジン回転数とスロットル開度に応じた運転領域ごとにその領域で要求される運転特性に合った燃料供給量データが設定されるため、失火限界の範囲内で運転領域に応じた最適な運転特性で燃料制御が行われる。
【図面の簡単な説明】
【図１】  本発明が適用されるガス充填装置の構成図。
【図２】  図１のガス充填装置の充填圧力とエンジン回転数の関係のグラフ。
【図３】  図１のガス充填装置の制御系の構成図。
【図４】  本発明の実施の形態に係る燃料制御弁の動作制御プログラムのフローチャート。
【図５】  本発明の燃料制御方法のメインプログラムのフローチャート。
【図６】  図５のフローチャートにおける学習プログラムのフローチャート。
【図７】  図６のフローチャートにおける書換プログラムのフローチャート。
【図８】  本発明の失火判定プログラムのフローチャート。
【図９】  エンジンの運転領域のグラフ。
【図１０】  気筒判別及び失火判定のための波形データのグラフ。
【図１１】  失火判定基準のマップを示す立体図。
【符号の説明】
１：ガス充填装置、２：ガス吸入口、３：ケーシング、４：エンジン、
５：圧縮機、６：ガス冷却器、８：排気口、１０：主換気ファン、
１３：クランク軸、２１：エアクリーナ、２３：スロットル弁、
２４：ミキサー、２５：スロットル弁開閉駆動モータ、
２６：燃料ガス供給用配管、２８：減圧調整弁、
２９：燃料ガス流量制御弁（燃料制御弁）、３４：ラジエータ、
３５：冷却水ポンプ、４２：圧縮機出口管、４３：ガス供給元弁、
４４：全ガス流量計、４５：逆止弁、４６：除湿装置、
４８：第１の圧力センサ、５１：充填カプラソケット、
５２：充填ホース接続確認用センサ、５４：オイルフィルター、
５５：第２の圧力センサ、５６：ブローダウン弁、
５７：ブローダウンタンク、５８：リリーフ弁、５９：放出口、
６１：加熱装置、６３：空気加熱用パイプ、６４：吸引用パイプ、
６５：エアクリーナ、７１：制御装置、７２：運転切換えスイッチ、
７３：第１の温度センサ、７４：第２の温度センサ、
７５：第３の温度センサ、７６：第４の温度センサ、
７７：第５の温度センサ、７８：ガス洩れ検知器、
８０：スロットル弁開度センサ、８２：メモリ、１１０：一方向クラッチ、
１１１：ファン駆動軸、１１２：変速装置、１１３：回転機、
１１４：プーリ
【図１】
0004237350.tif 000003
【図２】
0004237350.tif 000004
【図３】
0004237350.tif 000005
【図４】
0004237350.tif 000006
【図５】
0004237350.tif 000007
【図６】
0004237350.tif 000008
【図７】
0004237350.tif 000009
【図８】
0004237350.tif 000010
【図９】
0004237350.tif 000011
【図１０】
0004237350.tif 000012
【図１１】
0004237350.tif 000013