Jerky motion with spiral cutting for circles

More
28 Apr 2014 03:48 - 28 Apr 2014 03:49 #46387 by Duc
Im running into issues with the machine being jerky when running spiral cutting for a circle code versus a code output that only output simple circles with step overs.

Machine specs
Intel P4 1.8 ghz
1.5 gigs ram
ATI 9800 Pro

Mesa 5i25/7i76/7i84

The machine will behave perfectly if Im running simple G-code but if running code that uses alot of G-code changes then I get jerky movement. Seems like it is running one line then a short pause till the next line.

Any ideas
Last edit: 28 Apr 2014 03:49 by Duc.

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 04:38 #46391 by PCW
Its likely your spiral gcode is made of lots of short segments

Have you looked at the G64 options?

linuxcnc.org/docs/html/common/User_Conce...c:trajectory-control

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 06:43 #46399 by Duc

Its likely your spiral gcode is made of lots of short segments

Have you looked at the G64 options?

linuxcnc.org/docs/html/common/User_Conce...c:trajectory-control


Tried both G61 and G64. Problem was noticably worse with G61.


Looking at my .ini file I do have different acceleration numbers for X and Y. X is 4 and Y is 2. Anything higher than 2 on y results in joint following errors.

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 07:28 #46406 by PCW
Those seem like very low acceleration numbers
I would suspect tuning issues or too tight following error limits

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 07:36 #46408 by Duc

Those seem like very low acceleration numbers
I would suspect tuning issues or too tight following error limits


Wasnt to sure what FERROR and MIN_FERROR I should use on the machine. I know its not a super fast CNC since its a old bridgeport boss 5 with original steppers. The joint follow error could be tied to the FERROR limits according to the wiki.

What is a good rough number to use for them to increase the acceleration.
#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = .5
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.66666666667
MAX_ACCELERATION = 4.0
# these are in nanoseconds
DIRSETUP   = 200
DIRHOLD    = 200
STEPLEN    = 1000
STEPSPACE  = 2000
STEP_SCALE = -10000.0
MIN_LIMIT = -0.0
MAX_LIMIT = 18.0
HOME_OFFSET = -0.050000
HOME_SEARCH_VEL = -0.2
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1

#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = .050
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.667
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP   = 200
DIRHOLD    = 200
STEPLEN    = 1000
STEPSPACE  = 2000
STEP_SCALE = -10000.0
MIN_LIMIT = -0.0
MAX_LIMIT = 12.0
HOME_OFFSET = -0.060000
HOME_SEARCH_VEL = -0.2
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 2

#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.667
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP   = 200
DIRHOLD    = 200
STEPLEN    = 1000
STEPSPACE  = 2000
STEP_SCALE = -10000.0
MIN_LIMIT = -5.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.050000
HOME_SEARCH_VEL = 0.100000
HOME_LATCH_VEL = 0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 08:38 #46409 by PCW
I had forgotten that this was a step/dir machine
If you have following errors its likely that the stepgen_maxaxccel values are not set

(they should be set to about 1.2X the maxaccel values for the corresponding axis)

for a slow stepgen machine I might set maxaccel to 2 to 5x maxvel

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 09:19 #46411 by Duc
so I need to adjust the values in the .hal file

Current
#*******************
#  AXIS X
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp   hm2_5i25.0.stepgen.00.dirhold         [AXIS_0]DIRHOLD
setp   hm2_5i25.0.stepgen.00.steplen         [AXIS_0]STEPLEN
setp   hm2_5i25.0.stepgen.00.stepspace       [AXIS_0]STEPSPACE
setp   hm2_5i25.0.stepgen.00.position-scale  [AXIS_0]STEP_SCALE
setp   hm2_5i25.0.stepgen.00.step_type        0
setp   hm2_5i25.0.stepgen.00.control-type     0
setp   hm2_5i25.0.stepgen.00.maxaccel         5.0
setp   hm2_5i25.0.stepgen.00.maxvel           2.1

net x-pos-fb     axis.0.motor-pos-fb   <=  hm2_5i25.0.stepgen.00.position-fb
net x-pos-cmd    axis.0.motor-pos-cmd  =>  hm2_5i25.0.stepgen.00.position-cmd
net x-enable     axis.0.amp-enable-out =>  hm2_5i25.0.stepgen.00.enable

# ---setup home / limit switch signals---

net both-home-x     =>  axis.0.home-sw-in
net both-home-x     =>  axis.0.neg-lim-sw-in
net both-home-x     =>  axis.0.pos-lim-sw-in

#*******************
#  AXIS Y
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.01.dirsetup        [AXIS_1]DIRSETUP
setp   hm2_5i25.0.stepgen.01.dirhold         [AXIS_1]DIRHOLD
setp   hm2_5i25.0.stepgen.01.steplen         [AXIS_1]STEPLEN
setp   hm2_5i25.0.stepgen.01.stepspace       [AXIS_1]STEPSPACE
setp   hm2_5i25.0.stepgen.01.position-scale  [AXIS_1]STEP_SCALE
setp   hm2_5i25.0.stepgen.01.step_type        0
setp   hm2_5i25.0.stepgen.01.control-type     0
setp   hm2_5i25.0.stepgen.01.maxaccel         2.5
setp   hm2_5i25.0.stepgen.01.maxvel           2.1

net y-pos-fb     axis.1.motor-pos-fb   <=  hm2_5i25.0.stepgen.01.position-fb
net y-pos-cmd    axis.1.motor-pos-cmd  =>  hm2_5i25.0.stepgen.01.position-cmd
net y-enable     axis.1.amp-enable-out =>  hm2_5i25.0.stepgen.01.enable

# ---setup home / limit switch signals---

net both-home-y     =>  axis.1.home-sw-in
net both-home-y     =>  axis.1.neg-lim-sw-in
net both-home-y     =>  axis.1.pos-lim-sw-in

#*******************
#  AXIS Z
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp   hm2_5i25.0.stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp   hm2_5i25.0.stepgen.02.steplen         [AXIS_2]STEPLEN
setp   hm2_5i25.0.stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp   hm2_5i25.0.stepgen.02.position-scale  [AXIS_2]STEP_SCALE
setp   hm2_5i25.0.stepgen.02.step_type        0
setp   hm2_5i25.0.stepgen.02.control-type     0
setp   hm2_5i25.0.stepgen.02.maxaccel         2.5
setp   hm2_5i25.0.stepgen.02.maxvel           2.1

Suggested?
#*******************
#  AXIS X
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp   hm2_5i25.0.stepgen.00.dirhold         [AXIS_0]DIRHOLD
setp   hm2_5i25.0.stepgen.00.steplen         [AXIS_0]STEPLEN
setp   hm2_5i25.0.stepgen.00.stepspace       [AXIS_0]STEPSPACE
setp   hm2_5i25.0.stepgen.00.position-scale  [AXIS_0]STEP_SCALE
setp   hm2_5i25.0.stepgen.00.step_type        0
setp   hm2_5i25.0.stepgen.00.control-type     0
setp   hm2_5i25.0.stepgen.00.maxaccel         5.0
setp   hm2_5i25.0.stepgen.00.maxvel          1

net x-pos-fb     axis.0.motor-pos-fb   <=  hm2_5i25.0.stepgen.00.position-fb
net x-pos-cmd    axis.0.motor-pos-cmd  =>  hm2_5i25.0.stepgen.00.position-cmd
net x-enable     axis.0.amp-enable-out =>  hm2_5i25.0.stepgen.00.enable

# ---setup home / limit switch signals---

net both-home-x     =>  axis.0.home-sw-in
net both-home-x     =>  axis.0.neg-lim-sw-in
net both-home-x     =>  axis.0.pos-lim-sw-in

#*******************
#  AXIS Y
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.01.dirsetup        [AXIS_1]DIRSETUP
setp   hm2_5i25.0.stepgen.01.dirhold         [AXIS_1]DIRHOLD
setp   hm2_5i25.0.stepgen.01.steplen         [AXIS_1]STEPLEN
setp   hm2_5i25.0.stepgen.01.stepspace       [AXIS_1]STEPSPACE
setp   hm2_5i25.0.stepgen.01.position-scale  [AXIS_1]STEP_SCALE
setp   hm2_5i25.0.stepgen.01.step_type        0
setp   hm2_5i25.0.stepgen.01.control-type     0
setp   hm2_5i25.0.stepgen.01.maxaccel         5
setp   hm2_5i25.0.stepgen.01.maxvel           1

net y-pos-fb     axis.1.motor-pos-fb   <=  hm2_5i25.0.stepgen.01.position-fb
net y-pos-cmd    axis.1.motor-pos-cmd  =>  hm2_5i25.0.stepgen.01.position-cmd
net y-enable     axis.1.amp-enable-out =>  hm2_5i25.0.stepgen.01.enable

# ---setup home / limit switch signals---

net both-home-y     =>  axis.1.home-sw-in
net both-home-y     =>  axis.1.neg-lim-sw-in
net both-home-y     =>  axis.1.pos-lim-sw-in

#*******************
#  AXIS Z
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp   hm2_5i25.0.stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp   hm2_5i25.0.stepgen.02.steplen         [AXIS_2]STEPLEN
setp   hm2_5i25.0.stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp   hm2_5i25.0.stepgen.02.position-scale  [AXIS_2]STEP_SCALE
setp   hm2_5i25.0.stepgen.02.step_type        0
setp   hm2_5i25.0.stepgen.02.control-type     0
setp   hm2_5i25.0.stepgen.02.maxaccel         5
setp   hm2_5i25.0.stepgen.02.maxvel           1.0

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 10:23 #46415 by PCW
if the maxvel numbers in the ini file are all 4, yes

Please Log in or Create an account to join the conversation.

More
28 Apr 2014 14:41 #46419 by Rick G
In addition to what PCW has suggested you might want to look here...
www.linuxcnc.org/index.php/english/forum...stersprograms-wanted

Rick G

Please Log in or Create an account to join the conversation.

Time to create page: 0.266 seconds
Powered by Kunena Forum