Most laboratory power supplies are just equipped with manually adjusted potentiometers. Not this one, voltage and current are microcontroller controlled and adjustable, manually via touch screen and buttons as well as remotely via serial communication allowing for programming, automated testing as well as for long term data logging (on a PC for example).
Technically the main components are a LT3081 for voltage regulation, an INA139 for high-side current measuring and limitation, a LM334 to create the minimal load, a LM335 for temperature measurement and an AVR microcontroller (ATXmega32) for all control and communication tasks in conjunction with a graphics 3.2" TFT display for user output (numerical and graphical) and its touch screen for user input (together with the three buttons already integrated into the chosen display).
The circuit allows for a voltage regulation range of 0.1V - 11V and current limitation of 20mA - 1.2A. Because I had used behind an available +12V/+5V/-12V power supply I was limited to the max 12V, but I didn't need any more the negativ voltage creation (as for jsLabPS1) to ensure a working minimal load even at 0V of regulated output.
The LT3081 internal temperature and current monitoring has not been used.
The chosen display (a cheap 3.2" TFT display from ebay) blocks with its SPI interface just 3 microcontroller I/O lines, but its touch panel and additional 3 buttons are adding further 6 lines. As visible in the schematics the chosen microcontroller's I/O usage is almost 100% (a single digital line remains unused) and this even without using a quartz
(the microcontroller runs from internal 32 MHz clock) which frees two additoional lines.
But because of using this SPI display and therefore freeing some I/O lines compared to jsLabPS (1st version) there could now be integrated a programmable electronic DC load (LT3083, 20mA - 1.7A, adjustable including cut-off voltage, again local and remote control plus data logging) in addition to the lab power supply functionality itself. This allows now for automated charging and dicharging cycles which comes in handy not only for battery measurements.
With Atmel Studio 7 for the microcontroller programming and Lazarus to create the PC remote control and logging application all development tools were free of charge.
The whole device is breadboarded and then hidden in a proper housing, working well since a year now.
I'll not do a PCB for this one, because I did a better version (0...20V, 0..3A, DC Load 0...3A, SPI TFT, UART and Bluetooth-LE for logging and remote control, additional 3.3V & 5.0V outputs with current monitoring) in the meantime: the project is called "jsLabPS3", this time with PCB (revision C already), please have a look to that one ...