BACKLASH setting not working
26 Jul 2017 15:12 #96477
by Cpk_Rbt
I realized we forgot to address this question of yours. Each drive is locked into an interpolation loop, and if that unlocks, it sends back feedback to LinuxCNC. We have signals set up to disable the LinuxCNC system if any of the drives leaves "ready for motion" state.
In regards to backlash compensation, it is our understanding that it is basically telling the machine how far to move the motor before the mechanics start moving (e.g. when the gear teeth engage). Is that how LinuxCNC treats backlash compensation, or is there something else going on outside the norm of backlash compensation?
Replied by Cpk_Rbt on topic BACKLASH setting not working
So how can you have any idea if the drives are following the commands it receives?
I realized we forgot to address this question of yours. Each drive is locked into an interpolation loop, and if that unlocks, it sends back feedback to LinuxCNC. We have signals set up to disable the LinuxCNC system if any of the drives leaves "ready for motion" state.
In regards to backlash compensation, it is our understanding that it is basically telling the machine how far to move the motor before the mechanics start moving (e.g. when the gear teeth engage). Is that how LinuxCNC treats backlash compensation, or is there something else going on outside the norm of backlash compensation?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
26 Jul 2017 15:48 - 26 Jul 2017 15:48 #96484
by Todd Zuercher
Replied by Todd Zuercher on topic BACKLASH setting not working
Duh! I just realized what your problem is and why you are not seeing any backlash compensation applied to the motors. It is an obvious mistake in your hal file that we should have caught straight off when you posted your hal file. I kind of feel bad for not seeing this before.
You are using the pin axis.N.joint-pos-cmd as the source for your command to your drives. This is WRONG. You need to use axis.N.motor-pos-cmd. The reason is right here in the man page for Motion
axis.N.joint-pos-cmd OUT FLOAT
The joint (as opposed to motor) commanded position. There may be several offsets between the joint and motor coordinates: backlash compensation, screw error compensation, and home offsets.
The simplest fix would be to change these 3 lines in your hal file from this:to this:
You are using the pin axis.N.joint-pos-cmd as the source for your command to your drives. This is WRONG. You need to use axis.N.motor-pos-cmd. The reason is right here in the man page for Motion
axis.N.joint-pos-cmd OUT FLOAT
The joint (as opposed to motor) commanded position. There may be several offsets between the joint and motor coordinates: backlash compensation, screw error compensation, and home offsets.
The simplest fix would be to change these 3 lines in your hal file from this:
net pos0_float axis.0.joint-pos-cmd => lcec.0.1.poscommand
net pos1_float axis.1.joint-pos-cmd => lcec.0.0.poscommand
net pos2_float axis.2.joint-pos-cmd => lcec.0.2.poscommand
net Xpos => lcec.0.1.poscommand
net Ypos => lcec.0.0.poscommand
net Zpos => lcec.0.2.poscommand
Last edit: 26 Jul 2017 15:48 by Todd Zuercher.
Please Log in or Create an account to join the conversation.
26 Jul 2017 16:43 #96491
by Cpk_Rbt
Replied by Cpk_Rbt on topic BACKLASH setting not working
Nailed it! Thanks Todd, backlash comp works great now.
Please Log in or Create an account to join the conversation.
15 Jun 2021 09:06 #212104
by MRx
Replied by MRx on topic BACKLASH setting not working
I have just tried to set up backlash compensation and it doesn't work at all it seems.
is there anything I forgot? I'm using the latest linuxcnc git version.
[AXIS_X]
MAX_VELOCITY = 3.01702235772
#1.5085117886
MAX_ACCELERATION = 10
MIN_LIMIT = -40.0
MAX_LIMIT = 30.0
BACKLASH = 0.45
[JOINT_0]
TYPE = LINEAR
HOME = 25.0
MIN_LIMIT = -40.0
MAX_LIMIT = 30.0
MAX_VELOCITY = 3.01702235772
#1.50851117886
MAX_ACCELERATION = 10
STEPGEN_MAXACCEL = 100 <--
#12.5
#8.75
SCALE = 3840
#7680.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 25.0
setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 35500
setp stepgen.0.dirsetup 35500
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
is there anything I forgot? I'm using the latest linuxcnc git version.
Please Log in or Create an account to join the conversation.
15 Jun 2021 09:34 #212105
by phillc54
Replied by phillc54 on topic BACKLASH setting not working
BACKLASH should be in the [JOINT] section.
Please Log in or Create an account to join the conversation.
15 Jun 2021 09:50 - 15 Jun 2021 09:52 #212106
by MRx
Replied by MRx on topic BACKLASH setting not working
I just figured that out yes... it works well! Thank you!
forum.linuxcnc.org/49-basic-configuratio...nc-backslash-problem
all of them mention AXIS_N though ...
forum.linuxcnc.org/49-basic-configuratio...nc-backslash-problem
all of them mention AXIS_N though ...
Last edit: 15 Jun 2021 09:52 by MRx.
Please Log in or Create an account to join the conversation.
Time to create page: 0.106 seconds