(57)【要約】【課題】モータが過渡状態のときに生じるトルクのオーバーシュートを抑制する。【解決手段】モータ制御装置１００は、インバータ１２０を制御する制御部１０を含む。制御部１０は、トルク指令値Ｔとトルク補正値ΔＴに基づいて電圧指令値を算出する電圧指令部１１２と、電圧指令値と電流検出部１１４で検出される電流値とに基づいてモータ１４０で消費される消費電力Ｐを算出する消費電力算出部１４１とを備える。制御部１０は、トルク指令値Ｔと電気角速度ωと制御遅れを含む伝達関数とに基づいて、モータ１５０に供給される駆動電力Ｐｃを推定する電力推定部１４３とを備える。制御部１０は、消費電力Ｐと駆動電力Ｐｃとの差分に基づいてトルク補正値ΔＴを算出する補正値算出部１４４と、を備える。【選択図】図１
2015109771.tif 000002
【特許請求の範囲】
【請求項１】
モータに供給される電流を検出する電流検出部と、前記モータの電気角速度を検出する角速度検出部と、前記モータの駆動力を決定するトルク指令値に応じて、前記モータに電力を供給するインバータと、前記インバータを制御する制御手段と、を備えるモータ制御装置において、
前記制御手段は、
トルク指令値と、前記トルク指令値を補正するためのトルク補正値に基づいて、前記インバータに対する電圧指令値を算出する電圧指令部と、
前記電圧指令部で算出される電圧指令値と、前記電流検出部で検出される電流値とに基づいて、前記モータで消費される消費電力を算出する消費電力算出部と、
前記トルク補正値で補正される前の前記トルク指令値と、前記角速度検出部で検出される電気角速度と、前記モータの制御遅れを含む伝達関数とに基づいて、前記モータに供給される駆動電力を推定する電力推定部と、
前記消費電力算出部で算出される消費電力と、前記電力推定部で推定される駆動電力との差分に基づいて、前記トルク補正値を算出する補正値算出部と、
を備えるモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置において、
前記伝達関数は、前記モータの制御遅れ時間に基づいて設定される積分要素を有する、
モータ制御装置。
【請求項３】
請求項１又は請求項２に記載のモータ制御装置において、
前記トルク指令値に前記トルク補正値を加算して、前記モータのトルク変動を補償するための補正トルク指令値を算出する補正演算部をさらに含み、
前記電圧指令部は、前記補正トルク指令値に基づいて前記電圧指令値を算出する、
モータ制御装置。
【請求項４】
請求項１又は請求項２に記載のモータ制御装置において、
前記トルク補正値で補正される前の前記トルク指令値に基づいて、補正前の制御指令値を算出する指令値算出部をさらに含み、
前記電力推定部は、前記補正前の制御指令値と、前記電気角速度と、前記伝達関数とを用いて、前記モータの駆動電力を推定する、
モータ制御装置。
【請求項５】
請求項４に記載のモータ制御装置において、
前記指令値算出部は、前記補正前の制御指令値として、ｄ軸電流指令値及びｑ軸電流指令値を算出し、
前記電力推定部は、前記ｄ軸電流指令値及びｑ軸電流指令値と、前記角速度検出部で検出される電気角速度とに基づいて、前記モータの駆動電力を推定する、
モータ制御装置。
【請求項６】
請求項４に記載のモータ制御装置において、
前記指令値算出部は、前記補正前の制御指令値として、ｄ軸電流指令値及びｑ軸電流指令値を算出し、
前記電力推定部は、前記ｄ軸電流指令値及びｑ軸電流指令値と、前記角速度検出部で検出される電気角速度とに基づいて、ｄ軸電圧指令値及びｑ軸電圧指令値を算出することにより、前記モータの駆動電力を推定する、
モータ制御装置。
【請求項７】
請求項４に記載のモータ制御装置において、
前記指令値算出部は、前記補正前の制御指令値として、ｄ軸電圧指令値及びｑ軸電圧指令値を算出し、
前記電力推定部は、前記ｄ軸電圧指令値及びｑ軸電圧指令値と、前記電気角速度とに基づいて、前記モータの駆動電力を推定する、
モータ制御装置。
【請求項８】
請求項４に記載のモータ制御装置において、
前記指令値算出部は、前記補正前の制御指令値として、ｄ軸電圧指令値及びｑ軸電圧指令値を算出し、
前記電力推定部は、前記ｄ軸電圧指令値及びｑ軸電圧指令値と、前記電気角速度とに基づいて、ｄ軸電流指令値及びｑ軸電流指令値を算出することにより、前記モータの駆動電力を推定する、
モータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電気で駆動するモータを制御するモータ制御装置に関する。
【背景技術】
【０００２】
モータ制御装置としては、モータの回転速度及び消費電力からトルク推定値を算出し、そのトルク推定値と現在のトルク指令値との差分に基づいて電流指令値を補償するものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２９０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、トルク指令値に従ってモータを駆動させるには、所定の時間だけモータに対する制御が遅れるため、トルク推定値と現在のトルク指令値との間には時間的にズレが生じている。
【０００５】
そのため、トルク指令値が過渡的に変化する過渡状態では、トルク指令値の時間的な変化によってトルク推定値と現在のトルク指令値との偏差が大きくなってしまい、トルクのオーバーシュートが発生するという問題がある。
【０００６】
本発明は、このような問題点に着目してなされた。本発明の目的は、モータが過渡状態のときに生じるトルクのオーバーシュートを抑制することにある。
【課題を解決するための手段】
【０００７】
本発明は以下のような解決手段によって前記課題を解決する。
【０００８】
本発明によるモータ制御装置は、モータに供給される電流を検出する電流検出部と、前記モータの電気角速度を検出する角速度検出部と、前記モータの駆動力を決定するトルク指令値に応じて前記モータに電力を供給するインバータと、前記インバータを制御する制御手段を備える。前記制御手段は、トルク指令値と、前記トルク指令値を補正するためのトルク補正値に基づいて、前記インバータに対する電圧指令値を算出する電圧指令部と、前記電圧指令部で算出される電圧指令値と、前記電流検出部で検出される電流値とに基づいて、前記モータで消費される消費電力を算出する消費電力算出部と、前記電圧指令部で補正される前の前記トルク指令値と、前記角速度検出部で検出される電気角速度と、前記モータの制御遅れを含む伝達関数とに基づいて、前記モータに供給される駆動電力を推定する電力推定部と、前記消費電力算出部で算出される消費電力と、前記電力推定部で推定される駆動電力との差分に基づいて、前記トルク補正値を算出する補正値算出部と、を含むことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、モータの制御遅れを含む伝達関数を用いてモータの駆動電力が演算されるので、現在のトルク指令値に基づいて所定の制御遅れ時間だけ前の駆動電力が推定される。
【００１０】
これにより、トルク指令値に基づく駆動電力の推定値と、現在のモータの消費電力との時間的ズレを小さくできるので、トルクのオーバーシュートの発生を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の第１実施形態におけるモータ制御装置を示す図である。
【図２】図２は、車両の始動時に過渡的に変化するトルク指令値を示す図である。
【図３】図３は、トルク補正値の算出方法を示すフローチャートである。
【図４】図４は、モータが過渡状態のときのトルク変動を示す図である。
【図５】図５は、本発明の第２実施形態におけるモータ制御装置を示す図である。
【図６】図６は、トルク補正値の算出方法を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付された図面を参照しながら本発明の実施形態について説明する。
（第１実施形態）
図１は、本発明の第１実施形態におけるモータ制御装置１００の構成を示す図である。
【００１３】
モータ制御装置１００は、例えば、ハイブリッド車両に搭載されるモータ１５０を制御する装置である。本実施形態ではモータ制御装置１００は、ベクトル制御を用いてモータ１５０を駆動させる。
【００１４】
モータ１５０は、電気で駆動するモータである。モータ１５０は、本実施形態ではＵ相、Ｖ相、Ｗ相の三相の交流電流によって駆動する。
【００１５】
モータ１５０には、例えば、ステータに等間隔に設けられたティースの各側面にステータコイルが巻かれている。そして三相の交流電流をステータコイルに順次流すことにより、永久磁石が設けられた回転子（ロータ）が回転する。
【００１６】
磁極位置検出器１５１は、モータ１５０に設けられている。磁極位置検出器１５１は、モータ１５０内の回転子に設けられた磁極の位置を検出する。本実施形態では、磁極位置検出器１５１は、レゾルバ（ＲＤ）で構成され、モータ１５０内を回転する磁極が、予め定められた位置に到達するたびに、駆動部１１０の角速度検出部１１５に検出信号を出力する。
【００１７】
角速度検出部１１５は、磁極位置検出器１５１から出力される検出信号に基づいてモータ１５０の磁極位置θを算出する。また、角速度検出部１１５は、磁極位置検出器１５１から検出信号を受けると、今回、検出信号を受けた時刻と、前回、検出信号を受けた時刻との時間間隔に基づいて電気角速度ωを算出する。
【００１８】
また、モータ１５０とインバータ１２０との間には、Ｕ相、Ｖ相及びＷ相の三相の交流電力を供給する３本の電源線が接続されると共に、各電源線に流れる電流を検出するための３本の検出信号線が、駆動部１１０の電流検出部１１４に配線される。
【００１９】
電流検出部１１４は、各検出信号線に流れるＵ相の電流Ｉｕ、Ｖ相の電流Ｉｖ、及びＷ相の電流Ｉｗを検出する。電流検出部１１４は、その検出された三相の交流電流の電流値を、ベクトル制御に用いられる２相の直流電流値に座標変換する。
【００２０】
具体的には、電流検出部１１４は、角速度検出部１１５で検出された磁極位置θに基づいて、各検出信号線を流れる三相の交流電流の検出値を、二相のｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑに変換して電流制御部１１２Ｂに出力する。
【００２１】
ｑ軸電流値Ｉｑは、回転子に設けられた永久磁石からティースに向かう軸方向の電流成分（ｑ軸電流）である。ｄ軸電流値Ｉｄは、回転子の軸方向に直交する方向の電流成分（ｄ軸電流）である。
【００２２】
モータ制御装置１００は、モータ１５０に供給される三相の交流電流Ｉｕ、Ｉｖ、Ｉｗ及び、モータ１５０の電気角速度ωを検出し、ベクトル制御を用いてモータ１５０に供給される駆動電力を制御する。
【００２３】
モータ制御装置１００は、制御部１０と、インバータ１２０と、直流電源１３０と、を備える。制御部１０は、インバータを制御するものである。制御部１０は、駆動部１１０及びトルク補正部１４０を含む。
【００２４】
駆動部１１０は、トルク指令信号線１０１から、モータ１５０の駆動力を決定するトルク指令値Ｔを取得すると、トルク指令値Ｔに基づいて、モータ１５０に三相の交流電流を供給するための電圧指令値を演算する。その電圧指令値に基づいて、インバータ１２０を制御するためのＰＷＭ（パルス幅変調：pulse width modulation）信号が生成される。
【００２５】
駆動部１１０は、補正演算部１１１と、電圧指令部１１２と、座標変換部１１３と、電流検出部１１４と、角速度検出部１１５と、を備える。
【００２６】
補正演算部１１１は、モータ１５０のトルク変動を補償するためのトルク補正値ΔＴに基づいて、トルク指令値Ｔを補正する。
【００２７】
補正演算部１１１には、トルク指令値が入力されると共に、トルク補正部１４０からトルク補正値ΔＴが入力される。補正演算部１１１は、トルク指令値Ｔにトルク補正値ΔＴを加算し、その加算された値を補正トルク指令値Ｔｒとして電流指令演算部１１２Ａに出力する。
【００２８】
電圧指令部１１２は、補正トルク指令値Ｔｒに基づいてｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを演算する。すなわち、電圧指令部１１２は、トルク指令値Ｔと、トルク補正値ΔＴとに基づいて、ｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを算出する。
【００２９】
電圧指令部１１２は、電流指令演算部１１２Ａと電流制御部１１２Ｂとを備える。
【００３０】
電流指令演算部１１２Ａは、補正演算部１１１から補正トルク指令値Ｔｒを取得すると共に、角速度検出部１１５からモータ１５０の電気角速度ωを取得する。電流指令演算部１１２Ａは、補正トルク指令値Ｔｒと電気角速度ωとを用いて、ｄ軸電流指令値Ｉｄｃと、ｑ軸電流指令値Ｉｑｃとを算出する。
【００３１】
ｑ軸電流指令値Ｉｑｃは、回転子の軸方向と同一方向のｑ軸電流を制御する指令値である。ｄ軸電流指令値Ｉｄｃは、回転子の軸方向に直交する方向のｄ軸電流を制御する指令値である。
【００３２】
例えば、電流指令演算部１１２Ａには、トルク指令値と電気角速度とで特定される運転点ごとに、ｄ軸電流指令値Ｉｄｃと、ｑ軸電流指令値Ｉｑｃとが互いに対応付けられたベクトル制御マップ（ベクトル制御情報）が記憶される。そして電流指令演算部１１２Ａは、補正トルク指令値Ｔｒと電気角速度ωとを取得すると、ベクトル制御マップを参照して、補正トルク指令値Ｔｒと電気角速度ωとの運転点を特定し、その運転点に対応付けられたｄ軸電流指令値Ｉｄｃ及びｑ軸電流指令値Ｉｑｃを算出する。
【００３３】
本実施形態では、電流指令演算部１１２Ａは、補正トルク指令値Ｔｒが大きくなるほど、大きなｑ軸電流指令値Ｉｑｃを電流制御部１１２Ｂに出力する。また、電流指令演算部１１２Ａは、電気角速度ωが大きくなるほど、モータ１５０の運転効率を低下させる方向に生じる誘起電力が打ち消されるように負（マイナス）のｄ軸電流指令値Ｉｑｃを電流制御部１１２Ｂに出力する。
【００３４】
電流制御部１１２Ｂは、ｄ軸電流指令値Ｉｄｃとｑ軸電流指令値Ｉｑｃとに基づいて、モータ１５０に供給される電圧を制御するためのｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを演算する。
【００３５】
電流制御部１１２Ｂには、電流指令演算部１１２Ａからｄ軸電流指令値Ｉｄｃ及びｑ軸電流指令値Ｉｑｃが入力されると共に、電流検出部１１４からｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑがフィードバックされる。
【００３６】
電流制御部１１２Ｂは、ｄ軸電流指令値Ｉｄｃとｄ軸電流値Ｉｄとの差分、及び、ｑ軸電流指令値Ｉｑｃとｑ軸電流値Ｉｑとの差分が、互いにゼロとなるように、ｄ軸電圧指令値Ｖｄｃとｑ軸電圧指令値Ｖｑｃとを演算する。
【００３７】
例えば、電流制御部１１２Ｂは、式（１）に示すように、ＰＩ（Proportional Integral）制御によってｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを算出する。
【００３８】
【数１】
2015109771.tif 000003
【００３９】
式（１）において、ｄ軸比例ゲインＫｐｄ及びｑ軸比例ゲインＫｐｑは、比例要素の係数である。ｄ軸比例ゲインＫｐｄは、ｄ軸電流指令値Ｉｄｃとｄ電流値Ｉｄとの偏差に乗算される定数である。ｑ軸比例ゲインＫｐｑは、ｑ軸電流指令値Ｉｑｃとｑ電流値Ｉｑとの偏差に乗算される係数である。
【００４０】
また、ｄ軸積分ゲインＫｉｄ及びｑ軸積分ゲインＫｉｑは、積分要素の係数である。ｄ軸積分ゲインＫｉｄは、ｄ軸電流指令値Ｉｄｃとｄ電流値Ｉｄとの偏差の積分値に乗算される定数である。ｑ軸積分ゲインＫｉｑは、ｑ軸電流指令値Ｉｑｃとｑ電流値Ｉｑとの偏差の積分値に乗算される定数である。
【００４１】
さらに、ｄ軸インダクタンスＬｄは、ステータコイルにｄ軸電流Ｉｄが流れることによって生じるインダクタンスの定数であり、ｑ軸インダクタンスＬｑは、ステータコイルにｑ軸電流Ｉｑが流れることによって生じるインダクタンスの定数である。永久磁石鎖交磁束数φは、回転子に設けられた永久磁石によって生じる磁束がティースを通過する磁束の数である。
【００４２】
電流制御部１１２Ｂは、式（１）で算出したｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを、インバータ１２０に対する電圧指令値として、座標変換部１１３に出力する。
【００４３】
座標変換部１１３は、ｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを、モータ１５０の電気角速度ωに基づいて、Ｕ相の電圧指令値Ｖｕｃ、Ｖ相の電圧指令値Ｖｖｃ、及びＷ相の電圧指令値Ｖｗｃに変換する。座標変換部１１３は、二相から三相に変換された電圧指令値をインバータ１２０に出力する。
【００４４】
インバータ１２０は、三相交流の電圧指令値に基づいて直流電源１３０から供給される直流電圧をスイッチング制御して、Ｕ相、Ｖ相及びＷ相の交流電圧をモータ１５０に供給する。直流電源１３０は、例えば、２次電池や、燃料電池などにより実現される。
【００４５】
インバータ１２０には、直流電源１３０から供給される直流電圧をスイッチング制御する複数のパワー素子、例えばＩＧＢＴ（Insulated Gate Bipolar Transistor）が設けられている。
【００４６】
各パワー素子の制御端子に供給されるＰＷＭ信号は、例えば、１０ｋＨｚ程度の三角波を搬送波とし、Ｕ相の電圧指令値Ｖｕｃ、Ｖ相の電圧指令値Ｖｖｃ、及びＷ相の電圧指令値Ｖｗｃの各サイン波を搬送波と比較することによって生成される。
【００４７】
ＰＷＭ信号を生成することによって、各パワー素子が導通状態（オン）又は非導通状態（オフ）にスイッチング制御され、三相の電圧指令値に基づく交流電圧が、モータ１５０へ供給される。
【００４８】
電流検出部１１４は、上述のとおり、二相の電流指令値をフィードバック制御するために、インバータ１２０からモータ１５０に供給される三相の交流電流を検出し、その三相の交流電流を二相のｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑに逆変換する。
【００４９】
角速度検出部１１５は、上述のとおり、モータ１５０をベクトル制御するために、モータ１５０の磁極位置θ及び電気角速度ωを算出する。
【００５０】
このようなモータ制御装置１００では、モータ１５０の温度変動に伴い永久磁石の磁束が増減するため、トルク指令値が一定の値に制御されている定常状態のときであっても、モータ１５０で生じるトルクが変動することがある。この対策として、モータ１５０の電気角速度ω及び消費電力からトルク推定値を算出し、そのトルク推定値とトルク指令値Ｔとの差分に基づいて電流指令値を補償することも考えられる。
【００５１】
しかしながら、トルク指令値Ｔに従ってＰＷＭ信号を生成してモータ１５０を駆動するので、トルク指令値Ｔが駆動部１１０に出力されてからモータ１５０が駆動されるまでには所定の遅延時間（制御遅れ）が生じる。このため、モータ１５０のトルク推定値と、現在のトルク指令値Ｔとの間には、時間的にズレが生じている。
【００５２】
そのため、エンジン始動時はモータ１５０のトルク指令値Ｔが過渡的に変化するため、上述の対策では、トルク指令値Ｔの時間的な変化によってトルク推定値と現在のトルク指令値Ｔとの偏差が大きくなってしまい、トルクのオーバーシュートが発生する。
【００５３】
図２は、エンジン始動時におけるトルク指令値Ｔの過渡的な変化を示す図である。
【００５４】
図２（ａ）は、ハイブリッド車両に搭載されたエンジンに対する始動指令を示す図である。図２（ｂ）は、モータ１５０に対するトルク指令値Ｔを示す図である。図２（ｃ）は、エンジンの回転速度を示す図である。図２（ａ）から図２（ｃ）までの各図面の横軸は、共通の時間軸ｔである。
【００５５】
時刻ｔ０では、エンジンの始動指令はＬ（Ｌｏｗ）レベルであり、モータ１５０のトルク指令値Ｔは「０」であり、エンジンの回転速度が「０」である。すなわち、エンジンの動作、及びモータ１５０の動作が、共に停止状態である。
【００５６】
時刻ｔ１では、図２（ａ）に示すように、エンジンの始動指令がＬレベルからＨ（Ｈｉｇｈ）レベルに切り替えられる。これにより、図２（ｃ）に示すようにエンジンの回転速度が上昇する。
【００５７】
エンジンを始動してから、エンジンが車両の駆動に必要な回転速度になるまでには所定の時間を要する。そのため、図２（ｂ）に示すように、モータ１５０のトルク指令値Ｔは、車両の始動に必要な所定の値へ切り替えられる。これにより、モータ１５０によって車両が駆動されるので、車両が速やかに始動する。
【００５８】
そして時刻ｔ２が経過すると、エンジンで燃料ガスが完全に燃焼する完爆状態になるため、図２（ｃ）に示すように、エンジン回転速度の上昇速度が速くなる。
【００５９】
一方、モータ１５０のトルク指令値Ｔは、図２（ｂ）に示すように、車両の始動に必要な所定の値から、負（マイナス）の値へ切り替えられる。これにより、モータ１５０のトルク指令値Ｔは過渡状態となる。
【００６０】
このように、エンジン始動時には、エンジンが始動してから駆動するまでの期間にモータ１５０を一旦駆動状態にした後に停止状態へ移行させるので、トルク指令値Ｔは大きく変動する。
【００６１】
このため、上述のようなトルク変動対策では、モータ１５０の始動時に設定されるトルク指令値Ｔの過渡的な変化によって、トルク推定値とトルク指令値との差分が大きく変動するため、実トルクのオーバーシュートが発生してしまう。その結果、エンジン始動時の応答性の低下が懸念される。
【００６２】
そこで本実施形態では、モータ１５０の定常状態のときに生じるトルク変動を抑制しつつ、モータ１５０の過渡状態のときに生じるトルクのオーバーシュートを抑制するために、モータ制御装置１００の制御部１０にトルク補正部１４０が設けられている。
【００６３】
図１に示すように、トルク補正部１４０は、消費電力算出部１４１と、補正前電流指令演算部１４２と、電力推定部１４３と、補正値算出部１４４と、を備える。
【００６４】
消費電力算出部１４１は、電流制御部１１２Ｂからｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを取得すると共に、電流検出部１１４からｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑを取得して、モータ１５０で消費される消費電力を算出する。
【００６５】
具体的には、消費電力算出部１４１は、式（２）に示すように、ｄ軸電圧指令値Ｖｄｃとｄ軸電流値Ｉｄとを乗算したｄ軸電力値と、ｑ軸電圧指令値Ｖｑｃとｑ軸電流値Ｉｑとを乗算したｑ軸電力値とを加算する。消費電力算出部１４１は、その加算した値をモータ１５０の消費電力Ｐとして補正値算出部１４４に出力する。
【００６６】
【数２】
2015109771.tif 000004
【００６７】
補正前電流指令演算部１４２は、補正演算部１１１で補正される前のトルク指令値Ｔに基づいて、補正前のｄ軸電流指令値Ｉｄｃ’、及び、補正前のｑ軸電流指令値Ｉｑｃ’を演算する。
【００６８】
補正前電流指令演算部１４２は、補正前のトルク指令値Ｔと、角速度検出部１１５で検出された電気角速度ωとを用いて、電流指令演算部１１２Ａと同様に、補正前のｄ軸電流指令値Ｉｄｃ’及びｑ軸電流指令値Ｉｑｃ’を演算する。
【００６９】
例えば、補正前電流指令演算部１４２には、電流指令演算部１１２Ａに設定されるベクトル制御マップと同一のマップが記憶される。そして補正前電流指令演算部１４２は、補正前のトルク指令値Ｔと電気角速度ωとを取得すると、ベクトル制御マップを参照して、補正前のトルク指令値Ｔと電気角速度ωとの運転点を特定する。補正前電流指令演算部１４２は、その運転点に対応付けられたｄ軸電流指令値Ｉｄｃ及びｑ軸電流指令値Ｉｑｃを、それぞれ補正前のｄ軸電流指令値Ｉｄｃ’及び補正前のｑ軸電流指令値Ｉｑｃ’として電力推定部１４３に出力する。
【００７０】
電力推定部１４３は、補正前のｄ軸電流指令値Ｉｄｃ’及び補正前のｑ軸電流指令値Ｉｑｃ’と、電気角速度ωと、モータ１５０の制御遅れを補償するための伝達関数とに基づいて、モータ１５０に供給される駆動電力を推定する。
【００７１】
具体的には、電力推定部１４３は、式（３）に示すように、モータ１５０の制御遅れを含む伝達関数Ｇｄ１（ｓ）及びＧｑ１（ｓ）を用いて、ｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１を算出する。ｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１は、補正前のトルク指令値Ｔに基づいてモータ１５０の制御遅れ時間が補償された電流指令値、いわゆる電流規範応答である。
【００７２】
【数３】
2015109771.tif 000005
【００７３】
式（３）において、伝達関数Ｇｄ１（ｓ）は、ｄ軸電流指令値Ｉｄｃ’に対してモータ１５０の制御遅れ時間を補償する伝達関数であり、伝達関数Ｇｑ１（ｓ）は、ｑ軸電流指令値Ｉｑｃ’に対してモータ１５０の制御遅れ時間を補償する伝達関数である。
【００７４】
例えば、伝達関数Ｇｄ１（ｓ）及び伝達関数Ｇｑ１（ｓ）は、積分要素を有し、補正前の電流指令値を積分することによりモータ１５０の制御遅れを補償する。具体的には、伝達関数Ｇｄ１（ｓ）及び伝達関数Ｇｑ１（ｓ）では、モータ１５０の制御遅れが補償されるように補正前の電流指令値を積分する積分時間が設定される。
【００７５】
伝達関数Ｇｄ１（ｓ）及び伝達関数Ｇｑ１（ｓ）の積分要素によって、例えば、補正前の電流指令値の移動平均値が算出される。あるいは、積分対象の電流指令値のそれぞれに対し、現在の電流指令値から経過時間が長い電流指令値ほど、大きな重み係数を乗算して積分値を算出し、積分値を積分対象の電流指令値の数で除算した値を算出するようにしてもよい。または、伝達関数Ｇｄ１（ｓ）及び伝達関数Ｇｑ１（ｓ）は、積分要素の代わりに遅延回路のみで構成されてもよい。
【００７６】
また、電力推定部１４３は、式（４）に示すように、モータ１５０の制御遅れ含む伝達関数Ｇｄ２（ｓ）及びＧｑ２（ｓ）を用いて、ｄ軸電圧指令値Ｖｄ１及びｑ軸電圧指令値Ｖｑ１を算出する。ｄ軸電圧指令値Ｖｄ１及びｑ軸電圧指令値Ｖｑ１は、補正前のトルク指令値Ｔに基づいてモータ１５０の制御遅れが補償された電圧指令値、いわゆる電圧規範応答である。
【００７７】
【数４】
2015109771.tif 000006
【００７８】
式（４）において、伝達関数Ｇｄ２（ｓ）は、ｄ軸電流指令値Ｉｄｃ’に対して制御遅れ時間を補償する伝達関数であり、伝達関数Ｇｑ２（ｓ）は、ｑ軸電流指令値Ｉｑｃ’に対して制御遅れ時間を補償する伝達関数である。
【００７９】
例えば、伝達関数Ｇｄ２（ｓ）及びＧｑ２（ｓ）は、式（１）で示したようなＰＩ制御に用いられる伝達関数であり、モータ１５０の制御遅れ時間が補償されるように積分時間が設定される。すなわち、伝達関数Ｇｄ２（ｓ）及びＧｑ２（ｓ）では、補正前の電流指令値の積分値が算出される。
【００８０】
また、電力推定部１４３は、式（３）で算出したｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１と、式（４）で算出したｄ軸電圧指令値Ｖｄ１及びｑ軸電圧指令値Ｖｑ１とを用いて、モータ１５０の駆動電力Ｐｃを算出する。
【００８１】
具体的には電力推定部１４３は、式（５）に示すように、ｄ軸電圧指令値Ｖｄ１とｄ軸電流値Ｉｄ１とを乗算したｄ軸電力値と、ｑ軸電圧指令値Ｖｑ１とｑ軸電流値Ｉｑ１とを乗算したｑ軸電力値とを加算する。
【００８２】
【数５】
2015109771.tif 000007
【００８３】
電力推定部１４３は、式（５）で算出された値Ｐｃをモータ１５０の駆動電力Ｐｃとして補正値算出部１４４に出力する。
【００８４】
このように電力推定部１４３では、モータ１５０の制御遅れ時間に基づいて定められた係数を含む伝達関数Ｇｄ１、Ｇｑ１（ｓ）、Ｇｄ２（ｓ）及びＧｑ２（ｓ）を用いて、モータ１５０の駆動電力Ｐｃが推定される。
【００８５】
補正値算出部１４４は、消費電力算出部１４１で算出される消費電力Ｐと、電力推定部１４３で推定される駆動電力Ｐｃとの差分に基づいて、トルク補正値ΔＴを算出する。補正値算出部１４４は、減算部１４４Ａ及びＰＩ制御部１４４Ｂを備える。
【００８６】
減算部１４４Ａは、モータ１５０の駆動電力Ｐｃからモータ１５０の消費電力Ｐを減算し、その減算した減算値（Ｐｃ−Ｐ）をＰＩ制御部１４４Ｂに出力する。
【００８７】
ＰＩ制御部１４４Ｂは、式（６）に示すように、減算部１４４Ａで算出された減算値（Ｐｃ−Ｐ）の伝達関数Ｇｐ１（ｓ）を用いてトルク補正値ΔＴを演算する。ＰＩ制御部１４４Ｂは、そのトルク補正値ΔＴを補正演算部１１１に出力する。
【００８８】
【数６】
2015109771.tif 000008
【００８９】
このように補正値算出部１４４では、モータ１５０の消費電力Ｐと駆動電力Ｐｃとの電力差を用いてトルク補正値ΔＴが算出される。これにより、エンジン始動時のように、モータ１５０の回転速度がゼロのときにも、永久磁石の磁束低下に伴うトルク変動をモータ１５０の始動と同時に補正することが可能となる。
【００９０】
例えば、モータ１５０の温度が通常運転時よりも高い温度環境でエンジンが始動されるような状況で、モータ１５０を駆動する前に永久磁石の磁束低下によるトルクの低下を補うようにトルク補正値ΔＴを高く設定することができる。このため、エンジン始動時のレスポンスの低下を抑制することができる。
【００９１】
補正演算部１１１は、トルク補正値ΔＴを次に設定されるトルク指令値Ｔに加算して補正トルク指令値Ｔｒを電圧指令部１１２に出力する。これにより、モータ１５０が過渡状態でもトルクのオーバーシュートが抑制されるようにトルク指令値Ｔが補正される。
【００９２】
図３は、トルク補正部１４０によるトルク補正値ΔＴの算出方法を示すフローチャートである。なお、トルク補正部１４０は、本ルーチンをモータ制御装置１００の動作中に所定の演算周期（例えば１０ｍｓ）で実行する。
【００９３】
まず、ステップＳ１０１において、消費電力算出部１４１は、電流制御部１１２Ｂからｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを取得すると共に、電流検出部１１４からｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑを取得する。そして消費電力算出部１４１は、式（２）に示したとおり、モータ１５０の消費電力Ｐを演算する。
【００９４】
ステップＳ１０２において補正前電流指令演算部１４２は、補正前のトルク指令値Ｔ及び電気角速度ωに基づいて、補正前のｄ軸電流指令値Ｉｄｃ’及び、補正前のｑ軸電流指令値Ｉｑｃ’を演算し、演算結果を電力推定部１４３に出力する。
【００９５】
ステップＳ１０３において電力推定部１４３は、式（３）に示したように、補正前のｄ軸電流指令値Ｉｄｃ’及びｑ軸電流指令値Ｉｑｃ’に対し伝達関数Ｇｄ１（ｓ）及びＧｑ１（ｓ）を用いてモータ１５０の制御遅れ時間を補償する。
【００９６】
伝達関数Ｇｄ１（ｓ）及びＧｑ１（ｓ）によって、モータ１５０の制御遅れ時間が補償されたｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１が算出される。伝達関数Ｇｄ１（ｓ）及びＧｑ１（ｓ）では、例えば、補正前のｄ軸電流指令値Ｉｄｃ’及び、補正前のｑ軸電流指令値Ｉｑｃ’の移動平均が算出される。
【００９７】
ステップＳ１０４において電力推定部１４３は、式（４）に示したように、モータ１５０の制御遅れ時間が補償されたｄ軸電圧指令値Ｖｄ１及びｑ軸電流指令値Ｖｑ１を算出する。
【００９８】
具体的には、電力推定部１４３は、補正前のｄ軸電流指令値Ｉｄｃ’及びｑ軸電流指令値Ｉｑｃ’について、伝達関数Ｇｄ２（ｓ）及びＧｑ２（ｓ）を用いてモータ１５０の制御遅れ時間を補償する。伝達関数Ｇｄ２（ｓ）及びＧｑ２（ｓ）によって制御遅れ時間が補償されたｄ軸電圧指令値Ｖｄ１及びｑ軸電圧指令値Ｖｑ１が算出される。伝達関数Ｇｄ２（ｓ）及びＧｑ２（ｓ）は、例えば式（１）で示したような積分要素を含む伝達関数である。
【００９９】
これと共に電力推定部１４３は、制御遅れ補償後のｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１と電気角速度ωとを用いて、ステータコイルに起因するｄ軸電圧値及びｑ軸電圧値を算出する。
【０１００】
そして電力推定部１４３は、制御遅れ補償後のｄ軸電圧値にステータコイルに起因するｑ軸電圧値を加算して制御遅れ補償後のｄ軸電圧指令値Ｖｄ１を算出する。これと共に電力推定部１４３は、制御遅れ補償後のｑ軸電圧値からステータコイルに起因するｄ軸電圧値を減算して制御遅れ補償後のｑ軸電圧指令値Ｖｑ１を算出する。
【０１０１】
ステップＳ１０５において電力推定部１４３は、式（５）に示したように、制御遅れ補償後のｄ軸電圧指令値Ｖｄ１及びｑ軸電流指令値Ｖｑ１とｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１とを用いて、モータ１５０の駆動電力Ｐｃを推定する。
【０１０２】
その後、ステップＳ１０６において補正値算出部１４４は、式（６）に示すように、モータ１５０の消費電力Ｐと、モータ１５０の制御遅れが補償された駆動電力Ｐｃとの差分に基づいて、トルク補正値ΔＴを算出する。トルク補正値ΔＴは、補正演算部１１１でトルク指令値Ｔに加算され、補正演算部１１１から電流指令演算部１１２Ａへ補正トルク指令値Ｔｒが出力される。
【０１０３】
ステップＳ１０１からステップＳ１０６までの一連の処理が完了すると、トルク補正値ΔＴの算出方法が終了する。
【０１０４】
図４は、モータ１５０が過渡状態のときのトルク変動を示す図である。図４では、縦軸がトルクを示し、横軸が時間ｔを示す。
【０１０５】
図４には、モータ１５０のトルク指令値Ｔが実線により示され、モータ１５０の実トルクが破線により示されている。また図４には、トルク補正値ΔＴが重ねて示されている。
【０１０６】
時刻ｔ１０において、トルク指令値Ｔが発せれ、トルク指令値Ｔは周期的に変化する。また、モータ１５０の温度は一定であり、トルク補正値ΔＴも一定である。この場合には、モータ１５０の実トルクは、トルク指令値Ｔと同じように変化する。
【０１０７】
時刻ｔ１１が経過すると、モータ１５０の温度低下に伴い、永久磁石の磁束が低下するため、トルク補正値ΔＴが上昇する。これにより、駆動部１１０に入力される補正トルク指令値Ｔｒが、トルク補正値ΔＴによって磁束が低下した分だけ高くなる。この場合においてもモータ１５０の実トルクは、オーバーシュートを起こすことなく、トルク指令値Ｔと同じように変化する。
【０１０８】
したがって、モータ１５０が過渡状態であっても、実トルクは、トルク指令値Ｔの変動によってオーバーシュートすることなく、温度変化に伴うトルク変動を抑制することができる。
【０１０９】
本発明の第１実施形態によれば、消費電力算出部１４１で算出される消費電力Ｐと、電力推定部１４３で推定される駆動電力Ｐｃとの差分に応じて、温度変化などに起因するトルクの変動を補償する。
【０１１０】
消費電力算出部１４１では、モータ１５０に対する制御遅れがあることから、過去に出力されたトルク指令値Ｔに従って現在駆動しているモータ１５０の消費電力が算出される。
【０１１１】
一方、電力推定部１４３では、式（３）及び式（４）で述べたように、モータ１５０の制御遅れを補償するための伝達関数Ｇｄ１（ｓ）、Ｇｑ１（ｓ）、Ｇｄ２（ｓ）及びＧｑ２（ｓ）を用いて、モータ１５０の駆動電力Ｐｃが推定される。
【０１１２】
これにより、現在のトルク指令値よりも所定の制御遅れ時間だけ前に入力されたトルク指令値Ｔに基づいて、モータ１５０の駆動電力Ｐｃを推定することが可能になる。このため、駆動電力Ｐｃを推定した時点のトルク指令値と、消費電力Ｐを算出した時点のトルク指令値との時間的ズレを小さくできる。
【０１１３】
よって、エンジン始動時などにトルク指令値Ｔが過渡的に変化する過渡状態でも、駆動電力Ｐｃと消費電力Ｐとの間の時間的ズレが小さくなるため、駆動電力Ｐｃと消費電力Ｐとの差分が、トルク指令値Ｔの変化によって変動することを抑制できる。
【０１１４】
したがって、駆動電力Ｐｃと消費電力Ｐとの差分に応じて、モータ１５０のトルク変動を抑制すると共に、過渡状態のときにトルクのオーバーシュートが発生することを抑制できる。すなわち、トルク指令値Ｔの過渡状態や定常状態によらず、常に温度変化などに伴うトルク変動を抑制することができる。
【０１１５】
さらに、モータ１５０の消費電力Ｐと駆動電力Ｐｃとを用いてトルク補正値ΔＴを算出することにより、エンジン始動時のように、モータ１５０の回転速度がゼロのときにも、永久磁石の磁束低下に伴う出力トルクの低下をモータ１５０の駆動と同時に補正することが可能となる。したがって、エンジン始動時の出力低下を抑制することができる。
【０１１６】
また本実施形態では、伝達関数Ｇｄ１（ｓ）、Ｇｑ１（ｓ）、Ｇｄ２（ｓ）及びＧｑ２（ｓ）のそれぞれは、モータ１５０の制御遅れ時間によって定められた積分要素を有する。
【０１１７】
積分要素によって、電力推定部１４３で推定される駆動電力Ｐｃの推定値にモータ１５０の制御遅れが反映されると共に、パルス的（尖鋭的な）なノイズなどが抑制されるので、駆動電力Ｐｃの推定値と消費電力Ｐの算出値との時間的ズレを小さくできる。
【０１１８】
また本実施形態では、補正演算部１１１が、トルク指令値Ｔに対してトルク補正値ΔＴを加算することにより、モータ１５０のトルク変動を補償するための補正トルク指令値Ｔｒを算出する。電圧指令部１１２は、その補正トルク指令値Ｔｒに基づいて、ｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃを算出する。
【０１１９】
これにより、電流指令演算部１１２Ａにおいてｄ軸電流指令値Ｉｄｃ及びｑ軸電流指令値Ｉｑｃを補正する場合に比べて、温度変化に伴うトルク変動を補正するための演算処理を軽減することができる。また、演算時間が短縮されるので、モータ１５０の制御遅れ時間の増加を抑制することができる。
【０１２０】
また本実施形態では、補正前電流指令演算部１４２が、トルク補正値ΔＴで補正される前のトルク指令値Ｔに基づいて、補正前の制御指令値として、ｄ軸電流指令値Ｉｄｃ’及びｑ軸電流指令値Ｉｑｃ’を算出する。
【０１２１】
そして電力推定部１４３は、補正前のｄ軸電流指令値Ｉｄｃ’及びｑ軸電流指令値Ｉｑｃ’と、電気角速度ωと、伝達関数Ｇｄ１（ｓ）、Ｇｑ１（ｓ）、Ｇｄ２（ｓ）及びＧｑ２（ｓ）とを用いて、モータ１５０の駆動電力Ｐｃを推定する。
【０１２２】
モータ１５０の過渡状態でも、ベクトル制御を利用することにより、トルク指令値Ｔに従ってモータ１５０に対する供給電力を精度よく制御することができる。
【０１２３】
なお、本実施形態では、補正前のｄ軸電流指令値Ｉｄｃ’及びｑ軸電流指令値Ｉｑｃ’と電気角速度ωとに基づいて駆動電力Ｐｃを推定する例について説明したが、補正前のｄ軸電圧指令値と補正前のｑ軸電圧指令値とに基づいて推定してもよい。
【０１２４】
例えば、電力推定部１４３は、補正前のｄ軸電流指令値Ｉｄｃ’及びｑ軸電流指令値Ｉｑｃ’と電気角速度ωとを用いて、補正前のｄ軸電圧指令値及びｑ軸電圧指令値算出する。そして電力推定部１４３は、補正前のｄ軸電圧指令値及びｑ軸電圧指令値を、制御遅れに基づく係数を含む伝達関数に代入して、ｄ軸電圧指令値Ｖｄ１及びｑ軸電圧指令値Ｖｑ１を算出する。
【０１２５】
この場合にも、本実施形態と同様に、モータ１５０の過渡状態のときにトルクのオーバーシュートを抑制することができる。
（第２実施形態）
図５は、本発明の第２実施形態におけるモータ制御装置２００の構成を示す図である。なお、図１で示したモータ制御装置１００と同じ構成については、同一符号を付してここでの説明を省略する。
【０１２６】
モータ制御装置２００は、図１に示した制御部１０に代えて制御部２０を備えている。制御部２０は、駆動部２１０及びトルク補正部２４０を備える。
【０１２７】
駆動部２１０は、トルク指令値Ｔに基づいて、三相の交流電流をモータ１５０に供給するための電圧指令値を演算し、その電圧指令値に基づいて、矩形波のスイッチング信号を生成する。
【０１２８】
駆動部２１０は、補正演算部２１１と、電圧指令部２１２と、スイッチングパターン演算部２１３と、電流検出部２１４と、角速度検出部２１５と、を備える。補正演算部２１１及び角速度検出部２１５は、それぞれ、図１に示した補正演算部１１１及び角速度検出部１１５と同じ構成であるため、ここでの説明を省略する。
【０１２９】
電圧指令部２１２は、補正トルク指令値Ｔｒと電気角速度ωとを用いて、電圧位相γを演算する。すなわち、電圧指令部２１２は、補正前のトルク指令値Ｔと補正トルク指令値Ｔｒとに基づいて電圧位相γを、インバータ１２０に対する電圧指令値として算出する。
【０１３０】
例えば、電圧指令部２１２には、トルク指令値と電気角速度とで特定される運転点ごとに電圧位相γが対応付けられた電圧位相マップが記憶される。そして電圧指令部２１２は、補正トルク指令値Ｔｒと電気角速度ωとを取得すると、電圧位相マップを参照して、補正トルク指令値Ｔｒと電気角速度ωとの運転点に対応付けられた電圧位相γを算出して、スイッチングパターン演算部２１３に出力する。
【０１３１】
スイッチングパターン演算部２１３は、電圧位相γと磁極位置θとに基づいて、Ｕ相の電圧指令値Ｖｕｃ、Ｖ相の電圧指令値Ｖｖｃ、及びＷ相の電圧指令値Ｖｗｃを演算し、スイッチング信号としてインバータ１２０に供給する。
【０１３２】
電流検出部２１４は、インバータ１２０に供給されるＵ相の電圧指令値Ｖｕｃ、Ｖ相の電圧指令値Ｖｖｃ、及びＷ相の電圧指令値Ｖｗｃを検出すると共に、モータ１５０に供給されるＵ相の電流Ｉｕ、Ｖ相の電流Ｉｖ、及びＷ相の電流Ｉｗを検出する。
【０１３３】
電流検出部２１４は、角速度検出部２１５で検出される磁極位置θに基づいて、三相交流電流の検出値を、二相直流のｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑに変換し、三相交流の電圧指令値を、二相直流のｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃに変換する。
【０１３４】
電流検出部２１４は、ｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑと、ｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃと、をトルク補正部２４０の消費電力算出部２４１に出力する。
【０１３５】
トルク補正部２４０は、消費電力算出部２４１と、補正前電圧指令演算部２４２と、電力推定部２４３と、補正値算出部２４４と、を備える。補正値算出部２４４は、減算部２４４Ａ及びＰＩ制御部２４４Ｂを備える。
【０１３６】
消費電力算出部２４１及び補正値算出部２４４は、それぞれ、図１に示した消費電力算出部１４１及び補正値算出部１４４と同じ構成であるため、ここでの説明を省略する。
【０１３７】
補正前電圧指令演算部２４２は、補正前のトルク指令値Ｔと、電気角速度ωと、磁極位置θとに基づいて、補正前のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’を演算する。
【０１３８】
具体的には、補正前電圧指令演算部２４２は、電圧指令部２１２と同様に、補正前のトルク指令値Ｔと電気角速度ωとを取得すると、電圧位相マップを参照し、補正前のトルク指令値Ｔと電気角速度ωとで特定される運転点に対応付けられた電圧位相γ’を算出する。
【０１３９】
そして補正前電圧指令演算部２４２は、スイッチングパターン演算部２１３と同様に、補正前の電圧位相γ’と磁極位置θとを用いて、補正前の三相交流電圧指令値Ｖｕｃ’、Ｖｖｃ’及びＶｗｃ’を算出する。
【０１４０】
さらに補正前電圧指令演算部２４２は、電流検出部２１４と同様に、磁極位置θに基づいて、補正前の三相交流電圧指令値Ｖｕｃ’、Ｖｖｃ’及びＶｗｃ’を二相のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’に変換する。補正前電圧指令演算部２４２は、補正前のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’を電力推定部２４３に出力する。
【０１４１】
電力推定部２４３は、補正前のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’と、電気角速度ωと、モータ１５０の制御遅れを含む伝達関数とに基づいて、モータ１５０の駆動電力を推定する。
【０１４２】
具体的には、電力推定部２４３は、式（７）に示すように、モータ１５０の制御遅れを含む伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）を用いて、ｄ軸電流指令値Ｉｄ１を算出する。これと共に、電力推定部２４３は、式（７）に示すように、モータ１５０の制御遅れを含む伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）を用いて、ｑ軸電流指令値Ｉｑ１を算出する。
【０１４３】
【数７】
2015109771.tif 000009
【０１４４】
式（７）において、伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）と、伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）とは、共に、モータ定数から成る伝達関数である。なお、モータ定数は、ステータコイルの抵抗値及びインダクタンスに基づいて設定される。
【０１４５】
また、伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）と、伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）とは、モータ１５０の制御遅れを補償する係数を有する。例えば、伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）と、伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）とは、補正前の電圧指令値に対する積分要素の係数として、モータ１５０の制御遅れ時間によって定められた積分時間が設定されている。
【０１４６】
あるいは、伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）と、伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）とは、モータ１５０の制御遅れ時間に基づいて設定された遅延回路で構成されてもよい。
【０１４７】
また、電力推定部２４３は、式（７）で算出したｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１と、補正前電圧指令演算部２４２で算出されたｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’とを用いて、モータ１５０の駆動電力Ｐｃを算出する。
【０１４８】
具体的には電力推定部２４３は、式（８）に示すように、補正前のｄ軸電圧指令値Ｖｄｃ’と補償後のｄ軸電流指令値Iｄ１とを乗算したｄ軸電力値と、補正前のｑ軸電圧指令値Ｖqｃ’と補償後のｑ軸電流指令値Iｑ１とを乗算したｑ軸電力値とを加算する。
【０１４９】
【数８】
2015109771.tif 000010
【０１５０】
電力推定部２４３は、式（８）で算出された値Ｐｃをモータ１５０の駆動電力Ｐｃとして補正値算出部２４４に出力する。
【０１５１】
このように電力推定部２４３では、モータ１５０の制御遅れ時間に基づいて設定された伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）と、伝達関数Ｇｑ３（ｓ）Ｇｑ４（ｓ）及びＧｑ５（ｓ）とを用いて、駆動電力Ｐｃが推定される。
【０１５２】
図６は、トルク補正部２４０によるトルク補正値ΔＴの算出方法を示すフローチャートである。なお、トルク補正部２４０は、本ルーチンをモータ制御装置２００の動作中に所定の演算周期（例えば１０ｍｓ）で実行する。
【０１５３】
まず、ステップＳ２０１において、電流検出部２１４は、角速度検出部２１５で検出される磁極位置θに基づいて、三相交流電流の検出値Ｉｕ、Ｉｖ、及びＩｗを、ｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑに変換する。これと共に電流検出部２１４は、三相交流の電圧指令値の検出値Ｖｕｃ、Ｖｖｃ、及びＶｗｃを、磁極位置θに基づいてｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃに変換する。
【０１５４】
ステップＳ２０２において消費電力算出部２４１は、式（２）に示したように、ｄ軸電流値Ｉｄ及びｑ軸電流値Ｉｑとｄ軸電圧指令値Ｖｄｃ及びｑ軸電圧指令値Ｖｑｃとを用いて、モータ１５０の消費電力Ｐを算出する。
【０１５５】
ステップＳ２０３において補正前電圧指令演算部２４２は、補正前のトルク指令値Ｔと、電気角速度ωと、磁極位置θとに基づいて、補正前のｄ軸電圧指令値Ｖｄｃ’及び、補正前のｑ軸電圧指令値Ｖｑｃ’を演算して電力推定部２４３に出力する。
【０１５６】
ステップＳ２０４において電力推定部２４３は、式（７）に示したように、補正前のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’と電気角速度ωとを用いて、制御遅れの補償後のｄ軸電流指令値Ｉｄ１及びｑ軸電流指令値Ｉｑ１を算出する。
【０１５７】
ｄ軸電流指令値Ｉｄ１は、伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）によってモータ１５０の制御遅れが補償される。ｑ軸電流指令値Ｉｑ１は、伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）によってモータ１５０の制御遅れが補償される。
【０１５８】
ステップＳ２０５において電力推定部２４３は、式（８）に示したように、制御遅れ補償後のｄ軸電流指令値Iｄ１及びｑ軸電流指令値Iｑ１と、補正前のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’とを用いて駆動電力Ｐｃを推定する。
【０１５９】
その後、ステップＳ２０６において補正値算出部２４４は、式（６）に示したように、モータ１５０の消費電力Ｐと、モータ１５０の制御遅れ時間が補償された駆動電力Ｐｃとの差分に応じてトルク補正値ΔＴを算出する。なお、ＰＩ制御部２４４Ｂの伝達関数は、式（６）で示したＧｐ１（ｓ）と同一の伝達関数でもよく、異なる伝達関数でもよい。
【０１６０】
トルク補正値ΔＴは、補正演算部２１１でトルク指令値Ｔに加算され、その値が、補正トルク指令値Ｔｒとして補正演算部２１１から電圧指令部２１２へ出力される。
【０１６１】
ステップＳ２０１からステップＳ２０６までの一連の処理が完了すると、トルク補正値ΔＴの算出方法が終了する。
【０１６２】
本発明の第２実施形態によれば、式（７）で示した伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）と、伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）とを用いて、駆動電力Ｐｃが推定される。
【０１６３】
伝達関数Ｇｄ３（ｓ）、Ｇｄ４（ｓ）及びＧｄ５（ｓ）と、伝達関数Ｇｑ３（ｓ）、Ｇｑ４（ｓ）及びＧｑ５（ｓ）とは、共にモータ１５０の制御遅れ時間によって定められた積分要素を有する。
【０１６４】
この積分要素によって、第１実施形態と同様、モータ１５０の制御遅れが補償されると共にノイズを吸収できるので、電力推定部２４３で推定される駆動電力Ｐｃの推定値と、消費電力Ｐの算出値との時間的ズレを小さくできる。
【０１６５】
これにより、エンジン始動時などにトルク指令値Ｔが過渡的に変化する過渡状態でも、トルク指令値Ｔの変動によって駆動電力Ｐｃと消費電力Ｐとの差分が変動することを抑制できる。
【０１６６】
したがって、矩形波信号を生成するモータ制御装置２００でも、駆動電力Ｐｃと消費電力Ｐとの差分に応じて定常状態におけるモータ１５０のトルク変動を抑制しつつ、過渡状態におけるトルクのオーバーシュートを抑制することができる。
【０１６７】
また、本実施形態では、電力推定部２４３が、補正前のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’に基づいて駆動電力Ｐｃを推定する例について説明したが、補正前のｄ軸電流指令値と補正前のｑ軸電流指令値とに基づいて推定してもよい。
【０１６８】
例えば、電力推定部２４３は、補正前のｄ軸電圧指令値Ｖｄｃ’及びｑ軸電圧指令値Ｖｑｃ’ と電気角速度ωとを用いて、補正前のｄ軸電流指令値及びｑ軸電流指令値を算出する。そして電力推定部２４３は、補正前のｄ軸電流指令値及びｑ軸電流指令値に対して、式（７）と同じように制御遅れを含む伝達関数を用いて、モータ１５０の駆動電力Ｐｃを算出する。
【０１６９】
この場合にも、本実施形態と同様に、モータ１５０の過渡状態のときにトルクのオーバーシュートを抑制することができる。
【０１７０】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【０１７１】
例えば、本発明は、三相同期モータ以外の電動モータにも適用することができる。
【０１７２】
なお、上記実施形態は、適宜組み合わせ可能である。
【符号の説明】
【０１７３】
１０  制御部
１００、２００  モータ制御装置
１１１、２１１  補正演算部
１１２、２１２  電圧指令部
１１４、２１４  電流検出部
１１５、２１５  角速度検出部
１２０  インバータ
１４１、２４１  消費電力算出部
１４２  補正前電流指令演算部（指令値演算部）
１４３、２４３  電力推定部
１４４、２４４  補正値算出部
２４２  補正前電圧指令演算部（指令値演算部）
【図１】
2015109771.tif 000011
【図２】
2015109771.tif 000012
【図３】
2015109771.tif 000013
【図４】
2015109771.tif 000014
【図５】
2015109771.tif 000015
【図６】
2015109771.tif 000016