3.3.24.4 mcSpeI_SpeedControlAuto
C
/* speed control loop: floating point version */ void mcSpeI_SpeedControlAuto( const tmcSpe_Parameters_s * const pParameters, const float32_t nref, const float32_t nact, float32_t * const pOut ) /* speed control loop: fixd point version */ void mcSpeI_SpeedControlAuto( const tmcSpe_Parameters_s * const pParameters, const int16_t nref, const int16_t nact, int16_t * const pOut )
Summary
Performs speed control.
Description
This function controls speed using a PI controller. It calculates the error between the reference and actual speeds, controls the speed error using the PI controller based on the state of the speed control module, and updates the Q-axis reference current accordingly.
Precondition
The speed control module must be initialized and enabled.
Parameters
Param | Description |
---|---|
pParameters | A pointer to the speed control module parameter structure |
nref | Reference speed value. Please refer the generated header for the exact data type. |
nact | Actual speed value. Please refer the generated header for the exact data type. |
pOut | A pointer to a variable where the output of the PI controller will be stored. Please refer the generated header for the exact data type. |
Returns
None
Example
// Define the speed control module data structure tmcSpe_Parameters_s speedParameters; // Define the parameters for floating point speed control loop float32_t nref = 1000.0f; float32_t nact = 950.0f; float32_t iQref // Define the parameters for fixed point speed control loop int16_t nref = 1000; int16_t nact = 950; int16_t iQref /** Execute speed control loop */ void mcSpeI_SpeedControlAuto(&speedParameters, nref, nact, &iQref);
Remarks
None.