low-speed positioning of brushless dc motor
low-speed positioning of brushless dc motor
(OP)
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 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
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
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
RE: low-speed positioning of brushless dc motor
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
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,
Sreid:
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
RE: low-speed positioning of brushless dc motor
RE: low-speed positioning of brushless dc motor
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 again!
RE: low-speed positioning of brushless dc motor
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