Here are some updates on the project (for anyone interested
![Undecided :-\](https://www.eevblog.com/forum/Smileys/default/undecided.gif.pagespeed.ce.cCZ6w-jWpR.gif)
):
---> Almost finished the digital part including programming:
---> using a PIC16F887 (44pin TQFP44 package, dirt cheap, less than $3)
---> MCP3208 12bit 8 channel ADC with SPI interface for the reading the linear regulator output voltage, linear regulator output current, linear regulator input voltage and heatsink temperature
---> 2x MCP4921 12bit DACs with SPI interface as the linear regulator's voltage references, their Vref set to 4.096V, TL431 voltage regulator
---> MAX7221 8 digit multiplexed 7 segment LED display driver with SPI interface for displaying the output voltage and output current, each of them on 4 digits and/or some stupid message if I wish
---> 20x4 character LCD display for all the other stats like set voltage, set current limit, output power, linear regulator power dissipation and heatsink temperature
---> 2x 2 bit Gray Code rotary encoders for setting the output voltage and curent limit
---> two pushbuttons, one sends the settings to the DACs, the other one cancels the new settings and reverts to the previous ones
---> output enable switch (probably independent of the micro)
If you're wondering why I haven't used the LCD to display everything it's because the characters are not readable at a glance if I'm further than one meter.
---> Design changes to the regulator part
---> swapped the LM350 for a NPN darlington pair fed by a current source
---> ditched the -5V rail
---> using an LT1013 instead of the LM358 because it has lower offset
---> since the +5V rail will have to output the highest current now (most of it used to light up the LED displays) it'll be using a LM2596
---> +12V fan supply will be a 7812
---> 78L05 fed from the 7812's output will power the DACs and ADC
I'll be left with 4 unused channels on the ADC so I have an idea...
Why not use them to measure external voltages via some probes? Might be handy. I'll obviously use an opamp buffer between the input and ADC with some additional protection circuitry.
Post any opinions or suggestions below.
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/xsmiley.gif.pagespeed.ic.R8GFI-pF6f.png)