Mistry dividing attachment

Advert

Mistry dividing attachment

Home Forums Workshop Tools and Tooling Mistry dividing attachment

Viewing 13 posts - 26 through 38 (of 38 total)
  • Author
    Posts
  • #739994
    Michael Gilligan
    Participant
      @michaelgilligan61133
      On Bazyle Said:

      Is there a simple formula or algorithm for handling the number of steps when it isn’t a round number to avoid cumulative error. […]

      With any luck … Tony Jeffree might see this discussion and leap to our rescue !

      His original ‘DivisionMaster’ [yes, I do have one] handled the situation nicely.

      MichaelG.

      .

      Edit: __ I have just looked on his website and found this:

      DIVISIONMASTER – An automatic indexer/rotary controller
      Divisionmaster is no longer in production; however, a similar rotary controller designed and built by Steve ward is available from here:http://www.worldofward.com/rotarycontroller/

      In order to support existing users that wish to have access to the firmware for the project, I have made the firmware and the manual available for download HERE.

      http://www.jeffree.co.uk/pages/divisionmaster-files.html

      Advert
      #740003
      Hopper
      Participant
        @hopper

        Why even bother with the complexity of making a digital driver when you can just buy the indexing plate set? It was well within the technology of the day for each hole in each indexing plate to be located within .001″ of spec. Reduced through a 90:1 worm gear, that translates to an error on the job of one ninetieth of a thou. (Assuming hole being machined in job is at the same radius from the centre.) An error of 1/90,000″ or 0.000011″. Is there anything to be gained from a digital set up that is more accurate than that, on a rotary table on a machine where work is normally done to a tolerance of .001″ and occasionally to .0001″. But never to .00001″ under normal cirucmstances.

        I fear we are treading dangerously close to the number of angels able to dance on the head of a pin.

        That said, there were those manufacturers of high-end rotary tables and dividing heads who feared not to rush in where angels dance. Their rotary tables/dividing heads were tested before leaving the factory and issued with a correction chart. A small dial on the rotary table or dividing head was then set to the correction number. That advanced or retarded the positioning of the indexing plate by the tiny amount needed to correct any tiny error and allow the last angel to squeeze on to the head of said pin.

        GH Thomas’s Versatile Dividing Head incorporates a similar device, a second worm and wheel with graduated collar that allows an accuracy/precision/resolution of 1/1000th of a degree (assuming the worm and wheel are consistent etc etc.) by rotating the indexing plate by a small measured amount.

         

        #740046
        SillyOldDuffer
        Moderator
          @sillyoldduffer
          On Hopper Said:

          Why even bother with the complexity of making a digital driver when you can just buy the indexing plate set? …

           

          Same reason mill owners fit a DRO! It improves the machine considerably.   Driving a mill on the dials requires the operator to keep count and manage backlash, which is an error prone fag.  A DRO achieves the same result as the dials, but the information it feeds the operator is direct and much less likely to be misunderstood.  Dials are hard work compared with a DRO,

          A digital driver on a rotary table isn’t such a massive improvement, but it still leaves a mechanical indexer in the dust.   A digital can do steps or angles, and able to handle any worm ratio, and setting up is a doddle – no looking up which disc, ring and hole, and keeping count of handle turns.  Much easier to use, faster, and far less error prone than a mechanical; I guess hopper has never used one?

          Not about accuracy.  Digital and mechanical indexers are broadly equivalent in that department because accuracy depends mostly on the rotary table.

          Dave

          #740055
          Brian Merrifield
          Participant
            @brianmerrifield92050

            Well, what a fascinating response to my first post on the forum. Thanks for all of your comments and the various links. I have a much better idea of what I have here and can now describe it well enough to sell it. This is a part of a workshop disposal I have been working on for the past three years for a fellow club member’s widow. Not the happiest of things to do, but the alternative would be to let the scrap man have a field day.

            Brian

            #740071
            Martin Connelly
            Participant
              @martinconnelly55370

              Bazyle, do a calculation for each desired position to avoid cumulative errors. For example if you want to make a metric conversion gear with 127 teeth then for each position calculate the angle for each tooth position as 360 x n/127 where n is the tooth number rather than calculating what 360/127 is and advancing that far each time. Then you can use that calculated angle to determine the number of steps you should be away from the zero point. For example on my 4th axis on my mill the number of steps is 2000/degree or 720000 steps per revolution. So for total steps the 100th tooth would be a calculation of 2000 x 360 x n/127 or 720000 x 100/127 = 566929.13 steps from the zero point. We would ignore the .13 steps. The next tooth is 101 so 720000 x 101/127 = 572598.42 and we would ignore the .42 steps. Then when we do the same for the 102nd tooth the calculation gives 578267.72 so this time the steps will be rounded up to 578268 as the part past the decimal point is 0.5 or more. The biggest error this can cause in the calculation is 1/4000 of a degree (based on 2000 steps per degree).

              With CNC such as Mach3 you would just do the angle calculation for each tooth as 360 x n/127 and tell it to go to that angle and it will work out the steps from the motor configuration steps per unit.

              Martin C

              #740091
              Bazyle
              Participant
                @bazyle

                Martin, thanks for that insight where you say 360xn/127 sort of turning the calculation upside down.

                #740203
                John Haine
                Participant
                  @johnhaine32865

                  Bresenham’s algorithm, but I haven’t found a simple explanation of exactly how to apply it (other than looking at code).

                  On stepper accuracy, two points.  I saw an article sometime back that experimentally compared the venerable A4988 driver with the modern TI DRV8825 and similar devices – though the latter I think can handle higher microstepping ratios they found that the DAC functions deriving the sinusoidal drive in the DRV-types left something to be desired so the current “waveform” had some nasty jumps in it.  So while the microstepping would work OK for smoothness it wouldn’t give the expected accuracy.  The accuracy also depends on exactly how the stepper is made, as the dependence of angular position on current differential is not necessarily linear.  You can buy high accuracy steppers but they are significantly more expensive.

                  #740272
                  duncan webster 1
                  Participant
                    @duncanwebster1

                    I think bressenhams does a fairly simple sum after every motor step. There can be a lot of steps between division positions. The alternative does a more complicated sum to work out how many steps from position to position but it only does it once per division. I did it using integer arithmetic (which is faster than floating point) but keeping track of the cumulative error so that it didn’t build up.

                    I thought every gentleman should have a digitally controlled dividing head, so I bought and converted a Myford one. It works, but I’ve never used it in anger. One of these days I’ll make a clock, honest.

                    #740373
                    SillyOldDuffer
                    Moderator
                      @sillyoldduffer

                      Assuming a 200-step stepper motor is perfect, the potential accuracy is good, at least for this application.

                      A 200 step motor (base movement 1.8°), turns 0.1125° when micro-stepped x16, but this is divided down by the rotary table’s worm.

                      My HV6 clone has a 90:1 worm, meaning that the rotary table turns 0.00125° per micro-step.    As the table can only be positioned within 0.00125°, this number sets the table’s best possible physical performance.   The error in millimetres is determined by how far away from the rotary table’s axis the cut is taken, growing larger with diameter.   Thus, if my HV6 turns a 150mm (6″) diameter object through the 90:1 worm’s minimum angle, then the new position on a 75mm radius job differs by only 0.0016mm.

                      These promising figures are almost certainly better than an HV6 can achieve.  One has to ask awkward questions about how accurately made the rotary table’s gear and worm are made, how good the bearing is, and how accurately the bearing is positioned X,Y and Z on the table’s axis.

                      There’s also the possibility that a digital system might accumulate errors when calculating the number of steps needed to turn a mathematically uncooperative angle.  What does that mean?  In a 200x16x90 system, the effective gear ratio is 288000:1, meaning that any angle that factors into that will have zero error.  Have to think about how big and how common awkward errors are: might be small and rare.   Nonetheless,  it’s worth reducing such errors by compensating for them when calculating the number of steps needed to make the next move.

                      Martin suggests calculating each move separately, and others mention Bresenham.  Bresenham is famous for two algorithms much used in computer graphics to draw lines and circles.   Given two X,Y co-ordinate positions on a 640×340 computer screen, what pixels need to be lit up to draw the least kinky line between the two endpoints.  Not difficult when computer has fast floating point and trig functions, but these were almost unknown when Bresenham tackled the problem.  His algorithm does the sums super-efficiently with integer arithmetic.  There’s a close relationship between pixels on a screen represented by integer coordinates and CNC movements, but although there are plenty of examples of Bresenham doing computer graphics,  I’ve not found an example of Bresenham being used to drive a machine tool.

                      To my surprise my own Arduino rotary table code just does the basic calculation.  Unexpected, because I’m sure I took advice from Duncan Webster, who provided a suitable algorithm, that I implemented and tested.  Where’s it gone?  Arrgh!!!!

                      Dave

                       

                      #740378
                      John Haine
                      Participant
                        @johnhaine32865

                        Please could someone explain Bresenham in simple terms as it is applied to the RT problem?  Several people seem to have implemented it in code so it should be simple to explain in text (or even code).

                        #740386
                        Nealeb
                        Participant
                          @nealeb

                          I remember working with the GRBL source code for a project a few years ago, and I believe that that uses a Bresenham (or, at least, a Bresenham-derived) algorithm for calculating movement of multiple axes. The quantised nature of a CNC machine’s movement is a very close relation of the “drawing a straight line at an angle on a screen” problem. It is only an extension of that thinking to convert it into rotary motion.

                          Whether in practice you use the “do a division each time you advance” technique (possibly needing fairly fast floating point arithmetic) or a Bresenham algorithm (designed for fast implementation with integer arithmetic only) is possibly not too relevant if you are just moving the rotary table for creating, say, a ring of holes where the table remains static during cutting. However, if you need to synchronise table movement while cutting with one or more other axes – maybe gear-hobbing or engraving on the surface of a cylinder? – then maybe Bresenham is better as it will calculate at the pulse, not just the end-point, level. Or maybe these days there is something better still!

                          #740392
                          Michael Gilligan
                          Participant
                            @michaelgilligan61133

                            Too hard for my caffeine-deprived little brain today … but I think this might help John Haine:

                            https://bumbershootsoft.wordpress.com/2024/03/16/a-closer-look-at-bresenhams-algorithm/

                            MichaelG.

                            .

                             

                            Ref. __ For those exploring that rabbit-hole, who end up frustrated by the truncated copy referenced on Wikipedia … Here is a PDF of Bresenham’s original IBM paper:

                            https://gitlab.cecs.anu.edu.au/pages/2018-S1/courses/comp1100/assignments/02/Bresenham.pdf

                             

                            #740571
                            John Haine
                            Participant
                              @johnhaine32865

                              Thanks Michael – a glimmer of light appears…

                            Viewing 13 posts - 26 through 38 (of 38 total)
                            • Please log in to reply to this topic. Registering is free and easy using the links on the menu at the top of this page.

                            Advert

                            Latest Replies

                            Viewing 25 topics - 1 through 25 (of 25 total)
                            Viewing 25 topics - 1 through 25 (of 25 total)

                            View full reply list.

                            Advert