Custom Spindle Speed Variation for DMG Mori NLX 2500
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello,
I am trying to modify my DMG Mori NLX 2500, post to have a Spindle Speed Variation Function as Haas ST20Y Post has, The Spindle Speed Variation Command varies the Speed of Spindle by certain range at a fixed time frequency. This helps avoid chatter.
Now SSV is standard on Haas Controls, but it is an option on DMG Mori MAPPS Control, the option is expensive, and I don’t have budget for it.
So, I thought if I write a Spindle Speed Command on every line of code it will work the same way as Haas M138 SSV Command Does.
However, Spindle Accelerating and Decelerating takes some time so something like
S1000 M03 (Spindle On)
X 10. Z20. (Movement)
S1500 M03 (Spindle Speed Change) <- This will not be executed before the
movement is completed
Would take much time and would make my program appear jittery as it is being interpreted line by line. The Haas Control must be using Background Thread to vary the spindle speed, so the program movements go as normal.
The solution to this problem must be making little spindle speed changes so line by line interpretation is quick. However, if a long movement code is added, my spindle speed would only change until that long movement code is executed, this would cause chatters.
The other solution would be to break the movement codes into short steps and then add minor spindle speed changes. This could work to an extent, with some rules such as Haas M138 takes a RPM Range and a Seconds Value, so I must modify my post in such a way that it breaks the Movement Codes by factoring feed and time.
For Example:
- My Feed is 1mm/rev
- My Spindle Speed is 1000 RPM
- My Spindle Variation limit is 200 RPM + and 200 RPM –
- My frequency of change is every 2 seconds
- Distance my program wants to travel is from Z0. To Z1000. mm
So, in 1 Rotation my Program will move 1 mm, so total of 1000mm will take 60 Seconds. In 1 Second therefore my program will move 16mm so a speed change at Frequency of 2seconds will occur at 16 times 2, at intervals 32mm
Motion will look like
S1000 M03 (spindle on)
G01 Z0. F1.
G01 Z32. F1. S800 M03 (spindle speed change)
G01 Z64. F1. S1000 M03 (spindle speed change)
And so on. However, the fine the movement segmentation is the less the program will appear to be jittery. I also am concerned of the Movement to be too fine such as in Microns, and the control might struggle with so many lines. But that is a problem to be dealt later.
Any ideas on how I would be able to implement this in my post? or any ideas on a better Approach?
Let me know if you have any ideas except for building budget to purchase that option. Budget will take time. Besides its not fun as this could be.
Thanks,
Bhavar 🌸🌸