Short: Add a 1 ohm resistor in series with the transformer :-).
Longer:
A "perfect" transformer and 'perfect" capacitor will have infinite current spikes, as I know you realise.
While real world results will vary with transformer maker's 'ethos and philosophy', the real world experience is that you wil usually get superior results by adding a small "conduction angle spreading resistor" in series with the transformer winding feed to the capacitors. This is counter intuitive to what you may expect from an efficiency point of view and is often not done in practice. Theoretical calculation of the effect of such a resistor is surprisingly annoying but simulation will show the effects instantly.
Given that the mean DC level under load is 0.7071 ( = sqrt(2) ) of V peak, you have quite a lot of headroom to work with and can afford a modest amount of drop in the series resistance. There are several scondary effects which may be useful depending on environment. Spreading the conduction angle improves the power factor of the otherwise very peaked load - but probably not enough to make a difference in meeting or failing formal power factor requirements. Sometimes more importantly, spreading the conduction angle greatly reduces peak loads on the diodes and reduces EMC issues (ie less radiated electromagnetic noise) - probably not an intuitive effect of adding a few ohms of series resistance.
Lets have a play with some figures:
You have 15 VAC secondary voltage and are aiming at 12VDC at 2A.
Assume for now that about 15VDC minimum on the filter caps is acceptable 9giving the regulator 3V headroom minimum).
Vpeak is 15 x 1.414 = 21.2 V
Load power is VI = 12 x 2 = 24 Watts.
If you managed to filter this well enough to achieve say about 20VDC on the cap you would dissipate Vdrop x I = (20-12)x 2 = 16 Watts in the regulator and "as a bonus" achieve massive ripple CURRENT in the caps but little ripple VOLTAGE. This does not seem like a marvellous idea :-).
If you can manage to spread conduction over 25% of the voltage cycle you will get mean current during conduction down to 4 x Iavg = 8A.
Assuming 21V peak, 25% conduction occurs at about 19V transformer output, and a very useful 50% conduction happens at just under 15V. See graph below.
![enter image description here](https://i.stack.imgur.com/FB0Dg.jpg)
This suggests that inserting even one ohm series resistance is going to have a substantial effect. If the 8A mean that is required for 25% conduction is dropped across 1 ohm the 8 volt voltage drop is going to ensure that the 8A does not happen (as 21-8 = 13V which is lower than the 15V DC target this was based on).
If 50% conduction occurs then mean current during this period will be 4A and mean drop across 1 ohm would be 4V so this may be "about right" as if the filter cap was at about 15V you'd get (21-15)/1 = 6A peak at waveform peak - and as the cap will have "rippled up" in voltage by then you'll get less than 6A). And so on.
Yes, you can analytically work out what happens. But, just put 1 ohm in the simulator and see what happens.
This has the effect of putting MORE ripple voltage on the capacitor(s), LESS ripple current, less regulator losses and less transformer losses, less diode EMI.
The series resistnce could be in the transformer but then addes to heat generatoion inside a relatively costly component where you'd rather be trying to optimise power transfer rather than heat loss. A 5 Watt 1 ohm resistor will probably work OK here. 10W would be safer due to peaks. eg 4A at 50% = I^2R x 50% = 15=6W x 0.4 = 8W BUT waveform is complex so actual heating needs to be calculated.
Note that in many cases the ripple current rating of two capacitors is superior to that of a single capacitor of equal total capacitance.
Use 105C (or better) caps as a matter of course in this sort of application. 2000 hours+ a good idea. Cap life ~~~ 2^((Trated-tactual)/10) x Rated_life
This seems to be a problem I've seen a few times on stack exchange.
Consider an op-amp with localized negative feedback - The manufacturer designs the op-amp so that under the very worst case situations it is stable. The worst case situation is unity gain - this has the biggest chance of being unstable. Anyway, each year the boundaries get pushed a bit more and op-amps improve BUT, why should TI or AD or LT design an op-amp that would be stable with more open loop gain than what the basic device provides? That would be silly (and a marketing/sales disaster) but you (the OP) have created more open-loop gain by inserting Q4 (common emitter) into the output of the op-amp.
Q4's gain will be massive - emitter is grounded therefore the output at its collector will be possibly a hundred times more amplification than what the op-amp produces. Here's what the TL072 op-amp's gain and phase margins look like: -
![enter image description here](https://i.stack.imgur.com/3JZHd.jpg)
The red circle is the unity gain of the op-amp and it can be seen that the phase margin (the number of degrees negative feedback is from morphing to pure positive feedback i.e. becoming an oscillator) is about 75º. This is a decent margin but, if gain were increased 30x (by introducing a transistor like Q4), the unity gain point is exactly at 180º i.e. the circuit becomes an oscillator.
Solution - get rid of Q4 and use a rail-to-rail op-amp (or power the op-amp from a slightly higher supply) and restore the feedback to the inverting input. You may ask why the output Darlington-pair doesn't create the same problem - it is an emitter follower with slightly less-than-unity gain and no internal miller effects to shift the phase this way or that.
If you choose an op-amp that can deliver 30mA into the Darlington-pair input then you should be able to get up to 20A from the power supply without the need for Q4.
Best Answer
So yes, the design it's perfectly working, by now I tested on LTSpice and works very well the error that I had in my simulation was the reference Vo3(is the voltage out regulated) that is AGND of the control circuit without that reference the control circuit wouldn't work. Here's the updated circuit
And the schematic:![enter image description here](https://i.stack.imgur.com/sdRnt.png)
I understanded the principle of CC/CV mode from this webpages: