Inverse Time Feed G93 Ignored with 4th rotary axis?
03 Dec 2023 02:25 #287060
by mason148
Inverse Time Feed G93 Ignored with 4th rotary axis? was created by mason148
Hi,
I have seen similar questions to this asked however, I can not seem to find an answer. I have a 4 axis CNC, moving gantry XYZ with an A rotary axis, see attached for the type of machine. I initially ran GCODE with G94 and it ran at the specified feed rate while moving linear axes only. When the linear axes and rotary axes "A" were asked to move at a specified rate I was only able to achieve approximately 1/3 the specified feed rate.
I then found G93 Inverse Time Feed could be a solution and followed this thread to filter my GCODE from G94 to G93: forum.linuxcnc.org/38-general-linuxcnc-q...tcher-for-me?start=0
However, with G93 active I still get the same slowing feed rate during linear and rotary moves as I did with G94 active. My machine has trivial kinematics XYZA. Also, the machine moves at specified feed rate whilst jogging axes and if single G1 lines are sent through the MDI in the axis gui. I feel like the issue has something to do with feed rate being applied in angular units however, I thought using the G93 command would force the machine to complete its G1 movement within the 1/F min time specified on that G1 line.
I have also attached my ini file and a test GCODE file I have been using to try narrow the issue down. From the test code attached am I applying G93 correctly? Or is there something within my ini that needs to be changed, different kinematics etc? Appreciate any help.
I have seen similar questions to this asked however, I can not seem to find an answer. I have a 4 axis CNC, moving gantry XYZ with an A rotary axis, see attached for the type of machine. I initially ran GCODE with G94 and it ran at the specified feed rate while moving linear axes only. When the linear axes and rotary axes "A" were asked to move at a specified rate I was only able to achieve approximately 1/3 the specified feed rate.
I then found G93 Inverse Time Feed could be a solution and followed this thread to filter my GCODE from G94 to G93: forum.linuxcnc.org/38-general-linuxcnc-q...tcher-for-me?start=0
However, with G93 active I still get the same slowing feed rate during linear and rotary moves as I did with G94 active. My machine has trivial kinematics XYZA. Also, the machine moves at specified feed rate whilst jogging axes and if single G1 lines are sent through the MDI in the axis gui. I feel like the issue has something to do with feed rate being applied in angular units however, I thought using the G93 command would force the machine to complete its G1 movement within the 1/F min time specified on that G1 line.
I have also attached my ini file and a test GCODE file I have been using to try narrow the issue down. From the test code attached am I applying G93 correctly? Or is there something within my ini that needs to be changed, different kinematics etc? Appreciate any help.
Please Log in or Create an account to join the conversation.
03 Dec 2023 08:55 #287075
by CNC_ANDI
Replied by CNC_ANDI on topic Inverse Time Feed G93 Ignored with 4th rotary axis?
I´ve had the same Problem the result was a to small MAX accleration and a to small G64 P in my Gcode.
Check your MAX_ACCLERATION Settings and tune it.
Check your G64 in your GCODE try to set it higher
Check your MAX_ACCLERATION Settings and tune it.
Check your G64 in your GCODE try to set it higher
Please Log in or Create an account to join the conversation.
04 Dec 2023 10:24 #287179
by mason148
Replied by mason148 on topic Inverse Time Feed G93 Ignored with 4th rotary axis?
Thanks for the suggestions. I have increased the acceleration parameters in the ini and ended up increasing the Y axis acceleration from 100 -> 950. When I run the test GCODE this gets me to a feed rate of around 5800mm/min which is almost the 6000mm/min that was commanded. However, any higher acceleration values would give me follow errors which is probably related to my slow computer which is a separate issue.
I tried using G64 (declared at the top of the GCODE) and I could not get any change of behaviour. I tried G64 by itself and combinations such as: G64 P0.01 Q0.01 all the way up to G64 P5 Q25 and still no change.
Also, with the new increased accelerations, there was no velocity difference whether I used a G93 or G94 command. Both commands would reach 5800mm/min. Another test I ran was I changed the amount of rotary movement during the linear move from 0-2.1degrees to 0-60 degrees. In both cases the linear movement reached 5800mm/min and the rotary moves were completed within the commanded time. I tried this with a G93 and a G94 command and still no change in behaviour.
I suspect G64 is not making a difference because I am hitting the limits of the machine in the ini. I don't quite understand why I can reach required feed rates when only linear axes is active and not reach feed rates when linear and rotary axes are active, even when G93 feed rates are applied. I have also read that LinuxCNC trajectory planner only looks ahead one line and throttles velocity accordingly. Does this only come into effect when linear and rotary axes are active? Is there anything else that I can try on the LinuxCNC side to reach the correct feed rates?
Appreciate any help.
I tried using G64 (declared at the top of the GCODE) and I could not get any change of behaviour. I tried G64 by itself and combinations such as: G64 P0.01 Q0.01 all the way up to G64 P5 Q25 and still no change.
Also, with the new increased accelerations, there was no velocity difference whether I used a G93 or G94 command. Both commands would reach 5800mm/min. Another test I ran was I changed the amount of rotary movement during the linear move from 0-2.1degrees to 0-60 degrees. In both cases the linear movement reached 5800mm/min and the rotary moves were completed within the commanded time. I tried this with a G93 and a G94 command and still no change in behaviour.
I suspect G64 is not making a difference because I am hitting the limits of the machine in the ini. I don't quite understand why I can reach required feed rates when only linear axes is active and not reach feed rates when linear and rotary axes are active, even when G93 feed rates are applied. I have also read that LinuxCNC trajectory planner only looks ahead one line and throttles velocity accordingly. Does this only come into effect when linear and rotary axes are active? Is there anything else that I can try on the LinuxCNC side to reach the correct feed rates?
Appreciate any help.
Please Log in or Create an account to join the conversation.
04 Dec 2023 14:03 #287190
by CNC_ANDI
Replied by CNC_ANDI on topic Inverse Time Feed G93 Ignored with 4th rotary axis?
Try a G64 P0.005
or G64 P0.002
Then you will notice a difference because it then has to position more precisely and your acceleration plays a big role.
Do you have normal stepper motors? What does your Ferror have in the ini? You may be able to set this a little higher.
or G64 P0.002
Then you will notice a difference because it then has to position more precisely and your acceleration plays a big role.
Do you have normal stepper motors? What does your Ferror have in the ini? You may be able to set this a little higher.
The following user(s) said Thank You: mason148
Please Log in or Create an account to join the conversation.
06 Dec 2023 14:44 #287355
by andypugh
For XYZ-only moves the trajectory planner looks ahead around 100 segments.
For any move with a rotary axis motion it drops back to the one-segment lookahead.
Tormach have fixed this, but we haven't been able to make much headway getting the improvement off of them to merge into LinuxCNC.
Replied by andypugh on topic Inverse Time Feed G93 Ignored with 4th rotary axis?
I have also read that LinuxCNC trajectory planner only looks ahead one line and throttles velocity accordingly. Does this only come into effect when linear and rotary axes are active? Is there anything else that I can try on the LinuxCNC side to reach the correct feed rates?
For XYZ-only moves the trajectory planner looks ahead around 100 segments.
For any move with a rotary axis motion it drops back to the one-segment lookahead.
Tormach have fixed this, but we haven't been able to make much headway getting the improvement off of them to merge into LinuxCNC.
Please Log in or Create an account to join the conversation.
07 Dec 2023 03:26 #287411
by mason148
Replied by mason148 on topic Inverse Time Feed G93 Ignored with 4th rotary axis?
Thanks for the replies, clears a lot of questions up for me. I have normal, stepper motors and I will try further tuning GCODE G64 and Ferror values. I think I can also manipulate the density of GCODE points along the cutting path in my CAM software. I may be able to make the distance travelled per GCODE segment larger at a cost to accuracy but this should help keep my machine feed rate up during "one-segment lookahead mode" movements.
Please Log in or Create an account to join the conversation.
Time to create page: 0.141 seconds