Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ライブ エディター タスクを使用したギア列データの解析およびスペクトル特徴の抽出

この例では、[スペクトル特徴の抽出] ライブ エディター タスクを使用して、ホビーグレード サーボのギア列を駆動することで得られる電流信号からのデータを解析する方法を説明します。例ではまた、故障の検出と特定に活用するために、データからスペクトル特徴を抽出する方法も説明します。

ライブ エディター タスクを使用すると、計算結果への影響を観察しながら、パラメーターと設定を対話的に反復できます。タスクは、表示された結果を実現する MATLAB® コードを自動的に生成します。ライブ エディター タスク全般の詳細については、ライブ スクリプトへの対話型タスクの追加を参照してください。

この例では特に、[スペクトル特徴の抽出] ライブ エディター タスクを使用します。このタスクは、スペクトル データの解析と理解に役立ちます。包括的なインターフェイスを使用することで、さまざまなベアリング、ギアの噛み合い、あるいはハードウェア セットアップの他の部分を表すコンポーネントを追加することができます。これらコンポーネントの物理パラメーターを設定すると、[スペクトル特徴の抽出] ライブ エディター タスクによって、コンポーネントの特性周波数での故障周波数帯域がプロットされます。

パワー スペクトル データを故障帯域のプロットに重ね合わせて、データのさまざまなピークを、コンポーネントの特性周波数と関連付けることができます。この比較では、パワー スペクトル データの変化を、その原因となっている物理コンポーネントまで簡単に遡ることができるため、故障検出と故障特定が行いやすくなります。

タスクでは特性周波数とパワー スペクトル データのプロットに加えて、各特性周波数帯域内でデータのスペクトル メトリクスを生成することができます。各帯域のピーク振幅、ピーク周波数、および帯域パワーが格納された出力メトリクスの table は、潜在的な機械的故障を特徴付けるのに役立ちます。

この例を自分で実行するには、[スペクトル特徴の抽出] ライブ エディター タスクを開き、例で示された設定を複製します。

ハードウェアの概要

この例では、Futaba の標準的なホビー用サーボ S3003 を連続回転用に改造したものから電流データを収集しました。サーボは、内部の DC モーターの高い速度を、出力スプラインの高いトルクに変換します。これを可能にするため、サーボは DC モーター、ナイロン製または金属製駆動ギアの組、および制御回路によって構成されます。制御回路は、DC モーターへの電流信号を直接監視するため取り外しました。直径 35 mm、16 スロットのホイールとともに赤外線フォトインタラプタを使用して、サーボの出力スプラインにおけるタコメーター信号を収集しました。ホイールの 16 のスロットは等間隔であり、IR フォトインタラプタはスロット付きホイールの 1 回転につき正確に 16 パルスを発するよう配置しました。サーボとフォトインタラプタは、カスタムで 3 次元プリントしたマウントによって保持しました。

DC モーターは 5 V の定電圧で駆動され、4 組のギアで 278:1 の減速を行うため、スプラインでのシャフト回転数は約 19.5 rpm になりました。2 番目のサーボ モーターは短絡されており、システムの負荷として使用されました。消費電流は、0.5 Ω 抵抗器両端の電圧低下を測定することによってオームの法則を使用して計算されました。電流測定値の変化は小さすぎて検出できないため、AD22050 単電源センサー インターフェイス アンプを使用して電流信号を増幅しました。増幅された電流信号は、MAX7408 アンチエイリアシング 5 次楕円ローパス フィルターを使用して平滑化とノイズ除去を行ってから、アナログ デジタル コンバーター (ADC) を介して Arduino Uno に送られました。

フローチャートに示すように、電流信号はまずアンプで増幅されてから、アンチエイリアシング ローパス フィルターでフィルター処理されます。Arduino Uno は、ADC を通して送られた電流信号を 1.5 kHz でサンプリングし、タコメーターのパルスとともにシリアル データとして 115,200 bps のボー レートでコンピューターにストリーミングしました。MATLAB スクリプトが Arduino Uno からシリアル データを取得し、前処理を行って、.MAT ファイルに書き込みました。その後、[スペクトル特徴の抽出] ライブ エディター タスクを使用して、スペクトル メトリクスを抽出しました。

サーボのギア列

この図に示すように、Futaba の S3003 サーボは 4 組のナイロン製ギアで構成されています。DC モーター シャフト上のピニオン P1 は段付きギア G1 と噛み合います。ピニオン P2 は段付きギア G1 の成形部分であり、段付きギア G2 と噛み合います。ピニオン P3 はギア G2 の成形部分であり、段付きギア G3 と噛み合います。ピニオン P4 は G3 の成形の一部分であり、出力スプラインに取り付けられた最終ギア G4 と噛み合います。G1 と P2、G2 と P3、G3 と P4 の段付きギアの組は自由回転ギアです - すなわち、これらは各シャフトに固定されていません。駆動ギアの組は 278:1 の減速を行い、モーターを 5 V で駆動するとき、5414.7 rpm のモーター速度を約 19.5 rpm の出力スプラインに減速します。次の表に、歯数と、各ギア噛み合いにおける出力速度、ギアの噛み合い周波数、累積ギア減速比の理論値を示します。

データの前処理

ファイル servoData.mat には、サーボからのデータに対応する 2 つの timetable が含まれています。一方の timetable には健全状態のデータが含まれ、2 つ目の timetable には故障状態のデータが含まれています。各データセットには、1500 Hz でサンプリングされた約 11 秒のデータが含まれます。

データを読み込みます。

load('servoData.mat', 'healthyData', 'faultyData')
healthyData
healthyData=16384×2 timetable
         Time         MotorCurrent    TachoPulse
    ______________    ____________    __________

    0 sec                307.62           1     
    0.00066667 sec       301.27           1     
    0.0013333 sec        309.08           1     
    0.002 sec            315.92           1     
    0.0026667 sec         304.2           1     
    0.0033333 sec        311.04           1     
    0.004 sec            311.52           1     
    0.0046667 sec        305.18           1     
    0.0053333 sec        315.43           0     
    0.006 sec            310.06           0     
    0.0066667 sec        305.66           0     
    0.0073333 sec        310.55           0     
    0.008 sec            304.69           0     
    0.0086667 sec        310.55           0     
    0.0093333 sec        310.06           0     
    0.01 sec              299.8           0     
      ⋮

faultyData
faultyData=16384×2 timetable
         Time         MotorCurrent    TachoPulse
    ______________    ____________    __________

    0 sec                313.48           0     
    0.00066667 sec        304.2           0     
    0.0013333 sec        303.22           0     
    0.002 sec            319.34           0     
    0.0026667 sec         304.2           0     
    0.0033333 sec        303.22           0     
    0.004 sec            319.82           0     
    0.0046667 sec        303.22           0     
    0.0053333 sec        306.64           0     
    0.006 sec            321.29           0     
    0.0066667 sec        303.71           0     
    0.0073333 sec        308.11           0     
    0.008 sec            319.34           0     
    0.0086667 sec        301.76           0     
    0.0093333 sec        309.08           0     
    0.01 sec             319.34           0     
      ⋮

各 timetable には、モーターの電流の記された 1 列と、サーボ セットアップからのタコメーターのパルスが記された 1 列が含まれています。[スペクトル特徴の抽出] ライブ エディター タスクでデータを可視化するために、モーターの電流データのパワー スペクトルを計算します。まず健全状態のデータを検討します。

fs = 1500;
[healthyMagnitudes, healthyFrequencies] = pspectrum(healthyData.MotorCurrent, healthyData.Time);

[スペクトル特徴の抽出] ライブ エディター タスクを使用して、パワー スペクトル データをプロットします。タスクでは、周波数ベクトルに healthyMagnitudes を、パワー スペクトルの振幅に healthyFrequencies を指定します。

高調波故障周波数帯域でのパワー スペクトルのピークの解析

サーボの電流データのパワー スペクトル プロットには、いくつかの顕著なピークが含まれています。これらのピークを、サーボ セットアップの回転シャフトと関連付けることができます。さまざまなピークのソースを判定するために、[スペクトル特徴の抽出] ライブ エディター タスクにコンポーネントを追加します。

サーボの最初の回転シャフトを表すコンポーネントを追加するには、コンポーネントの名前を入力し、そのタイプに [カスタム] を選択して、[追加] を押します。上記の表の出力回転数を使用して、シャフト コンポーネントの周波数を選択します。出力回転数は、出力シャフトの測定された回転数と、セットアップでの既知のギア減速に基づいて計算されたものです。

最初のシャフトの周波数は 90.24 Hz です。シャフト コンポーネントの周波数値を設定した後は、故障周波数帯域が、90 Hz 付近でパワー スペクトル データのピークの 1 つとオーバーラップしていることに注意してください。したがって、このピークは主に最初のシャフトと関連付けることができます。最初のシャフトの基本周波数の高調波をさらにいくつか加えると、データの他のピークとオーバーラップする故障周波数帯域がさらに作成されます。高調波周波数帯域は基本周波数の整数倍を中心としており、やはり同じコンポーネントと関連付けることができます。最初のシャフトの高調波がベクトル [1 2 3 4 5 6] となるように設定し、故障帯域がほとんどの周波数範囲に広がるようにします。最初のシャフトは最も高い周波数で回転するため、高めの周波数にあるパワー スペクトルのピークはこのシャフトの高調波によるものです。

13 Hz や 29 Hz 付近のような、比較的小さいパワー スペクトルのピークに対応するには、2 番目の回転シャフトのコンポーネントを追加します。このコンポーネントもカスタム コンポーネントであり、その基本周波数は 14.56 Hz です。高周波数のピークのほとんどが最初のシャフトの高調波で概ね対応されているため、2 番目のシャフトでは、さほど多くの高調波を加える必要はありません。2 番目のシャフトの高調波がベクトル [1 2 3 4] となるように設定します。このシャフト周波数の 1 番目、2 番目、4 番目の高調波が、パワー スペクトル プロットのピークとうまく合致します。ただし、3 番目の高調波はデータにおいてあまり顕著でないため、この高調波を含める必要はありません。2 番目のシャフトの高調波がベクトル [1 2 4] となるよう変更します。

2 番目のシャフトと同様に、3 番目の回転シャフトのコンポーネントを追加します。このコンポーネントの基本周波数は、表でわかるように 2.91 Hz です。最初の 4 つの高調波から始めて、それらがデータの顕著なピークと合致するかどうかを判定します。3 番目のシャフトの 3 番目の高調波が、8 Hz 付近でパワー スペクトルのスパイクと一致することに注意してください。他の高調波はあまり顕著ではなく、削除することができます。パワー スペクトルの周波数分解能では、低めの周波数を識別できないという可能性もあります。3 番目のシャフト コンポーネントの高調波を、3 番目の高調波のみに設定します。

残りのシャフトの出力回転数も周波数が低く、パワー スペクトルの周波数分解能からは識別できない可能性があるため、モーターの電流データの主なピークを解析するにあたって、これらのシャフトのコンポーネントを追加する必要はありません。

側波帯のピークの解析

タスクのプロットにズームインすると、パワー スペクトル データには、いくつかの主要ピークの横にサイド ピークが含まれていることがわかります。たとえば、76 Hz と 104 Hz 付近の比較的小さなサイド ピークが、90 Hz のピークを囲んでいます。これらのピークはおそらく、最初のシャフト コンポーネントの側波帯と関連しています。側波帯は、2 番目の関連周波数のソースが主要な高調波周波数のソースに影響を与えることで発生します。サーボ セットアップの場合、この観察は、各シャフトの側波帯がギア列の隣のシャフトによって生じているという推定につながります。

最初の 2 つのシャフト コンポーネントを編集して、それらの最初の側波帯を含めます。最初のシャフトの側波帯分離値は 2 番目のシャフトの定格出力周波数 14.56 Hz と等しくする必要があります。

同様に、2 番目のシャフトの側波帯分離値は 3 番目のシャフトの定格周波数 2.91 Hz と等しくする必要があります。プロットに再度ズームインすると、多くの新たな側波帯が、データ内のサイド ピークと良好にオーバーラップしていることがわかります。これは、0 Hz ~ 120 Hz のような低い周波数で確認しやすくなっています。

スペクトル メトリクスの抽出による故障の検出

[スペクトル特徴の抽出] ライブ エディター タスクでは、故障周波数範囲におけるパワー スペクトル データのさまざまなスペクトル メトリクスが生成されます。各故障周波数帯域のピーク振幅、ピーク周波数、および帯域パワーと、すべての故障周波数帯域の合計帯域パワーを計算します。

load('dataSample1.mat')
spectralMetrics_healthy
spectralMetrics_healthy=1×85 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    PeakAmplitude15    PeakFrequency15    BandPower15    PeakAmplitude16    PeakFrequency16    BandPower16    PeakAmplitude17    PeakFrequency17    BandPower17    PeakAmplitude18    PeakFrequency18    BandPower18    PeakAmplitude19    PeakFrequency19    BandPower19    PeakAmplitude20    PeakFrequency20    BandPower20    PeakAmplitude21    PeakFrequency21    BandPower21    PeakAmplitude22    PeakFrequency22    BandPower22    PeakAmplitude23    PeakFrequency23    BandPower23    PeakAmplitude24    PeakFrequency24    BandPower24    PeakAmplitude25    PeakFrequency25    BandPower25    PeakAmplitude26    PeakFrequency26    BandPower26    PeakAmplitude27    PeakFrequency27    BandPower27    PeakAmplitude28    PeakFrequency28    BandPower28    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

       0.018807           77.106         0.044031        0.66362            90.842          2.2909        0.0077426           104.58         0.026419       0.0019168           168.13        0.0076763        0.038096           182.6          0.13879        0.0034959           192.86         0.013926        0.026784           258.24         0.11461         0.19204            270.7          0.68298         0.033746           284.07         0.12342         0.0026495           347.62          0.0099187        0.0048234           360.81          0.020787         0.0022197           375.64          0.0086089        0.018193            435.53          0.074193         0.041176            449.08           0.12665         0.018563            467.22          0.069274          0.96653            526.01           3.7305           0.91167            539.19           3.1072           0.29483            558.24           1.0806           1.0344             11.905           0.75499          4.2123             14.286           3.0377          0.076126            17.399          0.078413         0.037838            26.557          0.038039          0.75323            29.121           0.63973         0.010537            32.234          0.010979         0.0058568           55.311          0.006088          0.01419            58.425          0.011768         0.0033215           61.355          0.0034384         0.51018            8.7912           0.27612          16.528    

これらのメトリクスは、サーボ セットアップで故障を検出するのに役立つ可能性があります。パワー スペクトル データの大きな変化は、多くの場合、何らかのコンポーネントが変化しつつあるか、故障しかけていることを示します。ピーク周波数のいずれかにシフトがある場合、またはピーク振幅が時間とともに大きく下がる場合、これは故障の兆候かもしれません。

このシナリオを調べるには、故障データセットのパワー スペクトル データを計算します。

[faultyMagnitudes, faultyFrequencies] = pspectrum(faultyData.MotorCurrent, faultyData.Time);

タスク内で故障データのスペクトルをプロットし、サーボ セットアップの測定された出力回転数に基づき、シャフト コンポーネントの基本周波数と側波帯分離値を調整します。

Fs = 1500; % 1500 Hz
[outputSpeed,t] = tachorpm(faultyData.TachoPulse,Fs,'PulsesPerRev',16,'FitType','linear');
meanOutputSpeed = mean(outputSpeed)/60 % convert from rpm to Hz
meanOutputSpeed = 0.3150
shaft4Speed = meanOutputSpeed * 41 / 16 % 16 pinion teeth, 41 gear teeth
shaft4Speed = 0.8072
shaft3Speed = shaft4Speed * 35 / 10 % 10 pinion teeth, 35 gear teeth
shaft3Speed = 2.8251
shaft2Speed = shaft3Speed * 50 / 10 % 10 pinion teeth, 50 gear teeth
shaft2Speed = 14.1254
shaft1Speed = shaft2Speed * 62 / 10 % 10 pinion teeth, 62 gear teeth
shaft1Speed = 87.5772

最初のシャフト コンポーネントでは、shaft1Speed を基本周波数として、また shaft2Speed を側波帯分離として使用します。2 番目のシャフト コンポーネントでは、shaft2Speed を基本周波数として、また shaft3Speed を側波帯分離として使用します。3 番目のシャフト コンポーネントでは、shaft3Speed を基本周波数として使用します。

故障パワー スペクトル データの可視化で確認できるように、ピークのいくつかは振幅が小さくなっています。たとえば、健全状態のデータセットにおいて 180 Hz 付近で最初のシャフトの 2 番目の高調波と合致していたピークは、故障状態のデータセットではほとんど無視できます。このピークは最初のシャフトに関連している可能性が高いと先ほど判断していたので、これは、最初のシャフトに故障の可能性があることを示しています。スペクトル メトリクスの table をさらに調べると、ピーク周波数、ピーク振幅、および帯域パワーについてより詳しい情報が得られます。

spectralMetrics_faulty
spectralMetrics_faulty=1×85 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    PeakAmplitude15    PeakFrequency15    BandPower15    PeakAmplitude16    PeakFrequency16    BandPower16    PeakAmplitude17    PeakFrequency17    BandPower17    PeakAmplitude18    PeakFrequency18    BandPower18    PeakAmplitude19    PeakFrequency19    BandPower19    PeakAmplitude20    PeakFrequency20    BandPower20    PeakAmplitude21    PeakFrequency21    BandPower21    PeakAmplitude22    PeakFrequency22    BandPower22    PeakAmplitude23    PeakFrequency23    BandPower23    PeakAmplitude24    PeakFrequency24    BandPower24    PeakAmplitude25    PeakFrequency25    BandPower25    PeakAmplitude26    PeakFrequency26    BandPower26    PeakAmplitude27    PeakFrequency27    BandPower27    PeakAmplitude28    PeakFrequency28    BandPower28    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

      0.0011027           75.641         0.003537        0.032586           88.095         0.095873       0.00095284          101.47         0.00395        0.00041757          158.97        0.0016883       0.0010558           174.73        0.0038404       0.00041803          190.11        0.0018164       0.0051769           249.27         0.017515        0.02861            261.54         0.12024        0.0050995           274.91         0.015488        0.0014899           336.08          0.0062536        0.0034166           350.37           0.0151          0.0014213           363.19          0.0049667        0.0022729           423.63          0.0092143        0.0058396           437.36          0.020548         0.0031547           450.37          0.010476          1.9385             511.36           6.3395           1.3398             523.81           5.1888           0.79239            539.38           2.9425           0.99793            11.538           0.82466          2.7276             13.919           1.9334           0.03098            17.033           0.03294         0.019366            25.641          0.018542          0.27042            28.205           0.26876         0.0056307           31.136          0.0060665        0.0029552           54.029          0.0028713        0.024583            56.593          0.025096         0.002738            58.974          0.0027415         0.74611            8.4249           0.40382          18.32     

ライブ エディター タスクでスペクトル データを更新する代わりに、自動生成された MATLAB コードを使用して、故障データのスペクトル メトリクスを決定することもできます。以下のコードは、ライブ エディター タスクを使用して健全状態のスペクトル メトリクスを生成した時に自動生成されたものです。コードを実行します。

% Generate the fault bands and information for each component
[FB_Shaft1, info_Shaft1] = faultBands(90.24, 1:6, 14.56, 0:1);
[FB_Shaft2, info_Shaft2] = faultBands(14.56, [1 2 4], 2.91, 0:1);
[FB_Shaft3, info_Shaft3] = faultBands(2.91, 3);

% Combine the fault bands of each component
FB_healthy = [FB_Shaft1; ...
		FB_Shaft2; ...
		FB_Shaft3];

% Combine the information regarding the fault bands of each component
info_healthy.Centers = [info_Shaft1.Centers, ...
		info_Shaft2.Centers, ...
		info_Shaft3.Centers];
info_healthy.Labels = [info_Shaft1.Labels, ...
		info_Shaft2.Labels, ...
		info_Shaft3.Labels];
info_healthy.FaultGroups = [info_Shaft1.HarmonicGroups, ...
		info_Shaft2.HarmonicGroups, ...
		info_Shaft3.HarmonicGroups];

% Clear temporary outputs from the workspace
clear FB_Shaft1 info_Shaft1;
clear FB_Shaft2 info_Shaft2;
clear FB_Shaft3 info_Shaft3;

% Compute fault band metrics of the power spectrum healthyMagnitudes
spectralMetrics_healthy = faultBandMetrics(healthyMagnitudes, healthyFrequencies, FB_healthy)
spectralMetrics_healthy=1×85 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    PeakAmplitude15    PeakFrequency15    BandPower15    PeakAmplitude16    PeakFrequency16    BandPower16    PeakAmplitude17    PeakFrequency17    BandPower17    PeakAmplitude18    PeakFrequency18    BandPower18    PeakAmplitude19    PeakFrequency19    BandPower19    PeakAmplitude20    PeakFrequency20    BandPower20    PeakAmplitude21    PeakFrequency21    BandPower21    PeakAmplitude22    PeakFrequency22    BandPower22    PeakAmplitude23    PeakFrequency23    BandPower23    PeakAmplitude24    PeakFrequency24    BandPower24    PeakAmplitude25    PeakFrequency25    BandPower25    PeakAmplitude26    PeakFrequency26    BandPower26    PeakAmplitude27    PeakFrequency27    BandPower27    PeakAmplitude28    PeakFrequency28    BandPower28    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

       0.018807           77.106         0.044031        0.66362            90.842          2.2909        0.0077426           104.58         0.026419       0.0019168           168.13        0.0076763        0.038096           182.6          0.13879        0.0034959           192.86         0.013926        0.026784           258.24         0.11461         0.19204            270.7          0.68298         0.033746           284.07         0.12342         0.0026495           347.62          0.0099187        0.0048234           360.81          0.020787         0.0022197           375.64          0.0086089        0.018193            435.53          0.074193         0.041176            449.08           0.12665         0.018563            467.22          0.069274          0.96653            526.01           3.7305           0.91167            539.19           3.1072           0.29483            558.24           1.0806           1.0344             11.905           0.75499          4.2123             14.286           3.0377          0.076126            17.399          0.078413         0.037838            26.557          0.038039          0.75323            29.121           0.63973         0.010537            32.234          0.010979         0.0058568           55.311          0.006088          0.01419            58.425          0.011768         0.0033215           61.355          0.0034384         0.51018            8.7912           0.27612          16.528    

このコードは、新しい故障状態のデータセット用に簡単に調整できます。

% Generate the fault bands and information for each component
[FB_Shaft1, info_Shaft1] = faultBands(shaft1Speed, 1:6, shaft2Speed, 0:1);
[FB_Shaft2, info_Shaft2] = faultBands(shaft2Speed, [1 2 4], shaft3Speed, 0:1);
[FB_Shaft3, info_Shaft3] = faultBands(shaft3Speed, 3);

% Combine the fault bands of each component
FB_faulty = [FB_Shaft1; ...
		FB_Shaft2; ...
		FB_Shaft3];

% Combine the information regarding the fault bands of each component
info_faulty.Centers = [info_Shaft1.Centers, ...
		info_Shaft2.Centers, ...
		info_Shaft3.Centers];
info_faulty.Labels = [info_Shaft1.Labels, ...
		info_Shaft2.Labels, ...
		info_Shaft3.Labels];
info_faulty.FaultGroups = [info_Shaft1.HarmonicGroups, ...
		info_Shaft2.HarmonicGroups, ...
		info_Shaft3.HarmonicGroups];

% Clear temporary outputs from the workspace
clear FB_Shaft1 info_Shaft1;
clear FB_Shaft2 info_Shaft2;
clear FB_Shaft3 info_Shaft3;

% Compute fault band metrics of the power spectrum healthyMagnitudes
spectralMetrics_faulty = faultBandMetrics(faultyMagnitudes, faultyFrequencies, FB_faulty)
spectralMetrics_faulty=1×85 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    PeakAmplitude15    PeakFrequency15    BandPower15    PeakAmplitude16    PeakFrequency16    BandPower16    PeakAmplitude17    PeakFrequency17    BandPower17    PeakAmplitude18    PeakFrequency18    BandPower18    PeakAmplitude19    PeakFrequency19    BandPower19    PeakAmplitude20    PeakFrequency20    BandPower20    PeakAmplitude21    PeakFrequency21    BandPower21    PeakAmplitude22    PeakFrequency22    BandPower22    PeakAmplitude23    PeakFrequency23    BandPower23    PeakAmplitude24    PeakFrequency24    BandPower24    PeakAmplitude25    PeakFrequency25    BandPower25    PeakAmplitude26    PeakFrequency26    BandPower26    PeakAmplitude27    PeakFrequency27    BandPower27    PeakAmplitude28    PeakFrequency28    BandPower28    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

      0.0011027           75.641         0.003537        0.032586           88.095         0.095873       0.00095284          101.47         0.00395        0.00041757          158.97        0.0016883       0.0010558           174.73        0.0038404       0.00041803          190.11        0.0018164       0.0051769           249.27         0.017515        0.02861            261.54         0.12024        0.0050995           274.91         0.015488        0.0014899           336.08          0.0062536        0.0034166           350.37           0.0151          0.0014213           363.19          0.0049667        0.0022729           423.63          0.0092143        0.0058396           437.36          0.020548         0.0031547           450.37          0.010476          1.9385             511.36           6.3395           1.3398             523.81           5.1888           0.79239            539.38           2.9425           0.99793            11.538           0.82466          2.7276             13.919           1.9334           0.03098            17.033           0.03294         0.019366            25.641          0.018542          0.27042            28.205           0.26876         0.0056307           31.136          0.0060665        0.0029552           54.029          0.0028713        0.024583            56.593          0.025096         0.002738            58.974          0.0027415         0.74611            8.4249           0.40382          18.32     

健全状態と故障状態のスペクトル メトリクスの table を組み合わせることで、スペクトル データのピーク振幅と帯域パワーにおける変化が見えやすくなります。

spectralMetrics_total = [spectralMetrics_healthy; spectralMetrics_faulty]
spectralMetrics_total=2×85 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    PeakAmplitude15    PeakFrequency15    BandPower15    PeakAmplitude16    PeakFrequency16    BandPower16    PeakAmplitude17    PeakFrequency17    BandPower17    PeakAmplitude18    PeakFrequency18    BandPower18    PeakAmplitude19    PeakFrequency19    BandPower19    PeakAmplitude20    PeakFrequency20    BandPower20    PeakAmplitude21    PeakFrequency21    BandPower21    PeakAmplitude22    PeakFrequency22    BandPower22    PeakAmplitude23    PeakFrequency23    BandPower23    PeakAmplitude24    PeakFrequency24    BandPower24    PeakAmplitude25    PeakFrequency25    BandPower25    PeakAmplitude26    PeakFrequency26    BandPower26    PeakAmplitude27    PeakFrequency27    BandPower27    PeakAmplitude28    PeakFrequency28    BandPower28    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

       0.018807           77.106         0.044031         0.66362           90.842           2.2909        0.0077426          104.58         0.026419        0.0019168          168.13        0.0076763        0.038096            182.6          0.13879        0.0034959          192.86         0.013926        0.026784           258.24          0.11461        0.19204             270.7         0.68298         0.033746           284.07          0.12342        0.0026495           347.62          0.0099187        0.0048234           360.81          0.020787         0.0022197           375.64          0.0086089         0.018193           435.53           0.074193         0.041176           449.08           0.12665          0.018563           467.22          0.069274          0.96653            526.01           3.7305           0.91167            539.19           3.1072           0.29483            558.24           1.0806            1.0344            11.905           0.75499          4.2123             14.286           3.0377          0.076126            17.399          0.078413         0.037838            26.557          0.038039          0.75323            29.121           0.63973          0.010537           32.234           0.010979        0.0058568           55.311           0.006088         0.01419            58.425          0.011768         0.0033215           61.355          0.0034384         0.51018            8.7912           0.27612          16.528    
      0.0011027           75.641         0.003537        0.032586           88.095         0.095873       0.00095284          101.47          0.00395       0.00041757          158.97        0.0016883       0.0010558           174.73        0.0038404       0.00041803          190.11        0.0018164       0.0051769           249.27         0.017515        0.02861            261.54         0.12024        0.0050995           274.91         0.015488        0.0014899           336.08          0.0062536        0.0034166           350.37            0.0151         0.0014213           363.19          0.0049667        0.0022729           423.63          0.0092143        0.0058396           437.36          0.020548         0.0031547           450.37          0.010476           1.9385            511.36           6.3395            1.3398            523.81           5.1888           0.79239            539.38           2.9425           0.99793            11.538           0.82466          2.7276             13.919           1.9334           0.03098            17.033           0.03294         0.019366            25.641          0.018542          0.27042            28.205           0.26876         0.0056307           31.136          0.0060665        0.0029552           54.029          0.0028713        0.024583            56.593          0.025096          0.002738           58.974          0.0027415         0.74611            8.4249           0.40382           18.32    

たとえば、table の PeakAmplitude2 を見ると、パワー スペクトルのピークの振幅が 2.0259 から 0.0829 に落ちています。PeakFrequency2 の値を使用すると、この低下が 90 Hz 付近で発生していることがわかります。2 つのパワー スペクトルを同じ座標軸にプロットして、ライブ エディター タスクの外部で低下を可視化します。

plot(healthyFrequencies,10*log10(healthyMagnitudes),'b-'); % plot in decibels
hold on;
plot(faultyFrequencies,10*log10(faultyMagnitudes),'r-'); % plot in decibels
legend('Healthy','Faulty')
xlabel('Frequency (Hz)')
ylabel('Power Spectrum (dB)')
title('Comparison of Power Spectrums')
hold off;

Figure contains an axes object. The axes object with title Comparison of Power Spectrums, xlabel Frequency (Hz), ylabel Power Spectrum (dB) contains 2 objects of type line. These objects represent Healthy, Faulty.

メトリクスの table に示されたように、90 Hz 付近のピークは振幅が大きく落ちています。どのコンポーネント周波数がこの原因であるかを判定するために、前の [スペクトル特徴の抽出] ライブ エディター タスクを再度確認します。

90 Hz 付近の故障帯域は、最初の回転シャフトの 1 番目の高調波です。したがって、このシャフトで何かが変化しており、故障に傾きつつある可能性があるとわかります。

健全状態と故障状態のパワー スペクトルを一緒にプロットするのは、ピーク振幅の変化を強調させるのに役立つ場合があります。最初のシャフトの 1 番目の高調波に対応する 90 Hz 付近のピークに加え、180 Hz 付近にあるこのシャフトの 2 番目の高調波など、他にもピーク振幅の大きな低下が見られます。後者のピークは、故障状態のデータセットに実質上存在しません。

健全状態のデータと故障状態のデータからのピーク振幅は、棒グラフを使用して比較することもできます。

PeakFrequencies = spectralMetrics_total(:,2:3:end-1).Variables';
PeakAmplitudes = spectralMetrics_total(:,1:3:end-1).Variables';
bar(PeakFrequencies, PeakAmplitudes);
legend('Healthy','Faulty')
xlabel('Frequency (Hz)')
ylabel('Peak Amplitude')
title('Peak Amplitudes of Healthy and Faulty Power Spectrum Data') 

ズームインして、最初の回転シャフトの 1 番目の高調波におけるピーク振幅の変化を確認します。

xlim([87 93])
ylim([0 0.7])

Figure contains an axes object. The axes object with title Peak Amplitudes of Healthy and Faulty Power Spectrum Data, xlabel Frequency (Hz), ylabel Peak Amplitude contains 2 objects of type bar. These objects represent Healthy, Faulty.

[スペクトル特徴の抽出] ライブ エディター タスクの使用

この例で示したように、[スペクトル特徴の抽出] ライブ エディター タスクはいくつかの異なった用途で有用であることがわかります。ライブ エディター タスクを使うと、スペクトルのピークを既知のマシン コンポーネントの周波数と簡単にマッチングできます。これは、データと、データのさまざまな特徴を発生させている機械コンポーネントをより良く理解するために役立ちます。

[スペクトル特徴の抽出] ライブ エディター タスクのもう 1 つの用途は、対象とする周波数範囲でスペクトル データを特徴付けるメトリクスを生成することです。タスクでは、各故障周波数帯域のピーク振幅、ピーク周波数、および帯域パワーと、すべての故障周波数帯域の合計帯域パワーを含む、出力 table が生成されます。ただし、これらはタスクで入力したパワー スペクトル データに固有なメトリクスです。

この用法を拡張して、新規データ セットを収集しながら経時的にメトリクスを追跡できるようにするには、タスク内でパワー スペクトル データを更新するか、あるいは自動生成された MATLAB コードを使用してメトリクス テーブルを生成することができます。生成された MATLAB コードをコピーするのは、多くの新しいデータ セットについて故障帯域のメトリクスを継続的に計算するための簡単な方法です。

タスクの 3 つ目の用法は、上記 2 つの用法の利点を組み合わせたものです。タスクではさまざまな機械コンポーネントがスペクトル データのピークと関連付けられるため、どのコンポーネントがスペクトル データの大きな変化の原因となっているかを、つまり潜在的な故障をすばやく特定することができます。たとえば、スペクトル データから導出される機械故障の一般的なインジケーターとして、スペクトル ピークの振幅における変化があります。スペクトル メトリクスの table で、ピーク振幅または帯域パワーが時間とともに大きく低下するのに気付いた場合、対応するピーク周波数をプロットに戻って追跡し、どのコンポーネントの故障周波数帯域がそのピークと合致しているかを確認できます。

参考

| | | |

関連するトピック