(57)【要約】【課題】  交流出力電流に応じてエンジンの回転数を制御するインバータ式発電機において、エンジンの振動を抑制して大きな騒音が発生しないようにする。【解決手段】  インバータ式発電機は、エンジン１０の回転により交流出力を発生する３相巻線１２ａからの交流出力を全波整流回路２０及び平滑回路３０により直流出力に変換し、変換した直流出力をインバータ回路４０により交流出力に変換して外部へ出力する。このインバータ式発電機においては、コンピュータ部６０が、エンジン１０の回転数を，電流センサ８２により検出された交流出力電流が増加するに従って増加するように制御する。この制御において、コンピュータ部６０は、エンジン１０が共振する付近の回転数をスキップするように、交流出力電力に応じて変化する目標回転数を決定して、エンジン１０の回転数を前記決定した目標回転数に制御する。【選択図】  図１
2010233351.tif 000002
【特許請求の範囲】
【請求項１】
エンジンと、
前記エンジンの回転により交流出力を発生する発電体と、
前記発電体からの交流出力を整流して直流出力に変換する整流回路と、
前記整流回路によって変換された直流出力を交流出力に変換して外部へ出力するインバータ回路と、
前記インバータ回路から外部へ出力される交流出力電流を検出する電流センサと、
前記電流センサによって検出された交流出力電流が増加するに従って増加するエンジンの目標回転数を決定する目標回転数決定手段と、
前記目標回転数決定手段によって決定された目標回転数に前記エンジンの回転数を制御する回転制御手段とを備えたインバータ式発電機において、
前記目標回転数決定手段は、前記エンジンが共振する付近の回転数をスキップするように目標回転数を決定することを特徴とするインバータ式発電機。
【請求項２】
請求項１に記載したインバータ式発電機において、
前記目標回転数決定手段は、前記エンジンが共振する複数の回転数に対してそれぞれスキップするように目標回転数を決定するインバータ式発電機。
【請求項３】
請求項１又は２に記載したインバータ式発電機において、
前記目標回転数決定手段は、前記エンジンの回転数が上昇するときの目標回転数のスキップ幅に比べて、前記エンジンの回転数が減少するときの目標回転数のスキップ幅を大きくすることを特徴とするインバータ式発電機。
【請求項４】
請求項１乃至３のうちのいずれ一つに記載したインバータ式発電機において、
前記目標回転数決定手段は、前記エンジンが共振する付近の回転数をスキップする目標回転数に決定において、前記交流出力電流の変化に対してヒステリシスをもって変化する目標回転数を決定する車両の操舵アシスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの回転によって発電体から発生される交流出力を、整流回路によって整流することにより直流出力に変換し、変換された直流出力をインバータ回路によって交流出力に変換して外部へ出力するインバータ式発電機に関する。
【背景技術】
【０００２】
従来、この種の装置において、例えば下記特許文献１，２に示されているように、インバータ回路から外部へ出力される交流出力電流を電流センサによって検出し、検出された交流出力電流が増加するに従って増加するエンジンの目標回転数を決定して、決定された目標回転数にエンジンの回転数を制御するようにすることは知られている。この場合、エンジンの回転数（目標回転数）は交流出力電流に対して、例えば、図６の実線で示すように変化する。なお、図６の一点差線で示す交流出力電流に対するエンジンの回転数（目標回転数）は、交流出力電流が小さくなっても、エンジンの回転数を大きく保つ従来のインバータ式発電機の他の運転モードに対応したものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２８４３９７号公報
【特許文献２】特開２００６−２１７７８０号公報
【発明の概要】
【０００４】
上記従来のインバータ式発電機によれば、外部で必要とされる交流電力が少ない場合には、エンジンの回転数を下げることにより、エンジンで消費される燃料を削減でき、発電機の燃費を向上させることができる。しかし、前記目標回転数は交流出力電流の変化に対して連続的かつ広範囲にわたって変化するので、目標回転数がエンジンの共振点付近になると、エンジンが振動して大きな騒音を発生するという問題がある。特に、図６の実線で示すように、エンジンが共振し易い回転数未満（例えば、一分間当たり４５００回転未満）で、エンジンの回転数を連続的かつ広範囲にわたって制御するために、エンジンは振動し易くなる。
【０００５】
本発明は上記問題に対処するためなされたもので、その目的は、交流出力電流が増加するに従って増加する目標回転数にエンジンの回転数を制御するようにしたインバータ式発電機において、エンジンの振動を抑制して大きな騒音が発生しないようにすることにある。
【０００６】
上記目的を達成するために、本発明の特徴は、エンジンと、エンジンの回転により交流出力を発生する発電体と、発電体からの交流出力を整流して直流出力に変換する整流回路と、整流回路によって変換された直流出力を交流出力に変換して外部へ出力するインバータ回路と、インバータ回路から外部へ出力される交流出力電流を検出する電流センサと、電流センサによって検出された交流出力電流が増加するに従って増加するエンジンの目標回転数を決定する目標回転数決定手段と、目標回転数決定手段によって決定された目標回転数にエンジンの回転数を制御する回転制御手段とを備えたインバータ式発電機において、目標回転数決定手段は、エンジンが共振する付近の回転数をスキップするように目標回転数を決定するようにしたことにある。
【０００７】
上記のように構成した本発明によれば、目標回転数決定手段は、エンジンが共振する回転数付近をスキップするように目標回転数を決定し、回転制御手段がこの決定された目標回転数にエンジンの回転数を制御するので、エンジンは共振点付近の回転数で回転しなくなる。これにより、交流出力電流が増加するに従って増加する目標回転数にエンジンの回転数を制御するようにしたインバータ式発電機においても、エンジンの共振点に関係したエンジンの振動が抑制されて、大きな騒音が発生しなくなる。
【０００８】
また、本発明の他の特徴は、前記目標回転数決定手段が、エンジンが共振する複数の回転数に対してそれぞれスキップするように目標回転数を決定するようにしたことにある。これによれば、エンジンが複数の異なる回転数で共振する場合でも、エンジンの振動が確実に抑制されて常に大きな騒音が発生しなくなる。
【０００９】
また、本発明の他の特徴は、前記目標回転数決定手段が、エンジンの回転数が上昇するときの目標回転数のスキップ幅に比べて、エンジンの回転数が減少するときの目標回転数のスキップ幅を大きくするようにしたことにある。このインバータ式発電機に接続される外部負荷が減少してエンジンの回転数が減少するときには、外部負荷が増加してエンジンの回転数が増加するときに比べて、エンジンは共振点付近で振動し易くなる傾向にある。しかし、この本発明の他の特徴によれば、目標回転数のスキップ幅は、エンジンの回転数が上昇するときに比べて、エンジンの回転数が減少するときに大きくなるので、エンジンの共振による振動を確実に防止することができ、エンジンによる騒音の発生を確実に小さくできる。
【００１０】
また、本発明の他の特徴は、前記目標回転数決定手段が、エンジンが共振する付近の回転数をスキップする目標回転数に決定において、前記交流出力電流の変化に対してヒステリシスをもって変化する目標回転数を決定するようにしたことにある。すなわち、目標回転数を上昇方向にスキップさせる場合の交流出力電流の大きさと、目標回転数を減少方向にスキップさせる場合の交流出力電流の大きさとを異ならせる。これによれば、エンジンが共振する付近の回転数をスキップする目標回転数に決定において、交流出力電流に対するエンジンの回転数の変化にヒステリシスがもたらされるので、交流出力電流が、エンジンが共振する回転数に対応した電流付近で増減を繰り返しても、エンジンの回転数が繰り返し急変することを回避できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るインバータ式発電機の全体概略図である。
【図２】図１のコンピュータ部により実行される回転数制御プログラムを示すフローチャートである。
【図３】図１のコンピュータ部の制御による交流出力電流とエンジンの回転数との関係を示すグラフである。
【図４】前記実施形態の変形例に係る回転数制御プログラムの一部を示すフローチャートである。
【図５】前記変形例における交流出力電流とエンジンの回転数との関係を示すグラフである。
【図６】従来例に係る交流出力電流とエンジンの回転数との関係を示すグラフである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について図面を用いて説明する。図1は、本発明の一実施形態に係るインバータ式発電機の全体概略図である。このインバータ式発電機は、エンジン１０を備えている。エンジン１０は、ガソリン、バイオ燃料などの燃料で駆動される内燃機関である。エンジン１０は、スロットルバルブの開度を調整して、エンジンの回転数Ｎを変更制御するための開度調整部１１を備えている。この開度調整部１１は、例えばステップモータにより構成されている。
【００１３】
エンジン１０の出力軸には、発電機１２が連結されている。発電機１２は、エンジン１０の出力回転軸（又はそれに連結された回転軸）の周囲に配置されたロータ側の複数の磁石（図示省略）と、これらの磁石の磁束と交差する位置に配置されたステータ側の３相巻線１２ａ及び単相巻線１２ｂとを備えている。３相巻線１２ａは、本発明の発電体を構成するもので、エンジン１０の回転により３相交流電圧を発生する。単相巻線１２ｂは、このインバータ式発電機の作動を制御するための各種制御回路へ直流電力を供給するためのもので、エンジン１０の回転により単相交流電圧を発生する。
【００１４】
３相巻線１２ａには、全波整流回路２０、平滑回路３０、インバータ回路４０及び出力回路５０がこの順に接続されている。全波整流回路２０は、ダイオードＤ１，Ｄ２，Ｄ３及びサイリスタＴ１，Ｔ２，Ｔ３からなる３相ブリッジ回路で構成され、３相巻線１２ａから出力される３相交流出力を全波整流することにより直流に変換して直流電源ラインＬ１，Ｌ２に出力する。全波整流回路２０には、サイリスタＴ１，Ｔ２，Ｔ３の導通をそれぞれ制御するためのゲート制御回路２１ａ，２１ｂ，２１ｃを含む電圧安定化回路２１が接続されている。電圧安定化回路２１は、全波整流回路２０から出力される直流電圧のタイミングを制御するもので、エンジン１０の回転数Ｎに対して全波整流回路２０から出力される直流電圧がなるべく変化しないように安定化させるためものである。なお、この直流電圧の変化が問題にならない場合には、この電圧安定化回路２１を省略することもできる。この場合、サイリスタＴ１，Ｔ２，Ｔ３を、それぞれダイオードで構成すればよい。
【００１５】
平滑回路３０は、直流電源ラインＬ１，Ｌ２間に接続された電解コンデンサで構成され、全波整流回路２０から出力される直流電圧を平滑化する。インバータ回路４０は、スイッチング回路４１及びパルス幅変調制御回路４２（以下、単にＰＷＭコントローラ４２という）からなり、直流電源ラインＬ１，Ｌ２上の直流出力を交流出力（例えば、周波数が５０Ｈｚ又は６０Ｈｚで、電圧が１００Ｖ、１２０Ｖ又は２３０Ｖの交流電圧）に変換して出力する。なお、これらの交流出力の周波数及び電圧はユーザにより選択されるものであるが、本発明には直接関係しないので、前記周波数及び電圧はユーザによって適宜設定されているものとして、その説明を省略する。
【００１６】
スイッチング回路４１は、直流電源ラインＬ１，Ｌ２間にそれぞれ直列に接続された電界効果トランジスタＦＥＴ１，ＦＥＴ２及び電界効果トランジスタＦＥＴ３，ＦＥＴ４を備えている。電界効果トランジスタＦＥＴ３，ＦＥＴ４の接続点には交流電源ラインＬ３が接続され、電界効果トランジスタＦＥＴ１，ＦＥＴ２の接続点には交流電源ラインＬ４が接続されている。ＰＷＭコントローラ４２は、電界効果トランジスタＦＥＴ１，ＦＥＴ２，ＦＥＴ３，ＦＥＴ４の導通及び非導通を制御するためのゲート制御回路４２ａ，４２ｂ，４２ｃ，４２ｄを含む。そして、ＰＷＭコントローラ４２は、後述するコンピュータ部６０により制御されて、選択された周波数及び電圧に加えて、交流電源ラインＬ３，Ｌ４から外部へ出力される実際の交流出力電圧に応じて、スイッチング回路を構成する電界効果トランジスタＦＥＴ１〜ＦＥＴ４をスイッチング制御（すなわちオン・オフ制御）するためのパルス列信号を出力する。なお、このパルス列信号が、直流電力を交流電力に変換するための制御信号である。
【００１７】
出力回路５０は、コイル５１及びコンデンサ５２からなるフィルタ回路を備えており、インバータ回路４０から出力される矩形波状の交流出力を正弦波状の交流出力に変換して一対の出力端子ＯＵＴ１，ＯＵＴ２から出力する。コイル５１は、交流電源ラインＬ１に介装されている。コンデンサ５２は、交流電源ラインＬ１，Ｌ２間に接続されている。
【００１８】
また、このインバータ式発電機は、エンジン１０の回転数Ｎ及びインバータ回路４０の作動を制御するためのコンピュータ部６０を備えている。コンピュータ部６０は、ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３及びタイマ６４を有する。ＣＰＵ６１は、図２に示す回転数制御プログラムを所定の短時間（例えば、２５ミリ秒）ごとに実行することによりエンジン１０の回転数Ｎを制御するとともに、図示しないプログラムの実行によりＰＷＭコントローラ４２を制御する。ＲＯＭ６２は、これらのプログラムに加えて、回転数制御プログラムにおいて利用される変換テーブルを記憶している。ＲＡＭ６３は、前記プログラムの実行時に変数を一時的に記憶する。タイマ６４は、時間の経過を計測して、前記回転数制御プログラムの実行間隔を含む各種時間制御に用いられる。
【００１９】
ここで、前記変換テーブルに関して説明しておく。この変換テーブルは、詳しくは後述する回転数制御プログラムの実行により、交流出力電流Ｉに応じてエンジン１０の目標回転数Ｎ＊を設定するためのもので、交流出力電流Ｉに対応させて目標回転数Ｎ＊を規定している。この変換テーブルにより規定される目標回転数Ｎ＊は、基本的には、図３に実線で示すように交流出力電流Ｉが増加するに従って増加する。このエンジン１０の目標回転数Ｎ＊の変化について、一例をもって詳細に説明すると、交流出力電流Ｉが略０〜３．３アンペア（すなわち、０〜３．３Ａ）程度の間であるときには、目標回転数Ｎ＊は略一分間当たり３０００回転（すなわち、３０００ｒｐｍ）に保たれる。交流出力電流Ｉが略３．３Ａを越えて略８．７Ａ（この電流をＩp2とする）に達するまで、目標回転数Ｎ＊は略３０００ｒｐｍから略３８００ｒｐｍまで徐々に増加する。交流出力電流Ｉが電流Ｉp2に達すると、目標回転数Ｎ＊は、略３８００〜４２００ｒｐｍをスキップして（すなわち飛び越して）、略４２００ｒｐｍ（この回転数をＮ１とする）まで変化する。これは、エンジン１０の共振点が略３９００〜４０００ｒｐｍ付近の間にあり、エンジン１０が略３９００〜４０００ｒｐｍ付近で振動し易いためである。そして、交流出力電流Ｉが電流値Ip2を越えて略１３．３Ａ（この電流をＩp3とする）に達するまで、目標回転数Ｎ＊は略４２００ｒｐｍから略４５００ｒｐｍ（この回転数をＮ２とする）まで徐々に増加する。その後、交流出力電流Ｉが電流Ｉp3を超えて略１５．５Ａに達するまで、目標回転数Ｎ＊は、前記場合よりも大きな変化率で、回転数Ｎ２から略５５００ｒｐｍまで徐々に増加する。さらに、交流出力電流Ｉが略１５．５Ａを超えると、目標回転数Ｎ＊は略５５００ｒｐｍに保たれる。
【００２０】
なお、図３の実線は、インバータ式発電機をエコノミーモードで運転している状態で、交流出力電流Ｉが電流Ｉp2よりも減少して電流Ｉp2〜略６．７Ａ（この電流をＩp1とする）の範囲にあるという条件を除く場合に、交流出力電流Ｉに対して設定される目標回転数Ｎ＊を示している。一方、図３の破線は、インバータ式発電機をエコノミーモードで運転している状態で、交流出力電流Ｉが電流Ｉp2よりも減少して電流Ｉp2〜Ｉp1の範囲にある場合に、交流出力電流Ｉに対して設定される目標回転数Ｎ＊を示すものである。すなわち、この場合には、交流出力電流Ｉが電流Ｉp2よりも減少して電流Ｉp2から電流Ｉp1に低下するまで、目標回転数Ｎ＊は固定の回転数Ｎ１に保たれる。そして、交流出力電流Ｉが電流Ｉp1より低下すると、目標回転数Ｎ＊は前述した変換テーブル（すなわち図３の実線）によって規定される交流出力電流Ｉに応じた値に設定される。また、図３の一点鎖線は、インバータ式発電機をノーマルモードで運転している状態で、交流出力電流Ｉに対して設定される目標回転数Ｎ＊を示すものであって、前記実線の場合と異なる部分のみを示している。すなわち、この場合には、交流出力電流Ｉが略０〜Ｉp3Ａ程度の間であるときには、目標回転数Ｎ＊は固定の回転数Ｎ２に保たれる。それ以外の場合には、目標回転数Ｎ＊は前述した変換テーブル（すなわち図３の実線）によって規定される交流出力電流Ｉに応じた値に設定される。
【００２１】
ふたたび、図１の説明に戻ると、単相巻線１２ｂには、全波整流回路７１、平滑回路７２及び制御用電源回路７３がこの順に接続されている。全波整流回路７１は、ダイオードＤ４，Ｄ５，Ｄ６，Ｄ７からなる単相ブリッジ回路で構成され、単相巻線１２ｂから出力される単相交流出力を全波整流することにより直流に変換して直流電源ラインＬ５，Ｌ６に出力する。平滑回路７２は、直流電源ラインＬ５，Ｌ６間に接続された電解コンデンサで構成され、全波整流回路７１から出力される直流電圧を平滑化する。制御用電源回路７３は、平滑回路７２により平滑化されて直流電源ラインＬ５，Ｌ６から入力される直流電圧を所定の直流電圧に変更して、コンピュータ部６０の電源電圧として供給する。なお、この制御用電源回路７３は、電圧安定化回路２１、ＰＷＭコントローラ４２などのインバータ式発電機の作動制御のための各種回路にも直流電圧を供給する。
【００２２】
また、インバータ式発電機は、エコノミーモード選択スイッチ８１、電流センサ８２、電圧センサ８３及びエンジン回転数センサ８４も備えている。エコノミーモード選択スイッチ８１は、オフ状態によりノーマルモードを選択し、ユーザのオン操作によりエコノミーモードを選択するためのスイッチであり、ノーマルモード又はエコノミーモードを表す選択信号を出力する。電流センサ８２は、交流出力ラインＬ４に介装され、外部へ出力される交流出力電流Ｉを検出して、検出した交流出力電流Ｉを表す検出信号を出力する。電圧センサ８３は、交流出力ラインＬ３，Ｌ４間に接続され、外部へ出力される交流出力電圧を検出して、検出した交流出力電圧を表す検出信号を出力する。エンジン回転数センサ８４は、エンジン１０の出力回転軸（又はそれに連結された回転軸）の近傍に配置され、エンジン１０の回転数Ｎを検出して、検出した回転数Ｎを表す検出信号を出力する。
【００２３】
これらのエコノミーモード選択スイッチ８１、電流センサ８２、電圧センサ８３及びエンジン回転数センサ８４は、インターフェース回路８５に接続されている。インターフェース回路８５は、エコノミーモード選択スイッチ８１、電流センサ８２、電圧センサ８３及びエンジン回転数センサ８４から出力される検出信号を入力してコンピュータ部６０に供給する。この場合、インターフェース回路８５は、例えば、電流センサ８２及び電圧センサ８３から出力される信号がアナログ信号であれば、ディジタル信号に変更してコンピュータ部６０に供給する。また、エンジン回転数センサ８４から入力される信号がエンジン１０の回転に対応したパルス列信号であれば、このパルス列信号の周期を計測してエンジン１０の回転数Ｎを計算し、この回転数Ｎを表すディジタル信号をコンピュータ部６０に出力する。なお、この回転数Ｎの計算をコンピュータ部６０に担当させてもよい。
【００２４】
次に、上記のように構成した実施形態の動作を説明する。ユーザは、出力端子ＯＵＴ１，ＯＵＴ２に交流で動作する外部交流機器を接続するとともに、エコノミーモード選択スイッチ８１の操作によりエンジン１０の運転モードを選択した後、エンジン１０を始動する。そして、エンジン１０が始動されて、その出力回転軸が回転されると、３相巻線１２ａは３相交流電圧を発生するとともに、単相巻線１２ｂは単相交流電圧を発生する。単相巻線１２ｂに発生された単相交流電圧は、全波整流回路７１によって全波整流され、かつ平滑回路７２によって平滑化されて、平滑化された直流電圧が直流電源ラインＬ５，Ｌ６を介して制御用電源回路７３に供給される。制御用電源回路７３は、この供給された直流電圧に基づいてコンピュータ部６０を含む各種制御回路に直流電圧を電源電圧として供給する。これにより、コンピュータ部６０を含む各種制御回路は作動を開始する。
【００２５】
一方、３相巻線１２ａに発生された３相交流電圧は、全波整流回路２０によって全波整流され、かつ平滑回路３０によって平滑化されて、平滑化された直流電圧が直流電源ラインＬ１，Ｌ２を介してインバータ回路４０に供給される。インバータ回路４０は、供給された直流出力を矩形波状の交流出力に変換して出力回路５０に供給する。出力回路５０は、前記供給された矩形波状の交流出力を正弦波状の交流信号に変換して、出力端子ＯＵＴ１、ＯＵＴ２を介して外部交流機器に供給する。したがって、外部交流機器は、前記供給された交流電力を用いて動作可能となる。
【００２６】
この場合、電圧安定化回路２１は、全波整流回路２０のサイリスタＴ１，Ｔ２，Ｔ３を制御することにより、全波整流回路２０からの出力を安定させる。ＣＰＵ６１は、図示しないプログラムの実行により、電圧センサ８３から交流出力電圧を入力して、ＰＷＭコントローラ４２を制御する。ＰＷＭコントローラ４２は、このコンピュータ部６０の制御に従ってインバータ回路４０のスイッチング回路４１をスイッチング制御して、外部交流機器に供給される交流電圧を安定させる。また、ＣＰＵ６１は、タイマ６４の制御のもとに、図２の回転数制御プログラムを所定の短時間ごと（例えば、２５ミリ秒ごと）に繰り返し実行して、交流出力電流Ｉに応じてエンジン１０の回転数Ｎを制御する。
【００２７】
以下、このエンジン１０の回転数Ｎの制御について、図２の回転数制御プログラムを用いて詳しく説明する。この回転数制御プログラムの実行は、ステップＳ１０にて開始され、ＣＰＵ６１は、ステップＳ１１にて、電流センサ８２及びエンジン回転数センサ８４からインターフェース回路８５を介して交流出力電流Ｉ及びエンジン１０の回転数Ｎをそれぞれ入力して、入力した回転数Ｎを一時的に記憶するとともに、入力した交流出力電流Ｉを今回交流出力電流Ｉnewとして一時的に記憶する。この場合、今回交流出力電流Ｉnewとは、今回の回転数制御プログラムの実行時に入力した交流出力電流Ｉを表すものである。これに対して、後述する前回交流出力電流Ｉoldは、前回の回転数制御プログラムの実行時に入力した交流出力電流Ｉを表す。
【００２８】
前記ステップＳ１１の処理後、ＣＰＵ６１は、ステップＳ１２にて、エコノミーモード選択スイッチ８１からインターフェース回路８５を介して選択信号を入力して、エコノミーモードが選択されているか、ノーマルモードが選択されているかを判定する。最初に、エコノミーモードが選択されている場合について説明する。この場合、ＣＰＵ６１は、ステップＳ１２にて「Ｙｅｓ」と判定して、ステップＳ１３にて減少フラグＤＷＦが“０”であるかを判定する。この減少フラグＤＷＦは、“０”により図３の実線に示す変換特性でエンジン１０の回転数Ｎを制御している状態を表し、“１”により図３の破線に示す変換特性でエンジン１０の回転数Ｎを制御している状態を表す。そして、減少フラグＤＷＦは、コンピュータ部６０の作動開始時には図示しない初期設定により、“０”に設定されている。したがって、エンジン１０の回転数Ｎの制御の初期においては、ＣＰＵ６１は、ステップＳ１３に「Ｙｅｓ」判定してプログラムをステップＳ１４以降に進める。
【００２９】
ステップＳ１４においては、ＣＰＵ６１は、今回交流出力電流Ｉnewが電流Ｉp2（図３参照）に等しいかを判定する。エンジン１０の始動開始から間もない状態では、今回交流出力電流Ｉnewは小さく電流Ｉp2に等しいことはないので、ＣＰＵ６１は、ステップＳ１４にて「Ｎｏ」と判定してプログラムをステップＳ２０以降に進める。ステップＳ２０においては、ＣＰＵ６１は、前記ステップＳ１３の判定処理と同様に、減少フラグＤＷＦが“０”であるかを判定する。この場合も、減少フラグＤＷＦは“０”であるので、ＣＰＵ６１は、ステップＳ２０にて「Ｙｅｓ」と判定して、ステップＳ２２の処理を実行する。ステップＳ２２においては、ＣＰＵ６１は、ＲＯＭ６２に記憶されている変換テーブル（図３の実線）を参照して、今回交流出力電流Ｉnewに対応した目標回転数Ｎ＊を計算する。なお、変換テーブルには離散した（連続していない）今回交流出力電流Ｉnewに対して離散した目標回転数Ｎ＊が記憶されているので、この目標回転数Ｎ＊の計算では適宜補間演算を利用するものとする。
【００３０】
前記ステップＳ２２の処理後、ＣＰＵ６１は、ステップＳ２５にて、前記計算した目標回転数Ｎ＊から前記ステップＳ１１の処理により入力したエンジン１０の現在の回転数Ｎを減算し、この減算結果Ｎ＊−Ｎに比例した制御値を表す制御信号を開度調整部１１に出力する。開度調整部１１は、制御値が大きくなるに従ってスロットルバルブの開度が大きくなるように制御、すなわちエンジン１０の回転数Ｎが目標回転数Ｎ＊に一致するように制御する。なお、制御値が負の値である場合には、開度調整部１１は、制御値が小さくなる（制御値の絶対値が大きくなる）に従って、スロットルバルブの開度が小さくなるように制御する。
【００３１】
前記ステップＳ２５の処理後、ＣＰＵ６１は、ステップＳ２６にて、前回交流出力電流Ｉoldを今回交流出力電流Ｉnewに更新して、この回転数制御プログラムの実行を一旦終了する。これにより、次回の回転数制御プログラムの実行時には、１回前の回転数制御プログラムの実行時における交流出力電流Ｉが前回交流出力電流Ｉoldとして設定されていることになる。
【００３２】
そして、所定の短時間が経過すると、ＣＰＵ６１は、ステップＳ１０から前記回転数制御プログラムをふたたび実行する。この場合も、エコノミーモードが選択されており、減少フラグＤＷＦは“０”に保たれたままであり、今回交流出力電流Ｉnewは電流Ｉp2に達していないので、前記と同様なステップＳ２２，Ｓ２５の処理により、エンジン１０の回転数Ｎは目標回転数Ｎ＊に等しくなるように制御される。そして、前述した処理が繰り返し行われるので、外部交流機器の負荷が変動して交流出力電流Ｉが変化しても、エンジン１０の回転数Ｎは、図３の実線により規定される交流出力電流Ｉに対応した目標回転数Ｎ＊に等しく制御され続ける。これにより、外部交流機器の負荷に応じてエンジンの回転数Ｎが制御され、例えば外部交流機器で必要とされる交流電力が少ない場合には、エンジン１０の回転数Ｎが下がるので、エンジン１０で消費される燃料を削減でき、このインバータ式発電機の燃費を向上させることができる。
【００３３】
このような外部交流機器の負荷の変動により、交流出力電流Ｉが増加して電流Ｉp2（図３参照）に達すると、ＣＰＵ６１は、ステップＳ１４にて「Ｙｅｓ」と判定して、ステップＳ１５の判定処理を実行する。ステップＳ１５においては、ＣＰＵ６１は、今回交流出力電流Ｉnewから前回交流出力電流Ｉoldを減算して、減算結果Ｉnew−Ｉoldが負であるかを判定する。この判定は、交流出力電流Ｉ（すなわちエンジン１０の回転数Ｎ）が増加傾向にあるか、減少傾向にあるかを判定するものである。前述のように、交流出力電流Ｉが増加して電流Ｉp2に達した場合には、今回交流出力電流Ｉnewは前回交流出力電流Ｉoldよりも大きいので、ＣＰＵ６１は、ステップＳ１５にて「Ｎｏ」と判定し、前述のように、ステップＳ２０において「Ｙｅｓ」と判定して、ステップＳ２２，Ｓ２５の処理によりエンジン１０の回転数Ｎを変換テーブルを用いて目標回転数Ｎ＊に制御する。
【００３４】
したがって、この場合も、エンジン１０の回転数Ｎは、図３の実線に沿った特性に従って制御される。しかし、この場合には、交流出力電流Ｉが電流Ｉp2に等しくなった時点（又はその直後）で、目標回転数Ｎ＊はポイントＰ２’における回転数Ｎ（例えば、略３８００ｒｐｍ）からポイントＰ２における回転数Ｎ１（例えば、略４２００ｒｐｍ）に、前記両回転数の間の回転数（例えば、略３８００〜４２００ｒｐｍ）をスキップして（飛び越えて）増加する。これにより、エンジン１０は、共振する回転数付近（例えば、略３９００〜４０００ｒｐｍ）で回転しなくなり、交流出力電流Ｉが増加するに従って増加する回転数Ｎにエンジン１０を制御するようにしたインバータ式発電機においても、エンジン１０の共振点に関係したエンジン１０の振動が抑制されて、大きな騒音が発生しなくなる。
【００３５】
そして、外部交流機器の負荷がさらに増加して交流出力電流Ｉが増加すれば、エンジン１０の回転数Ｎは、ポイントＰ２よりも図３の右上方に位置する実線によって規定される交流出力電流Ｉに対応した目標回転数Ｎ＊に等しくなるように制御される。一方、前記状態から、交流出力電流Ｉが減少して電流Ｉp2（図３参照）に達した場合も、ＣＰＵ６１は、前述のように、ステップＳ１４にて「Ｙｅｓ」と判定して、ステップＳ１５の判定処理を実行する。しかし、この場合には、今回交流出力電流Ｉnewは前回交流出力電流Ｉoldよりも小さいので、今回交流出力電流Ｉnewから前回交流出力電流Ｉoldを減算した減算結果Ｉnew−Ｉoldは負となる。したがって、この場合には、ＣＰＵ６１は、ステップＳ１５にて「Ｙｅｓ」と判定して、ステップＳ１６にて減少フラグＤＷＦを“１”に設定する。
【００３６】
このようにして、減少フラグＤＷＦが“１”に設定されると、ＣＰＵ６１はステップＳ２０にて「Ｎｏ」と判定して、ステップＳ２３にて目標回転数Ｎ＊を予め決めた固定値である回転数Ｎ１に設定する。そして、次のステップＳ２５においては、ＣＰＵ６１は、前記と同様に、エンジン１０の回転数Ｎが目標回転数Ｎ＊に等しくなるように開度調整部１１を制御するので、エンジン１０の回転数Ｎは前記回転数Ｎ１になる。そして、次に回転数制御プログラムが実行された際には、減少フラグＤＷＦが“１”に設定されているので、ＣＰＵ６１は、ステップＳ１３にて「Ｎｏ」と判定して、ステップＳ１７、Ｓ１８の処理を実行する。ステップＳ１７においては、ＣＰＵ６１は、今回交流出力電流Ｉnewが図３に示すポイントＰ１’に対応した電流Ｉp1よりも小さいかを判定する。ステップＳ１８においては、ＣＰＵ６１は、今回交流出力電流Ｉnewが図３に示すポイントＰ２に対応した電流Ｉp2よりも大きいかを判定する。
【００３７】
そして、今回交流出力電流Ｉnewが電流Ｉp1以上であり、かつ電流Ｉp2以下である限り、ＣＰＵ６１は、ステップＳ１７，Ｓ１８にて共に「Ｎｏ」と判定して、ステップＳ２０以降の処理を実行する。この場合、減少フラグＤＷＦは“１”に保たれているので、ＣＰＵ６１は、ステップＳ２０にて「Ｎｏ」と判定し、ステップＳ２３にて目標回転数Ｎ＊を前記と同様な回転数Ｎ１に設定し、ステップＳ２５にてエンジン１０の回転数Ｎが目標回転数Ｎ＊に等しくなるように開度調整部１１を制御する。したがって、交流出力電流Ｉが電流Ｉp1以上であり、かつ電流Ｉp2以下である限り、図３の破線で示すように、エンジン１０の回転数Ｎは回転数Ｎ１に保たれ続ける。
【００３８】
しかし、今回交流出力電流Ｉnewが電流Ｉp1よりも小さくなると、ＣＰＵ６１は、ステップＳ１７にて「Ｙｅｓ」と判定して、ステップＳ１９にて減少フラグＤＷＦを“０”に変更する。したがって、この場合には、ＣＰＵ６１は、次のステップＳ２０にて「Ｙｅｓ」と判定し、ステップＳ２２，Ｓ２５の処理により、エンジン１０の回転数Ｎが前記変換テーブル（図３の実線）によって規定される目標回転数Ｎ＊に等しくなるように、開度調整部１１を制御する。したがって、この場合には、今回交流出力電流Ｉnewが電流Ｉp2よりも小さくなった時点で、目標回転数Ｎ＊はポイントＰ１’における回転数Ｎ（例えば、略４２００ｒｐｍ）からポイントＰ１における回転数Ｎ（例えば、略３５００ｒｐｍ）に、前記両回転数の間の回転数（例えば、略３５００〜４２００ｒｐｍ）をスキップして（飛び越えて）減少する。
【００３９】
これにより、エンジン１０は、この場合も、共振する回転数付近（例えば、略３９００〜４０００ｒｐｍ）で回転することなく、交流出力電流Ｉが増加するに従って増加する回転数Ｎにエンジン１０を制御するようにしたインバータ式発電機において、エンジン１０の共振点に関係したエンジン１０の振動が抑制されて、大きな騒音が発生しなくなる。また、この交流出力電流Ｉの減少時におけるエンジン１０の回転数Ｎのスキップ幅（例えば、７００ｒｐｍ）は、前述した交流出力電流Ｉの増加時のエンジン１０の回転数Ｎのスキップ幅（例えば、４００ｒｐｍ）よりも大きい。エンジン１０においては、一般的に、外部交流機器の負荷が減少して回転数Ｎが減少するときには、外部交流機器の負荷が増加して回転数Ｎが増加するときに比べて、共振点付近で振動し易くなる傾向にある。しかし、前述のように、エンジン１０の回転数Ｎの減少時のスキップ幅をエンジン１０の回転数Ｎの増加時のスキップ幅よりも大きくしたので、エンジン１０の共振による振動を確実に防止することができ、エンジン１０による騒音の発生を確実に小さくできる。
【００４０】
さらには、交流出力電流Ｉの増加時には交流出力電流Ｉが電流Ｉp2になった時点でエンジン１０の回転数Ｎを非連続的に大きく上昇させ、かつ交流出力電流Ｉの減少時には交流出力電流Ｉが前記電流Ｉp2よりも小さな電流Ｉp1を超えた時点でエンジン１０の回転数Ｎを非連続的に大きく減少させた。これにより、交流出力電流Ｉに対するエンジン１０の回転数Ｎの変化にヒステリシスがもたらされるので、交流出力電流Ｉが電流Ｉp1（又はＩp2）付近で増減しても、エンジン１０の回転数Ｎが繰り返し急変することを回避できる。
【００４１】
また、今回交流出力電流Ｉnewが電流Ｉp2よりも小さくなった後に（すなわち、減少フラグＤＷＦが“１”に設定された状態で）、今回交流出力電流Ｉnewが電流Ｉp2よりもふたたび大きくなった場合には、ＣＰＵ６１は、ステップＳ１８にて「Ｙｅｓ」と判定して、前述したステップＳ１９の処理により減少フラグＤＷＦを“０”に変更する。したがって、この場合にも、ＣＰＵ６１は、次のステップＳ２０にて「Ｙｅｓ」と判定し、ステップＳ２２，Ｓ２５の処理により、エンジン１０の回転数Ｎが前記変換テーブル（図３の実線）によって規定される目標回転数Ｎ＊に等しくなるように、開度調整部１１を制御する。これにより、エンジン１０の回転数Ｎは、ふたたび、図３のポイントＰ２よりも右上方に位置する実線によって規定される交流出力電流Ｉに対応した目標回転数Ｎ＊に等しくなるように制御される。
【００４２】
次に、ユーザが、エコノミーモード選択スイッチ８１をオン操作しなくて、このインバータ式発電機をノーマルモードで運転することを選択した場合について説明する。この場合、ＣＰＵ６１は、ステップＳ１２にて「Ｎｏ」と判定して、ステップＳ２１にて今回交流出力電流Ｉnewが図３のポイントＰ３に対応した電流Ｉp3以下であるかを判定する。今回交流出力電流Ｉnewが電流Ｉp3以下であれば、ＣＰＵ６１は、ステップＳ２１にて「Ｙｅｓ」と判定して、ステップＳ２４にて目標回転数Ｎ＊を予め決めた固定値である回転数Ｎ２に設定する。そして、ＣＰＵ６１は、前記と同様なステップＳ２５の処理により、エンジン１０の回転数Ｎが目標回転数Ｎ＊に等しくなるように開度調整部１１を制御するので、エンジン１０の回転数Ｎは前記回転数Ｎ２に制御される。そして、今回交流出力電流Ｉnewが電流Ｉp3以下である限り、ステップＳ２１の「Ｙｅｓ」との判定のもとに、ステップＳ２４，Ｓ２５の処理が実行されるので、エンジン１０の回転数Ｎは前記回転数Ｎ２に保たれ続ける。
【００４３】
一方、今回交流出力電流Ｉnewが電流Ｉp3よりも大きくなると、ＣＰＵ６１は、ステップＳ２１にて「Ｎｏ」と判定し、ステップＳ２２にて目標回転数Ｎ＊を前記変換テーブル（図３の実線）に従って設定して、ステップＳ２３にて、エンジン１０の回転数Ｎが目標回転数Ｎ＊に等しくなるように開度調整部１１を制御する。これにより、エンジン１０の回転数Ｎは、図３のポイントＰ２よりも右上方に位置する実線によって規定される交流出力電流Ｉに対応した目標回転数Ｎ＊に制御されるようになる。
【００４４】
上記説明のように、上記実施形態によれば、目標回転数Ｎ＊がエンジン１０が共振する回転数付近をスキップするように決定され、エンジン１０の回転数Ｎが目標回転数Ｎ＊に制御されるので、エンジン１０は共振する回転数付近で回転しなくなる。これにより、交流出力電流Ｉが増加するに従って増加する回転数Ｎにエンジン１０を制御するようにしたインバータ式発電機においても、エンジン１０の共振点に関係したエンジン１０の振動が抑制されて、大きな騒音が発生しなくなる。また、交流出力電流Ｉ（エンジン１０の回転数Ｎ）の減少時のスキップ幅を交流出力電流Ｉ（エンジン１０の回転数Ｎ）の増加時のスキップ幅よりも大きくしたので、エンジン１０の共振による振動を確実に防止することができ、エンジン１０による騒音の発生を確実に小さくできる。
【００４５】
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【００４６】
上記実施形態においては、エンジン１０の共振点が略３９００〜４０００ｒｐｍ付近に１つだけある場合について説明した。しかし、この共振点は、エンジン１０の構造によっては、前記とは異なる回転数付近にある場合もある。この場合には、交流出力電流Ｉによって決まる目標回転数Ｎ＊を、前記異なる共振点に対応した回転数付近をスキップさせるようにすればよい。また、エンジン１０の構造によっては、複数の異なる共振点が存在する場合もある。この場合には、前記交流出力電流Ｉによって決まる目標回転数Ｎ＊を、前記複数の異なる共振点に対応した複数の回転数付近をそれぞれスキップさせるようにすればよい。
【００４７】
この具体的な一例として、共振点が３箇所ある場合について説明する。この場合、変換テーブルにより規定されるエンジン１０の目標回転数Ｎ＊（回転数Ｎ）は、図５の実線で示すように変化する。この図５においても、ポイントＰ１，Ｐ１’，Ｐ２，Ｐ２’，Ｐ３に関しては、図３の場合と同じである。但し、ポイントＰ１，Ｐ１’，Ｐ２，Ｐ２’に対応する交流出力電流Ｉ及び目標回転数Ｎ＊の値は前記図３の場合とは異なる。この図５の例においても、交流出力電流Ｉの増加時には、ポイントＰ２’にて目標回転数Ｎ＊が、ポイントＰ２’，Ｐ２間に存在する共振点に対応する回転数付近を所定幅だけスキップして増加する。また、この図５の例においては、交流出力電流Ｉの増加時には、ポイントＰ５’，Ｐ３’においても、目標回転数Ｎ＊がポイントＰ５’，Ｐ５及びポイントＰ３’，Ｐ３間にそれぞれ存在する共振点に対応する回転数付近を所定幅だけそれぞれスキップして増加するようになっている。
【００４８】
さらに、交流出力電流Ｉの減少時には、ポイントＰ１’にて目標回転数Ｎ＊がポイントＰ２’，Ｐ２間に存在する共振点に対応する回転数付近を所定幅だけスキップして減少するのに加えて、ポイントＰ４’，Ｐ６’においても目標回転数Ｎ＊がポイントＰ５’，Ｐ５及びポイントＰ３’，Ｐ３間にそれぞれ存在する共振点に対応する回転数付近を所定幅だけそれぞれスキップして減少するようになっている。この交流出力電流Ｉの減少時には、ポイントＰ２において目標回転数Ｎ＊が回転数Ｎ１に固定されるのに加えて、ポイントＰ３，Ｐ５においても目標回転数Ｎ＊が回転数Ｎ２，Ｎ３にそれぞれ固定されるようになっている。なお、この場合も、交流出力電流Ｉの減少時におけるスキップ量は、交流出力電流Ｉの増加時におけるスキップ量よりも大きく、ポイントＰ１’，Ｐ４’，Ｐ６’におけるスキップ量は、それぞれポイントＰ１’，Ｐ１間、ポイントＰ４’，Ｐ４間及びポイントＰ６’，Ｐ６間の回転数に等しい。また、ポイントＰ１，Ｐ１’に対応する電流はＩp1であり、ポイントＰ２，Ｐ２’に対応する電流はＩp2であり、ポイントＰ４，Ｐ４’に対応する電流はＩp4であり、ポイントＰ５，Ｐ５’に対応する電流はＩp5であり、ポイントＰ６，Ｐ６’に対応する電流はＩp6であり、ポイントＰ３，Ｐ３’に対応する電流はＩp3である。
【００４９】
このような変化特性に目標回転数Ｎ＊を設定するためには、ＣＰＵ６１は、図２の回転数制御プログラムの一部を変形した回転数制御プログラムを、上記実施形態の場合と同様に、所定の短時間ごとに繰り返せばよい。この変形例に係る回転数制御プログラムは、図２のステップＳ１２とステップＳ２５との間の処理を図４に示すように変更されている。ただし、この変形例に係る回転数制御プログラムにおいても、図２のステップＳ２１，２４の処理は同じであり、これらのステップＳ２１、Ｓ２４は図４において省略されている。また、図２の回転数制御プログラムと同じ処理に関しては図２と同じ符号を付している。さらに、図１に示したインバータ式発電機の構成は、この変形例においても同じである。
【００５０】
この変形例に係る回転数制御プログラムの処理動作について説明すると、エコノミーモードが選択されている状態で、減少フラグＤＷＦが“０”に設定されている場合には、上記実施形態と同様に、ＣＰＵ６１は、ステップＳ１３にて「Ｙｅｓ」と判定して、ステップＳ１４，Ｓ１５，Ｓ１６ａ，Ｓ３１〜Ｓ３６の処理を実行する。この場合も、上記実施形態と同様に、ＣＰＵ６１は、ステップＳ１４，Ｓ１５，Ｓ１６ａの処理により、今回交流出力電流Ｉnewが減少中に電流Ｉp2に達しない限り、減少フラグＤＷＦを“０”に保つ。一方、今回交流出力電流Ｉnewが減少中に電流Ｉp2に達した場合には、ＣＰＵ６１は、ステップＳ１６ａにて減少フラグＤＷＦを“１”に変更する。ただし、この場合には、上記実施形態とは異なり、ＣＰＵ６１は、ステップＳ１６ａの処理により、第１減少サブフラグＤＷＦ１を“１”に変更する。この第１減少サブフラグＤＷＦ１は、“１”により、目標回転数Ｎ＊が回転数Ｎ１に固定される状態、すなわち目標回転数Ｎ＊がポイントＰ２，Ｐ１’間の破線で示された特性に従って制御される状態を表す。また、この第１減少サブフラグＤＷＦ１は、“０”によりそれ以外の状態を示し、初期には“０”に設定されている。
【００５１】
また、前記ステップＳ１４，Ｓ１５，Ｓ１６ａの処理後、ＣＰＵ６１は、ステップＳ３１〜Ｓ３３の処理を実行する。これらのステップＳ３１〜Ｓ３３の処理は、前記ステップＳ１４，Ｓ１５，Ｓ１６ａと同種の処理であり、異なる点は、ステップＳ３１において今回交流出力電流Ｉnewが電流Ｉp5と比較される点と、ステップＳ３３にて減少フラグＤＷＦに加えて第２減少サブフラグＤＷＦ２が“１”に設定される点である。このようなステップＳ３１〜Ｓ３３の処理により、ＣＰＵ６１は、今回交流出力電流Ｉnewが減少中に電流Ｉp5に達しない限り、減少フラグＤＷＦを“０”に保つ。一方、今回交流出力電流Ｉnewが減少中に電流Ｉp5に達した場合には、ＣＰＵ６１は、ステップＳ３３にて減少フラグＤＷＦ及び第２減少サブフラグＤＷＦ２を“１”に変更する。この第２減少サブフラグＤＷＦ２は、“１”により、目標回転数Ｎ＊が回転数Ｎ３に固定される状態、すなわち目標回転数Ｎ＊がポイントＰ５，Ｐ４’間の破線で示された特性に従って制御される状態を表す。また、この第２減少サブフラグＤＷＦ２も、“０”によりそれ以外の状態を示し、初期には“０”に設定されている。
【００５２】
また、前記ステップＳ３１〜Ｓ３３の処理後、ＣＰＵ６１は、ステップＳ３４〜Ｓ３６の処理を実行する。これらのステップＳ３４〜Ｓ３６の処理も、前記ステップＳ１４，Ｓ１５，Ｓ１６ａと同種の処理であり、異なる点は、ステップＳ３４において今回交流出力電流Ｉnewが電流Ｉp3と比較される点と、ステップＳ３６にて減少フラグＤＷＦに加えて第３減少サブフラグＤＷＦ３が“１”に設定される点である。このようなステップＳ３４〜Ｓ３６の処理により、ＣＰＵ６１は、今回交流出力電流Ｉnewが減少中に電流Ｉp3に達しない限り、減少フラグＤＷＦは“０”に保つ。一方、今回交流出力電流Ｉnewが減少中に電流Ｉp3に達した場合には、ＣＰＵ６１は、ステップＳ３６にて減少フラグＤＷＦ及び第３減少サブフラグＤＷＦ３を“１”に変更する。この第３減少サブフラグＤＷＦ３は、“１”により、目標回転数Ｎ＊が回転数Ｎ２に固定される状態、すなわち目標回転数Ｎ＊がポイントＰ３，Ｐ６’間の破線で示された特性に従って制御される状態を表す。また、この第３減少サブフラグＤＷＦ３も、“０”によりそれ以外の状態を示し、初期には“０”に設定されている。
【００５３】
前記ステップＳ３４〜Ｓ３６の処理後、上記実施形態の場合と同様に、ステップＳ２０にて減少フラグＤＷＦが“０”であるかが判定される。減少フラグＤＷＦが“０”であれば、この場合も、ステップＳ２２にて変換テーブルが参照されて、今回交流出力電流Ｉnewに対応した目標回転数Ｎ＊が計算される。したがって、この場合には、エンジン１０の回転数Ｎは、変換テーブルによって規定される、今回交流出力電流Ｉnewに対応した目標回転数Ｎ＊に制御される。
【００５４】
一方、減少フラグＤＷＦが“１”に設定されると、ＣＰＵ６１は、ステップＳ２０にて「Ｎｏ」と判定して、ステップＳ４５，Ｓ４６の判定処理を実行する。ステップＳ４５においては、第１減少サブフラグＤＷＦ１が“１”であるかが判定される。ステップＳ４６においては、第２減少サブフラグＤＷＦ２が“１”であるかが判定される。第１減少サブフラグＤＷＦ１が“１”であれば、ＣＰＵ６１は、ステップＳ４５にて「Ｙｅｓ」と判定して、ステップＳ２３にて目標回転数Ｎ＊を固定の回転数Ｎ１に設定する。また、第２減少サブフラグＤＷＦ２が“１”であれば、ＣＰＵ６１は、ステップＳ４６にて「Ｙｅｓ」と判定して、ステップＳ４７にて目標回転数Ｎ＊を固定の回転数Ｎ３に設定する。さらに、第３減少サブフラグＤＷＦ３が“１”であれば、ＣＰＵ６１は、ステップＳ４５，Ｓ４６にて共に「Ｎｏ」と判定して、ステップＳ４８にて目標回転数Ｎ＊を固定の回転数Ｎ２に設定する。
【００５５】
このようなステップＳ４５〜Ｓ４８の処理により、今回交流出力電流Ｉnewが減少中に電流Ｉp2に達した場合にはエンジン１０の回転数Ｎは回転数Ｎ１に固定制御され続け、今回交流出力電流Ｉnewが減少中に電流Ｉp5に達した場合にはエンジン１０の回転数Ｎは回転数Ｎ３に固定制御され続け、今回交流出力電流Ｉnewが減少中に電流Ｉp3に達した場合にはエンジン１０の回転数Ｎは回転数Ｎ２に固定制御され続ける。
【００５６】
そして、前記のように、減少フラグＤＷＦが“１”に設定されると、上記実施形態と同様に、ＣＰＵ６１は、ステップＳ１３にて「Ｎｏ」と判定して、ステップＳ３７以降の処理を実行する。ステップＳ３７においては、第１減少サブフラグＤＷＦ１が“１”であるかが判定される。第１減少サブフラグＤＷＦ１が“１”であれば、ＣＰＵ６１は、ステップＳ３７にて「Ｙｅｓ」と判定して、上記実施形態と同様なステップＳ１７、Ｓ１８の判定処理を実行する。そして、この場合も、今回交流出力電流Ｉnewが電流Ｉp1よりも小さくなるか又は電流Ｉp2よりも大きくならない限り、ＣＰＵ６１は、ステップＳ１７，Ｓ１８にて共に「Ｎｏ」と判定して、プログラムをステップＳ２０に進める。したがって、この場合には、減少フラグＤＷＦ及び第１減少サブフラグＤＷＦ１は“１”に設定され続ける。そして、前述したステップＳ２０，Ｓ４５，Ｓ２３の処理により目標回転数Ｎ＊は回転数Ｎ１に保たれ続けるので、エンジン１０の回転数Ｎは回転数Ｎ１に制御され続ける。
【００５７】
一方、今回交流出力電流Ｉnewが電流Ｉp1よりも小さくなり、又は電流Ｉp2よりも大きくなると、ＣＰＵ６１は、ステップＳ１７又はステップＳ１８にて「Ｙｅｓ」と判定する。そして、ＣＰＵ６１は、ステップＳ１９ａにて減少フラグＤＷＦ及び第１減少サブフラグＤＷＦ１を共に“０”に戻して、プログラムをステップＳ２０に進める。したがって、この場合には、前述したステップＳ２０，Ｓ２２の処理により、目標回転数Ｎ＊が変換テーブルによって規定される値に設定されるので、エンジン１０の回転数Ｎは変換テーブルによって規定される目標回転数Ｎ＊にふたたび制御されるようになる。
【００５８】
また、第１減少サブフラグＤＷＦ１が“０”に設定されている場合には、ＣＰＵ６１は、ステップＳ３７にて「Ｎｏ」と判定して、プログラムをステップＳ３８に進める。ステップＳ３８においては、第２減少サブフラグＤＷＦ２が“１”であるかが判定される。第２減少サブフラグＤＷＦ２が“１”であれば、ＣＰＵ６１は、ステップＳ３８にて「Ｙｅｓ」と判定して、ステップＳ３９〜Ｓ４１からなる処理を実行する。これらのステップＳ３９〜Ｓ４１の処理は、前記ステップＳ１７，Ｓ１８，Ｓ１９ａの処理と同種の処理であり、異なる点は、ステップＳ３９にて今回交流出力電流Ｉnewが電流Ｉp4よりも小さいかを判定する点、ステップＳ４０にて今回交流出力電流Ｉnewが電流Ｉp5よりも大きいかを判定する点、及びステップＳ４１にて第２減少サブフラグＤＷＦ２を“１”に設定する点である。
【００５９】
したがって、今回交流出力電流Ｉnewが電流Ｉp4よりも小さくなるか又は電流Ｉp5よりも大きくならない限り、減少フラグＤＷＦ及び第２減少サブフラグＤＷＦ２は“１”に設定され続ける。そして、この場合には、前述したステップＳ２０，Ｓ４５，Ｓ４６，Ｓ４７の処理により、目標回転数Ｎ＊が固定の回転数Ｎ３に保たれ続けるので、エンジン１０の回転数Ｎは回転数Ｎ３に制御され続ける。一方、今回交流出力電流Ｉnewが電流Ｉp4よりも小さくなり、又は電流Ｉp5よりも大きくなると、ＣＰＵ６１は、ステップＳ３９又はステップＳ４０にて「Ｙｅｓ」と判定する。そして、ＣＰＵ６１は、ステップＳ４１にて減少フラグＤＷＦ及び第２減少サブフラグＤＷＦ２を共に“０”に戻して、プログラムをステップＳ２０に進める。したがって、この場合には、前述したステップＳ２０，Ｓ２２の処理により、目標回転数Ｎ＊が変換テーブルによって規定される値に設定されるので、エンジン１０の回転数Ｎは変換テーブルによって規定される目標回転数Ｎ＊にふたたび制御されるようになる。
【００６０】
また、第１及び第２減少サブフラグＤＷＦ１，ＤＷＦ２が共に“０”に設定されている場合には、すなわち第３減少サブフラグＤＷＦ３が“１”に設定されている場合には、ＣＰＵ６１は、ステップＳ３７，Ｓ３８にて共に「Ｎｏ」と判定して、ステップＳ４２〜Ｓ４４からなる処理を実行する。これらのステップＳ４２〜Ｓ４４の処理は、前記ステップＳ１７，Ｓ１８，Ｓ１９ａの処理と同種の処理であり、異なる点は、ステップＳ４２にて今回交流出力電流Ｉnewが電流Ｉp6よりも小さいかを判定する点、ステップＳ４３にて今回交流出力電流Ｉnewが電流Ｉp3よりも大きいかを判定する点、及びステップＳ４４にて第３減少サブフラグＤＷＦ３を“１”に設定する点である。
【００６１】
したがって、今回交流出力電流Ｉnewが電流Ｉp6よりも小さくなるか又は電流Ｉp3よりも大きくならない限り、減少フラグＤＷＦ及び第３減少サブフラグＤＷＦ３は“１”に設定され続ける。そして、この場合には、前述したステップＳ２０，Ｓ４５，Ｓ４６，Ｓ４８の処理により、目標回転数Ｎ＊が固定の回転数Ｎ２に保たれ続けるので、エンジン１０の回転数Ｎは回転数Ｎ２に制御され続ける。一方、今回交流出力電流Ｉnewが電流Ｉp6よりも小さくなり、又は電流Ｉp3よりも大きくなると、ＣＰＵ６１は、ステップＳ４２又はステップＳ４３にて「Ｙｅｓ」と判定する。そして、ＣＰＵ６１は、ステップＳ４４にて減少フラグＤＷＦ及び第３減少サブフラグＤＷＦ３を共に“０”に戻して、プログラムをステップＳ２０に進める。したがって、この場合には、前述したステップＳ２０，Ｓ２２の処理により、目標回転数Ｎ＊が変換テーブルによって規定される値に設定されるので、エンジン１０の回転数Ｎは変換テーブルによって規定される目標回転数Ｎ＊にふたたび制御されるようになる。
【００６２】
上記説明からも理解できるとおり、上記変形例によれば、複数の共振点があっても、目標回転数Ｎ＊は、エンジン１０が共振する複数の回転数付近をそれぞれスキップするように決定され、エンジン１０の回転数Ｎが目標回転数Ｎ＊に制御されるので、エンジン１０は共振する複数の回転数付近で回転しなくなる。これにより、この場合も、エンジン１０の共振点に関係したエンジン１０の振動が抑制されて、大きな騒音が発生しなくなる。また、この変形例においても、交流出力電流Ｉ（エンジン１０の回転数Ｎ）の減少時のスキップ幅を交流出力電流Ｉ（エンジン１０の回転数Ｎ）の増加時のスキップ幅よりも大きくしたので、エンジン１０の共振による振動を確実に防止することができ、エンジン１０による騒音の発生を確実に小さくできる。
【００６３】
また、上記実施形態及び変形例においては、変換テーブルを用いて、交流出力電流Ｉに応じて変化する目標回転数Ｎ＊を計算するようにした。しかし、この変換テーブルに代えて、回転数制御プログラムに組込まれた関数又は回転数制御プログラムとは別途ＲＯＭ６２内に記憶した関数を用いて、交流出力電流Ｉに応じて変化する目標回転数Ｎ＊を計算するようにしてもよい。この場合、図３又は図５の実線に示す特性の関数を定義しておけばよい。
【００６４】
また、上記実施形態及び変形例においては、交流出力電流Ｉ（すなわちエンジン１０の回転数Ｎ）の減少中に、エンジン１０が共振する１つ又は複数の回転数付近をスキップさせて目標回転数Ｎ＊を決定する際、交流出力電流Ｉが減少しても目標回転数Ｎ＊を固定の回転数Ｎ１，Ｎ２，Ｎ３に固定するようにした。しかし、これに代えて、交流出力電流Ｉの減少中に目標回転数Ｎ＊をスキップさせる場合でも、交流出力電流Ｉの減少に従って小さな変化率で減少する目標回転数Ｎ＊を決定するようにしてもよい。ただし、交流出力電流Ｉの減少中のスキップ量を交流出力電流Ｉの増加中のスキップ量よりも大きくする関係上、前記小さな変化率に対応した傾きを交流出力電流Ｉの増加中の目標回転数Ｎ＊の傾きよりも小さく必要がある。この場合、図３において交流出力電流Ｉが電流Ｉp2から電流Ｉp1に変化する際、及び図５において交流出力電流Ｉが電流Ｉp3から電流Ｉp6に、電流Ｉp5から電流Ｉp4に、又は電流Ｉp2から電流Ｉp1に変化する際に、前記交流出力電流Ｉの減少に従って小さな変化率で減少する目標回転数Ｎ＊を規定するための変換テーブル又は関数を用いて、交流出力電流Ｉに応じて変化する目標回転数Ｎ＊を決定するようにすればよい。
【００６５】
また、上記実施形態及び変形例においては、図２及び図４のステップＳ１４，Ｓ１５，Ｓ３１，Ｓ３２，Ｓ３４，Ｓ３５の判定処理により、今回交流出力電流Ｉnewが電流Ｉp2，Ｉp5，Ｉp3を減少する方向に超えることを検出するようにした。しかし、これらの処理に代えて、今回交流出力電流Ｉnewが電流Ｉp2，Ｉp5，Ｉp3をそれぞれ増加方向に超えた時点で、これらの電流Ｉp2，Ｉp5，Ｉp3をそれぞれ増加方向に超えたことを表すフラグをそれぞれ立て（すなわち“１”に設定し）、これらのフラグが立っていることを条件に、今回交流出力電流Ｉnewが電流Ｉp2，Ｉp5，Ｉp3にふたたび等しくなったことを検出することにより、今回交流出力電流Ｉnewが電流Ｉp2，Ｉp5，Ｉp3を減少する方向に超えることを検出するようにしてもよい。なお、この場合には、前記今回交流出力電流Ｉnewが電流Ｉp2，Ｉp5，Ｉp3を減少する方向に超えた時点で、前記各フラグをリセットする（すなわち“０”に設定する）。
【００６６】
また、上記実施形態及び変形例においては、交流出力電流Ｉ（エンジン１０の回転数Ｎ）の増加時と減少時とで、目標回転数Ｎ＊が共振する回転数付近をスキップするスキップ幅を異ならせた。しかし、エンジン１０の回転数Ｎの増加時のエンジン１０の振動し易さと、エンジン１０の回転数Ｎの減少時のエンジン１０の振動し易さとが問題にならない場合には、エンジン１０の回転数Ｎの増加時の前記スキップ幅と、エンジン１０の回転数Ｎの減少時のスキップ幅を同一にしてもよい。
【００６７】
また、上記実施形態及び変形例においては、交流電力を出力するための３相巻線１２ａを一つだけ設けるようにした。しかし、一つの発電機内に、エンジン１０によって駆動されて、交流電力を出力するための複数の３相巻線を設けるようにしてもよい。この場合、複数の３相巻線の交流出力をそれぞれ全波整流するともに平滑化した複数の直流出力を合成するようにすればよい。また、交流電力を出力するための一つの３相巻線１２ａ又は前記複数の３相巻線に代えて、一つ又は複数の単相巻線を用いてもよい。
【００６８】
さらに、上記実施形態及び変形例においては、一つのインバータ式発電機を用いて外部交流機器（外部負荷）に交流電力を供給するようにした。しかし、これに代えて、他のインバータ式発電機を別途用意して、上記実施形態及び変形例に係るインバータ式発電機の出力端子ＯＵＴ１，ＯＵＴ２に、他のインバータ式発電機の出力端子を並列に接続して、複数のインバータ式発電機の交流出力を合成して外部交流機器に供給するようにしてもよい。この場合、複数のインバータ式発電機からの交流出力の位相を、インバータ回路のＰＷＭコントロール回路４２を制御することにより一致させる必要がある。
【符号の説明】
【００６９】
１０…エンジン、１１…開度調整部、１２…発電機、１２ａ…３相巻線、２０…全波整流回路、３０…平滑回路、４０…インバータ回路、５０…出力回路、６０…コンピュータ部、８１…エコノミーモード選択スイッチ、８２…電流センサ、８３…電圧センサ、８４…エンジン回転数センサ。
【図１】
2010233351.tif 000003
【図２】
2010233351.tif 000004
【図３】
2010233351.tif 000005
【図４】
2010233351.tif 000006
【図５】
2010233351.tif 000007
【図６】
2010233351.tif 000008