Hi,
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?