Hello Guest it is March 29, 2024, 06:49:00 AM

Author Topic: How does feed hold work when using a smooth stepper? Is it delayed?  (Read 5218 times)

0 Members and 1 Guest are viewing this topic.

Curious how feed hold works when using a ESS? I understand there is sort of a buffer of moves sent to the ESS in case there is a slight delay with mach right? So what happens when you hit feed hold? Does the ESS handle the feed hold command and stop instantly or do you have to wait for this "buffer" to run out and the feed hold command from mach finally reaches the ESS?

Typically how long is this buffer? Are we talking fraction of a second? few seconds? Even longer? Thanks.

Mark
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #1 on: February 21, 2016, 11:59:44 PM »
The SS and Uc100 both have buffers.  I have seen the SS buffer take a couple seconds to stop the mill.
In the video you can hear the mouse click at 16 seconds. Machine stops at 20 seconds.
https://www.youtube.com/watch?v=b_TvtD847A0

Offline dude1

*
  •  1,253 1,253
    • View Profile
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #2 on: February 22, 2016, 12:05:13 AM »
in M3 it's the end of the line of code it's on

Offline Tweakie.CNC

*
  • *
  •  9,196 9,196
  • Super Kitty
    • View Profile
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #3 on: February 22, 2016, 03:02:52 AM »
Hi Mark,

I think your understanding is correct.

From the ESS doc...
A smaller buffer size is more responsive to Feed Hold commands, but more sensitive to the ESS running out of data if your computer gets bogged down. 
A larger buffer size is less likely to experience the ESS running out of data, but will take longer to respond to Feed Hold commands.

Tweakie.
PEACE
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #4 on: February 24, 2016, 08:09:31 PM »
Thanks for the help guys. Found more info about this on the warp 9 website. Here are the details if anybody else is interested:

The ESS has a fixed amount of memory, and the controller frequency is a setting for how many motion positions per second there are, or how many times each second the velocity is sent from Mach 3 to the ESS.  Having it output data faster means that if can buffer less data.  If your system is running out of data, try slowing this down to a slower frequency so  the SmoothStepper can go for longer periods of times between updates from the PC/Mach3.

4 kHz gives a buffer of 250 ms or 1/4 second:  This provides a faster response to commands like feed hold, since it uses only a quarter second buffer.  However, your PC needs to be able to supply the data transmissions to the SmoothStepper fast enough (newer PCs that are not low end, and that are running properly, can handle this).  While this provides for a snappier response, it will not be reliable for all machines and you may experience run out of data errors.
2 kHz gives a buffer of 500 ms or 1/2 seconds.
1 kHz gives a buffer of 1000 ms or 1 seconds:  This is the default value most machines should use.
500 Hz gives a buffer of 2000 ms or 2 seconds.
250 Hz gives a buffer of 4000 ms or 4 seconds: Slow PCs can run this speed, and with a 4 second data buffer, it will make it hard for them to run out of data.  This setting will have the slowest change in velocities out of all the settings, but should still work just fine for most applications.

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #5 on: February 25, 2016, 06:16:00 AM »
To calculate the TOTAL time from feedhold to stopped motion - don't forget to add in the deceleration ramp. If you have poor accel then this can be significant compared to buffer flush time.

Offline olf20

*
  •  325 325
    • View Profile
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #6 on: February 25, 2016, 06:57:21 AM »
Is there a gcode command that will flush the buffer?
Thanks
olf20 / Bob
Mach3, Atlas Knee Mill, 4th Axis, VcarvePro, ESS, Super PID.
Been Heating with corn since 1998

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #7 on: February 25, 2016, 07:10:06 AM »
Sorry - flush was perhaps the wrong term. The buffer isn't so much flushing as emptying.

As your motion is going along, Mach is constantly checking for space in the buffer and constantly adding more of its planned motion. When you feedhold it stops adding motion from the planner and instead adds the decel motion. So whatever motion was in the buffer MUST be allowed to finish and then the decel ramp finishes the job. Does that make sense?

Contrast that with a limit or e-stop where motion ceases immediately and the currently buffered motion IS flushed or dumped.

Offline olf20

*
  •  325 325
    • View Profile
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #8 on: February 25, 2016, 07:39:47 AM »
Makes sense!
Thanks!
olf20 / Bob
Mach3, Atlas Knee Mill, 4th Axis, VcarvePro, ESS, Super PID.
Been Heating with corn since 1998

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: How does feed hold work when using a smooth stepper? Is it delayed?
« Reply #9 on: February 25, 2016, 10:16:20 AM »
I know this thread is about the SS but it does raise an interesting point about PP users upping their kernel rate beyond that which is strictly needed for velocity.

A 60KHz kernel will certainly empty the existing buffer faster than a 25KHz kernel, so feedholds WILL be quicker. We're talking speeding up the buffer unload from a max of 819ms to a max of 341ms. Is it worth it? Well I suppose if your machine can handle higher kernel speeds then why not? Then again if your (lower than ideal) accel is what's really slowing down feedhold then probably not.