A Double Pole Double Throw (DPDT) switch is an electrical switch designed to control two independent circuits simultaneously. It features two input terminals and four output terminals, allowing each input to connect to one of two outputs. This versatile switching mechanism makes the DPDT switch ideal for applications requiring circuit reversal, polarity switching, or multi-path control.
Below are the general technical specifications for a DPDT switch. Note that specific values may vary depending on the manufacturer and model.
Parameter | Specification |
---|---|
Switch Type | Double Pole Double Throw (DPDT) |
Number of Poles | 2 |
Number of Throws | 2 |
Voltage Rating | Typically 12V to 250V (AC or DC) |
Current Rating | Typically 1A to 15A |
Contact Resistance | ≤ 50 mΩ |
Insulation Resistance | ≥ 100 MΩ |
Mechanical Life | 10,000 to 50,000 cycles |
Mounting Type | Panel mount, PCB mount, or toggle |
The DPDT switch has six terminals, as shown in the table below:
Pin Number | Description |
---|---|
1 | Input terminal for Pole 1 |
2 | Output terminal 1 for Pole 1 |
3 | Output terminal 2 for Pole 1 |
4 | Input terminal for Pole 2 |
5 | Output terminal 1 for Pole 2 |
6 | Output terminal 2 for Pole 2 |
The switch toggles between two states:
A DPDT switch can reverse the polarity of a DC motor, allowing it to spin in both directions. Below is a wiring diagram and Arduino code example for controlling a DPDT switch with an Arduino UNO.
// Arduino code to control a DPDT switch via a relay module
// This example toggles the motor direction every 5 seconds
const int relayPin1 = 7; // Relay control pin for State 1
const int relayPin2 = 8; // Relay control pin for State 2
void setup() {
pinMode(relayPin1, OUTPUT); // Set relayPin1 as output
pinMode(relayPin2, OUTPUT); // Set relayPin2 as output
// Start with both relays off
digitalWrite(relayPin1, LOW);
digitalWrite(relayPin2, LOW);
}
void loop() {
// Activate State 1 (forward direction)
digitalWrite(relayPin1, HIGH); // Turn on relay 1
digitalWrite(relayPin2, LOW); // Ensure relay 2 is off
delay(5000); // Wait for 5 seconds
// Activate State 2 (reverse direction)
digitalWrite(relayPin1, LOW); // Turn off relay 1
digitalWrite(relayPin2, HIGH); // Turn on relay 2
delay(5000); // Wait for 5 seconds
}
Switch Does Not Toggle Properly
Circuit Does Not Respond to Switching
Overheating or Damage
Q: Can a DPDT switch be used as a Single Pole Double Throw (SPDT) switch?
A: Yes, by using only one pole (one input and two outputs), a DPDT switch can function as an SPDT switch.
Q: Can I use a DPDT switch for AC circuits?
A: Yes, as long as the switch's voltage and current ratings are suitable for the AC circuit.
Q: How do I debounce a DPDT switch?
A: Use a capacitor and resistor in parallel with the switch or implement software debouncing in your microcontroller code.