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

    stepper precision

    Scheduled Pinned Locked Moved
    3D Printing General Chat
    6
    110
    5.9k
    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.
    • arhiundefined
      arhi @A Former User
      last edited by

      @LB said in stepper precision:

      so many virus for excel

      no macros in this so should be safe, I normally have that disabled in excel.. I use open/libre office since they came out almost exclusively but when I need graphs with many numbers I run excell as calc is dog slow with those 😞

      here are the "safe" files

      S42B-ClosedLoop-16mstep-FixedCoupling-3220-3220.csv
      S42B-ClosedLoop-16mstep-FixedCoupling-3220-3220.ods

      So judjing by the picture I would vote for your 2nd suggestion, that the problem sits somewhere between the chair and computer 😅 (unless of course there was another problem here on my side between my chair and computer 😅 )

      exactly the same as what I got, but if you are using my calculation it's expected 🙂 if you used only the same input data (first two columns) and made the calculation yourself and came to the same conclusion...

      -> Looks like your error is a constant drift "apart" so something e.g. wrong in your calc... OR maybe somthing wrong how you issue the stp/dir/en and how the motor/driver-combo is set up

      something is wrong 100% as there's no way something like this would work in a printer with an error like this so ... either "microstepping" of 1/16 that I assumed is wrong (as it's the question of what the darn thing reads, a dip or menu) or my math is wrong or ... no idea at this time

      1 Reply Last reply Reply Quote 0
      • alankilianundefined
        alankilian @arhi
        last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • alankilianundefined
          alankilian
          last edited by

          I would go with simple first to validate your experiment.

          Skip the closed-loop mode completely, set for full steps and do 200 steps and see if you get the same encoder reading.

          Do 200 steps, encoder read, 200 steps, encoder read.

          If you cannot get the same (+/-2) reading, then there's something to look at.

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

            @alankilian said in stepper precision:

            Skip the closed-loop mode completely, set for full steps and do 200 steps and see if you get the same encoder reading.

            I have the file with "less" steps but I have no clue "how much exactly" as source and documentation does not coincide so probably 1/4 steps

            S42B does not support full step

            2a8e88ef-8116-4551-a0b3-7172a792e8f0-image.png

            so I'll concentrate on TMC2088 driver as this one is just too ...

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

              raw data that "should" make sense

              TMC2208-OpenLoop-JK42HS48-1684-01-halfstep.csv

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

                something is wrong in my math here... look how straight these two lines are only different angle .. maybe it should be /65536 not /65535

                90bd6f39-5eaf-49ee-924a-b2e7378d9d7d-image.png

                1 Reply Last reply Reply Quote 0
                • alankilianundefined
                  alankilian
                  last edited by

                  Yes, the encoder counts 65536 steps per revolution.

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

                    damn

                    now they align 😄

                    3806454e-8161-47c8-ad4c-b92b4b1b0c01-image.png

                    error is rather big still but.. at least not as messed up as with /65535 😄

                    61f888e4-979b-4f84-b686-f2eaa8cc044e-image.png

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

                      @arhi That's a Moire pattern (beat pattern) between the stepper steps and the encoder steps. When both have fixed integer resolution, and they are incommensurate, you will see something like this.

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

                        @mendenmh isn't moire supposed to be much more subtle, these are rather large values ?! I originally assumed that pattern like this will have bottoms (less error) at full/half ste positions but since this is halfstepping already all positions should be at full/half step... and the whole graph is ~250 steps so tad more then half of full rotation it makes me wonder. Also, one step is 0.9 ° (halfstepping a 200 step/rev motor), 0.2 ° error here is imho huge and the peaks at over 0.4 ° are innecceptable. I believe there's some offset here when the motor "started moving" so between the reset, not started stepping and first step, see that jump from 0 to 0.25 - I think there's a 0.12 ° offset from somewhere, I might ignore first few steps and regraph from there as it's impossible to have error that is that much offsetted to either side, if the error is only on one side of zero there's a problem in setup IMHO and I'm not using ABS() here

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

                          @arhi There's no particulars limit to the amplitude of a Moire pattern. You can get 100% modulation. Usually, when talking about the surface of a 3d print, it is subtle because it is heavily attenuated by things like the frequency response of the filament flow. Reading an encoder, with an offset between steps and encoder period, has no such limits.

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

                            @arhi
                            As you already pointed out yourself: if you shift the offset on the left to 0 in the middle of the "wave", then you have only +-0.1 which would be not that much for a 1.8° Stepper?

                            arhiundefined 1 Reply Last reply Reply Quote 0
                            • arhiundefined
                              arhi @A Former User
                              last edited by

                              @LB said in stepper precision:

                              @arhi
                              As you already pointed out yourself: if you shift the offset on the left to 0 in the middle of the "wave", then you have only +-0.1 which would be not that much for a 1.8° Stepper?

                              yes, only I'm not sure where these offsets originally come from but I'll redo those analysis as soon as I get out of the pickle with the bread and butter stuff 🙂

                              1 Reply Last reply Reply Quote 0
                              • T3P3Tonyundefined T3P3Tony moved this topic from
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA