5Axis Kinetic from 2.8 on 2.7x
Can you post your GCode?
[edit]
Oh, one other imortant thing concerning limits:
LinuxCNC does only check axis values against limit values. It does not check joints. So this means that if your coordinate system is tilted or rotated by A or C when using non-trivial kinemtics, those limits are not aligned with your actual joints anymore and have not really any meaning.
So maybe you are not really exceeding your physical limits. This is really where we get to the limits of the current state of linuxCNC.
So if you have limit switches on both ends of the axis you could try to disable the limits in the INI.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
So I deactivated all the limes of each of the axes
Ok put those lines back in.
I don't know how much experience you have with 5axis cnc machines. Maybe you know what you are doing but
I really think you're wanting to much to quickly. 5axis simultaneous is really a lot more complex than 3axis.
So stop running this gcode for now and focus on getting to know the 5 axis kinematics.
You need to start with small stuff like following the point of a pencil stuck to the table or something.
What I suggested was to set the tilting and rotating tables at 0° then touch off at the center/top of your rotating table.
[edit]
This guy has it figured out look at 0:56 to 1:11 :
Then you move to say X20 Z5
Then you rotate the rotating table by say 45° and check if the tool moves with the table.
Maybe this thread is worth having a look at:
forum.linuxcnc.org/10-advanced-configura...kinematics-x?start=0
I don't have a 5axis machine so I might not be able to help you much farther. Just take a step back and get your brain wrapped around things.
Please Log in or Create an account to join the conversation.
the program I have attached to you is simply chamfers on a rectangular piece (milling while rolling) not much simpler.
to overcome the problems of limits, I programmed a very small pocket.
no more limit problem. on the other hand always problems of joinutres.
I have noticed that the accelerations of the axes are too fast. apparently the limits given in the .ini file are not respected as for a "trivkins" configuration.
Are there no other joint parameters to perform?
Thank you for all the advice, I'm studying all the docs you send me. I'm sure I'm not too far off the mark, but like you say, I still have a lot to learn.
Please Log in or Create an account to join the conversation.
You might have to reduce acceleration quite considerably.
As this user writes forum.linuxcnc.org/10-advanced-configura...tics?start=40#108666
One thing I noticed, there was considerable amount of Jerk in movements.
I did set acceleration down to compensate that.
I'm running 1800 mm/s2, on my axis, for 5-axis work 700-900 max.
But really I'm out of my depth here.
[edit]
Please post any findings as, maybe, one day I might actually get into 5axis machining in earnest.
Please Log in or Create an account to join the conversation.
Hello,
I managed to move all my axes simply with a "mid" command on the G1 A 20 F50 axis. I considerably reduce the feed speeds. No more joining or limit problems. On the other hand, the axes do not follow the pivot point and go in all directions.
My configuration defined the "C" axis in 4th join.
If I understand correctly the linuxcnc doc the "C" axis would correspond to the 5th join ..
is it correct ?
I tried, it doesn't work, but, do I have to change something else in the configuration files ?
thank you
Please Log in or Create an account to join the conversation.
Regards
Please Log in or Create an account to join the conversation.
You need to keep the joint numbering in order. Maybe compare with the simulation config:
VERSION = 1.1
MACHINE = sim-xyzac-trt
DEBUG = 0
[DISPLAY]
OPEN_FILE = ./examples/impeller-7bl-xyzac.ngc
JOG_AXES = XYZC
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2
PROGRAM_PREFIX = ../../nc_files
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 1
#EDITOR = gedit
TOOL_EDITOR = tooledit z diam
TKPKG = Ngcgui 1.0
NGCGUI_FONT = Helvetica -12 normal
NGCGUI_SUBFILE = test-xyzac.ngc
[RS274NGC]
SUBROUTINE_PATH = ./examples
PARAMETER_FILE = xyzac.var
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
# vismach xyzac-trt-gui items
HALCMD = loadusr -W xyzac-trt-gui
HALCMD = net :table-x joint.0.pos-fb xyzac-trt-gui.table-x
HALCMD = net :saddle-y joint.1.pos-fb xyzac-trt-gui.saddle-y
HALCMD = net :spindle-z joint.2.pos-fb xyzac-trt-gui.spindle-z
HALCMD = net :tilt-a joint.3.pos-fb xyzac-trt-gui.tilt-a
HALCMD = net :rotate-c joint.4.pos-fb xyzac-trt-gui.rotate-c
HALCMD = net :tool-offset motion.tooloffset.z
HALCMD = net :tool-offset xyzac-trt-kins.tool-offset xyzac-trt-gui.tool-offset
HALCMD = net :y-offset xyzac-trt-kins.y-offset xyzac-trt-gui.y-offset
HALCMD = net :z-offset xyzac-trt-kins.z-offset xyzac-trt-gui.z-offset
HALCMD = sets :y-offset 20
HALCMD = sets :z-offset 10
[KINS]
KINEMATICS = xyzac-trt-kins
JOINTS = 5
[TRAJ]
COORDINATES = XYZAC
LINEAR_UNITS = mm
ANGULAR_UNITS = deg
DEFAULT_LINEAR_VELOCITY = 20
MAX_LINEAR_VELOCITY = 35
MAX_LINEAR_ACCELERATION = 400
DEFAULT_LINEAR_ACCELERATION = 300
[EMCMOT]
EMCMOT = motmod
SERVO_PERIOD = 1000000
COMM_TIMEOUT = 1
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = xyzac-trt.tbl
[AXIS_X]
MIN_LIMIT = -200
MAX_LIMIT = 200
MAX_VELOCITY = 20
MAX_ACCELERATION = 300
[JOINT_0]
TYPE = LINEAR
HOME = 0
MAX_VELOCITY = 20
MAX_ACCELERATION = 300
MIN_LIMIT = -200
MAX_LIMIT = 200
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[AXIS_Y]
MIN_LIMIT = -100
MAX_LIMIT = 100
MAX_VELOCITY = 20
MAX_ACCELERATION = 300
[JOINT_1]
TYPE = LINEAR
HOME = 0
MAX_VELOCITY = 20
MAX_ACCELERATION = 300
MIN_LIMIT = -100
MAX_LIMIT = 100
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[AXIS_Z]
MIN_LIMIT = -120
MAX_LIMIT = 120
MAX_VELOCITY = 20
MAX_ACCELERATION = 300
[JOINT_2]
TYPE = LINEAR
HOME = 0
MAX_VELOCITY = 20
MAX_ACCELERATION = 300
MIN_LIMIT = -120
MAX_LIMIT = 120
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[AXIS_A]
MIN_LIMIT = -100
MAX_LIMIT = 50
MAX_VELOCITY = 30
MAX_ACCELERATION = 300
[JOINT_3]
TYPE = ANGULAR
HOME = 0
MAX_VELOCITY = 30
MAX_ACCELERATION = 300
MIN_LIMIT = -100
MAX_LIMIT = 50
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_4]
TYPE = ANGULAR
HOME = 0
MAX_VELOCITY = 30
MAX_ACCELERATION = 300
MIN_LIMIT = -36000
MAX_LIMIT = 36000
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[AXIS_C]
MIN_LIMIT = -36000
MAX_LIMIT = 36000
MAX_VELOCITY = 30
MAX_ACCELERATION = 300
[JOINT_5]
TYPE = ANGULAR
HOME = 0
MAX_VELOCITY = 30
MAX_ACCELERATION = 300
MIN_LIMIT = -36000
MAX_LIMIT = 36000
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
[JOINT_8]
TYPE = LINEAR
HOME = 0
MAX_VELOCITY = 200
MAX_ACCELERATION = 800
MIN_LIMIT = -500
MAX_LIMIT = 500
HOME_SEARCH_VEL = 0
HOME_SEQUENCE = 0
Please Log in or Create an account to join the conversation.
concerning the configuration of the .ini file it's ok for me. I think my Problem comes from an error or an oversight in my .hal file
Thank you
Please Log in or Create an account to join the conversation.
But really you should be able to figure out what is wrong by just setting A at 45° and C at 0° and jog your axis in x, where it should be just moving the x motor, and in y, where it should move motors y and z at the same speed.
Please Log in or Create an account to join the conversation.