エンジン回転停止制御装置
【課題】エンジン回転を停止させる際にエンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御できるようにする。
【解決手段】実エンジン回転挙動を目標軌道に合わせるようにオルタネータの負荷を制御してエンジン回転を停止させる際に、オルタネータの発電指令値が算出されてから実際にオルタネータが応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する。これにより、オルタネータの発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度においてオルタネータの要求負荷トルクを実現する発電指令値を精度良く算出する。
【解決手段】実エンジン回転挙動を目標軌道に合わせるようにオルタネータの負荷を制御してエンジン回転を停止させる際に、オルタネータの発電指令値が算出されてから実際にオルタネータが応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する。これにより、オルタネータの発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度においてオルタネータの要求負荷トルクを実現する発電指令値を精度良く算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エンジン回転停止クランク角を制御する機能を備えたエンジン回転停止制御装置に関する発明である。
【背景技術】
【0002】
近年、特許文献1(特開2008−215182号公報)や特許文献2(特開2008−215230号公報)に記載されているように、エンジン自動停止・始動システム(アイドルストップシステム)を搭載した車両では、再始動性を向上させるために、エンジン停止時(アイドルストップ時)にエンジン回転停止クランク角を始動に適したクランク角範囲に制御することを目的として、エンジン回転が目標停止クランク角で停止するまでの回転挙動を目標軌道として算出し、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機(オルタネータ)の負荷トルクを制御するエンジン回転停止制御を行うようにしたものがある。具体的には、実エンジン回転挙動を目標軌道に合わせるように発電機の要求負荷トルクを算出し、発電機の負荷トルク特性(発電指令値とエンジン回転速度と負荷トルクとの関係)を用いて、現在のエンジン回転速度と要求負荷トルクに応じた発電指令値を算出し、この発電指令値で発電機の発電制御電流(フィールド電流)を制御して発電機の負荷トルクを制御するようにしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−215182号公報
【特許文献2】特開2008−215230号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、制御システムの通信仕様等によっては、エンジン回転停止制御の際に、制御回路で発電機の発電指令値が算出されてから該発電指令値が送信されて実際に発電機が応答する(発電指令値に応じて動作する)までに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下することがある。図8に示すように、エンジン回転停止制御を行う回転領域では、発電機の発電指令値が同じでも、エンジン回転速度(つまり発電機の回転速度)が低下するほど発電機の発電電流が低下して発電機の負荷トルクが低くなるという特性がある。
【0005】
このため、現在のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する従来のエンジン回転停止制御システムでは、図9に示すように、発電指令値が算出されてから実際に発電機が応答するまでに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下すると、発電機の実発電電流が要求発電電流よりも低くなって、発電機の負荷トルクが要求負荷トルクよりも低くなってしまい、エンジン回転停止制御の精度が低下してしまう可能性がある。
【0006】
そこで、本発明が解決しようとする課題は、エンジン回転停止制御の際に発電機の発電指令値が算出されてから実際に発電機が応答するまでに遅れ時間が生じても、エンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御することができるエンジン回転停止制御装置を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に係る発明は、エンジン停止要求が発生したときに燃焼を停止させてエンジン回転を停止させるエンジン回転停止制御装置において、エンジンで駆動される発電機と、エンジン回転が目標停止クランク角で停止するまでの回転挙動(以下「目標軌道」という)を算出する目標軌道算出手段と、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機の負荷を制御する停止制御手段とを備え、停止制御手段は、実エンジン回転挙動を目標軌道に合わせるように発電機の要求負荷を要求負荷算出手段により算出すると共に、発電機の発電指令値が算出されてから該発電機が応答するまでの指令遅れ時間を指令遅れ時間算出手段により算出して、この指令遅れ時間中のエンジン回転速度の変化量をエンジン回転速度変化量推定手段により推定し、発電機の要求負荷と指令遅れ時間中のエンジン回転速度の変化量とに基づいて発電機の発電指令値を発電指令値算出手段により算出するようにしたものである。
【0008】
この構成では、発電機の要求負荷と指令遅れ時間中のエンジン回転速度の変化量とに基づいて発電機の発電指令値を算出することができるため、発電機の発電指令値が算出されてから実際に発電機が応答する(発電指令値に応じて動作する)までに指令遅れ時間が生じて、この指令遅れ時間中にエンジン回転速度が変化しても、その指令遅れ時間中のエンジン回転速度の変化量を考慮して、発電機の要求負荷を実現する発電指令値を精度良く算出することができる。これにより、発電機の発電指令値が算出されてから実際に発電機が応答するまでに指令遅れ時間が生じても、発電機の負荷を精度良く要求負荷に制御することができ、エンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御することができる。
【0009】
この場合、指令遅れ時間中のエンジン回転速度の変化量を推定する具体的な方法は、例えば、請求項2のように、指令遅れ時間と実エンジン回転挙動の傾き(例えば実エンジン回転挙動における単位時間当りのエンジン回転速度の変化量)とに基づいて指令遅れ時間中のエンジン回転速度の変化量を算出するようにしても良い。このようにすれば、実エンジン回転挙動の傾きから指令遅れ時間中のエンジン回転速度の変化量を精度良く推定することができる。
【0010】
或は、請求項3のように、指令遅れ時間と目標軌道の傾き(例えば発電機の基準負荷に応じた目標軌道における単位時間当りのエンジン回転速度の変化量)とに基づいて指令遅れ時間中のエンジン回転速度の変化量を算出するようにしても良い。このようにすれば、目標軌道の傾きから指令遅れ時間中のエンジン回転速度の変化量を精度良く推定することができる。
【0011】
また、指令遅れ時間中のエンジン回転速度の変化量を用いて発電機の発電指令値を算出する具体的な方法は、例えば、請求項4のように、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度の変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、該指令遅れ時間経過後のエンジン回転速度と発電機の要求負荷とに基づいて発電機の発電指令値を算出するようにしても良い。このようにすれば、発電機の発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度において発電機の要求負荷を実現する発電指令値を精度良く算出することができる。
【図面の簡単な説明】
【0012】
【図1】図1は本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図2】図2は目標軌道の算出方法を説明する図である。
【図3】図3はオルタネータ負荷特性を説明する図である。
【図4】図4はエンジン回転停止制御時の見掛上のオルタネータ負荷特性を説明する図である。
【図5】図5(a)は基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御を行った比較例を説明するタイムチャートであり、図5(b)は基準負荷トルクTref(Ne(i))を最大負荷の半分に設定してエンジン回転停止制御を行った実施例を説明するタイムチャートである。
【図6】図6はエンジンECUのエンジン回転停止制御機能を説明するブロック図である。
【図7】図7はオルタネータ負荷特性モデルの構成を説明するブロック図である。
【図8】図8は負荷トルク特性のマップの一例を概略的に示す図である。
【図9】図9は従来のエンジン回転停止制御の不具合を説明するタイムチャートである。
【図10】図10は目標軌道算出ルーチンの処理の流れを説明するフローチャートである。
【図11】図11はエンジン回転停止制御ルーチンの処理の流れを説明するフローチャート(その1)である。
【図12】図12はエンジン回転停止制御ルーチンの処理の流れを説明するフローチャート(その2)である。
【図13】図13は指令遅れ時間算出ルーチンの処理の流れを説明するフローチャートである。
【図14】図14は指令遅れ時間の算出方法を説明するタイムチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図1に基づいてエンジン制御システム全体の構成を概略的に説明する。
エンジン11の吸気ポート12に接続された吸気管13の途中には、スロットルバルブ14が設けられ、このスロットルバルブ14の開度(スロットル開度)がスロットル開度センサ15によって検出される。また、スロットルバルブ14の下流側には、吸気管圧力を検出する吸気管圧力センサ18が設けられ、各気筒の吸気ポート12の近傍には、それぞれ吸気ポート12に向けて燃料を噴射する燃料噴射弁19が取り付けられている。
【0014】
一方、エンジン11の排気ポート20に接続された排気管21の途中には、排気ガス浄化用の触媒22が設置されている。エンジン11のシリンダブロックには、冷却水温を検出する冷却水温センサ23が設けられている。エンジン11のクランク軸24に取り付けられたシグナルロータ25の外周に対向してクランク角センサ26が設置され、このクランク角センサ26からシグナルロータ25の回転に同期して所定クランク角毎(例えば30℃A毎)にクランクパルス信号が出力される。また、エンジン11のカム軸27に取り付けられたシグナルロータ28の外周に対向してカム角センサ29が設置され、このカム角センサ29からシグナルロータ28の回転に同期して所定のカム角でカムパルス信号が出力される。
【0015】
また、オルタネータ33(発電機)には、クランク軸24に連結されたクランクプーリ34の回転がベルト35を介して伝達される。これにより、エンジン11の動力でオルタネータ33が回転駆動されて発電するようになっている。このオルタネータ33の発電制御電流(フィールド電流)をデューティ制御することで、オルタネータ33の負荷を制御することができる。
【0016】
上述した各種センサの出力は、エンジン制御回路(以下「エンジンECU」と表記する)30に入力される。このエンジンECU30は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁19の燃料噴射量や燃料噴射時期、点火プラグ31の点火時期を制御すると共に、エンジン運転中に所定の自動停止条件(例えばアクセル全閉、ブレーキ操作中、アイドル運転中等の条件)が成立してエンジン停止要求が発生したときに、燃焼(点火及び/又は燃料噴射)を停止させてエンジン回転を停止させるアイドルストップを実行し、このアイドルストップによるエンジン回転停止中(アイドルストップ中)に運転者が車両発進のための準備操作(ブレーキ解除、シフトレバー操作等)や発進操作(アクセル踏み込み等)が行われたとき、或は車載機器からの始動要求が発生したときに、所定の自動始動条件が成立してスタータ(図示せず)に通電してエンジン11をクランキングして再始動させる。
【0017】
更に、エンジンECU30は、後述する図10乃至図13の各ルーチンを実行することで、エンジン回転が目標停止クランク角で停止するまでの回転挙動(以下「目標軌道」という)を算出する目標軌道算出手段として機能すると共に、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷を制御するエンジン回転停止制御を実行する停止制御手段として機能する。
【0018】
ここで、目標軌道は、目標停止クランク角に至るまでのクランク角と目標エンジン回転速度との関係を所定クランク角間隔で算出してテーブル(図示せず)に割り付けたものである。この目標軌道は、例えば、ロストルクを考慮したエネルギ保存則の関係式を用いて、目標停止クランク角を初期値としてクランク角を溯る方向に算出される(図2参照)。
【0019】
エネルギ保存則の関係式は次式で表される。
Ne(i+1)2 =Ne(i)2 −2/J×{Tloss( θ(i) ) −Tref(Ne(i))}
ここで、Ne(i+1)は、現時点(i) よりも所定クランク角前の時点(i+1) のエンジン回転速度、Ne(i)は現時点(i) のエンジン回転速度、Jはエンジン11の慣性モーメントである。Tloss( θ(i) )は、現時点(i) のクランク角θ(i) におけるポンピングロスとフリクションロスを合計したロストルクであり、予め設定されたマップ等を用いて現時点(i) のクランク角θ(i) に応じたロストルクTloss( θ(i) )が算出される。Tref(Ne(i))は現時点(i) のエンジン回転速度Ne(i)におけるオルタネータ33の基準負荷トルクである。
【0020】
上記エネルギ保存則の関係式において、「Tloss( θ(i) )−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0021】
本実施例では、オルタネータ33の基準負荷トルクTref(Ne(i))は、図3に示すようにオルタネータ33の制御可能な最大負荷の半分(1/2)に設定されている。このようにすれば、オルタネータ33は、モータジェネレータとは異なり、アシストトルクを出力できないという事情があっても、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となり(基準負荷Tref 以下の負荷トルクを仮想的に負の負荷トルクとし、基準負荷Tref 以上の負荷トルクを正の負荷トルクとしてオルタネータ33の負荷トルクを制御することが可能となり)、目標軌道へのエンジン回転挙動の追従性を向上することができる。
【0022】
尚、オルタネータ33の基準負荷トルクTref(Ne(i))は、最大負荷の半分(1/2)に限定されず、例えば、最大負荷の1/3、1/4、2/3、3/4等であっても良く、要は、オルタネータ33の制御可能な最大負荷よりも小さく、0よりも大きい適宜の負荷を基準負荷トルクTref(Ne(i))に設定すれば良い。
0<Tref(Ne(i))<最大負荷
【0023】
図5(a)は、基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御を行った比較例を示している。この比較例では、オルタネータ33の負荷トルクを正方向にしか制御できないため、実エンジン回転挙動がオーバーシュートした場合は、実エンジン回転挙動を目標軌道に一致させることができなくなる。
【0024】
これに対して、本実施例のように、オルタネータ33の基準負荷トルクTref(Ne(i))を最大負荷よりも小さい適宜の負荷に設定すれば、図4に示すように、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となるため、図5(b)に示すように、実回転挙動がオーバーシュートした場合でも、実回転挙動を目標軌道に一致させることができる。
【0025】
更に、本実施例では、図6に示すように、目標軌道を算出する際に、オルタネータ33の基準負荷トルクTref(Ne(i))に応じた目標軌道を算出し、エンジン回転停止制御中は、エンジン回転速度Ne(i)に応じた基準負荷トルクTref(Ne(i))を算出すると共に、現時点(i) のクランク角θ(i) における目標エンジン回転速度と実エンジン回転速度との偏差を小さくするようにベース負荷トルクを算出して、このベース負荷トルクに基準負荷トルクTref(Ne(i))を加算して要求負荷トルクTalt を求める(実際には、この要求負荷トルクTalt にプーリ比Ratioを乗算して要求軸トルクTalt.final に変換する)。
【0026】
この後、図7に示すように、発電指令値算出部38(発電指令値算出手段)で、オルタネータ33の負荷トルク特性(図8参照)を用いて、オルタネータ33の要求負荷トルクTalt (要求軸トルクTalt.final )と、エンジン回転速度Ne (又はエンジン回転速度Ne にプーリ比Ratioを乗算して求めたオルタネータ33の回転速度Nalt )に応じた発電指令値(デューティDuty )を算出する。
【0027】
尚、図8に示す負荷トルク特性は、オルタネータ33の出力電圧が13.5Vで一定の場合の特性であり、出力電圧毎に同様の特性が設定されている。この発電指令値(デューティDuty )でオルタネータ33の発電制御電流(フィールド電流)を制御してオルタネータ33の負荷トルクを制御する。
【0028】
このようなオルタネータ33の負荷トルクの制御を、エンジン回転速度がオルタネータ33の発電限界回転速度Nelow(図3参照)以下に低下するまで所定クランク間隔で周期的に実行することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するエンジン回転停止制御を行う。
【0029】
エンジン回転停止制御の際に、エンジンECU30は、所定クランク角周期で発電指令値を演算し、この発電指令値をCAN(Controller Area Network )通信により所定時間周期で電源系ECU36(図1参照)に送信する。更に、電源系ECU36は、受信した発電指令値をLIN(Local Interconnect Network)通信により所定時間周期でオルタネータ33に送信する。
【0030】
これらの発電指令値の演算周期とCAN通信の送信周期とのずれや、CAN通信の送信周期とLIN通信の送信周期とのずれ等によって、エンジン回転停止制御の際に、エンジンECU30でオルタネータ33の発電指令値が算出されてから該発電指令値が送信されて実際にオルタネータ33が応答する(発電指令値に応じて動作する)までに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下することがある。
【0031】
図8に示すように、エンジン回転停止制御を行う回転領域では、オルタネータ33の発電指令値が同じでも、エンジン回転速度(つまりオルタネータ33の回転速度)が低下するほどオルタネータ33の発電電流が低下してオルタネータ33の負荷トルクが低くなるという特性がある。このため、現在のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する従来のエンジン回転停止制御システムでは、図9に示すように、発電指令値が算出されてから実際にオルタネータが応答するまでに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下すると、オルタネータの実発電電流が要求発電電流よりも低くなって、オルタネータの負荷トルクが要求負荷トルクよりも低くなってしまい、エンジン回転停止制御の精度が低下してしまう可能性がある。
【0032】
この対策として、本実施例では、エンジン回転停止制御の際に、オルタネータ33の発電指令値が算出されてから実際にオルタネータ33が応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度の変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度の変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する。
【0033】
具体的には、図7に示すように、まず、指令遅れ時間算出部39(指令遅れ時間算出手段)で、エンジン停止要求の発生に伴ってエンジン回転停止制御が開始される際にオルタネータ33の要求負荷トルクTalt が初期値(例えば基準負荷トルクTref(Ne) )に設定されたときに、この要求負荷トルクTalt に応じた発電指令値が算出された時点から実際にオルタネータ33が応答する時点(例えば発電指令値の変化に応じて発電電流が変化し始めた時点)までの時間をカウントして指令遅れ時間dtを求める(図14参照)。
【0034】
そして、エンジン回転速度変化量推定部40(エンジン回転速度変化量推定手段)で、エンジン回転停止制御中に、指令遅れ時間中のエンジン回転速度変化量dNe を推定する。この際、例えば、オルタネータ33の基準負荷トルクTref(Ne) に応じて算出された目標軌道の傾きKt(例えば目標軌道のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この目標軌道の傾きKtに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求める。
dNe =Kt×dt
【0035】
或は、実エンジン回転挙動の傾きKr(例えば実エンジン回転挙動のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この実エンジン回転挙動の傾きKrに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求めるようにしても良い。
dNe =Kr×dt
【0036】
この後、現在のエンジン回転速度Ne から指令遅れ時間中のエンジン回転速度変化量dNe を差し引いて指令遅れ時間経過後のエンジン回転速度Ne.hosei を求める。
Ne.hosei =Ne −dNe
【0037】
更に、指令遅れ時間経過後のエンジン回転速度Ne.hosei にプーリ比Ratioを乗算して、指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei に変換しても良い。
Nalt.hosei =Ne.hosei ×Ratio
【0038】
この後、発電指令値算出部38で、オルタネータ33の負荷トルク特性(図8参照)を用いて、オルタネータ33の要求負荷トルクTalt (要求軸トルクTalt.final )と、指令遅れ時間経過後のエンジン回転速度Ne.hosei (又は指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei )に応じた発電指令値(デューティDuty )を算出する。
【0039】
この際、要求負荷トルクTalt とエンジン回転速度Ne.hosei (又はオルタネータ33の回転速度Nalt.hosei )から発電指令値(デューティDuty )を直接算出するようにしても良いが、要求負荷トルクTalt とエンジン回転速度Ne.hosei (又はオルタネータ33の回転速度Nalt.hosei )から要求フィールド電流(要求励磁電流)を算出し、この要求フィールド電流から発電指令値(デューティDuty )を算出するようにしても良い。
以上説明したエンジン回転停止制御は、エンジンECU30によって図10乃至図13の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【0040】
[目標軌道算出ルーチン]
図10に示す目標軌道算出ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ101で、目標軌道算出完了フラグが目標軌道の算出前を意味する「0」にセットされているか否かを判定し、この目標軌道算出完了フラグが目標軌道算出完了を意味する「1」にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。
【0041】
一方、このステップ101で、目標軌道算出完了フラグ=0(目標軌道の算出前)と判定されれば、ステップ102に進み、ロストルクTloss( θ(i) )とオルタネータ33の基準負荷トルクTref(Ne(i))を用いて、次式で表されるエネルギ保存則の関係式を用いて次の時点(i+1) の目標エンジン回転速度Ne(i+1)の二乗を算出する。
Ne(i+1)2 =Ne(i)2 −2/J×{Tloss( θ(i) )−Tref(Ne(i))}
【0042】
ここで、Jはエンジン11の慣性モーメント、Tloss( θ(i) )は、ポンピングロスとフリクションロスを合計したロストルクであり、予め設定されたマップ等を用いて、現時点(i) のクランク角θ(i) に応じたロストルクTloss( θ(i) )を算出する。
【0043】
上記エネルギ保存則の関係式において、「Tloss( θ(i) )−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0044】
初期値は、i=0、θ(0) =目標停止クランク角、Ne(0)=0rpm(停止時のエンジン回転速度)である。目標軌道は、目標停止クランク角θ(0) を初期値としてクランク角を溯る方向に所定クランク角毎(例えばTDC毎)に算出する。
【0045】
この後、ステップ103に進み、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたか否かを判定し、まだ最大エンジン回転速度Nemaxの二乗を越えていなければ、ステップ104に進み、目標軌道算出完了フラグを「0」に維持する(セットし直す)。
【0046】
この後、ステップ106に進み、目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブル(図示せず)に割り付けて、本ルーチンを終了する。尚、エンジンECU30の演算負荷を低減するため、エンジン回転速度の二乗をそのままテーブルに割り付けても良い。目標軌道のテーブルは、エンジンECU30のメモリに記憶される。
【0047】
以上のような処理を繰り返して、目標停止クランク角θ(0) を初期値としてクランク角を溯る方向に所定クランク角毎(例えばTDC毎)に目標エンジン回転速度Ne(i+1)の二乗を算出して目標軌道のテーブルに目標エンジン回転速度Ne(i+1)を割り付ける処理を繰り返す。そして、上記ステップ103で、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたと判定された時点で、ステップ105に進み、目標軌道算出完了フラグを目標軌道算出完了を意味する「1」にセットして、ステップ106に進み、最後の目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブルに割り付けて、本ルーチンを終了する。
【0048】
[エンジン回転停止制御ルーチン]
図11及び図12に示すエンジン回転停止制御ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ201で、エンジン停止要求(アイドルストップ信号)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了して、エンジン運転(燃料噴射制御及び点火制御)を継続する。
【0049】
その後、上記ステップ201で、エンジン停止要求が発生したと判定された時点で、ステップ202に進み、現在のクランク角θとエンジン回転速度Ne を算出する。この後、ステップ203に進み、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミング(例えばTDC)であるか否かを判定し、オルタネータ33の負荷トルクの制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0050】
上記ステップ203で、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミングであると判定されれば、ステップ204に進み、現在のエンジン回転速度Ne がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxよりも低いか否かを判定し、現在のエンジン回転速度Ne が最大エンジン回転速度Nemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【0051】
これに対して、上記ステップ204で、現在のエンジン回転速度Ne が最大エンジン回転速度Nemaxよりも低いと判定されれば、ステップ205に進み、エンジン11が燃焼中であるか否かを判定する。このステップ205で、エンジン停止要求が発生した直後でエンジン11がまだ燃焼中であると判定された場合には、ステップ206に進み、エンジン回転停止制御を開始する際のオルタネータ33の要求負荷トルクTalt を初期値(例えば基準負荷トルクTref(Ne) )に設定する。
Talt =Tref(Ne)
【0052】
その後、上記ステップ205で、エンジン11の燃焼が停止したと判定された場合には、ステップ207に進み、目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Netg を求める。ここで、車両がMT車(マニュアルミッション車)の場合は、クラッチが開放状態かどうかを判断し、クラッチ開放・継合状態に応じた目標軌道を選択するようにしても良い。
【0053】
この後、ステップ208に進み、現在のエンジン回転速度Ne と目標エンジン回転速度Netg とオルタネータ33の基準負荷トルクTref(Ne) を用いて、次式により要求負荷トルクTalt を算出する。
【0054】
【数1】
【0055】
ここで、Jはエンジン11の慣性モーメント、Kはフィードバックゲイン、Δθはクランク角変化量である。
この後、ステップ209に進み、要求負荷トルクTalt にプーリ比Ratioを乗算して、オルタネータ33の要求軸トルクTalt.final に変換する。
【0056】
この後、図12のステップ210に進み、後述する図13の指令遅れ時間算出ルーチンによりエンジン回転停止制御が開始される際に算出された指令遅れ時間dtを読み込んだ後、ステップ211に進み、オルタネータ33の基準負荷トルクTref(Ne) に応じて算出された目標軌道の傾きKt(例えば目標軌道のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この目標軌道の傾きKtに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求める。
dNe =Kt×dt
【0057】
或は、実エンジン回転挙動の傾きKr(例えば実エンジン回転挙動のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この実エンジン回転挙動の傾きKrに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求めるようにしても良い。
dNe =Kr×dt
【0058】
この後、ステップ212に進み、現在のエンジン回転速度Ne から指令遅れ時間中のエンジン回転速度変化量dNe を差し引いて指令遅れ時間経過後のエンジン回転速度Ne.hosei を求める。
Ne.hosei =Ne −dNe
【0059】
次のステップ213で、指令遅れ時間経過後のエンジン回転速度Ne.hosei にプーリ比Ratioを乗算して、指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei に変換する。
Nalt.hosei =Ne.hosei ×Ratio
【0060】
この後、ステップ214に進み、バッテリ電圧を検出した後、ステップ215に進み、バッテリ電圧毎に作成された複数の負荷トルク特性マップ(図8参照)の中から、現在のバッテリ電圧に対応する負荷トルク特性マップを選択して、現在の要求負荷トルクTalt (要求軸トルクTalt.final )と、指令遅れ時間経過後のエンジン回転速度Ne.hosei (又は指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei )に応じた発電指令値(デューティDuty )を算出する。
【0061】
[指令遅れ時間算出ルーチン]
図13に示す指令遅れ時間算出ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ301で、エンジン停止要求(アイドルストップ信号)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0062】
その後、上記ステップ301で、エンジン停止要求が発生したと判定された時点で、ステップ302に進み、図14に示すように、エンジン停止要求の発生に伴ってエンジン回転停止制御が開始される際にオルタネータ33の要求負荷トルクTalt が初期値(例えば基準負荷トルクTref(Ne) )に設定されたときに、この要求負荷トルクTalt に応じた発電指令値が算出された時点t0 から実際にオルタネータ33が応答する時点t1 (例えば発電指令値の変化に応じて発電電流が変化し始めた時点)までの時間をカウントして指令遅れ時間dtを求める。
【0063】
以上説明した本実施例では、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷を制御してエンジン回転を停止させるエンジン回転停止制御の際に、オルタネータ33の発電指令値が算出されてから実際にオルタネータ33が応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出するようにしたので、オルタネータ33の発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度においてオルタネータ33の要求負荷トルクを実現する発電指令値を精度良く算出することができる。これにより、オルタネータ33の発電指令値が算出されてから実際にオルタネータ33が応答するまでに指令遅れ時間が生じても、オルタネータ33の負荷トルクを精度良く要求負荷トルクに制御することができ、エンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御することができる。
【0064】
尚、上記実施例では、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出するようにしたが、指令遅れ時間中のエンジン回転速度変化量を考慮して発電指令値を算出する方法は、これに限定されず、適宜変更しても良く、例えば、現在のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出し、この発電指令値を指令遅れ時間中のエンジン回転速度変化量で補正するようにしたり、或は、要求負荷トルクを指令遅れ時間中のエンジン回転速度変化量で補正し、現在のエンジン回転速度と補正後の要求負荷トルクに応じて発電指令値を算出するようにしても良い。
【0065】
また、上記実施例では、目標停止クランク角を初期値としてクランク角を溯る方向に目標軌道を求めるようにしたが、例えば、目標停止クランク角でエンジン回転が停止するように停止直前のエンジン回転速度とクランク角(例えばTDC)を初期値として設定しておき、そこからクランク角を溯る方向に目標軌道を求めるようにしても良い等、目標軌道の算出方法を適宜変更しても良い。
【0066】
また、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【0067】
11…エンジン、13…吸気管、14…スロットルバルブ、19…燃料噴射弁、21…排気管、26…クランク角センサ、29…カム角センサ、30…エンジンECU(目標軌道算出手段,停止制御手段,要求負荷算出手段)、33…オルタネータ(発電機)、36…電源系ECU、38…発電指令値算出部(発電指令値算出手段)、39…指令遅れ時間算出部(指令遅れ時間算出手段)、40…エンジン回転速度変化量推定部(エンジン回転速度変化量推定手段)
【技術分野】
【0001】
本発明は、エンジン回転停止クランク角を制御する機能を備えたエンジン回転停止制御装置に関する発明である。
【背景技術】
【0002】
近年、特許文献1(特開2008−215182号公報)や特許文献2(特開2008−215230号公報)に記載されているように、エンジン自動停止・始動システム(アイドルストップシステム)を搭載した車両では、再始動性を向上させるために、エンジン停止時(アイドルストップ時)にエンジン回転停止クランク角を始動に適したクランク角範囲に制御することを目的として、エンジン回転が目標停止クランク角で停止するまでの回転挙動を目標軌道として算出し、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機(オルタネータ)の負荷トルクを制御するエンジン回転停止制御を行うようにしたものがある。具体的には、実エンジン回転挙動を目標軌道に合わせるように発電機の要求負荷トルクを算出し、発電機の負荷トルク特性(発電指令値とエンジン回転速度と負荷トルクとの関係)を用いて、現在のエンジン回転速度と要求負荷トルクに応じた発電指令値を算出し、この発電指令値で発電機の発電制御電流(フィールド電流)を制御して発電機の負荷トルクを制御するようにしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−215182号公報
【特許文献2】特開2008−215230号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、制御システムの通信仕様等によっては、エンジン回転停止制御の際に、制御回路で発電機の発電指令値が算出されてから該発電指令値が送信されて実際に発電機が応答する(発電指令値に応じて動作する)までに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下することがある。図8に示すように、エンジン回転停止制御を行う回転領域では、発電機の発電指令値が同じでも、エンジン回転速度(つまり発電機の回転速度)が低下するほど発電機の発電電流が低下して発電機の負荷トルクが低くなるという特性がある。
【0005】
このため、現在のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する従来のエンジン回転停止制御システムでは、図9に示すように、発電指令値が算出されてから実際に発電機が応答するまでに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下すると、発電機の実発電電流が要求発電電流よりも低くなって、発電機の負荷トルクが要求負荷トルクよりも低くなってしまい、エンジン回転停止制御の精度が低下してしまう可能性がある。
【0006】
そこで、本発明が解決しようとする課題は、エンジン回転停止制御の際に発電機の発電指令値が算出されてから実際に発電機が応答するまでに遅れ時間が生じても、エンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御することができるエンジン回転停止制御装置を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に係る発明は、エンジン停止要求が発生したときに燃焼を停止させてエンジン回転を停止させるエンジン回転停止制御装置において、エンジンで駆動される発電機と、エンジン回転が目標停止クランク角で停止するまでの回転挙動(以下「目標軌道」という)を算出する目標軌道算出手段と、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機の負荷を制御する停止制御手段とを備え、停止制御手段は、実エンジン回転挙動を目標軌道に合わせるように発電機の要求負荷を要求負荷算出手段により算出すると共に、発電機の発電指令値が算出されてから該発電機が応答するまでの指令遅れ時間を指令遅れ時間算出手段により算出して、この指令遅れ時間中のエンジン回転速度の変化量をエンジン回転速度変化量推定手段により推定し、発電機の要求負荷と指令遅れ時間中のエンジン回転速度の変化量とに基づいて発電機の発電指令値を発電指令値算出手段により算出するようにしたものである。
【0008】
この構成では、発電機の要求負荷と指令遅れ時間中のエンジン回転速度の変化量とに基づいて発電機の発電指令値を算出することができるため、発電機の発電指令値が算出されてから実際に発電機が応答する(発電指令値に応じて動作する)までに指令遅れ時間が生じて、この指令遅れ時間中にエンジン回転速度が変化しても、その指令遅れ時間中のエンジン回転速度の変化量を考慮して、発電機の要求負荷を実現する発電指令値を精度良く算出することができる。これにより、発電機の発電指令値が算出されてから実際に発電機が応答するまでに指令遅れ時間が生じても、発電機の負荷を精度良く要求負荷に制御することができ、エンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御することができる。
【0009】
この場合、指令遅れ時間中のエンジン回転速度の変化量を推定する具体的な方法は、例えば、請求項2のように、指令遅れ時間と実エンジン回転挙動の傾き(例えば実エンジン回転挙動における単位時間当りのエンジン回転速度の変化量)とに基づいて指令遅れ時間中のエンジン回転速度の変化量を算出するようにしても良い。このようにすれば、実エンジン回転挙動の傾きから指令遅れ時間中のエンジン回転速度の変化量を精度良く推定することができる。
【0010】
或は、請求項3のように、指令遅れ時間と目標軌道の傾き(例えば発電機の基準負荷に応じた目標軌道における単位時間当りのエンジン回転速度の変化量)とに基づいて指令遅れ時間中のエンジン回転速度の変化量を算出するようにしても良い。このようにすれば、目標軌道の傾きから指令遅れ時間中のエンジン回転速度の変化量を精度良く推定することができる。
【0011】
また、指令遅れ時間中のエンジン回転速度の変化量を用いて発電機の発電指令値を算出する具体的な方法は、例えば、請求項4のように、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度の変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、該指令遅れ時間経過後のエンジン回転速度と発電機の要求負荷とに基づいて発電機の発電指令値を算出するようにしても良い。このようにすれば、発電機の発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度において発電機の要求負荷を実現する発電指令値を精度良く算出することができる。
【図面の簡単な説明】
【0012】
【図1】図1は本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図2】図2は目標軌道の算出方法を説明する図である。
【図3】図3はオルタネータ負荷特性を説明する図である。
【図4】図4はエンジン回転停止制御時の見掛上のオルタネータ負荷特性を説明する図である。
【図5】図5(a)は基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御を行った比較例を説明するタイムチャートであり、図5(b)は基準負荷トルクTref(Ne(i))を最大負荷の半分に設定してエンジン回転停止制御を行った実施例を説明するタイムチャートである。
【図6】図6はエンジンECUのエンジン回転停止制御機能を説明するブロック図である。
【図7】図7はオルタネータ負荷特性モデルの構成を説明するブロック図である。
【図8】図8は負荷トルク特性のマップの一例を概略的に示す図である。
【図9】図9は従来のエンジン回転停止制御の不具合を説明するタイムチャートである。
【図10】図10は目標軌道算出ルーチンの処理の流れを説明するフローチャートである。
【図11】図11はエンジン回転停止制御ルーチンの処理の流れを説明するフローチャート(その1)である。
【図12】図12はエンジン回転停止制御ルーチンの処理の流れを説明するフローチャート(その2)である。
【図13】図13は指令遅れ時間算出ルーチンの処理の流れを説明するフローチャートである。
【図14】図14は指令遅れ時間の算出方法を説明するタイムチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図1に基づいてエンジン制御システム全体の構成を概略的に説明する。
エンジン11の吸気ポート12に接続された吸気管13の途中には、スロットルバルブ14が設けられ、このスロットルバルブ14の開度(スロットル開度)がスロットル開度センサ15によって検出される。また、スロットルバルブ14の下流側には、吸気管圧力を検出する吸気管圧力センサ18が設けられ、各気筒の吸気ポート12の近傍には、それぞれ吸気ポート12に向けて燃料を噴射する燃料噴射弁19が取り付けられている。
【0014】
一方、エンジン11の排気ポート20に接続された排気管21の途中には、排気ガス浄化用の触媒22が設置されている。エンジン11のシリンダブロックには、冷却水温を検出する冷却水温センサ23が設けられている。エンジン11のクランク軸24に取り付けられたシグナルロータ25の外周に対向してクランク角センサ26が設置され、このクランク角センサ26からシグナルロータ25の回転に同期して所定クランク角毎(例えば30℃A毎)にクランクパルス信号が出力される。また、エンジン11のカム軸27に取り付けられたシグナルロータ28の外周に対向してカム角センサ29が設置され、このカム角センサ29からシグナルロータ28の回転に同期して所定のカム角でカムパルス信号が出力される。
【0015】
また、オルタネータ33(発電機)には、クランク軸24に連結されたクランクプーリ34の回転がベルト35を介して伝達される。これにより、エンジン11の動力でオルタネータ33が回転駆動されて発電するようになっている。このオルタネータ33の発電制御電流(フィールド電流)をデューティ制御することで、オルタネータ33の負荷を制御することができる。
【0016】
上述した各種センサの出力は、エンジン制御回路(以下「エンジンECU」と表記する)30に入力される。このエンジンECU30は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁19の燃料噴射量や燃料噴射時期、点火プラグ31の点火時期を制御すると共に、エンジン運転中に所定の自動停止条件(例えばアクセル全閉、ブレーキ操作中、アイドル運転中等の条件)が成立してエンジン停止要求が発生したときに、燃焼(点火及び/又は燃料噴射)を停止させてエンジン回転を停止させるアイドルストップを実行し、このアイドルストップによるエンジン回転停止中(アイドルストップ中)に運転者が車両発進のための準備操作(ブレーキ解除、シフトレバー操作等)や発進操作(アクセル踏み込み等)が行われたとき、或は車載機器からの始動要求が発生したときに、所定の自動始動条件が成立してスタータ(図示せず)に通電してエンジン11をクランキングして再始動させる。
【0017】
更に、エンジンECU30は、後述する図10乃至図13の各ルーチンを実行することで、エンジン回転が目標停止クランク角で停止するまでの回転挙動(以下「目標軌道」という)を算出する目標軌道算出手段として機能すると共に、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷を制御するエンジン回転停止制御を実行する停止制御手段として機能する。
【0018】
ここで、目標軌道は、目標停止クランク角に至るまでのクランク角と目標エンジン回転速度との関係を所定クランク角間隔で算出してテーブル(図示せず)に割り付けたものである。この目標軌道は、例えば、ロストルクを考慮したエネルギ保存則の関係式を用いて、目標停止クランク角を初期値としてクランク角を溯る方向に算出される(図2参照)。
【0019】
エネルギ保存則の関係式は次式で表される。
Ne(i+1)2 =Ne(i)2 −2/J×{Tloss( θ(i) ) −Tref(Ne(i))}
ここで、Ne(i+1)は、現時点(i) よりも所定クランク角前の時点(i+1) のエンジン回転速度、Ne(i)は現時点(i) のエンジン回転速度、Jはエンジン11の慣性モーメントである。Tloss( θ(i) )は、現時点(i) のクランク角θ(i) におけるポンピングロスとフリクションロスを合計したロストルクであり、予め設定されたマップ等を用いて現時点(i) のクランク角θ(i) に応じたロストルクTloss( θ(i) )が算出される。Tref(Ne(i))は現時点(i) のエンジン回転速度Ne(i)におけるオルタネータ33の基準負荷トルクである。
【0020】
上記エネルギ保存則の関係式において、「Tloss( θ(i) )−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0021】
本実施例では、オルタネータ33の基準負荷トルクTref(Ne(i))は、図3に示すようにオルタネータ33の制御可能な最大負荷の半分(1/2)に設定されている。このようにすれば、オルタネータ33は、モータジェネレータとは異なり、アシストトルクを出力できないという事情があっても、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となり(基準負荷Tref 以下の負荷トルクを仮想的に負の負荷トルクとし、基準負荷Tref 以上の負荷トルクを正の負荷トルクとしてオルタネータ33の負荷トルクを制御することが可能となり)、目標軌道へのエンジン回転挙動の追従性を向上することができる。
【0022】
尚、オルタネータ33の基準負荷トルクTref(Ne(i))は、最大負荷の半分(1/2)に限定されず、例えば、最大負荷の1/3、1/4、2/3、3/4等であっても良く、要は、オルタネータ33の制御可能な最大負荷よりも小さく、0よりも大きい適宜の負荷を基準負荷トルクTref(Ne(i))に設定すれば良い。
0<Tref(Ne(i))<最大負荷
【0023】
図5(a)は、基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御を行った比較例を示している。この比較例では、オルタネータ33の負荷トルクを正方向にしか制御できないため、実エンジン回転挙動がオーバーシュートした場合は、実エンジン回転挙動を目標軌道に一致させることができなくなる。
【0024】
これに対して、本実施例のように、オルタネータ33の基準負荷トルクTref(Ne(i))を最大負荷よりも小さい適宜の負荷に設定すれば、図4に示すように、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となるため、図5(b)に示すように、実回転挙動がオーバーシュートした場合でも、実回転挙動を目標軌道に一致させることができる。
【0025】
更に、本実施例では、図6に示すように、目標軌道を算出する際に、オルタネータ33の基準負荷トルクTref(Ne(i))に応じた目標軌道を算出し、エンジン回転停止制御中は、エンジン回転速度Ne(i)に応じた基準負荷トルクTref(Ne(i))を算出すると共に、現時点(i) のクランク角θ(i) における目標エンジン回転速度と実エンジン回転速度との偏差を小さくするようにベース負荷トルクを算出して、このベース負荷トルクに基準負荷トルクTref(Ne(i))を加算して要求負荷トルクTalt を求める(実際には、この要求負荷トルクTalt にプーリ比Ratioを乗算して要求軸トルクTalt.final に変換する)。
【0026】
この後、図7に示すように、発電指令値算出部38(発電指令値算出手段)で、オルタネータ33の負荷トルク特性(図8参照)を用いて、オルタネータ33の要求負荷トルクTalt (要求軸トルクTalt.final )と、エンジン回転速度Ne (又はエンジン回転速度Ne にプーリ比Ratioを乗算して求めたオルタネータ33の回転速度Nalt )に応じた発電指令値(デューティDuty )を算出する。
【0027】
尚、図8に示す負荷トルク特性は、オルタネータ33の出力電圧が13.5Vで一定の場合の特性であり、出力電圧毎に同様の特性が設定されている。この発電指令値(デューティDuty )でオルタネータ33の発電制御電流(フィールド電流)を制御してオルタネータ33の負荷トルクを制御する。
【0028】
このようなオルタネータ33の負荷トルクの制御を、エンジン回転速度がオルタネータ33の発電限界回転速度Nelow(図3参照)以下に低下するまで所定クランク間隔で周期的に実行することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するエンジン回転停止制御を行う。
【0029】
エンジン回転停止制御の際に、エンジンECU30は、所定クランク角周期で発電指令値を演算し、この発電指令値をCAN(Controller Area Network )通信により所定時間周期で電源系ECU36(図1参照)に送信する。更に、電源系ECU36は、受信した発電指令値をLIN(Local Interconnect Network)通信により所定時間周期でオルタネータ33に送信する。
【0030】
これらの発電指令値の演算周期とCAN通信の送信周期とのずれや、CAN通信の送信周期とLIN通信の送信周期とのずれ等によって、エンジン回転停止制御の際に、エンジンECU30でオルタネータ33の発電指令値が算出されてから該発電指令値が送信されて実際にオルタネータ33が応答する(発電指令値に応じて動作する)までに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下することがある。
【0031】
図8に示すように、エンジン回転停止制御を行う回転領域では、オルタネータ33の発電指令値が同じでも、エンジン回転速度(つまりオルタネータ33の回転速度)が低下するほどオルタネータ33の発電電流が低下してオルタネータ33の負荷トルクが低くなるという特性がある。このため、現在のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する従来のエンジン回転停止制御システムでは、図9に示すように、発電指令値が算出されてから実際にオルタネータが応答するまでに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下すると、オルタネータの実発電電流が要求発電電流よりも低くなって、オルタネータの負荷トルクが要求負荷トルクよりも低くなってしまい、エンジン回転停止制御の精度が低下してしまう可能性がある。
【0032】
この対策として、本実施例では、エンジン回転停止制御の際に、オルタネータ33の発電指令値が算出されてから実際にオルタネータ33が応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度の変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度の変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する。
【0033】
具体的には、図7に示すように、まず、指令遅れ時間算出部39(指令遅れ時間算出手段)で、エンジン停止要求の発生に伴ってエンジン回転停止制御が開始される際にオルタネータ33の要求負荷トルクTalt が初期値(例えば基準負荷トルクTref(Ne) )に設定されたときに、この要求負荷トルクTalt に応じた発電指令値が算出された時点から実際にオルタネータ33が応答する時点(例えば発電指令値の変化に応じて発電電流が変化し始めた時点)までの時間をカウントして指令遅れ時間dtを求める(図14参照)。
【0034】
そして、エンジン回転速度変化量推定部40(エンジン回転速度変化量推定手段)で、エンジン回転停止制御中に、指令遅れ時間中のエンジン回転速度変化量dNe を推定する。この際、例えば、オルタネータ33の基準負荷トルクTref(Ne) に応じて算出された目標軌道の傾きKt(例えば目標軌道のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この目標軌道の傾きKtに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求める。
dNe =Kt×dt
【0035】
或は、実エンジン回転挙動の傾きKr(例えば実エンジン回転挙動のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この実エンジン回転挙動の傾きKrに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求めるようにしても良い。
dNe =Kr×dt
【0036】
この後、現在のエンジン回転速度Ne から指令遅れ時間中のエンジン回転速度変化量dNe を差し引いて指令遅れ時間経過後のエンジン回転速度Ne.hosei を求める。
Ne.hosei =Ne −dNe
【0037】
更に、指令遅れ時間経過後のエンジン回転速度Ne.hosei にプーリ比Ratioを乗算して、指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei に変換しても良い。
Nalt.hosei =Ne.hosei ×Ratio
【0038】
この後、発電指令値算出部38で、オルタネータ33の負荷トルク特性(図8参照)を用いて、オルタネータ33の要求負荷トルクTalt (要求軸トルクTalt.final )と、指令遅れ時間経過後のエンジン回転速度Ne.hosei (又は指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei )に応じた発電指令値(デューティDuty )を算出する。
【0039】
この際、要求負荷トルクTalt とエンジン回転速度Ne.hosei (又はオルタネータ33の回転速度Nalt.hosei )から発電指令値(デューティDuty )を直接算出するようにしても良いが、要求負荷トルクTalt とエンジン回転速度Ne.hosei (又はオルタネータ33の回転速度Nalt.hosei )から要求フィールド電流(要求励磁電流)を算出し、この要求フィールド電流から発電指令値(デューティDuty )を算出するようにしても良い。
以上説明したエンジン回転停止制御は、エンジンECU30によって図10乃至図13の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【0040】
[目標軌道算出ルーチン]
図10に示す目標軌道算出ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ101で、目標軌道算出完了フラグが目標軌道の算出前を意味する「0」にセットされているか否かを判定し、この目標軌道算出完了フラグが目標軌道算出完了を意味する「1」にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。
【0041】
一方、このステップ101で、目標軌道算出完了フラグ=0(目標軌道の算出前)と判定されれば、ステップ102に進み、ロストルクTloss( θ(i) )とオルタネータ33の基準負荷トルクTref(Ne(i))を用いて、次式で表されるエネルギ保存則の関係式を用いて次の時点(i+1) の目標エンジン回転速度Ne(i+1)の二乗を算出する。
Ne(i+1)2 =Ne(i)2 −2/J×{Tloss( θ(i) )−Tref(Ne(i))}
【0042】
ここで、Jはエンジン11の慣性モーメント、Tloss( θ(i) )は、ポンピングロスとフリクションロスを合計したロストルクであり、予め設定されたマップ等を用いて、現時点(i) のクランク角θ(i) に応じたロストルクTloss( θ(i) )を算出する。
【0043】
上記エネルギ保存則の関係式において、「Tloss( θ(i) )−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0044】
初期値は、i=0、θ(0) =目標停止クランク角、Ne(0)=0rpm(停止時のエンジン回転速度)である。目標軌道は、目標停止クランク角θ(0) を初期値としてクランク角を溯る方向に所定クランク角毎(例えばTDC毎)に算出する。
【0045】
この後、ステップ103に進み、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたか否かを判定し、まだ最大エンジン回転速度Nemaxの二乗を越えていなければ、ステップ104に進み、目標軌道算出完了フラグを「0」に維持する(セットし直す)。
【0046】
この後、ステップ106に進み、目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブル(図示せず)に割り付けて、本ルーチンを終了する。尚、エンジンECU30の演算負荷を低減するため、エンジン回転速度の二乗をそのままテーブルに割り付けても良い。目標軌道のテーブルは、エンジンECU30のメモリに記憶される。
【0047】
以上のような処理を繰り返して、目標停止クランク角θ(0) を初期値としてクランク角を溯る方向に所定クランク角毎(例えばTDC毎)に目標エンジン回転速度Ne(i+1)の二乗を算出して目標軌道のテーブルに目標エンジン回転速度Ne(i+1)を割り付ける処理を繰り返す。そして、上記ステップ103で、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたと判定された時点で、ステップ105に進み、目標軌道算出完了フラグを目標軌道算出完了を意味する「1」にセットして、ステップ106に進み、最後の目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブルに割り付けて、本ルーチンを終了する。
【0048】
[エンジン回転停止制御ルーチン]
図11及び図12に示すエンジン回転停止制御ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ201で、エンジン停止要求(アイドルストップ信号)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了して、エンジン運転(燃料噴射制御及び点火制御)を継続する。
【0049】
その後、上記ステップ201で、エンジン停止要求が発生したと判定された時点で、ステップ202に進み、現在のクランク角θとエンジン回転速度Ne を算出する。この後、ステップ203に進み、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミング(例えばTDC)であるか否かを判定し、オルタネータ33の負荷トルクの制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0050】
上記ステップ203で、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミングであると判定されれば、ステップ204に進み、現在のエンジン回転速度Ne がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxよりも低いか否かを判定し、現在のエンジン回転速度Ne が最大エンジン回転速度Nemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【0051】
これに対して、上記ステップ204で、現在のエンジン回転速度Ne が最大エンジン回転速度Nemaxよりも低いと判定されれば、ステップ205に進み、エンジン11が燃焼中であるか否かを判定する。このステップ205で、エンジン停止要求が発生した直後でエンジン11がまだ燃焼中であると判定された場合には、ステップ206に進み、エンジン回転停止制御を開始する際のオルタネータ33の要求負荷トルクTalt を初期値(例えば基準負荷トルクTref(Ne) )に設定する。
Talt =Tref(Ne)
【0052】
その後、上記ステップ205で、エンジン11の燃焼が停止したと判定された場合には、ステップ207に進み、目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Netg を求める。ここで、車両がMT車(マニュアルミッション車)の場合は、クラッチが開放状態かどうかを判断し、クラッチ開放・継合状態に応じた目標軌道を選択するようにしても良い。
【0053】
この後、ステップ208に進み、現在のエンジン回転速度Ne と目標エンジン回転速度Netg とオルタネータ33の基準負荷トルクTref(Ne) を用いて、次式により要求負荷トルクTalt を算出する。
【0054】
【数1】
【0055】
ここで、Jはエンジン11の慣性モーメント、Kはフィードバックゲイン、Δθはクランク角変化量である。
この後、ステップ209に進み、要求負荷トルクTalt にプーリ比Ratioを乗算して、オルタネータ33の要求軸トルクTalt.final に変換する。
【0056】
この後、図12のステップ210に進み、後述する図13の指令遅れ時間算出ルーチンによりエンジン回転停止制御が開始される際に算出された指令遅れ時間dtを読み込んだ後、ステップ211に進み、オルタネータ33の基準負荷トルクTref(Ne) に応じて算出された目標軌道の傾きKt(例えば目標軌道のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この目標軌道の傾きKtに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求める。
dNe =Kt×dt
【0057】
或は、実エンジン回転挙動の傾きKr(例えば実エンジン回転挙動のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量)を算出し、この実エンジン回転挙動の傾きKrに指令遅れ時間dtを乗算して、指令遅れ時間中のエンジン回転速度変化量dNe を求めるようにしても良い。
dNe =Kr×dt
【0058】
この後、ステップ212に進み、現在のエンジン回転速度Ne から指令遅れ時間中のエンジン回転速度変化量dNe を差し引いて指令遅れ時間経過後のエンジン回転速度Ne.hosei を求める。
Ne.hosei =Ne −dNe
【0059】
次のステップ213で、指令遅れ時間経過後のエンジン回転速度Ne.hosei にプーリ比Ratioを乗算して、指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei に変換する。
Nalt.hosei =Ne.hosei ×Ratio
【0060】
この後、ステップ214に進み、バッテリ電圧を検出した後、ステップ215に進み、バッテリ電圧毎に作成された複数の負荷トルク特性マップ(図8参照)の中から、現在のバッテリ電圧に対応する負荷トルク特性マップを選択して、現在の要求負荷トルクTalt (要求軸トルクTalt.final )と、指令遅れ時間経過後のエンジン回転速度Ne.hosei (又は指令遅れ時間経過後のオルタネータ33の回転速度Nalt.hosei )に応じた発電指令値(デューティDuty )を算出する。
【0061】
[指令遅れ時間算出ルーチン]
図13に示す指令遅れ時間算出ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ301で、エンジン停止要求(アイドルストップ信号)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0062】
その後、上記ステップ301で、エンジン停止要求が発生したと判定された時点で、ステップ302に進み、図14に示すように、エンジン停止要求の発生に伴ってエンジン回転停止制御が開始される際にオルタネータ33の要求負荷トルクTalt が初期値(例えば基準負荷トルクTref(Ne) )に設定されたときに、この要求負荷トルクTalt に応じた発電指令値が算出された時点t0 から実際にオルタネータ33が応答する時点t1 (例えば発電指令値の変化に応じて発電電流が変化し始めた時点)までの時間をカウントして指令遅れ時間dtを求める。
【0063】
以上説明した本実施例では、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷を制御してエンジン回転を停止させるエンジン回転停止制御の際に、オルタネータ33の発電指令値が算出されてから実際にオルタネータ33が応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出するようにしたので、オルタネータ33の発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度においてオルタネータ33の要求負荷トルクを実現する発電指令値を精度良く算出することができる。これにより、オルタネータ33の発電指令値が算出されてから実際にオルタネータ33が応答するまでに指令遅れ時間が生じても、オルタネータ33の負荷トルクを精度良く要求負荷トルクに制御することができ、エンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御することができる。
【0064】
尚、上記実施例では、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出するようにしたが、指令遅れ時間中のエンジン回転速度変化量を考慮して発電指令値を算出する方法は、これに限定されず、適宜変更しても良く、例えば、現在のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出し、この発電指令値を指令遅れ時間中のエンジン回転速度変化量で補正するようにしたり、或は、要求負荷トルクを指令遅れ時間中のエンジン回転速度変化量で補正し、現在のエンジン回転速度と補正後の要求負荷トルクに応じて発電指令値を算出するようにしても良い。
【0065】
また、上記実施例では、目標停止クランク角を初期値としてクランク角を溯る方向に目標軌道を求めるようにしたが、例えば、目標停止クランク角でエンジン回転が停止するように停止直前のエンジン回転速度とクランク角(例えばTDC)を初期値として設定しておき、そこからクランク角を溯る方向に目標軌道を求めるようにしても良い等、目標軌道の算出方法を適宜変更しても良い。
【0066】
また、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【0067】
11…エンジン、13…吸気管、14…スロットルバルブ、19…燃料噴射弁、21…排気管、26…クランク角センサ、29…カム角センサ、30…エンジンECU(目標軌道算出手段,停止制御手段,要求負荷算出手段)、33…オルタネータ(発電機)、36…電源系ECU、38…発電指令値算出部(発電指令値算出手段)、39…指令遅れ時間算出部(指令遅れ時間算出手段)、40…エンジン回転速度変化量推定部(エンジン回転速度変化量推定手段)
【特許請求の範囲】
【請求項1】
エンジン停止要求が発生したときに燃焼を停止させてエンジン回転を停止させるエンジン回転停止制御装置において、
エンジンで駆動される発電機と、
エンジン回転が目標停止クランク角で停止するまでの回転挙動(以下「目標軌道」という)を算出する目標軌道算出手段と、
エンジン回転を停止させる際に実エンジン回転挙動を前記目標軌道に合わせるように前記発電機の負荷を制御する停止制御手段とを備え、
前記停止制御手段は、
前記実エンジン回転挙動を前記目標軌道に合わせるように前記発電機の要求負荷を算出する要求負荷算出手段と、
前記発電機の発電指令値が算出されてから該発電機が応答するまでの指令遅れ時間を算出する指令遅れ時間算出手段と、
前記指令遅れ時間中のエンジン回転速度の変化量を推定するエンジン回転速度変化量推定手段と、
前記発電機の要求負荷と前記指令遅れ時間中のエンジン回転速度の変化量とに基づいて前記発電機の発電指令値を算出する発電指令値算出手段とを備えていることを特徴とするエンジン回転停止制御装置。
【請求項2】
前記エンジン回転速度変化量推定手段は、前記指令遅れ時間と前記実エンジン回転挙動の傾きとに基づいて前記指令遅れ時間中のエンジン回転速度の変化量を算出する手段を有することを特徴とする請求項1に記載のエンジン回転停止制御装置。
【請求項3】
前記エンジン回転速度変化量推定手段は、前記指令遅れ時間と前記目標軌道の傾きとに基づいて前記指令遅れ時間中のエンジン回転速度の変化量を算出する手段を有することを特徴とする請求項1に記載のエンジン回転停止制御装置。
【請求項4】
前記発電指令値算出手段は、現在のエンジン回転速度から前記指令遅れ時間中のエンジン回転速度の変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、該指令遅れ時間経過後のエンジン回転速度と前記発電機の要求負荷とに基づいて前記発電機の発電指令値を算出する手段を有することを特徴とする請求項1乃至3のいずれかに記載のエンジン回転停止制御装置。
【請求項1】
エンジン停止要求が発生したときに燃焼を停止させてエンジン回転を停止させるエンジン回転停止制御装置において、
エンジンで駆動される発電機と、
エンジン回転が目標停止クランク角で停止するまでの回転挙動(以下「目標軌道」という)を算出する目標軌道算出手段と、
エンジン回転を停止させる際に実エンジン回転挙動を前記目標軌道に合わせるように前記発電機の負荷を制御する停止制御手段とを備え、
前記停止制御手段は、
前記実エンジン回転挙動を前記目標軌道に合わせるように前記発電機の要求負荷を算出する要求負荷算出手段と、
前記発電機の発電指令値が算出されてから該発電機が応答するまでの指令遅れ時間を算出する指令遅れ時間算出手段と、
前記指令遅れ時間中のエンジン回転速度の変化量を推定するエンジン回転速度変化量推定手段と、
前記発電機の要求負荷と前記指令遅れ時間中のエンジン回転速度の変化量とに基づいて前記発電機の発電指令値を算出する発電指令値算出手段とを備えていることを特徴とするエンジン回転停止制御装置。
【請求項2】
前記エンジン回転速度変化量推定手段は、前記指令遅れ時間と前記実エンジン回転挙動の傾きとに基づいて前記指令遅れ時間中のエンジン回転速度の変化量を算出する手段を有することを特徴とする請求項1に記載のエンジン回転停止制御装置。
【請求項3】
前記エンジン回転速度変化量推定手段は、前記指令遅れ時間と前記目標軌道の傾きとに基づいて前記指令遅れ時間中のエンジン回転速度の変化量を算出する手段を有することを特徴とする請求項1に記載のエンジン回転停止制御装置。
【請求項4】
前記発電指令値算出手段は、現在のエンジン回転速度から前記指令遅れ時間中のエンジン回転速度の変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、該指令遅れ時間経過後のエンジン回転速度と前記発電機の要求負荷とに基づいて前記発電機の発電指令値を算出する手段を有することを特徴とする請求項1乃至3のいずれかに記載のエンジン回転停止制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−216349(P2010−216349A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−63310(P2009−63310)
【出願日】平成21年3月16日(2009.3.16)
【出願人】(000004260)株式会社デンソー (27,639)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願日】平成21年3月16日(2009.3.16)
【出願人】(000004260)株式会社デンソー (27,639)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]