Key factors in designing a drone's electronic speed control - Embedded.com

Key factors in designing a drone’s electronic speed control

The key to a drone’s design is the ability to control the motor’s speed and rotation. Most drones are powered by brushless DC motors, which require constant regulation of speed and direction of rotation. An electronic speed control (ESC) module performs these functions and includes a power supply stage, a current-sensing circuit, a microcontroller, and a communication interface with the flight control system, thus making it fundamental to drones. This article takes a look at the important elements to consider when designing an ESC as well as the market’s development solutions.

Motor control

The design of an ESC requires a careful evaluation and analysis of characteristics that can be summarized as follows:

  • Battery installed on the drone
  • Motors
  • Available budget
  • Electromagnetic compatibility (EMC) and interference immunity

Two types of brushless motors can be installed on drones: brushless direct current motors (BLDCs) and brushless alternating current motors (BLACs), also known as permanent magnet synchronous motors (PMSMs). The choice of which type of motor to use is influenced by the control algorithm chosen, which can be either trapezoidal control or field-oriented control (FOC). The trapezoidal motor control algorithm has the following main characteristics:

  • Motor control based on a six-phase switching sequence
  • Detection of the magnetic angle of the rotor, used to set the correct angle; each step corresponds to a 60°angle
  • In sensorless control systems, the switching angle is estimated by measuring the back EMF phase voltage

The FOC control algorithm, on the other hand, has the following features:

  • Motor control by means of sinusoidal phase voltages or currents (FOC)
  • Rotor angle detection with a minimum accuracy of 1° to 5°, which ensures that the algorithm is always able to deliver maximum torque

In sensorless control systems, the magnetic angle of the motor is estimated from the motor phase voltages and currents. Its position is determined by monitoring certain electrical parameters of the motor and without the use of additional sensors. The most common type used in drones is the brushless DC motor due to its small size, relatively low cost, and high durability and robustness.

Most drones have at least four motors, the four-motor version being the most used. The ESC is responsible for controlling each motor speed, and therefore, the most common drone architecture involves the dedicated use of an ESC for each motor. All ESCs must be able to communicate with each other, either directly or indirectly, through the flight controller, so as to have easy control of the drone. The direction of each motor rotation is also important: In a quadricopter, one pair of motors turns in one direction, while the other turns in the opposite direction.

The motor control technique most commonly used by ESC manufacturers is field-oriented control, a technique that controls motor torque and speed. When implemented correctly, FOC can handle even rapid acceleration changes without generating instability, allowing the drone to perform complex maneuvers while maximizing efficiency.

The block diagram in Figure 1 below shows an FOC architecture that includes the following components:

  • Current controller consisting of two integral proportional controllers
  • Optional external loop speed controller and reference current generator
  • Clarke, Park, and inverse Park transforms for conversion from stationary to rotating synchronous frames
  • A space vector modulator algorithm to transform vα and vβ commands into pulse-width–modulation signals applied to stator windings
  • Protection and auxiliary functions, including startup and shutdown logic
  • Optional observer to estimate the angular position of the rotor if sensorless control is desired


Figure 1. Block diagram of field-oriented control (Source: Mathworks)

Motor control engineers designing an FOC perform several tasks, including developing the controller architecture with two PI controllers for the current loop, optimizing all PI controllers’ gains to meet performance requirements, and designing a space vector modulator to control PWM.

Once the control algorithm is chosen (trapezoidal or FOC), the next step is to choose between an open-loop or closed-loop control system. In open-loop control, the synchronous motor (BLDC or BLAC) is driven via a control signal and is assumed to follow the commanded control action. In the closed-loop control system, the circuit is able to check whether the motor is moving as intended. If it is not, the control system automatically compensates for the over-or under-movement by reducing or increasing the current.

When using a closed-loop or open-loop (sensorless) control system, currents and voltages must be measured to be used as feedback signals. Figure 2 shows a typical measurement setup, suitable for both trapezoidal and sinusoidal control systems. By using trapezoidal control with a sensorless algorithm, the three-phase voltages are used by the sensorless algorithm to calculate the rotor angle.


Figure 2. ESC with sensorless motor control. On the right is the High-Speed Sensorless-FOC Reference Design for Drone ESCs by Texas Instruments, and on the left is its block diagram. (Source: Texas Instruments)

Quadcopter dynamics

The mechanical simplicity and aerodynamic stability of drones are linked to the coordinated use of motors and their maneuvers. In a quadcopter, the pair of motors positioned on the diagonal of the structure turns in the same direction but in the opposite direction to the other two motors. If all four motors turn at the same speed, the drone can climb, descend, or remain in level flight. If the diagonal pair turns faster than the other, the drone rotates around its center of gravity and remains in the same horizontal plane (Figure 3).

Drones use different combinations of rotor speeds to perform maneuvers
Figure 3. Drones use different combinations of rotor speeds to perform maneuvers. (Source: STMicroelectronics)

If you change the head (or tail) rotor’s speed, the drone will point up or down like a fixed-wing aircraft diving down. Left or right torque adjustment will cause the drone to roll, causing it to rotate about its axis. It is up to the flight control system of the drone to change the appropriate rotor’s speed to achieve the flight altitude required to complete the desired maneuver.

For a control engineer, speed correction is a common control loop feedback problem that is solved with a proportional, integral, derivative (PID) controller.

Designing an ESC

Designing an ESC for drones requires high-quality components specifically designed to control high RPM motors (12,000+ RPM). Texas Instruments has developed a family of MCUs, called InstaSPIN, that simplifies the design of three-phase motor control applications. InstaSPIN-FOC, suitable for sensorless systems, features a fast software encoder with torque and speed control suitable for any three-phase motor. InstaSPIN-MOTION is aimed at sensorless systems and provides position, speed, and torque control for any three-phase motor.

A complete reference design for these scopes is provided by TI and consists of InstaSPIN-FOC and InstaSPIN-MOTION motor control technologies. The platform includes a 32-bit TI C2000 InstaSPIN microcontroller. It allows developers to identify, automatically adjust, and control a three-phase motor, quickly providing a stable and functional motor control system.

STMicroelectronics offers a complete ESC reference design, implementing a sensorless FOC algorithm. The STEVAL-ESC001V1 ESC reference design is suitable for entry-level commercial drone designs and drives any three-phase brushless motor (or PMSM) powered by 6S LiPo battery packs or any equivalent DC power supply, up to 30 A peak current. STEVAL-ESC001V1 allows designers to quickly develop their application thanks to a complete pre-configured firmware package (STSW-ESC001V1), implementing a sensorless field-oriented controlled algorithm with three-shunt current reading, speed control, and full active braking. The STSW-ESC001V1 firmware/software package plus the STM32 PMSM FOC software development kit MC library allows optimizing the ESC design by acting on the FOC parameters embedded in an STM32 MCU and exploits the ST motor profiler to quickly retrieve the relevant motor parameters. ST’s sensorless FOC algorithm can be adapted to any three-phase BLDC or PMSM motor application, providing longer flight times and optimal dynamic performance (Figures 4 and 5).


Figure 4. Block diagram of ST’s STEVAL-ESC001V1 solution (Source: STMicroelectronics)


Figure 5. ST’s STEVAL-ESC001V1 board (Source: STMicroelectronics)

The HoverGames drone development platform is a modular and flexible NXP hardware/software solution that can be used to build any autonomous vehicle, from drones and rovers to UAVs. The development kit is essentially based on a microprocessor with Linux and Open CV and various accompanying sensors to guide the flight.

The flight controller ensures that the drone remains stable. The board is open-source with the possibility to insert other external sensors to optimize operations according to the functionality.

A LiPo battery and country-specific telemetry radio must be implemented using one of the IoT connections. For a full functionality of the kit, you will need to select which of the two available telemetry radios to purchase. Through telemetry, you can have a live connection to the vehicle during flight and can see the status of the drone during flight, load, and control autonomous waypoints and make any necessary changes. Telemetry data is sent to the control station but also stored onboard in the flight unit.

Kit components also include DC-to-DC power module, GPS NEO-M8N module with mount, safety switch, buzzer, bright RGB status LED, SEGGER J-Link EDU Mini/FTDI USB-TTL-3V3 cable/debug breakout board with cable, BLDC brushless motors 2212 920 kV, and ESC motor controllers 40 A OPTO (Figure 6).


Figure 6. RDDRONE-FMUK66 flight unit (Source: NXP)

>> This article was originally published on our sister site, Power Electronics News.


Related Contents:

For more Embedded, subscribe to Embedded’s weekly email newsletter.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.