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.

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. :)