well the circuit works so far, but when the Vin = GND, I can't get the Vout from OPAMP = GND (0V). it just higher! So how to solve this? I tried using LM358, LM393, LM324, MCP6002, but it still not worked =( Please help Here are some of my ideas i think might work but i don't know how to build: - Switch to another OPAMP. i think good OPAMP might help but i don't know what type, and the price will be a problem because i don't have so much money - Are there any ways to subtract the Vout from OPAMP? like VinADC = VoutOPAMP - Vsubtract, then it can get to 0V. but I didn't found anything seem possible! - I tried researching the Virtual Ground methods, so I think there are some how make the ground of the ADC circuit "higher" than the OPAMP circuit ground, but still supply enough current for the ADC and following circuits (at least 50mA). Any suggestions? Please help!! And by the way sorry if my English is not good =)) thanks!
No operational amplifier can actually achieve an output voltage of the negative power rail, although some can get close. This is due to the finite resistance of the output stage; even at no load, some current must flow in the output stage (although it may be miniscule).
If you want to get all the way to 0V, then I suggest reading this excellent application note from TI. You will still need a negative supply.
There is an advantage of using this method but the disadvantage is that the current in the output stage has to be estimated.
If you can live with a tiny output error near ground (most ADC applications can), then use a rail to rail output amplifier.
If I require an output all the way to ground, I normally provide a split power rail for the amplifier (+V and -V).
I had a visit from Maxim and they showed an interesting new range of parts (typical part linked) where you supply a single positive rail and an on-board charge pump generates an equivalent negative power rail within the device (although we will need to supply the charge pump capacitors).
This means that an amplifier supplied from a single power rail can give a true zero volt output.
Maxim explains it here.
I am updating this post as I believe the existence of this type of part is of interest to EE.SE readers (I am unaware of any of the other usual suspects doing the same as yet).
What makes you think that when Vin=0V, Vout should be 0V? You have built an inverting amplifier, so it will invert. For instance, if R1=R2, when Vin=0V, Vout should be 2.56V.
There is a schematic editor in the post editor, which will not only make your post more readable, it will allow you to simulate the circuit.
It's worth pointing out that if your ADC reference voltage is 2.56V, this circuit is probably not what you want, as a Vin < 0V will result in a Vout > 2.56V (again, assuming R1 = R2).