A smaller sibling to my larger Fan controller project. This little fella is designed to let one power a pair of 12V fans such as a NF-A12x25 an other casefans from a regular 5V supply via a LMR62421 Boost Converter and then control it with a rotary encoder and an ATTiny414 (which only needs a UART bridge, Resistor and diode to be programmed!).
Intended application are stuff like Desktop fans (e.g. Fan + NV-AA1-12 shroud) and Fume Extractors.
Features:
-USB-C 5V input
-Single-Channel control, with onboard splitter for 2 fans
-Led based Speed and Status indication
-Solder-jumper for omitting controller (just constant 12V)
-Solder-Jumper for bypassing converter (for 5V fans)
NOTE: Boost converter is rated to ~500mA output Do not use with more than 2 regular Fans OR 1 Industrial Fan (e.g. IndustrialPPC
Components
1×
LMR62421
Power Management ICs / Switching Regulators and Controllers
1×
ATTiny414
Microchip Microcontroller
1×
IHLP2525CZER6R8M11
6.8uH Power Inductor
1×
USB4125
USB-C Power-Only Receptacle
2×
47053-1000
Connectors and Accessories / Board-to-Board and Card Edge Connectors
I had ordered my boards last week and soldered them. Just In time for a 32 degree heatwave.
I was also a fool and forgot to order the resistors. So i ended up approximating 12V by using a 13K R1 and two 220k stacked ontop of eachother for R2 to get a close enough result (11.8V). Going to have to recalculate it anyway for like 12.1V. You'd be surprised how much those few hundred millivolt matter for these fans.
Right now the Controller is blank and i used the Jumper to skip the load switch. The board is essentially just the boost converter atm. Without a PWM signal any fan should just go full-speed.
Multimeter shows a correct 11.8V so i connected a fan for testing along with an Picoscope. The fan is a standard 120mm Noctua Redux 1700 fan which should do well as indicator for an "Average" fan
Version one is fairly simple. Circuit has 6 parts: Receptacle, Booster, Load-switch, Encoder, Output and Microcontroller.
Receptacle:
The receptacle is a common 6P Power-Only USB-C port (USB4125). With a set of 5.1K resistors to signal to a USB-C Supply that it is downstream device.
Booster:
The Booster is made with a Texas Instruments LMR62421 switching controller. This is a tiny, cheap little booster that can convert 5V to 12V. Being SOT-23-5 renders it easy to hand-solder.
Since there are 5V Fans out there and i like my designs Flexible: A solder jumper is placed that can bypass the entire booster.
Load-Switch
Not all fans shut-down at 0% PWM, for these a way to shut the fan off is needed. Originally i thought about using the Boost Converter's EN pin, but that wouldn't really shut output down as much as just let the 5V pass through the Inductor and Diode. Powering the fan with ~4.5V. So a full switch was needed.
The Switch is a standard High-Side FET switch. The FET i used is a PMV50EPEAR that can switch about 4A. Though any SOT-23 Power Pfet with a GSD pin order should work here.
A Solder Jumper is available to cut out the switch in its entirety. Be it due to lacking components or running without a controller as just a dumb 12V supply.
Encoder
A standard Bourns EC12R-S encoder will provide input. Components around it are chosen according to recommended design in datasheet.
Rotating will manipulate the speed. Pressing it will toggle the controller on/off
Output:
Output is mostly just a pair of specific Molex 47053-1000 headers, commonly known as PWM Fan Headers (idk what it is with brands like Wurth and Molex insisting on these obtuse numbered names...). Although they allow for 2 fans to be connected. They both have the same PWM signal and only the top one has its Tachometer connected to the Controller. This effectively is the same as using a Splitter cable
A reverse polarity shunt diode is placed just in case. These fans are inductive loads after all.
Controller
Actual Brains is going to be a Microchip ATTiny414. AVR chips may have gone out of style a little over the years as ARM and RISC-V have spread. But for small jobs like these you just can't beat the reliability.
This is going to be my first time dealing with a newer "tinyAVR 1-Series" chip. Used to the old ATMega8 and the ATTiny2313. Supposedly these newer chips don't need external resonators anymore to get to 16Mhz and have far greater flexibility when it comes to IO interrupts. Going to be a fun experience in figuring these out and trying out the Serial UPDI feature of AVRdude to program them. Do like how these days just 3-pins are needed for programming.
For indicating set speed i opted for a whole bunch of leds in a Charlie-Plexing setup. To get the most out of the IO-Pins. With a quick pair of regular connected diodes for Status (Turned off and Fan-Detected)
The real challenge was cramming it all. I think i managed to do a decent job.
Being one of my first KiCad designs it took a little to figure out symbols, footprint and IO, but once i got going it went really quick. KiCad feels way more expedient than Eagle. Especially with how many footprints it already knows. Some footprints like the USB4125 i quickly modified to have longer pads for hand-soldering. That KiCad lets me do that quickly in a design and only for that design is a godsend.
The idea was that while my main goal is the creation of a big fancy controller with multiple channels that is just over-engineered cause i want to. I also wanted to create a tiny "Minimum Viable Controller". One that is just for controlling one single channel and do so without much of a fuss. Basically the controller i SHOULD create.
So the USB Powered "MVC" was born. Created with a small, cheap boost-converter that is easy to hand-solder, a cheap ATTiny controller that is easy to program (all you need is a generic USB->UART bridge, A schottky diode and maybe a resistor) and equipped with a simple "Power-Only" USB-C connector.
I want people to be able to make a bunch of these by hand for less than 20 USD/Euros max.