Python Based Wind Turbine Data Acquisition System
After the successful execution of al the customer and engineering requirements, the team was able to create a data acquisition system that plotted live data and recorded historical data to a csv file.
Xuefeng Jiao, Spencer Norton
Department of Mechanical Engineering, CEIAS
Northern Arizona University, Flagstaff, AZ 86011
This project aims to create a reliable and accurate wind turbine data acquisition system. A Raspberry Pi is used to run Python codes that can read data from multiple sensors. An electrical enclosure is used to house and protect all the components. The result is a system that can measure the temperature, barometric pressure, wind speed, voltage, and current output of a wind turbine with specific accuracies and resolutions. To visualize data, a touch screen display is used with python libraries to generate graphs to show all the collected data and store it in a csv file.
Abstract
Methods
Results
Conclusion
The team was able to build an amazing data acquisition system that can read and record data, plot data, and display other relevant information. The system is comprised of a Raspberry Pi 4B, a WaveShare high precision ADC to read voltage, a DS18B20 temperature sensor, an MPL3115A2 pressure sensor, shunt resistors to measure current, a voltage amplifier for the cup anemometer, and multiple circuit components to make it all work. To house all of the components, an electrical enclosure and a touch screen are used to interface with the system and simplify the procedure for using it.
References
[1] “The python standard library,” The Python Standard Library - Python 3.11.0 documentation. [Online].
[2] Waveshare, “Waveshare/high-precision-ad-da-board,” GitHub. [Online].
Acknowledgements
Northern Arizona University Mechanical Engineering Department
David Willy, Associate Teaching Professor
Requirements
The team utilized Python and sensor libraries from different device manufacturers. The team adapted codes to work for the requirements of the project and used matplotlib to plot the live data being recorded. A Waveshare ADC was used to read voltage, shunt resistors to measure current, a DS18B20 thermocouple to measure temperature, a MPL3115A2 barometric pressure sensor to measure pressure, and an Adafruit anemometer to measure wind speed.
Check out our website for more information!
Customer Requirements | |
CR 1 | Small Enclosure |
CR 2 | Display Live Gauges and Graphs |
CR 3 | Download Historical Data to CSV File |
CR 4 | Cost within Budget ($1500) |
CR 5 | Reliable Design |
CR 6 | Durable and Robust Design |
CR 7 | Safe to Operate |
Engineering Requirements | |
ER 1 | Measure Wind Speed (0-25 m/s) |
ER 2 | Measure Temperature |
ER 3 | Measure Barometric Pressure |
ER 4 | Measure Turbine Voltage |
ER 5 | Measure Turbine Current |
ER 6 | Meet Specific Resolution Requirements |
Fig. 3: Component Sub Panel
Fig. 1: Enclosure with Touch Screen
Fig. 2: Enclosure with Interface Ports
Fig. 4: Matplotlib Graphs of Live Data
2022 Summer-Fall Capstone