Research

Back EMF-Based Speed Sensing for BLDC Motors in UAVs | McGill Aerospace Mechatronics Lab

  • system integration
  • pcb design
  • rc filter design
  • testing
  • 2020

Overview

This project focused on designing a non-intrusive RPM sensing solution for Brushless DC (BLDC) motors used in unmanned aerial vehicles (UAVs). The goal was to provide real-time motor speed feedback to a flight controller or data acquisition unit without modifying the motor or interfering with normal UAV operation.

The approach uses back electromotive force (BEMF), a voltage naturally induced in BLDC motor windings which is proportional to motor speed.

Problem & Constraints

Accurate speed measurement is critical for UAV control, data logging, and motor–propeller characterization. However, common sensing methods for RPM such as Hall sensors and shaft encoders are poorly suited for flight due to added mass, mechanical integration, and susceptibility to interference.

The system was designed to:

  • Avoid bulky/intrusive modifications to the UAV
  • Operate in real time with minimal latency
  • Be compatible with UAV flight controllers and DAQs

Approach & Design

To characterize the BEMF signal, experiments were conducted on two target application setups:

  1. A quadrotor UAV platform
  2. A motor thruster test stand

Test Setup

Testing across the full motor speed range revealed significant DC offset and high-frequency noise from ESC switching. To extract usable signal content, a second-order passive RC band-pass filter was designed to attenuate noise while preserving frequency information.

For output flexibility, two sensing modalities were implemented:

  • Digital output: An op-amp comparator with rectification produces a square wave matching the BEMF frequency, enabling RPM calculation via microcontroller interrupts.
  • Analog output: A frequency-to-voltage integrated circuit generates a voltage proportional to motor speed, suitable for DAQs and hardware simulation.

Both solutions were implemented as custom PCBs designed in Altium Designer, as shown in the figure below. Solutions

Validation & Results

To verify functionality and operating range, an Arduino Uno was programmed to read each output type, compute RPM, and display results on an LCD. The measured RPM values were consistent with the commercial solution benchmark, indicating that the filtered BEMF signal provided a reliable basis for speed estimation. Output Results

This work was presented as a SURE poster symposium project and developed as a functional prototype intended for future UAV integration.

Full Poster

Link to Poster