I am trying to do a dimmer and below is my schematic. Before doing an actual PCB, I did a proto on a veroboard and the circuit works perfectly. Now when I did a PCB and got it back from the manufacturer, I have noticed that MOC and BTA is heating up too much quickly. The only difference between my proto board and the finished PCB is that, on my proto board I have used the through hole resistors where as in the finished PCB they are SMD. R14, R15 and R7 is 1 watt SMD. In the PCB, I had footprint of SMD versions of 4N35 and MOC, but as the vendor did not have the SMD versions, they soldered the through hole versions on the ptoto PCBs. Also I used 4 1N4007 to create the bridge rectifier on the veroboard, where as on the PCB, I have used a rectifier IC. Everything else are just same. But in the proto PCB, the MOC and BTA is heating up even with a 60W bulb :( Any clue?

enter image description here

  • \$\begingroup\$ how does ZCS look on scope? Did you breadboard test a 60W bulb? \$\endgroup\$ – Sunnyskyguy EE75 Jan 10 at 16:55
  • \$\begingroup\$ Hi @SunnyskyguyEE75, Yes I did check 60W bulb and even ceiling fans and the veroboard proto works just fine. I am not finding out a solid clue. Why these 2 components will heat up unnecessarily. \$\endgroup\$ – Rakesh Mehta Jan 10 at 17:14

enter image description here

When you use Quadrant IV, it requires much more Ig which with 1k series requires more line voltage and thus switches with more transient loss. A 60W appears as a 600W load when cold.

To reduce Pd in Triac

Thus I suggest you verify ZCS is ok then swap pins on U5-4,6. You can remove the snubber for this snubberless Triac part. Ref

This fix should also reduce heat in MOC, but to improve heat rise further...

To reduce heat in MOC

Ir=(3.3-1.3)/(20+25)= 44mA which is excessive for 25 Ohm 3.3V drivers. (57mW is 57% of 100mW spec @ Tj=125'C) Therefore design for 20mA. Rs=(3.3-1.15)/0.02A -25ohm driver= 82 Ohm.

I assume you are using a uC with 3.3V logic equiv to 25 Ohm RdsOn nom.


  • This design is far from optimized using 1W resistors when it can be done with 1/4W easily
  • Worst case Tolerance calculations are essential for production to factor all variables.
  • 3 Quadrant Snubberless Triacs need to be used in preferred quadrants I,III especially when driving motors due to BEMF.
  • Pulse mode trigger is far more efficient than linear analog mode for triggering due to lower losses from ratio of Igk^2/Rgk yet Rgk is never given in datasheet.

  • Simple method uses DIAC with cap discharge, otherwise SMD pulse transformer works best for precision triggers at low phase angle. Then you can discharge higher pulse currents yet short T so low energy.

REF Triac Technology [How to design Pulse drive]

  • \$\begingroup\$ Okay, I'll try that. Zero Cross works fine as the timer calculations work same on the veroboard and proto pcb. I am still confused, with the question, why the circuit will heat up on PCB, where as the exact same circuit works well on veroboard :( Yes, its a 3.3V Logic. Its ESP8266. \$\endgroup\$ – Rakesh Mehta Jan 10 at 17:31
  • \$\begingroup\$ Are you confused with the answer? Considering part variations and worst case Ig \$\endgroup\$ – Sunnyskyguy EE75 Jan 10 at 17:37
  • \$\begingroup\$ Also, I did not quite understand the drive current calculation. Can you please elaborate? \$\endgroup\$ – Rakesh Mehta Jan 10 at 17:38
  • \$\begingroup\$ Show us your voltage drop on R17=22 (10%? = I used 20 worst case for R17 and 25 nom for logic driver) Then measure Vf, compute LED power Pd= \$V_f*I_f=P_{d_{IR}} = \dfrac{V_f*(Vin-V_f)}{ R17}\$ and I used \$23mW=20mA*1.15V\$ which part do you need to understand? \$\endgroup\$ – Sunnyskyguy EE75 Jan 10 at 18:26
  • \$\begingroup\$ I have changed both R16 and R17, it seems like it lowered down the heating a little. But still both MOV and BTA is heating a lot.. I am confused why my veroboard model does not heat at all and the PCB one is heating so much. I had 1K as R16 in my veroboard model. Can this be the bridge rectifier? In my veroboard I had 4 diodes and on actual PCB I have a rectifier IC. Any clue? \$\endgroup\$ – Rakesh Mehta Jan 14 at 5:23

The minimum power dissipation on the BTA12 is about 650mW with your 60W load, so I'd expect it to get quite warm. Assuming you used a TO-220 I'd expect that it would hit close to 100degC junction temperature. Depending on whether you used a heatsink or how much airflow you have around it that could mean tab temperatures in the 40-50degC range.

I'd suggest you do need a heatsink for any application at these power levels (60W+).

enter image description here

The ZC detector is another real question. The 4N35 DOES NOT have 100%+ CTR at very low currents.

enter image description here

I'd expect your ZC detector to provide a signal at about 23V (best case) and at worst case around 70-100V input. This is far from the zero crossing.

Lastly, you don't say which variant of the BTA12 you use. If you are using a type with 50mA I(gt) then this will push much more dissipation onto the MOC3021. You need to reduce R16 to about 100-120 Ohms to ensure you get more gate current for the BTA12. Your snubber is not doing anything at all, you need to reduce R7 (start here).

The other answer already covered the need to alter your R17 value, but I think the majority of the heat generated in the MOC3021 is likely from the gate drive problem rather than the LED dissipation.

  • \$\begingroup\$ The graph changes if normalized Vce=0.4 rises to Vgk = 0.85V then Vce is not as saturated and NCTR is more relevant. \$\endgroup\$ – Sunnyskyguy EE75 Jan 10 at 18:11
  • \$\begingroup\$ Its "BTA12 600B". Triggering Ig is 100mA. With 1K at the Gate, am I not allowing 220mA (Assuming 220V Input)? \$\endgroup\$ – Rakesh Mehta Jan 10 at 18:18
  • 2
    \$\begingroup\$ @RakeshMehta. You need to be able to trigger the BTA12 at very low voltages (close to ZC) don't you? Do you only ever expect to turn it on when the line voltage is high? Notice that the BTA 12 has maximum I(gt) of about 4A peak ….why do you think it's this high? How will you ever get to maximum brightness for a lamp load if you can't trigger close to ZC? \$\endgroup\$ – Jack Creasey Jan 10 at 18:26
  • \$\begingroup\$ @JackCreasey, absolutely true.. My mistake :( \$\endgroup\$ – Rakesh Mehta Jan 10 at 18:30
  • \$\begingroup\$ Lowering down R16 and R17 did not help much... still heating a lot. Both R16 and R17 is now 100 Ohms. I have no other clue. Same parts, same circuit, veroboard model does not heat at all and the PCB is heating like hell. \$\endgroup\$ – Rakesh Mehta Jan 14 at 5:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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