Backlash and Slack Compensation [SOLVED]

JuKu
Site Admin
Posts: 1114
Joined: Thu Feb 14, 2013 3:06 pm
Location: Tampere, Finland
Contact:

Re: Backlash and Slack Compensation

Post by JuKu »

> Still stumped.

Me too, but...

> It's almost as if the software isn't compensating

You should be able to see if it does. There should be a noticeable difference if the compensations works. I want to get to the root of this, and I'd like to replicate your settings. Please send text $$ to TinyG (that dumps all TinyG internal settings to the log window) and send the log to me or post here (click inside the log window, ctrl+A to select all copy and paste to a text document, email or posting).

> approaching from the same direction is a correct way of dealing with backlash

That is the idea. :-)
Jet
Posts: 100
Joined: Mon Apr 17, 2017 4:13 am

Re: Backlash and Slack Compensation

Post by Jet »

JuKu wrote:>You should be able to see if it does.
Yes I see it, it was more of a statement i.e. that it doesn't make sense.

Here's the log:

Code: Select all

==> $$
[fb]  firmware build            440.20
[fv]  firmware version            0.97
[hp]  hardware platform           1.00
[hv]  hardware version            8.00
[id]  TinyG ID                    5W3249-W3G
[ja]  junction acceleration  100000 mm
[ct]  chordal tolerance           0.0100 mm
[sl]  soft limit enable           0
[st]  switch type                 0 [0=NO,1=NC]
[mt]  motor idle timeout        300.00 Sec
[ej]  enable json mode            0 [0=text,1=JSON]
[jv]  json verbosity              2 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[js]  json serialize style        1 [0=relaxed,1=strict]
[tv]  text verbosity              1 [0=silent,1=verbose]
[qv]  queue report verbosity      0 [0=off,1=single,2=triple]
[sv]  status report verbosity     1 [0=off,1=filtered,2=verbose]
[si]  status interval           500 ms
[ec]  expand LF to CRLF on TX     0 [0=off,1=on]
[ee]  enable echo                 0 [0=off,1=on]
[ex]  enable flow control         1 [0=off,1=XON/XOFF, 2=RTS/CTS]
[baud] USB baud rate              5 [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400]
[net] network mode                0 [0=master]
[gpl] default gcode plane         0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode    1 [0=G20,1=G21]
[gco] default gcode coord system  1 [1-6 (G54-G59)]
[gpa] default gcode path control  2 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91]
[1ma] m1 map to axis              0 [0=X,1=Y,2=Z...]
[1sa] m1 step angle               0.900 deg
[1tr] m1 travel per revolution   40.0000 mm
[1mi] m1 microsteps               8 [1,2,4,8]
[1po] m1 polarity                 0 [0=normal,1=reverse]
[1pm] m1 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[2ma] m2 map to axis              1 [0=X,1=Y,2=Z...]
[2sa] m2 step angle               0.900 deg
[2tr] m2 travel per revolution   40.0000 mm
[2mi] m2 microsteps               8 [1,2,4,8]
[2po] m2 polarity                 0 [0=normal,1=reverse]
[2pm] m2 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[3ma] m3 map to axis              2 [0=X,1=Y,2=Z...]
[3sa] m3 step angle               1.800 deg
[3tr] m3 travel per revolution    8.0000 mm
[3mi] m3 microsteps               8 [1,2,4,8]
[3po] m3 polarity                 0 [0=normal,1=reverse]
[3pm] m3 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[4ma] m4 map to axis              3 [0=X,1=Y,2=Z...]
[4sa] m4 step angle               0.900 deg
[4tr] m4 travel per revolution  160.0000 mm
[4mi] m4 microsteps               8 [1,2,4,8]
[4po] m4 polarity                 0 [0=normal,1=reverse]
[4pm] m4 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[xam] x axis mode                 1 [standard]
[xvm] x velocity maximum      10000 mm/min
[xfr] x feedrate maximum      10000 mm/min
[xtn] x travel minimum            0.000 mm
[xtm] x travel maximum          600.000 mm
[xjm] x jerk maximum           2500 mm/min^3 * 1 million
[xjh] x jerk homing            2000 mm/min^3 * 1 million
[xjd] x junction deviation        0.0100 mm (larger is faster)
[xsn] x switch min                3 [0=off,1=homing,2=limit,3=limit+homing]
[xsx] x switch max                2 [0=off,1=homing,2=limit,3=limit+homing]
[xsv] x search velocity        2000 mm/min
[xlv] x latch velocity          100 mm/min
[xlb] x latch backoff             8.000 mm
[xzb] x zero backoff              8.000 mm
[yam] y axis mode                 1 [standard]
[yvm] y velocity maximum      10000 mm/min
[yfr] y feedrate maximum      10000 mm/min
[ytn] y travel minimum            0.000 mm
[ytm] y travel maximum          400.000 mm
[yjm] y jerk maximum           2500 mm/min^3 * 1 million
[yjh] y jerk homing            2000 mm/min^3 * 1 million
[yjd] y junction deviation        0.0100 mm (larger is faster)
[ysn] y switch min                3 [0=off,1=homing,2=limit,3=limit+homing]
[ysx] y switch max                2 [0=off,1=homing,2=limit,3=limit+homing]
[ysv] y search velocity        2000 mm/min
[ylv] y latch velocity          100 mm/min
[ylb] y latch backoff             8.000 mm
[yzb] y zero backoff              2.000 mm
[zam] z axis mode                 1 [standard]
[zvm] z velocity maximum       1000 mm/min
[zfr] z feedrate maximum       1000 mm/min
[ztn] z travel minimum            0.000 mm
[ztm] z travel maximum           80.000 mm
[zjm] z jerk maximum            200 mm/min^3 * 1 million
[zjh] z jerk homing             500 mm/min^3 * 1 million
[zjd] z junction deviation        0.0100 mm (larger is faster)
[zsn] z switch min                3 [0=off,1=homing,2=limit,3=limit+homing]
[zsx] z switch max                2 [0=off,1=homing,2=limit,3=limit+homing]
[zsv] z search velocity        1000 mm/min
[zlv] z latch velocity          100 mm/min
[zlb] z latch backoff             4.000 mm
[zzb] z zero backoff              2.000 mm
[aam] a axis mode                 1 [standard]
[avm] a velocity maximum     300000 deg/min
[afr] a feedrate maximum     300000 deg/min
[atn] a travel minimum           -1.000 deg
[atm] a travel maximum          400.000 deg
[ajm] a jerk maximum          25000 deg/min^3 * 1 million
[ajh] a jerk homing            5000 deg/min^3 * 1 million
[ajd] a junction deviation        0.0100 deg (larger is faster)
[ara] a radius value              0.1990 deg
[asn] a switch min                0 [0=off,1=homing,2=limit,3=limit+homing]
[asx] a switch max                0 [0=off,1=homing,2=limit,3=limit+homing]
[asv] a search velocity         600 deg/min
[alv] a latch velocity          100 deg/min
[alb] a latch backoff             5.000 deg
[azb] a zero backoff              2.000 deg
[bam] b axis mode                 0 [disabled]
[bvm] b velocity maximum       3600 deg/min
[bfr] b feedrate maximum       3600 deg/min
[btn] b travel minimum           -1.000 deg
[btm] b travel maximum           -1.000 deg
[bjm] b jerk maximum             20 deg/min^3 * 1 million
[bjd] b junction deviation        0.0500 deg (larger is faster)
[bra] b radius value              1.0000 deg
[cam] c axis mode                 0 [disabled]
[cvm] c velocity maximum       3600 deg/min
[cfr] c feedrate maximum       3600 deg/min
[ctn] c travel minimum           -1.000 deg
[ctm] c travel maximum           -1.000 deg
[cjm] c jerk maximum             20 deg/min^3 * 1 million
[cjd] c junction deviation        0.0500 deg (larger is faster)
[cra] c radius value              1.0000 deg
[p1frq] pwm frequency               100 Hz
[p1csl] pwm cw speed lo            1000 RPM
[p1csh] pwm cw speed hi            2000 RPM
[p1cpl] pwm cw phase lo           0.125 [0..1]
[p1cph] pwm cw phase hi           0.200 [0..1]
[p1wsl] pwm ccw speed lo           1000 RPM
[p1wsh] pwm ccw speed hi           2000 RPM
[p1wpl] pwm ccw phase lo          0.125 [0..1]
[p1wph] pwm ccw phase hi          0.200 [0..1]
[p1pof] pwm phase off             0.100 [0..1]
[g54x] g54 x offset               0.000 mm
[g54y] g54 y offset               0.000 mm
[g54z] g54 z offset               0.000 mm
[g54a] g54 a offset               0.000 deg
[g54b] g54 b offset               0.000 deg
[g54c] g54 c offset               0.000 deg
[g55x] g55 x offset              75.000 mm
[g55y] g55 y offset              75.000 mm
[g55z] g55 z offset               0.000 mm
[g55a] g55 a offset               0.000 deg
[g55b] g55 b offset               0.000 deg
[g55c] g55 c offset               0.000 deg
[g56x] g56 x offset               0.000 mm
[g56y] g56 y offset               0.000 mm
[g56z] g56 z offset               0.000 mm
[g56a] g56 a offset               0.000 deg
[g56b] g56 b offset               0.000 deg
[g56c] g56 c offset               0.000 deg
[g57x] g57 x offset               0.000 mm
[g57y] g57 y offset               0.000 mm
[g57z] g57 z offset               0.000 mm
[g57a] g57 a offset               0.000 deg
[g57b] g57 b offset               0.000 deg
[g57c] g57 c offset               0.000 deg
[g58x] g58 x offset               0.000 mm
[g58y] g58 y offset               0.000 mm
[g58z] g58 z offset               0.000 mm
[g58a] g58 a offset               0.000 deg
[g58b] g58 b offset               0.000 deg
[g58c] g58 c offset               0.000 deg
[g59x] g59 x offset               0.000 mm
[g59y] g59 y offset               0.000 mm
[g59z] g59 z offset               0.000 mm
[g59a] g59 a offset               0.000 deg
[g59b] g59 b offset               0.000 deg
[g59c] g59 c offset               0.000 deg
[g92x] g92 x offset               0.000 mm
[g92y] g92 y offset               0.000 mm
[g92z] g92 z offset               0.000 mm
[g92a] g92 a offset               0.000 deg
[g92b] g92 b offset               0.000 deg
[g92c] g92 c offset               0.000 deg
[g28x] g28 x position             0.000 mm
[g28y] g28 y position             0.000 mm
[g28z] g28 z position             0.000 mm
[g28a] g28 a position             0.000 deg
[g28b] g28 b position             0.000 deg
[g28c] g28 c position             0.000 deg
[g30x] g30 x position             0.000 mm
[g30y] g30 y position             0.000 mm
[g30z] g30 z position             0.000 mm
[g30a] g30 a position             0.000 deg
[g30b] g30 b position             0.000 deg
[g30c] g30 c position             0.000 deg
tinyg [mm] ok> 
lfkeyboards
Posts: 5
Joined: Sun Apr 08, 2018 3:15 pm

Re: Backlash and Slack Compensation

Post by lfkeyboards »

Curious if this went anywhere, I seem to be seeing the exact issue.
Jet
Posts: 100
Joined: Mon Apr 17, 2017 4:13 am

Re: Backlash and Slack Compensation

Post by Jet »

No, it didn't go anywhere, pretty much exhausted every possibility I could think off, so the machine has just been sitting not accurate enough to use.

I have the new high res cameras, I'm gonna put those in, to see if they make a difference, but I don't expect it to.
JuKu
Site Admin
Posts: 1114
Joined: Thu Feb 14, 2013 3:06 pm
Location: Tampere, Finland
Contact:

Re: Backlash and Slack Compensation

Post by JuKu »

Is your Y axis tube black?

Also, please note viewtopic.php?f=10&t=6087 and my comment in the second post.
Jet
Posts: 100
Joined: Mon Apr 17, 2017 4:13 am

Re: Backlash and Slack Compensation

Post by Jet »

JuKu wrote:Is your Y axis tube black?
It is, I've only been looking at the X axis so far. I got the silver Y axis tube in the camera upgrade kit, so I'll be installing it today.
JuKu wrote:Also, please note viewtopic.php?f=10&t=6087 and my comment in the second post.
I'll try the new violent homing and see if that solves it.
Jet
Posts: 100
Joined: Mon Apr 17, 2017 4:13 am

Re: Backlash and Slack Compensation

Post by Jet »

Just to update. I've installed the new Y axle, cameras and diffuser. The problem still persists, so those can be ruled out as the cause.

Next, installing the new version of the software and trying the new homing feature....
Jet
Posts: 100
Joined: Mon Apr 17, 2017 4:13 am

Re: Backlash and Slack Compensation

Post by Jet »

Installed the latest version of the software (28/5/18) and enabled Vigorous Homing, the issue still persists with no change.
Jet
Posts: 100
Joined: Mon Apr 17, 2017 4:13 am

Re: Backlash and Slack Compensation

Post by Jet »

Still haven't found a solution to this....

I've tried replacing the stepper with a different model/brand, no difference. The problem occurs on X & Y and exhibits
the same features. I can't effect the problem by tugging on the cable carrier or twisting the head (top to bottom or planar).
Belt tension makes no difference. Tugging on the belt does change the position.

It's almost as though tension is being stored in the belt due to the movement that isn't being dissipated by the idlers.

Here's a graph of the error with Slack Compensaton Enabled, Slack Compensation Disabled, and with a 100mm simulated slack compensation (which solves the issue completely, but isn't a practical solution). X axis is the amount of movement in mm, and Y axis is the amount of error in mm.

Any ideas?

Image
JuKu
Site Admin
Posts: 1114
Joined: Thu Feb 14, 2013 3:06 pm
Location: Tampere, Finland
Contact:

Re: Backlash and Slack Compensation

Post by JuKu »

I really can't think of why this would be. You have ruled out all that I can think of: Belts, belt attachment, wheels, speed, pulleys. When tensioning the Y belts, it should be dome with pulleys loose, and after tightening the belts, moving the bar manually back and forth a couple of times to even out the tension, then tightening the pulleys. BUt this doesn't affect X side. If you machine table fixing would move or cause forces on the table, that would cause errors at long travels, not short. If anyone reading this can think of something, Jet and myself would really appreciate.
Post Reply