3.5.15 tmcRpe_State_s Struct

C

/* Data structure for Rotor Position Estimation (RPE) module: Floating point version */
typedef struct
{
   /** States */
   bool enable;                    /* Flag indicating if the module is enabled */
   bool initDone;                  /* Flag indicating if initialization is done */
   float32_t  eAlpha;              /* Error in alpha axis */
   float32_t  eBeta;               /* Error in beta axis */
   float32_t  eD;                  /* Error in direct axis */    
   float32_t  eQ;                  /* Error in quadrature axis */ 
   float32_t  uAlpha;              /* Alpha axis voltage value */
   float32_t  uBeta;               /* Beta axis voltage value */
   float32_t  iAlpha;              /* Alpha axis current value */
   float32_t  iBeta;               /* Beta axis current value */
   float32_t  n;                   /* Rotor speed */
   float32_t  phi;                 /* Rotor electrical angle */

   /** Parameters */
   float32_t   dt;                 /* Discrete time step or Sample time */
   float32_t   Rs;                 /* Stator resistance value */
   float32_t   dLsByDt;            /* Rate of change of inductance over time */
   float32_t   eABFilterParameter; /* Filter parameter for alpha-beta back-EMF estimation */
   float32_t   eDQFilterParameter; /* Filter parameter for DQ-axis back-EMF estimation */
   float32_t   nFilterParameter;   /* Filter parameter for rotor speed estimation */
   float32_t   oneByKe;            /* Inverse of the back-EMF constant */
   float32_t   speedToAngle;       /* Speed to angle conversion value */
   float32_t phiOffset;            /* Offset to be added to the estimated rotor position angle */
   uint16_t calibCounter;          /* Counter used during the calibration process */ 
   uint16_t calibTimeinCounts;     /* Calibration duration in counts */
}tmcRpe_State_s;

/* Data structure for Rotor position estimation module: Fixed point version */
typedef struct
{
    bool enable;                  /* Flag indicating if the module is enabled */
    bool initDone;                /* Flag indicating if initialization is done */
    int16_t Rs;                   /* Stator resistance value */
    int16_t LsFs;                 /* Filtered inductance value */
    int16_t OneByKeVal;           /* Inverse of back EMF constant value */
    uint16_t OneByKeShift;        /* Shift amount for inverse of back EMF constant */
    int16_t SpeedToAngle;         /* Speed to angle conversion value */
    int16_t eAlpha;               /* Error in alpha axis */
    int16_t eBeta;                /* Error in beta axis */
    int16_t eD;                   /* Error in direct axis */
    int16_t eQ;                   /* Error in quadrature axis */
    int16_t iAlphaLast;           /* Last alpha axis current value */
    int16_t iBetaLast;            /* Last beta axis current value */
    int16_t uAlphaLast;           /* Last alpha axis voltage value */
    int16_t uBetaLast;            /* Last beta axis voltage value */
    uint16_t phi;                 /* Rotor electrical angle */
    int16_t speed;                /* Rotor speed */
    int16_t integOffset;          /* Integration offset */
#if defined ENABLE_FIR_FILTER_STAGE
    int16_t firTapNumbers;        /* Number of taps in the FIR filter */
    int16_t firCoefficients[4U];  /* Coefficients of the FIR filter */
    FIRFilter  firFilter;         /* Structure for FIR filter parameters */ 
#endif

#if defined ENABLE_IIR_FILTER_STAGE 
    int16_t  iirStages;           /* Number of stages in the IIR filter */
    int16_t  iirACoefficients[3U];/* 'A' coefficients for the IIR filter */
    int16_t  iirBCoefficients[3U];/* 'B' coefficients for the IIR filter */
    IIRFilter  iirFilter;         /* Structure for IIR filter parameters */
#endif

#if defined SRF_PLL
    tmcUtils_PiControl_s bPIController;  /* PI controller for PLL */
#else
    int16_t phiOffset;            /* Electrical angle offset */
    uint16_t calibCounter;        /* Calibration counter for phase offset correction */
    uint16_t calibTimeinCounts;   /* Calibration time duration in counts */
#endif
} tmcRpe_State_s;

Summary

RPE module parameter state structure.

Description

This structure holds the input parameters and state variables for the Rotor Position Estimation (RPE) algorithm.

Remarks

Refer the generated header file for the exact typedef signature.