(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118539
(43)【公開日】2024-09-02
(54)【発明の名称】異常検知方法、異常検知装置及びモータシステム
(51)【国際特許分類】
H02P 29/024 20160101AFI20240826BHJP
G05B 23/02 20060101ALI20240826BHJP
【FI】
H02P29/024
G05B23/02 302R
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023024869
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】寺岡 進
(72)【発明者】
【氏名】海津 浩之
(72)【発明者】
【氏名】青木 政人
【テーマコード(参考)】
3C223
5H501
【Fターム(参考)】
3C223AA23
3C223BA03
3C223CC03
3C223EB03
3C223FF04
3C223FF22
3C223FF24
3C223FF35
5H501AA08
5H501CC01
5H501HA08
5H501HB07
5H501HB16
5H501JJ03
5H501JJ12
5H501JJ16
5H501JJ17
5H501JJ18
5H501JJ22
5H501JJ23
5H501JJ24
5H501KK06
5H501LL01
5H501LL22
5H501LL23
5H501LL35
5H501LL53
(57)【要約】
【課題】本開示は、モータの異常判定における誤検知を抑制するモータの異常判定方法を提供する。
【解決手段】モータの異常を検知する異常検知方法であって、(a)前記モータの異常を検知するために使用する変数を算出する工程と、(b)前記変数に基づいて、前記モータの異常を検知する工程と、を含み、前記(a)工程は、前記モータが正常動作時に、所定の期間において、前記モータに関する特性値を基準データとして取得した複数個の前記基準データの最大値、最小値及び標準偏差を算出する工程と、前記最大値及び前記最小値に基づいて振れ幅を算出する工程と、を含み、前記(b)工程は、前記特性値を検査データとして取得した検査データの指数移動平均値を更新する工程と、前記検査データ、前記振れ幅、前記標準偏差及び前記指数移動平均値に基づいて、異常度を更新する工程と、前記異常度に基づいて前記モータの異常を検知する工程と、を含む異常検知方法。
【選択図】
図1
【特許請求の範囲】
【請求項1】
モータの異常を検知する異常検知方法であって、
(a)前記モータの異常を検知するために使用する変数を算出する工程と、
(b)前記変数に基づいて、前記モータの異常を検知する工程と、
を含み、
前記(a)工程は、前記(b)工程の前に、
(a-1)前記モータが正常動作時に、所定の期間において、前記モータに関する特性値を基準データとして複数個取得する工程と、
(a-2)取得した複数個の前記基準データの最大値、最小値及び標準偏差を算出する工程と、
(a-3)前記最大値及び前記最小値に基づいて、異常時における振れ幅を算出する工程と、
を含み、前記(a)工程において、前記変数として、前記標準偏差と前記振れ幅を算出し、
前記(b)工程は、
(b-1)前記特性値を検査データとして取得する工程と、
(b-2)前記検査データの指数移動平均値を更新する工程と、
(b-3)前記検査データ、前記振れ幅、前記標準偏差及び前記指数移動平均値に基づいて、異常度を更新する工程と、
(b-4)前記異常度に基づいて、前記モータの異常を検知する工程と、
を含む、
異常検知方法。
【請求項2】
前記特性値は、前記モータに供給される電力の電流値、電圧値、前記モータの回転数及びデューティ比のいずれかである、
請求項1に記載の異常検知方法。
【請求項3】
前記(b-3)工程において、
前記検査データと前記指数移動平均値との差を、前記振れ幅の半分を引いた値に前記振れ幅を掛けて、前記標準偏差の二乗で割って変化度を求め、
前記異常度に前記変化度を加えた値が零以上の場合は、前記異常度に前記変化度を加えた値を前記異常度として更新し、
前記異常度に前記変化度を加えた値が零未満の場合は、前記異常度を零に更新する、
請求項1又は請求項2のいずれかに記載の異常検知方法。
【請求項4】
前記(b-3)工程において、
前記検査データと前記指数移動平均値との差を、前記振れ幅の半分を足した値に前記振れ幅を掛けて、前記標準偏差の二乗で割って変化度を求め、
前記異常度から前記変化度を引いた値が零以上の場合は、前記異常度から前記変化度を引いた値を前記異常度として更新し、
前記異常度から前記変化度を引いた値が零未満の場合は、前記異常度を零に更新する、
請求項1又は請求項2のいずれかに記載の異常検知方法。
【請求項5】
前記(b-2)工程において、
前記指数移動平均値は、平滑化係数に前記検査データを掛けた値と、1から前記平滑化係数を引いた値に前記指数移動平均値を掛けた値との和により算出される値に更新される、
請求項1又は請求項2のいずれかに記載の異常検知方法。
【請求項6】
前記平滑化係数は、0.0005以上0.001以下である、
請求項5に記載の異常検知方法。
【請求項7】
モータの異常を検知する異常検知装置であって、
前記モータに関する特性値を取得する取得部と、
前記取得部が取得した特性値を処理する処理部と、
を備え、
前記処理部は、
(c)前記モータの異常を検知するために使用する変数を算出する手順と、
(d)前記変数に基づいて、前記モータの異常を検知する手順と、
を実行し、
前記処理部は、前記(d)手順を実行する前に、前記(c)手順として、
(c-1)前記モータが正常動作時に、所定の期間において、前記取得部から、前記モータに関する特性値を基準データとして複数個取得する手順と、
(c-2)取得した複数個の前記基準データの最大値、最小値及び標準偏差を算出する手順と、
(c-3)前記最大値及び前記最小値に基づいて、異常時における振れ幅を算出する手順と、
を実行して、前記変数として、前記標準偏差と前記振れ幅を算出し、
前記処理部は、前記(d)手順として、
(d-1)前記取得部から、前記特性値を検査データとして取得する手順と、
(d-2)前記検査データの指数移動平均値を更新する手順と、
(d-3)前記検査データ、前記振れ幅、前記標準偏差及び前記指数移動平均値に基づいて、異常度を更新する手順と、
(d-4)前記異常度に基づいて、前記モータの異常を検知する手順と、
を実行する、
異常検知装置。
【請求項8】
モータと、
前記モータの異常を検知する異常検知装置と、
を備えるモータシステムであって、
前記異常検知装置は、
前記モータに関する特性値を取得する取得部と、
前記取得部が取得した特性値を処理する処理部と、
を備え、
前記処理部は、
(c)前記モータの異常を検知するために使用する変数を算出する手順と、
(d)前記変数に基づいて、前記モータの異常を検知する手順と、
を実行し、
前記処理部は、前記(d)手順を実行する前に、前記(c)手順として、
(c-1)前記モータが正常動作時に、所定の期間において、前記取得部から、前記モータに関する特性値を基準データとして複数個取得する手順と、
(c-2)取得した複数個の前記基準データの最大値、最小値及び標準偏差を算出する手順と、
(c-3)前記最大値及び前記最小値に基づいて、異常時における振れ幅を算出する手順と、
を実行して、前記変数として、前記標準偏差と前記振れ幅を算出し、
前記処理部は、前記(d)手順として、
(d-1)前記取得部から、前記特性値を検査データとして取得する手順と、
(d-2)前記検査データの指数移動平均値を更新する手順と、
(d-3)前記検査データ、前記振れ幅、前記標準偏差及び前記指数移動平均値に基づいて、異常度を更新する手順と、
(d-4)前記異常度に基づいて、前記モータの異常を検知する手順と、
を実行する、
モータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、異常検知方法、異常検知装置及びモータシステムに関する。
【背景技術】
【0002】
特許文献1には、モータ駆動機構の機械異常を判定する異常判定装置が開示されている。特許文献1には、異常判定装置が、時系列データのデータ異常を判定するデータ異常判定部と、データ異常と判定された時系列データの取得態様に基づいて、モータ駆動機構の機械異常を判定する機械異常判定部と、を備えることが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般的な異常検知アルゴリズムはデータの中の変動を検知している。したがって、例えば、可変速モータにおいて回転速度を意図的に変えた場合、異常を誤検知する場合がある。また、モータが設置されている環境において、環境に漸次的な変化がある場合、異常を誤検知する場合がある。
【0005】
本開示は、モータの異常判定における誤検知を抑制する異常検知方法を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様では、モータの異常を検知する異常検知方法であって、(a)前記モータの異常を検知するために使用する変数を算出する工程と、(b)前記変数に基づいて、前記モータの異常を検知する工程と、を含み、前記(a)工程は、前記(b)工程の前に、(a-1)前記モータが正常動作時に、所定の期間において、前記モータに関する特性値を基準データとして複数個取得する工程と、(a-2)取得した複数個の前記基準データの最大値、最小値及び標準偏差を算出する工程と、(a-3)前記最大値及び前記最小値に基づいて、異常時における振れ幅を算出する工程と、を含み、前記(a)工程において、前記変数として、前記標準偏差と前記振れ幅を算出し、前記(b)工程は、(b-1)前記特性値を検査データとして取得する工程と、(b-2)前記検査データの指数移動平均値を更新する工程と、(b-3)前記検査データ、前記振れ幅、前記標準偏差及び前記指数移動平均値に基づいて、異常度を更新する工程と、(b-4)前記異常度に基づいて、前記モータの異常を検知する工程と、を含む異常検知方法が提供される。
【発明の効果】
【0007】
本開示のモータの異常検知方法によれば、モータの異常判定における誤検知を抑制できる。
【図面の簡単な説明】
【0008】
【
図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は、参考例のモータ制御装置の動作結果について説明する図である。
【発明を実施するための形態】
【0009】
≪モータシステム≫
以下、図面を参照して、本実施形態に係るモータ制御装置が用いられるモータシステムについて説明する。
【0010】
図1は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100が用いられるモータシステム1の概略を示す図である。
【0011】
モータシステム1は、モータ10と、モータ駆動制御システム20と、を備える。モータ10は、例えば、ファンを回転させるために用いられる。モータ駆動制御システム20は、モータ10を駆動制御する。
【0012】
モータ駆動制御システム20は、モータ制御装置100と、上位装置200と、を備える。
【0013】
<モータ制御装置100>
モータ制御装置100は、モータ駆動回路101と、センサ部102と、FG(Frequency Generator)信号生成部103と、を備える。また、モータ制御装置100は、電源電圧測定部110と、駆動制御信号生成部120と、通信部130と、電流計測部140と、回転速度計測部150と、異常検知制御部160と、データ管理部170と、を備える。
【0014】
なお、モータ制御装置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が、メモリに記憶されているプログラムに従って各種演算処理を実行することにより、処理を実現する。
【0015】
[モータ駆動回路101]
モータ駆動回路101は、駆動制御信号生成部120が生成する駆動制御信号Ctlに基づいてモータ10を駆動する。モータ駆動回路101は、例えば、プリドライブ回路と、インバータ回路と、を備える。
【0016】
プリドライブ回路は、駆動制御信号Ctlに基づいて、インバータ回路を駆動するための出力信号を生成する。プリドライブ回路は、生成した出力信号をインバータ回路に出力する。プリドライブ回路は、例えば、駆動制御信号Ctlに基づいて、インバータ回路の各スイッチ素子を駆動する駆動信号を生成して出力する。
【0017】
インバータ回路は、プリドライブ回路から出力された出力信号に基づいてモータ10に駆動信号を出力する。インバータ回路が出力した駆動信号は、モータ10が備えるコイルに通電する。インバータ回路は、例えば、直流電源の両端に設けられた2つのスイッチ素子、例えば、電界効果トランジスタ等のトランジスタの直列回路の対が、各相のコイルに接続される。2つのスイッチ素子の各対において、スイッチ素子同士の接続点に、モータ10の各相の端子が接続される。
【0018】
プリドライブ回路が生成した駆動信号が、インバータ回路を構成する各スイッチ素子をオン及びオフさせることにより、モータ10の各相に電力が供給されてモータ10のロータが回転する。
【0019】
モータ駆動回路101は、上位装置200が備える電源210から電力が供給される。モータ駆動回路101は、上位装置200が備える電源210に接続する。モータ駆動回路101は、電源210から供給される電力を、駆動制御信号Ctlに基づいて変換する。そして、モータ駆動回路101は、変換した電力をモータ10に供給する。
【0020】
[センサ部102]
センサ部102は、モータ10のロータの回転位置を検出する。センサ部102は、例えば、位置センサを備える。センサ部102は、例えば、ホール素子を備える。センサ部102のホール素子は、ロータの磁極を検出する。そして、センサ部102のホール素子は、ロータの回転に応じて電圧が変化するホール信号を出力する。
【0021】
なお、センサ部102の位置センサは、ホール素子に限らない。位置センサは、モータのロータの回転位置を検出することができるセンサであればよい。位置センサとして、例えば、エンコーダ等を適用してもよい。位置センサとしてエンコーダを用いる場合、センサ部102は、モータ制御装置100の構成要素の一つとしてではなく、モータ制御装置100とは互いに独立した装置として、モータ制御装置100の外部に設けられていてもよい。
【0022】
[FG信号生成部103]
FG信号生成部103は、モータ10の回転速度を示す回転速度信号としてのFG信号を生成する。FG信号生成部103は、例えば、センサ部102のホール素子から出力された検出信号(ホール信号)に基づいて、モータ10の回転速度に比例する周期(周波数)を有する信号(FG信号)を生成する。FG信号生成部103から出力されたFG信号は、上位装置200に入力される。なお、FG信号生成部103は、例えば、モータ10が搭載される基板(プリント基板)上に形成されたFGパターンによって実現してもよい。
【0023】
[電源電圧測定部110]
電源電圧測定部110は、上位装置200から供給される電力の電圧Vを測定する。言い換えると、電源電圧測定部110は電源電圧を測定する。電源電圧測定部110は、測定した電圧値Vmを異常検知制御部160に出力する。
【0024】
[駆動制御信号生成部120]
駆動制御信号生成部120は、モータ10の駆動を制御するための駆動制御信号Ctlを生成する。駆動制御信号生成部120は、例えば、上位装置200から駆動指令として出力された駆動指令信号である速度指令信号Svを受信する。駆動制御信号生成部120は、速度指令信号Svを受信した場合に、モータ10の回転速度が速度指令信号Svによって指定された目標回転速度と一致するように、駆動制御信号Ctlを生成する。
【0025】
駆動制御信号Ctlは、例えば、PWM(Pulse Width Modulation)信号である。
【0026】
駆動制御信号生成部120は、速度指令解析部121と、デューティ比決定部122と、通電制御部123と、を備える。
【0027】
(速度指令解析部121)
速度指令解析部121は、上位装置200から出力された速度指令信号Svを受信する。そして、速度指令解析部121は、速度指令信号Svによって指定された目標回転速度を解析する。例えば、速度指令信号Svが目標回転速度に対応するデューティ比を有するPWM信号である場合、速度指令解析部121は、速度指令信号Svのデューティ比を解析し、そのデューティ比に対応する回転速度の情報を目標回転速度として出力する。
【0028】
(デューティ比決定部122)
デューティ比決定部122は、速度指令解析部121から出力された目標回転速度と回転速度計測部150によって計測されたモータ10の回転速度の計測値とに基づいて、駆動制御信号CtlとしてのPWM信号のデューティ比を決定する。
【0029】
具体的には、デューティ比決定部122は、目標回転速度とモータ10の回転速度の計測値との差が小さくなるようにモータ10の制御値を算出する。そして、デューティ比決定部122は、算出した制御値に応じたPWM信号のデューティ比を決定する。例えば、デューティ比決定部122は、目標回転速度とモータ10の回転速度の計測値との差が小さくなるように、PID(Proportional-Integral-Differential)制御により制御値を算出する。なお、デューティ比決定部122は、PD(Proportional-Differential)制御又はPI(Proportional-Integral)制御のいずれかにより制御値を算出してもよい。そして、デューティ比決定部122は、制御値に応じたPWM信号のデューティ比Dtyを決定する。
【0030】
デューティ比決定部122は、決定したデューティ比Dtyを、異常検知制御部160に出力する。
【0031】
(通電制御部123)
通電制御部123は、デューティ比決定部122によって決定したデューティ比を有するPWM信号を生成する。そして、通電制御部123は、生成したPWM信号を駆動制御信号Ctlとしてモータ駆動回路101に出力する。
【0032】
[通信部130]
通信部130は、外部と通信を行う。通信部130は、上位装置200と通信を行う。具体的には、通信部130は、制御装置としての上位装置200との間でデータの送受信を行う。通信部130は、送信部131と、受信部132と、通信制御部133と、を備える。
【0033】
送信部131は、上位装置200にデータを送信する。受信部132は、上位装置200からデータを受信する。送信部131及び受信部132のそれぞれは、通信制御部133により制御される。送信部131は、例えば、所定のシリアル信号を生成して通信線路に送信するシリアル通信用インタフェイス回路である。また、受信部132は、例えば、通信線路から所定のシリアル信号を受信するシリアル通信用インタフェイス回路である。
【0034】
通信制御部133は、送信部131及び受信部132のそれぞれを制御する。通信制御部133は、送信部131にエンコードしたデータを送る。また、通信制御部133は、受信部132から受信したデータをデコードする。通信制御部133が、送信部131及び受信部132を制御することにより、上位装置200との間でデータの送受信を行う。通信制御部133は、例えば、モータ制御装置100が備えるプロセッサによるプログラム処理によって実現される。
【0035】
通信制御部133は、上位装置200から駆動指令として出力された速度指令信号Svを受信する。そして、通信制御部133は、受信した速度指令信号Svを、速度指令解析部121に送信する。
【0036】
[電流計測部140]
電流計測部140は、モータ駆動回路101からモータ10に供給される電力の電流を測定する。電流計測部140は、例えば、カレントトランスを備える。電流計測部140は、モータ駆動回路101からモータ10に供給される電力の電流を測定した電流値Imを、異常検知制御部160に出力する。
【0037】
[回転速度計測部150]
回転速度計測部150は、モータ10の回転速度を計測する。回転速度計測部150は、例えば、センサ部102におけるホール素子の検出信号(ホール信号)に基づいて、モータ10の回転速度を計測する。回転速度計測部150は、計測した回転速度Rmを異常検知制御部160に出力する。
【0038】
[異常検知制御部160]
異常検知制御部160は、モータ10の異常を検知する。異常検知制御部160は、電圧値Vm、電流値Im、モータ10の回転数Rm及びデューティ比Dtyのいずれかに基づいて、モータ10の異常の発生を推定して、検知する。
【0039】
[データ管理部170]
データ管理部170は、データを管理する。
【0040】
<上位装置200>
次に、上位装置200について説明する。上位装置200は、モータ制御装置100に電源を供給する。また、上位装置200は、モータ制御装置100に回転速度を指示する。上位装置200は、電源210と、データ処理制御部220と、通信部230と、を備える。
【0041】
[電源210]
電源210は、モータ制御装置100に、モータ10を動作させるための電力を供給する。電源210は、直流電源である。電源210は、例えば、12V(ボルト)の電力を、モータ制御装置100に供給する。
【0042】
[データ処理制御部220]
データ処理制御部220は、モータ制御装置100に、モータ10の目標となる回転速度(目標回転速度)を指示する。データ処理制御部220は、通信部230を介して、モータ制御装置100に、速度指令信号Svを送信する。データ処理制御部220は、モータ制御装置100に、速度指令信号Svを送信することにより、モータ制御装置100に目標となる回転速度(目標回転速度)を指示する。
【0043】
[通信部230]
通信部230は、モータ制御装置100との間で通信を行う。通信部230は、モータ制御装置100における通信部130と通信する。通信部230は、通信部130における送信部131から送信された信号を受信信号Rxとして受信する。また、通信部230は、送信信号Txを、通信部130における受信部132に送信する。通信部230は、例えば、所定のシリアル信号を生成して通信線路からシリアル信号を送受信するシリアル通信用インタフェイス回路である。
【0044】
<異常検知制御部における処理>
次に、異常検知制御部160が行う処理について説明する。異常検知制御部160が行う処理を説明することにより、モータ制御装置100が行うモータ10の異常を検知するモータの異常検知方法が含む工程について説明する。また、モータ制御装置100が備えるコンピュータが実行するプログラムの手順について説明する。
図2は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100における処理を説明するフロー図である。
【0045】
発明者らは、モータ10の異常を検知するのに、モータ10に関する特性値について、正常時における特性値の最大値と最小値との差を用いることにより、誤検出を抑制できることを見いだした。
【0046】
図2に示すように、モータ制御装置100における異常検知制御部160は、変数算出工程(ステップS10)と、異常検知工程(ステップS20)と、を実行する。異常検知制御部160は、変数算出工程(ステップS10)を、異常検知工程(ステップS20)の前に実行する。異常検知制御部160は、累積和法を用いて特性値の上振れを検出する。変数算出工程(ステップS10)及び異常検知工程(ステップS20)のそれぞれについて詳細を説明する。
【0047】
(ステップS10)
最初に、異常検知制御部160は、モータ10の異常を検知するために使用する変数を算出する(変数算出工程)。変数算出工程の詳細について説明する。
図3は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100における処理を説明するフロー図である。具体的には、
図3は、モータ制御装置100における異常検知制御部160が実行する変数算出工程について説明するフロー図である。
【0048】
変数算出工程(ステップS10)は、基準データ取得工程(ステップS11)と、統計量算出工程(ステップS12)と、振れ幅算出工程(ステップS13)と、を含む。なお、ステップS10の変数算出工程は、モータ10が正常に動作している状態で行う。
【0049】
(ステップS11)
異常検知制御部160は、モータ10が正常動作時に、所定の期間において、モータ10に関する特性値を基準データとして複数個取得する(基準データ取得工程)。異常検知制御部160は、所定の期間において、サンプリングされたモータ10に関する特性値を基準データとして複数個取得する。異常検知制御部160は、例えば、特性値を1000個取得する。モータ10に関する特性値としては、例えば、モータ10に供給される電力の電流値、電圧値、モータ10の回転数及びデューティ比のいずれかである。
【0050】
ここでは、モータ10の特性値を基準データとしてN個(Nは、2以上の整数)取得する場合について説明する。N個の基準データにおけるi番目の基準データを基準データxs(i)とする。ただし、iは1以上N以下の整数である。
【0051】
(ステップS12)
次に、異常検知制御部160は、取得した複数個の基準データについて統計量を算出する(統計量算出工程)。具体的には、異常検知制御部160は、複数個の基準データについて、統計値として最大値Maxs、最小値Mins及び標準偏差σsを算出する。
【0052】
異常検知制御部160は、N個の基準データ(基準データxs(i)、ただし、iは1以上N以下の整数)について、最大値Maxsと最小値Minsを算出する。具体的には、異常検知制御部160は、式1に基づいて最大値Maxsを算出する。また、異常検知制御部160は、式2に基づいて最小値Minsを算出する。
【0053】
【0054】
なお、max{}は、波括弧の間に含まれる数値において最大となる数値の値を返す関数である。
【0055】
【0056】
なお、min{}は、波括弧の間に含まれる数値において最小となる数値の値を返す関数である。
【0057】
また、異常検知制御部160は、標準偏差σsを算出するために、式3に基づいて平均μsを算出する。
【0058】
【0059】
そして、異常検知制御部160は、式4に基づいて標準偏差σsを算出する。
【0060】
【0061】
なお、最大値Maxs、最小値Mins及び標準偏差σsのそれぞれの算出方法については、上記の算出方法に限らず、適宜公知の算出方法を採用してもよい。
【0062】
(ステップS13)
次に、異常検知制御部160は、ステップS12において算出した統計量である最大値Maxs及び最小値Minsに基づいて、異常時における振れ幅Rsを算出する(振れ幅算出工程)。具体的には、異常検知制御部160は、最大値Maxs及び最小値Minsを用いて式5に基づいて振れ幅Rsを算出する。
【0063】
【0064】
ステップS10における変数算出工程において、異常検知制御部160は、モータ10の異常を検知するために使用する変数として、標準偏差σs及び振れ幅Rsを算出する。
【0065】
(ステップS20)
次に、異常検知制御部160は、ステップS10で算出した変数に基づいて、モータ10の異常を検知する(異常検知工程)。異常検知工程の詳細について説明する。
図4は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100における処理を説明するフロー図である。具体的には、
図4は、モータ制御装置100における異常検知制御部160が実行する異常検知工程について説明するフロー図である。
【0066】
異常検知工程(ステップS20)は、検査データ取得工程(ステップS21)と、移動平均算出工程(ステップS22)と、異常度算出工程(ステップS23)と、異常判定工程(ステップS24)と、を含む。なお、ステップS20の異常検知工程は、モータ10が動作しているときに、ステップS21からステップS24を繰り返して行う。
【0067】
(ステップS21)
異常検知制御部160は、モータ10が動作時に、サンプリングされたモータ10に関する特性値を検査データとして取得する(検査データ取得工程)。なお、モータ10に関する特性値は、ステップS10における変数算出工程において用いた特性値と同じ特性値を用いる。例えば、モータ10に関する特性値は、ステップS10における変数算出工程において用いたモータ10に供給される電力の電流値、電圧値、モータ10の回転数及びデューティ比のいずれかである。
【0068】
ここでは、異常検知制御部160がn番目に取得した検査データを検査データxi(n)とする。ただし、nは1以上の整数である。
【0069】
(ステップS22)
次に、異常検知制御部160は、ステップS21において取得した検査データの指数移動平均値を更新する(移動平均算出工程)。
【0070】
異常検知制御部160は、検査データの指数移動平均値を求める。n番目における指数移動平均値を指数移動平均値yi(n)とする。n番目における指数移動平均値yi(n)は、平滑化係数αと、n番目の検査データxi(n)と、n-1番目における指数移動平均値yi(n-1)と、を用いて式6に基づいて計算される。なお、αは、0以上1以下の定数である。
【0071】
【0072】
指数移動平均値yi(n)は、平滑化係数αに検査データxi(n)を掛けた値と、1から平滑化係数αを引いた値に指数移動平均値yi(n-1)を掛けた値との和により算出される。言い換えると、指数移動平均値yi(n)は、平滑化係数αに検査データxi(n)を掛けた値と、1から平滑化係数αを引いた値に指数移動平均値yi(n-1)を掛けた値との和により算出される値に更新される。
【0073】
(ステップS23)
次に、異常検知制御部160は、検査データxi(n)、振れ幅Rs、標準偏差σs及び指数移動平均値yi(n)に基づいて、異常度を更新する(異常度算出工程)。具体的には、異常検知制御部160は、ステップS21で取得した検査データxi(n)と、ステップS10で算出した振れ幅Rs及び標準偏差σsと、ステップS22で算出した指数移動平均値と、に基づいて、異常度を更新する
【0074】
異常検知制御部160は、式7に基づいて、変化度Sd(n)を算出する。
【0075】
【0076】
そして、異常検知制御部160は、式8に基づいて、異常度Se(n)を算出する。
【0077】
【0078】
なお、max{a,b}は、a又はbの値の大きい方を返す関数である。すなわち、max{0,Se(n-1)+Sd(n)}は、Se(n-1)+Sd(n)が負又は0の場合は0、Se(n-1)+Sd(n)が正の場合はSe(n-1)+Sd(n)を返す。
【0079】
(ステップS24)
次に、異常検知制御部160は、異常度Se(n)に基づいて、モータ10の異常を検知する(異常検知工程)。異常検知制御部160は、異常度Se(n)が所定の閾値より大きいときは、モータ10に異常が発生したと検知する。
【0080】
(ステップS25)
異常検知制御部160は、処理を終了するかどうか判定する。処理を終了する場合(ステップS25のYES)、異常検知制御部160は、処理を終了する。処理を終了しない場合、言い換えると、処理を継続する場合(ステップS25のNO)、異常検知制御部160は、ステップS21に戻って処理を繰り返す。
【0081】
<モータ制御装置の動作結果>
次に、本実施形態に係るモータ制御装置の一例であるモータ制御装置100を動作させたときの動作結果について説明する。
【0082】
[突発的な変化がある場合]
突発的な変化がある場合の例として、モータの指令速度に変化があった場合に、モータ制御装置100を動作させたときの動作結果について説明する。
図5及び
図6は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100の動作結果について説明する図である。
【0083】
なお、
図5及び
図6に示す動作結果において、モータ10に関する特性値として、モータ10に供給される電力の電流値を用いた。
図5は、モータ10に供給される電力の電流値を示す図である。
図5の横軸は時間、縦軸は電流値である。なお、時間の単位は時(h)、電流値の単位は任意単位である。
図6は、算出した異常度を示す図である。
図6の横軸は時間、縦軸は異常度である。なお、異常度の単位は任意単位である。
【0084】
図5における線Lraw1は、異常検知制御部160が取得した検査データを示す。
図5における線Lavg1は、異常検知制御部160において処理した検査データの指数移動平均値を示す。なお、平滑化係数αは、0.0003に設定した。
図6における線Lse1は、異常検知制御部160において算出した異常度を示す。
【0085】
図5及び
図6のそれぞれにおいて、矢印Pv1によりモータ10への指令速度に変化があった時刻を示す。
図5及び
図6のそれぞれにおいて、矢印Pna1及び矢印Pnb1のそれぞれにより、モータに不具合があった時刻を示す。
【0086】
図5において示すように、線Lraw1により示される検査データに追従して、線Lavg1により示される指数移動平均値が変化していることが分かる。また、
図6において示すように、矢印Pv1において、異常度は変化せずに、矢印Pna1及び矢印Pnb1のそれぞれにおいて、異常度が高くなっている。したがって、異常度について閾値処理することにより、異常を検知できる。
【0087】
[漸次的な変化がある場合]
漸次的な変化がある場合に、モータ制御装置100を動作させたときの動作結果について説明する。
図7及び
図8は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100の動作結果について説明する図である。
【0088】
なお、
図7及び
図8に示す動作結果において、モータ10に関する特性値として、モータ10に供給される電力の電流値を用いた。
図7は、モータ10に供給される電力の電流値を示す図である。
図7の横軸は時間、縦軸は電流値である。なお、時間の単位は時(h)、電流値の単位は任意単位である。
図8は、算出した異常度を示す図である。
図8の横軸は時間、縦軸は異常度である。なお、異常度の単位は任意単位である。
【0089】
図7における線Lraw2は、異常検知制御部160が取得した検査データを示す。
図7における線Lavg2は、異常検知制御部160において処理した検査データの指数移動平均値を示す。
図8における線Lse2は、異常検知制御部160において算出した異常度を示す。
【0090】
図7及び
図8のそれぞれにおいて、矢印Pna2により、モータに不具合があった時刻を示す。
【0091】
図7に示すように、検査データは時間が経つにつれて徐々に変化する。そして、
図7において示すように、線Lraw2により示される検査データに追従して、線Lavg2により示される指数移動平均値が変化していることが分かる。また、
図8において示すように、検査データが漸次的に変化している範囲において、異常度は変化せずに、矢印Pna2において、異常度が高くなっている。したがって、異常度について閾値処理することにより、異常を検知できる。
【0092】
[特性値の標準偏差及び平均値について]
本実施形態に係るモータ制御装置の一例であるモータ制御装置100を動作させたときにおけるモータ10の特性値について説明する。
図9及び
図10は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100の動作結果について説明する図である。具体的には、上述の[突発的な変化がある場合]における検査データにおいて、所定の区間でモータ10に供給される電力の電流値について、標準偏差及び平均値のそれぞれを算出した結果を示す。
【0093】
図9は、算出した標準偏差を示す図である。
図9における線Lstdは、算出した標準偏差を示す。
図9の横軸は時間、縦軸は電流値の標準偏差である。なお、時間の単位は時(h)、電流値の標準偏差の単位は任意単位である。
図10は、算出した平均値を示す図である。
図10における線Lavgは、算出した平均値を示す。
図10の横軸は時間、縦軸は平均値である。なお、平均値の単位は任意単位である。
【0094】
図9において示すように、標準偏差は、矢印Pv1、矢印Pna1及び矢印Pnb1のそれぞれで示す時刻において値が変動しているが、それ以外の範囲では略一定となっている。したがって、標準偏差の値の大きさに関しては、安定して動作している場合は略一定と考えてもよい。よって、異常検知制御部160は、変化度Sdを求める際に、正常運転時における特性値の標準偏差σsを用いる。
【0095】
一方、
図10において示すように、平均値は、矢印Pv1で示す時刻において値が変動して維持される。言い換えると、平均値は、例えば、指令速度が変更されると定常的に変化する。したがって、平均については、正常運転時における特性値の平均値を用いても、実際の平均と異なる場合がある。そこで、異常検知制御部160は、変化度Sdを求める際に、指数移動平均値yiを平均値として用いる。
【0096】
[平滑化係数αについて]
本実施形態に係るモータ制御装置の一例であるモータ制御装置100を動作させたときにおける平滑化係数αについて説明する。
図11及び
図12は、本実施形態に係るモータ制御装置の一例であるモータ制御装置100の動作結果について説明する図である。具体的には、
図11は、上述の[突発的な変化がある場合]における検査データにおいて、平滑化係数αを0.01にして算出した結果を示す。
図12は、上述の[突発的な変化がある場合]における検査データにおいて、平滑化係数αを0.0001にして算出した結果を示す。
【0097】
図11及び
図12は、算出した指数移動平均値を示す図である。
図11及び
図12の横軸は時間、縦軸は電流値である。なお、時間の単位は時(h)、電流値の単位は任意単位である。
【0098】
図11において示すように、平滑化係数αを0.01とすると、線Lavg3により示される指数移動平均値が検査データに過剰に追従する。指数移動平均値が検査データに過剰に追従するため、平滑化係数αを0.01にすると、異常度が全ての範囲でゼロ付近となり、異常を検出できなかった。
【0099】
また、
図12において示すように、平滑化係数αを0.0001とすると、線Lavg4により示される指数移動平均値が検査データに追従するのに時間がかかった。指数移動平均値が検査データに追従するのに時間がかかるため、平滑化係数αを0.0001にすると、例えば、矢印Pna1に示す異常を検出できなかった。
【0100】
以上の結果より、平滑化係数αは、特性値の変化の度合いに応じて、異常が検知できるように適宜定める。例えば、平滑化係数αは、0.0001以上0.005以下の範囲において定めてもよい。また、例えば、平滑化係数αは、0.0005以上0.001以下の範囲において定めるとよりよい。
【0101】
<まとめ>
本実施形態に係るモータ制御装置によれば、モータの異常判定における誤検知を抑制できる。
【0102】
例えば、参考例のモータ制御装置として、上述の[突発的な変化がある場合]を例にして、
図13を用いて説明する。
【0103】
参考例のモータ制御装置として、例えば、最初に
図13の線Lavga1として示すように、検査データの平均値を求めると、矢印Pv1に示す時刻において、再度線Lavgb1のように検査データの平均値を求めないと、突発的な変化に対応できない。
【0104】
また、例えば、参考例のモータ制御装置として、上述の[漸次的な変化がある場合]を例にして、
図14を用いて説明する。
【0105】
参考例のモータ制御装置として、例えば、最初に
図14の線Lavga2として示すように、検査データの平均値を求めると、時間が経つについて、検査データと平均値との解離が大きくなる。
【0106】
本実施形態に係るモータ制御装置によれば、突発的に特性値が変化しても、漸次的に特性値が変化しても、モータの異常判定における誤検知を抑制できる。
【0107】
<変形例>
ステップS23において、変化度として、変化度Sd(n)に換えて、変化度Sd2(n)を算出し、異常度として、異常度Se(n)に換えて、異常度Se2(n)を算出してもよい。言い換えると、異常検知制御部160は、累積和法を用いて特性値の下振れを検出するようにしてもよい。異常検知制御部160は、式9に基づいて、変化度Sd2(n)を算出する。
【0108】
【0109】
そして、異常検知制御部160は、式10に基づいて、異常度Se2(n)を算出する。
【0110】
【0111】
なお、max{a,b}は、a又はbの値の大きい方を返す関数である。すなわち、max{0,Se2(n-1)-Sd2(n)}は、Se2(n-1)-Sd2(n)が負又は0の場合は0、Se2(n-1)-Sd2(n)が正の場合はSe(n-1)-Sd2(n)を返す。
【0112】
なお、上述の実施形態において、モータ10の動作状態を示す入力データとして、モータ10に供給される電流の電流値を用いていたが、入力データは当該電流値に限らない。例えば、入力データとして、モータに供給される電力の電圧値、モータ10の回転数及びデューティ比のいずれかを用いてもよい。
【0113】
以上、モータ制御装置を実施形態により説明したが、本発明は上記の実施形態に限定されるものではない。他の実施形態の一部又は全部との組み合わせや置換などの種々の変形及び改良が、本発明の範囲内で可能である。
【符号の説明】
【0114】
1 モータシステム
10 モータ
20 モータ駆動制御システム
100 モータ制御装置
101 モータ駆動回路
102 センサ部
103 FG信号生成部
110 電源電圧測定部
120 駆動制御信号生成部
121 速度指令解析部
122 デューティ比決定部
123 通電制御部
130 通信部
131 送信部
132 受信部
133 通信制御部
140 電流計測部
150 回転速度計測部
160 異常検知制御部
170 データ管理部
200 上位装置
210 電源