AM243x Motor Control SDK  09.02.00

Introduction

Contains direct form 2 2nd order DF22 compensator with its related structures and functions.

Go to the source code of this file.

Data Structures

struct  DCL_DF22_SPS
 Defines DCL_DF22 shadow parameter set used for updating compensator parameter. More...
 
struct  dcl_df22
 DCL_DF22 object for storing df22 specific parameters. More...
 

Macros

#define DF22_SPS_DEFAULTS   { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f }
 
#define DF22_DEFAULTS
 Defines default values to initialize DCL_DF22. More...
 
#define DF22_INT_DEFAULTS
 Macro for internal default values to initialize DCL_DF22 Example: DCL_DF22 df22_ctrl = { .b0 = 1.00f, .b1 = 0.0f, ... .a2 = 0.0f, DF22_INT_DEFAULTS };. More...
 
#define DCL_initDF22()   &(DCL_DF22)DF22_DEFAULTS
 Initialize DCL_DF22 struct with default parameters Example: DCL_DF22* df22_ctrl = DCL_initDF22();. More...
 
#define DCL_initDF22asParam(_b0, _b1, _b2, _a1, _a2)
 Initialize DCL_DF22 struct with input compensator parameters Example: DCL_DF22 DF22_ctrl = DCL_initD22asParam(1.0f,0.0f,0.0f,0.0f,0.0f);. More...
 
#define DCL_initDF22asSPS(df_ptr, sps_ptr)
 Initialize DCL_DF22 struct using sps parameters Example: DCL_DF22_SPS df_sps = { .b0 = , .b1 = , ...}; //initial parameter DCL_DF22 df_ctrl; DCL_initDF22asSPS(&df_ctrl,&df_sps);. More...
 

Typedefs

typedef _DCL_VOLATILE struct dcl_df22 DCL_DF22
 

Functions

_DCL_CODE_ACCESS void DCL_resetDF22 (DCL_DF22 *df)
 Resets DF22 internal storage data with interrupt protection. More...
 
_DCL_CODE_ACCESS void DCL_forceUpdateDF22 (DCL_DF22 *df)
 Loads DF22 tuning parameter from its SPS parameter without interrupt protection. More...
 
_DCL_CODE_ACCESS void DCL_updateDF22NoCheck (DCL_DF22 *df)
 Loads DF22 tuning parameter from its SPS parameter with interrupt protection. More...
 
_DCL_CODE_ACCESS bool DCL_updateDF22 (DCL_DF22 *df)
 A conditional update based on the update flag. If the update status is set, the function will update DF22 parameter from its SPS parameter and clear the status flag on completion. More...
 
_DCL_CODE_ACCESS bool DCL_isStableDF22 (DCL_DF22 *df)
 Determines stability of the shadow compensator. More...
 
_DCL_CODE_ACCESS void DCL_loadDF22asZPK (DCL_DF22 *df, DCL_ZPK3 *zpk)
 Loads the DF22 shadow coefficients from a ZPK3 description. More...
 
_DCL_CODE_ACCESS void DCL_loadDF22asZwn (DCL_DF22 *df, float32_t z, float32_t wn)
 Loads the DF22 shadow coefficients from damping ratio and un-damped natural frequency using sample rate in CSS. More...
 
_DCL_CODE_ACCESS void DCL_loadDF22asSeriesPID (DCL_DF22 *df, float32_t Kp, float32_t Ki, float32_t Kd, float32_t fc)
 Loads the shadow DF22 compensator coefficients to emulate a series form PID. More...
 
_DCL_CODE_ACCESS void DCL_loadDF22asParallelPID (DCL_DF22 *df, float32_t Kp, float32_t Ki, float32_t Kd, float32_t fc)
 Loads the shadow DF22 compensator coefficients to emulate a parallel form PID. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runDF22 (DCL_DF22 *df, float32_t ek)
 Executes a 2nd order Direct Form 2 controller. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runDF22PartialCompute (DCL_DF22 *df, float32_t ek)
 Immediate computation to obtain DF22 servo error without updating the controller. More...
 
_DCL_CRIT_ACCESS void DCL_runDF22PartialUpdate (DCL_DF22 *df, float32_t ek, float32_t uk)
 Update DF22 controller based on pre-computed control effort. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runDF22Clamp (DCL_DF22 *df, float32_t ek, float32_t Umax, float32_t Umin)
 Executes a 2nd order Direct Form 2 controller with clamp. More...