Electrical – Measuring 4-20mA current using the 4 20ma R Click module

4-20ma

I have a 4-20mA Receiver click module hooked up to a 5V Arduino. The goal is to have this system be able to measure 4-20mA current.

I'm using a simple resistor – LED circuit for testing, as well as a 4-20mA tester.

schematic

simulate this circuit – Schematic created using CircuitLab

  • The only time I'm able to measure current is if the circuit is externally powered using a 5V powerbank. I simply hookup the click module in series, and the Arduino can measure the current. However, I notice that without the click module the current is 1.3mA, and with the click module also in the circuit it is about 3.8mA. (or 8mA vs 21mA if I use a different resistor).
  • I thought about powering the circuit from the Arduino instead of using an external supply, but the receiver gets really hot, and nothing can be measured. (I'm again putting the click module in series, just like I did with the external battery.
  • If I use my 4-20mA tester, externally powered at 12V, the receiver also gets really hot, and nothing can be measured

I'm having trouble understanding why these scenarios aren't working.

I'm also having trouble understanding how the 16V output from the TPS61401 step-up converter in this click module plays a role in these scenarios.

This 16V is responsible for "powering the loop", but in all 3 scenarios, isn't the loop already powered by the provided 5v / 12v ?

Best Answer

enter image description here

*Figure 1. Extract from 4-20mA R click.

schematic

simulate this circuit – Schematic created using CircuitLab

Figure 2. Redrawn schematic showing current flow from top to bottom.

As shown more clearly (I hope) in Figure 2, the R-click internal 16 V supply powers your 4-20 mA sensor. You should not connect an external supply to the current loop between the terminals on CN1.

How it works:

  • The sensor draws current in the range of 4 - 20 mA from the CN1 + terminal and returns it to the power supply via the GND terminal.
  • R3 will create a voltage drop between the INA196 VIN+ and VIN- terminals. From Ohm's Law we can calculate this as being between 20 mV at 4 mA and 100 mV at 20 mA.
  • The INA196 is one of the range of INA19x Current Shunt Monitors. One of the features of this chip is that it can monitor current on the "high side" of the supply rather than on the ground return which, without this chip, is generally simpler.

To test the circuit:

  • Measure the open-circuit voltage across CN1. It should be about 16 V.
  • If we connect \$ R = \frac {16 \ \mathrm {V}}{4 \ \mathrm {mA}} = 4 \ k \mathrm {\Omega} \$ the Arduino should report the correct minimum value.
  • If we connect \$ R = \frac {16 \ \mathrm {V}}{20 \ \mathrm {mA}} = 800 \mathrm {\Omega} \$ the Arduino should report the correct maximum value.

To understand how the INA196 works have a look at my answer to Why does current flow into the transistor in a current shunt monitor?.