NerdKits - electronics education for a digital generation

You are not logged in. [log in]

NEW: Learning electronics? Ask your questions on the new Electronics Questions & Answers site hosted by CircuitLab.

Sensors, Actuators, and Robotics » Milling feed rate

July 03, 2012
by sask55
sask55's Avatar

This is question that may be better suited to a forum on CNC machining. I am going to pose it here anyway. It seams to me that a number of regular contributor on this forum have experience working with CNC equipment. I am thinking about including an ACS750LCA current sensor chip on the control board I am making for my mill. My idea is that by having the computer monitor the spindle motor current draw, in certain conditions, it may be possible to develop software that will use that information to automatically adjust the cutting tool feed rate.

I was originally thinking about monitoring the current draw from the three stepper motors that are moving the spindle height and table position. I was thinking that the stepper motor current draw would likely relate closely to the force required to move the table or lower the spindle. If the motor was requiring a lot of current the feed rate could be automatically adjusted down to relieve the cutting pressure on the tool. This approach would require the ability to monitor the current draw on all three stepper motors, since the feed rate can conceivably be in any of the three axis of movement. I am wandering if I could get a satisfactory result by just monitoring the spindle motor current draw. It seams to me that the current draw of the spindle motor should be an indication of the motor load which should be directly related to the cutting tool pressure.

Does anyone know if it is possible or reasonable to have a CNC milling machine self adjust the feed rate of the cutting tool based on the spindle motor load? Is this kind of thing done ?


July 03, 2012
by mongo
mongo's Avatar

Well... I have only worked with one CNC machine... (I like the old-fashioned manual craftsmanship, myself) The spindle speed is really something that an experienced operator can set. Too fast and it burns up tooling as well as work-hardens the substrate. I don't know if there is an active way for a machine to do this, although I have seen it in the programs before.

The speed of the tool depends on several variables: Material being cut, the feed speeds of the XYZ drives and even the type and condition of the cutting tool - not to mention the finish desired. The Jeweled appearance has always been a favorite.

The feed speeds are usually programmed right into the machine for the job to be done.

July 04, 2012
by Rick_S
Rick_S's Avatar

Rule of thumb for feed rate and spindle RPM when cutting are simple formulas.

RPM = (SF * 12) / (PI * Dia)

  • RPM = Rotational speed of tool for mill or work for lathe
  • SF = how many surface feet per minute recommended for a given base material and cutter material.
  • PI = well, PI (3.14159)
  • Dia = Cutter diameter for mill work diameter for lathe

Feed = RPM * CL * N

  • Feed = Movement of tool in inches per minute
  • RPM = Rotational speed of tool for mill or work for lathe
  • CL = Chip Load (Varies by tool and finish desired) for metal cutting usually no less than .003
  • N = Number of cutting edges in cutter.

Lets Say you had a piece of High Carbon Steel you wanted to mill with a 4 flute 1/4" diameter Carbide endmill.

The rough surface footage for steel being cut with carbide is 300 to 500 so we'll start low at 350. Using our RPM formula, we'd determine that the endmill should run at approximately 5348 RPM. At that RPM, the minimum feedrate should be no less than 64 Inches per minute.

Keep in mind, RPM is always considered a starting point. Often the recommended surface footage to machine a given material can be gleaned from either the tooling manufacturer, the machinery handbook, or the internet. Chip load can usually be gotten from the tool manufacturer for a given material for the tool you are using. If you buy generic tooling, a rule of thumb for chip load when cutting metal is:

  • .002 to .007 for carbide endmills
  • .003 to .02 for indexable carbide facemills
  • .01 to .1 for special carbide indexable high feed cutters

Keep in mind everything here is somewhat variable. A lot will depend on the capabilities of the machine tool doing the work. I program CNC equipment for a living using CAM software called Mastercam. I started many years ago running manual mills and lathes, then started programming and operating CNC's by hand, and now I exclusively program for our shop floor. Being that this is for a hobby/home built mill, your machine may not have the horsepower in the spindle to drive a tool properly and you may have to run the tool differently than it should be to prevent stalling your machine. Unfortunately when cutting metal, running less than .003 chip load will tend to decrease your tool life.

As for CNC machines adjusting their feed based on load, I've never seen one that did. Most have a load meter so that the operator can monitor and adjust the feed if needed, but they don't self adjust. I do know sometimes when going into blind corners, we'll drop the feed because of the extra cutter engagement to prevent the tool from "chattering".

If you have any other machining questions, feel free to ask. While I don't work with small parts or small machines (you could park a small school bus on the table of one of our mills), I may be able to answer your questions.


July 04, 2012
by Ralphxyz
Ralphxyz's Avatar


"Most have a load meter so that the operator can monitor and adjust the feed if needed,"

How is that "load meter" energized? What is it sensing?

It seems as if sensing the spindle motor load would feed a load meter by current sensing or what spindle pressure feed back?

Whatever, if you have a sense of the spindle load, adjusting it manually or using a mcu should not make much difference how it is done.

Now when I finally get around to making up a CNC machine (I have learned how to control bipolar stepper motors thanks to Darryl and Unipolar steppers thanks to Rick) I'll have to experiment with this, I like the concept.


July 04, 2012
by Rick_S
Rick_S's Avatar

The meter is current sensing and whether a human or mcu would adjust feed makes a huge difference. The machines have no AI built in, they do what they are told. An operator can make an intelligent choice of how to adjust the feed if it needs adjusted at all. Different materials cut differently and require different cutting forces. The machine has no way of knowing what it is cutting. Plus, many machined parts have a required surface finish to ensure they mate properly with other pieces of machinery. Changing the feed rate changes the finish the machine is leaving. The operator of the machine can read the drawing and know what adjustments, if any, can be made. The machine can not. Until machine tools can read the drawing, setup themselves, program themselves, select their own tooling, --- essentially replacing humans, they most likely won't self adjust feed rate. I suppose if a machine builder got very creative, they could add code to maybe give a min and max feed and based on load the machine could adjust within a range but I haven't seen any that do. The only exception I know of to this is in a crash situation. Many newer machine tools will sense a sudden surge in current and will shut down all motors and engage clamps to prevent machine/people damage.

If a given machine can not machine what you want, you can't simply turn down the feed without effecting things. Turning down the feed decreases your chip load which in turn will give you a better finish up to a point. At a certain point, the cutter no longer is cutting, because the feed is so slow, the material in front of the cutter work hardens (like mongo was saying) when this happens the cutting action becomes more of a rubbing action and the finish will actually get worse. Again, this depends on many factors. Factors that Journeymen Machinists learn through the years and develop a "feel" for. So you say why not drop the RPM as well as the feed to keep the chip load the same... Well you could, but you won't really achieve much in regard to reducing current draw. The only real solution is to reduce the depth of your cut or reduce the width of the cut. This creates less tool engagement and will drop spindle load while maintaining chip load.

There is a machine tool show (International Machine Tool Show - IMTS) that is held at McCormick Place in Chicago every other year. The show is this fall. I will be going to it and if I remember, I'll look to see if any tool manufacturers are doing anything like this. If anyone is in the Chicago area, and they are interested in machining, It is an awesome show to see. They have everything machining related there from laser cutters, to waterjet cutters, to manual and CNC machines, and every tool under the sun.

July 04, 2012
by sask55
sask55's Avatar

Thanks fellows

There is some good information here. I do have some experience milling on my machine using the hand wheels and manually controlling the feed rate. I do understand the spindle speed calculation used set the RPM of the cutting tool based on the material and tool size. I have never actually calculated the feed rate that I am milling at. I have always just moved the table using the look of the work and amount of turning pressure on the table movement wheel as a guild. That manual control seams to work well but if I am thinking about doing some auto feeding with my stepper motor drives the machine will not have either of those inputs to influence the feed rate.

I think I will incorporate a chip on my prototype board to allow me to monitor spindle motor load. It may never be used to automatically adjust the feed rate but the information could be useful for the operator if I display it on the PC screen.

I am just thinking about various ideas right now. I will be getting back to trying this in the fall. Currently I have a schematic done with eagle and a working prototype using only one of the three motors as well as four digital callipers for position feedback. My two concerns right now are doing the control and verification calculations fast enough on the PC. and getting this circuit unto a PC board. I have tried a number of layouts of the components, the best that I have done on a two level printed circuit board is not good at all. Over 600 visas and twenty some unrouted connections is not workable. I am experimenting with using a three or four layer board on the eagle layout editor. I think it may be possible to manually make a four layer board by manually stacking pc board material that has been etched or cut and drilled on the mill. In that layout the ground and power connections would be removed from the two layers that carry the single connections.


Post a Reply

Please log in to post a reply.

Did you know that the microcontroller's crystal oscillator can be used to keep accurate time? Learn more...