![]() |
![]() |
Data Structures | |
struct | _MTPA_Obj_ |
Defines the MTPA object. More... | |
Macros | |
#define | MTPA_LUT_INDEX_LD_MAX 20 |
Defines the maximum length of LUT for Ld. More... | |
#define | MTPA_LUT_INDEX_LQ_MAX 20 |
Defines the maximum length of LUT for Lq. More... | |
#define | MTPA_LUT_DELTA_CURRENT_LD_A 0.5 |
Defines the current delta of LUT for Ld, A. More... | |
#define | MTPA_LUT_DELTA_CURRENT_LD_A 0.5 |
Defines the current delta of LUT for Ld, A. More... | |
Typedefs | |
typedef struct _MTPA_Obj_ | MTPA_Obj |
Defines the MTPA object. More... | |
typedef struct _MTPA_Obj_ * | MTPA_Handle |
Defines the MTPA handle. More... | |
Functions | |
void | MTPA_computeParameters (MTPA_Handle handle, const float32_t Ls_d_H, const float32_t Ls_q_H, const float32_t flux_Wb) |
Computes the motor constant for MTPA module. More... | |
static void | MTPA_disable (MTPA_Handle handle) |
Disables the MTPA. More... | |
static void | MTPA_enable (MTPA_Handle handle) |
Enables the MTPA. More... | |
static float32_t * | MTPA_getCurrentAnglePhase_rad_addr (MTPA_Handle handle) |
Gets the stator current phase angle memory address. More... | |
static float32_t | MTPA_getCurrentAngle_rad (MTPA_Handle handle) |
Gets the stator current phase angle value (angleCurrent_rad) More... | |
static float32_t | MTPA_getKconst (MTPA_Handle handle) |
Gets the motor constant of MTPA. More... | |
static float32_t * | MTPA_getIs_ref_A_addr (MTPA_Handle handle) |
Gets the stator current reference memory address. More... | |
static bool | MTPA_getFlagEnable (MTPA_Handle handle) |
Gets the enable controller flag value from the controller. More... | |
static float32_t | MTPA_getId_ref_A (MTPA_Handle handle) |
Gets the direct current reference value (Id_ref_A) More... | |
static float32_t | MTPA_getIq_ref_A (MTPA_Handle handle) |
Gets the quadrature current reference value (Iq_ref_A) More... | |
static float32_t | MTPA_getIs_ref_A (MTPA_Handle handle) |
Gets the stator current reference value (Is_ref_A) More... | |
static void | MTPA_setFlagEnable (MTPA_Handle handle, const bool flagEnable) |
Sets the enable flag. More... | |
static void | MTPA_setCurrentAngle_rad (MTPA_Handle handle, const float32_t angleCurrent_rad) |
Sets the stator current phase angle value. More... | |
static void | MTPA_setId_ref_A (MTPA_Handle handle, const float32_t Id_ref_A) |
Sets the direct current (Id_ref) reference vector value. More... | |
static void | MTPA_setIq_ref_A (MTPA_Handle handle, const float32_t Iq_ref_A) |
Sets the quadrature current (Iq_ref) reference value. More... | |
static void | MTPA_setIs_ref_A (MTPA_Handle handle, const float32_t Is_ref_A) |
Sets the stator current reference value (Is_ref) More... | |
MTPA_Handle | MTPA_init (void *pMemory, const size_t numBytes) |
Initializes the maximum torque per ampere (MTPA) module. More... | |
MTPA_Handle | cla_MTPA_init (void *pMemory, const size_t numBytes) |
static void | MTPA_computeCurrentReference (MTPA_Handle handle, const float32_t Is_ref_A) |
Compute the current reference of MTPA. More... | |
static float32_t | MTPA_computeCurrentAngle (MTPA_Handle handle, const float32_t Is_ref_A) |
Compute the current angle of MTPA. More... | |
static float32_t | MTPA_updateLs_d_withLUT (MTPA_Handle handle, const float32_t Is_A) |
Update the motor inductances. More... | |
static float32_t | MTPA_updateLs_q_withLUT (MTPA_Handle handle, const float32_t Is_A) |
Update the motor inductances. More... | |
Variables | |
const float32_t | MTPA_Ld_tableData_H [20+1] |
Defines the Ld array. More... | |
const float32_t | MTPA_Lq_tableData_H [20+1] |
Defines the Lq array. More... | |
#define MTPA_LUT_INDEX_LD_MAX 20 |
Defines the maximum length of LUT for Ld.
#define MTPA_LUT_INDEX_LQ_MAX 20 |
Defines the maximum length of LUT for Lq.
#define MTPA_LUT_DELTA_CURRENT_LD_A 0.5 |
Defines the current delta of LUT for Ld, A.
Defines the current delta of LUT for Lq, A.
#define MTPA_LUT_DELTA_CURRENT_LD_A 0.5 |
Defines the current delta of LUT for Ld, A.
Defines the current delta of LUT for Lq, A.
typedef struct _MTPA_Obj_ MTPA_Obj |
Defines the MTPA object.
typedef struct _MTPA_Obj_* MTPA_Handle |
Defines the MTPA handle.
void MTPA_computeParameters | ( | MTPA_Handle | handle, |
const float32_t | Ls_d_H, | ||
const float32_t | Ls_q_H, | ||
const float32_t | flux_Wb | ||
) |
Computes the motor constant for MTPA module.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Ls_d_H | The direct stator inductance, Henry |
[in] | Ls_q_H | The quadrature stator inductance, Henry |
[in] | flux_Wb | The rated flux value, Wb |
|
inlinestatic |
Disables the MTPA.
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::flagEnable.
|
inlinestatic |
Enables the MTPA.
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::flagEnable.
|
inlinestatic |
Gets the stator current phase angle memory address.
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::angleCurrent_rad.
|
inlinestatic |
Gets the stator current phase angle value (angleCurrent_rad)
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::angleCurrent_rad.
|
inlinestatic |
Gets the motor constant of MTPA.
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::kconst.
|
inlinestatic |
Gets the stator current reference memory address.
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::Is_ref_A.
|
inlinestatic |
Gets the enable controller flag value from the controller.
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::flagEnable.
Referenced by MTPA_computeCurrentAngle(), and MTPA_computeCurrentReference().
|
inlinestatic |
Gets the direct current reference value (Id_ref_A)
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::Idq_ref_A, and _MATH_Vec2_::value.
|
inlinestatic |
Gets the quadrature current reference value (Iq_ref_A)
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::Idq_ref_A, and _MATH_Vec2_::value.
|
inlinestatic |
Gets the stator current reference value (Is_ref_A)
[in] | handle | The maximum torque per ampere (MTPA) handle |
References _MTPA_Obj_::Is_ref_A.
|
inlinestatic |
Sets the enable flag.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | flagEnable | The enable flag |
References _MTPA_Obj_::flagEnable.
|
inlinestatic |
Sets the stator current phase angle value.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | angleCurrent_rad | The stator current phase angle value, rad |
References _MTPA_Obj_::angleCurrent_rad.
|
inlinestatic |
Sets the direct current (Id_ref) reference vector value.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Id_ref_A | The direct current reference value, A |
References _MTPA_Obj_::Idq_ref_A, and _MATH_Vec2_::value.
|
inlinestatic |
Sets the quadrature current (Iq_ref) reference value.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Iq_ref_A | The quadrature current reference value, A |
References _MTPA_Obj_::Idq_ref_A, and _MATH_Vec2_::value.
|
inlinestatic |
Sets the stator current reference value (Is_ref)
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Is_ref_A | The stator current reference value, A |
References _MTPA_Obj_::Is_ref_A.
MTPA_Handle MTPA_init | ( | void * | pMemory, |
const size_t | numBytes | ||
) |
Initializes the maximum torque per ampere (MTPA) module.
[in] | pMemory | A pointer to the memory for the MTPA object |
[in] | numBytes | The number of bytes allocated for the MTPA object |
MTPA_Handle cla_MTPA_init | ( | void * | pMemory, |
const size_t | numBytes | ||
) |
|
inlinestatic |
Compute the current reference of MTPA.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Is_ref_A | The stator current reference value, A |
References _MTPA_Obj_::Idq_ref_A, _MTPA_Obj_::Is_ref_A, _MTPA_Obj_::kconst, MATH_abs(), MTPA_getFlagEnable(), and _MATH_Vec2_::value.
|
inlinestatic |
Compute the current angle of MTPA.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Is_ref_A | The stator current reference value, A |
References _MTPA_Obj_::angleCurrent_rad, _MTPA_Obj_::gconst, _MTPA_Obj_::Is_ref_A, _MTPA_Obj_::kconst, MATH_PI_OVER_TWO, and MTPA_getFlagEnable().
|
inlinestatic |
Update the motor inductances.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Is_A | The stator current value, A |
References _MTPA_Obj_::deltaIs_Ld_A, _MTPA_Obj_::indexMax_Ld, and MTPA_Ld_tableData_H.
|
inlinestatic |
Update the motor inductances.
[in] | handle | The maximum torque per ampere (MTPA) handle |
[in] | Is_A | The stator current value, A |
References _MTPA_Obj_::deltaIs_Lq_A, _MTPA_Obj_::indexMax_Lq, and MTPA_Ld_tableData_H.
const float32_t MTPA_Ld_tableData_H[20+1] |
Defines the Ld array.
Referenced by MTPA_updateLs_d_withLUT(), and MTPA_updateLs_q_withLUT().
const float32_t MTPA_Lq_tableData_H[20+1] |
Defines the Lq array.