Changing acceleration and max velocity with G/M codes?
06 Apr 2023 01:38 #268371
by dmradford
Changing acceleration and max velocity with G/M codes? was created by dmradford
My mill is pretty well tuned, however given a few physical limitations of it, I've run into a sometimes frustrating balancing act between acceleration and max velocity.
My machine can get moving upwards of 500 ipm, but only if my acceleration is somewhere around 0.01G. If I limit my max velocity to about 250 ipm, I can crank my acceleration up to 0.25G without any issues. So obviously I could have multiple machine profiles and just load them up specific to whatever operation I'm going to be doing. Though, if I want to use HSM for a roughing pass that has long fast moves, then switch to a higher acceleration profile for the detail / finishing operations which are much shorter moves, I'm just stuck with one profile for the entire setup regardless of the needs of the multiple operations within that setup (unless I restart LCNC and then re-home, and reconfigure my work offsets - yuk, rather not...).
On most 3D printers I've used, you can actually adjust the acceleration settings right in the gcode. This is generally only used to test / configure the "correct" settings for printers, but seems like it would have a very practical application within the world of milling machines.
Is there any way to adjust the acceleration values within the Gcode file, or even just within the UI without having to shut down LCNC and reload it with a different profile? I'd love to be able to set different acceleration values on a per operation basis to get the most out of my machine.
My machine can get moving upwards of 500 ipm, but only if my acceleration is somewhere around 0.01G. If I limit my max velocity to about 250 ipm, I can crank my acceleration up to 0.25G without any issues. So obviously I could have multiple machine profiles and just load them up specific to whatever operation I'm going to be doing. Though, if I want to use HSM for a roughing pass that has long fast moves, then switch to a higher acceleration profile for the detail / finishing operations which are much shorter moves, I'm just stuck with one profile for the entire setup regardless of the needs of the multiple operations within that setup (unless I restart LCNC and then re-home, and reconfigure my work offsets - yuk, rather not...).
On most 3D printers I've used, you can actually adjust the acceleration settings right in the gcode. This is generally only used to test / configure the "correct" settings for printers, but seems like it would have a very practical application within the world of milling machines.
Is there any way to adjust the acceleration values within the Gcode file, or even just within the UI without having to shut down LCNC and reload it with a different profile? I'd love to be able to set different acceleration values on a per operation basis to get the most out of my machine.
Please Log in or Create an account to join the conversation.
06 Apr 2023 12:41 #268420
by zz912
Replied by zz912 on topic Changing acceleration and max velocity with G/M codes?
Hello,
you should combine:
INI HAL pin. Look in Halshow.
with:
M68
linuxcnc.org/docs/2.9/html/gcode/m-code.html#mcode:m68
In custom.hal you must connect it by net command.
Another combination is:
M64 / M65 and connect it throw own HAL component.
you should combine:
INI HAL pin. Look in Halshow.
with:
M68
linuxcnc.org/docs/2.9/html/gcode/m-code.html#mcode:m68
In custom.hal you must connect it by net command.
Another combination is:
M64 / M65 and connect it throw own HAL component.
Attachments:
Please Log in or Create an account to join the conversation.
06 Apr 2023 22:26 #268459
by dmradford
Replied by dmradford on topic Changing acceleration and max velocity with G/M codes?
I'm not sure I follow. How would this allow me to change the acceleration values via gcode?
Please Log in or Create an account to join the conversation.
07 Apr 2023 04:20 - 07 Apr 2023 04:25 #268483
by zz912
Replied by zz912 on topic Changing acceleration and max velocity with G/M codes?
In custom_postgui.hal file add:
Start LinuxCNC and in MDI type:
# Change max velocity and acceleration from G-code
net sig-max-velocity <= motion.analog-out-00
net sig-max-acceleration <= motion.analog-out-01
net sig-max-velocity => ini.x.max_velocity
net sig-max-velocity => ini.y.max_velocity
net sig-max-velocity => ini.z.max_velocity
net sig-max-acceleration => ini.x.max_acceleration
net sig-max-acceleration => ini.y.max_acceleration
net sig-max-acceleration => ini.z.max_acceleration
Start LinuxCNC and in MDI type:
M68 E0 Q10 (change velocity unit/s)
M68 E1 Q5 (change acceleration unit/s2)
Last edit: 07 Apr 2023 04:25 by zz912.
Please Log in or Create an account to join the conversation.
Time to create page: 0.105 seconds