A Residual Current Device (RCD) switch is a critical safety component in electrical systems. It is designed to protect users from electric shocks and prevent electrical fires by disconnecting the circuit whenever it detects an imbalance between the live and neutral wires. This imbalance typically indicates a leakage current, which could be caused by a fault or accidental contact with a live wire.
The RCD switch is available in various configurations depending on the application. Below are the general technical specifications:
The RCD switch typically has four terminals for single-phase models and additional terminals for three-phase models. Below is the pin configuration for a single-phase RCD switch:
Pin Number | Label | Description |
---|---|---|
1 | L (Input) | Live wire input from the power source |
2 | N (Input) | Neutral wire input from the power source |
3 | L (Output) | Live wire output to the load |
4 | N (Output) | Neutral wire output to the load |
For three-phase RCD switches, additional terminals (L2, L3) are included for the extra live wires.
While RCD switches are not directly controlled by microcontrollers like the Arduino UNO, they can be monitored using a current sensor. Below is an example of how to monitor the current in a circuit protected by an RCD switch:
/*
Example: Monitoring Current in an RCD-Protected Circuit
This code uses an ACS712 current sensor to measure current in a circuit.
The Arduino reads the sensor output and prints the current value to the
Serial Monitor.
Note: This setup does not control the RCD switch but monitors the circuit.
*/
const int sensorPin = A0; // Analog pin connected to the ACS712 sensor
const float sensitivity = 0.185; // Sensitivity for 5A ACS712 (V/A)
const float offsetVoltage = 2.5; // Sensor output at 0A (V)
void setup() {
Serial.begin(9600); // Initialize serial communication
}
void loop() {
int sensorValue = analogRead(sensorPin); // Read sensor value
float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
float current = (voltage - offsetVoltage) / sensitivity; // Calculate current
Serial.print("Current: ");
Serial.print(current, 3); // Print current in Amperes
Serial.println(" A");
delay(1000); // Wait 1 second before next reading
}
RCD Switch Does Not Trip During Testing
Frequent Tripping
RCD Does Not Reset
RCD Trips Without Apparent Cause
Q: Can I use an RCD switch with a generator?
Q: How often should I test my RCD switch?
Q: Can an RCD switch protect against overcurrent?
Q: What is the difference between an RCD and an RCCB?