Wind Turbines are normally located in non-urban locations, which make monitoring and collecting information from these wind turbines a challenge. We are enabling the monitoring of Wind Turbine Environmental state remotely. Not only monitoring but also the system will be able to use the measured data do detect permeant failures.
Project OverviewThis project introduce a System that is capable of Monitoring the state of wind Turbine and collect different operating condition like Temperature and Speed of the Turbine. It's also used to detect if the vibration level of the Wind turbine exceeds the safe values.
MQTT ProtocolMQTT (originally an initialism of MQ Telemetry Transport[a]) is a lightweight, publish-subscribe, machine to machine network protocol for message queue/message queuing service. It is designed for connections with remote locations that have devices with resource constraints or limited network bandwidth, such as in the Internet of Things (IoT). [wikipedia]
Project ArchitectureThe Project consists mainly from three parts illustrated in the following image :
- End-Node (MQTT Client - Publisher) : The Main part of the system, which is responsible for reading the Operating information and send it using MQTT Protocol. (More information in another section)
- MQTT Broker : Used to collect all the information send by the End-Node (Publisher) and send it to the GUI (Subscriber). We used mosquitto Message Broker.
- GUI (MQTT Client - Subscriber) : A GUI built with STM32CubeMonitor to read the new information from the MQTT Broker and display it.
End-Node is consider the main part of the System, where all the data acquisition and the processing takes place. The core of End-Node is the AVR-IoT Cellular Mini Board. The following image shows the schematic of the End-Node:
As shown in the image, the AVR-IoT Cellular Board is connected to MPU6050 to detect Vibration of level, and to the Motor Encoder to measure the Turbine Speed.
The End-Node will send the following data to the Backend :
- Vibration Status : This will show if there is currently vibration level that exceeds the safe threshold.
- Temperature : The Current temperature value for the system
- Turbine Speed : The Speed of the Turbine in RPM
- Temperature Failure : This will show if the Temperature value exceeds the safe limit for multiple time which indicate permeant fault in the system
- Vibration Failure : This will show if there is unsafe vibration for multiple time which indicate permeant fault in the system
The End-Node can detect vibration using MPU6050. This vibration detection takes two steps:
CalculateBaseline: This step takes only during system startup and used to measure the reference (baseline) for Accelerometer and Gyroscope values. This happened by reading the sensor values for multiple time and take the average of these values.
Using the baseline approach will help in case if the MPU6050 sensor position changed.
Calculate the Difference compared to Baseline: The Software will periodically read the values for the Accelerometer and Gyroscope and calculate the difference between the current values and the baselines. If the difference exceeds a specific value this means that the Turbine is no vibrating.
Connection to BackendThe End-Node is periodically sending the data using Cellular connectivity using MQTT Protocol. The data is sent to the MQTT Broker (mosquitto), and can be read by any Subscriber client.
GUIThe project implements GUI to visualize the data received from the End-Node. The STM32CubeMonitor was used to design this GUI.
Comments