주요 콘텐츠

라이브 편집기 작업을 사용하여 기어 트레인 데이터를 분석하고 스펙트럼 특징 추출하기

이 예제에서는 스펙트럼 특징 추출 라이브 편집기 작업을 사용하여, 취미용 서보의 기어 트레인을 구동해서 얻은 전류 신호의 데이터를 분석하는 방법을 보여줍니다. 또한, 데이터에서 결함 검출 및 식별에 도움이 되는 스펙트럼 특징을 추출하는 방법도 보여줍니다.

라이브 편집기 작업을 사용하면 파라미터와 설정을 대화형 방식으로 반복 수정하면서 이것이 계산 결과에 미치는 영향을 관찰할 수 있습니다. 이러한 작업은 표시된 결과를 달성하는 MATLAB® 코드를 자동으로 생성합니다. 라이브 편집기 작업에 대한 자세한 내용은 라이브 스크립트에 대화형 방식 작업 추가하기 항목을 참조하십시오.

특히, 이 예제에서는 스펙트럼 특징 추출 라이브 편집기 작업을 사용합니다. 이 작업은 스펙트럼 데이터를 분석하고 이해하는 데 도움이 됩니다. 포괄적인 인터페이스를 사용하여 다양한 베어링, 기어 맞물림 또는 하드웨어 셋업의 기타 부분을 나타내는 컴포넌트를 추가할 수 있습니다. 이러한 컴포넌트의 물리적 파라미터를 설정하면 스펙트럼 특징 추출 라이브 편집기 작업은 결함 주파수 대역을 컴포넌트의 특성 주파수 위치에 플로팅합니다.

결함 대역 플롯에 파워 스펙트럼 데이터를 중첩하여 데이터의 다양한 피크와 컴포넌트의 특성 주파수의 연관성을 볼 수 있습니다. 이와 같은 비교 과정을 거치면 파워 스펙트럼 데이터에 변동을 주는 물리적 컴포넌트를 쉽게 추적할 수 있으므로 결함 검출과 결함 분리가 더 수월해질 수 있습니다.

특성 주파수와 파워 스펙트럼 데이터의 플롯 외에도, 이 작업은 각 특성 주파수 대역 내에서 데이터의 스펙트럼 메트릭을 생성할 수 있습니다. 각 대역의 피크 진폭, 피크 주파수, 대역 전력이 포함된 출력 메트릭 테이블은 잠재적인 기계 결함을 특성화하는 데 도움이 됩니다.

이 예제를 직접 실행하려면 스펙트럼 특징 추출 라이브 편집기 작업을 열고 예제에서 사용하는 설정을 똑같이 지정하십시오.

하드웨어 개요

이 예제에서, 전류 데이터는 연속 회전을 위해 개조된 표준 Futaba S3003 취미용 서보에서 수집되었습니다. 서보는 내부 DC 모터의 높은 속도를 출력 스플라인에서의 높은 토크로 변환합니다. 이를 위해 서보는 DC 모터, 나일론 또는 금속 구동 기어 세트, 그리고 제어 회로로 구성됩니다. DC 모터로 흐르는 전류 신호를 직접 모니터링하기 위해 이 제어 회로를 제거했습니다. 서보 출력 스플라인의 회전속도계 신호는 적외선 포토인터럽터와 16개 슬롯이 있는 35mm 직경의 휠을 사용하여 수집되었습니다. 휠에 있는 16개 슬롯의 간격은 균일하고, IR 포토인터럽터는 휠이 1번 회전할 때마다 정확히 16번의 펄스가 발생하도록 배치되었습니다. 서보와 포토인터럽터는 3차원 프린터로 직접 제작한 마운트로 고정되었습니다.

DC 모터는 5V 정전압으로 구동되었고, 4쌍의 기어는 속도를 278:1로 줄였고, 스플라인에서의 샤프트 속도는 약 19.5rpm이었습니다. 두 번째 서보모터는 단락되었으며 시스템에 대한 부하로 사용되었습니다. 전류 소비량은 0.5옴 저항기에서의 전압 하강을 측정하여 옴의 법칙으로 계산되었습니다. 전류 측정값의 변화가 너무 작아서 검출하기 어려웠기 때문에 AD22050 단일 전원 센서 인터페이스 증폭기를 사용하여 전류 신호를 증폭했습니다. 그런 다음 증폭된 전류 신호를 MAX7408 안티에일리어싱 5차 타원 저역통과 필터로 필터링하여 평활화하고 잡음을 제거한 다음 아날로그-디지털 변환기(ADC)를 통해 Arduino® Uno로 전송했습니다.

순서도에서 볼 수 있듯이, 전류 신호는 먼저 증폭기를 사용하여 증폭된 후에 안티에일리어싱 저역통과 필터를 사용하여 필터링되었습니다. Arduino Uno는 ADC를 통해 1.5kHz로 전류 신호를 샘플링한 다음 115,200bps의 보드 레이트로 회전속도계 펄스와 함께 직렬 데이터로 컴퓨터에 스트리밍했습니다. MATLAB 스크립트가 Arduino Uno에서 직렬 데이터를 가져와서 전처리한 다음, 이 데이터를 .MAT 파일에 썼습니다. 그런 다음 스펙트럼 특징 추출 라이브 편집기 작업을 사용하여 스펙트럼 메트릭을 추출했습니다.

서보 기어 트레인

Futaba S3003 서보는 이 그림에 나와 있듯이 4쌍의 나일론 기어로 구성되어 있습니다. DC 모터 샤프트의 피니언 P1은 단기어(stepped gear) G1과 맞물립니다. 피니언 P2는 단기어 G1의 성형된 부분으로, 단기어 G2와 맞물립니다. 기어 G2의 성형된 부분인 피니언 P3은 단기어 G3과 맞물립니다. G3의 성형된 부분인 피니언 P4는 출력 스플라인에 연결된 마지막 기어 G4와 맞물립니다. 단기어 세트 G1과 P2, G2와 P3, G3과 P4는 자유 회전 기어 - 즉, 각각의 샤프트에 연결되지 않은 기어입니다. 구동 기어 세트는 모터를 5V로 구동했을 때 모터 속도 5414.7rpm이 출력 스플라인에서 약 19.5rpm으로 떨어지는 278:1만큼의 속도 감소를 제공합니다. 다음 표에는 톱니 개수와 출력 속도, 기어 맞물림 주파수, 각 기어 맞물림에서의 누적 기어 감속에 대한 이론적인 값이 나와 있습니다.

데이터 전처리하기

파일 servoData.mat에는 서보의 데이터에 해당하는 두 개의 타임테이블이 포함되어 있습니다. 한 타임테이블은 정상 데이터를 포함하고, 두 번째 타임테이블은 결함 데이터를 포함합니다. 각 데이터 세트는 1500Hz로 샘플링된 약 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     
      ⋮

각 타임테이블에는 서보 셋업에서 발생한 모터 전류가 포함된 열 하나와 회전속도계 펄스가 포함된 열 하나가 있습니다. 스펙트럼 특징 추출 라이브 편집기 작업에서 데이터를 시각화하기 위해 모터 전류 데이터의 파워 스펙트럼을 계산합니다. 정상 데이터를 먼저 고려합니다.

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

스펙트럼 특징 추출 라이브 편집기 작업을 사용하여 파워 스펙트럼 데이터를 플로팅합니다. 이 작업에서 주파수 벡터에 대한 healthyFrequencies와 파워 스펙트럼 크기에 대한 healthyMagnitudes를 지정합니다.

고조파 결함 주파수 대역으로 파워 스펙트럼 피크 분석하기

서보의 전류 데이터에 대한 파워 스펙트럼 플롯에는 여러 개의 뚜렷한 피크가 있습니다. 이러한 피크는 서보 셋업의 회전 샤프트와 관련이 있다고 볼 수 있습니다. 각각의 피크의 원인을 찾으려면 스펙트럼 특징 추출 라이브 편집기 작업에 컴포넌트를 추가하십시오.

서보의 첫 번째 회전 샤프트를 나타내는 컴포넌트를 추가하려면, 컴포넌트의 이름을 입력하고 해당 유형을 사용자 지정으로 선택한 다음 추가를 누르십시오. 위 테이블에 나와 있는 출력 속도를 사용하여 샤프트 컴포넌트의 주파수를 선택합니다. 출력 속도는 측정된 출력 샤프트 속도와 셋업의 기어 감속을 바탕으로 계산되었습니다.

첫 번째 샤프트의 주파수는 90.24Hz입니다. 샤프트 컴포넌트의 주파수 값을 설정한 후에, 결함 주파수 대역이 90Hz 부근에서 파워 스펙트럼 데이터의 피크 중 하나와 중첩되는 것을 볼 수 있습니다. 따라서 이 피크는 첫 번째 샤프트와 주로 연관되어 있다고 볼 수 있습니다. 첫 번째 샤프트의 기본주파수의 몇몇 고조파를 더 추가하면 데이터의 다른 피크와 중첩되는 결함 주파수 대역이 더 생성됩니다. 기본주파수의 정수 배수가 고조파 주파수 대역의 중심이 되고, 이 대역은 여전히 동일한 컴포넌트와 연관되어 있습니다. 결함 대역이 주파수 범위 대부분에 걸치도록 첫 번째 샤프트의 고조파를 벡터 [1 2 3 4 5 6]이 되도록 설정하십시오. 첫 번째 샤프트가 가장 높은 주파수에서 회전하므로, 고주파수에서의 파워 스펙트럼 피크는 이 샤프트의 고조파로 인한 것입니다.

상대적으로 작은 파워 스펙트럼 피크(예: 13Hz 또는 29Hz 부근의 피크)를 설명하기 위해 두 번째 회전 샤프트에 대한 컴포넌트를 추가하십시오. 이 컴포넌트도 사용자 지정 컴포넌트이며, 기본주파수는 14.56Hz입니다. 높은 피크 주파수의 대부분이 첫 번째 샤프트의 고조파로 인해 생겨난 것이므로, 두 번째 샤프트에 대해 그만큼 많은 고조파를 추가할 필요는 없습니다. 두 번째 샤프트의 고조파를 벡터 [1 2 3 4]가 되도록 설정하십시오. 이 샤프트 주파수의 1차, 2차, 4차 고조파는 파워 스펙트럼 플롯의 피크과 잘 겹치는 것을 볼 수 있습니다. 하지만 3차 고조파는 데이터에서 그다지 두드러지지 않으므로, 이 고조파를 넣을 필요는 없습니다. 두 번째 샤프트의 고조파를 벡터 [1 2 4]가 되도록 변경하십시오.

두 번째 샤프트와 유사하게 세 번째 회전 샤프트에 대한 컴포넌트를 추가하십시오. 표에 나와 있는 것처럼, 이 컴포넌트의 기본주파수는 2.91Hz입니다. 처음 4개 고조파부터 이들이 데이터에서 가장 두드러지는 피크와 겹치는지 확인합니다. 세 번째 샤프트의 3차 고조파가 8Hz 부근의 파워 스펙트럼 스파이크와 겹칩니다. 다른 고조파는 그다지 두드러지지 않으므로 제거할 수 있습니다. 이는 파워 스펙트럼의 주파수 분해능으로는 낮은 주파수를 구별하지 못하기 때문일 수 있습니다. 세 번째 샤프트 컴포넌트의 고조파는 3차 고조파로만 설정하십시오.

나머지 샤프트의 출력 속도도 파워 스펙트럼의 주파수 분해능으로는 구별하지 못할 정도의 낮은 주파수이므로, 모터 전류 데이터의 주요 피크를 분석하기 위해 이러한 샤프트에 대해 컴포넌트를 추가할 필요가 없습니다.

측파대 피크 분석하기

작업에서 플롯을 확대하면 파워 스펙트럼 데이터에서 일부 주요 피크 옆에 측파대 피크가 있는 것을 볼 수 있습니다. 예를 들어 90Hz의 피크 근방인 76Hz 및 104Hz 부근에서 작은 측파대 피크가 발생했습니다. 이러한 피크는 첫 번째 샤프트 컴포넌트의 측파대와 관련이 있을 가능성이 높습니다. 측파대는 주요 고조파 주파수 소스에 영향을 주는 두 번째 주파수 소스에 의해 발생합니다. 서보를 설정한 상태에서 이러한 관측이 발견되면 기어 트레인에서 각 샤프트에 대한 측파대가 그다음 샤프트로 인해 발생하는 것으로 가정할 수 있습니다.

첫 번째 측파대를 포함하도록 처음 두 개 샤프트 컴포넌트를 편집합니다. 첫 번째 샤프트에서 측파대 분리 값은 두 번째 샤프트의 공칭 출력 주파수 14.56Hz와 같아야 합니다.

두 번째 샤프트에서도 마찬가지로 측파대 분리 값은 세 번째 샤프트의 공칭 주파수 2.91Hz와 같아야 합니다. 플롯을 다시 확대하면 데이터에서 새 측파대의 상당수가 측파대 피크에 잘 중첩된 것을 볼 수 있습니다. 이는 저주파수(예: 0Hz~120Hz 사이의 주파수)에서 더 쉽게 볼 수 있습니다.

결함 검출을 위해 스펙트럼 메트릭 추출하기

스펙트럼 특징 추출 라이브 편집기 작업에서는 결함 주파수 범위 내에서 파워 스펙트럼 데이터의 다양한 스펙트럼 메트릭을 생성합니다. 각 결함 주파수 대역에 대해 모든 결함 주파수 대역의 총 대역 전력과 함께 피크 진폭, 피크 주파수 및 대역 전력을 계산하십시오.

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를 측파대 분리 값으로 사용합니다. 두 번째 샤프트 컴포넌트에는 shaft2Speed를 기본주파수로, shaft3Speed를 측파대 분리 값으로 사용합니다. 세 번째 샤프트 컴포넌트에는 shaft3Speed를 기본주파수로 사용합니다.

결함 파워 스펙트럼 데이터에 대한 시각화에서 볼 수 있듯이, 몇몇 피크 크기가 줄었습니다. 예를 들어 정상 데이터셋에서는 180Hz 부근에서 첫 번째 샤프트의 2차 고조파와 일치하던 피크가 결함 데이터셋에서는 거의 무시 가능한 수준이 되었습니다. 이 피크가 첫 번째 샤프트와 연관되었을 가능성이 높음을 앞에서 확인했으므로 이는 첫 번째 샤프트에 잠재적 고장이 있음을 나타냅니다. 스펙트럼 메트릭 테이블을 더 자세히 살펴보면 피크 주파수, 피크 진폭 및 대역 전력에 대한 더 상세한 정보를 얻을 수 있습니다.

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     

정상 스펙트럼 메트릭 테이블과 결함 스펙트럼 메트릭 테이블을 결합하면 스펙트럼 데이터에서 피크 진폭과 대역 전력의 변화를 더 쉽게 알아볼 수 있습니다.

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    

예를 들어 테이블에서 PeakAmplitude2를 보면 파워 스펙트럼 피크의 진폭이 2.0259에서 0.0829로 떨어졌습니다. PeakFrequency2 값을 사용하여 이 저하가 90Hz 부근에서 발생했음을 알 수 있습니다. 라이브 편집기 작업 외에서 시각화를 하도록 동일한 좌표축에 두 파워 스펙트럼을 플로팅합니다.

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.

메트릭 테이블에 나타난 것처럼, 90Hz 부근에서 피크 진폭이 상당히 떨어집니다. 이를 야기하는 컴포넌트 주파수를 확인하게 위해 이전 스펙트럼 특징 추출 라이브 편집기 작업에서 다시 확인합니다.

90Hz 부근의 결함 대역은 첫 번째 회전 샤프트의 1차 고조파입니다. 따라서 이 샤프트에 어떠한 변화가 생기고 있고 고장이 날 가능성이 커지고 있음을 알 수 있습니다.

정상 파워 스펙트럼과 결함 파워 스펙트럼을 함께 플로팅하면 피크 진폭의 변화를 강조하는 데 유용할 수 있습니다. 첫 번째 샤프트의 1차 고조파에 대해 90Hz 부근에서 피크 저하가 발생하는 것 외에도 피크 진폭이 크게 떨어지는 것을 볼 수 있습니다. 예를 들어, 첫 번째 샤프트의 2차 고조파에 대해 180Hz 부근에서 피크 진폭이 크게 떨어지는 것을 볼 수 있습니다. 결함 데이터셋을 보면 이 피크는 사실상 나타나지 않습니다.

정상 데이터와 결함 데이터의 피크 진폭은 막대 차트를 사용하여 비교할 수도 있습니다.

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.

스펙트럼 특징 추출 라이브 편집기 작업의 용도

이 예제에서 볼 수 있듯이, 스펙트럼 특징 추출 라이브 편집기 작업은 몇몇 다양한 응용 분야에 유용할 수 있습니다. 라이브 편집기 작업을 사용하여, 스펙트럼 피크를 알려진 기계 컴포넌트 주파수와 쉽게 일치시킬 수 있습니다. 이를 통해 데이터에 대한 이해를 높이고 데이터의 다양한 특징을 야기하는 기계 컴포넌트에 대해서도 잘 알 수 있습니다.

스펙트럼 특징 추출 라이브 편집기 작업을 응용할 수 있는 또 다른 분야는 관심 있는 주파수 범위의 스펙트럼 데이터를 특성화하기 위한 메트릭을 생성하는 경우입니다. 이 작업에서는 모든 결함 대역의 총 대역 전력뿐만 아니라 각 결함 주파수 대역의 피크 진폭, 피크 주파수 및 대역 전력을 포함하는 출력 테이블이 생성됩니다. 하지만 이러한 메트릭은 이 작업의 파워 스펙트럼 데이터 입력값에 따라 다릅니다.

새 데이터 세트가 수집될 때 시간 경과에 따라 메트릭을 추적할 수 있도록 사용 범위를 확장하려면, 작업에서 파워 스펙트럼 데이터를 업데이트하거나 자동으로 생성된 MATLAB 코드를 사용하여 메트릭 테이블을 생성하면 됩니다. 새로운 많은 데이터 세트에 대해 결함 대역 메트릭을 지속적으로 계산하는 쉬운 방법은 생성된 MATLAB 코드를 복사하는 것입니다.

이 작업의 세 번째 사용 사례는 앞서 언급한 두 사용 사례의 이점을 합한 사용 사례입니다. 이 작업에서는 다양한 기계 컴포넌트를 스펙트럼 데이터의 피크와 연결하므로, 스펙트럼 데이터에 상당한 변화를 일으키고 그로 인한 잠재적 고장을 야기하는 컴포넌트를 빠르게 확인할 수 있습니다. 예를 들어 스펙트럼 데이터에서 기계 고장의 일반적인 지표 중 하나는 스펙트럼 피크의 진폭 변화입니다. 스펙트럼 메트릭 테이블에서 피크 진폭이나 대역 전력이 시간이 지남에 따라 크게 떨어지는 경우, 플롯으로 다시 돌아가 해당 피크 주파수를 추적하여 어떤 컴포넌트의 결함 주파수 대역이 그 피크와 일치하는지 확인할 수 있습니다.

참고 항목

| | | |

도움말 항목