以下、本発明の一実施形態を図面に基づいて説明する。
−機械的構成−
まず、図1を参照して、本発明の一実施形態によるECU50を備える車両100の機械的構成(駆動系統)について説明する。
車両100は、図1に示すように、内燃機関1と、クラッチ2と、モータジェネレータ3と、トルクコンバータ4と、変速機5とを備えている。この車両100は、たとえばFR(フロントエンジンリアドライブ)方式のハイブリッド車両である。なお、モータジェネレータ3は、本発明の「電動機」の一例である。
内燃機関1は、たとえば多気筒ガソリンエンジンであり、走行用の駆動力を出力可能に構成されている。この内燃機関1は、直噴型であり、インジェクタ11(図2参照)が燃焼室に設けられている。また、内燃機関1のクランクシャフト1aは、クラッチ2を介してモータジェネレータ3のロータシャフト3aに連結されている。
クラッチ2は、たとえば湿式多板型の摩擦係合装置であり、内燃機関1とモータジェネレータ3との間に配置されている。このクラッチ2は、内燃機関1とモータジェネレータ3とを選択的に連結するように構成されている。具体的には、クラッチ2が係合された場合に、内燃機関1とモータジェネレータ3との間の動力伝達経路が連結され、クラッチ2が解放された場合に、内燃機関1とモータジェネレータ3との間の動力伝達経路が遮断されるようになっている。すなわち、クラッチ2が解放された場合には、内燃機関1が駆動輪(後輪)9から切り離される。また、クラッチ2は、油圧作動式であり、油圧アクチュエータ(図示省略)によって制御されるように構成されている。
モータジェネレータ3は、電動機として機能するとともに、発電機として機能するように構成されている。このため、モータジェネレータ3は、走行用の駆動力を出力可能であるとともに、運動エネルギ(ロータ31の回転)を電気エネルギに変換して発電することが可能である。このモータジェネレータ3は、たとえば、交流同期電動機であり、永久磁石を有するロータ31と、3相巻線が巻回されたステータ32とを含んでいる。ロータ31にはロータシャフト3aが一体的に設けられ、このロータシャフト3aはトルクコンバータ4に連結されている。
トルクコンバータ4は、入力側のポンプインペラ41および出力側のタービンランナ42などを有しており、それらポンプインペラ41とタービンランナ42との間で流体(作動油)を介して動力伝達を行うように構成されている。ポンプインペラ41はロータシャフト3aに連結され、タービンランナ42はタービンシャフト4aを介して変速機5に連結されている。また、トルクコンバータ4は、ロックアップクラッチ43が設けられ、ロックアップクラッチ43が係合することによってポンプインペラ41およびタービンランナ42が一体的に回転するようになっている。
変速機5は、たとえば有段式の自動変速機であって、摩擦係合要素および遊星歯車装置などを有しており、選択的に摩擦係合要素を係合させることにより複数の変速段を成立させるように構成されている。この変速機5は、たとえば車速およびアクセル開度に応じて変速段(変速比)を自動的に切り替えるように構成されている。変速機5の出力は、プロペラシャフト6、デファレンシャル装置7およびドライブシャフト8を介して駆動輪9に伝達される。
−電気的構成−
次に、図2を参照して、車両100の電気的構成(制御系統)について説明する。
車両100は、ECU50と、バッテリ51と、インバータ52とを備えている。
ECU50は、車両100を制御するように構成されている。このECU50は、図2に示すように、CPU50aと、ROM50bと、RAM50cと、バックアップRAM50dと、入出力インターフェース50eとを含み、これらがバスを介して接続されている。なお、ECU50は、本発明の「車両の制御装置」の一例である。そして、CPU50aがROM50bに記憶されたプログラムを実行することにより、本発明の「第1学習手段」、「第2学習手段」および「第3学習手段」が実現される。
CPU50aは、ROM50bに記憶された各種制御プログラムやマップに基づいて演算処理を実行する。ROM50bには、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップなどが記憶されている。RAM50cは、CPU50aによる演算結果や各センサの検出結果などを一時的に記憶するメモリである。バックアップRAM50dは、車両システムを停止する際に保存すべきデータなどを記憶する不揮発性のメモリである。
入出力インターフェース50eは、各センサの検出結果などが入力されるとともに、各部に制御信号などを出力する機能を有する。入出力インターフェース50eには、クランクポジションセンサ61、スロットル開度センサ62、アクセル開度センサ63、MG回転数センサ64、タービン回転数センサ65、および、車速センサ66などが接続されている。そして、ECU50は、各センサの検出結果などに基づいて、クランクシャフト1aの回転位置(クランク角度)、クランクシャフト1aの単位時間あたりの回転数(エンジン回転数)、スロットルバルブの開度(スロットル開度)、アクセルペダルの操作量であるアクセル開度、ロータシャフト3aの単位時間あたりの回転数(MG回転数)、タービンシャフト4aの単位時間あたりの回転数(タービン回転数)、および、車速などを算出する。
また、入出力インターフェース50eには、インジェクタ11、イグナイタ12およびスロットルモータ13が接続されている。そして、ECU50は、各センサの検出結果などに基づいて、燃料噴射量、点火時期およびスロットル開度(吸入空気量)などを制御することにより、内燃機関1の運転状態を制御するように構成されている。
また、入出力インターフェース50eには、油圧制御回路70が接続されている。そして、ECU50は、油圧制御回路70から出力される油圧を調整することにより、クラッチ2の係合解放制御、ロックアップクラッチ43の係合解放制御、および、変速機5の変速段の切替制御などを行うように構成されている。クラッチ2の係合解放制御では、クラッチ2を制御する油圧アクチュエータに供給される油圧を、油圧制御回路70のソレノイドバルブ(図示省略)によって調圧することにより、クラッチ2のトルク容量(クラッチトルク)を調整することが可能である。
また、入出力インターフェース50eには、バッテリ51およびインバータ52が接続されている。バッテリ51は、充放電可能な蓄電装置であり、モータジェネレータ3を駆動する電力を供給するとともに、モータジェネレータ3で発電された電力を蓄電するように構成されている。インバータ52は、たとえば、IGBTおよびダイオードを有する三相ブリッジ回路であり、ECU50から供給される駆動信号によりIGBTのオン/オフ状態が制御されることによって力行制御または発電制御される。具体的には、インバータ52は、バッテリ51から供給される直流電流を交流電流に変換してモータジェネレータ3を駆動する(力行制御)とともに、モータジェネレータ3で発電された交流電流を直流電流に変換してバッテリ51に出力する(発電制御)。
−走行モード−
次に、車両100の走行モードについて説明する。この車両100は、EV走行モードとHV走行モードとを切り替え可能に構成されている。
EV走行モード時には、クラッチ2を解放するとともに、内燃機関1の運転を停止した状態で、モータジェネレータ3から駆動力を出力することにより、モータジェネレータ3の駆動力のみで走行する。なお、制動時には、モータジェネレータ3で発電可能である。
HV走行モード時には、クラッチ2を係合した状態で内燃機関1の運転を行うことにより、内燃機関1から出力される駆動力で走行する。この場合、モータジェネレータ3から走行用の駆動力(アシストトルク)を出力したり、モータジェネレータ3で発電することも可能である。
すなわち、車両100は、走行状態などに応じて内燃機関1を間欠運転するように構成されている。
−車両走行中の内燃機関の始動−
車両100は、EV走行モードからHV走行モードに移行される際に、走行中に内燃機関1を始動するときに、クラッチ2を滑らせながら係合させてエンジン回転数を上昇させるように構成されている。このとき、クラッチ2の係合により発生する減速トルクを打ち消すようにモータジェネレータ3から補償トルクが出力されるようになっている。すなわち、クラッチ2の係合により内燃機関1側にトルクが奪われることに起因してショックが発生するのを抑制するために、その奪われるトルク分だけモータジェネレータ3からの出力が増加される。なお、減速トルク(負トルク)は、内燃機関1が引きずられることにより発生し、クラッチトルクにより調整することが可能である。
ここで、クラッチ2では、製造時の個体差や長期間の使用に伴う経年変化などに起因して特性にばらつきが生じる。具体的には、クラッチ2に対する係合開始指示から実際に係合が開始されるまでの無駄時間や、クラッチトルクの指示値に対する実際の大きさ(高さ)にばらつきが生じる。このようなばらつきがあると、内燃機関1の始動時にショックが発生するおそれがある。
そこで、本実施形態のECU50は、クラッチトルク(減速トルク)の発生タイミングと補償トルクの発生タイミングとのずれを補正するタイミング学習を行うとともに、クラッチトルクおよび補償トルクの大きさのずれを補正する大きさ学習を行うように構成されている。これにより、内燃機関1の始動時にショックが発生するのを抑制することが可能である。なお、ECU50は、タイミング学習によりタイミングのずれが収束した後に、大きさ学習を行うように構成されている。また、タイミング学習では、クラッチトルクの発生タイミングと補償トルクの発生タイミングとのずれが減少するように、補償トルクの発生タイミングが補正される。また、大きさ学習では、クラッチトルクおよび補償トルクの大きさのずれが減少するように、クラッチトルクの大きさが補正される。
ここで、タイミング学習および大きさ学習により内燃機関1の始動時のショックを抑制することが可能であるが、クラッチ2の無駄時間にばらつきが生じると、内燃機関1の始動の際の応答性にばらつきが発生するおそれがある。そこで、本実施形態のECU50は、クラッチ2を係合させる際のファーストフィル時間を補正するファーストフィル時間学習を行うように構成されている。なお、ファーストフィル(クイックアプライ)とは、クラッチ2の応答性を向上させるために、クラッチ2を制御する油圧アクチュエータに供給される油圧を一時的に高めてパック詰めを行うためのものである。これにより、クラッチトルクの発生タイミングを目標とされる所定範囲内にすることにより、内燃機関1の始動時の応答性がばらつくのを抑制することが可能である。なお、ECU50は、タイミング学習によりタイミングのずれが収束するとともに、大きさ学習により大きさのずれが収束した後に、ファーストフィル時間学習を行うように構成されている。これは、クラッチ2はモータジェネレータ3に比べて制御性が低い(精度よく制御することが困難である)ため、ファーストフィル時間学習を先行させると、収束するのに時間がかかり、ショックが発生する期間が長くなるおそれがあるためである。
また、車両100の走行中における内燃機関1の始動方法としては、たとえば、第1の始動方法と第2の始動方法とがある。第1の始動方法では、クラッチ2を係合させることにより、エンジン回転数を完爆可能な所定回転数まで上昇させた後に、燃料噴射および点火を開始する。第2の始動方法は、いわゆる着火始動であり、クラッチ2が係合されて内燃機関1が回転を開始する当初から燃料噴射および点火を開始する。着火始動では、吸気バルブおよび排気バルブがともに閉じている膨張行程で停止している気筒の燃焼室にインジェクタ11から燃料を噴射して点火することにより、その気筒で燃焼・爆発させることによって、回転開始当初から駆動力が出力される。この第2の始動方法(着火始動)では、第1の始動方法に比べて、内燃機関1の始動の際に要求されるモータジェネレータ3からの補償トルクを低減することができるので、EV走行モードで走行可能な運転領域を拡大することが可能である。なお、車両走行中の内燃機関1の始動方法は、たとえば車両100の状態などに応じて選択される。
そして、着火始動を行う場合において、クラッチ2が係合を開始するタイミング(クラッチトルクの発生タイミング)と着火始動の開始タイミングとにずれが生じると、燃焼条件が悪化したり、エンジン回転数が失速するおそれがある。そこで、ECU50は、クラッチ2が係合を開始するタイミングと着火始動の開始タイミングとのずれを補正するように構成されている。なお、着火始動の開始タイミングは、補償トルクの発生タイミングと同期されており、補償トルクの発生タイミングとともに学習される。
図3〜図6は、車両100の走行中における内燃機関1の始動時のタイミングチャートの一例である。次に、図3〜図6を参照して、車両100の走行中における内燃機関1の始動時の動作例について説明する。
なお、図3〜図6では、クラッチ2の油圧アクチュエータに供給される油圧の指示値と、クラッチ2のトルク容量であるクラッチトルクと、モータジェネレータ3からの出力トルクであるMGトルク(モータトルク)と、内燃機関1の単位時間あたりの回転数(エンジン回転数Ne)およびモータジェネレータ3の単位時間あたりの回転数(MG回転数Nmg)とを示した。図3〜図6において、クラッチトルクが発生すると内燃機関1が引きずられるため、そのクラッチトルクと対応する減速トルク(負トルク)が発生する。また、図3〜図6において、MGトルクは補償トルクに相当する。
また、図3は、初期状態の場合を示し、図4は、タイミング学習が収束した状態の場合を示し、図5は、大きさ学習が収束した状態の場合を示し、図6は、ファーストフィル時間学習の実行後の場合を示した。なお、初期状態とは、学習履歴がゼロであり、学習が開始されるときの状態である。たとえば、ECU50が交換された場合や、クラッチ2の交換により学習履歴がリセットされた場合に、初期状態になる。
[初期状態の場合]
まず、車両走行中の内燃機関1の始動前においては、EV走行モードであり、クラッチ2が解放され、内燃機関1の運転が停止されている。また、トルクコンバータ4のロックアップクラッチ43が滑っている。なお、図3の例では、モータジェネレータ3から走行用の駆動力が出力されておらず、車両100が惰性走行している場合を示しているが、モータジェネレータ3から走行用の駆動力が出力されることにより車両100が走行していてもよい。
そして、EV走行モードからHV走行モードに移行される際に、内燃機関1の始動が開始されると、図3の時点t1において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。具体的には、まず、ファーストフィル制御が行われる。このファーストフィル制御では、クラッチ2の油圧アクチュエータに供給される油圧の指示値として、所定のファーストフィル圧が設定され、その状態がファーストフィル時間FTだけ継続される。なお、ファーストフィル時間FTは後述するように学習補正されるが、初期状態のファーストフィル時間FTは、予め設定された値(たとえば、学習補正されるファーストフィル時間FTにおいて設定可能な最小値)であり、クラッチ2のばらつきが最大であっても、ファーストフィル時間FT内でクラッチ2が係合を開始しないように設定されている。このため、後述するように、所定範囲PRよりも遅れてクラッチトルクが立ち上がる。この所定範囲PRは、予め設定されており、クラッチトルクの発生タイミングの目標とされる範囲である。
そして、ファーストフィル制御が終了されると、クラッチ2の油圧アクチュエータに供給される油圧の指示値として、ファーストフィル圧よりも低い所定値PVが設定される。この所定値PVは、たとえば、指示トルクなどに基づいて算出された値である。なお、ECU50は、クラッチ2の油圧アクチュエータに供給される油圧が設定された指示値になるように、油圧制御回路70のソレノイドバルブを制御する。
次に、時点t2において、MGトルクが立ち上がる。初期状態の場合には、MGトルクの発生タイミングが所定範囲PR内に設定されている。そして、時点t3において、クラッチトルクが立ち上がる。その後、エンジン回転数Neが立ち上がる。なお、クラッチトルクは、係合開始指示から遅れて立ち上がり、MGトルクは、時点t2でECU50がインバータ52を制御することにより立ち上げられる。このように、クラッチトルクよりもMGトルクが早く立ち上がると、そのMGトルクによってMG回転数Nmgが吹き上がる。すなわち、モータジェネレータ3の基準回転数Nmgbに対して実際のMG回転数Nmgが乖離する。なお、基準回転数Nmgbは、MG回転数Nmgに対してなまし処理(たとえば移動平均フィルタなどによる平滑化処理)を施すことにより算出される。その後、クラッチトルクがMGトルクよりも大きいことから、減速トルクが補償トルクよりも大きい状態になり、MG回転数Nmgが下がり基準回転数Nmgbを下回る。また、クラッチトルクが所定範囲PRよりも遅れて立ち上がるため、エンジン回転数Neが目標エンジン回転数Netよりも遅れて立ち上がる。
ここで、タイミングのずれに起因する乖離(モータジェネレータ3の回転変動)と、大きさのずれに起因する乖離とを正確に切り分けることが困難である。しかしながら、タイミング学習においては、基準回転数Nmgbに対するMG回転数Nmgの乖離を積算する期間(範囲)を制限することにより、トルクの大きさのずれによる影響を小さくすることが可能である。たとえば、MGトルクが立ち上がる時点t2を含む所定期間において、基準回転数Nmgbに対するMG回転数Nmgの乖離を積算することにより、トルクの大きさのずれによる影響を小さくすることが可能である。
このため、まず、モータジェネレータ3の回転変動に基づいてタイミング学習が行われる。図3の例では、白抜き矢印で示すように、内燃機関1の次回の始動時におけるMGトルクの立ち上がりタイミングが遅くなるように補正される。このタイミング学習は、車両走行中の内燃機関1の始動毎に行われ、MGトルクの立ち上がりタイミングが、クラッチトルクの立ち上がりタイミングに徐々に収束されるようになる。なお、着火始動を行う場合のその開始タイミングは、MGトルクの立ち上がりタイミングと同期された状態で学習補正される。
[タイミング学習が収束した状態の場合]
図4の時点t11までについては、上記した図3の場合と同様である。そして、時点t11において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。
次に、時点t12において、MGトルクが立ち上がるとともに、クラッチトルクが立ち上がる。その後、エンジン回転数Neが立ち上がる。このように、クラッチトルクとMGトルクとが同時に立ち上がると、タイミングのずれに起因するMG回転数Nmgの変動が発生しない。その後、クラッチトルクがMGトルクよりも大きいと、減速トルクが補償トルクよりも大きい状態になり、MG回転数Nmgが基準回転数Nmgbから下がる。また、クラッチトルクが所定範囲PRよりも遅れて立ち上がるため、エンジン回転数Neが目標エンジン回転数Netよりも遅れて立ち上がる。
このように、クラッチトルクの発生タイミングとMGトルクの発生タイミングとのずれが収束した場合には、モータジェネレータ3の回転変動に基づいて大きさ学習が行われる。図4の例では、内燃機関1の次回の始動時におけるクラッチトルク(指示トルク)が小さくなるように補正される。具体的には、指示トルクが小さくなるように補正されることから、図4の白抜き矢印で示すように、所定値PVが小さくなるため、クラッチトルクが小さくなる。この大きさ学習は、車両走行中の内燃機関1の始動毎に行われ、クラッチトルクの大きさが、MGトルクの大きさに徐々に収束されるようになる。
[大きさ学習が収束した状態の場合]
図5の時点t21までについては、上記した図3の場合と同様である。そして、時点t21において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。
次に、時点t22において、MGトルクが立ち上がるとともに、クラッチトルクが立ち上がる。その後、エンジン回転数Neが立ち上がる。このように、クラッチトルクとMGトルクとが同時に立ち上がると、タイミングのずれに起因するMG回転数Nmgの変動が発生しない。また、クラッチトルクおよびMGトルクの大きさが同じになると、大きさのずれに起因するMG回転数Nmgの変動が発生しない。したがって、内燃機関1の始動時にショックが発生するのを抑制することが可能である。また、クラッチトルクが所定範囲PRよりも遅れて立ち上がるため、エンジン回転数Neが目標エンジン回転数Netよりも遅れて立ち上がる。
このように、クラッチトルクおよびMGトルクの大きさのずれが収束した場合には、ファーストフィル時間学習が行われる。このファーストフィル時間学習は、クラッチ2に対する係合開始指示から実際に係合が開始されるまでの無駄時間に基づいて行われる。なお、図5の状態では、クラッチ2の無駄時間と、クラッチ2の係合開始指示が出力されてからMGトルクが立ち上げられるまでの待機時間とが同じであることから、クラッチ2の無駄時間は、たとえば、モータジェネレータ3の待機時間に基づいて判断される。図5の例では、白抜き矢印で示すように、内燃機関1の次回の始動時におけるファーストフィル時間FTが大きくなるように補正される。このため、クラッチ2の無駄時間が短くなり、クラッチトルクが早期に立ち上がるので、クラッチトルクの発生タイミングを所定範囲PRに近づけることが可能である。
[ファーストフィル時間学習の実行後の場合]
図6の時点t31までについては、上記した図3の場合と同様である。そして、時点t31において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。
次に、時点t32において、クラッチトルクが立ち上がる。そして、エンジン回転数Neが立ち上がる。その後、時点t33において、MGトルクが立ち上がる。このように、MGトルクよりもクラッチトルクが早く立ち上がると、そのクラッチトルクによってMG回転数Nmgが下がる。また、クラッチトルクが図3〜図5の場合に比べて早期に立ち上がるため、エンジン回転数Neも早期に立ち上がり目標エンジン回転数Netに近づくようになる。
そして、ファーストフィル時間学習が実行された場合には、MGトルクの立ち上がりタイミングとクラッチトルクの立ち上がりタイミングとにずれが発生するため、タイミング学習が行われる。なお、その後、タイミング学習および大きさ学習が再び収束するまで、ファーストフィル時間学習は行われない。
上記した動作が繰り返し行われることにより、クラッチトルクの立ち上がりタイミングが目標とされる所定範囲PR内に移る。したがって、エンジン回転数Neが目標エンジン回転数Netの近傍になり、内燃機関1の始動の際の応答性のばらつきを抑制することが可能である。
−ECUによる学習制御−
ECU50は、上記したように、タイミング学習を優先して行い、そのタイミング学習が収束した後に大きさ学習を行うとともに、大きさ学習が収束した後にファーストフィル時間学習を行うように構成されている。
具体的には、ECU50は、車両走行中の内燃機関1の始動時に、モータジェネレータ3の基準回転数Nmgbに対する実際のMG回転数Nmgの乖離量を算出するように構成されている。この乖離量は、たとえば、車両走行中の内燃機関1の始動時における、MG回転数Nmgと基準回転数Nmgbとの差の積算値である。
そして、ECU50は、乖離量に基づいてタイミング学習および大きさ学習を行うように構成されている。なお、タイミング学習と大きさ学習とでは、MG回転数Nmgと基準回転数Nmgbとの差を積算する期間が異なっている。たとえば、タイミング学習では、MGトルク(補償トルク)が安定する前の所定期間における差を積算し、大きさ学習では、MGトルクが安定した後の所定期間における差を積算する。これにより、優先して行うタイミング学習の際に、トルクの大きさのずれによる影響を小さくするとともに、タイミング学習の収束後に大きさ学習を適切に行うことが可能である。
また、ECU50は、クラッチ2の無駄時間を所定範囲PR内にするために、ファーストフィル時間学習を行うように構成されている。具体的には、ECU50は、クラッチ2の無駄時間が所定範囲PRの上限値UL(図3〜図6参照)を超えている場合に、ファーストフィル時間FTを長くするように補正するとともに、クラッチ2の無駄時間が所定範囲PRの下限値LL(図3〜図6参照)未満である場合に、ファーストフィル時間FTを短くするように補正する。
図7は、本実施形態のECU50による学習制御を説明するためのフローチャートである。次に、図7を参照して、本実施形態のECU50による学習制御について説明する。なお、以下のフローは所定の時間間隔毎に繰り返し行われる。また、以下の各ステップはECU50により実行される。
まず、図7のステップS1において、内燃機関1が始動されるか否かが判断される。そして、内燃機関1が始動されると判断された場合には、ステップS2に移る。その一方、内燃機関1が始動されないと判断された場合には、リターンに移る。
次に、ステップS2において、内燃機関1の前回の始動の際にファーストフィル時間FTが補正されたか否かが判断される。そして、ファーストフィル時間FTが補正されていないと判断された場合には、ステップS3に移る。その一方、ファーストフィル時間FTが補正されたと判断された場合には、MGトルクの立ち上がりタイミングとクラッチトルクの立ち上がりタイミングとにずれが発生するため、ステップS6に移る。
次に、ステップS3において、タイミング学習が収束したか否かが判断される。タイミング学習が収束したか否かは、たとえば、前回のタイミング学習時に算出された乖離量の絶対値に基づいて判断される。具体的には、前回のタイミング学習時における乖離量の絶対値が所定値以上の場合には、タイミングのずれが許容範囲外であり、タイミング学習の進行が不十分であることから、ステップS6に移る。その一方、前回のタイミング学習時における乖離量の絶対値が所定値未満の場合には、タイミングのずれが許容範囲内であり、タイミング学習の進行が十分であることから、ステップS4に移る。なお、この所定値は、たとえば、予め設定された値であり、タイミングのずれが許容範囲内であるか否かを判定するための閾値である。また、初期状態の場合には、タイミング学習が収束していないと判断され、ステップS6に移る。
次に、ステップS4において、大きさ学習が収束したか否かが判断される。大きさ学習が収束したか否かは、たとえば、前回の大きさ学習時に算出された乖離量の絶対値に基づいて判断される。具体的には、前回の大きさ学習時における乖離量の絶対値が所定値以上の場合には、大きさのずれが許容範囲外であり、大きさ学習の進行が不十分であることから、ステップS7に移る。その一方、前回の大きさ学習時における乖離量の絶対値が所定値未満の場合には、大きさのずれが許容範囲内であり、大きさ学習の進行が十分であることから、ステップS5に移る。なお、この所定値は、たとえば、予め設定された値であり、大きさのずれが許容範囲内であるか否かを判定するための閾値である。また、タイミング学習が収束した直後の場合(内燃機関1の前回の始動の際に大きさ学習が行われていない場合)には、大きさ学習が収束していないと判断され、ステップS7に移る。
次に、ステップS5において、内燃機関1の始動が完了されたか否かが判断される。たとえば、クラッチ2が完全に係合した場合に内燃機関1の始動が完了されたと判断される。そして、内燃機関1の始動が完了されたと判断された場合には、ステップS8に移る。その一方、内燃機関1の始動が完了されていないと判断された場合には、ステップS5が繰り返し行われる。すなわち、内燃機関1の始動が完了するまで待機する。
そして、ステップS6では、タイミング学習が実行され、リターンに移る。また、ステップS7では、大きさ学習が実行され、リターンに移る。また、ステップS8では、ファーストフィル時間学習が実行され、リターンに移る。なお、これらの詳細については後述する。また、ECU50によりステップS6が実行されることによって本発明の「第1学習手段」が実現され、ECU50によりステップS7が実行されることによって本発明の「第2学習手段」が実現され、ECU50によりステップS8が実行されることによって本発明の「第3学習手段」が実現される。
[タイミング学習]
図8は、図7のステップS6におけるタイミング学習を説明するためのフローチャートである。次に、図8を参照して、ECU50によるタイミング学習について説明する。なお、以下の各ステップはECU50により実行される。
まず、図8のステップS11において、乖離量の演算開始条件が成立するか否かが判断される。たとえば、モータジェネレータ3からのMGトルク(補償トルク)の出力開始時点の所定時間前の時点になった場合に、演算開始条件が成立すると判断される。この所定時間は、たとえば、予め設定された時間であり、タイミングのずれに起因するモータジェネレータ3の回転変動を検出するために設定されている。そして、乖離量の演算開始条件が成立すると判断された場合には、ステップS12に移る。その一方、乖離量の演算開始条件が成立しないと判断された場合には、ステップS11が繰り返し行われる。すなわち、乖離量の演算開始条件が成立するまで待機する。
次に、ステップS12において、MG回転数センサ64の検出結果に基づいてMG回転数Nmgが算出される。そして、ステップS13において、MG回転数Nmgに対してなまし処理を施すことにより基準回転数Nmgbが算出される。その後、ステップS14において、MG回転数Nmgと基準回転数Nmgbとの差(MG回転数Nmgから基準回転数Nmgbを引いた値)が算出され、ステップS15において、MG回転数Nmgと基準回転数Nmgbとの差の積算値が算出される。
次に、ステップS16において、乖離量の演算終了条件が成立するか否かが判断される。たとえば、モータジェネレータ3からのMGトルクの出力開始時点から所定時間が経過した場合に、演算終了条件が成立すると判断される。この所定時間は、たとえば、予め設定された時間であり、タイミングのずれに起因するモータジェネレータ3の回転変動を検出するために設定されており、MGトルクが安定するのに要する時間(MGトルクの立ち上がりに要する時間)である。そして、乖離量の演算終了条件が成立しないと判断された場合には、ステップS12に戻り、乖離量の演算が継続される。その一方、乖離量の演算終了条件が成立すると判断された場合には、乖離量の演算が終了され、ステップS17に移る。すなわち、演算終了条件が成立するまでステップS12〜S15が繰り返し行われ、最終的な積算値(演算終了条件が成立する直前のステップS15で算出された積算値)が乖離量として用いられる。
次に、ステップS17において、乖離量に所定のゲインを乗じて補正量が算出される。
そして、ステップS18では、内燃機関1の次回の始動時におけるMGトルクの立ち上がりタイミングが補正される。具体的には、内燃機関1の次回の始動時における、クラッチ2の係合開始指示(油圧指示)が出力されてからMGトルクが立ち上げられるまでの待機時間が以下の式(1)により算出される。
Tmg(n+1)=Tmg(n)+Co1 ・・・(1)
なお、式(1)において、Tmg(n+1)は、内燃機関1の次回の始動時におけるMGトルクが立ち上げられるまでの待機時間であり、Tmg(n)は、内燃機関1の今回の始動時におけるMGトルクが立ち上げられるまでの待機時間である。また、Co1は、ステップS17で算出した補正量である。
このため、クラッチトルクの立ち上がりタイミングに対してMGトルクの立ち上がりタイミングが早く、MG回転数Nmgが吹き上がる場合には、ステップS17で正値の補正量が算出されることから、次回の待機時間が長くなり、次回の始動時におけるMGトルクの立ち上がりタイミングが今回に比べて遅くされる。また、クラッチトルクの立ち上がりタイミングに対してMGトルクの立ち上がりタイミングが遅く、MG回転数Nmgが下がる場合には、ステップS17で負値の補正量が算出されることから、次回の待機時間が短くなり、次回の始動時におけるMGトルクの立ち上がりタイミングが今回に比べて早くされる。
また、内燃機関1の次回の始動時に着火始動を行う場合のその開始タイミングも補正される。なお、着火始動の開始タイミングは、MGトルクの立ち上がりタイミングと同期されており、MGトルクの立ち上がりタイミングと同様に学習補正される。
その後、タイミング学習が終了され、エンドに移る。
[大きさ学習]
図9は、図7のステップS7における大きさ学習を説明するためのフローチャートである。次に、図9を参照して、ECU50による大きさ学習について説明する。なお、以下の各ステップはECU50により実行される。
まず、図9のステップS21において、乖離量の演算開始条件が成立するか否かが判断される。たとえば、モータジェネレータ3からのMGトルク(補償トルク)の出力開始時点から所定時間が経過した場合に、演算開始条件が成立すると判断される。この所定時間は、たとえば、予め設定された時間であり、MGトルクが安定するのに要する時間(MGトルクの立ち上がりに要する時間)である。そして、乖離量の演算開始条件が成立すると判断された場合には、ステップS22に移る。その一方、乖離量の演算開始条件が成立しないと判断された場合には、ステップS21が繰り返し行われる。すなわち、乖離量の演算開始条件が成立するまで待機する。
ステップS22〜S25は、それぞれ、上記したステップS12〜S15と同様であるため、説明を省略する。
次に、ステップS26において、乖離量の演算終了条件が成立するか否かが判断される。たとえば、乖離量の演算を開始してから所定時間が経過した場合に、演算終了条件が成立すると判断される。この所定時間は、たとえば予め設定された時間である。そして、乖離量の演算終了条件が成立しないと判断された場合には、ステップS22に戻り、乖離量の演算が継続される。その一方、乖離量の演算終了条件が成立すると判断された場合には、乖離量の演算が終了され、ステップS27に移る。すなわち、演算終了条件が成立するまでステップS22〜S25が繰り返し行われ、最終的な積算値(演算終了条件が成立する直前のステップS25で算出された積算値)が乖離量として用いられる。
次に、ステップS27において、乖離量に所定のゲインを乗じて補正量が算出される。
そして、ステップS28では、内燃機関1の次回の始動時におけるクラッチ2に対する指示トルクが補正される。具体的には、内燃機関1の次回の始動時における指示トルクが以下の式(2)により算出される。
Tr(n+1)=Tr(n)+Co2 ・・・(2)
なお、式(2)において、Tr(n+1)は、内燃機関1の次回の始動時における指示トルクであり、Tr(n)は、内燃機関1の今回の始動時における指示トルクである。また、Co2は、ステップS27で算出した補正量である。
このため、クラッチトルクがMGトルクよりも小さく、MG回転数Nmgが吹き上がる場合には、ステップS27で正値の補正量が算出されることから、内燃機関1の次回の始動時における指示トルクが大きくなるように補正される。また、クラッチトルクがMGトルクよりも大きく、MG回転数Nmgが下がる場合には、ステップS27で負値の補正量が算出されることから、内燃機関1の次回の始動時における指示トルクが小さくなるように補正される。
その後、大きさ学習が終了され、エンドに移る。
[ファーストフィル時間学習]
図10は、図7のステップS8におけるファーストフィル時間学習を説明するためのフローチャートである。次に、図10を参照して、ECU50によるファーストフィル時間学習について説明する。なお、以下の各ステップはECU50により実行される。
まず、ステップS31において、クラッチ2の無駄時間が上限値ULを上回るか否かが判断される。このクラッチ2の無駄時間は、たとえば、モータジェネレータ3の待機時間に基づいて判断される。また、上限値ULは、目標とされる所定範囲PRの上限値である。そして、クラッチ2の無駄時間が上限値ULを上回らないと判断された場合には、ステップS32に移る。その一方、クラッチ2の無駄時間が上限値ULを上回ると判断された場合には、無駄時間が長いことから、ステップS33に移る。
次に、ステップS32において、クラッチ2の無駄時間が下限値LLを下回るか否かが判断される。下限値LLは、目標とされる所定範囲PRの下限値である。そして、クラッチ2の無駄時間が下限値LLを下回ると判断された場合には、無駄時間が短いことから、ステップS34に移る。その一方、クラッチ2の無駄時間が下限値LLを下回らないと判断された場合には、無駄時間が所定範囲PR内であることから、エンドに移る。
そして、ステップS33では、ファーストフィル時間FTが長くなるように補正される。具体的には、内燃機関1の次回の始動時におけるファーストフィル時間FTが以下の式(3)により算出される。
FT(n+1)=FT(n)+Co3 ・・・(3)
なお、式(3)において、FT(n+1)は、内燃機関1の次回の始動時におけるファーストフィル時間であり、FT(n)は、内燃機関1の今回の始動時におけるファーストフィル時間である。また、Co3は、正値であり、予め設定された補正時間である。
このため、内燃機関1の次回の始動時には、クラッチトルクが今回に比べて早く立ち上がる(無駄時間が短くなる)ので、クラッチトルクの立ち上がるタイミングが所定範囲PRに近づくようになる。その後、エンドに移る。
また、ステップS34では、ファーストフィル時間FTが短くなるように補正される。具体的には、内燃機関1の次回の始動時におけるファーストフィル時間FTが以下の式(4)により算出される。
FT(n+1)=FT(n)−Co4 ・・・(4)
なお、式(4)において、FT(n+1)は、内燃機関1の次回の始動時におけるファーストフィル時間であり、FT(n)は、内燃機関1の今回の始動時におけるファーストフィル時間である。また、Co4は、正値であり、予め設定された補正時間である。なお、Co4の値は、上記したCo3と同じであってもよいし、異なっていてもよい。
このため、内燃機関1の次回の始動時には、クラッチトルクが今回に比べて遅く立ち上がる(無駄時間が長くなる)ので、クラッチトルクの立ち上がるタイミングが所定範囲PRに近づくようになる。その後、エンドに移る。
−効果−
本実施形態では、上記のように、タイミング学習および大きさ学習が収束した後に、ファーストフィル時間学習を行うことによって、内燃機関1の始動時にショックが発生するのを早期に抑制するとともに、その後、クラッチ2の無駄時間を目標とされる所定範囲PRにすることができる。したがって、内燃機関1の始動時にショックが発生するのを抑制しながら、内燃機関1の始動時の応答性がばらつくのを抑制することができる。
−他の実施形態−
なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、本実施形態では、車両100がFR(フロントエンジンリアドライブ)方式である例を示したが、これに限らず、車両がFF(フロントエンジンフロントドライブ)方式または4WD方式などであってもよい。
また、本実施形態では、着火始動可能な直噴型の内燃機関1が設けられる例を示したが、これに限らず、着火始動できない他の内燃機関が設けられていてもよい。
また、本実施形態では、湿式多板型のクラッチ2が設けられる例を示したが、これに限らず、油圧作動式であれば、乾式などの他のクラッチが設けられていてもよい。
また、本実施形態では、トルクコンバータ4が設けられる例を示したが、これに限らず、トルクコンバータの代わりに、トルク増幅作用のないフルードカップリングが設けられていてもよい。
また、本実施形態では、変速機5が有段式の自動変速機である例を示したが、これに限らず、変速機が無段変速機などであってもよい。
また、本実施形態では、ファーストフィル時間FTを学習補正することにより、クラッチ2の無駄時間を目標とされる所定範囲PR内にする例を示したが、これに限らず、ファーストフィル圧を学習補正することにより、クラッチの無駄時間を目標とされる所定範囲内にするようにしてもよい。この場合には、クラッチの無駄時間が所定範囲の上限値を超えている場合に、ファーストフィル圧を高くするように補正し、クラッチの無駄時間が所定範囲の下限値未満である場合に、ファーストフィル圧を低くするように補正すればよい。
また、本実施形態では、内燃機関1の前回の始動の際にファーストフィル時間FTが補正された場合にタイミング学習を実行する例を示したが、これに限らず、内燃機関の前回の始動の際にファーストフィル時間学習が実行された場合に、そのファーストフィル時間学習においてファーストフィル時間が補正されたか否かにかかわらずタイミング学習を実行するようにしてもよい。
また、本実施形態では、モータジェネレータ3の待機時間に基づいてクラッチ2の無駄時間を判断する例を示したが、これに限らず、エンジン回転数に基づいてクラッチの無駄時間を判断するようにしてもよい。
また、本実施形態では、MG回転数Nmgと基準回転数Nmgbとの差の積算値を乖離量として用いる例を示したが、これに限らず、MG回転数と基準回転数との差の最大値などを乖離量として用いてもよい。
また、本実施形態では、MG回転数Nmgに対してなまし処理を施すことにより基準回転数Nmgbを算出する例を示したが、これに限らず、係合開始指示が出力された時点のMG回転数などを基準回転数としてもよい。
また、本実施形態のタイミング学習および大きさ学習において、所定の実行条件が設定されていてもよい。実行条件としては、たとえば、トルクコンバータ4のロックアップクラッチ43が滑っていること、ATFの温度が所定範囲内であること、急加速や悪路走行中ではないことなどが挙げられ、これらの一部または全部が成立する場合に学習が実行されるようにしてもよい。また、大きさ学習の実行条件としてクラッチトルクが安定していることが含まれていてもよい。
また、本実施形態のタイミング学習では、モータジェネレータ3からのMGトルクの出力開始時点の所定時間前の時点になった場合に、演算開始条件が成立すると判断される例を示したが、これに限らず、モータジェネレータからのMGトルクの出力開始時点になった場合に、演算開始条件が成立すると判断されるようにしてもよい。すなわち、タイミング学習における乖離量を積算する期間を、MGトルクの出力が開始されてから所定期間が経過するまでとしてもよい。
また、本実施形態の大きさ学習では、指示トルクを補正する例を示したが、これに限らず、クラッチの油圧アクチュエータに対する油圧指示値を補正してもよいし、油圧アクチュエータを制御するソレノイドバルブに対する指示電流や指示デューティを補正するようにしてもよい。
また、本実施形態の大きさ学習では、乖離量の演算を開始してから所定時間が経過した場合に、演算終了条件が成立すると判断される例を示したが、これに限らず、エンジン回転数の急上昇を抑制するためにクラッチトルクを一時的にゼロにする場合において、クラッチトルクがゼロになってから所定時間が経過した場合に、演算終了条件が成立すると判断されるようにしてもよい。
また、本実施形態において、ECU50が、HV(ハイブリッド)ECU、エンジンECU、MG(モータジェネレータ)ECUおよびバッテリECUなどによって構成され、これらのECUが互いに通信可能に接続されていてもよい。