(57)【特許請求の範囲】
【請求項１】
内燃機関によって駆動される発電機に接続されている電気的負荷を操作する発電制御装置であって、
前記内燃機関が所定の回転速度で作動しているときの各サイクルにおけるクランク角毎の回転速度を表す波形である第１回転速度波形と、前記所定の回転速度よりも低い回転速度で前記内燃機関が作動しているときの各サイクルにおけるクランク角毎の回転速度を表す波形である第２回転速度波形と、を検出し、前記第１回転速度波形における回転速度と前記第２回転速度波形における回転速度の差を前記クランク角毎に算出し、前記算出された値を各サイクルで積算する波形検出部と、
前記積算された値に応じて、前記第２回転速度波形が前記第１回転速度波形の波形に近づくように、前記クランク角毎に前記発電機に接続されている前記電気的負荷を操作する負荷操作部と、を備え、
前記波形検出部は、前記第１回転速度波形及び前記第２回転速度波形を、それぞれ、前記内燃機関の所定のクランク位置の回転速度を基準位置として、前記基準位置における回転速度との相対的な回転速度差として表される波形として検出することを特徴とする発電制御装置。
【請求項２】
請求項１記載の発電制御装置であって、
前記波形検出部は、前記第１回転速度波形における回転速度の変動量の前記サイクル内の積算値である第１回転変動量と、前記第２回転速度波形における回転速度の変動量の前記サイクル内の積算値である第２回転変動量との対比に基づいて回転変動係数を算出し、
前記負荷操作部は、前記回転変動係数が１に近づくように前記操作を行う発電制御装置。
【請求項３】
請求項２に記載の発電制御装置と、
前記内燃機関のアイドリング回転速度を制御するアイドリング制御装置と、
を備え、
前記アイドリング制御装置は、前記回転変動係数に応じて前記アイドリング回転速度を調整する車両搭載用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関を走行駆動源とする車両の制御装置に関し、特に車両用発電制御装置及びアイドリング制御装置に関する。
【背景技術】
【０００２】
従来の発電機の発電制御装置に関する技術として、エンジンに与える発電負荷をエンジンサイクル中に予め設定されたタイミングに応じて増減し、エンジンサイクル中のエンジン回転速度の変動を抑制する技術が提案されている（特許文献１）。本技術は、エンジンサイクル中のエンジン回転速度の変動を抑制することを制御の目的としているが、エンジン回転速度の変動量をフィードバックするものではなくオープン制御であった。また、エンジンの瞬時回転速度から回転の変動トルクを算出し、発電負荷トルクにより相殺することで回転速度の変動を抑制する技術が提案されている（特許文献２）。一方、エンジンに与える発電負荷の操作に起因して発生するエンジンサイクル中の電圧変動によるヘッドライトやインパネのランプ類のちらつき、あるいは発生ノイズを界磁電流量の調整で低減させる技術も提案されている（特許文献３）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２９６８０号公報
【特許文献２】特開平５−３０２５２６号公報
【特許文献３】特開２００８−２５５８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来は、エンジンに与える発電負荷の操作によってドライバビリティを維持しつつ燃費を改善させるといった観点からは十分な検討がなされていなかった。特に、エンジン状態や変化や環境変化、バッテリ残量の観点から発電負荷の制御が行えない場合などのドライバビリティが十分考慮されていない。本発明者は、ドライバビリティの観点からはエンジン回転速度の変動を抑制させることよりもエンジン回転速度の変動がいつも同じであることが好ましいことを見出した。ところが、特許文献１ではエンジン回転速度の変動量を計測することができないオープン制御なので、たとえばエンジン状態や環境変化、バッテリ状態などの変化に対して、ロバスト性を実現することができなかった。特許文献２では回転速度の変動を計測しているが、発電負荷制御が実施できない場合、回転速度の変動量が異なるためドライバビリティが悪化する。
【０００５】
本発明は、上述の従来の課題を解決するために創作されたものであり、ドライバビリティを維持しつつ燃費を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するのに有効な手段等につき、必要に応じて効果等を示しつつ説明する。
【０００７】
構成１では、内燃機関によって駆動される発電機を制御する発電制御装置であって、前記内燃機関が所定の回転速度で作動しているときの各サイクルにおけるクランク角毎の回転速度を表す波形である第１回転速度波形と、前記所定の回転速度よりも低い回転速度で前記内燃機関が作動しているときの各サイクルにおけるクランク角毎の回転速度を表す波形である第２回転速度波形と、を検出する波形検出部と、前記第２回転速度波形が前記第１回転速度波形の波形に近づくように前記発電機に接続されている電気的負荷を操作する負荷操作部と、を備えることを特徴とする。
【０００８】
上記発明によれば、比較的に低い回転速度における各サイクルにおけるクランク角毎の回転速度を表す波形である第２回転速度波形が、比較的に高い回転速度における第１回転速度波形に近づくように発電機の負荷が制御されるので、回転速度の低下に起因する回転速度波形の変化を抑制することができる。これにより、回転速度の低下に対する人間の違和感を抑制することができる。人間の体感は特に変化に対して敏感だからである。
【０００９】
さらに、比較的に高い回転速度における第１回転速度波形を目標値としているので、たとえば経年変化によって内燃機関の回転特性が変動しても、その変動した回転特性が目標値となる。これにより、経年変化等に起因する変化を除外して回転速度の低下に起因する人間の違和感を抑制することができる。この点において、単にサイクル内の回転速度の変動を抑制する技術とは一線を画している。加えて、第１回転速度波形を目標値としてフィードバック制御を行っているので、たとえばエンジン回転速度やエンジン温度に基づいて回転変動を推測して制御する方法と比較して簡易かつロバスト性が高いという特徴も有している。
【００１０】
構成２では、前記波形検出部は、前記第１回転速度波形における回転速度と前記第２回転速度波形における回転速度の差をクランク角毎に算出し、前記算出された値を各サイクルで積算し、前記負荷操作部は、前記積算された値に応じて前記クランク角毎に前記電気的負荷を操作することを特徴とする。
【００１１】
上記発明によれば、クランク角毎に算出された回転速度の差の積算値に応じて電気的負荷が操作されるので、第２回転速度波形をクランク角毎に調整して第１回転速度波形に近づけることができる。
【００１２】
構成３では、前記波形検出部は、前記第１回転速度波形における回転速度の変動量の前記サイクル内の積算値である第１回転変動量と、前記第２回転速度波形における回転速度の変動量の前記サイクル内の積算値である第２回転変動量との対比に基づいて回転変動係数を算出し、前記負荷操作部は、前記回転変動係数が１に近づくように前記操作を行うことを特徴とする。
【００１３】
上記発明によれば、各サイクルの積算値としての各サイクルの回転速度と、各サイクルの波形とに着目し、回転速度の低下に起因する各サイクルの回転速度と各サイクルの波形の変化を抑制することができる。
【００１４】
構成４では、前記内燃機関のアイドリング回転速度を制御するアイドリング制御装置と、を備え、前記アイドリング制御装置は、前記回転変動係数に応じて前記アイドリング回転速度を調整することを特徴とする。
【００１５】
上記発明によれば、これにより、回転変動係数Ｒに応じて適切に設定されたアイドリング回転速度で制御することができるので、ドライバビリティと燃費の向上を両立させることができる。具体的には、回転変動係数Ｒの上昇に応じてアイドリング回転速度を高くすることができるので、アイドリング回転速度の設計余裕を小さくしてアイドリング回転速度を低めに設定することもできる。これにより、燃費を改善させることができる。
【００１６】
なお、本発明は、発電制御装置だけでなく、たとえば制御方法や制御機能を具現化するコンピュータプログラム、そのプログラムを格納するプログラム媒体あるいはプログラム製品といった形で具現化することもできる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態における内燃機関２０と交流発電機５０と内燃機関制御装置１０とを示す全体構成図。
【図２】第１実施形態における内燃機関制御装置１０の作動状態を示すタイムチャート。
【図３】第１実施形態における内燃機関制御装置１０の制御内容を示すフローチャート。
【図４】内燃機関２０の１サイクルにおける目標Ｎｅ波形と低アイドル化時のＮｅ波形を比較して表すグラフ。
【図５】Ｎｅ形状誤差算出部１１による学習工程の処理内容を示すフローチャート。
【図６】発電制御実施判定部１３による発電制御実施判定工程の処理内容を示すフローチャート。
【図７】走行状態判定部１２によるアイドル判定工程の処理内容を示すフローチャート。
【図８】第１実施形態における内燃機関制御装置１０の制御内容を示すタイムチャート。
【図９】発電ＯＮ／ＯＦＦ閾値決定処理のルーチンを示すフローチャート。
【図１０】回転変動係数Ｒを算出するための計算式を示す説明図。
【図１１】回転変動係数を概念的に表すグラフ。
【図１２】第１実施形態におけるアイドリング回転速度補正処理の制御内容を示すフローチャート。
【図１３】第２実施形態における内燃機関２０と交流発電機５０と内燃機関制御装置１０ａとを示す全体構成図。
【図１４】第２実施形態における内燃機関制御装置１０ａの制御内容を示すフローチャート。
【図１５】発電クランク数決定処理（ステップＳ２４０）のルーチンを示すフローチャート。
【図１６】回転変動係数Ｒと発電クランク数変動量との間の関係を表すマップＭを示す説明図。
【図１７】発電ＯＮ／ＯＦＦ判定処理（ステップＳ２５０）のルーチンを示すフローチャート。
【図１８】各サイクルにおける発電のオンオフの状態を示すタイムチャート。
【図１９】発電優先順位データの内容を表す表。
【発明を実施するための形態】
【００１８】
以下、本発明の内燃機関制御装置を搭載した車両（二輪車）に適用した２つの実施形態について、図面を参照しつつ説明する。
【００１９】
（第１実施形態）
図１は、第１実施形態における内燃機関２０と交流発電機５０と内燃機関制御装置１０とを示す全体構成図である。内燃機関２０は、各ストローク（往復運動の片道）において、吸気行程、圧縮行程、爆発行程、排気行程を行う４サイクルの単気筒エンジンである。内燃機関２０は、燃焼ガスの圧力を往復荷重に変換するピストン２１と、往復荷重を回転動力に変換するクランク軸２３と、ピストン２１からの往復荷重をクランク軸２３に伝達するコンロッド１９と、爆発行程において燃焼ガスに点火する点火プラグ２２とを備えている。内燃機関制御装置１０はＥＣＵとも呼ばれる。
【００２０】
内燃機関２０には、内燃機関２０の温度を計測するエンジン機温センサ３６と、吸気管内の圧力である吸気管圧力を計測する吸気管圧力センサ３８と、スロットルの開度を表す信号であるスロットル開度を計測するスロットル開度センサ３９と、が装備されている。さらに、内燃機関２０のクランク軸２３には、交流発電機５０が機械的に接続されている。
【００２１】
交流発電機５０は、クランク軸２３の回転に応じて交流電力を発生させる発電機である。交流電力は、負荷スイッチ６１を介して図示しない整流器で整流されてバッテリ６０に充電されるとともに、バッテリ６０に並列に接続されている図示しない電源装置に供給される。バッテリ６０は、電圧を計測して出力する機能を有している。
【００２２】
交流発電機５０は、クランク軸２３に接続されて回転することによって交流電力を発生させる発電部５９と、発電部５９の外周面に装着されている磁性を有する部材である磁性凸部５５と、磁性凸部５５の近接状態を検出するクランク角センサ３７と、を備えている。クランク角センサ３７は、クランクパルス信号をＮｅ形状誤差算出部１１に送信する。
【００２３】
一方、交流発電機５０は、交流電力の電流値に応じてクランク軸２３に対して負荷トルクＴＬを生じさせる。負荷トルクＴＬは、内燃機関２０が発生させる回転動力を減殺させる方向のトルクである。負荷スイッチ６１は、交流発電機５０の電気的負荷（バッテリ６０との電気的接続）を開閉することによって負荷トルクＴＬを操作することができる。
【００２４】
内燃機関制御装置１０は、Ｎｅ形状誤差算出部１１と、走行状態判定部１２と、発電制御実施判定部１３と、Ｎｅ形状整形操作部１４と、低アイドル化ＩＳＣ補正制御部１５と、ＩＳＣ制御部１６とを備えている。Ｎｅ形状誤差算出部１１は、通常アイドル時の規範値としての目標Ｎｅ形状（すなわち各クランク角での目標回転速度）と、低アイドル時の計測Ｎｅ形状（すなわち各クランク角での計測回転速度）の回転速度の差をクランク角毎に積算する機能を有している。なお、Ｎｅ形状誤差算出部１１は、波形検出部とも呼ばれ、低アイドル化ＩＳＣ補正制御部１５およびＩＳＣ制御部１６は、アイドリング制御装置とも呼ばれる。
【００２５】
Ｎｅ形状誤差算出部１１は、吸気管圧力センサ３８とクランク角センサ３７とからそれぞれ吸気管圧力とクランクパルス信号とを受信し、回転変動係数を算出する。回転変動係数は、Ｎｅ形状整形操作部１４と低アイドル化ＩＳＣ補正制御部１５に送信される。走行状態判定部１２は、スロットル開度センサ３９からスロットル開度を受信し、発電制御の実施状態を表す発電制御実施判定をＮｅ形状整形操作部１４と低アイドル化ＩＳＣ補正制御部１５とに送信する。発電制御実施判定部１３は、エンジン機温センサ３６とバッテリ６０とから、それぞれ内燃機関２０の計測温度であるエンジン機温とバッテリ電圧とを受信し、アイドリング状態であるか否かの判定結果であるアイドル判定の信号をＮｅ形状整形操作部１４と低アイドル化ＩＳＣ補正制御部１５とに送信する。
【００２６】
Ｎｅ形状整形操作部１４は、負荷スイッチ６１を操作して負荷トルクＴＬと発電状態とを操作することができる。低アイドル化ＩＳＣ補正制御部１５は、ＩＳＣ目標回転補正値をＩＳＣ制御部１６に送信する。ＩＳＣ制御部１６は、ＩＳＣ目標回転補正値によって補正された目標値としての回転速度となるようにアイドリング制御を実行する。本制御の詳細については後述する。
【００２７】
図２は、第１実施形態における内燃機関制御装置１０の作動状態を示すタイムチャートである。内燃機関制御装置１０は、状態監視制御機能と、発電制御機能と、ＩＳＣ制御機能とを有している。状態監視制御機は、Ｎｅ形状誤差算出部１１と、走行状態判定部１２と、発電制御実施判定部１３とによって実現され、内燃機関制御装置１０の作動中は常時作動している。矢印Ｐ１〜Ｐ８は、対応する各機能が作動中であることを示している。
【００２８】
発電制御機能は、発電負荷制御機能と発電率可変制御機能とを含んでいる。発電率可変制御機能は、図２に示されるように、加速や定速運転、減速といった走行状態に応じて発電負荷（負荷トルクＴＬ）を操作する機能である。加速、定速運転、および減速は、走行状態判定部１２によって判定される。走行状態判定部１２は、時刻ｔ３で加速、時刻ｔ４で定速運転、そして時刻ｔ５で減速を検出し、発電率可変制御機能を作動させる。
【００２９】
具体的には、加速時（矢印Ｐ６参照）には発電の抑制によって発電負荷を小さくすることによって加速性能を向上させ、減速時（矢印Ｐ８参照）には発電負荷を大きくして発電量を上昇させ、そして定速運転時（矢印Ｐ７参照）には発電量を中間的な位置とするといった制御機能を有している。これにより、加速性能を低下させることなく効率的な発電を実現させることができる。
【００３０】
発電負荷制御機能は、燃費改善のために予め設定された低い回転速度でのアイドリングである低アイドル時の回転速度を負荷トルクＴＬの操作によって安定させる制御機能である。本制御機能は、負荷トルクＴＬの操作なしで安定したアイドリングを実現可能な比較的に高い回転速度でのアイドリングである通常アイドル時の状態に近づけることを目的としている。
【００３１】
低アイドル状態は、走行状態判定部１２によって判定される。走行状態判定部１２は、時刻ｔ１で低アイドル状態を検知し、低アイドル状態を表すアイドル判定を低アイドル化ＩＳＣ補正制御部１５に送信する。低アイドル化ＩＳＣ補正制御部１５は、低アイドル化ＩＳＣ制御を起動させる（矢印Ｐ４参照）。一方、Ｎｅ形状誤差算出部１１は、回転変動係数をＮｅ形状整形操作部１４に送信する。Ｎｅ形状整形操作部１４は、発電負荷制御（負荷スイッチ６１の操作）を開始する（矢印Ｐ５参照）。
【００３２】
図３は、第１実施形態における内燃機関制御装置１０の制御内容を示すフローチャートである。図４は、内燃機関２０の１サイクルにおける目標Ｎｅ波形と低アイドル化時の計測波形である計測Ｎｅ波形を比較して表すグラフである。計測Ｎｅ波形は、各クランク角における回転速度によって表される１サイクル分の波形として定義される。目標Ｎｅ波形は、通常アイドル時の状態として学習した波形である。内燃機関制御装置１０は、低アイドル化時の計測Ｎｅ波形を目標Ｎｅ波形に近づけることを制御の目的としている。なお、目標Ｎｅ波形と計測Ｎｅ波形は、それぞれ第１回転速度波形と第２回転速度波形とも呼ばれる。
【００３３】
ステップＳ１０では、Ｎｅ形状誤差算出部１１は、学習行程を実行する。学習行程は、目標Ｎｅ波形が取得される行程である。目標Ｎｅ波形を取得するのは、通常アイドルから低アイドルへの回転速度の低下に伴うドライバビリティの変化を抑制するためである。
【００３４】
目標Ｎｅ波形としては、低アイドル時の回転速度の低振動化や回転の安定化のみを考慮すれば、製造時のＮｅ波形や理想値としてのＮｅ波形を利用することも考えられる。しかし、本発明者は、人間の体感が変化に敏感であって絶対値に敏感でないことに着目し、学習によって取得された目標Ｎｅ波形を利用する構成とした。これにより、経年変化等によって内燃機関２０の通常アイドル時のＮｅ波形が変化しても、その変化後のＮｅ波形に近づけるように制御されるので、人間の体感で検知される変化を抑制することができる。
【００３５】
図５は、Ｎｅ形状誤差算出部１１による学習工程の処理内容を示すフローチャートである。ステップＳ１１では、Ｎｅ形状誤差算出部１１は、行程判別を実行する。行程判別は、クランク角センサ３７（図１参照）によって生成されるクランクパルス信号に応じて計測される各クランク角に対応する行程を判別する工程である。行程判別では、先ずクランクパルス信号に応じて計測される各クランク角を計測し、次に各クランク角の行程を判別する処理が行われる。
【００３６】
クランク角の計測は、磁性凸部５５がクランク角センサ３７に近づく毎に発生するクランクパルス信号をカウントすることによって行われる。具体的には、図１に示される状態では、上死点の位置において０番（１２番とも呼ばれる。）の磁性凸部５５がクランク角センサ３７に近接している。この状態では、クランク角は、クランク番号ＮＮＵＭが１２番であると定義される。クランク角は、発電部５９の回転に応じて、１番の磁性凸部５５がクランク角センサ３７に近接してクランク番号ＮＮＵＭが１番となる。
【００３７】
一方、Ｎｅ形状誤差算出部１１は、パルス間時間Ｔ３０を計測して図示しないメモリに格納している。パルス間時間Ｔ３０は、発電部５９の回転に応じて生成されたクランクパルス信号毎の時間間隔である。クランクパルス信号は、発電部５９の３０度の回転角度毎に生成される。Ｎｅ形状誤差算出部１１は、４番の磁性凸部５５と６番の磁性凸部５５の近接の間にパルス間時間Ｔ３０のほぼ２倍の時間が経過していることを検出し、６番の磁性凸部５５であることを確認することができる。５番の磁性凸部５５は、意図的に欠落させられているからである。
【００３８】
Ｎｅ形状誤差算出部１１は、吸気管圧力センサ３８の計測圧力である吸気管圧力を利用してクランク角の行程を判別することができる。Ｎｅ形状誤差算出部１１は、爆発行程と吸気行程とにおける吸気管圧力の相違を利用して行程を判別する。具体的には、図４において、クランク番号ＮＮＵＭが１０番の時の計測圧力が予め設定された圧力より高く爆発行程であると仮判別した後に、次のクランク番号ＮＮＵＭが１０番の時の計測圧力が予め設定された圧力より低く吸気行程（吸気状態）であると判別することによって判定可能である。これにより、１サイクルで２回回転する発電部５９のクランク角と各行程とを対応付けることができる。
【００３９】
ステップＳ１２では、Ｎｅ形状誤差算出部１１は、行程判別後に１サイクル経過したことを確認する。Ｎｅ形状誤差算出部１１は、発電制御（後述）が実施されておらず（ステップＳ１４）かつアイドリング中であること（ステップＳ１５）を確認して目標Ｎｅ波形を取得する（ステップＳ１６）。これにより、目標Ｎｅ波形は、通常アイドルのＮｅ波形とすることができる。
【００４０】
ステップＳ２０（図３参照）では、内燃機関制御装置１０の発電制御実施判定部１３は、発電制御の実行可否を判定する。発電制御の実行可否は、発電制御を実施することが二輪車（図示省略）のシステム全体として適切か否かを判定する処理である。
【００４１】
図６は、発電制御実施判定部１３による発電制御実施判定工程の処理内容を示すフローチャートである。ステップＳ２１では、発電制御実施判定部１３は、エンジン機温センサ３６で計測された内燃機関２０の温度であるエンジン機温ＬＴＨＥが予め設定された閾値としての温度（本実施形態では０度）よりも高いか否かで判定する。暖気が完了するまでは、通常アイドリングが行われるので発電制御の必要が無いからである。
【００４２】
ステップＳ２２では、発電制御実施判定部１３は、低回転速度状態であることを確認する。低回転速度状態は、アイドリング回転速度近傍の回転速度での作動を意味し、１サイクルの平均回転速度ＮＥ７２０が予め設定された範囲（８００ｒｐｍ＜ＮＥ７２０＜１０００ｒｐｍ）に入っていることを確認することで判定される。
【００４３】
ステップＳ２３では、発電制御実施判定部１３は、バッテリ電圧ＶＭＡＤが予め設定された閾値電圧（本実施形態では１０Ｖ）よりも高いか否かを判定する。バッテリ電圧ＶＭＡＤが閾値電圧よりも低い場合には、発電制御は実施せずに発電量が最大値となるように設定される。
【００４４】
ステップＳ２４では、発電制御実施判定部１３は、走行時間が予め設定された所定時間を経過しているか否かを判定する。走行時間が所定時間を経過しているときには、バッテリ電圧ＶＭＡＤが閾値電圧よりも高いときに十分に充電されていると判断される。図２の例では、内燃機関制御装置１０の起動から時刻ｔ０に達するまでの経過時間を意味している。
【００４５】
このように、発電制御実施判定部１３は、暖気が完了し、低アイドリング状態、バッテリ電圧ＶＭＡＤが閾値電圧よりも高く、そして走行時間が所定時間を経過しているときには、発電制御の実施を許可するとともに、処理をステップＳ３０のアイドル判定工程に進める。一方、いずれかの条件が一つでも満たされない場合には、発電制御の実施が制限される（ステップＳ２６）。
【００４６】
図７は、走行状態判定部１２によるアイドル判定工程（ステップＳ３０）の処理内容を示すフローチャートである。走行状態判定部１２は、前述の加速状態、定速運転状態、および減速運転状態の他、アイドル状態の判定を行うことができる。本実施形態では、アイドル判定工程について詳細に説明する。
【００４７】
ステップＳ３１では、走行状態判定部１２は、スロットル開度変化量が予め設定された閾値としての所定値よりも小さいことを確認する。スロットル開度変化量は、スロットル開度センサ３９によって計測されるスロットル開度の微分値として生成される。スロットル開度の微分値が十分に小さければ、スロットルの操作が行われていないことが確認できる。
【００４８】
ステップＳ３２では、走行状態判定部１２は、回転速度変化量ＤＮＥ７２０の大きさが予め設定された範囲内（±１００ｒｐｍ）であることを確認する。回転速度変化量ＤＮＥ７２０は、平均回転速度ＮＥ７２０のサイクル毎の変動量を意味している。ステップＳ３３では、走行状態判定部１２は、平均回転速度ＮＥ７２０が予め設定された閾値（本実施形態では２０００ｒｐｍ）よりも小さいことを確認する。
【００４９】
このように、走行状態判定部１２は、スロットル開度変化量が十分に小さく（ステップＳ３１）、回転速度変化量ＤＮＥ７２０も十分に小さく（ステップＳ３２）、そして平均回転速度ＮＥ７２０も十分に小さい（ステップＳ３３）ときには、アイドリング状態であると判定する（ステップＳ３４）。一方、いずれかの条件が一つでも満たされない場合には、アイドリング状態でないと判定される（ステップＳ３５）。
【００５０】
図８は、第１実施形態における内燃機関制御装置１０の制御内容を示すタイムチャートである。ステップＳ４０〜Ｓ１５０では、内燃機関制御装置１０は、低アイドル化時のＮｅ波形を目標Ｎｅ波形に近づける制御を実行する。本制御の処理ルーチンは、形状誤差算出（ＳＴＥＰ１）、形状誤差積算値算出（ＳＴＥＰ２）、および発電判定処理（ＳＴＥＰ３）の３つの処理ブロックで構成されている。
【００５１】
形状誤差算出（ＳＴＥＰ１）は、ステップＳ４０〜Ｓ６０の処理で構成されている。本処理は、各行程におけるクランク番号毎にＮｅ形状誤差を算出する処理である。
【００５２】
ステップＳ４０では、Ｎｅ形状誤差算出部１１は、クランク番号が所定の値であって行程が一致するか否かを判断する。本判断は、本実施形態では、爆発完了後であってクランク番号が１２番であるか否か、すなわち爆発行程後の上死点であるか否かを判断する。この判断の結果、爆発行程後の上死点であることが確認されると、クランク番号が１２番から１番までの平均回転速度である回転速度ＮＥ３０が基準ＮＮＵＭ回転速度に設定される（ステップＳ５０）。
【００５３】
基準ＮＮＵＭ回転速度は、目標Ｎｅ波形と計測Ｎｅ波形の基準となる回転速度であり、本実施形態では、爆発行程後の上死点におけるクランク番号が１２番のときの回転速度となる。このように基準位置を合わせることによって、基準位置における回転速度との相対的な回転速度差として表される波形を取り扱うことが可能となる。
【００５４】
具体的には、目標Ｎｅ波形（目標Ｎｅ形状ＤＮＥＤＳ）においてクランク番号が１０番のときの回転速度が１４５０ｒｐｍであって基準位置の回転速度が１５００ｒｐｍの場合には、クランク番号が１０番における５０ｒｐｍの回転速度の降下として波形が表される。一方、計測Ｎｅ波形（計測Ｎｅ形状ＤＮＥＳ）においてクランク番号が１０番のときの回転速度が８３０ｒｐｍであって基準位置の回転速度が９００ｒｐｍの場合には、クランク番号が１０番における７０ｒｐｍの回転速度の降下として波形が表される。
【００５５】
ステップＳ６０では、Ｎｅ形状誤差算出部１１は、形状誤差（ｉ）を算出する。形状誤差（ｉ）の添え字（ｉ）は、クランク番号を意味している。形状誤差（１０）は、図８に示されるようにクランク番号が１０番における２０ｒｐｍ（＝７０ｒｐｍ−５０ｒｐｍ）として算出される。これにより、相対量としての意義を有している波形差に着目した誤差である形状誤差（ｉ）を算出することができる。
【００５６】
形状誤差積算値算出（ＳＴＥＰ２）は、ステップＳ７０〜Ｓ９０の処理で構成されている。本処理は、各行程におけるクランク番号毎に形状誤差（ｉ）を積算する処理である。
【００５７】
ステップＳ７０では、Ｎｅ形状誤差算出部１１は、形状誤差（ｉ）の正負の符号が一致しているか否かを判定する。形状誤差（ｉ）の正負の符号が一致している場合には、処理がステップＳ８０に進められる。一方、形状誤差（ｉ）の正負の符号が一致していない場合には、処理がステップＳ９０に進められて、形状誤差積算値（ｉ）がリセットされる。
【００５８】
ステップＳ８０では、Ｎｅ形状誤差算出部１１は、形状誤差（ｉ）を加算して形状誤差積算値（ｉ）を更新する。これにより、形状誤差（ｉ）の正負の符号が一致している場合、すなわち同じ方向に誤差が継続して発生している場合には、形状誤差積算値（ｉ）が上昇し続けることになる。具体的には、図８に示されるように形状誤差（１０）である２０ｒｐｍが２回積算され、ウィンドウＷ１においてＯＦＦ閾値を超えることになる。ウィンドウＷ２〜Ｗ４に示されるように、形状誤差（１０）の符号が負となるまでＯＦＦ閾値を超えた状態が維持されることになる。
【００５９】
発電判定処理（ＳＴＥＰ３）は、ステップＳ１００〜Ｓ１５０の処理で構成されている。本処理は、各行程におけるクランク番号毎に発電判定を行う処理である。
【００６０】
ステップＳ１００では、Ｎｅ形状誤差算出部１１は、発電ＯＮ／ＯＦＦ閾値決定処理を実行する。発電ＯＮ／ＯＦＦ閾値決定処理は、発電のＯＮ／ＯＦＦ判定に使用される閾値を決定する処理である。
【００６１】
図９は、発電ＯＮ／ＯＦＦ閾値決定処理のルーチンを示すフローチャートである。ステップＳ１０１では、Ｎｅ形状整形操作部１４は、回転変動係数−１の絶対値が０．２（所定値）よりも大きいか否かを判断する。回転変動係数−１の絶対値が０．２よりも大きい場合には、発電ＯＮの閾値が１０に設定され、発電ＯＦＦの閾値が−１０に設定される（ステップＳ１０３）。一方、回転変動係数−１の絶対値が０．２以下の場合には、処理がステップＳ１０２に進められる。
【００６２】
ステップＳ１０３では、Ｎｅ形状整形操作部１４は、回転変動係数−１の絶対値が０．１よりも大きいか否かを判断する。回転変動係数−１の絶対値が０．１よりも大きい場合には、発電ＯＮの閾値が２０に設定され、発電ＯＦＦの閾値が−２０に設定される（ステップＳ１０４）。一方、回転変動係数−１の絶対値が０．１以下の場合には、処理がステップＳ１０５に進められる。
【００６３】
ステップＳ１０５では、Ｎｅ形状整形操作部１４は、回転変動係数−１の絶対値が０．０５よりも大きいか否かを判断する。回転変動係数−１の絶対値が０．０５よりも大きい場合には、発電ＯＮの閾値が３０に設定され、発電ＯＦＦの閾値が−３０に設定される（ステップＳ１０６）。一方、回転変動係数−１の絶対値が０．０５以下の場合には、発電ＯＮの閾値が５０に設定され、発電ＯＦＦの閾値が−５０に設定される（ステップＳ１０７）。
【００６４】
図１０は、回転変動係数Ｒを算出するための計算式を示す説明図である。図１１は、回転変動係数を概念的に表すグラフである。回転変動係数Ｒは、Ｎｅ（ｉ）とＮｅｄ（ｉ）とを使用して算出される。Ｎｅ（ｉ）は、クランク角毎の計測値である回転速度Ｎｅ３０を示している。Ｎｅｄ（ｉ）は、目標Ｎｅ形状における回転速度Ｎｅ３０を示している。カッコ内の符号ｉは、Ｎｅ（ｉ）とＮｅｄ（ｉ）のいずれにおいてもクランク番号を示している。Ｎｅ（ｉ）とＮｅｄ（ｉ）は、いずれもクランク番号が１２番のときの基準値ＮＮＵＭに対する相対値である。回転速度Ｎｅ３０は、発電部５９が３０度の角度だけ回転する際の回転速度ｒｐｍである。
【００６５】
回転変動係数Ｒの計算式において、分母は、目標Ｎｅ形状における回転速度Ｎｅ３０の波形の面積である。一方、分子は、計測Ｎｅ形状における回転速度Ｎｅ３０の波形の面積から目標Ｎｅ形状における回転速度Ｎｅ３０の波形の面積を減じた値である。このように、回転変動係数Ｒは、計測Ｎｅ形状の面積と目標Ｎｅ形状の面積の差を目標Ｎｅ形状の面積で割った値として定義され、アイドリング時の回転速度の変動の定量化を実現する値である。
【００６６】
ステップＳ１１０（図３参照）では、Ｎｅ形状整形操作部１４は、形状誤差積算値（ｉ）を発電ＯＮ閾値と比較する。この比較の結果、形状誤差積算値（ｉ）が発電ＯＮ閾値よりも大きいときには、発電判定（ｉ）がオンに変更され、形状誤差積算値（ｉ）が発電ＯＮ閾値以下のときには、処理がステップＳ１２０に進められる。
【００６７】
ステップＳ１２０では、Ｎｅ形状整形操作部１４は、形状誤差積算値（ｉ）を発電ＯＦＦ閾値と比較する。この比較の結果、形状誤差積算値（ｉ）が発電ＯＦＦ閾値よりも小さいときには、発電判定（ｉ）がオフに変更され、形状誤差積算値（ｉ）が発電ＯＦＦ閾値以上のときには、処理がステップＳ１５０に進められる。ステップＳ１５０では、前回の発電判定（ｉ）の判定状態が維持されることになる。
【００６８】
図１２は、第１実施形態におけるアイドリング回転速度補正処理の制御内容を示すフローチャートである。アイドリング回転速度補正処理は、回転変動係数Ｒに応じてアイドリング回転速度を補正する処理である。アイドリング回転速度は、ＩＳＣ制御部１６によって予め設定された目標値としての目標回転速度となるように制御される。
【００６９】
ステップＳ３１０では、低アイドル化ＩＳＣ補正制御部１５は、回転変動係数−１の絶対値が０．２よりも大きいか否かを判断する。回転変動係数−１の絶対値が０．２よりも大きい場合には、回転変動補正変化量が１０に設定される（ステップＳ３２０）。一方、回転変動係数−１の絶対値が０．２以下の場合には、処理がステップＳ３３０に進められる。
【００７０】
ステップＳ３３０では、低アイドル化ＩＳＣ補正制御部１５は、回転変動係数−１の絶対値が０．１よりも大きいか否かを判断する。回転変動係数−１の絶対値が０．１よりも大きい場合には、回転変動補正変化量が５に設定される（ステップＳ３４０）。一方、回転変動係数−１の絶対値が０．１以下の場合には、処理がステップＳ３５０に進められる。
【００７１】
ステップＳ３５０では、低アイドル化ＩＳＣ補正制御部１５は、回転変動係数−１の絶対値が０．０５よりも大きいか否かを判断する。回転変動係数−１の絶対値が０．０５よりも大きい場合には、回転変動補正変化量が１に設定される（ステップＳ３６０）。一方、回転変動係数−１の絶対値が０．０５以下の場合には、処理がステップＳ３７０に進められて、回転変動補正変化量が０に設定される。
【００７２】
ステップＳ３８０では、低アイドル化ＩＳＣ補正制御部１５は、回転変動係数が１よりも大きいか否かを判断する。この判断の結果、回転変動係数が１よりも大きい場合には処理がステップＳ３９０に進められ、回転変動係数が１以下の場合には処理がステップＳ３９５に進められる。
【００７３】
ステップＳ３９０では、低アイドル化ＩＳＣ補正制御部１５は、前回のサイクルの回転変動補正量から回転変動補正変化量を減算して、回転変動補正量を更新する。一方、ステップＳ３９５では、低アイドル化ＩＳＣ補正制御部１５は、前回のサイクルの回転変動補正量に回転変動補正変化量を加算して、回転変動補正量を更新する。このように、ステップＳ３１０〜Ｓ３７０では、回転変動補正変化量の大きさが決定され、ステップＳ３８０〜Ｓ３９５では、回転変動補正変化量の加算あるいは減算が決定される。回転変動補正変化量は、ＩＳＣ目標回転速度補正値とも呼ばれる。
【００７４】
低アイドル化ＩＳＣ補正制御部１５は、ＩＳＣ目標回転速度補正値をＩＳＣ制御部１６に送信する。ＩＳＣ制御部１６は、ＩＳＣ目標回転速度補正値によって目標回転速度を補正し、補正された目標回転速度となるようにアイドリング制御を実行する。これにより、回転変動係数Ｒに応じて適切に設定されたアイドリング回転速度で制御することができるので、ドライバビリティと燃費の向上を両立させることができる。具体的には、回転変動係数Ｒの上昇に応じてアイドリング回転速度を高くすることができるので、アイドリング回転速度の設計余裕を小さくしてアイドリング回転速度を低めに設定することもできる。これにより、燃費を改善させることができる。
【００７５】
このように、第１実施形態の内燃機関制御装置１０の制御によれば、アイドリング回転速度を低下させても、その低下に起因する回転速度波形の変化を抑制することができる。これにより、回転速度の低下に対する人間の違和感を抑制することができる。特に、人間の体感は変化に対して敏感なので、通常アイドリングの波形を規範とするフィードバック制御は、通常アイドリングから低回転アイドリングへの変化における人間の違和感を抑制することができるとともにロバスト性も高いという特徴を有している。
【００７６】
（第２実施形態）
図１３は、第２実施形態における内燃機関２０と交流発電機５０と内燃機関制御装置１０ａとを示す全体構成図である。第２実施形態の内燃機関制御装置１０ａは、Ｎｅ形状誤差算出部１１とＮｅ形状整形操作部１４とが、それぞれ回転変動係数算出部１１ａと発電負荷操作部１４ａに変更されている点を除いて共通する構成を有している。なお、内燃機関２０と交流発電機５０の構成は第１実施例と同一である。
【００７７】
図１４は、第２実施形態における内燃機関制御装置１０ａの制御内容を示すフローチャートである。ステップＳ２１０では、発電制御実施判定部１３は、第１実施形態と同様に発電制御の実行可否を判定する。ステップＳ２２０では、走行状態判定部１２は、第１実施形態と同様にアイドル状態か否かを判定する。
【００７８】
ステップＳ２３０では、回転変動係数算出部１１ａは、各サイクルの中で予め設定された基準位置（たとえば爆発行程後のクランク番号が１２番の位置）であるか否かを判断する。この判断の結果、基準位置であると判断された場合には、処理がステップＳ２４０に進められ、基準位置でないと判断された場合には、処理がステップＳ２５０に進められる。これにより、回転変動係数算出部１１ａは、サイクル毎に発電負荷を算出して更新することができる。
【００７９】
ステップＳ２４０では、発電負荷操作部１４ａは、発電負荷決定処理を実行する。発電負荷決定処理は、発電負荷として発電クランク数を決定する処理である。発電クランク数とは、発電部５９の２回転において３０度毎に設定されている発電クランクの数である。発電クランクは、図１２に示されるように、発電部５９の周方向に相互に隣接する各磁性凸部５５の間隔である。ただし、５番の磁性凸部５５が欠落しているので、発電クランク数は、各サイクルで２２個（＝１１×２）が総数となる。
【００８０】
図１５は、発電クランク数決定処理（ステップＳ２４０）のルーチンを示すフローチャートである。図１６は、回転変動係数Ｒと発電クランク数変動量との間の関係を表すマップＭを示す説明図である。ステップＳ２４１では、発電負荷操作部１４ａは、発電クランク数変化量決定処理を実行する。発電クランク数変化量は、マップＭに基づいて回転変動係数Ｒに応じて決定される。具体的には、回転変動係数Ｒが１．１のときには発電クランク数変化量が２２個となり、回転変動係数Ｒが０．９のときには発電クランク数変化量が−２２個となる。
【００８１】
ステップＳ２４２では、発電負荷操作部１４ａは、前回のサイクルでの発電クランク数に発電クランク数変化量を加算して、発電クランク数を決定する。このようにして決定された発電クランク数は、２２よりも大きな値は２２に修正され（ステップＳ２４３、Ｓ２４６）、負の値は０に修正される（ステップＳ２４４、Ｓ２４５）。これにより、サイクル毎の急激な回転変動に発電負荷操作を対応させるとともに、適正な発電クランク数の範囲（０〜２２）に設定することが可能となる。
【００８２】
ステップＳ２５０では、発電負荷操作部１４ａは、発電ＯＮ／ＯＦＦ判定を実行する。発電ＯＮ／ＯＦＦ判定は、各行程のクランク角毎に行われる。
【００８３】
図１７は、発電ＯＮ／ＯＦＦ判定処理（ステップＳ２５０）のルーチンを示すフローチャートである。ステップＳ２５１では、発電負荷操作部１４ａは、発電優先順位データ読み出し処理を実行する。発電優先順位データは、図１８に示される各サイクルにおいて発電のオンオフの優先順位を調整するためのデータである。なお、５番の磁性凸部５５が欠落しているので、クランク番号が５番の欄は空欄となっている。
【００８４】
図１９は、発電優先順位データの内容を表す表である。発電優先順位データは、発電クランク番号毎の発電優先順位を表す０〜２３の数値である。発電優先順位データは、予め目標Ｎｅ波形と計測Ｎｅ波形の誤差が分っている場合には、形状誤差が大きくなりやすい位置（回転速度の過度の低下が発生しやすいクランク角）において発電がオフとなりやすい値となるように設定されている。
【００８５】
このように、第２実施形態の内燃機関制御装置１０ａの制御によれば、各サイクルの積算値としての各サイクルの回転速度（計測Ｎｅ波形の面積）と、各サイクルの波形とに着目し、回転速度の低下に起因する各サイクルの回転速度と各サイクルの波形の変化を抑制することができる。これにより、各サイクルの回転速度の変動に起因する比較的に低い周波数の変動と、各サイクルの波形としての比較的に高い周波数の変動との双方の変動を抑制することができる。
【００８６】
（他の実施形態）
なお、実施の形態は上記した内容に限定されず、例えば次のように実施してもよい。
【００８７】
上述の各実施例では、低アイドル時の回転速度波形を発電負荷時の通常回転速度における回転速度波形に近づけるように構成されているが、たとえば発電負荷時の通常回転速度における回転速度波形を低アイドル時の回転速度波形に近づけるように構成しても良いし、あるいは双方を組み合わせてもよい。発電負荷時の通常回転速度における回転速度波形を低アイドル時の回転速度波形に近づける方法としては、たとえば発電負荷時の通常回転速度の変動を意図的に大きくする方法がある。
【符号の説明】
【００８８】
１０，１０ａ…内燃機関制御装置、１１…Ｎｅ形状誤差算出部、１１ａ…回転変動係数算出部、１２…走行状態判定部、１３…発電制御実施判定部、１４…Ｎｅ形状整形操作部、１４ａ…発電負荷操作部、１５…低アイドル化ＩＳＣ補正制御部、１６…ＩＳＣ制御部、２０…内燃機関、３６…エンジン機温センサ、３７…クランク角センサ、３８…吸気管圧力センサ、３９…スロットル開度センサ、５０…交流発電機、５５…磁性凸部、５９…発電部、６０…バッテリ。
【図１】
0005673020.tif 000002
【図２】
0005673020.tif 000003
【図３】
0005673020.tif 000004
【図４】
0005673020.tif 000005
【図５】
0005673020.tif 000006
【図６】
0005673020.tif 000007
【図７】
0005673020.tif 000008
【図９】
0005673020.tif 000009
【図１０】
0005673020.tif 000010
【図１１】
0005673020.tif 000011
【図１２】
0005673020.tif 000012
【図１３】
0005673020.tif 000013
【図１４】
0005673020.tif 000014
【図１５】
0005673020.tif 000015
【図１６】
0005673020.tif 000016
【図１７】
0005673020.tif 000017
【図１８】
0005673020.tif 000018
【図１９】
0005673020.tif 000019
【図８】
0005673020.tif 000020