The circuit described here is derived from a conventional design for a simple lamp dimmer, as you can see if you imagine a diac connected between points A and B. The difference between this circuit and a normal diac circuit is that a diac circuit won’t work at 12 V. This is the fault of the diac. Most diacs have a trigger voltage in the range of 30 to 40V, so they can’t work at 12 V, which means the dimmer also can’t work.
The portion of the circuit between points A and B acts like a diac with a trigger voltage of approximately 5.5 V. The network formed by R1, P1 and C1 generates a phase shift relative to the supply voltage. The ‘diac equivalent’ circuit outputs a phaseshifted trigger pulse to the triac on each positive and negative half-cycle of the sinusoidal AC voltage. This works as follows. First consider the positive half of the sine wave. C1 charges when the voltage starts to rise, with a time constant determined by C1, R1 and P1. T1 does not start conducting right away. It waits until the voltage across D2 reaches 4.7 V and the Zener diode starts to conduct. Then current starts to flow, driving T1 and T3 into conduction.
This produces a pulse at point B. The same principle applies to the negative half of the sine wave, in this case with D1, T2 and T4 as the key players. The trigger angle can be adjusted with P1 over a range of approximately 15 degrees to 90 degrees. C2 provides a certain amount of noise decoupling. Depending on the load, the triac may need a heat sink. You can use practically any desired transistors; the types indicated here are only examples. If the circuit does not dim far enough, you can change the value of P1 to 25 kΩ. This allows the trigger angle to be increased to 135 degrees.