5-Axis - XYZAB vs. XYZAC configuration

More
8 years 2 months ago #115933 by Askjerry
I'm still learning how to configure a 5-Axis machine... I got a working XYZAB configuration... but now that I'm really looking into the kinematics and all... I realize that the B-Axis may actually need to be programmed as a C-Axis. (Not sure yet.)



Here is a video... if the spinning table is pointed up... that would make it a C-Axis... but if I rotate it 90-degrees... as I am in the video... and set that as home... then i think it is a B-Axis. yeah?

Anyway... here is the odd part... I made a copy of the xyzAB configuration and changed all the references to the B-Axis into a C-Axis...

(Just a small snipet of the configuration)
Code:
net joint-select-b halui.joint.4.select net b-is-homed halui.joint.4.is-homed net jog-b-pos halui.jog.4.plus net jog-b-neg halui.jog.4.minus net jog-b-analog halui.jog.4.analog

becomes

(Just a small snipet of the configuration modified... I modified the whole thing of course...)
Code:
net joint-select-c halui.joint.4.select net c-is-homed halui.joint.4.is-homed net jog-c-pos halui.jog.4.plus net jog-c-neg halui.jog.4.minus net jog-c-analog halui.jog.4.analog

I would think that it would run ok... but LinixCNC (AXIS) fails.

Attachment not found


(The above is both the working AB and the failing AC configurations.)

Any idea why???
Thanks,
Jerry

Please Log in to join the conversation.

More
8 years 2 months ago #115966 by Askjerry
I figured it out... it may not be the most elegant solution... but it is working. I'll post my notes and the current configuration here in case anyone else has this issue.

This is my setup: XYZAC Configuration

In the INI file I have this to tell it which actual axis we are using...
Code:
[DISPLAY] GEOMETRY = xyzac

Then further down I had to aparently tell it there were 6 axis... even though I'm not using the B-Axis.
Code:
[TRAJ] AXES = 6 COORDINATES = X Y Z A C

Next I redefined the A-Axis, and changed the B-Axis into a C-Axis...
Code:
#---------------------------------------------------------------------------------------- # Axis A --- CRADLE SECTION --- --- #---------------------------------------------------------------------------------------- [AXIS_3] TYPE = ANGULAR HOME = 0.0 FERROR = 0.005 MIN_FERROR = 0.0005 #--------------------------------------------------------- MAX_VELOCITY = 100 MAX_ACCELERATION = 150 STEPGEN_MAXVEL = 1000 STEPGEN_MAXACCEL = 1500 # these are in nanoseconds DIRSETUP = 10000 DIRHOLD = 10000 STEPLEN = 5000 STEPSPACE = 5000 #----------- Invert Scale to Change Directions (Make Negative Number) STEP_SCALE = -26.6667 MIN_LIMIT = -190 MAX_LIMIT = 190 #--------------------------------------------------------- BACKLASH = 6 #--------------------------------------------------------- HOME_OFFSET = 0 #---------------------------------------------------------------------------------------- # Axis C --- Rotary Table Platter --- --- #---------------------------------------------------------------------------------------- [AXIS_5] TYPE = ANGULAR HOME = 0.0 FERROR = 0.005 MIN_FERROR = 0.0005 #--------------------------------------------------------- MAX_VELOCITY = 100 MAX_ACCELERATION = 150 STEPGEN_MAXVEL = 1000 STEPGEN_MAXACCEL = 1500 # these are in nanoseconds DIRSETUP = 10000 DIRHOLD = 10000 STEPLEN = 5000 STEPSPACE = 5000 STEP_SCALE = 26.6667 MIN_LIMIT = -9999 MAX_LIMIT = 9999 #--------------------------------------------------------- BACKLASH = 1 #--------------------------------------------------------- HOME_OFFSET = 0.0

In the HAL file... I had to change the stepgen.04 to point to AXIS_5 since B-Axis isn't being used... and I have only 5 step generators on this card.
Code:
#---------------------------------------------------------------------------------------- # AXIS C #---------------------------------------------------------------------------------------- # Step Gen signals/setup setp hm2_5i25.0.stepgen.04.dirsetup [AXIS_5]DIRSETUP setp hm2_5i25.0.stepgen.04.dirhold [AXIS_5]DIRHOLD setp hm2_5i25.0.stepgen.04.steplen [AXIS_5]STEPLEN setp hm2_5i25.0.stepgen.04.stepspace [AXIS_5]STEPSPACE setp hm2_5i25.0.stepgen.04.position-scale [AXIS_5]STEP_SCALE setp hm2_5i25.0.stepgen.04.step_type 0 setp hm2_5i25.0.stepgen.04.control-type 0 setp hm2_5i25.0.stepgen.04.maxaccel [AXIS_5]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.04.maxvel [AXIS_5]STEPGEN_MAXVEL net c-pos-fb axis.5.motor-pos-fb <= hm2_5i25.0.stepgen.04.position-fb net c-pos-cmd axis.5.motor-pos-cmd => hm2_5i25.0.stepgen.04.position-cmd net c-enable axis.5.amp-enable-out => hm2_5i25.0.stepgen.04.enable

Not sure if I'm doing it right... but so far it seems to behave correctly. The next thing I need to do is learn about the kinematics... to offset the top of the platter (C-Axis) with the hinge point of the cradle (A-Axis) which is about X0, Y0, Z~15mm or so. That will affect the way it calculates the offset for the A rotation. Man... so much more complex when you add a 5th axis!!!

Here is what I came up with...

Attachment not found



Jerry

Please Log in to join the conversation.

More
8 years 1 month ago #118227 by robh
hi
on our 5axis the 4th axis "B" axis homes facing up to the spindle and this ismostly always named B if it rotates around the Y axis, ie when its at -90 or +90 the length of a part is in the X axis.. if it was in the Y axis then it woul dbe "A" axis

the 5th axis, is alwyas "C" as it rotates around the spindle "Z"
like on a lathe when spindle is a axis it becomes C as it rotates around the "Z"

i am assuming your spindle is on the "Z" axis here by the way!

here is my machine


"B" axis is the Tilt on the table, "C" is the collet chuck if you like.

i have not yet done any TCP on the machine, but i know there is a post on here with someone working on one. for now i have indexer rotates set as say G54 and i program from the cad around that point and let cad take care of things.. the down side is, you need to know center distance well and jigs etc need to be well modeled also as errors can stack up and show if not..

hence TCP has many plus sides as machine can take care of the center of rotate to work it all back.. but you still need to know the center of rotate very well.

Please Log in to join the conversation.

Time to create page: 0.705 seconds
Powered by Kunena Forum