(57)【要約】【課題】制御系の応答を下げることなく、車両の継続振動を止めることができる電気自動車の制御装置を提供する。【解決手段】電気自動車の制御装置２０は、駆動モータ１０の実モータ回転数Ｎの増減の繰り返し回数に基づいて、車両振動の有無を判定する振動判定部２６を備える。トルク指令値算出部２１は、振動判定部２６により車両振動が有ると判定された際、車両振動が有ると判定された際の実モータ回転数を固定値とし、その固定値とアクセル操作量に応じてトルクマップに基づいてトルク指令値を算出する。【選択図】図１
2016007097.tif 000002
【特許請求の範囲】
【請求項１】
制御周期毎に、アクセル操作量と駆動モータの実モータ回転数とに応じて前記駆動モータのトルク指令値をトルクマップに基づいて算出するトルク指令値算出部を含み、前記制御周期毎に前記トルク指令値に基づいた電流指令値を前記駆動モータ用として出力する制御系を有する電気自動車の制御装置において、
前記駆動モータの実モータ回転数の増減の繰り返し回数に基づいて、車両振動の有無を判定する判定部を備え、
前記トルク指令値算出部は、前記判定部により前記車両振動が有ると判定された際、前記車両振動が有ると判定された際の前記実モータ回転数を固定値とし、その固定値と前記アクセル操作量に応じて前記トルクマップに基づいてトルク指令値を算出する電気自動車の制御装置。
【請求項２】
前記トルク指令値算出部において、実モータ回転数とアクセル操作量を使用して前記トルクマップに基づいてトルク指令値を算出する方式を第１モードとし、前記固定値のモータ回転数とアクセル操作量を使用して前記トルクマップに基づいてトルク指令値を算出する方式を第２モードとしたとき、
前記第２モードで実行中の前記トルク指令値算出部は、前記第２モードから第１モードへの遷移を許容する第１モード復帰条件が成立した場合には、第１モードに遷移する請求項１に記載の電気自動車の制御装置。
【請求項３】
前記第１モード復帰条件の成立には、前記判定部の判定結果による前記車両振動が無いとされた継続時間が復帰許容値以上となった場合を含む請求項２に記載の電気自動車の制御装置。
【請求項４】
前記第１モード復帰条件の成立には、制御周期毎に得られる実モータ回転数の今回値と、前記固定値のモータ回転数との絶対値の差が第２判定閾値以上になった場合を含む請求項２乃至請求項３のうちいずれか１項に記載の電気自動車の制御装置。
【請求項５】
前記第１モード復帰条件の成立には、今回値の実モータ回転数が０、または第３判定閾値以上になった場合を含む請求項２乃至請求項４のうちいずれか１項に記載の電気自動車の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気自動車の制御装置に関する。
【背景技術】
【０００２】
図６は、一般的な電気自動車における走行駆動用モータのモータ制御系の概略図である。同図に示すように、アクセルペダル１００が踏まれると、そのアクセル操作量ＡｃｃｅｌとモータＴｍのモータ回転数Ｎに応じて、制御装置１１０は、トルクマップ１１２を参照して、トルク指令値Ｔ＊を算出する。そして、制御装置１１０は、モータ制御部１２０にトルク指令値Ｔ＊を出力する。モータ制御部１２０は、前記トルク指令値Ｔ＊と、モータ電流の電流フィードバックに基づいてモータ電流指令値を算出し、このモータ電流指令値に基づいて図示しないバッテリから供給される直流電力を交流電力に変換して、モータ電流Ｉｕ、Ｉｖ、ＩｗをモータＴｍに出力する。
【０００３】
ところで、電気自動車においては、走行抵抗変化やギヤバックラッシュなどによって車両に振動が発生した際に、走行駆動用モータのモータ制御系が共振して車両の振動が継続する場合がある。これは、モータ回転数Ｎの変化に伴ってトルク指令値Ｔ＊が変化するためである。
【０００４】
図７は、所定のアクセル操作量におけるモータ回転数Ｎとトルク指令値Ｔ＊のトルクマップである。
このトルクマップでは、トルク指令値Ｔ＊が負の変化を生じる領域（図７において、トルクマップが右下がりの領域）が、モータ制御系の共振により車両の振動が継続しやすい領域となる。
【０００５】
すなわち、この領域ではモータ回転数Ｎが増加すると、トルクマップに基づくトルク指令値Ｔ＊が減少する。すると、モータ回転数Ｎが減少し、この減少により、トルクマップに基づくトルク指令値Ｔ＊が増加し、この増加によりモータ回転数Ｎがまた増加する、という制御系の共振が継続することになる。
【０００６】
特許文献１では、電気自動車の駆動モータの出力軸から駆動輪へと至るトルクの伝達系が「ねじれ共振系」を構成し、急発進時や急加速時に、この「ねじれ共振系」によって発生する車体振動を抑制する技術が提案されている。特許文献１では、モータへの入力電流の振動状態を検出して、振動状態が検出されると、トルク指令値の補正を行って、車体振動を抑制するようにしている。
【０００７】
特許文献２では、ハイブリッド車における駆動モータの角加速度を車両の振動発生変量として検出し、制振制御が必要なときは、制振制御を行って、前記駆動モータの角加速度を０に収束するようにフィードバック制御を行うようにしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−１１１２１３号公報
【特許文献２】特開２００５−２１８２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前記制御系の共振を防ぐためには、制御系の応答性をチューニングする必要がある。しかし、応答性の高速化には限界があるため、多くの場合は応答性を遅くすることで共振を防ぐようにしている。しかし、その場合には、ドライブフィーリングが悪化したり、あるいはスリップの抑制制御等の高等制御が実現できなくなるなどの背反が伴う。
【００１０】
なお、特許文献１及び特許文献２で提案されている方法は、制御系の共振を防ぐ手段としては好適な技術とは言い難い。
本発明の目的は、制御系の応答を下げることなく、車両の継続振動を止めることができる電気自動車の制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記問題点を解決するために、本発明は、制御周期毎に、アクセル操作量と駆動モータの実モータ回転数とに応じて前記駆動モータのトルク指令値をトルクマップに基づいて算出するトルク指令値算出部を含み、前記制御周期毎に前記トルク指令値に基づいた電流指令値を前記駆動モータ用として出力する制御系を有する電気自動車の制御装置において、前記駆動モータの実モータ回転数の増減の繰り返し回数に基づいて、車両振動の有無を判定する判定部を備え、前記トルク指令値算出部は、前記判定部により前記車両振動が有ると判定された際、前記車両振動が有ると判定された際の前記実モータ回転数を固定値とし、その固定値と前記アクセル操作量に応じて前記トルクマップに基づいてトルク指令値を算出するものである。
【００１２】
また、前記トルク指令値算出部において、実モータ回転数とアクセル操作量を使用して前記トルクマップに基づいてトルク指令値を算出する方式を第１モードとし、前記固定値のモータ回転数とアクセル操作量を使用して前記トルクマップに基づいてトルク指令値を算出する方式を第２モードとしたとき、前記第２モードで実行中の前記トルク指令値算出部は、前記第２モードから第１モードへの遷移を許容する第１モード復帰条件が成立した場合には、第１モードに遷移することが好ましい。
【００１３】
また、前記第１モード復帰条件の成立には、前記判定部の判定結果による前記車両振動が無いとされた継続時間が復帰許容値以上となった場合を含むことが好ましい。
また、前記第１モード復帰条件の成立には、制御周期毎に得られる実モータ回転数の今回値と、前記固定値のモータ回転数との絶対値の差が第２判定閾値以上になった場合を含むことが好ましい。
【００１４】
また、前記第１モード復帰条件の成立には、今回値の実モータ回転数が０、または第３判定閾値以上になった場合を含むことが好ましい。
【発明の効果】
【００１５】
本発明によれば、制御系の応答を下げることなく、車両の継続振動を止めることができる。
【図面の簡単な説明】
【００１６】
【図１】一実施形態の制御装置の電気ブロック図。
【図２】一実施形態のトルクマップの説明図。
【図３】制御装置が実行するフローチャート。
【図４】制御装置が実行するフローチャート。
【図５】トルク指令値と実モータ回転数とトルクマップに使用されるモータ回転数の時間経過を示すチャート。
【図６】電気自動車における走行駆動用のモータ制御系の概略図。
【図７】トルクマップの説明図。
【発明を実施するための形態】
【００１７】
以下、本発明の電気自動車の制御装置を具体化した一実施形態について図１〜図５を参照して説明する。なお、本明細書において、電気自動車は、内燃機関を搭載していない電気自動車の他、内燃機関を搭載したハイブリッド車も含む趣旨である。
【００１８】
図１に示すように電気自動車は、駆動モータ１０を制御する制御装置２０を備えている。制御装置２０は、図示しないバッテリの直流を交流電力に変換するインバータ３０に接続されている。また、前記インバータ３０は、駆動モータ１０に接続されている。インバータ３０は、図示しないバッテリからインバータ３０に供給された直流電力を、制御装置２０の制御のもとに三相交流電力に変換して駆動モータ１０に供給する。
【００１９】
前記駆動モータ１０は、例えば、回転子に永久磁石を使用した三相交流同期モータが使用される。なお、電気自動車がハイブリッド車の場合、前記駆動モータ１０は、モータと発電機の機能を有するモータジェネレータである。駆動モータ１０には、その実モータ回転数を検出するレゾルバ等の回転数センサ４０及び駆動モータ１０への各相のモータ電流Ｉｕ、Ｉｖ、Ｉｗを検出する図示しない電流検出部が設けられている。
【００２０】
前記駆動モータ１０は、その回転運動を図示しないドライブシャフトに伝達するディファレンシャルギア、及び、ドライブシャフトを介して前記ドライブシャフトの両端に設けられた駆動輪を駆動する。
【００２１】
図１に示す制御装置２０は、ＣＰＵ、メモリ等を有するマイクロコンピュータからなり、トルク指令値算出部２１、電流指令値算出部２２、２相／３相変換部２３、３相／２相変換部２４、ＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）変換部２５及び振動判定部２６を備える。振動判定部２６は、判定部に相当する。
【００２２】
トルク指令値算出部２１は、アクセル操作量センサ５０で検出された図示しないアクセルペダルのアクセル操作量ＡＣ及び回転数センサ４０で検出された駆動モータ１０の実モータ回転数Ｎ、或いは固定値のモータ回転数に基づいてトルク指令値Ｔ＊の演算等を行う。具体的には、トルク指令値算出部２１は、入力したアクセル操作量ＡＣに応じたトルクマップを使用して、前記実モータ回転数Ｎ、あるいは固定値のモータ回転数に対応するトルク指令値Ｔ＊を算出する。
【００２３】
図２には前記トルク指令値Ｔ＊を算出する際に参照されるトルクマップの一例を示す。図示しないアクセルペダルが踏み込まれる加速時には、アクセル操作量と実モータ回転数Ｎとに基づいて図２のトルクマップが参照される。
【００２４】
同図に示すように、トルクマップには、アクセル操作量に対応する複数の特性線ＡＣ０〜ＡＣ５が設定されている。なお、特性線ＡＣ０はアクセル操作量「０」に対応する特性線であり、特性線ＡＣ１はアクセル操作量「１／４」に対応する特性線であり、特性線ＡＣ２はアクセル操作量「１／２」に対応する特性線であり、特性線ＡＣ３はアクセル操作量「３／４」に対応する特性線であり、特性線ＡＣ４はアクセル操作量「１」に対応する特性線である。
【００２５】
前記固定値のモータ回転数の詳細は後述する。前記トルク指令値Ｔ＊は、電流指令値算出部２２に入力される。
図１に示す電流指令値算出部２２は、トルク指令値Ｔ＊に応じた電流指令値Ｉｄ＊及びＩｑ＊を算出し、２相／３相変換部２３に出力する。前記Ｉｄ＊及びＩｑ＊は、それぞれベクトル制御に用いられる電流指令値のｄ軸成分およびｑ軸成分である。また、３相／２相変換部２４は、図示しない電流検出部からの各相のモータ電流Ｉｕ、Ｉｖ、Ｉｗ、及びモータ回転数Ｎを入力して、モータ電流Ｉｕ、Ｉｖ、Ｉｗを３相／２相変換によりｄ軸電流Ｉｄ及びｑ軸電流Ｉｑに変換し、２相／３相変換部２３に入力する。
【００２６】
２相／３相変換部２３は、電流指令値Ｉｄ＊と電流指令値Ｉｑ＊と、実モータ回転数Ｎと、３相／２相変換部２４から入力されるｄ軸電流Ｉｄとｑ軸電流Ｉｑとから、ｄ軸とｑ軸との電圧指令値を生成する。さらに、２相／３相変換部２３は、前記電圧指令値を駆動モータ１０の実モータ回転数Ｎを用いて、３相交流電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換し、ＰＷＭ変換部２５に入力する。ＰＷＭ変換部４４は、入力された３相交流電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊から、インバータ３０を構成する図示しないスイッチング素子のオンオフを制御するＰＷＭ制御信号を生成し、インバータ３０に入力する。これによって、インバータ３０は、駆動モータ１０に駆動信号を出力し、前記駆動モータ１０を駆動する。
【００２７】
振動判定部２６は、回転数センサ４０で検出された駆動モータ１０の実モータ回転数Ｎを入力し、実モータ回転数の増加、減少の回数に基づいて車両の振動判定を行い、その判定結果をトルク指令値算出部２１に出力する。前記制御装置２０及びインバータ３０は制御系に相当する。
【００２８】
（実施形態の作用）
次に、本実施の形態に係る電気自動車の制御装置２０の作用を図３〜図５を参照して説明する。
【００２９】
図３及び図４のフローチャートは、制御装置２０が振動判定部２６の機能、及び、トルク指令値算出部２１の機能を実行する際に行う処理であり、所定制御周期で行われる。なお、この所定制御周期は、例えば、実モータ回転数Ｎのサンプリング周期と同期して行われる。また、前記サンプリング周期毎に取得された実モータ回転数Ｎは、図示しないバッファに格納される。以下の説明では、現在の制御周期で取得された実モータ回転数を今回値といい、前回の制御周期で取得された実モータ回転数を前回値という。
【００３０】
（Ｓ１０）
図示しないバッファから現在の駆動モータ１０の実モータ回転数（今回値）の読み取りが行われる。
【００３１】
（Ｓ２０）
前回値から今回値が第１判定閾値以上増加しているか否かが判定される。今回値が前回値よりも第１判定閾値以上増加している場合は、「ＹＥＳ」と判定されてＳ３０に移行する。また、今回値が前回値よりも第１判定閾値未満の増加の場合は、「ＮＯ」と判定されてＳ７０に移行する。
【００３２】
今回値が前回値よりも第１判定閾値よりも増加している場合には、トルク指令値Ｔ＊と共振している可能性があるものとしているのである。
（Ｓ３０）
非検出時間カウンタがクリアされ、Ｓ４０に移行する。
【００３３】
（Ｓ４０）
増加減少方向フラグが０にリセットされているか否かが判定される。増加減少方向フラグが０にリセットされている場合は、「ＹＥＳ」と判定されてＳ５０に移行する。また、増加減少方向フラグが０にリセットされていない場合は、「ＮＯ」と判定されて図４のＳ１３０にジャンプする。
【００３４】
（Ｓ５０）
検出回数カウンタがインクリメントされて、Ｓ６０に移行する。ここで、検出回数は、実モータ回転数Ｎの増減の繰り返し回数に相当する。
【００３５】
（Ｓ６０）
増加減少方向フラグが１にセットされて、図４のＳ１３０に移行する。
ここで、Ｓ４０、及びＳ６０における増加減少方向フラグに関する処理の意味について説明する。
【００３６】
実モータ回転数Ｎが波形状に変化する場合、前記波形状の谷部から上昇（実モータ回転数が増加）する領域がある。このように実モータ回転数Ｎが前記谷部から上昇し続ける場合、Ｓ２０で「ＹＥＳ」、Ｓ４０で「ＹＥＳ」とされると、Ｓ６０で、増加減少方向フラグが１にセットされることになる。
【００３７】
次回以降の制御周期において、さらに、実モータ回転数Ｎが上昇し続けて、Ｓ２０で「ＹＥＳ」とされた場合、既に増加減少方向フラグは１にセットされているため、Ｓ４０では「ＮＯ」と判定されて、Ｓ１３０にジャンプすることになる。このことにより、前記波形状の谷部から上昇（実モータ回転数が増加）する領域において、前記波形状の谷部から上昇が開始された場合、初めてＳ２０において「ＹＥＳ」としたときのみを、検出回数カウンタでカウントされるようにしている。
【００３８】
（Ｓ７０）
Ｓ２０からＳ７０に移行した場合、今回値が前回値よりも第１判定閾値以上減少しているか否かが判定される。今回値が前回値よりも第１判定閾値以上減少している場合は、「ＹＥＳ」と判定されてＳ８０に移行する。また、今回値が前回値よりも第１判定閾値未満で減少している場合は、「ＮＯ」と判定されてＳ１２０に移行する。
【００３９】
今回値が前回値よりも第１判定閾値よりも減少している場合には、トルク指令値Ｔ＊と共振している可能性があるものとしているのである。
（Ｓ８０）
非検出時間カウンタがクリアされ、Ｓ９０に移行する。
【００４０】
（Ｓ９０）
増加減少方向フラグが１にセットされているか否かが判定される。増加減少方向フラグが１にセットされている場合は、「ＹＥＳ」と判定されてＳ１００に移行する。また、増加減少方向フラグが０に１にセットされていない場合は、「ＮＯ」と判定されて図４のＳ１３０にジャンプする。
【００４１】
（Ｓ１００）
前記検出回数カウンタがインクリメントされて、Ｓ１１０に移行する。
（Ｓ１１０）
増加減少方向フラグが０にリセットされて、図４のＳ１３０に移行する。
【００４２】
ここで、Ｓ９０、及びＳ１１０における増加減少方向フラグに関する処理の意味について説明する。
実モータ回転数Ｎが波形状に変化する場合、前記波形状の頂部から下降（実モータ回転数が減少）する領域がある。このように実モータ回転数Ｎが前記頂部から下降し続ける場合、Ｓ７０で「ＹＥＳ」、Ｓ９０で「ＹＥＳ」とされると、Ｓ１１０で、増加減少方向フラグが０にリセットされることになる。
【００４３】
次回以降の制御周期において、さらに、実モータ回転数Ｎが下降し続けて、Ｓ７０で「ＹＥＳ」とされた場合、既に増加減少方向フラグは０にリセットされているため、Ｓ９０では「ＮＯ」と判定されて、Ｓ１３０にジャンプすることになる。このことにより、前記波形状の頂部から下降（実モータ回転数が減少）する領域において、前記波形状の頂部から下降が開始された場合、初めてＳ７０で「ＹＥＳ」としたときのみを検出回数カウンタでカウントされるようにしている。
【００４４】
（Ｓ１２０）
Ｓ７０からＳ１２０に移行した場合は、非検出時間カウンタをインクリメントし、図４のＳ１３０に移行する。
【００４５】
すなわち、Ｓ２０及びＳ７０ではそれぞれ「ＮＯ」と判定されているので、今回値の前回値に対する差は、トルク指令値Ｔ＊と実モータ回転数が共振していないレベルであるとされて、Ｓ１２０では、非検出時間カウンタがカウンタアップされるのである。
【００４６】
（Ｓ１３０）
図４に示すＳ１３０では、前記検出回数カウンタのカウント値がモード遷移許容値以上か否かが判定される。前記検出回数カウンタのカウント値がモード遷移許容値以上の場合、「ＹＥＳ」と判定されて、すなわち、車両振動の振動検出がされてＳ１４０に移行する。また、前記検出回数カウンタのカウント値がモード遷移許容値未満の場合は、「ＮＯ」と判定されてＳ１５０にジャンプする。すなわち、検出回数カウンタのカウント値がモード遷移許容値以上となっていないため、車両振動ではないとしているのである。
【００４７】
前記モード遷移許容値は、本実施形態では２回としているが、限定するものではなく、３回以上の複数回でもよい。
なお、Ｓ１３０からＳ１５０にジャンプした場合、車両振動の検出がされていないため、後のＳ１８０のトルクマップで使用される駆動モータ１０のモータ回転数のパラメータとして、当該制御周期で取得したＳ１０の今回値がセットされる。
【００４８】
（Ｓ１４０）
Ｓ１３０において、「ＹＥＳ」と判定されると、車両振動の検出がされたこととなり、今回値を次回の制御周期においてトルクマップを参照する際に使用する固定値とするのである。なお、前記固定値は、実モータ回転数が取り得る最大値と実モータ回転数が取り得る最小値の間の値となり、Ｓ１３０で「ＹＥＳ」と判定されたときにおける今回値の値となる。Ｓ１４０では、振動検出が開始されたことになる。この振動検出は、後のＳ１９０で、振動検出が解除されるまで行われていることになる。
【００４９】
Ｓ１４０の処理後、Ｓ１５０に移行する。
なお、一旦、固定値が設定された場合、後のＳ１８０で検出回数カウンタがクリアされない限り、次回以降の制御周期におけるＳ１３０では、前記検出回数カウンタがモード遷移許容値以上（「ＹＥＳ」）と判定されてＳ１４０に移行する。しかし、既に固定値が設定されているため、固定値に変更はない。
【００５０】
（Ｓ１５０）
今回値と前記固定値との絶対値の差が、第２判定閾値以上か否かが判定される。
今回値と前記固定値との絶対値の差が、第２判定閾値以上の場合、「ＹＥＳ」と判定されて、Ｓ１８０に移行する。また、今回値と前記固定値との絶対値の差が、第２判定閾値未満の場合、「ＮＯ」と判定されて、Ｓ１６０に移行する。
【００５１】
なお、Ｓ１４０で今回値が固定値とされていない場合（すなわち、Ｓ１３０で「ＮＯ」とされた場合）、固定値がないため、Ｓ１５０での判定は「ＮＯ」となり、Ｓ１６０に移行することになる。
【００５２】
ここで、制御周期毎に、その制御周期での今回値とアクセル操作量を使用してトルクマップを参照することによりトルク指令値を算出する方式が第１モードである。また、前記固定値とアクセル操作量を使用してトルクマップを参照することによりトルク指令値を算出する方式が第２モードである。
【００５３】
Ｓ１５０において、今回値と前記固定値との絶対値の差が第２判定閾値以上の場合は、第１モード復帰条件が成立した場合に相当する。
（Ｓ１６０）
非検出時間カウンタが復帰許容値以上か否かが判定される。非検出時間カウンタが復帰許容値以上の場合は、「ＹＥＳ」と判定されて、Ｓ１８０に移行する。非検出時間カウンタが復帰許容値未満の場合は、「ＮＯ」と判定されて、Ｓ１７０に移行する。なお、復帰許容値（すなわち、復帰許容時間）は、例えば５００ｍｓであるが、数値は限定されるものではなく、他の時間であってもよい。
【００５４】
なお、初めてＳ１３０において、判定が「ＹＥＳ」となった場合は、Ｓ１６０では非検出時間カウンタが復帰許容値未満となるので、「ＮＯ」の判定となり、Ｓ１７０に移行することになる。
【００５５】
Ｓ１６０において、非検出時間カウンタが復帰許容値以上の場合は、振動判定部２６の判定結果による車両振動が無いとされた継続時間が復帰許容値以上となった場合に相当し、第１モード復帰条件が成立した場合に相当する。
【００５６】
（Ｓ１７０）
今回値が０か否かが判定される。今回値が０の場合は、「ＹＥＳ」と判定されて、Ｓ１８０に移行する。また、今回値が０でない場合は、「ＮＯ」と判定されて、Ｓ２００にジャンプする。Ｓ１７０において、今回値が０の場合は、第１モード復帰条件の成立した場合に相当する。
【００５７】
（Ｓ１８０）
Ｓ１５０〜Ｓ１７０において、それぞれ「ＹＥＳ」と判定された場合、検出回数カウンタがクリアされて、Ｓ１９０に移行する。
【００５８】
（Ｓ１９０）
第１モード復帰条件が成立したものとして、車両振動の検出が解除されて固定値のセットが解除される。すなわち、この後、トルクマップでは、今回値とアクセル操作量とが使用されることになる。
【００５９】
（Ｓ２００）
トルクマップを参照して、トルク指令値Ｔ＊の算出が行われる。すなわち、第１モードの場合には、今回値とアクセル操作量を使用してトルクマップを参照してトルク指令値Ｔ＊の算出が行われる。また、第２モードの場合は、前記固定値と今回値とアクセル操作量を使用してトルクマップを参照してトルク指令値Ｔ＊の算出が行われる。この後、Ｓ１０にリターンする。
【００６０】
（トルク指令値Ｔ＊と実モータ回転数Ｎが非共振の場合）
実モータ回転数Ｎが０以外の値であって、トルク指令値Ｔ＊と実モータ回転数Ｎが非共振の場合、Ｓ１０、Ｓ２０で「ＮＯ」、Ｓ７０で「ＮＯ」、Ｓ１２０、Ｓ１３０で「ＮＯ」、Ｓ１５０で「ＮＯ」、Ｓ１６０で「ＮＯ」、Ｓ１７０で「ＮＯ」とされてＳ２００での処理が行われる。
【００６１】
（トルク指令値Ｔ＊と実モータ回転数Ｎが共振の場合）
実モータ回転数Ｎが０以外の値であって、トルク指令値Ｔ＊と実モータ回転数Ｎとが共振している場合について説明する。
【００６２】
なお、説明の便宜上、その時々に取得される実モータ回転数Ｎが、波状に変化して谷部から上昇を開始し、今回値が前回値よりも第１判定閾値以上に増加した場合について説明する。また、Ｓ１５０〜Ｓ１７０では第１モード復帰条件が成立せずそれぞれ「ＮＯ」と判定されるものとして説明する。
【００６３】
この場合、Ｓ１０、Ｓ２０で「ＹＥＳ」、Ｓ３０での処理が行われる。
ここで、Ｓ４０では、前記共振が開始された場合は、増加減少方向フラグは０に設定されているため、判定は「ＹＥＳ」となり、Ｓ５０、Ｓ６０の処理が行われて、Ｓ１３０に移行する。
【００６４】
Ｓ１３０では、検出回数カウンタのカウント値がモード遷移許容値以上でない場合は「ＮＯ」と判定されて、Ｓ１５０に移行する。
Ｓ１５０、Ｓ１６０及びＳ１７０は、Ｓ１４０において固定値が設定された以降における振動検出解除のための処理である。
【００６５】
共振が生じている場合において、Ｓ１５０、Ｓ１６０及びＳ１７０ではそれぞれ「ＮＯ」と判定された場合、Ｓ２００では、今回値とアクセル操作量に応じて、トルクマップが参照されてトルク指令値Ｔ＊が算出されて、Ｓ１０にリターンすることになる。
【００６６】
その後、実モータ回転数の上昇が継続している場合は、図３のＳ１０、Ｓ２０、Ｓ３０の各処理がされ、Ｓ４０で「ＮＯ」、Ｓ１３０で「ＮＯ」、Ｓ１５０〜Ｓ１７０でそれぞれ「ＮＯ」と判定されて、前回の制御周期で行われたＳ２００の処理と同様にトルク指令値Ｔ＊が算出される。
【００６７】
そして、次に、実モータ回転数の増加が停止して、減少を開始し、今回値が前回値よりも第１判定閾値以上に減少した場合、Ｓ１０、Ｓ２０で「ＮＯ」、Ｓ７０で「ＹＥＳ」、Ｓ８０の処理が順に行われる。
【００６８】
ここで、Ｓ９０での判定では、既にＳ６０において、増加減少方向フラグが１に設定されているため、「ＹＥＳ」と判定されて、Ｓ１００、Ｓ１１０の処理が行われて、図４に示すＳ１３０に移行する。
【００６９】
ここで、Ｓ５０とＳ１００において、前記検出回数カウンタはインクリメントされているため、そのカウント値は「２」となっている。
このため、Ｓ１３０では、「ＹＥＳ」と判定されて、Ｓ１４０において、車両振動の検出がされたこととなり、今回値を、今回制御周期以降においてトルクマップを参照する際に使用する固定値とする。
【００７０】
そして、共振が生じている場合において、Ｓ１５０、Ｓ１６０及びＳ１７０ではそれぞれ「ＮＯ」と判定された場合、Ｓ２００では、固定値とアクセル操作量に応じて、トルクマップが参照されてトルク指令値Ｔ＊が算出され、Ｓ１０にリターンすることになる。
【００７１】
その後、実モータ回転数が、さらに下降が継続している場合は、図３のＳ１０、Ｓ２０で「ＮＯ」、Ｓ７０で「ＹＥＳ」、Ｓ８０、Ｓ９０で「ＮＯ」、Ｓ１３０、Ｓ１５０〜Ｓ１７０でそれぞれ「ＮＯ」と判定されて、前回の制御周期で行われたＳ２００の処理と同様にトルク指令値Ｔ＊が算出される。
【００７２】
図５には、上記のように前記フローチャートを実行した場合の一例が示されている。
同図のＡにおいて、トルク指令値と実モータ回転数とが共振した場合、Ｂにおいて車両振動が検出されると、車両振動が検出されたときの実モータ回転数が固定値とされて、この固定値がトルクマップに用いられる。
【００７３】
この固定値とアクセル操作量に応じてトルクマップが参照されてトルク指令値が算出される。なお、図５では、車両振動が検出された際のアクセル操作量が、前記検出後も同じ値としているため、前記固定値と前記アクセル操作量に応じて算出されるトルク指令値は、最初に算出された以降も継続して同じ値が算出されている。
【００７４】
このようにトルクマップで使用されるモータ回転数が固定値とされると、固定値とされた以降は、図５に示すように実モータ回転数の波状の変動が収まるように収束していく。
なお、ドライバーのアクセル操作に応じてアクセル操作量は変化するため、アクセル操作量に応じてトルク指令値も変化させることができる。このため、この場合においても、加速、減速を通常通り行うことも可能である。
【００７５】
また、図５では、Ｄのところでモータ回転数が０となっているため、図４のＳ１７０で「ＹＥＳ」と判定されることにより、振動検出が解除されている。このため、Ｄ以降では、固定値が採用されずに、そのときどきに取得された実モータ回転数が採用されて、トルク指令値が増加している。
【００７６】
なお、前記（トルク指令値Ｔ＊と実モータ回転数Ｎが共振の場合）では、その時々に取得される実モータ回転数Ｎが、波状に変化して谷部から上昇を開始し、今回値が前回値よりも第１判定閾値以上に増加した場合について説明した。
【００７７】
これとは、反対に、その時々に取得される実モータ回転数Ｎが、波状に変化して頂部から下降を開始した場合において、トルク指令値Ｔ＊と実モータ回転数Ｎとの共振がある場合も、その共振による車両振動の解消が前記フローチャートで説明できることは自明であるため、説明を省略する。
【００７８】
本実施形態によれば、以下のような効果を得ることができる。
（１）本実施形態の電気自動車の制御装置２０は、駆動モータ１０の実モータ回転数Ｎの増減の繰り返し回数に基づいて、車両振動の有無を判定する振動判定部２６（判定部）を備える。また、トルク指令値算出部２１は、振動判定部２６（判定部）により車両振動が有ると判定された際、前記車両振動が有ると判定された際の実モータ回転数を固定値とし、その固定値とアクセル操作量に応じてトルクマップに基づいてトルク指令値を算出する。
【００７９】
この結果、本実施形態によれば、制御系の応答を下げることなく、車両の継続振動を止めることができる。
すなわち、トルク指令値と実モータ回転数とが共振したときには、トルクマップに用いるモータ回転数の値を固定することで、継続振動の原因となる制御系の共振を止めることができる。このときにおいても、ドライバーのアクセル操作に応じてアクセル操作量は変化するため、アクセル操作量に応じてトルク指令値も変化させることができる。このため、この場合においても、加速、減速を通常通り行うことも可能である。
【００８０】
（２）本実施形態の電気自動車の制御装置２０では、第２モードで実行中のトルク指令値算出部２１は、第２モードから第１モードへの遷移を許容する第１モード復帰条件が成立した場合には、第１モードに遷移する。この結果、本実施形態によれば、第１モード復帰条件が成立した場合には、実モータ回転数とアクセル操作量に応じてトルクマップを参照してトルク指令値を算出することができる。
【００８１】
（３）本実施形態では、第１モード復帰条件の成立には、振動判定部２６（判定部）の判定結果による車両振動が無いとされた継続時間が復帰許容値以上となった場合を含む。この結果、振動判定部２６（判定部）の判定結果による車両振動が無いとされた継続時間が復帰許容値以上となった場合、実モータ回転数とアクセル操作量に応じてトルクマップに基づいてトルク指令値を算出することができる。
【００８２】
（４）本実施形態では、第１モード復帰条件の成立には、制御周期毎に得られる実モータ回転数の今回値と、固定値のモータ回転数との絶対値の差が第２判定閾値以上になった場合を含む。
【００８３】
この結果、制御周期毎に得られる実モータ回転数の今回値と、固定値のモータ回転数との絶対値の差が第２判定閾値以上になった場合に、実モータ回転数とアクセル操作量に応じてトルクマップに基づいてトルク指令値を算出することができる。
【００８４】
すなわち、振動検出の解除条件として第２モード中に取得される実モータ回転数と固定値との絶対値の差が第２判定閾値以上になった場合、第１モードに復帰できる。
（５）本実施形態の第１モード復帰条件の成立には、今回値の実モータ回転数が０になった場合を含む。この結果、今回値の実モータ回転数が０になった場合、第１モードに復帰できる。
【００８５】
なお、本実施形態は以下のように変更してもよい。
・前記実施形態のＳ１７０では、今回値が０か否かが判定されたが、今回値が、０以外の値、例えば、０＜Ｎ＜１００ｒｐｍの低速回転数としてもよい。ただし、この値は例示であって、この数値に限定するものではない。
【００８６】
・また、前記実施形態のＳ１７０において、さらに、今回値が規定値以上の値になった場合を、第１モード復帰条件としてもよい。例えば、１０００ｒｐｍ以上となった場合、第１モード復帰条件とする。なお、この数値は例示であって、限定されるものではなく、他の数値でもよい。この規定値は第３判定閾値に相当する。
【００８７】
このように、今回値が規定値以上となった場合のように、振動検出の解除条件、すなわち、第１モード復帰条件に、回転数の条件を加えることにより、第２モードから第１モードへの切替えを働かせる回転数領域を容易に限定することもできる。
【００８８】
・第１モード復帰条件は、前記実施形態に説明したＳ１５０、Ｓ１６０、Ｓ１７０の条件に限定されるものではない。例えば、駆動モータ１０が、正転から逆転した場合を第１モード復帰条件としてもよい。また、この正転から逆転した場合を、Ｓ１５０、Ｓ１６０、Ｓ１７０の条件にさらに加えてもよい。
【００８９】
・前記実施形態において、Ｓ１５０〜Ｓ１７０のうち、いずれか１つを省略してもよい。例えば、Ｓ１７０を省略してもよい。
・前記実施形態において、Ｓ１５０〜Ｓ１７０のうち、Ｓ１５０とＳ１６０、Ｓ１５０とＳ１７０、またはＳ１６０とＳ１７０のいずれか１つの組合せを省略してもよい。
【符号の説明】
【００９０】
１０…駆動モータ、
２０…制御装置、２１…トルク指令値算出部、２２…電流指令値算出部、
２３…２相／３相変換部、２４…３相／２相変換部、
２５…ＰＷＭ変換部、２６…振動判定部（判定部）、
３０…インバータ、４０…回転数センサ、５０…アクセル操作量センサ。
【図１】
2016007097.tif 000003
【図２】
2016007097.tif 000004
【図３】
2016007097.tif 000005
【図４】
2016007097.tif 000006
【図５】
2016007097.tif 000007
【図６】
2016007097.tif 000008
【図７】
2016007097.tif 000009