exponenta event banner

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

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

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

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

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

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

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

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

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

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

Серводвигатель

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

Данные предварительной обработки

Файл 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     
      ⋮

Каждое расписание содержит одну колонку с током двигателя и одну колонку с тахо-импульсом от сервоустановки. Чтобы визуализировать данные в динамическом редакторе извлечения спектральных элементов, вычислите спектр мощности данных тока двигателя. Сначала рассмотрим здоровые данные.

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

Для печати данных спектра мощности используется задача Извлечь динамический редактор спектральных элементов (Extract Spectral Features Live Editor). В задаче укажите healthyFrequencies для частотного вектора и healthyMagnitudes для амплитуды спектра мощности.

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

График спектра мощности текущих данных сервопривода содержит несколько заметных пиков. Эти пики можно связать с вращающимися валами в настройке сервопривода. Чтобы определить источник различных пиков, добавьте компоненты в задачу Извлечь спектральные элементы в интерактивном редакторе (Extract Spectral Features Live Editor).

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

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

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

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

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

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

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

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

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

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

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

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 в качестве основной частоты.

Как видно из визуализации данных дефектного спектра мощности, несколько пиков уменьшились по величине. Например, пик, выровненный в здоровом наборе данных со второй гармоникой первого вала около 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 Feature 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 позволяет легко сопоставлять спектральные пики с известными частотами компонентов машины. Это помогает лучше понять данные и механические компоненты, вызывающие различные функции данных.

Другим приложением задачи «Извлечь функции спектра в интерактивном режиме» является создание метрик, характеризующих ваши спектральные данные в интересующих частотных диапазонах. Задача создает выходную таблицу, содержащую пиковую амплитуду, пиковую частоту и мощность полосы для каждого диапазона частот отказов, а также общую мощность полосы для всех диапазонов отказов. Однако эти метрики специфичны для данных спектра мощности, вводимых в задачу.

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

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

См. также

| | | |

Связанные темы