Thank you for including the graph.
I think you should look at the data sheet for your LM358.
On page 1, under “Features”:
■ Large output voltage swing 0 V to (VCC+ -1.5 V)
That means the output can only move between 0 V and 1.8 V. Now, if your input is biased to 1.65 V, it can swing by only 150 mV in the positive direction. That is less than 10% of what you need.
I think it is likely that the positive half of the current wave is being clipped and that is reducing the rms value that you calculate. That is why the graphs fall away.
You can easily test to see if this theory is correct by temporarily removing the filter, or better, if you can borrow an oscilloscope, look at the shape of the wave.
A possible solution would be to add a second burden to your c.t’s so that the output voltage is limited to 150 mV peak at the maximum current you want to measure, then make up the loss by altering the calibration in software.
You could improve on that by reducing the bias voltage to 0.9 V, then you would have a peak voltage out of the LM358 of 900 mV (1.8 V peak-peak), which would mean less reduction of the c.t’s output voltage would be needed.
According to my notes (from data supplied by Overeasy) the internal burdens are 93 Ω for the 20 A (not verified) and 62 Ω for the 30 A (verified by @gby). With those values, you can calculate the value of the required parallel resistor and the correction to your calibration.
1 Like