I am trying to simulate a triac with MOC3020 but the MOC3020 does not output to drive the gate. The schematics is shown below:


The waveform follows: Waveform

Waveform with updated duty cycle to allow LED to glow(as suggested by @MarkoBuršič) is attached below:

updated duty cycle to allow LED to glow

If you look at V(PLUSE), you would notice that the "LED" of MOC3020 is receiving a trigger pulse with frequency of 100 hz while the output V(D1) only peaks at 8m.

I have tried to drive the TRIAC directly with pulse and it works as expected. The circuit for direct pulse is shown below: Direct Plus
And its waveform is:

Direct Pulse Waveform

I am not sure why the MOC3020 is not providing the gate voltage in this case. Can someone please point me in the right direction?

The model for MOC3020 which is built in is:

.SUBCKT MOC3020 1 2 3 4
* pins D+ D- MT2 MT1
.PARAM Itrig=15m .PARAM RH1=20k
.PARAM RH2=20k
.PARAM RH3=16.7k Q2 vb1 vb1p vd1 0 PNP1
Q1 vb1p vb1 4 0 NPN1
R3 vb1 4 {RH2}
D1 d1 2 DL
VD1 1 d1 R1 ctrl1 4 1
C1 ctrl1 4 10
R2 ctrl1 vb1 {RH1}
R4 vd1 vb1p {RH3}
GB1 ctrl1 4 VALUE={-500*I(VD1)*3m/Itrig} R6 vd2 vb2 {RH2} D3 vd2 3 D1
Q3 vb2 vb2p 4 0 PNP1
Q4 vb2p vb2 vd2 0 NPN1
E1 vd2 N001 ctrl1 4 -1
R5 N001 vb2 {RH1}
R7 vb2p 4 {RH3} D2 3 vd1 D1
R34 3 4 100MEG
.MODEL PNP1 PNP(Is=1e-15 BF=10 Cjc=10p Cje=20p Tf=0.1u Ise=1e-12)
.MODEL NPN1 NPN(Is=1e-15 BF=10 Cjc=10p Cje=20p Tf=0.1u Ise=1e-12)
.MODEL D1 D(Is=0.1u Rs=2 CJO=50p)
.MODEL DL D(Is=1e-20 Rs=5)

  • \$\begingroup\$ with a pulse of 1us the LED even doesn't start to glow. \$\endgroup\$ Feb 26, 2019 at 11:05
  • \$\begingroup\$ @MarkoBuršič thanks for your response. I did try to increase the duty cycle to 30% resulting into 3m time for the LED and still the outcome is same \$\endgroup\$ Feb 26, 2019 at 11:14

1 Answer 1


Got a response from Penzar Development (makers of TopSpice) that the MOC3020 model has a defect. The model cap c1 should have been modeled as 10u while it is set as 10

Penzar development was kind enough to send me updated model with correction which worked fine. The error line is shown below:

Original: C1 ctrl1 4 10

Correction: C1 ctrl1 4 10u

As of this development, this question can be closed!


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.