Can anyone using rotational axis help me?
-
I am completely stuck. I have been trying on and off for months to work out how to control multiple rotational axes on a machine I am prototyping.
In this post https://forum.duet3d.com/topic/30981 I asked about it before, but I have still not got any further.
In another post I am reading a reference to what I think I am doing. They say;
"I'm assuming the rotation rate is applied to the axis with the greatest travel?"
https://forum.duet3d.com/post/216949But in all my tests no matter what I do, whether I use rotational or not, the travel speed of each axis seems to be the calculated as if I was calculating the speed needed for the square root of the sum of the of the square of the distance moved by all the moving axis, which I think is the correct calculation for a linear axis.
I have so far been reversing the calculation by setting the feed rate to the square root of the sum of the squares of all axes I am moving. This works, But when they are moving difference distances this is very time consuming and hard to keep track of.
I would Ideally like each axis speed to just scale as a % of the axis with the longest travel, which is what I expected from the rotational axis.
I think I have tried every combination of using the predefined rotational axis, adding R1 adding S1 to the M584, but it seems to make no difference.
Am I missing the point of a rotational axis completely? The only thing I can think of that is quite abnormal is that I have a rotational axis that uses 4 motors. Would this be an issue? I have not tested this yet as it only just occurred to me while writing this. But I feel like if this was the issue it would be an unintentional bug in the firmware. If no one has any better Ideas I’ll have to take my machine apart to test this possibility.
Thanks for any help!
-
@Jasperg it's standard practice that when only rotational axes are moving, the F parameter is interpreted as the square root of the sum of squares of the rotation rates. See section 2.1.2.5 of https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=823374. RRF follows the NIST specification, with a few extensions to handle additional linear axes and to handle extruders.
-
@dc42 I have read the documentation you linked. The scenario I have is similar to A:
"A. For motion involving one or more of the X, Y, and Z axes (with or without simultaneous rotational axis motion), the feed rate means length units per minute along the programmed XYZ path, as if the rotational axes were not moving."
But I was hoping to have 2 or more rotational axes, with feed rate calculation based on a solo linear axis. From what I am reading it seems there is not a clear definition for what happens when more than one rotational axes is running at the same time as some linear axes. I had assumed any additional rotational axis would all be calculated independently to finish rotation at the end of the linear movement. But in my testing it seems that with 2 or more rotational axes moving with a linear axis they all start to be calculated as the square root of the sum of squares of all moving axes. Is this correct? Thanks!
-
@Jasperg no, the feed rate should determine the speed of the linear axis in that situation, provided that this does not require the speed of any rotational axis to exceed its limit as defined by the M203 command.
-
@dc42 OK great thanks! I must have made an error, I'll try again.