Hey guys!
I'm working on a new build at the moment, and I've been less than happy with the tools that I've been able to find to calculate the requirements of various parts of a CNC system...

Being a programmer by trade my instinct was to build a tool for the purpose so that's what I'm working on. Once it's finished and tested I'll be releasing it for everyone to use.

Now, with the intro aside, here's the problem. I'm working with some formulas that are giving me results that seem very counterintuitive. I want to double check with you guys whether I'm way off base or whether this is actually correct.

Basically the results I'm getting are saying that the rotor inertia and the acceleration are the primary determining factors in the amount of torque required for a given acceleration. The inertia of the rotor seems to completely dwarf the inertia of the rest of the system. eg:

Rotor inertia: 0.1777 lb/in/s/s (NEMA 23 380oz/in from CNCRouterParts, as quoted by their spec sheet)
Ballscrew inertia: 0.00026 lb/in/s/s (5/8" diameter ballscrew, 5TPI, 24" long)
Reflected load inertia: 0.00052" lb/in/s/s (200lb)

Calculating the above numbers with an acceleration of 70 in/s/s gives me 104 oz/in peak torque required
Changing the load to 2,000 lb only increases the torque requirement to 107 oz/in

Is this in any way correct? I'm following what look like correct formulas, and all the test exercises provided with the formulas come out as expected. I'm just amazed that the rotor inertia would be so large in comparison to the inertia of the rest of the system that it basically makes it irrelevant... I don't have any engineering education so I'm well aware this might be one of those things that's correct but just unintuitive. I want to confirm that before proceeding though obviously!

The formulas were taken from the paper "The Basics of Motion Control" by John MAZURKIEWICZ (https://www.google.com/search?q=the+...motion+control)

Formulas as I'm using them:
Code:
  leadscrew_section_area = 3.141 * Math.pow((leadscrew_diameter / 2),2)

  leadscrew_volume = leadscrew_section_area * leadscrew_length //cubic inches

  leadscrew_mass = leadscrew_volume * .280 // pounds

  leadscrew_inertia = (leadscrew_mass * Math.pow(leadscrew_diameter / 2, 2)) / (2 * 386) // lb in squared
  
  reflected_load_inertia = (travelling_weight / 386) * Math.pow(( 1 / ((2 * Math.PI) * leadscrew_pitch)), 2) // lb in squared
  
  system_inertia = rotor_inertia + leadscrew_inertia + reflected_load_inertia // lb in squared

  acceleration_rate = (70 * leadscrew_pitch) / (9.55 * 1) // radians sec squared
All help is appreciated!

Similar Threads: