Here is the list of motor transformation function APIs
Files | |
file | clarke.h |
Contains abc to alpha/beta/0 transform implementation. | |
file | park.h |
Contains alpha/beta/0 to d/q/0 transform implementation. | |
file | ipark.h |
Contains d/q/0 to alpha/beta/0 transform implementation. | |
file | svgen.h |
Contains svpwm generation implementation. | |
Functions | |
static void | CLARKE_run_threeInput (const float32_t inIa, const float32_t inIb, const float32_t inIc, float32_t *pIalpha, float32_t *pIbeta) |
Runs the Clarke transform module for three inputs. More... | |
static void | CLARKE_run_twoInput (const float32_t inIa, const float32_t inIb, float32_t *pIalpha, float32_t *pIbeta) |
Runs the Clarke transform module for two inputs. More... | |
static void | PARK_run (const float32_t sinTh, const float32_t cosTh, const float32_t inIalpha, const float32_t inIbeta, float32_t *pId, float32_t *pIq) |
Runs the Park transform module. More... | |
static void | IPARK_run (const float32_t sinTh, const float32_t cosTh, const float32_t inVd, const float32_t inVq, float32_t *pValpha, float32_t *pVbeta) |
Runs the inverse Park transform module. More... | |
static void | SVGEN_runCom (const float32_t oneOverDcBus_invV, const float32_t inValpha, const float32_t inVbeta, float32_t *pVa, float32_t *pVb, float32_t *pVc) |
Implements a SVM that subtracts common-mode term to achieve SV modulation. More... | |
static void | SVGEN_runMax (const float32_t oneOverDcBus_invV, const float32_t inValpha, const float32_t inVbeta, float32_t *pVa, float32_t *pVb, float32_t *pVc) |
Implements a DPWM that uses maximum modulation. More... | |
static void | SVGEN_runMin (const float32_t oneOverDcBus_invV, const float32_t inValpha, const float32_t inVbeta, float32_t *pVa, float32_t *pVb, float32_t *pVc) |
Implements a DPWM that uses minimum modulation. More... | |
static void | SVGEN_clamp (const float32_t Umax, const float32_t Umin, float32_t *pVa, float32_t *pVb, float32_t *pVc) |
Saturates the SVM variable base on modulation limits. More... | |
Typedefs | |
typedef float | float32_t |
typedef float | float32_t |
typedef float | float32_t |
typedef float | float32_t |
Macros | |
#define | ONE_OVER_THREE 0.33333333333333f |
#define | ONE_OVER_SQRT_THREE 0.57735026918963f |
#define | SQRT_THREE_OVER_TWO 0.8660254037844f |
#define | TWO_OVER_SQRT_THREE 1.15470053837926f |
#define ONE_OVER_THREE 0.33333333333333f |
#define ONE_OVER_SQRT_THREE 0.57735026918963f |
#define SQRT_THREE_OVER_TWO 0.8660254037844f |
#define TWO_OVER_SQRT_THREE 1.15470053837926f |
typedef float float32_t |
typedef float float32_t |
typedef float float32_t |
typedef float float32_t |
|
static |
Runs the Clarke transform module for three inputs.
[in] | inIa | Input current value in a-axis |
[in] | inIb | Input current value in b-axis |
[in] | inIc | Input current value in c-axis |
[in] | pIalpha | Output pointer to current value in alpha-axis |
[in] | pIbeta | Output pointer to current value in beta-axis |
|
static |
Runs the Clarke transform module for two inputs.
[in] | inIa | Input current value in a-axis |
[in] | inIb | Input current value in b-axis |
[in] | pIalpha | Output pointer to current value in alpha-axis |
[in] | pIbeta | Output pointer to current value in beta-axis |
|
static |
Runs the Park transform module.
[in] | sinTh | Sine value in radians |
[in] | cosTh | Cosine value in radians |
[in] | inIalpha | Input current value in alpha-axis |
[in] | inIbeta | Input current value in beta-axis |
[in] | pId | Output pointer to voltage value in d-axis |
[in] | pIq | Output pointer to voltage value in q-axis |
|
static |
Runs the inverse Park transform module.
[in] | sinTh | Sine value in radian |
[in] | cosTh | Cosine value in radian |
[in] | inVd | Input voltage value in d-axis |
[in] | inVq | Input voltage value in q-axis |
[in] | pValpha | Output pointer to voltage value in alpha-axis |
[in] | pVbeta | Output pointer to voltage value in beta-axis |
|
static |
Implements a SVM that subtracts common-mode term to achieve SV modulation.
[in] | oneOverDcBus_invV | The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. |
[in] | inValpha | Input voltage value in alpha-axis, V or pu |
[in] | inVbeta | Input voltage value in beta-axis, V or pu |
[in] | pVa | Output pointer to voltage value in a-axis, pu |
[in] | pVb | Output pointer to voltage value in b-axis, pu |
[in] | pVc | Output pointer to voltage value in c-axis, pu |
|
static |
Implements a DPWM that uses maximum modulation.
[in] | oneOverDcBus_invV | The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. |
[in] | inValpha | Input voltage value in alpha-axis, V or pu |
[in] | inVbeta | Input voltage value in beta-axis, V or pu |
[in] | pVa | Output pointer to voltage value in a-axis, pu |
[in] | pVb | Output pointer to voltage value in b-axis, pu |
[in] | pVc | Output pointer to voltage value in c-axis, pu |
|
static |
Implements a DPWM that uses minimum modulation.
[in] | oneOverDcBus_invV | The inverse dc bus voltage scale factor, used to convert inputs to pu, use 1 if units are already in pu. |
[in] | inValpha | Input voltage value in alpha-axis, V or pu |
[in] | inVbeta | Input voltage value in beta-axis, V or pu |
[in] | pVa | Output pointer to voltage value in a-axis, pu |
[in] | pVb | Output pointer to voltage value in b-axis, pu |
[in] | pVc | Output pointer to voltage value in c-axis, pu |
|
static |
Saturates the SVM variable base on modulation limits.
[in] | Umax | Maximum modulation limit |
[in] | Umin | Minimum modulation limit |
[in] | pVa | pointer to voltage value in a-axis |
[in] | pVb | pointer to voltage value in b-axis |
[in] | pVc | pointer to voltage value in c-axis |