I am trying to make an AC dimmer. I am following this schematics for my circuit,

Circuit Link

enter image description here

as you can see in the below picture that I am able to turn the signal on after a short while of zero voltage

enter image here

The blue signal is from my micro- controller (I'm using a PIC18f45 instead of an arduino) to the moc3021 and yellow signal is from the 12 V AC (I am trying to control 220V AC but this oscilloscope can't seem to read higher voltage so this is just to show that I am able to send a signal at zero voltage)

I am not able to dim the light buld. Even with that setup the bulb is still very bright. I tried shortening and lengthening the HIGH signal to the MOC but it doesn't seem to affect it

From what I have understood the moc3021 is a random phase triac driver meaning that I should be able to open and close the gate of at any time of the wall AC phase. The triac should have turned off when the signal turned low but instead the bulb is still very bright.

Am I missing a concept here ? what should I do for it to turn off when the signal goes low?

  • 1
    \$\begingroup\$ Triacs, in general, cannot be turned off; they turn off on their own when the voltage between MT1 and MT2 crosses zero, but they can't be turned off outside of that (without some really hefty drive circuitry). \$\endgroup\$
    – Hearth
    Mar 13, 2019 at 21:37
  • \$\begingroup\$ but can they be turned on at anytime of the phase? \$\endgroup\$
    – Jake quin
    Mar 13, 2019 at 21:43
  • \$\begingroup\$ I believe so, yes. \$\endgroup\$
    – Hearth
    Mar 13, 2019 at 21:44
  • 1
    \$\begingroup\$ Please do not use "closed" or "open" for active devices. "Closed" like a valve means it's not conducting; "closed" like a switch means it is conducting. The same ambiguity exists for "open". Use "on" and "off", or "conducting" and "not conducting". \$\endgroup\$
    – TimWescott
    Mar 13, 2019 at 21:47
  • \$\begingroup\$ Triacs turn off when the current drops below the holding current. In this case it's quite close to where the voltage between MT1 and MT2 crosses zero. \$\endgroup\$
    – Huisman
    Mar 13, 2019 at 21:58

1 Answer 1


You are missing the concept here, yes. Triacs (and SCRs) have a strong positive feedback effect internally: they can be turned on with gate current, but not off.

To regulate power to a light bulb, you need to change when the gate is turned on -- the later in the half-cycle that you turn on the gate, the less power the bulb gets, and the dimmer it gets.

Note that this all may not work with LED and CFL bulbs -- I've kind of lost track of the magic that they put in between the base and the active elements, but I know they don't necessarily like dimmers.

  • 1
    \$\begingroup\$ I am trying it on a good old incandescent bulb. So what i am doing is the opposite, i should not turn on the voltage right after zero cross. but instead wait and then turn on . does it only need a very short pulse to keep it on ? \$\endgroup\$
    – Jake quin
    Mar 13, 2019 at 22:04
  • \$\begingroup\$ @Jack Yes, the pulse only needs to be long enough to turn it on, after which it remains on until the current (not, actually, the voltage; I was wrong earlier, oops) goes to zero. \$\endgroup\$
    – Hearth
    Mar 13, 2019 at 22:06
  • \$\begingroup\$ will do some testing, I will come back for an update :) \$\endgroup\$
    – Jake quin
    Mar 13, 2019 at 22:13
  • \$\begingroup\$ Got back from testing and yes, it now works, it seems that i misunderstood how triacs works. Thank you . \$\endgroup\$
    – Jake quin
    Mar 14, 2019 at 0:40
  • \$\begingroup\$ I'm glad we could help. \$\endgroup\$
    – TimWescott
    Mar 14, 2019 at 0:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.