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 + hallEdgePeriod + hallEdgePeriod + \
hallEdgePeriod + hallEdgePeriod + hallEdgePeriod;
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 and hallEdgePeriod'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？