Good year to all,
I have a board that can do microstepping but I would not use
microstepping because the manual says that while it rises the precision
it also reduces the torque.


On Sun, 2016-01-03 at 01:02 -0500, Cecil Thomas 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-users




------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to