Thank you, andrax. It seems that the absolute encoder would be a good solution and perhaps using them will prevent any homing failure. The batteries are installed in the boxes of each servo. From the servo manual, the default home offset is 0. Therefore this should be the absolute homing position that the servo knows about - 0x6064 should be around 0 or 2^32. When I execute a home procedure in LinuxCNC, the 0x6064h is indeed around 0, I check it via "ethercat upload" terminal command. Then I close and start LinuxCNC again and the motor does not arrive in the same position as the previous execution of homing. There is a different value on the axis/joint DRO. This is my joint configuration:
Code:
[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 5000.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
# is this applicable for ethercat????
#STEPGEN_MAXVEL = 1250
#STEPGEN_MAXACCEL = 50000
SCALE = 1
FERROR = 200
MIN_FERROR = 100
MIN_LIMIT = -1
MAX_LIMIT = 1200
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = FALSE
HOME_SEQUENCE = 0
HOME_ABSOLUTE_ENCODER = 1