- 积分
 - 12
 
- 回帖
 - 0
 
- 西莫币
 -  
 
- 贡献
 -  
 
- 威望
 -  
 
- 存款
 -  
 
- 阅读权限
 - 5
 
- 最后登录
 - 1970-1-1
 
 
 
 
 
该用户从未签到  
 | 
 
 
发表于 2013-9-10 11:41
|
显示全部楼层
来自: 中国湖南长沙  
 
 
 
这其实很简单, 
 
 
看他先要看这里. 
   wUAlpha = Stat_Volt_Input.qV_Component1 * T_SQRT3 ; 
   wUBeta = -(Stat_Volt_Input.qV_Component2 * T); 
 
   wX = wUBeta; 
   wY = (wUBeta + wUAlpha)/2; 
   wZ = (wUBeta - wUAlpha)/2; 
 
 
 
自然你就看到了T_SQRT3  和T, 
然后就是这里: 
#define T                (PWM_PERIOD * 4) 
#define T_SQRT3         (u16)(T * SQRT_3) 
 
(PWM_PERIOD * 4) 
 
看了ST的库,就知道32768这个数字在整个FoC的作用. 
 
 hTimePhA = (T/8) + ((((T + wX) - wZ)/2)/131072); 
 
T/8  = PWM频率/2    中央对齐... 
((T + wX) - wZ) /2   至于为什么T加或者减wX,wY,wZ,这就看扇区来了,除以2  也是于前面中央对齐配合, 
但不要忘了  wX,wY,wZ这些参数是扩大了多少倍的, 加上T里面的4倍...131072就这么来的. 
 
简单的C语言问题......... |   
 
 
 
 |