LTspiceで状態基準保全システムの振動データを解析

概要

状態基準保全(Condition-Based Monitoring。以下、CBM)システムとは、産業用機械で発生する振動などを監視し、早期に異常を警告するためのものです。本稿では、CBMシステムによりモータの振動データを取得したケースを想定し、LTspice®によってそのデータの周波数解析を実施する方法を説明します。その前段階の処理として、Microsoft Excel®のスプレッドシートに保存されたX/Y/Z平面のデータのフォーマットを変更する方法を紹介します。この変更を実施することで、LTspiceによりフーリエ変換を実行し、振動データの高調波成分をプロットすることが可能になります。

はじめに

デジタル技術の進歩は、減速の気配を見せていません。その成果は、私たちの生活のあらゆる領域に浸透しています。現在では、インテリジェンスな機能を備える機械なども続々と生み出されていますが、それらによって実現される世界は、オーウェル風のディストピアとはかけ離れたものとなっています。自動化されたフィードバック・ループによって、保守にかかる時間を短縮できるようになったことから、FA(Factory Automation)の分野には、より大きな効率改善がもたらされています。

インダストリ4.0について語られる際には、ビッグ・データによって多大なメリットが現場にもたらされるというコンセプトが示されます。センサーが付加された機械は、自身の性能を監視し、機械同士で相互に通信を行い、全体の作業量を共有します。また、同じ建屋内にあるのか、別の大陸に存在するのかにかかわらず、機械からは管理部門に対して重要な診断情報が提供されます。

アナログ・デバイセズの製品を少し調べてみてください。そうすれば、次のようなことがわかるはずです。すなわち、当社はIIoT(Industrial Internet of Things)向けに実に多彩なソリューションを提供しているということです。特に、センサーからクラウドまでを網羅し、堅牢性と性能に優れるシグナル・チェーン製品の提供に重点を置いていることをご理解いただけるでしょう。

当社が注目している産業用オートメーション技術の1つがCBMです。CBMシステムを利用することにより、機械に付加したローカルのセンサーで厳重に監視を行い、動作特性を注意深く校正するといったことを実現できます。本来の状態から逸脱した信号が得られた場合には、機械が保守を必要としていることがわかります。したがって、機械にCBMシステムを適用すれば、定期的なスケジュールに基づくのではなく、本当に必要なタイミングで保守を実施することが可能になります。

モータが健全な状態にあるか否かを判断するための優れた方法があります。それは、振動のシグネチャ(特徴)について調べることです。例えば、アナログ・デバイセズのMEMS(Micro Electro Mechanical Systems)センサーを利用して、モータの振動のシグネチャを継続的に監視します。そのシグネチャを正常な状態のシグネチャと比較することにより、モータの健全性を把握することできます。実際、モータに異常が発生すると、その異常の内容に応じて特徴的な高調波が観測されます。振動パターンの高調波成分を調べることによって、軸受(ベアリング)、内輪、外輪、更にはギアボックスの歯などに生じた異常を検出することが可能になります。.

LTspiceによる振動データの解析

本稿では、LTspiceにより、振動データのフーリエ解析を行う方法を説明します。それに向けて、現実の振動データを生成するための実験用システムを構築しました。図1に示すように、モータにMEMS加速度センサー「ADXL1002」を3個接続し、X/Y/Z方向(それぞれ左右、垂直、前後の方向)の振動を測定しました。

Figure 1. Channels X, Y, and Z measured vibration in the side-to-side, vertical and fore-to-aft directions, respectively. 図1. 振動データを取得するための実験用システム。左右、垂直、前後の方向の振動を測定するX/Y/Zチャンネルを備えています。
図1. 振動データを取得するための実験用システム。左右、垂直、前後の方向の振動を測定するX/Y/Zチャンネルを備えています。

振動データは、500kSPSのサンプリング・レートで取得しました。得られたデータはダウンロードし、Excelのスプレッドシートに保存しました。スプレッドシートにおいて、1秒分の振動データは3列、各50万行にわたります。図2に、X/Y/Z方向のデータの例を示しました。

Figure 2. An extract of the X, Y, and Z data. 図2. X/Y/Z方向のデータ
図2. X/Y/Z方向のデータ

このデータの高調波成分を調べることにより、モータの健全性を把握することができます。フーリエ解析とは、時間軸の波形データからその構成要素となる周波数成分を抽出する演算処理のことです。最も基本的なサイン波のスペクトル成分は、基本波と呼ばれる1つの周波数信号のみで構成されます。何らかの事情でサイン波に歪みが生じると、基本波以外の周波数成分が現れます。モータの振動パターンの周波数成分を解析することにより、その健全性を正確に診断することができます。

フーリエ解析を実行するためには、ハードウェアとソフトウェアが必要です。ただ、フーリエ解析機能を備える計測装置などを購入すると、大きなコストが発生します。そこで、ここでは基本的に無償でフーリエ解析を実行できる方法を示します。

LTspiceは無償の回路シミュレータですが、実に多彩な機能を備えています。そのうちの1つがフーリエ解析機能です。同機能を使用すれば、CBMシステムが備えるMEMSセンサーで取得した振動データなど、あらゆる信号の周波数成分をプロットすることができます。

LTspiceのフーリエ解析機能を使用するには、図3のようなフォーマットのデータを用意する必要があります。つまり、タイムスタンプと振動データ(電圧値)のペアが縦に並んでいるデータを用意しなければなりません。

Figure 3. Format of time and voltage instances. 図3. タイムスタンプと電圧値のペア
図3. タイムスタンプと電圧値のペア

Excelでは、簡単にこのフォーマットのデータを作成することができます。そのための手順を以下に示します。

まず、図2のデータの各列を、図4に示すように、X、Y、Zという名前の3つのワークシートに分割します。

Figure 4. Three sheets were created and the X, Y, and Z data were copied to their respective sheets. 図4. X/Y/Zのデータを3つのワークシートに分割
図4. X/Y/Zのデータを3つのワークシートに分割

続いて、各データの左側に列を挿入します。この列には、各データに対応するタイムスタンプを記述します。1秒間で50万サンプルのデータが得られたということは、各データは2マイクロ秒間隔で取得されたということを意味します。そこで、新しく作った列の最初のセルに、「2E-6」と入力します。これは、2マイクロ秒間隔のタイムスタンプの最初の値です。

タイムスタンプの列の残りの値を生成するには、Seriesコマンドを使用します。Excelの検索ボックスに「series」と入力すると、図5に示すメニューが表示されます。ここで「Fill Series or Pattern」を選び、ドロップダウン・メニューから「Series...」を選択します。

図5. Seriesコマンドの選択方法
図5. Seriesコマンドの選択方法

すると、図6に示すダイアログ・ボックスが表示されます。このとき、「Columns」と「Linear」が選択されているはずです。そこで「Step value」の値として「2E-6」、「Stop value」の値として「1」を入力します。

Figure 6. Fill the cells with a linearly expanding dataset. 図6. セルの値を一定のステップで増加させるための設定
図6. セルの値を一定のステップで増加させるための設定

ここで「OK」をクリックすると、タイムスタンプの列に2マイクロ秒から1秒まで、2マイクロ秒ステップの値が挿入されます。図7に示すように、LTspiceで処理できるフォーマットへの変更を実現できました。なお、最初の数個の値を入力し、最後のセルまでカーソルをドラッグする方法でも同じことが行えます。ただ、この例のようにデータが50万行にも達する場合には、ドラッグの操作が面倒になるので、本稿で紹介した方法を使う方が便利でしょう。

Figure 7. Columns showing the timestamp and corresponding data sample. 図7. タイムスタンプとデータのペア
図7. タイムスタンプとデータのペア

なお、データセットが大きく、サンプルの間隔が小さい場合、Excelによってタイムスタンプの小数点以下の値が不適切な桁数で丸められてしまうことがあります。そのような場合には最初の列をハイライトし、図8に示すように「FormatFormat Cells」を選択します。

Figure 8. Reformat the cells to remove any rounding errors. 図8. 「Format Cells」の選択。桁数を適切な値にするための操作です。
図8. 「Format Cells」の選択。桁数を適切な値にするための操作です。

続いて、図9のようにして小数点以下の適切な桁数を選択します。

Figure 9. Increasing the timestamp resolution to five decimal places. 図9. 小数点以下の桁数の設定
図9. 小数点以下の桁数の設定

ここまでの作業を終えたら、タイムスタンプとデータの列の値をまとめてコピーし、「メモ帳」などのテキスト・エディタを開いてテキスト・ファイルにペースト/保存します(図10)。

Figure 10. Text file containing time and vibration data. 図10. タイムスタンプと振動のデータを保存したテキスト・ファイル
図10. タイムスタンプと振動のデータを保存したテキスト・ファイル

この例の場合、3つのテキスト・ファイルを作成することになります。すなわち、CBMシステムのX/Y/Z軸の振動データを用意するということです。

以上で、LTspiceに直接データを読み込めるようになりました。

続いて、LTspice上で図11に示す回路図を作成します。作成するのは、正常な場合と異常が生じている場合のX/Y/Z軸のデータに対応する6つの電圧源です。それにより、モータに異常がない場合と異常がある場合のデータに対してフーリエ解析を実行し、両者の結果を比較することができます。特に、2つの状態に対応するプロットを重ねて表示することができるので、両者の差を簡単に確認することが可能です。

Figure 11. LTspice schematic showing voltage outputs for faulty and non-faulty vibration data. 図11. LTspice上で作成した回路図。異常がある場合と異常がない場合に対応する振動データを基に電圧出力を生成します。
図11. LTspice上で作成した回路図。異常がある場合と異常がない場合に対応する振動データを基に電圧出力を生成します。

この回路のシミュレーションでは、以下に示すLTspiceのコマンドを実行します。

.options plotwinsize=0 numdgt=15

それにより、LTspiceが備えるデフォルトの圧縮機能が無効になります。その方が、より明確な結果が得られることがあります。このコマンドを適用しない方がシミュレーションにかかる時間は短くなります。但し、シミュレーションの精度が低下する可能性があるということです。

回路図が完成したら、各電圧源を右クリックして「Advanced」ボタンを選択します。続いて、図12に示すように「PWL FILE」を選択し、振動データを保存した適切なテキスト・ファイルの名前を入力します。それにより、時間と電圧値のペアに基づくPWL電圧源として、6つの電圧源を動作させることができます。なお、各テキスト・ファイルをLTspiceのファイルと同じディレクトリに保存しておくと、作業が簡素化されます。

Figure 12. Creating a piecewise linear voltage source from the vibration data. 図12. PWL電圧源で使用するファイルの指定
図12. PWL電圧源で使用するファイルの指定

次のコマンドによって、トランジェント解析が実行されます。

.tran 1

ここまでの作業により、元の実験と同じ1秒間を対象としてシミュレーションが実行されます。データ・ポイントとトランジェント解析の対象時間(この例では1秒間)によっては、シミュレーションの完了までにかなりの時間を要すことがあります。

シミュレーションの結果を図13に示しました。正常なモータと異常があるモータの時間領域の結果を重ねて表示しています。この実験では、異常があるモータとして軸受に外輪のズレが生じているものを使用しました。このモータに12ポンド(約5.4kg)の負荷をかけ、587.3rpmで回転させました。正常なモータも同じ速度で回転させました。図13を見ると、異常があるモータでは、正常なモータに比べて非常に振幅の大きい振動が生じていることがわかります。

Figure 13. Time domain results of the vibration data for a faulty and non-faulty motor. 図13. シミュレーション結果。正常なモータと異常があるモータの時間領域の波形を重ねて表示しています。
図13. シミュレーション結果。正常なモータと異常があるモータの時間領域の波形を重ねて表示しています。

次に、「Waveform」ウィンドウがハイライトされている状態で、メニュー・バーから「ViewFFT」を選択します。それにより、トランジェント・データに基づいてFFT(高速フーリエ変換)処理が実行されます。

図2を見ると、約3万5000という大きなオフセットの付近で、数値が小さく変動していることがわかります。この振動は、LTspiceのシミュレーション上では、35kVのDCオフセット電圧とそのオフセットに重畳されたAC波形として表現されます。

フーリエ変換の結果をプロットすると、このオフセット電圧は大きなDC成分として現れます。そのため、LTspiceによってY軸の目盛が自動的に調整されると、精査の対象となる高調波が非常に小さく表示されてしまいます。そこで、X軸を右クリックし、DCを含まないように周波数範囲を指定します。そうすると、DCオフセット電圧が除外されます。周波数範囲としては5Hz~1kHz程度で十分です。

Y軸を右クリックして「Linear」ラジオ・ボタンを選択すると、図14に示すように高調波が表示されます。

Figure 14. The Fourier plot with the dc spur removed and shown on a linear scale. 図14. 周波数領域での表示結果。DC成分の部分を除外し、リニア・スケールで表示しています。
図14. 周波数領域での表示結果。DC成分の部分を除外し、リニア・スケールで表示しています。

プロット領域内で右クリックすると、プロット・ペインが追加されます。図15に示すように、X/Y/Z方向の周波数成分を分離して表示することができます。

Figure 15. The X, Y, and Z vibration plots are separated out. 図15. X/Y/Z方向のプロットを分離して表示した結果
図15. X/Y/Z方向のプロットを分離して表示した結果 

モータの10Hzの回転周波数と、60Hz、142Hz、172Hzのかなり大きな高調波がはっきりと確認できます。本稿では、モータ内のどの部品が原因でこれらの高調波が発生しているのかということまでは踏み込みません。しかし、モータの摩耗によって、間違いなく振動パターンに変化が生じていることはわかります。

まとめ

アナログ・デバイセズの多様なMEMS加速度センサーを使用すれば、モータの異常を早期に検出するための重要なデータを得ることができます。ただ、そこまででソリューションとして完結するわけではありません。フーリエ解析を使用し、取得したデータについて注意深く検討する手段も必要です。残念ながら、フーリエ解析を実行できる機器やソフトウェアは一般的に高価です。それに対し、LTspiceを採用すれば、CBMシステムによって得たデータを正確に解析するための手段が無償で得られることになります。それにより、機械の異常の早期検出と診断が可能になります。

著者

Simon Bramble

Simon Bramble

Simon Brambleは、アナログ・デバイセズのスタッフ・エンジニアです。以前はLinear Technology(現在はアナログ・デバイセズに統合)でアナログ技術者として業務に従事していました。ロンドンのブルネル大学でアナログ技術とパワー技術を専攻。1991年に電気工学と電子工学の学位を取得しました。