Data Structures | |
struct | _ESMO_Obj_ |
Defines the ESMO controller object. More... | |
Macros | |
#define | ESMO_inline_run ESMO_run |
Runs the ESMO controller. More... | |
Typedefs | |
typedef struct _ESMO_Obj_ | ESMO_Obj |
Defines the ESMO controller object. More... | |
typedef struct _ESMO_Obj_ * | ESMO_Handle |
Defines the ESMO handle. More... | |
Functions | |
ESMO_Handle | ESMO_init (void *pMemory, const size_t numBytes) |
Initializes the ESMO controller. More... | |
void | ESMO_resetParams (ESMO_Handle handle) |
Reset the ESMO controller. More... | |
void | ESMO_setParams (ESMO_Handle handle, const USER_Params *pUserParams) |
Set the ESMO controller. More... | |
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. More... | |
void | ESMO_setPLLKi (ESMO_Handle handle, const float32_t pll_Ki) |
Set PLL parameters for the ESMO controller. More... | |
static void | ESMO_setBEMFThreshold (ESMO_Handle handle, const float32_t bemfThreshold) |
Set kp of the pll for the ESMO controller. More... | |
static void | ESMO_setPLLKpSF (ESMO_Handle handle, const float32_t pll_KpSF) |
Set kp of the pll for the ESMO controller. More... | |
void | ESMO_setKslideParams (ESMO_Handle handle, const float32_t KslideMax, const float32_t KslideMin) |
Set PLL parameters for the ESMO controller. More... | |
static void | ESMO_setKslide (ESMO_Handle handle, const float32_t Kslide) |
Sets Kslide for the ESMO controller. More... | |
void | ESMO_updateFilterParams (ESMO_Handle handle) |
Reset the ESMO controller. More... | |
void | ESMO_updatePLLParams (ESMO_Handle handle) |
Reset the ESMO controller. More... | |
void | ESMO_full_run (ESMO_Handle handle, float32_t Vdcbus, MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec) |
Runs the ESMO controller. More... | |
static void | ESMO_resetPLL (ESMO_Handle handle) |
Resets PLL integration for the ESMO controller. More... | |
static void | ESMO_setOffsetCoef (ESMO_Handle handle, const float32_t offsetSF) |
Sets angle offset coefficient for the ESMO controller. More... | |
static void | ESMO_setBEMFKslfFreq (ESMO_Handle handle, const float32_t filterFc_Hz) |
Sets speed filter cut off frequency for the ESMO controller. More... | |
static void | ESMO_setSpeedFilterFreq (ESMO_Handle handle, const float32_t lpfFc_Hz) |
Sets speed filter cut off frequency for the ESMO controller. More... | |
static void | ESMO_setPLLKp (ESMO_Handle handle, const float32_t pll_Kp) |
Runs the ESMO controller. More... | |
static void | ESMO_setAnglePu (ESMO_Handle handle, const float32_t theta_rad) |
Set Angle to the ESMO controller. More... | |
static void | ESMO_setPLLSpeedPu (ESMO_Handle handle, const float32_t speed_Hz) |
Set Angle to the ESMO controller. More... | |
static void | ESMO_setSpeedRef (ESMO_Handle handle, const float32_t speedRef_Hz) |
Set reference speed to the ESMO controller. More... | |
static float32_t | ESMO_getSpeed_Hz (ESMO_Handle handle) |
Gets the speed from the ESMO controller. More... | |
static float32_t | ESMO_getSpeedPLL_Hz (ESMO_Handle handle) |
Gets the PLL speed from the ESMO controller. More... | |
static float32_t | ESMO_getAnglePLL (ESMO_Handle handle) |
Gets the PLL angle from the ESMO controller. More... | |
static float32_t | ESMO_getAngleElec (ESMO_Handle handle) |
Gets the angle from the ESMO controller. More... | |
static void | ESMO_updateKslide (ESMO_Handle handle) |
Update Kslide for the ESMO controller. More... | |
static void | ESMO_run (ESMO_Handle handle, float32_t Vdcbus, MATH_vec3 *pVabc_pu, MATH_vec2 *pIabVec) |
#define ESMO_inline_run ESMO_run |
Runs the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | Vdcbus | The dc bus voltage |
[in] | pVabc_pu | The pointer to the phase voltage value (PU) |
[in] | pIabVec | The pointer to the phase current value |
typedef struct _ESMO_Obj_ ESMO_Obj |
Defines the ESMO controller object.
typedef struct _ESMO_Obj_* ESMO_Handle |
Defines the ESMO handle.
ESMO_Handle ESMO_init | ( | void * | pMemory, |
const size_t | numBytes | ||
) |
Initializes the ESMO controller.
[in] | pMemory | A pointer to the memory for the ESMO controller object |
[in] | numBytes | The number of bytes allocated for the ESMO controller object, bytes |
void ESMO_resetParams | ( | ESMO_Handle | handle | ) |
Reset the ESMO controller.
[in] | handle | The ESMO controller handle |
void ESMO_setParams | ( | ESMO_Handle | handle, |
const USER_Params * | pUserParams | ||
) |
Set the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | pUserParams | The pointer to the user parameters |
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.
[in] | handle | The ESMO controller handle |
[in] | pll_KpMax | The maximum Kp of PLL |
[in] | pll_KpMin | The minimum Kp of PLL |
[in] | pll_KpSF | The Kp calculation coefficient of PLL |
void ESMO_setPLLKi | ( | ESMO_Handle | handle, |
const float32_t | pll_Ki | ||
) |
Set PLL parameters for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | pll_Ki | The Ki of PLL |
|
inlinestatic |
Set kp of the pll for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | pll_Kp | The Kp value |
References _ESMO_Obj_::E0.
|
inlinestatic |
Set kp of the pll for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | pll_Kp | The Kp calculation coefficient value |
References _ESMO_Obj_::pll_KpSF.
void ESMO_setKslideParams | ( | ESMO_Handle | handle, |
const float32_t | KslideMax, | ||
const float32_t | KslideMin | ||
) |
Set PLL parameters for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | pll_KpMax | The maximum Kp of PLL |
[in] | pll_KpMin | The maximum Kp of PLL |
|
inlinestatic |
Sets Kslide for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | Kslide | The Kslide value |
References _ESMO_Obj_::Kslide.
void ESMO_updateFilterParams | ( | ESMO_Handle | handle | ) |
Reset the ESMO controller.
[in] | handle | The ESMO controller handle |
void ESMO_updatePLLParams | ( | ESMO_Handle | handle | ) |
Reset the ESMO controller.
[in] | handle | The ESMO controller handle |
void ESMO_full_run | ( | ESMO_Handle | handle, |
float32_t | Vdcbus, | ||
MATH_vec3 * | pVabc_pu, | ||
MATH_vec2 * | pIabVec | ||
) |
Runs the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | Vdcbus | The dc bus voltage |
[in] | pVabc_pu | The pointer to the phase voltage value (PU) |
[in] | pIabVec | The pointer to the phase current value |
|
inlinestatic |
Resets PLL integration for the ESMO controller.
[in] | handle | The ESMO controller handle |
References _ESMO_Obj_::pll_Out, and _ESMO_Obj_::pll_ui.
|
inlinestatic |
Sets angle offset coefficient for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | offsetSF | The angle offset coefficient |
References _ESMO_Obj_::offsetSF.
|
inlinestatic |
Sets speed filter cut off frequency for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | filterFc_Hz | The slide filter frequency |
References _ESMO_Obj_::filterFc_Hz.
|
inlinestatic |
Sets speed filter cut off frequency for the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | lpfFc_Hz | The cut off frequency of the speed filter |
References _ESMO_Obj_::lpfFc_Hz.
|
inlinestatic |
Runs the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | pll_Kp | The Kp value |
References _ESMO_Obj_::pll_Kp.
|
inlinestatic |
Set Angle to the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | theta_rad | The estimation angle, rad |
References MATH_ONE_OVER_TWO_PI, and _ESMO_Obj_::theta.
|
inlinestatic |
Set Angle to the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | speed_Hz | The feedback speed value, Hz |
References _ESMO_Obj_::pll_Out, _ESMO_Obj_::speed_sf, and _ESMO_Obj_::speedFlt.
|
inlinestatic |
Set reference speed to the ESMO controller.
[in] | handle | The ESMO controller handle |
[in] | refValue | The reference speed value |
References _ESMO_Obj_::speed_sf, and _ESMO_Obj_::speedRef.
|
inlinestatic |
Gets the speed from the ESMO controller.
[in] | handle | The ESMO controller handle |
References _ESMO_Obj_::scaleFreq_Hz, and _ESMO_Obj_::speedEst.
|
inlinestatic |
Gets the PLL speed from the ESMO controller.
[in] | handle | The ESMO controller handle |
References _ESMO_Obj_::scaleFreq_Hz, and _ESMO_Obj_::speedFlt.
|
inlinestatic |
Gets the PLL angle from the ESMO controller.
[in] | handle | The ESMO controller handle |
References _ESMO_Obj_::thetaEst.
|
inlinestatic |
Gets the angle from the ESMO controller.
[in] | handle | The ESMO controller handle |
References _ESMO_Obj_::thetaElec_rad.
|
inlinestatic |
Update Kslide for the ESMO controller.
[in] | handle | The ESMO controller handle |
References _ESMO_Obj_::Kslide, and _ESMO_Obj_::KslideMax.
|
inlinestatic |
References _ESMO_Obj_::current_sf, _ESMO_Obj_::E0, _ESMO_Obj_::Ealpha, _ESMO_Obj_::Ebeta, _ESMO_Obj_::Ed, _ESMO_Obj_::Eq, _ESMO_Obj_::Eq_mag, _ESMO_Obj_::EstIalpha, _ESMO_Obj_::EstIbeta, _ESMO_Obj_::Fdsmopos, _ESMO_Obj_::Fqsmopos, _ESMO_Obj_::Gdsmopos, _ESMO_Obj_::Gqsmopos, _ESMO_Obj_::Kslf, _ESMO_Obj_::Kslide, _ESMO_Obj_::lpf_a1, _ESMO_Obj_::lpf_b0, MATH_ONE_OVER_SQRT_THREE, MATH_PI, MATH_TWO_PI, _ESMO_Obj_::offsetSF, _ESMO_Obj_::pll_Ki, _ESMO_Obj_::pll_Kp, _ESMO_Obj_::pll_Out, _ESMO_Obj_::pll_ui, _ESMO_Obj_::pll_Umax, _ESMO_Obj_::pll_Umin, _ESMO_Obj_::speedEst, _ESMO_Obj_::speedFlt, _ESMO_Obj_::speedRef, _ESMO_Obj_::theta, _ESMO_Obj_::thetaDelta, _ESMO_Obj_::thetaErr, _ESMO_Obj_::thetaErrSF, _ESMO_Obj_::thetaEst, _ESMO_Obj_::thetaPll, _ESMO_Obj_::Valpha, _MATH_Vec2_::value, _MATH_Vec3_::value, _ESMO_Obj_::Vbeta, _ESMO_Obj_::voltage_sf, _ESMO_Obj_::Zalpha, and _ESMO_Obj_::Zbeta.