How to add more axes to axis gui?

More
12 Feb 2021 16:02 - 12 Feb 2021 16:32 #198545 by Aciera
I've recently built a machine with a fourth linear axis using U and I also found it to move very slow. In my case it is only for positioning and does not move together with xyz so I managed by increasing the speed through some HAL logic.
Generally I got the impression that the linear velocity settings only apply to X Y and Z and ABCUVW are angular. I know for sure that ABC are always treated as angular regardless whether you define the joint as angular or linear (as a matter of fact I'm not really sure what that does).
As for UVW I don't know for sure but I have a feeling that internally only XYZ are treated as linear.

If you change the kinematics file you will have to rebuild Linuxcnc which means you should use a RIP installation. If I remember correctly I tried to do something like
joints[i] = pos->tran.u;
but had no luck.

[edit]
I didn't work with the trivkins.c but needed to modify a 5axis kinematics for my purpose. Looking at the sim-9axis demo that comes with the regular installation shows that trivkins uses UVW axis commands as incremental moves for XYZ. This seems to be how some commercial controllers use it. The tool path preview also handles it that way but it can be configured to ignore uvw moves.
Last edit: 12 Feb 2021 16:32 by Aciera.
The following user(s) said Thank You: aleksamc

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

More
12 Feb 2021 21:36 #198589 by aleksamc
Thanks Aciera for your answer. You have made also big job about robots whre also many axes except xyz.

I've supposed that only ABC axes have problems with speed because of they are rotary and their speed depends on diameter. But I was wrong. Currently only XYZ axes has good movement capabilities. Other axes can move only in G93 mode. I think it's very pity.

As for me, I'm not C nor python programmer. If problem not in kinematics, so it should look in EMC core for it. I think, it' not possible for me.

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

More
12 Feb 2021 22:18 - 12 Feb 2021 22:20 #198596 by Todd Zuercher
I have machines that use W axis, and It behaves properly and obeys linear feed rates. The only issue I have is that the multi-line tool planner does not extend beyond XYZ. so moves with other axis revert to they old (v2.6 and before) one line look ahead. So It still mills at the normal speed so long as the lines of code are for moves long enough to accelerate or decelerate to a full stop in less than the length of the next line of code. If the lines of code are for short moves, then the max speed will be limited to what the machine can stop by the end of the next line of code. This might be very slow for very short lines on a machine with low accelerations.
Last edit: 12 Feb 2021 22:20 by Todd Zuercher.
The following user(s) said Thank You: aleksamc, Aciera

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

More
12 Feb 2021 22:45 - 12 Feb 2021 23:17 #198600 by aleksamc
Yes, yes, Todd, you are right. My program consists of small parts that devides vector. Also Axis X must have 100 points acceleration because of high vibrations.

So the problem in a tool planner that developped only for 3 axes. Thank you very much for this nformation. So problem not in kinematics.
I've got such problem when I tried to connect analog output of the spindle to laser and in each row to regulate it's power. It was very slow!!!


I found some docs about motion controller. Start to read it.
Last edit: 12 Feb 2021 23:17 by aleksamc.

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

More
13 Feb 2021 18:34 #198699 by aleksamc
I looked that programming file, but I'm not a programmer so I can only make some supposing.
In tc.c there is a lot of such codes as xyz and separeted abc, and uvw, for example
Line 1115
    // Note that previous restrictions don't allow ABC or UVW movement, so the
    // end and start points should be identical
    blend_tc->coords.arc.abc = tc->coords.line.abc.start;
    blend_tc->coords.arc.uvw = tc->coords.line.uvw.start;
I realy doesn't understand this code but possibly blending is between xyz and between abc, and uvw separeted.
And as I think as in my case as I wanted to operate separetly 2 colinear axes y and u, it will not work.
Also it will not work for xyz and a axis (if I anderstand this code right).
Possibly it should be something like this
blend_tc->coords.xyzarc.xyzabc = tc->coords.line.xyzabc.start;
or
blend_tc->coords.xyzarcuvw.xyzabcuvw = tc->coords.line.xyzabcuvw.start;

File Attachment:

File Name: tc.c
File Size:27 KB
Attachments:

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

More
15 Feb 2021 13:20 #198927 by Todd Zuercher
A couple years ago there was an experimental branch of Linuxcnc to extend the multi line tool planner to the extra linear axis (UVW). But I'd have to look up where that is, or if it is included in the current master branch (It's possible it might even be included in 2.8, I'm still on 2.7.)

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

More
15 Feb 2021 15:24 #198938 by Todd Zuercher

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

More
15 Feb 2021 15:31 #198942 by Todd Zuercher
According to this github.com/LinuxCNC/linuxcnc/issues/611 that branch was probably merged into master in 2019, If so it would be in v2.8. What version of Linuxcnc are you running?

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

More
15 Feb 2021 16:17 - 15 Feb 2021 16:18 #198948 by Todd Zuercher
However if you are commanding mixed blended moves using a rotary axis into the mix, that can throw a wrench into the whole works, and blending will be limited to 1 line look ahead again. Also adding rotary axis into the mix can severely mess with feed rates. It is usually suggested to use inverse time feed rates (G93) in such situations. In inverse time mode an F word must be included on every cutting line of code, and the number issued with the F is the time in minutes that it should take to execute that line's movement.
Last edit: 15 Feb 2021 16:18 by Todd Zuercher.
The following user(s) said Thank You: aleksamc

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

More
15 Feb 2021 20:26 #198973 by aleksamc
Thanks Todd for your answer. I use linuxcnc 2.8.1. Now I looked into it and also in your reference of github branch. Therein both is present blendmath.c (for uvw blending) that in github written with comment "conflicts with tp.c". So defenetly tries was but possibly it finished in some other way.
As for my project of cnc machine, where is present additional axis for laser V, I made additional configuration for laser whre I changed Y and V axes vice-versa. It's solves my problem in such way.

But as for A axis, that I used to make different reliefs and I used ArtCam. I can also change A axis to Y and to make fast milling. But I think it's not good problem solving. And A axis is used very often in different applications.
A year ago I setted linuxnc to somebody that makes miling in the same way as I.
Warning: Spoiler!

I solwed his problem with changing A axis to Y. And machine worked very fast. And he doesn't call me up to this time. So everything works fine.

I think that it could be good if sombody will mesh blending for xyza(bc also possible) axes in the same way as it was made for xyz. I mean if distance for xyz measures as sqrt(x^2+y^2+z^2) so for adding a axis should be sqrt(x^2+y^2+z^2+a^2).

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

Time to create page: 0.098 seconds
Powered by Kunena Forum