Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Stepper precision +-5%

    Scheduled Pinned Locked Moved
    General Discussion
    6
    50
    2.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JoergS5undefined
      JoergS5
      last edited by JoergS5

      Most steppers are said to have a tolerance of full steps of +- 5%.

      Does anyone know what's the reason for this +-5%?

      • is it production tolerance of teeth?
      • is it positional error because of inexact current flow or magnetic field
      • some other reason?

      My main question: if e.g. position shall be 100 and tolerance +- 5% means from 95 to 105, is it always at e.g. 102, or is it one time at 95, the next time 100, the next at 105? And what's the factor it depends on?

      I ask because I think about whether it is possible to get more precise position results by software correction factors or not.

      A Former User? 2 Replies Last reply Reply Quote 0
      • mendenmhundefined
        mendenmh
        last edited by mendenmh

        That number is the fraction of a step variation you might see from one step to another for an unloaded motor. Yes, it is due to magnetic inhomogeneities, and could be quite irregular around the full circle. Note that since a full circle add up to exactly 360 degrees and (usually) 200 full steps, for every step that is too big, there have to be small steps to make it all add up still. They can't all be 102%, since the number of steps per full circle is exact and constant.

        Note that I use this principle to calibrate ultra-high precision x-ray diffractometry systems. With no external standards, and a highly repeatable (bot not accurate) angular scale, one can use 'circle closure', which is this property of cancelling errors, to define angular scales of truly extraordinary accuracy.

        See, for example, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4911639/
        which is one of the papers I have published on this technique. The technique has been used since the 1800's (!).

        JoergS5undefined zaptaundefined 2 Replies Last reply Reply Quote 4
        • JoergS5undefined
          JoergS5 @mendenmh
          last edited by JoergS5

          @mendenmh thanks a lot for your expert answer!!

          I skimmed over the article, it' s very interesting, I'll study your results.

          1 Reply Last reply Reply Quote 0
          • zaptaundefined
            zapta @mendenmh
            last edited by

            @mendenmh said in Stepper precision +-5%:

            That number is the fraction of a step variation you might see from one step to another for an unloaded motor.

            Does this mean that the no load stopping accuracy of the motor is +/-5% of the angle of a single full step?

            mendenmhundefined 1 Reply Last reply Reply Quote 0
            • mendenmhundefined
              mendenmh @zapta
              last edited by

              Does this mean that the no load stopping accuracy of the motor is +/-5% of the angle of a single full step?

              @zapta That is probably not an inappropriate assumption. Of course, under load, the error can be arbitrarily large (up to the point where is starts skipping steps!).

              The spacing of microsteps is also very load dependent. Under no load, it is roughly uniform, but because the magnetic interaction is strongest when you are on a full step (where the metal poles exactly align), the partial steps are much springier, and more load dependent, than the full steps. That is one of the reasons people like to make layer heights on 3d printers a multiple of full steps. Using anything else can result in moiré patterns on the layering axis.

              DigitalVisionundefined 1 Reply Last reply Reply Quote 0
              • A Former User?
                A Former User @JoergS5
                last edited by A Former User

                @JoergS5 said in Stepper precision +-5%:

                Most steppers are said to have a tolerance of full steps of +- 5%.

                Yep, I guess you mean for a 2phase stepper with 1,8° with a 50tooth-rotor, then yes... even for those types you find companies like "Koll...gen", "Lin-...ring" and "J...L" and "St...ra" and so on that offer steppers with less - they usually deal only with companies and not with private end-users so you might have to find another way to get to some of those

                but it is simpler (depending on your application and stepper-model) to e.g. (if you do not need high speed) to take a 2phase stepper with a 100-teeth-rotor which are those 0,9° motors then, which have inherently smaller full-step-no-load variation on the hardware-side

                (If you ditch 2phase, you can find very high accuracy 3-phase and 5-phase 100-teeth-rotor motors, but often they are not for consumers and with minimum order quantity of 100/200/...pieces and more... also they (for now) would not be compatible with the duet-boards which support 2phase because they are the most widley used since those super high accuracy is normaly not needed on a 3d-printer since effects like mfg tolerance and thermal elongation of your axis/housing and belts and spindles e.g. are for too rough with most common low-cost printers to invest in such a high-end motor)

                Does anyone know what's the reason for this +-5%?

                • is it production tolerance of teeth?
                • is it positional error because of inexact current flow or magnetic field
                • some other reason?

                I guess all of that 🙂 with "inexact current flow or magnetic field" you are referring to the tolerance of mH & R in each winding and the tolerance of the magnets

                If money is no constrain, I heard you can ask companies to hand match or hand sort those for you, but if in modern software-times they are still doing it, the price of the motor will be *10 to *50 with minimum quantity order around 10 or more of that of a normal motor. So no option for the avarage user here.

                Smarter to use software to save that money by waiting for the closed-loop-duet-motor-pcb that I read somewhere is in the making for 2021 for all duets that support CAN-bus, that can take care for some of the effects

                My main question: if e.g. position shall be 100 and tolerance +- 5% means from 95 to 105, is it always at e.g. 102, or is it one time at 95, the next time 100, the next at 105? And what's the factor it depends on?

                the "hardware-error" is not changing at all. It is fix as your hardware is fix. It is also (of course if you think about it) not cumulative over 1 electrical rotation and not cumulative over 1 physical rotation of your motor

                If you use software-stuff like motor-idle-current-reduction in combination with very-high micro-stepping it is not helping on the accuracy-side, since the incremental-torque from micro-step to micro-step of course decreases with micro-step amount higher (the full-step absolute still-stand torque of course is always the same) and if you stop on one of these microsteps and even reduce current you are likely to get a spring-effect/-deviation - which is super tiny and should be gone if the motor is back to 100% current (when moving again) but even if it is supertiny it is there

                I ask because I think about whether it is possible to get more precise position results by software correction factors or not.

                -> go for a good 0.9° motor. The electro-magnetic-spring-effect of +-2 full-steps (half of an electrical revolution to both sides up to the tipping point of loosing a step) is of course half as big as with a 1.8° motor...

                -> Check inertia-moment & torque for your application (otherwise you get a "magnetic"-spring effect from your motor if inertia-moment and torque are not matched/too low, which is also very important for accuracy regarding a motor

                If you happen to need also high speed, look that the inductance (mH) is low of that motor, and that you use the highest voltage avaliable for your duet-board.

                Use a stepper-motor-calculator (often for mH you might need the "advanced"-settings) like the one from our user now moderator "wilriker" (e.g. search this forum here for wilriker and motor calculator)

                Regards

                JoergS5undefined 1 Reply Last reply Reply Quote 0
                • JoergS5undefined
                  JoergS5 @A Former User
                  last edited by JoergS5

                  @LB Thank you for your input. I must confess, my opinion about steppers was very biased because of the offering on ebay. Thank you to propose looking for better steppers. I will test 0.9 steppers first.

                  With inexact current flow I meant the stepper driver, but there are multiple sources of inexact current and magnet fields.

                  I will try building a measuring station to select the steppers with good quality. I will analyze the iHSV57 too, which is a closed loop servo, for precision. I think about building a station like described in https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ with laser pointers.

                  A Former User? 1 Reply Last reply Reply Quote 0
                  • A Former User?
                    A Former User @JoergS5
                    last edited by A Former User

                    @JoergS5 said in Stepper precision +-5%:

                    @LB Thank you for your input. I must confess, my opinion about steppers was very biased because of the offering on ebay, where are only offered some Nanotec steppers, but rarely Kollmorgen or Lin. Thank you to propose looking for better steppers. I will test 0.9 steppers first.

                    welcome

                    (most companies nowadays usually have their motors produced (not even anymore in licence) by certain over-sea mfg (though they do quality inspection in e.g. germany to the high tüv/iso/... standards)) (- it seems beside highly specialized small companies, there seems to be no bigger mass-market european stepper manufacturer any more - they only do quality inspection here in europe. I heard even the JP have outsourced the older entry-level steppers and only manufature the new/latest/high-end motors in their own main-plant any more. So no matter how you choose the manufacturing will be most likely in outsourced sites to a low-income country plant, etc. and by choosing a company with reputation, the only benefit that you most likely will get, will be an inspection with TÜV/ISO etc. pp. 🙂 BUT I heard, that e.g. lin-...ing, koll...gan, phyt.../...gra, etc. pp. still produce within the main-plant of the company themself as far as I know - but even that is no guarantee to precision I guess -> anyway best to measure)

                    With inexact current flow I meant the stepper driver, but there are multiple sources of inexact current and magnet fields.

                    I will try building a measuring station to select the steppers with good quality. I will analyze the iHSV57 too, which is a closed loop servo, for precision. I think about building a station like described in https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ with laser pointers.

                    If you really want to build up a test station like this, I would recommend you integrate a "variable load" because no-load-full-step precision is not really what we have in reality in a printer, we need "dynamic precision" so to say, that means precision regarding to the accel/decel with load - that would really be cool if you do that and share and I guess a benefit for most users here

                    Regards

                    JoergS5undefined 1 Reply Last reply Reply Quote 0
                    • JoergS5undefined
                      JoergS5 @A Former User
                      last edited by JoergS5

                      @LB I'll try to take into account dynamic aspects. There will be much discussion about s-curve etc. with the emerging RRF3.4.
                      The roadmap is in https://forum.duet3d.com/topic/20602/reprapfirmware-road-map-q1-2021

                      A Former User? 1 Reply Last reply Reply Quote 0
                      • A Former User?
                        A Former User @JoergS5
                        last edited by A Former User

                        @JoergS5 said in Stepper precision +-5%:

                        @LB Thank you for telling the companies I can check for good quality. I already knew Kollmorgen, they are often mentioned in CNC forums.

                        I'll try to take into account dynamic aspects. There will be much discussion about s-curve etc. with the emerging RRF3.4.

                        cool 🙂 but most of them do not sell to individual end-users but only to companies but I guess you can get creative there 🙂 you might also check out moon...-...tors since they ship from 1 piece on and within a few days to private-person-end-users. Since you seem to be from ger...ny you might consider to give a phone-call to companies like mech...pro, colo...-...nik, dol...-...onik and or sor...tec, and alike etc. pp., they can help you out, if you know what you want.

                        -> Before I would make sure to have used a stepper-calculator and or "how to choose a stepper motor" in advance. To know what you need for sure you know that you have to check the max. A the stepper-drivers of the duet-boards can provide?

                        (If you do also attach a laser-pointer why bother with sin/cos/tan because of projecting on a flat wall, rather put the stepper-face-plate to the wall and tilt the laser also in a way that it is not parallel any more to the motor-rotor-axis, so to have "quasi" a 360° clock-like circle projected 🙂 and if you need more resolution just increase the circle-diameter of the "circle" -> maybe more precise if you happen to get one of the big school-"geodreieck" or a goniometer or angle-metre? But that is only what I would do 🙂 you might just ignore this idea here)

                        Looking forward to hear about it ( - last post from me with this kind of info 😉 )

                        JoergS5undefined 1 Reply Last reply Reply Quote 0
                        • JoergS5undefined
                          JoergS5 @A Former User
                          last edited by

                          @LB thank you for your ideas, I'll consider all ideas in the thread. I love measuring and will try to improve the 3d printer.

                          A Former User? 1 Reply Last reply Reply Quote 0
                          • A Former User?
                            A Former User @JoergS5
                            last edited by A Former User

                            This post is deleted!
                            JoergS5undefined 1 Reply Last reply Reply Quote 0
                            • JoergS5undefined
                              JoergS5 @A Former User
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • A Former User?
                                A Former User @JoergS5
                                last edited by A Former User

                                @JoergS5
                                Found that for a "printed" angle-gauge:
                                https://reprapltd.com/3d-printed-angle-gauge/
                                -> it is really cool to generate a template https://www.blocklayer.com/protractor-print.aspx for a copy-shop for a big plot

                                JoergS5undefined 1 Reply Last reply Reply Quote 0
                                • DigitalVisionundefined
                                  DigitalVision @mendenmh
                                  last edited by

                                  @mendenmh said in Stepper precision +-5%:

                                  The spacing of microsteps is also very load dependent. Under no load, it is roughly uniform, but because the magnetic interaction is strongest when you are on a full step (where the metal poles exactly align), the partial steps are much springier, and more load dependent, than the full steps. That is one of the reasons people like to make layer heights on 3d printers a multiple of full steps. Using anything else can result in moiré patterns on the layering axis.

                                  @mendenmh, do you have a model for how the spring 'constant' varies with partial step positions? I've been assuming a roughly sinusoidal displacement/torque curve (as the figure below), modeling the region close to the stable point as a linear spring. I'd like to understand how much the slope of that region varies with the sub-step position.

                                  5be9a0ee-4a8b-4516-976a-1de5b98f173a-image.png

                                  mendenmhundefined A Former User? 2 Replies Last reply Reply Quote 0
                                  • JoergS5undefined
                                    JoergS5 @A Former User
                                    last edited by

                                    @LB said in Stepper precision +-5%:

                                    @JoergS5
                                    Found that for a "printed" angle-gauge:
                                    https://reprapltd.com/3d-printed-angle-gauge/
                                    -> it is really cool to generate a template https://www.blocklayer.com/protractor-print.aspx for a copy-shop for a big plot

                                    I already used this principle 😉

                                    https://forum.duet3d.com/topic/14996/five-bar-parallel-scara-prototypes/10

                                    1 Reply Last reply Reply Quote 0
                                    • mendenmhundefined
                                      mendenmh @DigitalVision
                                      last edited by

                                      @DigitalVision No, I don't have a specific model for how the torque varies with offset from the center. The graph you attached is probably a very good guess, for a motor sitting right one a step. I would expect the behavior to be more complex at (say) a half-step boundary, where the two poles are pulling equally.

                                      In work I do professionally, where such things matter, we use encoders to read the actual angles, rather than depending on any good behavior of the stepper, or gearing, or anything else. Of course, by the time we are done, one axis costs about $5000, and is accurate to 0.05 arcseconds (1/72000 degree!). Such a system lives in a room with 0.01C temperature control, too.

                                      DigitalVisionundefined JoergS5undefined 2 Replies Last reply Reply Quote 1
                                      • DigitalVisionundefined
                                        DigitalVision @mendenmh
                                        last edited by

                                        @mendenmh said in Stepper precision +-5%:

                                        @DigitalVision No, I don't have a specific model for how the torque varies with offset from the center. The graph you attached is probably a very good guess, for a motor sitting right one a step. I would expect the behavior to be more complex at (say) a half-step boundary, where the two poles are pulling equally.

                                        Thanks. I did a quick and very simple and crude simulation model myself and found that although the behavior was very dependent on the model parameters, it seemed feasible with the right tooth design to design a fairly flat torque curve across micro step positions if you use cos-sin phase current control. I have no idea how that trades against other aspects though and how real steppers behave.

                                        In work I do professionally, where such things matter, we use encoders to read the actual angles, rather than depending on any good behavior of the stepper, or gearing, or anything else. Of course, by the time we are done, one axis costs about $5000, and is accurate to 0.05 arcseconds (1/72000 degree!). Such a system lives in a room with 0.01C temperature control, too.

                                        That's incredibly cool.

                                        1 Reply Last reply Reply Quote 0
                                        • arhiundefined
                                          arhi
                                          last edited by

                                          I took this baby today from another project 😄
                                          https://www.kuebler.com/us/products/measurement/encoders/product-finder/product-details/5858_PROFIBUS

                                          67fa516f-9186-4a80-bc5c-cf7b9021b731-image.png

                                          profibus, 16bit, absolute encoder 😄 so 65536 positions in a circle or 320+ segments per single step of a 1.8degree stepper ... should get interesting results 🙂

                                          JoergS5undefined 1 Reply Last reply Reply Quote 0
                                          • JoergS5undefined
                                            JoergS5 @arhi
                                            last edited by

                                            @arhi that's a very nice encoder and optical based. Which I expect is better than the 14 bit based AMT212 encoders which is not optical and need middle speed for accuracy. There was a discussion about the AMT encoders in the forum in the past and whether encoders will be supported by rrf in the future.

                                            arhiundefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA