Fan controller software aimed for 3D-printing enclosures. The design is specifically aimed to be used with a custom-built enclosure, featuring one major exhaust fan. The fan speed should react to several inputs:
- The amount of plastic particles in the air inside the enclosure
- Heat of the air inside the enclosure
- Manual inputs (such as speed override)
The software is designed to be run on an Arduino Uno, and as such is written in C/C++ as an Arduino sketch. Basically, it is still C/C++ but with some domain-specific libraries, and a few transformations to the code is made before being compiled and sent to the microcontroller itself.
The hardware setup is comprised of a few things:
- The microcontroller itself, Arduino Uno, running an ATmega328p processor
- A PWM-controllable fan, Noctua NF-a12x25 5V PWM
- Noctua PWM specifications white paper: https://noctua.at/pub/media/wysiwyg/Noctua_PWM_specifications_white_paper.pdf
- Sensors:
- Particle / air quality sensor (tVoc and/or PM2.5) (not yet implemented)
- Temperature sensor (not yet implemented)
- A generic 5-pin rotary encoder with a switch button
- An LCD screen to show information and status (not yet implemented)
(schematic created in KiCAD)
