Zero crossing occurs when the line voltage is changing its polarity, from positive to negative, or vice versa. What I understand is, to fire the triac properly the firing circuit and the AC line should be synchronous. Is that the reason to use zero crossing detector?

So the micro-controller takes the zero crossing as an input signal and adds a delay less than (1/50) seconds (for 50Hz electricity) to create a firing angle of the triac?

But I saw some projects that do not require this zero crossing detector. Here there is a discussion: Do I need zero-crossing detection for controlling a heater? but I still didn't understand why in some cases it is not necessary.

Could you elaborate when is necessary to use zero crossing detector in a simpler manner?

edit: Please see my related question: Confusion with TRIAC firing and zero crossing point


2 Answers 2


Zero cross switching can be used so that the switch action occurs when there is no voltage across the load and thus no current through the load. This prevents fast rise time current flow as what would occur if the switch closed or opened when the voltage was high. Eliminating this can:

  1. Lower stress in semiconductor components that are used for the switches.
  2. Reduces stress in capacitors that may be in the circuit so they are not asked to charge and/or discharge at a very high speed.
  3. Reduce EMI (electromagnetic interference). EMI can occur when voltage sources are switched to and from their loads and resultant current transients can cause large amounts noise of noise be induced into nearby circuits. Zero switching eliminates this.
  • 2
    \$\begingroup\$ Point 3 might read better if it started "3. Reduce EMI." then it would read properly in the list, which should all read from "Eliminating this can:" So point 3 would read as "Eliminating this can: 3. Reduce EMI.". It's a tiny point, but a very good answer would become near-perfect :-) \$\endgroup\$
    – gbulmer
    Commented May 7, 2016 at 18:28
  • 1
    \$\begingroup\$ @gbulmer - Yes! Very good suggestion. Editing it now. \$\endgroup\$ Commented May 7, 2016 at 22:44
  • 2
    \$\begingroup\$ "no voltage across the load and thus no current through the load" - only for a resistive load. \$\endgroup\$ Commented May 7, 2016 at 23:02
  • \$\begingroup\$ I dont understand. Isnt zero crossing for synchronization and obtaining the right firing angle? \$\endgroup\$
    – user16307
    Commented May 7, 2016 at 23:05
  • \$\begingroup\$ Can you provide me a graphical explanation if you can find? \$\endgroup\$
    – user16307
    Commented May 7, 2016 at 23:06

You are correct in stating that zero crossing detection is used to synchronise the firing angle of a TRIAC (or other switching device) to achieve dimming or speed control.

The answer from @Michael Karas explains why you might want to do zero crossing switching, which is completely different to doing dimming etc using phase control, which by definition cannot use zero crossing switching.

For controlling a heater you could use cycle times much longer than one cycle, ie on for 10 secs and off for 20 secs. In this case you would probably want to use zero crossing switching for the reasons Michael stated.

  • \$\begingroup\$ Completely different? The only difference between ZC switching and dimming is a bit of variable delay (and, if you're really playing nice, a filter to reduce EMI). Zero crossing switching is exactly what a dimmer does when set to its 100% setting. \$\endgroup\$
    – Mels
    Commented May 21, 2018 at 16:11
  • 1
    \$\begingroup\$ By saying 'completely different' I mean doing zero crossing "detection" for the purpose of determining the point to turn on the triac for dimming is not the same as actually doing a "zero crossing switch" (to minimise EMI, switching current etc). \$\endgroup\$
    – David G
    Commented May 23, 2018 at 8:00
  • \$\begingroup\$ It should also be mentioned that some triac drivers include zero crossing detection/switching so no external effort in a micro is required. \$\endgroup\$
    – David G
    Commented May 23, 2018 at 8:04

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.