Skip to content

UPNAdrone/JavaFAWT

Repository files navigation

JavaFAWT

JavaFAWT is a fan-array-wind tunnel (FAWT) open-source software and hardware architecture developed by the drones lab of Universidad Pública de Navarra. It includes diagrams and PCB layouts for electronics, CAD designs for hardware, and source files for running and adapting the software.

Introduction

The proposed control scheme follows a wireless server-client architecture. A Java GUI is provided for the control station (server) to connect and command each fan, organized in series of modules. Each module is managed by a single Raspberry Pi client (currently tested with Raspberry Pi 3, 4, Zero 2 w), which receives the fan speed control messages from the server via a wireless WebSocket. The client receives the message, identifies its connected fans, and converts the speed signal to a PWM output for each fan, allowing for precise individual control of an indefinite number of fans. Thanks to the custom PCB interface, an external power supply can be used for each module, and a single control power source is used to elevate the 3.3V PWM control signal for each and every fan up to a standard required voltage.

Features

  • Modular low-cost FAWT architecture.
  • Individual or multiple fan speed control through a simple unified interface.
  • Websockets protocol implemented for wireless communication with each fan module.
  • User-programmable automatic speed sequences via .CSV files for repeatability and reproducibility of experiments.

Relevant links

Bill of Materials (BOM) can be found here

PCB Manufacturing project can be found here

How to install & run

Detailed instructions for installing and running the software can be found here.

A Tutorial/Manual of use can be found here.

Files structure

  • Documentation
    • private
      • docs -> .md files for generating public documentation site.
      • site -> compiled documentation website for dev purposes.
    • public -> compiled documentation website for public purposes.
  • Examples -> provided examples.
  • Hardware
    • module -> All the components required to assemble a single module.
    • testing_equipment -> Other components developed for testing.
  • Software
    • clientCode -> Python PWM client
    • functionalities -> example functionalities provided for automatic fan control.
    • pythonCode -> Python client file for controlling the fans from the Raspberry Pi.
    • serverCode -> JavaFAWT server software.

Work in progress

  • Fan speed feedback is currenly under development.

Licensing

JavaFAWT is made available under the MIT License. You are free to use, modify, and distribute this module in accordance with the terms of the MIT License.

Reference and Citation

If you use this module for research, please consider citing our paper to acknowledge its contribution:

@article{pending,
  title={},
  author={},
  journal={},
  volume={},
  pages={},
  year={},
  publisher={}
}

About

Open-source fan array wind tunnel (FAWT) software and hardware

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •