Control a universal motor with Arduino

Metaconta:
Hello camepones:

  1. I want to control the speed of the motor with Arduino.
  2. I want to turn off and on the motor.
  3. I want the motor to be able to change direction. For example, every 15 seconds the engine is running 3 seconds stops and changes direction for 15 seconds again, so long as I want.

Greeting.

OK, a (two-terminal) universal motor (e.g. from a vacuum cleaner) is a bad choice if you want to reverse it; reversing requires that you change the relative polarity of the stator and rotor windings, and they're hardwired internally for a particular direction. You could theoretically disassemble your motor and break out separate connections for the two sets of windings, which means you could reverse the direction by running one winding from an H-bridge, or adding a DPDT relay to reverse the polarity. That's a lot of mechanical work, but if you get a washing machine motor, the two windings generally have separately accessible terminals, in other words it's a 4-terminal universal motor and that gives you a lot of configuration options. If you can get a 4-terminal motor, you can reverse it easily.

Again, digital speed control of one of these from an AC supply is beyond your current capabilities. No offense intended, but the questions you're asking now imply that you won't understand the explanations required to implement speed control from a mains AC supply safely.

However if the motor is a lower-voltage type or if you don't need a lot of speed from it, you could run it from a lower voltage DC supply without causing any serious electrocution risks. With a DC supply, speed control is easy: you just chop the supply voltage with PWM and a big FET. Arduinos support PWM with the analogWrite() function, so that's easy.

Do you have or can you get a 4-terminal (washing-machine style) motor? If so, we can show you a simple schematic to reverse one winding with a relay to implement reversal. Probably much easier for you than implementing an H-bridge.