EasyBLDC - Open Source Brushless Motor Driver for Aerial and Underwater Robotics
⚙️

EasyBLDC - Open Source Brushless Motor Driver for Aerial and Underwater Robotics

Tags
Research
PCB Design
Electronics
In Progress
Published
March 7, 2018
Author
Peter Buckley
Status
Date
Sep 4, 2024

 

Abstract

The EasyBLDC project is an independent study, conducted under the supervision of Dr. Whitaker at Montana State University. This project focuses on the development of an open-source brushless DC (BLDC) motor driver for propeller-thrust-based applications, with specific use cases being aerial and underwater robotics. The project addresses key limitations of existing off the shelf electronic speed control (ESC) solutions such as hobby drone ESCs, and the blue robotics ESCs common for use in underwater robotics. These ESCs suffer from several drawbacks, including a lack of board-to-board mounting capability and reliance on trapezoidal control algorithms. Board-to-board mounting is critical as robotics projects often require 4-12 ESCs. With 7 wires per ESC, hand wiring can quickly get out of hand. A board to board mounting system greatly reduces the need for hand wiring, crimping, and connectors, thereby simplifying assembly, reducing system complexity, and minimizing size. Additionally, the sensor-less trapezoidal control algorithm used by off the shelf ESCs leads to inconsistent power output, especially at lower speeds. This issue becomes particularly problematic in applications requiring slow, stable thrust, such as underwater robotics.
The proposed motor driver will offer a more robust and modular solution for propeller-thrust-based applications, providing improvements in modularity, power consistency, and ease of integration into various systems.

DC Motor Background

Brushed vs Brushless Motor

A brushless DC motor, also known as a BLDC motor, is a type of electric motor that operates without the mechanical brushes and commutator found in traditional brushed motors. The absence of brushes eliminates the friction and wear that occur in brushed motors, making brushless motors more efficient, longer-lasting, and more power dense than their brushed counterparts.
Gif showing the difference of functionality between brushed and brushless motors [1].
Gif showing the difference of functionality between brushed and brushless motors [1].
The primary advantage of brushless motors over brushed motors is their superior efficiency and reliability. Brushless motors generate less heat and can operate at higher speeds and torque. Because they don't rely on physical contact for the commutation process, energy losses are significantly reduced, resulting in a higher power-to-weight ratio. This makes them ideal for a wide range of applications, including drones, electric vehicles, and propeller-thrust-based systems, where efficiency and performance are critical.

Types of Brushless DC Motors

There are three main types of brushless DC motors, each distinguished by the configuration and location of the rotor and stator:
  • Inrunner: In this type, the rotor is the "moving component" located inside the stator. The stator remains stationary, and the rotor spins within it. Inrunner motors are commonly used in applications requiring high speed (rpm) and efficient torque output, such as remote control and electric vehicles.
3D cross-section of inrunner motor [2]
3D cross-section of inrunner motor [2]
  • Outrunner: In an outrunner motor, the rotor is located on the outside and surrounds the stationary stator. The outer casing of the motor rotates along with the rotor. Outrunners typically produce more torque at lower speeds compared to inrunners, making them ideal for applications like robotics and propeller based applications.
3D cross-section of outrunner motor [2]
3D cross-section of outrunner motor [2]
  • Disk (or Pancake Motor): This type of motor has a flat, disk-shaped rotor and stator. The design allows for a very compact form factor, making it suitable for applications with space constraints or where a low-profile motor is needed. Disk motors are often used in industrial equipment and hard drives where accuracy is critical.
3D cross-section of disk motor [2]
3D cross-section of disk motor [2]
Each type offers distinct advantages, and the choice of motor depends on the specific requirements of the application, such as speed, torque, and form factor. We will be focusing on outrunners for this project.

Brushed vs Brushless Motor Drivers

One of the key challenges with brushless motors is that they are harder to drive compared to brushed motors. In a brushed motor, the commutator automatically switches the direction of current flow to the rotor windings, ensuring continuous rotation. Brushless motors, on the other hand, require external electronic controllers to perform this commutation. These controllers must precisely time the switching of the current in the stator coils to keep the motor turning in sync with the rotor's position. This requires real-time feedback from sensors or advanced sensor-less control algorithms, adding complexity to the motor control system.

BLDC Control Algorithms

There are three primary methods used to control BLDC motors: Trapezoidal, Sinusoidal, and Field-Oriented Control (FOC). Each method offers trade-offs in terms of performance, efficiency, and complexity, and the best choice depends on the specific application.
  • Trapezoidal:
    • Trapezoidal control is the simplest and most commonly used control algorithm for BLDC motors. Most off the shelf ESCs use this algorithm. The algorithm works by powering the motor’s phases in six distinct steps approximating a trapezoidal waveform.
    • While the algorithm is computationally inexpensive, its on/off nature can generate torque ripple leading to vibration and noise. This makes it less suitable for precision or low speed applications.
Waveform of ideal trapezoidal phase current for a given stator commutation [3]
Waveform of ideal trapezoidal phase current for a given stator commutation [3]
  • Sinusoidal:
    • Sinusoidal differs from trapezoidal by driving the motor phases with sinusoidal waveforms. This smoother control method generates a rotating magnetic field that is more continuous and results in less torque ripple.
    • Sinusoidal control requires more precise timing and a higher computational load, as the waveforms need to be accurately generated and synchronized with the motor’s back EMF. This method is used as a medium complex and medium efficient algorithm.
Waveform of ideal sinusoidal phase current for a given stator commutation [3]
Waveform of ideal sinusoidal phase current for a given stator commutation [3]
 
  • Field-Oriented Control (FOC)
    • FOC is the most advanced of the three common algorithms. Unlike trapezoidal or sinusoidal control, which energize the motor’s phases based on predefined waveforms, FOC actively keep tracks the stators exact position. This allows for precise control of both torque and speed by decoupling the motor’s magnetic field into two components: one that controls the motor's flux and the other that controls the torque.
    • FOC is extremely efficient, especially at higher speeds, and results in the smoothest possible operation at lower speeds. However, it comes at the cost of greater computational complexity and more demanding hardware requirements.
Waveform of ideal FOC phase voltage for a given stator commutation in radians [4]
Waveform of ideal FOC phase voltage for a given stator commutation in radians [4]
 

Closed-Loop vs. Open-Loop Control

A common misconception with BLDC control systems is that Closed-Loop = Sensored and Open-Loop = Sensorless control. This notion is incorrect because BLDC systems always operate in a closed-loop fashion, as they rely on continuous knowledge of the stator position to achieve proper commutation and control. The closed-loop nature ensures that the system can adjust the current delivered to the motor based on feedback to maintain the desired performance.
In sensored systems, this feedback is provided by physical sensors such as Hall effect sensors or an encoder that directly measure the rotor’s position relative to the stator. These sensors give precise, real-time position data, making sensored control ideal for applications requiring high torque at low speeds or exact positioning.
In contrast, sensorless systems do not use physical sensors for rotor position feedback. Instead, they rely on detecting the back EMF (electromotive force) generated by the motor windings as the rotor moves. By analyzing the back EMF signals, sensorless controllers can infer the rotor’s position and adjust commutation timing accordingly. Although this method eliminates the need for physical sensors, it requires the rotor to be moving at a certain speed before the back EMF can provide reliable feedback, making it less effective at very low speeds or during startup.
Thus, both sensored and sensorless systems are still inherently closed-loop, as they adjust motor control based on feedback—whether from physical sensors or inferred from back EMF. The difference lies in how the stator position is determined, not in whether the system is open or closed-loop.

Version 1

notion image

Parts Selection

MCU: Texas Instruments C2000 with Instaspin-FOC (TMS320F28027FPTT)
I selected this microcontroller because of its compatibility compatible with TI’s Instaspin-FOC software solution. Many MCU manufactures offer a similar solution however, I am already familiar with TI’s MSP430 microcontrollers therefore I thought this would be an easier platform for me to learn.
Gate Driver: DRV8305
While Instaspin-FOC should theoretically be compatible with any brand of gate drive, there is only documentation and community support for use with Texas Instrument's DRV series of gate drives. I used the chart below to make my selection. I selected the DRV8305 as it was the only external gate driver that supported my wanted voltage range of 10V-30V.
TI Gate Driver Selection Chart [5]
TI Gate Driver Selection Chart [5]
Mosfets: CSD17573Q5B
The first step in selecting mosfets is to look at our gate drivers datasheet to find and the needed timings to determine the maximum gate charge .
DRV8305 drive current [6]
DRV8305 drive current [6]
DRV8305 drive times [6]
DRV8305 drive times [6]
DRV8305 Vgs [6]
DRV8305 Vgs [6]
The fastest possible drive time of the DRV8305 is , the maximum gate current is , and .
So our mosfets need to have a miller plateau of less than , , and
The CSD17573Q5B meets all these specifications while maintaining a compact size and very low to maximize efficiency. They are a bit more expensive than other options, however i think the benefits justify the higher price.
CSD17573Q5B miller voltage curve [7]
CSD17573Q5B miller voltage curve [7]
CSD17573Q5B Rds vs Vgs [7]
CSD17573Q5B Rds vs Vgs [7]
CSD17573Q5B absolute maximum ratings [7]
CSD17573Q5B absolute maximum ratings [7]

Design

The PCB design plays a critical role in the functionality of the EasyBLDC project due to its dense layout and high-current nature. High-current traces are particularly prone to interference from crosstalk, so special consideration was given to isolate these traces from digital signal lines. To manage this complexity, I divided the PCB into three distinct sections: the MCU, the gate driver, and the power stages. This segmentation helped to streamline the design and minimize interference between components.
The board features a four-layer stack up with a signal-power-ground-signal configuration, optimized for both electrical performance and manufacturability. Trace widths were carefully calculated to support the required currents, utilizing a standard 1.0-0.5-0.5-1.0 oz copper stack up.
For assembly, I selected hot plate soldering as the method, as it is accessible, fast, and easy to use. This decision required all components to be mounted on one side of the board to ensure compatibility with the soldering process.
The three design sections are shown below.
Board Layout
MCU (Green) - Gate Drive (Yellow) - Power Stage (Blue)
notion image
MCU Section Schematic
notion image
Gate Drive & Power Stage Schematic
notion image

Challenges with Version 1

Despite the thoughtful component choices, Version 1 faced significant challenges. TI’s documentation for implementing the SimpleSpin FOC algorithm was poorly written and difficult to navigate, making it hard to get the motor control software operational. Additionally, there were issues with the device not being recognized on the JTAG chain during debugging. These problems consumed a significant amount of time, and ultimately, the board was never fully operational. As a result, I couldn’t perform thermal or current load testing on Version 1. Around this time, TI released the MCF8329A chip, which offered a new approach to motor control and inspired the transition to Version 2.

Version 2

notion image

Design

Changes from Version 1
For Version 2, the goal was to simplify the hardware and software design while maintaining performance. I transitioned to TI’s MCF8329A chip, which integrates both the MCU and the gate driver into a single package. This drastically reduced the component count and streamlined the design. The MCF8329A also came with a significant advantage: it could be programmed and configured through a GUI provided by TI, eliminating the need to implement the complicated Insta-Spin library in Version 1. Programming now involved connecting the chip to the MSP430 on the EVM board via I²C, where motor parameters could be adjusted, and real-time data such as voltage levels, phase resistance, and response graphs could be viewed.
Switching from the DRV8305 and C2000 to the MCF8329A was a straightforward process. The new chip’s integrated architecture made the design simpler and more efficient, removing many of the complexities associated with the first version. With the addition of a user-friendly GUI for programming, Version 2 not only resolved the challenges of Version 1 but also introduced significant improvements in usability, reliability, and thermal performance.
PCB Improvements
In addition to simplifying the hardware, I made several improvements to the PCB design. The stack up was revised to a signal-ground-ground-signal configuration. This change improved thermal dissipation by increasing the copper available for power dissipation and enhanced signal integrity by allowing the signal layers to reference a dedicated ground plane. These changes addressed the thermal and electrical challenges encountered in high-current applications. Component placement and routing were also optimized to take advantage of the simplified hardware design.
 
Board Layout
notion image
MCU & Gate Driver Schematic
notion image
Power Stage Schematic
notion image
Connectors and Jumpers Schematic
notion image

Configuration (unfinished as of 12/13/2024)

Testing (unfinished as of 12/13/2024)

Video preview
Video preview
Video preview

References

Figures
[1] A. Ding, "8 things you need to know about electric desk frame motor," LinkedIn. [Online]. Available: https://www.linkedin.com/pulse/8-things-you-need-know-electric-desk-frame-motor-alex-ding/. [Accessed: Sept. 4, 2024].
[2] Oriental Motor, "Technical manual series: Types of brushless motors," Oriental Motor. [Online]. Available: https://blog.orientalmotor.com/technical-manual-series-types-of-brushless-motors. [Accessed: Sept. 4, 2024].
[3] Texas Instruments, "Demystifying BLDC motor commutation: Trap, Sine, & FOC," TI.com. https://www.ti.com/video/6216805428001 [Accessed Sept. 22, 2024].
[4] SimpleFOC, "FOC Theory," SimpleFOC Documentation. https://docs.simplefoc.com/foc_theory [Accessed Sept. 22, 2024].
[5] Texas Instruments, "Integrated Control BLDC Drivers Overview," Texas Instruments Documentation. https://www.ti.com/motor-drivers/brushless-dc-bldc-drivers/integrated-control-bldc-drivers/overview.html [Accessed Dec. 13, 2024].
[6] Texas Instruments, "DRV8305 Datasheet," Texas Instruments Documentation. https://www.ti.com/lit/ds/symlink/drv8305.pdf [Accessed Dec. 13, 2024].
[7] Texas Instruments, "CSD17573Q5B Datasheet," Texas Instruments Documentation. https://www.ti.com/lit/ds/symlink/csd17573q5b.pdf [Accessed Dec. 13, 2024]. Text References
Texas Instruments, "Brushless-DC motor control made easy," Texas Instruments, SLVAES1A, June 2020. [Online]. Available: https://www.ti.com/lit/an/slvaes1a/slvaes1a.pdf?ts=1725402477971&ref_url=https%253A%252F%252Fwww.ti.com%252Fmotor- drivers%252Fbrushless-dc-bldc-drivers%252Foverview.html. [Accessed: Sept. 4, 2024].
Diodes Incorporated, "Driving brushed DC motors," Diodes Incorporated. [Online]. Available: https://www.diodes.com/design/support/technical-articles/driving-brushed-dc-motors/. [Accessed: Sept. 4, 2024].
Texas Instruments, "Best Practices for Board Layout of Motor Drivers" Texas Instruments, SLVA959B, Feb. 2022. [Online]. Available: https://www.ti.com/lit/an/slva959b/slva959b.pdf?ts=1725460159684. [Accessed: Sept. 4, 2024].
Texas Instruments, "3-phase brushless DC motor drive reference design using DRV8301 and InstaSPIN-FOC," Texas Instruments, TIDUAK1, May 2014. [Online]. Available: https://www.ti.com/lit/ug/tiduak1/tiduak1.pdf?ts=1720802568328. [Accessed: Sept. 4, 2024].
Renesas Electronics, "Motor algorithms," Renesas. [Online]. Available: https://www.renesas.com/us/en/key-technologies/motor-control/motor-algorithms. [Accessed: Sept. 4, 2024].
Texas Instruments, "Overview of motor control topologies and evolution," Texas Instruments, SLYP711, Nov. 2020. [Online]. Available: https://www.ti.com/lit/ml/slyp711/slyp711.pdf?ts=1725552296956. [Accessed: Sept. 4, 2024].