HaD Prize 2015 Questions:

What problem does this solve? Just about every hacker in the world needs a good power source. While re-commissioning an ATX supply is a rite of passage, these supplies are somewhat limited in what they can do. They tend to only have 4 fixed voltages (12, 5, 3.3, and -12); futhermore, you need to use multimeters to determine actual voltage / current output. There is no current limiting (if you short the rails the supply will turn off, but it will happily supply multiple amps of current up to that point). This project attempts to solve these problems in an economical fashion.

How does it solve the problem? This design is for a digitally controlled and calibrated multi-channel power supply with current limiting. It lets you set the voltage on each channel independently anywhere from 0 to 12V (or 0 to -12V for the negative channels), with configurable current limiting on each channel, and actual voltage / current display. It supports USB control from a PC (using RawHID packets) for calibration and automated setpoints / logging.

How to use it? Set the voltage / max current setpoints for the circuit under test (e.g. 5v, 500mA if testing a USB powered device). Plug in the device. Watch the voltage / current readouts to see how much current is being drawn.

License: As with all my other projects on HaD, this is released under a Creative Commons Attribution license. Make it, change it, sell it - just have fun while doing it and link back to my project so that others can benefit as well! Everything that I created while designing it - the AVR source code, KiCad source + Gerbers, Enclosure plans (QCad .dxf), simulations, etc are all available on Github.

Project Overview:

Some requirements of this project:

The design has two distinct parts: the power channels, which are controlled by an analog value from 0 - 5v for both voltage setpoint and current limit and which output a value from 0 - 5v to indicate the actual voltage / current, and the control board which can generate said setpoints and read the actual values.

The design uses mostly basic components, with each channel based on the TI LM338 / LM337 with op amps for control. The digital control board runs an Atmel ATMega32u4, and generates the analog setpoints via the Microchip MCP4728 I2C DAC. The same board can be used for either positive or negative output depending on which optional components are populated. (For instance, you would use either an LM338 for positive, or an LM337 for negative; you would use a NPN transistor for current limiting on a negative channel, and a PNP for positive channels; there are different arrangements of 0-ohm resistors used as jumpers to configure positive or negative modes). If you choose to not bother with current limiting you can eliminate the transistor plus an op amp with supporting passive components.

The BOM costs break down as follows:

The PCBs fit within a 10x10cm board for easy fabrication at DirtyPCBs or similar. Due to the modular design, you can then use multiple boards if you want more than one channel.

My personal implementation of this also includes a nice looking + functional case (aluminum front / back, with removable wooden sides / top). The front of the case has outputs for 4 adjustable channels (3x positive / 1x negative), plus 2 fixed channels at + / - 15V (directly connected to the SMPSUs), a display + encoder knobs (for viewing and setting voltage / current), voltage + overcurrent lights, physical switches to turn off each channel independently of software, and a USB port (for calibrating, programmatically setting voltage / current, logging actual values, and firmware updates).