AuxPower1U: Fan Controller Design

This is post 7 in the series (next: Fan Controller, previous: Cooling).

This post is sponsored by PCBWay.


I haven’t tried to build myself a fan controller, I swear. My original plan was to get one of many PC fan boards and call it a day. However, I was surprised at how little of those fan controllers could properly work without PC. Even worse, most of their fan profiles would cause my 1U fans to scream. So, making my own became easier solution than figuring how to make the existing ones work.

First, about the fans. I had 1U case that was made of quite thick plastic. That left only 36.576 millimeters to work with. If we round down this overly precise number in order to account for some tolerances, the biggest fan I can place here is 36x36 mm in size. And that’s definitely not a standard size you’ll find in your desktop computer. However, it’s standard enough for there to be multiple fans of that size. I opted to got with Delta FFB03612EHN primarily due to its 36x36x28 mm dimensions that would just fit into my case. But my second concern was not less valuable - it was a PWM controlled fan. When it comes to fans, you have 3-pin ones that always run at the same speed and the only way to slow them down is to lower the voltage. This wasn’t what I was interested in. I wanted 4-pin fans that have PWM signal for speed control. And my Deltas were just such fan.

To control pretty much any fan speed, you need to have a 25kHz PWM signal. There is quite a bit of latitude allowed (for Delta fans, it’s usually 20-30 kHz) but different fans have different tolerances, so keeping it as close to 25 kHz is probably the best idea. Fan speed itself is not controlled by PWM frequency but by duty cycle. If the duty cycle is 50%, you run fan at 50%; if the duty cycle is 25%, fan runs at 25%; if the duty cycle is 75%, you get the drill…

Officially, a duty cycle control needs to be done by an open-drain output. That is, you only ever pull the PWM signal down, letting it go to the fan’s internal 5V pull-up for the rest of a PWM cycle.

Keeping this in mind, I went to search for a microcontroller I could use for the project. It had to be low-pin count, so I don’t waste a lot of PCB space; it had to have hardware PWM, so I don’t need to bit-bang; it had to have open-drain PWM output; it had to have an analog input for temperature; and lastly, I had to have one available in my drawers.

Looking at Microchip PICs I had available, I quite quickly went toward the PIC12F1501. This one is a little gem. It has not one, but four PWM channels thus allowing me to control 4 fans in a completely independent manner. It also has 4 ADC channels (some pins overlap) thus allowing for an external temperature sensor (I had MCP9701A lying around). It even has an internal temperature sensor which is the fact I noticed only once I already had my PCBs made, so I ended up not using it.

But you will notice it didn’t have one thing I needed - an open-drain PWM output. However, since the pull-up value within the fan is specified to be a maximum of 5.25 V, I was reasonably sure I could ignore that. Any voltage differential would be small and thus any extra current going through pull-up resistor would be way lower than the current it already had to carry during its “off” cycle when it gets connected directly to GND. In short, I was willing to ignore this part of the specification.

After messing around in KiCAD for a while, I had my design finished and it was off to my sponsor, PCBWay, to manufacture the PCBs. But let’s continue that part of fan controller story in the next post.

AuxPower1U: Cooling

This is post 6 in the series (next: Fan Controller Design, previous: Power Supply Selection).


Illustration

While power supplies are selected, a huge elephant in the room remained - how are we going to cool these? Well, good news - strictly speaking, we don’t have to, thanks to the miracle of derating.

If we check the datasheet, there is a derating curve where it tells us that (without any heatsinking, at 70°C, using puny 110V) we can count on about 40% of the power. So, if we don’t go over 80W, everything is awesome. And I would argue that even running two NUC machines on my 15V power supply (most loaded one) will be under that.

But we can do better. The 1U case doesn’t allow for a lot of natural air circulation. Even though UHP series is fine with being restricted, for their longevity, it’s better if we get rid of at least some of those darn Celsius.

First thing we can add here is an aluminium plate. Adding a small 200x175x3 mm chunk of aluminium will not only do wonders for distributing heat, but also make their mounting easier. And it’s surprisingly cheap these days to get a pre-cut plate with holes at the perfect location for the power supplies. I got mine at SendCutSend for $35, delivered. It’s not as cheap as if you have tools and/or patience to do it yourself, but it’s not going to break the bank either.

With the plate in hand, we can use M3x6 screws and nuts to fasten power supplies. Adding a bit of thermal paste and screwing 4 screws per power supply is all it takes. Yes, we’re not using a plate as big as recommended in the datasheet, but this isn’t nothing to laugh about. Even better, I can actually use this plate to stiffen the whole case a bit after I mount it. How? 3D printed rails sound as a good idea.

In addition, I have decided to add a few fans to keep the air circulating so we don’t get even close to overheating. Realistically, as long as we have some air movement, these power supplies are going to be fine. On other hand, since I am overbuilding this thing to start with, I can build temperature-sensitive fan controller too.

But that’s a story for the next blog post.

AuxPower1U: Power Supply Selection

This is post 5 in the series (next: Cooling, previous: Dell Trigger).


When it comes to power supplies for embedded electronics, it’s really hard to beat Meanwell. They are easily available, they have a wide selection, and they are reasonably priced. Thus, my search for power supply started with the first Meanwell catalog I found.

After testing the Dell trigger board, my power supply setup crystallized to 48/55V (for my routers), 15/20V for computers, and lastly (optionally) 12V for a modem. Why do I say “optionally”? Well, the option of using a buck regulator for the modem is always open. Since I have my case dimensions predetermined, the choice on whether to use 2 or 3 power supplies will be mostly driven by their dimensions.

As 1U severely restricts the height, my choice fell onto four power supply families:

I wanted to get as small as possible (can I fit 3?), a reasonable amount of power at each voltage (100W+, especially for 15V needed by computers), a reasonably small ripple (less than 200mA, if possible), tight voltage tolerance (1%, ideally), high efficiency (90%+ desired), and lastly robust overload controls (ideally with auto-recovery). Looking at the catalog, I placed the following power supplies on the short list:

ModelOutputPowerTolRippleEffDimensions
LRS-35-1212 V 3.0 A35 W±1%120 mV86%99 x 82 x 30
LRS-50-1212 V 4.2 A50 W±1%120 mV86%99 x 82 x 30
LRS-100-1515 V 7.0 A105 W±1%120 mV90%129 x 97 x 30
LRS-100-4848 V 2.3 A100 W±1%200 mV91%129 x 97 x 30
LRS-150-2424 V 6.5 A150 W±1%200 mV89%159 x 97 x 30
LRS-150-4848 V 3.3 A150 W±1%200 mV90%159 x 97 x 30
RS-50-1212 V 4.2 A50 W±1%120 mV84%99 x 97 x 36
RSP-150-2424 V 6.3 A150 W±1%150 mV89%199 x 99 x 30
RSP-150-4848 V 3.2 A150 W±1%250 mV90%199 x 99 x 30
RSP-320-4848 V 6.7 A320 W±1%240 mV90%215 x 115 x 30
UHP-200-1212 V 16.7 A200 W±1%240 mV93%194 x 55 x 26
UHP-200-1515 V 13.4 A200 W±1%240 mV94%194 x 55 x 26
UHP-200-2424 V 8.4 A200 W±1%240 mV94%194 x 55 x 26
UHP-200-4848 V 4.2 A200 W±1%240 mV94%194 x 55 x 26

ModelInputC OverloadV OverloadPFCFanCost
LRS-35-1285-264 VacY (auto)Y (repower)NN$13
LRS-50-1285-264 VacY (auto)Y (repower)NN$14
LRS-100-1585-264 VacY (auto)Y (repower)NN$17
LRS-100-4885-264 VacY (auto)Y (repower)NN$19
LRS-150-2485-264 VacY (auto)Y (repower)NN$19
LRS-150-4885-264 VacY (auto)Y (repower)NN$25
RS-50-1288-264 VacY (auto)Y (auto)NN$19
RSP-150-2485-264 VacY (auto)Y (repower)YN$39
RSP-150-4885-264 VacY (auto)Y (repower)YN$43
RSP-320-4888-264 VacY (auto)Y (repower)YY$54
UHP-200-1290-264 VacY (auto)Y (repower)YN$58
UHP-200-1590-264 VacY (auto)Y (repower)YN$54
UHP-200-2490-264 VacY (auto)Y (repower)YN$57
UHP-200-4890-264 VacY (auto)Y (repower)YN$59

After tinkering with a couple of combinations, including using power supplies from different families, I decided on a homogenous UHP-200-XX setup. They have ridiculously low profile, high power, and high efficiency. On the downside, they do have a bit of a ripple and their cost is quite a hit.

Another setup I could go with would still have UHP-200-15, but combined with LRS-50-12 and LRS-100-48. The downside of this approach would be a bit of a crowded central setup and less robust power supply.

The three power supplies I ended up with are UHP-200-12, UHP-200-15, and UHP-200-55. While the last one might be a surprise since I was leaning more toward 48V, the 55V version has unusually wide adjustment range (45-58V). This means it covers both 48V and 55V thus allowing me some flexibility.

If you look into their datasheet carefully, one will notice that these power supplies require quite a big heatsink. But alas, we cannot solve everything today; there needs to be something for a future me to deal with too. For now, I need to order these three before I change my mind again.

AuxPower1U: Triggering Dell

This is post 4 in the series (next: Power Supply Selection, previous: Case Selection).


Illustration

One action item mentioned way back in the first post, was discovering if a Dell Optiplex 3050 Micro can handle voltages lower than its specified 19.5V. However, you cannot just check that by plugging in any old power supply. No Sir, you need to have a 19V charger blessed by gods and naked virgins who dedicated their life to making sure your Dell equipment is not using impure power like those other peasant computers do.

However, since I am unworthy of such service, I decided to see about bypassing the same for three reasons. The firs2024t one is that it makes my life so much easier if I can use any old charger in case my current charger dies. Secondly, it really messes with my goal of consolidating power supplies if I need to take special care of Dell.

Before I went onto deciphering the charger protocol myself, I decided to check if someone had already done the work. And, wouldn’t you believe it, someone did. Even better, the author provided all the information one might need. The only thing I had to do was to make a PCB. So make a PCB I did.

The final board consists just of a resistor in series with the EEPROM data line and a zener diode for overvoltage protection between the data and ground. The value of the resistor is not really important but original charger uses 330 so that’s what I went with. Zener is also not critical so I went with 5.1V one I had laying around - go, mini-MELF, go!

The main part is a 1-wire EEPROM memory, either DS2501 or DS2502. And yes, you can program that EEPROM yourself, but there is actually a source of preprogrammed memory on AliExpress. That is way easier than dealing with 12V pulses programming this memory requires. There are some reports suggesting you can use DS2431 (with much simpler programming model) but buying preprogrammed stuff was easier.

As for the Dell connector, I was originally planning to cut the existing cable but Amazon had some pigtails available so I opted to use them and keep my original charger for emergencies. On the barrel connector side I found that a DC 2.1x5.5mm connector intended for panel mounting has spacing that fits a 1.6mm PCB perfectly.

With PCB and all parts ordered, the only remaining work was to assemble, wrap it in heat shrink, and finally test whether 3050 is properly charging at 15V. Will it? Well, it will!

Based on the old method of “try and see what happens”, I could power on my Dell starting as low as 13V. While that was the lowest voltage it booted on but I found it would ocassionally “stutter” a bit. However, when I bumped it to 14V, all looked the same as when running at the official 19.5V. For all practical purposes, you can view the Dell Optiplex 3050 Micro voltage range as 14-20V.

And yes, all standard disclaimers apply, especially given that it’s a test sample of one. For this use case, I only care about my setup, so this is sufficient. However, I am willing to bet that pretty much all other similar Dell machines behave the same.

In any case, this smalll board enables me to emulate Dell charger at lower voltage, thus allowing use of 15V power supply. This gives me access to a more common voltage in embeeded electronics (way more common than 20V that’s usual for laptops) and it also proves that both my NUC and Dell can both drink power from the same faucet.

AuxPower1U: Case Selection

This is post 3 in the series (next: Dell Trigger, previous: Features).


Quite often, I like to start my projects with a case selection. Since I have quite a few hardware projects under my belt, I also have a fair idea of how much space things are going to take. Despite this, in reality, I sort-of overlap the selection of case with the selection of the largest components; in this case, power supplies. I will cover power supplies in a future blog post; suffice it to say that I determined 200 mm of case depth would suffice.

Based on that, I wanted a 19" 1U rack case with a depth of 200-250mm. The width and height were fully determined by the 1U factor, while the depth was selected as not to interfere with other components. For power supply health, I also wanted to have some cooling slots.

Representative of a cheap case was AliExpress Lang Lang coming in at only $32. It’s made of aluminium, has slots, and gets offered in depths of 200mm (1), 250mm (4), and 300mm (3). However, the specification is a bit unclear as to the rear panel. One picture makes it seem as though it’s predrilled, but on another, it seems to be one-piece. I find this case to be as close as it gets match to my requirements.

Even cheaper variant is AliExpress Tokban at $28. It has no slots, but that’s not an issue since drilling aluminium is not an issue. And it already has power supply input cutout, so that’s a bonus. On the negative side, its dimensions seem to be higher than 1U would allow. There is a high possibility this is just a typo. Also, considering I need 2 AC inputs, I’m missing a second cutout.

All other cases I found on AliExpress were just a variant of these two.

My other source is always DigiKey and I started my search by filtering on basic case properties.

The cheapest case I found comes at $34 in form of Bud Industries PRM-14460. This one is 200 mm deep and already has some mounting options inside. I am not as worried about structural stability since it will sit on top of UPS, but structural supports inside do fragment the internal space a bit.

Another interesting case is Hammond RM1U1908VBK, but I try not to even look at it too hard due to its high price of $158. Yes, it’s built better than any other case in this list, but the premium cost doesn’t justify it for this project. That said, for some other projects, this might be a really nice option, so I’m placing it as an alternative here.

At this time, I am leaning toward a plastic option with Bud Industries PRM-14460 since plastic seems the most promising material to mount an OLED screen. If mounting stuff inside proves to be much of a challenge, my backup option is AliExpress Lang Lang since it allows for more freedom when it comes to mounting and it also has a deeper 250mm option.