Triac for motor speed control - Page 1
Forum section: electronics / projects

author: profdc9
author_rank: Frequent Contributor
timestamp: June 08, 2025, 09:48:30 pm
content: I designed the following circuit for motor speed control. The purpose is to take a PWM signal to control a spindle from a GRBL 1.1 control board and turn it into a triac phase control to vary the motor speed. The kicad design is here:https://github.com/profdc9/TriacControlIt works by charging a capacitor at the beginning of every half cycle with a current given by the average PWM voltage, and then triggering an optotriac when the capacitor voltage reaches about 1.8 V. An optotransistor is used to discharge the capacitor when there is a zero crossing of the AC cycle.I am using a BTA16-600 TRIAC. This should be able to handle up to 16 A. I am trying to use it with a Bosch PR20EVS router. The router has a 5.6 A current and the triac is speced to 16 A.When I try to use the BTA16-600 and turn the phase control up to full power, the triac gets very hot and burns out as a short circuit so that it no longer controls the motor speed, it just stays on completely. I have used a very large heatsink on the triac, and there is a snubber on the triac gate. I can use the circuit with a small 40 W incandescent bulb and a handheld angle grinder and it varies the brightness or speed fine.Does anyone have experience with phase control of power tools? While my circuit is not the standard diac-triggered triac, it still seems to achieve the PWM-based phase control fine. Maybe there's something I'm missing? I wouldn't think that the power factor of the router would be so horrible it would exceed 16 A of draw.

author: Benta
author_rank: Super Contributor
timestamp: June 08, 2025, 11:41:47 pm
content: The PR20EVS already has speed control. Interfering with that is questionable.And what is GRBL 1.1?

author: profdc9
author_rank: Frequent Contributor
timestamp: June 09, 2025, 12:04:40 am
content: I turn the speed control to max on the PR20EVS. I guess even with the speed control I do not understand how it would draw much more than the 5.6 A limit that is specified, unless it has some horrible power factor where it draws some really high peak current sometime in the AC cycle but still draw an average current of 5.6 A. I do not know how it does speed control though, though it sounds like a universal motor rather than a synchronous motor that would require timing.GRBL 1.1 is program used to controller stepper motor based CNC machines. I have attached a picture of one very similar to the one I use below. The spindle control is connected to 24 V DC, with the PWM connected to the 48V+ and SPN- power connections on the blue connector, and it is modulated by the N-channel MOSFET directly below it. Normally this would be attached to a 48 V universal motor as the spindle but instead I use the MOSFET to modulate the same 24 V supply used to power the steppers. That part seems to work in that if I measure the average voltage at the terminals of the PWM input of the circuit, it changes in proportion with the RPMs of the speed control.

author: MariuszD
author_rank: Regular Contributor
timestamp: June 10, 2025, 08:55:16 am
content: This circuit will not give well defined switching point. MOC3023 current can be too low. Datasheet specifies minimum 5mA

author: profdc9
author_rank: Frequent Contributor
timestamp: June 12, 2025, 12:17:43 am
content: I do not think your simulation is accurate. The PWM voltage I am using is 24 VDC, and it is certainly sufficient for 5 mA current (24V - 1.8V) / 2k = 10 mA. For lower voltage, a smaller series resistor can be selected. I have used the selectable capacitors and resistor combinations to operate the device at 3.3V, 5V, 12V, and 24V. I do not think there is a problem triggering the triac, because once the capacitor voltage exceeds the forward drop of the LED inside the MOC3023, the current rapidly rises as additional charge from the PWM is diverted to the LED, like an overflowing leaky bucket.I think I have some idea as to why it might be dying. I think my snubber might have the wrong values. I found these documents:https://www.onsemi.com/pub/Collateral/AN1048-D.PDFhttps://www.thierry-lequeu.fr/data/AN437.pdfTo size the snubber consisting of the capacitance C = C1 and resistance R = R9 || R10 || R11:The optotriac generally has a maximum dV/dt from the datasheet called (dV/dt max), and the maximum voltage is (Vmax). The time constant of the snubber network is given by:RC = (1-1/e) (Vmax) / (dV/dt max)For the network to be critically damped:R = 2 Sqrt (L/C)Therefore:R = 4 L (dV/dt max) / ((1-1/e) Vmax) = 6.33 L (dV/dt max) / (Vmax)C = L ((1-1/e) Vmax / (2 L (dV/dt max)))^2 = 0.1 L ( Vmax / (L (dV/dt max)) )^2For example for MOC3023, (dV/dt max) is 10 V/us, say it's 1 V/us to be on the safe side. For 120 VAC, (Vmax) = 170 V.The motor is assumed to have L = 400 mH inductance.Then: R = 15 kohm and C = 7 nF.Increasing the C (making it less damped), for example C = 10 nF, then R = 10 kOhm.I don't know if anyone has any more experience with Triac snubber calculations. I took those formulas from the AN1048 tech note.

author: mjkuwp
author_rank: Unknown
timestamp: June 15, 2025, 01:50:53 pm
content: what type of motor is your spindle? Is that the only motor that is being discussed for this design? the axis motors have nothing to do with this?