Could Jerk be causing my extended ShapeOko to miss steps?

Home Forums TinyG TinyG Support Could Jerk be causing my extended ShapeOko to miss steps?

Viewing 15 posts - 1 through 15 (of 25 total)
  • Author
    Posts
  • #4759
    Makerboost
    Member

    I’ve been having problems with missed steps lately and I’ve made a post at the shapeoko forums detailing my trials.

    Direct link: http://www.shapeoko.com/forum/viewtopic.php?f=7&t=2137

    I’ve been pouring over the settings for the TinyG, trying to find a reason for the missed steps, as they seem to happen mostly in arcs.
    The code I was working on had many arcs in various degrees and the skips all seemed to happen at the same places every time.

    I tried moving the workpiece to different places to see if it was a problem in one area of the X or Y axis, but it seems the same.

    Now I’m looking at the Jerk Maximum setting in my TinyG.
    Could the weight I’ve added to my ShapeOko be too much for my current setting? (taken from the default recommended parameters)

    #4760
    Makerboost
    Member

    I tried lowering my $xjm and $yjm to 100.000, but it still skipped on the same lines.
    I lowered my $xjd and $yjd to 0.01, and it didn’t slow down in the offending corners like it did on every other junction.
    Could there be a mistake in the G-code?

    • This reply was modified 10 years, 11 months ago by Makerboost.
    #4762
    Makerboost
    Member
    #4763
    mcgyvr
    Member

    Did you flash to the new firmware like Riley said?

    Rileys response from another thread…
    Makerboost,
    That arc thing you described was a bug. Its been fixed in 380.08. Depending on when you read this… 380.08 is in edge or has already been promoted to master.

    #4764
    alden
    Member

    I would suggest you also look at your cornering acceleration setting. It may be too high for your mechanics.
    https://github.com/synthetos/TinyG/wiki/TinyG-Configuration#ja—junction-acceleration

    #4766
    Makerboost
    Member

    Wow, I can’t believe I didn’t catch that. I have 380.05 now, and am definitely going to try the edge version if this is a known error and has been fixed.

    Alden: I tried setting it to 50.000, down from 200.000. Didn’t change the behavior though.

    • This reply was modified 10 years, 11 months ago by Makerboost.
    • This reply was modified 10 years, 11 months ago by Makerboost.
    #4769
    Makerboost
    Member

    I flashed it with the edge build (firmware/tinyg/default/tinyg.hex), but it reported version as 380.05 still.

    Anyway, tested a g-code file I had problems with before, and I got the same problem still. I made a video where you can hear the missed steps at each endpoint of the “star” shape it’s drawing.

    [video src="https://www.dropbox.com/s/a3ranxf1so4jemb/2013-10-13%2019.37.42.mp4" /]

    #4770
    Makerboost
    Member

    Would it be extreme to try flashing it with the dev branch considering that I can’t use my machine in it’s current state?

    Is it important to clear the EEPROM after flashing it?

    #4771
    Makerboost
    Member

    My configuration

    [fb]  firmware build            380.05
    [fv]  firmware version            0.96
    [hv]  hardware version            8.00
    [id]  TinyG ID                    9H3583-YNY
    [ja]  junction acceleration   50000 mm
    [ct]  chordal tolerance           0.001 mm
    [st]  switch type                 1 [0=NO,1=NC]
    [mt]  motor disble timeout     3600 Sec
    [ej]  enable json mode            0 [0=text,1=JSON]
    [jv]  json verbosity              3 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
    [tv]  text verbosity              0 [0=silent,1=verbose]
    [qv]  queue report verbosity      1 [0=off,1=filtered,2=verbose]
    [sv]  status report verbosity     1 [0=off,1=filtered,2=verbose]
    [si]  status interval           250 ms
    [ic]  ignore CR or LF on RX       0 [0=off,1=CR,2=LF]
    [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]
    [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               1.800 deg
    [1tr] m1 travel per revolution   40.000 mm
    [1mi] m1 microsteps               8 [1,2,4,8]
    [1po] m1 polarity                 1 [0=normal,1=reverse]
    [1pm] m1 power management         0 [0=remain powered,1=shut off when idle]
    [2ma] m2 map to axis              1 [0=X,1=Y,2=Z...]
    [2sa] m2 step angle               1.800 deg
    [2tr] m2 travel per revolution   40.000 mm
    [2mi] m2 microsteps               8 [1,2,4,8]
    [2po] m2 polarity                 1 [0=normal,1=reverse]
    [2pm] m2 power management         0 [0=remain powered,1=shut off when idle]
    [3ma] m3 map to axis              2 [0=X,1=Y,2=Z...]
    [3sa] m3 step angle               1.800 deg
    [3tr] m3 travel per revolution    2.117 mm
    [3mi] m3 microsteps               8 [1,2,4,8]
    [3po] m3 polarity                 0 [0=normal,1=reverse]
    [3pm] m3 power management         1 [0=remain powered,1=shut off when idle]
    [4ma] m4 map to axis              1 [0=X,1=Y,2=Z...]
    [4sa] m4 step angle               1.800 deg
    [4tr] m4 travel per revolution   40.000 mm
    [4mi] m4 microsteps               8 [1,2,4,8]
    [4po] m4 polarity                 0 [0=normal,1=reverse]
    [4pm] m4 power management         0 [0=remain powered,1=shut off when idle]
    [xam] x axis mode                 1 [standard]
    [xvm] x velocity maximum       8000.000 mm/min
    [xfr] x feedrate maximum       2000.000 mm/min
    [xtm] x travel maximum          585.000 mm
    [xjm] x jerk maximum     1000000000 mm/min^3
    [xjh] x jerk homing     10000000000 mm/min^3
    [xjd] x junction deviation        0.0200 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       -1000.000 mm/min
    [xlv] x latch velocity          100.000 mm/min
    [xlb] x latch backoff            20.000 mm
    [xzb] x zero backoff              1.000 mm
    [yam] y axis mode                 1 [standard]
    [yvm] y velocity maximum       8000.000 mm/min
    [yfr] y feedrate maximum       2000.000 mm/min
    [ytm] y travel maximum          785.000 mm
    [yjm] y jerk maximum     1000000000 mm/min^3
    [yjh] y jerk homing     10000000000 mm/min^3
    [yjd] y junction deviation        0.0200 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       -1000.000 mm/min
    [ylv] y latch velocity          100.000 mm/min
    [ylb] y latch backoff            20.000 mm
    [yzb] y zero backoff              2.000 mm
    [zam] z axis mode                 1 [standard]
    [zvm] z velocity maximum       1200.000 mm/min
    [zfr] z feedrate maximum       1200.000 mm/min
    [ztm] z travel maximum           60.000 mm
    [zjm] z jerk maximum     5000000000 mm/min^3
    [zjh] z jerk homing     10000000000 mm/min^3
    [zjd] z junction deviation        0.0500 mm (larger is faster)
    [zsn] z switch min                0 [0=off,1=homing,2=limit,3=limit+homing]
    [zsx] z switch max                3 [0=off,1=homing,2=limit,3=limit+homing]
    [zsv] z search velocity        1000.000 mm/min
    [zlv] z latch velocity          100.000 mm/min
    [zlb] z latch backoff            10.000 mm
    [zzb] z zero backoff              1.000 mm
    [aam] a axis mode                 0 [disabled]
    [avm] a velocity maximum     172800.000 deg/min
    [afr] a feedrate maximum     172800.000 deg/min
    [atm] a travel maximum           -1.000 deg
    [ajm] a jerk maximum     5760000000 deg/min^3
    [ajh] a jerk homing      5760000000 mm/min^3
    [ajd] a junction deviation        0.0500 deg (larger is faster)
    [ara] a radius value              0.1989 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.000 deg/min
    [alv] a latch velocity          100.000 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.000 deg/min
    [bfr] b feedrate maximum       3600.000 deg/min
    [btm] b travel maximum           -1.000 deg
    [bjm] b jerk maximum       20000000 deg/min^3
    [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.000 deg/min
    [cfr] c feedrate maximum       3600.000 deg/min
    [ctm] c travel maximum           -1.000 deg
    [cjm] c jerk maximum       20000000 deg/min^3
    [cjd] c junction deviation        0.0500 deg (larger is faster)
    [cra] c radius value              1.0000 deg
    [p1frq] pwm frequency           100.000 Hz
    [p1csl] pwm cw speed lo        1000.000 RPM
    [p1csh] pwm cw speed hi        2000.000 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.000 RPM
    [p1wsh] pwm ccw speed hi       2000.000 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 location             0.000 mm
    [g28y] g28 y location             0.000 mm
    [g28z] g28 z location             0.000 mm
    [g28a] g28 a location             0.000 deg
    [g28b] g28 b location             0.000 deg
    [g28c] g28 c location             0.000 deg
    [g30x] g30 x location             0.000 mm
    [g30y] g30 y location             0.000 mm
    [g30z] g30 z location             0.000 mm
    [g30a] g30 a location             0.000 deg
    [g30b] g30 b location             0.000 deg
    [g30c] g30 c location             0.000 deg
    
    #4772
    Makerboost
    Member

    Big reveal!

    I’m stumped. I’m mystified. I’m so freakin’ happy right now.

    I updated to the latest firmware (master, 380.08), but it did not help me at all. I tried the debug build of the dev branch, but that just created a jittery mess, and was going way too slow.

    I then started looking at different TinyG settings, like Path Control Mode and minimum line length. First of all, $mi returned garbled value, so I set it back to 0.08 as it should be.
    Nothing seemed to help, and the steps dropped at the same point in the g-code file no matter how slow I was going.

    And here’s the kicker – I tried the ShapeOko_Calibration_Pattern_01b from ShapeOko forums, and it ran perfectly at 500mm/min.
    I kicked it up to 1500, still perfect. 3000 – perfect. 5000! – perfect!
    WHAT!?

    I made a cut 1mm deep in a piece of plywood at 3000mm/min feed speed, and here’s the result:
    https://www.dropbox.com/sc/zbagsldg946lthd/U3VZDfyMnP

    What is going on?!

    #4773
    Makerboost
    Member

    User WillAdams on ShapeOko forums suggested it had something to do with line length in my G-code files.

    What is the maximum line length for TinyG?

    #4774
    alden
    Member

    Line length is an issue for grbl (70 chars) but should not be for TinyG. Can you send me your file(s) and I can run them to verify that it’s not a file issue? You can Use the synthetos gmail address or better, post them somewhere and put a link in the forum.

    #4775
    Makerboost
    Member

    Hi, thanks for trying to look into it for me.

    Here’s a few files that I just testet, and got jumps and ‘ka-thunk’ sounds from the stepper motors from right away.

    https://www.dropbox.com/sh/tr28axmqsyrrzj8/uXHFISwzyN

    #4776
    alden
    Member

    Thanks. A couple of questions for you.

    – Have you tried 380.08 – which is what’s currently on Master? Same results?
    – What are you using the run the file? Coolterm, tgfx? If tgfx, what platform (Win/Mac) and build?

    (Added)
    – Do you know where in the file i messes up? If Cambam can generate line numbers it makes this part a little easier.

    • This reply was modified 10 years, 11 months ago by alden.
    #4778
    Makerboost
    Member

    I updated to 380.08 from Master branch yesterday. Same results as before the upgrade.
    Although, I found it weird that boot time of TinyG is instant, when before it was blinking a bit before being ready.

    I’m using Coolterm 1.4.2 with XON/XOFF turned on (also turned on in TinyG).
    tgFX can’t be run on my machines at the moment because of extreme UI lag.

    I’ll see about making lines numbered right away.

Viewing 15 posts - 1 through 15 (of 25 total)
  • You must be logged in to reply to this topic.