Modbus Vibration Monitor
Overview
In this reference design, we demonstrate how to build a remotely-managed Industrial IoT vibration monitor designed for collecting predictive maintenance data on rotating industrial machinery.
Temperature and vibration measurements are periodically read from an off-the-shelf Banner QM30VT industrial vibration sensor via the Modbus protocol. Measurements are streamed directly to the Golioth IoT Cloud over a cellular LTE connection, allowing the device to be deployed without connecting to internal facility networks. We also show an example of how the measurement data can be made available to external 3rd-party tools for visualization and analysis.
Business Use Case
Unplanned outages can be some of the costliest events to occur in an industrial facility. In a 2023 report from ABB surveying industrial businesses, 69% of plants or sites experience unplanned outages at least once a month, with 8% experiencing an outage every day. The median cost of these outages is $124,669 per hour, with a 1-day (8-hour) outage costing a typical facility nearly $1M! Of the respondents surveyed, 60% intend to increase investment in reliability and maintenance over the next three years.
Predictive maintenance is essential to preventing equipment failures that can cause costly outages. Data collected from sensors can be analyzed to continuously monitor machine "health" and detect anomalies relative to a measured baseline for the machine, commonly referred to as "condition monitoring". When used as part of a predictive maintenance strategy, continuous monitoring allows timely repairs to be scheduled for a planned downtime when it has the least impact on the business.
For rotating machinery, like motors and turbines, the analysis of vibration data ("vibration diagnostics") has been proven to be the most effective method of condition monitoring and early fault detection. By continuously comparing the measured vibration signature against the "natural" vibration signature of the equipment, it's possible to detect premature failure conditions due to shaft misalignment, rotor balance issues, bearing failures, etc.
In their Operations & Maintenance Best Practices Guide, the Department of Energy estimates that a properly functioning predictive maintenance program can provide a cost savings of 8% to 12% over a program utilizing preventive maintenance alone (which is estimated to provide a 12% to 18% cost savings over reactive maintenance program).
Many maintenance organizations are now actively looking to move from risky run-to-fail maintenance to long-term outcome-based predictive maintenance solutions. Golioth makes it easy for solution providers to prototype, deploy, and manage a fleet of Modbus-based condition monitoring sensors: connect and secure devices, send critical machine data to the web, update firmware Over-the-Air, and scale your fleet with our instant IoT cloud.
Blog post
Read about the release of this reference design in the Modbus Vibration Monitor blog post.
How we built it
Modular Hardware
The reference design hardware is built using the Golioth Aludel Mini prototyping platform, which integrates an Adafruit Feather-compatible processor module and two MikroE Click sensor boards into a compact enclosure. It also includes the Ostentus front panel that features an ePaper display for sensor readings, back-lit LED indicators, and capacitive touch buttons. We designed this platform to demonstrate how it’s possible to quickly develop a proof-of-concept using widely available off-the-shelf modules. You'll find step-by-step instructions below showing how you can build a similar prototype yourself using widely-available development boards from our partners.
For low-power cellular connectivity, we’re using the same SparkFun nRF9160 Thing Plus module used in other Golioth reference designs. This feather-compatible module integrates the Nordic nRF9160 System-in-Package (SiP), featuring an Arm Cortex-M33 application processor, an integrated LTE modem, and a GNSS receiver for cellular-based location-tracking. The nRF9160 is fully supported in Zephyr, and has the highest level of support in the Golioth platform (Continuously Verified).
This design integrates an off-the-shelf MikroE RS485 8 Click board with a THVD1426 RS-485 transceiver for interfacing with the Banner QM30VT Modbus vibration sensor.
Device Photos
Hardware Block Diagram
Open-source Firmware
The firmware source code and pre-built firmware images for this reference design are available on GitHub under a permissive Apache-2.0 license.
The Modbus Vibration Monitor firmware is based on the Golioth Reference Design Template. Changes from the upstream template are periodically pulled into new releases of this firmware. Check out the firmware CHANGELOG for a detailed list of changes included in each release.
Golioth SDK & Cloud Services
The Modbus Vibration Monitor firmware uses the Golioth Zephyr SDK to securely connect to the Golioth Cloud, which provides a tightly integrated set of services specifically designed for managing fleets of IoT devices at scale. This includes device authentication, device state and time-series data storage, fleet-wide settings, remote log storage, remote procedure call (RPC), and over-the-air (OTA) firmware updates. You can access these services by logging into the Golioth web console, or programmatically from an authenticated device via the REST API or the Command Line Tools.
Temperature & vibration sensor data is streamed back to Golioth Cloud endpoints and stored in the LightDB Stream time-series database. Using Output Streams, this data can seamlessly be made available to a growing list of external services.
The Settings Service is used to implement custom fleet-wide device settings that can be managed from the Golioth Cloud. Individual settings can be configured at the project or device level and can be managed via the web console or the REST API. For example, this reference design implements a LOOP_DELAY_S
setting that can be used to dynamically change the delay in seconds between sensor data measurements.
The firmware also implements Golioth's Remote Procedure Call (RPC) service. For example, the get_network_info
RPC command can be called to query and return network information for the device.
The Logging Service enables the firmware to send remote log messages from the device to the Golioth Cloud. Stored logs can be queried and filtered by timestamp, device, tag, module, and log level.
The device firmware also supports Golioth's Over-The-Air (OTA) Update Service to enable fleet-wide management of device firmware updates. The Golioth Cloud enables granular control over firmware updates, including support for staged rollouts and cohort management.
See the firmware README for a complete description of all services and settings supported by the device firmware.
Data Visualization
The Golioth REST API makes it easy for external applications or services to access the sensor data streamed from the devices to the LightDB Stream time-series database.
We created a Grafana dashboard that displays the temperature & vibration measurements reported by each device:
Next Steps
Build it yourself
We provide follow-along guides showing how to build this reference design using widely available off-the-shelf development boards from our partners. We call this Follow-Along Hardware, and we think it's one of the quickest and easiest ways to get started building an IoT proof-of-concept with Golioth.
You will learn how to assemble the hardware, flash a pre-built firmware image onto the device, and connect to the Golioth cloud in minutes. The follow-along hardware runs the same open-source firmware as the custom Golioth hardware described above, and we provide instructions on how to build it yourself if you want to make changes for your specific application.
To get started, choose one of the follow-along guides below:
Request a demo
This Modbus Vibration Monitor reference design is a great starting point for building your own proof-of-concept. The next step is to integrate the components used in the follow-along hardware into your own custom hardware implementation and build a custom firmware image that connects your device to the Golioth Cloud.
If you would like a demo of this reference design, please contact [email protected].