Go Down

Topic: AC Motor Control with Arduino (Read 14223 times) previous topic - next topic


Hey all, I'm new to arduino and this forum so please bear with me.

I have been tasked with developing some industrial automation equipment for my family's injection molding company.  Nothing too crazy, just some small peripheral machines to help bring together small subassemblies.

Right now, I'm focusing on developing a circuit that can start, stop, and control the speed of 3 x 3-ph 1/2 HP 3600 RPM AC motors.  I'd like to use an LCD display as the human-machine interface. 

Can anyone recommend any sample or tutorial projects that might be similar in nature? Or can anyone recommend any driver boards/controllers that might work for my application?

Any tips, pointers, comments, etc would be greatly appreciated! Thanks!


Hey all, I'm new to arduino...

...start, stop, and control the speed of 3 x 3-ph 1/2 HP 3600 RPM AC motors.

Can anyone recommend...

Yep, I strongly recommend that you *don't* try this yourself. 1/2 HP is *not* an 'exercise for the student.' 

Not that Arduino can't do it perfectly well, but to have -ANY- chance of success on the first try requires 'very familiar, at ease, and capable' skills.

Worst cases include pure HCF (Halt - Catch Fire,) or ripping whatever assembly a motor is mounted on to shreds and flinging shrapnel in many random directions.  :smiley-eek:

Sure there are sample circuits and tutorials, even newbie level stuff, but those samples do not include all the safety related bells and whistles that these kinds of voltage circuits and power assemblies require. -I- understand that -you- understand how to design and build a typical physical assembly, but there's only a very limited -range- of electrical, electronic, and software design that will -prevent- that physical assembly from destroying itself *if* there's even a minor error/bug in the electrical/electronic/software.

Shortest answer: if you don't already know how to do it don't try it. A few hours of (licensed/insured) electrical/electronic engineer consult time can produce something totally doable that you -can- easily build.


Jbarchuk, thanks for the response. Of course, we have in house electricians who will design and validate the safety necessary electronics, I'm just looking for some resources to see what would be required control system wise to make this happen with an arduino setup instead of a traditional PLC, or PCPLC setup.


You need a device called a VFD (variable frequency drive.)
Some info here.
Building these devices is highly specialised , and you need a thorough background in power engineering.
No way I would be doing this as a first project.


...we have in house electricians who will design and validate the safety necessary electronics,...
...instead of a traditional PLC, or PCPLC setup.

Yes but that's exactly my point. The electricians have the skills to read the specs for the parts they need to install, and they follow those and do it right. The electrician doesn't have the skills or knowledge to design the device itself. But you're talking -about- designing 'a device,' which requires engineering skills and knowledge. Catch-22.

Personally, if my (economic and family business) life depended on it, I'd go straight for what works first time every time. The % cost of just the PLC as compared to motors, mechanicals, wiring, and labor is fairly small, as compared to the -potential- the cost of failure. The % of success of the traditional PLC, happening very quickly is very high. The % of success designing an Arduino system, with all the -time- for leaning and experimentation involved is pretty high, but will take 20-40x longer. If you want to learn more about how to interface Arduino -and- use it in your business, this isn't the place for it.


Apr 30, 2014, 03:09 am Last Edit: Apr 30, 2014, 05:32 am by bucknast Reason: 1
Jbarchuk, I understand your concerns.  Our electricians have designed and built other machines in the plant, so for now let's assume they can handle that part of it.

If one wanted to simply control the start/stop/speed of an AC motor with an arduino, how would you do it?


Controlling the speed of an AC induction motor can only be done with a VFD (Variable Frequency Drive). You have to take the AC frequency (60Hz in the US), rectify it, then spit it out at a different frequency. Not at all a trivial problem so you won't find any simple circuits/kits/etc. to do that.

The good news is that VFDs typically include some type of control interface (usually multiple) and the Arduino would be fine for that problem. But of course nobody here can tell you how to interface with a VFD you haven't chosen yet.

Here's an example of a 3 phase VFD. It features either an RS-485 interface (requires just a TTL to RS485 chip, very cheap) or four inputs that act in a binary format to choose one of 16 speeds. You'd need a basic 4-relay board ($5) to use that interface.


If one wanted to simply control the start/stop/speed of an AC motor with an arduino, how would you do it?

Honestly, I'd buy an appropriate suitable controller. It's such old technology that there are hundreds of manufacturers and thousands of products. If there was some very -specific- requirement that -no- one had already made then I'd have to DIY, but I seriously doubt that'll ever-ever happen on any topic. Heck I could build any Arduino from scratch becaue it's all open source software/hardware, but it's not worth it because there are so many varieties that it's time/effort unnecessarily spent that I could use doing other things.

I don't have real life experience with even moderately higher power motors. On a personal level I don't like messing with anything over 12V. Mainly because I'm all self taught, and also because I've seen enough bad designs and bad wiring explode and hurt people. I know when to not mess around with topics a couple of pay grades higher than my 'lack of qualification.' I can *build* any of these things, but I can't *design* them.

Sometimes I know -more- about what I -don't- know about, than I actually know a lot about. Meaning I know enough to know that I don't know much.


Apr 30, 2014, 07:44 am Last Edit: Apr 30, 2014, 08:18 am by zacmackra Reason: 1
First we would like to know if it is induction motor (ceiling fans) , universal motor (table fan) or some other kind.

If its induction motor varying the frequency will be used (difficult)
If it is universal motor you can control it by using ac chopping circuit using arduino(easy).


The most foolproof method to control it is by using relays to switch The DI1 through DI6 pins (see page 2-11) to DCM. Each combination of DI4, DI5, and DI6 selects a different speed. The speed of that particular combination can be configured via the VFD's interface. This control method is analogous to just using toggle switches between those DI pins and DCM.

Information on using relay modules with the Arduino is available here. I'd recommend you purchase a module with optical isolation (also described in the above link) as these drives tend to be very electrically noisy. You really should consult with a qualified electrician for the power hookup of the VFD.

There's a ton of information to read in the VFD's manual. You really need to spend some quality time with it.

Go Up