找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

新唐无感FOC方案问答之一: 角度一圈为何用65536表示

[复制链接]
匿名  发表于 2019-12-10 21:03:49 |阅读模式
如果一圈用360度表示,那么当角度=361度,721度,1081度......时,与1度是相同位置,就要增加判断
while(Angle_q > 360) Angle_q -= 360 ;

一圈用 65536表示,32位的数,低16位是一圈中的角度位置,高16位就是圈数。
16384表示 90度,
32768表示 180度, 看成符号数就是-32768,  即-180度
16384*3表示 270度, 16384*3看成16位符号数时,刚好是 -16384, 即-90度

好处:
1>,角度 Angle_q 直接转换为 16位数,就是一圈中的角度位置,
2>,右移16位就得高位,就是转的圈数。这个在启转阶段很有用。
3>,角度差看成符号数,有正有负,可判断超前,还是滞后。

在角度估算时,一圈用 65536表示,计算的中间变量精度很高,在查余弦表时,角度再右移6位,因为余弦表一圈有 1024个值,精度已很高了。
回复

使用道具

admin 发表于 2019-12-11 11:03:37 | 显示全部楼层
牛卧堂
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU