# Speed control for PSC induction motor

I would like to control the speed of my PSC induction motor.

I found a similar topic here: varying run capacitor for speed control of single phase motor

However I would like to modify the speed while the motor is running.

Something based on Temic's U2008B perhaps?

Any suggestions?

Thanks,

Juan

• If you have a PSC induction motor and fan as load, then U2008 would work. Commented Sep 25, 2017 at 13:41
• It is important to note that robust generalized speed control is not really possible with a single-phase induction motor. A three-phase induction motor can be controlled using a variable frequency drive (VFD). Sometimes VFD's are called AC drives. Commented Sep 25, 2017 at 14:34
• @MarkoBuršič, yes, that's right, I'm trying to control a 2-speed duct fan. A phase-control solution, based on U2008, would allow me to keep more torque while slowing down the fan in comparison with the voltage-control solution? Commented Sep 25, 2017 at 17:05
• @JuanCortines No, because that's the point of phase control - to reduce the voltage. But since the motor has quadratic torque characteristics VS. fan that has also a quadratic, it turns that you have almost linear relation between voltage VS fan speed. Commented Sep 25, 2017 at 18:10

If you want to control a fan blower, then a phase control is most suitable for inexpensive approach. I have seen poultry houses running ventilation on single phase induction motors with U2008 circuit. Also the small fan blowers in the home pellet/wood burners, they all use shaded pole fan with phase control.

In theory, using the phase angle control, reduces the voltage on the motor thus the output torque is decreased with square of voltage. Also the required torque for fan is square related vs speed, so if you combine both voltage control of induction and fan load, then you have a good result.

Also the VFD, when used to power the fan is usually adapted to give a quadratic V/f output characteristics.

IMO, don't spend money on VFD for fan blower if it's not bigger than 2 kW.

• Thank you! My fan is consuming 44W at full speed/load (with an air filter), so I think I'll go with the U2008 solution. Commented Sep 28, 2017 at 9:52
• I have just tested the U2008 and it reduces the fan speed as expected. The only drawback to it is, the lower the speed, the more noisy it is. Is this normal? Thanks Commented Sep 30, 2017 at 8:29
• I have switched the fan to the second/high speed, and I think the "buzzing" noise at the lower controller-speeds in less noticeable. All in all I'm quite happy with the result. Thanks! Commented Sep 30, 2017 at 10:05
• @JuanCortines Add link for the motor you are using. It could be that your motor is shaded pole and the cap is for better power factor. If so, you should remove the cap from motor, also installing a choke in series with U2008 would help to reduce EMI. You can also buy a ready made EMI filter. From my experience the U2008 and fan blower works like a charm. Commented Oct 1, 2017 at 10:42
• Unfortunately I don't have. It's part of a plastic 2-speed duct fan (goo.gl/pQTXJ5). I did my research and I'm 99% sure it is PSC. It's got an external 4uF film capacitor. Thanks Commented Oct 2, 2017 at 12:03

The speed of a PSC induction motor with a fan load can be adjusted while the motor is running. Changing the voltage provides a continuous range of adjustment. The diagram below, shows the full-voltage torque vs. speed curve and three reduced-voltage examples. If the voltage is reduced, the torque capability that will be provided at any given slip is proportion to the square of the voltage. If the voltage is reduced to half, the torque at a given slip will be 25% of the previous torque. The slip at any given load torque will increase accordingly as shown.

The motor will operate at the intersection of the torque capability curve (blue) and the torque demand characteristic curve of the load (red). The torque characteristic curve of a fan is shown because this type of speed control is sometimes used for fans and centrifugal pumps. Loads that require the torque to remain constant at reduced speeds or have less reduction in torque requirement are rarely operated this way. This method may work to some extent with those type of loads but it is generally not recommended. Even with variable-torque loads, a three-phase motor with a variable-frequency drive (VFD) would be preferable.

The losses due to slip are proportional to the load torque multiplied by the percent slip.

This can not be done with a single-phase, capacitor-start motor because the motor needs to be operating near full speed for the centrifugal switch to disconnect the capacitor.

• I adapted this answer from another answer rather than marking this question as a duplicate because the other question did not clearly ask the question.
– user80875
Commented Sep 25, 2017 at 14:42
• Thanks! Very useful. Is that the only way? Commented Sep 25, 2017 at 16:56
• There are only two ways to control the speed of a squirrel-cage induction motor. The voltage control method described above and the frequency control method. The frequency control method (VFD) is more expensive and complex. It is more flexible and offers better performance than the voltage control method, but it still has limitations when used with single-phase motors. A VFD with a 3-phase induction motor can provide everything that is required for most variable-speed application.
– user80875
Commented Sep 25, 2017 at 19:33
• Just FYI, there ARE a few VFDs made for single phase motors, as long as they ARE either PSC or Shaded Pole. The most commonly available one is made by Invertek (UK), sold by themselves and several other brand names under contract. Not a cheap solution however. Commented Sep 25, 2017 at 21:19
• Yes. The information I have seen formerly stated they should be used only for variable-torque loads. Recently, I have seen claims that they have some applicability to constant torque loads. The price and lack of wide use seem to make them a rather unattractive alternative.
– user80875
Commented Sep 25, 2017 at 22:03

I made it this way -

# 6 elements

DC side:

(1) Raspberry 3, 3V3 GPIO

(2) transistor 2N222, with resistor 220 Ohm at the gate

(3) Solid State Relay SSR 40 - DA

AC side:

(4) PSC motor, 1phase, 0,35 A, 1,5 mF

(5) double choke coil inductor 2x 10mH

(6) Inlet with Line Filter 250VAC 10A Chassis FBNAB2470ZG110

# application

(1) Raspberry give 3V3 signal to transistor at the gate (connection through resistor) That opens way to 5V signal from Raspberry to SRR back to Raspberry ground pin.

(2) Reason to use Transistor is that 3V3 signal won't give enough current to the SSR. SSR is trigger by current at 7.5 mA @ 12V. (http://www.fotek.com.hk/solid/SSR-1.htm)

(3) When SSR got 5V current, it let 230 V current to the engine.

(4) Now: when we let power jump up and down, engine starts getting big impusles which in principle is harmfull - both to your engine and power system.

(5) To avoid it, you connect in line a choke coil - to flattern the voltage - bigger : better. Hand made coils should do as well. Stator from other engine works great (photo).

(6) Line filter helps the simmilar way. You can buy one, or with simple capacitor [schematics] make connection between L and N.

Be careful and have fun!

# Code#1 python2.7

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import RPi.GPIO as GPIO
try:
while True:
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi
GPIO_RELAY_1 = 12

# Set pins as output and input
GPIO.setup(GPIO_RELAY_1,GPIO.OUT)  # RELAY_1

# Set trigger to False (Low)
GPIO.output(GPIO_RELAY_1, False)

# Allow module to settle
time.sleep(0.1)

# Send 10us pulse to trigger

GPIO.output(GPIO_RELAY_1, True)
print "RELAY_1 ON"
time.sleep(0.5)
GPIO.output(GPIO_RELAY_1, False)
print "RELAY_1 OFF"
time.sleep(0.2)

# Reset GPIO settings
GPIO.cleanup()

except KeyboardInterrupt:
pass
GPIO.output(GPIO_RELAY_1, False)
print "Finito : Off"
GPIO.cleanup()

# Code#2 python2.7

https://sourceforge.net/p/raspberry-gpio-python/wiki/PWM/

import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(12, GPIO.OUT)
frequency = 500
dc_low = 40
dc_mid = 75
dc_high = 100

p = GPIO.PWM(12, frequency)  # GPIO.PWM(channel, frequency (in Hz)
p.start(0)

try:
while 1:
print "frequency = ", frequency
#dc_low
p.ChangeDutyCycle(dc_low)
print "dc_low =", dc_low
time.sleep(120)

#dc_mid
p.ChangeDutyCycle(dc_mid)
print "dc_mid =", dc_mid
time.sleep(120)

p.ChangeDutyCycle(dc_mid)
print "dc_high =", dc_high
time.sleep(120)
"""
for dc in range(0, 101, 5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
print "dc in range(0, 101, 5) =", dc
print "freqnecy = ", frequency

for dc in range(100, -1, -5):
p.ChangeDutyCycle(dc)
print "dc in range(100, -1, -5) = ", dc
print "freqnecy = ", frequency
time.sleep(0.1)
"""
except KeyboardInterrupt:
pass

p.stop()
GPIO.cleanup()