arduino PWM controlled AC MOTORS - Page 1
Forum section: electronics / beginners

author: ninonpas
author_rank: Contributor
timestamp: February 05, 2013, 04:55:59 pm
content: dear wise eldersI need to build an Arduino system to PWM control the speed of several domestic floor fanseach fan has a 220v/50hz/55w AC induction motor (single phase?)i will control each of them independently using the 6 pwm outputs of the Arduinosearching the net i've seen the best way seem to be to use MOC3021 Triacs and BT166 Opto-Couplers plus few resistorsbut i am still a bit insecure about my choicesso i'd like to ask for the confort of your great wisedom and expertise to clarify few things:my doubts are:should i use MOC3020 or MOC3021?or should i bether use MOC3041 which has selfcontained zero crossing detection?but then i wouldn't know how to send its detection to the arduinoso maybe i should bether build a separate circuit to read the zero crossing to send it to the arduino?should i use BT136 or BT137 ?i guess for my power requirement (220v/55W per fan) BT136 would be enough...i will use heatsinks of coursei supose the resistor going from the optocoupler to the triac (R2 on my schematic) will conduct 220v and disipate some heat...(?)what exact kind of resistor would you recommend?thank you very much in advance

author: David_AVD
author_rank: Super Contributor
timestamp: February 05, 2013, 10:26:13 pm
content: I suspect you mean phase angle control instead of PWM. You can't PWM AC with TRIACs.Before you get too involved with that circuit, have you tried to speed control those fans? Check into how AC motor speed control work first.

author: sorin
author_rank: Frequent Contributor
timestamp: February 06, 2013, 12:44:49 am
content: this is a little complied to dosee this:

author: Alana
author_rank: Frequent Contributor
timestamp: February 06, 2013, 02:19:24 am
content: If they are pure induction motors simple phase angle regulation may not, and probably will not work. This works only for universal AC/DC motors like those in many vacuum cleaners or electric drills.

author: Kremmen
author_rank: Super Contributor
timestamp: February 06, 2013, 08:34:24 am
content: Proper induction motor speed control would of course be done using a variable frequency drive that varies the phase voltage in proper relation to the frequency as well.Rudimentary control is possible just by chopping the waveform using a triac. This does work for a fan type load because the motor torque is proportional to the second or third power of the rotation speed, thus matching to some degree the induction motor torque curve. Losses will increase with partial speed but that is hardly significant.You might want to use a MOC3011, it is meant to be a proper triac driver.

author: ninonpas
author_rank: Contributor
timestamp: February 06, 2013, 02:36:28 pm
content: well, all this is pretty disapointing indeed...ok so, my circuit would only be good for resistive loads...but i absolutelly need to dynamically vary the speed of those fans from the arduino with some simple circuit, if not in a completelly continuous way, at least by some steps (4 o 5 steps would probably be enough)i need to control 6 fans in total and i need a cheap and simple solution even if rudimentary, a too complicated circuit is totally out of my reach right nowit is for an art installation and my budget and time are quite limited, and as you see, i'm not a genius of electronics, i could just implement simple circuits.a previous version of control was made by a friend using relays that where switched on and off at variable frequency, that did resulted in a rudimentary control of the fans which was enough for our purpose, but this was much too noisy.i guess that was a brute way to "chop" the waveform ?my first idea was to simply substitue the normal relays with silent solid state relays, that is what brought me to the triac/optocoupler idea.KREMMEN, i will look for this moc3011 you recommend.do you know of any link to some specific schematic example i could follow and adapt for the arduino?thanks to all

author: ninonpas
author_rank: Contributor
timestamp: February 06, 2013, 03:06:42 pm
content: in fact what i meant with PWM was to send slow frequency pulses to turn on and off the mains and vary the speed by playing with the fan's slow reaction time to speed up and slow inertia time to speed down.if i keep those pulses under 50hz that should do the job, don't you think?

author: David_AVD
author_rank: Super Contributor
timestamp: February 06, 2013, 08:49:23 pm
content: When you pulse a TRIAC's gate, it conducts for the rest of that mains half cycle. The TRIAC turns off when the current (MT1 - MT2) drops to zero again.If you want to do the speed control in steps, you can use a switched capacitor arrangement like most ceiling fans do. Substitute relays for the original rotary switch. The capacitors can't be any old thing either. They must be the correct type, value, etc.Maybe pull apart an existing fan that has speed selection on it to see how they did it and automate that.

author: Kremmen
author_rank: Super Contributor
timestamp: February 07, 2013, 06:48:48 am
content: Quote from: ninonpas on February 06, 2013, 02:36:28 pmTry this for example:http://cache.freescale.com/files/microcontrollers/doc/app_note/AN3471.pdf(you do know there is this thing called Google...?)

author: David_AVD
author_rank: Super Contributor
timestamp: February 07, 2013, 09:22:49 am
content: Quote from: Kremmen on February 07, 2013, 06:48:48 amI've never seen the mechanical selector type of the ceiling fan they refer to in that app note.The older style ones over here used to have a clunky wall controller with some sort of autotransformer in it. Maybe they were switched inductors - it was a long long time ago.The newer type I've seen deliver power straight to the motor on full speed and via two different value capacitors on the slower speeds.

author: Kremmen
author_rank: Super Contributor
timestamp: February 07, 2013, 01:43:01 pm
content: Quote from: David_AVD on February 07, 2013, 09:22:49 amIf you mean the centrifugal switch that disconnects the aux winding and starting cap, then that is not at all uncommon. However, checking the schematics in the app note you will see that the switch is bypassed in the controller app.Be that as it may, it was not the point. The OP asked for an app schema and this is one alternative. It is by no means the only one, but this circuit is easily adapted to whatever controller one wishes to use.