1. Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
    Dismiss Notice

BLDC Commutate to known start position

Discussion in 'Robotics & Mechatronics' started by poofjunior, Mar 10, 2015.

  1. poofjunior

    poofjunior New Member

    Joined:
    Jun 1, 2014
    Messages:
    13
    Likes:
    0
    Hey everyone, I'm looking at brushless dc motor control theory with the idea of building my own for position control. Here's my set of parts so far:
    I'm looking at the waveforms and understanding the general idea right now. So far, here's what I've got

    This timing_diagram picture from elabz.com shows the desired output current for a given location in electrical degrees to maximize the torque on the rotor to get it to rotate. (In reality, this pattern is repeated 7 times to get a full rotation on my three-phase motor with 7 pole pairs.) According to the application note from Microchip, "maximum torque is obtained when the permanent magnet rotor is 90 degrees away from alignment with the stator magnetic field," and I'm assuming that the timing_diagram is telling me exactly that.

    I've got two questions, though:
    1. If max torque is produced by applying the appropriate waveform for the given angle in the diagram, does that waveform only apply to getting the rotor to turn in one direction? If so, do I reverse direction of the rotor by applying the inverse of the value displayed in the diagram (so as to apply the max torque in the opposite direction?)
    2. I'm using a pretty good encoder, but it's incremental. How do I commutate to a known position such that I know where I'm at to begin with?
    Thanks for the hand!
     

    Attached Files:

    Last edited: Mar 10, 2015
  2. Tony Stewart

    Tony Stewart Well-Known Member Most Helpful Member

    Joined:
    Aug 31, 2012
    Messages:
    3,151
    Likes:
    281
    Location:
    Richmond Hill , ON Canada near Toronto
    The permanent magnets will stop the motor in one of the poles anyway, so what's the point?

    As long as the Hall sensor is not misaligned, it will start. Otherwise, failures are known to occur, especially in cheap fans, where one of the positions the fan will just dither back and forth or do nothing until assisted.

    Yes 3 phases are reversed for reverse direction.
     
    Last edited: Mar 12, 2015
  3. poofjunior

    poofjunior New Member

    Joined:
    Jun 1, 2014
    Messages:
    13
    Likes:
    0
    In my case, I'm actually building up the controller from scratch.

    I think I may have been able to answer my questions from some reading, though.

    For the first question, I should be able to just invert the values presented in the graph for the given position.

    For the second question, I may be able to pick any value on the graph, and apply those current values and hold them long enough for the stator flux vector to align with the nearest pole. In this configuration, once the two vectors align, I'm getting no torque, but I now know where the rotor is relative to the stator field so that I can start the correct commutation sequence. In this case, once both vectors are aligned, I can proceed into commutation with a value (from the graph) that is 90 electrical degrees offset from the previous value that I used to align the two vectors.

    I could have the wrong idea about how sensored, closed-loop, control works on these motors as I look into building my own, but let me know if this doesn't make sense.
     
  4. dave

    Dave New Member

    Joined:
    Jan 12, 1997
    Messages:
    -
    Likes:
    0


     
  5. Tony Stewart

    Tony Stewart Well-Known Member Most Helpful Member

    Joined:
    Aug 31, 2012
    Messages:
    3,151
    Likes:
    281
    Location:
    Richmond Hill , ON Canada near Toronto

    For single direction single phase BLDC control , I believe the Hall sensors are positioned just before the point where torque changes direction and in some cases. factory misalignment causes a dead-spot unless nudged. For bidirectional BLDC control, one would need to switch commutation early on either side of this dead spot. Perhaps more Hall sensor hysteresis centred or two sensors... Just guessing for use without position feedback. For 3 phase bidirectional control, these issues go away as only one phase can have a dead spot.
     

Share This Page