# drive 3 phase induction motor with only DC (not pwm) thru each phase

I've been researching making a driver for a 3 phase induction motor powered by DC source using PWM to approximate sine waves in each phase.

However, the switching speeds of the PWM signal for the rotational speed I want is difficult to obtain with hobby microcontroller boards like the arduino.

Can I just switch the DC directly thru each phase at the correct time only twice per cycle ? Essentially I would be approximating a sine wave with only 2 different voltages thru the coils, ie: +V and -V (using H bridge circuitry here)

Will this create enough of a rotating magnetic field that sufficient current is induced in the rotor cage ?

What will be the losses in power / efficiency for this, or any other drawbacks for this system ?

The bonus is greatly simplified drive electronics.

• By your description, are you not then driving the coils with a square wave of period matching the cycle? How is a +V/-V signal an approximation of a sine wave - other than that every square wave is a sine wave with massive clipping, at a purely hypothetical level. Commented Nov 24, 2012 at 11:50
• Correct. Yes that is a crude approximation of a sine wave, using a square wave. That is what I'm asking - is that enough to operate the motor ? Would it make a difference if I perhaps used 4 values instead of just two, thereby adding another 4 points to the approximation ? Commented Nov 24, 2012 at 11:55
• I'm in a similar situation and I'm currently researching PW on AVR too. From what I've seen, it would be difficult to get smooth and reliable rotation of a motor with just on and off. Also the circuit won't be much more complex with PWM, only the programming will be simpler. In any case, 3 transistor pairs would be needed to control each connection properly. Interesting application notes would be AVR443, AVR444, AVR493, AVR494 and AVR495 too. They have some examples on how to control motors. Commented Nov 24, 2012 at 11:56
• Yes - my problem is with the pwm frequency of the arduino - it's only enough to give me about 8 points of approximation per cycle. I want to know if that will work, and I'm also curious about the theoretical limit - will a square wave work ? Commented Nov 24, 2012 at 11:59
• @bobjandal What PWM frequency would you be looking for? I am able to get 1 MHz PWM quite reliably off my Arduino. Commented Nov 24, 2012 at 12:10

Yes, using square waves instead of sine waves can be done. As you suspected, it will be less efficient. Think of it in frequency space. The fundamental component of the square wave will do all the work. The remaining harmonics will heat the motor without adding useful torque, will add mechanical stresses, and can cause more audible noise.

You say you can't get a PWM frequency fast enough to produce a reasonable sine wave, but that is hard to believe. Surely the AVR can do 25 kHz or so PWM? I have done this a few times with Microchip PICs, some of which even have a special PWM module intended for this application.

• only those odd harmonics. This is going to be a fancy function. Commented Nov 24, 2012 at 20:20
• @sandun: Huh? Your comment makes no sense. Only the odd harmonics what? What is going to be a fancy function? Commented Nov 24, 2012 at 21:34
• may be I think I need to ask that as a separate topic. Commented Nov 25, 2012 at 13:50

If you're switching the DC through 3 half-bridges, this will work just fine. Torque will be uneven at low speeds and waveforms rather nasty, but it'll work.

Beware that turning current OFF fast to an inductive load (i.e. motor) is a good way to generate very high voltages so pay attention to protective diodes. NOT 1N4001s (FAR too slow) but high speed switching, high current diodes from each motor terminal to both supply rails, and overvoltage protection on the rails...

[edit...] The problem with PWM is not the PWM frequency, but the number of times you have to change it per revolution...

As you are controlling it with software, there is nothing to stop you using PWM at low speed, and switching to direct (square wave) drive at high speed.

You may be considering a simple 3phase AC inverter design or a powerful high torque variable frequency drive (VFD) electronics. Your choice depends on detailed specs including torque vs speed and budget. In both cases, a square wave would not be desireable as the eddy current losses would be excessive so multi-level low impedance drive is needed to appropximate the sine wave.

• Does vfd that can be driven with dc current exists ? Everyone I found on aliexpress are working on grid power, i.e. 50-60Hz Commented May 31, 2016 at 11:44