# BLDC's number of positions

Given a 12-pole, 14-stator, 3-phase BLDC, how many possible positions are there? Since each stator could be aligned to each pole, there'd be a maximum of 14*12 = 168 positions. But how many of these are overlaps?

The reason I'm asking is that I'm trying to adapt the code here from a 9-stator, 12-pole BLDC to 14-stator, 12-pole.

EDIT: Mine's a 12-pole, 14-slot BLDC instead!

• It can be any position. You are not limited to the pole alignments. It can be between the poles too. – Eugene Sh. Oct 27 '16 at 14:20
• @EugeneSh. According to this, the 9-stator, 12-pole BLDC gives 36 positions though. I guess it assumes each "position" must be an alignment? – John M. Oct 27 '16 at 14:23
• Probably. But you BLDCs are often controlled using some sort of sine waves exciting the windings, giving an analog precision to the positioning (limited by the position sensor feedback resolution, of course). – Eugene Sh. Oct 27 '16 at 14:25
• @EugeneSh. Yes, I think that's what the code does. However, it mentions that there're 36 positions, but in the end it generates a PWM array of length 48. Does that mean the number of "positions" isn't important in this context? – John M. Oct 27 '16 at 14:33

## 2 Answers

Brushless motors that use 3 hall sensors to provide position feedback to the control are generally controlled by "trapezoidal" (also called "6 step") commutation schemes. The reason it is sometimes called 6 step commutation is because the 3 hall sensors go through 6 different states for every electrical revolution of the motor. Note that I said electrical revolution, not mechanical revolution. Every time your rotor rotates from a north to south pole and back to a north pole, that is 1 electrical revolution. So on a 2 pole motor, the 1 mechanical revolutions equals 1 electrical revolution. But on a 4 pole motor, 1 mechanical revolution equals 2 electrical revolutions. In general, you can say that for every mechanical revolution the rotor will rotate (the number of poles divided by two) electrical revolutions.

In a motor with 9 stator slots and 12 magnet poles, the number of electrical revolutions in 1 mechanical revolution will be 12 / 2 = 6. And since there are 6 steps in every electrical revolution, you will have 6 x 6 = 36 steps in every mechanical revolution. Since the motor you are adapting this code to is also a 12 pole motor, it will also have 36 steps for every mechanical revolution. (I will note, though, that a 12 pole, 14 stator slot motor isn't going to work if the motor has 3 phases. For a 3 phase motor, you need a multiple of 3 for your number of stator slots. Are you sure you don't mean 14 pole, 12 stator slot? If so, then you will have 7 x 6 = 42 steps.)

Also note that this is a different concept than the number of cogs per revolution. If you rotate the motor by hand and feel it cog, the number of cogs per revolution is going to depend on both the number of magnet poles and the number of stator slots. The # of cogs per revolution is equal to the least common multiple of the number of poles and the number of stator slots.

• You're right! It's 14-pole, 12-slot. Does that mean the number of slots doesn't affect the number of total steps then? In the link, there're 36 steps but they settled with a PWM array of length 48 - shouldn't the length be 36 instead if there're 36 steps? – John M. Oct 28 '16 at 12:52
• It appears that the author is not doing a true 6 step commutation scheme but is using a look up table of sine wave values. The 48 length PWM array is just how he quantized the look up table. Too few values and your sine wave isn't very smooth. Too many values and you have too long of an array to be able to work with easily. – Eric Oct 28 '16 at 13:24

The only thing that is important is that is has three phases, and that the ESC drives them 120 degrees apart.

The number of poles on rotor and stator controls the motor's speed, and their overlap its tendency to cogging.