Just chipping in...

So on your rotary axis, you have 60 000 steps per revolution. If you set up
a dial gauge and do a simple G1 with 600 000 steps, or 10 rev's, is there
much residual error?

Otherwise, if the accuracy is good enough for one rev, then, in fake code;
- home rotary
- cut one tooth with +3 deg, - 3deg  (or whatever one tooth requires)
- home rotary axis
- move to 6 degrees
- cut one tooth with +3 deg, - 3deg
- start again, for next tooth

So now each tooth should be cut within the maximum error of a single
rotation.

Regards
Roland


On 3 January 2016 at 08:02, Cecil Thomas <wctho...@chartertn.net> wrote:

> My question is about what happens to the "leftovers" when the
> precision of the g code commanded position cannot be met by the
> hardware executing it.
> Several years ago I wrote a program to "generate" involute gear teeth
> by making multiple cuts of the same tooth from differing angles with
> a rack shaped cutter. This eliminates the need for the different
> cutters when making only one cut per tooth.  I have used it many
> times to cut relatively large gears with a relatively small number of
> teeth with virtually no noticeable error.
>
> A few days ago a friend who repairs watches wanted to know if I could
> figure out what gear (wheel to you watch guys) size, pitch or module
> and number of teeth would be required to replace a missing one. (the
> original was long gone).  I had no problem working from the center
> distance and the matching pinion coming up with the appropriate design.
>
> However, when I cut the gear I had the right number of teeth but the
> last tooth  was much too wide.
>
> It would appear that I had lost a bunch of steps on the rotary
> axis.  Further investigation reveals what I think is the root cause
> but I would like someone with more knowledge than me to confirm or
> disprove my analysis.
>
> The gear had 86 teeth (in the power train, not in the timing train)
> and I made 9 cuts per tooth.  That is 774 commands and about all but
> 86 of them in the same direction.
>
> My rotary axis is a 200 step stepper into a 30 to 1 worm drive
> microstepped by 10  so 1.8 degrees divided by 300 equals .006 degrees
> per microstep or 166.6667 steps per degree.
>
> Unfortunately when the g code calls for a 1 degree move the motion
> planner can only issue 166 steps since it can't issue .6667
> steps.  That means that the actual movement of the A axis is only
> 166/166.66667 or .996 degree. That is .004 degree lost as far as I
> can tell.  That might be close enough for one or even several
> commands but after 688 comands in the same direction that constitutes
> 688 x .004 or 2.7 degrees lost.
>
> That is a significant portion of a tooth on a high tooth number
> wheel.  Depending on the actual value of the command the actual lost
> motion could be anything from nothing to essentially a whole step or
> .0059999 degrees.
>
> I think that I can lessen the impact of the lost portion of the steps
> by using the MOD operator to determine how much is left over after
> dividing the commanded move by .006.  Then use IF ELSE,  IF the
> remainder is Greater Than .5 steps then  ADD a full step (command =
> command PLUS .006 degrees) ELSE issue the commanded number (do nothing).
>
> This should statistically reduce the error by rounding up or down and
> redistribute it randomly among all the cuts although it will not
> eliminate it. The greater the number of cuts the better the
> approximation will be.
>
> Sorry for the long post but I couldn't condense it much and get the
> idea across.  Can anyone confirm or disprove my observation or come
> up with a better solution?  Obviously I could add another reduction
> stage to my rotary axis but I would like to avoid that if possible.
>
> Cecil
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>
------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to