This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
SpinTAC Velocity Output maximums are initialized as peak current limits, but seem to behave like RMS current limits.
SpinTAC maximums are initialized in ST_setupVelCtl() as follows:
_iq24 maxCurrent_PU = _IQ24(USER_MOTOR_MAX_CURRENT / USER_IQ_FULL_SCALE_CURRENT_A);
STVELCTL_setOutputMaximums(obj->velCtlHandle, maxCurrent_PU, -maxCurrent_PU);
USER_MOTOR_MAX_CURRENT is rated motor peak current (not RMS current), so the SpinTAC limits are set in terms of peak current.
But for example If USER_MAX_CURRENT = 2.12A,
In testing as motor load increases motor phase current increases up to 3A peak (2.12A RMS) before the current stops increasing and the motor starts to slow down. So SpinTAC is limiting current to 2.12A RMS but USER_MAX_CURRENT is set to 2.12A peak.
To not exceed the motor's max current rating, shouldn’t the SpintTAC initialization be changed to RMS as follows?
_iq24 maxCurrent_PU = _IQ24( USER_MOTOR_MAX_CURRENT/1.414 / USER_IQ_FULL_SCALE_CURRENT_A);
Thanks.
USER_MAX_CURRENT is a limit on the peak IqRef_A as set by the velocity controller
let us look at your claim in a bit more detail.