Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here


low-speed positioning of brushless dc motor

low-speed positioning of brushless dc motor

low-speed positioning of brushless dc motor

Anyone know the best control technique for low-speed positioning of a brushless dc motor?  I'm trying out a dsPIC to learn a little about controlling BLDC motors.  So far I can easily control the commutation and velocity, but I'm not sure about slow-speed operation and position holding.  My system is using the typical 6 PWM signals and has hall feedback.  Eventually I'll build a system which also utilizes the quadrature encoder as well.  

RE: low-speed positioning of brushless dc motor

The sensorless BLDC motor doesn't work well at low speed:
The back-EMF is too noisy.

With position sensor you can work at low speed, of course
the amount of cogging and the positional accuracy depend on the resolution of the sensor.

Hall is low resolution.

RE: low-speed positioning of brushless dc motor

Thanks nbucska,
I have a 1000 count per revolution (x1 mode) optical encoder.  This gives a very high resolution positioning information.  What I don't really understand it the technique used to move the motor very slowly.  With PWM of the driving FETs, I can't seem to get the motor to move slowly with high torque, which is what you would need for a positioning application, right?  Any thoughts?

RE: low-speed positioning of brushless dc motor

well, you can get more torque with servo motors.

About positioning:
Assume 2 pole ( N & S) perm. magnet rotor, 3 phase stator
and no load. You may drive the coils with analog or PWM.

If Ix is on and Iy =0 the rotor will line up with
phase X. If Ix = Iy, the rotor will be halfway between X
and Y. Since the attraction changes with the position,
for each current ratio there is a position when the forces
are balanced. The position vs current ratio is closer to linear in the
case of servo motor.

You can linearize it with feedback control system
unless the torque is unsufficient.

RE: low-speed positioning of brushless dc motor

whats the difference between a BLDC and a servomotor.... thought they were one in the same!

RE: low-speed positioning of brushless dc motor

Within the industry, BLDC has come to mean Hall/6 step comutation.  AC servo is usually used for Sine drive brushless servos.

A motor is a voltage controlled speed device.  In order to control position you have to implement a position loop feedback controller.  In the simple implementation, you keep track of the motor position by counting encoder pulses.  The target position is subtracted from the actual position to determine the error.  The error is multiplied by some gain factor and that is used to set the voltage on the motor.

In order to make things work really well, it gets more complicated (using current loop control and adding Integral and Derivative Gain).

RE: low-speed positioning of brushless dc motor

The servo motor is a precision DC or BLDC motor designed
for positioning application. Here it is important to
design the geometry of the poles so that the torque
generated by a given pole changes as linearly as possible
with the position relative this pole. This assures
that the torque is close to constant if the sum of
the currents in two adjacent poles is constant,

Within some -- not all -- industries.
About the rest:
Not exactly voltage controlled speed  I would
say current controlled torque. ( including R, back-EMF,
mass, etc into the model)

<nbucska@pc33peripherals.com> omit 33 Use subj: ENG-TIPS
Plesae read FAQ240-1032

RE: low-speed positioning of brushless dc motor

The position loop with optical encoder (x4 mode is preffer) with trapezoidal (i.e. Halls based commutation) allows to reach required accuracy (depends from encoder resolution) with positioning - see Elmo, Copley Controls,AMC servo amps.

RE: low-speed positioning of brushless dc motor

how would a permanent magnet synchronous motor differ from the BLDC?  Also, I am currently testing out the  PICDEM MC LV Development Board (DSC) from Microchip Technology, because it was a cheap way for me to evaluate the BLDC control technology.  Would positioning be possible with this kind of driver stage?  (assuming the quad encoder is used)

RE: low-speed positioning of brushless dc motor

Any BLDC motor can be used as servo motor but perhaps
with less accuracy, more torque variation vs. position,
longer settling time etc. The servo-motor was optimized for
positioning, the common BLDC for some other application.

RE: low-speed positioning of brushless dc motor


Permanent-magnet synchronous motor (PMSM) is a technical term. Brushless DC (BLDC) motor is a marketing term, and hence not so precise. You will see IEEE technical papers written about PMSMs by engineers for companies who sell BLDC motors and AC servo motors (PMSMs encompass both.)

The term "brushless DC motor" was invented by marketing people to sell the idea that this motor with the appropriate drive could be a drop-in replacement for a brush DC motor and drive. Technically, it's a horrible name, because a BLDC motor is an AC motor. That is, for movement in one direction, you must feed the motor AC voltages and currents. Fundamentally, these were AC synchronous motors, usually with a permanent magnet field, with one or two feedback devices (halls, tach, resolver, encoder) attached to govern the commutation and possibly servo control.

The early systems were square-wave ("six-step" for 3-phase) commutated off the hall sensors for reasons of simplicity. The motors were typically "trapezoidally wound" -- that is, their back-EMF profiles were roughly trapezoid-shaped -- to minimize torque ripple with square-wave commutation.

Starting with high-precision servo systems, these systems increasingly employed sinusoidal commutation working off a high-resolution feedback device such as a resolver or an optical encoder. The motors optimized for this scheme are "sinusoidally wound", with sinusoidal back-EMF profiles, more like the old AC synchronous motors designed to operate off the AC lines. Marketing groups tend to call these "brushless AC" motors, or "AC servo" motors for positioning applications. But these motors really only differ subtly from "brushless DC" motors in their winding patterns.

In servo systems, the pendulum has swung very heavily toward the sinusoidally wound motors with sinusoidal commutation, because you already have the high-resolution position sensor for the servo loop, so the added cost of the sinusoidal commutation algorithm is minimal. In systems without a high-res sensor, six-step commutation off hall sensors with trapezoidally wound motors (which offer higher average torque in the same frame, but higher torque ripple) are still pretty common.

Curt Wilson
Delta Tau Data Systems

RE: low-speed positioning of brushless dc motor

Thanks cswilson!  You earned your tipmaster star!  I'll have to do some more reasearch on the sinusoidal control it seems.  Although it sounds similar to how you would microstep a stepper motor (currents are sinusoidal when motor is spinning).  That at least I have a lot of experience with.  If not, well, I'll just have to learn something new. :)

thanks again!

RE: low-speed positioning of brushless dc motor

For closed-loop sinusoidal commutation of a PMSM, you get the rotor's field angle by reading the encoder (properly referenced -- I'll get to that in a moment) and setting the stator's magnetic field orientation perpendicular to that, in the direction you want to create torque. The magnitude of the stator's magnetic field is determined by the servo loop, and can vary cycle to cycle.

In microstepping, by contrast, you set the stator's magnetic field orientation based on your commanded position. The magnitude of the field is constant, at least in a piecewise sense. You don't know the rotor's orientation, so you carefully characterize your command trajectory so as to keep the angle between the two fairly small (usually within 30 degrees electrical) in normal operation. Limiting yourself to a nominal 30 degrees gives you a 2-to-1 margin, since torque per unit current is proportional to the sine of the angle between the rotor and stator fields.

Using feedback in the closed-loop commutation permits us to run always at the optimum 90 degree angle, which you dare not ever do in an open-loop technique like microstepping.

For the closed-loop commutation, you need to know the rotor's orientation in an absolute sense. An incremental encoder cannot give this to you. Many people use the hall sensors on power up for an approximate sense, then correct on the first hall signal edge encountered, or the encoder's index channel.

Curt Wilson
Delta Tau Data Systems

RE: low-speed positioning of brushless dc motor

where might I find out more about the control interface, the PWM, etc.  Is there a good book you might recommend?

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


eBook - Mastering Tolerances for Machined Parts
When making CNC machined parts, mastering tolerances can be challenging. Are general tolerances good enough? When does it make sense to call out for tighter tolerances? Do you need a better understanding of fits, datums, or GD&T? Learn about these topics and more in Xometry's new e-book. Download Now
eBook – How to Choose the Correct Corrosion Testing Method
When designing a metal component, engineers have to consider how susceptible certain alloys are to corrosion in the final product’s operating environment. In a recent study by NACE (National Association of Corrosion Engineers), it was estimated that the direct and indirect costs of corrosion in the United States is approximately 6.2% of the GDP. In 2016, that cost exceeded $1 trillion dollars for the first time. Download Now

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close