AnsweredAssumed Answered

Problem about BLDC hallEdgePeriod

Question asked by 歌 苏 on Nov 16, 2017


   I use the AN4718SW to control BLDC motor with Hall sensor,and I have some problems about hallEdgePeriod which are  used to caculate actual speed as the following way:


period6ZC = hallEdgePeriod[1] + hallEdgePeriod[2] + hallEdgePeriod[3] + \
hallEdgePeriod[4] + hallEdgePeriod[5] + hallEdgePeriod[6];

actualSpeed = SPEED_CALC_NUMERATOR / period6ZC;


I have two problems:

  • 1、When the speed  in 500,1000,2000,2500RPM the hallEdgePeriod is correct,but when speed exceed 2500 ,for example 3000RPM ,there some wrong about  hallEdgePeriod as the following picture show,the hallEdgePeriod[2] and hallEdgePeriod[4]'s value suddenly become smaller,the hall sensor  works normally.


  • 2、Why hallEdgePeriod 1,3,5 and hallEdgePeriod 2,4,6 have similar value that are vary widely. Shouldn't it be the same?