2013-08-15 06:37 AM
I am working on a BLDC motor implementation. The motor has 4 Pole Pairs with 3 hall sensors.
I am storing the time between any successive hall sensor interrupt. The time between hall sensor interrupts is (TIMER * LSB) where my LSB is microseconds The total time for one mechanical revolution of the motor is T = (TIMER * LSB) * 6 * NUMBER_OF_POLE_PAIRS The rotation rate, in degrees per second, is therefore (360*1000000)/T which is 60,000,000 / ( (TIMER * LSB) * NUMBER_OF_POLE_PAIRS) Notice that the last equation is missing the factor of 6 in the denominator. What I’m finding is that the rotation rate is correct if I still have the 6 in the denominator, which doesn’t make sense to me. Help!