SPRUHJ1I 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
The time shown in this plot is based on the default setting of 3 seconds for the current ramp-down (EST_Flux_State_CL1, CL1 stands for Closed Loop 1) and 4 seconds for the fine tuning of the rated flux (EST_Flux_State_Fine), for a total of 7 seconds. Both of these values are set in by function calls in file user.c, as shown below:
pUserParams->FluxWaitTime[EST_Flux_State_CL1] =(uint_least32_t)(3.0*USER_EST_FREQ_Hz);
pUserParams->FluxWaitTime[EST_Flux_State_Fine]=(uint_least32_t)(4.0*USER_EST_FREQ_Hz);
These default values are known to work for all the motors tested during the validation of the algorithm. Users can confirm that the time to identify is enough by monitoring the rated flux identified by the algorithm, and make sure that the identified value is stable while the state of the estimator is in EST_State_RatedFlux.
The following code example shows how to monitor the value of the identified flux, and if the value does not vary more than a typical variation of about 5% in the watch window, the identified flux can be considered to be stable:
// get the flux
gMotorVars.Flux_VpHz = EST_getFlux_VpHz(obj->estHandle);