(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024077095
(43)【公開日】2024-06-07
(54)【発明の名称】モータの異常判定方法、判定装置、モータ制御装置、モータシステム及びプログラム
(51)【国際特許分類】
H02P 29/024 20160101AFI20240531BHJP
【FI】
H02P29/024
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022188935
(22)【出願日】2022-11-28
(71)【出願人】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】寺岡 進
(72)【発明者】
【氏名】海津 浩之
(72)【発明者】
【氏名】青木 政人
【テーマコード(参考)】
5H501
【Fターム(参考)】
5H501AA08
5H501BB08
5H501CC01
5H501DD04
5H501GG03
5H501HA08
5H501HB07
5H501HB16
5H501JJ03
5H501JJ12
5H501JJ16
5H501JJ23
5H501JJ24
5H501LL07
5H501LL10
5H501LL22
5H501LL23
5H501LL35
5H501LL53
5H501MM01
(57)【要約】
【課題】本開示は、モータの異常判定における誤検知を抑制するモータの異常判定方法を提供する。
【解決手段】モータの異常判定方法であって、(a)前記モータの動作状態を示す入力データから、共分散行列に基づいて、マハラノビス距離を算出する工程と、(b)前記マハラノビス距離の変化度を算出する工程と、(c)前記入力データから、前記モータにおける異常の程度を示す異常スコアを算出する工程と、(d)前記異常スコアが第1閾値より大きく、前記変化度が第2閾値より小さい場合に、前記入力データに異常が含まれると判断する工程と、を含むモータの異常判定方法。
【選択図】
図1
【特許請求の範囲】
【請求項1】
モータの異常判定方法であって、
(a)前記モータの動作状態を示す入力データから、共分散行列に基づいて、マハラノビス距離を算出する工程と、
(b)前記マハラノビス距離の変化度を算出する工程と、
(c)前記入力データから、前記モータにおける異常の程度を示す異常スコアを算出する工程と、
(d)前記異常スコアが第1閾値より大きく、前記変化度が第2閾値より小さい場合に、前記入力データに異常が含まれると判断する工程と、
を含む、
モータの異常判定方法。
【請求項2】
前記共分散行列は、事前に収集したデータに基づいて算出する、
請求項1に記載のモータの異常判定方法。
【請求項3】
前記モータの回転数が変更されると、改めて前記共分散行列を算出する、
請求項1に記載のモータの異常判定方法。
【請求項4】
前記異常スコアは、特異スペクトル変換法を用いて算出する、
請求項1に記載のモータの異常判定方法。
【請求項5】
前記入力データは、前記モータに供給する電流値及び電圧値である、
請求項1から請求項4のいずれか一項に記載のモータの異常判定方法。
【請求項6】
前記入力データは、前記モータに供給する電流値及びデューティ比である、
請求項1から請求項4のいずれか一項に記載のモータの異常判定方法。
【請求項7】
モータの異常判定を行う判定装置であって、
制御部を備え、
前記制御部は、
(a)前記モータの動作状態を示す入力データから、共分散行列に基づいて、マハラノビス距離を算出する工程と、
(b)前記マハラノビス距離の変化度を算出する工程と、
(c)前記入力データから、前記モータにおける異常の程度を示す異常スコアを算出する工程と、
(d)前記異常スコアが第1閾値より大きく、前記変化度が第2閾値より小さい場合に、前記入力データに異常が含まれると判断する工程と、
を実行する、
判定装置。
【請求項8】
モータを制御するモータ制御装置であって、
制御部を備え、
前記制御部は、
(a)前記モータの動作状態を示す入力データから、共分散行列に基づいて、マハラノビス距離を算出する工程と、
(b)前記マハラノビス距離の変化度を算出する工程と、
(c)前記入力データから、前記モータにおける異常の程度を示す異常スコアを算出する工程と、
(d)前記異常スコアが第1閾値より大きく、前記変化度が第2閾値より小さい場合に、前記入力データに異常が含まれると判断する工程と、
を実行する、
モータ制御装置。
【請求項9】
モータと、
制御部を備え、
前記制御部は、
(a)前記モータの動作状態を示す入力データから、共分散行列に基づいて、マハラノビス距離を算出する工程と、
(b)前記マハラノビス距離の変化度を算出する工程と、
(c)前記入力データから、前記モータにおける異常の程度を示す異常スコアを算出する工程と、
(d)前記異常スコアが第1閾値より大きく、前記変化度が第2閾値より小さい場合に、前記入力データに異常が含まれると判断する工程と、
を実行する、
モータシステム。
【請求項10】
モータの異常判定を行う判定装置が備えるコンピュータに、
(a)前記モータの動作状態を示す入力データから、共分散行列に基づいて、マハラノビス距離を算出する手順と、
(b)前記マハラノビス距離の変化度を算出する手順と、
(c)前記入力データから、前記モータにおける異常の程度を示す異常スコアを算出する手順と、
(d)前記異常スコアが第1閾値より大きく、前記変化度が第2閾値より小さい場合に、前記入力データに異常が含まれると判断する手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータの異常判定方法、判定装置、モータ制御装置、モータシステム及びプログラムに関する。
【背景技術】
【0002】
一般的な異常検知アルゴリズムはデータの中に潜む異常を見つけ出す。また、異常検知アルゴリズムは、明らかな変化点、外れ値等を異常として閾値を設け異常スコア等を算出し判定する。
【0003】
例えば、特許文献1には、モータ駆動機構の機械異常を判定する異常判定装置が開示されている。特許文献1には、異常判定装置が、時系列データのデータ異常を判定するデータ異常判定部と、データ異常と判定された時系列データの取得態様に基づいて、モータ駆動機構の機械異常を判定する機械異常判定部と、を備えることが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般的な異常検知アルゴリズムはデータの中の異常を検知している。したがって、一般的な異常検知アルゴリズムが異常を検知した際に、機器の異常と結びついていない場合は誤検知となる。例えば、異常と判断されるデータ点が外乱による測定上の異常である場合は、データの異常が機器の異常に由来しておらず誤検知となる。また、外乱による状態変化とは別に可変速モータの場合は、回転速度を意図的に変えた場合、それに伴う取得データの変化がある。したがって、回転速度を意図的に変えた場合に、誤検知しないよう工夫が必要となる。
【0006】
本開示は、モータの異常判定における誤検知を抑制するモータの異常判定方法を提供する。
【課題を解決するための手段】
【0007】
本開示の一態様では、モータの異常判定方法であって、(a)前記モータの動作状態を示す入力データから、共分散行列に基づいて、マハラノビス距離を算出する工程と、(b)前記マハラノビス距離の変化度を算出する工程と、(c)前記入力データから、前記モータにおける異常の程度を示す異常スコアを算出する工程と、(d)前記異常スコアが第1閾値より大きく、前記変化度が第2閾値より小さい場合に、前記入力データに異常が含まれると判断する工程と、を含むモータの異常判定方法が提供される。
【発明の効果】
【0008】
本開示のモータの異常判定方法によれば、モータの異常判定における誤検知を抑制できる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施形態に係るモータ制御装置が用いられるモータシステムの概略を示す図である。
【
図2】
図2は、本実施形態に係るモータ制御装置における処理を説明するフロー図である。
【
図3】
図3は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図4】
図4は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図5】
図5は、本実施形態に係るモータ制御装置における正常時における電流と電圧の関係を説明する図である。
【
図6】
図6は、本実施形態に係るモータ制御装置における異常時における電流と電圧の関係を説明する図である。
【
図7】
図7は、本実施形態に係るモータ制御装置における電流と電圧の分布について説明する図である。
【
図8】
図8は、本実施形態に係るモータ制御装置における電流と電圧の分布について説明する図である。
【
図9】
図9は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図10】
図10は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図11】
図11は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図12】
図12は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図13】
図13は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図14】
図14は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図15】
図15は、本実施形態に係るモータ制御装置における処理を説明する図である。
【
図16】
図16は、本実施形態に係るモータ制御装置における処理を説明する図である。
【発明を実施するための形態】
【0010】
≪モータシステム≫
以下、図面を参照して、本実施形態に係るモータ制御装置が用いられるモータシステムについて説明する。
【0011】
図1は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100が用いられるモータシステム1の概略を示す図である。
【0012】
モータシステム1は、モータ10と、モータ駆動制御システム20と、を備える。モータ10は、例えば、ファンを回転させるために用いられる。モータ駆動制御システム20は、モータ10を駆動制御する。
【0013】
モータ駆動制御システム20は、モータ制御装置100と、上位装置200と、を備える。
【0014】
<モータ制御装置100>
モータ制御装置100は、モータ駆動回路101と、センサ部102と、FG(Frequency Generator)信号生成部103と、を備える。また、モータ制御装置100は、電源電圧測定部110と、駆動制御信号生成部120と、通信部130と、電流計測部140と、回転速度計測部150と、異常検知制御部160と、データ管理部170と、を備える。
【0015】
なお、モータ制御装置100における駆動制御信号生成部120、回転速度計測部150、異常検知制御部160及びデータ管理部170は、例えば、プログラム処理装置(コンピュータ)によって実現される。より具体的には、プログラム処理装置は、CPU(Central Processing Unit)等のプロセッサと、RAM(Random Access Memory)及びROM(Read Only Memory)等の各種記憶装置を備える。また、プログラム処理装置は、カウンタ(タイマ)、AD(Analog-to-digital)変換回路、DA(Digital-to-analog)変換回路、クロック発生回路及び入出力I/F(Interface)回路等の周辺回路を備える。例えば、プロセッサ、記憶装置及び周辺回路のそれぞれは、バスや専用線を介して互いに接続される。プログラム処理装置は、例えば、マイクロコントローラである。プログラム処理装置において、CPUが、メモリに記憶されているプログラムに従って各種演算処理を実行することにより、処理を実現する。
【0016】
[モータ駆動回路101]
モータ駆動回路101は、駆動制御信号生成部120が生成する駆動制御信号Ctlに基づいてモータ10を駆動する。モータ駆動回路101は、例えば、プリドライブ回路と、インバータ回路と、を備える。
【0017】
プリドライブ回路は、駆動制御信号Ctlに基づいて、インバータ回路を駆動するための出力信号を生成する。プリドライブ回路は、生成した出力信号をインバータ回路に出力する。プリドライブ回路は、例えば、駆動制御信号Ctlに基づいて、インバータ回路の各スイッチ素子を駆動する駆動信号を生成して出力する。
【0018】
インバータ回路は、プリドライブ回路から出力された出力信号に基づいてモータ10に駆動信号を出力する。インバータ回路が出力した駆動信号は、モータ10が備えるコイルに通電する。インバータ回路は、例えば、直流電源の両端に設けられた2つのスイッチ素子、例えば、電界効果トランジスタ等のトランジスタの直列回路の対が、各相のコイルに接続される。2つのスイッチ素子の各対において、スイッチ素子同士の接続点に、モータ10の各相の端子が接続される。
【0019】
プリドライブ回路が生成した駆動信号が、インバータ回路を構成する各スイッチ素子をオン及びオフさせることにより、モータ10の各相に電力が供給されてモータ10のロータが回転する。
【0020】
モータ駆動回路101は、上位装置200が備える電源210から電力が供給される。モータ駆動回路101は、上位装置200が備える電源210に接続する。モータ駆動回路101は、電源210から供給される電力を、駆動制御信号Ctlに基づいて変換する。そして、モータ駆動回路101は、変換した電力をモータ10に供給する。
【0021】
[センサ部102]
センサ部102は、モータ10のロータの回転位置を検出する。センサ部102は、例えば、位置センサを備える。センサ部102は、例えば、ホール素子を備える。センサ部102のホール素子は、ロータの磁極を検出する。そして、センサ部102のホール素子は、ロータの回転に応じて電圧が変化するホール信号を出力する。
【0022】
なお、センサ部102の位置センサは、ホール素子に限らない。位置センサは、モータのロータの回転位置を検出することができるセンサであればよい。位置センサとして、例えば、エンコーダ等を適用してもよい。位置センサとしてエンコーダを用いる場合、センサ部102は、モータ制御装置100の構成要素の一つとしてではなく、モータ制御装置100とは互いに独立した装置として、モータ制御装置100の外部に設けられていてもよい。
【0023】
[FG信号生成部103]
FG信号生成部103は、モータ10の回転速度を示す回転速度信号としてのFG信号を生成する。FG信号生成部103は、例えば、センサ部102のホール素子から出力された検出信号(ホール信号)に基づいて、モータ10の回転速度に比例する周期(周波数)を有する信号(FG信号)を生成する。FG信号生成部103から出力されたFG信号は、上位装置200に入力される。なお、FG信号生成部103は、例えば、モータ10が搭載される基板(プリント基板)上に形成されたFGパターンによって実現してもよい。
【0024】
[電源電圧測定部110]
電源電圧測定部110は、上位装置200から供給される電力の電圧Vを測定する。言い換えると、電源電圧測定部110は電源電圧を測定する。電源電圧測定部110は、測定した電圧値Vmを異常検知制御部160に出力する。
【0025】
[駆動制御信号生成部120]
駆動制御信号生成部120は、モータ10の駆動を制御するための駆動制御信号Ctlを生成する。駆動制御信号生成部120は、例えば、上位装置200から駆動指令として出力された駆動指令信号である速度指令信号Svを受信する。駆動制御信号生成部120は、速度指令信号Svを受信した場合に、モータ10の回転速度が速度指令信号Svによって指定された目標回転速度と一致するように、駆動制御信号Ctlを生成する。
【0026】
駆動制御信号Ctlは、例えば、PWM(Pulse Width Modulation)信号である。
【0027】
駆動制御信号生成部120は、速度指令解析部121と、デューティ比決定部122と、通電制御部123と、を備える。
【0028】
(速度指令解析部121)
速度指令解析部121は、上位装置200から出力された速度指令信号Svを受信する。そして、速度指令解析部121は、速度指令信号Svによって指定された目標回転速度を解析する。例えば、速度指令信号Svが目標回転速度に対応するデューティ比を有するPWM信号である場合、速度指令解析部121は、速度指令信号Svのデューティ比を解析し、そのデューティ比に対応する回転速度の情報を目標回転速度として出力する。
【0029】
(デューティ比決定部122)
デューティ比決定部122は、速度指令解析部121から出力された目標回転速度と回転速度計測部150によって計測されたモータ10の回転速度の計測値とに基づいて、駆動制御信号CtlとしてのPWM信号のデューティ比を決定する。
【0030】
具体的には、デューティ比決定部122は、目標回転速度とモータ10の回転速度の計測値との差が小さくなるようにモータ10の制御値を算出する。そして、デューティ比決定部122は、算出した制御値に応じたPWM信号のデューティ比を決定する。例えば、デューティ比決定部122は、目標回転速度とモータ10の回転速度の計測値との差が小さくなるように、PID(Proportional-Integral-Differential)制御、PD制御及びPI制御のいずれかにより制御値を算出する。そして、デューティ比決定部122は、制御値に応じたPWM信号のデューティ比Dtyを決定する。
【0031】
デューティ比決定部122は、決定したデューティ比Dtyを、異常検知制御部160に出力する。
【0032】
(通電制御部123)
通電制御部123は、デューティ比決定部122によって決定したデューティ比を有するPWM信号を生成する。そして、通電制御部123は、生成したPWM信号を駆動制御信号Ctlとしてモータ駆動回路101に出力する。
【0033】
[通信部130]
通信部130は、外部と通信を行う。通信部130は、上位装置200と通信を行う。具体的には、通信部130は、制御装置としての上位装置200との間でデータの送受信を行う。通信部130は、送信部131と、受信部132と、通信制御部133と、を備える。
【0034】
送信部131は、上位装置200にデータを送信する。受信部132は、上位装置200からデータを受信する。送信部131及び受信部132のそれぞれは、通信制御部133により制御される。送信部131は、例えば、所定のシリアル信号を生成して通信線路に送信するシリアル通信用インタフェイス回路である。また、受信部132は、例えば、所定のシリアル信号を生成して通信線路からシリアル信号を受信するシリアル通信用インタフェイス回路である。
【0035】
通信制御部133は、送信部131及び受信部132のそれぞれを制御する。通信制御部133は、送信部131にエンコードしたデータを送る。また、通信制御部133は、受信部132から受信したデータをデコードする。通信制御部133が、送信部131及び受信部132を制御することにより、上位装置200との間でデータの送受信を行う。通信制御部133は、例えば、モータ制御装置100が備えるプロセッサによるプログラム処理によって実現される。
【0036】
通信制御部133は、上位装置200から駆動指令として出力された速度指令信号Svを受信する。そして、通信制御部133は、受信した速度指令信号Svを、速度指令解析部121に送信する。
【0037】
[電流計測部140]
電流計測部140は、モータ駆動回路101からモータ10に供給される電力の電流を測定する。電流計測部140は、例えば、カレントトランスを備える。電流計測部140は、モータ駆動回路101からモータ10に供給される電力の電流を測定した電流値Imを、異常検知制御部160に出力する。
【0038】
[回転速度計測部150]
回転速度計測部150は、モータ10の回転速度を計測する。回転速度計測部150は、例えば、センサ部102におけるホール素子の検出信号(ホール信号)に基づいて、モータ10の回転速度を計測する。回転速度計測部150は、計測した回転速度Rmを異常検知制御部160に出力する。
【0039】
[異常検知制御部160]
異常検知制御部160は、モータ10の異常を検知する。異常検知制御部160は、電圧値Vm及び電流値Imに基づいて、モータ10の異常の発生を推定して、検知する。
【0040】
[データ管理部170]
データ管理部170は、データを管理する。
【0041】
<上位装置200>
次に、上位装置200について説明する。上位装置200は、モータ制御装置100に電源を供給する。また、上位装置200は、モータ制御装置100に回転速度を指示する。上位装置200は、電源210と、データ処理制御部220と、通信部230と、を備える。
【0042】
[電源210]
電源210は、モータ制御装置100に、モータ10を動作させるための電源を供給する。電源210は、直流電源である。電源210は、例えば、12V(ボルト)の電力を、モータ制御装置100に供給する。
【0043】
[データ処理制御部220]
データ処理制御部220は、モータ制御装置100に、モータ10の目標となる回転速度(目標回転速度)を指示する。データ処理制御部220は、通信部230を介して、モータ制御装置100に、速度指令信号Svを送信する。データ処理制御部220は、モータ制御装置100に、速度指令信号Svを送信することにより、モータ制御装置100に目標となる回転速度(目標回転速度)を指示する。
【0044】
[通信部230]
通信部230は、モータ制御装置100との間で通信を行う。通信部230は、モータ制御装置100における通信部130と通信する。通信部230は、通信部130における送信部131から送信された信号を受信信号Rxとして受信する。また、通信部230は、送信信号Txを、通信部130における受信部132に送信する。通信部230は、例えば、所定のシリアル信号を生成して通信線路からシリアル信号を送受信するシリアル通信用インタフェイス回路である。
【0045】
<異常検知制御部における処理>
次に、異常検知制御部160が行う処理について説明する。異常検知制御部160が行う処理を説明することにより、モータ制御装置100が行うモータ10の異常を判定するモータの異常判定方法を含む工程について説明する。また、モータ制御装置100が備えるコンピュータが実行するプログラムの手順について説明する。
図2は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100における処理を説明するフロー図である。
【0046】
発明者らは、モータ10の異常を判定するために、モータ10の動作状態を示す変数の変動を検出するのみでは、誤検出する場合があることを見いだした。そして、発明者らは、モータ10の動作状態を示す変数の変動に注目し、変動の変化度を考慮することにより、誤検出を抑制できることを見いだした。
【0047】
異常検知制御部160は、モータ10の動作状態を示す入力データとして、電源電圧を示す電圧値及びモータ10に供給される電流の電流値を用いる。
【0048】
(ステップS10)
最初に、異常検知制御部160は初期化工程を行う。異常検知制御部160は、予め定められた長さの期間におけるモータ10の動作状態を示す複数の変数に関するデータ(入力データ)を取得する。具体的には、異常検知制御部160は、電源電圧である電圧値Vm及びモータ10に供給される電流の電流値Imのそれぞれのデータを取得する。異常検知制御部160は、例えば、予め定められた長さの期間における電圧値Vm及び電流値Imのそれぞれをデータ管理部170に保存する。例えば、異常検知制御部160は、N個の電圧値Vm及び電流値Imを取得する。Nは正の整数である。Nは、例えば、2000である。
【0049】
ステップS10において取得したN個の電圧値VmをまとめてXと表す。また、N個の電圧値Vmにおけるi番目の電圧値VmをX(i)とする。ただし、iは1以上N以下の整数である。また、ステップS10において取得したN個の電流値ImをまとめてYと表す。N個の電流値Imにおけるi番目の電流値Imを、Y(i)とする。ただし、iは1以上N以下の整数である。
【0050】
Xの平均をμx、分散をσx2、Yの平均をμy、分散をσy2、XとYの共分散をσxy2とする。
【0051】
平均μx、分散σx2、平均μy、分散σy2及び共分散σxy2のそれぞれは、式1により計算される。
【0052】
【0053】
分散共分散行列Σは、式2により表される。
【0054】
【0055】
式2により算出した分散共分散行列Σと、Xの平均μx、Yの平均μyを用いて、以降の計算を行う。
【0056】
ステップS10において、事前に収集したデータに基づいて、分散共分散行列Σ、Xの平均μx及びYの平均μyを算出する。
【0057】
(ステップS20)
次に、異常検知制御部160は、動作データ解析工程を実行する。異常検知制御部160は、動作データ解析工程において、マハラノビス距離の変化度と、モータの異常の程度を示す異常スコアと、を算出する。異常検知制御部160は、ステップS10において算出した分散共分散行列Σと、Xの平均μx、Yの平均μyを用いて、現時点の入力データを用いた、マハラノビス距離の変化度と、異常スコアを算出する。
【0058】
(マハラノビス距離の変化度の算出)
異常検知制御部160は、ステップS10で求めた分散共分散行列Σと、Xの平均μx、Yの平均μyを用いて、マハラノビス距離を算出する。
【0059】
時刻Tにおける電圧値VmをXm(T)と表す。時刻Tにおける電流値Imを、Ym(T)とする。なお、TはNより大きい整数である。
【0060】
時刻Tにおけるマハラノビス距離をDm(T)とすると、マハラノビス距離Dm(T)は、式3により計算される。
【0061】
【0062】
そして、時刻T-1におけるマハラノビス距離をDm(T-1)とすると、マハラノビス距離の変化度dDm(T)は式4により計算される。
【0063】
【0064】
(異常スコアの算出)
[特異スペクトル変換法]
異常スコアは、特異スペクトル変換法により算出する。特異スペクトル変換法について説明する。
図15は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100における処理を説明する図である。
図15は、特異スペクトル変換法について説明する図である。
【0065】
最初に、異常検知制御部160は、移動化平均のように時間窓を使ってデータを行列に格納する。異常検知制御部160は、電流値Imを用いて、異常スコアを計算する。異常検知制御部160は、例えば、時間窓の窓関数を行、スライド数を列とする行列を算出する。異常検知制御部160は、時刻Tの前後で、履歴行列及びテスト行列を用意する。次に、異常検知制御部160は、履歴行列及びテスト行列のそれぞれについて特異値分解を行う。そして、異常検知制御部160は、履歴行列及びテスト行列のそれぞれについて、左特異ベクトルを算出する。
【0066】
履歴行列をAh、テスト行列をAtとする。異常検知制御部160は、履歴行列Ahについて、式5を満たす左特異ベクトルUhと、右特異ベクトルVhを算出する。また、異常検知制御部160は、テスト行列Atについて、式6を満たす左特異ベクトルUtと、右特異ベクトルVtを算出する。
【0067】
【0068】
【0069】
そして、異常検知制御部160は、履歴行列Ahにおける左特異ベクトルUhの最大値Uhmと、テスト行列Atにおける左特異ベクトルUtの最大値Utmを用いて、式7により、異常スコアSeを算出する。
【0070】
【0071】
なお、異常スコアSeの算出は、特異スペクトル変換法に限らない。以下において、異常スコアSeの算出を累積和法、LOF(Local Outlier Factor)法により算出する方法について説明する。
【0072】
[累積和法]
累積和法は、式8に示す変化度を定義し、入力データ毎に算出される変化度の累積和を求めた値を異常スコアとする。時刻tにおける測定値x(t)を用いて式8により、時刻tにおける変化度Sd(t)を算出する。測定値x(t)は、例えば、時刻tにおける電流値Imである。ただし、tは1以上T以下の整数である。
【0073】
【0074】
Rは異常時の振れ幅、σは正常時の標準偏差、μは正常時の平均値である。
【0075】
そして、式9に基づいて、求めた変化度Sd(t)に基づいて時刻1から時刻Tまで式9の漸化式を繰り返し計算することにより、累積和を算出する。なお、Se2(0)は0とする。そして、算出したSe2(T)を時刻Tにおける異常スコアSe2(T)とする。なお、max{a,b}は、a又はbの値の大きい方を返す関数である。すなわち、max{0,Se2(t-1)}は、Se2(t-1)が負又は0の場合は0、Se2(t-1)が正の場合はSe2(t-1)を返す。
【0076】
【0077】
[LOF法]
LOF(Local Outlier Factor)法は、データ密度の比を異常度に盛り込んだ局所外れ値検知方法である。
図16は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100における処理を説明する図である。
図16は、LOF法について説明する図である。
【0078】
LOF法は、例えば、
図16のようにデータの密度に差がある場合において、中心からの距離が同じでも、データの密度が高いところは正常である可能性が高く、データの密度が低いところは異常である可能性が高いという考え方に基づいている。言い換えると、LOF法は、データ密度が疎の箇所は異常の確率が高いという考えに基づいている。したがって、LOF法は、データ密度が疎であれば異常スコアを高くする。
【0079】
LOF法における異常スコアの計算方法について説明する。LOF法において、異常度の算出は、(1)最初に、入力データ点xから近い順にk個の点(q(i))を抽出する。ただし、iは1以上k以下の点である。そして、抽出したk個の点と入力データ点との距離の合計を算出する。(2)次に、k個の点q(i)のそれぞれについて、点q(i)から近い順にk個の点r(i、j)を抽出する。ただし、jは1以上k以下の整数である。そして、k個の点q(i)のそれぞれについて、点q(i)から点r(i、j)までの距離を合計する。そして、(1)及び(2)で求めた距離の比を求めて異常スコアSe3とする。異常スコアSe3をまとめると下記のようになる。
【0080】
【0081】
(ステップS30)
次に、異常検知制御部160は、ステップS20で算出した異常スコアが閾値より大きいかどうか判定する。ステップS20で算出した異常スコアが閾値より大きい場合(ステップS30のYES)、異常検知制御部160は、ステップS40に処理を進める。ステップS20で算出した異常スコアが閾値以下である場合(ステップS30のNO)、異常検知制御部160は、ステップS60に処理を進める。なお、ステップS30における閾値は第1閾値の一例である。
【0082】
(ステップS40)
次に、異常検知制御部160は、ステップS20で算出したマハラノビス距離の変化度が閾値より小さいかどうか判定する。ステップS20で算出したマハラノビス距離の変化度が閾値より小さい場合(ステップS40のYES)、異常検知制御部160は、ステップS50に処理を進める。ステップS20で算出したマハラノビス距離の変化度が閾値より大きい場合(ステップS40のNO)、異常検知制御部160は、ステップS60に処理を進める。なお、ステップS40における閾値は第2閾値の一例である。
【0083】
(ステップS50)
異常検知制御部160は、ステップS30において異常スコアが閾値より大きいと判定し、かつ、ステップS40において、マハラノビス距離の変化度が閾値より小さいと判定した場合、モータが異常であると判定する。そして、処理を終了する。
【0084】
(ステップS60)
異常検知制御部160は、処理を終了するかどうか判定する。処理を終了する場合(ステップS60のYES)、異常検知制御部160は、処理を終了する。処理を終了しない場合、言い換えると、処理を継続する場合(ステップS60のNO)、異常検知制御部160は、ステップS70に処理を進める。
【0085】
(ステップS70)
異常検知制御部160は、回転速度が変更されたかどうか判定する。異常検知制御部160は、例えば、上位装置200からモータ制御装置100に回転速度の指示があったか否かを判定する。回転速度が変更された場合(ステップS70のYES)、異常検知制御部160は、ステップS10に戻って、初期化工程から処理を行う。回転速度が変更されていない場合(ステップS70のNO)、異常検知制御部160は、ステップS20に戻って処理を進める。
【0086】
回転速度が変更された場合(ステップS70のYES)、異常検知制御部160は、新たに平均及び分散共分散行列を算出してから処理を進める。回転速度が変更されていない場合(ステップS70のNO)、異常検知制御部160は、平均及び分散共分散行列を変更せずに、現状使用している平均及び分散共分散行列を継続して使用する。
【0087】
<モータ制御装置の動作結果>
次に、本実施形態に係るモータ制御装置の一例であるモータ制御装置100を動作させたときの動作結果について説明する。
【0088】
図3及び
図4は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100の動作結果について説明する図である。
図3及び
図4は、モータ10にファンを取り付けて、モータシステム1をファンモータとして使用した際の動作結果について示す図である。
【0089】
図3及び
図4のそれぞれの横軸はモータ10の運転を開始してからの時間を示す。
図3及び
図4のそれぞれの縦軸は電流値又は電圧値を示す。なお、横軸の時間は、1単位20秒である。
【0090】
図3と
図4は異なるモータの動作結果を示す。以下において、
図3の結果をケース1、
図4の結果をケース2という場合がある。
図3における線Lv1は電圧値、線Li1は電流値を示す。
図4における線Lv2は電圧値、線Li2は電流値を示す。
【0091】
図3及び
図4のそれぞれにおいて、領域RN1及び領域RN2のそれぞれは、モータが正常であるのにかかわらず、電流値及び電圧値が大きく変化した領域を示している。領域RN1及び領域RN2のそれぞれは、外乱によるデータの異常が生じた領域である。また、領域RF1及び領域RF2のそれぞれは、実際にモータに故障予兆が生じてモータを停止させた領域を示している。なお、モータが正常であるか異常であるかは、アンデロン値に基づいて判定を行った。
【0092】
一般的な異常検知アルゴリズムを用いると、
図3及び
図4における領域RN1及び領域RN2のように、電流値と電圧値の時系列データで大きく値が変動すると、モータ本体は正常であるのにデータ上で異常判定されてしまう。したがって、変化点検知や外れ値検知のアルゴリズムを使用して、異常検知に掛けると、例えば、領域RN1及び領域RN2において、異常と判断され誤検知となる。
【0093】
ファンモータの場合、モータ本体は正常で電流値や電圧値に異常データが生じる要因は、例えば、別のファンモータを近くに設置する等のインペラーに掛かる負荷に影響を及ぼす場合が挙げられる。また、ファンモータ以外でも意図的に回転速度を変えた場合、電圧値、電流値は変化する。外部センサを使わず、電流値と電圧値で異常検知を行う場合これらの区別は困難である。
【0094】
また、
図5は、モータが正常なときの電圧と電流の関係を示す図である。
図6は、モータが異常なときの電圧と電流の関係を示す図である。
図5及び
図6に示すように、数十のファンモータの信頼性試験結果より一定回転数のもとでは、モータが正常時でも異常時でも電圧値と電流値の相関関係は保たれることが確認されている
【0095】
さらに、
図7に、
図3におけるケース1のグラフの全データを散布図で示す。
図8に、
図4におけるケース2のグラフの全データを散布図で示す。
【0096】
図7に示すように、ケース1の場合、データ群DG11とデータ群DG12に分離される。データ群DG11及びデータ群DG12のそれぞれにおいて、電流値と電圧値は相関している。なお、線Lmah1は、データ群DG11及びデータ群DG12のそれぞれにおいて、マハラノビス等高線を算出した結果を示している。
【0097】
図8に示すように、ケース2の場合、データ群DG21、データ群DG22及びデータ群DG23に分離される。データ群DG21、データ群DG22及びデータ群DG23のそれぞれにおいて、電流値と電圧値は相関している。なお、Lmah2は、データ群DG21及びデータ群DG22のそれぞれにおいて、マハラノビス等高線を算出した結果を示している。なお、点Pe2には、外乱により異常が発生した点が現れている。
【0098】
各々のデータ群に分離するタイミングは
図3における領域RN1及び
図4における領域RN2である。
図3における領域RN1及び
図4における領域RN2のそれぞれにおける変化点はモータ本体の異常に由来しておらず、外乱による状態の変化又は回転数を変化させたときに生じる変化点である。
【0099】
モータ本体の故障予兆は一つのデータ群の中で電圧と電流の相関が保たれている中で発生する。
図7におけるグラフであればデータ群DG12の中心から相関がある方向での距離、
図8におけるグラフであれば、データ群DG23の中心から相関がある方向での距離により判別できる。本実施形態に係るモータ制御装置100においては、データ群の変化点とデータ群の中での異常値をそれぞれ定義し、二重判定を行うことで誤検知を防ぎ、モータ本体由来の異常のみを検知する。
【0100】
データ群の分離の判定は、本来電圧と電流は相関があることを利用する。データ群の分離の判定は、ステップS20において算出するマハラノビス距離を用いる。マハラノビス距離は、相関を持っている方向では小さく、相関と直交する方向で距離が大きくなる。
【0101】
本実施形態に係るモータの異常判定方法では、正常な状態時のデータ群から平均値と分散共分散を予め算出する。そして、算出した数値のみ格納して利用する。算出した数値のみ格納して利用することにより、時系列で新たに入力されてくる電圧と電流値に対して、新たに平均及び分散共分散行列を求めることなく、マハラノビス距離を算出できる。なお、本実施形態に係るモータの異常判定方法では、試験開始から最初の2000点までのデータの平均と分散共分散行列を用いてマハラノビス距離を算出する。
【0102】
また、本実施形態に係るモータの異常判定方法では、特異スペクトル変換法を用いて異常スコアを算出する。
【0103】
図9は、ケース1におけるマハラノビス距離の計算結果を示す。線Lm1は、マハラノビス距離の計算結果を示す。
図10は、ケース1におけるマハラノビス距離の変化度の計算結果を示す。線Ldm1は、マハラノビス距離の変化度の計算結果を示す。
図11は、ケース1における異常スコアを算出した結果を示す。線Ls1は、異常スコアの計算結果を示す。
【0104】
同様に、
図12は、ケース2におけるマハラノビス距離の計算結果を示す。線Lm2は、マハラノビス距離の計算結果を示す。
図13は、ケース2におけるマハラノビス距離の変化度の計算結果を示す。線Ldm2は、マハラノビス距離の変化度の計算結果を示す。
図14は、ケース2における異常スコアを算出した結果を示す。線Ls2は、異常スコアの計算結果を示す。
【0105】
図11及び
図14に示すように、
図3の領域RN1及び
図4の領域RN2に対応する領域(矢印Pn1及び矢印Pn2)において、異常スコアは大きく変動する。したがって、異常スコアのみに基づいて閾値処理(ステップS30)を行うと、
図3の領域RN1及び
図4の領域RN2において異常と判定する。すなわち、誤検出が発生する。
【0106】
また、
図10及び
図13に示すように、
図3の領域RN1及び
図4の領域RN2に対応する領域(矢印Pn1及び矢印Pn2)において、マハラノビス距離の変化度も大きく変動する。一方、
図3の領域RF1及び
図4の領域RF2に対応する領域(矢印Pf1及び矢印Pf2)において、マハラノビス距離の変化度は小さい。したがって、マハラノビス距離の変化度の変動が小さいことを判定基準にいれる(ステップS40)ことによって、
図3の領域RN1及び
図4の領域RN2に対応する領域(矢印Pn1及び矢印Pn2)において誤検出を抑制できる。
【0107】
<まとめ>
本実施形態に係るモータの異常判定方法によれば、モータの異常判定における誤検知を抑制できる。
【0108】
なお、モータ制御装置100は、判定装置の一例である。
【0109】
なお、上述の実施形態において、モータ10の動作状態を示す入力データとして、電源電圧を示す電圧値及びモータ10に供給される電流の電流値を用いていたが、入力データは当該電圧値と電流値に限らない。例えば、入力データとして、モータ10に供給される電流の電流値及びモータ10に供給する電流又は電圧のデューティ比を用いてもよい。
【0110】
以上、モータ制御装置を実施形態により説明したが、本発明は上記の実施形態に限定されるものではない。他の実施形態の一部又は全部との組み合わせや置換などの種々の変形及び改良が、本発明の範囲内で可能である。
【符号の説明】
【0111】
1 モータシステム
10 モータ
20 モータ駆動制御システム
100 モータ制御装置
101 モータ駆動回路
102 センサ部
103 FG信号生成部
110 電源電圧測定部
120 駆動制御信号生成部
121 速度指令解析部
122 デューティ比決定部
123 通電制御部
130 通信部
131 送信部
132 受信部
133 通信制御部
140 電流計測部
150 回転速度計測部
160 異常検知制御部
170 データ管理部
200 上位装置
210 電源