I'm making a battery charger with phase control. While making the circuit I had some doubts.

The transformer has a center tap, in this way I can make a full wave rectifier without diodes. Then rectifying the negative side, so I can use a more common shunt measurement.

I´m using as optocoupler MOC3021 and SCR is 40TPS. I attached 2 images, these are my main doubts.

Without R3 and R4

With R3 and R4

Are R3 and R4 needed? Is the circuit ok? The value of R1 and R2 can be calculated like this? enter image description here

VTM = Peak On–State Voltage of optocoupler

VGT = Maximum required DC gate voltage to trigger

I let you the datasheets. https://www.vishay.com/docs/94388/vs-40tps-m3series.pdf https://www.farnell.com/datasheets/97984.pdf

Is there anything else to improve this circuit?

Thank you!

  • \$\begingroup\$ Do not use R3 and R4 this way, they will trigger the SCRs. R3 can go to AC2 and R4 to AC1 if you want to improve trigger safety or noise immunity. This kind of charge current regulation has an ugly power factor. The relation between ignition angle and current is far from linear. What voltages and currents are used here? \$\endgroup\$
    – Jens
    Feb 7 at 2:08
  • \$\begingroup\$ @Jens I use between 12v and 36v. Maximum current 40A \$\endgroup\$ Feb 8 at 17:02
  • \$\begingroup\$ @Jens So the first circuit it's ok? And the formula of the R1 and R2 it's ok? \$\endgroup\$ Feb 8 at 17:04

1 Answer 1


These kind of circuits create a lot of harmonics in the grid current and are no longer allowed in many countries.

However, if you want to go this way, you don't need to use optocouplers because the current sense circuit already has a connection to MCU GND.

It is difficult to define a proper resistor value in the SCR gate path, that guarantees ignition under all usable angles and does not waste too much power. I recommend to use a constant current source and only short trigger pulses of around 100 µs.

A single current source Q1 is sufficient here because only one of the SCRs has a cathode voltage below GND during a usable ignition angle. The diodes will sort this out.

The MJE350 has enough thermal and voltage margin for your application.


simulate this circuit – Schematic created using CircuitLab

Addendum in response to comment:

R2 and R3 are added to lower the impedance of the SCR gates. This avoids to some degree false ignitions introduced by EMI or fast transients coupled in via the transformer. Typical values are between 100 Ω and 1 kΩ.

If you don't use a current source you need a relative low gate resistor if you want to trigger at an early angle where the cathode voltage is near GND. If you want to trigger at the peak of the sine wave you would prefer a larger resistor to stay below the maximum allowed trigger current. This problem disappears using the current source: Same trigger current at all angles.

Your original circuit takes the trigger current from a much higher voltage and it is not pulsed because the couplers latch after the ignition signal from the controller. This needs power resistors in the 2 W range.

A proper power factor is important if you take so much power from the grid. So I think a PFC stage is mandatory because you want to take around 1.4 kW maximum here.

  • \$\begingroup\$ Thanks for all the info. I have some doubts! First, in your circuit R2 and R3, one pin is connected to the cathode of the SCR, and the other one to D1 or D2, and the Gate of the SCR, why is like this?. In my circuit this isn´t connected the same, is my circuit ok?. Then, why a constant current source is needed? The control circuit has a zero cross detector, why it wouldn´t guarantees ignition under all usable angles?. And for last, wich circuit you would use for battery charging? \$\endgroup\$ Feb 9 at 1:29
  • \$\begingroup\$ Understand... BSS138 has to be a mosfet? Or it can be like a BC817?. Then, replacing MJE350 for a more common one, 2N2222A? Thank you. \$\endgroup\$ Feb 14 at 0:25
  • \$\begingroup\$ M1 could be an open drain MCU output or BJT. Just avoid accidential triggering during power up of the MCU. No, you cannot use 2N2222, it has not enough voltage margin (30 V only). MJE 350 is an overkill but will survive, even if the MCU software fails and the trigger is continously on. If you can avoid this, e.g. by capacitive coupling between MCU and M1, any 50 V PNP should be on the safe side. \$\endgroup\$
    – Jens
    Feb 14 at 0:35
  • \$\begingroup\$ I had to search some replacement for MJE350, I think 2SD669 it´s pretty close in all specs. ( It seems that MJE350 doesn´t exists here :/ ). If i replace M1 for a transistor, what trigger current will need? \$\endgroup\$ Feb 14 at 19:56
  • \$\begingroup\$ Get the required trigger current from the datasheet of the SCRs and calculate R4 = 2.7 V / ITrigger. This is (more or less) independent from M1. With a BJT use 2.5 V / ITrigger because it has a saturation voltage of around 200 mV. 2SD669 is a NPN, this will not work. Can you get KSA1281YTA? \$\endgroup\$
    – Jens
    Feb 14 at 22:03

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.