Home › Forums › TinyG › TinyG Support › Incorrect Arc Movement
Tagged: arcs
- This topic has 22 replies, 8 voices, and was last updated 9 years, 3 months ago by cmcgrath5035.
-
AuthorPosts
-
July 9, 2015 at 1:53 pm #7963cmcgrath5035Moderator
djdaudio: First check will be FW version, there have been almost continuous refinements to the handling of arcs and the somewhat strange arcs that are generated by some packages. FW 440.14 is the current best choice, but there are still corner cases being worked.
These issues are often resolved by tweaking the backends of the Gcode processors, using less aggressive minimal arc lengths, etc.- This reply was modified 9 years, 4 months ago by cmcgrath5035.
August 5, 2015 at 2:34 pm #8166JulianRendellMember@cmcgrath5035 & @alden – thanks for the replies.
Apologies for not replying sooner; other projects got in the way. Plan to get back to this over the weekend.
I’m using CamBam to generate my G-Code, and OpenSCAM as my viewer.
Both of these previewed the files ok.
@cmcgrath5035 – interesting that other CAD/CAM packages are mis-interpreting the files as well. Wonder if CAMBAM is doing something that is either ambiguous or complex to correctly implement in the G-Code spec.(I don’t use CP very much… at time of purchase I wanted to set up my small CNC like my 3D printers, driven by a Raspberry Pi class machine, vetted TGFX and then ordered the machine. To have TGFX dropped by the time the hardware arrived, and CP is a PIA to use on lower powered machines- and not particularly ‘safe’; there can be terrible lag in the UI and it’s difficult to get it to reliably pause quickly.)
Let me know if there’s anything I can do to help track down this bug!
Cheers,
Julian
August 6, 2015 at 7:02 am #8168cmcgrath5035ModeratorI suggest you start by updating tinyG FW to 440.18, the most recent Master branch that has added more tweaks to arc processing.
If rendering issues persist, post your Gcode to a cloud drive, the devs may find it useful as a test case.
August 6, 2015 at 9:37 am #8170V e SMemberHi All,
I am not sure if my problem is connected to this thread but I guess it is.
If not please move it to the other one.PROBLEM:
when I cut circle, not matter which size, I get an output which is a circle but also i got something extra from tinyG 😉 begining of the circle is a narrowing spiral…
1st quarter of the circle cutted (only when cuting the first layer) is a tiny bit wider than expected and within 1st quarter the difference is going smaller and smaller and finally starting second quarter it dissapears.When tinyG start to cut second or any other leyer the problem dissapears.
This is hard for me to explain, so here is some photos:
https://drive.google.com/file/d/0B_96INML2p-FeE9aeWlrZkZzN0xKbG1uY25ub2R2aHNZa253/view?usp=sharinghttps://drive.google.com/file/d/0B_96INML2p-FWnJKQzR1OVY2dU9xUHplZmxCLTRrTXlLM2Jv/view?usp=sharing
With older firmware version the error was also repeatting in different work but the output was more random.
Here is an example (this should be a circle):
https://drive.google.com/file/d/0B_96INML2p-FaDNEbDNnRHEtOEJZeXhzWEVGNk9ZWnZBMVRJ/view?usp=sharing
(this was made using firmware 440.14)I decided to disassemble my CNC and check for any lose in the system.
I could not find any.I tested different circles, in various start points, in different locations on a plate.
After some time I came up with this:– when I start the job from the center it dissapears
– I did firmware update form 440.14 to 440.16 – the first works were cutted OK.
The very next day they were not!Here is a photo of pen test:
https://drive.google.com/open?id=0B_96INML2p-FdWNtSWhTZmNUWjBmajZiLVZVWnBRZE5DeUhRzoom in to the problem:
https://drive.google.com/open?id=0B_96INML2p-FOC15cDlQRW5GN19pdzN2dHdjOXVSWmdIczljAs you could see the testing square was also with an error.
Here is a Chillipeppers logo “printed”:
https://drive.google.com/open?id=0B_96INML2p-FWHZxSjBaWHUzdFNXXzF4SHlYbVdIc1hkczhVzoom in to the problem:
https://drive.google.com/open?id=0B_96INML2p-FNGU3cUxleEk4LVEzd2ZsaFZnWldNNnFzcHg4Now I updated to 440.18 but the problem remains.
Did anyone had similar problems?
have any idea what it might be ?
Here is what i got:
[fb] firmware build 440.18
[fv] firmware version 0.97
[hp] hardware platform 1.00
[hv] hardware version 8.00
JSON 1.80 (1.83 is not working Ok for me)August 6, 2015 at 11:16 am #8171cmcgrath5035ModeratorHmm, lots of data here
The first 3 files are viewable, the last 4 poped up a “request access”, I am sure you are getting bombarded by google.Image 1 sort of looks like a power management issue (bit pulling on inactive motors)
Maybe post a file with all your parameters – $$
And, a typical Gcode file – if it is a previously unknown error, devs can use as a test caseAugust 7, 2015 at 12:11 pm #8178V e SMemberThat was also my first thought, so I changed the PWM settings so the mottors were powered all the time. It didnt change a bit.
OK, here is my $$
—
[fb] firmware build 440.18
[fv] firmware version 0.97
[hp] hardware platform 1.00
[hv] hardware version 8.00
[id] TinyG ID 3X3566-HKR
[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 2.00 Sec
[ej] enable json mode 0 [0=text,1=JSON]
[jv] json verbosity 1 [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 1 [0=off,1=single,2=triple]
[sv] status report verbosity 1 [0=off,1=filtered,2=verbose]
[si] status interval 250 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 1.800 deg
[1tr] m1 travel per revolution 59.4485 mm
[1mi] m1 microsteps 8 [1,2,4,8]
[1po] m1 polarity 1 [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 1.800 deg
[2tr] m2 travel per revolution 59.4485 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 1 [0=X,1=Y,2=Z…]
[3sa] m3 step angle 1.800 deg
[3tr] m3 travel per revolution 59.4485 mm
[3mi] m3 microsteps 8 [1,2,4,8]
[3po] m3 polarity 1 [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 2 [0=X,1=Y,2=Z…]
[4sa] m4 step angle 1.800 deg
[4tr] m4 travel per revolution 2.1167 mm
[4mi] m4 microsteps 8 [1,2,4,8]
[4po] m4 polarity 1 [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 8000 mm/min
[xfr] x feedrate maximum 5000 mm/min
[xtn] x travel minimum 0.000 mm
[xtm] x travel maximum 355.000 mm
[xjm] x jerk maximum 100 mm/min^3 * 1 million
[xjh] x jerk homing 2500 mm/min^3 * 1 million
[xjd] x junction deviation 0.0500 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 800 mm/min
[xlv] x latch velocity 100 mm/min
[xlb] x latch backoff 100.000 mm
[xzb] x zero backoff 3.000 mm
[yam] y axis mode 1 [standard]
[yvm] y velocity maximum 10000 mm/min
[yfr] y feedrate maximum 5000 mm/min
[ytn] y travel minimum 0.000 mm
[ytm] y travel maximum 395.000 mm
[yjm] y jerk maximum 100 mm/min^3 * 1 million
[yjh] y jerk homing 2500 mm/min^3 * 1 million
[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 2 [0=off,1=homing,2=limit,3=limit+homing]
[ysv] y search velocity 800 mm/min
[ylv] y latch velocity 100 mm/min
[ylb] y latch backoff 100.000 mm
[yzb] y zero backoff 3.000 mm
[zam] z axis mode 1 [standard]
[zvm] z velocity maximum 400 mm/min
[zfr] z feedrate maximum 200 mm/min
[ztn] z travel minimum 0.000 mm
[ztm] z travel maximum 80.000 mm
[zjm] z jerk maximum 50 mm/min^3 * 1 million
[zjh] z jerk homing 100 mm/min^3 * 1 million
[zjd] z junction deviation 0.0500 mm (larger is faster)
[zsn] z switch min 2 [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 200 mm/min
[zlv] z latch velocity 100 mm/min
[zlb] z latch backoff 3.000 mm
[zzb] z zero backoff 3.000 mm
[aam] a axis mode 0 [disabled]
[avm] a velocity maximum 230400 deg/min
[afr] a feedrate maximum 230400 deg/min
[atn] a travel minimum -1.000 deg
[atm] a travel maximum -1.000 deg
[ajm] a jerk maximum 5760 deg/min^3 * 1 million
[ajh] a jerk homing 11520 deg/min^3 * 1 million
[ajd] a junction deviation 0.0500 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 99.734 mm
[g54y] g54 y offset -270.000 mm
[g54z] g54 z offset -21.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 degIf you could test it, would be great.
Here is a Gcode file
https://drive.google.com/file/d/0B_96INML2p-FakdMZDNiUkN4VUk/view?usp=sharingAugust 7, 2015 at 12:14 pm #8179V e SMemberHere is a link for $$ data but in txt file. i guess it will be more clear.
https://drive.google.com/file/d/0B_96INML2p-FenozNGswakowdXM/view?usp=sharing
BR,
VAugust 7, 2015 at 1:47 pm #8180cmcgrath5035ModeratorOnly thing that looks strange in your parameter set are values of $xjm and $yjm, suggested values would be = 5000, rather than 100.
Give that a try
-
AuthorPosts
- You must be logged in to reply to this topic.