This repository aims to diagnose types of faults based on time-domain vibration data using neural networks. It covers experiments conducted with Temporal Convolution Network-LSTM models.
- 4 DC Motors
- Normal | Misalignment | Unbalance | Damaged Bearing
- 26.5kHz Sampling Rate
- Data Collection: 102400 samples every 5 seconds
Version of libraries may not make a problem except tensorflow.
- tensorflow == 2.9.0
- scikit-learn == 1.0.2
- numpy == 1.21.6
- scipy == 1.9.1
- matplotlib == 3.5.2
The TCN implementation is based on @philipperemy's work (https://github.com/philipperemy/keras-tcn).
The TCN-LSTM architecture is created by myself.
- input shape: (, 800)
- Train data: 13639
- Validation data: 3410
- Test data: 1895
- data(
data_path
)- label 1
- data1.csv
- data2.csv
- ...
- label 2
- label 3
- label 4
- label 1
Even if the accuracy for sampling points is not 100%, with a total of over 100,000 data points available for real-time diagnosis, the final fault diagnosis is determined based on the majority of predictions obtained during real-time diagnosis. In the experimental environment, as mentioned earlier, the test results confirmed successful fault type diagnosis.
- Apply Normalization with MinMaxScaler()
- It needs one normal status vibration data as csv
- Test datasets = 1895
- ROC AUC = 0.995
- F1 Score = 0.96328125
- Accuracy = 96.328 %