Arduino voltmeter

Untitled.jpg (85291Bytes)

OK,so here is the story. I have to make a digital voltmeter using Arduino,that can detect 0mv to 200mv preciously.

 

1. My initial plans were that I would apply 250mv through a voltage divider to the Aref pin of Arduino,and set analogReference(EXTERNAL); But I have learnt that nothing below 1V can be applied on that pin


2. So my second approach was to use an Op-Amp. Since the model had to be cheap,I used LM324. I used the Op-amp in non-inverting Amplifier mode with a gain of 10+1= 11. Since the uc I am using is Atmega 8L,I have set analogReference(INTERNAL); which is equal to 2.56 volts.

but here comes the problem-
a. The Voltmeter isn't accurate at all. While my DVM shows exactly 103mv,this ardhuino one shows 105 mv. More readings---

DVM      Arduino VM
63             63 (after calibartion in software)

103           105

23              19

have tried analog input smoothing and other stuffs,taken an huge array of data,but can't get more accurate than this.
I have to use two inputs as the VM must show sign of polarity.

What to do?

Untitled_0.jpg