mecheng,
I am a digital guy, so a lot of this might be a bit off. I think it is great that you have designed your own power supply circuit. I have spent the last year or two trying to get a single phase to three phase power inverter to work! I don't see any problems, just a few things I would have chosen differently, plus one request for help.
Like I said I am more a digital guy and I have worked with AtMegas quite a bit and even I know what a 7805 is, although I keep having to look up 555 timer circuits to figure out how they work, and I am still iffy on opamps. But the rest of the devices I had to look up to help me figure out the circuit. Most of the other people here may not need that crutch but I still do. It would have made it easier for me to understand your circuit if the part types had been listed either next to the part or in a little table in the corner. Not necessary at all for production, but helpful posting for comments.
For the other readers like me who need help, U1 is a zener diode to make a reference voltage, U2 AtMega is a microcontroller, U3 ADS1015 is a 4 input, 12bit ADC with digital interface, U4 7805 is a 5V voltage regulator, U5 and 8 are precision dual opamps, U6 AD4895 is a low noise, high speed opamp, U7 TS 1102 (I think) High side current sense, U9 is a good old 555 timer. DS1 is the display, a 20 by 4 LCD with 4 bit interface.
It looks like the 555 is being used to debounce a switch input to the AtMega. Being a digital/software type I would have done the debounce in software and saved a few components. But doing it in hardware allows you to monitor the cleaned up switch pulse on a 'scope so it is really just a matter of personal preference.
The 12 bit ADS1015 gives very fine resolution to the voltage limit and current limit input potentiometers, but even the 10 bit ADC channels in the AtMega would give 15mV resolution on a 15V supply. However, for a bench power supply extra precision and resolution can become important.
I like the use of the TS1102. Using a high side current sense is more work, but I think much more precise and safer.
The MAX44248 opamps provide a very wide voltage range allowing for a fairly high input voltage. But even with the desire to make a very precise the very high precision of the MAX44248s and the AD4895 may be over kill for a power supply. However analog circuits are my weak point and the added cost seems to be pretty small so maybe this is just my digital background tripping me up again.
I did not see the actual linear power part of the circuit. I am assuming that is done somewhere else and the line labeled ‘VIN’ is really the linear power source feeding into the voltage and current limiting circuits and the display driver in this circuit diagram. I kept looking for how the variable voltage power was being generated and if you were using transistors to drop the voltage down from a transformer secondary just how big the heat sinks were going to be!
Over all I don’t see anything wrong or that will cause a problem, just places where I would have chosen differently. Good work!