I want to run/control a BLDC motor from a DVD/CD-rom player and found a schematic how to do this, the so called three phase inverter (see right schematic on this page: http://en.wikipedia.org/wiki/Inverter_%28electrical%29#Three_phase_inverters).

I already made it with some some different types of transistors and an ATtiny2313 for the signal/timing and opening of the transistors, but I don't get the BLDC running. I can get LED's burning correctly, but not enough power for BLDC, I think. There are no 'anti-parallel diodes' in this set-up of my.

Now my question, do you think I can make the NPN's in the schematic with BC639 's? I can get 50 for 3,50 euro, so I can use them also for other stuff. What about the 'anti-parallel diodes' for back EMF, do I need those? The motor doesn't need to turn very fast, easy speed is enough. And what about timings, how long should the open/pulse take (how many ms)? Or do I need to use other stuff/different transistors/schematics?

Thanks for the help.


2 Answers 2


uh oh... I should warn you that you have stepped into the wonderful and wild world of motor control. Getting a motor with an "easy" load like a fan or pump to turn is not too difficult, but you need to be aware of a couple of things, and unfortunately what you find on the Internet glosses over some important subtleties.

In order to control a BLDC motor (which is better to call a PMSM = permanent-magnet synchronous motor), you need to manage these aspects:

  • power devices (the wikipedia page shows NPN transistors but nobody really uses those anymore, instead MOSFETs get used in sub-200V applications, IGBTs at higher voltages)

  • gate drives (interfacing signals from your controller to the power devices)

  • commutation (cycling current through different phases of the motor as it turns)

  • current control (making sure you allow safe levels of current through the motor and transistors)

  • motion control (making the motor turn at a desired speed or stay at a desired position)

I would highly recommend that you buy an integrated 3-phase bridge which takes in logic signals from a microcontroller, and turns on and off MOSFETs. ST is a decent manufacturer + has several of these, often including overcurrent protection. The L6234 is one that might suit your needs.

If you aren't going to use an integrated bridge, use MOSFETs but BE CAREFUL. The lower ones aren't too hard to control, but the upper ones can't be driven directly from a microcontroller output unless you use P-channel MOSFETs and the supply voltage is the same as the supply for the microcontroller. (In any case it's dangerous to drive directly from a micro; if you have a fault you can easily damage the microcontroller.)

(NPN transistors would be a real pain to drive; the lower ones may need more current than the micro can source, and the upper ones need some kind of circuitry to drive them correctly.)

The anti-parallel or "free-wheeling" diodes allow current to flow from the motor, which is an inductive load, to the power supply. If you don't have them and you turn off a transistor while current is flowing through the motor, you will probably damage the transistor due to the inductive voltage spike during turnoff.

Also you'll probably need to use PWM (pulse-width modulation) -- if you just use on/off control for each of the 6 transistor, you will probably get an overcurrent condition because you're putting the entire battery voltage across the motor, and when it's at a standstill, the back-emf is 0 so the current is only limited by the transistors and the motor's winding resistance.

Regarding commutation: if you don't have a position sensor on the motor, you will have to use a sensorless commutation technique, which can be interesting... the basic ones measure the motor terminal voltage and use that to measure the approximate back-emf. Nothing really works at zero speed; at low speed the algorithms are complicated, and at high speed it's not so bad. If your motor has an "easy" load (low load torque at low speeds, smoothly changing torque at higher speeds), then you can drive it open loop at low speeds like a stepper motor.

All this is just the tip of the iceberg for motor control.... fortunately you have a pretty small motor so it shouldn't be that difficult or dangerous to work with. Good luck!

edit: Allegro is another company that makes motor drive ICs.


Microchip makes devices specifically for that sort of application:

Microchip BLDC control

  • \$\begingroup\$ Um, no they don't. They make microcontrollers. All the other objects shown on that page are things you have to add. The OP has a microcontroller already, he's just looking for something to interface with or include power devices. \$\endgroup\$
    – Jason S
    Dec 31, 2009 at 17:36
  • 1
    \$\begingroup\$ Microchip PWM modules can generate trapezoidal waveforms directly. \$\endgroup\$ Dec 31, 2009 at 17:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.