# BLDC Commutate to known start position

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

1. ### poofjuniorNew 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:

• ###### timing_diagram.png
File size:
59 KB
Views:
315
File size:
393.3 KB
Views:
370
Last edited: Mar 10, 2015
2. ### Tony StewartWell-Known MemberMost 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. ### poofjuniorNew 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.

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

5. ### Tony StewartWell-Known MemberMost 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.