Introduction

This current-to-voltage module linearly converts 025mA current signals into 03V voltage signals. Industrial sensors or devices usually have the current signal output of 420 mA. With this current-to-voltage module, your main control board can easily read the current signals output from industrial sensors or devices. Normally, current signals lower than 4mA can be used for fault diagnosis, and current signals higher than 20mA can be used for overrun detection. Therefore, this module is designed with a wide range of 025mA detection range, which is compatible with fault detection, overrun detection applications. This module uses 0.1% high precision sense resistor and ultra-low noise rail-to-rail zero-drift op amp, so it is high accuracy, no need to calibration, and easy to use. 3.3V5.5V wide voltage power supply, 03V voltage signal output, which are compatible with more main control boards, adapt to more applications.

NOTE

  • For higher accuracy, it is recommended to use 12 or more bit ADC!

Specification

Board Overview


Num Label Description
1 GND Power GND(0V)
2 VCC Power VCC(3.3~5.5V)
3 SIGNAL Voltage Signal Output
4 I+ Current Input
5 I- Current Output

Tutorial

This tutorial demo how to read the 4~20mA current signal with this module and Arduino UNO. The module input current is linear with the output voltage, as shown below:

Requirements

Connection Diagram


Sample Code

Before uploading the sample code, it is recommended that you use a voltmeter to confirm the actual reference voltage of the ADC on the main control board, and then modify VREF in the sample code, to improve the measurement accuracy.

/***********************************************************
 DFRobot Gravity: Analog Current to Voltage Converter(For 4~20mA Application)
 SKU:SEN0262

 GNU Lesser General Public License.
 See <http://www.gnu.org/licenses/> for details.
 All above must be included in any redistribution
 ****************************************************/

#define CurrentSensorPin  A2
#define VREF 5000 // ADC's reference voltage on your Arduino,typical value:5000mV

unsigned int voltage; //unit:mV
float current;  //unit:mA

void setup()
{
   Serial.begin(115200);
}

void loop()
{
    voltage = analogRead(CurrentSensorPin)/1024.0*VREF;
    Serial.print("voltage:");
    Serial.print(voltage);
    Serial.print("mV  ");
    current = voltage/120.0;  //Sense Resistor:120ohm
    Serial.print("current:");
    Serial.print(current);
    Serial.println("mA");
    delay(1000);
}

Expected Results

SEN0262_result.jpg

FAQ

For any questions, advice or cool ideas to share, please visit the DFRobot Forum

More Documents

DFshopping_car1.png Get Gravity: Analog Current to Voltage Converter(for 4~20mA Application) from DFRobot Store or DFRobot Distributor.

Turn to the Top