Don't have time for a long reply right now (and this topic really
needs a long reply).  Short reply below:

On Sat, 24 Apr 2010 15:23 +0100, "Andy Pugh" <[email protected]>
wrote:
> Does anyone know how to set up BLDC motor control?
> 
> I have a number of phase/step tables, one for a different motor to the
> one I am trying to drive, one for the driver chip on the driver board
> I have, and one from the board manufacturer.
> 
> Firstly, the generic BLDC motor data sheet defines a set of Hall
> patterns and phase high/low setups, For example:
> Step 1, H1 = 1, H2 = 0, H3 = 0, A = +, B = -, C = X
> 
> I am not entirely sure what this means in the context of a motor.
> Certainly applying +V to A and -V to B moves the motor, but not to a
> position where the Hall sensors are 100, in fact they are 001,
> corresponding to the step3 pattern.
> 
> Perhaps the table shows how to energise the motor for maximum forwards
> torque at that Hall code?
> 
> To complicate the matters, the drive board (which I am only trying to
> use to spin the motor, and to test a few things out at low cost) is a
> Bodine, and that seems to have a very odd pattern, The PCB swaps two
> Hall signals between the PCB connector H1 H2 H3 connections and the
> Driver IC H1 H2 H3 and inverts one of them with a transistor. I
> suspect an attempt to make their motor/drive combinations proprietary,
> as all Hall signals high is a valid code in their table.
> I have previously rewired the board to remove the inversion, and wire
> up to the connector with signals swapped when playing with the little
> motor above. That motor runs nicely and quietly, makes good torque,
> but runs more slowly than I would expect.
> 
> To further complicate matters, the servo motor I am  experimenting
> with has no Hall signals at all. I am creating them in software from
> the Resolver position feedback. This means I have total freedom of
> Hall code pattern, but little idea where to start.
> 
> If I, for example, apply +V to A and -V to B, the motor goes to a
> certain position (well, one of three, as it is a multi-pole motor).
> Presumably the Hall code at that point needs to be one that will cause
> the driver IC to activate high-side and low-side drivers in such a way
> as to move the motor to some other location?
> If so, how far round should I go?

Usually you want to apply a current to the motor that is 90 electrical
degrees ahead of where the motor is.  On a multi-pole motor, that may
only be 45, 30, or fewer mechanical degrees.

To get mathemetical, the torque on the rotor is equal to the product
of the strength of the rotor magnetic field (from permanant magnets),
the strength of the stator field (from the stator current), and the
sine of the angle between them.


> If this is the table of motor positions:
> 
> 1 = A+ B- CX
> 2 = A+ BX C-
> 3 = AX B+ C-
> 4 = A- B+ CX
> 5 = A- BX C+
> 6 = AX B- C+
> 
> Would I set up the Hall code for motor-position-1 to set the driver IC
> in such a way to drive it to position 2 or 3? (4 presumably would be
> wrong, and 5 and 6 reverse?)
> 
> As a supplementary question for the distant future: If you are driving
> such a motor with three-phase PWM at a software-calculated phase angle
> then am I right to assume that you wouldn't use the current encoder
> angle as the PWM phase angle, as then all you do it hold the motor in
> its current position, but would instead add or subtract a "lead
> angle"? I can imagine trying to do that in HAL and having the encoder
> angle wrap correctly being fun in HAL.
> 
> I see that there are Clarke transform components in HAL, but I am
> unclear how you would use them for this so assume they are for
> something else?

Those transforms are used when you are doing motor control with three
phase sine waves, instead of simply driving two terminals and letting
the third one float.


John Kasunich
-- 
  John Kasunich
  [email protected]


------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to