more jerking than on linuxcnc

Home Forums TinyG TinyG Support more jerking than on linuxcnc

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #5015
    kajuk
    Member

    Today I had another chance to do more testing.
    As I mentioned before, I’m coming from LinuxCNC and I noticed that the same gcode jobs produce with TinyG considerably more jerking at junctions, in fact it even sounds like knocking. To show a comparison, I loaded the same simple job in both TinyG and LinuxCNC.

    This is the video showing the job in TinyG: http://www.youtube.com/watch?v=XSALMDGnIkc
    Note the knocking sounds at junctions.

    This is the video showing the job in LinuxCNC: http://www.youtube.com/watch?v=2Xmq2YDumqE
    No knocking sounds.

    On smaller holes the knocking sound (and vibration) is even worse. And lowering ‘Jerk maximum’ makes no difference to this effect, although the jobs runs much slower. Changing ‘Junction deviation’ in either direction also makes no difference to this effect.

    The gcode I used and TinyG settings are below. I hope I just missed something and it can be fixed with a configuration change.

    This is the the gcode I used:

    (A-TEST)
    (F_CONTOUR.NC)
    (COMPENSATION-WEAR)
    (Post Rev 1.0)
    (DEC-04-2013-7:47:13PM)
    (TOOL 1 – DIA 3.)
    G90 G17 G40 G80 G00 G21 G91.1 G64 P0.01
    T1 M6()
    T1
    (F-contour)
    G00
    S1000 M03
    G00 G54 G90 X20.5 Y16. A0.
    G43 H1 Z10.
    Z2.
    G01 Z-2. F300.
    G03 X20.5 Y16. I4.5 J0. F2000.
    G01 Z-4. F300.
    G03 X20.5 Y16. I4.5 J0. F2000.
    G01 Z-6. F300.
    G03 X20.5 Y16. I4.5 J0. F2000.
    G01 Z-8. F300.
    G03 X20.5 Y16. I4.5 J0. F2000.
    G01 Z-10. F300.
    G03 X20.5 Y16. I4.5 J0. F2000.
    G01 Z-12. F300.
    G03 X20.5 Y16. I4.5 J0. F2000.
    G00 Z10.
    X26.2834 Y37.6962
    Z2.
    G01 Z-2. F300.
    X22.4332 F2000.
    G03 X22.4332 Y30.3038 I2.5668 J-3.6962
    G01 X27.5668
    G03 X27.5668 Y37.6962 I-2.5668 J3.6962
    G01 X26.2834
    Z-4. F300.
    X22.4332 F2000.
    G03 X22.4332 Y30.3038 I2.5668 J-3.6962
    G01 X27.5668
    G03 X27.5668 Y37.6962 I-2.5668 J3.6962
    G01 X26.2834
    Z-6. F300.
    X22.4332 F2000.
    G03 X22.4332 Y30.3038 I2.5668 J-3.6962
    G01 X27.5668
    G03 X27.5668 Y37.6962 I-2.5668 J3.6962
    G01 X26.2834
    Z-8. F300.
    X22.4332 F2000.
    G03 X22.4332 Y30.3038 I2.5668 J-3.6962
    G01 X27.5668
    G03 X27.5668 Y37.6962 I-2.5668 J3.6962
    G01 X26.2834
    Z-10. F300.
    X22.4332 F2000.
    G03 X22.4332 Y30.3038 I2.5668 J-3.6962
    G01 X27.5668
    G03 X27.5668 Y37.6962 I-2.5668 J3.6962
    G01 X26.2834
    Z-12. F300.
    X22.4332 F2000.
    G03 X22.4332 Y30.3038 I2.5668 J-3.6962
    G01 X27.5668
    G03 X27.5668 Y37.6962 I-2.5668 J3.6962
    G01 X26.2834
    G00 Z10.
    M05

    And these are the settings on TinyG:

    [fb] firmware build 380.08
    [fv] firmware version 0.96
    [hv] hardware version
    8.00
    [id] TinyG ID 1H4973-DHL
    [ja] junction acceleration 2000000 mm
    [ct] chordal tolerance 0.001 mm
    [st] switch type 0 [0=NO,1=NC]
    [mt] motor disble timeout 60 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 0 [0=off,1=filtered,2=verbose]
    [sv] status report verbosity 1 [0=off,1=filtered,2=verbose]
    [si] status interval 100 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 5.000 mm
    [1mi] m1 microsteps 8 [1,2,4,8]
    [1po] m1 polarity 0 [0=normal,1=reverse]
    [1pm] m1 power management 1 [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 5.000 mm
    [2mi] m2 microsteps 8 [1,2,4,8]
    [2po] m2 polarity 0 [0=normal,1=reverse]
    [2pm] m2 power management 1 [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 4.000 mm
    [3mi] m3 microsteps 8 [1,2,4,8]
    [3po] m3 polarity 1 [0=normal,1=reverse]
    [3pm] m3 power management 1 [0=remain powered,1=shut off when idle]
    [4ma] m4 map to axis 3 [0=X,1=Y,2=Z…]
    [4sa] m4 step angle 1.800 deg
    [4tr] m4 travel per revolution 45.000 mm
    [4mi] m4 microsteps 8 [1,2,4,8]
    [4po] m4 polarity 0 [0=normal,1=reverse]
    [4pm] m4 power management 1 [0=remain powered,1=shut off when idle]
    [xam] x axis mode 1 [standard]
    [xvm] x velocity maximum 4300.000 mm/min
    [xfr] x feedrate maximum 4000.000 mm/min
    [xtm] x travel maximum 300.000 mm
    [xjm] x jerk maximum 200000000 mm/min^3
    [xjh] x jerk homing 1000000000 mm/min^3
    [xjd] x junction deviation 0.0500 mm (larger is faster)
    [xsn] x switch min 0 [0=off,1=homing,2=limit,3=limit+homing]
    [xsx] x switch max 3 [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 4.000 mm
    [xzb] x zero backoff 2.000 mm
    [yam] y axis mode 1 [standard]
    [yvm] y velocity maximum 4300.000 mm/min
    [yfr] y feedrate maximum 4000.000 mm/min
    [ytm] y travel maximum 270.000 mm
    [yjm] y jerk maximum 200000000 mm/min^3
    [yjh] y jerk homing 1000000000 mm/min^3
    [yjd] y junction deviation 0.0500 mm (larger is faster)
    [ysn] y switch min 3 [0=off,1=homing,2=limit,3=limit+homing]
    [ysx] y switch max 0 [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 4.000 mm
    [yzb] y zero backoff 2.000 mm
    [zam] z axis mode 1 [standard]
    [zvm] z velocity maximum 4300.000 mm/min
    [zfr] z feedrate maximum 4000.000 mm/min
    [ztm] z travel maximum 110.000 mm
    [zjm] z jerk maximum 200000000 mm/min^3
    [zjh] z jerk homing 1000000000 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 3.000 mm
    [zzb] z zero backoff 1.500 mm
    [aam] a axis mode 1 [standard]
    [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 1 [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 -64.866 mm
    [g92y] g92 y offset -29.215 mm
    [g92z] g92 z offset -15.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

    • This topic was modified 10 years, 9 months ago by kajuk.
    • This topic was modified 10 years, 9 months ago by kajuk.
    • This topic was modified 10 years, 9 months ago by kajuk.
    #5019
    Riley
    Keymaster

    how are you sending the files to TinyG?

    #5021
    kajuk
    Member

    With tgFX

    #5031
    kajuk
    Member

    Does anyone have an idea what the problem is?
    Could it be a hardware fault in the TinyG board?

    #5033
    alden
    Member

    Let me take a look at this this week. I am traveling now but will be home mid-week to try it.

    #5058
    kajuk
    Member

    Hi alden,

    Did you look at it? What are your thoughts about the jerking?

    #5065
    alden
    Member

    I have had a chance to run them. There is definitely a “grunch” in the tinyg 380.08 code for the Gcode file you provided. Thanks for posting it. We have been working on another rev that eliminates this (and dome a number of other things). I will post a couple of videos on Flickr or Youtube that show the difference. I’ll either amend this message or post a new one once they are up.

    #5073
    alden
    Member

    Videos are here:

    …there appears to be something really wrong with trying to embed URLs in the page. So try this. Put the pieces together. Sorry for the inconvenience.

    build 380.08
    http://youtu.be/ _ObnEoOqpmg

    build 406.03
    http://youtu.be/ yut6X3hdJ_0

    #5074
    kajuk
    Member

    It seem to sound better but I need to test it myself to compare to my LinuxCNC. Is this firmware version ready for general use?

    #5075
    alden
    Member

    I don’t think I’d run 406.03 just yet. It’s in the dev branch, which is pretty rough. I’d at least wait until (or some later version, more likely) is pushed to edge.

    Also, bear in mind that Linux CNC is a venerable code base that can do many. many things that TinyG cannot. There are also things that TinyG does that Linux CNC doesn’t – they are not equivalent.

    Are you using NURBS in LinuxCNC to round corners? In TinyG I’d recommend playing with the junction deviation (xjd, yjd) and see what results you get.

    #5076
    tomking505
    Member

    This turns out to be the same problem I was having. I thought it was a particular geared stepper motor. But I have seen the same clunking with my other motors.

    #5081
    Makerboost
    Member

    That is exactly the problem I’ve been having. My motors kept missing steps at the end of arcs, and I’ve had to be really careful to cut useful pieces. I’m really looking forward to the update as my machine is not very fun to use at the moment.
    It’s nice to see the problem replicated on your machine alden 😉

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