Introduction
Recently, AC induction motor speed control has been a popular topic of discussion
on the RevEd Picaxe Forum. After lots
of discussion in the appropriate threads and a bit of research on the net, I couldn't
find an appropriate hobbyist design that was simple, inexpensive, and would properly
control an induction motor's speed using the volts/frequency control method. So I
decided to try my hand at such a design.
I haven't yet succeded, but I'm getting closer.
How It's Done
Small appliances such as fans, aquarium pumps, etc, commonly use single phase shaded-pole induction motors. The power ouput of these small appliance motors is
well below one horsepower. These are commonly referred to as "sub-fractional
horsepower" motors. They might range from 1/400 to 1/50 HP. (However, I found
one rated at 1/20 HP, which is well into the range of split-capacitor motors. 1/20
HP is entering into the serious motor category!)
Some have tried to control the speed of these motors using triac phase-switching,
such as used in your common lamp dimmer. For motors driving loads with low starting
torque such as small fans, this might work. The motor will run inefficiently and
generate more heat, but this is balanced by the reduced current draw. In some
applications, both the motor and lamp dimmer might run happily for years. Other times,
the motor might overheat or the lamp dimmer might fail. If you have a small fan to
control, you might try a cheap lamp dimmer first, just to see how it works. Monitor
the motor and dimmer closely at first, checking for overheating of either device.
(I use small fans as a special case because they have zero starting torque that
the motor must overcome. The load a fan presents to a motor is entirely dependent
upon the fan speed.)
Phase control switching, however, doesn't maintain the motor's torque as power is
reduced. Many loads will fail to start properly, stalling the motor of the back side
of its speed-torque curve hump. In this case, even reduced power to the motor will
result in rapid overheating and a fire hazard.
The proper way to reduce the speed of an induction motor is to reduce both the frequency
and the voltage fed to the motor. The general type of device that implements such a
speed control method is known as a VF controller, Voltage-Frequency controller, or
Volts/Hz controller.
Reducing the voltage along with the frequency lets the motor run happily, maintaining
its starting and running torque, right down to approximately 1/3 of its design speed,
on just about any practical load. The motor won't overheat, and the machinery should
perform properly.
It's easy to calculate the required voltage. After some research, I found that
a simple formula should work well:
Motor Voltage = Frequency / Design Frequency * Design Voltage
Although such a controller can be implemented completely in hardware, a small,
inexpensive microcontroller simplifies the task immensely.
The purpose of this project is to design a simple and inexpensive Volts/Hz controller
that will work correctly with just about any small induction motor you might find
around your home, using just about the smallest, simplest microcontroller on the market:
the Picaxe 08M.
The Mark I Design
My original design used full-wave rectification, a full H-bridge inverter that
required four power MOSFETs, and a separate MOSFET used to set the motor
voltage.
The ground was floating, making working on the circuit difficult. Where and
how do you ground your oscilloscope, for instance? I don't know about you,
but I know that I wouldn't want to work on a circuit built like that.
(Yes, I know how to take differential measurements, but with my dual-trace scope,
that would result in a single-trace measurement. It's hard to diagnose switching problems that way!)
In addition, it used square wave switching, which was inefficient, and might
have resulted in excessive motor heat.
So, a redesign was in order. On to the improved "Mark II" design, below.
The Improved Mark II Design
I decided that the easiest way to improve safety was to use half-wave rectification,
permitting the AC neutral/ground circuit to be used as an actual circuit ground.
Still not as good as transformer isolation, but you can safely ground your 'scope to
the circuit's ground, and you can tie ground to the chassis, cabinet, and the AC ground
circuit. Much better.
Another benefit was simplification of the switching. You'll notice that now the
circuit uses a half H bridge, rather than the full H bridge used in the Mark I
circuit. This version also implements independent bridge control leads, allowing
dead band switching. In the Mark I design, I had a hunch that the high side and
low side MOSFETs would be switched on, momentarily, at the same time. That circuit
might be prone to blow its MOSFETs. Using dead band switching, there is no way
that the high and low side MOSFETs will be switched on at the same time. (And that
7.5 volt figure isn't fixed in stone. If required, higher zener voltages, perhaps
up to 10 volts, could easily be accommodated without starving the diodes at low
motor voltages.)
PWM is fed directly to the MOSFETs, eliminating the need for a separate pass
transistor to control the motor's voltage. The result? Reducion from five to
two MOSFETs, and elimination of lots of other circuitry.
I've chosen an 8 amp, 500 volt IRF840 MOSFETs for the low side switch. At this moment, I'm looking for a compatible P-channel MOSFET to use as the high side switch.
Many other MOSFETs should work in this design. Anything that can handle at least
5 amps at 300 volts, and will switch cleanly into saturation with 7.5 volts on the
gate, should do nicely. The lower the RDS-On resistance, the better.
The MOSFETs are driven with Fairchild MOC8240 400 volt optoisolators.
5 VDC logic power is derived from a cannibalized 9-12 VDC wall wart, mounted inside the controller's box. The wall wart's DC output feed a 78L05 100 mA regulator to provide
the circuit's logic supply.
I've designed this circuit for 120 volt, 60 Hz operation. I found that 120/60 is more
stringent than a 240 volt 50 Hz design. If I can get it working at 120/60, it will
work even better at 240/50 by changing the two filter capacitors, C1 & C2, and the
optoisolator emitter resistors, R5 & R6.
The biggest change between the two designs is the software. The Mark I design was
designed for square-wave switching. The Mark II design does some rough sinewave
synthesis. Using a Picaxe 08M running at 8 MHz, we have a 0.5 mSec granularity. At
60 Hz, this will provide an 8-step half-sine table. Not very good, but a vast
improvement over the Mark I's square-wave switching. (At 50 Hz, that would amount
to a 10-step half-sine table, providing a bit less distortion.)
Increasing the pause value incrementally as the speed is reduced, we have over
40 steps between 60 Hz and an appropriate minimum motor frequency.
At 8 MHz, an 8000 Hz PWM frequency gives PWM values between 0 and 1000 for 0 to 100%.
That's a nice round number that scales nicely as the volage is reduced.
After some experimentation, I've found that the Picaxe 08M doesn't have enough program
memory to implement closed-loop voltage regulation, so I've eliminated it. During
program design, the appropriate voltage scaling will have to be determined empirically
on a breadboard circuit.
The AC line is rectified by two half-wave diodes, D1 & D2. C1 & C2 filter the
rectified voltage. (D1 feeds the positive HV rail, and D2 feeds the negative.)
A surplus wall wart, providing between 9 and 12 VDC, is cannibalized and permanently
monted inside the box. The wall wart output feeds the 78L05 regulator to supply the
circuit's logic voltage.
The Picaxe 08M, operating at 8 MHz, generates PWM over 1/2 of a sinewave cycle. At
60 Hz, the processor provides an 8-step output. At 50 Hz, it's 10 steps. The PWM
level is scaled for both the sine table's constants and for the calculated motor
voltage.
The PWM is fed directly to the bases of the two switching transistors, Q3 and Q4.
The appropriate transistor is switched on by two Picaxe lines connected to each
transistor's emitter. The line driving the active emitter is pulled low, while
that connected to the other emitter is pulled high. Only the transistor whose
emitter is pulled low will pass the PWM on to the appropriate optoisolator.
The transistors pull the cathode of each optoisolator's LED low during the
high PWM period, turning on the LED and driving the opto's transistor into
conduction.
When the opto's transistor is switched on, it connects positive voltage (relative
to each MOSFET's source terminal) to the MOSFET's gate, through a limiting resistor
into a 7.5 volt zener diode. The positive 7.5 gate voltage turns the MOSFET on.
The motor is connected between the MOSFETs' junction and ground. At the junction between the high-side MOSFET's (Q1) source and the low-side MOSFET's (Q2) drain,
the motor will see a "sort of" sinewave with polarity reversing at the selected
motor control frequency.
The speed control potentiometer, R13, feeds the Picaxe's ADC input. The pot setting
determines the motor's desired speed.
Last but not least is the Polarity Alarm LED. It will light if the Hot and Neutral
leads are reversed at the AC outlet, alerting you that it will be hazardous, if not
lethal, to work on this circuit when it's plugged into that outlet.