3.3.19.3 mcFlyI_FlyingStart

C

/* Perform flying start  */
tmcTypes_StdReturn_e  mcFlyI_FlyingStart( tmcFly_Parameters_s * const pParameters,
                                   const float32_t speed, const float32_t commandDirection,
                                   float32_t * const pIdref, float32_t * const pIqref,
                                   bool * const pDutyOverride, int16_t * const pDuty )	

Summary

This function performs the Flying Start operation.

Description

This function implements a state machine to manage the flying start process by monitoring rotor speed and applying the appropriate controls to ensure a smooth transition to closed-loop operation. A flying start is used to start a motor that is already spinning, preventing abrupt torque or current spikes.

Precondition

The flying start module must be initialized and enabled.

Parameters

ParamDescription
pParametersA pointer to the flying start module parameter structure.
speedCurrent speed value.
commandDirectionCommanded direction value.
pIdrefA pointer to a floating-point variable where the d-axis current reference will be set.
pIqrefA pointer to a floating-point variable where the q-axis current reference will be set.
pDutyOverrideA pointer to a boolean value indicating whether PWM duty cycle override is active.
pDutyA Pointer to the duty cycle value.

Returns

Returns status of the flying start process:

  • StdReturn_Progress: Operation in progress
  • StdReturn_Success: Operation successful
  • StdReturn_Fail: Operation failed
  • StdReturn_Complete: Operation completed

Example

// Define the flying start module data structure
tmcFly_Parameters_s pParameters;
 
float32_t direction = 1.0f;
float32_t speed =100.0f;
bool pDutyOverride;
float32_t iqRef, idRef;
int16_t  duty[3];
tmcTypes_StdReturn_e status;

/** Initialize parameters */
status = mcFlyI_FlyingStart(&pParameters, speed, direction, &idRef, &iqRef, duty);

if (status == StdReturn_Complete) {
    // flying start operation is complete
}
    

Remarks

None.