vane

Forum Replies Created

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • in reply to: G3 support for negative R #4859
    vane
    Member

    A basic example:

    g0 x0 y0
    f300
    g2 x30 y30 i30 j0
    g3 x0 y0 r30

    This should make a clockwise quadrant from (0, 0) with ij, and return to (0, 0) counter-clockwise with a R quadrant. The quadrants should ideally be identical. In reality, they are visibly distinct (at most 2mm+ apart), only their ends coincide. I’m sure it’s easy to reproduce, otherwise i would take a pic of an engraving test i made.
    Again, I’m not sure that 90 degrees is not too big an arc, but some g-code example i saw in a tutorial was making a circle out of 4 G2+R quadrants, so it seems this should be acceptable precision-wise

    in reply to: G3 support for negative R #4857
    vane
    Member

    I’ve made some simple tests using G2/G3 and R. I don’t know if this is normal, but there are dramatic differences between R arcs and IJ arcs of the same dimensions. Example: a 50mm 90deg arc expressed with R diverges from the same IJ arc with ~7mm. The R arcs are way flatter than they should be.
    On the brighter side, I’ve managed to make my g-code generator to generate only IJ arcs, which work just fine, so this issue is concluded for me.

    in reply to: G3 support for negative R #4845
    vane
    Member

    Alden, I’ve loaded this binary https://github.com/synthetos/TinyG/blob/dev/firmware/tinyg/Debug/tinyg.hex via avrdude/bootloader, and negative Rs look like they work now. Is that a a sufficiently up-to-date binary (I suspect it was compiled with debug option on, given the URL)? I will compile the project myself at some point (to poke my nose in a little), by I’m a little busy atm. If you have a fresher binary please push it, and post a link.
    Thanks again for the support

    in reply to: G3 support for negative R #4842
    vane
    Member

    The log I posted contained a return to 0. The commands were copied from the same coolterm session. So omitting the verbose responses, they went like this:

    G17 F300
    G2 X10 Y15 R20
    G0 X0 Y0
    G2 X10 Y15 R-20

    … with the error reply for the last command. In fact, even after a fresh reset (coordinates at 0 0 0), I can’t find a combination of -R values that work (they all give the same error).
    Just to rule it out, can you confirm that my example works for you, or give me a sequence of g-code that eventually contain -R that works for you?
    Thanks

    in reply to: G3 support for negative R #4839
    vane
    Member

    Hello,
    Sorry for the late reply (vacation). I can use any negative R example really.
    Like this in CoolTerm:

    G17 F300
    tinyg [mm] ok> 
    G2 X10 Y15 R20
    tinyg [mm] ok> 
    posx:0.004,posy:0.019,vel:149.997,momo:2,stat:5
    ..............................
    posx:9.921,posy:14.958,vel:300.011
    posx:10.000,posy:15.000,vel:0.000,stat:3
    g0 x0 y0
    tinyg [mm] ok> 
    posx:9.393,posy:14.090,vel:2781.455,momo:0,stat:5
    posx:3.844,posy:5.766,vel:7258.114
    posx:0.067,posy:0.101,vel:806.456
    posx:0.000,posy:0.000,vel:0.000,stat:3

    But now when I try this:

    G2 X10 Y15 R-20
    tinyg [mm] err: Arc specification error: G2 X10 Y15 R-20 

    Here is a dump of my settings:

    $$
    [fb]  firmware build            380.02
    [fv]  firmware version            0.95
    [hv]  hardware version            7.00
    [id]  TinyG ID                    1H4973-HSY
    [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              1 [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                 1 [0=off,1=on]
    [ex]  enable xon xoff             1 [0=off,1=on]
    [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   36.540 mm
    [1mi] m1 microsteps               8 [1,2,4,8]
    [1po] m1 polarity                 1 [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   36.540 mm
    [2mi] m2 microsteps               8 [1,2,4,8]
    [2po] m2 polarity                 1 [0=normal,1=reverse]
    [2pm] m2 power management         1 [0=remain powered,1=shut off when idle]
    [3ma] m3 map to axis              1 [0=X,1=Y,2=Z...]
    [3sa] m3 step angle               1.800 deg
    [3tr] m3 travel per revolution   36.540 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              2 [0=X,1=Y,2=Z...]
    [4sa] m4 step angle               1.800 deg
    [4tr] m4 travel per revolution    1.250 mm
    [4mi] m4 microsteps               4 [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      10000.000 mm/min
    [xfr] x feedrate maximum      10000.000 mm/min
    [xtm] x travel maximum          220.000 mm
    [xjm] x jerk maximum     5000000000 mm/min^3
    [xjh] x jerk homing     10000000000 mm/min^3
    [xjd] x junction deviation        0.0100 mm (larger is faster)
    [xsn] x switch min                1 [0=off,1=homing,2=limit,3=limit+homing]
    [xsx] x switch max                0 [0=off,1=homing,2=limit,3=limit+homing]
    [xsv] x search velocity        3000.000 mm/min
    [xlv] x latch velocity          100.000 mm/min
    [xlb] x latch backoff             2.000 mm
    [xzb] x zero backoff              3.000 mm
    [yam] y axis mode                 1 [standard]
    [yvm] y velocity maximum      10000.000 mm/min
    [yfr] y feedrate maximum      10000.000 mm/min
    [ytm] y travel maximum          220.000 mm
    [yjm] y jerk maximum     5000000000 mm/min^3
    [yjh] y jerk homing     10000000000 mm/min^3
    [yjd] y junction deviation        0.0100 mm (larger is faster)
    [ysn] y switch min                1 [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        3000.000 mm/min
    [ylv] y latch velocity          100.000 mm/min
    [ylb] y latch backoff             2.000 mm
    [yzb] y zero backoff              3.000 mm
    [zam] z axis mode                 1 [standard]
    [zvm] z velocity maximum        300.000 mm/min
    [zfr] z feedrate maximum        600.000 mm/min
    [ztm] z travel maximum          100.000 mm
    [zjm] z jerk maximum       50000000 mm/min^3
    [zjh] z jerk homing       100000000 mm/min^3
    [zjd] z junction deviation        0.0100 mm (larger is faster)
    [zsn] z switch min                0 [0=off,1=homing,2=limit,3=limit+homing]
    [zsx] z switch max                1 [0=off,1=homing,2=limit,3=limit+homing]
    [zsv] z search velocity         600.000 mm/min
    [zlv] z latch velocity          100.000 mm/min
    [zlb] z latch backoff             2.000 mm
    [zzb] z zero backoff              3.000 mm
    [aam] a axis mode                 3 [radius]
    [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               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
    tinyg [mm] ok> 
    

    I use a (commercial) g-code generator from work, and I can’t for the life or me make it not generate G2-G3 Rs (positive or negative)

Viewing 5 posts - 1 through 5 (of 5 total)