1 / 4
10" Rack 1U WiFi Climate Controlled Fan Shelf using ESPHome with Home Assistant integration and OLED Display — zdjęcie 1
1 / 4

10" Rack 1U WiFi Climate Controlled Fan Shelf using ESPHome with Home Assistant integration and OLED Display

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

This is a 1U Fan Shelf for 10" Racks. It uses ESPHome and a Raspberry Pi Pico 2 W to control the fans with PID control.

Ocena
0 / 5
Polubienia
25
Pobrania
38
Wydruki
0
Wyświetlenia
571
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Kategoria
Electronics
Licencja
Creative Commons — Attribution — Noncommercial — Share Alike

Summer is coming and I wanted to add a fan shelf to my 10" rack to keep temperatures under control since adding some new equipment.

I wanted the fans to be temperature controlled, and since I am already using Home Assistant, the easiest way for me to do this was using a microcontroller supported by the ESPHome ecosystem.

I found this superb project on github for a climate controlled enclosure fan that served as the basis for the electronics: https://github.com/patrickcollins12/esphome-fan-controller

This ESPHome config reads temperature from a sensor and uses a PID control mechanism to try to maintain a fixed temperature by modulating the fan speed as needed. With all ESPHome projects there is full integration with Home Assistant for monitoring, and to control and set parameters.  

Usually ESPhome is targetting ESP32 microcontrollers, which I have a few spare, but I knew space would be tight for the electronics and the 4 x 40mm I wanted. The problem with ESP32 dev boards is that they dont fit great on breadboards, making prototyping challenging - so I went with a Pi Pico 2 W, which is also supported by ESPHome but is thinner, allowing easier prototyping on a breadboard.

For ease to create the final device I went with a breadboard PCB that supports both 3v3 rails for the pi pico, display and temp sensor, and 12v rails for the 12v 40mm PC case fans.  This allowed me to go from breadboard to soldered PCB very easily. I used this PCB: https://www.ebay.co.uk/itm/133530666074

BOM for the build:

  • Sunlu matt black PLA filament

  • 4 x 40mm 12v PWM case fans - I used ARCTIC S4028-6K - you can get a 5 pack from amazon https://www.amazon.co.uk/dp/B09RK5DS9P

  • Raspberry Pi Pico 2 W (but a Pico W would also work I believe)

  • 1.3" I2C 128x64 OLED display - I used these from amazon: https://www.amazon.co.uk/dp/B09Z2CB7H3

  • I2C temperature and humidity sensor - there are lots of models to chose from. I went with a SHT30-D from amazon: https://www.amazon.co.uk/Fasizi-SHT30-D-Temperature-Humidity-Breakout/dp/B09Z2FQJKS 

  • Mottramlabs breadboard PCB with built in 12v to 5v and 3v3 stepdown converter:  https://www.ebay.co.uk/itm/133530666074
    Dont forget to set the jumpers correctly for 12v and 3v3 rails. Also note that the 12v and 3v3 rails share the same ground, which is needed for this build.

  • 12v PSU with barrel connector for power

  • 2.54mm SIL male headers for the display and temperature sensor wiring

  • 2.54mm SIL female headers if you prefer not to solder the Pi Pico to the PCB

  • 4 x PWM fan headers - I got these: https://www.ebay.co.uk/itm/232601413009 or you could just use 2.54mm SIL headers

  • Wires for breadboard

  • Dupont wires for OLED and temp sensor

  • Cable ties

  • 4 x M3 x 8-10mm countersunk screws and nuts for the OLED display

  • 4 x M2 x 4mm screws for the PCB

Print settings:

  • 0.2mm Layer Height

  • 5 perimeters

  • 25% gyroid infill

  • I rotated the model 40 degrees to fit easily on my bed, so I changed the fill angle to 85 decrees

Circuit and Wiring - see photo for the layout I used.

  • Two GPIOs are used for the I2C bus (only I2C0 is supported by ESPHome)

  • One GPIO for fan PWM - all 4 fans use the same PWM signal

  • Four GPIOs to read the tacho signal from each fan for RPM measurements

  • 3v3 power for the Pico, display and temp sensor

  • 12v power for the fans

  • Additional ground connections to the pico close to used GPIOs 

  • There are two lugs either side of the display for cable management using cable ties - I also wrapped the fan cables around the fans for better cable management.

ESPHome Config:

Credit to Flywheel Mistress for their OLED display model, which I used in my model as the basis for the display mount:

Tagi