请教个霍尔转速测量的问题。

2019-07-18 15:17发布

请教下各位高手:
FOC库里面的s16 HALL_GetRotorFreq ( void )函数中,
1.为什么求Fdpp时,要乘10000呢?
2.为什么求Fdpp没有乘上65536(对应2pi)呢?如果不乘上2pi我感觉求的单位是:圈/每PWM周期啊?


#define        ROTOR_SPEED_FACTOR  ((u32)((CKtiM*10)) / 3)
#define PSEUDO_FREQ_CONV    ((u32)(ROTOR_SPEED_FACTOR / (SAMPLING_FREQ * 10)) * 0x10000uL)


求Fdpp
hRotorFreq_dpp = (s16)((u16) (PSEUDO_FREQ_CONV / PeriodMeasAux.wPeriod));



求0.1Hz unit的频率
F0.1Hz = ((hRotorFreq_dpp * SAMPLING_FREQ * 10)/(65536 * POLE_PAIR_NUM));


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
sunnyFAN
1楼-- · 2019-07-18 16:03
0x10000  不就是65536的16进制表示方法?具体为何这样算,我正在研究
sunnyFAN
2楼-- · 2019-07-18 21:10
你要看明白了,希望也能指教下。QQ374509340
shawxwn
3楼-- · 2019-07-18 23:43
谢谢楼主分享!

一周热门 更多>