SPX-17873 (ACS37800 Power Sensor BOB) observations and possible design issue

TL;DR: If SparkFun makes a standard Red BOB from this SparkX product, I recommend permanently wiring VINN to Gnd (no severable jumper needed), and instead having a severable jumper to link LO and VINN, bypassing the 2M of isolation. Such a jumper would allow you to select between the voltage divider networks shown in Figure 17 (jumper closed) and Figure 18 (jumper open) of the data sheet.

Hi,

I’ve been evaluating the SPX-17873 (ACS37800 Power Sensor BOB) for use in a 3D printer enclosure. For now, I’m just playing around with it using a 9V battery a small incandescent bulb. It is hooked to an Arduino via Qwiic. Generally it seems to be working as expected, and I can confirm that the current reading at low (~100mA) levels is noisy, but once you get up to an amp it works great. This was called out on the product page, so no surprise.

I’ve been working through how to get accurate DC voltage measurements, and was hoping for an isolated solution. Unfortunately, leaving ground and VINN isolated (technically, they are coupled via 2MΩ on-board resistors) results in readings with significant 60Hz noise; I was seeing over 1V P-P of 60Hz noise measuring the 9V battery. Directly connecting VINN and Gnd completely eliminates the noise and provides a very clean reading.

The default 2MΩ coupling seems to result in a high impedance connection that is sensitive to EMI. I recommend adding a jumper that lets you bypass the 2M isolation resistors on the VINN leg of the voltage divider. Such a jumper would allow you to select between the voltage divider networks shown in Figure 17 (jumper closed) and Figure 18 (jumper open) of the data sheet.

I also tried cutting the VINN jumper to see what effect that would have… It resulted in a wildly fluctuating voltage readings that varied between actual (9V) and 0V. The data sheet actually says this of VINN: “always connect to GND”. Given that, I’d recommend eliminating the severable VINN jumper and just make it a permanent trace.

So my takeaway is that the coupling between VINN and the negative supply rail is critical and needs to be considered carefully. Using it as an isolated sensor means you have to manage or tolerate the noise (possibly filter it in software?). Linking VINN and Ground eliminates the noise but also eliminates the isolation.

Cheers,

  • Dean

Hi Dean,

Thank you for the useful feedback. We will certainly take this into consideration if/when we up-issue the power sensor.

I’ve added it as a Feature Request on the GitHub repo:

https://github.com/sparkfunX/Qwiic_Powe … 800/issues

Best wishes,

Paul

Hi -

I am in need om some assistance with the sensor and was hoping someone could help. Aside from the Sense resistor that needs to change for a specific application, is there something in the library I need to amend as well?

The current readings we are testing seems good, but the voltage, W and PF readings are incorrect by a mile.

Regards, Friedl.

Hi Friedl.,

Apologies for the slow reply - I have been away on vacation.

The default sense resistor value is defined in the library here: https://github.com/sparkfun/SparkFun_AC … rary.h#L32

It is copied into a private variable called _senseResistance: https://github.com/sparkfun/SparkFun_AC … ary.h#L437

You can use the function setSenseRes to change the value of _senseResistance. If you changed the resistor to (e.g.) 10k Ohms, you would add this line of code to correct the voltage and power measurements:

mySensor.setSenseRes(10000.0);

I hope this helps,

Paul