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 98 – Gabriella Pizzuto

In the latest episode of the Robot Talk podcast, Claire chatted to Gabriella Pizzuto from the University of Liverpool about intelligent robotic manipulators for laboratory automation.
15 November 2024, by

Online hands-on science communication training – sign up here!

Find out how to communicate about your work with experts from Robohub, AIhub, and IEEE Spectrum.
13 November 2024, by

Robot Talk Episode 97 – Pratap Tokekar

In the latest episode of the Robot Talk podcast, Claire chatted to Pratap Tokekar from the University of Maryland about how teams of robots with different capabilities can work together.
08 November 2024, by

Robot Talk Episode 96 – Maria Elena Giannaccini

In the latest episode of the Robot Talk podcast, Claire chatted to Maria Elena Giannaccini from the University of Aberdeen about soft and bioinspired robotics for healthcare and beyond.
01 November 2024, by

Robot Talk Episode 95 – Jonathan Walker

In the latest episode of the Robot Talk podcast, Claire chatted to Jonathan Walker from Innovate UK about translating robotics research into the commercial sector.
25 October 2024, by

Robot Talk Episode 94 – Esyin Chew

In the latest episode of the Robot Talk podcast, Claire chatted to Esyin Chew from Cardiff Metropolitan University about service and social humanoid robots in healthcare and education.
18 October 2024, by





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


©2024 - Association for the Understanding of Artificial Intelligence


 












©2021 - ROBOTS Association