I've been planning to build an ESC from scratch for my BLDC motor, for an quadcopter project, and I have trouble figuring out the right commutation methods for design, I did some fair amount of research and found the most methods of control to be sensor less (as there are lower number motors with built-in encoders or hall effect sensors I could find on the internet). I assume back EMF is the way to go, I've decided to go with trapezoidal control even with torque ripple, but I see some vendors using FOC control even for drone BLDC's. Aren't the FOC control output sinusoidal, how could they run these motors off sinusoidal signals, those motors aren't PMSM to begin with? How does this work. Should I go with trapezoidal control with torque ripple?


1 Answer 1


If you are building your controller from scratch, trapezoidal controllers are easy to implement. "PMSM" generally refers to motors that are wound so that their back EMF is more or less sinusoidal, while motors designed for six-step drive are wound to be less sinusoidal to more closely match a trapezoidal drive. A motor with sinusoidal back-emf (PMSM) will run more smoothly with a sinusoidal drive, but either type of motor can be run with either approach. Both types of motors are permanent-magnet.

The advantage of field-oriented control is that the magnetic field relationship between the stator magnetic field and the rotor is continuously driven to the position that provides optimum torque. As an example, if you energize two phases of the motor, the rotor will go to a fixed position and stops. The current still provides a magnetic field that is generating force, attracting the rotor magnet to the stator in the radial direction; that is, the direction from the center of the motor outward. But, no torque is generated from this outward force, so the current is wasted.

Ideally, the direction of the force is tangential to the surface of the rotor to generate maximum torque from the provided current. FOC motor drivers continually calculate the rotor position and, using PWM, provide current to the phases so that the net field has the perfect relationship between the rotor and stator fields. On the other hand, if you are running purely trapezoidal current, the stator field stays fixed at one of six positions, so by definition the rotor-stator field relationship is not in the optimum position for the majority of the time during a rotation. The majority of the current will be generating torque, but a portion will be generating axial force; the axial component is wasted.

So, while more complex to implement, FOC drives are inherently more efficient. There are many IC options with FOC features integrated onto a controller chip. If you want the best torque performance, you may want to go with FOC, but for low-torque applications it might not make much difference.

  • \$\begingroup\$ It seems to me like the efficiency might be outweighed by the inefficiency of the more complex sinusoidal switching scheme for high RPM, low torque applications. \$\endgroup\$
    – DKNguyen
    Mar 21 at 20:31
  • \$\begingroup\$ What do you mean? Why is there inefficiency? \$\endgroup\$
    – TQQQ
    Mar 21 at 21:16
  • \$\begingroup\$ To perform PWM, you must support a switching rate higher than the switching required to change phases. PWM is necessary in any case for speed control, but it is also used to approximate a sinusoidal output current. It is common for FOC controllers to provide only a rough approximation of a sinusoidal current because of this, but even this rough approximation yields performance improvements over a straight trapezoid. I believe @DKNguyen Is speaking of the generating the fine sinusoid required for lower-speed motors used in servo applications. \$\endgroup\$ Mar 21 at 22:51
  • \$\begingroup\$ @TQQQ What John said. For trapezoidal, your minimum required switching frequency is that at which the motor phases commutate at which would be 100% duty cycle. To get below 100% duty cycle you might go 2x or 3x faster than that so you can get some switching cycles inside each commutation phase. But for sinusoidal commutation you would need to go considerably higher to approximate a sinusoidal waveform. So by going sinusoidal you are some of the inefficiency from the motor to the drive, and in some cases it may outweight the benefits. \$\endgroup\$
    – DKNguyen
    Mar 22 at 0:36
  • 1
    \$\begingroup\$ If you are trying to learn, it is probably a good choice. If you have a way to spin your rotor from another rotor, you can see the back-emf waveform and decide how sinusoidal it looks. FOC is fast becoming the standard and there are options out there that don't require a lot of knowledge. Google "code free FOC controller" and you'll see some plug-and-play chips that cost two or three bucks. \$\endgroup\$ Mar 22 at 23:06

Your Answer

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

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