Skip to content

VibroGuard/Machine-Vibration-Monitoring-System

Repository files navigation

Project Logo

"VibroGuard": A Hardware-Software Co-Solution for Monitoring and Analyzing Vibrations of Industrial Machines

Overview

Use Case

Many machines used in the industry tend to vibrate in their natural operating conditions. However, these vibrations can be analyzed to get valuable insights about the machine, such as detecting anomalous behavior or an indication for a near-future repair.

Project Scope

This project is done as a partial fulfillment for EN2160: Electronic Design Realization module in the Semester 4 curriculum in the Department of Electronic and Telecommunication Engineering at University of Moratuwa, Sri Lanka.

Project "VibroGuard" was aimed to design and develop an industry level solution. Accordingly, a hardware-software co-solution is developed including PCB, Enclosure, Software, and Firmware.

Demonstration.Video.-.VibroGuard.mp4

PCB Design

Product hardware consisted of two modules. Each of them contained a separate 2-layer PCB designed using Altium Designer.

Main Module Sensor Module
Main Module Soldered
Main Module Top
Main Module Bottom

PCB design files and schematics can be found here.

Firmware Design

ATmega328P-AU microcontroller is used along with FT232RL Serial UART IC in the Main Module. The microcontroller in programmed in C++, using register level programming such as IO port manipulation, UART and I2C communication, sampling accelerometer reading with given sampling frequency, etc.

The code can be found here.

Enclosure Design

Similar to PCB design, enclosures were also designed for the two separate modules in SOLIDWORKS and 3D printed. In the process, moldability of the designs were also considered.

Main Module Sensor Module
Sensor Module Enclosure

Enclosure design files can be found here.

Software Design

Data Visualization

Once the acceleration data is sampled and sent by the microcontroller via the UART interface, it is acquired by the computer, and displayed on screen in graphical format. Matplotlib is used for data visualization.

Data visualization can be performed in two modes.

  1. Just visualize incoming data of vibrations.
  2. Visualize with detected anomalies (anomalies in red).
Just Visualizing Visualizing with Anomalies
Just Visualize Visualize Anomalies

For code in initial stages of data visualization, see here.

Machine Learning Models

Anomaly detection is done by utilizing autoencoders, by utilizing TensorFlow. Three copies of the same model architecture are used for the x, y, and z axes of the accelerometer data streams.

User is given the flexibility to train their own models or load saved models depending on the situation. e.g.: If the device is connected to a new vibrating machine, models should be re-trained accordingly.

For code in initial stages of machine learning model development, see here.

Graphical User Interface

A Graphical User Interface (GUI) application was developed using Tkinter framework in Python. With the GUI application, the user can navigate through the following options.

  • Set baud rate and port (COM port in Windows) where the device is connected.
  • Collect a dataset of,
    1. specified number of samples
    2. or
    3. for a specified amount of time,
    and save it for future use.
  • Train machine learning models by,
    1. Collect data and train at the same time
    2. Train using data collected before
    3. Load saved models
  • Visualize data either,
    1. without anomaly detection (just visualize incoming data)
    2. or
    3. with anomaly detection
Select COM Collect Data
Train ML Model Visualize Data

Code related to GUI application development and integration of both data visualization and machine learning parts can be found here.

System Integration

The following images show some steps of system integration including wiring, assembling, and working of powered-up module.

System Integration Side
System Integration Powered

Documents Related to the Project

Detailed documentation of the project can be found using the following links. Feel free to refer them to get a thorough understanding of the project.

  1. Design Methodology Document
  2. Comprehensive Design Document
  3. Document of Photographs

About

"VibroGuard" is a hardware-software co-solution for monitoring and analyzing vibrations of industrial machines.

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages