Hi all,
I’ve been working on a DIY battery tester/electronic load using an ESP32, TFT displays, and a few other fun toys. The core of the project is a current sink with a feedback loop and a digitally controlled setpoint. While I have a few ideas for design improvements (I admit I made a couple of questionable choices), my main headache right now is with the INA226 current measurements.
The Problem:
At low input voltages, say around 4 V on the PCB terminals, when I try to increase the current, the INA226 readings are lower than the actual current (verified with a DMM) and non-linear. The discrepancy grows as I increase the set current.
-This issue appears above ~50 mA.
-At higher voltages (around 18 V), the problem almost disappears.
-Interestingly, the feedback loop setpoint vs actual current is very close—typically under ±0.5 mA.
So essentially, my load behaves as expected, but the INA226 seems to “under-report” current at low voltages.
Questions:
1. Has anyone seen the INA226 behave like this at low bus voltages under load?
2. Could this be related to the shunt voltage drop, I2C timing, or something else?
3. Any tips on stabilizing the readings or improving accuracy in this scenario?
I can share additional photos, wiring diagrams, code snippets or the complete kicad project if needed. I’d really appreciate any guidance or similar experiences.
Thanks!