各位大神,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; } |
STM32 MC SDK5.0 培训 【2018.6】
再Workbench 关键配置参数说明部分有介绍。【128页面开始】
培训资料中反电动势收敛判断