(57)【要約】【課題】モータの回転速度がその制限値を超えるオーバーシュートの発生を抑制する。【解決手段】モータ制御装置の制御器は、モータのｄ、ｑ軸電流検出値Ｉｄ、Ｉｑとｄ、ｑ軸電流指令値Ｉｄ＊、Ｉｑ＊との電流偏差に基づいて発生トルクを制御する。また、制御器は、Ｉｑ＊を、回転速度検出値ωｒと第１の制限値ωｌｍｔとに基づく比例積分制御により発生トルクを低減するように補正し、補正後の電流指令値を用いて発生トルクを制御する。比例積分制御は、ωｒがωｌｍｔよりも所定値δだけ小さい第２の制限値ωｌｍｔ−δに達してから開始され、ωｌｍｔからωｒを減算した偏差に基づいて補正値Ｉを演算する積分制御と、ωｌｍｔ−δからωｒを減算した偏差に基づいて補正値Ｐを演算する比例制御と、を含む。【選択図】図５
2020178409.tif 000002
【特許請求の範囲】
【請求項１】
モータのｄ、ｑ軸電流検出値とｄ、ｑ軸電流指令値とに基づいて前記モータの発生トルクを制御するモータ制御装置であって、
前記モータの回転速度検出値の絶対値が、所定の回転速度制限値の絶対値よりも絶対値が所定値だけ小さい閾値以上のとき、前記所定の回転速度制限値と前記回転速度検出値との偏差に対する積分制御の出力値に、前記閾値と前記回転速度検出値との偏差に対する比例制御の出力値を加算して得られる補正値によって、前記モータの発生トルクを低減するように前記ｄ、ｑ軸電流指令値の一方を補正し、補正前の電流指令値に代えて補正後の電流指令値を用いて前記発生トルクを制御する、モータ制御装置。
【請求項２】
前記所定値は、前記比例制御及び前記積分制御を実行しない場合において、前記ｑ軸電流指令値を、前記モータを一方向に回転させる最大の電流値に設定し、前記回転速度検出値が前記所定の回転速度制限値に達したときに、前記ｑ軸電流指令値を、前記モータを逆方向に回転させる最大の電流値に切り替えて前記回転速度検出値の上昇が止まるまでに上昇した回転速度を考慮して予め設定された値である、請求項１に記載のモータ制御装置。
【請求項３】
前記積分制御の出力値の絶対値を、前記比例制御の出力値の絶対値以下に制限する、請求項１又は請求項２に記載のモータ制御装置。
【請求項４】
前記補正値は、前記回転速度検出値と前記所定の回転速度制限値との偏差に対する微分制御の出力値を更に加算した値である、請求項１〜３のいずれか１つに記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
特許文献１には、モータのｄ、ｑ軸電流検出値とｄ、ｑ軸電流指令値とに基づいてモータの発生トルクを制御するモータ制御装置が記載されている。このモータ制御装置では、モータが所定の回転速度制限値以上の回転速度で回転するのを抑制すべく、モータの回転速度検出値をこの回転数制限値から減算した速度偏差に対する比例積分（ＰＩ）制御を用いて、モータの発生トルクを低減するようにｑ軸電流指令値を補正することにより回転速度を所定の回転速度制限値に収束させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−８４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のモータ制御装置では、例えば、回転速度検出値が回転速度制限値を超えてからｑ軸電流指令値の補正が開始される。そのため、このモータ制御装置では、回転速度が制限値を超えるオーバーシュートの発生は避けられない。
【０００５】
そこで、本発明は、オーバーシュートの発生を抑制することのできるモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、モータ制御装置は、モータのｄ、ｑ軸電流検出値とｄ、ｑ軸電流指令値とに基づいてモータの発生トルクを制御し、モータの回転速度検出値の絶対値が、所定の回転速度制限値の絶対値よりも所定値だけ絶対値が小さい閾値以上のとき、所定の回転速度制限値と回転速度検出値との偏差に対する積分制御の出力値に、閾値と回転速度検出値との偏差に対する比例制御の出力値を加算した値によって、モータの発生トルクを低減するようにｄ、ｑ軸電流指令値の一方を補正し、補正前の電流指令値に代えて補正後の電流指令値を用いて発生トルクを制御する。
【発明の効果】
【０００７】
モータ制御装置によれば、オーバーシュートの発生を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】モータ制御装置を適用した車両用内燃機関の一例を示す構成図である。
【図２】車両用内燃機関におけるＶＣＲ機構のためのストッパ機構の一例を示す部分拡大図である。
【図３】ＶＣＲ機構を構成するモータ及びモータ制御装置の内部構成の一例を示す構成図である。
【図４】従来のモータ制御装置による制御結果を示すタイムチャートである。
【図５】第１実施形態に係るモータ制御装置による制御結果の一例を示すタイムチャートである。
【図６】同上モータ制御装置のｑ軸電流補正部の各種処理の一例を示す図である。
【図７】第２実施形態に係るモータ制御装置のｑ軸電流補正部の各種処理の一例を示す図である。
【図８】モータ制御システム全体の伝達関数を説明するための図である。
【図９】同上ｑ軸電流補正部の積分制御による補正値についての初期値を説明するための図である。
【図１０】第３実施形態に係るモータ制御装置のｄ軸電流補正部による補正処理を示すタイムチャートである。
【図１１】同上ｄ軸電流補正部の各種処理の一例を示す図である。
【図１２】比例ゲインに応じて変化する制御結果を説明するための図である。
【図１３】積分ゲインに応じて変化する制御結果を説明するための図である。
【図１４】第４実施形態に係るモータ制御装置のｑ軸電圧補正部の各種処理の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しつつ本発明を実施するための実施形態について説明する。
図１は、モータ制御装置を適用した車両用内燃機関（エンジン）の一例を示す構成図である。
【００１０】
エンジン１は、シリンダブロック１０と、シリンダブロック１０のシリンダボア１０Ａに往復動可能に挿入されたピストン１２と、シリンダブロック１０の上部に取り付けられたシリンダヘッド１４と、を備えている。ピストン１２の冠面１２Ａとシリンダヘッド１４の下面との間には、燃焼室Ｓが形成されている。
【００１１】
ピストン１２は、コネクティングロッド（コンロッド（conn-rod））１６を介してクランクシャフト１８に連結されている。シリンダヘッド１４には、それぞれ、燃焼室Ｓに向かって開口する吸気ポート１４Ａ及び排気ポート１４Ｂが設けられている。また、シリンダヘッド１４には、吸気ポート１４Ａの開口を開閉する吸気バルブ２０Ａと、排気ポート１４Ｂの開口を開閉する排気バルブ２０Ｂとが取り付けられている。さらに、シリンダヘッド１４には、燃焼室Ｓに燃料を噴射する燃料噴射装置２２と、燃料と空気との混合気を着火する点火装置２４とが取り付けられている。
【００１２】
また、エンジン１は、例えば、特開２００２−２７６４４６号公報に開示されるような複リンク機構によって、燃焼室Ｓの容積を変更することで、圧縮比を可変とする可変圧縮比（ＶＣＲ：Variable Compression Ratio）機構２６を備えている。
【００１３】
ＶＣＲ機構２６の複リンク機構は、例えば、以下のように構成されている。
コンロッド１６は、ロアリンク１６Ａ及びアッパリンク１６Ｂを有する。ロアリンク１６Ａは、略三角形状の２つの部材で構成されている。ロアリンク１６Ａの略中央部には、クランクシャフト１８に連結するための連結孔が形成されている。アッパリンク１６Ｂは、下端側が第１の連結ピン２８によりロアリンク１６Ａの一端に回動可能に連結され、上端側がピストンピン３０によりピストン１２に回動可能に連結されている。クランクシャフト１８は、複数のジャーナル部１８Ａ及びクランクピン部１８Ｂを有する。ジャーナル部１８Ａは、シリンダブロック１０の主軸受（図示省略）に回転自在に支持されている。クランクピン部１８Ｂは、ロアリンク１６Ａの連結孔に挿入されている。これにより、ロアリンク１６Ａがクランクピン部１８Ｂに回転自在に連結される。また、クランクピン部１８Ｂは、ジャーナル部１８Ａから所定量偏心している。シリンダブロック１０の下部には、コントロールシャフト３２が回転可能に支持されている。コントロールシャフト３２は、その回転中心から偏心している偏心カム部３２Ａを有する。このコントロールシャフト３２とロアリンク１６Ａの他端とは、コントロールリンク３４を介して連結されている。コントロールリンク３４は、上端側が第２の連結ピン３６によりロアリンク１６Ａの他端に回動可能に連結され、下端側がコントロールシャフト３２を介してシリンダブロック１０の下部に回動可能に連結されている。より詳細には、コントロールリンク３４の下端側は、偏心カム部３２Ａに回転可能に嵌合している。
【００１４】
このような複リンク機構を用いたＶＣＲ機構２６では、コントロールシャフト３２の回動位置が電動アクチュエータ３８によって制御される。電動アクチュエータ３８は、詳細を後述するモータと、減速機３８Ａと、出力軸３８Ｂと、を含む。モータの回転出力は、まず、減速機３８Ａによって減速されて出力軸３８Ｂに伝達される。回転出力は、出力軸３８Ｂに伝達された後、出力軸３８Ｂに形成されたギア（例えば、ウォームギア）３８Ｂ１とコントロールシャフト３２に形成されたギア（例えば、ウォームホイール）３２Ｂとの噛合によって、コントロールシャフト３２に伝達される。出力軸３８Ｂの回転角度（実際の角度）βは、例えば、出力軸３８Ｂにロータが取り付けられたレゾルバなどの回転角度センサ４０によって検出される。回転角度センサ４０は、実際の角度βに対応した実角度信号を出力する。
【００１５】
そして、ＶＣＲ機構２６では、電動アクチュエータ３８の出力軸３８Ｂを正回転又は逆回転させることでコントロールシャフト３２が回動すると、偏心カム部３２Ａの中心位置が変化する。つまり、シリンダブロック１０に対する偏心カム部３２Ａの相対位置が変化する。これにより、コントロールリンク３４の下端の揺動支持位置が変化すると、ピストン上死点（ＴＤＣ）におけるピストン１２の位置が高くなったり低くなったりして、燃焼室Ｓの容積が増減する。したがって、エンジン１の圧縮比が低圧縮比又は高圧縮比に変更される。すなわち、エンジン１の圧縮比は、出力軸３８Ｂの回転角度に応じて変化する。
【００１６】
ＶＣＲ機構２６には、図２に示すように、コントロールシャフト３２が通常の制御範囲を超えて回動しようとするときに、通常の制御範囲以上の回動を規制するストッパ機構４２が取り付けられている。ストッパ機構４２は、コントロールシャフト３２に要の部分が固定された第１の部材４２Ａと、シリンダブロック１０に固定された板形状の第２の部材４２Ｂとを有する。
【００１７】
第１の部材４２Ａは、コントロールシャフト３２と一体回転する。第２の部材４２Ｂは、通常の制御範囲である最高圧縮比（又は最低圧縮比）を超えてコントロールシャフト３２が回動したときに、第１の部材４２Ａの中心角を規定する２辺の一方に当接する。これにより、コントロールシャフト３２の変位が規制される。ここで、ストッパ機構４２は、コントロールシャフト３２が通常の制御範囲を超えようとするときに機能する。そのため、通常制御では、第１の部材４２Ａが第２の部材４２Ｂに当接しないので、例えば、異音発生などを抑制することができる。
【００１８】
エンジン１の燃焼制御は、マイクロコンピュータを内蔵したエンジンコントローラ４４が、燃料噴射装置２２の噴射量及び噴射時期、並びに、点火装置２４の点火時期などを電子制御することで行われる。エンジンコントローラ４４には、例えば、車載ネットワークの一例であるＣＡＮ（Controller Area Network）を介して、ＶＣＲ機構２６を電子制御するＶＣＲコントローラ４６が接続されている。したがって、エンジンコントローラ４４とＶＣＲコントローラ４６との間では、ＣＡＮを介して任意のデータを送受信できる。尚、車載ネットワークとしては、ＣＡＮに限らず、ＦｌｅｘＲａｙ（登録商標）などの公知のネットワークを使用することができる。
【００１９】
エンジンコントローラ４４には、例えば、図示省略の入出力ポート又は入出力回路を介して、回転速度センサ４８及び負荷センサ５０の各出力信号が入力される。回転速度センサ４８は、エンジン１の回転速度Ｎｅを検出する。負荷センサ５０は、エンジン１の負荷Ｑを検出する。ここで、エンジン１の負荷Ｑとしては、例えば、吸気負圧、吸気流量、過給圧力、アクセル開度、スロットル開度など、トルクと密接に関連する状態量を使用することができる。
【００２０】
エンジンコントローラ４４は、例えば、回転速度及び負荷に適合した目標値が設定されたマップを参照し、回転速度Ｎｅ及び負荷Ｑに応じた目標圧縮比を求める。また、エンジンコントローラ４４は、求めた目標圧縮比に応じた出力軸３８Ｂの回転角度（目標角度）βｔを演算する。そして、エンジンコントローラ４４は、ＣＡＮを介して、目標角度βｔに対応する目標角度信号をＶＣＲコントローラ４６に出力する。
【００２１】
ＶＣＲコントローラ４６は、エンジンコントローラ４４から出力された目標角度信号、回転角度センサ４０から出力された実角度信号に基づいて、電動アクチュエータ３８のモータの駆動を制御する。したがって、ＶＣＲコントローラ４６がモータ制御装置の一例として挙げられる。モータの駆動が制御されることにより、出力軸３８Ｂの正逆回転駆動が制御され、エンジン１の圧縮比が変更される。
【００２２】
図３は、電動アクチュエータ３８のモータ及びＶＣＲコントローラ４６の内部構成を示す構成図である。電動アクチュエータ３８のモータの一例としては、３相ブラシレスモータ６０などが挙げられる。３相ブラシレスモータ６０（以下、単に「モータ６０」という）は、Ｕ相コイル６０ｕ、Ｖ相コイル６０ｖ及びＷ相コイル６０ｗがスター結線された３相コイルを巻き回してなる略円筒状のステータ（図示省略）と、このステータの中央部に形成されている空間においてステータの軸線を中心として回転可能に配置されたロータ（永久磁石回転子）６０Ｒと、を備えている。
【００２３】
モータ６０には、例えば、ロータ６０Ｒの回転に伴う磁界変化を検出し、ロータ６０Ｒの回転角度θに応じた磁界検出信号を出力するホール素子又はエンコーダなどのロータ角度センサ６０Ｓが内蔵されている。但し、これに限るものではなく、ロータ角度センサ６０Ｓは、例えば、ロータ６０Ｒの回転角度θに応じた信号を検出するレゾルバであってもよい。
【００２４】
ＶＣＲコントローラ４６は、インバータ７０及び制御器８０を有する。インバータ７０は、車載バッテリＢの直流電力を交流電力に変換して当該交流電力をモータ６０（その３相コイル）に供給することでモータ６０を駆動する電力変換器である。
【００２５】
インバータ７０は、スイッチング素子７０Ａ、７０Ｂを直列接続したＵ相アームと、スイッチング素子７０Ｃ、７０Ｄを直列接続したＶ相アームと、スイッチング素子７０Ｅ、７０Ｆを直列接続したＷ相アームと、を有する。これらＵ、Ｖ、Ｗ相アームは、車載バッテリＢの正極側の母線と車載バッテリＢの負極側の母線との間において、それぞれ並列に接続されている。Ｕ、Ｖ、Ｗ相アームの２つのスイッチング素子間がモータ６０における対応相のコイルに接続されていることにより、３相ブリッジ回路が構成されている。
【００２６】
図３では、スイッチング素子７０Ａ〜７０Ｆをダイオードが逆並列に接続されたＩＧＢＴとして示している。但し、これに限るものではなく、スイッチング素子７０Ａ〜７０Ｆは、ダイオードが逆並列に接続されたＦＥＴなど、他の電力制御用の半導体素子であってもよい。スイッチング素子７０Ａ〜７０Ｆの制御端子（例えば、ゲート端子）は、制御器８０の出力ポートに接続されている。
【００２７】
Ｕ、Ｖ、Ｗ相アームには、例えば、シャント抵抗により各相電流Ｉｕ、Ｉｖ、Ｉｗを検出するための電流検出手段（Ｕ相電流検出部７２ｕ、Ｖ相電流検出部７２ｖ、Ｗ相電流検出部７２ｗ）が設けられている。これら電流検出手段７２ｕ、７２ｖ、７２ｗは、例えば、各シャント抵抗の両端電位差をオペアアンプなどによって検出し、各シャント抵抗における両端電位差Ｖｉｕ、Ｖｉｖ、Ｖｉｗに対応した電位差信号を制御器８０に出力する。
【００２８】
制御器８０は、各種制御プログラムを実行する処理装置であるＣＰＵ（Central Processing Unit）と、制御プログラムなどが格納されると共に各種データを保存可能なフラッシュＲＯＭ（Read Only Memory）と、一時的な記憶領域となるＲＡＭ（Random Access Memory）と、ＣＡＮなどのネットワークに接続するためのＣＡＮトランシーバである通信回路と、これらを相互に接続するバスを含むマイクロコンピュータを備えている。
【００２９】
制御器８０は、エンジンコントローラ４４から出力された目標角度信号、及び、回転角度センサ４０から出力された実角度信号に加えて、電流検出手段から出力された電位差信号と、ロータ角度センサ６０Ｓから出力された磁界検出信号とに基づいて所定の制御信号を生成する。この制御信号は、スイッチング素子７０Ａ〜７０Ｆの各制御端子に出力され、スイッチング素子７０Ａ〜７０Ｆのオン・オフ状態の切り換えが制御される。これにより、電動アクチュエータ３８の出力軸３８Ｂが回転し、ピストン１２の上死点位置が変更される。したがって、エンジン１の圧縮比が、低圧縮比化される方向又は高圧縮比化される方向に変更される。
【００３０】
制御器８０は、機能ブロックとして、回転角度演算部１００、回転速度演算部２００、相電流検出部３００、３相−２軸変換部４００、目標電流設定部５００、ベクトル制御部６００、２軸−３相変換部７００及び信号生成部８００を有する。
【００３１】
回転角度演算部１００は、ロータ角度センサ６０Ｓから出力された磁界検出信号に基づいて、ロータ６０Ｒの回転角度θを演算する。
【００３２】
回転速度演算部２００は、回転角度演算部１００が演算した回転角度θの時間変化からモータ６０の角速度（実際の回転速度）ωr［ｒｐｍ］（回転／分）を演算することで検出する。尚、ωrが負の値の場合、圧縮比が高くなる方向にモータ６０が回転しているものとする一方、ωrが正の値である場合、圧縮比が低くなる方向にモータ６０が回転しているものとする。
【００３３】
相電流検出部３００は、Ｕ、Ｖ、Ｗ相電流検出部７２ｕ、７２ｖ、７２ｗから出力された電位差信号をそれぞれＡ／Ｄ（Analog to Digital）変換し、変換後の値に基づいて各相の相電流Ｉｕ、Ｉｖ、Ｉｗを検出する。
【００３４】
３相−２軸変換部４００は、回転角度θを用いて相電流検出値Ｉｕ、Ｉｖ、Ｉｗをｄｑ回転座標におけるｄ軸電流検出値Ｉd及びｑ軸電流検出値Ｉqに変換する。ｄｑ回転座標は、モータ６０のロータ６０Ｒ（永久磁石回転子）に同期して回転する界磁方向をｄ軸とし、このｄ軸に直交するトルク生成方向をｑ軸とした回転座標である。
【００３５】
目標電流設定部５００は、エンジンコントローラ４４から出力された目標角度信号（目標角度βｔ）、回転角度センサ４０から出力された実角度信号（実際の角度β）、回転速度演算部２００が検出した回転速度検出値ωr及び３相−２軸変換部４００で得られるｑ軸電流検出値Ｉqに基づいて、目標電流値であるｄ軸電流指令値Ｉd*及びｑ軸電流指令値Ｉq*を設定する。目標電流設定部５００によるこれら目標電流値の設定処理については後述する。
【００３６】
ベクトル制御部６００は、ｄ、ｑ軸電流検出値Ｉd、Ｉqと、ｄ、ｑ軸電流指令値Ｉd*、Ｉq*と、回転速度検出値ωrとに基づいて所定周期毎にｄ、ｑ軸電圧指令値Ｖd、Ｖqを演算するベクトル制御を実行する。例えば、ベクトル制御部６００は、回転速度検出値ωrを考慮しつつ、ｄ、ｑ軸電流検出値Ｉd、Ｉqとｄ、ｑ軸電流指令値Ｉd*、Ｉq*との電流偏差に対する比例積分制御（ＰＩ制御）などの電流フィードバック制御を実行する。この電流フィードバック制御により、ｄ、ｑ軸電流検出値Ｉd、Ｉqを、それぞれ、ｄ、ｑ軸電流指令値Ｉd*、Ｉq*に近付けるように、ｄ、ｑ軸電圧指令値Ｖd、Ｖqが演算される。
【００３７】
２軸−３相変換部７００は、回転角度θを用いてベクトル制御部６００で演算されたｄ、ｑ軸電圧指令値Ｖd、ＶqをＵ相電圧指令値Ｖｕ、Ｖ相電圧指令値Ｖｖ及びＷ相電圧指令値Ｖｗの３相電圧指令値に変換する。
【００３８】
信号生成部８００は、３相電圧指令値Ｖｕ、Ｖｖ、Ｖｗと、例えば、三角波キャリアであるキャリア波（搬送波）と、に基づいてスイッチング素子７０Ａ〜７０Ｆに出力するための信号を生成する。より詳細には、信号生成部８００は、例えば、スイッチング素子７０Ａ〜７０Ｆを駆動するためのＰＷＭ（Pulse Width Modulation）パルス幅を、Ｖｕ、Ｖｖ、Ｖｗに基づいて生成される変調波（例えば、正弦波）と搬送波との比較に基づいて決定することで、上記信号としてのＰＷＭパルスを生成する。そして、信号生成部８００は、生成したＰＷＭパルスをスイッチング素子７０Ａ〜７０Ｆに出力する。
【００３９】
以下、第１実施形態に係る制御器８０の目標電流設定部５００の詳細について説明する。目標電流設定部５００は、まず、目標角度βｔと実際の角度βとの角度偏差を演算する。そして、目標電流設定部３１０は、例えば、演算した角度偏差に基づく比例積分制御（ＰＩ制御）などのフィードバック制御処理を実行する。これにより、実際の角度βが目標角度βｔに近付くようにモータ６０の駆動を制御するための指令トルクが演算される。そして、モータ６０の発生トルクはｑ軸電流に比例するので、目標電流設定部３１０は、この指令トルクに応じたｑ軸電流指令値Ｉq*を演算する。すなわち、制御器８０は、ｄ、ｑ軸電流検出値Ｉd、Ｉqとこのｑ軸電流指令値Ｉq*及び後述のｄ軸電流指令値Ｉd*とに基づいてモータ６０の発生トルクを制御する。尚、角度偏差が負の値であることは、βをβｔに近付けるべく圧縮比が高くなる方向にモータ６０を駆動させる必要があることを意味するものとする。また、角度偏差が正の値であることは、βをβｔに近付けるべく圧縮比が低くなる方向にモータ６０を駆動させる必要があることを意味するものとする。
【００４０】
一方、目標電流設定部５００は、ｄ軸電流指令値Ｉd*を負の値（例えば、−２０［Ａ］（アンペア））又は０［Ａ］に設定する。Ｉd*が負の値に設定されるのは、例えば、ＶＣＲ機構２６を用いてピストン１２の上死点位置を圧縮比が低くなる方向に変更するときである。すなわち、エンジン１の燃焼圧力によりモータ６０の回転方向と同一方向に負荷トルクが加わるときに、Ｉd*が負の値に設定される。Ｉd*を負の値に設定して、モータ６０の界磁磁束を意図的に弱めるように３相コイル６０ｕ、６０ｖ、６０ｗに電流を流す、いわゆる弱め磁束制御が実行される。これにより、ピストン１２の上死点位置を圧縮比が高くなる方向に変更する場合と比較してモータ６０の回転速度が上昇しやすくなる。したがって、弱め磁束制御を実行することでＶＣＲ機構２６の応答性を向上させることができる。
【００４１】
ｄ軸電流指令値Ｉd*が０［Ａ］に設定されるのは、例えば、ピストン１２の上死点位置を圧縮比が高くなる方向に変更するとき、すなわち、エンジン１の燃焼圧力によりモータ６０の回転方向と反対方向にトルクが加わるときである。このときに、弱め磁束制御を実行すると、上述したモータ６０の回転方向と反対方向のトルクに加えて、界磁磁束の減少によりモータ６０の発生トルクが低下する。そのため、ＶＣＲ機構２６の応答性が低下してしまうおそれがある。したがって、ピストン１２の上死点位置を圧縮比が高くなる方向に変更するときは、Ｉd*は０［Ａ］に設定され、弱め磁束制御が実行されない。これにより、ピストン１２の上死点位置を圧縮比が高くなる方向に変更する際のＶＣＲ機構２６の応答性の低下を抑制している。
【００４２】
ここで、上述の弱め磁束制御が実行された場合や何らかの原因で負荷トルクが減少した場合など、モータ６０の発生トルクが負荷トルクを上回ってモータ６０の回転速度が上昇しやすくなる。回転速度が上昇しやすい状況では、回転速度検出値ωrが、例えば、定格回転速度、最大回転速度又は許容回転速度などの予め設定された回転速度制限値ωlmt（例えば、±４０００［ｒｐｍ］）を超えるオーバーシュートが発生するおそれがあった。そこで、モータ６０の発生トルクがｑ軸電流に比例していることを考慮して、上述した従来のモータ制御装置では、ωrがその制限値ωlmtを超えたときにｑ軸電流指令値Ｉq*を小さくするように補正して発生トルクを低減させていた。より詳細には、従来のモータ制御装置では、モータ６０の過回転を抑制すべく、ωrとωlmtとの速度偏差に対する比例積分制御（ＰＩ制御）を含むフィードバック制御を実行する。そして、Ｉq*を、このフィードバック制御により得られる補正値によって発生トルクを低減するように補正することでωrをωlmtに収束させていた。
【００４３】
図４は、従来のモータ制御装置による制御結果を示すタイムチャートである。このタイムチャートは、回転速度、速度偏差に対するＰＩ制御による補正値及びｑ軸電流の時間変化を示している。尚、図４を参照した説明では、ｑ軸電流指令値Ｉq*が正の値であるものとする。また、以下の説明では、ｑ軸電流検出値Ｉqが正の値のときのモータ６０の回転を正回転とし、Ｉqが負の値のとき、モータ６０は逆回転しているものとする。すなわち、ｑ軸電流指令値Ｉq*が正の値である場合、モータ６０の正回転が要求され、Ｉq*が負の値である場合、モータ６０の逆回転が要求されることになる。
【００４４】
図４に示すように、従来のモータ制御装置では、回転速度検出値ωrが制限値ωlmtを超えてから（ωr＞ωlmt）ＰＩ制御が開始され、補正値が演算され始める（時刻ｔ１）。ここで、ωr＞ωlmtの場合、速度偏差（ωlmt−ωr）は負の値となり、比例制御による補正値Ｐ及び積分制御による補正値Ｉは共に負の値となる。そして、補正値Ｉと補正値Ｐとを加算した値がｑ軸電流指令値Ｉq*に加算されることで、Ｉq*が補正される。したがって、補正後のＩq*は、補正前のＩq*よりも小さくなり、ｑ軸電流検出値Ｉqが補正後のＩq*に追従して変化する。これにより、モータの発生トルクが低減される。その後、所定時間経過後、時刻ｔ２においてωrがωlmtに収束する。しかしながら、時刻ｔ１から時刻ｔ２までの間に回転速度ωrがその制限値ωlmtを超えるオーバーシュートが発生する。これは、ωrがωlmtを超えてからＰＩ制御によるＩq*の補正が開始されるためである。
【００４５】
そこで、第１実施形態に係るモータ制御装置の制御器８０は、ｑ軸電流指令値Ｉq*を、回転速度検出値ωrと回転速度制限値ωlmtとに基づくフィードバック制御により得られる補正値によって発生トルクを低減するように補正する。より詳細には、制御器８０は、ωrの絶対値がωlmtの絶対値よりも絶対値が所定値δだけ小さい閾値以上のとき、ωrとその制限値ωlmtとの速度偏差に対する積分制御の出力値である第１の補正値に、ωrと閾値との速度偏差に対する比例制御の出力値である第２の補正値を加算した値によって、Ｉq*を補正する。そして、制御器８０は、補正前のＩq*に代えて補正後のＩq*を用いて発生トルクを制御する。
【００４６】
要するに、第１実施形態において、制御器８０によるフィードバック制御は、回転速度制限値ωlmtから回転速度検出値ωrを減算した偏差に対する積分制御（以下、単に「Ｉ制御」という）と共に、ωlmt−δからωrを減算した偏差に対する比例制御（以下、単に「Ｐ制御」という）を実行するものである。また、所定値δについては、少なくとも不等式０＜δ＜ωlmtが成り立っているものとする。このような制御器８０を備えたモータ制御装置によれば、以下で説明する作用効果が得られる。この点について、図５を参照して説明する。尚、図５を参照した説明では、図４と同様、ｑ軸電流指令値Ｉq*が正の値であり、モータ６０が正回転しているものとする。
【００４７】
より詳細には、第１実施形態によるフィードバック制御は、回転速度制限値ωlmt（以下、これを単に「第１の制限値」という）から回転速度検出値ωrを減算した偏差（以下、これを単に「第１の偏差」という）に対するＩ制御により第１の補正値を演算する。これに加えて、第１実施形態によるフィードバック制御は、閾値ωlmt−δ（以下、これを単に「第２の制限値」という）からωrを減算した偏差（以下、これを単に「第２の偏差」という）に対するＰ制御により第２の補正値を演算する。また、このフィードバック制御は、ωrが第２の制限値に達してから実行される。すなわち、図５では、時刻ｔ３以降、Ｉ制御による第１の補正値（以下、単に「補正値Ｉ」という）及びＰ制御による第２の補正値（以下、単に「補正値Ｐ」という）は、ωrが第１の制限値に達する前から演算され始める。そして、ωrが第２の制限値を超えているが第１の制限値未満（ωlmt−δ＜ωr＜ωlmt）のとき、第１の偏差が正の値となるため補正値Ｉが正の値となり、第２の偏差が負の値となるため補正値Ｐが負の値となる。
【００４８】
要するに、Ｉ制御では、ωlmt−δ＜ωr＜ωlmtのとき、ωrを第１の制限値に近付けるべく、発生トルクを増大させるようにｑ軸電流指令値Ｉq*を大きくする補正値Ｉが演算される。一方、ωlmt−δ＜ωr＜ωlmtのとき、Ｐ制御では、回転速度検出値ωrを第１の制限値よりも小さい第２の制限値に近付けるべく、発生トルクを低減させるようにＩq*を小さくする補正値Ｐが演算される。また、一般に、積分は所定時間間隔における偏差を累積するものといえるため、Ｉ制御による影響が出るのに時間がかかる（補正値Ｉの上昇に時間がかかる）。一方、補正値Ｐは偏差に比例ゲインを乗じるものであるため、Ｐ制御による影響が出るのはＩ制御と比較して早い。特に、ωrがωlmt−δに達してＩq*を補正する制御が開始されてからすぐは、Ｐ制御による影響が支配的となる。すなわち、時刻ｔ３以降、Ｐ制御による影響が支配的となり、補正値Ｉと補正値Ｐとを加算した総補正値Ｔは負の値となる。そして、制御器８０は、ｄ軸電流指令値Ｉd*とｄ軸電流検出値Ｉdとの電流偏差及び補正後のＩq*とｑ軸電流検出値Ｉqとの電流偏差に基づいて発生トルクを制御する。これにより、回転速度検出値が第１の制限値を超えてからＩq*の補正が開始される従来のモータ制御装置よりも早く発生トルクを低下させることが可能となる。したがって、上述の回転速度が上昇しやすい状況においてモータ６０の過回転が抑制されるので、オーバーシュートの発生を抑制することができる。
【００４９】
特に、ωlmt−δ＜ωr＜ωlmtのとき、詳細を後述するように、補正値Ｉを、その絶対値が補正値Ｐの絶対値よりも小さくなるように制限すれば、補正値Ｉと補正値Ｐとを加算した総補正値Ｔは負の値となる。これにより、回転速度検出値ωrが第１の制限値ωlmtに達する前からｑ軸電流指令値Ｉq*を小さくすることが可能となるので、上述の状況での回転速度の上昇を抑制する効果を高めることができる。
【００５０】
また、時刻ｔ３から所定時間経過した後は、補正値Ｉが徐々に上昇してくるため、これに伴って総補正値Ｔが徐々に大きくなる。例えば、補正開始前のＩq*が２５［Ａ］であり、時刻ｔ３のとき、補正値Ｐが−５［Ａ］、補正値Ｉが０［Ａ］であったとすると、補正後のＩq*は２０［Ａ］（＝２５＋（−５））となる。そして、所定時間経過後、例えば、補正値Ｉが３［Ａ］になったとすると、補正後のＩq*は、２３［Ａ］（＝２５＋（−５＋３））となり、２０［Ａ］の場合と比較して発生トルクが増大することになる（但し、補正開始前（Ｉq*＝２５［Ａ］のとき）よりも発生トルクは低減されている）。これにより、回転速度検出値ωrを上昇させて第１制限値ωlmtに近付けることが可能となる。したがって、オーバーシュートを抑制しつつ回転速度を回転速度制限値（第１の制限値）ωlmtに収束（一致）させることができる。
【００５１】
以上説明した第１実施形態によるフィードバック制御を実行すべく、制御器８０の目標電流設定部５００は、例えば、ｑ軸電流指令値Ｉq*を補正するｑ軸電流補正部５０２を含む（図６を参照）。尚、図４及び図５では、Ｉq*が正の値である場合について説明したが、図６に示すｑ軸電流補正部５０２は、Ｉq*が負の値である場合にも対応可能に構成されている。
【００５２】
ｑ軸電流補正部５０２は、図６に示す各種処理を含む。この処理は、回転方向判定処理５０２Ａと、所定値選択処理５０２Ｂと、第１の制限値選択処理５０２Ｃと、第２の制限値演算処理５０２Ｄと、第１の判定処理５０２Ｅと、第２の判定処理５０２Ｆと、補正決定処理５０２Ｇと、第２の偏差演算処理５０２Ｈと、Ｐ制御処理５０２Ｉと、補正値選択処理５０２Ｊと、第１の偏差演算処理５０２Ｋと、積分ゲイン乗算処理５０２Ｌと、積分演算処理５０２Ｍと、加算処理５０２Ｎと、補正処理５０２Ｏと、を含む。尚、これら各種処理は、制御器８０のＣＰＵが実行する処理である。
【００５３】
回転方向判定処理５０２Ａは、上述した指令トルクに基づくｑ軸電流指令値Ｉq*を入力し、このＩq*が０［Ａ］以上であるか否かを判定する。
【００５４】
ｑ軸電流指令値Ｉq*が０以上（Ｉq*≧０）のとき、モータ６０は正回転している。そして、回転方向判定処理５０２Ａは、Ｉq*≧０のとき、Ｔｒｕｅ信号を所定値選択処理５０２Ｂ、第１の制限値選択処理５０２Ｃ及び補正決定処理５０２Ｇに出力する。
【００５５】
一方、ｑ軸電流指令値Ｉq*が０未満（Ｉq*＜０）のとき、モータ６０は逆回転している。そして、回転方向判定処理５０２Ａは、Ｉq*＜０のとき、Ｆａｌｓｅ信号を所定値選択処理５０２Ｂ、第１の制限値選択処理５０２Ｃ及び補正決定処理５０２Ｇに出力する。
【００５６】
所定値選択処理５０２Ｂは、回転方向判定処理５０２Ａからの信号に応じて、正側の所定値＋δ及び負側の所定値−δの一方を選択して出力する。所定値選択処理５０２Ｂは、Ｔｒｕｅ信号を入力した場合は、＋δを選択して第２の制限値演算処理５０２Ｄに出力する。一方、所定値選択処理５０２Ｂは、Ｆａｌｓｅ信号を入力した場合は、−δを選択して第２の制限値演算処理５０２Ｄに出力する。尚、この所定値δは、詳細を後述する設定方法により設定される。
【００５７】
第１の制限値選択処理５０２Ｃは、回転方向判定処理５０２Ａからの信号に応じて、正側の回転速度制限値＋ωlmt及び負側の回転速度制限値−ωlmtの一方を選択して出力する。第１の制限値選択処理５０２Ｃは、Ｔｒｕｅ信号を入力した場合は、＋ωlmtを選択して第２の制限値演算処理５０２Ｄ及び第１の偏差演算処理５０２Ｋに出力する。すなわち、＋ωlmtは、モータ６０が正回転している場合の第１の制限値である。一方、第１の制限値選択処理５０２Ｃは、Ｆａｌｓｅ信号を入力した場合は、−ωlmtを選択して第２の制限値演算処理５０２Ｄ及び第１の偏差演算処理５０２Ｋに出力する。すなわち、−ωlmtは、モータ６０が逆回転している場合の第１の制限値である。
【００５８】
第２の制限値演算処理５０２Ｄは、所定値選択処理５０２Ｂが選択した所定値（＋δ又は−δ）及び第１の制限値選択処理５０２Ｃが選択した第１の制限値（＋ωlmt又は−ωlmt）を入力する。そして、第２の制限値演算処理５０２Ｄは、第１の制限値から所定値を減算することでＰ制御用の回転速度制限値、すなわち、第２の制限値を演算する。ｑ軸電流指令値Ｉq*≧０のとき、ωlmt−δが正側の第２の制限値となる。一方、Ｉq*＜０のとき、−ωlmt＋δが負側の第２の制限値となる。すなわち、正側及び負側の第２の制限値の絶対値は、ωlmt−δとなり、第１の制限値の絶対値ωlmtよりも所定値δ（＜ωlmt）だけ小さい値となる。第２の制限値演算処理５０２Ｄは、演算した第２の制限値を第１の判定処理５０２Ｅ、第２の判定処理５０２Ｆ及び第２の偏差演算処理５０２Ｈに出力する。
【００５９】
第１の判定処理５０２Ｅは、第２の制限値演算処理５０２Ｄからの第２の制限値に加えて、回転速度演算部２００からの回転速度検出値ωrを入力する。第１の判定処理５０２Ｅは、ωrが第２の制限値以上のとき、Ｔｒｕｅ信号を補正決定処理５０２Ｇに出力する。一方、第１の判定処理５０２Ｅは、ωrが第２の制限値未満のとき、Ｆａｌｓｅ信号を補正決定処理５０２Ｇに出力する。
【００６０】
第２の判定処理５０２Ｆは、第１の判定処理５０２Ｅと同様、回転速度検出値ωrと第２の制限値とを入力する。ただし、第２の判定処理５０２Ｆは、ωrが第２の制限値以下のとき、Ｔｒｕｅ信号を補正決定処理５０２Ｇに出力する。一方、第２の判定処理５０２Ｆは、ωrが第２の制限値を超えているとき、Ｆａｌｓｅ信号を補正決定処理５０２Ｇに出力する。
【００６１】
補正決定処理５０２Ｇは、回転方向判定処理５０２Ａからの信号（Ｔｒｕｅ又はＦａｌｓｅ）に応じて第１の判定処理５０２Ｅからの信号（Ｔｒｕｅ又はＦａｌｓｅ）及び第２の判定処理５０２Ｆからの信号（Ｔｒｕｅ又はＦａｌｓｅ）の一方を選択して出力する。
【００６２】
例えば、補正決定処理５０２Ｇは、回転方向判定処理５０２ＡがＴｒｕｅ信号を出力した場合、第１の判定処理５０２Ｅからの信号を選択して補正値選択処理５０２Ｊ及び積分演算処理５０２Ｍに出力する。この場合において、第１の判定処理５０２ＥがＴｒｕｅ信号を出力していれば、Ｔｒｕｅ信号が出力され、第１の判定処理５０２ＥがＦａｌｓｅ信号を出力していれば、Ｆａｌｓｅ信号が出力される。
【００６３】
一方、補正決定処理５０２Ｇは、回転方向判定処理５０２ＡがＦａｌｓｅ信号を出力した場合、第２の判定処理５０２Ｆからの信号を選択して補正値選択処理５０２Ｊ及び積分演算処理５０２Ｍに出力する。この場合において、第２の判定処理５０２ＦがＴｒｕｅ信号を出力していれば、Ｔｒｕｅ信号が出力され、第２の判定処理５０２ＦがＦａｌｓｅ信号を出力していれば、Ｆａｌｓｅ信号が出力される。
【００６４】
第２の偏差演算処理５０２Ｈは、第２の制限値に加えて回転速度検出値ωrを入力する。そして、第２の偏差演算処理５０２Ｈは、第２の制限値からωrを減算することでＰ制御用の速度偏差、すなわち、第２の偏差を演算する。そして、第２の偏差演算処理５０２Ｈは、演算した第２の偏差をＰ制御処理５０２Ｉに出力する。
【００６５】
Ｐ制御処理５０２Ｉは、第２の偏差に比例ゲインＫｐを乗じることでＰ制御による第２の補正値、すなわち、補正値Ｐを演算する。そして、Ｐ制御処理５０２Ｉは、補正値Ｐを補正値選択処理５０２Ｊ及び積分演算処理５０２Ｍに出力する。尚、比例ゲインＫｐは、詳細を後述する設定方法により設定される。
【００６６】
補正値選択処理５０２Ｊは、補正決定処理５０２Ｇからの信号に応じて、補正値Ｐ及び０［Ａ］の一方を選択して出力する。補正値選択処理５０２Ｊは、補正決定処理５０２Ｇからの信号がＴｒｕｅである場合、補正値Ｐを選択して加算処理５０２Ｎに出力する。補正決定処理５０２Ｇからの信号がＴｒｕｅである場合とは、Ｉq*≧０且つωr≧ωlmt−δ（以下、これを単に「第１の条件」という）、又は、Ｉq*＜０且つωr≦−ωlmt＋δ（以下、これを単に「第２の条件」という）が成り立つことを意味する。すなわち、モータ６０が正回転している場合において回転速度検出値ωrが正側の第２の制限値（ωlmt−δ）以上のとき、又は、モータ６０が逆回転している場合において回転速度検出値ωrが負側の第２の制限値（−ωlmt＋δ）以下のとき、Ｐ制御による補正が実行される。
【００６７】
一方、補正値選択処理５０２Ｊは、補正決定処理５０２Ｇからの信号がＦａｌｓｅである場合、０［Ａ］を選択して加算処理５０２Ｎに出力する。すなわち、補正値Ｐは０［Ａ］に設定される。補正決定処理５０２Ｇからの信号がＦａｌｓｅである場合とは、Ｉq*≧０且つωr＜ωlmt−δ、又は、Ｉq*＜０且つωr＞−ωlmt＋δが成り立つことを意味する。すなわち、モータ６０が正回転している場合において回転速度検出値ωrが正側の第２の制限値（ωlmt−δ）未満のとき、又は、モータ６０が逆回転している場合においてωrが負側の第２の制限値（−ωlmt＋δ）を超えているとき、Ｐ制御による補正が実行されない（補正値Ｐ＝０［Ａ］）。
【００６８】
要するに、Ｉq*≧０の場合、０［Ａ］が補正値Ｐの上限値となる。したがって、モータ６０の正回転中、Ｐ制御用の補正値は０［Ａ］以下となる。一方、Ｉq*＜０の場合、０［Ａ］が補正値Ｐの下限値となる。したがって、モータ６０の逆回転中、Ｐ制御用の補正値は０［Ａ］以上となる。
【００６９】
第１の偏差演算処理５０２Ｋは、第１の制限値（ωlmt又は−ωlmt）に加えて、回転速度検出値ωrを入力する。第１の偏差演算処理５０２Ｋは、第１の制限値からωrを減算することでＩ制御用の速度偏差、すなわち、第１の偏差を演算する。そして、第１の偏差演算処理５０２Ｋは、第１の偏差を積分ゲイン乗算処理５０２Ｌに出力する。
【００７０】
積分ゲイン乗算処理５０２Ｌは、第１の偏差に積分ゲインＫｉを乗算して得られた値を積分演算処理５０２Ｍに出力する。尚、積分ゲインＫｉは、詳細を後述する設定方法により設定される。
【００７１】
積分演算処理５０２Ｍは、第１の偏差に積分ゲインＫｉを乗算して得られた値を積分することでＩ制御による第１の補正値、すなわち、補正値Ｉを演算する。したがって、積分ゲイン乗算処理５０２Ｌ及び積分演算処理５０２ＭがＩ制御処理を構成している。
【００７２】
また、積分演算処理５０２Ｍは、補正値Ｐ及び補正決定処理５０２Ｇからの信号を入力する。積分演算処理５０２Ｍは、入力した補正値Ｐと、設計時に予め設定された最大電流値などに基づいて、補正値Ｉについての上下限値を設定する。この上下限値は、詳細を後述するように、補正値Ｐに補正値Ｉを加算した総補正値Ｔが０以下となるように補正値Ｉを制限する値である。そして、積分演算処理５０２Ｍは、演算した補正値Ｉが設定した上下限値で規定される範囲内のとき、この補正値Ｉを出力予定値とする。一方、積分演算処理５０２Ｍは、演算した補正値Ｉが設定した上下限値で規定される範囲外のときは、出力予定値をこの上下限値で規定される範囲内に制限する。例えば、演算した補正値Ｉが上限値を超えていれば、この上限値を出力予定値にする。一方、演算した補正値Ｉが下限値未満であれば、この下限値を出力予定値にする。尚、この上下限値も、詳細を後述する設定方法により設定される。
【００７３】
積分演算処理５０２Ｍは、出力予定値を決めると、補正決定処理５０２Ｇからの信号に応じて出力予定値を加算処理５０２Ｎに出力するか否かを判定する。より詳細には、補正決定処理５０２Ｇからの信号がＴｒｕｅであれば、積分演算処理５０２Ｍは出力予定値、すなわち、演算した補正値Ｉ、上限値又は下限値を出力する。一方、補正決定処理５０２Ｇからの信号がＦａｌｓｅであれば、積分演算処理５０２Ｍは、出力予定値を初期値（例えば、０［Ａ］）に初期化する。すなわち、積分演算処理５０２Ｍは、補正値Ｉとして０［Ａ］を出力し、Ｉ制御による補正は実行されない。
【００７４】
要するに、上述した第１の条件又は第２の条件が成立しているとき、Ｐ制御による補正及びＩ制御による補正が実行される。すなわち、制御器８０は、回転速度検出値ωrが第２の制限値に達してから、ｑ軸電流指令値Ｉq*を補正するフィードバック制御を実行する。一方、制御器８０は、ωrが第２の制限値に達していなければ（第１の条件及び第２の条件が成立していないとき）、Ｐ制御による補正及びＩ制御による補正が実行されない。
【００７５】
加算処理５０２Ｎは、補正値Ｉと補正値Ｐとを加算した総補正値Ｔを補正処理５０２Ｏに出力する。すなわち、加算処理５０２Ｎは、ｑ軸電流指令値Ｉq*を補正するための総補正値Ｔ（＝補正値Ｉ＋補正値Ｐ）を決定する。
【００７６】
補正処理５０２Ｏは、ｑ軸電流指令値Ｉq*に総補正値Ｔを加算することでＩq*を補正する。補正処理５０２Ｏは、補正後のＩq*をベクトル制御部６００に出力する。この総補正値Ｔは、後述の設定方法で設定される所定値δ、比例ゲインＫｐ、積分ゲインＫｉ及び上下限値により、Ｉq*≧０の場合は０［Ａ］以下に制限され、Ｉq*＜０の場合は０［Ａ］以上に制限される。つまり、総補正値Ｔは、Ｉq*を小さくするような値である。したがって、Ｉq*は、回転速度検出値ωrが第２の制限値に達してから発生トルクを低減するように補正される。
【００７７】
ここで、例えば、補正前のＩq*が正（負）の値の場合において、総補正値Ｔは、補正後のＩq*が負（正）の値となるような値であってもよい。この場合、Ｉq*の補正後、補正前のトルクの方向とは逆向き方向にトルクが発生することとなる。また、上述した回転速度が上昇しやすい状況としては、例えば、ＶＣＲ機構２６においてエンジン１の燃焼圧力によりモータ６０の回転方向と同一方向に負荷トルクが加わるなど、モータ６０に対して回転速度を上昇させる方向に外力が働く状況が挙げられる。このような状況において、回転速度の上昇を抑制するためには、逆方向のトルクを発生させることが必要となる場合がある。したがって、ｑ軸電流補正部５０２は、補正前のＩq*と補正後のＩq*とでその符号を反転させるような総補正値Ｔが演算されることを許容するようになっていることが好ましい。
【００７８】
次に、所定値δ、比例ゲインＫｐ、積分ゲインＫｉ及び上下限値の設定方法について説明する。まず、所定値δ及び比例ゲインＫｐは、例えば、以下の２つの設定方法により設定される。
【００７９】
第１の設定方法では、例えば、実機試験におけるモータ制御の応答遅れを考慮する。この実機試験では、Ｐ制御及びＩ制御は実行されないものとする。実機試験において、まず、ｑ軸電流指令値Ｉq*を上述の最大電流値に設定してモータ６０を回転（正回転）させる。この最大電流値は、モータ６０、インバータ７０及び制御器８０を含むモータ制御システムの回路上限電流など、システムとしての最大電流値（例えば、２５［Ａ］）である。次に、回転速度検出値ωrが第１の制限値ωlmtに達したときに、Ｉq*をモータ６０の逆回転を要求するような最大の電流値（例えば、−最大電流値＝−２５［Ａ］）に切り替える。電流指令値を切り替えると、切り換え前のＩq*に応じた回転速度から切り替え後のＩq*に応じた回転速度に達するまでに応答遅れが生じる。
【００８０】
そこで、回転速度演算部２００の演算結果に基づいて、逆回転を要求するような最大の電流値にｑ軸電流指令値Ｉq*を切り替えてから回転速度検出値ωrの上昇が止まるまでに上昇した回転速度（上昇量）を求めておく。つまり、求めた上昇量は、Ｐ制御及びＩ制御による補正が行われない場合のオーバーシュートによって想定され得る回転速度の上昇量である。そして、所定値δは、この上昇量を考慮して設定される。例えば、所定値δ＝上昇量であってもよいが、これに限るものではない。例えば、モータ６０の仕様に応じて所定値δを上昇量よりも若干大きい値にしてもよい。尚、以上では、Ｉq*を最大電流値から−最大電流値に切り替えた場合について説明したが、Ｉq*を−最大電流値から最大電流値に切り替えた場合も同様である。
【００８１】
要するに、所定値δは、Ｐ制御及びＩ制御（つまり、フィードバック制御）を実行しない場合において、ｑ軸電流指令値Ｉq*を、モータ６０を一方向に回転させる最大の電流値に設定した後、回転速度検出値ωrが第１の制限値（＋ωlmt又は−ωlmt）に達したときに、Ｉq*を、モータ６０を逆方向に回転させる最大の電流値に切り換えてからωrの上昇が止まるまでに上昇した回転速度を考慮して予め設定された値である。
【００８２】
一方、比例ゲインＫｐは、上述の所定値δ及び最大電流値に基づいて設定される。例えば、比例ゲインＫｐは、Ｋｐ×δ＝２×最大電流値という式を満たすように設定される。この式は、Ｐ制御による補正値Ｐの絶対値が取り得る最大の値を規定している。以下、この式について説明する。まず、ｑ軸電流指令値Ｉq*が上述の最大電流値（例えば、２５［Ａ］）であり（モータ６０が正回転している）、Ｉ制御による補正が実行されないと仮定する。回転速度検出値ωrが正側の第１の制限値に達すると、第２の偏差は、（ωlmt−δ）−ωlmtという式に従って−δとなる。この場合において、Ｉq*が最大電流値から逆回転を要求する最大の電流値（−最大電流値）に補正されたとする。このとき、補正後のＩq*から補正前のＩq*を減算した値、すなわち、−２×最大電流値（＝−５０［Ａ］）は、補正値Ｐ（＝−Ｋｐ×δ）が取り得る最小値（補正値Ｐの絶対値が取り得る最大の値）である。尚、モータ６０が逆回転している場合は補正値Ｐが取り得る最大の値を考慮すればよいので、説明を省略する。したがって、比例ゲインＫｐは、２×最大電流値／δと等しい値に設定される。但し、比例ゲインＫｐは、２×最大電流値／δと略等しい値であってもよく、モータ６０の仕様に応じて２×最大電流値／δよりも若干大きい値又は小さい値に設定されてもよい。
【００８３】
ところで、Ｉ制御は、一般に、Ｐ制御と併用することで実際の値（検出値）の目標値への追従性を向上させることができるものの、検出値の目標値に対する応答遅れを生じさせやすい。また、Ｉ制御における積分ゲインの設定次第では、目標値への追従の際、検出値が目標値を基準として正負両側に振動するおそれがある。すなわち、Ｉ制御は、上述のオーバーシュートを発生させ得る一因でもある。ここで、第１の設定方法では、第２の制限値は、予めオーバーシュートによる回転速度の上昇量を考慮して設定した所定値δだけ第１の制限値を低くするようにオフセットさせた値である。したがって、仮に積分ゲインＫｉが比較的大きい値であり、Ｐ制御による影響よりもＩ制御による影響が強く出た場合であっても、オーバーシュートが発生しにくいようになっている。
【００８４】
次に、第２の設定方法について説明する。第２の設定方法では、以下で説明するように、回転速度検出値ωrに重畳するノイズ及びｑ軸電流検出値Ｉqに重畳するノイズを考慮して比例ゲインＫｐを設定した後、この比例ゲインＫｐを用いて所定値δを設定する。
【００８５】
補正値Ｐは、第２の偏差に比例ゲインＫｐを乗じて得られる値である。そのため、補正値Ｐは、回転速度検出値ωrに重畳したノイズの影響を受ける。したがって、この補正値Ｐで補正されるｑ軸電流指令値Ｉq*及びこれに追従するｑ軸電流検出値Ｉqにも影響が及ぶ。ここで、比例ゲインＫｐが大きすぎると、ノイズの影響が大きくなりＩqが安定しない。一方、比例ゲインＫｐが小さすぎると、ωrの応答が遅くなってしまう。そこで、例えば、実機試験において、比例ゲインＫｐを調整しながらωrの振れ幅及びＩqの振れ幅を監視しておく。そして、監視したωrの振れ幅に比例ゲインＫｐを乗じた値がＩqの振れ幅と略等しくなる条件（ωrの振れ幅×Ｋｐ≒Ｉqの振れ幅）を満たす比例ゲインＫｐを求めておく。すなわち、第２の設定方法において、比例ゲインＫｐは、Ｉqの振れ幅をωrの振れ幅で割った値と略等しい値（Ｋｐ≒Ｉqの振れ幅／ωrの振れ幅）に設定される。尚、比例ゲインＫｐは、（Ｉqの振れ幅／ωrの振れ幅）という値と等しい値であってもよい（Ｋｐ＝Ｉqの振れ幅／ωrの振れ幅）。
【００８６】
所定値δは、設定した比例ゲインＫｐを用いて、上述した第１の設定方法で比例ゲインＫｐを設定したのと同様の考え方で設定される。すなわち、所定値δは、Ｋｐ×δ≒２×最大電流値を満たすように設定される。したがって、第２の設定方法において、所定値δは、２×最大電流値／Ｋｐと略等しい値に設定される。
【００８７】
積分ゲインＫｉは、第１の設定方法又は第２の設定方法により所定値δ及び比例ゲインＫｐを設定した後、上記フィードバック制御を実行する場合の実機試験により決定される。ここで、一般に、積分ゲインＫｉが大きいと、検出値が目標値に追従するまでの応答が速いものの、検出値が目標値に対して振動するなど、オーバーシュートが発生しやすい。また、積分ゲインＫｉが小さいと、オーバーシュートが発生しにくく、検出値が目標値に対して振動しにくいものの、応答が遅くなる。そこで、応答速度と、オーバーシュートの発生や検出値の振動の抑制などのモータ制御の安定性とを考慮する。例えば、積分ゲインＫｉを設定する実機試験では、第１の設定方法又は第２の設定方法により設定した所定値δ及び比例ゲインＫｐを用いると共に、回転速度検出値ωrが第２の制限値（ωlmt−δ又は−ωlmt＋δ）に達してからＰ制御及びＩ制御を開始する。そして、この実機試験において、オーバーシュートの発生及びωrの振動が発生せず、且つ、ωrの応答時間が所望の応答時間となるような積分ゲインＫｉを求め、これを積分ゲインＫｉに設定することが好ましい。
【００８８】
上下限値は、設定した所定値δ及び比例ゲインＫｐに基づいて設定される。ここで、上述の第１の条件が成立している場合について説明する。この場合、第２の偏差は０以下となり、補正値Ｐは０［Ａ］以下となる一方、第１の偏差は０［Ａ］以上となり、補正値Ｉは０［Ａ］以上となる。特に、回転速度検出値ωrが第２の制限値を超えているとき（ωlmt−δ＜ωr）のとき、補正値Ｐは負の値となる一方、補正値Ｉは正の値となる。このため、総補正値Ｔは、正の値である補正値Ｉと負の値である補正値Ｐとの足し合わせである総補正値Ｔがｑ軸電流指令値Ｉq*に加算される。しかし、上述したように、補正後のＩq*を補正前のＩq*よりも小さくするように補正することで発生トルクを低減させて回転速度を制限する観点から、総補正値Ｔは０［Ａ］以下であることが好ましい。すなわち、少なくとも総補正値Ｔ≦０が成り立っていることが正回転中の回転速度を制限するための条件（以下、単に「正回転中の制限条件」という）となる。そして、第１の条件が成立しているとき補正値Ｐは負の値であることから、この正回転中の制限条件に基づいて補正値Ｉの上限値を設定することが可能である。すなわち、正回転中の制限条件である総補正量Ｔ＝補正値Ｉ＋補正値Ｐ≦０から、補正値Ｉの上限値は、−補正値Ｐとなる。したがって、正回転中においてωrが第２の制限値を超えている間（ωr＞ωlmt−δ）、補正値Ｉは、−補正値Ｐ以下に制限される（補正値Ｉ≦−補正値Ｐ）。
【００８９】
また、第１の条件が成立している場合において、総補正値Ｔは、補正前のｑ軸電流指令値Ｉq*（≧０）から補正後のｑ軸電流指令値Ｉq*を減算した値（＝補正前のＩq*−補正後のＩq*）を取り得る。ここで、Ｉq*は、例えば、最大電流値（例えば、２５［Ａ］）と−最大電流値（例えば、−２５［Ａ］）とで規定される範囲内の値を取り得る。例えば、補正前のＩq*が最大電流値であり、補正後のＩq*が−最大電流値であれば、補正前のＩq*−補正後のＩq*に従って、総補正値Ｔは−５０［Ａ］となる。すなわち、総補正値Ｔが取り得る最小値は、−最大電流値の２倍（例えば、−５０［Ａ］）となる（総補正値Ｔ≧−２×最大電流値）。また、補正前のＩq*が最大電流値であり、補正後のＩq*が−最大電流値となる状況は、回転速度検出値ωrが第１の制限値（＋ωlmt）となった場合に発生トルクを最大限に低減したい場合（例えば、モータ６０の回転方向と同一方向に負荷トルクが加わるなど、回転速度を上昇する方向に外力が働く状況で回転速度の上昇を抑制すべく逆向きのトルクを発生させたい場合）に起こり得る。この場合において、第２の偏差は、第２の制限値（＝＋ωlmt−δ）からωr（＝＋ωlmt）を減算した値（＝−δ）であるので、補正値Ｐは、第２の偏差（＝−δ）に比例ゲインＫｐを乗算した値（＝−Ｋｐ×δ）となる。以上の点を考慮すると、補正値Ｉの下限値は、総補正値Ｔの最小値（−２×最大電流値）から上述の状況で補正値Ｐが取り得る値を減算した値であることが好ましい（補正値Ｉ≧−（２×最大電流値−Ｋｐ×δ））。このように、モータ６０の正回転時における補正値Ｉの下限値を−（２×最大電流値−Ｋｐ×δ）に設定することにより、逆向きのトルクを発生するような総補正値Ｔ（例えば、Ｉq*を３［Ａ］から−２５［Ａ］に補正するような値）の演算を許容することができる。
【００９０】
したがって、第１の条件が成立している場合、積分演算処理５０２Ｍは、演算した補正値Ｉが上述の上限値以上（補正値Ｉ≧−補正値Ｐ）のときは上限値を出力し、演算した補正値Ｉが上述の下限値以下（補正値Ｉ≦−２×最大電流値＋Ｋｐ×δ）のときは下限値を出力する。一方、演算した補正値Ｉが−２×最大電流値＋Ｋｐ×δ＜補正値Ｉ＜−補正値Ｐのときは演算した補正値Ｉがそのまま出力される。
【００９１】
一方、上述の第２の条件が成立している場合は、第２の偏差及び補正値Ｐが０［Ａ］以上となり、第１の偏差及び補正値Ｉが０［Ａ］以下となる。また、ｑ軸電流指令値Ｉq*は０［Ａ］以下であるため、逆回転中の制限条件は総補正値Ｔ≧０［Ａ］であり、総補正値Ｔが取り得る最小値は０［Ａ］である。したがって、補正値Ｉ≧−補正値Ｐから、補正値Ｉの下限値は、−補正値Ｐとなる。一方、総補正値Ｔが取り得る最大値は、補正前のｑ軸電流指令値Ｉq*が−最大電流値であり、補正後のＩq*が最大電流値となる状況を考慮すると、２×最大電流値である（総補正値Ｔ≦２×最大電流値）。また、この状況は、回転数検出値ωrが負側の第１の制限値（−ωlmt）に到達した場合に起こり得る点を考慮すれば、補正値Ｉ≦２×最大電流値−Ｋｐ×δとなり、補正値Ｉの上限値は２×最大電流値−Ｋｐ×δとなる。
【００９２】
第２の条件が成立している場合、積分演算処理５０２Ｍは、第１の条件が成立している場合と同様、補正値Ｉがその上限値（２×最大電流値−Ｋｐ×δ）以上のときは上限値を出力し、補正値Ｉがその下限値（−補正値Ｐ）以下のときは下限値を出力する。一方、補正値Ｉが−補正値Ｐ＜補正値Ｉ＜２×最大電流値−Ｋｐ×δのときは演算した補正値Ｉがそのまま出力される。
【００９３】
このように、補正値Ｉは、モータ６０の最大電流値と、補正値Ｐと、比例ゲインＫｐと、所定値δとから求まる上下限値で規定される所定の範囲内に制限される。より詳細には、第１の条件及び第２の条件の両方を考慮すると、発生トルクを低減して回転速度を制限するためには、補正値Ｉの絶対値が補正値Ｐの絶対値以下に制限されていればよい。これにより、補正値Ｐと補正値Ｉの合計である総補正値Ｔは、補正後のｑ軸電流指令値Ｉq*が補正前のＩq*以下に制限されるので、発生トルクを低減することが可能である。
【００９４】
以上説明した第１実施形態に係る制御器８０では、回転速度検出値ωrと回転速度制限値とに基づくＰＩ制御を含むフィードバック制御によりｑ軸電流指令値Ｉq*が補正されるが、これに限るものではない。例えば、以下に説明する第２実施形態に係る制御器８０では、ＰＩ制御に更に微分制御（以下、単に「Ｄ制御」という）を加えたＰＩＤ制御によりＩq*を補正してもよい。そのため、第２実施形態に係る制御器８０では、目標電流設定部５００のｑ軸電流補正部５０２は、図７に示すように、以上説明した各種処理５０２Ａ〜５０２Ｏに加えて微分ゲイン乗算処理５０２Ｐ及び微分演算処理５０２Ｑを含む。
【００９５】
微分ゲイン乗算処理５０２Ｐは、第１の偏差演算処理５０２Ｋから第１の偏差を入力し、この第１の偏差に微分ゲインＫｄを乗算する。そして、微分ゲイン乗算処理５０２Ｐは、第１の偏差に微分ゲインＫｄを乗算した値を微分演算処理５０２Ｑに出力する。
【００９６】
微分演算処理５０２Ｑは、補正決定処理５０２Ｇからの信号を入力すると共に第１の偏差に微分ゲインＫｄを乗算した値を微分することで、Ｄ制御による補正値Ｄを演算する。そして、微分演算処理５０２Ｑは、補正決定処理５０２Ｇからの信号がＴｒｕｅであれば、演算した補正値Ｄを加算処理５０２Ｎに出力する。すなわち、Ｄ制御による補正も、Ｐ制御及びＩ制御による補正と同様、回転速度検出値ωrが第２の制限値（ωlmt−δ又は−ωlmt＋δ）に達してから実行される。一方、微分演算処理５０２Ｑは、補正決定処理５０２Ｇからの信号がＦａｌｓｅであれば、０［Ａ］を加算処理５０２Ｎに出力する。
【００９７】
加算処理５０２Ｎは、補正値Ｐと、補正値Ｉと、補正値Ｄとを加算した値を補正処理５０２Ｏに出力する。すなわち、総補正量Ｔは、補正値Ｐ＋補正値Ｉ＋補正値Ｄとなる。
【００９８】
Ｄ制御の出力は、一般に、目標値から検出値を減算した偏差の時間変化率に比例しており、検出値が目標値に近付く速度が速ければ速いほど絶対値が大きな負の値となる。ここで、第２実施形態による制御器８０の作用、すなわち、ｑ軸電流補正部５０２においてＰＩ制御にＤ制御を加えた場合の作用について説明する。例えば、ｑ軸電流指令値Ｉq*が正の値であり、ωlmt−δ＜ωr＜ωlmtのとき、第１の偏差は正の値となり、第２の偏差は負の値となる。すなわち、補正値Ｉは正の値となり、補正値Ｐは負の値となる。また、補正値Ｉは−補正値Ｐ以下に制限されるので、Ｉ制御による影響は、Ｐ制御により弱められる。しかしながら、回転速度検出値ωrが第１の制限値ωlmtに近付く速度が速い場合には、ωrがωlmtを超えるオーバーシュートが発生し得る。しかしながら、ωrがωlmtに近付く速度が速い場合にはＤ制御による補正値Ｄが絶対値の大きい負の値となるので、オーバーシュートの発生を抑制することができる。
【００９９】
また、Ｄ制御を加えることにより、比例ゲインＫｐ及び積分ゲインＫｉをＤ制御がない場合と比較して大きくすることが可能である。これにより、オーバーシュートの発生を抑制しつつ回転速度制限の制御の応答性を向上させることができる。
【０１００】
ここで、モータ６０、インバータ７０、及び、Ｄ制御が加わったｑ軸電流補正部５０２を含む制御器８０を備えたモータ制御システム（以下、単に「システム」という）９００の伝達関数について考える。図８は、システム９００の伝達関数を説明するための図である。
【０１０１】
図８に示すように、システム９００は、概略的に、速度制御系９０２、電流制御系９０４、トルク生成系９０６及びモータ機械系９０８で構成されている。
【０１０２】
速度制御系９０２は、ｑ軸電流補正部５０２を含む目標電流設定部５００に相当し、回転速度検出値ωrと第１の制限値ωlmt又は−ωlmtに基づくＰＩＤ制御により電流指令Ｉ*を生成する。速度制御系９０２では、Ｐ制御は比例ゲインＫｐで表され、Ｉ制御はＫｉ／ｓで表され、Ｄ制御はｓＫｄで表される。ここで、ｓは微分演算子であり、１／ｓは積分演算子である。このような速度制御系９０２の伝達関数は、（ｓ2Ｋｄ＋ｓＫｐ＋Ｋｉ）／ｓと表せる。
【０１０３】
電流制御系９０４は、ベクトル制御部６００、２軸−３相変換部７００及び信号生成部８００に相当し、モータ６０を制御する電流Ｉを生成する。電流制御系９０４の伝達関数は、１／（ｓ×τc＋１）で表される。ここで、τcは、電流制御の時定数であって、電流制御の制御応答角周波数ωACRの逆数である（τc＝（ωACR）-1）。すなわち、電流制御系９０４は、時定数τcの一次遅れ系により構成されている。
【０１０４】
トルク生成系９０６は、モータ６０に相当し、電流Ｉにトルク定数Ｋtを乗じて得られるトルクＴを生成する。そして、電流制御系９０４の伝達関数に、トルク生成系のトルク定数Ｋtを乗じることにより、Ｋt／（ｓ×τc＋１）が得られる（図８の符号９１０を参照）。
【０１０５】
モータ機械系９０８は、モータ６０に付随する機器等の負荷に相当するものであり、この負荷によりモータ６０が所定の回転速度（回転速度検出値ωr）で回転することになる。より詳細には、モータ機械系９０８はモータ機械イナーシャＪ及びモータ機械フリクションＤのフィードバック結合で表される。このようなモータ機械系９０８の伝達関数は、フィードバック変換により１つの伝達関数（１／Ｊｓ）／（１＋Ｄ／Ｊｓ）で表される。
【０１０６】
ここで、図８に示すように、速度制御の応答角周波数ωASRの逆数である時定数τsを用いて、微分ゲインＫｄを、Ｋ'ｄ／τsとし、比例ゲインＫｐを、Ｋ'ｐ／τsとし、積分ゲインＫｉを、Ｋ'ｉ／τsとする。これにより、モータ制御システム９００の伝達関数は、（数１）に従って、回転速度でフィードバック結合された伝達関数で表される（図８の符号９１２を参照）。
【０１０７】
【数１】
2020178409.tif 000003
【０１０８】
ここで、（数１）において、括弧内＝１を満たすようなＫ'ｄ、Ｋ'ｐ、Ｋ'ｉは、それぞれ、τcＪ／Ｋt、（τcＤ＋Ｊ）／Ｋt、Ｄ／Ｋtである。これらを（数１）に代入することにより、モータ制御システム９００は、１／ｓτsという伝達関数が回転速度でフィードバック結合されたものとして表すことが可能となる。そして、この伝達関数は、（数２）に示すように、フィードバック変換により１つの伝達関数で表される。
【０１０９】
【数２】
2020178409.tif 000004
【０１１０】
（数２）は、時定数τsの一次遅れ系の伝達関数である。したがって、ｑ軸電流補正部５０２のフィードバック制御をＰＩＤ制御とすることにより、モータ制御システム９００において、時定数τsの一次遅れ系の応答を得ることが可能になる。これにより、回転速度制限における応答のおおよその速さについての予測が容易になる。
【０１１１】
言い換えれば、比例ゲインＫｐ、積分ゲインＫｉ及び微分ゲインＫｄを、（数３）に従って設定することにより、モータ制御システム９００において時定数τsの一次遅れ系の応答を得ることができる。但し、比例ゲインＫｐ、積分ゲインＫｉ及び微分ゲインＫｄを、以下の（数３）から求まる値に設定することに限るものではなく、（数３）を目安として設定してもよい。
【０１１２】
【数３】
2020178409.tif 000005
【０１１３】
ここで、モータ制御システム９００において、入力を任意の回転速度ωr1のステップ関数ωr1／ｓとした場合、ラプラス逆変換を用いることにより出力である回転速度ωrの応答波形を示す関数ωr＝ωr1（１−ｅｘｐ（−ｔ／τs））が得られる。この関数を用いて、回転速度０から任意の回転速度ωr1に収束するまでのＩ制御による出力、つまり、補正値Ｉを計算すると、（数４）に従って、Ｄωr1／Ｋｔとなる。
【０１１４】
【数４】
2020178409.tif 000006
【０１１５】
Ｄωr1／Ｋｔという値は、図９においてハッチングで示す領域の面積（積分値＝偏差ωr1×ｅｘｐ（−ωASRｔ）の時間積分）に積分ゲインＫｉを乗じて得られる値である。また、この積分値Ｄωr1／Ｋｔは、回転速度がωr1のときのモータ機械フリクションＤによる影響を除去するための電流値に相当する。
【０１１６】
ここで、第１実施形態では、回転速度検出値ωrが第２の制限値に達してからＰＩ制御が開始されることから、補正値Ｉの初期値を０［Ａ］としている。しかしながら、本来、回転速度検出値ωrが０から第２の制限値に至るまでに補正値Ｉが０［Ａ］よりも大きい値となっているはずである。そこで、Ｄ制御を実行しない第１実施形態では、少なくともＰＩ制御を開始する際に、Ｉ制御の影響よりもＰ制御の影響を強くするために、補正値Ｉを０［Ａ］としていた。
【０１１７】
一方、第２実施形態では、Ｄ制御を実行するため、Ｄ制御がＩ制御の影響を弱めるように働く。そこで、第２実施形態によるｑ軸電流補正部５０２では、回転速度検出値ωrが０から第２の制限値に至るまでの０［Ａ］よりも大きい補正値Ｉとして、第２の制限値ωlmt−δ又は−ωlmt＋δを用いたＤ（ωlmt−δ）／Ｋｔ又はＤ（−ωlmt＋δ）／Ｋｔを補正値Ｉの初期値に設定する。すなわち、積分演算処理５０２Ｍでは、補正決定処理５０２Ｇからの信号がＦａｌｓｅである場合、補正値ＩはＤωr／Ｋｔに初期設定される。このように、Ｄ制御を加えて一次遅れ系の応答を得ることで補正値Ｉの適切な初期値を予測して設定することが可能となる。但し、例えば、実機試験において積分ゲインＫｉを上述のＤωASR／Ｋｔより大きい値とすることが適切であると判断された場合、回転速度検出値ωrやｄ、ｑ軸電流検出値Ｉd、Ｉqなどの制御量の振動が所望の範囲内に抑制されていれば、補正値Ｉの初期値を第１実施形態と同様に０［Ａ］としてもよい。
【０１１８】
また、所定値δは、例えば、上述した比例ゲインＫｐと最大電流値とを用いてＫｐ×δ＝最大電流値を満たすように設定される。第２実施形態に係る制御器８０では、Ｄ制御により、Ｄ制御がない場合と比較して制御量の急激な変化が抑制される。したがって、Ｄ制御が加わった分、第１実施形態と比較して、補正値Ｐが取り得る最小値を小さくすることが可能である。より詳細には、補正値Ｐが取り得る最小値は、第１実施形態では、およそ−最大電流値の２倍であったのに対し、第２実施形態では、−最大電流値とすることができる。すなわち、Ｄ制御が加わった分、Ｄ制御がない場合と比較して所定値δを小さくすることができる。
【０１１９】
補正値Ｉについての上下限値は、例えば、以下のように設定される。モータ６０が正回転している場合、補正値Ｉの下限値は、−（２×最大電流値−Ｋｐ×δ））に設定される。また、補正値Ｉの上限値は、補正値Ｉの初期値がＤ（ωlmt−δ）／Ｋｔに設定されていることを考慮して、２×最大電流値に設定されることが好ましい。これは、補正値Ｉの上限値を−補正値Ｐとすると、ＰＩＤ制御の開始時に補正値Ｐは０となるため補正値Ｉも０となり、初期値をＤ（ωlmt−δ）／Ｋｔに設定した意味がなくなるからである。但し、上述したように補正値Ｉの初期値を０［Ａ］に設定した場合は、第１実施形態と同様に補正値Ｉの上限値を−補正値Ｐとしてもよい。一方、モータ６０が逆回転している場合、補正値Ｉの上限値は、２×最大電流値−Ｋｐ×δに設定され、補正値Ｉの下限値は、−２×最大電流値又は−補正値Ｐに設定される。
【０１２０】
以上説明した第１実施形態及び第２実施形態では、ｑ軸電流指令値Ｉq*を補正したが、これに限るものではない。例えば、以下に説明する第３実施形態に係る制御器８０は、ｄ軸電流指令値Ｉd*を補正することで発生トルクを低減してオーバーシュートの発生を抑制することが可能である。
【０１２１】
ここで、ｄ軸電流指令値Ｉd*を補正する状況は、ｑ軸電流指令値Ｉq*を補正する状況と同様、モータ６０の回転速度が上昇しやすい状況であって、特に、Ｉd*を負の値に設定する弱め磁束制御の実行中である。例えば、ｑ軸電流指令値Ｉq*が正の値である場合における弱め磁束制御の実行中は、Ｉd*をそれまでのＩd*よりも大きくし、これに追従してｄ軸電流検出値Ｉdが大きくなると、ｑ軸電流検出値Ｉqが小さくなる。
【０１２２】
例えば、モータ６０が正回転している場合の弱め磁束制御の実行中、図１０に示すように時刻ｔ４において回転速度検出値ωrが第２の制限値ωlmt−δに達すると、ｄ軸電流指令値Ｉd*を大きくする補正を開始する。これにより、ｄ軸電流検出値Ｉdが補正後のＩd*に追従して大きくなるように変化する。Ｉdの変化に伴って、モータ６０の正回転中はｑ軸電流検出値Ｉq（＞０）が小さくなる（図１０を参照）。また、モータ６０の逆回転中は、Ｉd*の補正に追従してＩdが大きくなることによりＩq（＜０）が大きくなる（Ｉqが正の値となる場合も含む）。すなわち、弱め磁束制御の実行を中止するようにＩd*を補正することでＩqを小さくすることが可能である。これにより、発生トルクを低減して回転速度の上昇を抑制することができる。
【０１２３】
要するに、制御器８０が界磁磁束を弱める弱め磁束制御を実行している間、発生トルクの低減に寄与する電流指令値は、ｄ軸電流指令値Ｉd*である。但し、弱め磁束制御が実行されている場合でも、第１実施形態及び第２実施形態で説明したように、ｑ軸電流指令値Ｉq*を補正することで発生トルクを低減することが可能である。すなわち、発生トルクの低減に寄与する電流指令値は、Ｉd*＝０［Ａ］での制御を実行している間はｑ軸電流指令値Ｉq*であり、弱め磁束制御を実行している間はｑ軸電流指令値Ｉq*又はｄ軸電流指令値Ｉd*である。
【０１２４】
第３実施形態に係る制御器８０の目標電流設定部５００は、ｄ軸電流指令値Ｉd*を補正することで発生トルクを低減すべく、ｑ軸電流補正部５０２に代えて、Ｉd*を補正するｄ軸電流補正部５０４を含む（図１１を参照）。ｄ軸電流補正部５０４は、図６を参照して説明したｑ軸電流補正部５０２の各種処理５０２Ａ〜５０２Ｏと同様の処理５０４Ａ〜５０４Ｎを含む。但し、ｄ軸電流補正部５０４は、加算処理５０４Ｎが演算した総補正値Ｔの絶対値を補正処理５０４Ｏに出力する絶対値処理５０４Ｐを更に含む点でｑ軸電流補正部５０２とは異なる。
【０１２５】
例えば、モータ６０が正回転している場合（ｑ軸電流指令値Ｉq*＞０）の弱め磁束制御を実行中（ｄ軸電流指令値Ｉd*＜０）の補正処理について説明する。今、回転速度検出値ωrが第２の制限値ωlmt−δを超えているが第１の制限値ωlmt未満になったとする（ωlmt−δ＜ωr＜ωlmt）。このとき、第２の偏差及び補正値Ｐは負の値となる。一方、第１の偏差及び補正値Ｉは正の値となる。ここで、補正値Ｉについては、第１実施形態と同様、少なくとも補正値Ｉ≦−補正値Ｐという条件を満たすように制限されていることが好ましい。これにより、加算処理５０４Ｎで演算される総補正値Ｔは０［Ａ］以下となる。絶対値処理５０４Ｐは、この総補正値Ｔ（≦０）を入力すると、総補正値Ｔの絶対値（すなわち、正の値）を補正処理５０４Ｏに出力する。補正処理５０４Ｏは、補正前のＩd*に総補正値Ｔを加算することでＩd*を補正する。総補正値Ｔの絶対値が０よりも大きければ、補正後のＩd*は、補正前のＩd*よりも大きくなり、補正後のＩd*に追従してｄ軸電流検出値Ｉdが大きくなる。これにより、ｑ軸電流検出値Ｉqが小さくなり、発生トルクが低減される。したがって、回転速度の上昇が抑制され、回転速度検出値ωrが第１制限値ωlmtを超えるオーバーシュートの発生を抑制することができる。
【０１２６】
モータ６０が逆回転している場合（ｑ軸電流指令値Ｉq*及びｑ軸電流検出値Ｉq＜０）の弱め磁束制御中の補正処理について説明する。−ωlmt＜ωr＜−ωlmt＋δのとき、第２の偏差及び補正値Ｐは正の値となり、第１の偏差及び補正値Ｉは負の値となる。但し、第１実施形態と同様、モータ６０が逆回転している場合、補正値Ｉは−補正値Ｐ以上（すなわち、補正値Ｉの絶対値は、補正値Ｐの絶対値以下に制限される）であることが好ましいので、総補正値Ｔは０［Ａ］以上となる。絶対値処理５０４Ｐでは、総補正値Ｔ≧０［Ａ］であるので総補正値Ｔがそのまま出力される。これにより、補正後のｄ軸電流指令値Ｉd*は、補正前のＩd*よりも大きくなる。したがって、モータ６０が正回転している場合と同様、Ｉq（≦０）が大きくなり（補正によってＩqが正の値となる場合を含む）、発生トルクが低減される。よって、回転速度の上昇が抑制され、オーバーシュートの発生を抑制することができる。
【０１２７】
ｄ軸電流補正部５０４が設けられている場合、比例ゲインＫｐ、所定値δ、積分ゲインＫｉ及び上下限値は、例えば、以下のように設定される。
【０１２８】
上述したように、弱め磁束制御の実行中にｄ軸電流検出値Ｉdが大きくなると（但し、Ｉd≦０）、ｑ軸電流検出値Ｉq（≧０）が小さくなることで発生トルクが低減される。ここで、例えば、モータ６０の回転速度が正回転方向に上昇しやすい場合に、比例ゲインＫｐが大きすぎると、補正後のｄ軸電流指令値Ｉd*と補正前のＩd*との差が大きくなる。その結果、図１２（ａ）に示すように、Ｉdが０［Ａ］を超えて正側に大きく振れるなど、Ｉdが補正後のＩd*に追従するまでに振動するおそれがある。この際、Ｉdの正側への大きな振れに伴って、Ｉqが負の値にまで変化すると、モータ６０の逆回転を生じさせるような発生トルクが生じてしまう。そのため、回転速度検出値ωrも振動するなど、モータ６０の動作にガタつきが生じるおそれがある。
【０１２９】
一方、比例ゲインＫｐが小さすぎると、図１２（ｂ）に示すように、ｄ軸電流検出値Ｉdの振動は抑制されるものの、その変化は小さいためｑ軸電流検出値Ｉqが小さくなりにくい。したがって、発生トルクを低減させにくく、回転速度検出値ωrが第１の制限値ωlmtを超えるオーバーシュートが発生するおそれがあった。
【０１３０】
したがって、実機試験において、例えば、図１２に示す応答波形を監視しながら、動作のガタつき及びオーバーシュートの発生が抑制されるような比例ゲインＫｐについての最適な値を探し、比例ゲインＫｐをこの値に設定することが好ましい。
【０１３１】
所定値δは、比例ゲインＫｐが大きいほど小さくすることができ、比例ゲインＫｐが小さいほど大きくすることができる。但し、所定値δの設定次第では、ｄ軸電流指令値Ｉd*の補正が実行される際に、回転速度（回転速度検出値ωr）が急激に変化するおそれがある。したがって、所定値δについても、設定した比例ゲインＫｐを用いて図１２に示す応答波形を監視しながら回転速度が急激に変化しないような最適な値を探し、所定値δをこの値に設定することが好ましい。
【０１３２】
積分ゲインＫｉは、例えば、第１実施形態と同様に設定される。積分ゲインＫｉを大きくすれば、補正値Ｉの変化が速くなり、それに応じた補正後のｄ軸電流指令値Ｉd*に対するｄ軸電流検出値Ｉdの変化も速くなる。ただし、積分ゲインＫｉを大きくし過ぎると、回転速度（回転速度検出値ωr）が振動したり、第１の制限値ωlmtに対するオーバーシュートが発生しやすくなったりする（図１３（ａ）を参照）。一方、積分ゲインＫｉを小さくし過ぎると、ｄ軸電流検出値Ｉdの変化及びこれに追従するｑ軸電流検出値Ｉqの変化が遅くなり、回転速度制御の応答が遅くなってしまう（図１３（ｂ）を参照）。そこで、例えば、実機試験において、オーバーシュートの発生及び振動の抑制などの制御の安定性と、応答の速度とがバランスするような積分ゲインＫｉの値を探し、この値を積分ゲインＫｉに設定することが好ましい。
【０１３３】
補正値Ｉについての上下限値は、第１実施形態と同様、補正値Ｐ及び最大電流値に基づいて設定される。すなわち、ｑ軸電流指令値Ｉq*≧０の場合、上限値は、−補正値Ｐであり、下限値は、−（２×最大電流値−Ｋｐ×δ）である。一方、Ｉq*が０未満の場合、上限値は、２×最大電流値−Ｋｐ×δであり、下限値は、−補正値Ｐである。
【０１３４】
要するに、補正値Ｉは、少なくとも補正値Ｉの絶対値が補正値Ｐの絶対値以下であれば、総補正値ＴへのＰ制御による影響がＩ制御による影響よりも強く出る。すなわち、回転速度が上昇しやすい状況において、Ｐ制御により回転速度検出値の絶対値ωrが第２の制限値の絶対値ωlmt−δに向かうような抑止力が働くので、回転速度が、第１の制限値の絶対値ωlmtを超えるオーバーシュートの発生を抑制することができる。
【０１３５】
尚、上述した第３実施形態では、弱め磁束制御を実行している間、ｄ軸電流指令値Ｉd*を補正するものとして説明したが、これに限るものではない。例えば、Ｉd*＝０［Ａ］での制御中にｄ軸電流指令値Ｉd*を大きくするように補正することで、ｑ軸電流検出値Ｉqを小さくして発生トルクを低減することが可能である。
【０１３６】
以上説明した第１実施形態〜第３実施形態では、ｑ軸電流指令値Ｉq*又はｄ軸電流指令値Ｉd*を補正することで発生トルクを低減したが、これに限るものではない。例えば、上述したｑ軸電流補正部５０２及びｄ軸電流補正部５０４に代えて、ベクトル制御部６００で演算されたｑ軸電圧指令値Ｖqを補正するｑ軸電圧補正部６０２をベクトル制御部６００に設けてもよい（図１４を参照）。このｑ軸電圧補正部６０２は、上述した回転速度検出値ωrと第１の制限値ωlmtとに基づくＰＩ制御を含むフィードバック制御によりＶqを補正する。
【０１３７】
要するに、ｑ軸電圧補正部６０２は、ベクトル制御部６００においてｄ、ｑ軸電流指令値Ｉd*、Ｉq*とｄ、ｑ軸電流検出値Ｉd、Ｉqとの電流偏差に対するＰＩ制御などのフィードバック制御により演算されたｑ軸電圧指令値Ｖqを補正する。
【０１３８】
ｑ軸電圧補正部６０２は、図６に示す各種処理５０２Ａ〜５０２Ｏと基本的には同様の処理６０２Ａ〜６０２Ｎを含む。ただし、ｑ軸電圧補正部６０２では、回転方向判定処理６０２Ａが、ｑ軸電圧指令値Ｖqを０［Ｖ］（ボルト）と比較して回転方向を判定し、補正処理６０２Ｏが、ｑ軸電圧指令値Ｖqに総補正量Ｔを加算することで補正後のｑ軸電圧指令値Ｖqを演算する。
【０１３９】
また、所定値δ、比例ゲインＫｐ、積分ゲインＫｉ及び上下限値は、例えば、第１実施形態で説明した第１の設定方法と同様の設定方法により設定される。
【０１４０】
所定値δは、ｑ軸電流指令値Ｉq*を、モータ６０を一方向に回転させる最大の電流値（＝最大電流値）に設定した後、回転速度検出値ωrが第１の制限値（ωlmt又は−ωlmt）に達したときに、Ｉq*を、モータ６０を逆方向に回転させる最大の電流値（＝−最大電流値）に切り換えてからωrの上昇が止まるまでに上昇した回転速度を考慮して予め設定された値である。
【０１４１】
比例ゲインＫｐは、例えば、設定した所定値δを用いると共に、最大電流値に代えて最大電圧値を用いて設定可能である。例えば、比例ゲインＫｐは、Ｋｐ×δ≒２×最大電圧値を満たすような値に設定される。ここで、最大電圧値は、例えば、回路上限電圧（インバータ７０の電源電圧の１／２倍）など、モータ６０に印加可能な最大の電圧値であってもよい。
【０１４２】
積分ゲインＫｉも、第１実施形態と同様に、実機試験によって、応答速度と、モータ６０の制御安定性とがバランスするような値を求め、求めた値に設定される。
【０１４３】
上下限値についても、最大電流値に代えて最大電圧値を用いて設定可能である。例えば、Ｖqが０以上、すなわち、モータ６０が正回転している場合、補正値Ｉの上限値は、−補正値Ｐであり、補正値Ｉの下限値は、−（２×最大電圧値−Ｋｐ×δ）である。すなわち、補正値Ｉは、Ｖqが０以上の場合、−（２×最大電圧値−Ｋｐ×δ）≦補正値Ｉ≦−補正値Ｐを満たすように制限される。一方、Ｖq＜０の場合、補正値Ｉは、−補正値Ｐ≦補正値Ｉ≦２×最大電圧値−Ｋｐ×δを満たすように制限される。
【０１４４】
第４実施形態によるｑ軸電圧補正部６０２においても、回転速度検出値ωrが第２の制限値（ωlmt−δ又は−ωlmt＋δ）に達してからＰＩ制御が実行される。例えば、Ｖq＞０の場合において、第２の制限値ωlmt−δ＜ωr＜第１の制限値ωlmtのとき、補正値Ｐは負の値となり、補正値Ｉは正の値となる。但し、補正値Ｉは、−補正値Ｐ以下に制限されるため、補正値Ｐと補正値Ｉとを加算した値である総補正値Ｔは、負の値となる。すなわち、補正後のｑ軸電圧指令値Ｖqは補正前のＶqよりも小さくなる。これにより、ｑ軸電流検出値ＩqがＰＩ制御の実行前よりも小さくなり、回転速度検出値ωrが第１の制限値ωlmtに達する前から発生トルクを低減することが可能となる。したがって、モータ６０の回転速度が上昇しやすい場合であっても、オーバーシュートの発生を抑制することができる。
【０１４５】
以上説明した第４実施形態においても、第１〜第３実施形態と同様、モータ６０として３相ブラシレスモータを用いたが、これに限るものではない。例えば、第４実施形態では、モータ６０として、電圧を可変制御することで回転速度を変更可能なブラシ付きの直流モータを用いてもよい。この場合、インバータ７０は省略され、制御器８０は、回転角度演算部１００、回転速度演算部２００の他、モータ６０の印加電圧を設定する電圧設定部を新たに備えることが好ましい。また、新たに設けた電圧設定部には、回転速度検出値、第１の制限値及び第２の制限値に基づくフィードバック制御によりモータ６０の印加電圧を補正する電圧補正部を設けることが好ましい。これにより、ブラシ付きの直流モータに第４実施形態に係る制御器８０を適用することが可能となる。
【０１４６】
また、第３実施形態及び第４実施形態においても、例えば、第２の制限値ωlmt−δ＜回転速度検出値ωr＜第１の制限値ωlmtのとき、補正値Ｉ及び補正値Ｐは互いに異なる符号の値となる。したがって、第１実施形態で述べたように、Ｉ制御により回転速度を第の制限値に近付けようとする作用がＰ制御により回転速度を第２の制限値に近付けようとする作用によって相殺される。これにより、Ｐ制御及びＩ制御の両方をωrがωlmtに達したときに開始する場合と比較して、オーバーシュートの発生が抑制される。したがって、第３実施形態及び第４実施形態においても、必ずしも補正値Ｉの絶対値が補正値Ｐの絶対値以下となるように補正値Ｉが制限されなくてもよい。この点は、第１実施形態においても同様である。さらに、第３実施形態又は第４実施形態においても、ＰＩ制御に加えてＤ制御を加えてｄ軸電流指令値Ｉd*又はｑ軸電圧指令値Ｖqを補正するようになっていてもよい。
【０１４７】
尚、当業者であれば、様々な上記実施形態の技術的思想について、その一部を省略したり、その一部を適宜組み合わせたり、その一部を置換したりすることで、新たな実施形態を生み出せることを容易に理解できるであろう。
【符号の説明】
【０１４８】
４６  ＶＣＲコントローラ（モータ制御装置）
６０  モータ（３相ブラシレスモータ）
８０  制御器
５００  目標電流設定部
５０２  ｑ軸電流補正部
５０２Ｂ  所定値選択処理
５０２Ｃ  第１の制限値選択処理
５０２Ｄ  第２の制限値演算処理
５０２Ｈ  第２の偏差演算処理
５０２Ｋ  第１の偏差演算処理
５０２Ｉ  Ｐ制御処理
５０２Ｌ  積分ゲイン乗算処理
５０２Ｍ  積分演算処理
５０２Ｎ  加算処理
５０２Ｏ  補正処理
【図１】
2020178409.tif 000007
【図２】
2020178409.tif 000008
【図３】
2020178409.tif 000009
【図４】
2020178409.tif 000010
【図５】
2020178409.tif 000011
【図６】
2020178409.tif 000012
【図７】
2020178409.tif 000013
【図８】
2020178409.tif 000014
【図９】
2020178409.tif 000015
【図１０】
2020178409.tif 000016
【図１１】
2020178409.tif 000017
【図１２】
2020178409.tif 000018
【図１３】
2020178409.tif 000019
【図１４】
2020178409.tif 000020