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