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
In the code, all the functions related to PowerWarp software are referred as POWERWARP. The following code example shows how this flag is enabled. As can be seen, POWERWARP is mentioned in the name of the function, which relates to the PowerWarp software.
CTRL_setFlag_enablePOWERWARP(ctrlHandle,TRUE);
The use of this flag does not take any effect unless the controller and estimator are running OnLine, in other words, not identifying the motor but running it in closed loop. Another condition is that the motor type has to be an AC Induction Motor. Nothing happens if the motor is a PM Motor. So, to summarize the conditions under PowerWarp enable will have an effect, these conditions must be met:
In Figure 17-2, the highlighted state of the InstaSPIN controller is where the motor is running in closed loop. This state is also known as the Online State, and it is the state where PowerWarp algorithm can be executed (for complete details on the CTRL and EST states, see Section 7).
Similarly, the estimator's state machine where PowerWarp algorithm can be executed is highlighted from the following state machine. The state machine shown in Figure 17-3 represents the state where the motor is running in closed loop, from the estimator's perspective.
This code example shows how to check the state of state machines: Controller (CTRL) and Estimator (EST) estate machines, as well as the motor type:
CTRL_Obj *obj = (CTRL_Obj *)ctrlHandle;
ctrlState = CTRL_getState(ctrlHandle);
estState = EST_getState(obj->estHandle);
motorType = CTRL_getMotorType(ctrlHandle);
if( (ctrlState == CTRL_State_OnLine) &&
(estState == EST_State_OnLine) &&
(motorType == MOTOR_Type_Induction) )
{
CTRL_setFlag_enablePOWERWARP(ctrlHandle,TRUE);
}