Go Down

Topic: [solved] AC motor, SSR, PWM - problem (Read 16627 times) previous topic - next topic


Nov 28, 2011, 02:40 pm Last Edit: Dec 11, 2011, 04:32 pm by qwertysimo Reason: 1

I read many posts here on this topic but unfortunatelly my problem still persists - even more I got lost in triacs, phase angle control, inductive/resistive load etc. Very simple configuration:

- single-phase AC motor, 230 V, full specs here: http://www.ventilation-system.com/item/312/TT_125
- SSR relay, zero cross detection, snubber circuit, full specs here: http://www.fotek.com.hk/page1e.htm
- arduino, PWM pin

My goal is to control fan speed using PWM. All components are connected correctly. Basicaly, it works, but:

1) With PWM lower than 255 a continous knocking sound is coming from the fan. The lower PWM value, the more noticeable sound.
2) With some PWM values fan behaves strangly - it changes RPM on it's own in some range.

Can you advice what is wrong with this setup?


Best regards

Edit: I just found this info on fan manufacturer page: "Speed control: The two speed motor is controlled by means of the external speed control switch. For smooth speed control use symistor or autotransformer controller connected to the terminal for motor maximum speed".

Symistor?? Can someone explain?


Nov 28, 2011, 09:37 pm Last Edit: Nov 28, 2011, 09:41 pm by GlitchBoy Reason: 1
Woah, I hear your frustration.  I went through a lot of aggravation trying to design a speed control for the combustion blower on my coal stove.  In my case it's a 120v shaded-pole motor.  At first I tried to get it working with a SSR salvaged from a copier--on the copier the SSR normally controls the fuser lamp.  But unfortuantely, I had problems similar to what you describe.

At first I tried just using PWM and the SSR but the result was terrible--much like you describe.  

Then I tried detecting the sine wave and precisely modifying the "on" timing much like is described on this web page:  http://www.bristolwatch.com/arduino/arduino_power_control.htm  But I didn't have all the ciruitry that's explained on that page -- I just used a wire wrapped around the AC line to detect the zero cross so my result was still not very good (that method did seem to detect 120 changes per second but it probably wasn't precise enough)  The best I could get was a "half-speed" and "one-third-speed" mode where I basically skipped entire sine wave humps.

I tried dissecting a living room ceiling fan controller and hooking that up to the Arduino but that failed completely.  I even started experimenting with the idea of hooking up a stepper motor to a ceiling fan controller but that came with it's own host of issues.

The closest I got to what I needed was finding an exposure lamp regulator board from an oooold copier (an analog copier).  The board was specifically designed to accept a PWM logic signal and then put out an appropriately modifed sine wave.  As it was designed, the board only put out a maximum of 82v when "full on" since that's what the lamp was rated for -- but even at 82v the fan seemed to turn at full speed.

However, buy that time I was burnt out on the project and it was also time to fire up the stove for the season so it'll have to wait until next year.

Unfortunately, my only advice would be to try building the circuit described on bristolwatch.com which I linked to above.  Maybe someone else can jump in here and provide a better solution that could help us both


the thing that's wrong with your setup? you are trying to use PWM

you can't really use high frequency PWM with SSRs, because of how TRIACs work, because you are using an inductive load, because your SSR probably have no phase angle control

there's a reason why you can't use a light dimmer switch on ceiling fans

to solve your problem, instead of "getting lost", you must understand those concepts first. you've already found the info already, don't ignore it, go back and understand it

I think what GlitchBoy tried to do was implement phase angle control manually

or just buy another SSR that does have phase angle control, or even just buy an entire dedicated AC motor controller circuit, throw money at your problems


A shaded pole motor is a type of induction motor and cannot be speed controlled by phase angle control. The speed of an induction motor is controlled by the AC frequency; using phase angle control will just blow something up.

If you want to control the speed of an induction motor you would look for a variable frequency drive (VFD). These are expensive.


Frank:  Yes, you're correct, that's what I was trying.  I'm thinking either my zero-cross detection wasn't accurate enough or the SSR I was using wasn't the right component for the job.  I think the latter was more likely because I don't think the zero cross detection has to be 100% accurate to achieve at least some amount of speed control, even if not perfectly spot on accurate.

Chagrin:  Are you sure about that?  A $15 ceiling fan controller will control a shaded pole motor by using phase angle control, no?


GlitchBoy, thanks for sharing your experiences and providing excelent link to visit.

frank26080115, your are right. I studied the phase angle control concept again and got it. As you wrote PWM is not suitable for this scenario. I will build up a different circuit for testing.

Chagrin, no idea what to say. This is exact opossite to frank's advice. I am more confused.

Guys, what is the chance of blowing up my fan while testing it using phase control in case Chargin is right?  :~


Guys, what is the chance of blowing up my fan while testing it using phase control in case Chargin is right?  :~

From my, albeit limited, research I think the problem is if the motor stalls out and overheats.  I can't see how something could actually blow up?! 


Nov 29, 2011, 07:05 pm Last Edit: Nov 29, 2011, 07:08 pm by Grumpy_Mike Reason: 1
A symistor is just another word for triac I think it is Russian.

If the manufacturers recommended an autotransformer then this is a way of reducing the voltage on the motor and therefore it will not be the shaded pole motor is a type of induction motor that Chagrin spoke of.


...well I'm going to reverse my previous statement. Apparently it is possible to control the speed of a shaded pole induction motor using phase angle control.

Mea culpa. Looks like I got some research to do.


Gentlemen, it works! I built the zero cross detection circuit and the triac circuit as you recommended. I borrowed an oscilloscope to see the results - everything is as expected. Total costs: few euros. I will build one more triac circuit to control the bathroom heater element...

Thank you very much.


Sorry to open this again,
but i have a motor just like yours that I'd like to control. Trying to get a homebrew heat recovery ventilation system put together. Can you elaborate a little on what you did to solve the problem, in terms of circuits etc.


Go Up