Introduction: Predicitive Maintenance of Rotating Machines Using a Vibration and Thingspeak

About: For Remote Supervision

Rotating machines like wind turbines, hydro turbines, induction motors etc face different kind of wear and Tear. Most of these faults and wear and tear caused by the abnormal vibrations in the device. These machines are often operated under heavy-duty and with minimal downtime. The main faults that occur in these are following

  • Irregular radial and tangential forces.
  • Irregular mechanical behaviour.
  • Bearing faults, rotor bar and end ring faults in case of squirrel cage induction
  • Motor stator faults and air gap eccentricity in rotors.

These irregular vibration can result in faster degradation of the machine.Noise and can affect the mechanical behaviour of the machine. Machinery Vibration Analysis and Predictive Maintenance provides a detailed examination of the detection, location and diagnosis of faults in rotating and reciprocating machinery using vibration analysis. In this Instructable we will be using Wireless Vibration Sensor to overcome this problem. These sensors are industrial grade sensors and have been successfully deployed in many application like Structural analysis of civil infrastructures , vibration analysis of wind turbine, vibration analysis of the hydro turbine. We will be visualizing and analyzing the vibration data in Thing Speak. Here we will be demonstrating the following.

  • Wireless Vibration and Temperature Sensors.
  • Vibration analysis using these Sensors.
  • Gathering the data using Wireless gateway device
  • Sending vibration data to Thing Speak IoT platform using Thing Speak MQTT API.

Step 1: Hardware and Software Specifications

Step 2: Guidelines to Check Vibration in the Rotating Machines

As mentioned in the last instructable " Mechanical Vibration Analysis of Induction Motors ". There are certain guidelines that are to be followed in order to segregate the fault and fault identifying vibration. For the brief rotational speed frequency is one of them. Rotation speed frequencies are characteristic of different faults.

  • 0.01g or Less - Excellent condition - The machine is properly working.
  • 0.35g or less - Good condition. The machine is working fine. No action required unless the machine is noisy. There can be a rotor eccentricity fault.
  • 0.75g or more - Rough Condition- Need to check the motor there can be rotor eccentricity fault if the machine is making too much noise.
  • 1g or more - Very Rough condition - There can be a severe fault in a motor. The fault might be due to bearing fault or bending of the bar. Check for the noise and temperature
  • 1.5g or more- Danger Level- Need to repair or change the motor.
  • 2.5g or More -Severe Level-Shut down the machinery immediately.

Step 3: Getting the Vibration Sensor Values

The vibration values, that we are getting from the sensors are in milis. These consists of the following values.

  • RMS value- root mean square values along all three axes.The peak to peak value can be calculated as
peak to peak value = RMS value/0.707
  • Min value- Minimum value along all three axes
  • Max values- peak to peak value along all three axes. The RMS value can be calculated using this formula
RMS value = peak to peak value x 0.707

Earlier when the motor was in good condition we got the values around 0.002g. But when we tried it on a faulty motor the vibration we examined was about 0.80g to 1.29g. The faulty motor was subjected to high rotor eccentricity. So, we can improve the fault tolerance of the motor using the Vibration sensors.

Step 4: Setting Up Thing Speak

For posting our temperature and Humidity values to the cloud we are using ThingSpeak MQTT API. ThingSpeak is an IoT platform. ThingSpeak is a free web service that lets you collect and store sensor data in the cloud. MQTT is a common protocol used in IoT systems to connect low-level devices and sensors. MQTT is used to pass short messages to and from a broker. ThingSpeak has recently added an MQTT broker so devices can send messages to ThingSpeak. You can follow the procedure to set up ThingSpeak Channel from this post

Step 5: Publishing Values to ThingSpeak Account

MQTT is a publish/subscribe architecture that is developed primarily to connect bandwidth and power-constrained devices over wireless networks. It is a simple and lightweight protocol that runs over TCP/IP sockets or WebSockets. MQTT over WebSockets can be secured with SSL. The publish/subscribe architecture enables messages to be pushed to the client devices without the device needing to continuously poll the server.

A client is any device that connects to the broker and can publish or subscribe to topics to access the information. A topic contains the routing information for the broker. Each client that wants to send messages publishes them to a certain topic, and each client that wants to receive messages subscribes to a certain topic

Publish and Subscribe using ThingSpeak MQTT

  • Publishing to channel feed channels/"channelID"/publish/"WriteAPIKey"
  • Publishing to a particular field

    channels/

    "channelID"/publish/fields/"fieldNumber"/"fieldNumber"
  • Subscribe to the channel field

    channels/

    "channelID"/subscribe/ "format"/"APIKey"
  • Subscribe to the private channel feed

    channels/

    "channelID"

    /subscribe/fields/"fieldNumber"/"format"
  • Subscribe to all fields of a channel. channels/

    "channelID"/

    subscribe/fields/

    "fieldNumber"

    /"apikey"

Step 6: Visualizing the Sensor Data on ThingSpeak

Step 7: Email Notification for Vibration Alert

We are using IFTTT applets to give real-time weather report Email notification to the user. For more on IFTTT setup you can go through this blog. So, We have implemented it through ThingSpeak. We are sending an Email Notification to the user whenever the change in Temperature occurs in a machine. It will trigger an email notification “What a beautiful day”. Every day at around 10:00 am (IST) we will be getting an email notification

Step 8: Overall Code

The firmware of this setup can be found in this GitHub repository