(57)【要約】【課題】精度よくインバータの異常を検出することが可能なモータ駆動装置を提供することである。【解決手段】本発明にかかるモータ駆動装置１は、モータ１００の駆動を設定する制御指令値と、モータ１００に供給された駆動電力の電流値を含むフィードバック値と、を用いて、モータ１００をフィードバック制御するための制御信号を生成して出力するインバータ制御部１０と、インバータ制御部１０から出力された制御信号に応じてモータ１００に駆動電力を供給するインバータ１１と、インバータ１１の異常を検出する異常検出部３５と、を備える。異常検出部３５は、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの３相交流の電圧値の和が所定の電圧値よりも大きく、且つ、インバータ制御部１０に供給された制御指令値とフィードバック値との偏差が所定値未満である場合、インバータ１１が異常であると判定する。【選択図】図１
2018088730.tif 000002
【特許請求の範囲】
【請求項１】
３相交流で駆動するモータを駆動するモータ駆動装置であって、
前記モータの駆動を設定する制御指令値と、前記モータに供給された駆動電力の電流値、前記モータの回転速度、及び前記モータのトルク値のうちの少なくとも一つを含むフィードバック値と、を用いて、前記モータをフィードバック制御するための制御信号を生成して出力するインバータ制御部と、
前記インバータ制御部から出力された制御信号に応じて前記モータに駆動電力を供給するインバータと、
前記インバータの異常を検出する異常検出部と、を備え、
前記異常検出部は、前記モータに供給された前記駆動電力の３相交流の電圧値の和が所定の電圧値よりも大きく、且つ、前記インバータ制御部に供給された制御指令値と前記フィードバック値との偏差が所定値未満である場合、前記インバータが異常であると判定する、
モータ駆動装置。
【請求項２】
前記異常検出部は、前記インバータの異常を所定の回数検出した場合、前記インバータが故障であると判定する、請求項１に記載のモータ駆動装置。
【請求項３】
前記モータ駆動装置は更に、前記モータに供給された前記駆動電力の３相交流の電流値を検出する電流センサを備え、
前記インバータ制御部は、
前記電流センサで検出された前記３相交流の電流値に基づいて、前記フィードバック値である２相の電流値（Ｉｄ、Ｉｑ）を生成し、
前記２相の電流値（Ｉｄ、Ｉｑ）の各々と、当該２相の電流値（Ｉｄ、Ｉｑ）の制御指令値（Ｉｄ_ｒｅｆ、Ｉｑ_ｒｅｆ）の各々との偏差を用いて、前記モータをフィードバック制御するための制御信号を生成し、
前記異常検出部は、前記制御指令値Ｉｄ_ｒｅｆと前記電流値Ｉｄとの偏差ΔＩｄ、前記制御指令値Ｉｑ_ｒｅｆと前記電流値Ｉｑとの偏差ΔＩｑ、及び前記偏差ΔＩｄと前記偏差ΔＩｑとの和のうちの少なくとも一つを用いて、前記インバータ制御部に供給された制御指令値と前記フィードバック値との偏差が所定値未満であるかを判定する、
請求項１または２に記載のモータ駆動装置。
【請求項４】
前記モータ駆動装置は更に、前記モータの回転速度を検出する速度センサを備え、
前記インバータ制御部は、前記速度センサで検出された前記モータの回転速度Ｖｅｌと当該モータの回転速度Ｖｅｌの制御指令値Ｖｅｌ_ｒｅｆとの偏差を用いて、前記モータをフィードバック制御するための制御信号を生成し、
前記異常検出部は、前記制御指令値Ｖｅｌ_ｒｅｆと前記モータの回転速度Ｖｅｌとの偏差ΔＶｅｌを用いて、前記インバータ制御部に供給された制御指令値と前記フィードバック値との偏差が所定値未満であるかを判定する、
請求項１または２に記載のモータ駆動装置。
【請求項５】
前記モータ駆動装置は更に、前記モータのトルクを検出するトルクセンサを備え、
前記インバータ制御部は、前記トルクセンサで検出された前記モータのトルク値Ｔｒｑと当該モータのトルク値Ｔｒｑに対応する制御指令値Ｔｒｑ_ｒｅｆとの偏差を用いて、前記モータをフィードバック制御するための制御信号を生成し、
前記異常検出部は、前記制御指令値Ｔｒｑ_ｒｅｆと前記モータのトルク値Ｔｒｑとの偏差ΔＴｒｑを用いて、前記インバータ制御部に供給された制御指令値と前記フィードバック値との偏差が所定値未満であるかを判定する、
請求項１または２に記載のモータ駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はモータ駆動装置に関する。
【背景技術】
【０００２】
一般的に、３相交流で駆動するモータは、インバータで生成された３相交流の駆動電力を用いて駆動される。特許文献１には、インバータの異常を検出する異常検出回路に関する技術が開示されている。特許文献１に開示されている異常検出回路では、インバータから出力された３相交流の電圧値の和が理論的には０であるという性質を利用して、インバータの異常を検出している。具体的には、インバータから出力された３相交流の電圧値の和が所定の値を超えた場合に、インバータが異常であると判定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−１８２４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
背景技術で説明したように、特許文献１に開示されている異常検出回路では、インバータから出力された３相交流の電圧値の和が所定の値を超えた場合に、インバータが異常であると判定している。このように３相交流の電圧値を用いてインバータの異常を検出した場合は、異常検出回路の構成を簡易にすることができるという利点がある。
【０００５】
しかしながら、インバータでモータを駆動した場合は、モータの駆動状態に応じて３相交流の電圧値の和も変動する。つまり、３相交流の電圧値の和は理論的には一定であるが、インバータでモータを駆動した場合は、モータの駆動状態に応じて３相交流の電圧値の和が変動するため、実際にはインバータが異常ではない場合であっても、インバータが異常であると誤検出する場合があった。このため、インバータの異常を精度よく検出することができないという問題があった。
【０００６】
上記課題に鑑み本発明の目的は、精度よくインバータの異常を検出することが可能なモータ駆動装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明にかかるモータ駆動装置は、３相交流で駆動するモータを駆動するモータ駆動装置であって、前記モータの駆動を設定する制御指令値と、前記モータに供給された駆動電力の電流値、前記モータの回転速度、及び前記モータのトルク値のうちの少なくとも一つを含むフィードバック値と、を用いて、前記モータをフィードバック制御するための制御信号を生成して出力するインバータ制御部と、前記インバータ制御部から出力された制御信号に応じて前記モータに駆動電力を供給するインバータと、前記インバータの異常を検出する異常検出部と、を備える。前記異常検出部は、前記モータに供給された前記駆動電力の３相交流の電圧値の和が所定の電圧値よりも大きく、且つ、前記インバータ制御部に供給された制御指令値と前記フィードバック値との偏差が所定値未満である場合、前記インバータが異常であると判定する。
【０００８】
本発明にかかるモータ駆動装置では、駆動電力の３相交流の電圧値の和に加えて、制御指令値とフィードバック値との偏差を用いて、インバータの異常の有無を判定している。つまり、インバータでモータを駆動した場合、制御指令値とフィードバック値との偏差が大きくなるタイミング（換言すると、モータの制御量の変化が大きくなるタイミング）において、３相交流の電圧値の和が大きくなる性質がある。本発明ではこの点に着目し、駆動電力の３相交流の電圧値の和が大きい場合であっても、制御指令値とフィードバック値との偏差が大きい場合にはインバータが異常ではないと判定するようにしている。よって、インバータの異常の誤検出を抑制することができ、インバータの異常を精度よく検出することができる。
【発明の効果】
【０００９】
本発明により、精度よくインバータの異常を検出することが可能なモータ駆動装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかるモータ駆動装置を説明するためのブロック図である。
【図２】実施の形態１にかかるモータ駆動装置が備えるインバータの構成例を説明するための図である。
【図３】実施の形態１にかかるモータ駆動装置の異常検出の動作を説明するためのフローチャートである。
【図４】実施の形態１にかかるモータ駆動装置のシミュレーション結果を示すグラフである。
【図５】実施の形態２にかかるモータ駆動装置を説明するためのブロック図である。
【図６】実施の形態２にかかるモータ駆動装置の動作を説明するためのフローチャートである。
【図７】実施の形態３にかかるモータ駆動装置を説明するためのブロック図である。
【図８】実施の形態３にかかるモータ駆動装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態について説明する。本発明にかかるモータ駆動装置は、モータを駆動する際に、モータに供給された駆動電力の電流値、モータの回転速度、及びモータのトルク値のうちの少なくとも一つを含むフィードバック値を用いて、モータをフィードバック制御している。
【００１２】
以下で説明する実施の形態１にかかるモータ駆動装置１（図１〜図４参照）では、モータに供給された駆動電力の電流値Ｉｄ、Ｉｑを用いてモータをフィードバック制御する構成について説明する。また、実施の形態２にかかるモータ駆動装置２（図５、図６参照）では、モータの回転速度Ｖｅｌを用いてモータをフィードバック制御する構成について説明する。また、実施の形態３にかかるモータ駆動装置３（図７、図８参照）では、モータのトルク値Ｔｒｑを用いてモータをフィードバック制御する構成について説明する。
【００１３】
＜実施の形態１＞
図１は、実施の形態１にかかるモータ駆動装置を説明するためのブロック図である。本実施の形態にかかるモータ駆動装置１は、３相交流（Ｕ相、Ｖ相、Ｗ相）で駆動するモータ１００をベクトル制御を用いて駆動する装置である。
【００１４】
図１に示すように、モータ駆動装置１は、インバータ１１、電流センサ１２、ＡＤコンバータ１３、３相−２相変換部１４、座標変換部１５、減算器２１、２２、ＰＩ制御部２３、座標変換部２４、２相−３相変換部２５、ＰＷＭ（Pulse Width Modulation）演算部２６、角度センサ３０、フィルタ３１、ＡＤコンバータ３２、及び異常検出部３５を備える。
【００１５】
ここで、３相−２相変換部１４、座標変換部１５、減算器２１、２２、ＰＩ制御部２３、座標変換部２４、２相−３相変換部２５、及びＰＷＭ演算部２６は、インバータ制御部１０を構成している。インバータ制御部１０は、モータ１００をフィードバック制御するための制御信号を生成し、当該制御信号を用いてインバータ１１を制御する。
【００１６】
インバータ制御部１０は、例えばマイクロコンピュータを用いて構成することができる。具体例を挙げると、インバータ制御部１０は、プロセッサとメモリとを少なくとも備えており、プロセッサは、メモリに格納されているソフトウェア（コンピュータプログラム）を読み出して実行することで、インバータ１１を制御する。
【００１７】
インバータ１１は、モータ１００に３相交流の駆動電力Ｕ、Ｖ、Ｗを供給する。図２は、インバータ１１の構成例を示す図である。図２に示すように、インバータ１１は、パワートランジスタＱＵＨ、ＱＵＬ、ＱＶＨ、ＱＶＬ、ＱＷＨ、ＱＷＬおよびダイオードＤ１１、Ｄ１２、Ｄ２１、Ｄ２２、Ｄ３１、Ｄ３２を備える。
【００１８】
パワートランジスタＱＵＨは、コレクタが電源Ｖｂａｔに接続され、エミッタがノードＮ１に接続されており、Ｕ相の上アームを構成する。パワートランジスタＱＵＬは、コレクタがノードＮ１に接続され、エミッタが接地電位（０Ｖ）に接続されており、Ｕ相の下アームを構成する。パワートランジスタＱＶＨは、コレクタが電源Ｖｂａｔに接続され、エミッタがノードＮ２に接続されており、Ｖ相の上アームを構成する。パワートランジスタＱＶＬは、コレクタがノードＮ２に接続され、エミッタが接地電位（０Ｖ）に接続されており、Ｖ相の下アームを構成する。パワートランジスタＱＷＨは、コレクタが電源Ｖｂａｔに接続され、エミッタがノードＮ３に接続されており、Ｗ相の上アームを構成する。パワートランジスタＱＷＬは、コレクタがノードＮ３に接続され、エミッタが接地電位（０Ｖ）に接続されており、Ｗ相の下アームを構成する。
【００１９】
ダイオードＤ１１は、パワートランジスタＱＵＨと逆並列に接続されている。ダイオードＤ１２は、パワートランジスタＱＵＬと逆並列に接続されている。ダイオードＤ２１は、パワートランジスタＱＶＨと逆並列に接続されている。ダイオードＤ２２は、パワートランジスタＱＶＬと逆並列に接続されている。ダイオードＤ３１は、パワートランジスタＱＷＨと逆並列に接続されている。ダイオードＤ３２は、パワートランジスタＱＷＬと逆並列に接続されている。
【００２０】
また、インバータ１１は、ゲートドライバ３７を備える。ゲートドライバ３７は、インバータ制御部１０のＰＷＭ演算部２６（図１参照）から出力された制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚを、パワートランジスタを駆動することができるレベルまで増幅する。ゲートドライバ３７で増幅された制御信号ｕ’、ｖ’、ｗ’、ｘ’、ｙ’、ｚ’は各々、パワートランジスタＱＵＨ、ＱＶＨ、ＱＷＨ、ＱＵＬ、ＱＶＬ、ＱＷＬのゲートに供給される。
【００２１】
よって、インバータ制御部１０で生成された制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚに応じて、各々のパワートランジスタＱＵＨ、ＱＶＨ、ＱＷＨ、ＱＵＬ、ＱＶＬ、ＱＷＬがスイッチングすることで、インバータ１１からモータ１００に、モータ１００を駆動するための３相交流の駆動電力Ｕ、Ｖ、Ｗが供給される。
【００２２】
図１に示す電流センサ１２は、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電流値Ｉｕ、Ｉｖ、Ｉｗを検出する。電流センサ１２で検出された電流値Ｉｕ、Ｉｖ、Ｉｗは、ＡＤコンバータ１３でデジタル信号に変換された後、３相−２相変換部１４に供給される。
【００２３】
３相−２相変換部１４は、ＡＤコンバータ１３でデジタル信号に変換された３相交流の電流値Ｉｕ、Ｉｖ、Ｉｗにクラーク変換を施して、３相交流の電流値Ｉｕ、Ｉｖ、Ｉｗを２相の電流値Ｉα、Ｉβに変換する。２相に変換した後の２つの電流値Ｉα、Ｉβの軸は、互いに直交している。３相−２相変換部１４で変換された２相の電流値Ｉα、Ｉβは、座標変換部１５に供給される。
【００２４】
座標変換部１５は、３相−２相変換部１４から供給された２相の電流値Ｉα、Ｉβにパーク変換を施して、固定座標の２相の電流値Ｉα、Ｉβを回転座標の２相の電流値Ｉｄ、Ｉｑに変換する。このとき、座標変換部１５は、モータ１００のロータの回転角θに関する情報を角度センサ３０から取得し、この回転角θを用いて座標変換する。回転座標の電流値Ｉｄは磁化電流の検出電流値であり、回転座標の電流値Ｉｑはトルク電流の検出電流値である。座標変換後の２相の電流値Ｉｄ、Ｉｑはそれぞれ、減算器２１、２２に供給される。
【００２５】
減算器２１は、制御指令値Ｉｄ_ｒｅｆと、座標変換部１５から供給された電流値Ｉｄとの偏差ΔＩｄ（＝Ｉｄ_ｒｅｆ−Ｉｄ）を算出して、偏差ΔＩｄをＰＩ制御部２３および異常検出部３５に供給する。また、減算器２２は、制御指令値Ｉｑ_ｒｅｆと、座標変換部１５から供給された電流値Ｉｑとの偏差ΔＩｑ（＝Ｉｑ_ｒｅｆ−Ｉｑ）を算出して、偏差ΔＩｑをＰＩ制御部２３および異常検出部３５に供給する。
【００２６】
ＰＩ制御部２３は、減算器２１、２２から各々供給された偏差ΔＩｄ、ΔＩｑがゼロになるような制御電圧値Ｖｄ、Ｖｑを生成し、生成された制御電圧値Ｖｄ、Ｖｑを座標変換部２４に供給する。このとき、ＰＩ制御部２３は、Ｐ制御（比例制御）およびＩ制御（積分制御）を用いて、制御電圧値Ｖｄ、Ｖｑを生成する。
【００２７】
座標変換部２４は、ＰＩ制御部２３から供給された制御電圧値Ｖｄ、Ｖｑに逆パーク変換を施して、回転座標の制御電圧値Ｖｄ、Ｖｑを固定座標の制御電圧値Ｖα、Ｖβに変換する。このとき、座標変換部２４は、モータ１００のロータの回転角θに関する情報を角度センサ３０から取得し、この回転角θを用いて座標変換する。座標変換後の制御電圧値Ｖα、Ｖβはそれぞれ、２相−３相変換部２５に供給される。
【００２８】
２相−３相変換部２５は、座標変換部２４から供給された２相の制御電圧値Ｖα、Ｖβに逆クラーク変換を施して、２相の制御電圧値Ｖα、Ｖβを３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に変換する。ここで、３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊は、モータ１００に供給される駆動電力Ｕ、Ｖ、Ｗに対応する値である。３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊はそれぞれ同じ振幅を有し、また互いに位相が１２０°ずれている。２相−３相変換部２５で変換された３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊は、ＰＷＭ演算部２６に供給される。
【００２９】
ＰＷＭ演算部２６は、２相−３相変換部２５から供給された３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に基づいて、インバータ１１を制御するためのパルス状の制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚを生成する。インバータ１１は、ＰＷＭ演算部２６から供給された制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚに応じた駆動電力Ｕ、Ｖ、Ｗを生成してモータ１００に供給する。
【００３０】
つまり、ＰＷＭ演算部２６で生成された制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚは、図２のゲートドライバ３７において、パワートランジスタを駆動することができるレベルまで増幅される。ゲートドライバ３７で増幅された制御信号ｕ’、ｖ’、ｗ’、ｘ’、ｙ’、ｚ’は各々、パワートランジスタＱＵＨ、ＱＶＨ、ＱＷＨ、ＱＵＬ、ＱＶＬ、ＱＷＬのゲートに供給される。これにより、各々のパワートランジスタＱＵＨ、ＱＶＨ、ＱＷＨ、ＱＵＬ、ＱＶＬ、ＱＷＬがスイッチングして、インバータ１１からモータ１００に、モータ１００を駆動するための３相交流の駆動電力Ｕ、Ｖ、Ｗが供給される。
【００３１】
このように、本実施の形態にかかるモータ駆動装置１は、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電流値Ｉｕ、Ｉｖ、Ｉｗをフィードバック値として用いることで、モータ１００をフィードバック制御している。
【００３２】
また、本実施の形態にかかるモータ駆動装置１は、異常検出部３５を用いてインバータ１１の異常を検出している。異常検出部３５には、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗに関する情報が供給される。駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗは、フィルタ３１でノイズが除去され、ＡＤコンバータ３２でデジタル信号に変換された後、異常検出部３５に供給される。
【００３３】
また、異常検出部３５には、減算器２１から制御指令値Ｉｄ_ｒｅｆと電流値Ｉｄとの偏差ΔＩｄが、減算器２２から制御指令値Ｉｑ_ｒｅｆと電流値Ｉｑとの偏差ΔＩｑがそれぞれ供給される。
【００３４】
本実施の形態にかかるモータ駆動装置において、異常検出部３５は、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗの和が所定の電圧値以上であり、且つ、インバータ制御部１０に供給された制御指令値Ｉｄ_ｒｅｆ、Ｉｑ_ｒｅｆとフィードバック値Ｉｄ、Ｉｑとの偏差ΔＩｄ、ΔＩｑが所定値未満である場合、インバータ１１が異常であると判定する。更に、異常検出部３５は、インバータ１１の異常を所定の回数検出した場合、インバータ１１が故障であると判定している。以下、本実施の形態にかかるモータ駆動装置の異常検出の動作について詳細に説明する。
【００３５】
図３は、本実施の形態にかかるモータ駆動装置の異常検出の動作を説明するためのフローチャートである。以下では、モータ駆動装置１がモータ１００をフィードバック制御している際に、インバータ１１が異常状態となったことを異常検出部３５が検出する動作について説明する。
【００３６】
まず、図１に示すインバータ制御部１０は、インバータ１１から出力された駆動電力Ｕ、Ｖ、Ｗの電流値Ｉｕ、Ｉｖ、Ｉｗ、及びモータ１００のロータの回転角θを取得する（ステップＳ１）。具体的には、インバータ制御部１０の３相−２相変換部１４は、ＡＤコンバータ１３でデジタル信号に変換された電流値Ｉｕ、Ｉｖ、Ｉｗを取得する。また、座標変換部１５は、角度センサ３０からモータ１００のロータの回転角θを取得する。
【００３７】
次に、インバータ制御部１０は、電流値Ｉｕ、Ｉｖ、Ｉｗ、及びモータ１００のロータの回転角θを用いて、フィードバック値である２相の電流値Ｉｄ、Ｉｑを算出する（ステップＳ２）。具体的には、インバータ制御部１０の３相−２相変換部１４は、ＡＤコンバータ１３でデジタル信号に変換された３相交流の電流値Ｉｕ、Ｉｖ、Ｉｗにクラーク変換を施して、３相交流の電流値Ｉｕ、Ｉｖ、Ｉｗを２相の電流値Ｉα、Ｉβに変換する。その後、座標変換部１５は、３相−２相変換部１４から供給された２相の電流値Ｉα、Ｉβにパーク変換を施して、固定座標の２相の電流値Ｉα、Ｉβを回転座標の２相の電流値Ｉｄ、Ｉｑに変換する。このとき、座標変換部１５は、角度センサ３０から取得した回転角θを用いて座標変換する。
【００３８】
次に、異常検出部３５は、減算器２１で算出された制御指令値Ｉｄ_ｒｅｆと電流値Ｉｄとの偏差ΔＩｄ（＝Ｉｄ_ｒｅｆ−Ｉｄ）、及び減算器２２で算出された制御指令値Ｉｑ_ｒｅｆと電流値Ｉｑとの偏差ΔＩｑ（＝Ｉｑ_ｒｅｆ−Ｉｑ）を取得する。そして、異常検出部３５は、偏差ΔＩｄと偏差ΔＩｑとを用いて、Ｑ＝｜ΔＩｄ｜＋｜ΔＩｑ｜を算出する（ステップＳ３）。ここで、Ｑの値は、制御指令値とフィードバック値との偏差に対応したパラメータであり、Ｑの値が大きいほど、制御指令値とフィードバック値との偏差が大きいことを意味している。以下では、Ｑの値を「制御偏差Ｑ」とも記載する。
【００３９】
なお、Ｑの値を算出する際は、他の数式を用いて算出してもよい。例えば、偏差ΔＩｄ、ΔＩｑの二乗和を用いてもよい。この場合は、Ｑ＝ΔＩｄ２＋ΔＩｑ２となる。また、各々の偏差ΔＩｄ、ΔＩｑに重み付けをしてもよい。この場合は、Ｑ＝Ｋ×｜ΔＩｄ｜＋Ｐ×｜ΔＩｑ｜（ただし、Ｋ、Ｐは重み付けをするための任意の定数）となる。また、これら以外の数式を用いてＱの値を算出してもよい。
【００４０】
次に、異常検出部３５は、インバータ１１から出力された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗを取得する（ステップＳ４）。具体的には、インバータ１１から出力された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗは、フィルタ３１でノイズが除去され、ＡＤコンバータ３２でデジタル信号に変換された後、異常検出部３５に供給される。例えば、フィルタ３１はローパスフィルタを用いて構成することができる。なお、フィルタ３１は、ハードウェアで構成してもよく、ソフトウエアで構成してもよい。
【００４１】
次に、異常検出部３５は、下記の式１〜式３を用いてＶｕ’、Ｖｖ’、Ｖｗ’を算出する（ステップＳ５）。
【００４２】
Ｖｕ’＝Ｖｕ−Ｖｂａｔ／２  ・・・（式１）
Ｖｖ’＝Ｖｖ−Ｖｂａｔ／２  ・・・（式２）
Ｖｗ’＝Ｖｗ−Ｖｂａｔ／２  ・・・（式３）
ここで、Ｖｂａｔはインバータ１１に供給される電源電圧である（図２参照）。
【００４３】
次に、異常検出部３５は、Ｐ＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜を算出する（ステップＳ６）。このＰの値は、駆動電力Ｕ、Ｖ、Ｗの電圧値の和に対応しており、理論的には一定の値となる。以下では、Ｐの値を「３相電圧の和Ｐ」とも記載する。
【００４４】
本実施の形態では、図２に示すように、インバータ１１を構成するパワートランジスタは、電源電圧Ｖｂａｔと接地電位０Ｖとの間に接続されている。よって、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗは、電源電圧Ｖｂａｔと０Ｖとの間で変位する。つまり、電圧値Ｖｕ、Ｖｖ、Ｖｗはそれぞれ、Ｖｂａｔ／２を中心とした波形（それぞれ位相が１２０°ずれている）となる。このため、電圧値Ｖｕ、Ｖｖ、Ｖｗのそれぞれを足すと次のようになる。
【００４５】
Ｖｕ＋Ｖｖ＋Ｖｗ＝３Ｖｂａｔ／２  ・・・（式４）
【００４６】
一方、ステップＳ６で示したように、Ｖｕ’、Ｖｖ’、Ｖｗ’を足した場合は、式１〜式３を用いて次のように表すことができる。
【００４７】
Ｐ＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜＝｜（Ｖｕ−Ｖｂａｔ／２）＋（Ｖｖ−Ｖｂａｔ／２）＋（Ｖｗ−Ｖｂａｔ／２）｜＝｜Ｖｕ＋Ｖｖ＋Ｖｗ−３Ｖｂａｔ／２｜  ・・・（式５）
【００４８】
ここで、式５に式４を代入すると、次のようになる。
【００４９】
Ｐ＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜＝０  ・・・（式６）
【００５０】
つまり、式６に示すように、３相電圧値の和Ｐは理論的には０となる。
【００５１】
次に、異常検出部３５は、上記のようにして求めた３相電圧値の和Ｐおよび制御偏差Ｑを用いて、インバータが異常であるか否かを判定する。まず、異常検出部３５は、３相電圧値の和Ｐが所定の電圧値Ｎよりも大きく（Ｐ＞Ｎ）、且つ、制御偏差Ｑが所定の値Ｌよりも小さいか（Ｑ＜Ｌ）を判断する（ステップＳ７）。ここで、電圧値Ｎおよび値Ｌは任意に決定することができる。
【００５２】
上記で説明したように、３相電圧値の和Ｐは理論的には０であるので、３相電圧値の和Ｐが所定の電圧値Ｎよりも大きい場合（Ｐ＞Ｎ）は、インバータ１１が異常である可能性がある。しかしながら、３相電圧値の和Ｐは、制御偏差Ｑが大きい場合にも大きくなる傾向がある。よって、３相電圧値の和Ｐが所定の電圧値Ｎよりも大きい場合（Ｐ＞Ｎ）であっても、制御偏差Ｑが所定の値Ｌ以上の場合（Ｑ≧Ｌ）は（ステップＳ７：Ｎｏ）、インバータ１１が異常ではないと判断してステップＳ９へと移動する。
【００５３】
一方、３相電圧値の和Ｐが所定の電圧値Ｎよりも大きく（Ｐ＞Ｎ）、且つ、制御偏差Ｑが所定の値Ｌよりも小さい場合（Ｑ＜Ｌ）は（ステップＳ７：Ｙｅｓ）、インバータ１１が異常であると判断する。この場合は、ステップＳ８に移動して異常検出カウント値Ａを１増加させる（ステップＳ８）。この異常検出カウント値Ａは、図３のフローチャートの処理を繰り返した際に、インバータ１１が異常であると判定される毎に（つまり、ステップＳ７においてＹｅｓと判定される毎に）増加していく。
【００５４】
その後、ステップＳ９において、異常検出カウント値Ａが異常検出カウント値Ａの上限値Ｍよりも小さいか否かを判断する。つまり、図３のフローチャートの処理を繰り返した際に、異常検出カウント値Ａが大きくなるとインバータ１１が故障である可能性が高くなる。よって、異常検出部３５は、異常検出カウント値Ａの上限値Ｍを設定して、異常検出カウント値Ａが上限値Ｍ以上の場合には（ステップＳ９：Ｎｏ）、インバータ１１が故障であると確定する（ステップＳ１３）。
【００５５】
つまり、ステップＳ７において、インバータ１１が異常であると判定された場合であっても、実際にはインバータ１１が故障には至っていない場合も想定される。本実施の形態では、このように異常検出カウント値Ａの上限値Ｍを設定することで、インバータ１１の故障確定を正確に行うことができる。なお、上限値Ｍは１以上の整数であり、任意に決定することができる。インバータ１１が故障であると確定された場合、モータ駆動装置１の電源を遮断する処理を実施する（ステップＳ１４）。
【００５６】
一方、異常検出カウント値Ａが異常検出カウント値Ａの上限値Ｍよりも小さい場合は（ステップＳ９：Ｙｅｓ）、インバータ１１の故障を確定することなくステップＳ１０へと移動する。ステップＳ１０において、Ｔ１は異常検出時間であり、Ｔはカウント値である。つまり、異常検出時間Ｔ１は、図３のフローチャートのループを繰り返す回数の設定値である。また、カウント値Ｔは、図３のフローチャートのループを繰り返した回数である。
【００５７】
例えば、図３のフローチャートの処理を初めて行った場合はカウント値Ｔ＝０なので、Ｔ＝Ｔ１−１の条件を満たさない（ステップＳ１０：Ｎｏ）。この場合はステップＳ１２へと進み、カウント値Ｔの値を１増加させる。一方、図３のフローチャートの処理がＴ１回目の処理である場合は、カウント値ＴがＴ１−１と等しくなるので、Ｔ＝Ｔ１−１の条件を満たす（ステップＳ１０：Ｙｅｓ）。この場合はステップＳ１１へと進み、カウント値Ｔの値を０にリセットする。また、異常検出カウント値Ａの値も０にリセットする。
【００５８】
本実施の形態にかかるモータ駆動装置１では、図３のフローチャートに示す処理を繰り返すことでインバータ１１の異常を検出することができる。例えば、異常検出部３５は、３相電圧値の和Ｐおよび制御偏差Ｑをモニタし、「３相電圧値の和Ｐが所定の電圧値Ｎよりも大きく（Ｐ＞Ｎ）、且つ、制御偏差Ｑが所定の値Ｌよりも小さい（Ｑ＜Ｌ）」という条件を初めて満たしたことをトリガーとして、カウント値Ｔをカウントアップするようにしてもよい（つまり、図３のフローチャートに示すループ処理を繰り返すようにしてもよい）。
【００５９】
例えば、図３のフローチャートに示す処理のループ周期を４ｍｓとすると、異常検出時間を１００ｍｓに設定するには、Ｔ１＝２５（＝１００ｍｓ／４ｍｓ）に設定する。例えば、異常検出カウント値Ａの上限値をＭ＝２０した場合、異常検出部３５は、２５回のループ処理のうち２０回異常を検出すると、故障を確定する（ステップＳ９、Ｓ１３参照）。
【００６０】
このように、本実施の形態にかかるモータ駆動装置１では、駆動電力Ｕ、Ｖ、Ｗの３相交流の電圧値Ｖｕ、Ｖｖ、Ｖｗの和Ｐに加えて、制御指令値とフィードバック値との偏差ΔＩｄ、ΔＩｑを用いて、インバータ１１の異常の有無を判定している。つまり、インバータ１１でモータ１００を駆動した場合、制御指令値Ｉｄ_ｒｅｆ、Ｉｑ_ｒｅｆとフィードバック値Ｉｄ、Ｉｑとの偏差ΔＩｄ、ΔＩｑが大きくなるタイミング（換言すると、モータの制御量の変化が大きくなるタイミング）では、３相交流の電圧値の和Ｐ（＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜）が大きくなる。
【００６１】
本実施の形態ではこの点に着目し、駆動電力の３相交流の電圧値の和Ｐが大きい場合であっても、制御指令値Ｉｄ_ｒｅｆ、Ｉｑ_ｒｅｆとフィードバック値Ｉｄ、Ｉｑとの偏差ΔＩｄ、ΔＩｑが大きい場合にはインバータ１１が異常ではないと判定するようにしている。よって、インバータの異常の誤検出を抑制することができ、インバータの異常を精度よく検出することができる。
【００６２】
なお、上記では、制御偏差Ｑとして、Ｑ＝｜ΔＩｄ｜＋｜ΔＩｑ｜（つまり、偏差ΔＩｄと偏差ΔＩｑとの和）を用いた場合について説明した。しかし本実施の形態では、制御偏差Ｑとして、偏差ΔＩｄおよび偏差ΔＩｑのいずれか一方を用いてもよい。つまり、制御偏差Ｑとして、Ｑ＝｜ΔＩｄ｜を用いてもよく、またＱ＝｜ΔＩｑ｜を用いてもよい。また、本実施の形態において、制御偏差Ｑは、モータの制御量の変化を示す値であればどのような値を用いてもよい。
【００６３】
図４は、本実施の形態にかかるモータ駆動装置のシミュレーション結果を示すグラフである。図４では、制御指令値と実速度との関係を示すグラフＡ、フラグが「１」になるタイミングを示すグラフＢ、３相電圧の和Ｐ＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜を示すグラフＣ、制御指令値Ｉｑ_ｒｅｆと電流値Ｉｑとの偏差ΔＩｑ（＝Ｉｑ_ｒｅｆ−Ｉｑ）を示すグラフＤ、制御指令値Ｉｄ_ｒｅｆと電流値Ｉｄとの偏差ΔＩｄ（＝Ｉｄ_ｒｅｆ−Ｉｄ）を示すグラフＥを示している。
【００６４】
図４のグラフＡに示すように、制御指令値が変化すると、グラフＣに示す３相電圧の和Ｐが大きくなる傾向にある。図４に示すシミュレーション結果では、グラフＣに示すように、所定の電圧値ＮをＮ＝１０に設定している。よって、グラフＣにおいて３相電圧の和Ｐが電圧値Ｎ＝１０よりも大きくなるタイミングｔ１〜ｔ６において、グラフＢに示すフラグが「１」になっている。このように、制御指令値が変化すると３相電圧の和Ｐが大きくなるので、３相電圧の和Ｐのみを用いてインバータの異常を検出した場合は、実際にはインバータが異常ではない場合であっても、インバータが異常であると誤検出する場合があった。
【００６５】
一方で、図４のグラフＤ、Ｅに示すように、制御指令値が変化するタイミングでは、制御指令値とフィードバック値との偏差ΔＩｑ、ΔＩｄが大きくなる傾向にある。つまり、制御指令値が変化すると、グラフＢ、Ｃに示すように３相電圧の和Ｐが大きくなるが（タイミングｔ１〜ｔ６参照）、このタイミングｔ１〜ｔ６では同時に制御指令値とフィードバック値との偏差ΔＩｑ、ΔＩｑｄ（グラフＤ、Ｅ参照）も大きくなっている。本実施の形態ではこの点に着目し、駆動電力の３相交流の電圧値の和Ｐが大きい場合であっても、制御指令値とフィードバック値との偏差ΔＩｑ、ΔＩｄが大きい場合にはインバータ１１が異常ではないと判定するようにしている。よって、インバータの異常の誤検出を抑制することができ、インバータの異常を精度よく検出することができる。
【００６６】
特に本実施の形態にかかるモータ駆動装置１では、電流センサ１２を用いて３相交流の電流値Ｉｕ、Ｉｖ、Ｉｗを検出している。産業用ロボットなどでは、インバータに電流センサを搭載する構成は電流制御を行う上で基本的な構成である。よって、外部に特別なセンサを搭載することなく、本実施の形態にかかるモータ駆動装置を構成することができるという利点がある。
【００６７】
以上で説明した本実施の形態にかかる発明により、精度よくインバータの異常を検出することが可能なモータ駆動装置を提供することができる。
【００６８】
＜実施の形態２＞
次に、本発明の実施の形態２について説明する。図５は、実施の形態２にかかるモータ駆動装置を説明するためのブロック図である。本実施の形態にかかるモータ駆動装置２では、速度センサ４１を用いてモータの回転速度Ｖｅｌを検出し、この検出されたモータの回転速度Ｖｅｌを用いてモータ１００をフィードバック制御している点が、実施の形態１で説明したモータ駆動装置１と異なる。これ以外については、実施の形態１で説明したモータ駆動装置１（図１〜図４参照）と同様であるので、同一の構成要素には同一の符号を付し重複した説明は適宜省略する。
【００６９】
図５に示すように、本実施の形態にかかるモータ駆動装置２は、インバータ１１、速度センサ４１、減算器４２、ＰＩ制御部４３、座標変換部２４、２相−３相変換部２５、ＰＷＭ演算部２６、角度センサ３０、フィルタ３１、ＡＤコンバータ３２、及び異常検出部４５を備える。
【００７０】
ここで、減算器４２、ＰＩ制御部４３、座標変換部２４、２相−３相変換部２５、及びＰＷＭ演算部２６は、インバータ制御部４０を構成している。インバータ制御部４０は、速度センサ４１で検出されたモータ１００の回転速度Ｖｅｌと、モータ１００の回転速度Ｖｅｌの制御指令値Ｖｅｌ_ｒｅｆとの偏差ΔＶｅｌを用いて、モータ１００をフィードバック制御するための制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚを生成する。
【００７１】
速度センサ４１は、モータ１００の回転速度Ｖｅｌを検出する。速度センサ４１で検出されたモータ１００の回転速度Ｖｅｌは、減算器４２に供給される。減算器４２は、モータ１００の回転速度Ｖｅｌの制御指令値Ｉｄ_ｒｅｆと、速度センサ４１から供給された回転速度Ｖｅｌとの偏差ΔＶｅｌ（＝Ｖｅｌ_ｒｅｆ−Ｖｅｌ）を算出して、偏差ΔＶｅｌをＰＩ制御部４３および異常検出部４５に供給する。
【００７２】
ＰＩ制御部４３は、減算器４２から供給された偏差ΔＶｅｌがゼロになるような制御電圧値Ｖｄ、Ｖｑを生成し、生成された制御電圧値Ｖｄ、Ｖｑを座標変換部２４に供給する。このとき、ＰＩ制御部４３は、Ｐ制御（比例制御）およびＩ制御（積分制御）を用いて、制御電圧値Ｖｄ、Ｖｑを生成する。
【００７３】
座標変換部２４は、ＰＩ制御部２３から供給された制御電圧値Ｖｄ、Ｖｑに逆パーク変換を施して、回転座標の制御電圧値Ｖｄ、Ｖｑを固定座標の制御電圧値Ｖα、Ｖβに変換する。２相−３相変換部２５は、座標変換部２４から供給された２相の制御電圧値Ｖα、Ｖβに逆クラーク変換を施して、２相の制御電圧値Ｖα、Ｖβを３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に変換する。ＰＷＭ演算部２６は、２相−３相変換部２５から供給された３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に基づいて、インバータ１１を制御するためのパルス状の制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚを生成する。インバータ１１は、ＰＷＭ演算部２６から供給された制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚに応じた駆動電力Ｕ、Ｖ、Ｗを生成してモータ１００に供給する。
【００７４】
このように、本実施の形態にかかるモータ駆動装置２では、速度センサ４１で検出されたモータ１００の回転速度Ｖｅｌをフィードバック値として用いることで、モータ１００をフィードバック制御している。なお、図５に示すインバータ１１、座標変換部２４、２相−３相変換部２５、及びＰＷＭ演算部２６の構成および動作については、実施の形態１で説明した場合と同様であるので、詳細な説明は省略する。
【００７５】
また、本実施の形態にかかるモータ駆動装置２は、異常検出部４５を用いてインバータ１１の異常を検出している。異常検出部４５には、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗに関する情報が供給される。駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗは、フィルタ３１でノイズが除去され、ＡＤコンバータ３２でデジタル信号に変換された後、異常検出部４５に供給される。また、異常検出部４５には、減算器４２から制御指令値Ｖｅｌ_ｒｅｆと回転速度Ｖｅｌとの偏差ΔＶｅｌが供給される。
【００７６】
本実施の形態にかかるモータ駆動装置において、異常検出部４５は、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗの和が所定の電圧値以上であり、且つ、インバータ制御部１０に供給された制御指令値Ｖｅｌ_ｒｅｆとフィードバック値である回転速度Ｖｅｌとの偏差ΔＶｅｌが所定値未満である場合、インバータ１１が異常であると判定する。更に、異常検出部４５は、インバータ１１の異常を所定の回数検出した場合、インバータ１１が故障であると判定している。以下、本実施の形態にかかるモータ駆動装置の異常検出の動作について詳細に説明する。
【００７７】
図６は、本実施の形態にかかるモータ駆動装置の異常検出の動作を説明するためのフローチャートである。以下では、モータ駆動装置２がモータ１００をフィードバック制御している際に、インバータ１１が異常状態となったことを異常検出部４５が検出する動作について説明する。
【００７８】
まず、図５に示すインバータ制御部４０の減算器４２は、速度センサ４１からモータの回転速度Ｖｅｌを取得する（ステップＳ２１）。そして、減算器４２は、モータ１００の回転速度Ｖｅｌの制御指令値Ｉｄ_ｒｅｆと、取得した回転速度Ｖｅｌとの偏差ΔＶｅｌ（＝Ｖｅｌ_ｒｅｆ−Ｖｅｌ）を算出して、偏差ΔＶｅｌを異常検出部４５に供給する。
【００７９】
異常検出部４５は、減算器４２から取得した偏差ΔＶｅｌを用いて、Ｑ＝｜ΔＶｅｌ｜を算出する（ステップＳ２２）。ここで、Ｑの値は、制御指令値とフィードバック値との偏差に対応したパラメータであり、Ｑの値が大きいほど、制御指令値とフィードバック値との偏差が大きいことを意味している。
【００８０】
次に、異常検出部４５は、インバータ１１から出力された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗを取得する（ステップＳ２３）。具体的には、インバータ１１から出力された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗは、フィルタ３１でノイズが除去され、ＡＤコンバータ３２でデジタル信号に変換された後、異常検出部４５に供給される。例えば、フィルタ３１はローパスフィルタを用いて構成することができる。なお、フィルタ３１は、ハードウェアで構成してもよく、ソフトウエアで構成してもよい。
【００８１】
次に、異常検出部４５は、実施の形態１で説明した式１〜式３を用いて、Ｖｕ’、Ｖｖ’、Ｖｗ’を算出する（ステップＳ２４）。その後、異常検出部４５は、Ｐ＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜を算出する（ステップＳ２５）。このＰの値は、駆動電力Ｕ、Ｖ、Ｗの電圧値の和に対応しており、理論的には一定の値となる。なお、図６のステップＳ２４、Ｓ２５については、図３のステップＳ５、Ｓ６と同様である。
【００８２】
次に、異常検出部４５は、上記のようにして求めた３相電圧値の和Ｐおよび制御偏差Ｑを用いて、インバータ１１が異常であるか否かを判定する（ステップＳ２６〜Ｓ３３）。なお、図６に示すステップＳ２６〜Ｓ３３の動作については、実施の形態１で説明した図３のステップＳ７〜Ｓ１４の動作と同様であるので、重複した説明は省略する。
【００８３】
このように、本実施の形態にかかるモータ駆動装置２では、駆動電力Ｕ、Ｖ、Ｗの３相交流の電圧値Ｖｕ、Ｖｖ、Ｖｗの和Ｐに加えて、制御指令値とフィードバック値との偏差ΔＶｅｌを用いて、インバータ１１の異常の有無を判定している。つまり、インバータ１１でモータ１００を駆動した場合、制御指令値Ｖｅｌ_ｒｅｆとフィードバック値Ｖｅｌとの偏差ΔＶｅｌが大きくなるタイミング（換言すると、モータの制御量の変化が大きくなるタイミング）では、３相交流の電圧値の和Ｐ（＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜）が大きくなる。
【００８４】
本実施の形態ではこの点に着目し、駆動電力の３相交流の電圧値の和Ｐが大きい場合であっても、制御指令値Ｖｅｌ_ｒｅｆとフィードバック値Ｖｅｌとの偏差ΔＶｅｌが大きい場合にはインバータ１１が異常ではないと判定するようにしている。よって、インバータの異常の誤検出を抑制することができ、インバータの異常を精度よく検出することができる。
【００８５】
上記で説明したように、本実施の形態にかかるモータ駆動装置２では、速度センサ４１で検出した回転速度を用いてモータをフィードバック制御している。例えば、ロボットのシステムではモータに速度センサを設ける構成が多い。よって、本実施の形態では、実施の形態１にかかるモータ駆動装置１のように電流センサを別途設けなくとも、既存のロボットのシステムを用いて、本実施の形態にかかるモータ駆動装置を構成することができるという利点がある。
【００８６】
また、移動ロボットなどの自己位置推定が必要なロボットでは速度制御が必須であるが、例えば、実施の形態１にかかるモータ駆動装置１のように電流センサを設けると、応答の遅れが生じる場合がある。よって、移動ロボットにモータ駆動装置を設ける場合は、本実施の形態にかかるモータ駆動装置２のように速度センサを備える構成が適している。
【００８７】
以上で説明した本実施の形態にかかる発明により、精度よくインバータの異常を検出することが可能なモータ駆動装置を提供することができる。
【００８８】
＜実施の形態３＞
次に、本発明の実施の形態３について説明する。図７は、実施の形態３にかかるモータ駆動装置を説明するためのブロック図である。本実施の形態にかかるモータ駆動装置３では、トルクセンサ５１を用いてモータのトルク値Ｔｒｑを検出し、この検出されたモータのトルク値Ｔｒｑを用いてモータ１００をフィードバック制御している点が、実施の形態１で説明したモータ駆動装置１と異なる。これ以外については、実施の形態１で説明したモータ駆動装置１（図１〜図４参照）と同様であるので、同一の構成要素には同一の符号を付し重複した説明は適宜省略する。
【００８９】
図７に示すように、本実施の形態にかかるモータ駆動装置３は、インバータ１１、トルクセンサ５１、減算器５２、ＰＩ制御部５３、座標変換部２４、２相−３相変換部２５、ＰＷＭ演算部２６、角度センサ３０、フィルタ３１、ＡＤコンバータ３２、及び異常検出部５５を備える。
【００９０】
ここで、減算器５２、ＰＩ制御部５３、座標変換部２４、２相−３相変換部２５、及びＰＷＭ演算部２６は、インバータ制御部５０を構成している。インバータ制御部５０は、トルクセンサ５１で検出されたモータ１００のトルク値Ｔｒｑと、モータ１００のトルク値Ｔｒｑの制御指令値Ｔｒｑ_ｒｅｆとの偏差ΔＴｒｑを用いて、モータ１００をフィードバック制御するための制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚを生成する。
【００９１】
トルクセンサ５１は、モータ１００のトルク値Ｔｒｑを検出する。トルクセンサ５１で検出されたモータ１００のトルク値Ｔｒｑは、減算器５２に供給される。減算器５２は、モータ１００のトルク値Ｔｒｑの制御指令値Ｔｒｑ_ｒｅｆと、トルクセンサ５１から供給されたトルク値Ｔｒｑとの偏差ΔＴｒｑ（＝Ｔｒｑ_ｒｅｆ−Ｔｒｑ）を算出して、偏差ΔＴｒｑをＰＩ制御部５３および異常検出部５５に供給する。
【００９２】
ＰＩ制御部５３は、減算器５２から供給された偏差ΔＴｒｑがゼロになるような制御電圧値Ｖｄ、Ｖｑを生成し、生成された制御電圧値Ｖｄ、Ｖｑを座標変換部２４に供給する。このとき、ＰＩ制御部４３は、Ｐ制御（比例制御）およびＩ制御（積分制御）を用いて、制御電圧値Ｖｄ、Ｖｑを生成する。
【００９３】
座標変換部２４は、ＰＩ制御部２３から供給された制御電圧値Ｖｄ、Ｖｑに逆パーク変換を施して、回転座標の制御電圧値Ｖｄ、Ｖｑを固定座標の制御電圧値Ｖα、Ｖβに変換する。２相−３相変換部２５は、座標変換部２４から供給された２相の制御電圧値Ｖα、Ｖβに逆クラーク変換を施して、２相の制御電圧値Ｖα、Ｖβを３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に変換する。ＰＷＭ演算部２６は、２相−３相変換部２５から供給された３相の制御電圧値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に基づいて、インバータ１１を制御するためのパルス状の制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚを生成する。インバータ１１は、ＰＷＭ演算部２６から供給された制御信号ｕ、ｖ、ｗ、ｘ、ｙ、ｚに応じた駆動電力Ｕ、Ｖ、Ｗを生成してモータ１００に供給する。
【００９４】
このように、本実施の形態にかかるモータ駆動装置２では、トルクセンサ５１で検出されたモータ１００のトルク値Ｔｒｑをフィードバック値として用いることで、モータ１００をフィードバック制御している。なお、図７に示すインバータ１１、座標変換部２４、２相−３相変換部２５、及びＰＷＭ演算部２６の構成および動作については、実施の形態１で説明した場合と同様であるので、詳細な説明は省略する。
【００９５】
また、本実施の形態にかかるモータ駆動装置３は、異常検出部５５を用いてインバータ１１の異常を検出している。異常検出部５５には、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗに関する情報が供給される。駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗは、フィルタ３１でノイズが除去され、ＡＤコンバータ３２でデジタル信号に変換された後、異常検出部５５に供給される。また、異常検出部５５には、減算器５２から制御指令値Ｔｒｑ_ｒｅｆと回転速度Ｔｒｑとの偏差ΔＴｒｑが供給される。
【００９６】
本実施の形態にかかるモータ駆動装置において、異常検出部５５は、モータ１００に供給された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗの和が所定の電圧値以上であり、且つ、インバータ制御部５０に供給された制御指令値Ｔｒｑ_ｒｅｆとフィードバック値であるトルク値Ｔｒｑとの偏差ΔＴｒｑが所定値未満である場合、インバータ１１が異常であると判定する。更に、異常検出部５５は、インバータ１１の異常を所定の回数検出した場合、インバータ１１が故障であると判定している。以下、本実施の形態にかかるモータ駆動装置の異常検出の動作について詳細に説明する。
【００９７】
図８は、本実施の形態にかかるモータ駆動装置の異常検出の動作を説明するためのフローチャートである。以下では、モータ駆動装置３がモータ１００をフィードバック制御している際に、インバータ１１が異常状態となったことを異常検出部５５が検出する動作について説明する。
【００９８】
まず、図７に示すインバータ制御部５０の減算器５２は、トルクセンサ５１からモータのトルク値Ｔｒｑを取得する（ステップＳ４１）。そして、減算器５２は、モータ１００のトルク値Ｔｒｑの制御指令値Ｔｒｑ_ｒｅｆと、取得したトルク値Ｔｒｑとの偏差ΔＴｒｑ（＝Ｔｒｑ_ｒｅｆ−Ｔｒｑ）を算出して、偏差ΔＴｒｑを異常検出部５５に供給する。
【００９９】
異常検出部５５は、減算器５２から取得した偏差ΔＴｒｑを用いて、Ｑ＝｜ΔＴｒｑ｜を算出する（ステップＳ４２）。ここで、Ｑの値は、制御指令値とフィードバック値との偏差に対応したパラメータであり、Ｑの値が大きいほど、制御指令値とフィードバック値との偏差が大きいことを意味している。
【０１００】
次に、異常検出部５５は、インバータ１１から出力された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗを取得する（ステップＳ４３）。具体的には、インバータ１１から出力された駆動電力Ｕ、Ｖ、Ｗの電圧値Ｖｕ、Ｖｖ、Ｖｗは、フィルタ３１でノイズが除去され、ＡＤコンバータ３２でデジタル信号に変換された後、異常検出部５５に供給される。例えば、フィルタ３１はローパスフィルタを用いて構成することができる。なお、フィルタ３１は、ハードウェアで構成してもよく、ソフトウエアで構成してもよい。
【０１０１】
次に、異常検出部５５は、実施の形態１で説明した式１〜式３を用いて、Ｖｕ’、Ｖｖ’、Ｖｗ’を算出する（ステップＳ４４）。その後、異常検出部５５は、Ｐ＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜を算出する（ステップＳ４５）。このＰの値は、駆動電力Ｕ、Ｖ、Ｗの電圧値の和に対応しており、理論的には一定の値となる。なお、図８のステップＳ４４、Ｓ４５については、図３のステップＳ５、Ｓ６と同様である。
【０１０２】
次に、異常検出部５５は、上記のようにして求めた３相電圧値の和Ｐおよび制御偏差Ｑを用いて、インバータ１１が異常であるか否かを判定する（ステップＳ４６〜Ｓ５３）。なお、図８に示すステップＳ４６〜Ｓ５３の動作については、実施の形態１で説明した図３のステップＳ７〜Ｓ１４の動作と同様であるので、重複した説明は省略する。
【０１０３】
このように、本実施の形態にかかるモータ駆動装置３では、駆動電力Ｕ、Ｖ、Ｗの３相交流の電圧値Ｖｕ、Ｖｖ、Ｖｗの和Ｐに加えて、制御指令値とフィードバック値との偏差ΔＴｒｑを用いて、インバータ１１の異常の有無を判定している。つまり、インバータ１１でモータ１００を駆動した場合、制御指令値Ｔｒｑ_ｒｅｆとフィードバック値Ｔｒｑとの偏差ΔＴｒｑが大きくなるタイミング（換言すると、モータの制御量の変化が大きくなるタイミング）では、３相交流の電圧値の和Ｐ（＝｜Ｖｕ’＋Ｖｖ’＋Ｖｗ’｜）が大きくなる。
【０１０４】
本実施の形態ではこの点に着目し、駆動電力の３相交流の電圧値の和Ｐが大きい場合であっても、制御指令値Ｔｒｑ_ｒｅｆとフィードバック値Ｔｒｑとの偏差ΔＴｒｑが大きい場合にはインバータ１１が異常ではないと判定するようにしている。よって、インバータの異常の誤検出を抑制することができ、インバータの異常を精度よく検出することができる。
【０１０５】
上記で説明したように、本実施の形態にかかるモータ駆動装置３では、トルクセンサ５１で検出したトルク値を用いてモータをフィードバック制御している。例えば、ロボットのシステムではモータにトルクセンサを設ける構成が多い。よって、本実施の形態では、実施の形態１にかかるモータ駆動装置１のように電流センサを別途設けなくとも、既存のロボットのシステムを用いて、本実施の形態にかかるモータ駆動装置を構成することができるという利点がある。
【０１０６】
また、ヒューマノイドなどの繊細な制御が必要なロボットではトルク制御が必須であるが、例えば、実施の形態１にかかるモータ駆動装置１のように電流センサを設けると、応答の遅れが生じる場合がある。よって、ヒューマノイドなどにモータ駆動装置を設ける場合は、本実施の形態にかかるモータ駆動装置３のようにトルクセンサを備える構成が適している。
【０１０７】
以上で説明した本実施の形態にかかる発明により、精度よくインバータの異常を検出することが可能なモータ駆動装置を提供することができる。
【０１０８】
なお、本発明にかかるモータ駆動装置では、上記で説明した実施の形態１〜３の構成を適宜組み合わせてもよい。つまり、モータをフィードバック制御する際のフィードバック値として、モータに供給された駆動電力の電流値、モータの回転速度、及びモータのトルク値を２つ以上を組み合わせてもよい。また、異常検出部は、これらのフィードバック値を２つ以上組み合わせて、制御指令値とフィードバック値との偏差が所定値未満であるかを判定してもよい。
【０１０９】
以上、本発明を上記実施の形態に即して説明したが、本発明は上記実施の形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【０１１０】
１、２、３  モータ駆動装置
１０、４０、５０  インバータ制御部
１１  インバータ
１２  電流センサ
１３  ＡＤコンバータ
１４  ３相−２相変換部
１５  座標変換部
２１、２２、４２、５２  減算器
２３  ＰＩ制御部
２４  座標変換部
２５  ２相−３相変換部
２６  ＰＷＭ演算部
３０  角度センサ
３１  フィルタ
３２  ＡＤコンバータ
３５、４５、５５  異常検出部
３７  ゲートドライバ
４１  速度センサ
５１  トルクセンサ
１００  モータ
【図１】
2018088730.tif 000003
【図２】
2018088730.tif 000004
【図３】
2018088730.tif 000005
【図４】
2018088730.tif 000006
【図５】
2018088730.tif 000007
【図６】
2018088730.tif 000008
【図７】
2018088730.tif 000009
【図８】
2018088730.tif 000010