No announcement yet.

Electric Gear Hobbing Numbers

  • Filter
  • Time
  • Show
Clear All
new posts

  • Electric Gear Hobbing Numbers

    I would like to cut some gears. I have a Hardinge UM and an Ellis Dividing Head. To synchronize the hob and gear blank I want to set up a rotary encoder on the mill and a stepper motor on the dividing head.

    I have read all I can on the google and ordered the Digital Machinist 2012 summer issues detailing the building of an Electronic Dividing Head. I cannot find any documentation on how anyone came up with the encoder or stepper motor specifications. It almost seems like they grabbed really big numbers hoping they would be good enough.

    I am a numbers kind of guy and would like a better idea of why the numbers recommended are what they are...

    Lacking any direction I would like to embark on a thought process.

    Let's say I want to build this system. I want to synchronize the hob and gear blank so that the tool path does not deviate more than 0.001"+/- of where it is supposed to be. To do this let's assume I need to be able to measure the gear blank tooth position, and hob tooth lateral position to within 0.0002".

    The questions are:
    How many pulses per revolution does my rotary encoder need to produce to track the hob tooth lateral movement to within 0.0002"?
    How many steps per revolution does my stepper motor need to have to move the gear tooth 0.0002" per step?

    Starting with the first question:

    One revolution of the hob will result in the hob cutter moving one tooth laterally. I will call this lateral movement the ToothArc.

    ToothArc = PitchCircumference/NumTeeth.

    PitchCircumference = pi*NumTeeth/DiametralPitch.

    Or ToothArc = (pi*NumTeeth/DiametralPitch)/NumTeeth = pi/DiametralPitch.

    Step_Rev = Pulses / Revolution.

    ToothArc = Lateral Distance / Revolution

    So Lateral Distance / Pulse = ToothArc/Step_Rev = pi/(DiametralPitch*Step_Rev)

    I know I want Lateral Distance / Pulse = 0.0002" and I want to solve for Step_Rev:

    Step_Rev = pi/(DiametralPitch*0.0002) = 5000*pi/DiametralPitch = 15,700/DiametralPitch

    So for 16DP I need 981 pulses/revolution from my rotary encoder. For 24DP I need 654 pulses/revolution.

    This feels good as my cheap eBay encoder can do 2,400 pulses per revolution and is rated for 5,000rpm.

    Now for the second question:

    My dividing head has a 90:1 ratio. My stepper motor has Steps_Rev steps per revolution. So for one revolution of the gear blank I have 90*Steps_Rev stepper motor steps.

    One revolution also move the gear teeth the DiametralCircumference distance. Rather than express this in terms of DP and NumTeeth, lets just work with gear blank diameter (Gdia).

    So the circumference = pi*Gdia. So we could express the distance moved along the circumference of the gear blank per stepper motor pulse = pi*Gdia/(90*Steps_Rev).

    I know I want 0.0002" = piGdia/(90*Steps_Rev) or Steps_Rev = 5000*pi*Gdia/90 = 175*Gdia.

    So for a 6" gear I need 1050 steps/revolution, a 3" gear would be 525 steps/revolution, a 1" gear 175 steps/rev.

    This would require microstepping for a 200 step motor, or a reduction gear between stepper motor and dividing head.

    So my questions are:

    Is my math correct?

    Is my goal of 0.001" accuracy in tooth path high or low? I would like gears that look good and move smoothly, I am not building swiss watches.

    Is my assumption that I need to measure and move 0.0002" to get 0.001" accuracy high or low?

    Is there a better way to approach this (from a mathematical modeling perspective)?

  • #2

    I am glad you sought out the article. If you want some more discussion, you might look at for now.

    I had to smile when you wrote "they grabbed really big numbers hoping they would be good enough" as you are quite right because there is simply little else to be done about it. As your thinking concurs, the accuracy of the indexer's movement will ultimately be determined by the mechanical fixture and its mechanical advantage, so I chose to make the indexer as versatile as possible given the modest cost goals I was under. That is why the fixture part of the article was only a simple example of adapting the Step Indexer and the software was written to accommodate any advantage ratios. We're all numbers people here.

    I am a little unsure about your use of the term "rotary encoder" here, but I think I know what you meant. My choice of stepper motor in the article was to maximize holding power, or torque in the context of what could be ordered at a reasonable cost and it turned out well for my use in cutting plastic and aluminum teeth without needing to use a brake. My choice of stepper driver was also discussed, primarily in terms of cost. Again, that particular driver is well known as not a great device in terms of speed, resonance, miswiring, back emf protection etc., but those qualities aren't really all that important in this application, but feel free to pick another as others have done.

    Your rationale and model is on the right track, although I assume your arithmetic. The model is the same one outlined in the article although I would have written (StepsPerRev*MicroSteps*FixtureGearing) to get the full number of steps needed to complete one revolution. There are two things to be added to the thinking though - one is a discussion on the merits of microstepping, and the other is the accuracy of the motors themselves.

    First about the motors. Most of us use 1.8 degree per step motors that also have a +/- 5% accuracy, or 1/2000 of a revolution per step. This means that for any given step command to the motor, the result can be a position anywhere between 1.75 and 1.85 degrees, a 10% window. (However, you can buy a 0.9 degree per step motor that is also +/- 5%, thereby doubling the accuracy for a bit more in cost.) This means in terms of resolution that any microstepping beyond 1/10 stepping is asking the motor to do something it is just not capable of doing and is a kind of "empty resolution" -- like a voltmeter that displays 5 decimal places but only has an accuracy of .01 volts.

    This inaccuracy needs to be included in your model to make sure the chosen fixture provides enough mechanical advantage to surpass your .001 goal. Other than not being for Swiss watches, you didn't provide any info about what the gears are for, so there is nothing to base any answer to your question about whether or not .001 is appropriate. You do want to include the same tolerance data for your rotary table, something you may be able to get from the manufacturer, at least if they are a US company, although in general worm gear arrangements are very good, although you may also want to ask about backlash when considering its holding power while cutting the teeth. The article mentions adding a brake while cutting to address this if necessary.

    IMHO, whether or not consistent .0002 measurements are enough to get a handle on this error is much more dependent on your ability to take those measurements with the gauges you have and the technique you plan to use to measure the tooth movement than something that can be generalized. In theory, sure! .0002 is obviously more than enough, but I have accumulated quite a bit of hard-won direct evidence that we don't live in a theoretical world.

    To end up with gear teeth accurate to within .001 is not only an issue of how well it is positioned, but how well it stays there while being cut, and how well it is cut by the spindle. If you have a mill that you know you have been able to reliably cut to within a measured .001, then a third of the problem is done, but that is a challenge for many of us cutting anything, not just gear teeth, using home or hobby level equipment.

    As for microstepping, its main advantage is not to increase resolution, but to make stepper movement more smooth. If you build this project you can see this for yourself - change the driver settings and Arduino code from 1/8 microsteps to 1/2 or zero microsteps and compare how it moves. However, and this is a common misconception, it does not provide a reliable increase in resolution. Microstepping suffers from linearity issues - the positional displacements between microsteps are not equal, and the more microsteps per native steps you use, the worse this gets, making any statement about how much resolution is added by microstepping very difficult. The error is cyclic, though, not cumulative, and averages out to zero over a full revolution. The other downside of microstepping is that it requires the processor to generate more pulses to get the motor to move, making the speed limited by the execution speed of the processor, but this doesn't matter too much in our application.

    There is actually a LOT more about microstepping and steppers if you really want to get into it, but it wasn't needed for the article (there is a constraint of about 3000 words there) and I'm not sure more is needed here, but I am willing to answer any more questions.

    So, the idea for this application is to decrease the microstepping as much as possible given the mechanical advantage; if you are flush in mechanical advantage, you can increase the microstepping to make it run smoother. In yours, I would select a fixture to be applicable to the largest gear you want to cut and then add some front end gearing (or timing belts like that used in the article) to get the accuracy where you need it.

    If you build one, please post some pictures over on the "step indexer article" thread on this forum. Perhaps this Q&A belongs there as well.

    Hope this helps, and good luck with it!

    Last edited by revwarguy; 03-30-2015, 02:29 AM. Reason: spelling


    • #3
      Don't know about the maths but a couple of years ago a thread on here covered this concept as used by John Stevenson in his business. I recall he was using a 40 tooth dividing head and a 200 step motor then a 1000 step encoder multiplied up to 8000. This was significant to enable straight forward dividers to select the number of teeth in the gear.