Let's Make Robots!

AC Motor Speed Control Triac PWM 0-cross

Hey guys, I am working on the CNC and putting together a speed control system. I went as far as buying a $20 "Router speed controller" which consists of a pot and a BTA41-600B triac basically. The control is terrible and "hiccups" at anything less than 1/2 speed or so.

Obviously, an Arduino would seem to fit in here. I did the googling and I think I am down to one sticky wicket.

  • There is a phase issue here and a 0-cross thing where the "PWM'ing" is done at a peak or a valley (I don't know which). It also appears that most circuits invovle an opto-isolator, many of which include this zero-crossover detection.
  • Many arduino examples include complex timer set-ups to deal with this zero-crossover stuff

Question: If my circuit includes an optoisolator with zero-crossover detection guts inside, does this take care of all the phase stuff for me and thus, I can PWM like a normal DC motor? If there is a conflict between the phase requirements of the output and the rhythm of the PWM, does the optoisolator zero-cross circuit fix it? Is there a point at which the "harmonics" of both systems kill each other?

Is all the above wrong and I still need the arduino to deal with the phase stuff even if I am using one of these fancy optoisolators?

Is there a better way of doing this? Put simply, I have a router (27,000+ RPM) and I want to slow it down a lot (while keeping my torque if I can) and adjusting speed via uC.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Is this router a soft start model if it is there is alot of info out there that woodworkers are having problems with this type of speed control at lower rpms, on some soft starts they do not work at all


Is there enough info here for you to reverse engineer the above some how, cause that unit is kinda spendy, he talks a bit about disableling a routers soft start feature if that applies to yours, near as I can tell some 690 are soft start and some are not


Step out for a minute and fail to check for new posts, and well great ansers appear.

There are a few things to consider when controlling AC motors and power.  First, what kind of motor is it?  MOST handheld power tools (routers, drills, etc) have "universal" motors that can mostly be controlled like a brushed DC motor.  They are nearly the same, but are designed to also run on AC.  Other types of AC motors ( induction and others) are WAY harder to control.  Most larger power tools like table saws, band saws, lathes, etc have these.  Best bet on those is buy a (expensive) AC motor controller designed for the task.  They require the AC frequency and voltage to be controlled to vary the speed.

For the universal motors, The trick is turning OFF the power.  Triacs (and SCRs) stay on when turned on until the current through them drops to some minimum amount.  They can't be turned off by removing the trigger current.But with AC, it drops to zero 120 (or 100 in other countries) times each second.  So, you turn it on some distance into the waveform.  The farther in, the less power the motor sees.  You do NOT want an optoisolator that triggers on zero crossings.  That will only allow full speed or off.  You have to be able to turn it on at any point.  Switching on when the voltage is not zero causes large current spikes which make light bulbs blow and cause RFI and is generally hard on lots of components, and that's why they have those zero crossing circuits.  But for speed control with triacs you can't use them.  The angle into the sine wave where you turn on is the phase the control circuit needs to control.

There is one other issue, which also deals with phase in a slightly different context which makes it confusing.  In an inductive circuit (which of course motors are) the voltage leads the current by as much as 90 degrees.  So the voltage and current get out of phase in the circuit, rather than following Ohm's law.  Since you need to switch the triac on at some particular phase of voltage, and it will switch off at some particular value (0) of current, you have to take into account the phase difference when turning it on.  Or compensate with additional components around the triac.  Unfortunately, I don't have any experience doing this in the real world, so all I can do is give some tips and maybe some links.

It really isn't as bad as it sounds.  Just need to be aware of the strange behaviours.  Hope this helps and I'll be glad to offer whatever other info I can.

It is a router for the record. Also, non-soft start/ non-internal variable speed.

Simple question before we dive further into this AC question... Is there any reason I can't just rectify this to DC (still at line voltage, 110v) and then PWM it via a big, fat MOSFET or the like? To the best of my knowledge, the Porter Cable router does not mind DC.

Those universal motors are designed to work AC or DC, as you have seen.  You can simply rectify it to pulsating DC and it will work fine.  When you start to PWM it a couple things to keep in mind.  First, if you don't filter to nice, smooth DC, you still need to keep your pwm in sync with the AC cycle.  A "little bit" of smoothing (small cap) might help to make sure you don't get reverse voltage or something.  To smooth it a lot to where it really looks like DC is going to take some "Really Big" (tm) capacitors.  But if you do that, your RMS voltage goes up by 40%, from 120 to about 160, which increases current and needs bigger components.  I think the lightly filtered is best, but I don't know for sure.

Also, keep in mind it will take some hefty parts.  The rectifiers and MOSFETS and caps or whatever need to be rated more than 15 or 20 amps at 400 volts.  Not small or cheap.



Looks like I have another forum post to do (or I need to talk to Oddbot) about some part numbers and specifics.

Fantastic. Looks like my CNC spindle will speak Arduino soon.

Just stuck the router on my bench power supply. Sure enough, I can spin it just fine via DC. Even as low as 10 volts. It sucked 5A, but that was all my power supply would allow it to have.

Have you considered adding physical control of the variable speed that is on the router?

A search brought up a couple interesting hits http://store.qkits.com/moreinfo.cfm/K2636 ... manual

A search for signal(single?) phase fan speed control got http://cache.freescale.com/files/microcontrollers/doc/app_note/AN3471.pdf

I was trying to find http://hackaday.com/2010/04/30/using-ac-frequency-as-a-clock-signal/
I finally did. :)

What kind of motor are you trying to control?