I have two ACS712 sensors, one rated for 5A, another—for 20A.
I wanted to test how precise they are, and played with different devices (in my case, old PC fans). I copy-pasted the source code from here, and changed only the Vref
value as expected, so that I get a measurement of zero when there is no current. I double-checked, the value remains zero for both ACS712 sensors. The sensor (or the multimeter) is connected in series. Only one sensor (or multimeter) is connected at the same time.
Here's the data I get. Values in parenthesis correspond to the percentage of the value compared to the one got with a multimeter.
Setup | Measured by a multimeter |
Measured by ACS712 5A |
Measured by ACS712 20A |
---|---|---|---|
Old CPU fan | 87 mA | 73 mA (84%) | 49 mA (56%) |
UPS fan rated 1.9 W | 174 mA | 170 mA (97%) | 97 mA (55%) |
Two fans together | 0.25 A | 244 mA (98%) | 146 mA (55%) |
Server fan rated at 0.6 A | 0.49 A | 463 mA (95%) | 268 mA (55%) |
Three server fans | 1.35 A | 1,293 mA (96%) | 683 mA (51%) |
While the 5A variant seems to be slightly off (another possibility would be that the multimeter is off and the ACS712 measurements are exact), things are very different for the 20A-rated counterpart: its values are wrong initially, and for higher current, they are getting wronger.
Why is it so? Is it broken, or have I missed something?