[PIC®/AVR®/dsPIC®产品] 关于PIC单片机FOC算法的疑问

[复制链接]
 楼主| wodezpyzz 发表于 2016-11-17 11:40 | 显示全部楼层 |阅读模式
GLBLCOEF_EXT UWORD cof_uwMaxVdcPu;            //Max Freq, Q15           //WLServo_201105162_B
_GLBLCOEF_EXT UWORD cof_uwMinVdcPu;     //Q15,motor rate current
_GLBLCOEF_EXT UWORD cof_uwMIMaxPu;                //Q0, Unit:0.01Hz
_GLBLCOEF_EXT UWORD cof_uwMTrqMaxPu;    //Q15
_GLBLCOEF_EXT UWORD cof_uwMSpdMaxPu;    //Q15
_GLBLCOEF_EXT UWORD cof_uwMSpdMinPu;    //Q15
_GLBLCOEF_EXT UWORD cof_uwMFreqMaxPu;   //Q15
_GLBLCOEF_EXT UWORD cof_uwMFreqMinPu;   //Q15
_GLBLCOEF_EXT UWORD cof_uwMImMaxPu;            //Q15
_GLBLCOEF_EXT UWORD cof_uwMImMinPu;            //Q15
_GLBLCOEF_EXT UWORD cof_uwMImRatePu;    //Q15

//_GLBLCOEF_EXT UWORD cof_uwMaxCntPu;                //Max Current, Q15                  //WLServo_201106300_C

_GLBLCOEF_EXT UWORD cof_uwRsPu;         //Q15
_GLBLCOEF_EXT UWORD cof_uwRrPu;                        //Q15
_GLBLCOEF_EXT UWORD cof_uwLsleakPu;     //Q10  
_GLBLCOEF_EXT UWORD cof_uwLrleakPu;     //Q10
_GLBLCOEF_EXT UWORD cof_uwLmPu;             //Q10

_GLBLCOEF_EXT UWORD cof_uwLdPu;                        //Q10       
_GLBLCOEF_EXT UWORD cof_uwLqPu;                        //Q10
_GLBLCOEF_EXT UWORD cof_uwRateFluxPu;                //Q12

_GLBLCOEF_EXT UWORD cof_uwRs4Pu;                //Q15
_GLBLCOEF_EXT UWORD cof_uwRr4Pu;                //Q15
_GLBLCOEF_EXT UWORD cof_uwLm4Pu;                //Q10
_GLBLCOEF_EXT UWORD cof_uwLleak4Pu;                //Q10

关于这些变量的声明的后面注释,Q15,Q12,Q10分半是什么意思?我刚接触这个,请大家赐教!
whj_2008 发表于 2016-11-18 08:22 | 显示全部楼层
数据标幺,Q格式,即将小数整型化,Q15格式最大为1.0,小数精度可以显示为0.0001
JerryWu75 发表于 2016-11-18 10:22 | 显示全部楼层
本帖最后由 JerryWu75 于 2016-11-18 10:26 编辑

Q格式是一种在只有整形变量的MCU中表示浮点数的方式,Q15表示将原浮点数放大2的15次方, Q10表示将原浮点数放大2的10次方.Q15格式的整形数=2^15 X 原浮点数.

事实上将浮点数放大10的倍数,也能成功表示浮点数,例如将0.1放大10倍变成1,那么在程序中1就可以表示0.1
但是用10的倍数的话,在MCU中需要用到大量的乘法和除法,会导致效率的降低.所以目前一般在整形的MCU中,使用2的n次方的倍数来表示浮点数,这样的话,只需要将原数进行左右位移就可以,例如将0.1表达为Q15,只需要将0.1向左移动15位就可以, 而将Q10的1024还原为浮点数,只需要将其向右移动10位, 这样MCU处理起来就非常方便,也提高了效率.
snakeemail 发表于 2016-11-18 20:58 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部