IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ミネベア株式会社の特許一覧

特許7498613モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法
<>
  • 特許-モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法 図1
  • 特許-モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法 図2
  • 特許-モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法 図3
  • 特許-モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法 図4
  • 特許-モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法 図5
  • 特許-モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法 図6
  • 特許-モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-04
(45)【発行日】2024-06-12
(54)【発明の名称】モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法
(51)【国際特許分類】
   H02P 29/00 20160101AFI20240605BHJP
【FI】
H02P29/00
【請求項の数】 11
(21)【出願番号】P 2020122786
(22)【出願日】2020-07-17
(65)【公開番号】P2022019142
(43)【公開日】2022-01-27
【審査請求日】2023-05-16
(73)【特許権者】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】海津 浩之
(72)【発明者】
【氏名】青木 政人
(72)【発明者】
【氏名】北野 高通
(72)【発明者】
【氏名】鈴木 貴大
(72)【発明者】
【氏名】佐久間 智敬
(72)【発明者】
【氏名】岡淵 良久
【審査官】佐藤 彰洋
(56)【参考文献】
【文献】特開2018-051721(JP,A)
【文献】特開2020-024139(JP,A)
【文献】特開2018-146448(JP,A)
【文献】特開2018-088179(JP,A)
【文献】特開2018-132809(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/00
(57)【特許請求の範囲】
【請求項1】
モータの駆動を制御するための駆動制御信号を生成する駆動制御信号生成部と、
前記駆動制御信号に基づいて前記モータを駆動するモータ駆動回路と、
上位装置と通信を行う通信部と、
前記モータの動作に関連する計測データを生成する計測データ生成部と、
前記計測データに、前記モータの動作状態を示す所定の識別情報を付して教師データを生成する教師データ生成部と、
前記教師データを用いて機械学習を行うことにより、前記モータの動作状態を判定するための学習済みモデルを生成する機械学習部と、
前記学習済みモデルを用いて、前記モータの動作状態を監視する監視制御部と、を有し、
前記教師データ生成部は、前記通信部が前記教師データの取得を指示する指令を前記上位装置から受信した場合に、前記教師データの生成を開始する
モータ駆動制御装置。
【請求項2】
請求項1に記載のモータ駆動制御装置において、
前記駆動制御信号生成部は、前記モータがエージング動作を行うように前記駆動制御信号を生成し、
前記教師データ生成部は、前記エージング動作の完了後に生成された前記計測データに基づいて、前記教師データを生成する
モータ駆動制御装置。
【請求項3】
請求項2に記載のモータ駆動制御装置において、
前記駆動制御信号生成部は、前記通信部が前記上位装置から前記教師データの取得を指示する指令を受信した場合に、前記モータが前記エージング動作を行うように前記駆動制御信号を生成する
モータ駆動制御装置。
【請求項4】
請求項1乃至3の何れか一項に記載のモータ駆動制御装置において、
前記監視制御部は、前記モータの動作状態が所定の条件を満足した場合に、前記教師データ生成部に対して前記教師データの取得を指示する
モータ駆動制御装置。
【請求項5】
請求項1乃至4の何れか一項に記載のモータ駆動制御装置において、
前記教師データを記憶する教師データ記憶部を更に有し、
前記教師データ生成部は、前記教師データ記憶部に記憶されている前記教師データを、新たに生成した前記教師データによって更新する
モータ駆動制御装置。
【請求項6】
請求項1乃至5の何れか一項に記載のモータ駆動制御装置において、
前記計測データは、前記モータの回転速度、前記モータの駆動電流、および温度のうち少なくとも一つの計測値を含み、
前記所定の識別情報は、前記モータが正常または異常であることを示す情報であり、
前記学習済みモデルは、前記計測データを入力として前記モータが異常状態であるか否かを判定するためのプログラムであって、
前記監視制御部は、前記学習済みモデルを用いて、前記計測データに基づいて前記モータが異常状態であるか否かを判定することにより、前記モータの動作状態を監視する
モータ駆動制御装置。
【請求項7】
請求項6に記載のモータ駆動制御装置において、
前記監視制御部は、前記モータが異常状態であることを検出したとき、異常を検出したことを示す情報を前記通信部から出力する
モータ駆動制御装置。
【請求項8】
請求項1乃至7の何れか一項に記載のモータ駆動制御装置において、
前記計測データ生成部は、前記計測データを前記上位装置から前記通信部を介して取得して計測データ記憶部に記憶し、
前記教師データ生成部は、前記上位装置から取得した前記計測データを含む前記計測データを用いて前記学習データを生成する、
モータ駆動制御装置。
【請求項9】
請求項1乃至の何れか一項に記載のモータ駆動制御装置と、
前記モータ駆動制御装置と通信を行う上位装置と、を備え、
前記上位装置は、前記モータ駆動制御装置に対して、前記教師データの取得を指示する
指令を送信する
モータ駆動制御システム。
【請求項10】
請求項に記載のモータ駆動制御システムと、
前記モータと、
前記モータの回転力によって回転可能に構成されたインペラと、を備える
ファンシステム。
【請求項11】
モータの駆動を制御するための駆動制御信号を生成する駆動制御信号生成ステップと、
前記駆動制御信号に基づいて前記モータを駆動するモータ駆動ステップと、
上位装置と通信を行う通信ステップと、
前記モータの動作に関連する計測データを生成する計測データ生成ステップと、
前記計測データに、前記モータの動作状態を示す所定の識別情報を付して教師データを生成する教師データ生成ステップと、
前記教師データを用いて機械学習を行うことにより、前記モータの動作状態を判定するための学習済みモデルを生成する機械学習ステップと、
前記学習済みモデルを用いて、前記モータの動作状態を監視する監視制御ステップと、を含み、
前記教師データ生成ステップは、前記通信ステップにおいて前記教師データの取得を指示する指令を前記上位装置から受信した場合に、前記教師データの生成を開始するステップを含む
モータ駆動制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ駆動制御装置、モータ駆動制御システム、ファンシステム、及びモータ駆動制御方法に関する。
【背景技術】
【0002】
従来、外部から教師データ(ラベル付きデータ)を入力して機械学習を行うモータ制御装置が知られている。例えば、特許文献1には、外部から提供された教師データを用いて学習する機械学習器と、機械学習器による学習結果に基づいてモータの電流指令を制御するモータ制御部とを備えたモータ制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6506219号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願発明者らは、サーバ等の情報処理装置に適用されるファンのモータを駆動するモータ駆動制御システムにおいて、モータ駆動制御装置が、自ら教師データを生成し、生成した教師データを用いて機械学習を行うことにより、モータの異常を検知するためのプログラム(学習済みモデル)を最適化することを検討した。
【0005】
このようなモータ駆動制御システムにおいて機械学習を行う場合、そのモータ駆動制御システムの実際の使用環境に応じた教師データを準備することが重要である。
【0006】
図7は、異なる使用環境におけるモータの駆動電流および回転速度の計測値の一例を示す図である。同図には、ファン(モータ)をシステムに適用する前の試験運転が行われる環境(量産環境)とファンを適用対象のシステム(サーバ)に適用した後の環境(実使用環境)における、モータの駆動電流(モータのコイルに流れる電流)とモータの回転速度の計測結果の一例がそれぞれ示されている。
【0007】
図7から理解されるように、モータの量産環境と実使用環境とでは、ファンが設置されたサーバの内部および外部の状態に起因する環境(気圧や温度等)の違いにより、同じ駆動電流を流した場合であってもモータの回転速度が相違する場合がある。そのため、モータの量産環境下で計測したデータを学習して生成した学習済みプログラムを実使用環境下で用いた場合、適切なモータ駆動制御を行うことができないおそれがある。
【0008】
例えば、モータの量産環境下でのモータの回転速度、駆動電流、および温度等の計測データにモータが正常であることを示す情報をラベリングした教師データを生成し、その教師データを機械学習することにより、計測データに基づいてモータが異常状態であるか否かを判定するためのプログラム(学習済みモデル)を生成する場合を考える。
【0009】
この場合において生成された学習済みモデルは、量産環境での計測データに基づく教師データを学習することによってパラメータがチューニングされたものであるため、実使用環境下でモータの異常検知を行うための最適なプログラムとは言えない。そのため、この学習済みモデルを用いて、ファンの実使用環境下においてモータの異常検知処理を行った場合、モータの異常状態を正確に検知することができず、適切なモータ駆動制御を行うことができないおそれがある。
【0010】
本発明は、上述した課題を解消するためのものであり、機械学習機能を備えたモータ駆動制御装置において、モータの使用環境に応じた適切なモータ駆動制御を実現することを目的とする。
【課題を解決するための手段】
【0011】
本発明の代表的な実施の形態に係るモータ駆動制御装置は、モータの駆動を制御するための駆動制御信号を生成する駆動制御信号生成部と、前記駆動制御信号に基づいて前記モータを駆動するモータ駆動回路と、外部と通信を行う通信部と、前記モータの動作に関連する計測データを生成する計測データ生成部と、前記計測データに、前記モータの動作状態を示す所定の識別情報を付して教師データを生成する教師データ生成部と、前記教師データを用いて機械学習を行うことにより、前記モータの動作状態を判定するための学習済みモデルを生成する機械学習部と、前記学習済みモデルを用いて、前記モータの動作状態を監視する監視制御部と、を有し、前記教師データ生成部は、前記通信部が前記教師データの取得を指示する指令を前記外部から受信した場合に、前記教師データの生成を開始することを特徴とする。
【発明の効果】
【0012】
本発明の一態様によれば、機械学習機能を備えたモータ駆動制御装置において、モータの使用環境に応じた適切なモータ駆動制御を行うことが可能となる。
【図面の簡単な説明】
【0013】
図1】本実施の形態に係るモータ駆動制御システムの構成の一例を示す図である。
図2】本実施の形態に係るファンシステムにおける上位装置およびモータ駆動制御装置の具体的な構成の一例を示す図である。
図3】本実施の形態に係る教師データの一例を示す図である。
図4】本実施の形態に係る学習済みモデルの一例を示す図である。
図5】本実施の形態に係るモータ駆動制御システムにおいて教師データが生成されるタイミングの一例を示すシーケンス図である。
図6】本実施の形態に係るモータ駆動制御システムにおいて教師データが生成されるタイミングの別の一例を示すシーケンス図である。
図7】異なる使用環境におけるモータの駆動電流および回転速度の計測値の一例を示す図である。
【発明を実施するための形態】
【0014】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
【0015】
〔1〕本発明の代表的な実施の形態に係るモータ駆動制御装置(10)は、モータ(50)の駆動を制御するための駆動制御信号(Sd)を生成する駆動制御信号生成部(11)と、前記駆動制御信号に基づいてモータ(50)を駆動するモータ駆動回路(19)と、外部と通信を行う通信部(15)と、前記モータの動作に関連する計測データ(300)を生成する計測データ生成部(23)と、前記計測データに、前記モータの動作状態を示す所定の識別情報を付して教師データ(310)を生成する教師データ生成部(24)と、前記教師データを用いて機械学習を行うことにより、前記モータの動作状態を判定するための学習済みモデル(320)を生成する機械学習部(25)と、前記学習済みモデルを用いて、前記モータの動作状態を監視する監視制御部(26)とを有し、前記教師データ生成部は、前記通信部が前記教師データの取得を指示する指令を前記外部から受信した場合に、前記教師データの生成を開始することを特徴とする。
【0016】
〔2〕上記〔1〕に記載のモータ駆動制御装置において、前記駆動制御信号生成部は、前記モータがエージング動作を行うように前記駆動制御信号を生成し、前記教師データ生成部は、前記エージング動作の完了後に生成された前記計測データに基づいて、前記教師データを生成してもよい。
【0017】
〔3〕上記〔2〕に記載のモータ駆動制御装置において、前記駆動制御信号生成部は、前記通信部が前記外部から前記教師データの取得を指示する指令を受信した場合に、前記モータが前記エージング動作を行うように前記駆動制御信号を生成してもよい。
【0018】
〔4〕上記〔1〕乃至〔3〕の何れか一項に記載のモータ駆動制御装置において、前記監視制御部は、前記モータの動作状態が所定の条件を満足した場合に、前記教師データ生成部に対して前記教師データの取得を指示してもよい。
【0019】
〔5〕上記〔1〕乃至〔4〕の何れか一項に記載のモータ駆動制御装置において、前記教師データを記憶する教師データ記憶部(31)を更に有し、前記教師データ生成部は、前記教師データ記憶部に記憶されている前記教師データを、新たに生成した前記教師データによって更新してもよい。
【0020】
〔6〕上記〔1〕乃至〔5〕の何れか一項に記載のモータ駆動制御装置において、前記計測データは、前記モータの回転速度、前記モータの駆動電流、および温度のうち少なくとも一つの計測値を含み、前記所定の識別情報は、前記モータが正常または異常であることを示す情報であり、前記学習済みモデルは、前記計測データを入力として前記モータが異常状態であるか否かを判定するためのプログラムであって、前記監視制御部は、前記学習済みモデルを用いて、前記計測データに基づいて前記モータが異常状態であるか否かを判定することにより、前記モータの動作状態を監視してもよい。
【0021】
〔7〕上記〔6〕に記載のモータ駆動制御装置において、前記監視制御部は、前記モータが異常状態であることを検出したとき、異常を検出したことを示す情報を前記通信部から出力してもよい。
【0022】
〔8〕本発明の代表的な実施の形態に係るモータ駆動制御システム(2)は、上記〔1〕乃至〔7〕の何れか一項に記載のモータ駆動制御装置(10)と、前記モータ駆動制御装置と通信を行う上位装置(4)と、を備え、前記上位装置は、前記モータ駆動制御装置に対して、前記教師データの取得を指示する指令を送信することを特徴とする。
【0023】
〔9〕本発明の代表的な実施の形態に係るファンシステム(1)は、上記〔8〕に記載のモータ駆動制御システム(2)と、前記モータ(50)と、前記モータの回転力によって回転可能に構成されたインペラ(51)とを備えることを特徴とする。
【0024】
〔10〕本発明の代表的な実施の形態に係るモータ駆動制御方法は、モータの駆動を制御するための駆動制御信号を生成する駆動制御信号生成ステップと、前記駆動制御信号に基づいて前記モータを駆動するモータ駆動ステップと、外部と通信を行う通信ステップと、前記モータの動作に関連する計測データを生成する計測データ生成ステップと、前記計測データに、前記モータの動作状態を示す所定の識別情報を付して教師データを生成する教師データ生成ステップと、前記教師データを用いて機械学習を行うことにより、前記モータの動作状態を判定するための学習済みモデルを生成する機械学習ステップと、前記学習済みモデルを用いて、前記モータの動作状態を監視する監視制御ステップと、を含み、前記教師データ生成ステップは、前記通信ステップにおいて前記教師データの取得を指示する指令を前記外部から受信した場合に、前記教師データの生成を開始するステップを含むことを特徴とする。
【0025】
2.実施の形態の具体例
以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
【0026】
≪実施の形態≫
図1は、本実施の形態に係るモータ駆動制御システムの構成の一例を示す図である。
図1に示されるモータ駆動制御システム2は、制御装置である1つの上位装置(外部の一例)4と1つ以上のモータ駆動制御装置10とを備え、上位装置4が各モータ駆動制御装置10を制御することにより、各モータ駆動制御装置10に接続されたモータ50を駆動するシステムである。
【0027】
モータ駆動制御システム2は、例えば、電気機器システムに用いられ、複数のファンの動作を1つの制御装置によって制御して、複数の冷却対象のそれぞれに対して送風するファンシステム1を構成している。本実施の形態に係るファンシステム1は、例えば、サーバ内の閉ざされた空間に配置されて、当該サーバを構成する各種の電子部品等を冷却する冷却システムを構成しているものとする。
【0028】
ファンシステム1は、例えば、4つの冷却対象A、B、C、Dに対応して設けられた4つのファン装置3a~3dと、各ファン装置3a~3d内のモータ50を駆動するための各種指令を各ファン装置3a~3dに対して送信する上位装置(制御装置の一例)4とを備えている。
【0029】
以下の説明において、各ファン装置3a~3dを区別しない場合には、「ファン装置3」とも称する。なお、本実施の形態では、ファンシステム1が4つのファン装置3a~3dを有する場合を例に挙げて説明するが、ファンシステム1が備えるファン装置3は1つ以上であればよく、その数は制限されない。また、図1において、上位装置4と各ファン装置3とを接続する通信線路が有線である場合が例示されているが、各ファン装置3a~3dと上位装置4との間の通信は無線通信であってもよい。
【0030】
上位装置4は、各ファン装置3の駆動を制御する制御装置である。例えば、ファンシステム1がサーバ用の冷却システムを構成している場合、上位装置4は、サーバとしての主たる機能を実現するためのプログラム処理装置である。
【0031】
例えば、上位装置4は、CPU等のプロセッサと、RAM,ROM等の各種記憶装置と、カウンタ(タイマ)、A/D変換回路、D/A変換回路、クロック発生回路、および入出力I/F回路等の周辺回路とが、バスや専用線を介して互いに接続された構成を有するプログラム処理装置(例えば、マイクロコントローラ)が、ファン装置3とともに一つの筐体内に収容されることによって実現されている。
【0032】
上位装置4は、例えば、ファンシステム1の環境変化(処理負荷の変化やサーバ内部の温度の変化など)あるいは制御するファン装置の状況(制御するファン装置の個数の変化、一部のファン装置が故障するなど)に応じてファン(モータ)の風量が適切になるように、各ファン装置3を制御する。
【0033】
各ファン装置3は、モータ50と、インペラ51と、上位装置4からの指令に応じてモータ50の駆動を制御するモータ駆動制御装置10とを備えている。
【0034】
モータ50は、例えば、3相のブラシレスモータである。なお、モータ50の種類は特に限定されず、相数も3相に限定されない。
【0035】
インペラ(羽根車)51は、風を発生させる部品であり、モータ50の回転力によって回転可能に構成されている。例えば、インペラ51の回転軸は、モータ50の出力軸に同軸に連結されている。本実施の形態では、例えば、インペラ51とモータ50とが一つのファン(ファンモータ)5を構成しているものとする。
【0036】
図2は、本実施の形態に係るファンシステム1における上位装置(外部の一例)4およびモータ駆動制御装置10の具体的な構成の一例を示す図である。
【0037】
図2に示すように、上位装置4は、例えば、サーバとしての主たる機能を実現するためのデータ処理制御部41と、各ファン装置3と通信を行うための通信部42とを備えている。
【0038】
上位装置4(通信部42)と各ファン装置3(モータ駆動制御装置10)との間の通信は、例えば、シリアル通信によって実現される。
【0039】
データ処理制御部41および通信部42は、例えば、上位装置4を構成するプログラム処理装置において、プロセッサが、メモリに記憶されたプログラムに従って各種演算処理を実行するとともに、カウンタやA/D変換回路等の周辺回路を制御することによって実現される。
【0040】
データ処理制御部41は、例えば、サーバ内に配置された各ファン装置3から供給される風量を調整するために、各ファン装置3のモータ50の目標となる回転速度(目標回転速度)を指定する速度指令信号Scを、通信部42を介して各ファン装置3に送信する。
【0041】
なお、速度指令信号Scの送受信は、上述したシリアル通信ではなく、例えば、上位装置4と各ファン装置3とを接続する専用線を用いて実現されてもよい。この場合、速度指令信号Scは、例えば、目標回転速度に応じたデューティ比を有するPWM信号としてもよい。
【0042】
データ処理制御部41は、各ファン装置3から出力されるモータ50の実際の回転速度(回転数)を表す回転速度信号So(例えば、FG(Frequency Generator)信号)を、通信部42を介して受信することにより、各ファン装置3のモータ50の回転状態を監視する。なお、回転速度信号Soの送受信は、例えば、上位装置4と各ファン装置3とを接続する専用線を用いて実現してもよいし、上述のシリアル通信によって実現してもよい。
【0043】
データ処理制御部41は、例えば、モータ50の駆動電流や温度、モータ50の累積動作時間、異常発生の有無等のモータ50の動作に関する情報を送信するように通信部42を介して各ファン装置3に要求し、要求に応じて各ファン装置3から送信された情報を、通信部42を介して受信する。これにより、上位装置4は、各ファン装置3におけるモータ50の駆動状態をより詳細に知ることができる。
なお、各ファン装置3から送信されるモータ50の動作に関する情報の詳細については後述する。
【0044】
更に、データ処理制御部41は、通信部42を介して、各ファン装置3のモータ駆動制御装置10に対して機械学習の実行を指示する。具体的には、データ処理制御部41は、各モータ駆動制御装置10に対して、機械学習のための教師データ310の取得(生成)を指示するとともに、取得した教師データ310を用いて機械学習を行うことを指示する。
【0045】
モータ駆動制御装置10は、主たる機能として、モータの回転を制御するモータ駆動制御機能、上位装置4との間で通信を行う通信機能、教師データ生成機能、機械学習機能、およびモータ50の動作状態を監視する監視機能を備えている。
【0046】
具体的に、モータ駆動制御装置10は、モータ駆動制御機能として、上位装置4からの指令(速度指令信号Sc)に応じて駆動制御信号Sdを生成して、モータ50の各相(例えば、3相)のコイルに周期的に正弦波状の駆動電流を流してモータ50を回転させる。
【0047】
モータ駆動制御装置10は、通信機能として、上位装置4との間でデータの送受信(例えば、シリアル通信により)を行うことにより、上位装置4から各種指令を受信するとともに、受信した指令に対する応答等を上位装置4に送信する。
【0048】
モータ駆動制御装置10は、教師データ生成機能として、機械学習に用いる教師データ310を自ら生成する。具体的に、モータ駆動制御装置10は、自ら計測し、または外部から入力された、モータ50の動作状態に関連する物理量の計測値にモータ50が正常または異常な状態であることを示す識別情報(正解データ)を付した教師データ310を生成する。
【0049】
ここで、モータ50の動作状態に関連する物理量は、例えば、モータ50の周辺の温度、モータ50の駆動電流(コイル電流)、モータ50の回転速度、モータ50の振動の大きさ(振動数等)、およびモータ50の駆動電圧のうち少なくとも一つを含む。
【0050】
モータ駆動制御装置10は、機械学習機能として、教師データ310を学習することにより、モータ50の動作状態を判定するためのプログラム(学習済みモデル320)を生成する。具体的には、モータ駆動制御装置10は、自ら作成した教師データ310を機械学習することにより、モータ50が異常状態であるか否かを判定するためのプログラムとしての学習済みモデル320を生成する。
【0051】
モータ駆動制御装置10は、監視機能として、モータ50の動作中にモータ50の動作状態に関連する物理量を計測し、その計測結果と上述のように作成した学習済みモデル320とを用いて、モータ50が異常状態であるか否かを判定する。更に、モータ駆動制御装置10は、モータ50の動作状態に関連する物理量の計測値やモータ50の異常状態の検知結果等に基づいて、後述するモータ50の動作に関する情報(計測データ300、累積情報301、および異常検出情報302等)を生成するとともに、モータの異常を検出した場合には、そのことを上位装置4に通知する。
【0052】
図2に示すように、モータ駆動制御装置10は、上述した各機能を実現するための機能部として、例えば、駆動制御信号生成部11、通信部15、モータ駆動回路19、センサ部20、回転速度計測部21、FG信号生成部22、計測データ生成部23、教師データ生成部24、機械学習部25、監視制御部26、計測データ記憶部30、教師データ記憶部31、および学習済みモデル記憶部32を有している。
【0053】
これらの機能部のうち、駆動制御信号生成部11、通信部15、回転速度計測部21、計測データ生成部23、教師データ生成部24、機械学習部25、監視制御部26、計測データ記憶部30、教師データ記憶部31、および学習済みモデル記憶部32は、例えば、プログラム処理装置によって実現されている。例えば、CPU等のプロセッサと、RAM,ROM等の各種記憶装置と、カウンタ(タイマ)、A/D変換回路、D/A変換回路、クロック発生回路、および入出力I/F回路等の周辺回路とがバスや専用線を介して互いに接続された構成を有するプログラム処理装置(例えば、マイクロコントローラ)において、CPUがメモリに記憶されているプログラムに従って各種演算処理を実行し、その処理結果に基づいてA/D変換回路や入出力インターフェース回路等の周辺回路を制御することによって、上述した機能ブロックが実現されている。
【0054】
なお、モータ駆動制御装置10は、モータ駆動回路19とその他の機能部の少なくとも一部とが一つの集積回路装置(IC)としてパッケージ化された構成であってもよいし、モータ駆動回路19とその他の機能部がそれぞれ個別の集積回路装置として夫々パッケージ化された構成であってもよい。
【0055】
以下、モータ駆動制御装置10を構成する各機能部について詳細に説明する。
【0056】
駆動制御信号生成部11は、モータ50の駆動を制御するための駆動制御信号Sdを生成するための機能部である。駆動制御信号生成部11は、例えば、上位装置4から出力された速度指令信号Scを受信した場合に、モータ50の回転速度が速度指令信号Scによって指定された目標回転速度と一致するように、駆動制御信号Sdを生成する。
【0057】
駆動制御信号Sdは、例えばPWM(Pulse Width Modulation)信号である。
【0058】
図2に示すように、駆動制御信号生成部11は、例えば、速度指令解析部12、デューティ比決定部13、および通電制御部14を備えている。
【0059】
速度指令解析部12は、上位装置4から出力された速度指令信号Scを受信し、速度指令信号Scによって指定された目標回転速度を解析する。例えば、速度指令信号Scが目標回転速度に対応するデューティ比を有するPWM信号である場合、速度指令解析部12は、速度指令信号Scのデューティ比を解析し、そのデューティ比に対応する回転速度の情報を目標回転速度として出力する。
【0060】
デューティ比決定部13は、速度指令解析部12から出力された目標回転速度と後述する回転速度計測部21によって計測されたモータ50の回転速度の計測値とに基づいて、駆動制御信号SdとしてのPWM信号のデューティ比を決定する。具体的には、デューティ比決定部13は、目標回転速度とモータ50の回転速度の計測値との差が小さくなるようにモータ50の制御量を算出し、その制御量に応じたPWM信号のデューティ比を決定する。
【0061】
通電制御部14は、デューティ比決定部13によって決定したデューティ比を有するPMW信号を生成し、駆動制御信号Sdとして出力する。
【0062】
モータ駆動回路19は、駆動制御信号生成部11によって生成された駆動制御信号Sdに基づいてモータ50を駆動する。モータ駆動回路19は、例えば、インバータ回路及びプリドライブ回路(不図示)を有している。
【0063】
インバータ回路は、プリドライブ回路から出力された出力信号に基づいてモータ50に駆動信号を出力し、モータ50が備えるコイルに通電する。インバータ回路は、例えば、直流電源の両端に設けられた2つのスイッチ素子の直列回路の対が、各相のコイルに対してそれぞれ配置されて構成されている。2つのスイッチ素子の各対において、スイッチ素子同士の接続点に、モータ50の各相の端子が接続されている。
【0064】
プリドライブ回路は、駆動制御信号Sdに基づいて、インバータ回路を駆動するための出力信号を生成し、インバータ回路に出力する。プリドライブ回路は、例えば、駆動制御信号Sdに基づいて、インバータ回路の各スイッチ素子を駆動する駆動信号を生成して出力する。この駆動信号がインバータ回路を構成する各スイッチ素子をオン/オフさせることにより、モータ50の各相に電力が供給されてモータ50のロータが回転する。
【0065】
センサ部20は、モータ50の動作状態に関連する物理量を検出する機能部である。センサ部20は、例えば、モータ50の回転位置を検出する位置検出器(例えば、ホール素子)、モータ50のコイルに流れる電流を検出する電流検出器(例えば、シャント抵抗)、モータ50の周辺の温度を検出する温度センサ(例えば、サーミスタ)、およびモータ50の振動を検出する振動センサ等の各種センサを含む。センサ部20を構成する各センサは、検出した物理量に応じた電気信号をそれぞれ出力する。なお、本実施形態のセンサ部20は、モータ駆動制御装置10の内部に設ける構成としているが、モータ駆動制御装置10の外部に設けるようにしてもよい。
【0066】
回転速度計測部21は、モータ50の回転速度を計測する機能部である。回転速度計測部21は、例えば、センサ部20における位置検出器としてのホール素子の検出信号(ホール信号)に基づいて、モータ50の回転速度を計測し、その計測結果を出力する。
【0067】
FG信号生成部22は、モータ50の回転速度を示す回転速度信号SoとしてのFG信号を生成する。FG信号生成部22は、例えば、センサ部20における位置検出器としてのホール素子から出力された検出信号(ホール信号)に基づいて、モータ50の回転速度に比例する周期(周波数)を有する信号(FG信号)を発生させる。FG信号生成部22から出力されたFG信号は、回転速度信号Soとして上位装置4に入力される。
なお、FG信号生成部22は、例えば、モータ50が搭載される基板(プリント基板)上に形成されたFGパターンによって実現してもよい。
【0068】
通信部15は、外部と通信を行うための機能部である。具体的に、通信部15は、制御装置としての上位装置4との間でデータの送受信を行う。通信部15は、例えば、送信部16、受信部17、および通信制御部18を有する。
【0069】
送信部16は、外部(例えば、上位装置4等の外部装置)に信号を送信する。受信部17は、外部(例えば、上位装置4等の外部装置)から信号を受信する。送信部16および受信部17は、例えば、通信制御部18に制御されて、所定のシリアル信号を生成して通信線路に送信し、通信線路からシリアル信号を受信するシリアル通信用インターフェース回路である。
【0070】
通信制御部18は、送信部16にエンコードしたデータを送り、また、受信部17からのデータをデコードすることで、上位装置4との間でデータの送受信を実現する。通信制御部18は、例えば、上述したモータ駆動制御装置10を構成するプロセッサによるプログラム処理によって実現される。
【0071】
通信制御部18は、受信部17によって受信した上位装置4からの要求指令を監視制御部26に与えるとともに、監視制御部26から与えられた上記要求指令に対する応答を送信部16から上位装置4の通信部42に送信する。
【0072】
例えば、上位装置4から送信されたモータ50の動作に関する情報の送信要求を受信部17が受信したとき、通信制御部18は、その送信要求を監視制御部26に与える。その後、通信制御部18は、監視制御部26から受け取ったモータ50の動作に関する情報を、上記送信要求に対する応答として、送信部16から上位装置4の通信部42に送信する。
【0073】
また、例えば、上位装置4から送信された教師データ310の取得を指示する指令や機械学習の実行を指示する指令を受信部17が受信したとき、通信制御部18は、その指令を監視制御部26に与える。その後、監視制御部26から与えられた上記指令に対する応答を、送信部16から上位装置4の通信部42に送信する。
【0074】
計測データ生成部23は、モータ50の動作に関連する計測データ300を生成するための機能部である。具体的に、計測データ生成部23は、センサ部20によって検出されたモータ50の動作状態に関連する物理量の検出結果に基づいて計測データ300を生成する。計測データ生成部23は、例えば、センサ部20の各種センサから出力される電気信号に基づいて、モータ50の動作状態に関連する物理量の計測値(デジタル値)を算出し、その計測値を計測データ300として計測データ記憶部30に記憶する。
【0075】
例えば、計測データ生成部23は、単位時間毎に、センサ部20の温度センサによる温度の検知結果を計測データ300として計測データ記憶部30に記憶する。また、計測データ生成部23は、例えば、回転速度計測部21によって計測されたモータ50の単位時間当たりの回転数(回転速度)を計測データ300として計測データ記憶部30に記憶する。また、計測データ生成部23は、例えば、単位時間毎に、センサ部20の電流センサによるモータ50の駆動電流の検出値を計測データ300として計測データ記憶部30に記憶する。また、計測データ生成部23は、例えば、単位時間毎に、センサ部20の振動センサからの検出信号に基づいて振動の大きさを算出し、計測データ300として計測データ記憶部30に記憶する。
【0076】
また、計測データ生成部23は、デューティ比決定部13によって決定したデューティ比の情報や通電制御部14から出力される駆動制御信号SdとしてのPWM信号の立ち上がりタイミング等の情報も計測データ300として計測データ記憶部30に記憶してもよい。
【0077】
なお、計測データ生成部23による計測データ300の取得は、上位装置4からの指令に応じて行われてもよい。
【0078】
教師データ生成部24は、監視制御部26からの指示に応じて、計測データ300に基づいて機械学習に用いる教師データ310を生成する機能部である。
【0079】
教師データ生成部24は、計測データ300に、モータ50の動作状態を示す所定の識別情報を付して教師データ310を生成する。具体的には、教師データ生成部24は、計測データ記憶部30から読み出した計測データ300に、モータ50が正常状態(または異常状態)であることを示す識別情報(ラベル)を付したデータを教師データ310として教師データ記憶部31に記憶する。
【0080】
例えば、教師データ生成部24は、計測データ300に含まれる、モータ50の周辺の温度、モータ50の駆動電流(コイル電流)、モータ50の回転速度、モータ50の振動の大きさ(振動数等)、およびモータ50の駆動電圧のうち少なくとも一つの計測値に、モータ50が正常であることを示す識別情報をラベリングして、教師データ310を生成する。
【0081】
なお、教師データ生成部24は、教師データ310を生成する際に、使用する計測データ300が、モータ50が正常な動作を行っている状態で取得されたものとして扱う。すなわち、教師データ生成部24は、計測データ300が、モータ50が正常に動作していることを示すデータであるか否かを解析して判定するような処理を行うことなく、計測データ300にモータ50が“正常”であることを示す識別情報(正解データ)をラベリングして教師データ310を生成する。
【0082】
図3は、本実施の形態に係る教師データ310の一例を示す図である。
同図には、計測データ300としてのモータ50の回転速度の計測値とモータ50の駆動電流の計測値を組み合わせたデータ対に、モータ50が“正常”であることを示す情報が識別情報(正解データ)としてラベリングされた教師データ310が一例として示されている。
【0083】
なお、教師データ310に使用する計測値は、上述した回転速度と駆動電流の組み合わせたデータ対に限られず、検出すべき異常の内容に応じて適宜選択すればよい。例えば、回転速度と駆動電流に加えて温度の計測値を組み合わせたデータ対であってもよいし、温度のみの異常判定を行う場合には、温度の計測値のみを用いてもよい。
【0084】
教師データ生成部24は、通信部15が教師データ310の取得を指示する指令を外部から受信した場合に、教師データ310の生成を開始する。例えば、上位装置4から送信された教師データ310の取得を指示する指令を受信部17が受信したとき、監視制御部26が、計測データ300の取得と教師データ310の生成を開始するように、計測データ生成部23および教師データ生成部24に指示する。
【0085】
計測データ生成部23は、監視制御部26からの指示に応じて、上述した手法により計測データ300を生成して計測データ記憶部30に順次記憶する。教師データ生成部24は、監視制御部26からの指示に応じて、計測データ生成部23によって計測データ記憶部30に逐次記憶される計測データ300を読み出して、モータ50が“正常”であることを示す識別情報(ラベル)を付すことにより、図3に示すような教師データ310を順次生成し、教師データ記憶部31に記憶していく。
【0086】
なお、教師データ生成部24は、教師データ310を生成するとき、教師データ記憶部31に記憶されている過去に生成した教師データ310を上書きして、新たな教師データ310に更新してもよい。
【0087】
また、後述するように、モータ50のエージング動作が行われる場合には、教師データ生成部24は、エージング動作の完了後に生成された計測データ300に基づいて、教師データ310を生成する。
【0088】
機械学習部25は、教師データ310を用いて機械学習を行うことにより、モータ50の動作状態を判定するための学習済みモデル320を生成する機能部である。
【0089】
学習済みモデル320は、所定の技法(アルゴリズム)の機械学習に基づくプログラムである。
【0090】
ここで、所定の技法(アルゴリズム)としては、例えば、CNN(Convolutional Neural Network)等のニューラルネットワーク、線形回帰、ボルツマンマシン、サポートベクターマシン、ベイジアンネットワーク、スパース回帰、決定木、ランダムフォレストを用いた統計的推定、強化学習、深層学習などである。
【0091】
本実施の形態において、モータ50の動作状態を判定するための学習済みモデル320は、例えば、計測データ300を入力としてモータ50が異常状態であるか否かを判定するためのプログラムである。より具体的には、学習済みモデル320は、計測データ300(例えば、モータ50の駆動電流、モータ50の回転速度、温度、および振動の大きさ等)を入力データとし、入力データを用いて所定の学習済みパラメータに基づく演算を行い、モータ50が異常状態であるか否かを定量化した値を出力するように、プロセッサを機能させるためのプログラムである。
【0092】
ここで、学習済みパラメータとは、教師データ310を学習用プログラム(上記所定のアルゴリズムに基づくプログラム)に対する入力データとして用いることにより、計測データ300に基づいてモータ50が異常状態であるか否かを判定するように機械的に調整されたパラメータである。例えば、ニューラルネットワークの場合、学習済みパラメータは、重み付け係数等の変数である。
【0093】
例えば、CNN(Convolutional Neural Network)等のニューラルネットワークの場合、機械学習部25は、誤差逆伝搬法により、既存の学習済みモデル320に計測データ(教師データ310に含まれる計測データ300)を入力したときの出力データと正解データ(教師データ310に含まれる識別情報)との誤差が小さくなるように、学習済みパラメータを逐次更新して学習済みモデル320を生成する。
【0094】
学習済みモデル320には、上述した学習済みパラメータに加えて、推論プログラムが含まれていてもよい。推論プログラムとは、上記学習済みパラメータを組み込んで、入力された計測データ300に対して一定の結果を出力するためのプログラムである。
【0095】
機械学習部25は、監視制御部26からの指示に応じて、教師データ記憶部31に記憶されている複数の教師データ310を順次学習することにより、上述した手法により、モータ50が異常状態であるか否かを判定するための学習済みモデル320を生成(更新)し、学習済みモデル記憶部32に記憶する。
【0096】
図4は、本実施の形態に係る学習済みモデル320の一例を示す図である。
同図には、モータ50の回転速度と駆動電流からモータ50が異常状態であるか否かを判定するためのプログラムとしての学習済みモデル320(プログラム)の一例が示されている。ここでは、一例として、学習済みモデル320が回転速度と駆動電流の関数によって表され、本関数を基準とする所定の誤差範囲内に回転速度と駆動電流の計測値が存在しない場合に、モータ50が異常であると判定するためのプログラムであるとする。
【0097】
例えば、機械学習部25は、図3に示した複数の教師データ310を順次学習して、学習済みパラメータを逐次更新することにより、図4に示すような、回転速度と駆動電流の計測値からモータ50が異常であるか否かを判定するための学習済みモデル320を生成する。機械学習部25によって生成された学習済みモデル320は、学習済みモデル記憶部32に記憶される。
【0098】
監視制御部26は、モータ50の動作状態を監視するとともに、教師データ310の生成および機械学習の実行等を統括的に制御する機能部である。
【0099】
監視制御部26は、機械学習部25によって生成された学習済みモデル320を用いて、計測データ生成部23によって取得した計測データ300に基づいてモータ50が異常状態であるか否かを判定する。
【0100】
例えば、図4に示した回転速度と駆動電流の計測値からモータ50が異常であるか否かを判定するための学習済みモデル320を用いる場合を考える。この場合において、図4に示すように、計測データ生成部23によって取得したモータ50の回転速度の計測値が“R1”であり、モータ50の駆動電流の計測値が“I1”であった場合、学習済みモデル320としての関数を基準とする所定の範囲内に回転速度と駆動電流の計測値が含まれないため、監視制御部26は、モータ50が異常であると判定する。
【0101】
監視制御部26は、計測データ300に基づいて、モータ50の動作に関する情報を生成し、例えば計測データ記憶部30に記憶する。
ここで、モータ50の動作に関する情報は、例えば、計測データ300、累積情報301、異常検出情報302を含む。
【0102】
累積情報301は、モータ50が使用された程度を示す情報である。累積情報301には、例えば、モータ50の累積回転数、累積動作時間、などの情報が含まれる。
【0103】
例えば、監視制御部26は、FG信号生成部22によって生成された回転速度信号So(FG信号)に基づいてモータ50の単位時間当たりのモータの回転数を算出し、その回転数を積算することにより、モータ50の累積回転数を算出して計測データ記憶部30に記憶する。また、監視制御部26は、例えば、モータ50の回転速度毎に動作時間を計測して積算し、積算した回転速度毎の動作時間に基づいてモータ50の累積動作時間を算出して計測データ記憶部30に記憶する。
【0104】
異常検出情報302は、モータ駆動制御装置10またはモータ50において発生した異常の内容を示す情報である。異常の内容を示す情報とは、例えば、電流異常、電圧異常、温度異常などの情報である。監視制御部26は、例えば、上述した異常判定処理によってモータ50が異常であると判定したとき、モータ50に異常が発生したことを示す異常検出情報302を生成して計測データ記憶部30に記憶する。
【0105】
更に、監視制御部26は、モータ50が異常状態であると判定したとき、モータ50(ファン5)の異常検出したことを示す情報(異常検出情報302)を、通信部15を介して上位装置4に送信する。これにより、上位装置4は、ファン装置3において異常が発生したことを知ることができる。
【0106】
更に、監視制御部26は、上位装置4からの指令に応じて、教師データ生成部24に対して教師データ310の生成を指示するとともに、機械学習部25に対して学習済みモデル320の生成を指示する。また、監視制御部26は、モータの動作状態が所定の条件を満足した場合に、教師データ生成部24に対して教師データ310の生成を指示するとともに、機械学習部25に対して学習済みモデル320の生成を指示する。
以下、モータ駆動制御装置10による教師データ310の生成が行われるタイミングについて、いくつか例を挙げて説明する。
【0107】
図5は、本実施の形態に係るモータ駆動制御システムにおいて教師データ310が生成されるタイミングの一例を示すシーケンス図である。
【0108】
例えば、モータ駆動制御装置10を含むファン装置3が上位装置4としてのサーバ内に設定されて、上位装置4内のデータ処理制御部41と通信可能になり、各モータ50が正常に動作可能な状態をファンシステム1の初期状態とする。
【0109】
初期状態において、先ず、上位装置4のデータ処理制御部41が、ファンシステム1を構成する各ファン装置3に対して、教師データ310の取得を指示する要求(教師データ取得要求)を、通信部42を介して送信する(ステップS1)。
【0110】
教師データ取得要求を受け取った各ファン装置3のモータ駆動制御装置10は、教師データ取得要求を受け付けたことを示す応答を上位装置4に対して送信する(ステップS2)。
【0111】
次に、各ファン装置3のモータ駆動制御装置10は、先ず、モータ50にエージング動作を行わせる(ステップS3)。エージング動作とは、例えば、ファン5内部の動力伝達機構(機械部品)に塗布されたグリス等が馴染むまで、モータを所定の期間、回転させる動作である。
【0112】
具体的には、ステップS2の後に、監視制御部26が、駆動制御信号生成部11を制御することにより、モータ50がエージング動作を行うように(所定の期間、モータ50が所定の回転速度で回転するように)、駆動制御信号Sdを生成する。
【0113】
なお、この場合、モータ50がエージング動作を行う時間は、例えば、上位装置4から教師データ取得要求とともに指定される、あるいは、ファン装置3側で決定する。
【0114】
エージング動作の完了後、モータ駆動制御装置10において、監視制御部26が、駆動制御信号生成部11、計測データ生成部23、教師データ生成部24、および機械学習部25を制御することにより、モータ50を回転させて、計測データ300の取得、教師データ310の生成、および機械学習を実行させる(ステップS4)。
【0115】
具体的には、エージング動作の完了後、監視制御部26が駆動制御信号生成部11に対して所定の目標回転速度を指示することにより、駆動制御信号生成部11が、モータ50の回転速度が目標回転速度に一致するように駆動制御信号Sdを生成して、モータ50を回転させる。モータ50が回転している間、計測データ生成部23は、上述したように、センサ部20によって検知されたモータ50の駆動電流、温度、振動の大きさ等の検知結果を取得するとともに、回転速度計測部21によって計測されたモータ50の回転速度の計測値を取得し、計測データ300を生成して計測データ記憶部30に順次記憶する。このとき、計測データ生成部23は、駆動制御信号SdとしてのPWM信号のデューティ比の情報やPWM信号の立ち上がりタイミング等の情報も計測データ300として計測データ記憶部30に記憶してもよい。
【0116】
ステップS4において、教師データ生成部24は、上述したように、計測データ記憶部30に順次記憶される計測データ300にモータ50が正常であることを示す識別情報をラベリングすることによって教師データ310を生成し、教師データ記憶部31に順次記憶していく。学習済みモデル記憶部32は、教師データ記憶部31に記憶されている教師データ310を順次学習することによって、上述した手法により、学習済みモデル320を生成し、更新する。
【0117】
なお、ステップS4において、監視制御部26が、駆動制御信号生成部11に対して、目標回転速度を段階的に切り替えて指示することにより、複数の回転速度における教師データ310を生成することができる。
【0118】
その後、監視制御部26は、例えば、教師データ310の生成を開始してから所定時間が経過した場合、または所定数の教師データ310の生成と学習が完了した場合に、教師データ310の取得および学習が完了したことを示す通知(教師データ取得完了通知)を上位装置4に送信する。
その後、モータ駆動制御装置10はモータ50の通常駆動制御を開始する。すなわち、上位装置4から送信された速度指令信号Scに従ってモータ50を駆動するとともに、上述の機械学習によって生成した学習済みモデル320を用いてモータ50の動作状態を監視し、モータ50の異常を検出した場合には、上位装置4に対してその旨を通知する。
【0119】
以上の手順により、各モータ駆動制御装置10による教師データ310の生成が行われる。
【0120】
なお、上述の例では、ステップS4において教師データ310の生成と教師データ310を用いた機械学習の両方の処理が行われる場合を例示したが、ステップS4では教師データ310の生成のみが行われてもよい。例えば、モータ駆動制御装置10は、ステップS4において教師データ310の生成を行い、ステップS5において教師データ取得完了通知を上位装置4に送信した後で、上位装置4からの機械学習の開始の指示を待ってから、教師データ310を用いた機械学習を開始してもよい。
【0121】
また、上位装置4は、例えば、サーバ内に新たにファン5が追加された場合のように、サーバ内の環境が大きく変化した場合には、新たな教師データ310の取得を各ファン装置3に指示してもよい。
【0122】
図6は、本実施の形態に係るモータ駆動制御システム2において教師データ310が生成されるタイミングの別の一例を示すシーケンス図である。
【0123】
図6に示すように、ファンシステム1の初期状態において、先ず、各ファン装置3におけるモータ駆動制御装置10がモータ50のエージング動作を開始する(ステップS11)。エージング動作の終了後、上位装置4は、教師データ取得要求を各ファン装置3に送信する(ステップS12)。
【0124】
教師データ取得要求を受け取った各ファン装置3のモータ駆動制御装置10は、教師データ取得要求を受け付けたことを示す応答を上位装置4に対して送信する(ステップS13)。
【0125】
次に、各ファン装置3のモータ駆動制御装置10は、図5のステップS4と同様に、モータ50を回転させて、計測データ300の取得、教師データ310の生成、および機械学習を実行させる(ステップS14)。
【0126】
その後、上位装置4は、例えば、サーバ内で想定可能なモータ50の負荷や温度等の様々な環境下での教師データ310を各ファン装置3のモータ駆動制御装置10が十分に取得することができたと判断した場合に、教師データ310の取得を終了する要求(教師データ取得終了要求)を各ファン装置3に送信する(ステップS15)。
【0127】
教師データ取得終了要求を受信したファン装置3のモータ駆動制御装置10は、教師データ310を生成する処理を停止するとともに、教師データ取得完了通知を上位装置4に送信する(ステップS16)。
【0128】
その後、モータ駆動制御装置10は、モータ50の通常駆動制御を開始する。
モータ50の通常駆動制御中に、例えば、サーバの処理負荷が高い状態が一定時間継続し、サーバ内の環境が著しく変化したことを上位装置4が検出したとする(ステップS20)。このとき、上位装置4は、新たな環境下での教師データ310の再取得の要求(教師データ再取得要求)を各ファン装置3に送信する(ステップS21)。
【0129】
教師データ再取得要求を受け取った各ファン装置3のモータ駆動制御装置10は、教師データ再取得要求を受け付けたことを示す応答を上位装置4に対して送信する(ステップS22)。
【0130】
次に、各ファン装置3のモータ駆動制御装置10は、ステップS14と同様に、モータ50を回転させて、計測データ300の取得、教師データ310の生成、および機械学習を実行する(ステップS23)。
【0131】
その後、上位装置4は、変化後のサーバの環境下における教師データ310を各ファン装置3のモータ駆動制御装置10が十分に取得することができたと判断した場合に、教師データ310の取得を終了する要求(教師データ取得終了要求)を各ファン装置3に送信する(ステップS24)。
【0132】
教師データ取得終了要求を受信したファン装置3のモータ駆動制御装置10は、教師データ310を生成する処理を停止するとともに、教師データ取得完了通知を上位装置4に送信する(ステップS25)。その後、モータ駆動制御装置10は、再び、モータ50の通常駆動制御を行う。
【0133】
モータ50の通常駆動制御中に、モータ駆動制御装置10の監視制御部26が、モータ50の動作状態が所定の条件を満足したことを検出したとする(ステップS30)。
【0134】
ここで、所定の条件としては、モータ50の累積動作時間が所定値を超えたことや、モータ50の周辺の温度が変化してその温度が一定期間継続したこと、モータ50の駆動電流が変化してその駆動電流が一定期間継続したこと等を例示することができる。
【0135】
監視制御部26は、モータ50の動作状態が所定の条件を満足したことを検出したとき、教師データ310の取得を開始することを、通信部15を介して上位装置4に通知する(ステップS31)。
【0136】
次に、監視制御部26は、ステップS14と同様に、計測データ生成部23、教師データ生成部24、および機械学習部25を制御することにより、モータ50の回転中の計測データ300の取得、教師データ310の生成、および機械学習を実行させる(ステップS32)。
【0137】
その後、監視制御部26は、例えば、教師データ310の生成を開始してから所定時間が経過した場合、または所定数の教師データ310の生成と学習が完了した場合に、教師データ310の生成および学習が完了したことを示す通知(教師データ取得完了通知)を上位装置4に送信する(ステップS33)。
【0138】
以上のように、モータ駆動制御装置10は、上述したタイミングで、教師データ310の生成を行う。
【0139】
以上、本実施の形態に係るモータ駆動制御装置10は、上述したように、外部(上位装置4)から教師データ310の取得を指示する指令を受信した場合に、モータ50の動作状態に関連する物理量を計測し、その計測値にモータ50が正常な状態であるか否かのラベルを付した教師データ310を生成する。
【0140】
これによれば、機械学習機能を備えたモータ駆動制御装置10およびモータ50(ファン5)をファンシステム1に組み込んで上位装置4と通信可能となった後のモータ50の実使用環境において、計測データ300を取得して教師データ310を生成し、その教師データ310を用いてモータの異常を検知するための学習済みモデル320を生成することができる。これにより、モータ50の異常検知をより正確に行うことができるようになるので、モータ50の使用環境に応じた適切なモータ駆動制御を実現することが可能となる。
【0141】
また、モータ駆動制御装置10は、モータ50のエージング動作を行った後に、モータ50の動作状態に関連する物理量を計測し、その計測データ300を用いて教師データ310を生成する。
【0142】
これによれば、ファン5(モータ50)の実使用時に近い状態での計測データ300に基づく教師データ310を生成することができるので、モータの異常検知の精度を更に高めることが可能となる。
【0143】
また、モータ駆動制御装置10は、図5に示すように、外部(上位装置4)から教師データ310の取得を指示する指令を受信した場合に、モータ50にエージング動作を実行させてもよい。これによれば、モータ50のエージング動作が行われていない状況においても、最初にエージング動作を行った後で計測データ300が取得され、教師データ310が生成されるので、より実動作環境に適したモータの異常検知を実現することができる。
【0144】
また、モータ駆動制御装置10は、モータ50の動作状態が上述した所定の条件を満足した場合に、教師データ310の生成を開始する。
【0145】
これによれば、上位装置4からの指令がない状況であっても、モータ駆動制御装置10が自ら、モータ50の動作状態の変化を検出して教師データ310を生成することができる。これにより、モータ50の動作状況に応じて学習済みモデル320を適切に更新することができるので、モータの使用環境に応じた、より適切なモータ駆動制御を実現することが可能となる。
【0146】
≪実施の形態の拡張≫
以上、本発明者らによってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0147】
例えば、上記実施の形態において、モータ駆動制御装置10が自ら計測した計測データ300に基づいて教師データ310を生成する場合を例示したが、これに限られず、外部から提供されたデータを用いて教師データ310を生成してもよい。例えば、上位装置4のデータ処理制御部41が、湿度センサによって計測されたサーバ内部(または外部)の湿度の計測値を取得し、取得した湿度の計測値をモータ駆動制御装置10に送信する。モータ駆動制御装置10の通信部15は、上位装置4から受信した湿度の計測値を計測データ生成部23に与え、計測データ生成部23が、取得した湿度の計測値を計測データ300として計測データ記憶部30に記憶する。教師データ生成部24は、湿度の計測値を含む計測データ300を用いて教師データ310を生成する。
これによれば、湿度のようなモータ駆動制御装置10が計測できない計測データ300に基づいて教師データ310を生成することが可能となる。
【0148】
また、モータ駆動制御装置10によって生成した教師データ310は、外部から読み出し可能であってもよい。例えば、上位装置4が教師データ310の送信をモータ駆動制御装置10に要求し、その要求を受け取ったモータ駆動制御装置10が、自身の教師データ記憶部31に記憶されている教師データ310を上位装置4に送信し、上位装置4が受信した教師データ310を内部の記憶装置に記憶してもよい。
【0149】
また、上位装置4は、上述のように一つのファン装置3から取得した教師データ310を、他のファン装置3のモータ駆動制御装置10に送信してもよい。この場合、教師データ310を受信したモータ駆動制御装置10は、その教師データ310を用いて機械学習を行って自身の学習済みモデル320を生成または更新してもよい。
【0150】
また、上記実施の形態では、学習済みモデル320が、モータ50が異常状態であるか否かを判定するためのプログラムである場合を例示したが、モータ50の駆動を制御するためのプログラムであればよく、これに限定されるものではない。例えば、学習済みモデル320は、計測データ300を入力とし、モータ50の動作環境に応じてモータ50の駆動電流の指令値や目標回転速度等を補正するプログラムであってもよい。
【0151】
上述のシーケンス図は具体例であって、このシーケンス図に限定されるものではなく、例えば、各ステップ間に他の処理が挿入されていてもよいし、処理が並列化されていてもよい。
【0152】
上述の実施の形態のモータ駆動制御装置により駆動されるモータの相数は、3相に限られない。また、ホール素子の数は、3個に限られない。
【0153】
モータの回転速度の検出方法は特に限定されない。例えば、ホール素子などの位置検出器を用いず、モータコイルに誘起する逆起電圧を用いて回転速度を検出する位置センサレス方式によって回転速度を検出してもよい。
【符号の説明】
【0154】
1…ファンシステム、2…モータ駆動制御システム、3,3a~3d…ファン装置、4…上位装置(外部の一例)、5…ファン、10…モータ駆動制御装置、11…駆動制御信号生成部、12…速度指令解析部、13…デューティ比決定部、14…通電制御部、15…通信部、16…送信部、17…受信部、18…通信制御部、19…モータ駆動回路、20…センサ部、21…回転速度計測部、22…FG信号生成部、23…計測データ生成部、24…教師データ生成部、25…機械学習部、26…監視制御部、30…計測データ記憶部、31…教師データ記憶部、32…モデル記憶部、41…データ処理制御部、42…通信部、50…モータ、51…インペラ(羽根車)、51…インペラ、300…計測データ、301…累積情報、302…異常検出情報、310…教師データ、320…学習済みモデル、A~D…冷却対象、Sc…速度指令信号、Sd…駆動制御信号、So…回転速度信号。
図1
図2
図3
図4
図5
図6
図7