4th axis tangent to path XY
03 Mar 2024 13:15 #295035
by andypugh
Replied by andypugh on topic 4th axis tangent to path XY
The best, and most reliable, solution will be to do it in the CAM software, I think that SheetCAM can do this.
Alternatively the calculations could be done with a custom HAL component, and this would make it easier to turn the feature on and off. (Just have a HAL pin to enable and disable the component)
Does your head have bevel and rotation axes, or is it done as a combination of A and B tilts parallel to the X and Y axes?
Alternatively the calculations could be done with a custom HAL component, and this would make it easier to turn the feature on and off. (Just have a HAL pin to enable and disable the component)
Does your head have bevel and rotation axes, or is it done as a combination of A and B tilts parallel to the X and Y axes?
Please Log in or Create an account to join the conversation.
03 Mar 2024 13:22 - 03 Mar 2024 13:26 #295036
by santy
Replied by santy on topic 4th axis tangent to path XY
My hardware design has been made so that Rotating the C and B axis doesn't interfere with the TCP.
C is a direct vector to the tip of the torch at cutting height of 3mm.
B is a direct vector to the tip of the torch at a cutting height of 3mm, tilting around 45º so it's similar to some 5 axis boring machines.
SheetCAM is being a very useful tool for trying to come up with a solution for this, just not good enough yet.
Maybe G93 inverse time will be useful for this, but I haven't figured out how to put it to work in SheetCAM, so i'm still trying with regular G94.
XYZ, C and B all home perfectly and position the machine at 0,0,0,0,0 (vertical, straight C)
rotating B axis to -30 or +30 will produce bevels of this angle (with a snippet code, different tool, or other technique it's achievable to insert this)
-> THC off can be done with snippet code.
-> I would like to be able to increase the CutVoltage here by a bit but i can just have it OFF for now.
-> Interfacing with Amps digitally could be done with M67 M68 but not with my plasma.
-> Slowing down feed with the following code on bevels can be done automaticallyM67 E3 Q60 (reduce feed rate to 60%)
G3 I10 (the hole)
M67 E3 Q0 (restore feed rate to 100%)
On a small arc of 1mm, or a straight 90 deg X/Y angle, I can make the torch follow with the C axis being tangential with the knife post processor adaptation.
What I can't do, is make a bevel on an ARC (conic holes, large circle with bevel for weld prep, etc) , because the velocity of moving C will not be in agreement with the velocity of moving X/Y.
C is a direct vector to the tip of the torch at cutting height of 3mm.
B is a direct vector to the tip of the torch at a cutting height of 3mm, tilting around 45º so it's similar to some 5 axis boring machines.
SheetCAM is being a very useful tool for trying to come up with a solution for this, just not good enough yet.
Maybe G93 inverse time will be useful for this, but I haven't figured out how to put it to work in SheetCAM, so i'm still trying with regular G94.
XYZ, C and B all home perfectly and position the machine at 0,0,0,0,0 (vertical, straight C)
rotating B axis to -30 or +30 will produce bevels of this angle (with a snippet code, different tool, or other technique it's achievable to insert this)
-> THC off can be done with snippet code.
-> I would like to be able to increase the CutVoltage here by a bit but i can just have it OFF for now.
-> Interfacing with Amps digitally could be done with M67 M68 but not with my plasma.
-> Slowing down feed with the following code on bevels can be done automaticallyM67 E3 Q60 (reduce feed rate to 60%)
G3 I10 (the hole)
M67 E3 Q0 (restore feed rate to 100%)
On a small arc of 1mm, or a straight 90 deg X/Y angle, I can make the torch follow with the C axis being tangential with the knife post processor adaptation.
What I can't do, is make a bevel on an ARC (conic holes, large circle with bevel for weld prep, etc) , because the velocity of moving C will not be in agreement with the velocity of moving X/Y.
Last edit: 03 Mar 2024 13:26 by santy.
Please Log in or Create an account to join the conversation.
03 Mar 2024 13:35 - 03 Mar 2024 14:31 #295039
by andypugh
That should just work.
If you are doing an arc, and there is a C move during the arc, then the C move should be exactly matched to the distance around the arc, and reach the programmed angle at the end of the arc.
So, for example.
G0 X20 Y0 C0 - position at start point
G2 X0 Y20 I-20 C90 - combined arc and C move (might be G3, I have forgotten which is which)
This should pass through the point X = sqrt(20) Y = sgrt(20) C = 45 and all other matching points.
All moves in a G-code block should run in synch and finish at the same time.
Replied by andypugh on topic 4th axis tangent to path XY
What I can't do, is make a bevel on an ARC (conic holes, large circle with bevel for weld prep, etc) , because the velocity of moving C will not be in agreement with the velocity of moving X/Y.
That should just work.
If you are doing an arc, and there is a C move during the arc, then the C move should be exactly matched to the distance around the arc, and reach the programmed angle at the end of the arc.
So, for example.
G0 X20 Y0 C0 - position at start point
G2 X0 Y20 I-20 C90 - combined arc and C move (might be G3, I have forgotten which is which)
This should pass through the point X = sqrt(20) Y = sgrt(20) C = 45 and all other matching points.
All moves in a G-code block should run in synch and finish at the same time.
Last edit: 03 Mar 2024 14:31 by andypugh.
Please Log in or Create an account to join the conversation.
03 Mar 2024 13:48 #295041
by santy
Replied by santy on topic 4th axis tangent to path XY
I didn't know this. I might be doing something wrong then.
Thank you for your reply.
Within 1-2 weeks the build will be complete and I'll be actively posting about it in the forums.
Thank you for your reply.
Within 1-2 weeks the build will be complete and I'll be actively posting about it in the forums.
Please Log in or Create an account to join the conversation.
04 Mar 2024 09:28 - 04 Mar 2024 09:30 #295118
by santy
Replied by santy on topic Re:4th axis tangent to path XY
So, with some changes to the post, this was my achieved code for a Circle with Beveling tool.
If someone needs the post proccessor i can upload
;end material setup
M301 (M300=Stop Tangential Movement) -> DISABLE the C axis motor from the start
G0 X88.674 Y14.391
M3 $0 S1 (plasma start)
M67 E3 Q100
G0 C56.2500 #this movement doesn't take effect because the C axis motor is OFF
G1 X88.6735 Y14.3913
G0 A30 #after Leadin, the A axis tilts torch 30deg
M300 (M300=Start Tangential Movement) -> trigger output to turn ON the C axis motor
M67 E3 Q70 (slow speed to 70%)
M(xxx) (disable Torch Height Control)
G0 C56.2500 #First movement while beveling
G1 X91.4514 Y18.5486 #Leadin continues
G3 X91.451 Y18.549 I-36.451 J36.451 C-45.0000 #Does an Arc, where it expects to synchronize the speed of the xy to C??!
G0 C33.7500 #After the arc finishes, orients C axis to leadout tangent direction
G1 X95.6087 Y21.3265 #Leadout
M5 $0 (force plasma end through my snippet code)
G0 A0 C0
M301 (M300=Stop Tangential Movement) -> DISABLE the C axis motor after C0 finishes
Mxxx (Enable Torch Height Control)
M5 $0 (plasma end)
If someone needs the post proccessor i can upload
;end material setup
M301 (M300=Stop Tangential Movement) -> DISABLE the C axis motor from the start
G0 X88.674 Y14.391
M3 $0 S1 (plasma start)
M67 E3 Q100
G0 C56.2500 #this movement doesn't take effect because the C axis motor is OFF
G1 X88.6735 Y14.3913
G0 A30 #after Leadin, the A axis tilts torch 30deg
M300 (M300=Start Tangential Movement) -> trigger output to turn ON the C axis motor
M67 E3 Q70 (slow speed to 70%)
M(xxx) (disable Torch Height Control)
G0 C56.2500 #First movement while beveling
G1 X91.4514 Y18.5486 #Leadin continues
G3 X91.451 Y18.549 I-36.451 J36.451 C-45.0000 #Does an Arc, where it expects to synchronize the speed of the xy to C??!
G0 C33.7500 #After the arc finishes, orients C axis to leadout tangent direction
G1 X95.6087 Y21.3265 #Leadout
M5 $0 (force plasma end through my snippet code)
G0 A0 C0
M301 (M300=Stop Tangential Movement) -> DISABLE the C axis motor after C0 finishes
Mxxx (Enable Torch Height Control)
M5 $0 (plasma end)
Last edit: 04 Mar 2024 09:30 by santy.
The following user(s) said Thank You: Aciera
Please Log in or Create an account to join the conversation.
Time to create page: 0.217 seconds