A related device is a DIAC, which is like a pair of
back-to-back non-linear diodes (actually Shockley diodes,
not to be confused with Schottky diodes) that are off until
a certain voltage threshold is reached. When they turn on,
they become like negative resistors, where the higher the
current, the lower the voltage across them becomes. This
gives us a threshold device that is useful for triggering a
It allows a capacitor to be charged up to a higher
voltage to control when we turn on the TRIAC, and then
discharged rather rapidly to both turn the TRIAC on
suddenly and with more current, and reduce the capacitor
voltage for the next half-cycle.
Going back to Figure 1, you can see that the gate
of the TRIAC is controlled by the input waveform itself,
mediated by the DIAC. The TRIAC turns on at some point
in the cycle, determined by the charge on C1. It stays
on until the cycle reverses, and then the whole process
repeats with all of the voltages and currents reversed. What
we want to do is impose a slow time constant on this
circuit that will make it start with a late turn-on, and then
eventually move to an early turn-on.
It took me a bit of thinking to come up with an
easy way to do this. I think I tried maybe five different
approaches. I have the final idea in Figure 4. My thought
is to use a pair of transistors to modulate the current in the
TRIAC/DIAC trigger circuit. I tried using a second TRIAC
and even a pair of SCRs to change the first one from a late
phase turn-on (motor slower) to an early phase turn-on
(motor full speed) at some threshold by causing more
current to flow into C1 early in the cycle. It started taking
too many parts, so I went back to tried and true current
control, which can provide a gradual increase instead of
an instant threshold change. It’s a fun circuit to try to think
about because you must consider the 60 Hz commutation
of the top and bottom rails.
Here’s a brief explanation. We charge C2 and C3
on each half cycle with opposite polarities, but the time
constant is much slower than C1/R1/R2, so that it might
take a few seconds to charge up. I’m not too sure of the
right values here, but you want to adjust the time constant
of C2/R4 and C3/R6 so there is sufficient time at the low
speed before it goes to the high speed. I did a simulation
with those values and it gave me a several second ramp-up.
R3 and R4 discharge C2/C3 so that the circuit will
reset in a few seconds. Those voltages cause Q1 and Q2 to
alternately pull up or down on the trigger circuit, changing
its time constant, and thus the phase of the TRIAC’s
I’ve added some inductive compensation in the form
of C4 and R5 since we’re driving a motor. You also would
want to add a fuse. All of the diodes and transistors would
need to withstand the worst case commutation peak
voltages of around 360V (~125 √ 2 2), and still be able
to handle a little bit of power.
Be conscious of secondary breakdown. I’m a little
worried that there will be enough voltage between line and
load at the commutation spikes to keep it in high speed
mode. That can be fixed with a little more thought if it
happens. The drive current for the transistors is minimal, so
it might be okay, but I’m not sure.
Keep in mind that I haven’t built this circuit, though
I’ve simulated some portions of it, so proceed with
caution. Also, you are dealing with the AC mains, so be
very careful. There are lethal voltages here and significant
power is going through the TRIAC. Make sure you choose
capacitors and TRIACs that can handle sufficient voltage,
current, and power.
QUESTIONS and ANSWERS
Post comments on this article and find any associated files and/or downloads at
n FIGURE 3. Dimmer input and output waveforms -
Wikipedia CC BY-SA 3.0 user Wtshymanski.
n FIGURE 4. Blender speed ramp-up proposed circuit.
February 2018 7