I have:

  1. Single supply rail voltage (3.3)
  2. current sensing transformer that outputs an 1v pk-pk value at is max rated sensing current (10A). The Transformer biased at 1v DC in order to ensure that the input signal never falls below 0v (i.e. on the negative cycle of the transformer, output will be 1v -1v =0, and on the +ve cycle it will be 1v+1v = 2V
  3. An arduino with and ADC input. its a 10bit ADC
  4. The Arduino ADC can use the internal voltage ref of 1v or the supply of 3v3 which will equate the max value of the ADC (1023) to this ref.

My problem. How can I maximise the sensitivity of my ADC reading. My current circuit has the following constraints

  1. I would like to use as much of the ADC range to measure the variation in the AC signal and remove the common mode bias of 1v
  2. My current circuit means that an max output voltage of 2v is possible and hence I need to use the supply (3v3) as the ADC reference. This means that 1/3rd of the ADC rangne is never used
  3. I spend a lot of time measuring the DC value of 1v, when all I am interested in is the AC

Is it possible to convert this signal to a 0v to 1v (FSD) that I could feed directly into the ADC and then use the whole 10bits to represent the 0 to 1v range (hence a resolution of approx 1mv) by using the internal 1v reference?

I can only afford to use the lower end components so AC to RMS converter chips are out of my budget... LM358 are in my budget :)


  • \$\begingroup\$ use ACS712-10A if you want Full scale. check datasheet "sparkfun.com/datasheets/BreakoutBoards/0712.pdf" \$\endgroup\$
    – Deepak
    Oct 6, 2020 at 15:37
  • \$\begingroup\$ Hi Deepak, thanks for responding.. but I don't want to put the arduino in the circuit and are therefore using a current transformer to detect the AC current in the main conductor. Can the ACS712 be used with a current transformer to provide isolation? \$\endgroup\$
    – Daveo
    Oct 6, 2020 at 15:50
  • \$\begingroup\$ Doesn't the DC voltage saturate the transformer? \$\endgroup\$
    – polwel
    Oct 6, 2020 at 15:50
  • \$\begingroup\$ @Daveo have you read the datasheet, the chip I suggested is also an isolated one, can be directly used in AC. \$\endgroup\$
    – Deepak
    Oct 6, 2020 at 15:54

1 Answer 1


You can make an analog precision rectifier and read the resulting filtered DC voltage if you are not interested in the waveform. Average voltage of a 1V peak sine wave after full-wave rectification is (2/\$\pi\$)V ~= 0.637V. Add some gain and/or decrease the ADC reference voltage to optimize the range for maximum resolution.

The LM358 is suitable for mains frequency, however it cannot output 5V so you would be better to reduce the reference voltage to 2.56V or 1.1V rather than the default 5V.

  • 1
    \$\begingroup\$ Thanks Spehro, this will be perfect as I can adjust slightly the gain of the opamp to match the full pk value of the half wave to the FSD of the input ADC. \$\endgroup\$
    – Daveo
    Oct 7, 2020 at 10:31
  • \$\begingroup\$ If you use both op-amps you can separate the FW rectifier from the gain/buffer stage and operate from a single 5V supply. One diode, 2 resistors for the FW rectifier, two resistors to set the gain and one RC to filter the output. \$\endgroup\$ Oct 7, 2020 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.