This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

4-20mA Current Loop Receiver with MSP430.

Other Parts Discussed in Thread: RCV420, TIDA-00247, TIDA-00165, TIDA-00095

Hi,

One of our customer's application needs to collect data from a Sensor to MCU.
The sensor's output options will be 4-20mA or 0V to 5V or -10V to +10V.
(Two Isolated sensor channels)

I was wondering if anyone implemented a receiver with MSP430's ADC
with a resolution of 1/4000 or 1/8000. There is a 4-20mA receiver IC(RCV420) from TI.
But we are looking for a all the possible solutions and  if it is possible to build a Current Loop Receiver
with MSP's ADC and also with a switch option to change the input as 4-20mA or 0V to 5V.

Please let me know if there is any reference and suggestions to choose the necessary components.

Best Regards
Kummi.

  • Yes of course you can do that. Converting the current to a voltage for an ADC is done via a shunt resistor. The voltage output can be scaled down with a resistor divider to match de ADC's input range. If you want 1/4000 resolution you will at least need a 12 bit ADC. For 1/8000 it must have 13 bits of resolution.

    2.5V is a typical value for the ADC's internal reference. If you would use that, then your resistor divider for the voltage output would be 1:1 and a shunt to convert the current into a voltage would be 125 ohms.

    Dennis
  • Kummi,

    Just to support what Dennis mentioned, yes you can very easily implement a 4-20mA receiver with an MSP430. Dennis' suggested method of designing a shunt resistor is the industry standard as well.

    We usually do not see MSP430s being used this way in the field, so our designs have focused more on the transmitter side rather than the receiver side. If you are interested in 4-20mA transmitters with MSP430, we have a number of TI Designs which are online for your reference.

    TIDA-00095, TIDA-00165, TIDA-00247 are all 4-20mA transmitter designs.

  • Thumbs up for the TI-Designs - I really like them! Good stuff to start from or get new ideas!

    Dennis
  • Thank You so much...
  • In our GPIO device, we use a 100Ohm shunt. Besides being a lower burden to the bus, it allows detecting overcurrent (>20mA),
    4-20mA are 0.4-2.0V. It gives a resolution of 0.038%

    Be aware that the shunt solution does not provide isolation. This is a problem if having more than one sensor attached to multiple channels, as all shunts are connected on the GND side.
    An alternative is using a current sensor. We use one for +-40mA -> 2.5V+-1V. If used in revers, it gives 2.5V to 1.5V for 0mA to 20mA = 0.06% for the 4-20mA range. However, it has a burden of 180Ohm and also quite some inductance, so it is only for (relatively) slowly changing signals. Btu without hardware change, it can also be used to measure 0..40mA and (by just replacing the current sensor) 0..200mA or 0..2A as well.
  • Hint: if you plan your PCB to have a few more pads, you can switch the current input into a voltage input by replacing the resistors. Us a voltage divider and a pull-up to 12V. No pull-up and a voltage divider with 0Ohm/100Ohm gives 4(0)-20mA, 10k/open gives 0..2.5V input, a divider of 10k/10k gives a 5V input, 33k/10k and a pull-up of 1k to 12V gives an S0 pulse input etc.
  • But for detecting pulses you should then not use your ADC. Switch the pin function back to digital in that case.

    Dennis

**Attention** This is a public forum