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 103 – Keenan Wyrobek

  20 Dec 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Keenan Wyrobek from Zipline about drones for delivering life-saving medicine to remote locations.

Robot Talk Episode 102 – Isabella Fiorello

  13 Dec 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Isabella Fiorello from the University of Freiburg about bioinspired living materials for soft robotics.

Robot Talk Episode 101 – Christos Bergeles

  06 Dec 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Christos Bergeles from King's College London about micro-surgical robots to deliver therapies deep inside the body.

Robot Talk Episode 100 – Mini Rai

  29 Nov 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Mini Rai from Orbit Rise about orbital and planetary robots.

Robot Talk Episode 99 – Joe Wolfel

  22 Nov 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Joe Wolfel from Terradepth about autonomous submersible robots for collecting ocean data.

Robot Talk Episode 98 – Gabriella Pizzuto

  15 Nov 2024
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.

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

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

Robot Talk Episode 97 – Pratap Tokekar

  08 Nov 2024
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.





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