I am trying to amplify the signal from ACS712 to read it better. The problem is that I am using an 8-bit ADC, and what I want to take measure are things like energy-saving lights, or other things with low consumption. So what I am trying/what I want to do is  

1) Rectify the signal (from a sinusoidal signal, with range 0-5V, to a signal not sinusoidal 2.5V-5V).  

2) Lower the level, from 2.5V-5V to 0-2.5V  

3) Amplify the range, from 0-2.5V to 0-5V (there is an alternative: amplify to 0-10V but saturate on 5V)

In this way, I will take advantage the 256 step better (in the case of saturate the signal the ADC will read better the low consumption... no?)

Here is the schematic I copy from the ACS712 datasheet, I was making some test with operationals on proteus, but I get no good result.

![schematic](https://i.stack.imgur.com/ejVBa.png)

[simulate this circuit](/plugins/schematics?image=http%3a%2f%2fi.stack.imgur.com%2fejVBa.png) – Schematic created using [CircuitLab](https://www.circuitlab.com/)

Thank you.

EDIT
====

Finally, after an infinite number of tests I get this circuit: 

[![enter image description here](https://i.stack.imgur.com/qxZcI.png)](https://i.stack.imgur.com/qxZcI.png)

The signals on the oscilloscope are:  

-Green: GND  

-Yellow: the signal from the source without the DC signal (after C3).  

-Blue: the rectified signal (it loses some signal).
-Pink: the amplified signal (it works perfect between 0V and 1.6V... but only amplify until 3.5V, it makes different pictures if source is on 1.7V or if is on 5V, but the max value is 3.5V).  

I was trying to remove the first LM358 and put a diode and a capacitor... but testing, and removing all circuit for the test, and let only C3, R9 a diode and other resistor (parallel with R9), I get a 1V constant signal after the diode. The circuit was like this:

![schematic](https://i.stack.imgur.com/wWuX9.png)

[simulate this circuit](/plugins/schematics?image=http%3a%2f%2fi.stack.imgur.com%2fwWuX9.png)

The capacitor is not connected because it would be the next test, but the first failed.