(57)【要約】【課題】第１モータが過回転状態に陥ったときに、インバータの制御周期を通常よりも短くしてインバータの正常な残りのスイッチング素子を制御可能な状態に維持する。【解決手段】ハイブリッド車は、プラネタリギア、エンジン、第１モータ、インバータ、第１演算器、ローカルメモリ、共有メモリを備えている。エンジンと第１モータはプラネタリギアを介して連結されている。第１モータを駆動するインバータは、複数のスイッチング素子を使って直流電力を第１モータの駆動電力に変換する。第１演算器は、（１）第１モータの回転数が所定の閾値回転数を下回っている間は、共有メモリから読み出したデータに基づいてインバータを制御する。第１演算器は、（２）第１モータの回転数が閾値回転数を超えた場合、データを共有メモリからローカルメモリにコピーし、以後はローカルメモリから読み出したデータに基づいてインバータを制御する。【選択図】図３
2020189601.tif 000002
【特許請求の範囲】
【請求項１】
リングギアとサンギアとキャリアを備えているプラネタリギアと、
前記キャリアに係合しているエンジンと、
前記サンギアに係合している第１モータジェネレータと、
前記リングギアに係合している第２モータジェネレータと、
前記リングギアに係合している車軸と、
複数の電力変換用のスイッチング素子を備えており、前記第１モータジェネレータに接続されているインバータと、
前記第１モータジェネレータの回転数に応じて変化する制御周期で前記インバータを制御する第１演算器と、
所定の一定周期で所定のデータを更新する第２演算器と、
前記第１演算器から第１速度でアクセス可能なローカルメモリと、
前記第１演算器と前記第２演算器と共通の通信線で接続されており前記第１速度よりも低速の第２速度でアクセス可能な共有メモリと、
を備えており、
前記第２演算器は、更新した前記データを前記一定周期で前記共有メモリに書き込み、
前記第１演算器は、
（１）前記第１モータジェネレータの回転数が所定の閾値回転数を下回っている間は、前記共有メモリから読み出した前記データに基づいて前記インバータを制御し、
（２）前記第１モータジェネレータの回転数が前記閾値回転数を超えた場合、前記データを前記共有メモリから前記ローカルメモリにコピーし、以後は前記ローカルメモリから読み出した前記データに基づいて前記インバータを制御することを特徴とするハイブリッド車。
【請求項２】
前記データは前記インバータの出力目標値であり、
複数の前記スイッチング素子のいずれかで異常が生じた場合、前記第２モータで走行しながら、前記第１演算器は、
（１）前記第１モータジェネレータの回転数が前記閾値回転数を下回っている間は、前記共有メモリから読み出した前記出力目標値に基づいて、前記第１モータジェネレータが生成した電流が複数の前記スイッチング素子に分散して流れるように残りの前記スイッチング素子を制御し、
（２）前記第１モータジェネレータの回転数が前記閾値回転数を超えた場合、前記データを前記共有メモリから前記ローカルメモリにコピーし、以後は前記ローカルメモリから読み出した前記出力目標値に基づいて、前記第１モータジェネレータが生成した電流が複数の前記スイッチング素子に分散して流れるように残りの前記スイッチング素子を制御する、
請求項１に記載のハイブリッド車。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書が開示する技術は、ハイブリッド車に関する。特に、プラネタリギアと、エンジンと、第１／第２モータジェネレータを備えたハイブリッド車に関する。
【背景技術】
【０００２】
プラネタリギアとエンジンと第１／第２モータジェネレータを備えているハイブリッド車が特許文献１に開示されている。エンジンは、プラネタリギアのキャリアに係合している。第１モータジェネレータはプラネタリギアのサンギアに係合している。第２モータジェネレータは、プラネタリギアのリングギアに係合している。リングギアは車軸にも係合している。第１／第２モータジェネレータは、トルクを出力する電動機として機能するとともに、状況に応じて発電機としても機能するので「モータジェネレータ」と称される。しかし以下では、説明を簡単にするため、「モータジェネレータ」を単純に「モータ」と称する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３２９８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の構造のハイブリッド車では、第１モータは、プラネタリギアを介してエンジンあるいは第２モータの出力トルクの反力を受ける。第１モータは、反力を利用して発電する。第１モータはインバータに接続されており、発電する場合には、回転数を抑制する向きに第１モータがトルクを出力するようにインバータが制御される。インバータで何らかの不具合を生じると第１モータの回転数を制御できなくなり、回転数が大きく上昇するおそれがある。一方、インバータの制御周期は第１モータの回転数で規定される特定周期よりも短くなければならない。インバータで何らかの不具合が生じた場合、第１モータが回転数を抑制するようにインバータを制御することはできないが、インバータの特定のスイッチング素子に過大な負荷が加わらないように、第１モータで発生した電流を他の複数のスイッチング素子に分散させる制御を実施できることが望ましい。ところが第１モータが過回転状態に陥っていると、インバータの制御周期を上記特定周期よりも短くすることができなくなり、インバータを全く制御できなくなるおそれがある。本明細書は、第１モータが過回転状態に陥ったときに、インバータの制御周期を通常よりも短くしてインバータの正常な残りのスイッチング素子を制御可能な状態に維持する技術を提供する。
【課題を解決するための手段】
【０００５】
制御周期を決定する要因の一つに、メモリへのアクセス速度が挙げられる。特に、共有メモリへのアクセスには時間がかかる。本明細書が開示する技術は、第１モータが過回転状態となる異常事態には、他の制御器とのデータ共有はできなくなるが直前のデータを高速アクセスが可能なローカルメモリへコピーし、ローカルメモリを使うことで制御周期を高速化する。
【０００６】
本明細書が開示するハイブリッド車は、プラネタリギア、エンジン、第１／第２モータ（モータジェネレータ）、インバータ、第１／第２演算器、ローカルメモリ、共有メモリを備えている。プラネタリギアのキャリアはエンジンに係合している。プラネタリギアのサンギアは第１モータに係合している。プラネタリギアのリングギアは第２モータに係合している。リングギアは車軸にも係合している。インバータは第１モータに接続されている。インバータは電力変換用の複数のスイッチング素子を使って直流電力を第１モータの駆動電力に変換する。第１モータが発電するときには複数のスイッチング素子を使って交流の回線電力を直流電力に変換する。第１演算器は、第１モータの回転数に応じて変化する制御周期でインバータ（スイッチング素子）を制御する。第２演算器は、所定の一定周期で所定のデータを更新する。ローカルメモリは、第１演算器から第１速度でアクセス可能なメモリである。共有メモリは、第１演算器と第２演算器と共通の通信線で接続されており第１速度よりも低速の第２速度でアクセス可能なメモリである。
【０００７】
第２演算器は、更新したデータを上記した一定周期で共有メモリに書き込む。第１演算器は、（１）第１モータの回転数が所定の閾値回転数を下回っている間は、共有メモリから読み出したデータに基づいてインバータを制御する。第１演算器は、（２）第１モータの回転数が閾値回転数を超えた場合、データを共有メモリからローカルメモリにコピーし、以後はローカルメモリから読み出したデータに基づいてインバータを制御する。
【０００８】
インバータと第１モータが正常である間は、第１モータの回転数が閾値回転数を超えないように、インバータを制御することが可能である。一方、インバータに何らかの不具合が生じると、第１モータの回転数を抑えることができなくなり、閾値回転数を超える可能性がある。閾値回転数は、共有メモリへのアクセスを含む第１演算器の制御周波数（制御周期の逆数）の上限値よりもわずかに高い値に設定される。すなわち、第１モータの回転数が閾値回転数を大きく超えると第１演算器はインバータを全く制御できなくなる。そのような閾値回転数を超える異常事態では、第２演算器が更新する最新のデータを使えなくなっても、そのデータを高速アクセス可能なローカルメモリにコピーし、以後はそのデータを使って処理を実行することで、通常時よりも処理速度を高速化する。処理を高速化できるので、インバータを制御可能な回転数帯域（第１モータの回転数帯域）を拡張することができる。
【０００９】
上記データの典型は、インバータの出力目標値である。すなわち、第２演算器は、一定周期毎にインバータの出力目標値を更新して共有メモリに書き込む。また、第１モータが過回転に陥る事態は、インバータの複数のスイッチング素子のいずれかで異常が生じた場合であり、そのような場合には、ハイブリッド車は、第２モータで走行を継続するモータ走行モードに移行する。先に述べたように、第１モータは第２モータの反力を受けて回転し、発電する。発電で発生した電流が特定のスイッチング素子に集中するとそのスイッチング素子が高温となる。そこで、第１演算器は、（１）第１モータの回転数が閾値回転数を下回っている間は、共有メモリから読み出した出力目標値に基づいて、第１モータが生成した電流が複数のスイッチング素子に分散して流れるように残りのスイッチング素子を制御する。第１演算器は、（２）第１モータの回転数が閾値回転数を超えた場合、データを共有メモリからローカルメモリにコピーし、以後はローカルメモリから読み出した出力目標値に基づいて、第１モータが生成した電流が複数のスイッチング素子に分散して流れるように残りのスイッチング素子を制御する。「残りのスイッチング素子」とは、異常を生じたスイッチング素子以外のスイッチング素子を意味する。上記の処理により、残りのスイッチング素子に加わる負荷を分散させることができる。
【００１０】
本明細書が開示する技術の詳細とさらなる改良は以下の「発明を実施するための形態」にて説明する。
【図面の簡単な説明】
【００１１】
【図１】実施例のハイブリッド車のブロック図である。
【図２】アクセス先変更フラグのチェック処理のフローチャートである。
【図３】インバータ制御のフローチャートである。
【発明を実施するための形態】
【００１２】
図面を参照して実施例のハイブリッド車２を説明する。図１に、ハイブリッド車２の駆動系のブロック図を示す。実施例のハイブリッド車２は、走行用にエンジン９と２個のモータ（第１モータ７と第２モータ８）を備えている。先に述べたように、第１モータ７と第２モータ８は、駆動トルクを出力する場合と、逆駆動されて発電する場合がある。発電する場合は、車両を減速させる向きのトルク（制動トルク）を発生する。
【００１３】
エンジン９の出力軸と、第１、第２モータ７、８の出力軸は、動力分配機構２０に連結されている。動力分配機構２０の主要部品はプラネタリギア２１である。エンジン９の出力軸は、プラネタリギア２１のキャリア２３に係合している。第１モータ７の出力軸は、プラネタリギア２１のサンギア２２に係合している。第２モータ８の出力軸は、ギア２５を介してプラネタリギア２１のリングギア２４に係合している。リングギア２４は、ギア２６を介して車軸１０にも係合している。車軸１０は、デファレンシャルギア１１を介して車輪１２に連結している。
【００１４】
エンジン９あるいは第２モータ８の出力トルクで走行するとき、第１モータ７はプラネタリギア２１を介して反力を受ける。通常はその反力を利用して第１モータ７で発電する。発電で得た電力（回生電力）はバッテリ３の充電に使われる。ドライバがブレーキを踏んだときには車両の慣性エネルギを使って第２モータ８でも発電する。
【００１５】
第１モータ７（第２モータ８）は三相交流モータであり、第１インバータ５（第２インバータ６）で駆動される。第１モータ７は第１インバータ５の交流端に接続されており、第２モータ８は第２インバータ６の交流端に接続されている。第１インバータ５と第２インバータ６の直流端には電圧コンバータ４の高圧端が接続されている。電圧コンバータ４の低圧端にはバッテリ３が接続されている。電圧コンバータ４は、複数の電力変換用のスイッチング素子４ａによって、バッテリ３の電圧を昇圧してインバータ５、６に供給する昇圧機能と、インバータ５、６が出力する直流の回生電力を降圧してバッテリ３に供給する降圧機能を実現する。
【００１６】
第１インバータ５は複数のスイッチング素子５ａを備えており、直流端に印加された力流電力を交流に変換したり、交流端に印加された交流電力（第１モータ７が生成する回生電力）を直流に変換する。第２インバータ６も同様の機能を有している。図１では、電圧コンバータ４、第１インバータ５、第２インバータ６の回路構成の図示は省略しているが、それぞれが複数のスイッチング素子を有することを示すために、電圧コンバータ４にはスイッチング素子４ａが描いてあり、インバータ５、６にはそれぞれスイッチング素子５ａ、６ａが描いてある。
【００１７】
電圧コンバータ４と第１インバータ５（複数のスイッチング素子４ａと複数のスイッチング素子５ａ）は、第１制御器３０で制御される。第２インバータ６（複数のスイッチング素子６ａ）は、第２制御器４０で制御される。第１制御器３０と第２制御器４０は、通信線４１を介して上位制御器４２やエンジン制御器４３と接続されている。
【００１８】
上位制御器４２は、アクセル開度や車速、バッテリ３の残量などから、エンジン９、第１モータ７、第２モータ８のそれぞれの出力目標値を決定し、対応する制御器へ目標値を与える。第１制御器３０、第２制御器４０、エンジン制御器４３の各制御器は、与えられた目標値が実現するように、それぞれ、第１インバータ５（スイッチング素子５ａ）、第２インバータ６（スイッチング素子６ａ）、エンジン９を制御する。
【００１９】
第１制御器３０について説明する。第１制御器３０は、複数の演算器（第１演算器３１、第２演算器３２、第３演算器３３）が共通の通信線３７で接続されているマルチコアタイプの演算装置である。複数の演算器（第１演算器３１、第２演算器３２、第３演算器３３）は、共通の通信線３７で共有メモリ３８と接続されており、共有メモリ３８を介してデータを共有することができる。一方、第１演算器３１（第２演算器３２、第３演算器３３）は、独自のローカルメモリ３４（３５、３６）を備えており、他の演算器と共有する必要のないデータは、ローカルメモリ３４（３５、３６）に格納される。ローカルメモリ３４（３５、３６）へのアクセス速度は第１速度である。一方、共有メモリ３８へのアクセス速度は第１速度よりも遅い第２速度である。共有メモリよりもローカルメモリを活用することで、演算周期を短くすることができる。
【００２０】
第２演算器３２は、他の制御器との通信を担当する。第２演算器３２は、上位制御器４２から第１インバータ５の出力目標値と電圧コンバータ４の電圧比目標値を受信する。第２演算器３２は、受信したデータ（出力目標値と電圧比目標値）を共有メモリ３８へ格納する。第２演算器３２は、一定の制御周期で上記した処理を繰り返す。
【００２１】
第３演算器３３は、電圧コンバータ４（スイッチング素子４ａ）の制御を担当する。第３演算器３３は、共有メモリ３８から電圧比目標値を読み出し、その電圧比目標値が実現されるように電圧コンバータ４（スイッチング素子４ａ）を制御する。スイッチング素子４ａの駆動信号はＰＷＭ信号であり、第３演算器３３は、電圧比目標値に対応したデューティ比のＰＷＭ信号を生成し、スイッチング素子４ａへ供給する。第３演算器３３の制御周期は、ＰＷＭ信号を生成する際に用いるキャリア信号の周波数に依存して変化する。具体的には、キャリア周波数が高いほど、第３演算器３３は制御周期を早める。
【００２２】
第１演算器３１は、第１インバータ５（複数のスイッチング素子５ａ）の制御を担当する。第１演算器３１は、共有メモリ３８から出力目標値を読み出し、その出力目標値が実現されるように第１インバータ５（スイッチング素子５ａ）を制御する。具体的には、第１演算器３１は、出力目標値を第１モータ７の回転数目標値に変換し、その回転数目標値に対応する周波数の交流が出力されるように、スイッチング素子５ａの駆動信号（ＰＷＭ信号）のデューティ比を決定する。第１演算器３１は、決定したデューティ比のＰＷＭ信号を所定の周期で第１インバータ５のスイッチング素子５ａへ送る。
【００２３】
第１演算器３１の制御周期（演算周期）は、第１モータ７の回転数に規定される。すなわち、第１演算器３１の制御周期は、第１モータ７の回転数で規定される特定周期よりも短くなければならない。第１演算器３１の制御周期は、第１モータ７の回転数に依存して変化する。すなわち、第１演算器３１は、第１モータ７の回転数が高いほど早い周期で第１インバータ５（スイッチング素子５ａ）を制御する。
【００２４】
共有メモリ３８へのアクセスを含む第１演算器３１の制御周期の最短時間に対応する第１モータ７の回転数を閾値回転数と称する。すなわち、第１モータ７の回転数が閾値回転数を下回っている間は、第１演算器３１は第１インバータ５を制御することができる。通常は、第１モータ７の回転数が閾値回転数を超えないように、第１モータ７の制動トルクが制御される。しかし、第１インバータ５に何らかの不具合が生じた場合、第１インバータ５を適切に制御することができなくなり、第１モータ７の回転数が閾値回転数を超えてしまう事態が生じ得る。第１インバータ５の不具合とは、例えば、複数のスイッチング素子５ａのいずれかで生じた短絡故障（あるいは断線故障）などである。
【００２５】
第１インバータ５で不具合が生じた場合、出力を制限してでも走行を継続できることが望ましい。そこで、上位制御器４２は、第１インバータ５で不具合が生じた場合、第２モータ８のみで走行するモータ走行モードに移行する。モータ走行モードでは、エンジン９を停止するとともに、第２モータ８の出力上限値を通常時の値からさらに制限する。
【００２６】
第１インバータ５で不具合が生じた場合、第１インバータ５（すなわち、第１モータ７）を適切に制御することができなくとも、第１モータ７が生成する回生電力の電流が複数のスイッチング素子５ａのいずれかに集中することは避けられることが望ましい。そこで、複数のスイッチング素子５ａに電流が分散して流れるように、制御可能な残りのスイッチング素子を制御できるとよい。一方、高速走行中に第１インバータ５で不具合が生じた場合、充分な制動トルクが実現できなくなり、第１モータ７の回転数が閾値回転数を超えてしまう場合がある。第１モータ７の回転数が閾値回転数を超えてしまうと、通常の演算周期では間に合わず、第１インバータ５の残りのスイッチング素子も制御不能となる。そこで、第１演算器３１は、モータ走行モードのときに第１モータ７の回転数が閾値回転数を超えた場合は、共有メモリ３８へのアクセスを中止して演算速度を高速化する。なお、共有メモリ３８へのアクセスを中止するのに先立って、共有メモリ３８に格納されているデータ（出力目標値のデータ）は、第１演算器３１のローカルメモリ３４へコピーしておく。その後は、第１演算器３１は、ローカルメモリ３４のデータを使って第１インバータ５の複数のスイッチング素子のうち、制御可能なスイッチング素子を制御する。
【００２７】
上位制御器４２は、第１インバータ５で不具合発生が検知されると、モータ走行モードに移行する。上位制御器４２は、他の制御器（第１制御器３０、第２制御器４０、エンジン制御器４３）に、モータ走行モードへの移行を指令する。指令を受信したエンジン制御器４３は、エンジンを停止する。指令を受信した第２制御器４０は、出力上限値を通常時よりも低く設定し、アクセル開度に応じて第２モータ８を制御する。
【００２８】
モータ制御モードにおける第１制御器３０の第１演算器３１の処理を説明する。図２に、アクセス先のメモリを変更するフラグ（アクセス先変更フラグ）のチェック処理のフローチャートを示す。アクセス先変更フラグは、第１演算器３１のプログラム内で用いられる変数であり、ローカルメモリ３４にその領域が確保される。
【００２９】
モータ走行モードになると、第１演算器３１は、図２の処理を定期的に実行する。第１演算器３１は、第１モータ７の回転数をチェックする（ステップＳ２）。第１モータ７の回転数が閾値回転数を超えている場合（ステップＳ２：ＹＥＳ）、第１演算器３１は、アクセス先変更フラグに「ＯＮ」をセットする（ステップＳ３）。一方、第１モータ７の回転数が閾値回転数を下回っている場合（ステップＳ２：ＮＯ）、第１演算器３１は、アクセス先変更フラグに「ＯＦＦ」をセットする（ステップＳ４）。なお、図２のフローチャートでは、第１モータ７の回転数が閾値回転数に等しい場合はアクセス先変更フラグに「ＯＦＦ」をセットする。第１モータ７の回転数が閾値回転数に等しい場合はアクセス先変更フラグに「ＯＮ」をセットするようにしてもよい。
【００３０】
アクセス先変更フラグに「ＯＮ」あるいは「ＯＦＦ」をセットしたら、図２の処理を終了する。
【００３１】
第１演算器３１は、図２の処理に続けて図３のフローチャートの処理を実行する。図３は、モータ走行モードにおけるインバータ制御のフローチャートである。なお、図３は、第１演算器３１における処理を示しており、モータ走行モードでは、第２制御器４０は出力を制御しつつ第２インバータ６（第２モータ８）を駆動する。
【００３２】
第１演算器３１は、まず、アクセス先変更フラグを参照する（ステップＳ１２）。アクセス先変更フラグが「ＯＮ」でない場合（ステップＳ１２：ＮＯ）、第１演算器３１は、共有メモリのデータ（出力目標値）を読み出す（ステップＳ１３）。そして、第１演算器３１は、読み出した出力目標値に基づいて、第１モータ７が生成した電力の電流が残りのスイッチング素子５ａ（制御可能なスイッチング素子）に分散して流れるように、残りのスイッチング素子５ａを制御する（ステップＳ１４）。電流が複数のスイッチング素子に分散して流れるようにスイッチング素子５ａを制御することを図３では電流分散制御と称している。
【００３３】
アクセス先変更フラグが「ＯＮ」の場合（ステップＳ１２：ＹＥＳ）、第１演算器３１は、前回のアクセス先変更フラグが「ＯＦＦ」であれば（ステップＳ１５：ＹＥＳ）、共有メモリ３８のデータ（出力目標値のデータ）をローカルメモリ３４にコピーする（ステップＳ１６）。そして、第１演算器３１は、ローカルメモリ３４のデータ（出力目標値）を読み出す（ステップＳ１７）。そして、第１演算器３１は、読み出した出力目標値に基づいて、第１モータ７が生成した電力の電流が残りのスイッチング素子（制御可能なスイッチング素子）に分散するように、残りのスイッチング素子を制御する（ステップＳ１４）。
【００３４】
前回のアクセス先変更フラグが「ＯＮ」であれば（ステップＳ１５：ＮＯ）、第１演算器３１は、ステップＳ１６の処理をスキップし、ステップＳ１７へ移行する。
【００３５】
先に述べたように、第１演算器３１によるローカルメモリ３４へのアクセス速度は、共有メモリ３８へのアクセス速度よりも速い。従ってローカルメモリ３４を使った処理の周期は、共有メモリ３８を使った処理の周期よりも早くなる。共有メモリ３８のかわりにローカルメモリ３４を使うことで、第１モータ７の回転数が閾値回転数を超えている場合であっても第１演算器３１で第１インバータ５の残りのスイッチング素子５ａを制御できる可能性が広がる。
【００３６】
なお、ローカルメモリ３４にコピーしたデータ（出力目標値）は更新されず、第１演算器３１は不正確な出力目標値に基づいて第１インバータ５を制御することになる。第１インバータ５で異常が発生した事態では、第１インバータ５に流れる回生電流（第１モータ７が生成した電流）の分散が図れればよいので、出力目標値が不正確であってもよい。
【００３７】
実施例で説明した技術に関する留意点を述べる。第１インバータ５が、第１制御器３０が制御するインバータに相当する。
【００３８】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００３９】
２：ハイブリッド車    ３：バッテリ    ４：電圧コンバータ    ４ａ、５ａ、６ａ：スイッチング素子    ５、６：インバータ    ７、８：モータ（モータジェネレータ）    ９：エンジン    ２０：動力分配機構    ２１：プラネタリギア    ２２：サンギア    ２３：キャリア    ２４：リングギア    ２５、２６：ギア    ３０：第１制御器    ３１：第１演算器    ３２：第２演算器    ３３：第３演算器    ３４：ローカルメモリ    ３７：通信線    ３８：共有メモリ    ４０：第２制御器    ４１：通信線    ４２：上位制御器    ４３：エンジン制御器
【図１】
2020189601.tif 000003
【図２】
2020189601.tif 000004
【図３】
2020189601.tif 000005