SPRUHJ1I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
The interfaces and functions of SpinTAC Position Control are shown in Figure 4-15.
Note: in SpinTAC Position Control, the inertia, cfg.Inertia, can be obtained by SpinTAC Velocity Identify. The switch cfg.RampDist can be enabled if the dominant disturbance is ramp type. The only tuning parameter of the controller is the bandwidth BwScale.
Table 4-16 lists the interface parameters for SpinTAC Position Control.
Signal Type | Structure Member Name | Data Type | Description | Value Range | Unit |
---|---|---|---|---|---|
Config | cfg.Axis | ST_Axis_e | SpinTAC Control Axis ID | {ST_AXIS0, ST_AXIS1} | |
cfg.T_sec | _iq24 | Sampling time | (0 , 0.01] | s | |
cfg.InertiaMax | _iq24 | Maximum system inertia | (0, 100] | PU · s2 / pu | |
cfg.InertiaMin | _iq24 | Minimum system inertia | (0, cfg.InertiaMax] | PU · s2 / pu | |
cfg.OutMax | _iq24 | Maximum control signal | (0 , 1] | PU | |
cfg.OutMin | _iq24 | Minimum control signal | [-1, 0) | PU | |
cfg.VelMax | _iq24 | Maximum velocity reference signal | (0 , 1] | pu / s | |
cfg.ROMax_mrev | _iq24 | Position rollover bound | [2, 100] | MRev | |
cfg.mrev_TO_pu | _iq24 | Conversion ratio from mechanical revolution [MRev] to [pu] | [0.002, 1] | pu / MRev | |
cfg.PosErrMax_mrev | _iq24 | Maximum allowable position error | (0, cfg.ROMax_mrev /2] | MRev | |
cfg.RampDist | bool | Reject ramp disturbance | false: disabled; true: enabled | ||
cfg.BwScaleMax | _iq24 | Bandwidth upper limit | [0.01, min(50, 0.005/ cfg.T_sec)] | ||
cfg.BwScaleMin | _iq24 | Bandwidth lower limit | [0, cfg.BwScaleMax] | ||
cfg.FiltEn | bool | Enable feedback low pass filter | false: disabled; true: enabled | ||
Inputs | PosRef_mrev | _iq24 | Position reference signal | [-cfg.ROMax_mrev, cfg.ROMax_mrev] | MRev |
VelRef | _iq24 | Velocity reference signal | [-cfg.VelMax, cfg.VelMax] | pu / s | |
AccRef | _iq24 | Acceleration reference signal | [cfg.OutMin, cfg.OutMax] | pu / s2 | |
PosFdb_mrev | _iq24 | Position feedback signal | [-cfg.ROMax_mrev, cfg.ROMax_mrev) | MRev | |
Inertia | _iq24 | System inertia | [cfg.InertiaMin, cfg.InertiaMax] | PU · s2 / pu | |
Friction | _iq24 | System friction | [0, 5] | PU · s2 / pu | |
Tuning | BwScale | _iq24 | Controller bandwidth scale | [cfg.BwScaleMin, cfg.BwScaleMax] | |
Control | ENB | bool | Enable bit | false: disabled; true: enabled | |
RES | bool | Reset bit | false: not reset; true: reset ERR_ID, and hold Out as 0 | ||
Output | Out | _iq24 | Control output | [cfg.OutMin, cfg.OutMax] | PU |
Info | Bw_radps | _iq20 | Controller bandwidth | rad/s | |
STATUS | ST_CtlStatus_e | Status information | {ST_CTL_IDLE, ST_CTL_INIT, ST_CTL_CONF, ST_CTL_BUSY} | ||
ERR_ID | uint16_t | Error code | See Table 13-3 | ||
PosErr_mrev | _iq24 | Position error | MRev |