ZHCU083I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
识别过程的最终状态也是一个过渡状态,用于告知内部状态机电机已被识别。在 EST_State_MotorIdentified 过渡状态结束后,CTRL 和 EST 这两个状态机均会返回空闲状态。用户可通过调用以下函数来检查电机是否已被识别。如果该函数返回 TRUE,则表示电机已被识别(经过上述所有状态或使用头文件中的电机参数):
gMotorVars.Flag_MotorIdentified = EST_isMotorIdentified(obj->estHandle);
电机完全识别后,如果用户需要再次运行电机识别过程,控制器必须重新初始化以将状态机设置为初始状态,同时将电机识别标志恢复为 FALSE。以下函数调用会将控制器重新初始化为初始状态,并将电机识别标志恢复为 FALSE:
// set the default controller parameters
CTRL_setParams(ctrlHandle,&gUserParams);
有关识别过程完整状态机汇总,请参见图 7-25。
图 7-26 也显示了完整的 PMSM 电机识别过程,并绘制了一个相电流。