Understanding 4-20mA Current Loop Wiring for Industrial Sensors
The 4-20mA current loop is the dominant signal standard in industrial instrumentation. From pressure transmitters and temperature sensors to flow meters and level gauges, virtually every analogue field instrument in Indian industry uses 4-20mA to transmit measurements. Understanding how to wire, troubleshoot, and read these signals is a fundamental skill for any instrumentation or automation engineer.
This guide explains the 4-20mA standard from first principles, covers the different wiring configurations, and shows how to interface these signals with PLCs, Arduino, and data acquisition systems.
Why 4-20mA Instead of Voltage Signals?
Before 4-20mA, analogue instruments used 0-10V or 1-5V voltage signals. Current loops replaced them for very good reasons:
- Noise immunity: Current signals are virtually immune to electrical noise, which is crucial in industrial environments with variable frequency drives, welding equipment, and electric motors
- Long cable runs: A current signal does not degrade with cable resistance the way a voltage signal does. A 4-20mA signal can travel 300-1000 metres on standard cable without signal loss
- Wire resistance tolerance: The signal amplitude is independent of cable resistance (within loop compliance limits)
- Fault detection: 4mA is live zero, not 0mA. If the signal drops to 0mA, it indicates a broken wire or power failure — not a valid zero measurement. This enables “fault vs. zero” distinction
The 4-20mA Signal Standard
The 4-20mA range maps linearly to the instrument’s measurement range:
- 4mA = 0% of measurement range (live zero)
- 12mA = 50% of measurement range
- 20mA = 100% of measurement range
- < 3.6mA = underrange alarm
- > 21mA = overrange alarm
Example: A pressure transmitter rated 0-10 bar outputs:
- 4mA at 0 bar
- 12mA at 5 bar
- 20mA at 10 bar
Conversion formula:
Measurement = ((I_mA - 4) / 16) × Span + Zero
For 0-10 bar with 8.5mA reading:
Pressure = ((8.5 - 4) / 16) × 10 + 0 = 2.8125 bar
Types of Transmitter Wiring
2-Wire Transmitter (Most Common)
In a 2-wire configuration, the same two wires carry both power to the transmitter and the signal current. The transmitter draws only as much current as needed to represent its measurement (4-20mA).
Wiring:
24VDC Supply (+) ──── Transmitter (+) ──── Transmitter (−) ──── 250Ω Resistor ──── Supply GND
Note: 250Ω is the standard burden resistor
Voltage across 250Ω at 4mA = 1V (live zero)
Voltage across 250Ω at 20mA = 5V (full scale)
The receiver (PLC, DCS, or data logger) measures the voltage across the 250Ω burden resistor. This is why most PLC analogue input cards spec “1-5V from 250Ω burden” or directly accept 4-20mA with internal burden.
3-Wire Transmitter
Three wires: separate power supply (+), signal output, and common ground. The transmitter has its own power circuit independent of the signal circuit. Less common in new installations but still used for sensors requiring significant power (ultrasonic, radar level).
4-Wire Transmitter
Four wires: two for AC or DC power supply, two for the 4-20mA signal output. Common on transmitters requiring AC mains power or higher-voltage DC supply.
Wiring a Pressure Transmitter to a PLC
Components:
- 2-wire pressure transmitter (24VDC powered)
- 24VDC power supply
- PLC analogue input card (or Arduino with converter)
- 250Ω precision resistor (if PLC input needs voltage, not current)
- Shielded 2-core cable (BELDEN 8723 or equivalent)
Connection procedure:
- Connect 24V DC+ to transmitter positive terminal
- Connect transmitter negative terminal to PLC analogue input positive terminal (or 250Ω resistor)
- Connect PLC analogue input negative terminal (or other end of 250Ω resistor) to 24V DC-
- Ground cable shield at ONE end only (typically at the control panel end) — grounding both ends creates a ground loop
- Label all wiring in junction boxes and panel with transmitter tag number
Reading 4-20mA with Arduino
Arduino’s ADC inputs accept 0-5V. To read a 4-20mA signal:
// 4-20mA to Arduino via 250Ω burden resistor
// Connected: signal loop through 250Ω, measure across resistor on A0
const int AI_PIN = A0;
const float VREF = 5.0; // Arduino 5V reference
const float R_BURDEN = 250.0; // Ohms
const float SPAN = 10.0; // Sensor span (e.g. 0-10 bar)
const float ZERO = 0.0; // Sensor zero
void setup() {
Serial.begin(9600);
analogReference(DEFAULT); // 5V reference
}
void loop() {
int adcValue = analogRead(AI_PIN);
float voltage = adcValue * (VREF / 1023.0);
float current_mA = (voltage / R_BURDEN) * 1000.0; // V/Ω × 1000 = mA
// Clamp to valid range
current_mA = constrain(current_mA, 4.0, 20.0);
// Scale to engineering units
float measurement = ((current_mA - 4.0) / 16.0) * SPAN + ZERO;
// Detect fault (broken wire)
if (current_mA < 3.6) {
Serial.println("FAULT: Broken wire or sensor failure");
} else {
Serial.print("Pressure: ");
Serial.print(measurement, 2);
Serial.println(" bar");
}
delay(500);
}
Common Wiring Mistakes and How to Avoid Them
| Mistake | Symptom | Solution |
|---|---|---|
| Reversed polarity | No output, transmitter may be damaged | Check +/− terminals, use multimeter |
| Grounding shield at both ends | 50Hz or noisy readings, ground loops | Ground shield at panel end only |
| Insufficient supply voltage | Signal saturates below full range | Ensure V_supply > V_burden + V_transmitter_min |
| Multiple earth connections | Noise, offset errors | Single point earthing for each loop |
| Running with signal cables near power cables | Interference, inaccurate readings | Separate trays/conduits, cross at 90° |
Troubleshooting 4-20mA Loops
With a clamp meter or loop calibrator:
- Check supply voltage: Measure voltage at transmitter terminals. Should be 12-30VDC depending on transmitter spec.
- Check loop current: Use clamp meter or insert mA meter in series. Should be 4-20mA.
- Verify at receiver: Measure voltage across burden resistor. 1-5V for 4-20mA.
- Isolate sections: If current is wrong, disconnect transmitter and substitute a loop calibrator. If calibrator reads correctly, problem is in the transmitter. If not, problem is in wiring or receiver.
Frequently Asked Questions
What is loop compliance voltage and why does it matter?
Loop compliance voltage is the minimum supply voltage required to drive full 20mA through the loop resistance (cable resistance + burden resistance + transmitter drop). A 24VDC supply driving a 20Ω cable + 250Ω burden + 10V transmitter requires: 20×0.020 + 250×0.020 + 10 = 15.4V minimum, well within 24V. Always calculate compliance for long cable runs.
Can I use 12VDC instead of 24VDC for a 4-20mA loop?
Some transmitters accept 12VDC minimum supply. Check the transmitter datasheet for minimum operating voltage. With 12VDC, your burden resistance is limited — high burden values reduce available voltage below transmitter minimum. 24VDC is the standard for good reason.
What is HART protocol and how does it relate to 4-20mA?
HART (Highway Addressable Remote Transducer) is a digital communication protocol that superimposes a high-frequency digital signal on the 4-20mA loop. This allows bidirectional digital communication for configuration, diagnostics, and secondary variables while maintaining backward compatibility with standard 4-20mA receivers. Most modern smart transmitters support HART.
Conclusion
The 4-20mA current loop has been the cornerstone of industrial measurement for over 50 years, and it remains the dominant analogue signal standard in Indian industry. Mastering its wiring, troubleshooting, and interfacing is a fundamental competency for anyone in instrumentation, process automation, or field service engineering. The live-zero advantage, noise immunity, and long cable capability make it irreplaceable even as digital fieldbuses gain adoption.
Add comment