Announcements
Visit Fusion 360 Feedback Hub, the great way to connect to our Product, UX, and Research teams. See you there!
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Smart, variable feed-rates based on tool engagement

Smart, variable feed-rates based on tool engagement

I've got a CNC kit router that uses a Dewalt 611 trim router as the spindle, and I noticed that it struggled substantially more with full plough-cuts when first starting pockets than when doing subsequent step-overs, and it got me thinking:

 

What if toolpaths could intelligently determine relative feedrate reductions depending on tool engagement and plunge depth? It would be fantastic if the HSM kernel could dynamically adjust feedrate to slow down for deeper cuts, following the 25% reduction for 2x diameter/depth relationships, 50% reduction for 3x depth, and also know that it can go faster when in a "chip-thinning" situation compared to a full-plough, so it knows to slow down for the first part of the pocket and speed up after that. 

 

I know it could be quite computationally complicated to figure those things out, but I thought it was at least worth the thought, as it could do wonders for tool and equipment life to ensure the loading is more even throughout operation. I imagine this would be helpful for more rigid and capable equipment than mine as well.

20 Comments
kb9ydn
Advisor

First off, if you aren't using the 2D/3D adaptive operations you should be.  They are designed to produce constant engagement angle too paths which ensure a consistent load on the tool.  The adaptive strategies are much more intelligent than the standard pocketing strategies and most of the time produce more optimal paths.

 

But, to your idea of variable feed rates, yes.  This has been suggested before and it's definitely on the radar for future consideration.  There are some more fundamental parts that need to be put into place first though before this can happen (finishing the new tool library for one).  It's also quite the complicated task so it will require a lot of up front design work to make it really useful.

 

C|

Anonymous
Not applicable

Ummm, not to belittle the "task", but it would SEEM that you are asking for spindle speed as a function of chip load.

I have to believe that chip load for every delta move is known, or could be derived fairly simply.

 

Not that the speed of the 611 router is easy to govern -:)

 

 

Ooops, my bad.

You are asking for feed rate to be a function of delta position with constant chip load.

Note to self; take remedial reading for understanding.

 

 

Jonathan_Kolodner
Enthusiast

Yep, as you re-read and figured, what I'm asking for is NOT variable spindle speed as a function of chip-load, because varying that on the fly is not easy—I'm asking for varying feed-rate as a function of overall deflection/cutter loading.

 

It would be nice if the CAM kernel could 'intelligently' adjust feed-rate to accommodate the different degrees of chip-loading incurred by different depth-of-cut adjustments and the amount of lateral tool engagement. 


In other words, you create a path with a tool where you're going at more than 1:1 depth/diameter ratio, the CAM kernel knows to start scaling back the feed-rate by up to 25% at 2x depth, and 50% at 3x depth, all dependent on whether the spindle torque is sufficient for driving the tool through that particular material at that rate.

I see immediate advantage to it recognizing a plough cut, because right now when it starts a pocket it's doing that, and you have to set your loads for that to not break tools, even if the rest of the pocket is a 40% climb-cutting step-over—so you lose a lot of potential speed for that phase of the machining just to prevent breaking the tool at the beginning during that first pass. If it could realize that the first pass at the center of a pocket should go much slower than the rest of the pocket, that'd help tremendously.

Anonymous
Not applicable

Maybe I'm taking too simplistic of a view here, but I'll give it a try.

In a simple diagonal cut I believe the tool is (should be) moved at some rate in directions X and Y to result in the desired speed along the diagonal path - this is simple, VERY SIMPLE vector arithmetic, basic pythag trig to solve for X and Y where angle and hypotenuse are given.

So we already have constant speed in 2D.

 

I think all you are asking for is to have the Z dimension included - and again I don't see why that would be so very hard, given that it is just a delta movement in 3 directions - solve for speed(X), speed(Y) and speed(Z).

 

At any point in the path the chip load is a simple function of cross sectional area being cut and feed rate.

One of which is known in the model, the other is (should be) a constant, the tool's max efficiency - again, I am not seeing what is so very hard about this (-:

 

 

Anonymous
Not applicable

A slight variation on this would be to modify the tool definitions to accept multiple speed and feed rates at differing depths and widths of cuts.  Then when the tool is selected for a given operation, the worst cases of cuts within that operation are used with the tool definition to generate interpolated values for the speed and feed so long as the cut engagements fall within the values defined for the tool.  It might warn if they fall outside the defined envelope.

 

As Fusion currently works I find myself making lots of separate definitions for each tool so I can select among them to find one with close to the right rates for a given operation.

kb9ydn
Advisor

This simple answer is that it isn't that simple.  Smiley LOL

 

The complication is that we have more variables than just tool engagement.  For proper feed/speed optimization there are other factors such as material type, tool deflection, number of cutting edges (flutes), tool coatings, holder type, coolant types, machine rigidity, setup rigidity, part rigidity... all of these things (and more) matter.  So I think in order to tackle the larger problem of feed/speed optimization you need to consider all the variables involved.

 

Having said that, I do think a more simplistic feed optimizer could have some value, especially for roughing.  The trick will be figuring out which variables are critical and which can be ignored.

 

 

C|

Jonathan_Kolodner
Enthusiast

@Anonymous I'm afraid the view is in fact too simplistic—because what I'm asking for is a per-move adjustment of that feed-rate to compensate for tool engagement to ensure that the machine isn't going from being really heavily loaded at one moment (a full-width plough cut at the start of a pocket slot) to properly loaded for the rest of the tool-path strategy at say a 35-40% engagement in a climb cut, or very lightly loaded on a finishing pass or in thin-chips scenario. 

 

I'm asking that the CAM Kernel look at tool engagement in determining feed-rate, at each g-code line. As mojobility has caught on, having different tool definitions for different materials and cut-cases is one work-around you can use, but it's a major opportunity for user error, and it doesn't solve this "first move" problem of adjusting feeds and speeds for the start of larger operations.

 

What does solve this problem to a large degree right now are adaptive strategies, where those are appropriate—but they solve the issue not by adjusting the feed-rate, but by adjusting the way the paths are generated such that they keep even engagement as much as possible. That said, they're often just a slightly fancy spiral milling pass (unless you do slot clearing).

Jonathan_Kolodner
Enthusiast

@kb9ydn is right on it that there are a lot of factors—it's certainly a multivariable optimization problem, but it's one that fortunately does create not a single optimal point, but a landscape of approximately equivalently useful values based on the interactions between those variables:

feed-rate increase -> chip-load increase

spindle-speed increase -> chip-load decrease

increase in depth-of-cut -> feed-rate reduction

increase in flute-count -> decrease in chip-load per tooth

using a coolant? -> can cut either faster (due to lubrication and better heat removal) or slower for better finish (due to better heat removal)

 

Just like any other multi-variable optimization problem though, (or any other multi-variable math) you're trying to set certain values and see what happens to others—in this case your machine locks in some values (maximum spindle torque and axis force & feed-rates) while the tool locks in others (it has X flutes, is Y diameter, can cut to Z depth, and has A optimal chipload) while lastly your material sets certain variables (optimal/maximum surface speed of cutter flute on the material, preference for climb vs. conventional cutting, whether it work-hardens or melts/binds up/is "gummy", the resistance to being cut—which establishes the torque requirement curve for cutting at various speeds).

 

Once you've plugged all that in though, you'll still have a basic relationship between the amount of tool engagement and the deflection forces that creates, and how fast you're trying to move through the material. It will still hold true that the more material you're engaging, the more deflection forces apply against the cutter, and the slower you should go to not break the tool or lose steps with your machine. I'm not saying it's a simple linear relationship, but I'm saying that it will be directly corrolated, and a compensation algorithm could be worked out so that we're getting optimal speeds through the whole toolpath, without risking breaking tools at the start of pockets.

al.whatmough
Alumni

It seems the problem is more that you are trying to maintain a consitant load on the spindle.

 

For instance like this, you are best to leverage adaptie clearing.

 

With that said, we are working on a mechism to adust the feedrates of the intermediate cuts as the tool works up the part.

 

In the case of 2D contours, you can use feed optimization to reduce the feedrate going into corners.

 

al.whatmough
Alumni
Status changed to: RUG-jp審査通過
 
Anonymous
Not applicable

@Jonathan_Kolodner

 

Indeed, many variables need to be included - howeverrrrrrr the requested feature would take effect AFTER many of them have been decided upon, i.e. material, cutter, etc were already decided upon.

 

At the time of the plunge or climb - the TOOL is already IN the materail.  The variables that would need to be considered as now undergoing delta changes...  Again, in my simplistic view; it seems like delta cross sectional area.

Jonathan_Kolodner
Enthusiast

@al.whatmough The concern isn't so much constant load on the spindle as it's maintaining consistent lateral loading on the tool—I'm working with a desktop CNC which runs on steppers, so losing steps is as much a concern as bogging the spindle.

 

@Anonymous Well now that you've put it that way, yes, I agree—basically it would just be a feed-rate adjustment based on tool engagement, to slow down & speed up the tool based on deflection/load. 

scottmoyse
Mentor

I agree with Al Whatmough on this. Plus I don't think the CAM kernel should be compromised because of hobbyist machine requirements. If you are missing steps due to lateral loading, then you need to slow your feedrate down overall.

 

In bigger machines, machining hard materials, there are serious consequences for dynamically adjusting the feedrate to compensate for load. The key is maintaining constant load, and constant speed, or you run the risk of breaking tools.... which happens with competing High Speed Machining strategies from other vendors.

Jonathan_Kolodner
Enthusiast
You missed my point then—because that's exactly what the end goal is—more
constant tool loading with transitions between different percentages of
lateral cutter engagement and cut depth to compensate for machine
limitations, because even big fancy machines still have a limit to their
rigidity and how much tool-deflection is going to impact finish and/or
breakage.

Having smarter, *smoother* tool-paths is the goal: paths that compensate
for the initial slot-cuts into the material vs. subsequent clearing cuts!

-Jonathan
al.whatmough
Alumni

The attached video shows that Adaptive clearing does provide a perfecly consitant load on the cutter

 

@2;15

 

kb9ydn
Advisor

The adaptive strategies do maintain constant tool load in the radial direction (as Al said), but only for cuts at the maximum engagement angle.  What they don't do is adjust (increase) the feed rate for areas where there is not enough material left for maximum allowed engagement.  Nor do they adjust the feed rate for different axial depths of cut.

 

Have a look at this one for a simpler version of variable feed rates.

 

http://forums.autodesk.com/t5/ideastation-request-a-feature-or/independent-feeds-amp-speeds-for-3d-a...

 

 

C|

Jonathan_Kolodner
Enthusiast

Yes, and as always, an excellent video Al!

 

In my original question I mentioned I was using a regular pocketing operation—I should probably have been more clear in my follow-up that my hypothetical "ask" of the software is to apply a little adaptive intelligence to all tooling strategies—even the conventional ones.

 

Also, my real focus is not on side engagement, it's on automatic feedrate adjustment based on depth of cut, because as Al points out in the video, the compensation that people make for the conventional tool path strategies to avoid tool breakage is to take shallow cuts—which wear the tool end out far before the useful life of the rest of the flute has been reached.

 

 

What I'm proposing is to help end users take some of the guess-work out of their speeds and feeds: currently I frequently have to manually adjust feedrates away from the recommended/advertised ratings to compensate for the limitations of my machine, tool, and setup—which all machinists will have to do whether their machine is small or large. What I'm asking for applies equally to everyone.

 

It would be nice to be able to enter all the tool characteristics, including multiple optimal chip-load ratings for different materials per-tool at the optimal 1:1 depth/diameter relationship. Then, when I go to set up my tool-path and I enter my desired depth of cut and axial engagement, it calculates optimal feedrate from depth, the spindle speed, and the material-specific chip-load selection value automatically.

 

This would be good for a lot of people:

  • It'd make it easier for tooling suppliers to ensure their customers are using the tools correctly in the materials they're cutting (so they'll want to supply recommended tool-design values) so they better assure customer satisfaction.
  • It'd make it easier for the machinist to get the settings right with less guessing and calculations, and break fewer tools. 
  • It'd make it easier for the CAM kernel to validate correct engagement, because it can compare the user's custom values to the recommended values from the tool/material library, and can flag potentially problematic configurations. This will make machinists happy with their CAM.

This is what I'm asking for—just some of the adaptive smarts applied behind the scenes to all tooling strategies, making essentially a "stock-smart" rest-machining style path for every operation. 

al.whatmough
Alumni

Ah yes, Calulating speeds and feeds.

 

This is a slighly differnt ask.  But, a VERY good one and one we are working one.

 

It is one of the "Harder said than done" things.

 

Agian, we are working one it.

@al.whatmough

Still not sure why we put in loads of effort in this.

The tool vendors take out the guess work. They have calculation software and give the feeds and speed per material.

I feel like it's re-inventing the wheel and possibly get a piece of stone carved into a cylinder instead of the high performance tires we have today.

 

@Jonathan_Kolodner

I understand your point of view but I think what you are looking for is not realistic. There are loads of tools that can only cut upto 20 or 40% of the diameter in width. So a basic 1:1 depth/diameter speed/feed combination isn't really an option(Also this is per definition not the optiomal cut to take).

 

"It'd make it easier for tooling suppliers to ensure their customers are using the tools correctly in the materials they're cutting (so they'll want to supply recommended tool-design values) so they better assure customer satisfaction."

 

This is kind of what they do(I have lists or software for the recommended tool-desing value's for all the tools I have) and therefor don't want you to do the calculation. It's not all about keeping the chipload the same. There are also things as deflection, chip evacuation, increase or decrease of surface speed with varying width of cut.

While I support the roughing strategies getting smarter I don't think re-inventing the speed&feed calculation is the way to do that.

light24bulbs
Explorer

I too would like the ability to include variables like bit depth and engagement in my feed rate.  Yes, it would help with hobby CNCs.  You don't have to use it for your big industrial ones, just because it is there.  It wouldn't compromise anything.

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Autodesk Design & Make Report