Best way to control AC motor

I have a new pet fountain for our cat. Some say it is better not to run the fountain all the time - otherwise the cat will be bored with it. So my idea was to power the fountain randomly via Arduino. The speed of pump may be controlled via a potentiometer (?) on the pump inside the fountain. I would like to turn it to max speed and also regulate the speed via Arduino to make it more entertaining. The problem is my knowledge about motors, AC etc. is too poor to decide how to do it "the right way".

There is a transformer from 230VAC to 12VAC 200mA powering the fountain. I guess the pump is some electric motor and when it is spinning it is somehow pumping water upwards. I guess the faster it spins the faster the water flows - the control inside somehow changes the speed of the motor. So it cannot be fixed do 50Hz provided from the wall. So I guess the motor would work from DC as well as from AC. So currently my idea was to rectify all the voltage (I need to do it anyway for the Arduino) and feed the motor the rectified DC by PWM (and one transistor). But since my knowledge is limited and the previous is full of wild guesses I would like to ask here before I do something stupid.

Is it possible the motor needs AC and will burn or something like that when supplied DC?
Needs the PWM to be synchronized with the motor in some way? Is higher or lower frequency of PWM better? Is it better to use a cap after the transistor to make the PWM more smooth?
What about harmonics? I have read harmonics from rectifying, switching circuits and (most importantly here?) the PWM powering of the motor leads to transformer core saturating, leading to lower efficiency, hot transformer and possibly failure. Is it important here or a commutator (if it is really in the motor) makes so many harmonics it doesn't matter?


I am 99% sure there is an aquarium pump inside the fountain. Similar to:

I have one in my bird water fountain. I have had to replace is at least once a year because it runs out of water. The motor is AC only. It is a ferrite magnet armature and a wound field coil around the armature. So, there is no way to cause an electrical short when water gets inside the motor and supposedly the motor will not be damaged by no water, but it is.

The volume of water pumped is controlled by a slide on the intake of the pump. You can control the pump on/off with a relay (mechanical or solid state) controlled by the Arduino. Changing the volume may be a challenge!


Yes, the pump looks exactly this way but my pump is connected to the transformer 12VAC 50Hz - not from 110VAC 60Hz. Is it possible it is the same pump?

You say the speed regulation has nothing to do with electric, motor speed etc?

Anyway I got impression an AC motor has speed derived from AC frequency. If needed I could rectify the voltage and create AC with lower speed. But I am afraid it will may be hard load for the transformer, need large caps etc. I will probably try to reduce the voltage and/or current through the pump if it will work.

50 or 60 Hz, the motor doesn't care, but MUST be AC!The only way to vary water volume is to move the slide on the input and doing that under water is a challenge. You might find a plastic tube on the pump output. My bird bath has one. Replace with a flexible tube and find a way to compress the tube to limit the output. The pump won't care, as long as it has water.


Anyway I got impression an AC motor has speed derived from AC frequency.

For induction and synchronuous motors that is true, but it is not true for universal motors, and even
induction motors designed as torque motors it isn't really true either.

There is no single kind of "AC motor".

does anyone have tried controling motor AC use a universal board STEVAL IHM023V3 ?
i got some problem when trying to make a sine wave use PWM from arduino. i used arduino mega