Arduino - AC motor control

Dear pleasant folk of the Arduino forum,

I would like to ask for the advice of those a little more experienced than I.

My challange: I possess a blower with a single phase AC motor. I am aware that I can simply buy a TRIAC controller and turn a dial by hand which influences the speed.

I would however, like to automate the speed change with an arduino. I am not sure however whether I can use a controller like the one linked below to actuate the speed by virtue of an arduino output.

If I used this what pitfalls do you think I will encounter and are there other controllers which have other control inputs. Control inputs that aren't 0-10V for example. I could be missing an obvious search term which will help improve my search or it may be that DC control inputs to AC controllers aren't so common.

Any advice in this would be greatly appreciated and I thank you in advance.

P.S the blower I have is a ebm-papst G2E108-AA01-50

I am aware that I can simply buy a TRIAC controller and turn a dial by hand which influences the speed.

I believe there is a "difference" between motor speed controllers and light dimmers and it might depend on the type of AC motor but I don't know what the difference is.

I've built a light dimmer (a long time ago with a different microcontroller) but I've never made a motor speed controller.

If you built it yourself from scratch the most important thing is to electrically isolate the Arduino from the power line. There are special TRIAC-driver opto-isolators, and you also need to isolate the zero-crossing detector.

I am not sure however whether I can use a controller like the one linked below to actuate the speed by virtue of an arduino output.

https://www.i-acs.co.uk/store/index.php/ax-fc-8.html

If I used this what pitfalls do you think I will encounter and are there other controllers which have other control inputs. Control inputs that aren't 0-10V for example. I could be missing an obvious search term which will help improve my search or it may be that DC control inputs to AC controllers aren't so common.

You'll need a 10V source* and a "small" (low power) transistor or MOSFET to boost the Arduino's 5V output. You may be able to use [u]PWM[/u] or you may need an RC filter to convert the PWM to variable DC. (Most 0-10V controlled light dimmers work with PWM or variable DC.)

  • Actually, it appears to have a 10V output (so you can control it with a potentiometer) so you should be able to use that.

I would guess you have maybe a 10% chance of being correct. You gave no information on the motor so I am just making a guess. Most blower motors are not designed to change speed, they synchronize with the AC line. The speed controls implied will not work and will cause lots of noise and motor heating. With a squirrel cage motor some speed control can be obtained but they hate phase control. They slow down because of the internal slippage which causes heating. Typically these multi speed motors have several windings with a different number of poles to allow speed change, typically 3 same as the cheep household fan. However there is a way that is becoming popular but is more complicated, it is a variable frequency control. The VSD drive will give you the best control but it is limited. Remember when you double the fan speed you square the shaft load.

You need to to know what kind of motor it is to know how to control it, or even if it's possible. Series wound motors can be controlled using a triac, same as a light dimmer. Any other kind, as mentioned above, need a different approach, if it's even possible.

The main problem of an AC motor is that it is an inductive load, so you either need a snubberless TRIAC, or you have to add your own snubber (a basic RC filter). The induction causes a current/voltage phase shift, and the current may not drop low enough at the end of a half cycle to switch off the TRIAC. With such a circuit I've successfully controlled the speed of a water pump (600W or so), and during testing my angle grinder (some 500W).
A light dimmer doesn't have this snubber, as a resistive load doesn't need it.

On that note, designing the snubber may require knowing (from the metal plate or datasheet or measuring
with a $5000 LCR meter) the inductance in Henrys and the resistance in ohms, the motor current, and the
motor operating voltage .

This is one link for snubber design but truthfully I don't know the difference between a solenoid snubber and an ac motor snubber so you may to do some Googling.
Snubber design

It appears to be nontrivial.

I will have to look it up... I followed one manufacturer's AN about this, got some values for the resistor and capacitor, used that, and it worked fine. It was just related to the current to be switched.

The link you give is for a power supply, not an TRIAC based phase cutter. It's also not about dampening ringing in a TRIAC circuit, it's about getting the momentary current low enough for the TRIAC to switch off.

Those are very nice fans/motors and should run forever. Exactly what are you trying to accomplish by varying the speed? If you are trying to reduce the air flow, that is done by making a sliding cover for the INTAKE side of the fan.

Paul

Thank you all for the responses.

wvmarle:
The link you give is for a power supply, not an TRIAC based phase cutter. It's also not about dampening ringing in a TRIAC circuit, it's about getting the momentary current low enough for the TRIAC to switch off.

Are you sure the link I supplied is just a power supply? I didn't think power supplys can do this 'The compact AX-FC fan speed controller provides stepless speed regulation of single phase AC motors'. But I could be mistaken. I took the quote from the link I sent.

With regards to my progress so far: I have borrowed a manual TRIAC and it controls the speed of the blower perfectly fine. The only problem I have now is getting a microcontroller or computer to specify the output of the TRIAC.

May I ask, what are the industry standards for different control inputs into TRIAC devices? So far I have seen 0-10V control inputs in TRIACS but are there any others?

wvmarle:
The main problem of an AC motor is that it is an inductive load, so you either need a snubberless TRIAC, or you have to add your own snubber (a basic RC filter). The induction causes a current/voltage phase shift, and the current may not drop low enough at the end of a half cycle to switch off the TRIAC. With such a circuit I've successfully controlled the speed of a water pump (600W or so), and during testing my angle grinder (some 500W).
A light dimmer doesn't have this snubber, as a resistive load doesn't need it.

Thank you, that's really interesting. I should go and look at the TRIAC I have borrowed to see whether it is a snubber or not.

Haylex:
Thank you all for the responses.

Are you sure the link I supplied is just a power supply? I didn’t think power supplys can do this ‘The compact AX-FC fan speed controller provides stepless speed regulation of single phase AC motors’. But I could be mistaken. I took the quote from the link I sent.

With regards to my progress so far: I have borrowed a manual TRIAC and it controls the speed of the blower perfectly fine. The only problem I have now is getting a microcontroller or computer to specify the output of the TRIAC.

May I ask, what are the industry standards for different control inputs into TRIAC devices? So far I have seen 0-10V control inputs in TRIACS but are there any others?

With regards to your question Paul_KD7HB I am using the blower to power a tabletop windtunnel so the speed setting needs to be highly repeatable. A sliding mechanism would seem to me as a slightly more complex and fiddly task than finding a controller.

Unfortunately information on the blower’s motor is a little scarce and ebm-papst aren’t being quick in their response to my request for more information. What I can find however is the following wiring diagram taken from the blower data sheet. Below is a link to the datasheet.

Haylex:
May I ask, what are the industry standards for different control inputs into TRIAC devices? So far I have seen 0-10V control inputs in TRIACS but are there any others?

A TRIAC is a single part; I think you’re talking about complete modules.

Have a look at the playground to see how it’s done with an Arduino: Arduino Playground - ACPhaseControl

Note that those circuits don’t have a snubber included.

This is my work: GitHub - wvmarle/AC_control: Arduino library for AC phase controller with peak detection.

Code & schematic given; note that instead of zero crossing detection as shown in the playground this circuit relies on peak detection. It relies on the reluctance of a capacitor rather than a resistor to limit the current in the optocoupler, that also gives a 90° phase shift and the opto goes off at the peak of the voltage. Made the software a bit more complex.

Those are some very useful resources!

Indeed I would like the AC speed controller to be one part which i can plug the arduino into.
This reduces the amount I have to manufacture.

I have found the following device just now with a 0-5V input. I am curious to know if there are AC controllers which have a digital input for controlling the motor speed. Something like UART or I2C.

The controller:

Arduino doesn't have a dac. How did you plan to generate the 0-5v dc control signal ?

If you can't find an i2c or serial input AC motor controller, it is simple to use an i2c dac like the MCP4725 12 bit dac to control the unit you described.

If you can't find an i2c or serial input AC motor controller, it is simple to use an i2c dac like the MCP4725 12 bit dac to control the unit you described.

Really ?

The whole point of asking the OP was to find out if he was aware of the MCP4725.

Now we'll never if know if that's what he had in mind all along...

raschemmel:
Arduino doesn't have a dac. How did you plan to generate the 0-5v dc control signal ?

With the PWM output ofcourse... Am I missing something?

This looks to be a split-phase motor of some sort, not designed for speed control, will probably burn out if you try to do it. These motors rely on mains frequency being both constant (as the phasing capacitor is fixed) and the frequency sets the speed.

With the PWM output ofcourse... Am I missing something?

Did you leave out something ? (that you didn't mention)

raschemmel:
Did you leave out something ? (that you didn’t mention)

Not to my knowledge. Did you leave anything out?