Part Number:INA226
Hello,
I just ran a bunch of precise tests of the INA226 accuracy and precision. I find a big offset problem and maybe non linearity. Considering the design of the chip and the simple collection of Vshunt by the software the only reason I imagine is an offset of the ADC and maybe non linearity, that goes with the fact that it is bidirectionnal. But it does not fit with the datasheet figures (0.1% Gain Error, 10 μV Offset (Max)).
The test is relatively simple.
1) Applying 5 volts (measured with a multimeter on 3 digits) to a known resistor (measured with a multimeter on 4 digits) with enough power. Here we have a theoretical current.
2) Pass the current through a precision (1% or 0.5%) current sense resistor. I used both PE2512FKF7W0R1L and WSL1206R1000DEA and got exactly the same result.
3) Query the INA226 with an Atmega328p. I considered the Vshunt / Rshunt and the direct Ishunt provided by INA226. Results are nearly identical but when the resolution is very low.
4) Run the test 100 times, compute averaged value and square mean deviation.
Here are the results.
First column: theoretical current in Amp
Second column: current sense resistor specs
Third column: chip, power voltage, test voltage
Fourth column: Software used and parameters
Fifth column:
Accuracy of current measurement
Sixth column: precision of current measurement
Seventh column accuracy of voltage measurement
Eight column: precision of voltage measurement
We can see that the precision is good, but the accuracy is between 1.47 and 5.07 % above.
I tried to power in 5 volts (before these tests) and the inaccuracy was sky rocketing to 7%.
When filtering it reaches tens of percents of inaccuracy (same for INA219 etc).
I tried changing conversion times without significative change. I tried not measuring voltage but only current without change either. I tried changing calibration parameters... same.
I tried on two different chips (one direct design, one filtered 10 Ohm / 100 nF).
So my questions are:
How is it that we have such an offset of the readings? This is incoherent with the specs... I miss something. On the other hand using an ADC without amplification is quite unusual...
Is there a way to fix this (probably ADC) offset?
Thanks.