Would it be possible to add a speed variation for the spindle to counter chatter like described in this paper: http://oatao.univ-toulouse.fr/13508/1/Seguy_13508.pdf
To summarize: If the speed of the spindle is changed a bit in a triangular way it counters chatter in a significant way thus increasing tool life and surface finish.
The only two variables are: The amplitude of the change and the frequency (and this might be even hard coded as the paper says that the amplitude has the greater effect).
Example: Amplitude 1000 rpm, Frequency 1Hz. When the user sets the spindle to 10000rpm GRBL will linearly change the speed from 9000rpm to 11000rpm and back again over a period of 1 second.
I guess the UNO version does not have enough resources left to implement this. But would it be possible to add something like this the the Mega version?
Some more details if this should be implemented:
According to https://diy.haascnc.com/reference-docs/lathe-spindle-speed-variation Haas uses M38 and M39 to turn this feature on and off (although http://reprap.org/wiki/G-code#M38ComputeSHA1hashoftargetfile shows that RepRapFirmware uses M38 to “computer the hash of a file an an SD card”) but the parameters itself are not changeable by G-Code, so having those as regular configuration variables should be fine.
#1 – 109JB 于 2017-11-27
Couldn’t this be implemented by using a second Arduino with a program to do this. For example, Feed the PWM from Grbl into the second Arduino, which will perform the speed variation and send it to the motor speed control. You could even do stuff like install a couple cheap encoders so you can change the amplitude and frequency on the fly.