OgalricO 发表于 2013-3-12 17:05

有高人给解释一下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给转换成了转速。

}

changhong 发表于 2013-5-13 14:48

这个是哪里用到的

huidsimol 发表于 2014-3-6 22:08

我现在在做   看不懂?能不能指教一下?QQ597395821

bytesun 发表于 2014-3-9 12:01

TI这软件写的!!!!!!!!!!!!!哎

brightfox 发表于 2014-3-14 10:56

这个TI的文档说的很清楚了,看下Technical Background部分说明就可以了。TI每个电机驱动库的文件都有文档说明,写的非常好。
页: [1]
查看完整版本: 有高人给解释一下speed_frq_calc()这个函数吗?