(57)【要約】【課題】モータの電流指令値を適正に制限することが可能なモータ駆動装置を提供することを目的とする。【解決手段】モータ駆動装置８０は、モータ電流の指令値である電流指令値を電流制限値以下に制限し、制限後の電流指令値に基づいて、インバータ８１を駆動させる制御部６０を備える。制御部６０は、モータ電流と制限後の電流指令値とに基づいて、電流指令値が制限されても、モータ電流が抑制されない状態であるか否かを推定する。そして、推定結果に基づいて、電流指令値を補正する。【選択図】      図１
2020048307.tif 000002
【特許請求の範囲】
【請求項１】
電源（２００）からの電力を変換してモータ（１０）に供給する電力変換部（８１）を備えるモータ駆動装置（８０）であって、
前記モータに流れる電流であるモータ電流を検出する電流検出部（７０）と、
前記モータ電流の指令値である電流指令値を所定の電流制限値に基づいて補正する制限実施部（６２，６４）と、
前記制限実施部による補正後の前記電流指令値に基づいて、前記電力変換部を駆動させる駆動制御部（６５，６６，６７，６８）と、
前記モータ電流と補正後の前記電流指令値とに基づいて、前記制限実施部により前記電流指令値が補正されても、前記モータ電流が抑制されない状態であるか否かを推定する推定部（６２）と、を備え、
前記制限実施部は、前記推定部による推定結果に基づいて、前記電流指令値を補正するモータ駆動装置。
【請求項２】
所定の入力信号に基づいて、前記電流指令値を算出する指令値算出部（６３）を備え、
前記制限実施部は、前記推定部により前記モータ電流が抑制されない状態であると推定された場合に、前記入力信号に対する変更の有無により、前記電流指令値を補正する請求項１に記載のモータ駆動装置。
【請求項３】
前記制限実施部は、前記推定部により前記モータ電流が抑制されない状態であると推定された場合に、前記電流制限値を補正する請求項１に記載のモータ駆動装置。
【請求項４】
前記推定部は、制限後の前記電流指令値からの前記モータ電流の乖離幅に基づいて、前記モータ電流が抑制されない状態であるか否かを推定する請求項１〜３のいずれか一項に記載のモータ駆動装置。
【請求項５】
前記モータ電流に基づいて、前記電力変換部が前記モータへ供給する供給電力を算出する供給電力算出部と、
前記電流指令値に基づいて、前記電力変換部が前記モータへ供給する供給電力の目標値を算出する目標電力算出部と、を備え、
前記推定部は、算出された前記供給電力が算出された前記目標値を下回る量が所定の電力閾値よりも大きい場合に、前記モータ電流が抑制されない状態であると推定する請求項１〜３のいずれか一項に記載のモータ駆動装置。
【請求項６】
前記推定部は、前記電流指令値の増加率、モータ回転角の角速度、モータ回転角の角加速度、又はそれらの組合せに応じて、前記モータ電流が抑制されない状態に対する推定され易さを変更する請求項１〜５のいずれか一項に記載のモータ駆動装置。
【請求項７】
前記制限実施部は、前記推定部により前記モータ電流が抑制されない状態であると推定された後に、前記モータ電流が抑制される状態であると推定された場合に、前記電流制限値と前記モータ電流とのうち絶対値が大きい方の値に基づいて、前記電流制限値を設定する請求項１〜６のいずれか一項に記載のモータ駆動装置。
【請求項８】
前記制限実施部は、前記電流制限値と前記モータ電流とのうち絶対値が大きい方の値に基づいて、前記電流制限値を設定した後、設定した前記電流制限値の絶対値が小さくなるように前記電流制限値を徐々に変更する請求項７に記載のモータ駆動装置。
【請求項９】
前記制限実施部により、前記電流指令値が制限された場合に、前記電流指令値が前記電流制限値に制限されたことを記憶する記憶部を備える請求項１〜８のいずれか一項に記載のモータ駆動装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の前記モータ駆動装置と、前記モータとを備え、前記モータが生じるトルクにより運転者のステアリング操作を補助する操舵システム。
【請求項１１】
前記推定部は、運転者のステアリング操作に応じた操舵量の変化加速度が大きいほど、前記モータ電流が抑制されない状態であると推定され易くする請求項１０に記載の操舵システム。
【発明の詳細な説明】
【技術分野】
【０００１】
モータを駆動させるモータ駆動装置、及びモータ駆動装置を備える操舵システムに関する。
【背景技術】
【０００２】
特許文献１には、モータを駆動するモータ駆動装置において、モータに流れるモータ電流を抑制するものが開示されている。具体的には、モータ駆動装置は、モータに流れる電流の指令値である電流指令値を所定の電流制限値に基づいて制限することにより、モータ電流を抑制している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−５７１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
電流指令値の変化に対するモータ電流の追従性が低下する場合がある。電流指令値の変化に対するモータ電流の追従性が悪いと、例えば、モータ電流が制限後の電流指令値により想定される電流を大きく下回る場合があり、この場合、実際にはモータ電流は抑制されていないにも係わらず、電流指令値に対して制限が実施されることとなる。例えば、モータ駆動装置が、電流指令値が制限されたことを履歴情報に記録しておく機能を備えている場合では、モータ電流が抑制されていないにも係わらず、モータ電流が抑制された履歴が記憶されることとなる。そのため、後日、サービスマンがこの履歴を参照することにより、モータ駆動装置の状態を誤って認識してしまうことが懸念される。又、電流指令値が補正されていることを判断し、電流指令値演算や電流に対するフィードバック演算を変更する場合において、実際にはモータ電流は抑制されていないにも係わらず、誤って電流指令値やモータ制御状態が変わることにより、意図しない音や振動が発生し制御性が悪化することが懸念される。
【０００５】
本発明は上記課題に鑑みたものであり、モータの電流指令値を適正に制限することが可能なモータ駆動装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明では、電源からの電力を変換してモータに供給する電力変換部を備えるモータ駆動装置に関する。モータ駆動装置は、前記モータに流れる電流であるモータ電流を検出する電流検出部と、前記モータ電流の指令値である電流指令値を所定の電流制限値に基づいて補正する制限実施部と、前記制限実施部による補正後の前記電流指令値に基づいて、前記電力変換部を駆動させる駆動制御部と、前記モータ電流と補正後の前記電流指令値とに基づいて、前記制限実施部により前記電流指令値が補正されても、前記モータ電流が抑制されない状態であるか否かを推定する推定部と、を備えている。前記制限実施部は、前記推定部による推定結果に基づいて、前記電流指令値を補正する。
【０００７】
上記構成では、モータ電流の指令値である電流指令値が所定の電流制限値に基づいて補正されることにより、モータ電流が抑制される。このとき、モータ電流と制限後の電流指令値とに基づいて、電流指令値が補正されても、モータ電流が抑制されない状態であるか否かが推定される。そして、この推定結果に基づいて、電流指令値が補正される。この場合、電流指令値の変化に対するモータ電流の追従性の悪化の有無に応じて、モータの電流指令値を適正に制限することができる。
【図面の簡単な説明】
【０００８】
【図１】操舵システムの構成図。
【図２】モータ及びモータ駆動装置の構成図。
【図３】電流指令値に対する制限の手順を説明するフローチャート。
【図４】電流指令値の増加率と電流閾値との関係を説明する図。
【図５】第２実施形態に係る、電流指令値に対する制限の手順を説明するフローチャート。
【図６】第３実施形態に係る、電流指令値に対する制限の手順を説明するフローチャート。
【発明を実施するための形態】
【０００９】
（第１実施形態）
実施形態に係る操舵システムを図面に基づいて説明する。操舵システムは、車両に搭載されており、モータの駆動により運転者によるステアリング操作を補助しつつ、このステアリング操作に応じて車輪の向きを変化させる。
【００１０】
図１に示す操舵システム９０は、ステアリングホイール９１、ステアリングシャフト９２、ピニオンギア９６、ラック軸９７、車輪９８を備える。
【００１１】
ステアリングホイール９１に連結されたステアリングシャフト９２は、先端にピニオンギア９６が設けられており、このピニオンギア９６はラック軸９７に噛み合っている。ラック軸９７の両端には、ダイロッド等を介して一対の車輪９８が連結されている。そのため、運転者のステアリングホイール９１の操作に伴うステアリングシャフト９２の回転運動は、ラック軸９７の直線運動に変換されることにより、車両の向きを変化させる。
【００１２】
ステアリングシャフト９２には、トルクセンサ９４と、操舵角センサ９５とが設けられている。トルクセンサ９４は、運転者によるステアリングホイール９１の操作に伴う操舵トルクＴｓを検出する。操舵角センサ９５は、運転者によるステアリングホイール９１の操作角、及び操舵速度Ｖｓを検出する。
【００１３】
操舵システム９０は、更に、モータ１０、モータ駆動装置８０、及び減速ギア９９を備えている。
【００１４】
モータ１０は、運転者の操舵を補助するための操舵アシストトルクをステアリングシャフト９２に発生させる。モータ１０の回転軸は、減速ギア９９を介してステアリングシャフト９２に連結されており、モータ１０の回転が減速ギア９９を介してステアリングシャフト９２に伝達することにより操舵アシストトルクが生じる。本実施形態では、モータ１０は、Ｕ，Ｖ，Ｗの三相コイルを備える交流モータである。
【００１５】
モータ駆動装置８０は、モータ１０の回転に伴い発生する操舵アシストトルクを制御する。モータ駆動装置８０には、トルクセンサ９４により検出された操舵トルクＴｓ、操舵角センサ９５により検出された操舵速度Ｖｓ、及び車速センサ９３により検出された自車の車速Ｖｃが入力される。モータ駆動装置８０は、操舵トルクＴｓ、操舵速度Ｖｓ及び車速Ｖｃの各値に応じて、モータ１０の回転を制御することにより所望の操舵アシストトルクを発生させる。
【００１６】
図２は、モータ１０と、モータ駆動装置８０とを示している。モータ駆動装置８０は、モータ１０に３相交流電力を供給するインバータ８１と、モータ１０の各相（Ｕ，Ｖ、Ｗ）に流れる電流を検出する電流検出部７０と、モータ駆動装置８０の駆動を制御する制御部６０と、を備えている。本実施形態では、インバータ８１が電力変換部に相当する。
【００１７】
インバータ８１は、電力入力線１４を介してバッテリ２００に接続されており、バッテリ２００から供給される直流電力をＵ，Ｖ、Ｗの各相交流電力に変換して、モータ１０に供給する。本実施形態では、インバータ８１は、１組のスイッチング素子の直列接続体を、Ｕ，Ｖ，Ｗの相毎に備えるフルブリッジ回路により構成されている。各スイッチング素子は、制御部６０から出力される操作信号により、オン状態とオフ状態とに操作される。例えば、スイッチング素子はＭＯＳＦＥＴにより構成されている。
【００１８】
電流検出部７０は、インバータ８１と、モータ１０の各相コイル１０ａ，１０ｂ，１０ｃとを接続する各動力線に設けられた各相検出部７１，７２，７３を含んでいる。Ｕ相検出部７１は、インバータ８１とモータ１０のＵ相コイル１０ａとを接続する動力線に設けられており、Ｕ相コイル１０ａに流れる電流をＵ相モータ電流Ｉｕとして検出する。Ｖ相検出部７２は、インバータ８１とモータ１０のＶ相コイル１０ｂとを接続する動力線に設けられており、Ｖ相コイル１０ｂに流れる電流をＶ相モータ電流Ｉｖとして検出する。Ｗ相検出部７３は、インバータ８１とモータ１０のＷ相コイル１０ｃとを接続する動力線に設けられており、Ｗ相コイルに流れる電流をＷ相モータ電流Ｉｗとして検出する。本実施形態では、各相検出部７１〜７３は、例えばシャント抵抗により構成されている。なお、各相検出部７１〜７３をホールＩＣにより構成してもよい。
【００１９】
バッテリ２００とインバータ８１とを接続する電力入力線１４には、バッテリ２００からインバータ８１への電力供給を供給状態と遮断状態との間で切替え可能な電源リレー１３が設けられている。また、電力入力線１４において電源リレー１３よりもバッテリ２００側には、バッテリ２００からインバータ８１に入力される入力電圧Ｖｉｎを検出する電圧検出部１２が設けられている。
【００２０】
モータ１０には、モータ１０の回転角θを検出する回転角センサ１１が設けられている。回転角センサ１１は、例えば、レゾルバにより構成されている。また、回転角センサ１１は、回転角θに基づいて、モータ１０の回転角速度ωを算出可能である。
【００２１】
制御部６０は、ＣＰＵ、ＲＯＭ、ＲＡＭ及びＩ／ＯＩＦを備える周知のマイクロコンピュータを主体として構成されている。制御部６０の各機能は、ＲＯＭに予め記憶されたプログラムをＣＰＵで実行することにより機能的に実現されてもよいし、専用のハードウェアにより実現されてもよい。
【００２２】
制御部６０は、操舵トルクＴｓ、操舵速度Ｖｓ、車速Ｖｃ、及び回転角θに基づき、所望の操舵アシストトルクに応じた操作信号をインバータ８１の各スイッチング素子に出力する。本実施形態では、制御部６０は、電流検出部７０により検出されたモータ電流Ｉｕ、Ｉｖ、Ｉｗが、後述の電流指令値に制御されるように、操作信号のデューティ比を操作量とするフィードバック制御を実施する。
【００２３】
制御部６０は、操舵アシストトルクを生成する機能として、３相２相座標変換部６１と、制限値算出部６２と、指令値算出部６３と、電流制限部６４と、電流偏差算出部６５ａ，６５ｂと、ＰＩ制御部６６ａ，６６ｂと、２相３相座標変換部６７と、ＰＷＭ制御部６８とを備えている。
【００２４】
電流検出部７０により検出されたモータ電流Ｉｕ、Ｉｖ，Ｉｗは、Ａ／Ｄ変換部６９ａ，６９ｂ，６９ｃによりアナログ値からデジタル値に変換された後、３相２相座標変換部６１に出力される。
【００２５】
３相２相座標変換部６１は、モータ１０の回転角θに基づいて、デジタル値に変換されたモータ電流Ｉｕ、Ｉｖ、Ｉｗをｄｑ座標上の値であるｄ軸電流Ｉｄｒ、及びｑ軸電流Ｉｑｒに変換する。ここで、ｄｑ座標を規定する各軸のうち、ｄ軸は、無効電流成分、即ち、モータ１０の回転に伴う回転磁界に寄与する電流である励磁電流成分の軸である。また、ｑ軸は、有効電流成分、即ち、モータ１０のトルクに寄与する電流であるトルク電流成分の軸である。
【００２６】
制限値算出部６２は、ｄ，ｑ軸電流Ｉｄｒ，Ｉｑｒ、及び後述するｄ軸デューティ比Ｄｄ、ｑ軸デューティ比Ｄｑに基づいて、モータ電流Ｉｕ，Ｉｖ，Ｉｗを抑制するための電流制限値である各軸制限値ＬＩｄ，ＬＩｑを算出する。本実施形態では、制限値算出部６２は、インバータ８１に流れるインバータ電流の目標値を示す目標電流Ｉｔに基づいて、各軸制限値ＬＩｄ，ＬＩｑを算出する。インバータ電流の目標電流Ｉｔは、例えば、インバータ８１に供給される入力電圧Ｖｉｎや、インバータ８１の温度に応じてその値が定められる。
【００２７】
指令値算出部６３は、操舵トルクＴｓ、操舵速度Ｖｓ、及び車速Ｖｃに基づいて、ｄ軸電流指令値Ｉｄ＊、及びｑ軸電流指令値Ｉｑ＊を算出する。本実施形態では、指令値算出部６３は、操舵トルクＴｓ、操舵速度Ｖｓ、及び車速Ｖｃが小さいほど、電流指令値Ｉｄ＊，Ｉｑ＊を大きな値に算出する。本実施形態では、ｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊が電流指令値に相当する。
【００２８】
電流制限部６４は、指令値算出部６３により算出された電流指令Ｉｄ＊、Ｉｑ＊を制限値算出部６２により算出された各軸制限値ＬＩｄ，ＬＩｑに基づいて補正する。本実施形態では、電流制限部６４は、正のｄ軸電流指令値Ｉｄ＊に対しては、ｄ軸電流指令値Ｉｄ＊がｄ軸制限値ＬＩｄよりも大きければ、ｄ軸電流指令値Ｉｄ＊をｄ軸制限値ＬＩｄに補正し、ｄ軸電流指令値Ｉｄ＊がｄ軸制限値ＬＩｄ以下であれば、ｄ軸電流指令値Ｉｄ＊をそのまま採用する。一方、電流制限部６４は、負のｄ軸電流指令値Ｉｄ＊に対しては、ｄ軸電流指令値Ｉｄ＊がｄ軸制限値ＬＩｄよりも小さければ、ｄ軸電流指令値Ｉｄ＊をｄ軸制限値ＬＩｄに補正し、ｄ軸電流指令値Ｉｄ＊がｄ軸制限値ＬＩｄ以上であれば、ｄ軸電流指令値Ｉｄ＊をそのまま採用する。電流制限部６４は、正のｑ軸電流指令値Ｉｑ＊に対しては、ｑ軸電流指令値Ｉｑ＊がｑ軸制限値ＬＩｑよりも大きければ、ｑ軸電流指令値Ｉｑ＊をｑ軸制限値ＬＩｑに補正し、ｑ軸電流指令値Ｉｑ＊がｑ軸制限値ＬＩｑ以下であれば、ｑ軸電流指令値Ｉｑ＊をそのまま採用する。電流制限部６４は、負のｑ軸電流指令値Ｉｑ＊に対しては、ｑ軸電流指令値Ｉｑ＊がｑ軸制限値ＬＩｑよりも小さければ、ｑ軸電流指令値Ｉｑ＊をｑ軸制限値ＬＩｑに補正し、ｑ軸電流指令値Ｉｑ＊がｑ軸制限値ＬＩｑ以上であれば、ｑ軸電流指令値Ｉｑ＊をそのまま採用する。
【００２９】
以下では、電流制限部６４から出力されたｄ軸電流指令値を、ｄ軸電流指令値Ｉｄ＊＊と記載し、電流制限部６４から出力されたｑ軸電流指令値を、ｑ軸電流指令値Ｉｑ＊＊と記載する。ｄ軸電流指令値Ｉｄ＊＊は、ｄ軸電流指令値Ｉｄ＊がｄ軸制限値ＬＩｄに制限されたもの、及びｄ軸制限値ＬＩｄに制限されないものが含まれる。ｑ軸電流指令値Ｉｑ＊＊には、ｑ軸電流指令値Ｉｑ＊がｑ軸制限値ＬＩｑに制限されたもの、及びｑ軸制限値ＬＩｑに制限されないものが含まれる。
【００３０】
電流偏差算出部６５ａは、ｑ軸電流指令値Ｉｑ＊＊から、ｑ軸電流Ｉｑｒを引いた値であるｑ軸偏差ΔＩｑを算出する。電流偏差算出部６５ｂは、ｄ軸電流指令値Ｉｄ＊＊からｄ軸電流Ｉｄｒを引いた値であるｄ軸偏差ΔＩｄを算出する。
【００３１】
ＰＩ制御部６６ａは、ｑ軸偏差ΔＩｑがゼロに近づくようにＰＩ制御を行い、ｑ軸電圧を設定するためのｑ軸デューティ比Ｄｑを算出する。ＰＩ制御部６６ｂは、ｄ軸偏差ΔＩｄがゼロに近づくようにＰＩ制御を行い、ｄ軸電圧を設定するためのｄ軸デューティ比Ｄｄを算出する。
【００３２】
２相３相座標変換部６７は、回転角θに基づき、ｄ，ｑ軸デューティ比Ｄｄ、ＤｑをＵ，Ｖ，Ｗの各相電圧デューティ比Ｄｕ、Ｄｖ、Ｄｗに変換して出力する。
【００３３】
ＰＷＭ制御部６８は、インバータ８１の各スイッチを各相電圧デューティ比Ｄｕ、Ｄｖ、Ｄｗに応じてオン操作する操作信号を出力する。この操作信号に基づいて、インバータ８１の各スイッチング素子がオンオフ操作されることによりモータ１０が駆動し、モータ１０はステアリングシャフト９２に操舵アシストトルクを発生させる。本実施形態では、電流偏差算出部６５ａ，６５ｂと、ＰＩ制御部６６ａ，６６ｂと、２相３相座標変換部６７と、ＰＷＭ制御部６８とが駆動制御部に相当する。
【００３４】
次に、制限値算出部６２により算出されるｄ軸制限値ＬＩｄ及びｑ軸制限値ＬＩｑの算出手順を説明する。まず、インバータ８１からモータ１０への実際の供給電力Ｗｉｎｖは、各軸電流Ｉｄｒ，Ｉｑｒ、各軸デューティ比Ｄｄ，Ｄｑ、及びバッテリ２００からインバータ８１に供給される入力電圧Ｖｉｎより下記式（１）に基づいて算出することができる。
【００３５】
Ｗｉｎｖ＝（Ｄｄ／Ｋｄ×Ｉｄｒ＋Ｄｑ／Ｋｑ×Ｉｑｒ）×Ｖｉｎ  …  （１）
なお、Ｋｄは、「ｄ軸電圧Ｖｄ＝Ｄｄ／Ｋｄ×Ｖｉｎ」を満たす値であり、Ｋｑは、「ｑ軸電圧Ｖｑ＝Ｄｑ／Ｋｑ×Ｖｉｎ」を満たす値である。
【００３６】
バッテリ２００からの入力電圧Ｖｉｎによりインバータ８１に目標電流Ｉｔが流れる場合、供給電力Ｗｉｎｖは下記式（２）により算出することができる。
Ｗｉｎｖ＝Ｉｔ×Ｖｉｎ  …  （２）
なお、本実施形態では、バッテリ２００からインバータ８１への損失がないものとして、上記式（２）を用いている。
【００３７】
上記式（１），（２）から、下記式（３）を導出することができる。
Ｉｔ＝Ｗｉｎｖ／Ｖｉｎ＝（Ｄｄ／Ｋｄ×Ｉｄｒ＋Ｄｑ／Ｋｑ×Ｉｑｒ）  …  （３）
上記式（３）より、インバータ８１に目標電流Ｉｔを流す場合のｄ，ｑ軸電流Ｉｄｒ，Ｉｑｒを、各軸制限値ＬＩｄ，ＬＩｑと見なすことができる。そのため、ｄ軸制限値ＬＩｄは、上記式（３）に基づいて、下記式（４）により算出することができ、ｑ軸制限値ＬＩｑは、上記式（３）に基づいて、下記式（５）により算出することができる。
【００３８】
ＬＩｄ＝Ｉｄｒ＝（Ｉｔ−Ｄｑ／Ｋｑ×Ｉｑｒ）×Ｋｄ／Ｄｄ  …  （４）
ＬＩｑ＝Ｉｑｒ＝（Ｉｔ−Ｄｄ／Ｋｄ×Ｉｄｒ）×Ｋｑ／Ｄｑ  …  （５）
制限値算出部６２は、上記式（４），（５）に基づいて算出される各軸制限値ＬＩｄ，ＬＩｑを用いて電流指令値Ｉｄ＊，Ｉｑ＊を制限することにより、モータ電流Ｉｕ，Ｉｖ，Ｉｗを抑制することが可能となる。なお、各軸電流Ｉｄｒ，Ｉｑｒが負の値である場合、目標電流Ｉｔの符号は負となる。
【００３９】
ここで、操舵トルクＴｓの変化に応じて電流指令値Ｉｄ＊，Ｉｑ＊が変化する場面では、変化後の電流指令値Ｉｄ＊，Ｉｑ＊に対してモータ電流Ｉｕ，Ｉｖ，Ｉｗの追従性が悪くなる場合がある。特に、操舵速度Ｖｓが所定値よりも大きな値となる高速操舵時では、各電流指令値Ｉｄ＊，Ｉｑ＊の増加速度が大きくなるため、モータ電流Ｉｕ，Ｉｖ，Ｉｗの追従性も悪くなり易い。加えて、モータ電流Ｉｕ，Ｉｖ，Ｉｗの追従性の悪化に伴い、運転者が操舵トルクＴｓを増加させるように操舵を行うことにより、モータ電流Ｉｕ，Ｉｖ，Ｉｗの追従性がより悪化する場合がある。モータ電流Ｉｕ，Ｉｖ，Ｉｗの追従性が悪いと、モータ電流Ｉｕ，Ｉｖ，Ｉｗが各電流指令値Ｉｄ＊＊，Ｉｑ＊＊により規定される値から過度に乖離し、実際にはモータ電流Ｉｕ，Ｉｖ，Ｉｗは抑制されていないにも係わらず、電流指令値Ｉｄ＊，Ｉｑに対して制限が実施される場合がある。
【００４０】
そこで、制御部６０の制限値算出部６２は、電流指令値Ｉｄ＊，Ｉｑ＊が補正された場合でもモータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であるか否かを推定する。ここで、電流指令値Ｉｄ＊＊，Ｉｑ＊＊に対するモータ電流Ｉｕ，Ｉｖ，Ｉｗの追従性が悪い場合、このモータ電流Ｉｕ，Ｉｖ，Ｉｗに基づいて算出されるｄ，ｑ軸電流Ｉｄｒ，Ｉｑｒが電流指令値Ｉｄ＊＊，Ｉｑ＊＊から過度に乖離することとなる。そこで、制限値算出部６２は、各軸電流Ｉｄｒ，Ｉｑｒが電流指令値Ｉｄ＊＊，Ｉｑ＊＊から過度に乖離するか否かの判定により、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であるか否かを推定している。
【００４１】
電流制限部６４は、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定された場合に、電流指令値Ｉｄ＊，Ｉｑ＊に対して制限を実施し、モータ電流Ｉｕ，Ｉｖ，Ｉｗが制限されない状態であると推定された場合に、電流指令値Ｉｄ＊，Ｉｑ＊に対して制限を実施しない。本実施形態では、制限値算出部６２が推定部に相当する。
【００４２】
図３は、本実施形態に係る電流指令値に対する制限の手順を説明するフローチャートである。図３に示す処理は、制御部６０により所定周期で繰り返し実施される。
【００４３】
ステップＳ１１では、操舵トルクＴｓ、操舵速度Ｖｓ、及び車速Ｖｃに基づいて、電流指令値Ｉｑ＊，Ｉｄ＊を算出する。ステップＳ１２では、モータ電流Ｉｕ，Ｉｖ，Ｉｗに基づいて、ｄ軸電流Ｉｄｒ及びｑ軸電流Ｉｑｒを算出する。
【００４４】
ステップＳ１３では、各軸電流Ｉｄｒ，Ｉｑｒに基づいて、各軸制限値ＬＩｄ，ＬＩｑを算出する。本実施形態では、上記式（４），（５）により、各軸制限値ＬＩｄ，ＬＩｑを算出する。
【００４５】
ステップＳ１４では、ステップＳ１３で算出したｑ軸制限値ＬＩｑに基づいて、ｑ軸電流指令値Ｉｑ＊を補正することにより制限し、ステップＳ１３で算出したｄ軸制限値ＬＩｄに基づいて、ｄ軸電流指令値Ｉｄ＊を補正することにより制限する。ステップＳ１５では、ｑ軸電流指令値Ｉｑ＊＊からｑ軸電流Ｉｑｒを引いた値の絶対値を、ｑ軸電流指令値Ｉｑ＊＊に対するｑ軸電流Ｉｑｒの乖離幅Ｂｉｑとして算出する。また、ｄ軸電流指令値Ｉｄ＊＊からｄ軸電流Ｉｄｒを引いた値の絶対値を、ｄ軸電流指令値Ｉｄ＊＊に対するｄ軸電流Ｉｄｒの乖離幅Ｂｉｄとして算出する。
【００４６】
ステップＳ１６では、電流閾値ＴＨｄ，ＴＨｑを設定する。電流閾値ＴＨｄは、ｄ軸電流Ｉｄｒがｄ軸電流指令値Ｉｄ＊＊から過度に乖離することにより、ｄ軸電流指令値Ｉｄ＊＊に対してｄ軸電流Ｉｄｒの追従性が悪い状態を判定する値である。電流閾値ＴＨｑは、ｑ軸電流Ｉｑｒがｑ軸電流指令値Ｉｑ＊＊から過度に乖離することにより、ｑ軸電流指令値Ｉｑ＊＊に対してｑ軸電流Ｉｑｒの追従性が悪い状態を判定する値である。ここで、操舵トルクＴｓの増加に伴うｄ，ｑ軸電流指令値Ｉｄ＊，Ｉｑ＊の増加率（増加速度）が大きいほど、モータ電流Ｉｕ，Ｉｖ，Ｉｗの電流指令値Ｉｄ＊，Ｉｑ＊に対する追従性が悪くなる。そこで、本実施形態では、ｄ，ｑ軸電流指令値Ｉｄ＊，Ｉｑ＊の増加率Ｒｄ，Ｒｑを算出し、算出した増加率Ｒｄ，Ｒｑが大きいほど、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定され易くしている。本実施形態では、図４（ａ）に示すように、ｑ軸電流指令値Ｉｑ＊の増加率Ｒｑが大きいほど、電流閾値ＴＨｑを小さい値に設定することにより、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定され易くしている。また、図４（ｂ）に示すように、ｄ軸電流指令値Ｉｄ＊の増加率Ｒｄが大きいほど、電流閾値ＴＨｄを小さい値に設定することにより、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定され易くしている。
【００４７】
図３に戻り、ステップＳ１７では、ｑ軸電流指令値Ｉｑ＊＊に対するｑ軸電流Ｉｑｒの追従性が悪い状態であるか否かを推定する。具体的には、ｑ軸電流Ｉｑｒの絶対値がｑ軸電流指令値Ｉｑ＊＊の絶対値よりも小さく、かつステップＳ１５で算出した乖離幅Ｂｉｑが電流閾値ＴＨｑより大きいか否かを判定する。言い換えると、ｑ軸電流Ｉｑｒとｑ軸電流指令値Ｉｑ＊＊とが共に正の値であれば、ｑ軸電流Ｉｑｒがｑ軸電流指令値Ｉｑ＊＊よりも小さく、かつ乖離幅Ｂｉｑが電流閾値ＴＨｑよりも大きい場合に、ｑ軸電流Ｉｑｒがｑ軸電流指令値Ｉｑ＊＊を過度に下回っている状態（乖離している状態）となる。一方、ｑ軸電流Ｉｑｒとｑ軸電流指令値Ｉｑ＊＊とが共に負の値であれば、ｑ軸電流Ｉｑｒがｑ軸電流指令値Ｉｑ＊＊よりも大きく、かつ乖離幅Ｂｉｑが電流閾値ＴＨｑよりも大きい場合に、ｑ軸電流Ｉｑｒがｑ軸電流指令値Ｉｑ＊＊を過度に上回っている状態（乖離している状態）となる。そのため、ステップＳ１７では、乖離幅Ｂｉｑの判定に加えて、ｑ軸電流Ｉｑｒの絶対値とｑ軸電流指令値Ｉｑ＊＊の絶対値との比較を行っている。
【００４８】
ステップＳ１７において否定判定した場合、ステップＳ１９に進む。一方、ステップＳ１７において肯定判定した場合、ステップＳ１８に進む。ステップＳ１８では、ｑ軸制限値ＬＩｑをｑ軸制限上限値ＭＡＸｑに設定する。本実施形態では、ｑ軸制限値ＬＩｑが正の値であれば、ｑ軸制限上限値ＭＡＸｑは、ｑ軸電流指令値Ｉｑ＊が取り得る最大値以上の値に定められており、ｑ軸制限値ＬＩｑが負の値であれば、ｑ軸制限上限値ＭＡＸｑは、ｑ軸電流指令値Ｉｑ＊が取り得る最小値以下の値に定められている。なお、これ以外にも、ｑ軸制限上限値ＭＡＸｑを、ｑ軸電流Ｉｑｒが取り得る最大値以上の値及び最小値以下の値に定めてもよい。
【００４９】
ステップＳ１９では、ｄ軸電流指令値Ｉｄ＊＊に対するｄ軸電流Ｉｄｒの追従性が悪い状態であるか否かを推定する。具体的には、ｄ軸電流Ｉｄｒの絶対値がｄ軸電流指令値Ｉｄ＊＊の絶対値よりも小さく、かつステップＳ１５で算出した乖離幅Ｂｉｄが電流閾値ＴＨｄより大きいか否かを判定する。
【００５０】
ステップＳ１９において否定判定した場合、ステップＳ２１に進む。一方、ステップＳ１９において肯定判定した場合、ステップＳ２０に進む。ステップＳ２０では、ｄ軸制限値ＬＩｄをｄ軸制限上限値ＭＡＸｄに設定する。本実施形態では、ｄ軸制限値ＬＩｄが正の値であれば、ｄ軸制限上限値ＭＡＸｄは、ｄ軸電流指令値Ｉｄ＊が取り得る最大値以上の値に定められており、ｄ軸制限値ＬＩｄが負の値であれば、ｄ軸制限上限値ＭＡＸｄは、ｄ軸電流指令値Ｉｄ＊が取り得る最小値以下の値に定められている。なお、これ以外にも、ｄ軸制限上限値ＭＡＸｄを、ｄ軸電流Ｉｄｒが取り得る最大値以上の値及び最小値以下の値に定めてもよい。
【００５１】
ここで、電流指令値Ｉｄ＊＊，Ｉｑ＊＊に対するｄ，ｑ軸電流Ｉｄｒ，Ｉｑｒの追従性が悪く、電流指令値Ｉｄ＊＊，Ｉｑ＊＊と、ｄ，ｑ軸電流Ｉｄｒ，Ｉｑｒとの符号が異なる場合がある。そこで、ステップＳ１７において、ｑ軸電流指令値Ｉｑ＊＊と、ｑ軸電流Ｉｑｒとの符号が不一致の場合を想定し、ｑ軸電流指令値Ｉｑ＊＊にｑ軸電流Ｉｑｒを掛け算した値が負となる場合にも、ステップＳ１７を否定判定するものであってもよい。また、ステップＳ１９において、ｄ軸電流指令値Ｉｄ＊＊と、ｄ軸電流Ｉｄｒとの符号が不一致の場合を想定し、ｄ軸電流指令値Ｉｄ＊＊にｄ軸電流Ｉｄｒを掛け算した値が負となる場合にも、ステップＳ１９を否定判定するものであってもよい。
【００５２】
ステップＳ２１では、ｄ軸電流指令値Ｉｄ＊の絶対値がｄ軸制限値ＬＩｄの絶対値よりも大きいか否か、及びｑ軸電流指令値Ｉｑ＊の絶対値がｑ軸制限値ＬＩｑの絶対値よりも大きいか否かを判定する。そして、ｄ軸電流指令値Ｉｄ＊の絶対値がｄ軸制限値ＬＩｄの絶対値よりも大きい場合、ｑ軸電流指令値Ｉｑ＊の絶対値がｑ軸制限値ＬＩｑの絶対値よりも大きい場合の少なくとも一方の条件を満たす場合、ステップＳ２２に進む。一方、ステップＳ２１を否定判定する場合、図３の処理を一旦終了する。
【００５３】
ステップＳ２２では、その絶対値が各軸制限値ＬＩｄ，ＬＩｑの絶対値よりも大きいと判定した電流指令値Ｉｄ＊，Ｉｑ＊に対して、各軸制限値ＬＩｄ，ＬＩｑに基づいて制限を加える。ステップＳ１８又はステップＳ２０を経由して、ステップＳ２１に進む場合、各電流指令値Ｉｄ＊，Ｉｑ＊の絶対値がｄ軸制限値ＬＩｄ（＝ＭＡＸｄ）の絶対値、及びｑ軸制限値ＬＩｑ（＝ＭＡＸｑ）の絶対値よりも大きくなることはないため、ステップＳ２１を否定判定して、図３の処理を一旦終了する。即ち、電流指令値Ｉｄ＊，Ｉｑ＊に対して制限が実施されない。ステップＳ１８，Ｓ２０，Ｓ２１が制限実施部に相当する。
【００５４】
以上説明した本実施形態では以下の効果を奏する。
【００５５】
・モータ駆動装置８０は、モータ電流の指令値である電流指令値Ｉｄ＊，Ｉｑ＊を各軸制限値ＬＩｄ，ＬＩｑに基づいて補正することにより、モータ電流を抑制する。また、制御部６０は、モータ電流と制限後の電流指令値Ｉｄ＊，Ｉｑ＊とに基づいて、電流指令値Ｉｄ＊，Ｉｑ＊が補正されても、モータ電流が抑制されない状態であるか否かを推定する。そして、推定結果に基づいて、電流指令値Ｉｄ＊，Ｉｑ＊を変更する。本実施形態では、モータ電流が抑制される状態であると推定した場合に、電流指令値Ｉｄ＊，Ｉｑ＊に対する補正を実施し、モータ電流が抑制されない状態であると推定した場合に、電流指令値Ｉｄ＊，Ｉｑ＊に対する補正を実施しない。この場合、電流指令値Ｉｄ＊，Ｉｑ＊の変化に対するモータ電流の追従性の悪化の有無に応じて、電流指令値Ｉｄ＊，Ｉｑ＊を適正に抑制することができる。
【００５６】
・制御部６０は、各電流指令値Ｉｄ＊＊，Ｉｑ＊＊を基準とするｄ，ｑ軸電流Ｉｄｒ，Ｉｑｒの乖離幅Ｂｉｄ，Ｂｉｑに基づいて、モータ電流が抑制されない状態であるか否かを推定する。上記構成では、モータ電流が抑制されない状態を容易に推定することができる。
【００５７】
・電流指令値Ｉｄ＊，Ｉｑ＊の増加率が大きいほど、モータ電流の電流指令値Ｉｄ＊，Ｉｑ＊に対する追従性が悪くなる。この点上記構成では、制御部６０は、ｑ軸電流指令値Ｉｑ＊の増加率Ｒｑが大きいほど、モータ電流が抑制されない状態であると推定され易くすることとした。この場合、電流指令値Ｉｄ＊，Ｉｑ＊に対する追従性が悪化し易いと推定される場面では、電流指令値Ｉｄ＊，Ｉｑ＊に対する制限を実施しにくくすることにより、電流指令値Ｉｄ＊，Ｉｑ＊をいっそう適正に制限することができる。
【００５８】
（第１実施形態の変形例）
・運転者のステアリング操作に応じた操舵量の変化加速度が大きいほど、モータ電流Ｉの電流指令値Ｉｄ＊，Ｉｑ＊に対する追従性が悪くなる。そこで、操舵量の変化加速度、又はモータ１０の回転角の角加速度が大きいほど、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定され易くしてもよい。この場合、ステップＳ１６において、操舵速度Ｖｓの微分値から操舵量の変化加速度を算出し、算出した変化加速度が大きいほど電流閾値ＴＨｄ，ＴＨｑを小さな値に設定すればよい。同様に、ステップＳ１６において、モータ１０の回転角の角加速度を算出し、算出した回転角の角加速度が大きいほど電流閾値ＴＨｄ，ＴＨｑを小さな値に設定すればよい。制御部６０は、電流指令値Ｉｄ＊，Ｉｑ＊の増加率、モータ回転角の角速度、モータ回転角の角加速度、又はそれらの組合せに応じて、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態に対する推定され易さを変更してもよい。
【００５９】
・ｑ軸電流Ｉｑｒは操舵アシストトルクに対する寄与が大きいため、ｑ軸電流指令値Ｉｑ＊＊に対するｑ軸電流Ｉｑｒの乖離幅Ｂｉｑに基づいて、モータ電流が抑制されない状態であるか否かを推定してもよい。この場合、ステップＳ１７において、肯定判定した場合に、ステップＳ１８，Ｓ２０をそれぞれ実施すればよい。この場合、ステップＳ１９の判定は実施されない。
【００６０】
（第２実施形態）
第２実施形態では、第１実施形態と異なる構成を主に説明する。なお、第２実施形態と第１実施形態とで同じ箇所には、同一の符号を付しており、その説明は繰り返さない。
【００６１】
本実施形態では、インバータ８１からモータ１０への実際の供給電力Ｗｉｎｖが、インバータ８１の目標電力Ｔｗを下回る量に基づいて、電流指令値Ｉｄ＊，Ｉｑ＊に対する制限によってもモータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態を推定する。
【００６２】
図５は、本実施形態に係る電流指令値に対する制限処理の手順を説明するフローチャートである。図５に示す処理は、制御部６０により所定周期で繰り返し実施される。
【００６３】
ステップＳ１３において各軸制限値ＬＩｄ，ＬＩｑを算出した後、ステップＳ３０では、インバータ８１の供給電力Ｗｉｎｖを算出する。本実施形態では、上記式（１）により、インバータ８１の供給電力Ｗｉｎｖを算出する。ステップＳ３０が供給電力算出部に相当する。
【００６４】
ステップＳ３１では、電流指令値Ｉｄ＊，Ｉｑ＊に基づいて、インバータ８１が供給する電力の目標値である目標電力Ｔｗを算出する。本実施形態では、目標電力Ｔｗを、電流指令値Ｉｄ＊，Ｉｑ＊、各軸デューティ比Ｄｄ，Ｄｑ、及び入力電圧Ｖｉｎを用いた下記式（６）により算出する。
Ｔｗ＝（Ｄｄ／Ｋｄ×｜Ｉｄ＊｜＋Ｄｑ／Ｋｑ×｜Ｉｑ＊｜）×Ｖｉｎ  …  （６）
ステップＳ３１が目標電力算出部に相当する。
【００６５】
ステップＳ３２では、目標電力Ｔｗから供給電力Ｗｉｎｖを引いた値の絶対値を、供給電力Ｗｉｎｖが目標電力Ｔｗを下回る量Ｂｗとして算出する。
【００６６】
ステップＳ３３では、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であるか否かを判定するための電力閾値ＴＨ２を設定する。本実施形態では、電力閾値ＴＨ２を、供給電力Ｗｉｎｖが目標電力Ｔｗを過度に下回ることにより、電流指令値Ｉｄ＊＊，Ｉｑ＊＊に対して各軸電流Ｉｄｒ，Ｉｑｒの追従性が悪い状態を判定する値として定めている。
【００６７】
本実施形態においても、ｑ軸電流指令値Ｉｑ＊の増加率Ｒｑが小さいほど、電力閾値ＴＨ２を大きくすることにより、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定され易くしている。
【００６８】
ステップＳ３４では、供給電力Ｗｉｎｖが目標電力Ｔｗを下回る量Ｂｗが、電力閾値ＴＨ２よりも大きいか否かを判定する。具体的には、供給電力Ｗｉｎｖが目標電力Ｔｗよりも小さく、かつ供給電力Ｗｉｎｖが目標電力Ｔｗを下回る量Ｂｗが電力閾値ＴＨ２よりも大きい場合に、ステップＳ３４を肯定判定する。ステップＳ３４を肯定判定した場合に、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定し、ステップＳ１８に進む。ステップＳ１８では、ｄ軸制限値ＬＩｄをｄ軸制限上限値ＭＡＸｄに設定し、ｑ軸制限値ＬＩｑをｑ軸制限上限値ＭＡＸｑに設定する。
【００６９】
ステップＳ３３を否定判定する場合、各制限値ＬＩｄ，ＬＩｑを変更することなくステップＳ１９に進む。ステップＳ１８からステップＳ１９に進む場合、電流指令値Ｉｄ＊，Ｉｑ＊が制限されることなく、図５の処理を一旦終了する。
【００７０】
・以上説明した本実施形態では、制御部６０は、モータ電流に基づいて、インバータ８１の供給電力Ｗｉｎｖを算出し、電流指令値Ｉｄ＊，Ｉｑ＊に基づいて、インバータ８１の目標電力Ｔｗを算出する。算出した供給電力Ｗｉｎｖが算出した目標電力Ｔｗを下回る量Ｂｗが所定の電力閾値ＴＨ２よりも大きい場合に、モータ電流が抑制されない状態であると推定する。上記構成では、インバータ８１からモータ１０への供給電力Ｗｉｎｖが目標電力Ｔｗを下回る量に基づいて、電流指令値Ｉｄ＊，Ｉｑ＊に対する制限によってもモータ電流が抑制されない状態を容易に推定することができる。
【００７１】
（第３実施形態）
第３実施形態では、第１実施形態と異なる構成を主に説明する。なお、第３実施形態と第１実施形態とで同じ箇所には、同一の符号を付しており、その説明は繰り返さない。
【００７２】
モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態から、モータ電流Ｉｕ，Ｉｖ，Ｉｗの追従性が改善さることによりモータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態となった際に、各軸制限値ＬＩｄ，ＬＩｑの値に応じて、電流指令値Ｉｄ＊，Ｉｑ＊に対して大きな制限が加えられる場合がある。このような場合に、電流指令値Ｉｄ＊，Ｉｑ＊に対する制限の実施前と実施後で電流指令値Ｉｄ＊，Ｉｑ＊の変化が大きくなることで、モータ１０の動作に悪影響を及ぼすことが懸念される。
【００７３】
そこで、本実施形態では、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定された後に、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定された場合に、現在算出している各軸制限値ＬＩｄ，ＬＩｑと、モータ１０の実電流とのうち、絶対値が大きい方の値に基づいて各軸制限値ＬＩｄ，ＬＩｑを設定することとした。
【００７４】
図６は、本実施形態に係る電流指令値に対する制限処理の手順を説明するフローチャートである。図６に示す処理は、制御部６０により所定周期で繰り返し実施される。本実施形態では、ステップＳ１７において、操舵アシストトルクに対する寄与が大きいｑ軸電流Ｉｑｒが、ｑ軸電流指令値Ｉｑ＊＊から乖離する量を示す乖離幅Ｂｉｑに基づいて、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であるか否かを推定している。
【００７５】
モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定されることにより、ステップＳ４０に進むと、ステップＳ４０では、各軸制限値ＬＩｄ，ＬＩｑを、制限上限値（ＭＡＸｄ，ＭＡＸｑ）に変更する。そして、ステップＳ４１に進み、制限不実施フラグＦをハイ（Ｈｉ）に変化させる。制限不実施フラグＦは、各軸制限値ＬＩｄ，ＬＩｑを制限上限値（ＭＡＸｄ，ＭＡＸｑ）に変更したことを示すフラグである。そして、ステップＳ２１，Ｓ２２の処理を実施した後、図６の処理を一旦終了する。
【００７６】
次の演算周期でのステップＳ１７において、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定すると、ステップＳ４２に進み、制限不実施フラグＦがハイであるか否かを判定する。制限不実施フラグＦがハイであると判定すると、ステップＳ４３に進み、各軸制限値ＬＩｄ，ＬＩｑを徐々に減少させるための制限値減少処理の成立条件が成立しているか否かを判定する。本実施形態では、後述するステップＳ４４で算出する各軸制限値ＬＩｄ，ＬＩｑがステップＳ１３で算出している現在の各軸制限値ＬＩｄ，ＬＩｑよりも大きい場合にステップＳ４３の成立条件が成立していると判定する。なお、ステップＳ４２を否定判定する場合、図６の処理を一旦終了する。
【００７７】
ステップＳ４３を肯定判定した場合、ステップＳ４４では、現在の各軸電流Ｉｄｒ，Ｉｑｒ及び現在算出している各軸制限値ＬＩｄ，ＬＩｑのうち、絶対値が大きい方の値に基づいて、各軸制限値ＬＩｄ，ＬＩｑを設定する。具体的には、今回の演算周期においてステップＳ１２で算出しているｄ軸電流Ｉｄｒと、ステップＳ１３で算出しているｄ軸制限値ＬＩｄとのうち絶対値が大きい方の値を今回のｄ軸制限値ＬＩｄに設定する。また、今回の演算周期においてステップＳ１２で算出しているｑ軸電流Ｉｑｒと、ステップＳ１３で算出しているｑ軸制限値ＬＩｑとのうち絶対値が大きい方の値を今回のｑ軸制限値ＬＩｑに設定する。
【００７８】
本実施形態では、ステップＳ４４の処理が実施される毎に、このステップＳ４４で設定した各軸制限値ＬＩｄ，ＬＩｑの絶対値が徐々に小さくなるように、各軸制限値ＬＩｄ，ＬＩｑを変更する。本実施形態では、各軸制限値ＬＩｄ，ＬＩｑを、現在、ステップＳ１３で算出している各軸制限値ＬＩｄ，ＬＩｑまで徐々に変更する。具体的には、各演算周期でステップＳ４４を実施するごとに、各軸制限値ＬＩｄ，ＬＩｑから変更する変更量を変化させることにより、各軸制限値ＬＩｄ，ＬＩｑを徐々に現在の値に変更する。例えば、周知のＬＰＦを用いることにより、各軸制限値ＬＩｄ，ＬＩｑを変更させることができる。そして、ステップＳ２１に進み、ステップＳ２１を肯定判定すれば、ステップＳ２２において、電流指令値Ｉｄ＊，Ｉｑ＊に対して制限を行う。
【００７９】
その後もステップＳ１７においてモータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定されることで、ステップＳ４４に進む場合、各軸制限値ＬＩｄ，ＬＩｑが徐々に変更されていく。そして、各軸制限値ＬＩｄ，ＬＩｑの絶対値が、ステップＳ１３で現在算出している各制限値ＬＩｄ，ＬＩｑの絶対値以下となると、ステップＳ４３において、成立条件が不成立であると判定し、ステップＳ４５では、各軸制限値ＬＩｄ，ＬＩｑをステップＳ１３で算出している値に設定する。ステップＳ４６では、制限不実施フラグＦをローに変化させて、ステップＳ２１に進む。そのため、ステップＳ２１では、電流指令値Ｉｄ＊，Ｉｑ＊を、ステップＳ１３で算出している各軸制限値ＬＩｄ，ＬＩｑと比較する。
【００８０】
以上説明した本実施形態では以下の効果を奏することができる。
【００８１】
・制御部６０は、モータ電流が抑制されない状態であると推定した後に、モータ電流が抑制される状態であると推定した場合に、現在算出している各軸制限値ＬＩｄ，ＬＩｑと電流指令値Ｉｄ＊，Ｉｑ＊とのうち、絶対値が大きい方の値に基づいて、各軸制限値ＬＩｄ，ＬＩｑを設定する。この場合、電流指令値Ｉｄ＊，Ｉｑ＊の過度の変化が抑制されることにより、モータ１０の動作に悪影響を及ぼすことを抑制することができる。
【００８２】
・制御部６０は、各軸制限値ＬＩｄ，ＬＩｑと電流指令値Ｉｄ＊，Ｉｑ＊とのうち、絶対値が大きい方の値に基づいて、各軸制限値ＬＩｄ，ＬＩｑを設定した後、各軸制限値ＬＩｄ，ＬＩｑの絶対値が徐々に小さくなるように各軸制限値ＬＩｄ，ＬＩｑを変更する。この場合、電流指令値Ｉｄ＊，Ｉｑ＊の過度の変化を抑制しつつ、モータ１０に流れる電流を適正に抑制することができる。
【００８３】
（第３実施形態の変形例）
各軸電流Ｉｄｒ，Ｉｑｒに対して個別に、モータ電流が抑制されない状態であるか否かの判定を行っている場合に、各軸電流Ｉｄｒ，Ｉｑｒに対して個別にステップＳ４２〜Ｓ４５の処理を実施してもよい。
【００８４】
（その他の実施形態）
・制御部６０は、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定した場合に電流指令値Ｉｄ＊，Ｉｑ＊を制限するため、この制限によりモータ電流Ｉｕ，Ｉｖ，Ｉｗが確実に抑制される可能性が高くなる。そこで、制御部６０は、電流指令値Ｉｄ＊，Ｉｑ＊を制限した場合に、電流指令値Ｉｄ＊，Ｉｑ＊を制限したことを履歴情報として記憶してもよい。この場合、制御部６０は、ステップＳ１７又はステップＳ１９を否定判定することにより、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定した場合に、電流指令値Ｉｄ＊，Ｉｑ＊に対する制限を履歴情報として記憶すればよい。本実施形態では、制御部６０が記憶部に相当する。
【００８５】
・制御部６０は、トルクセンサ９４により検出された操舵トルクＴｓと電流指令値Ｉｄ＊，Ｉｑ＊との間で操舵システム９０を安定化するための補償演算を実施してもよい。この場合において、制御部６０は、電流制限値に応じて電流指令値Ｉｄ＊，Ｉｑ＊を制限する事に加え、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制される状態であると推定した場合において、補償演算を実施しない構成としてもよい。又、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定した場合において補償演算を実施する場合でも、電流指令値に対する演算方法を切り替える構成としてもよい。これにより、操舵トルクの指令から演算した電流指令値通りに電流が流れない場合に、モータ１０の制御性が悪化することを防止することができる。
【００８６】
・制御部６０は、電流指令値Ｉｄ＊，Ｉｑ＊を算出するための入力信号である操舵速度Ｖｓ及び車速Ｖｃの少なくともいずれかを変更することにより、各軸制限値ＬＩｄ，ＬＩｑに基づく電流指令値Ｉｄ＊，Ｉｑ＊の補正を実施しないようにしてもよい。例えば、ステップＳ１８，ステップＳ２０において、各軸制限値ＬＩｄ，ＬＩｑを変更することに換えて、電流指令値Ｉｄ＊，Ｉｑ＊を算出するための操舵速度Ｖｓ及び車速Ｖｃの少なくともいずれかを変更することにより、電流指令値Ｉｄ＊，Ｉｑ＊をステップＳ１３で算出した各軸制限値ＬＩｄ，ＬＩｑよりも小さな値となるように変更すればよい。この場合は、ステップＳ２１で必ず否定判定されることにより、電流指令値Ｉｄ＊、Ｉｑ＊は変更されているが、履歴情報は残らないこととなる。
【００８７】
・モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定した場合に、制限値算出部６２が算出する各軸制限値ＬＩｄ，ＬＩｑを制限上限値ＭＡＸｄ，ＭＡＸｑに設定することに換えて、電流制限部６４が、電流指令値Ｉｄ＊，Ｉｑ＊を制限しない構成としてもよい。この場合、ステップＳ１７又はステップＳ１９を肯定判定することにより、モータ電流Ｉｕ，Ｉｖ，Ｉｗが抑制されない状態であると推定した場合に、各軸制限値ＬＩｄ，ＬＩｑを制限上限値ＭＡＸｄ，ＭＡＸｑに変更することなく、図３，図５，図６の処理を終了すればよい。
【００８８】
・操舵システム９０は、操舵補助トルクにより運転者の操舵を補助するものに限定されない。具体的には、操舵システム９０は、いわゆる自律走行車両に適用され、センサからの入力に基づいて、制御部６０が車両の操舵量を制御するものであってもよい。
【符号の説明】
【００８９】
１０…モータ、５０…推定部、６０…制御部、６２…制限値算出部、６４…電流制限部、７０…電流検出部、８０…モータ駆動装置、８１…インバータ、９０…操舵システム。
【図１】
2020048307.tif 000003
【図２】
2020048307.tif 000004
【図３】
2020048307.tif 000005
【図４】
2020048307.tif 000006
【図５】
2020048307.tif 000007
【図６】
2020048307.tif 000008