I don't doubt that I've missed a few important points, but here are my thoughts:

> 1. Why did we superimpose the signal from opamp 1 (U1.1) on 2.5V and then eliminate the DC component with capacitor C4? Couldn't we not overlap 2.5V?

If you trusted that the first amplification stage centered its output at *exactly* +2.5V, then you wouldn't need C4. If even you know that U1.1 output is centered *close* to +2.5V, but not exactly, any DC offset there will be multiplied by the gain of stage U1.2, which could be significant.

Anyway, gain control potentiometer R12 ruins any hope that the signal being fed to the following stage is centered about +2.5V. The signal on the wiper of R12 can be centered anywhere down to 0V, so the following stage must be AC coupled using C4. Also, see 3.

> 2. What is the purpose of capacitors C2 and C5? What could they be used for in this circuit?

They are diminishing gain at high frequency, for two possible reasons. Firstly they help eliminate high frequency content (like noise, or short current spikes) that is of no interest to you. Secondly they help stabilise the op-amp, reducing any chance of oscillation or ringing. That probably isn't necessary in such a simple feedback setup, so I'm going with the first reason, noise rejection.

To be honest, such small capacitances aren't really helping with noise, I'd expect to see tens or even hundreds of nanofarads there, to get the cut-off frequency way down, if that really were their purpose. However, I don't know what this circuit was intended to measure, so I can't say for sure.

> 3. Why did we try to get 10 to 100 times gain with 2 opamps? Couldn't we increase the R1 resistor and make 10 times gain with a single opamp?

Yes, but a larger burden resistor R1 would increase the voltage across R1, increasing the power dissipated in R1. Larger burden voltage may also cause the transformer core to saturate. Everything depends on the transformer's own characteristics and the amount of current you expect to see in its secondary winding. The burden resistance must be chosen to keep the transformer out of saturation, to keep power dissipation in the resistance itself within safe limits, and large enough to produce a measurable, useful voltage.

Using a single LM358 configured with a gain of 100 would have a couple of consequences:

- Any input offset voltage of the LM358 would also undergo amplification by a factor of 100, which is problematic to control. Even a 1mV offset will appear as 0.1V DC error at the output. It would be possible to implement offset adjustment at the input, but that's an added complication. By using two stages, each with a gain of 10, and by removing DC offset from the first stage with C4, only the second stage offset is significant, which might result in only tens of millivolts of error, instead of hundreds.

- The gain bandwidth product of the LM358 is 1MHz or so. A single stage with gain 100 would have a bandwidth of only 10kHz. That's only a problem if you are interested in frequency components above that. If this is just mains AC at 50Hz, then bandwidth is probably not a concern. By using two LM358 stages, each with a gain of 10, bandwidth increases to about 100kHz. That's probably way beyond what you'd need for most applications anyway.

> 4. I cannot get 5V output in the simulation. 1.5V clipping.

The LM358 can get its output close to its negative supply potential, but that output is only guaranteed to get within 1.5V or so of the positive supply. In other words, with supplies of 0V and +5V, you can only expect perhaps 20mV to +3.5V at the output. That's a limitation of this particular op-amp, and you'll need to refer to the datasheet to know what your particular model of op-amp can or can't do at its output. That particular constraint is described on page of 7 of this [LM358 datasheet][1], in section 6.5; see "Output", parameter "Voltage output swing from rail".

Similar constraints apply to the inputs too, which you can see on the same page, under "input voltage range". Of course, as you suggest, one way to obtain a higher possible output, and improve the range of acceptable input potentials, is to raise the op-amp's positive supply potential. Raising it to +6.5V would indeed render the op-amp capable of producing a 5V output.

It surprises me that the designer of this circuit choose to center the signals in and out of the op-amp at +2.5V, when it would make more sense to bias everything around half way between the actual input and output ranges that the LM358 can handle. That is \$\frac{3.5V}{2}= 1.75V\$.

> 5. theoretically even 1000V seems to be measurable

The problem is isolation between the primary and secondary windings of the transformer. Maybe it's only rated for 250V, above which you risk arcing, and serious damage and danger to the secondary circuitry and human user. If the transformer is rated to guarantee isolation between primary and secondary windings up to 1000V difference, then you can measure current from a 1000V source on the primary side.

The chief danger lies in the difference between the transformer's primary side potential, and secondary side potential. If that potential difference exceeds the transformer's rated maximum (its isolation rating), then you shouldn't be surprised when everything catches fire.

> 6. Wouldn't it be much simpler if instead of this opamp circuit, we set the R1 resistor according to the range we want (maybe using a potentiometer) and use a zener diode so that the output does not exceed 5V?

I explained that you need to choose R1 carefully, but sure, you could use elements like a zener diode or potentiometer to adjust and clamp the signal. The constraints on R1 (due to the transformer's own foibles, as well as R1 itself) may make this difficult or impossible to do. It may be impossible to obtain a measurable voltage using just a burden resistor.

Besides, connecting an expensive ADC/MCU semi-directly to a current transformer is not as reassuring (at least to me) as introducing a layer of protection/isolation in the form of a cheap op-amp stage.

An op-amp offers great flexibility and simplicity in terms of signal conditioning, but is certainly not mandatory. The two big benefits of op-amps, that spring to mind for this application:

- The inability of an op-amp to output voltages outside the range of its own power supply potentials may be reason enough to use one, since it helps ensure the ADC won't ever see anything dangerous.

- Filtering, scaling and offsetting are trivial to do using an op-amp.

  [1]: https://www.ti.com/lit/ds/symlink/lm358.pdf