有高人给解释一下speed_frq_calc()这个函数吗?
void speed_frq_calc(SPEED_MEAS_QEP *v){
_iq Tmp1;
if ((v->ElecTheta < _IQ(0.9))&(v->ElecTheta > _IQ(0.1)))//v->ElecTheta是电角度还是机械角度呀,为啥要和_IQ(0.9)0.1比较?
Tmp1 = _IQmpy(v->K1,(v->ElecTheta - v->OldElecTheta));//K1是个啥东西呀?看文档说是1/fb*T,fb是基准频率,基准频率是个啥东西?
else Tmp1 = _IQtoIQ21(v->Speed);//
// Low-pass filter
// Q21 = GLOBAL_Q*Q21 + GLOBAL_Q*Q21
Tmp1 = _IQmpy(v->K2,_IQtoIQ21(v->Speed))+_IQmpy(v->K3,Tmp1);
if (Tmp1>_IQ21(2))//Tmp1和2比较是个啥意思?V-speed算出来的是个啥?
v->Speed = _IQ(2);
else if (Tmp1<_IQ21(-2))
v->Speed = _IQ(-2);
else
v->Speed = _IQ21toIQ(Tmp1);
// Update the electrical angle
v->OldElecTheta = v->ElecTheta;
// Change motor speed from pu value to rpm value (GLOBAL_Q -> Q0)
// Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q
v->SpeedRpm = _IQmpy(v->BaseRpm,v->Speed); //baserpm是个啥变量呀,怎么就把V-speed给转换成了转速。
} 这个是哪里用到的 我现在在做 看不懂?能不能指教一下?QQ597395821 TI这软件写的!!!!!!!!!!!!!哎 这个TI的文档说的很清楚了,看下Technical Background部分说明就可以了。TI每个电机驱动库的文件都有文档说明,写的非常好。
页:
[1]