Small DC current Measurement

I want to measure small DC current (0 - 800 mA). i have got 5 A Current sensor. Current sensor gives offset of Vcc/2 volts and has sensitivity of 184 mV/A. I proposed a system in which first OP AMP will suppress the offset of Current sensor and second OP AMP will amplify the voltage signal due to current flows through the Current sensor. in this i have to compromise with Accuracy.

Is there any other method to solve this problem with simple technique and higher accuracy?

Your approach is reasonable. You can design a single-stage op-amp circuit with offset and gain, but with a dual or quad op-amp it may be easier with two op-amps.

  • If you are using a single +5V power supply, choose a rail-to-rail op-amp and since the rail-to-rail op-amp may not truly go down to zero volts, or may not be accurate near 0V, leave a little offset and subtract it out in software.

  • You can calibrate the accuracy in software. Traditionally, you'd adjust/correct the offset at zero and adjust/correct the gain/slope at (or near) the maximum reading. Or, you can have multiple "slopes" an correction-points or you can use a better (or another "curve-fitting" approach).

  • There will be some noise & drift from the op-amp, perhaps some environmental electromagnetic noise pick-up, and perhaps some power supply noise. So, it's hard to predict how much accuracy you're going to get.

Measuring 800mA with a 5Amp bi-directional hall sensor and Arduino’s 10-bit A/D is going to give you about 75 A/D values to work with. Amplifying and offsetting a hall sensor could be a waste of time.
If the supply is less than ~24volt, then dump the sensor and buy e.g. an INA219 breakout board (Adafruit or ebay).

Has an internal 12-bit A/D for current and voltage.
Resolution is <1mA.

For small currents hall sensors aren’t much use, far too much noise and sensitivity to nearby magnets.
Use a shunt resistor.