Robohub.org
 

Controlling a brushless DC motor with no encoders


by
05 January 2015



share this:
copley_CME_2_autoPhaseHallConfig

This is just a quick post on controlling DC brushless motors with no encoders. This post applies to brushless motors that typically use hall sensors for commutation. This post does not apply to the hall-less ESC (electronic speed control) motors that typically run at very high speeds and are used for things such as quadcopters and boats.

To go back to basics, brushless motors have three phases (typically) that need to be commutated. The motor controller typically knows how to commutate the motor by having a hall effect sensor on each of the three phases. The problem is, when starting from a stop (no motion) or when operating at “slow” speeds, the controller does not have all of the information it needs to optimally commutate the motor. To get that added information the controller wants to use an encoder for the higher resolution. Using the encoder, the motor controller can now know exactly where the motor is for better control. This means a few things:

  • The motor can spin a little and figure out how to commutate without waiting for the 3 hall effect sensors to change. This improves the starting of motion.
  • The controller can know the precise position so that it can servo on a position and not jerk/move as it tries to hold a position.
  • You can now do position control.
  • The commutation and torque/speed profiles are more efficient since the controller has position feedback and can do sinusoidal commutation instead of the more basic trapezoidal commutation.

So you are now in a position where you have just the halls and no encoder. What can you do about it:

  1. Only operate at high speeds so that the hall sensors are sufficient for speed control (you might still have a high variability in your speed based on applied load).
  2. You will need to tune the PID (or PI or PD) filter more than normally. The PID constants will often need to be much higher (I have seen 1000 times higher) to compensate for disturbances in the motor. You will probably also need the higher gains to help the motor start to spin.
  3. This is a bit of a hack but on most hall sensors (assuming it can source enough current) you can tie two of the halls to the quadrature encoder inputs on the motor controller to get a rough uneven position control. That can also respond to changing loads.
  4. Instead of issuing a “servo here” command to hold a position, you will probably need to disable motion (cut off power to motor). If you are in an application where backdriving a motor is fine or where your gearing provides sufficient holding torque this could be ok.

When you are purchasing your motor controller you should check if it can support hall based feedback only. Some controllers do better than others at handling the lack of encoder feedback.



tags:


Robots for Roboticists David Kohanbash is a Robotics Engineer in Pittsburgh, PA in the United States. He loves building, playing and working with Robots.
Robots for Roboticists David Kohanbash is a Robotics Engineer in Pittsburgh, PA in the United States. He loves building, playing and working with Robots.





Related posts :



Robot Talk Episode 126 – Why are we building humanoid robots?

  20 Jun 2025
In this special live recording at Imperial College London, Claire chatted to Ben Russell, Maryam Banitalebi Dehkordi, and Petar Kormushev about humanoid robotics.

Gearing up for RoboCupJunior: Interview with Ana Patrícia Magalhães

and   18 Jun 2025
We hear from the organiser of RoboCupJunior 2025 and find out how the preparations are going for the event.

Robot Talk Episode 125 – Chatting with robots, with Gabriel Skantze

  13 Jun 2025
In the latest episode of the Robot Talk podcast, Claire chatted to Gabriel Skantze from KTH Royal Institute of Technology about having natural face-to-face conversations with robots.

Preparing for kick-off at RoboCup2025: an interview with General Chair Marco Simões

and   12 Jun 2025
We caught up with Marco to find out what exciting events are in store at this year's RoboCup.

Interview with Amar Halilovic: Explainable AI for robotics

  10 Jun 2025
Find out about Amar's research investigating the generation of explanations for robot actions.

Robot Talk Episode 124 – Robots in the performing arts, with Amy LaViers

  06 Jun 2025
In the latest episode of the Robot Talk podcast, Claire chatted to Amy LaViers from the Robotics, Automation, and Dance Lab about the creative relationship between humans and machines.

Robot Talk Episode 123 – Standardising robot programming, with Nick Thompson

  30 May 2025
In the latest episode of the Robot Talk podcast, Claire chatted to Nick Thompson from BOW about software that makes robots easier to program.

Congratulations to the #AAMAS2025 best paper, best demo, and distinguished dissertation award winners

  29 May 2025
Find out who won the awards presented at the International Conference on Autonomous Agents and Multiagent Systems last week.



 

Robohub is supported by:




Would you like to learn how to tell impactful stories about your robot or AI system?


scicomm
training the next generation of science communicators in robotics & AI


©2025.05 - Association for the Understanding of Artificial Intelligence


 












©2025.05 - Association for the Understanding of Artificial Intelligence