I have a question regarding calculating the ticks in a sensored BLDC. The BLDC has three hall effect sensors with slightly differing phasing and there are 30 magnets in 360 degrees of wheel rotation. I have seen coding examples where two hall effect sensors are used to calculate the ticks by incrementing or decrementing depending of the value of both signals. For example this:


Right now, I’m just using the signal of two hall effect sensors to calculate the ticks and seems to be working fine.

My question is: Should I use the three signals? Or it is enough with two to know when to decrement or increment the ticks.

  • 2
    $\begingroup$ The engineering answer would be, if it is working don't even think to touch it. But the actual question is what you would like to do. Adding the 3rd signal is going to give you more accuracy. On the other hand I assume it is much more complicated to implement something like this. I had only two signals and it worked pretty fine. $\endgroup$
    – nionios
    Sep 1 '19 at 20:02
  • 1
    $\begingroup$ I agree with nionios. If you need more accuracy then yes. If you are within your desired accuracy then why bother. $\endgroup$
    – 50k4
    Sep 2 '19 at 14:50

To measure position more accurately you need to use all three. They are used for choosing which motor phase to energise, which is called commutation. Searching for "6 step commutation" will give you lots of diagrams and info on how to estimate position this way.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.