Linear Voltage Regulator
The power supply runs on a linear voltage regulator built on discrete components. The design of the linear regulator was inspired by the user Amspire from the EEVblog forum. The basic idea is that the Q1 pass transistor and U5A op amp act in a classic voltage regulating loop. U5A gets feedback from the output voltage and acts on Q1 in such a way that the output voltage equals the reference voltage on the inverting input. U5D acts as a comparator and switches the base of Q1 low to set the output voltage to 0V. It acts as a current limiter which is quickly switching on and off the output to maintain the set current limit. The current drawn by the load is measured by a MAX4080 current sense amplifier using a shunt resistor which is made up of 10 smaller resistors to get better power dissipation and current capability. U5B and U5C combined with the adjacent resistors and capacitors act as filters to smooth out the PWM signal from the microcontroller. The output contains two 10uF ceramic capacitors, a protecting diode and a small current source that acts as a small load to make the power supply more stable.
The entire voltage and current limit is controlled by a STM32F103 microcontroller. It might seem as a bit of an overkill for such a project, but actually these microcontrollers are quite cheap and they have the 12 bit PWM required for this project. The STM32 controls pretty much the entire power supply, including the switching pre-regulator, the output voltage and current limit and the front panel with an LCD, swtches and a rotary encoder used to set the desired values. Some USB capability can be added in the future. The user can also make use of the UART connector to plug in some bluetooth or Ethernet modules (with some additional code).
For more detail: AmpStrike – Battery Powered Bench Power Supply