controlling a 12V AC motor (pump)

I'm trying to control a 12V AC motor with arduino. The main task is to slow the motor down, as at regular speed it's too fast for me. I also want to have a somewhat finegrained control on the speed of the motor.

I'm not sure about the electronics side though - how should I interface the motor with arduino?

(actually, the motor is inside a small water pump, but I guess this is just a detail)

Hi

If you want to simply turn the AC motor on and off, the safest and simplest way to do this reliably is with a solid state relay. This will only give you on/off control, but on the upside it gives you optical isolation between the Arduino and the nasty voltages, noise and currents on the AC side. You can't turn these on and off more than a few times a second, or you'll get that bad smoke and ozone smell, and a destroyed relay a few minutes later. You definitely cannot send them a PWM signal either.

SSR's have one side that takes in 5V at 10 or 20 milliamps as a control signal, while the other side acts like a high-powered AC switch that goes in series with your motor. You would have to be careful to get one that operates down to 12VAC, as most are deisgned for 110-220VAC.

The Opto 120A10 would probably do the job...
http://www.opto22.com/site/pr_details.aspx?item=120A10&qs=100610161052,,,0,5&

Off the top of my heead, I cannot think of a good way to control the speed electronically. There are SSR's that do "phase control", which is how a typical light dimmer works, but these units are a) expensive and b) not suited ot the heavy inductive load of a motor. Have you thought of a gearhead for the motor?

Daniel

Daniel, thanks for your response.

What I'm looking for is more complex than just turning it on and off. as since it's a submerged pump, I can't really thing of a gear to change the ratio of the motor. I was thinking of using something like PWM, but AFAIK that can only be used for DC motors...