Hi Alex,
If you are using a DC motor with encoder then I recommend you set RTRY to 0. You should let the controller do the PID, and not involve the EPICS motor record. RTRY is useful for stepper motors with encoders,
when the controller is running open-loop. Then the motor record can attempt to correct for the errors at the end of the move.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Tran, Phi Dung via Tech-talk
Sent: Monday, January 6, 2025 9:15 AM
To: Peterson, Kevin M. <kmpeters at anl.gov>; tech-talk at aps.anl.gov
Subject: Re: brushless dc motor MRES IS N/A
I used the ACS motion controller software to move the motors to their target positions successfully.
However, after configuring the EPICS substitution files with the following parameters:
{N, M, DTYP, PORT, ADDR, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
# 2.54 mm/rev, 200 steps/rev, 1024 microsteps/step
{1, "m$(N)", "asynMotor", ACS1, 0, "VerY $(N)", mm, Pos, 2.2, 2, 4, 0, 2.2, 4, 9.765625e-07, 4, 400, 0, ""}
I observed that the motor oscillates around the target positions until the retry limit is exceeded. I have attempted adjustments using PID and FRAC settings without success.
Could this issue be related to the
VMAX parameter being set to 0? What would be the best approach to resolve this problem?
There are multiple reasons why the MRES should be set to the ERES for DC brushless motors:
* The MRES, not the ERES, is used by the motor record to convert velocities and accelerations from EGU into controller units
* The MRES, not the ERES, is used to synchronize the raw limit fields with the dial and user limit fields
* The absolute value of the MRES is used as the minimum retry deadband
* The MRES, not the ERES, is used to calculate the raw position to send to the controller when the motor record's dial position is being redefined
* If a user changes UEIP to "No", the motor will still work if MRES == ERES (assuming the motor driver sets both the RMP and REP to the same value)
Kevin
________________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Tran, Phi Dung via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, December 19, 2024 10:10 AM
To: tech-talk at aps.anl.gov
Subject: brushless dc motor MRES IS N/A
hI,
I am using a DC brushless motor with an encoder. For the motor record, I will define ERES and set UEIP to YES. That's it; my MRES is not applicable therefore, I will not include this field..
However, experts have advised that I should set MRES equal to ERES. What is the rationale behind this? Is it to ensure that when UEIP is set to NO, the motor still operates correctly?
Alex
|