(57)【要約】【課題】モータの制御が不可能となった場合に、モータを適切に停止すると共にエンジンにより駆動輪を駆動させて退避走行を行う。【解決手段】モータ/ジェネレータ４は、車両の駆動輪を駆動すると共に、エンジン３を始動するために用いられる。モータコントローラ２２は、統合コントローラ２０とのＣＡＮ通信が正常である場合に、統合コントローラ２０からの指令に基づいてモータ/ジェネレータ４を制御する第一制御モードを実施する。また、統合コントローラ２０とのＣＡＮ通信が異常である場合に、予め記憶された制御情報に基づいてモータ/ジェネレータ４を制御する第二制御モードを実施することで、エンジン３が停止中であるときにモータ/ジェネレータ４にエンジン３を始動させる。【選択図】図１
2014028586.tif 000002
【特許請求の範囲】
【請求項１】
エンジンとモータを備えたハイブリッド自動車である車両に搭載され、前記モータを制御するモータ制御装置であって、
前記モータは、前記車両の駆動輪を駆動すると共に、前記エンジンを始動するために用いられ、
前記車両は、
前記モータ制御装置と、
前記エンジンを制御するエンジン制御装置と、
前記モータ制御装置および前記エンジン制御装置と通信可能に接続され、前記車両の運転状態に応じた指令を前記モータ制御装置および前記エンジン制御装置へそれぞれ出力する統合制御装置とを備え、
前記モータ制御装置は、
前記統合制御装置との通信が正常である場合に、前記統合制御装置からの指令に基づいて前記モータを制御する第一制御モードを実施し、
前記統合制御装置との通信が異常である場合に、予め記憶された制御情報に基づいて前記モータを制御する第二制御モードを実施することで、前記エンジンが停止中であるときに前記モータに前記エンジンを始動させることを特徴とするモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置において、
前記エンジンが停止中であれば、前記第二制御モードにおいて前記モータを所定の回転状態で回転させるように制御し、
前記エンジンが動作中であれば、前記第二制御モードにおいて前記モータを停止させるように制御することを特徴とするモータ制御装置。
【請求項３】
請求項２に記載のモータ制御装置において、
前記エンジンが停止中であれば、前記第二制御モードにおいて、前記モータを前記所定の回転状態で回転させるように制御した後、前記モータを停止させるように制御することを特徴とするモータ制御装置。
【請求項４】
請求項２または３に記載のモータ制御装置において、
所定の目標回転数に応じて前記モータを回転させる回転数制御を行うことにより、前記モータを前記所定の回転状態で回転させるように制御することを特徴とするモータ制御装置。
【請求項５】
請求項４に記載のモータ制御装置において、
前記エンジンの始動が完了したか否かを判定し、
前記エンジンの始動が完了したと判定したら、前記回転数制御を終了することを特徴とするモータ制御装置。
【請求項６】
請求項５に記載のモータ制御装置において、
前記モータのトルクを検出し、
検出した前記モータのトルクに基づいて前記エンジンの始動が完了したか否かを判定することを特徴とするモータ制御装置。
【請求項７】
請求項４に記載のモータ制御装置において、
前記回転数制御を行う際に、所定の変化率で前記モータの回転数を前記目標回転数まで変化させることを特徴とするモータ制御装置。
【請求項８】
請求項７に記載のモータ制御装置において、
前記回転数制御を開始してからの経過時間に応じて、前記変化率を変化させることを特徴とするモータ制御装置。
【請求項９】
請求項７に記載のモータ制御装置において、
前記モータのトルクを検出し、
検出した前記モータのトルクに基づいて前記変化率を決定することを特徴とするモータ制御装置。
【請求項１０】
請求項１に記載のモータ制御装置において、
前記車両は、
前記エンジンと前記モータの間を締結または解放する第一締結解放部と、
前記第一締結解放部を制御する第一締結解放制御装置と、
前記モータと前記駆動輪の間を締結または解放する第二締結解放部と、
前記第二締結解放部を制御する第二締結解放制御装置とをさらに備え、
前記モータ制御装置により前記第二制御モードが実施されているとき、前記第一締結解放部により前記エンジンと前記モータの間が締結されると共に、前記第二締結解放部により前記モータと前記駆動輪の間が解放された状態で、前記モータにより前記エンジンが始動されることを特徴とするモータ制御装置。
【請求項１１】
請求項１０に記載のモータ制御装置において、
前記エンジンが停止中であれば、前記第二制御モードにおいて前記モータを所定の回転状態で回転させるように制御した後、前記エンジン制御装置および前記第一締結解放制御装置のいずれか少なくとも一方からの信号に応じて、前記モータを停止させるように制御することを特徴とするモータ制御装置。
【請求項１２】
エンジンとモータを備えたハイブリッド自動車である車両に搭載され、前記モータを制御するモータ制御装置であって、
外部制御装置との通信が異常である場合に、前記外部制御装置からの指令に基づいて前記モータを制御する第一制御モードから、予め記憶された制御情報に基づいて前記モータを制御する第二制御モードへと切り替えることを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッテリにより駆動されるモータを制御するモータ制御装置に関する。
【背景技術】
【０００２】
従来、エンジンとモータの間に設けられた第１クラッチと、モータと駆動輪の間に設けられた第２クラッチとを備えた、１モータ２クラッチのハイブリッド車両が知られている（特許文献１）。
【０００３】
特許文献１に開示されたハイブリッド車両において、エンジン、モータ、第１クラッチおよび第２クラッチの各構成要素は、それぞれ専用のコントローラによって制御される。これらの各専用コントローラは、ＣＡＮ通信線を介して統合コントローラに接続されており、この統合コントローラからの指令に基づいて、対応する構成要素の制御を実施している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２０５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような１モータ２クラッチのハイブリッド車両において、通信不良等により統合コントローラからの指令をモータコントローラが正常に受信できなくなり、モータの制御が不可能となった場合、モータを停止すると共にエンジンにより駆動輪を駆動させて退避走行を行うことが、安全上好ましい。しかし、特許文献１には、このような場合の制御方法について何ら開示されていない。
【課題を解決するための手段】
【０００６】
本発明の一態様によるモータ制御装置は、エンジンとモータを備えたハイブリッド自動車である車両に搭載されてモータを制御するものであって、モータは、車両の駆動輪を駆動すると共に、エンジンを始動するために用いられる。車両は、モータ制御装置と、エンジンを制御するエンジン制御装置と、モータ制御装置およびエンジン制御装置と通信可能に接続され、車両の運転状態に応じた指令をモータ制御装置およびエンジン制御装置へそれぞれ出力する統合制御装置とを備える。モータ制御装置は、統合制御装置との通信が正常である場合に、統合制御装置からの指令に基づいてモータを制御する第一制御モードを実施し、統合制御装置との通信が異常である場合に、予め記憶された制御情報に基づいてモータを制御する第二制御モードを実施することで、エンジンが停止中であるときにモータにエンジンを始動させる。
また、本発明の他の一態様によるモータ制御装置は、エンジンとモータを備えたハイブリッド自動車である車両に搭載されてモータを制御するものであって、外部制御装置との通信が異常である場合に、外部制御装置からの指令に基づいてモータを制御する第一制御モードから、予め記憶された制御情報に基づいてモータを制御する第二制御モードへと切り替える。
【発明の効果】
【０００７】
本発明によれば、モータの制御が不可能となった場合に、モータを適切に停止すると共にエンジンにより駆動輪を駆動させて退避走行を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明によるモータ制御装置の一実施形態であるモータコントローラを搭載したハイブリッド車両の構成を示す図である。
【図２】モータコントローラの制御ブロック図である。
【図３】モータコントローラにおけるトルク指令値の算出ブロック図である。
【図４】モータコントローラにおいて実行されるモータ制御処理のフローチャートである。
【図５】エンジン始動制御処理のフローチャートである。
【図６】回転数制御終了判定処理のフローチャートである。
【図７】待機時間中での第２クラッチ制御処理のフローチャートである。
【図８】第二制御モード選択時の第１クラッチ制御処理のフローチャートである。
【図９】第二制御モード選択時の回転数変化率の一例を示す図である。
【図１０】ＣＡＮ通信が途絶えたときの動作タイムチャートの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に図面を用いて、本発明の一実施の形態について説明する。図１は、本発明によるモータ制御装置の一実施形態に係るモータコントローラを搭載したハイブリッド車両の構成を示す図である。
【００１０】
ハイブリッド車両の駆動系は、図１に示すように、エンジン３と、フライホイールFWと、第１クラッチCL1と、モータ/ジェネレータ４と、メカオイルポンプM-O/Pと、第２クラッチCL2と、自動変速機CVTと、変速機入力軸INと、変速機出力軸OUTと、ディファレンシャル８と、左ドライブシャフトDSLと、右ドライブシャフトDSRと、駆動輪である左タイヤLTおよび右タイヤRTと、を有する。
【００１１】
エンジン３は、ガソリンエンジンやディーゼルエンジン等の内燃機関であり、エンジンコントローラ２１からのエンジン制御指令に基づいて動作する。エンジンコントローラ２１は、エンジン３を制御する装置であり、たとえば、エンジン始動制御、エンジン停止制御、スロットルバルブのバルブ開度制御、燃料カット制御等をエンジン３に対して行うことにより、エンジン３の動作を制御する。
【００１２】
第１クラッチCL1は、エンジン３とモータ/ジェネレータ４との間を締結または解放するためのクラッチであり、これらの間に介装されている。第１クラッチコントローラ５は、第１クラッチCL1の動作を制御するための第１クラッチ制御指令を、後述する油圧コントロールバルブユニットCVUに内蔵されている第１クラッチ油圧ユニット６へ出力する。第１クラッチ油圧ユニット６は、第１クラッチコントローラ５からの第１クラッチ制御指令に基づいて第１クラッチ制御油圧を生成し、第１クラッチCL1へ出力する。この第１クラッチ制御油圧により、第１クラッチCL1が締結状態、半締結状態（スリップ締結状態）、または解放状態のいずれかに制御される。第１クラッチCL1としては、たとえば、ピストン１４ａを有する油圧アクチュエータ１４を用いたストローク制御により締結状態を制御すると共に、ダイアフラムスプリングによる付勢力にて完全締結を保つようにした、ノーマルクローズの乾式単板クラッチが用いられる。
【００１３】
モータ/ジェネレータ４は、ロータに永久磁石が埋設され、ステータにステータコイルが巻き付けられた同期型モータ/ジェネレータである。モータコントローラ２２は、モータ/ジェネレータ４を制御するための制御指令をインバータ１０へ出力する。インバータ１０は、モータコントローラ２２からの制御指令に基づいて、バッテリ１９から供給される直流電力を用いて三相交流電力を生成し、モータ/ジェネレータ４へ印加する。この三相交流電力により、モータ/ジェネレータ４の回転状態が制御される。このように、モータ/ジェネレータ４は、バッテリ１９からの電力の供給を受けて回転駆動することで、力行運転を行って駆動輪を駆動させる電動機として動作することができる。さらにモータ/ジェネレータ４は、エンジン３や駆動輪からの回転エネルギーをロータにより受けることで、ステータコイルの両端に起電力を生じさせ、バッテリ１９を充電することもできる。この場合、モータ/ジェネレータ４は、回生運転を行う発電機として機能する。
【００１４】
メカオイルポンプM-O/Pは、モータ/ジェネレータ４の回転軸上に設けられており、モータ/ジェネレータ４により駆動される。このメカオイルポンプM-O/Pは、自動変速機CVTに付設される油圧コントロールバルブユニットCVUと、これに内蔵されている第１クラッチ油圧ユニット６および第２クラッチ油圧ユニット９に対する油圧源である。なお、メカオイルポンプM-O/Pからの吐出油圧が十分に見込めない場合を考慮して、電動モータにより駆動される電動オイルポンプをさらに設けるようにしてもよい。
【００１５】
第２クラッチCL2は、モータ/ジェネレータ４と駆動輪である左右タイヤLT、RTとの間を締結または解放するためのクラッチであり、モータ/ジェネレータ４の回転軸と変速機入力軸INの間に介装されている。ＣＶＴコントローラ２３は、第２クラッチCL2の動作を制御するための第２クラッチ制御指令を、油圧コントロールバルブユニットCVUに内蔵されている第２クラッチ油圧ユニット９へ出力する。第２クラッチ油圧ユニット９は、ＣＶＴコントローラ２３からの第２クラッチ制御指令に基づいて第２クラッチ制御油圧を生成し、第２クラッチCL2へ出力する。この第２クラッチ制御油圧により、第２クラッチCL2が締結状態、半締結状態（スリップ締結状態）、または解放状態のいずれかに制御される。第２クラッチCL2としては、たとえば、比例ソレノイドで油流量および油圧を連続的に制御できるノーマルオープンの湿式多板クラッチ等が用いられる。
【００１６】
自動変速機CVTは、変速比を無段階で自動的に変更可能なベルト式による無段変速機であり、第２クラッチCL2の下流位置に配置されている。自動変速機CVTにおける変速比は、車速やアクセル開度等に応じて目標入力回転数が決められることにより調節される。この自動変速機CVTは、変速機入力軸IN側のプライマリプーリと、変速機出力軸OUT側のセカンダリプーリと、これらの両プーリに掛け渡されたベルトとを主要構成としている。メカオイルポンプM-O/Pから供給される油圧を元に、プライマリプーリ圧とセカンダリプーリ圧を作り出し、これらのプーリ圧によりプライマリプーリの可動プーリとセカンダリプーリの可動プーリをそれぞれ軸方向に動かしてベルトのプーリ接触半径を変化させることで、自動変速機CVTにおいて変速比を無段階に変更することができる。
【００１７】
以上説明した構成のハイブリッド車両は、駆動形態の違いにより、電気自動車走行モード（以下、「ＥＶモード」という。）と、ハイブリッド車走行モード（以下、「ＨＥＶモード」という。）と、駆動トルクコントロール走行モード（以下、「ＷＳＣモード」という。）との三種類の走行モードを選択的に使用する。なお、ＷＳＣは、「Wet Start Clutch」の略である。
【００１８】
ＥＶモードは、第１クラッチCL1を解放状態とし、モータ/ジェネレータ４を駆動源として走行するモードである。このＥＶモードはさらに、モータ/ジェネレータ４を力行運転させるモータ走行モードと、モータ/ジェネレータ４を回生運転させる回生走行モードとに分類されている。ハイブリッド車両は、これらのうちいずれかのモードを選択して走行する。ＥＶモードは、駆動輪に対する要求駆動力が比較的低く、バッテリ１９の充電容量を表すＳＯＣ（State Of Charge）が十分に確保されているときに選択される。
【００１９】
ＨＥＶモードは、第１クラッチCL1を締結状態とし、エンジン３とモータ/ジェネレータ４を駆動源として走行するモードである。このＨＥＶモードはさらに、エンジン３とモータ/ジェネレータ４を同時に用いて駆動輪を駆動させるモータアシスト走行モードと、エンジン３を用いて駆動輪を駆動させつつモータ/ジェネレータ４により発電を行う発電走行モードと、エンジン３のみを用いて駆動輪を駆動させるエンジン走行モードとに分類されている。ハイブリッド車両は、これらのうちいずれかのモードを選択して走行する。ＨＥＶモードは、駆動輪に対する要求駆動力が比較的高いときや、バッテリ１９のＳＯＣが不足しているときなどに選択される。
【００２０】
ＷＳＣモードは、モータ/ジェネレータ４の回転数制御を行いつつ第２クラッチCL2をスリップ締結状態に維持し、第２クラッチCL2を介して変速機入力軸INへ伝達されるトルクが車両状態やドライバ操作に応じて決まる要求駆動トルクと一致するように、第２クラッチCL2のクラッチトルク容量をコントロールしながら走行するモードである。このＷＳＣモードは、たとえばＨＥＶモードが選択されているときの停車時、発進時、減速時等のように、エンジン回転数がアイドル回転数を下回ったり、メカオイルポンプM-O/Pからの吐出油圧が不足したりするような走行領域において選択される。
【００２１】
次に、ハイブリッド車両の制御系を説明する。ハイブリッド車両の制御系は、図１に示すように、エンジンコントローラ２１と、モータコントローラ２２と、インバータ１０と、バッテリ１９と、第１クラッチコントローラ５と、第１クラッチ油圧ユニット６と、ＣＶＴコントローラ２３と、第２クラッチ油圧ユニット９と、ブレーキコントローラ２４と、バッテリコントローラ２５と、統合コントローラ２０と、を有して構成されている。なお、エンジンコントローラ２１、モータコントローラ２２、第１クラッチコントローラ５、ＣＶＴコントローラ２３、ブレーキコントローラ２４、バッテリコントローラ２５および統合コントローラ２０の各コントローラは、情報交換が互いに可能なＣＡＮ通信線を介して接続されている。
【００２２】
エンジンコントローラ２１は、エンジン回転数センサ１１からのエンジン回転数情報と、統合コントローラ２０からの目標エンジントルク指令と、他の必要情報とを入力する。そして、これらの情報に基づいて、エンジン動作点を表すエンジン回転数NeおよびエンジントルクTeを制御する指令をエンジン３のスロットルバルブアクチュエータ等へ出力することにより、エンジン３を制御する。
【００２３】
モータコントローラ２２は、モータ/ジェネレータ４のロータ回転位置を検出するレゾルバ１２からのロータ位置情報（回転数情報）と、統合コントローラ２０からの目標MGトルク指令、目標MG回転数指令および制御モード指令と、他の必要情報とを入力する。そして、これらの情報に基づいて、前述のＥＶモード、ＨＥＶモードまたはＷＳＣモードのいずれかの走行モードに応じた制御モードを選択し、ＰＷＭ信号を生成してインバータ１０へ出力する。このＰＷＭ信号に応じてインバータ１０を動作させることにより、モータ/ジェネレータ４を制御する。なお、このモータコントローラ２２は、ハイブリッド車両の走行中は、モータトルクTmを目標トルクとしてモータ/ジェネレータ４を制御し、モータ回転数Nmを駆動系の回転に追従させるトルク制御を基本的に行う。しかし、前述のＷＳＣモードにおいて第２クラッチCL2をスリップ制御しているときなどには、モータ回転数Nmを目標回転数としてモータ/ジェネレータ４を制御し、モータトルクTmを駆動系の負荷に追従させる回転数制御を行う。
【００２４】
バッテリコントローラ２５は、バッテリ１９の充電容量を表すＳＯＣを監視しており、この監視結果に基づくＳＯＣの情報や、バッテリ１９に対して入出力可能なパワーの情報などを、ＣＡＮ通信線を介して統合コントローラ２０へ供給する。
【００２５】
第１クラッチコントローラ５は、油圧アクチュエータ１４におけるピストン１４ａのストローク位置を検出する第１クラッチストロークセンサ１５からのセンサ情報と、統合コントローラ２０からの目標CL1トルク指令と、他の必要情報とを入力する。そして、これらの情報に基づいて、第１クラッチCL1の締結状態を制御する指令を油圧コントロールバルブユニットCVU内の第１クラッチ油圧ユニット６へ出力することにより、第１クラッチCL1を制御する。
【００２６】
ＣＶＴコントローラ２３は、アクセル開度センサ１６からのアクセル開度情報と、車速センサ１７からの車速情報と、他のセンサ類等から必要に応じて出力される各種情報とを入力する。そして、これらの情報に基づいて、不図示のシフトレバーでＤレンジが選択されているときに、アクセル開度と車速により決まる目標入力回転数をシフトマップから検索し、検索された目標入力回転数に応じた変速比を得るための制御指令を油圧コントロールバルブユニットCVUへ出力することにより、自動変速機CVTの変速制御を行う。なお、エンジン始動時やエンジン停止時等に統合コントローラ２０から変速制御指令が出力された場合、ＣＶＴコントローラ２３は、この変速制御指令にしたがった変速制御を、上記のような通常の変速制御に優先して行う。さらにＣＶＴコントローラ２３は、統合コントローラ２０から目標CL2トルク指令が入力された場合、上記の変速制御に加えて第２クラッチCL2の制御を行う。このときＣＶＴコントローラ２３は、目標CL2トルク指令に基づいて、第２クラッチCL2へのクラッチ油圧を制御するための指令を油圧コントロールバルブユニットCVU内の第２クラッチ油圧ユニット９へ出力することにより、第２クラッチCL2を制御する。
【００２７】
ブレーキコントローラ２４は、車両の４つの各車輪速を検出する車輪速センサ５１からの車速情報と、ブレーキペダルの踏み込み量を検出するブレーキストロークセンサ５２からのブレーキストローク情報と、統合コントローラ２０からの回生協調制御指令と、他の必要情報とを入力する。そして、これらの情報に基づいて、ブレーキ制御を行う。たとえば、ブレーキ踏み込み制動時に、ブレーキストロークから求められる要求制動力に対して回生制動力だけでは不足する場合、その不足分を機械制動力（液圧制動力やモータ制動力）で補うように、回生協調ブレーキ制御を行う。
【００２８】
統合コントローラ２０は、車両全体の消費エネルギーを管理し、最高効率で車両を走らせるための機能を担うものである。この統合コントローラ２０は、モータ回転数Nmを検出するモータ回転数センサや他のセンサ・スイッチ類からの各種の情報と、各コントローラからＣＡＮ通信線を介して出力される情報とを入力する。そして、これらの情報に基づいて、前述の三種類の走行モードのうちいずれかの走行モードを選択し、選択した走行モードに応じた指令を他の各コントローラへ出力する。具体的には、エンジンコントローラ２１へ目標エンジントルク指令を、モータコントローラ２２へ目標MGトルク指令、目標MG回転数指令および制御モード指令を、第１クラッチコントローラ５へ目標CL1トルク指令を、ＣＶＴコントローラ２３へ目標CL2トルク指令を、ブレーキコントローラ２４へ回生協調制御指令をそれぞれ出力する。   
【００２９】
次に、モータコントローラ２２において行われる制御内容について説明する。図２は、モータコントローラ２２の制御ブロック図である。モータコントローラ２２は、図２に示すように、通信異常検知部２０１、トルク指令算出部２０２、モータ回転数算出部２０３、モータ電流検出部２０４、直流電圧検出部２０５、電流指令演算部２０６、電流制御演算部２０７およびＰＷＭデューティ算出部２０８の各制御ブロックを機能的に有する。なお、モータコントローラ２２は、これらの各制御ブロックをマイコン等の処理によって実現することができる。
【００３０】
通信異常検知部２０１は、統合コントローラ２０との間で行われるＣＡＮ通信の状態を検知し、正常であるか異常であるかを判断する。その結果、ＣＡＮ通信が異常であると判断した場合は、異常検知信号をトルク指令算出部２０２へ出力する。
【００３１】
トルク指令算出部２０２は、統合コントローラ２０からＣＡＮ通信により送信される目標MGトルク指令、目標MG回転数指令および制御モード指令を受けると共に、モータ回転数算出部２０３によるモータ回転数Nmの算出結果を受ける。そして、これらの各値に基づいて、モータ/ジェネレータ４に対するトルク指令を算出し、算出したトルク指令を電流指令演算部２０６へ出力する。このトルク指令算出部２０２によるトルク指令の算出方法については、後で詳しく説明する。
【００３２】
なお、通信異常検知部２０１からトルク指令算出部２０２へ異常検知信号が出力された場合、トルク指令算出部２０２は、ハイブリッド車両を退避走行させるために、通常時とは異なる方法でトルク指令の演算を行う。このときの具体的な演算方法についても、後で詳しく説明する。
【００３３】
モータ回転数算出部２０３は、レゾルバ１２からのロータ位置情報を受け、これに基づいて、モータ/ジェネレータ４の回転数を表すモータ回転数Nmを算出する。そして、算出したモータ回転数Nmをトルク指令算出部２０２へ出力する。
【００３４】
モータ電流検出部２０４は、インバータ１０とモータ/ジェネレータ４の間に設けられた電流センサ２１０からのセンサ情報を基に、インバータ１０からモータ/ジェネレータ４に流れているモータ電流を検出する。そして、検出した電流値を電流制御演算部２０７へ出力する。
【００３５】
直流電圧検出部２０５は、インバータ１０とバッテリ１９の間に設けられた電圧センサ２１１からのセンサ情報を基に、バッテリ１９からインバータ１０へ供給されている直流電圧を検出する。そして、検出した電圧値を電流指令演算部２０６へ出力する。なお、電圧センサ２１１は、バッテリ１９からインバータ１０へ供給されている直流電圧として、バッテリ１９と並列に接続されているコンデンサ２１２の電圧を測定している。ここで、コンデンサ２１２の電圧は、理論上、バッテリ１９の電圧と同値である。
【００３６】
電流指令演算部２０６は、トルク指令算出部２０２からのトルク指令および直流電圧検出部２０５からの電圧値に基づいて、インバータ１０からモータ/ジェネレータ４へ出力する電流を制御するための制御電流指令値を決定する。そして、制御電流指令値を電流制御演算部２０７へ出力する。
【００３７】
電流制御演算部２０７は、電流指令演算部２０６からの制御電流指令値と、モータ電流検出部２０４からの電流値とを比較し、その比較結果に基づいて、インバータ１０に対する電圧指令値を決定する。そして、電圧指令値をＰＷＭデューティ算出部２０８へ出力する。
【００３８】
ＰＷＭデューティ算出部２０８は、電流制御演算部２０７からの電圧指令値に基づいて、インバータ１０が有する各スイッチング素子に対するＰＷＭ制御のデューティをそれぞれ決定する。そして、決定した各スイッチング素子のデューティに応じたＰＷＭ信号を生成し、インバータ１０へ出力する。このＰＷＭ信号に応じてインバータ１０の各スイッチング素子がスイッチング動作を行うことにより、バッテリ１９からの直流電力が三相交流電力に変換されてモータ/ジェネレータ４へ出力される。
【００３９】
次に、トルク指令算出部２０２によるトルク指令の算出方法について説明する。図３は、トルク指令算出部２０２の制御ブロック図である。トルク指令算出部２０２は、図３に示すように、回転数制御用トルク演算部３０１、トルク制御用トルク演算部３０２、回転数制御/トルク制御選択部３０３および上下限制限部３０４の各制御ブロックを機能的に有する。
【００４０】
回転数制御用トルク演算部３０１は、外部の統合コントローラ２０からＣＡＮ通信を経由して送られてくる目標MG回転数指令で指定された目標MG回転数と、モータ回転数算出部２０３からのモータ回転数Nmとを比較して、モータ回転数Nmが目標MG回転数に一致するようにトルク指令値を算出する。このトルク指令値は、回転数制御トルク指令値として回転数制御/トルク制御選択部３０３へ出力される。
【００４１】
なお、統合コントローラ２０とモータコントローラ２２の間で行われるＣＡＮ通信が異常である場合、前述のように通信異常検知部２０１により異常が検知されて異常検知信号が出力される。このとき、回転数制御用トルク演算部３０１では、統合コントローラ２０から目標MG回転数を入手することができない。そのため、回転数制御用トルク演算部３０１は、通信異常検知部２０１から異常検知信号が出力されると、それに応じて、統合コントローラ２０からの目標MG回転数の代わりに、異常発生時の制御情報として予め記憶された回転数を用いて、上記のようなトルク指令値の算出を行う。この点については、後で詳しく説明する。
【００４２】
トルク制御用トルク演算部３０２は、統合コントローラ２０からＣＡＮ通信により送られてくる目標MGトルク指令で指定された目標MGトルク値に対して、所定の補正演算や変化率制限等を行うことにより、トルク指令値を算出する。このトルク指令値は、トルク制御トルク指令値として回転数制御/トルク制御選択部３０３へ出力される。
【００４３】
回転数制御/トルク制御選択部３０３は、回転数制御用トルク演算部３０１からの回転数制御トルク指令値と、トルク制御用トルク演算部３０２からのトルク制御トルク指令値とを入力し、これらのトルク指令値のいずれか一方を選択する。そして、選択したトルク指令値を上下限制限部３０４へ出力する。このトルク指令値の選択は、統合コントローラ２０からＣＡＮ通信により送られてくる制御モード指令と、通信異常検知部２０１から出力される異常検知信号とに基づいて、以下のように行われる。
【００４４】
通信異常検知部２０１から異常検知信号が出力されていない場合、回転数制御/トルク制御選択部３０３は、制御モード指令で指定された制御モードに応じて、回転数制御であれば回転数制御トルク指令値を選択し、トルク制御であればトルク制御トルク指令値を選択する。制御モード指令では、統合コントローラ２０の判断に応じた制御モードが指定されている。たとえば、ＥＶモードでの走行中や、ＨＥＶモードでの走行中には、統合コントローラ２０によりトルク制御が指定され、ＷＳＣモードでの走行中や、ＥＶモードでの走行からエンジン３を始動してＨＥＶモードに移行する際には、統合コントローラ２０により回転数制御が指定される。
【００４５】
一方、通信異常検知部２０１から異常検知信号が出力されている場合、回転数制御/トルク制御選択部３０３は、制御モード指令で指定された制御モードに関わらず、回転数制御トルク指令値を選択する。この回転数制御トルク指令値は前述のように、回転数制御用トルク演算部３０１において、予め記憶された回転数を用いて算出されたものである。
【００４６】
上下限制限部３０４は、統合コントローラ２０からＣＡＮ通信により送られてくる上限トルク値および下限トルク値に基づいて、回転数制御/トルク制御選択部３０３からのトルク指令値に対する制限を必要に応じて行う。たとえば、上限トルク値と下限トルク値に応じた制限幅を設定し、トルク指令値がこの制限幅から外れている場合は、上限トルク値または下限トルク値に制限して出力する。これにより、トルク指令算出部２０２から出力される最終的なトルク指令が決定される。
【００４７】
次に車両のモード遷移動作について説明する。統合コントローラ２０は、ＥＶモードでの走行中に、ＳＯＣ残量やトルク要求などによりＨＥＶモードへ移行すべきと判断した場合、エンジン始動制御を経由してＨＥＶモードに移行する。このエンジン始動制御において、統合コントローラ２０は、ＥＶモード中には解放されている第１クラッチCL1を半締結状態にし、モータ/ジェネレータ４をスタータモータとしてエンジン３をクランキングすることで、燃料噴射と点火によりエンジン３を始動させる。その後、第１クラッチCL1を締結する。このエンジン始動制御を開始する際に、統合コントローラ２０は、回転数制御を指定する制御モード指令をモータコントローラ２２に対して出力することにより、モータ/ジェネレータ４をトルク制御から回転数制御に変更し、エンジン３のクランキングや回転同期が出来るようにする。また、第２クラッチCL2をスリップ締結することで、エンジン始動制御に伴うトルク変動を第２クラッチCL2により吸収し、駆動軸へのトルク伝達によるエンジン始動ショックを防止する。
【００４８】
一方、ＨＥＶモードでの走行中にＥＶモードへ移行すべきと判断した場合、統合コントローラ２０は、エンジン停止制御を経過してＥＶモードに移行する。このエンジン停止制御において、統合コントローラ２０は、ＨＥＶモード中には締結されている第１クラッチCL1を解放した後、駆動軸から切り離されたエンジン３を停止させる。このエンジン停止制御の実行中において、統合コントローラ２０は、前述のエンジン始動制御時と同様に、回転数制御を指定する制御モード指令をモータコントローラ２２に対して出力することにより、モータ/ジェネレータ４をトルク制御から回転数制御に変更する。また、第２クラッチCL2をスリップ締結することで、エンジン停止制御に伴うトルク変動を第２クラッチCL2により吸収し、駆動軸へのトルク伝達によるエンジン停止ショックを防止する。
【００４９】
上述のようにＥＶモードからＨＥＶモードへ、またはＨＥＶモードからＥＶモードへ遷移する場合には、エンジンコントローラ２１、モータコントローラ２２、第１クラッチコントローラ５、ＣＶＴコントローラ２３、ブレーキコントローラ２４、バッテリコントローラ２５および統合コントローラ２０の各コントローラ間で情報のやり取りを行いながら、各コントローラでの制御を実施する必要がある。一般には、ＣＡＮ通信にて各コントローラ間で情報の送受信が行われる。
【００５０】
ここで、ＥＶモード中に統合コントローラ２０とモータコントローラ２２の間でＣＡＮ通信が不調となり、信号のやり取りができなくなった場合には、モータコントローラ２２において、回転数制御への移行タイミングや目標MG回転数の設定が不明となる。そのため、このような場合にモータコントローラ２２はフェールセーフ動作として、インバータ１０へのＰＷＭ信号を停止してゲートを遮断すると共に、トルク指令を０とする。
【００５１】
しかし、上記のようなフェールセーフ動作がＥＶモード中に行われると、それ以降はモータ/ジェネレータ４を駆動源としたＥＶ走行ができなくなるため、車両を安全な場所や、修理工場まで走行させることが困難となってしまう。そこで、本発明では、ＣＡＮ通信の不調等によりモータコントローラ２２が外部（統合コントローラ２０）からの情報を受信できなくなった場合でも、予め決められた動作をモータコントローラ２２において行うことにより、エンジン３を始動可能な状態を提供する。これにより、車両が突然停止することなく、エンジン３を駆動源として退避走行を実施できるようにする。
【００５２】
図４は、モータコントローラ２２において実行されるモータ制御処理のフローチャートである。
【００５３】
ステップＳ１０２では、通信異常検知部２０１を用いて、統合コントローラ２０との間のＣＡＮ通信が異常であるかどうかの判定を行う。ＣＡＮ通信が正常と判定した場合には、ステップＳ１０４に進み、第一制御モードとして、統合コントローラ２０からの指令に基づいてモータ/ジェネレータ４を制御する通常制御をステップＳ１０４で実施する。一方、ＣＡＮ通信が異常と判定した場合には、ステップＳ１０６へ進み、予め記憶された制御情報に基づいてモータ/ジェネレータ４を制御する第二制御モードをステップＳ１０６以降で実施する。
【００５４】
ステップＳ１０２でのＣＡＮ通信が異常かどうかの判定には、周知のＣＡＮ通信故障診断を用いることができる。たとえば、統合コントローラ２０からの信号が一定時間以上途絶えたら、ＣＡＮ通信異常と判定する。また、統合コントローラ２０も同じタイミングでＣＡＮ通信異常を認識できるような構成とすることが好ましい。具体的には、ステップＳ１０２の判定でモータコントローラ２２が用いたのと同じ時間の信号途絶が発生したときに、統合コントローラ２０でもＣＡＮ通信異常と判定できるようにしておけばよい。さらに、モータコントローラ２２の受信のみが異常になった場合も考慮して、モータコントローラ２２がＣＡＮ通信異常と判定したら、その情報をモータコントローラ２２から統合コントローラ２０へ送信してもよい。このようにすれば、モータコントローラ２２と統合コントローラ２０でそれぞれＣＡＮ通信異常を判定することができる。なお、ここでは統合コントローラ２０からのモータ制御指令値がモータコントローラ２２において正常に受信できないＣＡＮ通信異常の一例として、ＣＡＮ通信が途絶するＣＡＮ通信不調を挙げている。これ以外に、たとえば統合コントローラ２０からのモータ制御指令値が異常な値を示す場合などについても、同様にＣＡＮ通信異常と判定することが好ましい。
【００５５】
ステップＳ１０６では、現在の走行モードがＨＥＶモードであるか否かを判定する。ＨＥＶモードと判定した場合、すなわち既にエンジン３が動作中の場合は、エンジン３を始動させるためのモータ制御を実施する必要がない。したがってこの場合はステップＳ１１２へ進み、ステップＳ１１２でインバータ１０へのＰＷＭ信号を停止してゲートをオフすることにより、モータ/ジェネレータ４を停止させるように制御する。そして、図４のモータ制御処理を終了する。その後車両では、モータ/ジェネレータ４を使用せずに、エンジン３を駆動源とした退避走行が行われる。なお、走行モードがＷＳＣモードである場合も、エンジン３が動作中であればＨＥＶモードの場合と同様に、ステップＳ１１２へ進むようにする。一方、ＨＥＶモードではないと判定した場合、すなわちエンジン３が停止中であるＥＶモードの場合は、退避走行のためにエンジン３を始動させる必要があるため、ステップＳ１０８へ進む。
【００５６】
ステップＳ１０６での走行モードの判定は、たとえば、走行モードの情報や第１クラッチCL1の締結情報などを統合コントローラ２０から受信することにより行うことができる。モータコントローラ２２は、ＣＡＮ通信異常となる直前に受信したこれらの情報に基づいて、現在の走行モードがＨＥＶモードであるか否かを判定することができる。
【００５７】
また、統合コントローラ２０からの情報を利用せず、モータコントローラ２２単体で走行モードを判断してもよい。たとえば、モータトルクの積算結果等により走行モードを判断することができる。一般に、ＥＶモードとＨＥＶモードでは異なったＳＯＣマネージメント方式が設定されている。すなわち、ＥＶ走行では、バッテリ１９のＳＯＣを消費してモータ/ジェネレータ４の駆動力を使って走行するため、正トルク（力行トルク）の積算値が多く、負トルク（回生トルク）の積算値が少なくなるような動作が行われる。これに対して、ＨＥＶ走行では、バッテリ１９のＳＯＣを維持または増加するために、エンジン３の駆動力を増大させてモータ/ジェネレータ４での回生を積極的に行う。そのため、負トルク（回生トルク）の積算値が多く、正トルク（力行トルク）の積算値が少なくなるような動作が行われる。これを利用して、直近のモータ/ジェネレータ４におけるモータトルクの積算値を観測することにより、走行モードがＥＶモードとＨＥＶモードのどちらであるかの判断を行うことができる。たとえば、回生トルクの積算値が多く、力行トルクの積算値が少ない場合には、ＨＥＶモードと判断できる。反対に、回生トルクの積算値が少なく、力行トルクの積算値が多い場合には、ＥＶモードと判断できる。
【００５８】
ステップＳ１０８では、モータ/ジェネレータ４の制御に関してＣＡＮ通信以外の故障が発生していないかどうかを判定する。後述するステップＳ１１０でエンジン始動制御を行う際には、モータコントローラ２２がモータ/ジェネレータ４を正しく制御できることが必要となる。しかし、たとえばレゾルバ１２や電流センサ２１０が故障している場合などは、モータ/ジェネレータ４を正しく制御できない。そのため、このような故障が発生している場合は、ステップＳ１１２へ進んでゲートオフし、モータ/ジェネレータ４を停止させてモータ制御処理を終了する。一方、こうしたＣＡＮ通信以外の故障が発生しておらず、モータコントローラ２２においてモータ/ジェネレータ４の制御が可能な場合は、ステップＳ１１０へ進む。
【００５９】
ステップＳ１１０では、モータ/ジェネレータ４に対して、エンジン３を始動させるためのエンジン始動制御を行う。このエンジン始動制御では、予め記憶された目標回転数に応じてモータ/ジェネレータ４を回転数制御することで、エンジン３をクランキングし、エンジン３が始動できるようにする。なお、ステップＳ１１０での詳細な処理内容については、後で図５のフローチャートを用いて詳しく説明する。
【００６０】
ステップＳ１１０のエンジン始動制御が終了したら、続くステップＳ１１２では前述のように、インバータ１０へのＰＷＭ信号を停止してゲートをオフする。これにより、モータ/ジェネレータ４を停止させるように制御する。その後、図４のモータ制御処理を終了し、モータ/ジェネレータ４を使用せずに、エンジン３を駆動源とした退避走行が車両で行われるようにする。
【００６１】
なお、以上説明した図４のフローチャートでは、ステップＳ１０６で現在の走行モードがＨＥＶモードであるか否かを判定するようにしたが、この処理を省略することも可能である。この場合、ステップＳ１１０でエンジン始動制御が行われている間は、ＨＥＶ走行中であっても、モータコントローラ２２によりモータ/ジェネレータ４が所定の回転数に応じて回転数制御されると共に、統合コントローラ２０により第２クラッチCL2が解放またはスリップ状態となるように制御される。そのため、この期間ではドライバの要求通りに駆動力が反映されずに車両の運転性が悪化するものの、エンジン３は停止されないため、エンジン始動制御の終了後に退避走行が可能となる。
【００６２】
次に図５を用いて、上記ステップＳ１１０で行われるエンジン始動制御の詳細について説明する。図５は、エンジン始動制御のフローチャートである。
【００６３】
ステップＳ２０２では、モータ/ジェネレータ４に対する現在の制御モードがトルク制御であるか否かを判定する。トルク制御中の場合はステップＳ２０４へ進み、ステップＳ２０４において所定時間待機する。このときモータコントローラ２２は、モータ/ジェネレータ４に対して前回の制御状態を保持することが好ましい。すなわち、このときには統合コントローラ２０との間のＣＡＮ通信が異常であり、モータ/ジェネレータ４において現在必要なトルク値が不明であるため、ＣＡＮ通信が異常となる直前のトルク指令値を用いてトルク制御を継続する。または、安全を考慮して、時間経過に応じて徐々にトルクを落とすような動作としてもよい。
【００６４】
なお、ステップＳ２０４での待機時間は、後述するステップＳ２０６でモータ/ジェネレータ４をトルク制御から回転数制御に移行させる際の駆動側への悪影響を防ぐために確保するものである。この待機時間は、統合コントローラ２０がＣＡＮ通信の異常を検知してから第２クラッチCL2を解放またはスリップ状態とするまでの時間に応じて定めることができる。トルク制御中は、第２クラッチCL2が完全締結されており、モータ/ジェネレータ４からの発生トルクが全て駆動力として駆動側に伝えられる状態となっている。この状況下で、ＣＡＮ通信が異常となったときにトルク制御から回転数制御へ即時に移行し、ステップＳ２０６で所定のクランキング回転数を目標回転数とする制御をモータ/ジェネレータ４に対して行うと、駆動側の回転数が急激に変化し、それに応じて車両の走行速度も急激に変化してしまうという弊害を生じる。すなわち、自動変速機CVTにおける変速機入力軸IN側のプライマリプーリの回転数（プライマリ回転数）がクランキング回転数よりも高い場合は、モータ/ジェネレータ４の回転数をクランキング回転数まで低下させるように回転数制御が行われるため、車両は急減速する。また、逆にプライマリ回転数がクランキング回転数よりも低い場合は、モータ/ジェネレータ４の回転数をクランキング回転数まで上昇させるように回転数制御が行われるため、車両は急加速する。そこで、こうした弊害を防止するため、ＣＡＮ通信が異常となってから第２クラッチCL2が解放またはスリップ状態となるまでの時間をステップＳ２０４で確保した後に、回転数制御へと移行させるようにする。
【００６５】
図７は、ステップＳ２０４の待機時間中に、統合コントローラ２０が第２クラッチCL2を制御するために実行する第２クラッチ制御処理のフローチャートである。なお、このフローチャートの開始時点では、第２クラッチCL2は締結状態である。
【００６６】
統合コントローラ２０は、モータコントローラ２２との間でのＣＡＮ通信異常を検知すると、図７のフローチャートに示す処理を開始する。ステップＳ４０２では、プライマリ回転数がモータ/ジェネレータ４の回転数制御での目標回転数であるクランキング回転数よりも大きいかどうかを判定する。プライマリ回転数がクランキング回転数より大きい場合は、回転数制御中にモータ/ジェネレータ４の発生トルクを駆動側に伝えることができないため、ステップＳ４０６へ進む。ステップＳ４０６では、ＣＶＴコントローラ２３へ目標CL2トルク指令を出力し、第２クラッチCL2を解放する。一方、プライマリ回転数がクランキング回転数より小さい場合は、回転数制御中にモータ/ジェネレータ４の発生トルクを駆動側に伝えることが可能なため、ステップＳ４０４へ進む。ステップＳ４０４では、ＣＶＴコントローラ２３へ目標CL2トルク指令を出力し、第２クラッチCL2をスリップ状態に制御する。
【００６７】
なお、ステップＳ４０４では、プライマリ回転数よりもモータ回転数Nmが大きく、これらの回転数の差が所定の差分α以上であるプラススリップ状態を維持することが好ましい。そのため、ステップＳ４０２では、プライマリ回転数が「クランキング回転数＋差分α」よりも大きいかどうかを判定するようにしてもよい。あるいは、ステップＳ４０４の判定を省略することで、プライマリ回転数によらず、全ての場合でステップＳ４０６を実行して第２クラッチCL2を解放するようにしてもよい。
【００６８】
ここで図５のエンジン始動制御のフローチャートの説明に戻ると、モータコントローラ２２は、ステップＳ２０４で所定時間待機した後にステップＳ２０６へ進む。ステップＳ２０６では、所定のクランキング回転数を目標回転数とし、この目標回転数に応じてモータ/ジェネレータ４を回転させる回転数制御を行う。ここでは、図３の回転数制御用トルク演算部３０１において、モータコントローラ２２に予め記憶されたクランキング回転数の情報に基づいて、モータ回転数Nmとクランキング回転数との差に応じたトルク指令値を算出する。このトルク指令値を用いることにより、モータコントローラ２２は、モータ/ジェネレータ４をクランキング回転数に応じた所定の回転状態で回転させるように制御する。
【００６９】
なお、ステップＳ２０２で現在の制御モードがトルク制御ではなく、回転数制御であると判定した場合は、第２クラッチCL2が既にスリップ状態となっている。そのため、ステップＳ２０４のような待機時間を確保する必要がなく、即時にクランキング回転数を目標回転数に設定することが可能である。このとき待機時間を設けてもよいが、ステップＳ２０４での待機時間とは別の値とすることができる。
【００７０】
図８は、ステップＳ２０６での回転数制御中に、統合コントローラ２０が第１クラッチCL1を制御してエンジン３を始動させるために行う第１クラッチ制御処理のフローチャートである。なお、このフローチャートの開始時点では、第１クラッチCL1は解放状態である。
【００７１】
統合コントローラ２０は、モータコントローラ２２との間でのＣＡＮ通信異常を検知すると、前述の図７のフローチャートに示す処理を実行することで第２クラッチCL2を解放またはスリップ状態とした後に、図８のフローチャートに示す処理を開始する。すなわち、モータコントローラ２２がＣＡＮ通信異常を検知した場合に、ステップＳ３０４で所定時間待機した後にステップＳ２０６で回転数制御を開始するタイミングに合わせて、図８のフローチャートに示す処理が統合コントローラ２０により実行され、第１クラッチCL1の制御が開始される。ステップＳ５０２では、第１クラッチコントローラ５へ目標CL1トルク指令を出力して、第１クラッチCL1を解放状態から徐々にスリップさせて締結状態とする。これにより、モータ/ジェネレータ４の回転をエンジン３へ徐々に伝達してエンジン３をクランキングさせる。続いてステップＳ５０４では、エンジンコントローラ２１へ所定の指令を出力して、クランキングされているエンジン３において燃料噴射と点火を開始し、エンジン３を始動させる。このときの燃料噴射と点火の開始タイミングは、エンジンコントローラ２１と統合コントローラ２０のどちらで決定してもよい。ステップＳ５０４でエンジン３が始動されたことを確認したらステップＳ５０６へ進む。ステップＳ５０６では、第１クラッチコントローラ５へ目標CL1トルク指令を出力し、第１クラッチCL1を完全に締結させる。
【００７２】
なお、以上説明した第１クラッチ制御処理による第１クラッチCL1の動作は、統合コントローラ２０とモータコントローラ２２の間のＣＡＮ通信が正常な場合の通常制御においてＥＶモードからＨＥＶモードへ移行する際のエンジン始動制御での第１クラッチCL1の動作と同様である。ここで、図８の第１クラッチ制御処理では、統合コントローラ２０とモータコントローラ２２の間のＣＡＮ通信が異常であることから、統合コントローラ２０とモータコントローラ２２および第１クラッチコントローラ５との間で協調制御を行うことができない。したがって、エンジン始動時のショックを低減するために、第１クラッチ制御処理では通常制御と異なる動作条件で第１クラッチCL1を動作させてもよい。
【００７３】
ここで図５のエンジン始動制御のフローチャートの説明に戻ると、モータコントローラ２２は、ステップＳ２０６でモータ/ジェネレータ４の回転数制御を開始したら、ステップＳ２０８で回転数制御終了判定の処理を行う。この処理では、エンジン３の始動が完了したか否かを判断し、エンジン３の始動が完了したと判断した場合には、回転数制御終了との判定を下す。なお、ステップＳ２０８での詳細な処理内容については、後で図６のフローチャートを用いて詳しく説明する。続くステップＳ２１０では、ステップＳ２０８で回転数制御終了との判定が下されたかどうかを判断する。回転数制御終了との判定が下されていない場合はステップＳ２０８へ戻って回転数制御終了判定の処理を継続する。一方、回転数制御終了との判定が下された場合は、ステップＳ２０６で開始したモータ/ジェネレータ４の回転数制御を終了する。そして、図５のエンジン始動制御を終了して図４のステップＳ１１２へ進み、ゲートをオフしてモータ/ジェネレータ４を停止させるように制御する。
【００７４】
なお、上記のエンジン始動制御では、ステップＳ２０４で所定時間待機した後に、ステップＳ２０６でモータ/ジェネレータ４の回転数が所定のクランキング回転数となるようにモータ/ジェネレータ４の回転数制御を行う。しかし、ステップＳ２０４で所定時間待機した後でも、油圧のばらつき等により、第２クラッチCL2がまだ締結状態にある場合も考えられる。そこで、このような事態を想定して、ステップＳ２０６でモータ/ジェネレータ４を回転数制御する際には、モータ/ジェネレータ４の回転数を制御開始時点の値からクランキング回転数まで所定の変化率で変化させることにより、モータ回転数の変化に制限を設けて急激なモータ回転数の変化を防止することが好ましい。このときの回転数変化率の一例を図９に示す。図９には、回転数制御の開始時点ではモータ回転数の変化率が比較的小さく、そこからの経過時間に応じてモータ回転数の変化率が徐々に大きくなる例を示している。このようにすることで、車両挙動への悪影響（急加速、急減速）を低減し、ドライバの不安を最小限に抑えることが可能となる。
【００７５】
さらに、モータ/ジェネレータ４におけるトルクの大きさや、トルク変化の軌跡に応じて、上記の変化率を変えるようにしてもよい。こうした処理を組み合わせることで、車両挙動への悪影響をより一層抑えることが可能となる。たとえば、第２クラッチCL2の解放動作が何らかの原因で遅れた場合、第２クラッチCL2が締結状態であることから、回転数制御時には駆動軸分を含めてモータ回転数を変化させる必要がある。そのため、第２クラッチCL2が解放状態である場合よりも多くのモータトルクが必要となる。そこで、モータトルクの大きさから第２クラッチCL2の状態を推定し、その結果第２クラッチCL2の解放量が小さいと判断された場合は、回転数制御におけるモータ回転数の変化率を通常よりも小さくする。これにより、車両挙動の変化をより小さくすることができる。
【００７６】
また、上記のエンジン始動制御では、ステップＳ２０４で所定時間待機することにより第２クラッチCL2が解放状態となるまで待ち、その後にステップＳ２０６でモータ/ジェネレータ４の回転数制御を行うようにした。これに代えて、ＣＶＴコントローラ２３から送信される第２クラッチCL2の状態を示す情報をモータコントローラ２２において受信し、これに基づいて第２クラッチCL2が解放状態とされたタイミングを判断することで、モータ/ジェネレータ４の回転数制御を行うタイミングを決定してもよい。このようにすれば、ＣＡＮ通信異常を検知してからステップＳ２０６の回転数制御へ移行するタイミングをより正確に把握することが可能となる。
【００７７】
さらに、ステップＳ２０６の回転数制御や、ステップＳ２０８の回転数制御終了判定処理において、第１クラッチCL1やエンジン３の制御状態に関する情報を、第１クラッチコントローラ５やエンジンコントローラ２１とモータコントローラ２２との間で送受信してもよい。こうした情報を用いることにより、各デバイスの動作タイミングに適した制御を正確に行うことができる。たとえば、ステップＳ２０６の回転数制御中に、モータコントローラ２２から第１クラッチコントローラ５に対して、モータ/ジェネレータ４が目標回転数に到達したことを示すクランキング可能信号を送信する。これを利用することで、第１クラッチコントローラ５では、第１クラッチCL1のスリップ動作への移行タイミングを正確にコントロールすることができる。また、ステップＳ２０８の回転数制御終了判定処理において、エンジン３が完爆状態であることを示すエンジン完爆信号をエンジンコントローラ２１からモータコントローラ２２へ送信すると共に、第１クラッチCL1の締結が完了したことを示す第１クラッチ締結完了信号を第１クラッチコントローラ５からモータコントローラ２２へ送信する。これらの信号のうちいずれか少なくとも一方を利用することで、モータコントローラ２２では、正確なタイミングで回転数制御終了との判定を下すことができる。なお、これらの信号は、モータコントローラ２２と各コントローラ間で、たとえばＣＡＮ信号やハードワイヤ等を用いて送受信することができる。ＣＡＮ通信の場合は、常時通信を行ってもよい。または、通信負荷等の観点から常時通信が困難な場合には、統合コントローラ２０とモータコントローラ２２との間でＣＡＮ通信が異常となったことをトリガにして、上記信号の通信を開始する構成としてもよい。
【００７８】
次に図６を用いて、上記ステップＳ２０８で行われる回転数制御終了判定処理の詳細について説明する。図６は、回転数制御終了判定処理のフローチャートである。
【００７９】
図８のステップＳ５０４でエンジン３が始動され、続くステップＳ５０６で第１クラッチCL1が締結された後に、モータ/ジェネレータ４の回転数制御をそのまま継続すると、この回転状態は統合コントローラ２０の指示に従ったものではないため、ドライバからの要求を車両の駆動状態に反映させる際の妨げになる。そのため、エンジン３の始動後は、モータ/ジェネレータ４の回転数制御を極力素早く終了させてゲートオフ状態に持っていき、エンジン３のみを動力源として車両の退避走行を実現させることが好ましい。そこで、回転数制御終了判定の処理として以下のような処理を行うことで、エンジン３が始動されたことをモータコントローラ２２において素早く判断できるようにする。
【００８０】
ステップＳ３０２では、図４のステップＳ１１０でエンジン始動制御を開始してからの時間を計測し、この計測時間により所定の許容時間を経過したか否かを判定する。その結果、計測時間が許容時間未満である場合はステップＳ３０４へ進み、許容時間を経過した場合はステップＳ３０８へ進む。なお、ステップＳ３０２の判定における許容時間は、エンジン始動制御を開始してからエンジン３が始動されるまでに許容される時間の最悪値であり、この時間を超えた場合はモータ/ジェネレータ４をゲートオフさせる。なお、許容時間を固定値とはせず、車両パラメータ等に応じて可変としてもよい。たとえば、極低温時と常温時とではエンジン３の始動を完了するまでの時間に差があるため、水温情報や油温情報等に応じて許容時間を変化させてもよい。また、エンジン３をクランキングさせるときの第１クラッチCL1の動作速度も温度によって変わるため、油圧情報等をさらに加味して許容時間を変化させてもよい。
【００８１】
ステップＳ３０２からステップＳ３０４へ進んだ場合、ステップＳ３０４および続くステップＳ３０６では、エンジン３が始動したかどうかの判定を行う。モータ/ジェネレータ４によりエンジン３をクランキングさせてエンジン３を始動するとき、モータ/ジェネレータ４は、エンジン３のフリクションを上回る大きな正トルク（力行トルク）を発生する必要がある。一方、エンジン３が始動してエンジントルクの発生が開始されると、今度は回転数を抑えるために、モータ/ジェネレータ４は負トルク（回生トルク）を出すことになる。そこで、こうした現象を利用して、モータコントローラ２２内で図３のトルク指令算出部２０２により算出されるトルク指令が正トルクから負トルクに切り替わったときに、エンジン３が始動したと判定することができる。あるいは、モータコントローラ２２のトルク指令値の他に、たとえば電流センサ２１０からのセンサ情報の値からトルク指令の正負を判断し、エンジン３の始動を判定してもよい。
【００８２】
ステップＳ３０４でトルク指令値が反転しない、すなわち正トルクの場合には、まだクランキング中であるため、ステップＳ３０２に戻る。一方、トルク指令値が正から負へ反転した場合には、エンジン３が始動したと判断してステップＳ３０６に進む。
【００８３】
ステップＳ３０６では、モータ/ジェネレータ４において負トルクの状態が所定時間経過したかどうかを判定する。エンジン３が始動されなくても、モータ/ジェネレータ４からのトルクが正トルクから負トルクに反転する場合があり得る。たとえば、回転数制御の方法によっては、クランキング中にモータ/ジェネレータ４の回転数が目標回転数を超えてしまい（オーバーシュート）、それを抑え込むために負トルクを発生することがある。そこで、ステップＳ３０６ではエンジン３が始動されたことを確実に判断するために、モータ/ジェネレータ４から負トルクが所定時間以上継続して発生しているかどうかを判定する。その結果、負トルクの発生時間が所定時間以上である場合には、エンジン３が始動したと判断してステップＳ３０８に進み、そうでない場合はステップＳ３０２へ戻る。なお、上記の説明では、モータトルクの大きさの変化でエンジン３の始動を判定する構成としているが、モータトルクの力行、回生の割合の変化などを使用してもよい。クランキング時には、力行トルクの割合が大きくなるのに対し、エンジン始動後は回生トルクの割合が大きくなるため、これを使ってエンジン３の始動判定を行うこともできる。
【００８４】
モータコントローラ２２は、以上説明したようなステップＳ３０４、Ｓ３０６の処理により、モータ/ジェネレータ４のトルクを検出し、そのトルクに基づいてエンジン３の始動が完了したか否かを判定することができる。ステップＳ３０８では、回転数制御終了と判定して図６の回転数制御終了判定処理を終了する。
【００８５】
図１０は、以上説明した本実施形態のハイブリッド車両においてＣＡＮ通信が途絶えたときの動作タイムチャートの一例を示す図である。この図を用いて、ＣＡＮ通信不調時の車両動作を以下に説明する。
【００８６】
ＥＶモード中に時刻Ｔ１において、統合コントローラ２０とモータコントローラ２２の間でＣＡＮ通信の途絶が発生したとする。このとき、モータコントローラ２２ではモータトルク指令値が更新されなくなるため、前回の指令値を用いて制御を継続する。これ以降もＣＡＮ通信の途絶状態が継続し、時刻Ｔ２でＣＡＮ通信の異常が確定したとする。このとき、モータコントローラ２２と統合コントローラ２０において同じタイミングでＣＡＮ通信の異常を認識できるような構成としておくことが好ましい。
【００８７】
時刻Ｔ２でＣＡＮ通信の異常が確定されると、統合コントローラ２０は、第２クラッチCL2を解放状態にすべく、図７のステップＳ４０６でＣＶＴコントローラ２３に対して目標CL2トルク指令を出力し、第２クラッチCL2の解放を指示する。一方、モータコントローラ２２は、図５のステップＳ２０６でモータ/ジェネレータ４を回転数制御状態にするとともに、目標回転数をあらかじめ決められたクランキング回転数に設定する。このとき前述のように、第２クラッチCL2の解放速度のばらつきを考慮して、モータ回転数の変化率に制限をかけてモータ回転数を引き下げていく。なお、第２クラッチCL2が解放されることでモータトルクが駆動側に伝達されなくなるため、プライマリ回転数は徐々に低下していく。
【００８８】
こうしてクランキング回転数に応じた回転数制御がモータ/ジェネレータ４に対して行われている状態で時刻Ｔ３になると、統合コントローラ２０は、図８のステップＳ５０２で第１クラッチコントローラ５へクランキングのための目標CL1トルク指令を出力して、第１クラッチCL1を解放状態から徐々にスリップさせて締結状態とする。これにより、第１クラッチCL1が徐々に締結され、エンジン３がクランキングされてエンジン回転数が上昇していく。
【００８９】
ステップＳ５０４でエンジン３が完爆されて始動を開始すると、エンジン回転数を抑えるために、モータ/ジェネレータ４はマイナストルクを発生する。このマイナストルク状態が所定時間継続した時刻Ｔ４において、モータコントローラ２２は、モータ/ジェネレータ４の回転数制御を終了し、図４のステップＳ１１２でゲートをオフしてモータトルクを０にする。その後、第２クラッチCL2を解放状態から徐々に締結状態にすることで、エンジン３からのトルクを駆動側に伝達する。これにより、車両においてエンジン３を用いた退避走行が開始される。なお、早めに駆動トルクを出すために、第２クラッチCL2の締結動作は、時刻Ｔ４より前で行ってもよい。ただしこの場合は、早くてもエンジン３の完爆後に第２クラッチCL2を締結する必要がある。
【００９０】
以上説明した実施形態では、クランキング回転数をあらかじめ決められた回転数としていたが、ＣＶＴコントローラ２３からプライマリ回転数情報の受信が可能であるならば、プライマリ回転数に応じたクランキング回転数を設定することも可能である。エンジン始動中でも駆動側にトルクを伝達できるようにするためには、モータ回転数はプライマリ回転数よりも常に高い状態にする必要がある。そこで、ＣＶＴコントローラ２３から受信したプライマリ回転数に対して、必要なモータ回転数との差を上乗せした回転数をクランキング回転数として設定すれば、駆動力を途切れさせることなくエンジン３を始動させて、退避走行に移行することが可能となる。
【００９１】
以上説明した実施の形態によれば、次の作用効果を奏する。
【００９２】
（１）モータコントローラ２２は、エンジン３とモータ/ジェネレータ４を備えたハイブリッド車両に搭載されており、モータ/ジェネレータ４を制御する。モータ/ジェネレータ４は、車両の駆動輪を駆動すると共に、エンジン３を始動するために用いられる。車両は、モータコントローラ２２と、エンジン３を制御するエンジンコントローラ２１と、モータコントローラ２２およびエンジンコントローラ２１と通信可能に接続され、車両の運転状態に応じた指令をモータコントローラ２２およびエンジンコントローラ２１へそれぞれ出力する統合コントローラ２０とを備える。モータコントローラ２２は、統合コントローラ２０とのＣＡＮ通信が正常である場合に、統合コントローラ２０からの指令に基づいてモータ/ジェネレータ４を制御する第一制御モードを実施する（ステップＳ１０４）。また、統合コントローラ２０とのＣＡＮ通信が異常である場合に、予め記憶された制御情報に基づいてモータ/ジェネレータ４を制御する第二制御モードを実施することで、エンジン３が停止中であるときにモータ/ジェネレータ４にエンジン３を始動させる（ステップＳ１１０）。このようにしたので、モータ/ジェネレータ４の制御が不可能となった場合に、モータ/ジェネレータ４を適切に停止すると共にエンジン３により駆動輪を駆動させて退避走行を行うことができる。
【００９３】
（２）モータコントローラ２２は、エンジン３が停止中であれば、第二制御モードにおいてモータ/ジェネレータ４を所定の回転状態で回転させるように制御する（ステップＳ２０６）。また、エンジン３が動作中であれば、第二制御モードにおいてモータ/ジェネレータ４を停止させるように制御する（ステップＳ１１２）。このようにしたので、エンジン３の動作状態に応じて、モータ/ジェネレータ４の動作を適切に制御することができる。
【００９４】
（３）モータコントローラ２２は、エンジン３が停止中であれば、第二制御モードにおいて、ステップＳ２０６でモータ/ジェネレータ４を所定の回転状態で回転させるように制御した後、ステップＳ１１２でモータ/ジェネレータ４を停止させるように制御する。このようにしたので、モータ/ジェネレータ４の動作が不要になった後は、モータ/ジェネレータ４を適切に停止させることができる。
【００９５】
（４）モータコントローラ２２は、ステップＳ２０６において、所定の目標回転数に応じてモータ/ジェネレータ４を回転させる回転数制御を行うことにより、モータ/ジェネレータ４を所定の回転状態で回転させるように制御する。このようにしたので、モータ/ジェネレータ４の回転によりエンジン３を適切にクランキングさせ、エンジン３を始動することができる。
【００９６】
（５）モータコントローラ２２は、エンジン３の始動が完了したか否かを判定し（ステップＳ３０４、Ｓ３０６）、始動が完了したと判定したら、ステップＳ２０６の回転数制御を終了する（ステップＳ３０８）。このようにしたので、エンジン３の始動後に、不要となったモータ/ジェネレータ４の回転数制御を確実に終了することができる。
【００９７】
（６）モータコントローラ２２は、ステップＳ３０４、Ｓ３０６において、モータ/ジェネレータ４のトルクを検出し、そのトルクに基づいてエンジン３の始動が完了したか否かを判定する。このようにしたので、エンジン３の始動が完了したか否かを正確に判定することができる。
【００９８】
（７）モータコントローラ２２は、ステップＳ２０６で回転数制御を行う際に、所定の変化率でモータ/ジェネレータ４の回転数を目標回転数まで変化させることができる。具体的には、ステップＳ２０６で回転数制御を開始してからの経過時間に応じて、上記の変化率を変化させることができる。このようにすれば、モータ回転数が急激に変化することで生じる車両挙動への悪影響を低減し、ドライバの不安を最小限に抑えることができる。
【００９９】
（８）また、モータコントローラ２２は、モータ/ジェネレータ４のトルクを検出し、このトルクに基づいて上記の変化率を決定することもできる。このようにすれば、車両挙動への悪影響をより一層低減することができる。
【０１００】
（９）車両は、エンジン３とモータ/ジェネレータ４の間を締結または解放する第１クラッチCL1と、第１クラッチCL1を制御する第１クラッチコントローラ５と、モータ/ジェネレータ４と駆動輪の間を締結または解放する第２クラッチCL2と、第２クラッチCL2を制御するＣＶＴコントローラ２３とをさらに備える。モータコントローラ２２により第二制御モードが実施されているとき、第１クラッチCL1によりエンジン３とモータ/ジェネレータ４の間が締結される（ステップＳ５０２）と共に、第２クラッチCL2によりモータ/ジェネレータ４と駆動輪の間が解放される（ステップＳ４０６）。この状態で、モータ/ジェネレータ４によりエンジン３が始動される（ステップＳ５０４）。このようにしたので、モータ/ジェネレータ４の回転をエンジン３へ適切に伝達してエンジン３をクランキングさせ、エンジン３を始動することができる。また、エンジン３のクランキング中にモータ/ジェネレータ４の回転が車両の駆動輪に伝達されるのを防ぐことで、車両挙動への悪影響を回避することができる。
【０１０１】
（１０）モータコントローラ２２は、エンジン３が停止中であれば、第二制御モードにおいて、ステップＳ２０６でモータ/ジェネレータ４を所定の回転状態で回転させるように制御する。その後、エンジンコントローラ２１および第１クラッチコントローラ５のいずれか少なくとも一方からの信号に応じて、ステップＳ２０８で回転数制御終了判定の処理を行い、ステップＳ１１２でモータ/ジェネレータ４を停止させるように制御することができる。このようにすれば、エンジン３が始動された後、正確なタイミングでモータ/ジェネレータ４を停止させることができる。
【０１０２】
（１１）モータコントローラ２２は、エンジン３とモータ/ジェネレータ４を備えたハイブリッド車両に搭載されており、モータ/ジェネレータ４を制御する。このモータコントローラ２２は、外部制御装置としての統合コントローラ２０との通信が異常である場合に、統合コントローラ２０からの指令に基づいてモータ/ジェネレータ４を制御する第一制御モードから、予め記憶された制御情報に基づいてモータ/ジェネレータ４を制御する第二制御モードへと切り替える（ステップＳ１０２、Ｓ１０４、Ｓ１１０、Ｓ１１２）。このようにしたので、前述のように、モータ/ジェネレータ４の制御が不可能となった場合に、モータ/ジェネレータ４を適切に停止すると共にエンジン３により駆動輪を駆動させて退避走行を行うことができる。
【０１０３】
なお、以上説明した実施の形態では、統合コントローラ２０とモータコントローラ２２の間でＣＡＮ通信が異常となった場合に、モータコントローラ２２において図４のモータ制御処理を実行することで、所定の回転数でモータ/ジェネレータ４を回転数制御してエンジン３を始動させる例を説明した。しかし、統合コントローラ２０とモータコントローラ２２の間でＣＡＮ通信が異常となった場合に、他の経路、たとえば第１クラッチコントローラ５等の他のコントローラを介して、モータ/ジェネレータ４を制御するために必要な情報をモータコントローラ２２が受信するようにしてもよい。あるいは、統合コントローラ２０以外のコントローラから送信される情報に基づいて、モータコントローラ２２がモータ/ジェネレータ４の制御を行うようにしてもよい。
【０１０４】
以上説明した実施形態や各種変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。
【符号の説明】
【０１０５】
３  エンジン
４  モータ/ジェネレータ
５  第１クラッチコントローラ
６  第１クラッチ油圧ユニット
９  第２クラッチ油圧ユニット
１０  インバータ
１１  エンジン回転数センサ（クランク角センサ）
１２  レゾルバ
１４  油圧アクチュエータ
１４ａ  ピストン
１５  第１クラッチストロークセンサ
１６  アクセル開度センサ
１７  車速センサ
１９  バッテリ
２０  統合コントローラ
２１  エンジンコントローラ（ＥＣＭ）
２２  モータコントローラ
２３  ＣＶＴコントローラ
２４  ブレーキコントローラ
２５  バッテリコントローラ
５１  車輪速センサ
５２  ブレーキストロークセンサ
ＣＬ１  第１クラッチ
ＣＬ２  第２クラッチ
２０１  通信異常検知部
２０２  トルク指令算出部
２０３  モータ回転数算出部
２０４  モータ電流検出部
２０５  直流電圧検出部
２０６  電流指令演算部
２０７  電流制御演算部
２０８  ＰＷＭデューティ算出部
３０１  回転数制御用トルク演算部
３０２  トルク制御用トルク演算部
３０３  回転数制御/トルク制御選択部
３０４  上下限制限部
【図１】
2014028586.tif 000003
【図２】
2014028586.tif 000004
【図３】
2014028586.tif 000005
【図４】
2014028586.tif 000006
【図５】
2014028586.tif 000007
【図６】
2014028586.tif 000008
【図７】
2014028586.tif 000009
【図８】
2014028586.tif 000010
【図９】
2014028586.tif 000011
【図１０】
2014028586.tif 000012