(57)【要約】【課題】モータの負荷状態が変化した場合における巻線温度の推定誤差を低減する。【解決手段】温度推定装置は、モータのステータにおける巻線の電気抵抗および温度を推定する処理を繰り返す。前記処理は、電気抵抗と、ロータの回転制御に用いられる一群のパラメータとの間の関係を規定する式に基づいて、巻線の仮の電気抵抗を計算し、仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算し、計算した抵抗差の積算値を、電気抵抗の初期値に加算することにより、今回の電気抵抗を推定する。負荷状態の変化が検出されたときに計算された抵抗差は、前記積算値から除外される。
2018016448.tif 000002
【特許請求の範囲】
【請求項１】
ロータおよびステータを有し、前記ステータは複数の巻線を有する、電気モータと、
前記複数の巻線のそれぞれを流れる電流をモニタする電流センサユニットと、
前記ロータの角度位置を示すロータ位置信号を生成するロータ角度推定器と、
前記電気モータに接続され、前記複数の巻線に電圧を印加することによって前記ロータの回転を制御するモータ制御回路と、を備え、
前記モータ制御回路は、前記複数の巻線の電気抵抗および温度を推定する処理を繰り返す温度推定器を備え、
前記処理は、
電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、閾値を超える抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、モータモジュール。
【請求項２】
計算された前記抵抗差のうち、電流またはロータ速度の現在の値と前回の値との差が閾値を超えるときに計算された前記抵抗差は、前記積算値からさらに除外される、請求項１に記載のモータモジュール。
【請求項３】
前記電気モータは、永久磁石同期モータであり、
前記モータ制御回路は、フィールドオリエンテッドコントロールアルゴリズムに従って前記複数の巻線に電圧を印加することにより、前記ロータの回転を制御する、請求項１または２に記載のモータモジュール。
【請求項４】
前記温度推定器は、
Ｒｗを前記仮の電気抵抗、Ｖｑをｑ軸電圧、ωｅを前記ロータの電気角速度、Ｉｄをｄ軸電流、Ｉｑをｑ軸電流、Ｌｄを前記複数の巻線のｄ軸インダクタンス、Ψｅを前記ロータからの磁束による前記複数の巻線における磁束鎖交数として、以下の式
【数１】
2018016448.tif 000010
に基づいて、各回の前記仮の電気抵抗を推定する、請求項３に記載のモータモジュール。
【請求項５】
前記温度推定器は、
Ｒｗを前記仮の電気抵抗、Ｖｑをｑ軸電圧、ωｅを前記ロータの電気角速度、Ｉｄをｄ軸電流、Ｉｑをｑ軸電流、Ｌｄを前記複数の巻線のｄ軸インダクタンス、Ψｅを前記ロータからの磁束による前記複数の巻線における磁束鎖交数、ｆ（Ｉｑ，ωｅ）をＩｑおよびωｅの関数として、以下の式
【数２】
2018016448.tif 000011
に基づいて、各回の前記仮の電気抵抗を推定する、請求項３に記載のモータモジュール。
【請求項６】
前記温度推定器は、αをＩｑおよびωｅに依存するパラメータ、ω０を基準状態におけるロータの電気角速度として、以下の式
【数３】
2018016448.tif 000012
に基づいて、各回の前記仮の電気抵抗を推定する、請求項５に記載のモータモジュール。
【請求項７】
Ｖｑは、前記制御回路によって決定された電圧指令値であり、
ＩｄおよびＩｑは、前記電流センサユニットによってモニタされた複数の電流および前記ロータ位置信号に基づいて計算される、請求項４から６のいずれかに記載のモータモジュール。
【請求項８】
前記温度推定器は、推定された前記電気抵抗の前記初期値を、前記式に基づいて決定する、請求項１から７のいずれかに記載のモータモジュール。
【請求項９】
前記モータ制御回路は、推定された前記温度が閾値を超えているとき、前記ロータ速度を減少させる、請求項１から８のいずれかに記載のモータモジュール。
【請求項１０】
前記電気抵抗を推定するステップは、
前記一群のパラメータに基づいて、負荷状態が基準の状態に類似しているか否かを決定するステップと、
前記負荷状態が前記基準の状態に類似しているとき、計算された前記仮の電気抵抗を、前記電気抵抗として推定し、推定された前記電気抵抗の初期値を、前記仮の電気抵抗の値で更新するステップと、を含む、請求項１から９のいずれかに記載のモータモジュール。
【請求項１１】
前記温度推定器は、
第１の周期で前記処理を繰り返し、前記第１の周期は、前記一群のパラメータが計算される第２の周期よりも長く、
前記第１の周期にわたって各パラメータの平均値を求め、
各パラメータの前記平均値を用いて、前記仮の電気抵抗を計算する、請求項１から１０のいずれかに記載のモータモジュール。
【請求項１２】
電気モータを制御するモータ制御装置であって、
前記電気モータは、ロータおよびステータを有し、前記ステータは複数の巻線を有し、
前記モータ制御装置は、
前記複数の巻線に電圧を印加することによって前記ロータの回転を制御し、
前記複数の巻線の電気抵抗および温度を推定する処理を繰り返す温度推定器を備え、
前記処理は、
電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、閾値を超える抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、モータ制御装置。
【請求項１３】
電気モータを制御するモータ制御装置において用いられる温度推定装置であって、
前記電気モータは、ロータおよびステータを有し、前記ステータは複数の巻線を有し、
前記モータ制御装置は、前記複数の巻線に電圧を印加することによって前記ロータの回転を制御し、
前記温度推定装置は、前記複数の巻線の電気抵抗および温度を推定する処理を繰り返し、
前記処理は、
電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、閾値を超える抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、温度推定装置。
【請求項１４】
電気モータのステータにおける複数の巻線の温度を推定する方法であって、
前記複数の巻線の電気抵抗および温度を推定する処理を繰り返すステップを含み、
前記処理は、
電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、閾値を超える抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、方法。
【請求項１５】
ロータおよびステータを有し、前記ステータは複数の巻線を有する、電気モータと、
前記複数の巻線のそれぞれを流れる電流をモニタする電流センサユニットと、
前記ロータの角度位置を示すロータ位置信号を生成するロータ角度推定器と、
前記電気モータに接続され、前記複数の巻線に電圧を印加することによって前記ロータの回転を制御するモータ制御回路と、を備え、
前記モータ制御回路は、前記複数の巻線の電気抵抗および温度を推定する処理を繰り返す温度推定器を備え、
前記処理は、
電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
前記一群のパラメータに基づいて、負荷状態の変化を検出するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、前記負荷状態の変化が検出されたときに計算された抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、モータモジュール。
【請求項１６】
電気モータを制御するモータ制御装置であって、
前記電気モータは、ロータおよびステータを有し、前記ステータは複数の巻線を有し、
前記モータ制御装置は、
前記複数の巻線に電圧を印加することによって前記ロータの回転を制御し、
前記複数の巻線の電気抵抗および温度を推定する処理を繰り返す温度推定器を備え、
前記処理は、
電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
前記一群のパラメータに基づいて、負荷状態の変化を検出するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、前記負荷状態の変化が検出されたときに計算された抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、モータ制御装置。
【請求項１７】
電気モータを制御するモータ制御装置において用いられる温度推定装置であって、
前記電気モータは、ロータおよびステータを有し、前記ステータは複数の巻線を有し、
前記モータ制御装置は、前記複数の巻線に電圧を印加することによって前記ロータの回転を制御し、
前記温度推定装置は、前記複数の巻線の電気抵抗および温度を推定する処理を繰り返し、
前記処理は、
電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
前記一群のパラメータに基づいて、負荷状態の変化を検出するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、前記負荷状態の変化が検出されたときに計算された抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、温度推定装置。
【請求項１８】
電気モータのステータにおける複数の巻線の温度を推定する方法であって、
前記複数の巻線の電気抵抗および温度を推定する処理を繰り返すステップを含み、  前記処理は、  電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、
前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、
前記一群のパラメータに基づいて、負荷状態の変化を検出するステップと、
計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップであって、計算された前記抵抗差のうち、前記負荷状態の変化が検出されたときに計算された抵抗差は、前記積算値から除外される、ステップと、
推定された前記電気抵抗に基づいて、前記複数の巻線の温度を推定するステップと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、電気モータにおけるステータ巻線の温度を推定する技術に関する。
【背景技術】
【０００２】
ステータに複数の巻線を有する電気モータ（以下、単に「モータ」と称する。）の運転に伴ってステータ巻線から発生する熱は、モータを構成する材料の損傷および特性の変化を引き起こし得る。このため、モータの運転中にステータ巻線の温度（以下、「巻線温度」と称することがある。）を知ることは重要である。【０００３】
ステータ巻線の温度は、種々の方法によって知ることができる。例えば、巻線の近傍に温度センサを配置し、当該温度センサを用いて巻線温度を直接測定する方法がある。温度センサには、例えば、熱電対または測温抵抗体（Ｒｅｓｉｓｔｉｖｅ  Ｔｅｍｐｅｒａｔｕｒｅ  Ｄｅｖｉｃｅ：ＲＴＤ）などが用いられ得る。温度センサを用いる方法では、巻線の近傍に温度センサを配置することが困難な場合があり、また、コストの増加を招くという課題がある。【０００４】
温度センサを用いずに、ステータ巻線の電気抵抗（以下、「巻線抵抗」と称することがある。）から巻線温度を推定することも可能である。巻線温度は、巻線抵抗の関数で表すことができるため、巻線抵抗から巻線温度を推定することができる。【０００５】
巻線抵抗を求める方法には、大別して３つの方法がある。第１の方法は、測定器によって巻線抵抗を直接測定する方法である。しかし、巻線抵抗を直接測定するためには、モータを停止させる必要がある。このため、運転中に巻線温度を推定することができない。【０００６】
第２の方法は、モータの運転中に、直流（ＤＣ）または交流（ＡＣ）の信号を注入し、当該信号から巻線抵抗を測定する方法である。第２の方法では、モータを制御するための信号に巻線抵抗を測定するための信号が混入する。このため、モータの動作を妨げる可能性がある。【０００７】
第３の方法は、モータの電圧方程式などの関係式を利用して、モータの制御に用いられる各種のパラメータから、巻線温度を推定する方法である。第３の方法の例は、例えば特許文献１から３に開示されている。特許文献１から３の方法によれば、モータの運転中に巻線温度を推定することができると考えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】日本国公開公報第２０１２−１３０１６２号公報
【特許文献２】日本国公開公報第２０１３−１４６１５５号公報
【特許文献３】日本国公開公報第２０１４−２３０４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本開示は、モータの負荷状態が変化した場合における巻線温度の推定誤差を低減できる新規な温度推定技術を提供する。
【課題を解決するための手段】
【００１０】
本開示の例示的な実施形態における巻線温度推定方法は、電気モータのステータにおける複数の巻線の温度を推定するための方法である。前記複数の巻線の電気抵抗および温度を推定する処理を繰り返すステップを含む。前記処理は、電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、前記複数の巻線の仮の電気抵抗を計算するステップと、前記仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップと、前記一群のパラメータに基づいて、負荷状態の変化を検出するステップと、計算された前記抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、前記電気抵抗を推定するステップと、推定された前記電気抵抗に基づいて、前記巻線の温度を推定するステップと、を含む。前記電気抵抗を推定するステップにおいては、これまでに計算された前記抵抗差のうち、前記負荷状態の変化が検出されたときに計算された抵抗差は、前記積算値から除外される。【００１１】
上記の包括的または具体的な態様は、装置、システム、方法、集積回路、コンピュータプログラム、または記録媒体によって実現され得る。あるいは、装置、システム、方法、集積回路、コンピュータプログラム、および記録媒体の任意の組み合わせによっても実現され得る。
【発明の効果】
【００１２】
本開示の実施形態によれば、モータの負荷状態が変化した場合における巻線温度の推定誤差を低減することができる。
【図面の簡単な説明】
【００１３】
【図１Ａ】図１Ａは、本開示の例示的な実施形態１におけるモータモジュールの概略構成を示す図である。
【図１Ｂ】図１Ｂは、実施形態１におけるコントローラ３００の内部構成の例を模式的に示す図である。
【図２】図２は、実施形態１におけるＭＣＵ３００のより具体的な構成例を示すブロック図である。
【図３】図３は、実施形態１におけるインバータ回路４００の構成例を模式的に示す図である。
【図４Ａ】図４Ａは、ある条件下での巻線抵抗Ｒｗの時間変化の一例を示す図である。
【図４Ｂ】図４Ｂは、ある条件下での巻線温度Ｔｗの時間変化の一例を示す図である。
【図５】図５は、温度推定器３５０による基本的な処理の例（比較例）を示すフローチャートである。
【図６Ａ】図６Ａは、ロータの回転速度が一定で、トルクが時間的に変化する状況下での、巻線温度の測定値および推定値の時間変化の一例を示すグラフである。
【図６Ｂ】図６Ｂは、トルクが一定で、ロータの回転速度が時間的に変動する状況下での、巻線温度の測定値および推定値の時間変化の一例を示すグラフである。
【図７】図７は、実施形態１における温度推定処理の基本的な流れを示すフローチャートである。
【図８】図８は、実施形態１の温度推定器３５０による処理の他の例を示すフローチャートである。
【図９】図９は、仮の巻線抵抗Ｒｗの計算に用いられる一群のパラメータのそれぞれを時間的に平均化して使用する処理の例を示すフローチャートである。
【図１０】図１０は、実施形態１の他の変形例を示すフローチャートである。
【図１１Ａ】図１１Ａは、負荷状態が変化する状況下で、図５に示す方法で巻線温度を推定した実験結果を示す図である。
【図１１Ｂ】図１１Ｂは、負荷状態が変化する状況下で、図７に示す方法（差分法）で巻線温度を推定した実験結果を示す図である。
【図１２】図１２は、本開示の例示的な実施形態２における温度推定処理の例を示すフローチャートである。
【図１３】図１３は、実施形態２における効果を示すグラフである。
【図１４】図１４は、実施形態２におけるオフセット法と差分法とを組み合わせた処理の例を示すフローチャートである。
【図１５Ａ】図１５Ａは、図１２に示すオフセット法のみを用いて推定した巻線温度の時間変化の一例を示すグラフである。
【図１５Ｂ】図１５Ｂは、図１４に示すオフセット法および差分法を組み合わせて推定した巻線温度の時間変化の一例を示すグラフである。
【図１６】図１６は、実施形態２の変形例の処理を示すフローチャートである。
【図１７】図１７は、モータモジュールによって実行される制御の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本開示の例示的な実施形態を説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複する説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。以下の説明においては、同一または類似する構成要素には、同一の参照符号を付している。
【００１５】
（実施形態１）
図１Ａは、本開示の例示的な実施形態におけるモータモジュールの概略構成を示す図である。このモータモジュールは、モータ１００と、モータ制御回路（モータ制御装置）２００と、電流センサユニット５００と、ロータ角度推定器６００とを備える。
【００１６】
本実施形態におけるモータ１００は、三相交流によって駆動される交流モータである。モータ１００は、例えば、永久磁石同期モータであり得る。モータ１００は、ロータ（回転子）とステータ（固定子）とを備える。モータ１００が永久磁石同期モータ（ブラシレスＤＣモータと呼ばれることもある。）である場合、ロータは永久磁石を備え、ステータは複数の巻線（３相コイル）を備える。以下の説明では、主に、永久磁石がロータの内部に埋め込まれ、磁気的な突極性をもつＩＰＭＳＭ（Ｉｎｔｅｒｉｏｒ  Ｐｅｒｍａｎｅｎｔ  Ｍａｇｎｅｔ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｍｏｔｏｒ）を想定する。しかし、モータ１００はＩＰＭＳＭに限定されない。
【００１７】
電流センサユニット５００は、複数の巻線のそれぞれを流れる電流をモニタする１つまたは複数のセンサを含む。電流センサユニット５００は、必ずしも三相の巻線のそれぞれの電流を直接測定する必要はない。例えば、三相の電流の和が常にゼロになる場合には、三相の電流のうちの二相の電流のみを測定できればよい。残りの一相の電流は計算によって求めることができる。このため、二相の電流のみを測定する場合であっても、各巻線を流れる電流をモニタすることができる。
【００１８】
ロータ角度推定器６００は、モータ１００におけるロータの角度位置を測定または計算によって求め、当該角度位置を示すロータ位置信号を生成する。ロータの「角度位置」とは、ロータの基準状態からの回転角度（電気角であり、単位は、度またはラジアン）を意味する。ロータ角度推定器６００は、ある例では、ロータの角度位置を測定するセンサ（例えば、ホール素子、レゾルバ、またはロータリエンコーダ）によって実現され得る。ロータ角度推定器６００は、センサに限らず、モータ制御回路２００が実行するソフトウェアによっても実現され得る。本明細書において、ロータ角度推定器６００によるロータ角度の「推定」には、ロータ角度を計算によって求めることに加えて、センサを用いて測定することも含まれる。
【００１９】
モータ制御回路２００は、モータ１００に接続されている。モータ制御回路２００は、例えば公知のフィールドオリエンテッドコントロール（ＦＯＣ）アルゴリズムなどの制御アルゴリズムに従ってステータにおける複数の巻線に電圧を印加することにより、ロータの回転を制御する。本実施形態におけるモータ制御回路２００は、インバータ回路４００と、コントローラ３００とを備える。インバータ回路４００は、コントローラ３００からの指示に従い、モータ１００のステータにおける複数の巻線に三相交流電圧を印加する。コントローラ３００は、ＦＯＣアルゴリズムなどの制御アルゴリズムに従ってインバータ回路４００を制御する。これにより、モータ１００のステータにおける複数の巻線に所望の三相交流電圧が印加される。
【００２０】
コントローラ３００は、モータ１００のステータにおける複数の巻線の電気抵抗および温度を推定する処理を繰り返す温度推定器３５０を備える。ここで、「複数の巻線の電気抵抗」とは、複数の巻線のそれぞれの電気抵抗ではなく、複数の巻線の全体の電気抵抗を意味する。
【００２１】
図１Ｂは、コントローラ３００の内部構成の例を模式的に示す図である。図１Ｂの例では、コントローラ３００は、マイクロコントローラユニット（ＭＣＵ）によって実現されている。ロータ角度推定器３３０および温度推定器３５０は、ＭＣＵが実行するソフトウェアによって実現され得る。すなわち、モータ制御回路２００は、複数の巻線の電気抵抗および温度を推定する処理を繰り返す温度推定器３５０を備える。
【００２２】
以下、コントローラ３００がＭＣＵであるものとして説明する。コントローラ（ＭＣＵ）３００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３７０と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３８０とを備える。
【００２３】
ＲＯＭ３７０は、不揮発性メモリであり、モータ１００を制御するための各種ソフトウェア（コンピュータプログラム）を格納する。ＲＡＭ３８０は、揮発性メモリであり、ＣＰＵ３６０がプログラムを実行する際に利用されるワークメモリである。ＲＡＭ３８０は、ＣＰＵ３６０が計算の過程で生成する各種のパラメータを格納する記憶媒体でもある。本実施形態において用いられるプログラムは、公知のフィールドオリエンテッドコントロール（ＦＯＣ）アルゴリズムと、後述する温度推定アルゴリズムとを規定する。ＦＯＣは、ベクトル制御とも呼ばれ、永久磁石同期モータなどの三相交流モータを制御するために用いられる。
【００２４】
本実施形態では、温度推定器３５０は、ＭＣＵ３００が実行するソフトウェアによって実現されるが、同等の機能を有するハードウェア（回路）によって実現されてもよい。温度推定器３５０は、単独の装置としても構成され得る。その場合には、温度推定器３５０を「温度推定装置」と称する。温度推定器３５０による具体的な処理については後述する。ロータ角度推定器６００についても、個別のハードウェア（センサまたは回路）によって実現されていてもよい。
【００２５】
図２は、本実施形態におけるＭＣＵ３００のより具体的な構成例を示すブロック図である。本実施形態におけるＭＣＵ３００は、ＦＯＣアルゴリズムに従ってモータ１００を制御する。図２には、モータ１００の制御に使用される複数の機能ブロックが示されている。特に、本実施形態におけるＭＣＵ３００は、モータ１００を制御しながら、モータ１００の巻線抵抗および巻線温度を推定する。巻線抵抗および巻線温度の推定は、温度推定器３５０によって行われる。
【００２６】
ＭＣＵ３００は、ハードウェアとして、前述のＣＰＵ３６０、ＲＯＭ３７０、およびＲＡＭ３８０の他に、Ａ−Ｄコンバータ３１０と、ＰＷＭドライバ３４０とを備えている。図２に示されているＭＣＵ３００の他の構成要素（機能ブロック）は、ＣＰＵ３６０がＲＯＭ３７０に格納されたソフトウェアを実行することによって実現される。本実施形態においてソフトウェアによって実現される構成要素の一部または全部が、ハードウェア（回路）によって実現されてもよい。逆に、本実施形態においてハードウェアによって実現される構成要素の一部または全部が、ソフトウェアによって実現されてもよい。ＰＷＭドライバ３４０およびＡ−Ｄコンバータ３１０は、ＭＣＵ３００の外部に設けられた回路であってもよい。
【００２７】
図３は、インバータ回路４００の構成例を模式的に示す図である。本実施形態におけるインバータ回路４００は、三相電圧形インバータの回路構成を備える。インバータ回路４００は、６個のスイッチング素子Ｓａ、Ｓａ’、Ｓｂ、Ｓｂ’、Ｓｃ、Ｓｃ’を備えたブリッジ回路である。各スイッチング素子は、例えばＩＧＢＴ（Ｉｎｓｕｌａｔｅｄ−ｇａｔｅ  ｂｉｐｏｌａｒ  ｔｒａｎｓｉｓｔｏｒ）またはＭＯＳＦＥＴ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ−Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）などのトランジスタによって実現され得る。各スイッチング素子のゲートは、ＭＣＵ３００におけるＰＷＭドライバ３４０に接続されている。ＰＷＭドライバ３４０から出力される制御信号（ＰＷＭパルス信号）により、各スイッチング素子の導通（オン）／非導通（オフ）の状態が切り替えられる。ＭＣＵ３００は、各スイッチング素子の導通のタイミングを制御することにより、モータ１００に三相交流を供給する。なお、本明細書では、３つの相を、相ａ、相ｂ、相ｃと表現する。図３では、わかり易さのため、極対数を１として、モータ１００における３つの相の巻線が３つのコイルとして模式的に示されている。しかし、これは例示にすぎない。実際のモータにおける各相の巻線の巻き方は多様であり、極対数も１に限らず、２以上であり得る。
【００２８】
再び図２を参照する。モータ１００のステータにおける各相の巻線（コイル）を流れる電流は、電流センサユニット５００によって検出される。電流センサユニット５００は、例えば、各相の巻線に繋がるラインの近傍において、非接触で磁気的に電流を検出するホール素子を用いたセンサであり得る。他の例では、電流センサユニット５００は、インバータ回路４００の下側のスイッチング素子Ｓａ’、Ｓｂ’、Ｓｃ’とグラウンド（ＧＮＤ）との間に接続された複数のシャント抵抗器を含むセンサであり得る。シャント抵抗器の電圧降下から各相の電流を求めることができる。なお、前述のように、電流センサユニット５００は、三相の全ての電流を測定する必要はなく、このうちの少なくとも二相の電流を検出できればよい。電流センサユニット５００は、検出した各相の電流値を示す信号をＭＣＵ３００に送る。
【００２９】
ＭＣＵ３００におけるＡ−Ｄコンバータ３１０は、電流センサユニット５００から受け取った各相の電流Ｉａ、Ｉｂ、Ｉｃを示すアナログ信号を、デジタル信号に変換して出力する。Ｃｌａｒｋｅ変換モジュール３２０は、電流Ｉａ、Ｉｂ、Ｉｃを座標変換（Ｃｌａｒｋｅ変換）して、α軸成分の電流Ｉαおよびβ軸成分の電流Ｉβを示す信号を出力する。ここで、α軸は相ａの軸に一致し、β軸はα軸から電気角で９０度位相が進んだ軸である。次に、Ｐａｒｋ変換モジュール３２２は、電流Ｉα、Ｉβを、モータ１００のロータにおける永久磁石と共に回転する座標系で表した電流Ｉｄ、Ｉｑに変換する（Ｐａｒｋ変換）。周知のように、ｄ軸はロータにおける永久磁石が作る磁束の主方向の軸であり、ｑ軸はｄ軸から電気角で９０度位相が進んだ軸である。
【００３０】
Ｐａｒｋ変換を行うためには、ロータの回転位置（電気角）の情報が必要である。ロータの回転位置の情報は、ロータ角度推定器６００から得られる。本実施形態におけるロータ角度推定器６００は、公知のセンサレス位置検出技術を用いて、ロータの回転位置（ロータ角度θｅ）を推定する。ロータ角度推定器６００は、例えば、各相の巻線の誘起電圧に基づいて、ロータ角度θｅを決定する。ロータ角度推定器６００によって決定されたロータ角度θｅを示す信号（ロータ位置信号）は、Ｐａｒｋ変換モジュール３２２およびロータ速度推定器３３１に送られる。ロータ速度推定器３３１は、ロータ角度θｅの単位時間あたりの変化量から、ロータ速度を算出する。「ロータ速度」は、ロータの電気角速度ωｅ（単位はｒａｄ／ｓ）を意味する。Ｐａｒｋ変換モジュール３２２は、ロータ位置信号に基づいて、電流Ｉα、Ｉβを、電流Ｉｄ、Ｉｑに変換する。このように、ｄ軸電流Ｉｄおよびｑ軸電流Ｉｑは、電流センサユニット５００によってモニタされた複数の電流およびロータ角度推定器６００が生成するロータ位置信号に基づいて計算される。
【００３１】
Ｐａｒｋ変換モジュール３２２によって計算されたｄ軸電流Ｉｄおよびｑ軸電流Ｉｑを示す信号は、ｄ軸電流の指令値Ｉｄ*およびｑ軸電流の指令値Ｉｑ*とそれぞれ比較される。そして、偏差（Ｉｄ*−Ｉｄ）および（Ｉｑ*−Ｉｑ）を示す信号が、ＰＩコントローラ３３３に入力される。ＰＩコントローラ３３３は、ＰＩ制御を行い、偏差（Ｉｄ*−Ｉｄ）および（Ｉｑ*−Ｉｑ）を示す信号から、偏差をなくすような電圧指令値Ｖｄ＊、Ｖｑ＊を決定する。ここで、電流指令値Ｉｄ*、Ｉｑ*は、ＰＩコントローラ３３２によって決定される。ＰＩコントローラ３３３は、ロータ速度推定器３３１によって計算されたロータ速度ωｅと速度指令値ωｅ*との偏差（ωｅ*−ωｅ）に基づいて、電流指令値Ｉｄ*、Ｉｑ*を決定する。ＰＩコントローラ３３２は、ＰＩ制御を行い、偏差（ωｅ*−ωｅ）をなくすような電流指令値Ｉｄ*、Ｉｑ*を決定する。なお、ＰＩコントローラ３３２、３３３は、ＰＩ制御に代えて、例えばＰＩＤ制御またはＰ制御などの他の制御によって各指令値を決定してもよい。
【００３２】
ＰＩコントローラ３３３によって電圧指令値Ｖｄ*、Ｖｑ*が決定されると、逆Ｐａｒｋ変換モジュール３３４は、電圧指令値Ｖｄ*、Ｖｑ*を、静止座標系における電圧指令値Ｖα*、Ｖβ*に変換する（逆Ｐａｒｋ変換）。次に、空間ベクトル（ＳＶ）ジェネレータ３３５は、電圧指令値Ｖα*、Ｖβ*に基づいて空間ベクトル変調を行うことにより、インバータ回路４００における各スイッチング素子の１周期あたりの導通時間の比（オン時間比と称する。）を決定する。ＰＷＭドライバ３４０は、決定されたオン時間比に基づいて、インバータ回路４００の各スイッチング素子のオン／オフを切り替えるための制御信号（ＰＷＭパルス信号）を出力する。
【００３３】
以上の一連の動作は、比較的短い周期（例えば、１００マイクロ秒（μｓ）程度の周期）で繰り返し実行される。以上の制御により、ロータは、速度指令値ωｅ*にほぼ一致する回転速度で回転することができる。なお、図２に示す構成は、あくまでも一例であり、本開示の技術は図２の構成に限定されない。例えば、空間ベクトル変調に代えて三角波比較法などの他の方法によってインバータ回路４００の制御信号を生成してもよい。
【００３４】
本実施形態におけるＭＣＵ３００は、さらに、巻線温度を推定する温度推定器３５０を備えている。温度推定器３５０は、巻線抵抗推定モジュール３５２と、巻線温度推定モジュール３５４とを備えている。巻線抵抗推定モジュール３５２は、後述するように、モータ１００の制御に用いられる一群のパラメータと、巻線抵抗との間の関係を規定する式に基づいて、巻線抵抗を推定する。巻線温度推定モジュール３５４は、巻線抵抗と巻線温度との関係に基づいて、巻線抵抗から巻線温度を推定する。
【００３５】
図４Ａおよび図４Ｂは、ステータにおける巻線抵抗Ｒｗと巻線温度Ｔｗとの関係の一例を示している。図４Ａは、ある条件下での巻線抵抗Ｒｗの時間変化の一例を示す図である。図４Ｂは、同じ条件下での巻線温度Ｔｗの時間変化の一例を示す図である。巻線抵抗Ｒｗと、巻線温度Ｔｗとの間には、近似的に以下の式（１）に示される関係がある。
【数１】
2018016448.tif 000003
ここで、Ｔ０は基準温度（例えば室温）を表し、Ｒ０は基準温度における巻線抵抗を表している。αは、巻線の材料に依存する定数であり、巻線の材料が例えば銅の場合、０．００４０４１／Ｋである。本実施形態における巻線温度推定モジュール３５４は、式（１）を用いて、推定された巻線抵抗Ｒｗから、巻線温度Ｔｗを計算する。
【００３６】
次に、温度推定器３５０による巻線抵抗を推定する処理の例を説明する。本実施形態における温度推定器３５０は、巻線抵抗を推定するために、モータ１００の制御に用いられる一群のパラメータと、巻線抵抗との間の関係を規定する式を用いる。一群のパラメータは、電圧、電流、およびロータ速度（電気角速度）を示すパラメータを含む。モータの制御に用いられる一群のパラメータと、巻線抵抗との間の関係を規定する式は、例えば、以下の式（２）であり得る。例えば、温度推定器３５０は、以下の式（２）に基づいて各回の仮の電気抵抗を推定する。
【数２】
2018016448.tif 000004
ここで、Ｒｗは巻線の電気抵抗、Ｖｑはｑ軸電圧、ωｅはロータの電気角速度、Ｉｄはｄ軸電流、Ｉｑはｑ軸電流、Ｌｄは複数の巻線のｄ軸インダクタンス、Ψｅはロータにおける永久磁石が作る磁束による巻線における磁束鎖交数である。
【００３７】
式（２）は、永久磁石同期モータにおける以下の電圧方程式（３）において、時間微分の項を無視した式である。
【数３】
2018016448.tif 000005
式（３）において、記号「ｐ」は、時間微分を表す。定常状態においては、ｐＬｄ＝０およびｐＬｑ＝０と考えることができるため、式（２）が成立する。
【００３８】
式（２）を変形すると、以下の２つの式（４）、（５）が得られる。
【数４】
2018016448.tif 000006
【数５】
2018016448.tif 000007
ここで、磁束鎖交数ΨｅおよびインダクタンスＬｄ、Ｌｑは、事前の測定またはモータの仕様から得られる既知の値である。本実施形態では、処理を簡単にするため、磁束鎖交数ΨｅおよびインダクタンスＬｄ、Ｌｑの時間変化および温度依存性は無視する。式（４）、（５）から、パラメータＶｄ、ωｅ、Ｉｄ、Ｉｑの組、または、パラメータＶｑ、ωｅ、Ｉｄ、Ｉｑの組が得られれば、巻線抵抗Ｒｗを推定できることがわかる。実際の計算では、式（４）および式（５）の一方を用いて、巻線抵抗Ｒｗが計算され得る。ｄ軸電流Ｉｄは、０に近い値に設定されることが多いため、典型的には、式（５）が用いられる。
【００３９】
式（５）を用いる場合、使用される一群のパラメータは、Ｖｑ、Ｉｄ、Ｉｑ、ωｅの組である。式（５）の第３項は、モータの逆起電力定数Ｋｅおよび機械角速度ω（＝Ｐ×ωｅ、Ｐは極対数）を用いて、「−Ｋｅ×ω」と表すことができる。よって、式（５）を用いる場合、温度推定器３５０は、「−Ψｅ×ωｅ」の代わりに、「−Ｋｅ×ω」を計算してＲｗを求めてもよい。「−Ｋｅ×ω」の計算が行われる場合、一群のパラメータには、ロータの機械角速度ωも含まれる。機械角速度ωは、ロータ角度推定器６００によって推定され得る。定数Ｋｅは、事前の測定またはモータの仕様から得られる既知の値である。一方、式（４）を用いる場合、使用される一群のパラメータは、Ｖｄ、Ｉｄ、Ｉｑ、ωｅの組である。
【００４０】
パラメータＶｄ、Ｖｑには、ＦＯＣアルゴリズムに従ってＭＣＵ３００が決定した電圧指令値Ｖｄ*、Ｖｑ*が用いられ得る。パラメータＩｄ、Ｉｑは、Ｐａｒｋ変換モジュール３２２によって計算された電流Ｉｄ、Ｉｑである。パラメータωｅは、ロータ速度推定器３３１によって計算された電気角速度ωｅである。これらの一群のパラメータは、生成される度に、ＲＡＭ３８０に格納され得る。温度推定器３５０は、巻線抵抗の推定の際、必要なパラメータを、ＲＡＭ３８０から取得して利用する。
【００４１】
以下、本実施形態における温度推定器３５０による処理の具体例を説明する。以下の説明では、主に式（５）を用いて巻線抵抗を推定する場合を想定する。ただし、使用される式は式（５）に限らず、式（４）などの他の式であってもよい。
【００４２】
図５は、温度推定器３５０による基本的な処理の例（比較例）を示すフローチャートである。温度推定器３５０は、ステップＳ１１０において、パラメータＶｑ、Ｉｄ、Ｉｑ、ωｅをＲＡＭ３８０から取得する。ステップＳ１２０において、式（５）に基づいて、巻線抵抗Ｒｗを算出する。ステップＳ１３０において、式（１）に基づいて、巻線温度Ｔｗを算出する。その後、ステップＳ１４０において、所定の時間（例えば１秒）が経過するまで待機し、当該時間が経過した場合、ステップＳ１１０に戻る。このように、温度推定器３５０は、所定時間ごとに、巻線抵抗Ｒｗおよび巻線温度Ｔｗの算出（推定）を繰り返す。
【００４３】
図５に示す処理によれば、比較的簡単な計算によって巻線温度Ｔｗを推定することができる。モータ１００の負荷状態が変化しない定常状態においては、図５に示す処理によって高い正確度で巻線温度を推定することができる。
【００４４】
しかし、本発明者らの検討によれば、図５に示す処理では、モータ１００の負荷状態が変化した場合に誤差が大きくなるため、対策が必要であることが判明した。ここで、「負荷状態」とは、ロータの回転速度およびトルクの組み合わせによって定まる動作状態を意味する。トルクは、ｄ軸電流およびｑ軸電流の組み合わせによって決まる。このため、「負荷状態」は、ロータの回転速度と、ｄ軸電流およびｑ軸電流との組み合わせによって定まる動作状態であるともいえる。以下、負荷状態が変化することによって温度推定の誤差が大きくなる課題を、図６Ａおよび図６Ｂを参照しながら説明する。
【００４５】
図６Ａは、ロータの回転速度が一定で、トルクが時間的に変化する状況下での、巻線温度の測定値および推定値の時間変化の一例を示している。図６Ｂは、トルクが一定で、ロータの回転速度が時間的に変動する状況下での、巻線温度の測定値および推定値の時間変化の一例を示している。ここで、測定値は、温度センサを用いて測定した巻線の温度である。推定値は、図５に示す方法によって計算した温度である。図６Ａおよび図６Ｂに示されるように、負荷状態が変化した場合、式（５）を用いて計算した巻線抵抗Ｒｗから推定した巻線温度は、実際の温度から大きく乖離する。このような乖離が生じる主な理由は、負荷状態の変化に伴い、モータ１００の制御パラメータが大きく変化し、式（５）のように時間微分項を無視した式では誤差が大きくなるからであると考えられる。
【００４６】
そこで、本実施形態では、図５の方法に代わる新たな温度推定方法が適用される。本実施形態における温度推定器３５０は、複数の巻線の電気抵抗および温度を推定する処理（サイクル）を繰り返す。各回の処理は、以下の（１）から（４）の工程（ステップ）を含む。
【００４７】
（１）複数の巻線の電気抵抗と、ロータの回転の制御に用いられる一群のパラメータ（電圧Ｖｑ、電流Ｉｄ、Ｉｑ、およびロータ速度ωｅを含む）との間の関係を規定する式に基づいて、複数の巻線の仮の電気抵抗Ｒｗを計算する。
【００４８】
（２）仮の電気抵抗Ｒｗと前回推定した電気抵抗との差（抵抗差）を計算する。
【００４９】
（３）計算された抵抗差の積算値を、推定された電気抵抗の初期値に加算することにより、電気抵抗を推定する。ここで、計算された抵抗差のうち、閾値を超える抵抗差は、前記積算値から除外される。
【００５０】
（４）推定された電気抵抗に基づいて、複数の巻線の温度を推定する。
以下、この温度推定方法の詳細を説明する。
【００５１】
図７は、本実施形態における温度推定処理の基本的な流れを示すフローチャートである。本実施形態における温度推定器３５０は、以下の処理を繰り返し実行することにより、所定の時間（例えば１秒）ごとに巻線温度を推定する。すなわち、温度推定器３５０の処理は、以下に説明する各ステップを含む。
【００５２】
ステップＳ２１０：温度推定器３５０は、ＲＡＭ３８０から、パラメータＶｑ、Ｉｄ、Ｉｑ、およびωｅを取得する。パラメータＶｑは、図２に示す電圧指令値Ｖｑ*と同一である。各パラメータは、その時点での値であってもよいが、例えば前回の温度推定時から今回の温度推定までの間に計算された各パラメータの値を平均化した値であってもよい。平均化を行うことにより、計算結果に含まれるノイズを低減できる。平均化を行う場合の処理の例については、後述する。
【００５３】
ステップＳ２２０：温度推定器３５０は、式（５）に基づいて、仮の巻線抵抗Ｒｗを計算する。温度推定器３５０は、式（５）に代えて、式（４）などの他の式を用いてもよい。
【００５４】
ステップＳ２３０：温度推定器３５０は、今回計算したＲｗと、前回決定（推定）したＲｗとの間の差ΔＲｗ（抵抗差）を計算する。ここで、前回推定したＲｗは、式（５）に基づいて計算した値であるとは限らず、前回の処理において、最終的に決定した巻線抵抗Ｒｗの推定値である。
【００５５】
ステップＳ２４０：温度推定器３５０は、抵抗差ΔＲｗが、予め設定された閾値を超えるか否かを判断する。ΔＲｗが当該閾値を超える場合、ステップＳ２５０に進む。ΔＲｗが当該閾値を超えない場合、ステップＳ２６０に進む。
【００５６】
ステップＳ２５０：温度推定器３５０は、ΔＲｗを０に設定して、ステップＳ２６０に進む。
【００５７】
ステップＳ２６０：温度推定器３５０は、これまでの抵抗差ΔＲｗの積算値ΣΔＲｗを初期値Ｒｗ０に加算した値（Ｒｗ０＋ΣΔＲｗ）を、今回のＲｗとして決定する。初期値Ｒｗ０は、例えば初回の処理時に、式（５）に基づいて計算したＲｗであり得る。Ｒｗ０＋ΣΔＲｗの演算によって計算したＲｗが、今回の巻線抵抗の推定値として処理される。
【００５８】
ステップＳ２７０：温度推定器３５０は、式（１）に基づき、ステップＳ２６０において推定したＲｗから巻線温度Ｔｗを算出（推定）する。
【００５９】
ステップＳ２８０：温度推定器３５０は、所定時間が経過するまで待機し、所定時間が経過した後、ステップＳ２１０に戻る。
【００６０】
本実施形態の処理は、式（５）に基づいて計算されるＲｗをそのまま巻線抵抗の推定値とするのではない点で、図５に示す処理とは異なっている。本実施形態では、前回推定されたＲｗと今回計算したＲｗとの差ΔＲｗを、前回推定されたＲｗに加算した値が、巻線抵抗の推定値となる。ただし、抵抗差ΔＲｗがある閾値を超える場合には、ΔＲｗ＝０として処理される。すなわち、ΔＲｗが閾値を超える場合、そのΔＲｗは無視される。その結果、前回推定されたＲｗと同じ値が、今回の巻線抵抗の推定値として処理される。そのように処理される理由は、ΔＲｗが大きい場合、負荷状態が急に変化した可能性が高く、式（５）に基づいて計算されたＲｗの値の信頼性が低いと考えられるからである。このような処理により、温度推定器３５０は、負荷状態の変動の影響を抑制して、より正確に温度を推定できる。本実施形態のように、ΔＲｗを積算することによって巻線の電気抵抗を求める方法を、本明細書では差分法（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｍｅｔｈｏｄ）と称することがある。
【００６１】
図７に示す例では、ＭＣＵ３００は、負荷状態の変化を、ΔＲｗと閾値との比較結果に基づいて検出している。しかし、ＭＣＵ３００は、負荷状態の変化を、他の方法によって検出してもよい。例えば、ＭＣＵ３００は、電流およびロータ速度のような、負荷状態を決める少なくとも１つのパラメータの時間変化に基づいて、負荷状態の変化を検出してもよい。負荷状態の変化が検出されたときに計算された抵抗差ΔＲｗは、積算値から除外される。一例として、温度推定器３５０の処理が、ΔＲｗに加えて、ｑ軸電流Ｉｑまたはロータ速度ωｅの現在の値と前回の値との差が閾値を超えるときに計算された抵抗差を、積算値からさらに除外する処理を含む例を説明する。
【００６２】
図８は、本実施形態の温度推定器３５０による処理の他の例を示すフローチャートである。図８に示すフローチャートは、図７に示すフローチャートと比べて、ステップＳ２３０およびＳ２４０が、それぞれステップＳ２３０’およびＳ２４０’に置き換わった点のみが異なる。温度推定器３５０は、ステップＳ２３０’において、Ｒｗ、Ｉｑ、ωｅのそれぞれについて、今回の値と前回の値との差ΔＲｗ、ΔＩｑ、Δωｅを算出する。そして、ステップＳ２４０’において、温度推定器３５０は、ΔＲｗ、ΔＩｑ、Δωｅの少なくとも１つが、それぞれの閾値を超えるか否かを判定する。ΔＲｗ、ΔＩｑ、Δωｅの少なくとも１つが、それぞれの閾値を超える場合には、ステップＳ２５０において、温度推定器３５０は、ΔＲｗを０に設定してステップＳ２６０に進む。温度推定器３５０は、ΔＲｗ、ΔＩｑ、Δωｅの全てが、それぞれの閾値を超えない場合には、ステップＳ２６０に進む。以後の動作は、図７に示す動作と同じである。
【００６３】
図８に示される例では、ΔＲｗだけでなく、ΔＩｑおよびΔωｅの大きさも考慮して、負荷状態の変化が検出される。このため、ΔＲｗが閾値を下回っていたとしても、ΔＩｑまたはΔωｅが大きい場合には、そのΔＲｗは前回の抵抗の推定値に加算されない。このような動作により、温度推定の正確度がさらに向上する。
【００６４】
上記の例に限定されず、温度推定器３５０は、仮の巻線抵抗Ｒｗを計算するために使用される一群のパラメータの少なくとも１つに基づいて負荷状態の変化を検出することができる。温度推定器３５０は、負荷状態の変化を検出した場合には、抵抗差ΔＲｗを積算値から除外することにより、誤差を抑制することができる。
【００６５】
次に、本実施形態による差分法の変形例を説明する。
【００６６】
図９は、仮の巻線抵抗Ｒｗの計算に用いられる一群のパラメータのそれぞれを時間的に平均化して使用する処理の例を示すフローチャートである。ここで、巻線温度が推定される周期を第１の周期Ｔ１、一群のパラメータが計算される周期を第２の周期Ｔ２とする。第１の周期Ｔ１は、第２の周期Ｔ２よりも長い。温度推定器３５０は、第１の周期にわたって各パラメータの平均値を求め、各パラメータの平均値を用いて、仮の電気抵抗Ｒｗを計算する。第２の周期Ｔ２は、本実施形態においては、ＦＯＣアルゴリズムに従って各パラメータが計算される周期であり、例えば１００マイクロ秒程度の短い時間であり得る。これに対し、第１の周期Ｔ１は、例えば第２の周期Ｔ２の１００００倍程度（１秒程度）であり得る。巻線温度は時間的にそれほど急には変化しないため、計算量を抑えるために、各パラメータの計算周期よりも低い頻度で計算され得る。第１の周期Ｔ１は、例えば、１０ミリ秒から５秒程度に設定され得る。第２の周期Ｔ２は、例えば、２０マイクロ秒から５００マイクロ秒程度に設定され得る。ただし、周期Ｔ１およびＴ２は、これらの数値範囲に限定されない。
【００６７】
図９に示す例では、第２の周期Ｔ２で計算された各パラメータの値は、計算の都度、ＲＡＭ３８０に記録される。本変形例における各回の温度推定処理は、図９に示されるステップＳ３１０〜Ｓ３９０を含む。まず、温度推定器３５０は、ＲＡＭ３８０から第２の周期Ｔ２ごとに記録されたパラメータＶｑ、Ｉｄ、Ｉｑ、ωｅの値を取得する（ステップＳ３１０）。第１の周期Ｔ１が第２の周期Ｔ２の１００００倍である場合、各パラメータの値の数は１００００個である。温度推定器３５０は、各パラメータの平均値を算出する（ステップＳ３２０）。例えば、温度推定器３５０は、各パラメータが１００００回計算される毎に温度推定を１回行う場合には、各パラメータの１００００回分の値を平均化する。温度推定器３５０は、各パラメータの平均値を用いて、式（５）に基づき、仮の巻線抵抗Ｒｗを算出する（ステップＳ３３０）。以降のステップＳ３４０からＳ３９０は、それぞれ、図７に示すステップＳ２３０からＳ２８０と同様である。なお、図９のステップＳ３９０における「第１の周期Ｔ１」は、図７のステップＳ２８０における「所定時間」と同じである。
【００６８】
図９に示す例では、各パラメータを第１の周期にわたって平均化した値を用いて仮の巻線抵抗Ｒｗが計算される。これにより、ノイズを低減し、信号雑音比（ＳＮ比）を向上させることができる。
【００６９】
図９に示す例では、図７に示す例と同様に、ステップＳ３４０およびＳ３５０において、ΔＲｗの大きさに基づいて負荷状態の変化が検出される。この例に限定されず、例えば図８に示す例のように、ΔＲｗ、ΔＩｑ、Δωｅの少なくとも１つの大きさに基づいて負荷状態の変化を検出してもよい。
【００７０】
図１０は、本実施形態の他の変形例を示すフローチャートである。図１０に示す処理は、ステップＳ２２０の後にステップＳ４１０およびＳ４２０が追加されている点で、図７に示す処理と異なる。それ以外の点は、図７に示す処理と同じである。図１０の例では、温度推定器３５０は、巻線の電気抵抗を推定する各回の処理において、一群のパラメータに基づいて、負荷状態が基準の状態に類似しているか否かを決定する。温度推定器３５０は、負荷状態が当該基準の状態に類似しているとき、計算した仮の巻線抵抗Ｒｗを、今回の巻線抵抗Ｒｗとして決定（推定）する。さらに、温度推定器３５０は、巻線抵抗の初期値Ｒｗ０を、今回の仮の電気抵抗Ｒｗの値で更新する。この更新動作を、本明細書では、「リセット」と称する。
【００７１】
より具体的には、温度推定器３５０は、負荷状態が基準の状態に類似しているか否かを、トルクＴおよびロータ速度ωｅの値に基づいて判断する。トルクＴに代えて、例えばｑ軸電流Ｉｑの値などの他のパラメータに基づいて判断してもよい。図１０の例において、温度推定器３５０は、トルクＴが参照値Ｔｒｅｆに一致し、ロータ速度ωｅが参照値ωｒｅｆに一致しているかを判断する（ステップＳ４１０）。ここで「一致」とは、差分が十分に小さいことを意味する。例えば差分がある閾値よりも小さければ、一致（または類似）していると判断される。温度推定器３５０は、トルクＴおよびロータ速度ωｅがそれぞれの参照値に類似していると判断した場合、計算した仮の巻線抵抗Ｒｗを、今回の巻線抵抗として決定する。さらに、温度推定器３５０は、仮の巻線抵抗の値で初期値Ｒｗ０を更新する（ステップＳ４２０）。以後の処理では、更新された初期値Ｒｗ０を用いて、巻線抵抗および巻線温度が推定される。
【００７２】
以上のように、本変形例では、巻線の電気抵抗を推定するステップは、一群のパラメータに基づいて、負荷状態が基準の状態に類似しているか否かを決定するステップＳ４１０と、負荷状態が基準の状態に類似しているとき、計算された仮の電気抵抗を、今回の電気抵抗の推定値とし、電気抵抗の初期値を、仮の電気抵抗の値で更新するステップＳ４２０とを含む。
【００７３】
本実施形態における差分法では、毎回の処理において、巻線抵抗の初期値Ｒｗ０に抵抗差ΔＲｗが加算されていくため、誤差が蓄積され易い。このため、図１０に示す例のように、負荷状態が基準の状態に類似しているときには、そのときの抵抗Ｒｗの値で初期値をリセットすることが有効である。リセット動作により、ノイズの蓄積を抑制し、温度推定をさらに正確に行うことができる。なお、図１０に示すリセット動作は、図７に示す動作に限らず、図８または図９などの他の動作と組み合わせてもよい。
【００７４】
次に、図１１Ａおよび図１１Ｂを参照しながら、本実施形態の効果を説明する。
【００７５】
図１１Ａは、負荷状態が変化する状況下で、図５に示す方法（比較例）で巻線温度を推定した実験結果を示す図である。図１１Ｂは、同じ状況下で、図７に示す方法（差分法）で巻線温度を推定した実験結果を示す図である。図１１Ａおよび図１１Ｂには、温度センサを用いて巻線温度を測定した結果も示されている。本実験では、モータのトルク（単位：ｍＮｍ）および単位時間当たりの回転数（単位：ＲＰＭ）、並びにモータを冷却するファンのＯＮ／ＯＦＦを変化させながら、巻線温度を図５および図７の各方法で推定し、かつ、温度センサで測定した。図１１Ａからわかるように、図５に示す比較例の方法では、モータの負荷状態（トルクまたは回転速度）が変化すると、温度の推定値が測定値から大きく乖離する。これに対して、図７に示す差分法を用いた場合には、図１１Ｂに示すように、測定値からの乖離が抑制されている。この結果から、本実施形態における差分法の有効性が確認できた。
【００７６】
以上のように、本実施形態におけるモータのステータにおける複数の巻線の温度を推定する方法は、複数の巻線の電気抵抗および温度を推定する処理を繰り返すステップを含む。当該処理は、以下の（１）から（５）のステップを含む。
（１）電気抵抗と、前記ロータの回転の制御に用いられる、電圧、電流、およびロータ速度を含む一群のパラメータとの間の関係を規定する式に基づいて、複数の巻線の仮の電気抵抗を計算するステップ。
（２）仮の電気抵抗と前回推定した電気抵抗との抵抗差を計算するステップ。
（３）一群のパラメータに基づいて、負荷状態の変化を検出するステップ。
（４）計算された抵抗差の積算値を、推定された前記電気抵抗の初期値に加算することにより、電気抵抗を推定するステップ。
ここで、計算された抵抗差のうち、負荷状態の変化が検出されたときに計算された抵抗差は、積算値から除外される。
（５）推定された電気抵抗に基づいて、複数の巻線の温度を推定するステップ。
【００７７】
以上の処理により、モータの負荷状態が変化した場合であっても、高い正確度でステータ巻線の温度を推定することができる。
【００７８】
（実施形態２）  次に、本開示の第２の実施形態を説明する。本実施形態におけるモータモジュールの構成は、実施形態１における構成と同様である。本実施形態では、巻線抵抗を推定する際に使用されるアルゴリズムが実施形態１とは異なっている。以下、実施形態１と異なる点を説明する。
【００７９】
本実施形態における温度推定器３５０は、各回の処理において、以下の式に基づいて、ステータにおける複数の巻線の電気抵抗を推定する。
【数６】
2018016448.tif 000008
ここで、ｆ（Ｉｑ，ωｅ）は、Ｉｑおよびωｅの関数である。
【００８０】
本実施形態では、実施形態１における差分法に代えて、または差分法に加えて、式（６）を用いて巻線抵抗が算出される。式（６）の右辺には、式（５）の右辺にはないオフセット項ｆ（Ｉｑ，ωｅ）が追加されている。ｑ軸電流Ｉｑおよび電気角速度ωｅに依存するこのオフセット項を導入することにより、負荷状態の変動による誤差を抑制することができる。本明細書では、本実施形態のようにオフセット項を導入した式を用いて巻線抵抗を推定する方法を、オフセット法（Ｏｆｆｓｅｔ  Ｍｅｔｈｏｄ）と称することがある。
【００８１】
本発明者らの検討によれば、オフセット項ｆ（Ｉｑ，ωｅ）は、α（ωｅ−ω０）のように表すことができる。ここで、αは、Ｉｑおよびωｅに依存するパラメータであり、ω０は、基準状態（例えば室温の状態）におけるロータの電気角速度である。パラメータαを適切に設定することにより、負荷の変動の影響を抑制することができる。
【００８２】
パラメータαは、より詳細には、以下の式（７）から決定される。
【数７】
2018016448.tif 000009
ここで、Ｃ１、Ｃ２、Ｃ３、ｋ１、ｋ２、ｋ３、ｋ４は、実験などによって決定される定数である。これらの定数を適切な値に設定することにより、オフセット項の正確度を高めることができる。
【００８３】
図１２は、本実施形態における温度推定処理の例を示すフローチャートである。本実施形態における温度推定処理は、図１２に示されるステップＳ６１０〜Ｓ６４０の処理を含む。温度推定器３５０は、ステップＳ６１０において、パラメータＶｑ、Ｉｄ、Ｉｑ、ωｅをＲＡＭ３８０から取得する。温度推定器３５０は、ステップＳ６２０において、式（６）に基づいて、巻線抵抗Ｒｗを算出する（ステップＳ６２０）。温度推定器３５０は、ステップＳ６３０において、実施形態１と同様に、式（１）に基づいて、巻線温度Ｔｗを算出する。温度推定器３５０は、ステップＳ６４０において、所定時間（前述の第１の周期に相当）が経過するまで待機し、当該時間の経過後、再びステップＳ６１０を実行する。以上の処理により、負荷状態が変化した場合でも、温度推定をより正確に行うことができる。
【００８４】
図１３は、本実施形態における効果を示すグラフである。図１３は、巻線温度の推定値および測定値の時間変化の一例を示している。推定値は、図１２に示す方法で推定した巻線温度の値であり、測定値は、温度センサで測定した温度である。図１３からわかるように、誤差が概ね１５％以内に収まっている。図１１Ａの結果と比較すれば、本実施形態のけるオフセット法により、誤差を大幅に低減できることがわかる。
【００８５】
このように、オフセット法によれば、巻線抵抗および巻線温度の推定の誤差を低減することができる。しかし、図１３に示すように、負荷状態が変化する瞬間では、誤差が大きくなる。この誤差を抑制するためには、実施形態１で説明した差分法を利用すればよい。
【００８６】
図１４は、オフセット法と差分法とを組み合わせた例を示すフローチャートである。図１４の処理は、ステップＳ７２０を除き、図７に示す処理と同じである。図７におけるステップＳ２２０が、ステップＳ７２０に置換されている。ステップＳ７２０において、温度推定器３５０は、式（５）ではなく式（６）に基づいて、仮の巻線抵抗Ｒｗを算出する。図１４に示される処理により、実施形態１における差分法の効果に加えて、本実施形態におけるオフセット法の効果を得ることができる。その結果、誤差をさらに低減することができる。
【００８７】
図１５Ａおよび図１５Ｂは、図１４に示す温度推定方法の効果を示している。図１５Ａは、図１２に示すオフセット法のみを用いて推定した巻線温度の時間変化の一例を示している。図１５Ｂは、図１４に示すオフセット法および差分法を組み合わせて推定した巻線温度の時間変化の一例を示している。オフセット法と差分法とを組み合わせることにより、負荷状態が変化した瞬間の誤差が大きく低減されることが確認された。
【００８８】
次に、本実施形態の変形例を説明する。本実施形態においても、実施形態１について説明した全ての変形例を適用できる。例えば、図８〜１０を参照しながら説明した変形例は、本実施形態においても適用できる。一例として、図８〜１０に示す変形例を組み合わせた例を説明する。
【００８９】
図１６は、本実施形態の変形例を示すフローチャートである。本変形例における温度推定処理は、図１６に示されるステップＳ８１０からＳ９１０の処理を含む。ステップＳ８１０およびＳ８２０は、それぞれ、図９に示すステップＳ３１０およびＳ３２０と同じである。温度推定器３５０は、第２の周期Ｔ２ごとに記録された各パラメータ（Ｖｑ、Ｉｄ、Ｉｑ、ωｅ）をＲＡＭ３８０から取得し、各パラメータの平均値を算出する。ステップＳ８３０において、温度推定器３５０は、各パラメータの平均値を用いて、式（６）から仮の巻線抵抗Ｒｗを算出する。ステップＳ８４０において、温度推定器３５０は、負荷状態が基準の状態に類似するか否かを、トルクＴと参照値Ｔｒｅｆとの比較、およびロータ速度ωｅと参照値ωｅｒｅｆとの比較によって判断する。温度推定器３５０は、負荷状態が基準の状態に類似する場合、ステップＳ８５０に進み、仮の巻線抵抗Ｒｗを今回のＲｗとして決定し、今回のＲｗで初期値Ｒｗ０を更新する。温度推定器３５０は、ステップＳ８５０の後、ステップＳ９００に進む。負荷状態が基準の状態に類似しない場合、温度推定器３５０は、ステップＳ８６０、Ｓ８７０、Ｓ８８０、Ｓ８９０、Ｓ９００、Ｓ９１０の動作を実行する。ステップＳ８６０、Ｓ８７０、Ｓ８８０、Ｓ８９０、Ｓ９００、Ｓ９１０の動作は、図８に示すステップＳ２３０’、Ｓ２４０’、Ｓ２５０、Ｓ２６０、Ｓ２７０、Ｓ２８０の動作と同様であるため、説明を省略する。
【００９０】
図１６に示す動作によれば、オフセット法および差分法による効果に加え、パラメータの平均化、リセット動作、および複数のパラメータの時間変化に基づく負荷状態の変化の検出の効果が得られる。このため、ＭＣＵ３００は、巻線温度をさらに正確に推定することができる。
【００９１】
次に、推定した巻線温度Ｔｗを利用した制御の例を説明する。
【００９２】
図１７は、モータモジュールによって実行される制御方法の一例を示すフローチャートである。当該制御方法は、図１７に示すステップＳ９６０からＳ９９０の処理を含む。ステップＳ９６０において、モータ制御回路２００は、ＦＯＣアルゴリズムに従ってモータ１００を制御する。この制御の具体例は、図２を参照しながら説明したとおりである。ステップＳ９７０において、温度推定器３５０は、上述したいずれかの方法で、ステータ巻線の温度Ｔｗを推定する処理を行う。モータ制御回路２００におけるＭＣＵ３００は、ステップＳ９８０において、推定した温度Ｔｗが閾値Ｔｔｈを超えているか否かを判断する。ＭＣＵ３００は、温度Ｔｗが閾値Ｔｔｈを超えている場合には、ステップＳ９９０に進み、モータ１００のロータ速度を減少させる。例えば、ＭＣＵ３００は、モータ１００を完全に停止させるか、ロータ速度をより低い値に設定する。より具体的には、ＭＣＵ３００は、インバータ回路４００における複数のスイッチング素子に供給する制御信号を調整してモータ１００のロータ速度を減少させる。ＭＣＵ３００は、推定した温度Ｔｗが閾値Ｔｔｈ以下である場合は、ステップＳ９６０に戻る。閾値Ｔｔｈは、例えば、モータ１００の仕様上、許容できる最大の温度に設定され得る。
【００９３】
以上の動作により、高温時にはモータ１００が停止または減速されるため、システムの信頼性を向上させることができる。
【００９４】
本開示の実施形態によれば、温度センサを用いることなく、ステータ巻線の温度を高い正確度で推定する温度センサレスモータモジュールを実現できる。このため、温度センサを搭載することが困難な用途においても、好適に利用できる。本開示の実施形態におけるモータモジュールは、例えば、ＵＡＶ（Ｕｎｍａｎｎｅｄ  Ａｅｒｉａｌ  Ｖｅｈｉｃｌｅ、所謂ドローン）、無人搬送車（ＡＧＶ）、もしくはロボットといった移動体、または、軸流ファンなどの任意の電動機器に好適に利用され得る。温度センサを用いることなく温度を正確に推定できるため、例えばＭＣＵなどの制御回路単独で、推定した温度に応じたインテリジェントな制御を行うことが可能である。一例として、制御回路が、通信によって外部のサーバコンピュータに機器の温度情報を送信し、サーバコンピュータが当該温度情報を蓄積して種々の目的に活用する、といった用途も可能である。
【産業上の利用可能性】
【００９５】
本開示の技術は、例えば永久磁石同期モータなどの交流モータにおけるステータ巻線の温度を推定する用途に適用できる。
【符号の説明】
【００９６】
１００・・・電気モータ、２００・・・モータ制御回路（モータ制御装置）、３００・・・コントローラ（ＭＣＵ）、３１０・・・Ａ−Ｄコンバータ、
３２０・・・Ｃｌａｒｋｅ変換モジュール、３２２・・・Ｐａｒｋ変換モジュール、３３１・・・ロータ速度推定器、３３２・・・ＰＩコントローラ（電流指令値決定）、３３３・・・ＰＩコントローラ（電圧指令値決定）、３３４・・・逆Ｐａｒｋ変換モジュール、３３５・・・ＳＶジェネレータ、３４０・・・ＰＷＭドライバ、３５０・・・温度推定器（温度推定装置）、３５２・・・巻線抵抗推定モジュール、３５４・・・巻線温度推定モジュール、３６０・・・ＣＰＵ、３７０・・・ＲＯＭ、３８０・・・ＲＡＭ、４００・・・インバータ回路、５００・・・電流センサユニット、６００・・・ロータ角度推定器
【図１Ａ】
2018016448.tif 000013
【図１Ｂ】
2018016448.tif 000014
【図２】
2018016448.tif 000015
【図３】
2018016448.tif 000016
【図４Ａ】
2018016448.tif 000017
【図４Ｂ】
2018016448.tif 000018
【図５】
2018016448.tif 000019
【図６Ａ】
2018016448.tif 000020
【図６Ｂ】
2018016448.tif 000021
【図７】
2018016448.tif 000022
【図８】
2018016448.tif 000023
【図９】
2018016448.tif 000024
【図１０】
2018016448.tif 000025
【図１１Ａ】
2018016448.tif 000026
【図１１Ｂ】
2018016448.tif 000027
【図１２】
2018016448.tif 000028
【図１３】
2018016448.tif 000029
【図１４】
2018016448.tif 000030
【図１５Ａ】
2018016448.tif 000031
【図１５Ｂ】
2018016448.tif 000032
【図１６】
2018016448.tif 000033
【図１７】
2018016448.tif 000034
【国際調査報告】
2018016448.tif 000035
2018016448.tif 000036
2018016448.tif 000037
2018016448.tif 000038