6-axis configuration

More
20 Jun 2020 17:46 - 20 Jun 2020 17:53 #172171 by Wilmo
6-axis configuration was created by Wilmo
Dear community,

Since January I am working with a 3 axis setup in 2.7.14 and all in all I am amazed with the capabilities and the possibilities of this system. Though it is now time for me to develop the machine in a direction where I need some help.

I have a background in mechanical engineering and built, amongst others, a manufacturing line where I selected the milling, grinding and EDM machines, developed the manufacturing processes and instructed the operators later on. For the milling, Mikron HSM200u LP, I was able to crunch some microns that GFMS wasn’t able to.

But for my current project I want to add two rotary axes to my already existing three linear, to make it a 5-axis machine, but because of reasons I need an extra rotary axis, mounted around the spindle as well. Imagine it as a coolant source that is able to rotate into the direction of feed.

First step was for me to convert the 5-axis simulation examples into hardware movements instead of adding them to my 3-axis config, but there I found myself having too little experience in modifying the HAL and ini files. Now I added an extra A-axis to the wishlist I don’t know anymore how to approach the problem.

I guess the right order is to get the 5-axis working and then add a 6th axis. But will this 6-axis setup work with XYZACkins for instance?
Last edit: 20 Jun 2020 17:53 by Wilmo.

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

More
20 Jun 2020 18:09 #172172 by Aciera
Replied by Aciera on topic 6-axis configuration
So, if I understand that right you want a regular XYZAC setup with an additional 6th axis rotary coolant source to rotate around the spindle.
If that is correct I think you should be able to use XYZACkins but you would need to modify the kinematics file to handle the 6th axis.
How do you plan to get the direction of feed? Does that come from the CAM or do you expect that information from inside linuxCNC?

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

More
20 Jun 2020 18:13 #172173 by Wilmo
Replied by Wilmo on topic 6-axis configuration
That is correct, let's call it XYZA1A2C. With A2 being the coolant axis.

First talks with Tebis have let to the conclusion that A2 can be generated by the CAM system, while using TCP.

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

More
20 Jun 2020 18:25 #172174 by Aciera
Replied by Aciera on topic 6-axis configuration
If the positional information comes from the CAM then all you need is for the kinematics to pass that information through as a trivial axis.
For that you would need to add some code to the XYZACkins and recompile linuxCNC.
This is fairly trivial for somebody familiar with C programming. If you are not a programmer that would involve a bit of a learning curve. Or maybe somebody here might be willing to help. I have successfully made changes to kinematics files before but I really just fumbled and stumbled along.

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

More
20 Jun 2020 18:32 #172175 by Wilmo
Replied by Wilmo on topic 6-axis configuration

but I really just fumbled and stumbled along.


That made me giggle, sounds really familiar.

My C experience is mostly from Arduino, which is kind of a dialect I believe. So I should be able to fumble and stumple it together.


Is the general idea of adding the code to XYZACkins to kind of copy the code for the existing A? Though it should behave like the A-axis on a conventional 4-axis XYZA machine. I will have a look at the trigonometrics.

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

More
20 Jun 2020 18:40 - 20 Jun 2020 18:49 #172176 by Aciera
Replied by Aciera on topic 6-axis configuration
I don't think you need to use trigonometrics. Just add a rotational axis "B" to the kinematics file to pass the "A2"-values from the gcode unaltered to the joint B. This is called trivial since the A2-values from the gcode don't interfere in the positional values of any of the other axis.
I recently added a linear U axis to the XYZBCkins and disabled the C axis as I did not need that for my purpose.

[edit]
I can post my modifications to the XYZBCkins tomorrow as it's just about bed time for me and I'm not in the shop.
Last edit: 20 Jun 2020 18:49 by Aciera.

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

More
21 Jun 2020 08:44 - 21 Jun 2020 08:46 #172223 by Aciera
Replied by Aciera on topic 6-axis configuration
My modified XYZBC kinematics file. I have removed the C axis from the kinematics and added a trivial rotary A and a trivial linear U axis.
This is from the dgaretts switchkins branch.

Note that I have fairly limited experience in C programming and the modifications are probably rather crude. But it works for my purpose.

File Attachment:

File Name: xyzbc-trt-...xyzabu.c
File Size:9 KB


[edit]
Another modification is the rotation direction of the B axis which is opposite to convention in my file.
Attachments:
Last edit: 21 Jun 2020 08:46 by Aciera.

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

More
28 Jun 2020 14:07 - 28 Jun 2020 14:08 #172993 by Wilmo
Replied by Wilmo on topic 6-axis configuration
Hell, what a week. Of course I have ridden learning curves earlier on, but Linux and LinuxCNC offers quite steep ones.

I noticed that there are different examples available, but not all working on 2.7.14, so I decided to update to 2.8, which was not completely without challenges. After playing around I noticed as well that I'm not looking for an A2 but a C2, but that is a minor discovery.

What I learned from 2.8 is the introduction of joints in the .ini. In 2.7 9 axes were needed to get a 5 axis config work, but that is not the case anymore in 2.8.

My next step would be to kind of decide whether I am going to use trivkins or XYZACkins.

But just as last week I keep on realizing and understanding things so I cannot really finish the post without asking the obvious. The differences between the different versions are hard to grasp when you are still learning to swim.


P.s. I see your comments are in German. My comments are normally in English, but the everyday talking is German as well. Small world ;)
Last edit: 28 Jun 2020 14:08 by Wilmo.

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

More
28 Jun 2020 14:16 - 28 Jun 2020 14:19 #172994 by Aciera
Replied by Aciera on topic 6-axis configuration
Oh, jeez. I'm sorry about that. I keep forgetting to ask about the version.

As to the question of whether to go for trivkins or XYZACkins, I had the impression that you had already decided that you need the non-trivial kinematics and thought you needed to compensate the TCP for any rotation of the C axis.
If you don't care for that use trivkins, that would have been a lot easier to deal with all along.

[edit]
Yea, I try to use english in my comments for readability when sharing files with non german speakers. But, old habits die hard.
Last edit: 28 Jun 2020 14:19 by Aciera.

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

Time to create page: 0.208 seconds
Powered by Kunena Forum