(57)【特許請求の範囲】
【請求項１】
車両情報に基づく第１のトルク指令を、電動機の回転数に基づいて演算されたトルク制限値で制限された第２のトルク指令に制限する第１のトルク制御手段と、
前記第１のトルク制御手段から出力された前記第２のトルク指令の振動を減衰させる伝達特性を有する振動処理手段とを備え、
前記振動処理手段は、前記第１のトルク指令と前記第２のトルク指令が異なるか否か判定する判定手段と、
前記第２のトルク指令および前記伝達特性から第３のトルク指令を演算する演算手段と、
前記判定手段の判定結果に基づいて、前記第２のトルク指令または前記第３のトルク指令を出力する出力手段とを備え、
前記判定手段は、前記第２のトルク指令の傾きが正か否か判定し、
前記出力手段は、前記第１のトルク指令と前記第２のトルク指令が異なると判定し、かつ、前記第２のトルク指令の前記傾きが正であると判定した場合、前記第３のトルク指令を出力することを特徴とする電動機の制御装置。
【請求項２】
車両情報に基づく第１のトルク指令を、電動機の回転数に基づいて演算されたトルク制限値で制限された第２のトルク指令に制限する第１のトルク制御手段と、
前記第１のトルク制御手段から出力された前記第２のトルク指令の振動を減衰させる伝達特性を有する振動処理手段と、
電動機の回転数に基づいて演算されたトルク制限値で制限する第２のトルク制御手段とを備え、
前記振動処理手段は、前記第１のトルク指令と前記第２のトルク指令が異なるか否か判定する判定手段と、
前記第２のトルク指令および前記伝達特性から第３のトルク指令を演算する演算手段と、
前記判定手段の判定結果に基づいて、前記第２のトルク指令または前記第３のトルク指令を出力する出力手段とを備え、
前記出力手段は、前記第１のトルク指令と前記第２のトルク指令が異なると判定した場合、前記第２のトルク制御手段へ前記第３のトルク指令を出力し、
前記第２のトルク制御手段は、前記第３のトルク指令を前記トルク制限値で制限し最終トルク指令として出力する
ことを特徴とする電動機の制御装置。
【請求項３】
前記伝達特性は、ノッチフィルタであることを特徴とする請求項１又は２のいずれかに記載の電動機の制御装置。
【請求項４】
前記伝達特性は、ローパスフィルタであることを特徴とする請求項１又は２のいずれかに記載の電動機の制御装置。
【請求項５】
前記伝達特性は、ランプ関数（レートリミッタ）であることを特徴とする請求項１又は２のいずれかに記載の電動機の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トルク指令値を制限するリミッタを備える電動機の制御装置およびその制御方法に関する。
【背景技術】
【０００２】
従来、モータ回転数とモータの定格値に基づいて、モータから出力可能な最大トルクを規定したマップを備える電気機器の制御装置がある（特許文献１参照）。また、複数のアクセル開度に対するモータ回転数と出力トルクの関係が予め設定されたトルクマップを備える制振制御装置がある（特許文献２参照）。当該トルクマップに基づいて設定される第１のトルク目標値に、モータ回転数の検出値から算出されたトルク値とモータのトルク指令値との偏差である第２のトルク目標値を加算して、上記トルク指令値としている。このため、第１のトルク目標値の最大値は、上記トルクマップにより制限される。更に、当該制振制御装置では、バンドパスフィルタにより、上記トルク指令値の振動のみを低減した後、第２のトルク目標値を算出している。
【特許文献１】特開２００６−２３８５５２号公報
【特許文献２】特開２００３−９５６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の電気機器の制御装置では、モータ回転数に応じて最大トルクが規定されているため、当該モータ回転数に振動が発生した場合、当該振動に合わせて上記トルク指令値が変動する場合がある。上記トルク指令値が変動することで、更に、モータ回転数の振動を誘起させてしまうため、当該振動を効果的に低減できない場合があった。同様に、従来の制振制御装置でも、トルクマップによりトルク指令値が制限されるため、上記振動を効果的に低減できない可能性があるといった問題があった。
【０００４】
本発明は、こうした問題に鑑みてなされたものであり、モータ回転数の振動を低減させることができる電動機の制御装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的達成のため、本発明に係る電動機の制御装置では、振動処理手段は、第１のトルク指令を、電動機の回転数に基づいて演算されたトルク制限値で制限された第２のトルク指令に制限する第１のトルク制御手段から出力された上記第２のトルク指令の振動を減衰させる伝達特性から第３のトルク指令を演算する演算手段と、上記第１のトルク指令と上記第２のトルク指令が異なるか否か判定する判定手段と、上記判定手段の判定結果に基づいて、上記第２のトルク指令または上記第３のトルク指令を出力する出力手段とを備えることを特徴としている。
【発明の効果】
【０００６】
本発明により、従来技術のようにトルクマップによりトルク指令値が制限されることなくトルク指令値が変動することで誘起されるモータ回転数の振動を低減させることができる。
【発明を実施するための最良の形態】
【０００７】
本発明に係る電動機の制御装置を含む装置の一例として、直流電源の直流電力をＰＷＭ変調することにより３相電力をモータに供給するインバータを備える車両用のインバータシステムについて説明する。以下に、本発明の第１乃至第３の実施形態に係るインバータシステムについて、図１乃至図９を参照して説明する。
【０００８】
（第１の実施形態）
（インバータシステムの構成）
以下、図１を参照して、本発明の第１の実施形態を適用したインバータシステムの構成と動作について説明する。図１は、本発明の第１の実施形態を適用したインバータシステムの概略構成図である。本インバータシステムは、図１に示すように、インターフェイス回路１、マイクロコンピュータ２、ドライブ回路３、インバータ４、電動機であるモータ５、直流電源６、コンデンサ７、電流センサ８および回転センサ９を主に備える。
【０００９】
ここで、インターフェイス回路１は、車速、アクセル開度、モータ５の回転子位相、モータ５の３相電流ｉｕ［Ａ］、ｉｖ［Ａ］，ｉｗ［Ａ］等の各種車両変数の信号をデジタル信号として入力する。マイクロコンピュータ２は、上記各種車両変数に応じて、モータ５を制御するＰＷＭ信号（ｏｎ ｄｕｔｙ）ｔｕ［％］、ｔｖ［％］、ｔｗ［％］を生成する。ドライブ回路３は、上記ＰＷＭ信号（ｏｎ ｄｕｔｙ）ｔｕ［％］、ｔｖ［％］、ｔｗ［％］に応じてインバータ４を駆動する駆動信号を生成する。
【００１０】
インバータ４は、例えば、各相ごとに２個のスイッチング素子（例えば、ＩＧＢＴ等のパワー半導体素子）からなり、上記駆動信号に応じてスイッチング素子が開閉することにより、モータ５に所望の電流を流して駆動する。その他、直流電源６は、バッテリや燃料電池等である。コンデンサ７は電流リップ吸収用に設けられている。電流センサ８は、Ｕ相電流ｉｕ［Ａ］およびＶ相電流ｉｖ［Ａ］を検出する。Ｗ相電流ｉｗ［Ａ］は、３相電流の合計値が０になることから、Ｕ相電流ｉｕ［Ａ］およびＶ相電流ｉｖ［Ａ］から演算される。回転センサ９は、レゾルバやエンコーダ等からなり、モータ５の回転子位相を検出する。上記車両用インバータシステムでは、基本的には、車速とアクセル開度に応じてトルク指令値を求め、当該トルク指令値に対応したトルクを発生するように、モータ５に流す電流を制御する。
【００１１】
次に、上記車両用インバータシステムの電流フィードバック制御について説明する。まず、回転センサ９で検出された回転子位相を微分して、モータ５の回転子角速度（電気角）ω［ｒａｄ／ｓ］を演算する。回転子位相をθ［ｒａｄ］とすると、ω＝ｄθ／ｄｔである。次に、トルク指令値、回転子角速度ω［ｒａｄ／ｓ］および直流電源６の出力電圧である直流電圧Ｖｄｃから、ｄｑ軸電流目標値ｉｄ＊［Ａ］、ｉｑ＊［Ａ］をｔａｂｌｅ参照で求める。次に、３相電流ｉｕ［Ａ］、ｉｖ［Ａ］，ｉｗ［Ａ］と回転子位相から、ｄｑ軸電流値ｉｄ［Ａ］、ｉｑ［Ａ］を演算する。次に、ｄｑ軸電流目標値ｉｄ＊［Ａ］、ｉｑ＊［Ａ］とｄｑ軸電流値ｉｄ［Ａ］、ｉｑ［Ａ］との偏差からｄｑ軸電圧指令値ｖｄ［Ｖ］、ｖｑ［Ｖ］を演算する。なお、この部分に非干渉制御を加えることもある。
【００１２】
次に、ｄｑ軸電圧指令値ｖｄ［Ｖ］、ｖｑ［Ｖ］と回転子位相から、３相電圧指令値ｖｕ［Ｖ］、ｖｖ［Ｖ］、ｖｗ［Ｖ］を演算する。次に、３相電圧指令値ｖｕ［Ｖ］、ｖｖ［Ｖ］、ｖｗ［Ｖ］と直流電圧値ｖｄｃからＰＷＭ信号（ｏｎ ｄｕｔｙ）ｔｕ［％］、ｔｖ［％］、ｔｗ［％］を演算する。上記のように求められたＰＷＭ信号（ｏｎ ｄｕｔｙ）ｔｕ［％］、ｔｖ［％］、ｔｗ［％］によってインバータ４のスイッチング素子が開閉制御され、モータ５がトルク指令値で指示された所望のトルクで駆動される。このようにして、モータ５に対して電流フィードバックによるベクトル制御が行なわれる。
【００１３】
（制御装置１０の構成）
次に、第１の実施形態に係る制御装置１０の構成と動作について、図２を参照して説明する。図２は、本発明の第１の実施形態に係る制御装置１０の制御モデルを示す図である。図２に示す制御装置１０は、図１のマイクロコンピュータ２に含まれており、図２に示す機械系振動要素１３は、図１のドライブ回路３、インバータ４およびモータ５等を含む機械系要素をモデル化したものである。機械系振動要素１３は、最終トルク指令値Ｔ［Ｎｍ］および機械系振動要素１３の伝達特性Ｈ（ｓ）に基づいて、モータ回転数ｎ［ｒｐｍ］を出力する。ここで、機械系振動要素１３の伝達特性Ｈ（ｓ）を、下記（数１）式に示す。
【００１４】
【数１】
0005298498.tif 000002
但し、（数１）式において、ｓ：ラプラス演算子、ξｐ：減衰定数、ｂ１、ｂ２：定数、Ｊ：慣性モーメント［ｋｇｍ２］、ωｐ：振動角周波数［ｒａｄ／ｓ］である。
【００１５】
制御装置１０は、図１に示した車速、アクセル開度などの車両情報に基づく第１のトルク指令である基本トルク指令値Ｔ＊［Ｎｍ］に基づいて、機械系振動要素１３に最終トルク指令値Ｔ［Ｎｍ］を出力する。具体的には、基本トルク指令値Ｔ＊［Ｎｍ］を第２のトルク指令である制限後トルク指令値Ｔ’［Ｎｍ］に制限する第１のトルク制御手段である第１のトルク制限部１１を備える。更に、第１のトルク制限部１１から出力された制限後トルク指令値Ｔ’［Ｎｍ］の振動を減衰させる伝達特性Ｇ（ｚ）を有する振動処理手段であるフィルタ処理部１２を備えている。ここで、フィルタ処理部１２の伝達特性Ｇ（ｚ）は、下記（数２）式に示すように、時定数２００［ｍｓ］のローパスフィルタである。
【００１６】
【数２】
0005298498.tif 000003
次に、第１のトルク制限部１１の内部構造について説明する。第１のトルク制限部１１は、モータ回転数ｎ［ｒｐｍ］からトルク制限値Ｔｌｉｍ［Ｎｍ］を演算するトルク制限値演算部１１２を備える。更に、当該トルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限するリミッタ部１１１を備える。ここで、モータ回転数ｎ［ｒｐｍ］とトルク制限値Ｔｌｉｍ［Ｎｍ］の関係の一例を図３に示す。図３は、図１に示すトルク制限値演算部１１２におけるトルク制限値Ｔｌｉｍ［Ｎｍ］の一例を示す図である。図３に示すように、トルク制限値演算部１１２は、モータ回転数ｎ［ｒｐｍ］毎のトルク制限値Ｔｌｉｍ［Ｎｍ］をグラフ化し、記憶している。一方、リミッタ部１１１は、トルク制限値演算部１１２で演算されたトルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限する。更に、制限後トルク指令値Ｔ’［Ｎｍ］をフィルタ処理部１２へ出力する。
【００１７】
ここで、モータ回転数ｎ［ｒｐｍ］に振動が発生した場合について説明する。モータ回転数ｎ［ｒｐｍ］に振動が発生した場合、モータ回転数ｎ［ｒｐｍ］の振動に応じて、トルク制限値演算部１１２で演算されたトルク制限値Ｔｌｉｍ［Ｎｍ］も変動する場合がある。上記のように、トルク制限値Ｔｌｉｍ［Ｎｍ］により、基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限している。そのため、基本トルク指令値Ｔ＊［Ｎｍ］が一定でも、トルク制限値Ｔｌｉｍ［Ｎｍ］が変動した場合、制限後トルク指令値Ｔ’［Ｎｍ］も変動する。よって、モータ回転数ｎ［ｒｐｍ］に振動が発生した場合、基本トルク指令値Ｔ＊［Ｎｍ］が一定であっても、制限後トルク指令値Ｔ’［Ｎｍ］が変動する場合がある（後述する図５の制限後トルク指令値Ｔ’［Ｎｍ］参照）。
【００１８】
従来の電気機器の制御装置および制振制御装置では、制限後トルク指令値Ｔ’［Ｎｍ］、すなわち、最終トルク指令値Ｔ［Ｎｍ］が変動することで、更に、モータ回転数ｎ［ｒｐｍ］の振動を誘起させてしまう場合があった。このため、当該振動を効果的に低減できない場合があった。しかし、本発明の第１の実施形態に係る制御装置１０では、モータ回転数ｎ［ｒｐｍ］の振動を低減するため、フィルタ処理部１２を備えている。これから、後述するように、モータ回転数ｎ［ｒｐｍ］の振動を効果的に低減している。なお、図３に示したように、トルク制限値演算部１１２が記憶するグラフには、正トルクリミットと負トルクリミットがある。以下、第１の実施形態では、当該正トルクリミットにより、基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限する場合について説明する。
【００１９】
次に、フィルタ処理部１２の内部構造について、フィルタ処理部１２は、フラグ判定部１２１と、判定手段であるリミッタ作動判定部１２２と、演算手段である演算部１２３と、記憶部１２４と、トルク判定部１２５と、出力手段である制御部１２６とを備える。リミッタ作動判定部１２２は、トルク制限値演算部１１２で演算されたトルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、リミッタ部１１１が基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限したか否か判定する。すなわち、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］を比較し、異なるか否か判定する。また、リミッタ作動判定部１２２は、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正か否か判定する。
【００２０】
演算部１２３は、制限後トルク指令値Ｔ’［Ｎｍ］およびフィルタ処理部１２の伝達特性Ｇ（ｚ）（以下、フィルタＧ（ｚ）とする。）から第３のトルク指令であるフィルタ後トルク指令値Ｔ”［Ｎｍ］（図４参照）を演算する。更に、演算部１２３は、フィルタ後トルク指令値Ｔ”［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入する。また、演算部１２３は、制限後トルク指令値Ｔ’［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入する。記憶部１２４は、フィルタＧ（ｚ）およびフィルタ動作フラグを記憶する。フラグ判定部１２１は、フィルタ動作フラグが１か否か判定する。トルク判定部１２５は、演算部１２３によるフィルタ後トルク指令値Ｔ”［Ｎｍ］の演算の停止条件を判定する。すなわち、制限後トルク指令値Ｔ’［Ｎｍ］が最終トルク指令値Ｔ［Ｎｍ］以下か否か判定する。
【００２１】
制御部１２６は、フラグ判定部１２１、リミッタ作動判定部１２２、演算部１２３、記憶部１２４およびトルク判定部１２５の間のデータの入出力制御を実行する。更に、制御部１２６は、リミッタ作動判定部１２２の判定結果に基づいて、制限後トルク指令値Ｔ’［Ｎｍ］またはフィルタ後トルク指令値Ｔ”［Ｎｍ］を、最終トルク指令値Ｔ［Ｎｍ］として、機械系振動要素１３へ出力する。すなわち、リミッタ作動判定部１２２が、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定し、かつ、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正であると判定した場合、フィルタ動作フラグを１にする。更に、制御部１２６は、フィルタ動作フラグが１の場合のみ、演算部１２３にフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算させ、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する。また、制御部１２６は、制限後トルク指令値Ｔ’［Ｎｍ］が最終トルク指令値Ｔ［Ｎｍ］以下であるとトルク判定部１２５が判定した場合、フィルタ動作フラグを０に戻す。
【００２２】
（フィルタ処理部１２で実行される制御方法）
次に、第１の実施形態に係る制御装置１０のフィルタ処理部１２で実行される制御方法について、図４を参照して説明する。図４は、図２に示すフィルタ処理部１２で実行される制御方法を示すフローチャートである。本制御方法は、図４に示すフローチャートのプログラムをフィルタ処理部１２に組み込み実現している。図４に示すように、まず、制御部１２６は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる（ステップＳ１０１）。フィルタ動作フラグが１でないとフラグ判定部１２１が判定した場合（ステップＳ１０１：Ｎｏ）、制御部１２６は、リミッタ作動か否かリミッタ作動判定部１２２に判定させる（ステップＳ１０２）。すなわち、正トルクリミットより基本トルク指令値Ｔ＊［Ｎｍ］が大きいため、モータ回転数ｎ［ｒｐｍ］に対応するトルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、基本トルク指令値Ｔ＊［Ｎｍ］が制限されたか否か判定させる。具体的には、リミッタ作動判定部１２２は、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］を比較し、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なるか否か判定する。
【００２３】
次に、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異ならないとリミッタ作動判定部１２２が判定した場合（ステップＳ１０２：Ｎｏ）、ステップＳ１０６の制御処理へ移行する。ステップＳ１０６の制御処理において、制御部１２６は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる。この場合、フィルタ動作フラグは１になっていないので、フィルタ動作フラグが１でないとフラグ判定部１２１は判定する（ステップＳ１０６：Ｎｏ）。フィルタ動作フラグが１でないとフラグ判定部１２１が判定した場合（ステップＳ１０６：Ｎｏ）、制御部１２６は、演算部１２３に制限後トルク指令値Ｔ’［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入させる（ステップＳ１０８）。制御部１２６は、上記最終トルク指令値Ｔ［Ｎｍ］を出力する。これから、リミッタ作動するまで、すなわち、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定するまで、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］を出力し続ける。その後、ステップＳ１０１に戻り、以下の制御処理を順次実行する。
【００２４】
その後、リミッタ作動したとリミッタ作動判定部１２２が判定した場合（ステップＳ１０２：Ｙｅｓ）、制御部１２６は、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正か否かリミッタ作動判定部１２２に判定させる（ステップＳ１０３）。制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正でないとリミッタ作動判定部１２２が判定した場合（ステップＳ１０３：Ｎｏ）、ステップＳ１０６の制御処理へ移行する。この場合も、フィルタ動作フラグは１になっていないので、フィルタ動作フラグが１でないとフラグ判定部１２１は判定し（ステップＳ１０６：Ｎｏ）、ステップＳ１０８の制御処理へ移行する。ステップＳ１０８の制御処理において、上記と同様に、制御部１２６は、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］を出力する。これから、リミッタ作動しても、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正になるまで、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］を出力し続ける。その後、ステップＳ１０１に戻り、以下の制御処理を順次実行する。
【００２５】
その後、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正であるとリミッタ作動判定部１２２が判定した場合（ステップＳ１０３：Ｙｅｓ）、ステップＳ１０４の制御処理へ移行する。ステップＳ１０４の制御処理において、制御部１２６は、演算部１２３にフィルタＧ（ｚ）を制限後トルク指令値Ｔ’［Ｎｍ］で初期化させる。ここで、初期化とは、フィルタＧ（ｚ）の入力が制限後トルク指令値Ｔ’［Ｎｍ］で無限時間経過した状態にすることである。次に、制御部１２６は、記憶部１２４に記憶されたフィルタ動作フラグを１にする（ステップＳ１０５）。次に、制御部１２６は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる（ステップＳ１０６）。上記のように、フィルタ動作フラグは１になっているので、フィルタ動作フラグが１であるとフラグ判定部１２１は判定し（ステップＳ１０６：Ｙｅｓ）、ステップＳ１０７の制御処理へ移行する。
【００２６】
ステップＳ１０７の制御処理において、制御部１２６は、制限後トルク指令値Ｔ’［Ｎｍ］およびフィルタＧ（ｚ）からフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算部１２３に演算させる。更に、制御部１２６は、演算部１２３にフィルタ後トルク指令値Ｔ”［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入させる。制御部１２６は、上記最終トルク指令値Ｔ［Ｎｍ］を出力する。これから、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定し、かつ、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正であると判定した場合、フィルタ動作フラグを１にする。そして、フィルタ動作フラグが１の場合のみ、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する。その後、ステップＳ１０１に戻り、以下の制御処理を順次実行する。
【００２７】
その後、フィルタ動作フラグが１であるとフラグ判定部１２１が判定した場合（ステップＳ１０１：Ｙｅｓ）、ステップＳ１０９の制御処理へ移行する。ステップＳ１０９の制御処理において、制御部１２６は、制限後トルク指令値Ｔ’［Ｎｍ］が最終トルク指令値Ｔ［Ｎｍ］、すなわち、フィルタ後トルク指令値Ｔ”［Ｎｍ］以下か否かトルク判定部１２５に判定させる。制限後トルク指令値Ｔ’［Ｎｍ］が最終トルク指令値Ｔ［Ｎｍ］以下でないとトルク判定部１２５が判定した場合（ステップＳ１０９：Ｎｏ）、ステップＳ１０６の制御処理へ移行する。この場合、フィルタ動作フラグは１になっているので、フィルタ動作フラグが１であるとフラグ判定部１２１は判定し（ステップＳ１０６：Ｙｅｓ）、ステップＳ１０７の制御処理へ移行する。ステップＳ１０７の制御処理において、上記と同様に、制御部１２６は、最終トルク指令値Ｔ［Ｎｍ］として、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する。これから、フィルタ動作フラグが１である限り、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力し続ける。その後、ステップＳ１０１に戻り、以下の制御処理を順次実行する。
【００２８】
その後、制限後トルク指令値Ｔ’［Ｎｍ］が最終トルク指令値Ｔ［Ｎｍ］以下であるとトルク判定部１２５が判定した場合（ステップＳ１０９：Ｙｅｓ）、制御部１２６は、フィルタ動作フラグを０に戻す（ステップＳ１１０）。次に、制御部１２６は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる（ステップＳ１０６）。上記のように、フィルタ動作フラグは１になっていないので、フィルタ動作フラグが１でないとフラグ判定部１２１は判定し（ステップＳ１０６：Ｎｏ）、ステップＳ１０８の制御処理へ移行する。
【００２９】
ステップＳ１０８の制御処理において、制御部１２６は、フィルタＧ（ｚ）によるフィルタ後トルク指令値Ｔ”［Ｎｍ］の演算を停止させる。更に、演算部１２３に制限後トルク指令値Ｔ’［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入させる。制御部１２６は、上記最終トルク指令値Ｔ［Ｎｍ］を出力する。これにより、制限後トルク指令値Ｔ’［Ｎｍ］が最終トルク指令値Ｔ［Ｎｍ］以下になった場合には、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する必要が無いので、フィルタ動作フラグを０に戻す。更に、フィルタ後トルク指令値Ｔ”［Ｎｍ］の演算を停止する。そして、フィルタ動作フラグが再度１になるまで、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］を出力し続ける。以降、ステップＳ１０１〜Ｓ１１０の制御処理を順次、繰り返し実行する。
【００３０】
図５は、図２に示すフィルタ処理部１２における制限後トルク指令値Ｔ’［Ｎｍ］および最終トルク指令値Ｔ［Ｎｍ］の波形を示す図である。図５では、基本トルク指令値Ｔ＊［Ｎｍ］を１００［Ｎｍ］一定としている。しかし、図５に示すように、モータ回転数ｎ［ｒｐｍ］に振動が発生しているので、トルク制限値Ｔｌｉｍ［Ｎｍ］が変動し、よって、制限後トルク指令値Ｔ’［Ｎｍ］も変動する。しかし、第１の実施形態に係るフィルタ処理部１２は、制限後トルク指令値Ｔ’［Ｎｍ］およびローパスフィルタであるフィルタＧ（ｚ）からフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算し、最終トルク指令値Ｔ［Ｎｍ］として出力する。図５に示したように、最終トルク指令値Ｔ［Ｎｍ］であるフィルタ後トルク指令値Ｔ”［Ｎｍ］は、フィルタＧ（ｚ）によって、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動する。
【００３１】
これから、モータ回転数ｎ［ｒｐｍ］の振動に基づく制限後トルク指令値Ｔ’［Ｎｍ］の変動量を大幅に小さくしたフィルタ後トルク指令値Ｔ”［Ｎｍ］を出力することができる。よって、最終トルク指令値Ｔ［Ｎｍ］が変動することで誘起されるモータ回転数ｎ［ｒｐｍ］の振動を効果的に低減させることができる。また、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定し、かつ、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正であると判定した場合、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力している。これから、上記の条件を満たした場合、すなわち、必要な場合、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動するフィルタ後トルク指令値Ｔ”［Ｎｍ］を出力できる。一方、上記の条件を満たさない場合、すなわち、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する必要がない場合、最終トルク指令値Ｔ［Ｎｍ］として、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力しない。代わりに、制限後トルク指令値Ｔ’［Ｎｍ］を出力できる。
【００３２】
また、制限後トルク指令値Ｔ’［Ｎｍ］が最終トルク指令値Ｔ［Ｎｍ］、すなわち、フィルタ後トルク指令値Ｔ”［Ｎｍ］以下であると判定した場合、フィルタ動作フラグを０にし、制限後トルク指令値Ｔ’［Ｎｍ］を出力する。これから、上記の条件を満たし、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力した後、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する必要がなくなった場合には、フィルタ後トルク指令値Ｔ”［Ｎｍ］の演算を自動的に停止できる。そして、フィルタ後トルク指令値Ｔ”［Ｎｍ］の代わりに、制限後トルク指令値Ｔ’［Ｎｍ］を自動的に出力できる。本制御方法により、制限後トルク指令値Ｔ’［Ｎｍ］またはフィルタ後トルク指令値Ｔ”［Ｎｍ］を自動的に切替えて、最終トルク指令値Ｔ［Ｎｍ］として、機械系振動要素１３へ出力することができる。
【００３３】
以上より、第１の実施形態に係る制御装置１０では、車両情報に基づく基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限する第１のトルク制限部１１を備える。制限後トルク指令値Ｔ’［Ｎｍ］は、モータ回転数ｎ［ｒｐｍ］に基づいて演算されたトルク制限値Ｔｌｉｍ［Ｎｍ］で制限される。更に、第１のトルク制限部１１から出力された制限後トルク指令値Ｔ’［Ｎｍ］の振動を減衰させるフィルタＧ（ｚ）を有するフィルタ処理部１２を備える。また、フィルタ処理部１２は、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なるか否か判定するリミッタ作動判定部１２２を備える。更に、制限後トルク指令値Ｔ’［Ｎｍ］およびフィルタＧ（ｚ）からフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算する演算部１２３を備える。また、リミッタ作動判定部１２２の判定結果に基づいて、制限後トルク指令値Ｔ’［Ｎｍ］またはフィルタ後トルク指令値Ｔ”［Ｎｍ］を、最終トルク指令値Ｔ［Ｎｍ］として出力する制御部１２６とを備えている。これから、モータ回転数ｎ［ｒｐｍ］の振動に基づく制限後トルク指令値Ｔ’［Ｎｍ］の変動量を大幅に小さくしたフィルタ後トルク指令値Ｔ”［Ｎｍ］を出力することができる。よって、最終トルク指令値Ｔ［Ｎｍ］が変動することで誘起されるモータ回転数ｎ［ｒｐｍ］の振動を低減させることができる。
【００３４】
また、第１の実施形態に係る制御装置１０では、リミッタ作動判定部１２２は、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正か否か判定する。制御部１２６は、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定し、かつ、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正であると判定した場合、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する。これから、必要な場合、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動するフィルタ後トルク指令値Ｔ”［Ｎｍ］を出力できる。
【００３５】
（第２の実施形態）
次に、第２の実施形態に係る制御装置２０について、第１の実施形態に係る制御装置１０と異なる点を中心に図６乃至図７を参照して説明する。また、第２の実施形態に係る制御装置２０について、第１の実施形態に係る制御装置１０と同様の構造には同じ番号を付し、説明を省略する。図６は、本発明の第２の実施形態に係る制御装置２０の制御モデルを示す図である。図６に示すように、第２の実施形態に係る制御装置２０は、第１の実施形態に係る制御装置１０に、第２のトルク制御手段である第２のトルク制限部２２を追加した構成となっている。また、フィルタ処理部１２の代わりに、振動処理手段であるフィルタ処理部２１を備えている。更に、フィルタ処理部２１は、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力している。
【００３６】
ここで、第２のトルク制限部２２は、モータ回転数ｎ［ｒｐｍ］からトルク制限値Ｔｌｉｍ［Ｎｍ］を演算するトルク制限値演算部２２２を備える。更に、当該トルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、フィルタ後トルク指令値Ｔ”［Ｎｍ］を制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］に制限するリミッタ部２２１を備えている。リミッタ部２２１は、制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］を、最終トルク指令値Ｔ［Ｎｍ］として機械系振動要素１３へ出力するとともに、フィルタ処理部２１へも出力する。なお、トルク制限値演算部２２２は、第１のトルク制限部１１のトルク制限値演算部１１１と全く同じである。そのため、トルク制限値演算部２２２が記憶するグラフにも、正トルクリミットおよび負トルクリミットがある。
【００３７】
次に、フィルタ処理部２１の内部構造について、フィルタ処理部２１は、フラグ判定部１２１と、判定手段であるリミッタ作動判定部２１１と、演算手段である演算部２１２と、記憶部１２４と、トルク判定部２１４と、出力手段である制御部２１３とを備える。以下、第１の実施形態と異なるリミッタ作動判定部２１１、演算部２１２、トルク判定部２１４および制御部２１３のみ説明する。リミッタ作動判定部２１１は、トルク制限値演算部１１２で演算されたトルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、リミッタ部１１１が基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限したか否か判定する。すなわち、第１の実施形態のリミッタ作動判定部１２２と同様に、第１のトルク指令である基本トルク指令値Ｔ＊［Ｎｍ］と第２のトルク指令である制限後トルク指令値Ｔ’［Ｎｍ］を比較し、異なるか否か判定する。しかし、第１の実施形態のリミッタ作動判定部１２２と異なり、リミッタ作動判定部２１１は、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが正か否か判定しない。
【００３８】
演算部２１２は、第１の実施形態の演算部１２３と同様に、制限後トルク指令値Ｔ’［Ｎｍ］およびフィルタＧ（ｚ）から第３のトルク指令であるフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算する。しかし、第１の実施形態と異なり、最終トルク指令値Ｔ［Ｎｍ］として、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力しないので、演算部２１２は、フィルタ後トルク指令値Ｔ”［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入しない。また、演算部２１２は、第１の実施形態の演算部１２３と同様に、制限後トルク指令値Ｔ’［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入する。トルク判定部２１４は、第１の実施形態のトルク判定部１２５と同様に、演算部２１２によるフィルタ後トルク指令値Ｔ”［Ｎｍ］の演算の停止条件を判定する。しかし、第２の実施形態では、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力する。そこで、トルク判定部２１４は、制限後トルク指令値Ｔ’［Ｎｍ］が制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］以下か否か判定する。
【００３９】
制御部２１３は、第１の実施形態の制御部１２６と同様に、フラグ判定部１２１、リミッタ作動判定部２１１、演算部２１２、記憶部１２４およびトルク判定部２１４の間のデータの入出力制御を実行する。更に、制御部２１３は、リミッタ作動判定部２１１の判定結果に基づいて、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］を機械系振動要素１３へ出力する。または、リミッタ作動判定部２１１の判定結果に基づいて、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力する。すなわち、第１の実施形態と異なり、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なるとリミッタ作動判定部２１１が判定した場合、フィルタ動作フラグを１にする。更に、制御部２１３は、フィルタ動作フラグが１の場合のみ、演算部２１２にフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算させる。そして、制御部２１３は、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力する。また、制御部２１３は、制限後トルク指令値Ｔ’［Ｎｍ］が制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］以下であるとトルク判定部２１４が判定した場合、フィルタ動作フラグを０に戻す。
【００４０】
（フィルタ処理部２１で実行される制御方法）
次に、第２の実施形態に係る制御装置２０のフィルタ処理部２１で実行される制御方法について、図７を参照して説明する。図７は、図６に示すフィルタ処理部２１で実行される制御方法を示すフローチャートである。本制御方法は、図７に示すフローチャートのプログラムをフィルタ処理部２１に組み込み実現している。図７に示すように、第２の実施形態に係るフローチャートは、第１の実施形態に係るフローチャートとほとんど同じである。第２の実施形態に係るフローチャートが、第1の実施形態と異なる点は、ステップＳ１０３の制御処理がない点と、ステップＳ２０６、Ｓ２０７およびＳ２０９の制御処理が異なる点だけである。そのため、ステップＳ２０１およびＳ２０２の制御処理は、ステップＳ１０１およびＳ１０２の制御処理と同じである。更に、ステップＳ２０８の制御処理はステップＳ１０８の制御処理と、ステップＳ２１０の制御処理はステップＳ１１０の制御処理と、同じである。そこで、第１の実施形態と異なる点を中心に説明する。
【００４１】
上記のように、第２の実施形態に係るフローチャートでは、第１の実施形態と異なり、ステップＳ１０３の制御処理がない。そのため、リミッタ作動したとリミッタ作動判定部２１１が判定した場合（ステップＳ２０２：Ｙｅｓ）、制御部２１３は、演算部２１２にフィルタＧ（ｚ）を制限後トルク指令値Ｔ’［Ｎｍ］で初期化させる（ステップＳ２０３）。次に、制御部２１３は、第１の実施形態と同様に、記憶部１２４に記憶されたフィルタ動作フラグを１にする（ステップＳ２０４）。次に、制御部２１３は、第１の実施形態と同様に、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる（ステップＳ２０５）。上記のように、フィルタ動作フラグは１になっているので、フィルタ動作フラグが１であるとフラグ判定部１２１は判定し（ステップＳ２０５：Ｙｅｓ）、ステップＳ２０６の制御処理へ移行する。
【００４２】
ステップＳ２０６の制御処理において、制御部２１３は、制限後トルク指令値Ｔ’［Ｎｍ］およびフィルタＧ（ｚ）からフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算部２１２に演算させる。しかし、第１の実施形態と異なり、制御部２１３は、演算部２１２にフィルタ後トルク指令値Ｔ”［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］へ代入させない。次に、制御部２１３は、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力する（ステップＳ２０７）。これから、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定した場合、フィルタ動作フラグを１にする。そして、フィルタ動作フラグが１の場合のみ、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力する。その後、ステップＳ２０１に戻り、以下の制御処理を順次実行する。
【００４３】
その後、フィルタ動作フラグが１であるとフラグ判定部１２１が判定した場合（ステップＳ２０１：Ｙｅｓ）、ステップＳ２０９の制御処理へ移行する。ステップＳ２０９の制御処理において、制御部２１３は、制限後トルク指令値Ｔ’［Ｎｍ］が制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］以下か否かトルク判定部２１４に判定させる。制限後トルク指令値Ｔ’［Ｎｍ］が制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］以下でないとトルク判定部２１４が判定した場合（ステップＳ２０９：Ｎｏ）、ステップＳ２０６の制御処理へ移行する。一方、制限後トルク指令値Ｔ’［Ｎｍ］が制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］以下であるとトルク判定部２１４が判定した場合（ステップＳ２０９：Ｙｅｓ）、ステップＳ２１０の制御処理へ移行する。ステップＳ２１０の制御処理において、ステップＳ１１０と同様の制御処理を実行する。以降、ステップＳ２０１〜Ｓ２１０の制御処理を順次、繰り返し実行する。
【００４４】
次に、第２の実施形態の制御装置２０から出力される最終トルク指令値Ｔ［Ｎｍ］について説明する。第２の実施形態では、第１の実施形態と同様に、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異ならない場合、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］を出力する。一方、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なった場合、制限後トルク指令値Ｔ’［Ｎｍ］およびローパスフィルタであるフィルタＧ（ｚ）からフィルタ後トルク指令値Ｔ”［Ｎｍ］を演算する。このため、フィルタ後トルク指令値Ｔ”［Ｎｍ］は、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動する。また、制限後トルク指令値Ｔ’［Ｎｍ］の傾きが負の場合でも、フィルタ後トルク指令値Ｔ”［Ｎｍ］を演算する。そうすると、モータ回転数ｎ［ｒｐｍ］におけるフィルタ後トルク指令値Ｔ”［Ｎｍ］が、正トルクリミットより大きい場合がある。
【００４５】
そこで、第２の実施形態では、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力している。第２のトルク制限部２２は、基本トルク指令値Ｔ＊［Ｎｍ］を制限後トルク指令値Ｔ’［Ｎｍ］に制限したのと同様に、フィルタ後トルク指令値Ｔ”［Ｎｍ］を制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］に制限する。具体的には、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動するフィルタ後トルク指令値Ｔ”［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］のうち低いほうのトルク指令値を、制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］とする。そして、第２のトルク制限部２２は、制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］を、最終トルク指令値Ｔ［Ｎｍ］として機械系振動要素１３へ出力する。更に、第２のトルク制限部２２は、制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］をフィルタ処理部２１にも出力する。
【００４６】
このようにしても、第１の実施形態と同様に、モータ回転数ｎ［ｒｐｍ］の振動に基づく制限後トルク指令値Ｔ’［Ｎｍ］の変動量を小さくした最終トルク指令値Ｔ［Ｎｍ］を機械系振動要素１３へ出力することができる。よって、最終トルク指令値Ｔ［Ｎｍ］が変動することで誘起されるモータ回転数ｎ［ｒｐｍ］の振動を効果的に低減させることができる。また、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定した場合、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力している。これから、上記の条件を満たした場合、すなわち、必要な場合、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動するフィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力できる。よって、必要な場合、制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］を、最終トルク指令値Ｔ［Ｎｍ］として出力できる。一方、上記の条件を満たさない場合、すなわち、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する必要がない場合、フィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力しない。代わりに、最終トルク指令値Ｔ［Ｎｍ］として、制限後トルク指令値Ｔ’［Ｎｍ］を出力できる。
【００４７】
また、制限後トルク指令値Ｔ’［Ｎｍ］が制限後フィルタ後トルク指令値Ｔ１［Ｎｍ］以下であると判定した場合、フィルタ動作フラグを０にし、制限後トルク指令値Ｔ’［Ｎｍ］を出力する。これから、上記の条件を満たし、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力した後、フィルタ後トルク指令値Ｔ”［Ｎｍ］を出力する必要がなくなった場合には、フィルタ後トルク指令値Ｔ”［Ｎｍ］の演算を自動的に停止できる。そして、フィルタ後トルク指令値Ｔ”［Ｎｍ］の代わりに、制限後トルク指令値Ｔ’［Ｎｍ］を自動的に出力できる。本制御方法により、制限後トルク指令値Ｔ’［Ｎｍ］またはフィルタ後トルク指令値Ｔ”［Ｎｍ］を自動的に切替えて、機械系振動要素１３または第２のトルク制限部２２へ出力することができる。
【００４８】
以上より、第２の実施形態に係る制御装置２０は、フィルタ後トルク指令値Ｔ”［Ｎｍ］を制限する第２のトルク制限部２２を備える。また、制御部２１３は、基本トルク指令値Ｔ＊［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］が異なると判定した場合、第２のトルク制限部２２にフィルタ後トルク指令値Ｔ”［Ｎｍ］を出力している。これから、第１の実施形態と同様に、モータ回転数ｎ［ｒｐｍ］の振動に基づく制限後トルク指令値Ｔ’［Ｎｍ］の変動量を小さくした最終トルク指令値Ｔ［Ｎｍ］を機械系振動要素１３へ出力することができる。よって、最終トルク指令値Ｔ［Ｎｍ］が変動することで誘起されるモータ回転数ｎ［ｒｐｍ］の振動を低減させることができる。また、必要な場合、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動するフィルタ後トルク指令値Ｔ”［Ｎｍ］を第２のトルク制限部２２へ出力できる。よって、必要な場合、制限後トルク指令値Ｔ’［Ｎｍ］より遅れて変動するフィルタ後トルク指令値Ｔ”［Ｎｍ］と制限後トルク指令値Ｔ’［Ｎｍ］のうち低いほうのトルク指令値を、最終トルク指令値Ｔ［Ｎｍ］として出力できる。
【００４９】
（第３の実施形態）
次に、第３の実施形態に係る制御装置３０について、第１の実施形態に係る制御装置１０と異なる点を中心に図８乃至図９を参照して説明する。また、第３の実施形態に係る制御装置３０について、第１の実施形態に係る制御装置１０と同様の構造には同じ番号を付し、説明を省略する。図８は、本発明の第３の実施形態に係る制御装置３０の制御モデルを示す図である。第３の実施形態では、トルク演算手段であるフィルタ演算部３２と、第３のトルク制御手段である第１のトルク制限部３３を元々備えている制御装置に、本発明を適用した場合を示している。図８に示すように、第３の実施形態に係る制御装置３０は、上記の制御装置に、振動処理手段であるフィルタ処理部３１を追加した構成となっている。具体的には、基本トルク指令値Ｔ＊［Ｎｍ］とフィルタ演算部３２の間にフィルタ処理部３１を追加する。更に、フィルタ処理部３１は、第１のトルク制限部３３またはフィルタ演算部３２へ基本トルク指令値Ｔ＊［Ｎｍ］を出力する。
【００５０】
ここで、フィルタ演算部３２は、車両情報に基づく第１のトルク指令である基本トルク指令値Ｔ＊［Ｎｍ］の振動を減衰させる伝達特性Ｇ（ｚ）から第４のトルク指令である制限前トルク指令値Ｔ２［Ｎｍ］を演算する。第３の実施形態では、基本トルク指令値Ｔ＊［Ｎｍ］は一定でなく、振動が発生している状態を前提としている。上記の振動を減衰させるフィルタ演算部３２の伝達特性Ｇ（ｚ）（以下、フィルタＧ（ｚ）とする。）は、第１の実施形態に係るフィルタ処理部１２の伝達特性Ｇ（ｚ）と同じである。そして、フィルタ演算部３２は、フィルタ処理部３１および第１のトルク制限部３３へ制限前トルク指令値Ｔ２［Ｎｍ］を出力する。
【００５１】
第１のトルク制限部３３は、モータ回転数ｎ［ｒｐｍ］からトルク制限値Ｔｌｉｍ［Ｎｍ］を演算するトルク制限値演算部３３２を備える。更に、当該トルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、基本トルク指令値Ｔ＊［Ｎｍ］または制限前トルク指令値Ｔ２［Ｎｍ］を第５のトルク指令である最終トルク指令値Ｔ［Ｎｍ］に制限するリミッタ部３３１を備える。リミッタ部３３１は、機械系振動要素１３およびフィルタ処理部３１へ最終トルク指令値Ｔ［Ｎｍ］を出力する。なお、トルク制限値演算部３３２は、第１の実施形態に係る第１のトルク制限部１１のトルク制限値演算部１１１と全く同じである。そのため、トルク制限値演算部３３２が記憶するグラフにも、正トルクリミットおよび負トルクリミットがある。
【００５２】
次に、フィルタ処理部３１の内部構造について、フィルタ処理部３１は、フラグ判定部１２１と、判定手段であるリミッタ作動判定部３１２と、フラグ記憶部３１１と、制御手段である制御部３１３とを備える。以下、第１の実施形態と異なるリミッタ作動判定部３１２、フラグ記憶部３１１および制御部３１３について説明する。リミッタ作動判定部３１２は、トルク制限値Ｔｌｉｍ［Ｎｍ］を用いて、基本トルク指令値Ｔ＊［Ｎｍ］または制限前トルク指令値Ｔ２［Ｎｍ］を、リミッタ部３３１が最終トルク指令値Ｔ［Ｎｍ］に制限したか否か判定する。すなわち、第１の実施形態と異なり、基本トルク指令値Ｔ＊［Ｎｍ］または制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］を比較し、異なるか否か判定する。フラグ記憶部３１１は、第１の実施形態と同様に、フィルタ動作フラグを記憶するが、第１の実施形態と異なり、フィルタＧ（ｚ）は記憶しない。
【００５３】
制御部３１３は、第１の実施形態の制御部１２６と同様に、フラグ判定部１２１、リミッタ作動判定部３１２、フラグ記憶部３１１の間のデータの入出力制御を実行する。更に、制御部３１３は、リミッタ作動判定部３１２の判定結果に基づいて、第１のトルク制限部３３またはフィルタ演算部３２へ、基本トルク指令値Ｔ＊［Ｎｍ］を出力する。すなわち、第１の実施形態と異なり、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なるとリミッタ作動判定部３１２が判定した場合、制御部３１３は、フィルタ動作フラグを０に戻す。更に、制御部３１３は、フィルタ動作フラグが０の場合のみ、基本トルク指令値Ｔ＊［Ｎｍ］を第１のトルク制限部３３へ出力する。そして、基本トルク指令値Ｔ＊［Ｎｍ］を制限させる。
【００５４】
一方、基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異ならないとリミッタ作動判定部３１２が判定した場合、制御部３１３は、フィルタ動作フラグを１にする。更に、制御部３１３は、フィルタ動作フラグが１の場合のみ、基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力する。制御部３１３は、基本トルク指令値Ｔ＊［Ｎｍ］およびフィルタＧ（ｚ）から制限前トルク指令値Ｔ２［Ｎｍ］をフィルタ演算部３２に演算させる。そして、制限前トルク指令値Ｔ２［Ｎｍ］をフィルタ演算部３２から第１のトルク制限部３３へ出力させる。
【００５５】
（フィルタ処理部３１で実行される制御方法）
次に、第１の実施形態に係る制御装置３０のフィルタ処理部３１で実行される制御方法について、図９を参照して説明する。図９は、図８に示すフィルタ処理部３１で実行される制御方法を示すフローチャートである。本制御方法は、図９に示すフローチャートのプログラムをフィルタ処理部３１に組み込み実現している。図９に示すように、まず、制御部３１３は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる（ステップＳ３０１）。フィルタ動作フラグが１であるとフラグ判定部１２１が判定した場合（ステップＳ３０１：Ｙｅｓ）、制御部３１３は、リミッタ作動か否かリミッタ作動判定部３１２に判定させる（ステップＳ３０２）。具体的には、リミッタ作動判定部３１２は、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］を比較し、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なるか否か判定する。
【００５６】
次に、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異ならないとリミッタ作動判定部３１２が判定した場合（ステップＳ３０２：Ｎｏ）、ステップＳ３０４の制御処理へ移行する。ステップＳ３０４の制御処理において、制御部３１３は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる。この場合、フィルタ動作フラグは１になっているので、フィルタ動作フラグが１であるとフラグ判定部１２１は判定する（ステップＳ３０４：Ｙｅｓ）。フィルタ動作フラグが１であるとフラグ判定部１２１が判定した場合（ステップＳ３０４：Ｙｅｓ）、制御部３１３は、基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力する（ステップＳ３０５）。これから、リミッタ作動するまで、すなわち、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なると判定するまで、基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力し続ける。その後、ステップＳ３０１に戻り、以下の制御処理を順次実行する。
【００５７】
その後、リミッタ作動したとリミッタ作動判定部３１２が判定した場合（ステップＳ３０２：Ｙｅｓ）、制御部３１３は、フラグ記憶部３１１に記憶されたフィルタ動作フラグを０にする（ステップＳ３０３）。次に、制御部３１３は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる（ステップＳ３０４）。上記のように、フィルタ動作フラグは１になっていないので、フィルタ動作フラグが１でないとフラグ判定部１２１は判定し（ステップＳ３０４：Ｎｏ）、ステップＳ３０６の制御処理へ移行する。ステップＳ３０６の制御処理において、制御部３１３は、基本トルク指令値Ｔ＊［Ｎｍ］を第１のトルク制限部３３へ出力する。これから、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なると判定した場合、フィルタ動作フラグを０にする。そして、フィルタ動作フラグが０の場合のみ、基本トルク指令値Ｔ＊［Ｎｍ］を第１のトルク制限部３３へ出力する。その後、ステップＳ３０１に戻り、以下の制御処理を順次実行する。
【００５８】
その後、フィルタ動作フラグが１でないとフラグ判定部１２１が判定した場合（ステップＳ３０１：Ｎｏ）、制御部３１３は、リミッタ作動か否かリミッタ作動判定部３１２に判定させる（ステップＳ３０７）。具体的には、リミッタ作動判定部３１２は、基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］を比較し、基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なるか否か判定する。基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なるとリミッタ作動判定部３１２が判定した場合（ステップＳ３０７：Ｙｅｓ）、ステップＳ３０４の制御処理へ移行する。この場合、フィルタ動作フラグは１になっていないので、フィルタ動作フラグが１でないとフラグ判定部１２１は判定し（ステップＳ３０４：Ｎｏ）、ステップＳ３０６の制御処理へ移行する。ステップＳ３０６の制御処理において、上記と同様に、制御部３１３は、基本トルク指令値Ｔ＊［Ｎｍ］を第１のトルク制限部３３へ出力する。これから、フィルタ動作フラグが０である限り、基本トルク指令値Ｔ＊［Ｎｍ］を第１のトルク制限部３３へ出力し続ける。その後、ステップＳ３０１に戻り、以下の制御処理を順次実行する。
【００５９】
その後、基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異ならないとリミッタ作動判定部３１２が判定した場合（ステップＳ３０７：Ｎｏ）、ステップＳ３０８の制御処理へ移行する。ステップＳ３０８の制御処理において、制御部３１３は、フィルタ演算部３２のフィルタＧ（ｚ）を最終トルク指令値Ｔ［Ｎｍ］で初期化させる。ここで、初期化とは、フィルタＧ（ｚ）の入力が最終トルク指令値Ｔ［Ｎｍ］で無限時間経過した状態にすることである。次に、制御部３１３は、フラグ記憶部３１１に記憶されたフィルタ動作フラグを１にする（ステップＳ３０９）。次に、制御部３１３は、フィルタ動作フラグが１か否かフラグ判定部１２１に判定させる（ステップＳ３０４）。上記のように、フィルタ動作フラグは１になっているので、フィルタ動作フラグが１であるとフラグ判定部１２１は判定し（ステップＳ３０４：Ｙｅｓ）、ステップＳ３０５の制御処理へ移行する。
【００６０】
ステップＳ３０５の制御処理において、制御部３１３は、基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力する。これにより、基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異ならない場合には、フィルタ動作フラグを１にする。そして、フィルタ動作フラグが再度０になるまで、基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力し続ける。以降、ステップＳ３０１〜Ｓ３０９の制御処理を順次、繰り返し実行する。これから、第３の実施形態では、第１の実施形態と異なり、リミッタ作動していない間、制御部３１３は基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力する。そして、制限前トルク指令値Ｔ２［Ｎｍ］をフィルタ演算部３２から第１のトルク制限部３３へ出力させる。一方、リミッタ作動した場合のみ、制御部３１３は基本トルク指令値Ｔ＊［Ｎｍ］を直接第１のトルク制限部３３へ出力する。
【００６１】
すなわち、第３の実施形態に係るフィルタ処理部３１では、リミッタ作動しない限り、基本トルク指令値Ｔ＊［Ｎｍ］の振動を減衰させるため、基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力する。更に、基本トルク指令値Ｔ＊［Ｎｍ］およびフィルタＧ（ｚ）から制限前トルク指令値Ｔ２［Ｎｍ］をフィルタ演算部３２に演算させた後、制限前トルク指令値Ｔ２［Ｎｍ］を第１のトルク制限部３３へ出力させる。一方、リミッタ作動している間、基本トルク指令値Ｔ＊［Ｎｍ］の振動を減衰させず、基本トルク指令値Ｔ＊［Ｎｍ］を直接第１のトルク制限部３３へ出力し、基本トルク指令値Ｔ＊［Ｎｍ］を制限させている。
【００６２】
このようにすることで、第１の実施形態と同様に、モータ回転数ｎ［ｒｐｍ］の振動に基づく最終トルク指令値Ｔ［Ｎｍ］の変動量を小さくして、機械系振動要素１３へ出力することができる。よって、最終トルク指令値Ｔ［Ｎｍ］が変動することで誘起されるモータ回転数ｎ［ｒｐｍ］の振動を低減させることができる。また、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なると判定した場合、基本トルク指令値Ｔ＊［Ｎｍ］を直接第１のトルク制限部３３へ出力している。これから、上記の条件を満たした場合、すなわち、必要な場合、振動が減衰されていない基本トルク指令値Ｔ＊［Ｎｍ］を直接第１のトルク制限部３３へ出力できる。
【００６３】
一方、基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異ならないと判定した場合、すなわち、不必要な場合、振動が減衰されていない基本トルク指令値Ｔ＊［Ｎｍ］を直接第１のトルク制限部３３へ出力しない。上記の場合、フィルタ動作フラグを１にし、基本トルク指令値Ｔ＊［Ｎｍ］をフィルタ演算部３２へ出力する。よって、フィルタ演算部３２から第１のトルク制限部３３へ、制限前トルク指令値Ｔ２［Ｎｍ］を出力させることができる。また、上記の条件を満たし、基本トルク指令値Ｔ＊［Ｎｍ］を直接第１のトルク制限部３３へ出力した後、フィルタ演算部３２へ出力する必要がある場合には、自動的に出力先を変更することができる。
【００６４】
以上より、第３の実施形態に係る制御装置３０では、車両情報に基づく基本トルク指令値Ｔ＊［Ｎｍ］の振動を減衰させる伝達特性Ｇ（ｚ）から制限前トルク指令値Ｔ２［Ｎｍ］を演算するフィルタ演算部３２を備える。また、制限前トルク指令値Ｔ２［Ｎｍ］を最終トルク指令値Ｔ［Ｎｍ］に制限する第１のトルク制限部３３を備える。最終トルク指令値Ｔ［Ｎｍ］は、モータ回転数ｎ［ｒｐｍ］に基づいて演算されたトルク制限値Ｔｌｉｍ［Ｎｍ］で制限される。更に、リミッタ作動判定部３１２と、制御部３１３を含むフィルタ処理部３１を備える。リミッタ作動判定部３１２は、第１のトルク制限部３３から出力された最終トルク指令値Ｔ［Ｎｍ］と基本トルク指令値Ｔ＊［Ｎｍ］が異なるか否か判定する。更に、最終トルク指令値Ｔ［Ｎｍ］と制限前トルク指令値Ｔ２［Ｎｍ］が異なるか否か判定する。
【００６５】
制御部３１３は、制限前トルク指令値Ｔ２［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異なると判定した場合、基本トルク指令値Ｔ＊［Ｎｍ］を第１のトルク制限部３３へ出力し、基本トルク指令値Ｔ＊［Ｎｍ］を制限させる。更に、制御部３１３は、基本トルク指令値Ｔ＊［Ｎｍ］と最終トルク指令値Ｔ［Ｎｍ］が異ならないと判定した場合、制限前トルク指令値Ｔ２［Ｎｍ］をフィルタ演算部３２から第１のトルク制限部３３へ出力させる。これから、モータ回転数ｎ［ｒｐｍ］の振動に基づく最終トルク指令値Ｔ［Ｎｍ］の変動量を小さくして、機械系振動要素１３へ出力することができる。よって、最終トルク指令値Ｔ［Ｎｍ］が変動することで誘起されるモータ回転数ｎ［ｒｐｍ］の振動を低減させることができる。また、上記のようにすることで、基本トルク指令値Ｔ＊［Ｎｍ］の出力先を自動的に変更することができる。
【００６６】
なお、以上に述べた実施形態は、本発明の実施の一例であり、本発明の範囲はこれらに限定されるものでなく、特許請求の範囲に記載した範囲内で、他の様々な実施形態に適用可能である。例えば、第１の実施形態に係るフィルタ処理部１２では、伝達特性Ｇ（ｚ）をローパスフィルタとしているが、特にこれに限定されるものでなく、他の特性でも良い、例えば、伝達特性Ｇ（ｚ）をノッチフィルタとしても良い。この場合、最終トルク指令値Ｔ［Ｎｍ］は、図１０に示すような波形になる。また、例えば、伝達特性Ｇ（ｚ）をランプ関数（レートリミッタ）としても良い。この場合、最終トルク指令値Ｔ［Ｎｍ］は、図１１に示すような波形になる。
【００６７】
また、第２の実施形態に係るフィルタ処理部２１では伝達特性Ｇ（ｚ）をローパスフィルタとしているが、特にこれに限定されるものでなく、他の特性でも良い、例えば、伝達特性Ｇ（ｚ）をノッチフィルタとしても良いし、ランプ関数（レートリミッタ）としても良い。同様に、第３の実施形態に係るフィルタ演算部３２の伝達特性Ｇ（ｚ）をローパスフィルタしているが、特にこれに限定されるものでなく、他の特性でも良い、例えば、伝達特性Ｇ（ｚ）をノッチフィルタとしても良いし、ランプ関数（レートリミッタ）としても良い。
【００６８】
また、第１乃至第３の実施形態では、正トルクリミットで制限された場合について説明しているが、特にこれに限定されるものでなく、負トルクリミットで制限される場合にも適用可能である。この場合、各フィルタ処理部１２、２１、３１で実行される制御処理の判定条件を逆にすれば良い。
【００６９】
また、第３の実施形態では、フィルタ処理部３１からフィルタ演算部３２へ基本トルク指令値Ｔ＊［Ｎｍ］を出力しているが、特にこれに限定されるものでなく、フィルタ演算部３２へ基本トルク指令値Ｔ＊［Ｎｍ］を出力しても良い。この場合、フィルタ演算部３２による制限前トルク指令値Ｔ２［Ｎｍ］の演算を開始させるトリガ信号をフィルタ処理部３１からフィルタ演算部３２へ出力すれば良い。
【図面の簡単な説明】
【００７０】
【図１】本発明の第１の実施形態を適用したインバータシステムの概略構成図
【図２】本発明の第１の実施形態に係る制御装置の制御モデルを示す図
【図３】図１に示すトルク制限値演算部におけるトルク制限値の一例を示す図
【図４】図２に示すフィルタ処理部で実行される制御方法を示すフローチャート
【図５】図２に示すフィルタ処理部における制限後トルク指令値および最終トルク指令値の波形を示す図
【図６】本発明の第２の実施形態に係る制御装置の制御モデルを示す図
【図７】図６に示すフィルタ処理部で実行される制御方法を示すフローチャート
【図８】本発明の第３の実施形態に係る制御装置の制御モデルを示す図
【図９】図８に示すフィルタ処理部で実行される制御方法を示すフローチャート
【図１０】フィルタ処理部の伝達特性をノッチフィルタとした場合の制限後トルク指令値および最終トルク指令値の波形を示す図
【図１１】フィルタ処理部の伝達特性をレートリミッタとした場合の制限後トルク指令値および最終トルク指令値の波形を示す図
【符号の説明】
【００７１】
１ インターフェイス回路、２ マイクロコンピュータ、３ ドライブ回路、
４ インバータ、５ モータ、６ 直流電源、７ コンデンサ、
８ 電流センサ、９ 回転センサ、１０、２０、３０ 制御装置、
１１ 第１のトルク制御手段である第１のトルク制限部、
１２、２１、３１ 振動処理手段であるフィルタ処理部、
１３ 機械系振動要素、
２２ 第２のトルク制御手段である第２のトルク制限部、
３２ トルク演算手段であるフィルタ演算部、
３３ 第３のトルク制御手段である第１のトルク制限部、
１１１、２２１、３３１ リミッタ部、
１１２、２２２、３３２ トルク制限値演算部、１２１ フラグ判定部、
１２２、２１１、３１２ 判定手段であるリミッタ作動判定部、
１２３、２１２ 演算手段である演算部、１２４ 記憶部、
１２５、２１４ トルク判定部、１２６、２１３ 出力手段である制御部、
３１１ フラグ記憶部、３１３ 制御手段である制御部、
Ｇ（ｚ） フィルタ処理部の伝達特性、Ｈ（ｓ） 機械系振動要素の伝達特性、
Ｔ＊ 第１のトルク指令である基本トルク指令値、
Ｔ’ 第２のトルク指令である制限後トルク指令値、
Ｔ” 第３のトルク指令であるフィルタ後トルク指令値、
Ｔ１ 制限後フィルタ後トルク指令値、
Ｔ２ 第４のトルク指令である制限前トルク指令値、
Ｔ 第５のトルク指令である最終トルク指令値、Ｔｌｉｍ トルク制限値、
ｎ モータ回転数、
【図１】
0005298498.tif 000004
【図２】
0005298498.tif 000005
【図３】
0005298498.tif 000006
【図４】
0005298498.tif 000007
【図５】
0005298498.tif 000008
【図６】
0005298498.tif 000009
【図７】
0005298498.tif 000010
【図８】
0005298498.tif 000011
【図９】
0005298498.tif 000012
【図１０】
0005298498.tif 000013
【図１１】
0005298498.tif 000014