

The ST DB3 is a DIAC (Diode for Alternating Current) designed for triggering and controlling AC loads. It is a bidirectional semiconductor device that switches on when a specific breakdown voltage is reached, allowing current to flow in both directions. This characteristic makes it an essential component in circuits requiring precise AC control.








The ST DB3 DIAC is housed in a DO-35 package and offers reliable performance for AC control applications. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Breakdown Voltage (VBO) | 28V to 36V |
| Maximum Peak Current (ITM) | 2A (non-repetitive, 20 µs) |
| Holding Current (IH) | 50 µA |
| Maximum Power Dissipation (PD) | 300 mW |
| Operating Temperature Range | -40°C to +125°C |
| Package Type | DO-35 |
The ST DB3 DIAC has a simple two-terminal configuration:
| Pin | Description |
|---|---|
| A1 | Anode 1 (bidirectional terminal) |
| A2 | Anode 2 (bidirectional terminal) |
Both terminals are interchangeable due to the bidirectional nature of the DIAC.
The ST DB3 DIAC is commonly used in AC circuits to trigger TRIACs or control AC loads. Below are the steps and considerations for using the component effectively:
Connect the DIAC in Series with the Gate of a TRIAC:
Design the RC Network:
Ensure Proper Voltage Ratings:
While the DIAC is not directly interfaced with microcontrollers like the Arduino UNO, it can be used in conjunction with an AC load control circuit. Below is an example of how an Arduino can control an AC load using a TRIAC triggered by the ST DB3 DIAC.
/*
Example: Controlling an AC Load with Arduino, TRIAC, and ST DB3 DIAC
This code demonstrates how to use an Arduino to control the phase angle
of an AC load by triggering a TRIAC through an optocoupler and DIAC.
*/
const int zeroCrossPin = 2; // Pin connected to zero-cross detection circuit
const int triacGatePin = 3; // Pin connected to TRIAC gate via optocoupler
volatile boolean zeroCrossDetected = false;
void setup() {
pinMode(zeroCrossPin, INPUT); // Zero-cross detection input
pinMode(triacGatePin, OUTPUT); // TRIAC gate control output
attachInterrupt(digitalPinToInterrupt(zeroCrossPin), zeroCrossISR, RISING);
}
void loop() {
if (zeroCrossDetected) {
zeroCrossDetected = false;
// Delay to control phase angle (adjust for dimming/speed control)
delayMicroseconds(5000); // Example: 5ms delay for phase control
// Trigger the TRIAC gate
digitalWrite(triacGatePin, HIGH);
delayMicroseconds(10); // Short pulse to trigger TRIAC
digitalWrite(triacGatePin, LOW);
}
}
void zeroCrossISR() {
zeroCrossDetected = true; // Set flag when zero-cross is detected
}
delayMicroseconds() value to control the phase angle and, consequently, the power delivered to the load.DIAC Not Triggering:
Overheating:
Unstable Operation:
No Output from TRIAC:
By following this documentation, users can effectively integrate the ST DB3 DIAC into their AC control circuits for reliable and efficient operation.