Give away medical masks when you place an order. learn more

Field-Oriented Control of Small DC Motors put Drones on a Rising Flight Path

Brushless DC (BLDC) motors are widely used in electronic equipment designs such as disk drives, cooling fans, and DVD players because they have long life cycles, run on DC power, and are relatively inexpensive. Typically, the speed and torque of BLDCs are controlled by MCUs employing scalar techniques.  

A new class of applications is emerging that is typified by the quadrotor drone aircraft that have become popular with hobbyists. Drones are also being considered for numerous commercial applications like surveillance. Particularly important to these applications are the controller’s dynamic response and its ability to control BLDCs sensorlessly and stably at low speeds.

Scalar techniques are not sufficiently precise for applications with dynamically changing loads. Precision can be significantly improved by using field-oriented control (FOC) techniques, which are commonly employed to drive high-end industrial AC equipment. By implementing FOC, BLDCs can provide precision control for drones and other high-performance applications such as medical robots, Gimbal systems, and autonomous vehicles at a reasonable cost.

Designing this class of products in the past has not been easy. It involves an understanding of FOC or some other advanced, sophisticated motor-control technique such as direct torque control (DTC), as well as an operating knowledge of specialized software-development systems. When the application is also cost-sensitive – for example a drone with a surveillance camera that might be used by law enforcement – then characterizing the inexpensive BLDC motors has also presented a challenge.

Field-oriented control (FOC)

The conventional scalar technique for controlling BLDC motors is known as six-step (or trapezoidal) control. The stator is driven in a six-step process which generates oscillations on the produced torque. Each pair of windings is energized until the rotor reaches the next position at which point the motor is commutated to the next step. For sensorless applications, the back-EMF generated in the stator winding is often used to determine rotor position.

The dynamic response of scalar control is incapable of handling applications with a quickly changing dynamic load. As a result, vector control has become more popular for a wide range of applications from AC-motor driven white goods, such as washing machines, to battery powered products.

FOC is one of the most commonly used methods for vector control. It works by managing stator windings to keep the flux produced by a rotor’s permanent magnets orthogonal to the stator field.

FOC was originally developed to control three-phase AC motors. Given that the power source for the BLDCs used in small-drone aircraft is a 21 V (five-cell Lithium Polymer) battery, the electronic components must include a low-voltage three-phase inverter system. Other primary components are a motor driver, an MCU and perhaps most important, the software that executes FOC algorithms.

FOC processing is performed in the direct—quadrature (d-q) domain, which is a rotating frame of reference. The direct and quadrature components are the decomposition of the flux linkage state vector into two components: the flux- (d) and torque (q)-producing components. This relationship is shown graphically in Figure 1.  Current in the motor’s stator windings is controlled to keep the flux produced by the rotor’s permanent magnets orthogonal (90°) to the stator field. In addition to producing precise motor control, this also provides exceptionally precise torque control, which is the real advantage of operating in the d-q reference frame.

Figure 1: Direct-Quadrature (d-q) force components.

FOC entails three domain transformations: (1) Measured phase currents in the stators are transformed from the 3-phase static-reference frame to a static 2-phase reference (α, β); (2) The 2-phase static-reference frame is transformed into to a rotating two-phase reference system (d-q) that is aligned with the rotor flux; and (3) In order to actually drive the motor, the d-q components are back-transformed to the stator reference frame and used for Space-Vector Pulse-Width Modulation (SVPWM). This process is shown in Figure 2.

Figure 2: Domain transformations required for FOC control.

Detailed rotor-position information is required in order to align the d-q reference frame with the rotor.  Rotor-position estimation techniques range from the relatively simple, back-EMF zero-crossing detection to complex sliding-mode observers and extended Kalman filters.

Driving the motor

Transformations from the static 3-phase reference frame into the 2-phase d-q reference frame result in the previously mentioned direct and quadrature components. The direct (d) component offers no useful torque and, in fact, tends to increase motor-bearing wear. One goal is to minimize this component. The quadrature (q) component produces actual motor torque and is determined by the application.

The d-q components are applied to two PI (Proportional-Integral) controllers with reference to zero and the application torque setting respectively to produce a vector output. The output of the two PI controllers are the (new) direct and quadrature voltage components of the required stator voltage space vector. As previously mentioned, the last step is to transform the d-q components back to the stator reference frame to actually drive the motor.

The process described is only a summary of FOC operation. Implementation requires numerous interim steps that are fairly sophisticated and beyond the scope of this article. A more complete discussion of FOC that is specifically directly related to small drone aircraft can be found in “High Performance Motor Control,” a thesis by Patrick Fisher of Central Queensland University, Australia.1

Included among the required interim steps are:

  • Determining the characteristics of the motor (BLDC motors rarely provide more nameplate information than the number of poles and voltage and current ratings.)
  • Rotor-position estimation (critical information for implementing FOC control)
  • Designing an appropriate power-control scheme
  • Designing torque and speed controllers

Designing a complete, functional FOC-based motor-control system from the ground up is so daunting that semiconductor companies, including Texas Instruments, Atmel, and NXP Semiconductors have created development tools that remove most of the complexity from the design of simpler implementation of FOC. In general, the IC vendors have also chosen to protect their intellectual property by storing the software libraries used by the development tools in ROM and making them available only on select MCUs.

Texas Instruments, for example, has made its InstaSPIN-FOC solution available in three variants of the TI C2000 Piccolo 32-bit MCU series: the F2806x, F2805x, and F2802x. For small-drone applications that are extremely cost sensitive, the most appropriate MCUs are members of the F2802x MCU series, with the most popular specific device being the TMS320F28027FPTT.

As previously mentioned, precise motor control relies on creating an accurate model of the motor. InstaSPIN-FOC includes a proprietary software algorithm known as an “observer” that estimates the rotor Flux, Angle, Speed, and Torque (FAST).  InstaSPIN-FOC also offers motor-parameter identification to extract the necessary performance parameters offline during development and to track the parameters online during operation. 

Motor parameter information is used to tune the current control bandwidth. Unlike other techniques, TI’s FAST observer is completely self-tuning, requiring no adjustments for proper operation. TI claims it is the only robust and “instantly” operational sensorless-FOC solution on the market. 

As a result, designers can have a fully tuned sensorless observer and a fully tuned and stable FOC torque control system within minutes of starting development.  In an application such as propeller control, the only task left to the designer is to test and tune a single PI speed-control loop for the desired performance and operation.

A simplified version of the basic drive system is shown in Figure 3. The output of the velocity PI controller is connected as the input reference signal for the PI-current controller.  If the velocity is too low, the motor’s current is increased to produce more torque to speed it up.  Conversely, if the motor is going too fast, the motor’s torque is decreased to slow the motor down.  Together, these two PI controllers form a cascaded control loop, which means a control system that consists of an outer loop with one or more inner loops. (The variables Kd, Kd, Ka, and Kb in the figure are coefficients generated by the motor control software.)

Figure 3: Speed controller cascaded with a current controller. (Courtesy Texas Instruments)

Key components

In addition to the MCU, a few other key components are worth mentioning. A three-phase driver and inverter system is required.  Low-current applications such as small torque drones can use a part from the TI DRV83x2 family of integrated three-phase motor drivers (such as the DRV8332DKDR). The DRV83x2 series contain advanced-protection circuits designed to facilitate system integration and ease of use, as well as to safeguard the device from permanent failure due to a wide range of fault conditions such as short circuits, overcurrent, overtemperature, and undervoltage.

Higher-current systems that might be used in a commercial application require a standalone pre-driver such as DRV8301DCAR and individual FETs in a three-phase inverter configuration. An example would be TI’s CSD18533Q5A NexFET Power MOSFET. 

Development software is critical to success with FOC-based motor-control applications. TI has developed a suite that includes motor-drive development software in BoosterPack BOOSTXL-DRV8301. It is typically the best choice at 6 to 24 V and up to 10 A continuous. This requires a control board such C2000 Piccolo TMS320F28027F LaunchPad with InstaSPIN-FOC – such as the LAUNCHXL-F28027F. For less than 3.5 A continuous motors, the DRV8312-69M-KIT is usually a better fit.

TI’s product offerings appear to be more in tune with low-voltage, low-torque applications than other vendors but a few offer motor-control development kits as well. NXP Semiconductors offers a motor-control development kit for BLDCs. The OM13068 LPC1549 LPCXpresso Motor Control Kit is used with the company’s LPC1549JBD48QL MCU. This platform can be used to control BLDC, BLAC, stepper, and dual-brushed DC motors.

The design using these components can be compared in terms of performance to commercially available motor controllers for small BLDC motors. The most significant difference between the custom FOC controller and commercial controllers such as the Plush 40 is its ability to commutate at very low speeds. The FOC controller can control all four motors at speeds around 100 RPM. In addition, utilizing InstaSPIN’s speed loop the motors develop significant torque at these low RPMs.

The custom FOC board can also attain top motor speed faster than the commercial controllers. On average, the custom FOC controller is 35 percent faster at transitioning a motor from zero to full speed. In addition, the unloaded speed of each motor under FOC control is faster than any commercial controller tested.1


A new class of motor-control applications is emerging that requires superior dynamic response of small BLDC motors. Applications include medical robots, Gimbal systems, autonomous vehicles, and small drone aircraft. Although FOC motor-control techniques have been in use for decades in AC industrial and white goods motors, they had not been applied to small motors powered by battery packs because the techniques are sophisticated and required a high-performance MCU. Within the past few years, however, new products have emerged that make this possibility a reality.

For more information about the parts discussed in this article, use the links provided to access product pages on the Hotenda website.

  1. “High Performance Motor Control,” a thesis by Patrick Fisher of Central Queensland University, Australia.