Анализируйте данный Train передач и извлекайте спектральные функции с помощью задач Live Editor

В этом примере показов, как использовать задачу Extract Spectral Функций Live Editor для анализа данных из текущего сигнала, полученного от приведения в train передачи сервопривода хобби-класса. Пример также показывает, как извлечь спектральные функции из данных, чтобы помочь в обнаружении и идентификации отказа.

Задачи Live Editor позволяют вам в интерактивном режиме итерировать параметры и настройки, наблюдая их эффекты на результат расчетов. Задачи автоматически генерируют код MATLAB ®, который достигает отображаемых результатов. Дополнительные сведения о задачах Live Editor см. в разделе Добавление интерактивных задач к Live Script.

В частности, этот пример использует задачу Extract Spectral Features Live Editor. Эта задача помогает с анализом и пониманием спектральных данных. Используя комплексный интерфейс, можно добавить компоненты, чтобы представлять различные подшипники, зубчатые сетки или другие части настройки оборудования. Когда вы устанавливаете физические параметры этих компонентов, задача «Извлечение спектральных функций Live Editor» строит графики полос частот отказов на харатеристических частотах компонентов.

Можно наложить данные спектра степени на график полосы отказов, чтобы связать различный peaks в данных с характеристическими частотами компонентов. Это сравнение может облегчить обнаружение отказов и изоляцию отказов, так как вы можете легко проследить изменения в данных спектра степени обратно к физическим компонентам, вызывающим их.

В дополнение к графику характеристических частот и данных спектральной степени задача может сгенерировать спектральные метрики данных в каждой характеристической полосе частот. Выход метрик, содержащая пиковую амплитуду, пиковую частоту и мощность полосы каждой полосы, помогает охарактеризовать потенциальные механические отказы.

Обзор оборудования

В этом примере данные электрического тока были собраны со стандартного сервопривода Futaba S3003 hobby, который был изменен для непрерывного вращения. Сервоприводы преобразуют высокую скорость внутреннего двигателя постоянного тока в высокий крутящий момент на выход сплайне. Для этого сервоприводы состоят из двигателя постоянного тока, набора нейлоновых или металлических ведущих передач и схемы управления. Схема управления была удалена, чтобы позволить непосредственно контролировать сигнал тока на двигатель постоянного тока. Сигнал тахометра на выход сплайне сервопривода собирали с помощью инфракрасного фотоинтерруптора вместе с шестнадцатищелевым колесом диаметром 35 мм. Шестнадцать пазов в колесе были равномерно разнесены, и ИК-фотоинтерруптор был помещен таким образом, чтобы он излучал ровно шестнадцать импульсов за вращение щелевого колеса. Сервопривод и фотоинтерруптор удерживались на месте пользовательскими 3-D печатными установками.

Двигатель постоянного тока вращался на постоянной 5 вольтах, и с четырьмя парами передач, обеспечивающих снижение скорости 278:1, скорость вала в сплайне составляла около 19,5 об/мин. Второй сервопривод был замкнут и использован в качестве нагрузки для системы. Потребление тока вычисляли по закону Ом путем измерения падения напряжения на резисторе 0,5 Ом. Поскольку изменение значений измерения тока было слишком маленьким для обнаружения, токовый сигнал был усилен с помощью AD22050 усилителя интерфейса датчика с одним источником питания. Усиленный токовый сигнал затем фильтровали с помощью MAX7408 сглаживающего эллиптического lowpass фильтра пятого порядка, чтобы сглаживать его и устранять шум перед отправкой его в Arduino Uno через аналого-цифровой преобразователь (АЦП).

Как показывает блок-схема, токовый сигнал был сначала усилен и фильтрован с помощью усилителя и сглаживающего lowpass, соответственно. Arduino Uno дискретизировал текущий сигнал через АЦП со скоростью 1,5 кГц и передал его на компьютер вместе с импульсами тахометра в качестве последовательных данных со скоростью 115 200 бит/с. Скрипт MATLAB взял серийные данные с Arduino Uno, предварительно обработал их и записал в .MAT файл. Затем была использована задача Extract Spectral Features Live Editor для извлечения спектральных метрик.

Сервопривод Train

Сервопривод S3003 Futaba состоит из четырех пар нейлоновых передач, как показано на этом рисунке. Шестерня, P1 на валу двигателя постоянного тока, зацепляется со ступенчатой шестерней G1. Шестерня P2 является отформованной частью ступенчатой зубчатой G1 и зацепляется со ступенчатой зубчатой G2. Шестерня P3, которая является отформованной частью зубчатой G2, зацепляется со ступенчатой шестерней G3. Шестерня P4, которая отформована с G3, зацепляется с конечным зубчатым G4, который крепится к выходу сплайну. Ступенчатая передача устанавливает G1 и P2, G2 и P3, а G3 и P4 являются бесплатными вращающимися шестернями - то есть они не прикреплены к соответствующим валам. Набор приводных передач обеспечивает сокращение 278:1, проходя от скорости двигателя 5414,7 об/мин до около 19,5 об/мин на выход сплайне, когда двигатель вращается со скоростью 5 вольт. В следующей таблице описаны количество зубьев и теоретические значения скорости выхода, частоты mesh передачи и совокупного сокращения передач на каждом mesh передачи.

Предварительная обработка данных

Файл servoData .mat содержит два расписания, соответствующих данным сервопривода. Одно расписание содержит нормальные данные, второе расписание содержит дефектные данные. Каждый набор данных содержит около 11 секунд данных, дискретизированных с частотой дискретизации 1500 Гц.

Загрузите данные.

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     
      ⋮

Каждое расписание содержит один столбец с током двигателя и один столбец с импульсом тахометра от настройки сервопривода. В порядок для визуализации данных в задаче Extract Spectral Функций Live Editor вычислите степень спектр данных тока двигателя. Сначала рассмотрим полезные данные.

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

Используйте задачу Extract Spectral Features Live Editor, чтобы построить график данных спектра степени. В задаче задайте healthyFrequencies для вектора частоты и healthyMagnitudes для величины спектральной степени.

Анализ пиков спектральной мощности с диапазонами частот гармонических отказов

График спектральной степени текущих данных сервопривода содержит несколько заметный peaks. Можно связать эти пики с вращающимися валами в настройке. Чтобы определить источник различного peaks, добавьте компоненты к задаче Извлечь спектральные функции Live Editor.

Чтобы добавить компонент для представления первого вращающегося вала в сервоприводе, введите имя компонента, выберите его тип как Custom и нажмите Add.Используйте выходные скорости в таблице выше, чтобы выбрать частоту компонента вала. Скорости выхода вычисляли на основе измеренной скорости вала выхода и известных сокращений передачи в настройке.

Частота первого вала составляет 90,24 Гц. После установки значения частоты компонента вала обратите внимание, что полоса частот отказа перекрывается с одним из peaks в данных спектральной степени на частоте около 90 Гц. Поэтому можно связать этот пик в большой части с первым валом. Добавление еще нескольких гармоник основной частоты первого вала создает больше диапазонов частот отказа, которые перекрывают другой peaks в данных. Гармонические полосы частот центрируются вокруг целочисленных кратных основной частоты и все еще могут быть связаны с одним и тем же компонентом. Установите гармоники первого вала в качестве вектора [1 2 3 4 5 6] так, чтобы полосы отказов распространились в большей части частотной области значений. Первый вал вращается на самой высокой частоте, поэтому peaks спектральной степени на более высоких частотах обусловлены гармониками этого вала.

Для расчета меньших достигать максимума спектральной степени, таких как около 13 Гц или 29 Гц, добавьте компонент для второго вращающегося вала. Этот компонент также является собственным компонентом, и его основная частота составляет 14,56 Гц. Вам не нужно добавлять столько гармоник для второго вала, так как большая часть более высоких пиковых частот в значительной степени учитывается гармониками первого вала. Установите гармоники второго вала в качестве вектора [1 2 3 4]. Первая, вторая и четвертая гармоники этой частоты вала хорошо совпадают с peaks на графике спектральной степени. Однако, поскольку третья гармоника менее заметна в данных, вам не нужно включать эту гармонику. Измените гармоники второго вала на вектор [1 2 4].

Подобно второму валу добавьте компонент для третьего вращающегося вала. Основная частота этого компонента составляет 2,91 Гц, как видно из таблицы. Начните с первых четырех гармоник, чтобы определить, совпадают ли они с каким-либо заметным peaks в данных. Обратите внимание, что третья гармоника третьего вала соответствует пику спектральной степени около 8 Гц. Другие гармоники менее заметны и могут быть удалены. Возможно, что разрешение частот спектра степени не позволяет различать более низкие частоты. Установите гармоники третьего компонента вала как только третью гармонику.

Поскольку выходные скорости остальных валов также являются низкими частотами, которые могут не отличаться от частотного разрешения спектра степени, добавление компонентов для этих валов не является необходимым для анализа основного peaks данных тока двигателя.

Анализ Peaks боковой полосы

Путем масштабирования графика в задаче можно увидеть, что данные спектра степени содержат боковые достигать максимума рядом с некоторыми из основного peaks. Например, меньшие боковые достигать максимума около 76 Гц и 104 Гц окружают пик при 90 Гц. Эти пики, вероятно, связаны с боковыми полосами первого компонента вала. Боковые полосы вызваны вторым связанным источником частоты, воздействующим на первичный источник гармонической частоты. При настройке сервопривода это наблюдение приводит к предположению, что боковые полосы для каждого вала вызваны следующим валом в зубчатом train.

Отредактируйте первые два компонента вала, чтобы включить их первую боковую полосу. Для первого вала значение разделения боковой полосы должно быть равно номинальной выходной частоте второго вала, 14,56 Гц.

Аналогично для второго вала значение разделения боковой полосы должно быть равно номинальной частоте третьего вала, 2,91 Гц. Изменение масштаба снова на графике показывает, что многие из новых боковых полос хорошо перекрываются с боковыми достигать максимума в данных. Это легче видеть на низких частотах, таких как от 0 Гц до 120 Гц.

Извлечение спектральных метрик для обнаружения отказов

Задача Extract Spectral Features Live Editor генерирует различные спектральные метрики данных спектральной степени в областях значений частот отказа. Для каждого диапазона частот отказа вычислите пиковую амплитуду, пиковую частоту и мощность полосы наряду с общей мощностью полосы всех диапазонов частот отказа.

load('sampleData.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.044029        0.66383            90.842          2.2909        0.0077442           104.58         0.026416        0.001917           168.13        0.0076742        0.038105           182.6          0.13883        0.0034982           192.86         0.013928        0.026813           258.24         0.11464          0.192             270.7          0.68323         0.033756           284.07         0.12347         0.0026502           347.62          0.0099213        0.0048213           360.81          0.020783         0.0022192           375.64          0.0086095        0.018201            435.53          0.074231         0.041176            449.08           0.12665         0.018558            467.22          0.069264          0.96719            526.01           3.7322           0.91169            539.19           3.1072           0.29472            558.24           1.0803           1.0341             11.905           0.75471          4.2117             14.286           3.0372          0.076119            17.399          0.078405         0.037845            26.557          0.038047          0.75325            29.121           0.63976         0.010537            32.234          0.010985         0.0058578           55.311          0.006089         0.014194            58.425          0.011771         0.0033205           61.355          0.0034375         0.51023            8.7912           0.27615          16.529    

Эти метрики могут оказаться полезными при обнаружении отказов в настройке сервопривода. Значительные изменения в данных спектральной степени часто указывают на то, что некоторые компоненты изменяются или выходят из строя. Если происходит сдвиг в одной из пиковых частот или если пиковая амплитуда значительно падает с течением времени, то это может быть признаком отказа.

Чтобы изучить этот сценарий, вычислите данные спектра степени для дефектного набора данных.

[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 как разделение боковой полосы. Для второго компонента вала используйте shaft2Speed как основная частота и shaft3Speed как разделение боковой полосы. Для компонента третьего вала используйте shaft3Speed как основная частота.

Как видно из визуализации данных дефектного спектра степени, несколько peaks уменьшились в величине. Например, пик, выровненный в исправном наборе данных со второй гармоникой первого вала около 180 Гц, почти незначителен в дефектном наборе данных. Поскольку ранее было определено, что этот пик вероятно связан с первым валом, это указывает на потенциальный отказ в первом валу. Дальнейшее изучение таблицы спектральных метрик может предоставить более подробную информацию о пиковых частотах, пиковых амплитудах и степенях мощностей полосы.

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.0011035           75.641        0.0035389        0.032588           88.095         0.095866       0.00095266          101.47        0.0039494       0.00041734          158.97        0.0016878       0.0010561           174.73        0.0038409       0.0004178           190.11        0.0018162       0.0051797           249.27         0.017516        0.028642           261.54          0.1203        0.0051032           274.91         0.015495        0.0014915           336.08          0.0062556        0.0034171           350.37          0.015104         0.0014217           363.19          0.0049667        0.0022728           423.63          0.0092141        0.0058438           437.36          0.020561         0.0031571           450.37          0.010481          1.9389             511.36           6.3414           1.3398             523.81           5.1905           0.79257            539.38           2.9432           0.9969             11.538           0.82388           2.728             13.919           1.9338          0.030943            17.033          0.032899         0.019372            25.641          0.018553          0.27041            28.205           0.26875         0.0056339           31.136          0.0060698        0.0029558           54.029          0.0028722        0.024586            56.593          0.025098         0.0027373           58.974          0.0027412         0.74618            8.4249           0.40386          18.324    

В качестве альтернативы обновлению спектральных данных в задаче Live Editor можно также использовать автоматически сгенерированный код MATLAB, чтобы обнаружить спектральные метрики дефектных данных. Приведенный ниже код был автоматически сгенерирован, когда задача Live Editor использовалась для генерации целебных спектральных метрик. Выполните код.

% 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.044029        0.66383            90.842          2.2909        0.0077442           104.58         0.026416        0.001917           168.13        0.0076742        0.038105           182.6          0.13883        0.0034982           192.86         0.013928        0.026813           258.24         0.11464          0.192             270.7          0.68323         0.033756           284.07         0.12347         0.0026502           347.62          0.0099213        0.0048213           360.81          0.020783         0.0022192           375.64          0.0086095        0.018201            435.53          0.074231         0.041176            449.08           0.12665         0.018558            467.22          0.069264          0.96719            526.01           3.7322           0.91169            539.19           3.1072           0.29472            558.24           1.0803           1.0341             11.905           0.75471          4.2117             14.286           3.0372          0.076119            17.399          0.078405         0.037845            26.557          0.038047          0.75325            29.121           0.63976         0.010537            32.234          0.010985         0.0058578           55.311          0.006089         0.014194            58.425          0.011771         0.0033205           61.355          0.0034375         0.51023            8.7912           0.27615          16.529    

Этот код может быть легко скорректирован для нового дефектного набора данных.

% 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.0011035           75.641        0.0035389        0.032588           88.095         0.095866       0.00095266          101.47        0.0039494       0.00041734          158.97        0.0016878       0.0010561           174.73        0.0038409       0.0004178           190.11        0.0018162       0.0051797           249.27         0.017516        0.028642           261.54          0.1203        0.0051032           274.91         0.015495        0.0014915           336.08          0.0062556        0.0034171           350.37          0.015104         0.0014217           363.19          0.0049667        0.0022728           423.63          0.0092141        0.0058438           437.36          0.020561         0.0031571           450.37          0.010481          1.9389             511.36           6.3414           1.3398             523.81           5.1905           0.79257            539.38           2.9432           0.9969             11.538           0.82388           2.728             13.919           1.9338          0.030943            17.033          0.032899         0.019372            25.641          0.018553          0.27041            28.205           0.26875         0.0056339           31.136          0.0060698        0.0029558           54.029          0.0028722        0.024586            56.593          0.025098         0.0027373           58.974          0.0027412         0.74618            8.4249           0.40386          18.324    

Объединение таблиц здоровых и дефектных спектральных метрик улучшает видимость в изменения пиковых амплитуд и мощностей полосы спектральных данных.

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.044029         0.66383           90.842           2.2909        0.0077442          104.58         0.026416         0.001917          168.13        0.0076742        0.038105            182.6          0.13883       0.0034982           192.86         0.013928        0.026813           258.24          0.11464           0.192            270.7         0.68323         0.033756           284.07          0.12347        0.0026502           347.62          0.0099213        0.0048213           360.81          0.020783         0.0022192           375.64          0.0086095         0.018201           435.53           0.074231         0.041176           449.08           0.12665          0.018558           467.22          0.069264          0.96719            526.01           3.7322           0.91169            539.19           3.1072           0.29472            558.24           1.0803           1.0341             11.905           0.75471          4.2117             14.286           3.0372          0.076119            17.399          0.078405         0.037845            26.557          0.038047          0.75325            29.121           0.63976          0.010537           32.234           0.010985        0.0058578           55.311           0.006089        0.014194            58.425          0.011771         0.0033205           61.355          0.0034375         0.51023            8.7912           0.27615          16.529    
      0.0011035           75.641        0.0035389        0.032588           88.095         0.095866       0.00095266          101.47        0.0039494       0.00041734          158.97        0.0016878       0.0010561           174.73        0.0038409       0.0004178           190.11        0.0018162       0.0051797           249.27         0.017516        0.028642           261.54          0.1203        0.0051032           274.91         0.015495        0.0014915           336.08          0.0062556        0.0034171           350.37          0.015104         0.0014217           363.19          0.0049667        0.0022728           423.63          0.0092141        0.0058438           437.36          0.020561         0.0031571           450.37          0.010481           1.9389            511.36           6.3414            1.3398            523.81           5.1905           0.79257            539.38           2.9432           0.9969             11.538           0.82388           2.728             13.919           1.9338          0.030943            17.033          0.032899         0.019372            25.641          0.018553          0.27041            28.205           0.26875         0.0056339           31.136          0.0060698        0.0029558           54.029          0.0028722        0.024586            56.593          0.025098         0.0027373           58.974          0.0027412         0.74618            8.4249           0.40386          18.324    

Для примера, если посмотреть на PeakAmplitude2 в таблице, амплитуда пика степени спектра снизится с 0,6638 до 0,0326. Используя PeakFrequency2 значение, вы знаете, что это падение происходит около 90 Гц. Постройте график двух спектров степени на тех же осях, чтобы визуализировать падение вне задачи Live Editor.

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. The axes with title Comparison of Power Spectrums contains 2 objects of type line. These objects represent Healthy, Faulty.

Как показала таблица метрик, пик около 90 Гц значительно падает в амплитуде. Чтобы определить, какая частота компонента вызвала это, вернитесь к предыдущей задаче Extract Spectral Функции Live Editor.

Полоса отказа около 90 Гц является первой гармоникой первого вращающегося вала. Таким образом, вы знаете, что что-то меняется в этом валу, и это может быть тенденция к отказу.

Построение графика здоровых и дефектных спектров степени вместе может быть полезным способом выделить изменения в пиковых амплитудах. В дополнение к пику, составляющему около 90 Гц для первой гармоники первого вала, можно наблюдать другие значительные уменьшения амплитуд пика, такие как для второй гармоники этого вала, составляющие около 180 Гц. Этот пик по существу отсутствует в дефектном наборе данных.

Пиковые амплитуды из целебных и дефектных данных также могут сравниваться с помощью столбчатой диаграммы.

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') 

Увеличьте изображение, чтобы увидеть изменение пиковой амплитуды в первой гармонике первого вращающегося вала.

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

Figure contains an axes. The axes with title Peak Amplitudes of Healthy and Faulty Power Spectrum Data contains 2 objects of type bar. These objects represent Healthy, Faulty.

Использование задачи Live Editor извлечения спектральных функций

Как показано в этом примере, задача Извлечь спектральные функции Live Editor может оказаться полезной для нескольких различных приложений. С помощью задачи Live Editor можно легко сопоставить спектральный peaks с известными частотами компонентов машины. Это помогает вам лучше понять ваши данные и механические компоненты, вызывающие различные функции в данных.

Другое приложение задачи Extract Spectral Features Live Editor состоит в том, чтобы сгенерировать метрики, которые характеризуют ваши спектральные данные в интересующих областях значений. Задача создает таблицу выхода, содержащую пиковую амплитуду, пиковую частоту и мощность полосы каждой полосы частоты отказа, а также общую мощность полосы всех полос отказа. Однако эти метрики специфичны для данных спектра степени, введенных в задачу.

Чтобы расширить это использование, чтобы вы могли отслеживать метрики с течением времени, когда собираются новые наборы данных, можно либо обновить данные спектра степени в задаче, либо использовать автоматически сгенерированный код MATLAB для создания таблицы метриков. Копирование сгенерированного кода MATLAB является простым способом продолжить вычисление метрик полосы отказов для многих новых наборов данных.

Третье использование задачи объединяет преимущества двух ранее обсуждавшихся видов применения. Поскольку задача связывает различные механические компоненты с peaks в спектральных данных, можно быстро определить, какие компоненты вызывают значительные изменения в спектральных данных и, следовательно, потенциальные отказы. Для примера одним общим показателем отказа машины, полученным из спектральных данных, является изменение амплитуды спектрального peaks. В таблице спектральных метрик, если вы заметили значительное падение пиковой амплитуды или мощности полосы с течением времени, можно проследить соответствующую пиковую частоту назад к графику, чтобы увидеть, какая полоса частот отказа компонента выравнивается с этим пиком.

См. также

| | | |

Похожие темы