![]() |
![]() |
|
MSPM0G3507SensoredFOCMotorControlLibrary
1.0
|
#include <ti/iqmath/include/IQmathLib.h>#include "IQmath_mathacl.h"#include "pi.h"#include "stdint.h"#include "idReferencing.h"#include "mcLib.h"#include "iqNum.h"#include "measure.h"#include "main.h"

Go to the source code of this file.
Data Structures | |
| union | CLOSE_LOOP_FLAGS_T |
| Close Loop Flags. More... | |
| struct | CLOSE_LOOP_FLAGS_T::closeLoopFlags |
| Close Loop Flags Structure. More... | |
| struct | CLOSE_LOOP_T |
| Closed Loop Working variables. More... | |
Macros | |
| #define | SPEED_ERROR_THRESHOLD_PU 0.05 |
| Speed Error Thresold. | |
| #define | SPEED_CMD_THRESHOLD _IQ(0.04) |
| Speed command Threshold. | |
| #define | TRANSITION_SIN_ANGLE_ALIGN_THRESHOLD _IQ(0.08715574275) |
| Transition Parameter. | |
Enumerations | |
| enum | COMMUTATION_STATE_TYPES { COMMUTATION_UNALIGNED = 0, COMMUTATION_ALIGNED = 1 } |
| Commutation States. More... | |
| enum | SPEED_CHANGE_STATE_TYPES { CLOSE_LOOP_UNDEFINED_STATE = 0, CLOSE_LOOP_STEADY_STATE = 1, CLOSE_LOOP_ACCELERATE = 2, CLOSE_LOOP_DECELERATE = 3 } |
| Transition States. More... | |
| enum | APP_CONTROL_TYPES { CONTROL_SPEED = 0, CONTROL_POWER = 1, CONTROL_TORQUE = 2, CONTROL_VOLTAGE = 3 } |
| Control types. More... | |
Functions | |
| void | closeLoopInit (CLOSE_LOOP_T *pCloseLoop) |
| Close Loop Init. More... | |
| void | closeLoopRun (CLOSE_LOOP_T *pCloseLoop) |
| Close Loop Run. More... | |
| void | closeLoopLowPriorityRun (CLOSE_LOOP_T *pCloseLoop) |
| Close Loop Low Priority run. More... | |
| _Bool | getCloseLoopAlignedStatus (CLOSE_LOOP_T *pCloseLoop) |
| get Closed loop align status More... | |
| _Bool | getAvsStatus (CLOSE_LOOP_T *pCloseLoop) |
| get AVS Status More... | |
| enum APP_CONTROL_TYPES |
| void closeLoopInit | ( | CLOSE_LOOP_T * | pCloseLoop | ) |
Close Loop Init.
| [in] | *pCloseLoop | Input Pointer |
References CLOSE_LOOP_T::accelSpeedRefSlewRate, CLOSE_LOOP_T::angleOffset, COMMUTATION_UNALIGNED, CLOSE_LOOP_T::commutationState, CLOSE_LOOP_T::currentReferenceSqrMax, CLOSE_LOOP_T::currentReferenceSqrMaxSet, CLOSE_LOOP_T::decelSpeedRefSlewRate, ID_REF_T::idRef, CLOSE_LOOP_T::idRefGen, idRefInit(), piInit(), CLOSE_LOOP_T::piSpeed, CLOSE_LOOP_T::PowerFeedback, CLOSE_LOOP_T::PowerReference, CLOSE_LOOP_T::slowAccelSpeedRefSlewRate, CLOSE_LOOP_T::slowDecelSpeedRefSlewRate, CLOSE_LOOP_T::sourceCurrentFeedback, and CLOSE_LOOP_T::velocityReference.
| void closeLoopRun | ( | CLOSE_LOOP_T * | pCloseLoop | ) |
Close Loop Run.
| [in] | *pCloseLoop | Input Pointer |
References _IQmpy_mathacl, MC_ABC_T::a, CLOSE_LOOP_T::accelSpeedRefSlewRate, CLOSE_LOOP_T::angle, CLOSE_LOOP_T::angleAlignStep, CLOSE_LOOP_T::angleOffset, CLOSE_LOOP_FLAGS_T::closeLoopFlags::avsEnable, CLOSE_LOOP_FLAGS_T::b, MC_ABC_T::b, MC_ABC_T::c, COMMUTATION_ALIGNED, COMMUTATION_UNALIGNED, CLOSE_LOOP_T::commutationState, CONTROL_POWER, CONTROL_SPEED, CLOSE_LOOP_T::controlMode, MC_DQ_T::d, CLOSE_LOOP_T::decelSpeedRefSlewRate, CLOSE_LOOP_T::fastAccelSpeedRefSlewRate, CLOSE_LOOP_T::fastDecelSpeedRefSlewRate, CLOSE_LOOP_T::flags, CLOSE_LOOP_T::idqRef, ID_REF_T::idRef, CLOSE_LOOP_T::idRefGen, CLOSE_LOOP_T::iqRefMax, PI_T::out, PI_T::outMax, PI_T::outMin, CLOSE_LOOP_T::pDabc, CLOSE_LOOP_T::pFluxAngle, CLOSE_LOOP_T::pIabc, piRun(), CLOSE_LOOP_T::piSpeed, CLOSE_LOOP_T::pVelocity, MC_DQ_T::q, sine(), slewRate(), CLOSE_LOOP_T::sourceCurrentFeedback, and TRANSITION_SIN_ANGLE_ALIGN_THRESHOLD.
Referenced by focRun().
| void closeLoopLowPriorityRun | ( | CLOSE_LOOP_T * | pCloseLoop | ) |
Close Loop Low Priority run.
| [in] | *pCloseLoop | Input Pointer |
References MC_ABC_T::a, CLOSE_LOOP_T::accelSpeedRefSlewRate, CLOSE_LOOP_FLAGS_T::closeLoopFlags::avsEnable, CLOSE_LOOP_FLAGS_T::b, MC_ABC_T::b, MC_ABC_T::c, CLOSE_LOOP_ACCELERATE, CLOSE_LOOP_DECELERATE, CLOSE_LOOP_STEADY_STATE, COMMUTATION_ALIGNED, COMMUTATION_UNALIGNED, CLOSE_LOOP_T::commutationState, CONTROL_SPEED, CLOSE_LOOP_T::controlMode, CLOSE_LOOP_T::currentReferenceSqrMax, MC_DQ_T::d, CLOSE_LOOP_T::decelSpeedRefSlewRate, CLOSE_LOOP_T::fastAccelSpeedRefSlewRate, CLOSE_LOOP_T::fastDecelSpeedRefSlewRate, CLOSE_LOOP_T::flags, CLOSE_LOOP_T::idqRef, CLOSE_LOOP_T::idRefGen, idRefLowPriorityRun(), CLOSE_LOOP_T::iqRefMax, CLOSE_LOOP_T::modIndexSqr, CLOSE_LOOP_T::pMabc, CLOSE_LOOP_T::pSpeed, CLOSE_LOOP_T::pTargetVelocity, CLOSE_LOOP_T::pVelocity, slewRate(), CLOSE_LOOP_T::slowAccelSpeedRefSlewRate, CLOSE_LOOP_T::slowDecelSpeedRefSlewRate, SPEED_CMD_THRESHOLD, CLOSE_LOOP_T::speedChangeState, CLOSE_LOOP_T::speedReference, CLOSE_LOOP_T::targetSpeedLimited, CLOSE_LOOP_T::targetVelocityLimited, TWO_BY_THREE, CLOSE_LOOP_T::velocityReference, CLOSE_LOOP_T::velocityReferenceMax, and CLOSE_LOOP_T::velocityReferenceMin.
Referenced by focLowPriorityRun().
|
inline |
get Closed loop align status
| [in] | *pCloseLoop | Pointer |
References COMMUTATION_ALIGNED, and CLOSE_LOOP_T::commutationState.
Referenced by focLowPriorityRun().
|
inline |
get AVS Status
| [in] | *pCloseLoop |
References CLOSE_LOOP_FLAGS_T::closeLoopFlags::avsEnable, CLOSE_LOOP_FLAGS_T::b, CLOSE_LOOP_T::flags, CLOSE_LOOP_T::idqRef, CLOSE_LOOP_T::pSpeed, MC_DQ_T::q, SPEED_ERROR_THRESHOLD_PU, and CLOSE_LOOP_T::targetSpeedLimited.
Referenced by focRun().