(57)【特許請求の範囲】
【請求項１】
車軸に連結された三相モータと、
前記三相モータを駆動するインバータと、
前記三相モータのトルク指令に基づいてｄ軸電流指令およびｑ軸電流指令を設定し、前記三相モータの回転位置に基づいて前記三相モータの各相電流をｄ軸電流およびｑ軸電流に変換し、前記ｄ軸電流指令と前記ｄ軸電流と前記ｑ軸電流指令と前記ｑ軸電流とに基づいてｄ軸電圧指令およびｑ軸電圧指令を設定し、前記三相モータの回転位置に基づいて前記ｄ軸電圧指令および前記ｑ軸電圧指令を前記三相モータの各相電圧指令に変換し、前記各相電圧指令に基づいて前記インバータを制御するインバータ制御手段と、
前記三相モータの回転位置を検出する回転位置センサと、
前記回転位置センサのオフセット量を学習するオフセット学習手段と、
前記回転位置センサによって検出された回転位置を前記オフセット学習手段によって学習されたオフセット量に基づいて補正する回転位置補正手段と、
を備える自動車であって、
前記オフセット学習手段は、前記三相モータが回転している状態で、前記ｄ軸電流指令および前記ｑ軸電流指令を値０とし、値０とした前記ｄ軸電流指令および前記ｑ軸電流指令に基づく前記ｄ軸電圧指令が値０となるように前記回転位置のオフセット量を学習するオフセット学習を実行する手段であり、
更に、前記オフセット学習手段は、前記ｄ軸電流指令および前記ｑ軸電流指令を値０として前記ｄ軸電圧指令が値０を含む所定電圧範囲内になるときの前記回転位置のオフセット量を、前記オフセット学習の実行中の前記三相モータの回転数の減少量が大きいときには小さいときに比して前記三相モータの回転方向に対して遅れるように補正する手段である、
自動車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車に関し、詳しくは、三相モータとインバータとを備える自動車に関する。
【背景技術】
【０００２】
従来、ｄ軸電流およびｑ軸電流に基づいて三相モータを駆動制御するものにおいて、三相モータの回転子に取り付けられた回転位置センサのオフセット量を学習するものが提案されている（例えば、特許文献１参照）。三相モータの駆動制御は、以下のように行なわれる。まず、三相モータのトルク指令に基づいてｄ軸電流指令およびｑ軸電流指令を設定する。続いて、三相モータの各相に流れる各相電流を電流センサによって検出し、回転位置センサからの三相モータの回転位置に基づいて各相電流をｄ軸電流およびｑ軸電流に変換（三相二相変換）する。そして、ｄ軸電流指令とｄ軸電流とｑ軸電流指令とｑ軸電流とに基づいてｄ軸電圧指令およびｑ軸電圧指令を設定し、回転位置センサからの三相モータの回転位置に基づいてｄ軸電圧指令およびｑ軸電圧指令を各相電圧指令に変換（二相三相変換）する。そして、各相電圧指令に基づいてＰＷＭ信号を生成してインバータをスイッチング制御することによって三相モータを駆動制御する。ここで、回転位置センサによって検出される回転位置にオフセット誤差が含まれていると、三相二相変換や二相三相変換が適正に行なわれず、三相モータからトルク指令に応じたトルクを出力できなくなる。このため、回転位置センサによって検出された回転位置にオフセット補正を施すためのオフセット量を学習するオフセット学習を実行している。三相モータの回転中にｄ軸電流指令およびｑ軸電流指令を値０とすると、回転位置センサにオフセット誤差が含まれていない場合、ｄ軸電圧指令も値０となる。しかし、回転位置センサにオフセット誤差が含まれている場合、三相モータの回転中にｄ軸電流指令およびｑ軸電流指令を値０としても、ｄ軸電圧指令が値０とならない。このため、ｄ軸電流指令およびｑ軸電流指令を値０としたときにｄ軸電圧指令が値０となるように回転位置のオフセット量を調整することにより、オフセット学習を実行している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３３９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の手法では、回転位置センサのオフセット学習の実行中に三相モータの回転数が変化すると、回転位置センサによって検出される回転位置のオフセット量が適正値にならない可能性がある。
【０００５】
本発明の自動車は、回転位置センサのオフセット学習をより適切に行なうことを主目的とする。
【課題を解決するための手段】
【０００６】
本発明の自動車は、上述の主目的を達成するために以下の手段を採った。
【０００７】
本発明の自動車は、
車軸に連結された三相モータと、
前記三相モータを駆動するインバータと、
前記三相モータのトルク指令に基づいてｄ軸電流指令およびｑ軸電流指令を設定し、前記三相モータの回転位置に基づいて前記三相モータの各相電流をｄ軸電流およびｑ軸電流に変換し、前記ｄ軸電流指令と前記ｄ軸電流と前記ｑ軸電流指令と前記ｑ軸電流とに基づいてｄ軸電圧指令およびｑ軸電圧指令を設定し、前記三相モータの回転位置に基づいて前記ｄ軸電圧指令および前記ｑ軸電圧指令を前記三相モータの各相電圧指令に変換し、前記各相電圧指令に基づいて前記インバータを制御するインバータ制御手段と、
前記三相モータの回転位置を検出する回転位置センサと、
前記回転位置センサのオフセット量を学習するオフセット学習手段と、
前記回転位置センサによって検出された回転位置を前記オフセット学習手段によって学習されたオフセット量に基づいて補正する回転位置補正手段と、
を備える自動車であって、
前記オフセット学習手段は、前記三相モータが回転している状態で、前記ｄ軸電流指令および前記ｑ軸電流指令を値０とし、値０とした前記ｄ軸電流指令および前記ｑ軸電流指令に基づく前記ｄ軸電圧指令が値０となるように前記回転位置のオフセット量を学習するオフセット学習を実行する手段であり、
更に、前記オフセット学習手段は、前記ｄ軸電流指令および前記ｑ軸電流指令を値０として前記ｄ軸電圧指令が値０を含む所定電圧範囲内になるときの前記回転位置のオフセット量を、前記オフセット学習の実行中の前記三相モータの回転数の減少量が大きいときには小さいときに比して前記三相モータの回転方向に対して遅れるように補正する手段である、
自動車。
【０００８】
この本発明の自動車では、三相モータが回転している状態で、ｄ軸電流指令およびｑ軸電流指令を値０とし、値０としたｄ軸電流指令およびｑ軸電流指令に基づくｄ軸電圧指令が値０となるように回転位置のオフセット量を学習するオフセット学習を実行する。この際において、ｄ軸電流指令およびｑ軸電流指令を値０としてｄ軸電圧指令が値０を含む所定電圧範囲内になるときの回転位置のオフセット量を、オフセット学習の実行中の三相モータの回転数の減少量が大きいときには小さいときに比して三相モータの回転方向に対して遅れるように補正する。これにより、回転位置のオフセット量をより適正値とすることができる。この結果、回転位置センサのオフセット学習をより適切に行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例としてのハイブリッド自動車２０の構成の概略を示す構成図である。
【図２】モータＭＧ１，ＭＧ２を含む電気駆動系の構成の概略を示す構成図である。
【図３】モータＭＧ２を駆動制御するための制御ブロック図である。
【図４】回転位置センサ４４にオフセット誤差が含まれていない場合と含まれている場合とのｄ軸電圧Ｖｄおよびｑ軸電圧Ｖｑを示す説明図である。
【図５】モータＥＣＵ４０によって実行されるオフセット学習制御ルーチンの一例を示すフローチャートである。
【図６】補正値設定用マップの一例を示す説明図である。
【発明を実施するための形態】
【００１０】
次に、本発明を実施するための形態を実施例を用いて説明する。
【実施例】
【００１１】
図１は、本発明の一実施例としてのハイブリッド自動車２０の構成の概略を示す構成図である。図２は、モータＭＧ１，ＭＧ２を含む電気駆動系の構成の概略を示す構成図である。
【００１２】
実施例のハイブリッド自動車２０は、図示するように、エンジン２２と、プラネタリギヤ３０と、モータＭＧ１，ＭＧ２と、インバータ４１，４２と、変速機６０と、バッテリ５０と、ハイブリッド用電子制御ユニット（以下、「ＨＶＥＣＵ」という）７０と、を備える。
【００１３】
エンジン２２は、ガソリンや軽油などを燃料として動力を出力する内燃機関として構成されている。このエンジン２２は、エンジン用電子制御ユニット（以下、「エンジンＥＣＵ」という）２４によって運転制御されている。
【００１４】
エンジンＥＣＵ２４は、図示しないが、ＣＰＵを中心とするマイクロプロセッサとして構成されており、ＣＰＵの他に、処理プログラムを記憶するＲＯＭ，データを一時的に記憶するＲＡＭ，入出力ポート，通信ポートを備える。エンジンＥＣＵ２４には、エンジン２２を運転制御するのに必要な各種センサからの信号、例えば、クランクポジションセンサ２３からのクランク角θｃｒなどが入力ポートを介して入力されている。エンジンＥＣＵ２４からは、エンジン２２を運転制御するための各種制御信号が出力ポートを介して出力されている。エンジンＥＣＵ２４は、ＨＶＥＣＵ７０と通信ポートを介して接続されている。エンジンＥＣＵ２４は、クランクポジションセンサ２３からのクランク角θｃｒに基づいてエンジン２２の回転数Ｎｅを演算している。
【００１５】
プラネタリギヤ３０は、シングルピニオン式の遊星歯車機構として構成されている。プラネタリギヤ３０のサンギヤには、モータＭＧ１の回転子が接続されている。プラネタリギヤ３０のリングギヤには、変速機６０の入力軸６１が接続されている。プラネタリギヤ３０のキャリヤには、ダンパ２８を介してエンジン２２のクランクシャフト２６が接続されている。
【００１６】
モータＭＧ１は、永久磁石が埋め込まれた回転子と、三相コイルが巻回された固定子と、を有する同期発電電動機として構成されている。このモータＭＧ１は、上述したように、回転子がプラネタリギヤ３０のサンギヤに接続されている。モータＭＧ２は、モータＭＧ１と同様の同期発電電動機として構成されている。このモータＭＧ２は、回転子が変速機６０の入力軸６１に接続されている。
【００１７】
インバータ４１は、電力ライン５４に接続されている。このインバータ４１は、図２に示すように、６つのスイッチング素子としてのトランジスタＴ１１〜Ｔ１６と、６つのダイオードＤ１１〜Ｄ１６と、を備える。トランジスタＴ１１〜Ｔ１６は、それぞれ、電力ライン５４の正極ラインと負極ラインとに対してソース側とシンク側になるように２個ずつペアで配置されている。６つのダイオードＤ１１〜Ｄ１６は、それぞれ、トランジスタＴ１１〜Ｔ１６に逆方向に並列接続されている。トランジスタＴ１１〜Ｔ１６の対となるトランジスタ同士の接続点の各々には、モータＭＧ１の三相コイル（Ｕ相，Ｖ相，Ｗ相）の各々が接続されている。したがって、インバータ４１に電圧が作用しているときに、モータ用電子制御ユニット（以下、「モータＥＣＵ」という）４０によって、対となるトランジスタＴ１１〜Ｔ１６のオン時間の割合が調節されることにより、三相コイルに回転磁界が形成され、モータＭＧ１が回転駆動される。
【００１８】
インバータ４２は、インバータ４１と同様に、６つのトランジスタＴ２１〜Ｔ２６と、６つのダイオードＤ２１〜Ｄ２６と、を備える。そして、インバータ４２に電圧が作用しているときに、モータＥＣＵ４０によって、対となるトランジスタＴ２１〜Ｔ２６のオン時間の割合が調節されることにより、三相コイルに回転磁界が形成され、モータＭＧ２が回転駆動される。
【００１９】
モータＥＣＵ４０は、ＣＰＵ４０ａを中心とするマイクロプロセッサとして構成されており、ＣＰＵ４０ａの他に、処理プログラムを記憶するＲＯＭ４０ｂ，データを一時的に記憶するＲＡＭ４０ｃ，フラッシュメモリ４０ｄ，入出力ポート，通信ポートを備える。モータＥＣＵ４０には、モータＭＧ１，ＭＧ２を駆動制御するのに必要な各種センサからの信号、例えば、モータＭＧ１，ＭＧ２の回転子の回転位置を検出する回転位置センサ４３，４４からの回転位置θｍ１，θｍ２や、モータＭＧ１，ＭＧ２の各相（Ｖ相，Ｗ相）に流れる電流を検出する電流センサ４５ｖ，４５ｗ，４６ｖ，４６ｗからの相電流Ｉｖ１，Ｉｗ１，Ｉｖ２，Ｉｗ２などが入力ポートを介して入力されている。モータＥＣＵ４０からは、インバータ４１，４２のトランジスタＴ１１〜Ｔ１６，Ｔ２１〜Ｔ２６へのスイッチング制御信号などが出力ポートを介して出力されている。モータＥＣＵ４０は、ＨＶＥＣＵ７０と通信ポートを介して接続されている。モータＥＣＵ４０は、回転位置センサ４３，４４からのモータＭＧ１，ＭＧ２の回転子の回転位置θｍ１，θｍ２に基づいてモータＭＧ１，ＭＧ２の角速度ωｍ１，ωｍ２や回転数Ｎｍ１，Ｎｍ２を演算している。
【００２０】
変速機６０は、４段変速機として構成されており、プラネタリギヤ３０のリングギヤおよびモータＭＧ２の回転子（回転軸）に接続された入力軸６１と、駆動輪３８ａ，３８ｂにデファレンシャルギヤ３７を介して連結された駆動軸３６に接続された出力軸６２と、複数の遊星歯車機構と、油圧駆動の複数の係合要素と、を備える。
【００２１】
バッテリ５０は、例えばリチウムイオン二次電池やニッケル水素二次電池として構成されており、電力ライン５４を介してインバータ４１，４２と接続されている。このバッテリ５０は、バッテリ用電子制御ユニット（以下、「バッテリＥＣＵ」という）５２によって管理されている。
【００２２】
バッテリＥＣＵ５２は、図示しないが、ＣＰＵを中心とするマイクロプロセッサとして構成されており、ＣＰＵの他に、処理プログラムを記憶するＲＯＭ，データを一時的に記憶するＲＡＭ，入出力ポート，通信ポートを備える。バッテリＥＣＵ５２には、バッテリ５０を管理するのに必要な各種センサからの信号、例えば、バッテリ５０の端子間に取り付けられた電圧センサ５１ａからの電圧Ｖｂや、バッテリ５０の出力端子に取り付けられた電流センサ５１ｂからの電流Ｉｂなどが入力ポートを介して入力されている。バッテリＥＣＵ５２は、ＨＶＥＣＵ７０と通信ポートを介して接続されている。バッテリＥＣＵ５２は、電流センサ５１ｂからのバッテリ５０の電流Ｉｂの積算値に基づいて蓄電割合ＳＯＣを演算している。蓄電割合ＳＯＣは、バッテリ５０の全容量に対するバッテリ５０から放電可能な電力の容量の割合である。
【００２３】
ＨＶＥＣＵ７０は、図示しないが、ＣＰＵを中心とするマイクロプロセッサとして構成されており、ＣＰＵの他に、処理プログラムを記憶するＲＯＭ，データを一時的に記憶するＲＡＭ，入出力ポート，通信ポートを備える。ＨＶＥＣＵ７０には、各種センサからの信号が入力ポートを介して入力されている。ＨＶＥＣＵ７０に入力される信号としては、例えば、駆動軸３６（変速機６０の出力軸６２）に取り付けられた回転数センサ６９からの駆動軸３６の回転数Ｎｐ，イグニッションスイッチ８０からのイグニッション信号，シフトポジションセンサ８２からのシフトポジションＳＰなどを挙げることができる。また、アクセルペダルポジションセンサ８４からのアクセル開度Ａｃｃ，ブレーキペダルポジションセンサ８６からのブレーキペダルポジションＢＰ，車速センサ８８からの車速Ｖなども挙げることができる。ＨＶＥＣＵ７０からは、変速機６０への制御信号などが出力ポートを介して出力されている。ＨＶＥＣＵ７０は、上述したように、エンジンＥＣＵ２４，モータＥＣＵ４０，バッテリＥＣＵ５２と通信ポートを介して接続されている。
【００２４】
こうして構成された実施例のハイブリッド自動車２０では、ハイブリッド走行（ＨＶ走行）モードや電動走行（ＥＶ走行）モードで走行するようにエンジン２２およびモータＭＧ１，ＭＧ２（以下、「ハイブリッド部」という）と変速機６０とを制御する。ここで、ＨＶ走行モードは、エンジン２２の運転を伴って走行するモードであり、ＥＶ走行モードは、エンジン２２の運転を伴わずに走行するモードである。以下、変速機６０の制御，ＥＶ走行モードでのハイブリッド部の制御，ＨＶ走行モードでのハイブリッド部の制御について説明する。
【００２５】
変速機６０の制御について説明する。ＨＶＥＣＵ７０は、まず、アクセル開度Ａｃｃと車速Ｖとに基づいて変速機６０の目標変速段Ｇｓ＊を設定し、変速機６０の変速段Ｇｓが目標変速段Ｇｓ＊となるように変速機６０を制御する。即ち、変速機６０の現在の変速段Ｇｓが目標変速段Ｇｓ＊と一致するときには、現在の変速段Ｇｓを保持し、現在の変速段Ｇｓが目標変速段Ｇｓ＊よりも低車速側の変速段（低速段）のときには、アップシフトし、現在の変速段Ｇｓが目標変速段Ｇｓ＊よりも高車速側の変速段（高速段）のときには、ダウンシフトする。
【００２６】
ＥＶ走行モードでのハイブリッド部の制御について説明する。ＨＶＥＣＵ７０は、まず、アクセル開度Ａｃｃと車速Ｖとに基づいて駆動軸３６の要求トルクＴｏｕｔ＊を設定する。続いて、モータＭＧ２の回転数Ｎｍ２（変速機６０の入力軸６１の回転数）を駆動軸３６の回転数Ｎｏｕｔで除して変速機６０のギヤ比Ｇｒを計算し、駆動軸３６の要求トルクＴｏｕｔ＊を変速機６０のギヤ比Ｇｒで除して変速機６０の入力軸６１に要求される要求トルクＴｉｎ＊を計算する。そして、モータＭＧ１のトルク指令Ｔｍ１＊に値０を設定すると共に変速機６０の入力軸６１の要求トルクＴｉｎ＊をモータＭＧ２のトルク指令Ｔｍ２＊に設定し、設定したモータＭＧ１，ＭＧ２のトルク指令Ｔｍ１＊，Ｔｍ２＊をモータＥＣＵ４０に送信する。モータＥＣＵ４０は、モータＭＧ１，ＭＧ２がトルク指令Ｔｍ１＊，Ｔｍ２＊で駆動されるようにインバータ４１，４２のトランジスタＴ１１〜Ｔ１６，Ｔ２１〜Ｔ２６のスイッチング制御を行なう。
【００２７】
ＨＶ走行モードでのハイブリッド部の制御について説明する。ＨＶＥＣＵ７０は、まず、上述したのと同様に、駆動軸３６（変速機６０の出力軸６２）の要求トルクＴｏｕｔ＊，変速機６０のギヤ比Ｇｒ，変速機６０の入力軸６１の要求トルクＴｉｎ＊を設定する。続いて、変速機６０の入力軸６１の要求トルクＴｉｎ＊にモータＭＧ２の回転数Ｎｍ２（変速機６０の入力軸６１の回転数）を乗じて変速機６０の入力軸６１に入力される要求パワーＰｉｎ＊を計算し、計算した要求パワーＰｉｎ＊からバッテリ５０の充放電要求パワーＰｂ＊（バッテリ５０から放電するときが正の値）を減じてエンジン２２に要求される要求パワーＰｅ＊を計算する。そして、要求パワーＰｅ＊とエンジン２２の動作ライン（例えば燃費動作ライン）とを用いてエンジン２２の目標回転数Ｎｅ＊および目標トルクＴｅ＊を設定する。続いて、エンジン２２の回転数Ｎｅが目標回転数Ｎｅ＊となるようにするための回転数フィードバック制御によってモータＭＧ１のトルク指令Ｔｍ１＊を設定する。そして、モータＭＧ１をトルク指令Ｔｍ１＊で駆動したときにモータＭＧ１から出力されてプラネタリギヤ３０を介して駆動軸３６に作用するトルクを、変速機６０の入力軸６１の要求トルクＴｉｎ＊から減じて、モータＭＧ２のトルク指令Ｔｍ２＊を計算する。そして、エンジン２２の目標回転数Ｎｅ＊および目標トルクＴｅ＊をエンジンＥＣＵ２４に送信すると共にモータＭＧ１，ＭＧ２のトルク指令Ｔｍ１＊，Ｔｍ２＊をモータＥＣＵ４０に送信する。エンジンＥＣＵ２４は、エンジン２２が目標回転数Ｎｅ＊および目標トルクＴｅ＊に基づいて運転されるようにエンジン２２の吸入空気量制御や燃料噴射制御，点火制御などを行なう。モータＥＣＵ４０は、モータＭＧ１，ＭＧ２がトルク指令Ｔｍ１＊，Ｔｍ２＊で駆動されるようにインバータ４１，４２のトランジスタＴ１１〜Ｔ１６，Ｔ２１〜Ｔ２６のスイッチング制御を行なう。
【００２８】
次に、モータＭＧ２の駆動制御（インバータ４２のトランジスタＴ２１〜Ｔ２６）について説明する。モータＭＧ２の駆動制御は、モータＥＣＵ４０に含まれる図３の制御ブロックによって行なわれる。図３に示すように、モータＭＧ２の駆動制御は、まず、トルク指令Ｔｍ２＊に基づいて電流指令生成器９１によってｄｑ軸座標系におけるｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊を生成する。電流指令生成器９１は、トルク指令Ｔｍ２＊とｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊との関係を予め定めた電流指令テーブルにトルク指令Ｔｍ２＊を適用してｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊を生成する。続いて、モータＭＧ２のＵ相，Ｖ相，Ｗ相に流れる電流の総和が値０であるとして、モータＭＧ２の制御用回転位置θｃ２を用いて座標変換器９６によって電流センサ４６ｖ，４６ｗからのＶ相電流Ｉｖ２およびＷ相電流Ｉｗ２をｄ軸電流Ｉｄ２およびｑ軸電流Ｉｑ２に変換（三相二相変換）する。モータＭＧ２の制御用回転位置θｃ２は、回転位置センサ４４によって検出される回転位置θｍ２と後述するオフセット学習制御部９７によって出力されるオフセット量Δθｏｓ２との和として加算器９８によって演算されたものが用いられる。続いて、ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊と電流フィードバックのためのｄ軸電流Ｉｄ２およびｑ軸電流Ｉｑ２との差分ΔＩｄ２，ΔＩｑ２を減算器９２ｄ，９２ｑによって演算する。そして、演算した差分ΔＩｄ２，ΔＩｑ２に基づいて電圧指令変換器９３ｄ，９３ｑによってｄ軸電圧指令Ｖｄ２＊およびｑ軸電圧指令Ｖｑ２＊を生成する。ここで、ｄ軸電圧指令Ｖｄ２＊およびｑ軸電圧指令Ｖｑ２＊は、差分ΔＩｄ２，ΔＩｑ２に基づくフィードバック項と、各軸相互に干渉する項をキャンセルするためのフィードフォワード項（後述する式（１）、（２）の右辺第２項）との和として演算される。ｄ軸電圧指令Ｖｄ２＊およびｑ軸電圧指令Ｖｑ２＊を生成すると、上述のモータＭＧ２の制御用回転位置θｃ２を用いて座標変換器９４によってｄ軸電圧指令Ｖｄ２＊およびｑ軸電圧指令Ｖｑ２＊を各相電圧指令Ｖｕ２＊，Ｖｖ２＊，Ｖｗ２＊に変換（二相三相変換）する。そして、各相電圧指令Ｖｕ２＊，Ｖｖ２＊，Ｖｗ２＊に基づいてＰＷＭ変換器９５によってパルス幅変調信号（ＰＷＭ信号）を生成し、生成したＰＷＭ信号に基づいてインバータ４２のトランジスタＴ２１〜Ｔ２６をスイッチングすることによって直流電力を三相交流電力としてモータＭＧ２に印加する。なお、モータＭＧ１についても、図３と同様の制御ブロックを用いて駆動制御することができる。
【００２９】
いま、座標変換（三相二相変換，二相三相変換）で用いるモータＭＧ２の制御用回転位置θｃ２として、回転位置センサ４４によって検出される回転位置θｍ２をそのまま用いる場合を考える。永久磁石によって発生する磁束の方向をｄ軸とし、ｄ軸と直交する軸をｑ軸とすると、モータＭＧ２の電圧方程式を次式（１），（２）によって示すことができる。式（１），（２）中、「Ｖｄ２」、「Ｖｑ２」はｄ軸電圧，ｑ軸電圧を示し、「Ｒ２」は一相当たりの抵抗値を示し、「Ｉｄ２」，「Ｉｑ２」はｄ軸電流，ｑ軸電流を示し、「ωｍ２」は回転子の角速度を示し、「φｄ２」，「φｑ２」はｄ軸磁束，ｑ軸磁束を示す。
【００３０】
Vd2=R2・Id2-ωm2・φq2            (1)
Vq2=R2・Iq2+ωm2・φd2            (2)
【００３１】
回転位置センサ４４によって検出されるモータＭＧ２の回転位置θｍ２と実際の回転位置との間に位相差Δθ（オフセット誤差）がない場合、永久磁石が発生させる磁束φ２の方向とｄ軸とが一致する（図４（ａ）参照）。このため、ｄ軸磁束φｄ２，ｑ軸磁束φｑ２は、次式（３），（４）によって示すことができる。式（３），（４）中、「Ｌｄ２」，「Ｌｑ２」はｄ軸インダクタンス，ｑ軸インダクタンスを示す。
【００３２】
φd2=Ld2・Id2+φ2    (3)
φq2=Lq2・Iq2         (4)
【００３３】
このとき、ｄ軸電流Ｉｄ２およびｑ軸電流Ｉｑ２を値０とすると、式（３），式（４）から、ｄ軸磁束φｄ２は値φ２となり、ｑ軸磁束φｑは値０となる。そして、これらを式（１），（２）にそれぞれ代入すると、ｄ軸電圧Ｖｄ２，ｑ軸電圧Ｖｑ２はそれぞれ次式（５），（６）によって示され、ｄ軸電圧Ｖｄ２が値０となる。
【００３４】
Vd2=0               (5)
Vq2=ωm2・φ2         (6)
【００３５】
一方、回転位置センサ４４によって検出されるモータＭＧ２の回転位置θｍ２と実際の回転位置との間に位相差Δθ（オフセット誤差）がある場合、永久磁石が発生させる磁束φ２の方向とｄ軸との間で位相差Δθのズレが生じる（図４（ｂ）参照）。このため、ｄ軸電流Ｉｄ２およびｑ軸電流Ｉｑ２を値０とすると、ｄ軸電圧Ｖｄ２，ｑ軸電圧Ｖｑ２は次式（７），式（８）によって示され、モータＭＧ２が回転していると（角速度ωｍ２が値０でない場合）、ｄ軸電圧Ｖｄ２が値０とならない。
【００３６】
Vd2=ωm2・φ2・sinΔθ    (7)
Vq2=ωm2・φ2・cosΔθ    (8)
【００３７】
このように、回転位置センサ４４によって検出される回転位置θｍ２にオフセット誤差がない場合には、ｄ軸電流Ｉｄ２およびｑ軸電流Ｉｑ２を値０としたときに、ｄ軸電圧Ｖｄ２が値０となる。一方、回転位置センサ４４によって検出される回転位置θｍ２にオフセット誤差がある場合には、ｄ軸電流Ｉｄ２およびｑ軸電流Ｉｑ２を値０としても、モータＭＧ２が回転していると、ｄ軸電圧Ｖｄ２が値０とならない。上述したように、回転位置センサ４４によって検出される回転位置θｍ２は、座標変換器９４，９６による座標変換（二相三相変換，三相二相変換）に用いられる。このため、回転位置θｍ２にオフセット誤差がある場合に当該オフセット誤差を打ち消すためのオフセット補正を行なわないと、座標変換を適切に行なうことができず、モータＭＧ２からトルク指令Ｔｍ２＊に見合うトルクを出力することができなくなる。実施例では、モータＭＧ２の回転中にｄ軸電流Ｉｄ２およびｑ軸電流Ｉｑ２を値０とし、この状態でｄ軸電圧Ｖｄ２が値０となるように回転位置センサ４４によって検出される回転位置θｍ２をオフセットし、ｄ軸電圧Ｖｄ２が値０となったときの回転位置θｍのオフセット量Δθｏｓ２を学習値（オフセット誤差）としての後述の学習オフセット量Δθｌｖ２とするオフセット学習を実行する。オフセット学習が実行されると、回転位置センサ４４によって検出される回転位置θｍ２は、加算器９８によって、オフセット量Δθｏｓ２だけオフセットされて、制御用回転位置θｃ２として座標変換器９４，９６にそれぞれ出力される。
【００３８】
次に、こうして構成された実施例のハイブリッド自動車２０の動作について説明する。特に、回転位置センサ４４のオフセット学習を実行する際の動作と、変速機６０の動作と、について説明する。図５は、モータＥＣＵ４０のオフセット学習制御部９７によって実行されるオフセット学習制御ルーチンの一例を示すフローチャートである。
【００３９】
図５のオフセット学習制御ルーチンについて説明する。このルーチンは、所定時間毎（例えば、数ｍｓｅｃ毎）に繰り返し実行される。オフセット学習制御ルーチンが実行されると、モータＥＣＵ４０のオフセット学習制御部９７は、まず、フラッシュメモリ４０ｄにオフセット学習履歴が記憶されているか否かを判定する（ステップＳ１００）。そして、オフセット学習履歴が記憶されていると判定されたときには、フラッシュメモリ４０ｄに記憶されている学習オフセット量Δθｌｖ２をオフセット量Δθｏｓ２に設定する（ステップＳ１１０）。一方、オフセット学習履歴が記憶されていないと判定されたときには、初期オフセット量Δθｉｎｉ２をオフセット量Δθｏｓ２に設定する（ステップＳ１２０）。
【００４０】
ここで、初期オフセット量Δθｉｎｉ２は、工場出荷時や部品交換時に行なわれるオフセット学習による学習値である。なお、部品交換時には、車両を整備モードとして、作業者が所定の手順に従って作業を進めることにより、オフセット学習が実行されるようになっている。これにより、フラッシュメモリ４０ｄに記憶されているオフセット学習履歴がリセットされると共に、新たな学習値が初期オフセット量Δθｉｎｉ２としてフラッシュメモリ４０ｄに記憶される。ただし、作業者のミス等によってオフセット学習が実行されないと、部品交換後に、初期オフセット量Δθｉｎｉ２に適正値が記憶されていない場合が生じる。このことを考慮して、実施例では、所定の頻度でオフセット学習を実行することにより、より適切な学習オフセット量Δθｌｖ２をフラッシュメモリ４０ｄに記憶するものとした。
【００４１】
次に、ＨＶＥＣＵ７０からオフセット学習指令を受信したか否かを判定する（ステップＳ１３０）。ＨＶＥＣＵ７０は、シフトポジションＳＰが前進走行用ポジション（Ｄポジション）で現在のトリップでオフセット学習が未完了で且つオフセット学習の実行中でもなく且つモータＭＧ２が回転していて且つアクセルオフされたまたはモータＭＧ２のトルク指令Ｔｍ２＊が値０付近になった学習条件が成立したときに、オフセット学習指令をモータＥＣＵ４０に送信する。
【００４２】
ステップＳ１３０で、ＨＶＥＣＵ７０からオフセット学習指令を受信していないと判定されたときには、ステップＳ１１０またはステップＳ１２０で設定したオフセット量Δθｏｓ２を加算器９８に出力して（ステップＳ１４０）、オフセット学習制御ルーチンを終了する。
【００４３】
ステップＳ１３０で、ＨＶＥＣＵ７０からオフセット学習指令を受信したと判定されたときには、モータＭＧ２の回転数Ｎｍ２を入力して回転数Ｎｍ２ａとして設定し（ステップＳ１５０）、ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊にそれぞれ値０を設定する（ステップＳ１６０）。そして、設定したｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊を電流指令生成器９１に出力すると共に、ステップＳ１１０またはステップＳ１２０で設定したオフセット量Δθｏｓ２を加算器９８に出力する（ステップＳ１７０）。
【００４４】
電流指令生成器９１は、値０のｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊を入力すると、値０のｄ軸電流指令Ｉｄ２＊，値０のｑ軸電流指令Ｉｑ２＊を減算器９２ｄ，９２ｑに出力する。また、加算器９８は、オフセット量Δθｏｓ２を入力すると、回転位置センサ４４によって検出された回転位置θｍ２を入力し、回転位置θｍ２にオフセット量Δθｏｓ２を加算したものを制御用回転位置θｃ２として座標変換器９４，９６に出力する。減算器９２ｄ，９２ｑは、電流指令生成器９１からｄ軸電流指令Ｉｄ２＊，ｑ軸電流指令Ｉｑ２＊を入力すると、座標変換器９６からｄ軸電流Ｉｄ２，ｑ軸電流Ｉｑ２を入力し、ｄ軸電流指令Ｉｄ２＊，ｑ軸電流指令Ｉｑ２＊とｄ軸電流，ｑ軸電流との差分ΔＩｄ２，ΔＩｑ２を演算して電圧指令変換器９３ｄ，９３ｑに出力する。電圧指令変換器９３ｄ，９３ｑは、差分ΔＩｄ２，ΔＩｑ２を入力すると、差分ΔＩｄ２，ΔＩｑ２に基づいてｄ軸電圧指令Ｖｄ２＊，ｑ軸電圧指令Ｖｑ２＊を生成する。上述したように、モータＭＧ２の回転中において、ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊を値０とした場合、制御用回転位置θｃ２と実際の回転位置との間にズレがなければ、ｄ軸電圧指令Ｖｄ２＊は値０となり、制御用回転位置θｃ２と実際の回転位置との間にズレがあれば、ｄ軸電圧指令Ｖｄ２＊は値０とならない。
【００４５】
次に、電圧指令変換器９３ｄからｄ軸電圧指令Ｖｄ２＊を入力し（ステップＳ１８０）、入力したｄ軸電圧指令Ｖｄ２＊が値０を含む所定電圧範囲内にあるか否かを判定する（ステップＳ１９０）。ここで、所定電圧範囲は、現在のオフセット量Δθｏｓ２が適正値であると判断してよいとして予め定められた範囲である。
【００４６】
ステップＳ１９０でｄ軸電圧指令Ｖｄ２＊が所定電圧範囲内にないと判定されたときには、現在のオフセット量Δθｏｓ２が適正値でないと判断し、ｄ軸電圧指令Ｖｄ２＊を用いて次式（９）によってオフセット量Δθｏｓ２を計算して（ステップＳ２００）、ステップＳ１６０に戻る。ここで、式（９）は、ｄ軸電圧指令Ｖｄ２＊を値０とするためのフィードバック制御における関係式である。なお、式（９）中、右辺第１項の「前回Δθｏｓ２」は前回のオフセット量Δθｏｓ２であり、右辺第２項の「ｓ１」は比例項のゲインであり、右辺第３項の「ｓ２」は積分項のゲインである。なお、実施例では、式（９）に示すように、ｄ軸電圧指令Ｖｄ２＊を値０とするオフセット量Δθｏｓ２の計算に比例積分制御を用いるものとしたが、比例制御を用いるものとしてもよいし、比例積分微分制御を用いるものとしてもよい。
【００４７】
Δθos2=前回Δθos2+s1・(0-Vd2*)+s2・∫(0-Vd2*)dt    (9)
【００４８】
ステップＳ１９０でｄ軸電圧指令Ｖｄ２＊が所定電圧範囲内にあると判定されたときには、現在のオフセット量Δθｏｓ２は適正値であると判断し、モータＭＧ２の回転数Ｎｍ２を入力して回転数Ｎｍ２ｂとして設定し（ステップＳ２１０）、回転数Ｎｍ２ｂから回転数Ｎｍ２ａを減じて、オフセット学習の実行中のモータＭＧ２の回転数Ｎｍ２の変化量としての学習中変化量ΔＮｍ２を計算する（ステップＳ２２０）。このモータＭＧ２の学習中変化量ΔＮｍ２は、ＨＶＥＣＵ７０からオフセット学習指令を受信してから（ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊に値０を設定するのを開始してから）ｄ軸電圧指令Ｖｄ２＊が所定電圧範囲内になるまでのモータＭＧ２の回転数Ｎｍ２の変化量を意味する。なお、オフセット学習の実行中には、ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊にそれぞれ値０を設定するから、変速機６０の変速段Ｇｓが変更されなければ、基本的に、車速Ｖ（モータＭＧ２の回転数Ｎｍ２）は減少する。しかし、降坂路での走行時や変速機６０のダウンシフトが行なわれたときには、モータＭＧ２の回転数Ｎｍ２が増加する。
【００４９】
続いて、モータＭＧ２の学習中変化量ΔＮｍ２に基づいて補正値αを設定し（ステップＳ２３０）、ｄ軸電圧指令Ｖｄ２＊が所定電圧範囲内になったときのオフセット量Δθｏｓ２に補正値αを加えることによってオフセット量Δθｏｓ２を補正（再設定）し（ステップＳ２４０）、補正後のオフセット量Δθｏｓ２を学習オフセット量Δθｌｖ２として更新すると共にこの学習オフセット量Δθｌｖ２をフラッシュメモリ４０ｄに記憶して（ステップＳ２５０）、本ルーチンを終了する。
【００５０】
ここで、補正値αは、実施例では、モータＭＧ２の学習中変化量ΔＮｍ２と補正値αとの関係を予め実験や解析などによって定めて補正値設定用マップとしてＲＯＭ４０ｂに記憶しておき、モータＭＧ２の学習中変化量ΔＮｍ２が与えられると、このマップから対応する補正値αを導出して設定するものとした。補正値設定用マップの一例を図６に示す。図示するように、補正値αは、学習中変化量ΔＮｍ２が小さいときには大きいときに比して小さくなる（回転方向に対して遅れる）ように設定するものとした。具体的には、補正値αは、学習中変化量ΔＮｍ２が小さいほど小さくなる（回転方向に対して遅れる）ように設定するものとした。これは、学習中変化量ΔＮｍ２が小さいほどｄ軸電圧指令Ｖｄ２＊が所定電圧範囲内になったときのオフセット量Δθｏｓ２が正側にズレやすい（回転方向に対して進みやすい）という理由に基づくものである。
【００５１】
このように、ｄ軸電圧指令Ｖｄ２＊が所定電圧範囲内になったときのオフセット量Δθｏｓ２に補正値αを加えることによってオフセット量Δθｏｓ２を補正すると共に補正後のオフセット量Δθｏｓ２を学習オフセット量Δθｌｖ２とすることにより、学習オフセット量Δθｌｖ２をより適正値とすることができる。この結果、回転位置センサ４４のオフセット学習をより適切に行なうことができる。
【００５２】
なお、オフセット学習では、ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊にそれぞれ値０を設定するから、アクセルオフまたはモータＭＧ２のトルク指令Ｔｍ２＊が値０付近のときにオフセット学習を実行することにより、運転者に違和感を与えるのを抑制することができる。また、現在のトリップでオフセット学習が未完了である条件を含む学習条件が成立したときに、オフセット学習を実行するから、システムオンしてからシステムオフするまでの間（いわゆる１トリップ）に１回の頻度でオフセット学習を実行することになる。
【００５３】
以上説明した実施例のハイブリッド自動車２０では、モータＭＧ２が回転している状態で、ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊にそれぞれ値０を設定してオフセット学習（学習オフセット量Δθｌｖ２の更新）を実行する。この際において、ｄ軸電流指令Ｉｄ２＊およびｑ軸電流指令Ｉｑ２＊にそれぞれ値０を設定してｄ軸電圧指令Ｖｄ２＊が所定電圧範囲内になったときのオフセット量Δθｏｓ２を、オフセット学習の実行中の三相モータの学習中変化量ΔＮｍ２が小さいときには大きいときに比して（回転数Ｎｍ２の減少量が大きいときには小さいときに比して）小さくなる（回転方向に対して遅れる）ように補正し、補正後のオフセット量Δθｏｓ２を学習オフセット量Δθｌｖ２として更新する。これにより、学習オフセット量Δθｌｖ２をより適正値とすることができる。この結果、回転位置センサ４４のオフセット学習をより適切に行なうことができる。
【００５４】
実施例のハイブリッド自動車２０では、モータＭＧ２の学習中変化量ΔＮｍ２に基づいて補正値αを設定するものとした。しかし、オフセット学習の実行中に変速機６０の変速段Ｇｓが変更されたときには、その変速パターン（回転数変化量）に応じて補正値αを設定するものとしてもよい。
【００５５】
実施例のハイブリッド自動車２０では、モータＥＣＵ４０のＲＯＭ４０ｂに記憶されている補正値設定用マップに少なくともモータＭＧ２の学習中変化量ΔＮｍ２を適用して補正値αを設定するものとした。しかし、補正値設定用マップではなく、予め定められた演算式に少なくともモータＭＧ２の学習中変化量ΔＮｍ２を適用して補正値αを演算するものとしてもよい。
【００５６】
実施例のハイブリッド自動車２０では、モータＥＣＵ４０とＨＶＥＣＵ７０とを備えるものとした。しかし、モータＥＣＵ４０とＨＶＥＣＵ７０とを単一の電子制御ユニットとして構成するものとしてもよい。
【００５７】
実施例のハイブリッド自動車２０では、変速機６０として、４段変速機を用いるものとした。しかし、変速機として、２段変速機，３段変速機，５段変速機，６段変速機，８段変速機，１０段変速機などを用いるものとしてもよい。
【００５８】
実施例では、エンジン２２とプラネタリギヤ３０とモータＭＧ１，ＭＧ２とを備えるハイブリッド自動車２０の構成とした。しかし、エンジンと１つのモータとを備えるいわゆる１モータハイブリッド自動車の構成としてもよい。また、エンジンを備えずにモータからの動力だけを用いて走行する電気自動車の構成としてもよい。
【００５９】
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、モータＭＧ２が「三相モータ」に相当し、インバータ４２が「インバータ」に相当し、モータＥＣＵ４０が「インバータ制御手段」に相当し、回転位置センサ４４が「回転位置センサ」に相当し、モータＥＣＵ４０のオフセット学習制御部９７が「オフセット学習手段」に相当し、加算器９８が「回転位置補正手段」に相当する。
【００６０】
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
【００６１】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【００６２】
本発明は、自動車の製造産業などに利用可能である。
【符号の説明】
【００６３】
２０  ハイブリッド自動車、２２  エンジン、２３  クランクポジションセンサ、２４  エンジン用電子制御ユニット（エンジンＥＣＵ）、２６  クランクシャフト、３０  プラネタリギヤ、２８  ダンパ、３６  駆動軸、３７  デファレンシャルギヤ、３８ａ，３８ｂ  駆動輪、４０  モータ用電子制御ユニット（モータＥＣＵ）、４１，４２  インバータ、４３，４４  回転位置センサ、４５ｖ，４５ｗ，４６ｖ，４６ｗ  電流センサ、５０  バッテリ、５１ａ  電圧センサ、５１ｂ  電流センサ、５２  バッテリ用電子制御ユニット（バッテリＥＣＵ）、５４  電力ライン、６０  変速機、６１  入力軸、６２  出力軸、６９  回転数センサ、７０  ハイブリッド用電子制御ユニット（ＨＶＥＣＵ）、８０  イグニッションスイッチ、８２  シフトポジションセンサ、８４  アクセルペダルポジションセンサ、８６  ブレーキペダルポジションセンサ、８８  車速センサ、９１  電流指令生成器、９２ｄ，９２ｑ  減算器、９３ｄ，９３ｑ  電圧指令変換器、９４  座標変換器、９５  ＰＷＭ変換器、９６  座標変換器、９７  オフセット学習制御部、９８  加算器、ＭＧ１，ＭＧ２  モータ、Ｔ１１〜Ｔ１６，Ｔ２１〜Ｔ２６  トランジスタ、Ｄ１１〜Ｄ１６，Ｄ２１〜Ｄ２６  ダイオード。
【図１】
0006699252.tif 000002
【図２】
0006699252.tif 000003
【図３】
0006699252.tif 000004
【図４】
0006699252.tif 000005
【図５】
0006699252.tif 000006
【図６】
0006699252.tif 000007