This project was initially developed for the lecture "Internet of Things Ecosystems" at the University of Applied Science Esslingen
MotivationIndustrial machines are the backbone of manufacturing, energy, and production sectors. However, unexpected failures can result in costly downtime, lost productivity, and expensive repairs. Industries face the challenge of balancing maintenance costs with reliability. Reactive repairs lead to unplanned downtime, while scheduled maintenance can be inefficient and wasteful.
IdeaA battery-powered IoT device designed to monitor machine vibrations in real time, detecting early signs of wear through AI-assisted analysis. The device operates within a mesh network for seamless data collection and integration with the cloud. This solution offers a simple, cost-effective add-on to enable or enhance predictive maintenance for any type of machine.
ProductOur product provides real-time, wireless monitoring of machine health using AI-assisted analysis to predict failures before they occur. By doing so, it reduces costs, prevents unexpected breakdowns, and optimizes maintenance schedules, making industrial operations smarter and more efficient.
SetupOur prototype is built on the nRF5340 Development Kit and utilizes accelerometers such as the Adafruit LIS3DH and generic MPU6050 boards. These components communicate via an I2C intra-board bus, forming the foundation for reliable vibration monitoring.
The accelerometer sends an interrupt to the SoC of the nrF5340-DK whenever a certain vibration treshold is reached. This triggers a kernel-timer based polling mechanism of configurable parameters: The accelerometer generates an interrupt signal to the SoC of the nRF5340-DK whenever a predefined vibration threshold is exceeded. This event triggers a kernel-timer-based polling mechanism that processes configurable parameters as follows:
- The accelerometer's acceleration values along each axis are read via the I2C interface.
- For a three-axis accelerometer, the individual axis readings are combined into a single float value by calculating the Euclidean distance of the acceleration vectors:
- A series of samples is collected, with a constant time interval T between each sample to ensure uniform data acquisition.
- The collected data undergoes a hardware-accelerated Fast Fourier Transformation (FFT) directly on the device, using the ARM CMSIS library. This process produces a spectrogram that maps vibration intensity (y-axis) against induced frequency (x-axis). According to Nyquist's theorem, the maximum detectable frequency is limited by
- To guarantee efficient and error-free data transmission, the spectrogram is encoded into a CBOR (Concise Binary Object Representation) datagram for compact and reliable transport.
ARM CMSIS-DSP FFT and CBOR encoding:
static void run_fft(struct k_work *item)
{
arm_rfft_fast_init_f32(&fft_instance, ACC_SENSOR_POLLING_COUNT);
//because arm_rfft_fast_f32 may modify input buffer, write to dedicated var
for (size_t i = 0; i < ACC_SENSOR_POLLING_COUNT; i++)
{
fft_input[i] = amplitude[i];
}
//Perform FFT
arm_rfft_fast_f32(&fft_instance, fft_input, fft_output, 0);
// Encode CBOR
int ret = k_work_submit_to_queue(&cbor_work_q, &cbor_encode_work);
if (ret) printk("failed to submit cbor work - return core %d\n", ret);
}
- CBOR (Concise Binary Object Representation) is natively supported by the CoAP (Constrained Application Protocol), which is used for data transport.
- The vibration data is exposed as a CoAP resource within a Thread network. The implementation of the Thread protocol utilized for this purpose is Google's OpenThread.
- To query and receive application data from a conventional IP network, a border router serves as the physical gateway, bridging the Thread network with Ethernet or WiFi.
- The "OpenThread Border Router" software runs on a Raspberry Pi, providing gateway functionality. This setup leverages another Nordic SoC, the nRF52840, which acts as a Radio Co-Processor (RCP) connected via USB to the Raspberry Pi. This configuration ensures seamless communication between the Thread network and traditional IP-based networks.
- Once configured, the vibration data can be reached via the IoT services of platforms like Google Cloud or Microsoft Azure, which provide extensive machine learning and interfacing capabilities.
Vibration Analysis
The following graph displays the frequency spectrum of a sensor's vibration response during manual testing. The blue line (Excited) represents the sensor's detected vibrations, while the orange line (Baseline) represents the default vibration level when the sensor is idle. A sharp peak around 15 Hz indicates the primary frequency induced by manual excitation. Beyond this point, vibrations diminish, aligning with the baseline. This test confirms the sensor’s ability to capture and analyze vibration patterns effectively.
The system uses a mesh network to detect and transport data.
- Vibration Sensor Nodes: Collect vibration data and communicate within the mesh.
- Cloud Gateways: Make functionality available outside of the Thread network.
- Cloud Infrastructure: Store, analyze, and provides insights.
- User Access: Any device, anywhere, using internet access to cloud infrastructure.
This setup enables real-time, scalable, and reliable vibration monitoring for industrial applications, that requires minimal effort for configuration due to its dynamic nature.
Currently, full-sized development kits and accelerometer boards are being used to develop and evaluate the technology. As we move closer to creating a market-ready product, it is essential to optimize both the cost and form factor of the system to meet industrial requirements.
A key focus of this effort is integrating all necessary components onto a single, purpose-built multi-layer PCB. Additionally, the devices must be protected from environmental factors and include an encapsulated battery. This can be achieved by designing a robust plastic enclosure using CAD software and manufacturing it with durable materials such as PCTG. We have previously demonstrated success in printing PCTG cases for single-board computers using a modified Creality K1 Max 3D printer. Modern 3D printers are fast, efficient, and cost-effective, making them invaluable tools throughout the entire development process, from prototyping to mainstream production.
To ensure environmental protection, a gasket can be clamped between the case components to prevent ingress. Alternatively, the case can be filled with resin, which not only enhances protection against external elements but also improves resistance to vibration.
Our project is continuously evolving to enhance predictive maintenance capabilities. Future improvements include:
- Complete Prototype Setup: Implement Cloud Infrastructure.
- AI Models: Tune machine learning algorithms for accurate failure predictions.
- Additional Sensors: Make use of affordable sensors for magnetic field strength, temperature, sound pressure level and more.
- Optimize Energy Consumption: Lower the energy consumption and find good parameters for energy intensive acitivies like sensor polling and transmission.
- Research Battery Technology: Numerous battery technologies have become available, that enable energy conservative devices to operate for years without intervention
Conclusion
The product has the potential to be a drop in improvement for any industrial maintenance process by combining IoT, AI, and cloud analytics into a seamless, easy-to-deploy solution. By enabling real-time monitoring and predictive insights, it enables industries to shift from reactive maintenance to proactive, cost-effective operations.
With edge processing, CBOR data compression, and self-healing mesh networking, our product is designed for scalability and reliability. As we continue to enhance its capabilities, it will further drive industrial efficiency and prevent costly machine failures before they happen
Contact: LeonPWeigel@proton.me
Comments
Please log in or sign up to comment.