(57)【要約】【課題】従来のモータ制御装置では、フィードバック値として得られる測定電流値の精度が低い問題があった。【解決手段】本発明のモータ制御装置は、モータに与えられる三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する電流測定部と、測定電流値とモータのロータ回転角情報とに基づき三相交流電流のそれぞれに対して検出電流値を出力する電流推定部と、を有し、電流推定部は、三相交流電流を生成するインバータ回路に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、当該推定対象相に関して、駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値から算出される係数値と、前記モータのロータ回転角情報と、に基づき推定電流値を算出し、算出した推定電流値を推定対象相の検出電流値として出力する。【選択図】図７
2019161934.tif 000002
【特許請求の範囲】
【請求項１】
三相交流電流により駆動されるモータをフィードバック制御するモータ制御装置であって、
前記モータに与えられる三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する電流測定部と、
前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定部と、を有し、
前記電流推定部は、
前記三相交流電流を生成するインバータ回路に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、当該推定対象相に関して、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値から算出される係数値と、前記モータのロータ回転角情報と、に基づき推定電流値を算出し、算出した前記推定電流値を前記推定対象相の前記検出電流値として出力するモータ制御装置。
【請求項２】
前記電流測定部は、前記三相交流電流の各相に対応した３つの前記測定電流値を出力し、
前記電流推定部は、前記三相交流電流の各相に対応した３つの前記検出電流値を出力し、
前記モータ制御装置は、３つの前記検出電流値の総和が予め設定した異常判定閾値を超えた場合に前記モータに故障が発生したことを検出する故障検出部をさらに有する請求項１に記載のモータ制御装置。
【請求項３】
前記電流測定部は、前記三相交流電流のうちの２相に対応した２つの前記測定電流値を第１の測定電流値及び第２の測定電流値として出力し、
前記電流推定部は、前記第１の測定電流値及び前記第２の測定電流値に対応した第１の検出電流値及び第２の検出電流値を出力すると共に、前記第１の検出電流値を負にした値から前記第２の検出電流値を減算した値を第３の検出電流値として算出し、前記第１の検出電流値及び前記第２の検出電流値と共に前記第３の検出電流値を出力する請求項１に記載のモータ制御装置。
【請求項４】
前記電流推定部は、前記三相交流電流の相毎に、
前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値を、前記測定電流値が計測された時点の前記ロータ回転角情報の値で除することで前記係数値を算出し、
前記駆動パルスのデューティー比が前記動作切替閾値より低い期間は、前記測定電流値が入力される毎に前記係数値を更新する請求項１乃至３のいずれか１項に記載のモータ制御装置。
【請求項５】
前記三相交流電流のうち一相に対応する前記測定電流値を第１のロータ位置検出電流値、前記三相交流電流のうち他の一相に対応する前記測定電流値を第２のロータ位置検出電流値、とした場合、
前記電流推定部は、
前記第１のロータ位置検出電流値と前記第２のロータ位置検出電流値との関係が予め設定したロータ位置特徴点情報と一致したことに応じて前記ロータ位置特徴点情報に対応して決められたロータ回転角値を前記モータのロータ回転角を示すロータ回転角推定値として算出し、前記第１のロータ位置検出電流値を推定した前記ロータ回転角推定値により除して前記係数値を算出すると共に、前記第１のロータ位置検出電流値と前記第２のロータ位置検出電流値とそれぞれ前記検出電流値として出力する係数推定処理を行う請求項１乃至４のいずれか１項に記載のモータ制御装置。
【請求項６】
前記電流推定部は、前記三相交流電流を生成するインバータ回路に与える駆動パルスのデューティー比が予め設定した動作切替閾値より低い場合には前記測定電流値を前記検出電流値として出力する請求項１乃至５のいずれか１項に記載のモータ制御装置。
【請求項７】
プログラムを実行する演算部と、モータを駆動する三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する電流測定部と、を有し、前記モータをフィードバック制御するモータ制御装置の前記演算部で実行されるモータ制御プログラムであって、
前記モータ制御プログラムは、
前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定処理を行い、
前記電流推定処理において、
前記三相交流電流を生成するインバータ回路に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、当該推定対象相に関して、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値から算出される係数値と、前記モータのロータ回転角情報と、に基づき推定電流値を算出し、算出した前記推定電流値を前記推定対象相の前記検出電流値として出力するモータ制御プログラム。
【請求項８】
モータに与えられる三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する電流測定部と、前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定部と、を有するモータ制御装置のモータ制御方法であって、
前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定処理を行い、
前記電流推定処理において、
前記三相交流電流を生成するインバータ回路に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、当該推定対象相に関して、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値から算出される係数値と、前記モータのロータ回転角情報と、に基づき推定電流値を算出し、算出した前記推定電流値を前記推定対象相の前記検出電流値として出力するモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロータの回転角をフィードバックしてモータの回転制御を行うモータ制御装置、モータ制御プログラム及びモータ制御方法に関する。
【背景技術】
【０００２】
モータ制御では、モータを駆動する駆動電流をフィードバックすることでモータに関する様々な制御を行う。この制御の一例が特許文献１に開示されている。
特許文献１では、一例として、電流センサによって検出した３相電流値Ｉｕ，Ｉｖ，Ｉｗと外部から指令された電流指令値Ｉｄ＊，Ｉｑ＊とに基づいて３相交流モータを電流制御する際に、検出した３相電流値のうち、絶対値が最大になっている電流相を除いた残りの２相の電流値を用いて電流制御用の演算を行い、該演算結果に基づいて３相交流モータを制御する。また、特許文献１では、別の例として、３相電流値Ｉｕ，Ｉｖ，Ｉｗの合計が実質的にゼロとなることに着目して、電流センサの異常等のモータの異常を検出する（特許文献１の段落００４６等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１２１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
三相電流の電流値を検出する場合、インバータに設けた電流センス抵抗を用いて電流の三相電流の大きさを測定する。このとき、インバータはＰＷＭ（Pulse Width Modulation）信号を駆動信号として動作する。そして、三相電流の電流値を測定する場合、この駆動信号のデューティー比が高くなると電流値を正しく測定できないことがある。このような電流値の測定誤差が生じると、モータの制御処理或いは異常検出処理の精度が低下する問題がある。
【０００５】
本発明は、このような問題を解決するためになされたものであり、三相電流の電流値に基づくモータの制御に関する精度を向上させることを目的とするものである。
【課題を解決するための手段】
【０００６】
本発明にかかるモータ制御装置の第１の態様は、三相交流電流により駆動されるモータをフィードバック制御するモータ制御装置であって、前記モータに与えられる三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する電流測定部と、前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定部と、を有し、前記電流推定部は、前記三相交流電流を生成するインバータ回路に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、当該推定対象相に関して、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値から算出される係数値と、前記モータのロータ回転角情報と、に基づき推定電流値を算出し、算出した前記推定電流値を前記推定対象相の前記検出電流値として出力する。
【０００７】
上記第１の態様によれば、モータ制御装置は、電流値の誤計測の可能性が高くなる駆動パルスのデューティー比が高い時間に取得された測定電流値を、ロータ回転角情報と係数値に基づき推定した推定電流値に置き換えて検出電流値を生成する。これにより、第１の態様にかかるモータ制御装置では、その後の処理で利用される検出電流値の精度を向上させる。
【０００８】
また、本発明にかかるモータ制御装置の第２の態様では、前記電流測定部は、前記三相交流電流の各相に対応した３つの前記測定電流値を出力し、前記電流推定部は、前記三相交流電流の各相に対応した３つの前記検出電流値を出力し、前記モータ制御装置は、３つの前記検出電流値の総和が予め設定した異常判定閾値を超えた場合に前記モータに故障が発生したことを検出する故障検出部をさらに有する。
【０００９】
上記第２の態様によれば、モータ制御装置は、精度の高い３検出電流値に基づきモータの異常を高精度に検出することができる。
【００１０】
また、本発明にかかるモータ制御装置の第３の態様は、前記電流測定部が、前記三相交流電流のうちの２相に対応した２つの前記測定電流値を第１の測定電流値及び第２の測定電流値として出力し、前記電流推定部は、前記第１の測定電流値及び前記第２の測定電流値に対応した第１の検出電流値及び第２の検出電流値を出力すると共に、前記第１の検出電流値を負にした値から前記第２の検出電流値を減算した値を第３の検出電流値として算出し、前記第１の検出電流値及び前記第２の検出電流値と共に前記第３の検出電流値を出力する。
【００１１】
上記第３の態様によれば、モータ制御装置は、高精度の第１の検出電流値及び第２の検出電流値を生成し、これら検出電流に基づき第３の検出電流値を生成することで、２シャント構成のインバータ回路から得られた電流値から生成されるフィードバック電流に基づく高精度なモータ制御を行うことができる。
【００１２】
また、本発明にかかるモータ制御装置の第４の態様では、前記電流推定部が、前記三相交流電流の相毎に、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値を、前記測定電流値が計測された時点の前記ロータ回転角情報の値で除することで前記係数値を算出し、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間は、前記測定電流値が入力される毎に前記係数値を更新する。
【００１３】
上記第４の態様によれば、モータ制御装置は、測定電流値の取得サイクルに合わせて係数値が更新される。これにより、モータ制御装置は、最大値が変化する測定電流値に対して推定電流値の追従性を高めより高精度な推定電流値を算出することができる。
【００１４】
また、本発明にかかるモータ制御装置の第５の態様では、前記三相交流電流のうち一相に対応する前記測定電流値を第１のロータ位置検出電流値、前記三相交流電流のうち他の一相に対応する前記測定電流値を第２のロータ位置検出電流値、とした場合、前記電流推定部は、前記第１のロータ位置検出電流値と前記第２のロータ位置検出電流値との関係が予め設定したロータ位置特徴点情報と一致したことに応じて前記ロータ位置特徴点情報に対応して決められたロータ回転角値を前記モータのロータ回転角を示すロータ回転角推定値として算出し、前記第１のロータ位置検出電流値を推定した前記ロータ回転角推定値により除して前記係数値を算出すると共に、前記第１のロータ位置検出電流値と前記第２のロータ位置検出電流値とそれぞれ前記検出電流値として出力する係数推定処理を行う。
【００１５】
上記第５の態様によれば、モータ制御装置は、モータのロータ回転角を検出する角度センサから得られるロータ回転角情報の生成間隔、或いは、精度によらず、高精度かつ測定電流値の取得サイクルに合わせた係数値の算出を行うことができる。
【００１６】
また、本発明にかかるモータ制御装置の第６の態様では、前記電流推定部は、前記三相交流電流を生成するインバータに与える駆動パルスのデューティー比が予め設定した動作切替閾値より低い場合には前記測定電流値を前記検出電流値として出力する。
【００１７】
上記第６の態様によれば、モータ制御装置は、駆動パルスのデューティー比が予め設定した動作切替閾値より低い期間には電流測定部により測定された電流値を検出電流値とすることで、実際の測定電流値に基づく処理を行うことができる。
【００１８】
また、本発明にかかるモータ制御プログラムの一態様は、プログラムを実行する演算部と、モータを駆動する三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する電流測定部と、を有し、前記モータをフィードバック制御するモータ制御装置の前記演算部で実行されるモータ制御プログラムであって、前記モータ制御プログラムは、前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定処理を行い、前記電流推定処理において、前記三相交流電流を生成するインバータ回路に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、当該推定対象相に関して、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値から算出される係数値と、前記モータのロータ回転角情報と、に基づき推定電流値を算出し、算出した前記推定電流値を前記推定対象相の前記検出電流値として出力する。
【００１９】
上記モータ制御プログラムの一態様によれば、モータ制御プログラムは、電流値の誤計測の可能性が高くなる駆動パルスのデューティー比が高い時間に取得された測定電流値を、ロータ回転角情報と係数値に基づき推定した推定電流値に置き換えて検出電流値を生成する。これにより、本発明にかかるモータ制御プログラムでは、その後の処理で利用される検出電流値の精度を向上させる。
【００２０】
また、本発明にかかるモータ制御方法の一態様は、モータに与えられる三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する電流測定部と、前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定部と、を有するモータ制御装置のモータ制御方法であって、前記測定電流値と前記モータのロータ回転角情報とに基づき前記三相交流電流のそれぞれに対して検出電流値を出力する電流推定処理を行い、前記電流推定処理において、前記三相交流電流を生成するインバータ回路に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、当該推定対象相に関して、前記駆動パルスのデューティー比が前記動作切替閾値より低い期間に前記電流測定部が取得した前記測定電流値から算出される係数値と、前記モータのロータ回転角情報と、に基づき推定電流値を算出し、算出した前記推定電流値を前記推定対象相の前記検出電流値として出力する。
【００２１】
上記モータ制御方法の一態様によれば、電流値の誤計測の可能性が高くなる駆動パルスのデューティー比が高い時間に取得された測定電流値を、ロータ回転角情報と係数値に基づき推定した推定電流値に置き換えて検出電流値を生成する。これにより、本発明にかかるモータ制御方法では、その後の処理で利用される検出電流値の精度を向上させる。
【発明の効果】
【００２２】
本発明により、駆動電流の測定値から算出される検出電流値の精度を高めることで高い精度でモータ制御を行うモータ制御装置、モータ制御プログラム及びモータ制御方法を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１にかかるモータ制御システムのブロック図である。
【図２】実施の形態１にかかる制御用マイクロコントローラのブロック図である。
【図３】実施の形態１にかかるインバータ回路の回路図である。
【図４】実施の形態１にかかるインバータ回路に与えられる駆動パルスと電流測定電圧との関係を説明するタイミングチャートである。
【図５】実施の形態１にかかるモータ制御システムにおいて電流推定処理を行わない場合の検出電流値の波形と故障診断処理で想定される診断電流値の波形を示すタイミングチャートである。
【図６】実施の形態１にかかるモータ制御システムにおいて電流推定処理を行った場合の検出電流値の波形と故障診断処理で想定される診断電流値の波形を示すタイミングチャートである。
【図７】実施の形態１にかかるモータ制御システムにおける電流推定処理及び故障診断処理の流れを説明するフローチャートである。
【図８】実施の形態２にかかるモータ制御システムにおいてモータ回転角の推定処理を行うタイミングを説明するタイミングチャートである。
【図９】実施の形態２にかかるモータ制御システムにおける電流推定処理及び故障診断処理の流れを説明するフローチャートである。
【図１０】実施の形態３にかかるモータ制御システムのブロック図である。
【図１１】実施の形態３にかかるモータ制御システムにおいて電流推定処理を行う前と行った後の検出電流値の波形を示すタイミングチャートである。
【図１２】実施の形態３にかかるモータ制御システムにおける電流推定処理の流れを説明するフローチャートである。
【図１３】実施の形態４にかかるモータ制御システムにおいてモータ回転角の推定処理を行うタイミングを説明するタイミングチャートである。
【図１４】実施の形態４にかかるモータ制御システムにおける電流推定処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００２４】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００２５】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００２６】
実施の形態１
まず、図１に実施の形態１にかかるモータ制御システム１のブロック図を示す。図１に示すように、実施の形態１にかかるモータ制御システム１では、モータ制御装置１０を用いて３相モータ１２を制御する。こで、３相モータ１２を駆動するために大きな電力が必要になるため、モータ制御装置１０によりインバータ回路１１を駆動して、インバータ回路１１により３相モータ１２を駆動する駆動電流Ｉｕ、Ｉｖ、Ｉｗを生成する。
【００２７】
また、実施の形態１にかかるモータ制御システム１では、３相モータ１２に与える駆動電流の大きさ及び周期を回転速度に応じて変化させるために３相モータ１２のロータ回転角度情報を用いる。図１に示す実施の形態１にかかるモータ制御システム１では、角度センサ１５を用いて３相モータ１２のロータの回転角情報（以下、ロータ回転角情報）を得る。
【００２８】
さらに、実施の形態１にかかるモータ制御システム１では、電流センサ１３により駆動電流Ｉｕ、Ｉｖ、Ｉｗの電流値を測定して、この測定電流値によりモータ１２の回転異常を検出する故障検出処理を行う。なお、図１に示す例では、電流センサ１３とモータ制御装置１０との間にフィルタ１４が設けられている。フィルタ１４は、例えば、ローパスフィルタであり電流センサ１３から出力されるパルス状の測定信号を平滑して正弦波を出力する。
【００２９】
実施の形態１にかかるモータ制御システム１では、モータ制御装置１０における処理に特徴の１つを有する。そこで、図１では、モータ制御装置１０内で行われる処理を処理単位毎にブロックに分けたブロック図を示した。この処理ブロックは、それぞれ、モータ制御装置１０内に設けられる演算部で実行されるプログラムで行われる処理を表したものである。
【００３０】
図１に示すように、モータ制御装置１０は、差分成分生成部２１、制御処理部２２、２相３相変換処理部２３、キャリア変換処理部２４、第１のアナログデジタル変換処理部２５、速度変換処理部２６、第２のアナログデジタル変換処理部２７、電流推定部２８、故障検出部２９を有する。
【００３１】
差分成分生成部２１は、外部から与えられる目標速度指令値と角度センサ１５からフィードバックされるロータ回転角情報（例えば、ロータ電気角θ）から生成される現在速度値との差分を算出して、算出された差分値を制御処理部２２に与える。制御処理部２２は、差分成分生成部２１から与えられた差分値から２相電圧指令値（図１のｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｄ）を算出する。
【００３２】
２相３相変換処理部２３は、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑと、ロータ電気角θを用いて３相の電圧指令値（図１のＵ相電圧指令値Ｖｕ、Ｖ相電圧指令値Ｖｖ、Ｗ相電圧指令値Ｖｗ）を算出する。キャリア変換処理部２４は、Ｕ相電圧指令値Ｖｕ、Ｖ相電圧指令値Ｖｖ、Ｗ相電圧指令値Ｖｗに基づきＵ相、Ｖ相、Ｗ相のそれぞれに対応した駆動パルスを算出する。この駆動パルスは、各相毎に差動信号となるＰＷＭ（Pulse Width Modulation）信号である。
【００３３】
第１のアナログデジタル変換処理部２５は、角度センサ１５がアナログ信号として出力するロータ電気角信号をデジタル値に変換してロータ電気角θを出力する。速度変換処理部２６は、ロータ電気角θを現在速度値に変換する。
【００３４】
第２のアナログデジタル変換処理部２７は、例えば、電流測定部であって、モータに与えられる三相交流電流の少なくとも２つの電流値をそれぞれ測定電流値として測定する。第２のアナログデジタル変換処理部２７は、電流センサ１３が測定した電流値をデジタル値に変換してデジタル値で表される測定電流値を出力する。図１に示す実施の形態１にかかるモータ制御システム１では、第２のアナログデジタル変換処理部２７は、Ｕ相、Ｖ相、Ｗ相が含まれる３相分の測定電流値（図１の測定電流値Ｉｕ’、 測定電流値Ｉｖ’、 測定電流値Ｉｗ’）を出力する。
【００３５】
電流推定部２８は、測定電流値とモータのロータ回転角情報（例えば、ロータ電気角θ）とに基づき三相交流電流のそれぞれに対して検出電流値を出力する。図１に示す実施の形態１にかかるモータ制御システム１では、電流推定部２８は、Ｕ相、Ｖ相、Ｗ相が含まれる３相分の検出電流値（図１の検出電流値Ｉｕ’’、検出電流値Ｉｖ’’、検出電流値Ｉｗ’’）を出力する。
【００３６】
具体的には、電流推定部２８は、三相交流電流を生成するインバータ回路１１に与えられる駆動パルスのデューティー比が動作切替閾値以上となる相を推定対象相とし、推定対象相に関して、駆動パルスのデューティー比が動作切替閾値より低い期間に電流測定部（例えば、第２のアナログデジタル変換処理部２７）が取得した測定電流値から算出される係数値と、モータ１２のロータ電気角θと、に基づき推定電流値を算出し、算出した推定電流値を推定対象相の検出電流値として出力する。また、電流推定部２８は、三相交流電流を生成するインバータ回路１１に与える駆動パルスのデューティー比が予め設定した動作切替閾値より低い場合には測定電流値を検出電流値として出力する。なお、電流推定部２８において用いる動作切替閾値は、予めモータ制御装置１０内のメモリ等に記憶された値であり、駆動パルスのデューティー比は、キャリア変換処理部２４等から取得されるものである。図１では、キャリア変換処理部２４から電流推定部２８へのデューティー比情報の伝達経路は図１では省略されている。この電流推定部２８の処理についての詳細は後述する。
【００３７】
故障検出部２９は、３つの検出電流値（図１の検出電流値Ｉｕ’’、検出電流値Ｉｖ’’、検出電流値Ｉｗ’’）の総和が予め設定した異常判定閾値を超えた場合にモータ１２に故障が発生したことを検出する。故障検出部２９は、モータ１２の故障を検出した場合、図示しない上位のシステムに異常の発生を通知する等の予め決められた処理を行う。
【００３８】
ここで、モータ制御装置１０は、マイクロコントローラ等の半導体装置を用いる。このマイクロコントローラは、演算部と当該演算部が利用する周辺回路が含まれるものである。そこで、図２に実施の形態１にかかる制御用マイクロコントローラのブロック図を示す。図２に示すマイクロコントローラは、モータ制御装置１０の一例である。
【００３９】
図２に示すように、モータ制御装置１０は、演算部３０、タイマ３１ａ〜３１ｃ、バス３２、アナログデジタル変換回路３３ａ、３３ｂ、デジタルアナログ変換回路３４入出力インタフェース回路３５、ＲＡＭ３６、ＲＯＭ３７、ＰＬＬ回路３８を有する。
【００４０】
モータ制御装置１０は、ＰＬＬ回路３８で生成されるクロック信号に基づき回路ブロックを動作させる。そして、演算部３０は、３相モータ１２の制御及び故障検出処理を行うモータ制御プログラムを実行する。タイマ３１ａ〜３１ｃは、演算部３０で実行されるプログラムに基づきクロック信号を所定の設定でカウントする。駆動パルスはこのタイマの機能を利用して生成することもできる。
【００４１】
バス３２は、演算部３０とその他の回路ブロックとの間のデータの送受信を仲介する。アナログデジタル変換回路３３ａ、３３ｂは、入力されるアナログ信号のアナログ値（例えば当該信号の電圧値）に応じたデジタル値を出力して演算部３０に伝える。モータ制御装置１０では、アナログデジタル変換回路３３ａが第１のアナログデジタル変換処理部２５として動作し、アナログデジタル変換回路３３ｂが第２のアナログデジタル変換処理部２７として動作する。
【００４２】
デジタルアナログ変換回路３４は、演算部３０で生成されたデジタル値をアナログ値に変換して外部に出力する。入出力インタフェース回路３５はモータ制御装置１０と外部の装置との間でデータの送受信を行う入出力インタフェースである。モータ制御装置１０に与えられる目標速度指令値はこの入出力インタフェース回路３５を介してモータ制御装置１０に与えられる。ＲＡＭ３６は、演算部３０で行われる処理で用いられる。ＲＯＭ３７は、例えば、モータ制御プログラムが格納される。演算部３０は、モータ制御プログラムをＲＯＭ３７から読み出して実行する。
【００４３】
続いて、インバータ回路１１について詳細に説明する。そこで、図３に実施の形態１にかかるインバータ回路の回路図を示す。図３に示すように、インバータ回路１１は、Ｕ相、Ｖ相、Ｗ相の各相に対応したインバータ回路を有する。図３に示す例では、ＮＭＯＳトランジスタＭＮ＿ｕｕ、ＮＭＯＳトランジスタＭＮ＿ｕｌ、及び、電流センス抵抗Ｒｓ＿ｕにより、Ｕ相に対応するインバータ回路が構成される。ＮＭＯＳトランジスタＭＮ＿ｖｕ、ＮＭＯＳトランジスタＭＮ＿ｖｌ、及び、電流センス抵抗Ｒｓ＿ｖにより、Ｖ相に対応するインバータ回路が構成される。ＮＭＯＳトランジスタＭＮ＿ｗｕ、ＮＭＯＳトランジスタＭＮ＿ｗｌ、及び、電流センス抵抗Ｒｓ＿ｗにより、Ｗ相に対応するインバータ回路が構成される。
【００４４】
各相に対応するインバータ回路は回路構成が同じであるため、ここではＵ相に対応するうインバータ回路を例にインバータ回路の素子の接続関係について説明する。ＮＭＯＳトランジスタＭＮ＿ｕｕのドレインは電源配線ＶＤＤに接続される。ＮＭＯＳトランジスタＭＮ＿ｕｕのゲートには駆動パルスＳｄｕ＿ｐが入力される。ＮＭＯＳトランジスタＭＮｕｕのソースはＮＭＯＳトランジスタＭＮ＿ｕｌのドレインに接続される。ＮＭＯＳトランジスタＭＮ＿ｕｌのゲートには駆動パルスＳｄｕ＿ｎが入力される。ＮＭＯＳトランジスタＭＮｕｌのソースは電流センス抵抗Ｒｓ＿ｕを介して接地配線ＧＮＤに接続される。そして、ＮＭＯＳトランジスタＭＮ＿ｕｕのソースとＮＭＯＳトランジスタＭＮ＿ｕｌのドレインとを接続するノードから駆動電流Ｉｕが出力される。また、ＮＭＯＳトランジスタＭＮ＿ｕｌのソースと電流センス抵抗Ｒｓ＿ｕとを接続するノードから電流測定電圧Ｖｉ＿ｕが出力される。
【００４５】
このインバータ回路は、駆動パルスＳｄｕ＿ｐがハイレベル、かつ、駆動パルスＳｄｕ＿ｎがロウレベルの期間に流出電流Ｉｐを出力し駆動電流Ｉｕの電流量を増加させる。一方、インバータ回路は、駆動パルスＳｄｕ＿ｐがロウレベル、かつ、駆動パルスＳｄｕ＿ｎがハイレベルの期間に引き込み電流Ｉｎを引き込み駆動電流Ｉｕの電流量を低下させる。ここで、インバータ回路では、駆動パルスＳｄｕ＿ｐのデューティー比が高い状態で電流測定電圧Ｖｉ＿ｕの電圧変化が小さくなり、測定電流値Ｉｕ’の波形に欠けが生じる問題が生じる。そこで、この電流波形の欠けについて以下で説明する。
【００４６】
図４に実施の形態１にかかるインバータ回路に与えられる駆動パルスと電流測定電圧との関係を説明するタイミングチャートを示す。図４では、上段に駆動パルスのデューティー比が低い場合のタイミングチャートを示し、下段に駆動パルスのデューティー比が高い場合のタイミングチャートを示した。
【００４７】
図４に示すように、駆動パルスのデューティー比が低い場合、引き込み電流Ｉｎの電流が飽和するまで上昇するため、電流測定電圧Ｖｉは予め想定される電圧値まで上昇する。一方、駆動パルスのデューティー比が高い場合、ＮＭＯＳトランジスタＭＮ＿ｕｌがオンしている期間が短く引き込み電流Ｉｎが飽和するほど大きくはならず、電流測定電圧Ｖｉ＿ｕの電圧変化が小さい。そのため、駆動パルスのデューティー比が高い場合、電流変化に対応する電圧変化を電流センサ１３が検出することが出来ず電流波形の欠けが生じる。
【００４８】
そこで、実施の形態１にかかるモータ制御システム１では、駆動パルスのデューティー比が予め設定した動作切替閾値以上のなる期間は、この期間の測定電流値を計算により推定した推定電流値で測定電流値を置き換えてその後の処理に用いる電流推定処理を行う。以下でこの電流推定処理についてより詳細に説明する。
【００４９】
まず、実施の形態１にかかるモータ制御システム１では、測定電流値に基づき３相モータ１２の回転異常を検出する故障検出処理を行う。そこで、この故障検出処理について説明する。駆動電流Ｉｕ、駆動電流Ｉｖ、駆動電流Ｉｗは、正常時であれば（１）式の関係を満たす。
Ｉｕ＋Ｉｖ＋Ｉｗ＝０  ・・・  （１）
【００５０】
ここで、駆動電流Ｉｕ、駆動電流Ｉｖ、駆動電流Ｉｗのいずれか１つに異常が生じると（１）式の関係を満たさなくなる。そこで、実施の形態１にかかるモータ制御システム１では、３相の駆動電流が（２）式の関係を満たさなくなった場合に故障と判定する。なお、（２）式のＥＲＲは、予め定めた判定閾値である。
｜Ｉｕ＋Ｉｖ＋Ｉｗ｜≧ＥＲＲ  ・・・  （２）
【００５１】
続いて、図５に実施の形態１にかかるモータ制御システムにおいて電流推定処理を行わない場合の検出電流値の波形と故障診断処理で想定される診断電流値の波形を示すタイミングチャートを示す。
【００５２】
図５に示すように、電流推定処理を行わない場合、駆動電流が大きくなる期間（つまり、駆動パルスのデューティー比が高くなる期間）に測定電流の波形に欠けが生じる。そのため、この欠けを含む測定電流に基づき（２）式に基づく故障診断を行うと本来は異常の無い部分で誤診断が生じる。この誤診断を避けるためには判定閾値ＥＲＲを大きく取る必要があるが、それは故障検出処理の精度を低下させる原因となる。そこで、実施の形態１にかかるモータ制御システム１では欠けが生じる期間の測定電流値を計算により算出される推定電流値で置き換えることで補完する。
【００５３】
続いて、図６に実施の形態１にかかるモータ制御システムにおいて電流推定処理を行った場合の検出電流値の波形と故障診断処理で想定される診断電流値の波形を示すタイミングチャートを示す。
【００５４】
図６に示すように、電流推定処理を行った場合、電流推定処理の後に生成される検出電流値の波形には図５に示したような欠けは生じない。そのため、この検出電流値に基づき故障検出処理を行った場合、図５に示したような誤診断は生じない。これにより、実施の形態１にかかるモータ制御システム１は、判定閾値ＥＲＲを小さくして故障検出の精度を向上させることができる。
【００５５】
続いて、実施の形態１にかかるモータ制御システム１にける電流推定処理及び故障検出処理の流れについて説明する。図７に実施の形態１にかかるモータ制御システムにおける電流推定処理及び故障診断処理の流れを説明するフローチャートを示す。なお、図７に示す例は、Ｕ相の駆動パルスのデューティー比が動作切替閾値よりも高い例を示した。他の相のデューティー比が動作切替閾値よりも高い場合は、ステップＳ５、ステップＳ６で推定される対象となる相が変化するのみであり実質的な処理に変わりはない。また、図７に示した処理は、駆動電流の１周期よりもはるかに短い所定の間隔で繰り返し行われるものである。
【００５６】
図７に示すように、実施の形態１にかかるモータ制御システム１では、まず、電流推定部２８が各相の駆動パルスのデューティー比ＤＴを計算する（ステップＳ１）。そして、電流推定部２８は、ステップＳ１の計算の結果、デューティー比が動作切替閾値よりも高いと判断された相がある場合はステップＳ５の処理を行い（ステップＳ２のＹＥＳの枝）、デューティー比が動作切替閾値より高いと判断された相がない場合はステップＳ３の処理を行う（ステップＳ２のＮＯの枝）。
【００５７】
ステップＳ３の処理では、電流推定部２８は、その時点で測定されている各相の測定電流をロータ回転角θ（ｓｉｎθ）で除して係数値Ａｕ、Ａｖ、Ａｗを算出する。このステップＳ３で算出された係数値Ａｕ、Ａｖ、Ａｗは、例えば、ＲＡＭ３６に格納される。その後電流推定部２８は、ステップＳ３の計算で用いた測定電流（例えば、測定電流値Ｉｕ’、 測定電流値Ｉｖ’、 測定電流値Ｉｗ’）をそれぞれ対応する相の検出電流値（例えば、検出電流値Ｉｕ’’、 検出電流値Ｉｖ’’、 検出電流値Ｉｗ’’）として故障検出部２９に出力する（ステップＳ４）。
【００５８】
一方、ステップＳ５の処理では、電流推定部２８は、ステップＳ３で算出された係数値Ａｕを用いて、その時点での推定電流値Ｉｕ＿ｅｓｔを算出する。このステップＳ５の計算では、係数値Ａｕにロータ回転角θ（ｓｉｎθ）を乗じた値を電流推定値Ｉｕ＿ｅｓｔとして算出する。その後、電流推定部２８は、ステップＳ５で計算対象としていないＶ相とＷ相に関しては測定電流値を検出電流値とし、ステップＳ５で計算対象としたＵ相に関しては推定電流値Ｉｕ＿ｅｓｔを検出電流値Ｉｕ’’として故障検出部２９に出力する（ステップＳ６）。
【００５９】
続いて、故障検出部２９では、ステップＳ４、又は、ステップＳ６で出力された検出電流値Ｉｕ’’、Ｉｖ’’、Ｉｗ’’を（２）式に適用して自己診断処理を行う（ステップＳ７）。この自己診断処理において（２）式を満たすと判断された場合、故障検出部２９は、モータ１２に回転異常は発生していないと判断する（ステップＳ８）。また、モータ制御システム１はモータ制御を継続する（ステップＳ９）。一方、自己診断処理において（２）式を満たさないと判断された場合、故障検出部２９は、モータ１２に回転異常が発生していると判定し（ステップＳ１０）、異常を上位システムに通知する。
【００６０】
なお、電流推定部２８は、三相交流電流の相毎に、駆動パルスのデューティー比が動作切替閾値より低い期間に電流測定部が取得した測定電流値を、測定電流値が計測された時点のロータ回転角情報の値で除することで係数値を算出し、駆動パルスのデューティー比が動作切替閾値より低い期間は、測定電流値が入力される毎に係数値を更新する。
【００６１】
上記説明より、実施の形態１にかかるモータ制御システム１では、駆動パルスのデューティー比が予め設定した動作切替閾値以上となる期間は、測定電流値に代えて係数値とロータ回転角θとから推定した推定電流値を用いた検出電流値を出力する。これにより、実施の形態１にかかるモータ制御システム１では、その後に行われる制御の精度を向上させる。
【００６２】
特に、実施の形態１にかかるモータ制御システム１では、検出電流値を用いて３相モータ１２の回転異常を検出する異常検出処理を行う。そのため、実施の形態１にかかるモータ制御システム１では、この異常検出処理の精度を高めることができる。
【００６３】
また、実施の形態１にかかるモータ制御システム１では、駆動パルスのデューティー比が予め設定した動作切替閾値以上となる期間は、測定電流値をそのまま検出電流値とする。これにより、実施の形態１にかかるモータ制御システム１は、実際の測定電流値に基づく処理を行うことができる。
【００６４】
実施の形態２
実施の形態２にかかるモータ制御システムでは、電流推定部２８における係数値Ａｕ、Ａｖ、Ａｗの算出方法の別の形態について説明する。具体的には、実施の形態２にかかる電流推定部２８では、係数値の算出において、角度センサ１５から得られるロータ回転角を用いずに、２つの相の測定電流値からロータ回転角θを推定し、推定したロータ回転角θを用いて係数値を算出する。
【００６５】
より具体的には、２つの相の測定電流値は、所定のロータ回転角θとなった時に所定の関係となることがわかっている。そこで、実施の形態２にかかる電流推定部２８は、２つの相の測定を満たした時に、ロータ回転角θの推定を行うことで、簡易な計算でロータ回転角θを推定する。
【００６６】
そこで、図８に実施の形態２にかかるモータ制御システムにおいてモータ回転角の推定処理を行うタイミングを説明するタイミングチャートを示す。図８に示す例では、Ｕ相の測定電流値Ｉｕ’とＶ相の測定電流値Ｉｖ’との関係に着目してロータ回転角θを推定する例である。また、図８に示す例では、Ｕ相の測定電流値Ｉｕ’とＶ相の測定電流値Ｉｖ’とが特徴的な値を取る８つのタイミングでロータ回転角θを推定する例を示したものである。
【００６７】
図８に示すように、Ｕ相の測定電流値Ｉｕ’とＶ相の測定電流値Ｉｖ’とが以下の（Ｔ１）〜（Ｔ８）関係を満たす時にロータ回転角θは所定の角度であると推定（ロータ回転角推定値θ＿ｅｓｔ）される。
（Ｔ１）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＞０、Ｉｖ’＞０：θ＿ｅｓｔ＝３０°
（Ｔ２）｜Ｉｖ’｜＝０かつＩｕ’＞０：θ＿ｅｓｔ＝６０°
（Ｔ３）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＞０、Ｉｖ’＜０：θ＿ｅｓｔ＝１２０°
（Ｔ４）｜Ｉｕ’｜＝０かつＩｖ’＞０：θ＿ｅｓｔ＝１８０°
（Ｔ５）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＜０、Ｉｖ’＜０：θ＿ｅｓｔ＝２１０°
（Ｔ６）｜Ｉｖ’｜＝０かつＩｕ’＜０：θ＿ｅｓｔ＝２４０°
（Ｔ７）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＜０、Ｉｖ’＞０：θ＿ｅｓｔ＝３００°
（Ｔ８）｜Ｉｕ’｜＝０かつＩｖ’＞０：θ＿ｅｓｔ＝３６０°
【００６８】
続いて、実施の形態２にかかるモータ制御システムにおける電流推定処理及び故障診断処理について説明する。図９に実施の形態２にかかるモータ制御システムにおける電流推定処理及び故障診断処理の流れを説明するフローチャートを示す。
【００６９】
図９に示すように、実施の形態２にかかるモータ制御システムにおける電流推定処理及び故障診断処理は、図７に示したフローチャートにステップＳ１１、Ｓ１２の処理を追加したものである。ステップＳ１１は、デューティー比が動作切替閾値以上となる駆動パルスがないと判断された後（ステップＳ２のＮＯの枝）に行われる処理である。ステップＳ１１では、測定電流値Ｉｕ’と測定電流値Ｉｖ’とが図８のＴ１〜Ｔ８で示した所定の条件を満たすか否かを判断する。ステップＳ１１において、測定電流値Ｉｕ’と測定電流値Ｉｖ’と所定の条件を満たさないと判断した場合、電流推定部２８は、ステップＳ４の処理を行うことで３相の検出電流値を出力する。
【００７０】
一方、ステップ１１において、測定電流値Ｉｕ’と測定電流値Ｉｖ’と所定の条件を満たすと判断した場合、電流推定部２８は、測定電流値Ｉｕ’と測定電流値Ｉｖ’とがＴ１〜Ｔ８のいずれの条件に合致しているかを判断してロータ回転角推定値θ＿ｅｓｔを算出する（ステップＳ１２）。そして、電流推定部２８は、ステップＳ１２で推定されたロータ回転角推定値θ＿ｅｓｔと測定電流値とを用いて係数値Ａｕ、Ａｖ、Ａｗを算出する（ステップＳ３）。
【００７１】
なお、実施の形態２においても推定電流値を算出するステップＳ５の処理では、角度センサ１５から得たロータ回転角θを用いて電流値の推定処理を行う。
【００７２】
上記説明より、実施の形態２にかかるモータ制御システム１では、三相交流電流（駆動電流Ｉｕ、駆動電流Ｉｖ、駆動電流Ｉｗ）のうち一相に対応する測定電流値を第１のロータ位置検出電流値、三相交流電流のうち他の一相に対応する測定電流値を第２のロータ位置検出電流値、とした場合に電流推定部２８が次の動作を行う。電流推定部２８は、第１のロータ位置検出電流値と第２のロータ位置検出電流値との関係が予め設定したロータ位置特徴点情報（例えば、図８のＴ１〜Ｔ８）と一致したことに応じてロータ位置特徴点情報に対応して決められたロータ回転角値をモータのロータ回転角を示すロータ回転角推定値θ＿ｅｓｔとして算出する。そして、電流推定部２８は、第１のロータ位置検出電流値を推定したロータ回転角推定値により除して係数値を算出すると共に、第１のロータ位置検出電流値と第２のロータ位置検出電流値とをそれぞれ検出電流値（例えば、検出電流値Ｉｕ’’、 検出電流値Ｉｖ’’）として出力する係数推定処理を行う。
【００７３】
実施の形態２では、ロータ回転角推定値の算出にロータ回転角θを用いない。角度センサ１５がロータ回転角θを出力するタイミングは、必ずしも測定電流値の取得タイミングと一致しない。そのため、角度センサ１５がロータ回転角θを係数値の算出処理に用いた場合、係数値の精度が低下するおそれがある。しかしながら、２相の測定電流値に基づきロータ回転角推定値を算出することで、計測電流値を取得したタイミングでのロータ回転角を得ることができるため、ロータ回転角推定値を用いて係数値を算出することで係数値を本来求めたい値に近づけ係数値に含まれる誤差成分を低減することができる。また、これにより、実施の形態２では、推定電流値の精度も向上する。
【００７４】
また、実施の形態２では、角度センサ１５から得られるロータ回転角θを係数値の算出には用いないために、角度センサ１５の精度或いはロータ回転角θの出力頻度をさげることができる。
【００７５】
なお、上記説明では、所定の条件を満たすか否かをＵ相とＶ相との測定電流値に対して判断したが、異なる２つの相を用いれば上記説明と同様な処理を行うことが可能である。つまり、検証する対象とする２つの測定電流としては、Ｖ相とＷ相、Ｕ相とＷ相も用いることが可能である。
【００７６】
実施の形態３
実施の形態３では、モータ制御システム３について説明する。実施の形態１、２で説明したモータ制御システムは、３相の測定電流値に基づき３相モータ１２の故障判定を行ったが、実施の形態３にかかるモータ制御システム３では、３相の測定電流のうち２相の測定電流を取得し、３相モータ１２を回転制御する際に取得した２相の測定電流をフィードバック信号とするものである。つまり、実施の形態３にかかるモータ制御システム３は、測定電流を故障検出ではなくモータの制御に用いる。
【００７７】
なお、実施の形態３の説明では、実施の形態１、２で説明した構成要素と同じ構成要素については実施の形態１、２と同じ符号を付して説明を省略する。
【００７８】
図１０に実施の形態３にかかるモータ制御システム３のブロック図を示す。図１０に示すように、実施の形態３にかかるモータ制御システム３は、差分成分生成部２１、制御処理部２２、電流推定部２８を差分成分生成部４１、制御処理部４２、電流推定部４３に置き換えたものである。また、実施の形態３にかかるモータ制御システム３は、実施の形態１にかかるモータ制御システム１の速度変換処理部２６を削除して、３相２相変換処理部４４を追加したものである。
【００７９】
差分成分生成部４１は、外部から与えられる目標ｑ軸電流指令値Ｉｑ及び目標ｄ軸電流指令値Ｉｄとモータ制御装置４０がフィードバック信号として取得した測定電流値から生成された現在ｑ軸電流指令値Ｉｑ及び目標ｄ軸電流指令値Ｉｄとの差分を算出して、算出された差分値を制御処理部４２に与える。制御処理部４２は、差分成分生成部４１から与えられた差分値から２相電圧指令値（図１０のｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｄ）を算出する。
【００８０】
そして、モータ制御装置４０は、インバータ回路１１が生成する駆動電流Ｉｕ、Ｉｖ、Ｉｗのうち２つの相に関する駆動電流Ｉｕ、Ｉｖを第２のアナログデジタル変換処理部２７が取得して、これらの駆動電流に対応する測定電流値として第１の測定電流値（例えば、測定電流値Ｉｕ’）、第２の測定電流値（例えば、測定電流値Ｉｖ’）を出力する。
【００８１】
電流推定部４３は、第１の測定電流値（例えば、測定電流値Ｉｕ’）及び第２の測定電流値（例えば、測定電流値Ｉｖ’）に対応した第１の検出電流値（例えば、検出電流値Ｉｕ’’）及び第２の検出電流値（例えば、検出電流値Ｉｖ’’）を出力する。また、電流推定部４３は、検出電流値Ｉｕ’’を負にした値から検出電流値Ｉｖ’’を減算した値を第３の検出電流値（例えば、検出電流値Ｉｗ’’）として算出し、検出電流値Ｉｕ’’、検出電流値Ｉｖ’’と共に検出電流値Ｉｗ’’を出力する。
【００８２】
３相２相変換処理部４４は、３相の検出電流値から現在の回転速度に対応する２相の現在電流指令値（図１０の現在ｄ軸電流指令値Ｉｄ及び現在ｑ軸電流指令値Ｉｄ）を算出する。
【００８３】
続いて、実施の形態３にかかるモータ制御システム３で用いられる計測電流値と検出電流値について説明する。そこで、図１１に実施の形態３にかかるモータ制御システム３において電流推定処理を行う前と行った後の検出電流値の波形を示すタイミングチャートを示す。
【００８４】
図１１に示すように、実施の形態３にかかるモータ制御システム３では、測定電流を取得しないＷ相の測定電流は、既知の測定電流値Ｉｕ’及び測定電流値Ｉｖ’を用いてＩｗ’＝−Ｉｕ’−Ｉｖ’との計算式を用いて補完する。ここで、実施の形態３にかかる電流推定処理を行わない場合、駆動パルスのデューティー比が低い期間に生じる測定電流値の欠けの影響が補完値として算出される測定電流値Ｉｗ’にも現れる。しかしながら、実施の形態３にかかる電流推定処理を行った後の検出電流値に基づきＷ相の検出電流値Ｉｗ’’を算出することでこのような波形の欠けは発生しない。
【００８５】
そこで、実施の形態３にかかる電流推定処理について説明する。図１２に実施の形態３にかかるモータ制御システム３における電流推定処理の流れを説明するフローチャートを示す。なお、図１２に示す例は、Ｕ相の駆動パルスのデューティー比が動作切替閾値よりも高い例を示した。他の相のデューティー比が動作切替閾値よりも高い場合は、ステップＳ２５、ステップＳ２６で推定される対象となる相が変化するのみであり実質的な処理に変わりはない。また、図１２に示した処理は、駆動電流の１周期よりもはるかに短い所定の間隔で繰り返し行われるものである。
【００８６】
図１２に示すように、実施の形態３にかかるモータ制御システム３では、まず、電流推定部４３がＵ相とＶ相の駆動パルスのデューティー比ＤＴを計算する（ステップＳ２１）。そして、電流推定部４３は、ステップＳ２１の計算の結果、デューティー比が動作切替閾値よりも高いと判断された相がある場合はステップＳ２５の処理を行い（ステップＳ２２のＹＥＳの枝）、デューティー比が動作切替閾値より高いと判断された相がない場合はステップＳ２３の処理を行う（ステップＳ２２のＮＯの枝）。
【００８７】
ステップＳ２３の処理では、電流推定部４３は、その時点で測定されているＵ相とＶ相の測定電流をロータ回転角θ（ｓｉｎθ）で除して係数値Ａｕ、Ａｖを算出する。このステップＳ２３で算出された係数値Ａｕ、Ａｖは、例えば、ＲＡＭ３６に格納される。その後電流推定部４３は、ステップＳ２３の計算で用いた測定電流（例えば、測定電流値Ｉｕ’、 測定電流値Ｉｖ’）を用いて対応する相の検出電流値（例えば、検出電流値Ｉｕ’’、 検出電流値Ｉｖ’’、検出電流値Ｉｗ’’）として故障検出部２９に出力する（ステップＳ２４）。ここで、検出電流値Ｉｗ’’は、Ｉｗ’’＝−Ｉｕ’’−Ｉｖ’’との式から算出される補完値である。
【００８８】
一方、ステップＳ２５の処理では、電流推定部４３は、ステップＳ２３で算出された係数値Ａｕを用いて、その時点での推定電流値Ｉｕ＿ｅｓｔを算出する。このステップＳ２５の計算では、係数値Ａｕにロータ回転角θ（ｓｉｎθ）を乗じた値を電流推定値Ｉｕ＿ｅｓｔとして算出する。その後、電流推定部４３は、ステップＳ２５で計算対象としていないＶ相に関しては測定電流値を検出電流値とし、ステップＳ２５で計算対象としたＵ相に関しては推定電流値Ｉｕ＿ｅｓｔを検出電流値Ｉｕ’’とし、Ｗ相に関してはＩｗ’’＝−Ｉｕ＿ｅｓｔ−Ｉｖ’’との式から算出される検出電流値Ｉｗ’’として、これら検出電流値を３相２相変換処理部４４に出力する（ステップＳ２６）。
【００８９】
その後、３相２相変換処理部４４は、電流推定部４３から与えられた３つの検出電流値を用いて現在ｑ軸電流指令値Ｉｑ及び目標ｄ軸電流指令値Ｉｄを算出し、モータ制御装置４０は、これらの値を用いて３相モータ１２の制御を行う。
【００９０】
なお、電流推定部４３は、三相交流電流の相毎に、駆動パルスのデューティー比が動作切替閾値より低い期間に電流測定部が取得した測定電流値を、測定電流値が計測された時点のロータ回転角情報の値で除することで係数値を算出し、駆動パルスのデューティー比が動作切替閾値より低い期間は、測定電流値が入力される毎に係数値を更新する。
【００９１】
上記説明より、実施の形態３にかかるモータ制御システム３では、３相モータ１２のフォードバック制御で用いる測定電流値の欠けを推定電流値を用いて補完して欠けのない検出電流値を生成する。そして、モータ制御システム３は、電流推定部４３で生成された２相の測定電流値に対応した２相の検出電流値を用いて３相目の検出電流値を生成する。これにより、実施の形態３にかかるモータ制御システム３では、欠けることのないフィードバック値に基づく高精度なモータ制御を行うことが可能になる。
【００９２】
実施の形態４
実施の形態４にかかるモータ制御システムでは、電流推定部４３における係数値Ａｕ、Ａｖの算出方法の別の形態について説明する。具体的には、実施の形態４にかかる電流推定部４３では、係数値の算出において、角度センサ１５から得られるロータ回転角を用いずに、２つの相の測定電流値からロータ回転角θを推定し、推定したロータ回転角θを用いて係数値を算出する。
【００９３】
より具体的には、２つの相の測定電流値は、所定のロータ回転角θとなった時に所定の関係となることがわかっている。そこで、実施の形態２にかかる電流推定部２８は、２つの相の測定を満たした時に、ロータ回転角θの推定を行うことで、簡易な計算でロータ回転角θを推定する。
【００９４】
そこで、図１３に実施の形態４にかかるモータ制御システムにおいてモータ回転角の推定処理を行うタイミングを説明するタイミングチャートを示す。図１３に示す例では、Ｕ相の測定電流値Ｉｕ’とＶ相の測定電流値Ｉｖ’との関係に着目してロータ回転角θを推定する例である。また、図８に示す例では、Ｕ相の測定電流値Ｉｕ’とＶ相の測定電流値Ｉｖ’とが特徴的な値を取る８つのタイミングでロータ回転角θを推定する例を示したものである。なお、Ｗ相の測定電流値Ｉｗ’は、Ｕ相の測定電流値Ｉｕ’とＶ相の測定電流値Ｉｖ’とを用いて計算された補完値である。
【００９５】
図１３に示すように、Ｕ相の測定電流値Ｉｕ’とＶ相の測定電流値Ｉｖ’とが以下の（Ｔ１）〜（Ｔ８）関係を満たす時にロータ回転角θは所定の角度であると推定（ロータ回転角推定値θ＿ｅｓｔ）される。
（Ｔ１）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＞０、Ｉｖ’＞０：θ＿ｅｓｔ＝３０°
（Ｔ２）｜Ｉｖ’｜＝０かつＩｕ’＞０：θ＿ｅｓｔ＝６０°
（Ｔ３）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＞０、Ｉｖ’＜０：θ＿ｅｓｔ＝１２０°
（Ｔ４）｜Ｉｕ’｜＝０かつＩｖ’＞０：θ＿ｅｓｔ＝１８０°
（Ｔ５）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＜０、Ｉｖ’＜０：θ＿ｅｓｔ＝２１０°
（Ｔ６）｜Ｉｖ’｜＝０かつＩｕ’＜０：θ＿ｅｓｔ＝２４０°
（Ｔ７）｜Ｉｕ’｜＝｜Ｉｖ’｜かつＩｕ’＜０、Ｉｖ’＞０：θ＿ｅｓｔ＝３００°
（Ｔ８）｜Ｉｕ’｜＝０かつＩｖ’＞０：θ＿ｅｓｔ＝３６０°
【００９６】
続いて、実施の形態４にかかるモータ制御システムにおける電流推定処理及び故障診断処理について説明する。図１４に実施の形態４にかかるモータ制御システムにおける電流推定処理の流れを説明するフローチャートを示す。
【００９７】
図１４に示すように、実施の形態４にかかるモータ制御システムにおける電流推定処理及び故障診断処理は、図１２に示したフローチャートにステップＳ３１、Ｓ３２の処理を追加したものである。ステップＳ３１は、デューティー比が動作切替閾値以上となる駆動パルスがないと判断された後（ステップＳ２２のＮＯの枝）に行われる処理である。ステップＳ３１では、測定電流値Ｉｕ’と測定電流値Ｉｖ’とが図１３のＴ１〜Ｔ８で示した所定の条件を満たすか否かを判断する。ステップＳ３１において、測定電流値Ｉｕ’と測定電流値Ｉｖ’と所定の条件を満たさないと判断した場合、電流推定部４３は、ステップＳ２４の処理を行うことで３相の検出電流値を出力する。
【００９８】
一方、ステップ３１において、測定電流値Ｉｕ’と測定電流値Ｉｖ’と所定の条件を満たすと判断した場合、電流推定部４３は、測定電流値Ｉｕ’と測定電流値Ｉｖ’とがＴ１〜Ｔ８のいずれの条件に合致しているかを判断してロータ回転角推定値θ＿ｅｓｔを算出する（ステップＳ３２）。そして、電流推定部４３は、ステップＳ３２で推定されたロータ回転角推定値θ＿ｅｓｔと測定電流値とを用いて係数値Ａｕ、Ａｖを算出する（ステップＳ２３）。
【００９９】
なお、実施の形態４においても推定電流値を算出するステップＳ２５の処理では、角度センサ１５から得たロータ回転角θを用いて電流値の推定処理を行う。
【０１００】
上記説明より、実施の形態４にかかるモータ制御システムでは、三相交流電流（駆動電流Ｉｕ、駆動電流Ｉｖ、駆動電流Ｉｗ）のうち一相に対応する測定電流値を第１のロータ位置検出電流値、三相交流電流のうち他の一相に対応する測定電流値を第２のロータ位置検出電流値、とした場合に電流推定部２８が次の動作を行う。電流推定部２８は、第１のロータ位置検出電流値と第２のロータ位置検出電流値との関係が予め設定したロータ位置特徴点情報（例えば、図８のＴ１〜Ｔ８）と一致したことに応じてロータ位置特徴点情報に対応して決められたロータ回転角値をモータのロータ回転角を示すロータ回転角推定値θ＿ｅｓｔとして算出する。そして、電流推定部２８は、第１のロータ位置検出電流値を推定したロータ回転角推定値により除して係数値を算出すると共に、第１のロータ位置検出電流値と第２のロータ位置検出電流値とをそれぞれ検出電流値（例えば、検出電流値Ｉｕ’’、検出電流値Ｉｖ’’）として出力する係数推定処理を行う。
【０１０１】
実施の形態４では、ロータ回転角推定値の算出にロータ回転角θを用いない。角度センサ１５がロータ回転角θを出力するタイミングは、必ずしも測定電流値の取得タイミングと一致しない。そのため、角度センサ１５がロータ回転角θを係数値の算出処理に用いた場合、係数値の精度が低下するおそれがある。しかしながら、２相の測定電流値に基づきロータ回転角推定値を算出することで、計測電流値を取得したタイミングでのロータ回転角を得ることができるため、ロータ回転角推定値を用いて係数値を算出することで係数値を本来求めたい値に近づけ係数値に含まれる誤差成分を低減することができる。また、これにより、実施の形態４では、推定電流値の精度も向上する。
【０１０２】
また、実施の形態４では、角度センサ１５から得られるロータ回転角θを係数値の算出には用いないために、角度センサ１５の精度或いはロータ回転角θの出力頻度をさげることができる。
【０１０３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０１０４】
１  モータ制御システム
３  モータ制御システム
１０  モータ制御装置
１１  インバータ回路
１２  ３相モータ
１３  電流センサ
１４  フィルタ
１５  角度センサ
２１  差分成分生成部
２２  制御処理部
２３  ２相３相変換処理部
２４  キャリア変換処理部
２５  第１のアナログデジタル変換処理部
２６  速度変換処理部
２７  第２のアナログデジタル変換処理部
２８  電流推定部
２９  故障検出部
３０  演算部
３１  タイマ
３２  バス
３３  アナログデジタル変換回路
３４  デジタルアナログ変換回路
３５  入出力インタフェース回路
３６  ＲＡＭ
３７  ＲＯＭ
３８  ＰＬＬ回路
４０  モータ制御装置
４１  差分成分生成部
４２  制御処理部
４３  電流推定部
４４  ３相２相変換処理部
ＭＮ  ＮＭＯＳトランジスタ
Ｒｓ  電流センス抵抗
Ｉｕ  駆動電流
Ｉｕ’  測定電流値
Ｉｕ’’  検出電流値
Ｉｖ  駆動電流
Ｉｖ’  測定電流値
Ｉｖ’’  検出電流値
Ｉｗ  駆動電流
Ｉｗ’  測定電流値
Ｉｗ’’  検出電流値
Ｓｄ  駆動パルス
Ｖｉ  電流測定電圧
Ｖｄ  ｄ軸電圧指令値
Ｖｑ  ｑ軸電圧指令値
Ｖｕ  Ｕ相電圧指令値
Ｖｖ  Ｖ相電圧指令値
Ｖｗ  Ｗ相電圧指令値
Ｉｄ  ｄ軸電流指令値
Ｉｑ  ｑ軸電流指令値
【図１】
2019161934.tif 000003
【図２】
2019161934.tif 000004
【図３】
2019161934.tif 000005
【図４】
2019161934.tif 000006
【図５】
2019161934.tif 000007
【図６】
2019161934.tif 000008
【図７】
2019161934.tif 000009
【図８】
2019161934.tif 000010
【図９】
2019161934.tif 000011
【図１０】
2019161934.tif 000012
【図１１】
2019161934.tif 000013
【図１２】
2019161934.tif 000014
【図１３】
2019161934.tif 000015
【図１４】
2019161934.tif 000016