BACKLASH setting not working

More
9 years 3 months ago #96477 by Cpk_Rbt

Todd Zuercher wrote: 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 to join the conversation.

More
9 years 3 months ago #96484 by Todd Zuercher
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:
Code:
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
to this:
Code:
net Xpos => lcec.0.1.poscommand net Ypos => lcec.0.0.poscommand net Zpos => lcec.0.2.poscommand

Please Log in to join the conversation.

More
9 years 3 months ago #96491 by Cpk_Rbt
Nailed it! Thanks Todd, backlash comp works great now.

Please Log in to join the conversation.

More
5 years 4 months ago #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.
Code:
[AXIS_X] MAX_VELOCITY = 3.01702235772 #1.5085117886 MAX_ACCELERATION = 10 MIN_LIMIT = -40.0 MAX_LIMIT = 30.0 BACKLASH = 0.45
Code:
[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
Code:
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 to join the conversation.

More
5 years 4 months ago #212105 by phillc54
BACKLASH should be in the [JOINT] section.

Please Log in to join the conversation.

More
5 years 4 months ago #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 ...

Please Log in to join the conversation.

Time to create page: 0.044 seconds
Powered by Kunena Forum