Triac-controlled motor problem

MisterBill2

Joined Jan 23, 2018
8,736
Apologies - That was a bit of an oversimplification.
Universal motors: speed proportional to voltage, so the triac dimmer varies the voltage, and thus the speed.
Induction motor runs at synchronous speed minus slip.
Reducing the voltage reduces the current, and hence the torque and allows more slip.
Provided that the torque:speed curve is monotonic then it does work. For a fan, power = speed cubed; but for other types of load can be rather less successful.
Incorrect. The triac varies POWER, by chopping out part of the wave. For the first half of the cycle, the peak voltage is unchanged. What you read on a multimeter is the meter's impression of what it is seeing. A universal motor will change speed when the power supplied varies, no matter how that power is varied, voltage or pulse width, or portion of a sine wave. AND the TS has mentioned washer machine motor a few times, and that would never be a universal motor.
 

MaxHeadRoom

Joined Jul 18, 2013
23,090
. A universal motor will change speed when the power supplied varies, no matter how that power is varied, voltage or pulse width, or portion of a sine wave. AND the TS has mentioned washer machine motor a few times, and that would never be a universal motor.
A Universal (series field motor) operates in a run-away condition and RPM is limited by load, windage etc.
Actually a Universal motor was used in washing machines at one time, It used a controller using a IC chip made by Motorola for that very reason, a TDA1085, I used this combo to run a band saw for very precise RPM control.
Max.
 

MaxHeadRoom

Joined Jul 18, 2013
23,090
Universal motors: speed proportional to voltage, so the triac dimmer varies the voltage, and thus the speed.
Induction motor runs at synchronous speed minus slip.
Universal motor RPM is unpredictable as any series field motor, it operates in a runaway condition. i.e. speed limited by load etc.
Very high starting torque, the reason they were used in automotive starters.
The Triac control of induction motors is pretty much limited to 1/2hp and lower, using shaded pole and PSC, (permanent start cap) motors.
Max.
 
Last edited:

MisterBill2

Joined Jan 23, 2018
8,736
Atone job I utilized a soft-start device in a test stand for motors up to about 25HP. I presume that it used triacs, the heat sinks were not nearly big enough to take care of doing it with transistors at the time. Of course those were 3-phase motors and the supply was 480 volts.
 

Ian0

Joined Aug 7, 2020
2,186
Incorrect. The triac varies POWER, by chopping out part of the wave.
No - it varies VOLTAGE by chopping out part of the wave. The power variation can be calculated from Ohm's law if the impedance is known.
Average voltage = (Vpeak/PI)*(1+cos phi)
RMS voltage = Vpeak*SQR(PI/2-phi/2+1/4sin(2*phi))
You can measure it on a true RMS multimeter
 
Your either both wrong or both right. My point is, you have to make it work.

A DIAC TRIAC dimmer is very non-linear because who-cares.

if you want a process signal of say 4-20mA, 0-10V to control power or voltage, you have to make that hapen.

A controller that takes a 0-10v signal will output a voltage proportional to the RMS value squared of the chunk of the sine wave. For a resistance heater, R not temperature dependent so you care about the signal being proportional to V^2 or more precisely the integral of t which would be the RMS value of V squared of the chunk of the sine wave.

You can buy controllers that are optimized for a tungsten heating load.

So, if voltage is proportional to speed, then your firing table should have a 0-100% input and output a time to fire the triac after a zero crossing which will be non-linear.

then you have the nonsense of 1/2 cycles to deal with.
 

Thread Starter

Matthewt

Joined Nov 9, 2020
15
A little update on this:

I hooked up the scope to the ZC detector output and I get a nice solid pulse every 10ms. The pulse is approx 0.5ms long.

I decided to insert some code into the ZC detector routine to see how often the Arduino actually saw a pulse and at times it reports a solid 100 hertz and at other times it seems a LOT higher (thousands of hertz) so I included in the ZC routine a piece of code that outputs a quick pulse on one of the spare MCU pins and hooked that output up to the scope.

Whilst the other scope probe is connected to the ZC output, my test output shows the steady frequency we would expect but if I disconnect the other probe from the ZC detector, the Arduino test output goes erratic. It appears as though the ZC input pin on the Arduino is floating a bit, even though I can prove it's pulled up. In fact I only have to touch that pin and it steadies again.

It's interesting to note that most of the time, even when the MCU reports that the ZC frequency is erratic, the motor is running fine - it just spikes now and then.

So it would seem that the output from the opto-isolator is not quite good enough to reliably drive the Arduino input pin but I don't know why. Your collective thoughts are appreciated:)
P.S. I had ordered the suggested 4N35 optocoupler before this
 

MisterBill2

Joined Jan 23, 2018
8,736
Show us that portion of the circuit, where the opto links to the arduino, including supply voltages and resistor values, and you will probably get an explanation of what the problem is.
 

Thread Starter

Matthewt

Joined Nov 9, 2020
15
Show us that portion of the circuit, where the opto links to the arduino, including supply voltages and resistor values, and you will probably get an explanation of what the problem is.
It's no more than shown in this diagram. The output marked D2 goes directly to an Arduino pin.
 

Attachments

MisterBill2

Joined Jan 23, 2018
8,736
I see two things, first that there ios no current limiting resistor at the LED input connection of the opto device, and second that there is probably a quite inadequate common connection back to the arduino board. Noisy connections are a major source of noise burst problems in all kinds of equipment. That is a very common source of intermittent noise, and sometimes constant noise.
 

Thread Starter

Matthewt

Joined Nov 9, 2020
15
I see two things, first that there ios no current limiting resistor at the LED input connection of the opto device
I see that this may affect the reliability of the LED (ie it could shorten it's life), but would it affect the output in the way described?

and second that there is probably a quite inadequate common connection back to the arduino board.
I do have a solid connection between the ground of the ZC circuit and the Arduino's ground
 

MisterBill2

Joined Jan 23, 2018
8,736
I see that this may affect the reliability of the LED (ie it could shorten it's life), but would it affect the output in the way described?



I do have a solid connection between the ground of the ZC circuit and the Arduino's ground
The signal line integrity is also important.
In addition, the output is may not be changing fast enough to avoid multiple triggering of the input. The LED does not start lighting until the voltage rises a bit above zero, and so the thing is not really detecting the actual zero crossing of the line voltage. An actual zero-crossing detector circuit could be a better choice.
 
Apologies - That was a bit of an oversimplification.
Universal motors: speed proportional to voltage, so the triac dimmer varies the voltage, and thus the speed.
Induction motor runs at synchronous speed minus slip.
Reducing the voltage reduces the current, and hence the torque and allows more slip.
Provided that the torque:speed curve is monotonic then it does work. For a fan, power = speed cubed; but for other types of load can be rather less successful.
YES, ac motors of the type need loading,also the back EMF is a issue in triggering. snubbing can help just like the filament bulb ,but will never be perfect. DC control would be the best option for the type motor, and with a bit of thinking the direction can be controled as well. PWM is probably the best option. And if you want to interupt the power,low current, use a diac zero cross opto. 6 pin device. you can drive a triac with them .Motorola used to make several and later ON , there are now others that make up to 800 volt output
 

Thread Starter

Matthewt

Joined Nov 9, 2020
15
For all future browsers of this thread, I seemed to have solved the problem now.

I simply passed the ZC output through two inverter gates of a 74LS14 Schmitt trigger to provide a better 'square' pulse to the Arduino. This leads to a much more reliable interrupt.

Thank you to all who contributed answers to my original question. I've certainly learned a lot about triac use and zero-crossing detect circuits!
 
Top