Introduction
This current-to-voltage module linearly converts 0-25mA current signals into 0-3V voltage signals. Industrial sensors or devices usually have the current signal output of 4-20 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 0-25mA 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.3V-5.5V wide voltage power supply, 0-3V 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
- Supply Voltage: 3.3~5.5V
- Detection Range: 0~25mA DC
- Measurement Accuracy: ±0.5% F.S. @ 16-bit ADC, ±2% F.S. @ 10-bit ADC
- Termination Resistance: 120Ω
- Connector Type: PH2.0-3P
- Product Size: 30mm * 22mm(1.18inch * 0.87inch)
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
- Hardware
- DFRduino UNO R3 (or similar) x 1
- Analog Current to Voltage Converter x 1
- Sensor or Device(output 4~20mA current) x1
- Gravity 3pin Sensor Cable (or several DuPont cables) x1
- Software
- Arduino IDE (1.0.x or 1.8.x)
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
FAQ
For any questions, advice or cool ideas to share, please visit the DFRobot Forum