Author Options:

How do I control power output of 120v electronics with arduino? Answered

I have a device with a motor that my killowatt measures at 120v and at most .220ma. I wish to use an arduino uno to control its strength (reducing it down to maybe 25% at times). What is the best way to go about this? I have seen many different tutorials with different methods. I would rather not cut any of the cabling or open the device. 

A motor shield on ebay seems to be the easiest way so far from what I can tell, although there does seem to be a lot of different options for h-bridges. Can someone point me to some good information or tutorials that would be the most effective for this type of power requirements?

Thanks in advanced.


Now you need to implement "burst control"

As LMB says, use an SSR. Establish a time base you can control over - say 2 seconds. If you switch on the load for 2seconds, it will be on full power. If you switch it on for 1 second every 2, it will deliver 1/2 power etc.

The minimum unit of power, done that way, is 1 cycle of the supply, or 1/50th (1/60 USA) of a second - on my 2 second time base thats 1/120 or 1/100 or 1% of full power.

For only 25% minimum, this should be easy - you will be on for 1/2 second every 2.

Single cycle operation isn't really feasible without feeding back the mains cycle to the arduino. One way to do that is with an optoisolator, another is to use a small transformer. .


I'd use a solid state relay. These act as a single pole, single throw switch. The input that activates it are typically made to interface to logic levels. The low voltage logic input and 120V AC output are optically isolated inside the relay.

You'll have to build the relay into an enclosure along with a standard 120V outlet the plug the appliance into. The relay needs to go into the "hot" lead, which is the black wire in typical house wiring. Consult one of those DIY household wiring books from a hardware store if you are not comfortable with the 120V wiring part of it.