以下、本発明の一実施形態を図面に基づいて説明する。
−機械的構成−
まず、図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から切り離される。
モータジェネレータ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に記憶されたプログラムを実行することにより、本発明の「学習手段」が実現される。
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は、クラッチトルク(減速トルク)の発生タイミングと補償トルクの発生タイミングとのずれを補正するタイミング学習を行うとともに、クラッチトルクおよび補償トルクの大きさのずれを補正する大きさ学習を行うように構成されている。さらに、ECU50は、タイミング学習によりタイミングのずれが収束した後に、大きさ学習を行うように構成されている。なお、タイミング学習では、クラッチトルクの発生タイミングと補償トルクの発生タイミングとのずれが減少するように、補償トルクの発生タイミングが補正される。また、大きさ学習では、クラッチトルクおよび補償トルクの大きさのずれが減少するように、クラッチトルクの大きさが補正される。
また、車両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は、クラッチトルクの発生タイミングがMGトルクに対して遅く、クラッチトルクがMGトルクに対して小さい場合を示した。図4は、クラッチトルクの発生タイミングがMGトルクに対して遅く、クラッチトルクがMGトルクに対して大きい場合を示した。図5は、クラッチトルクの発生タイミングがMGトルクに対して早く、クラッチトルクがMGトルクに対して小さい場合を示した。図6は、クラッチトルクの発生タイミングがMGトルクに対して早く、クラッチトルクがMGトルクに対して大きい場合を示した。
[クラッチトルクの発生タイミングが遅く、クラッチトルクが小さい場合]
まず、車両走行中の内燃機関1の始動前においては、EV走行モードであり、クラッチ2が解放され、内燃機関1の運転が停止されている。また、トルクコンバータ4のロックアップクラッチ43が滑っている。なお、図3の例では、モータジェネレータ3から走行用の駆動力が出力されておらず、車両100が惰性走行している場合を示しているが、モータジェネレータ3から走行用の駆動力が出力されることにより車両100が走行していてもよい。
そして、EV走行モードからHV走行モードに移行される際に、内燃機関1の始動が開始されると、図3の時点t11において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。具体的には、ECU50では、クラッチ2の油圧アクチュエータに供給される油圧の指示値として、ファーストフィルのための一時的に高い値が設定された後に、所定値が設定される。この所定値は、たとえば、指示トルクなどに基づいて算出された値である。なお、ECU50は、クラッチ2の油圧アクチュエータに供給される油圧が設定された指示値になるように、油圧制御回路70のソレノイドバルブを制御する。
次に、時点t12において、MGトルクが立ち上がるとともに、着火始動が開始される。その後、時点t13において、クラッチトルクが立ち上がる。すなわち、この図3の例では、後述する図5および図6の例に比べて、係合開始指示(油圧指示)が出力されてからクラッチトルクが立ち上がるまでの遅れ時間が長くなっている。なお、クラッチトルクは、係合開始指示から遅れて立ち上がり、MGトルクは、時点t12でECU50がインバータ52を制御することにより立ち上げられる。このように、クラッチトルクよりもMGトルクが早く立ち上がると、そのMGトルクによってMG回転数Nmgが吹き上がる。すなわち、モータジェネレータ3の基準回転数Nmgbに対して実際のMG回転数Nmgが乖離する。なお、基準回転数Nmgbは、MG回転数Nmgに対してなまし処理(たとえば移動平均フィルタなどによる平滑化処理)を施すことにより算出される。また、クラッチトルクがMGトルクよりも小さいことから、減速トルクよりも補償トルクが大きい状態であり、MG回転数Nmgが基準回転数Nmgbよりも高い状態で保たれる。
ここで、タイミングのずれに起因する乖離(モータジェネレータ3の回転変動)と、大きさのずれに起因する乖離とを正確に切り分けることが困難である。しかしながら、タイミング学習においては、基準回転数Nmgbに対するMG回転数Nmgの乖離を積算する期間(範囲)を制限することにより、トルクの大きさのずれによる影響を小さくすることが可能である。たとえば、MGトルクが立ち上がる時点t12を含む所定期間T1において、基準回転数Nmgbに対するMG回転数Nmgの乖離を積算することにより、トルクの大きさのずれによる影響を小さくすることが可能である。
そこで、この場合には、タイミング学習を優先して行うようになっている。なお、タイミング学習は、たとえば、所定期間T1のモータジェネレータ3の回転変動に基づいて行われる。このため、内燃機関1の次回の始動時に、MGトルクの立ち上がりタイミングおよび着火始動の開始タイミングを遅くするように補正する。その後、タイミング学習が行われることにより、クラッチトルクの発生タイミングとMGトルクの発生タイミングとのずれが収束した後に、大きさ学習が行われる。具体的には、クラッチトルクおよびMGトルクの大きさのずれが減少するように、クラッチトルク(指示トルク)を大きくするように補正する。
[クラッチトルクの発生タイミングが遅く、クラッチトルクが大きい場合]
図4の時点t21までについては、上記した図3の場合と同様である。そして、時点t21において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。
次に、時点t22において、MGトルクが立ち上がるとともに、着火始動が開始される。その後、時点t23において、クラッチトルクが立ち上がる。このように、クラッチトルクよりもMGトルクが早く立ち上がると、そのMGトルクによってMG回転数Nmgが吹き上がる。その後、クラッチトルクがMGトルクよりも大きいことから、減速トルクが補償トルクよりも大きい状態になり、MG回転数Nmgが下がり基準回転数Nmgbを下回る。
この場合には、タイミング学習を優先して行うようになっている。なお、タイミング学習は、たとえば、時点t22を含む所定期間T2のモータジェネレータ3の回転変動に基づいて行われる。このため、内燃機関1の次回の始動時に、MGトルクの立ち上がりタイミングおよび着火始動の開始タイミングを遅くするように補正する。その後、タイミング学習が行われることにより、クラッチトルクの発生タイミングとMGトルクの発生タイミングとのずれが収束した後に、大きさ学習が行われる。具体的には、クラッチトルクおよびMGトルクの大きさのずれが減少するように、クラッチトルク(指示トルク)を小さくするように補正する。
[クラッチトルクの発生タイミングが早く、クラッチトルクが小さい場合]
図5の時点t31までについては、上記した図3の場合と同様である。そして、時点t31において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。
次に、時点t32において、クラッチトルクが立ち上がる。その後、時点t33において、MGトルクが立ち上がるとともに、着火始動が開始される。すなわち、この図5の例では、上記した図3および図4の例に比べて、係合開始指示(油圧指示)が出力されてからクラッチトルクが立ち上がるまでの遅れ時間が短くなっている。このように、MGトルクよりもクラッチトルクが早く立ち上がると、そのクラッチトルク(減速トルク)によってMG回転数Nmgが下がる。その後、クラッチトルクがMGトルクよりも小さいことから、減速トルクよりも補償トルクが大きい状態になり、MG回転数Nmgが吹き上がり基準回転数Nmgbを上回る。
この場合には、タイミング学習を優先して行うようになっている。なお、タイミング学習は、たとえば、時点t33を含む所定期間T3のモータジェネレータ3の回転変動に基づいて行われる。このため、内燃機関1の次回の始動時に、MGトルクの立ち上がりタイミングおよび着火始動の開始タイミングを早くするように補正する。その後、タイミング学習が行われることにより、クラッチトルクの発生タイミングとMGトルクの発生タイミングとのずれが収束した後に、大きさ学習が行われる。具体的には、クラッチトルクおよびMGトルクの大きさのずれが減少するように、クラッチトルク(指示トルク)を大きくするように補正する。
[クラッチトルクの発生タイミングが早く、クラッチトルクが大きい場合]
図6の時点t41までについては、上記した図3の場合と同様である。そして、時点t41において、ECU50ではクラッチ2に対する指示トルクが設定され、クラッチトルクがその指示トルクになるようにクラッチ2の油圧アクチュエータに対する制御が開始される。
次に、時点t42において、クラッチトルクが立ち上がる。その後、時点t43において、MGトルクが立ち上がるとともに、着火始動が開始される。このように、MGトルクよりもクラッチトルクが早く立ち上がると、そのクラッチトルク(減速トルク)によってMG回転数Nmgが下がる。また、クラッチトルクがMGトルクよりも大きいことから、減速トルクが補償トルクよりも大きい状態であり、MG回転数Nmgが基準回転数Nmgbよりも低い状態で保たれる。
この場合には、タイミング学習を優先して行うようになっている。なお、タイミング学習は、たとえば、時点t43を含む所定期間T4のモータジェネレータ3の回転変動に基づいて行われる。このため、内燃機関1の次回の始動時に、MGトルクの立ち上がりタイミングおよび着火始動の開始タイミングを早くするように補正する。その後、タイミング学習が行われることにより、クラッチトルクの発生タイミングとMGトルクの発生タイミングとのずれが収束した後に、大きさ学習が行われる。具体的には、クラッチトルクおよびMGトルクの大きさのずれが減少するように、クラッチトルク(指示トルク)を小さくするように補正する。
−ECUによる学習制御−
ECU50は、上記したように、タイミング学習を優先して行い、そのタイミング学習が収束した後に大きさ学習を行うように構成されている。
具体的には、ECU50は、車両走行中の内燃機関1の始動時に、モータジェネレータ3の基準回転数Nmgbに対する実際のMG回転数Nmgの乖離量を算出するように構成されている。この乖離量は、たとえば、車両走行中の内燃機関1の始動時における、MG回転数Nmgと基準回転数Nmgbとの差の積算値である。
そして、ECU50は、乖離量に基づいてタイミング学習および大きさ学習を行うように構成されている。なお、タイミング学習と大きさ学習とでは、MG回転数Nmgと基準回転数Nmgbとの差を積算する期間が異なっている。たとえば、タイミング学習では、MGトルク(補償トルク)が安定する前の所定期間における差を積算し、大きさ学習では、MGトルクが安定した後の所定期間における差を積算する。これにより、優先して行うタイミング学習の際に、トルクの大きさのずれによる影響を小さくするとともに、タイミング学習の収束後に大きさ学習を適切に行うことが可能である。
さらに、ECU50は、大きさ学習時において、内燃機関1の始動時にMGトルクが上限値に達する場合に、乖離量によらず、内燃機関1の次回の始動時におけるクラッチトルクを所定量大きくするように補正する。これは、たとえば、高車速域での内燃機関1の始動時に、クラッチトルクが想定よりも小さく、MG回転数Nmgが吹き上がる場合に、モータジェネレータ3から出力可能なトルクの上限値が小さくなり、MGトルクがその上限値に到達すると、乖離量に基づいて大きさ学習を適切に行うことが困難になるためである。
図7は、本実施形態のECU50による学習制御を説明するためのフローチャートである。次に、図7を参照して、本実施形態のECU50による学習制御について説明する。なお、以下のフローは所定の時間間隔毎に繰り返し行われる。また、以下の各ステップはECU50により実行される。
まず、図7のステップS1において、学習回数の読み込みが行われる。この学習回数は、たとえば、タイミング学習および大きさ学習の実行回数であり、バックアップRAM50dに記憶されている。このため、ECU50の交換などにより初期状態である場合や、クラッチ2の交換により学習回数がリセットされた場合には、その学習回数がゼロになっている。
次に、ステップS2において、学習回数が所定値以下であるか否かが判断される。この所定値は、たとえば、予め設定された値であり、タイミング学習を優先して行う必要があるか否かを判定するための閾値である。そして、学習回数が所定値以下であると判断される場合には、タイミング学習を行う必要があるため、ステップS5に移る。その一方、学習回数が所定値以下ではないと判断される場合(学習回数が所定値を超えている場合)には、ステップS3に移る。
そして、ステップS3において、タイミング学習が収束したか否かが判断される。タイミング学習が収束したか否かは、たとえば、前回のタイミング学習時に算出された乖離量の絶対値に基づいて判断される。具体的には、前回のタイミング学習時における乖離量の絶対値が所定値以上の場合には、タイミングのずれが許容範囲外であり、タイミング学習の進行が不十分であることから、ステップS5に移る。その一方、前回のタイミング学習時における乖離量の絶対値が所定値未満の場合には、タイミングのずれが許容範囲内であり、タイミング学習の進行が十分であることから、ステップS4に移る。なお、この所定値は、たとえば、予め設定された値であり、タイミングのずれが許容範囲内であるか否かを判定するための閾値である。
また、ステップS4において、大きさ学習が発散したか否かが判断される。大きさ学習が発散したか否かは、たとえば、前回の大きさ学習時に算出された乖離量の絶対値に基づいて判断される。具体的には、前回の大きさ学習時における乖離量の絶対値が所定値以上の場合には、タイミング学習を優先して行う必要があることから、ステップS5に移る。その一方、前回の大きさ学習時における乖離量の絶対値が所定値未満の場合には、タイミング学習を行う必要がないため、ステップS6に移る。なお、この所定値は、たとえば、予め設定された値であり、再びタイミング学習を行う必要があるか否かを判定するための閾値である。
そして、ステップS5では、タイミング学習フラグがオンに設定され、ステップS7に移る。また、ステップS6では、タイミング学習フラグがオフに設定され、ステップS7に移る。
次に、ステップS7において、内燃機関1が始動されるか否かが判断される。そして、内燃機関1が始動されると判断された場合には、ステップS8に移る。その一方、内燃機関1が始動されないと判断された場合には、リターンに移る。
次に、ステップS8において、タイミング学習フラグがオンであるか否かが判断される。そして、タイミング学習フラグがオンであると判断された場合には、ステップS9に移る。その一方、タイミング学習フラグがオンではないと判断された場合(タイミング学習フラグがオフの場合)には、ステップS11に移る。
次に、ステップS9において、内燃機関1の始動が開始されてから所定時間が経過したか否かが判断される。この所定時間は、たとえば、予め設定された時間であり、モータジェネレータ3の回転を安定させることを目的とした待機時間である。そして、所定時間が経過したと判断された場合には、ステップS10に移る。その一方、所定時間が経過していないと判断された場合には、リターンに移る。
そして、ステップS10では、タイミング学習が実行され、ステップS12に移る。また、ステップS11では、大きさ学習が実行され、ステップS12に移る。なお、ステップS10のタイミング学習およびステップS11の大きさ学習の詳細については後述する。また、ECU50によりステップS11が実行されることによって本発明の「学習手段」が実現される。
その後、ステップS12において、学習回数がカウントアップされ、リターンに移る。
したがって、ECU50の交換などにより初期状態である場合や、クラッチ2の交換により学習回数がリセットされた場合には、内燃機関1の始動毎にタイミング学習が行われる。そして、タイミング学習の進行により、タイミングのずれが収束した場合には、内燃機関1の始動毎に大きさ学習が行われる。その後、大きさ学習を進行させているにもかかわらず、乖離量の絶対値が所定値以上となり、大きさ学習が発散する場合には、タイミングのずれに起因する回転変動が大きくなっていると考えられるため、再びタイミング学習が行われる。
[タイミング学習]
図8は、図7のステップS10におけるタイミング学習を説明するためのフローチャートである。次に、図8を参照して、ECU50によるタイミング学習について説明する。なお、以下の各ステップはECU50により実行される。
まず、図8のステップS21において、乖離量の演算開始条件が成立するか否かが判断される。たとえば、モータジェネレータ3からのMGトルク(補償トルク)の出力開始時点の所定時間前の時点になった場合に、演算開始条件が成立すると判断される。この所定時間は、たとえば、予め設定された時間であり、タイミングのずれに起因するモータジェネレータ3の回転変動を検出するために設定されている。そして、乖離量の演算開始条件が成立すると判断された場合には、ステップS22に移る。その一方、乖離量の演算開始条件が成立しないと判断された場合には、ステップS21が繰り返し行われる。すなわち、乖離量の演算開始条件が成立するまで待機する。
次に、ステップS22において、MG回転数センサ64の検出結果に基づいてMG回転数Nmgが算出される。そして、ステップS23において、MG回転数Nmgに対してなまし処理を施すことにより基準回転数Nmgbが算出される。その後、ステップS24において、MG回転数Nmgと基準回転数Nmgbとの差(MG回転数Nmgから基準回転数Nmgbを引いた値)が算出され、ステップS25において、MG回転数Nmgと基準回転数Nmgbとの差の積算値が算出される。
次に、ステップS26において、乖離量の演算終了条件が成立するか否かが判断される。たとえば、モータジェネレータ3からのMGトルクの出力開始時点から所定時間が経過した場合に、演算終了条件が成立すると判断される。この所定時間は、たとえば、予め設定された時間であり、タイミングのずれに起因するモータジェネレータ3の回転変動を検出するために設定されており、MGトルクが安定するのに要する時間(MGトルクの立ち上がりに要する時間)である。そして、乖離量の演算終了条件が成立しないと判断された場合には、ステップS22に戻り、乖離量の演算が継続される。その一方、乖離量の演算終了条件が成立すると判断された場合には、乖離量の演算が終了され、ステップS27に移る。すなわち、演算終了条件が成立するまでステップS22〜S25が繰り返し行われ、最終的な積算値(演算終了条件が成立する直前のステップS25で算出された積算値)が乖離量として用いられる。
次に、ステップS27において、乖離量に所定のゲインを乗じて補正量が算出される。
そして、ステップS28では、内燃機関1の次回の始動時におけるMGトルクの立ち上がりタイミングが補正される。具体的には、内燃機関1の次回の始動時における、クラッチ2の係合開始指示(油圧指示)が出力されてからMGトルクが立ち上げられるまでの待機時間が以下の式(1)により算出される。
Tmg(n+1)=Tmg(n)+Co1 ・・・(1)
なお、式(1)において、Tmg(n+1)は、内燃機関1の次回の始動時におけるMGトルクが立ち上げられるまでの待機時間であり、Tmg(n)は、内燃機関1の今回の始動時におけるMGトルクが立ち上げられるまでの待機時間である。また、Co1は、ステップS27で算出した補正量である。
このため、クラッチトルクの立ち上がりタイミングに対してMGトルクの立ち上がりタイミングが早く、MG回転数Nmgが吹き上がる場合(図3および図4参照)には、ステップS27で正値の補正量が算出されることから、次回の待機時間が長くなり、次回の始動時におけるMGトルクの立ち上がりタイミングが今回に比べて遅くされる。また、クラッチトルクの立ち上がりタイミングに対してMGトルクの立ち上がりタイミングが遅く、MG回転数Nmgが下がる場合(図5および図6参照)には、ステップS27で負値の補正量が算出されることから、次回の待機時間が短くなり、次回の始動時におけるMGトルクの立ち上がりタイミングが今回に比べて早くされる。
また、内燃機関1の次回の始動時に着火始動を行う場合のその開始タイミングも補正される。なお、着火始動の開始タイミングは、MGトルクの立ち上がりタイミングと同期されており、MGトルクの立ち上がりタイミングと同様に学習補正される。
その後、タイミング学習が終了され、エンドに移る。
[大きさ学習]
図9は、図7のステップS11における大きさ学習を説明するためのフローチャートである。次に、図9を参照して、ECU50による大きさ学習について説明する。なお、以下の各ステップはECU50により実行される。
まず、図9のステップS31において、乖離量の演算開始条件が成立するか否かが判断される。たとえば、モータジェネレータ3からのMGトルク(補償トルク)の出力開始時点から所定時間が経過した場合に、演算開始条件が成立すると判断される。この所定時間は、たとえば、予め設定された時間であり、MGトルクが安定するのに要する時間(MGトルクの立ち上がりに要する時間)である。そして、乖離量の演算開始条件が成立すると判断された場合には、ステップS32に移る。その一方、乖離量の演算開始条件が成立しないと判断された場合には、ステップS31が繰り返し行われる。すなわち、乖離量の演算開始条件が成立するまで待機する。
次に、ステップS32において、MGトルクが上限値に達するか否かが判断される。この上限値は、たとえば、バッテリ51の出力制限およびMG回転数Nmgに基づいて算出される。そして、MGトルクが上限値に達しないと判断された場合には、モータジェネレータ3の回転変動に基づいて大きさ学習を行うことが可能であることから、ステップS33に移る。その一方、MGトルクが上限値に達すると判断された場合には、モータジェネレータ3の回転変動に基づいて大きさ学習を適切に行うことが困難であることから、ステップS40に移る。
ステップS33〜S36は、それぞれ、上記したステップS22〜S25と同様であるため、説明を省略する。
次に、ステップS37において、乖離量の演算終了条件が成立するか否かが判断される。たとえば、乖離量の演算を開始してから所定時間が経過した場合に、演算終了条件が成立すると判断される。この所定時間は、たとえば予め設定された時間である。そして、乖離量の演算終了条件が成立しないと判断された場合には、ステップS32に戻る。その一方、乖離量の演算終了条件が成立すると判断された場合には、乖離量の演算が終了され、ステップS38に移る。この場合には、最終的な積算値(演算終了条件が成立する直前のステップS36で算出された積算値)が乖離量として用いられる。
次に、ステップS38において、乖離量に所定のゲインを乗じて補正量が算出される。
そして、ステップS39では、内燃機関1の次回の始動時におけるクラッチ2に対する指示トルクが補正される。具体的には、内燃機関1の次回の始動時における指示トルクが以下の式(2)により算出される。
Tr(n+1)=Tr(n)+Co2 ・・・(2)
なお、式(2)において、Tr(n+1)は、内燃機関1の次回の始動時における指示トルクであり、Tr(n)は、内燃機関1の今回の始動時における指示トルクである。また、Co2は、ステップS38で算出した補正量である。
このため、クラッチトルクがMGトルクよりも小さく、MG回転数Nmgが吹き上がる場合には、ステップS38で正値の補正量が算出されることから、内燃機関1の次回の始動時における指示トルクが大きくなるように補正される。また、クラッチトルクがMGトルクよりも大きく、MG回転数Nmgが下がる場合には、ステップS38で負値の補正量が算出されることから、内燃機関1の次回の始動時における指示トルクが小さくなるように補正される。
その後、大きさ学習が終了され、エンドに移る。
また、ステップS40では、内燃機関1の次回の始動時におけるクラッチ2に対する指示トルクが補正される。具体的には、内燃機関1の次回の始動時における指示トルクが以下の式(3)により算出される。
Tr(n+1)=Tr(n)+Co3 ・・・(3)
なお、式(3)において、Tr(n+1)は、内燃機関1の次回の始動時における指示トルクであり、Tr(n)は、内燃機関1の今回の始動時における指示トルクである。また、Co3は、予め設定された正値の補正量であり、本発明の「所定量」の一例である。
このため、内燃機関1の次回の始動時における指示トルクが所定量大きくなるように補正される。すなわち、指示トルクが乖離量によらず所定量増量補正される。これは、MGトルクが上限値で制限され、補償トルクが不足する(要求される補償トルクを出力できない)場合には、クラッチトルクが想定よりも小さいことが考えられるためである。
次に、ステップS41において、内燃機関1の次回の始動時における指示トルクが過剰になるのを抑制するために、その指示トルクに対してガード処理が施される。その後、大きさ学習が終了され、エンドに移る。
−効果−
本実施形態では、上記のように、大きさ学習を乖離量に基づいて行う場合において、MGトルクが上限値に達する場合に、指示トルクを乖離量によらず所定量増量補正することによって、大きさ学習の進行が停滞するのを抑制することができる。これにより、トルクの大きさのずれを早期に収束させることができるので、ショックが発生するのを抑制することができる。
また、本実施形態では、タイミング学習および大きさ学習を乖離量に基づいて行う場合において、タイミング学習を優先して行い、そのタイミング学習の進行によりタイミングのずれが収束した後に大きさ学習を行うことによって、大きさ学習の際に、タイミングのずれに起因する乖離量が含まれるのを抑制することができるので、学習精度の向上を図ることができる。なお、タイミング学習については、MG回転数Nmgと基準回転数Nmgbとの差を積算する期間を、補償トルクが立ち上がる時点を含む所定期間にすることにより、トルクの大きさのずれによる影響を小さくすることができるので、学習を適切に行うことができる。その結果、内燃機関1の始動時に、クラッチトルクおよび補償トルクの発生タイミングのずれを抑制するとともに、クラッチトルクおよび補償トルクの大きさのずれを抑制することができるので、ショックが発生するのを抑制することができる。
−他の実施形態−
なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、本実施形態では、車両100がFR(フロントエンジンリアドライブ)方式である例を示したが、これに限らず、車両がFF(フロントエンジンフロントドライブ)方式または4WD方式などであってもよい。
また、本実施形態では、着火始動可能な直噴型の内燃機関1が設けられる例を示したが、これに限らず、着火始動できない他の内燃機関が設けられていてもよい。
また、本実施形態では、湿式多板型のクラッチ2が設けられる例を示したが、これに限らず、乾式などの他のクラッチが設けられていてもよい。
また、本実施形態では、トルクコンバータ4が設けられる例を示したが、これに限らず、トルクコンバータの代わりに、トルク増幅作用のないフルードカップリングが設けられていてもよい。
また、本実施形態では、変速機5が有段式の自動変速機である例を示したが、これに限らず、変速機が無段変速機などであってもよい。
また、本実施形態では、MG回転数Nmgと基準回転数Nmgbとの差の積算値を乖離量として用いる例を示したが、これに限らず、MG回転数と基準回転数との差の最大値などを乖離量として用いてもよい。
また、本実施形態では、MG回転数Nmgに対してなまし処理を施すことにより基準回転数Nmgbを算出する例を示したが、これに限らず、係合開始指示が出力された時点のMG回転数などを基準回転数としてもよい。
また、本実施形態では、タイミング学習および大きさ学習を行う例を示したが、これに限らず、大きさ学習のみを行うようにしてもよい。
また、本実施形態では、前回の大きさ学習時における乖離量の絶対値が所定値以上の場合に、大きさ学習が発散すると判断される例を示したが、これに限らず、前回の大きさ学習時における乖離量の絶対値が、前々回の大きさ学習時における乖離量の絶対値よりも大きくなった場合に、大きさ学習が発散すると判断されるようにしてもよい。
また、本実施形態のタイミング学習および大きさ学習において、所定の実行条件が設定されていてもよい。実行条件としては、たとえば、トルクコンバータ4のロックアップクラッチ43が滑っていること、ATFの温度が所定範囲内であること、急加速や悪路走行中ではないことなどが挙げられ、これらの一部または全部が成立する場合に学習が実行されるようにしてもよい。また、大きさ学習の実行条件としてクラッチトルクが安定していることが含まれていてもよい。
また、本実施形態のタイミング学習では、モータジェネレータ3からのMGトルクの出力開始時点の所定時間前の時点になった場合に、演算開始条件が成立すると判断される例を示したが、これに限らず、モータジェネレータからのMGトルクの出力開始時点になった場合に、演算開始条件が成立すると判断されるようにしてもよい。すなわち、タイミング学習における乖離量を積算する期間を、MGトルクの出力が開始されてから所定期間が経過するまでとしてもよい。
また、本実施形態のタイミング学習では、補償トルクの発生タイミングを補正する例を示したが、これに限らず、クラッチトルクの発生タイミングを補正するようにしてもよい。
また、本実施形態の大きさ学習では、指示トルクを補正する例を示したが、これに限らず、クラッチの油圧アクチュエータに対する油圧指示値を補正してもよいし、油圧アクチュエータを制御するソレノイドバルブに対する指示電流や指示デューティを補正するようにしてもよい。
また、本実施形態の大きさ学習では、乖離量の演算を開始してから所定時間が経過した場合に、演算終了条件が成立すると判断される例を示したが、これに限らず、エンジン回転数の急上昇を抑制するためにクラッチトルクを一時的にゼロにする場合において、クラッチトルクがゼロになってから所定時間が経過した場合に、演算終了条件が成立すると判断されるようにしてもよい。
また、本実施形態の大きさ学習では、MGトルクが上限値に達する場合に、内燃機関1の次回の始動時におけるクラッチトルクを所定量大きくするように補正する例を示したが、これに限らず、MGトルクが上限値に達する場合に、大きさ学習を禁止するようにしてもよい。
また、本実施形態において、ECU50が、HV(ハイブリッド)ECU、エンジンECU、MG(モータジェネレータ)ECUおよびバッテリECUなどによって構成され、これらのECUが互いに通信可能に接続されていてもよい。