Forum Replies Created
-
AuthorPosts
-
vaneMember
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-wisevaneMemberI’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.vaneMemberAlden, 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 supportvaneMemberThe 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?
ThanksvaneMemberHello,
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)
-
AuthorPosts