Go to the documentation of this file.
65 #ifdef __TMS320C28XX_CLA__
66 #include "libraries/math/src/float/CLAmath.h"
74 #include "userParams.h"
204 obj->
E0 = bemfThreshold;
417 #define ESMO_inline_run ESMO_run // for compatible with old version
493 if(obj->
theta > 1.0f)
497 else if(obj->
theta < -1.0f)
533 #endif //end of _ESMO_H_ definition
static void ESMO_setPLLSpeedPu(ESMO_Handle handle, const float32_t speed_Hz)
Set Angle to the ESMO controller.
Definition: esmo.h:335
Defines a two element vector.
Definition: math.h:218
float32_t pll_Umin
Definition: esmo.h:140
float32_t Eq_mag
Definition: esmo.h:121
Defines the ESMO controller object.
Definition: esmo.h:84
ESMO_Handle ESMO_init(void *pMemory, const size_t numBytes)
Initializes the ESMO controller.
float32_t pll_KpMax
Definition: esmo.h:144
float32_t EstIalpha
Definition: esmo.h:110
float32_t thetaErr
Definition: esmo.h:126
float float32_t
Definition: sfra_f32.h:42
float32_t pll_Kp
Definition: esmo.h:143
#define MATH_TWO_PI
Defines 2*pi.
Definition: math.h:154
#define MATH_ONE_OVER_TWO_PI
Defines 1/(2*pi)
Definition: math.h:133
float32_t thetaEst
Definition: esmo.h:132
float32_t lpfFc_Hz
Definition: esmo.h:152
float32_t E0
Definition: esmo.h:101
float32_t speedFlt
Definition: esmo.h:136
float32_t base_wTs
Definition: esmo.h:93
static float32_t ESMO_getAnglePLL(ESMO_Handle handle)
Gets the PLL angle from the ESMO controller.
Definition: esmo.h:381
float32_t offsetSF
Definition: esmo.h:131
static float32_t ESMO_getSpeedPLL_Hz(ESMO_Handle handle)
Gets the PLL speed from the ESMO controller.
Definition: esmo.h:371
#define MATH_PI
Defines pi.
Definition: math.h:140
void ESMO_setKslideParams(ESMO_Handle handle, const float32_t KslideMax, const float32_t KslideMin)
Set PLL parameters for the ESMO controller.
static void ESMO_setBEMFThreshold(ESMO_Handle handle, const float32_t bemfThreshold)
Set kp of the pll for the ESMO controller.
Definition: esmo.h:200
void ESMO_updateFilterParams(ESMO_Handle handle)
Reset the ESMO controller.
float32_t voltage_sf
Definition: esmo.h:89
float32_t thetaElec_rad
Definition: esmo.h:124
float32_t Fdsmopos
Definition: esmo.h:96
struct _ESMO_Obj_ * ESMO_Handle
Defines the ESMO handle.
Definition: esmo.h:158
float32_t Kslf
Definition: esmo.h:100
float32_t filterFc_Hz
Definition: esmo.h:94
float32_t Gdsmopos
Definition: esmo.h:98
float32_t speedRef
Definition: esmo.h:134
float32_t Gqsmopos
Definition: esmo.h:99
float32_t pll_ui
Definition: esmo.h:141
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.
static float32_t ESMO_getAngleElec(ESMO_Handle handle)
Gets the angle from the ESMO controller.
Definition: esmo.h:391
static void ESMO_setPLLKp(ESMO_Handle handle, const float32_t pll_Kp)
Runs the ESMO controller.
Definition: esmo.h:311
static float32_t ESMO_getSpeed_Hz(ESMO_Handle handle)
Gets the speed from the ESMO controller.
Definition: esmo.h:360
float32_t Kslide
Definition: esmo.h:103
float32_t EstIbeta
Definition: esmo.h:111
float32_t speed_sf
Definition: esmo.h:88
float32_t lpf_b0
Definition: esmo.h:149
float32_t Fqsmopos
Definition: esmo.h:97
float32_t Zalpha
Definition: esmo.h:116
float32_t value[3]
Definition: math.h:232
float32_t pll_Out
Definition: esmo.h:138
void ESMO_updatePLLParams(ESMO_Handle handle)
Reset the ESMO controller.
void ESMO_resetParams(ESMO_Handle handle)
Reset the ESMO controller.
float32_t KslideMax
Definition: esmo.h:104
float32_t lpf_a1
Definition: esmo.h:150
float32_t scaleFreq_Hz
Definition: esmo.h:86
float32_t Ealpha
Definition: esmo.h:113
static void ESMO_setSpeedRef(ESMO_Handle handle, const float32_t speedRef_Hz)
Set reference speed to the ESMO controller.
Definition: esmo.h:348
float32_t Vbeta
Definition: esmo.h:108
void ESMO_setPLLKi(ESMO_Handle handle, const float32_t pll_Ki)
Set PLL parameters for the ESMO controller.
float32_t Eq
Definition: esmo.h:120
float32_t pll_KpSF
Definition: esmo.h:146
static void ESMO_updateKslide(ESMO_Handle handle)
Update Kslide for the ESMO controller.
Definition: esmo.h:400
float32_t thetaErrSF
Definition: esmo.h:127
static void ESMO_setOffsetCoef(ESMO_Handle handle, const float32_t offsetSF)
Sets angle offset coefficient for the ESMO controller.
Definition: esmo.h:275
static void ESMO_setKslide(ESMO_Handle handle, const float32_t Kslide)
Sets Kslide for the ESMO controller.
Definition: esmo.h:233
void ESMO_full_run(ESMO_Handle handle, float32_t Vdcbus, MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec)
Runs the ESMO controller.
float32_t Zbeta
Definition: esmo.h:117
static void ESMO_setBEMFKslfFreq(ESMO_Handle handle, const float32_t filterFc_Hz)
Sets speed filter cut off frequency for the ESMO controller.
Definition: esmo.h:287
static void ESMO_setPLLKpSF(ESMO_Handle handle, const float32_t pll_KpSF)
Set kp of the pll for the ESMO controller.
Definition: esmo.h:212
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:299
float32_t speedEst
Definition: esmo.h:135
static void ESMO_setAnglePu(ESMO_Handle handle, const float32_t theta_rad)
Set Angle to the ESMO controller.
Definition: esmo.h:323
float32_t pll_KpMin
Definition: esmo.h:145
float32_t Valpha
Definition: esmo.h:107
float32_t thetaDelta
Definition: esmo.h:130
float32_t thetaPll
Definition: esmo.h:129
float32_t KslideMin
Definition: esmo.h:105
float32_t Ed
Definition: esmo.h:119
float32_t Ts
Definition: esmo.h:92
static void ESMO_run(ESMO_Handle handle, float32_t Vdcbus, MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec)
Definition: esmo.h:419
Defines a structure for the user parameters.
Definition: include/userParams.h:98
#define MATH_ONE_OVER_SQRT_THREE
Defines 1/sqrt(3)
Definition: math.h:119
struct _ESMO_Obj_ ESMO_Obj
Defines the ESMO controller object.
float32_t Ebeta
Definition: esmo.h:114
float32_t current_sf
Definition: esmo.h:90
float32_t pll_Umax
Definition: esmo.h:139
void ESMO_setParams(ESMO_Handle handle, const USER_Params *pUserParams)
Set the ESMO controller.
float32_t theta
Definition: esmo.h:128
float32_t pll_Ki
Definition: esmo.h:147
float32_t thetaOffset_rad
Definition: esmo.h:123
static void ESMO_resetPLL(ESMO_Handle handle)
Resets PLL integration for the ESMO controller.
Definition: esmo.h:262
float32_t value[2]
Definition: math.h:220
Defines a three element vector.
Definition: math.h:230
Copyright 2023, Texas Instruments Incorporated