qiubenqi 发表于 2019-1-25 09:16:15

FOC 5.1库 STO_PLL_CalcAvrgMecSpeed01Hz函数 理解

各位大神,STO_PLL_CalcAvrgMecSpeed01Hz函数中以下代码的理论依据是什么?资料中哪儿可以找到?
/*Bemf Consistency Check algorithm*/if ( pHandle->EnableDualCheck == true ) /*do algorithm if it's enabled*/
{
    wAux = ( wAux < 0 ? ( -wAux ) : ( wAux ) ); /* wAux abs value   */
    if ( wAux < ( int32_t )( pHandle->MaxAppPositiveMecSpeed01Hz ) )
    {
      /*Computation of Observed back-emf*/
      wObsBemf = ( int32_t )( pHandle->hBemf_alfa_est );
      wObsBemfSq = wObsBemf * wObsBemf;
      wObsBemf = ( int32_t )( pHandle->hBemf_beta_est );
      wObsBemfSq += wObsBemf * wObsBemf;

      /*Computation of Estimated back-emf*/
      wEstBemf = ( wAux * 32767 ) / ( int16_t )( pHandle->_Super.hMaxReliableMecSpeed01Hz );
      wEstBemfSq = ( wEstBemf * ( int32_t )( pHandle->BemfConsistencyGain ) ) / 64;
      wEstBemfSq *= wEstBemf;

      /*Computation of threshold*/
      wEstBemfSqLo = wEstBemfSq -
                     ( wEstBemfSq / 64 ) * ( int32_t )( pHandle->BemfConsistencyCheck );

      /*Check*/
      if ( wObsBemfSq > wEstBemfSqLo )
      {
      bIs_Bemf_Consistent = true;
      }
    }

    pHandle->IsBemfConsistent = bIs_Bemf_Consistent;
    pHandle->Obs_Bemf_Level = wObsBemfSq;
    pHandle->Est_Bemf_Level = wEstBemfSq;
}
else
{
    bIs_Bemf_Consistent = true;
}


xmshao 发表于 2019-2-11 17:03:48

你到www.stmcu.com.cn搜索下载
STM32 MC SDK5.0 培训 【2018.6】
再Workbench 关键配置参数说明部分有介绍。【128页面开始】

飞骑 发表于 2019-2-15 09:27:58

本帖最后由 飞骑 于 2019-2-15 09:31 编辑

xmshao 发表于 2019-2-11 17:03
你到www.stmcu.com.cn搜索下载
STM32 MC SDK5.0 培训 【2018.6】
再Workbench 关键配置参数说明部分有介绍 ...
培训资料中反电动势收敛判断
页: [1]
查看完整版本: FOC 5.1库 STO_PLL_CalcAvrgMecSpeed01Hz函数 理解