Hi everyone!
Although it is my very first post on the forum, it is probably far from the first one about Dave's uSupply project.
I thought it was a very cool project, but was disappointed to find out it was never finished. So I decided to make my own version, inspired by Dave's original project.
After a lot of prototyping, changing and debugging, I finally finished my version: SmartSupply!
It is fully working and I've already had some good use out of it.
Specifications:* 0 - 1A, steps of 1 mA (10 bit DAC)
* 0 - 20V, steps of 20 mV (10 bit DAC) (true 0V operation)
* Voltage measurement: 20 mV resolution (10 bit ADC)
* Current measurement:
< 40mA: 10uA resolution (ina219)
< 80mA: 20uA resolution (ina219)
< 160mA: 40uA resolution (ina219)
< 320mA: 80uA resolution (ina219)
> 320mA: 1mA resolution (10 bit ADC)
Features:* Constant voltage and constant current modes
* Uses a low noise linear regulator, preceded by a tracking preregulator to minimize power dissipation
* Aluminium case end panel used as heatsink
* Use of handsolderable components to keep the project accessible
* Powered by ATMEGA328P, programmed with Arduino IDE
* PC communication via Java application over micro usb
* Powered by 2 protected 18650 Lithium Ion cells
* 18 mm spaced banana plugs for compatibility with BNC adapters
Most notable changes from Dave's version* Replaced discrete DAC for voltage setting with PWM and lowpass filter DAC (10 bit).
* Added capability of going down to 0V output voltage, by adding a negative supply (charge pump).
* Fixed the input buffer by using a rail-to-rail opamp.
* Changed charging circuitry to use hand solderable components.
* Changed boost converter for the same reason.
* Added on board FTDI chip for communication via micro USB port.
* I left the FTDI breakout header so you can avoid the FTDI chip (difficult footprint) and use an off the shelf solution
* Removed ethernet module.
* Changed screen to more generic type instead of I2C type.
* Changed digital voltage to 5V instead of 3.3V.
* Added auto calibration to eliminate the error of the 5V regulator.
Ofcourse, it's completely open source; all files can be found on my GitHub (including the full theory of operation):
https://github.com/ThomasVDD/SmartSupplyI've also made an instructable with some more details:
https://www.instructables.com/id/Digital-Battery-Operated-Powersupply/Feel free to share your opinions!