Other Parts Discussed in Thread: TMCS1107
Hi all!
I have a legacy board that used to use ACS722 hall effect sensors, due to lack of availability, I authorized using TMCS1107A2B and updated the firmware to reflect the new sensitivity of the device (100mV/A). I was running some initial load tests and printing out measured current and it seems to be quite off on higher loads, but only for specific power rails. My sensors are working perfectly fine on 12V and 48V DC rails but for two different 24V rails, the current deviates a lot from its supposedly linear output.
My use case:
* 100mA accuracy or can be worse at loads > 10A
* Should operate at 3.3V
* DC current monitoring only
The system is running at 3.3V with 10u and 100n caps on the VS pin, and a 100n cap on the output voltage pin
24V1 readings:
Set Load (A) | 3V3 at VS pin (V) | Output V measured with DMM (V) | Output V measured on MCU ADC (V) | MCU Calculated current (A) | Acceptable? |
0 | 3.311 | 1.695 | 1.659 | 0.09 | Yes |
0.5 | 3.311 | 1.745 | 1.709 | 0.6 | Yes |
1 | 3.313 | 1.769 | 1.761 | 1.1 | Yes |
1.5 | 3.312 | 1.817 | 1.811 | 1.62 | Yes |
2 | 3.313 | 1.874 | 1.864 | 2.15 | Yes |
2.5 | 3.313 | 1.933 | 1.922 | 2.72 | No |
3 | 3.313 | 1.997 | 1.986 | 3.37 | No |
3.5 | 3.317 | 2.075 | 2.058 | 4.1 | No |
24V2 rail:
Set Load (A) | 3V3 at VS pin (V) | Output V measured with DMM (V) | Output V measured on MCU ADC (V) | MCU Calculated current (A) | Acceptable? |
0 | 3.312 | 1.724 | 1.661 | 0.1 |
Yes |
0.5 | 3.312 | 1.776 | 1.712 | 0.62 | Yes |
1 | 3.312 | 1.825 | 1.762 | 1.12 | Yes |
1.5 | 3.313 | 1.879 | 1.812 | 1.63 | Yes |
2 | 3.313 | 1.932 | 1.865 | 2.15 | Yes |
2.5 | 3.314 | 1.983 | 1.924 | 2.73 | No |
3 | 3.314 | 2.055 | 1.988 | 3.37 | No |
3.5 | 3.315 | 2.125 | 2.062 | 4.11 | No |
12V rail:
Set Load (A) | 3V3 at VS pin (V) | Output V measured with DMM (V) | Output V measured on MCU ADC (V) | MCU Calculated current (A) | Acceptable? |
0 | 3.311 | 1.671 | 1.662 | 0.13 | Yes |
0.5 | 3.311 | 1.726 | 1.709 | 0.61 | Yes |
1 | 3.313 | 1.766 | 1.758 | 1.07 | Yes |
1.5 | 3.311 | 1.821 | 1.807 | 1.57 | Yes |
2 | 3.313 | 1.868 | 1.855 | 2.04 | Yes |
2.5 | 3.313 | 1.914 | 1.903 | 2.55 | Yes |
3 | 3.314 | 1.965 | 1.951 | 3.01 | Yes |
3.5 | 3.313 | 2.011 | 2 | 3.52 | Yes |
4 | 3.314 | 2.061 | 2.049 | 3.99 | Yes |
4.5 | 3.313 | 2.113 | 2.096 | 4.46 | Yes |
5 | 3.314 | 2.159 | 2.146 | 4.96 | Yes |
5.5 | 3.314 | 2.207 | 2.196 | 5.45 | Yes |
6 | 3.314 | 2.257 | 2.243 | 5.93 | Yes |
6.5 | 3.315 | 2.306 | 2.293 | 6.44 | Yes |
7 | 3.314 | 2.354 | 2.341 | 6.91 | Yes |
48V rail:
Set Load (A) | 3V3 at VS pin (V) | Output V measured with DMM (V) | Output V measured on MCU ADC (V) | MCU Calculated current (A) | Acceptable? |
0 | 3.31 | 1.675 | 1.661 | 0.12 | Yes |
0.5 | 3.312 | 1.72 | 1.708 | 0.59 | Yes |
1 | 3.315 | 1.771 | 1.756 | 1.06 | Yes |
1.5 | 3.315 | 1.822 | 1.807 | 1.57 | Yes |
As you can see, the output voltage for the two 24V rails deviates a lot at 2.5A+, when I increment the load by 500mA, the output voltage should increase by 50mV, but at the higher loads it increases by other increments...
The following is the equation I am using:
(ADCvoltage - VDD/2)/Sensitivity = (ADCvoltage - 1.65)/0.1
What can be done here to get a more accurate reading? I have made sure it is not just this particular board since I have seen this same trend across multiple boards with the same exact setup.
Any help would be much appreciated. Thank you!