Hello,
I'm trying to build a crude and simple dummy load for basic DC measurements, based on power resistors (i'm trying to avoid mosfets and designing circuit boards at the moment, that would be my next project).
I don't need precise control over the load, i just need reliable measurement within, let's say, 1% error range for 0-30V and 1-20A, at few selected resistance values.
I'm not expecting to have great resolution at 1A of course with such requirements.
But my results are a bit disappointing so far.
What i'm kindly asking for is to check if i'm thinking correctly
Right now i have a cheap CJMCU-226 INA226 module [attachment=1] connected over i2c to an arduino board.
I'm using INA226_WE library
https://github.com/wollewald/INA226_WE to control the device.
I've desoldered original shunt resistor (0.1Ohm) and connected external shunt resistor 75mv/50A 0.0015Ohm, with Kelvin connection, on the low side of the device. I'm using in+ and in- pads on the board (and of course i've connected vbus and the rest
)
I'm powering the device with 5V from a MeanWell PSU 5V/5A.
For testing i'm using my Rigol 832 as a power source and BM869s DMM for voltage measurements.
Rigol is connected to my device with a pair of 11AWG 1m long copper cables.
Device is configured to 10 Ohms + shunt's 0.0015 Ohm.
So far it's working.
I have pretty good voltage measurements.
With 27.00V set on a second PSU channel, with 2.70A load (reading from Rigol) i'm reading 26.96V from INA226 and 26.951V with my DDMM connected to same point as INA226.
So there is ~10mv of difference and it's pretty consistent over whole 1-30V range and it's way better then 1% (0.03% if i'm correct ?)
However amperage readings are much worse.
At 17.00V i'm reading 1,70A on Rigol but 1.723 to 1.745 on INA226 and it has a tendency to change within that range randomly over time (every second or so). That does not look like a temperature drift.
I'm also measuring voltage on shunt with my DMM, and it's 2.55mv.
(50A*(2.55/75)=1.70) - seems that my connection to shunt resistor is correct and shunt itself is OK.
1.70/1.745 = 0.974 which is close to 3% error at 1.7A. That's not good.
Also there is constant 0.02A to 0.05A reading at 0V with disabled PSU output.
What i'm reading from INA226 datasheet
1) There is 0.1% max gain error which corresponds to 0.002A error.
2) I should expect 10uV bias, which can give me 0.006A error.
That does not add up to 0.045A error.
I'm well within shunt input voltage range (+/- 81,9175mv)
With native 16-bit resolution of ADC i should have ~0.8mA steps with 50A shunt.
I'm considering one of three possibilities:
1) I don't understand this chip capabilities and limitations and it's simply incapable of what i'ma asking. Weel, for sure i'm not understanding it fully, but i thing my requirements are reasonable and this chip is capable of providing that.
If so, can you see an obvious error in my thinking or is there something i'm missing here?
2) The device itself is of poor quality or faulty. Seems legit, since the autor of INA226_WE library is mentioning this problem on the front page of his github repository.
3) There is an error in library. I've selected this one because it seems to be well maintained. So i doubt it.
I'd like to consider those options and i ask for advice, before i start to change thins randomly
Other than that device (both hardware and software) works really well, so i'm trying to hold on with rash decisions
Regards,