7 July 2020

HP server PSU

The guy with the Swiss accent covered using server PSUs as a cheap 12V power supply. I had seen other computer PSUs converted to use outside of the computers they were intended for but this one tempted me to go for it since it has all it's power as one 12V output and it can drive 62.5A on that output (there are also 1200W models, but 750W seemed like enough for me). And for less than £15. So I got three.

They've got a few part/model numbers: Regulatory Model No. HSTNS-PL18, Generic Part No. 506821-001, Part No. 506822-001 and Spare Part No. 511778-001.

First thing I did was power one up and poke at it with a meter. That confirmed that the always on 12V line was where I was expecting it, +12V on pin 37 and GND on pin 30. This always on connection is good for 30W.

I then soldered a switch between pins 33 and 36. Closing that switch powered on the main 12V output. And some more poking with a meter and some loads confirmed that pin 34 gave an on/off status of a little over 3V and pin 34 gave a voltage that varied with load. This looked about right for the 20A per V I was expecting. That confirmed all the details of the pinout that I cared about.

pinout

Now for some unnecessary complications.

circuit

Then had a bit of a detour to hunt for level shifters that are definitely around here somewhere to control a 5V relay board from the ESP, eventually gave up on finding them and switched out the 5V relay board to a pi hat one that would work from 3.3V, and then a lot of cursing at the ESP failing to boot because I'd used a pin it cares about at boot for the relay control line and it had a pull down.

But eventually got everything hooked up and working.

photo

I put together a quick micropython script to switch it on/off when the button is pressed and report the load. With webrepl I can get that over the network:

Load:  6  ->  0.386722  Amps
Load:  6  ->  0.386722  Amps
Touch
Load:  29  ->  1.86916  Amps 
Load:  30  ->  1.93361  Amps 
Load:  29  ->  1.86916  Amps 
Load:  30  ->  1.93361  Amps 
Touch 
Load:  10  ->  0.644537  Amps 
Load:  9  ->  0.580084  Amps
Load:  9  ->  0.580084  Amps

Things I want to add:

  • Switch on/off over the network.
  • Feed load info into something to store/graph/... it.
  • Some kind of case. Could do with boxing it up a bit to have something to mount the control electronics and output connectors to.
  • Fuses for the outputs. My 12V wiring did start a little fire in the Scottish consulate tent at one of the events, I'd rather not repeat that.
  • Decent gauge wire. I've been using speaker wire for testing so far. It definitely can't handle 62.5A.
Tags: electronics micropython 12V tech