![Logo](ti_logo.svg) |
AM263x Motor Control SDK
09.02.00
|
|
Go to the documentation of this file.
58 #include "math_types.h"
63 typedef struct _ESMO_Obj_
145 extern ESMO_Handle
ESMO_init(
void *pMemory,
const size_t numBytes);
174 float32_t Vdcbus, MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec);
176 #define ESMO_inline_run ESMO_run // Backwards compatible
187 static __attribute__((always_inline))
189 MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec)
198 (pVabc_pu->value[0] * 2.0f - pVabc_pu->value[1] - pVabc_pu->value[2]);
201 (pVabc_pu->value[1] * 2.0f - pVabc_pu->value[0] - pVabc_pu->value[2]);
205 obj->
Vbeta = (VphaseA + VphaseB * 2.0f) * MATH_ONE_OVER_SQRT_THREE;
262 if(obj->
theta > 1.0f)
266 else if(obj->
theta < -1.0f)
365 obj->
E0 = bemfThreshold;
497 obj->
theta = theta_rad * MATH_ONE_OVER_TWO_PI;
617 #endif //end of _ESMO_H_ definition
float32_t thetaOffset_rad
Definition: esmo.h:102
static void ESMO_setKslide(ESMO_Handle handle, const float32_t Kslide)
Sets Kslide for the ESMO controller.
Definition: esmo.h:409
float32_t speedRef
Definition: esmo.h:113
float32_t pll_Umin
Definition: esmo.h:119
float32_t lpf_b0
Definition: esmo.h:128
float32_t KslideMin
Definition: esmo.h:84
Defines the ESMO controller object.
Definition: esmo.h:64
float32_t lpfFc_Hz
Definition: esmo.h:131
float32_t thetaPll
Definition: esmo.h:108
float32_t Ts
Definition: esmo.h:71
float32_t EstIalpha
Definition: esmo.h:89
float32_t Zalpha
Definition: esmo.h:95
static void ESMO_setPLLKi(ESMO_Handle handle, const float32_t pll_Ki)
Set PLL parameters for the ESMO controller.
Definition: esmo.h:345
static void ESMO_setPLLKpSF(ESMO_Handle handle, const float32_t pll_KpSF)
Set kp of the pll for the ESMO controller.
Definition: esmo.h:375
static void ESMO_resetParams(ESMO_Handle handle)
Reset the ESMO controller.
Definition: esmo.h:291
static void ESMO_run(ESMO_Handle handle, const float32_t Vdcbus, MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec)
Runs the ESMO controller.
Definition: esmo.h:188
ESMO_Handle ESMO_init(void *pMemory, const size_t numBytes)
Initializes the ESMO controller.
float32_t filterFc_sf
Definition: esmo.h:73
float32_t Vbeta
Definition: esmo.h:87
float32_t Kslide
Definition: esmo.h:82
float32_t thetaEst
Definition: esmo.h:111
static void ESMO_setSpeedRef(ESMO_Handle handle, const float32_t speedRef_Hz)
Set reference speed to the ESMO controller.
Definition: esmo.h:522
float32_t scaleFreq_Hz
Definition: esmo.h:65
float32_t voltage_sf
Definition: esmo.h:68
float32_t pll_Kp
Definition: esmo.h:122
float32_t Ed
Definition: esmo.h:98
static void ESMO_setBEMFThreshold(ESMO_Handle handle, const float32_t bemfThreshold)
Set bemfThreshold for the ESMO controller.
Definition: esmo.h:361
float32_t KslideMax
Definition: esmo.h:83
float32_t speed_sf
Definition: esmo.h:67
static void ESMO_setOffsetCoef(ESMO_Handle handle, const float32_t offsetSF)
Sets angle offset coefficient for the ESMO controller.
Definition: esmo.h:437
static void ESMO_setPLLKp(ESMO_Handle handle, const float32_t pll_Kp)
Runs the ESMO controller.
Definition: esmo.h:479
Defines a structure for the user parameters.
Definition: userParams.h:75
float32_t Gqsmopos
Definition: esmo.h:78
float32_t Ebeta
Definition: esmo.h:93
static void ESMO_updateKslide(ESMO_Handle handle)
Update Kslide for the ESMO controller.
Definition: esmo.h:591
float32_t offsetSF
Definition: esmo.h:110
static void ESMO_setSpeedFilterFreq(ESMO_Handle handle, const float32_t lpfFc_Hz)
Sets speed filter cut off frequency for the ESMO controller.
Definition: esmo.h:465
void ESMO_updatePLLParams(ESMO_Handle handle)
Reset the ESMO controller.
float32_t thetaElec_rad
Definition: esmo.h:103
static float32_t ESMO_getAngleElec(ESMO_Handle handle)
Gets the angle from the ESMO controller.
Definition: esmo.h:578
float32_t thetaErrSF
Definition: esmo.h:106
float32_t EstIbeta
Definition: esmo.h:90
float32_t Zbeta
Definition: esmo.h:96
float32_t Fqsmopos
Definition: esmo.h:76
void ESMO_setParams(ESMO_Handle handle, const USER_Params *pUserParams)
Set the ESMO controller.
float32_t Gdsmopos
Definition: esmo.h:77
float32_t current_sf
Definition: esmo.h:69
float32_t Kslf
Definition: esmo.h:79
float32_t Fdsmopos
Definition: esmo.h:75
static void ESMO_setBEMFKslfFreq(ESMO_Handle handle, const float32_t filterFc_sf)
Sets speed filter cut off frequency for the ESMO controller.
Definition: esmo.h:451
float32_t lpf_a1
Definition: esmo.h:129
static void ESMO_setPLLParams(ESMO_Handle handle, const float32_t pll_KpMax, const float32_t pll_KpMin, const float32_t pll_KpSF)
Set PLL parameters for the ESMO controller.
Definition: esmo.h:324
void ESMO_updateFilterParams(ESMO_Handle handle)
Reset the ESMO controller.
float32_t pll_Ki
Definition: esmo.h:126
static float32_t ESMO_getAnglePLL(ESMO_Handle handle)
Gets the PLL angle from the ESMO controller.
Definition: esmo.h:564
void ESMO_full_run(ESMO_Handle handle, float32_t Vdcbus, MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec)
Runs the any actions that user desires on top of ESMO controller.
float32_t pll_Out
Definition: esmo.h:117
float32_t pll_KpMin
Definition: esmo.h:124
float32_t pll_KpSF
Definition: esmo.h:125
float32_t theta
Definition: esmo.h:107
float32_t Valpha
Definition: esmo.h:86
static void ESMO_setKslideParams(ESMO_Handle handle, const float32_t KslideMax, const float32_t KslideMin)
Set PLL parameters for the ESMO controller.
Definition: esmo.h:390
float32_t speedEst
Definition: esmo.h:114
float32_t Eq
Definition: esmo.h:99
Contains the public interface for the HAL and EST modules.
float32_t pll_ui
Definition: esmo.h:120
static void ESMO_setAnglePu(ESMO_Handle handle, const float32_t theta_rad)
Set Angle to the ESMO controller.
Definition: esmo.h:493
static float32_t ESMO_getSpeedPLL_Hz(ESMO_Handle handle)
Gets the PLL speed from the ESMO controller.
Definition: esmo.h:550
float32_t pll_KpMax
Definition: esmo.h:123
static float32_t ESMO_getSpeed_Hz(ESMO_Handle handle)
Gets the speed from the ESMO controller.
Definition: esmo.h:536
float32_t Ealpha
Definition: esmo.h:92
float32_t thetaErr
Definition: esmo.h:105
float32_t speedFlt
Definition: esmo.h:115
float32_t E0
Definition: esmo.h:80
float32_t thetaDelta
Definition: esmo.h:109
float32_t pll_Umax
Definition: esmo.h:118
static void ESMO_setPLLSpeedPu(ESMO_Handle handle, const float32_t speed_Hz)
Set Angle to the ESMO controller.
Definition: esmo.h:507
float float32_t
Definition: dcl_common.h:58
float32_t Eq_mag
Definition: esmo.h:100
float32_t base_wTs
Definition: esmo.h:72
static void ESMO_resetPLL(ESMO_Handle handle)
Resets PLL integration for the ESMO controller.
Definition: esmo.h:422