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

Building a DIY public domain low cost stepper motor analyzer

Scheduled Pinned Locked Moved
General Discussion
10
51
3.7k
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.
  • undefined
    JRDM
    last edited by 30 Oct 2019, 12:18

    This is neat. One time I thought of building a step motor dynamometer to compare motors by looking at their torque curves. I wish I followed through. Maybe that can be another module for this device?

    1 Reply Last reply Reply Quote 0
    • undefined
      JoergS5
      last edited by JoergS5 30 Oct 2019, 13:29

      This could be a good project for a electronic magazine (I mean as an article in the magazine with explanation): a useful topic for many users, nice images and a PCB project. Something like Elektor in germany.

      1 Reply Last reply Reply Quote 1
      • undefined
        zapta @DocTrucker
        last edited by 30 Oct 2019, 16:08

        @DocTrucker said in Building a DIY public domain low cost stepper motor analyzer:

        Does the detail of the plots change under acceleration vs deceleration? Any indication that lag or advance of the rotor may be delectable?

        Good question. I don't know. I clearly observed that the current does not reach full amplitude when the speed was too fast that voltage and stepper combination but I don't know if the current signals are sufficient to detect missing steps.

        1 Reply Last reply Reply Quote 0
        • undefined
          zapta @T3P3Tony
          last edited by 30 Oct 2019, 16:12

          @T3P3Tony said in Building a DIY public domain low cost stepper motor analyzer:

          @zapta this is a great project! thanks for documenting it as you go through. Worth a submission to hackaday once complete I think!

          Hi Tony, yes I plan to do that, to get more awareness. My goal is to provide a baseline hardware and firmware such that more knowledgable and creative people can use to provide useful tools for the community.

          1 Reply Last reply Reply Quote 2
          • undefined
            zapta
            last edited by 7 Jul 2020, 05:43

            After procrastinating on this project for some time I realized that having to implement the UI with a low level screen API was distracting so I decided to switch to a smart touch display (Nextion 4.5") and things started to move fast. Here are a few pictures with the current state. Next I plan to redesign the PCB for the new LCD and clean up the UI.

            The old PCB with connected to the new display:
            f1eba650-5594-4108-9360-c8693898c6ca-image.png

            The home screen with summary data:
            f8589f7f-505b-43cb-aff8-5bb9543280c1-image.png

            The setup screen. It allows to set the zero current and to reverse the steps direction.
            3efd6fc5-1bbe-47df-921f-c62e53f94838-image.png

            The distance graph. Graphs moves up/down in real time with the steps counter:
            5afe5ebf-70c8-499d-8a37-c2d25e6a6f3a-image.png

            Histogram of time by speed. I am thinking adding a similar screen with histogram of distance by speed.
            014b6ada-9932-4f5a-9509-d35af6385854-image.png

            Histogram of peak current vs speed. In this example, a 12V 1.2A stepper, the max current starts to drop at ~7000 steps per sec.
            c6bf7903-760b-473f-8beb-529981f81762-image.png

            A tachometer that shows speed in real time.
            88a789db-11fc-46ed-8c83-a2b4b17d3508-image.png

            A capture of the current signals in the two stepper coils. This one is at high speed with only 12V supply which resulted in poor current pattern, close to the speed limit of the system. (ideally the two signals should look like sine/cosine).
            c98ab65d-745b-44fc-84fe-b137e89bc98a-image.png

            undefined 1 Reply Last reply 12 Jul 2020, 19:02 Reply Quote 3
            • undefined
              JoergS5 @zapta
              last edited by 12 Jul 2020, 19:02

              @zapta your project is very interesting. Can you tell me please whether you were able to analyse currents with microstepping and to which detail?

              Thank you for pointing me to the ACS70331. I have a couple of ACS712, but they are much too slow.

              I would like to analyze the correlation between step commands to the TMC, the created currents from TCM to stepper and the resulting movement of the stepper.

              undefined 1 Reply Last reply 12 Jul 2020, 21:15 Reply Quote 0
              • undefined
                zapta @JoergS5
                last edited by zapta 7 Dec 2020, 21:16 12 Jul 2020, 21:15

                Hi @JoergS5, think it shouldn't be too difficult to decode x16 microsteping. When going through a full step, the current in the two coils behave like the graph below. X16 can be achieved by breaking the cycle to x4, x2 and x2:

                x4 - detection of a quadrant (90deg) is already already done and needed to determine the direction.

                X2 - each quadrant can be divided int two (45deg each) by comparing the absolute value of the two channels.

                X2 - each sub quadrant can be divided by 2 using the ratio of the high coil current to the low coil current.

                I think this is straight forward and doable, given the two currents, and can also be come manually using the two current readings.

                d008d56a-dc4f-4bec-857a-3b172052355a-image.png

                BTW, I send the new PCB layout to manufacturing. Should arrive in a few weeks. It's a small 40x50mm board.

                1344139d-7746-45bb-9d35-14aeda11a72c-image.png

                All the source files are on github and should work though I plan to do some cleanup.

                https://github.com/zapta/misc/tree/master/stepper_analyzer

                Schema is in the link below. As you can see there is no much there:
                https://github.com/zapta/misc/blob/master/stepper_analyzer/kicad/main/stepper_analyzer.pdf

                undefined undefined 2 Replies Last reply 12 Jul 2020, 21:24 Reply Quote 1
                • undefined
                  JoergS5 @zapta
                  last edited by JoergS5 7 Dec 2020, 21:25 12 Jul 2020, 21:24

                  @zapta Thanks for your information and the source location. Lucky me I bought a Nextion 3.5 last year, because I liked the idea that the display offers GUI logic, so I can start with your source.
                  It will take some time until I can start with the project, but I can keep you informed what I develop.

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    fcwilt @zapta
                    last edited by 14 Jul 2020, 19:05

                    @zapta said in Building a DIY public domain low cost stepper motor analyzer:

                    All the source files are on github and should work though I plan to do some cleanup.

                    https://github.com/zapta/misc/tree/master/stepper_analyzer

                    I don't see how to download all of the files related to this project.

                    Does each file have to be downloaded separately?

                    Frederick

                    Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                    ? 1 Reply Last reply 14 Jul 2020, 19:07 Reply Quote 0
                    • ?
                      A Former User @fcwilt
                      last edited by 14 Jul 2020, 19:07

                      @fcwilt easy way is to clone or download the whole https://github.com/zapta/misc repository.

                      Alternatively you can turn to google to try and download just a sub directory from github

                      undefined 1 Reply Last reply 14 Jul 2020, 19:09 Reply Quote 0
                      • undefined
                        fcwilt @A Former User
                        last edited by 14 Jul 2020, 19:09

                        @bearer said in Building a DIY public domain low cost stepper motor analyzer:

                        @fcwilt easy way is to clone or download the whole https://github.com/zapta/misc repository.

                        Well that is certainly not the way I thought it would be done but if it works...

                        Thanks.

                        Frederick

                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                        ? 1 Reply Last reply 14 Jul 2020, 19:13 Reply Quote 1
                        • ?
                          A Former User @fcwilt
                          last edited by 14 Jul 2020, 19:13

                          @fcwilt said in Building a DIY public domain low cost stepper motor analyzer:

                          if it works...

                          it does. but packing several projects into a single repo doesn't lend itself well to sharing or collaboration - but it is easy for a single user.

                          anyways https://stackoverflow.com/questions/7106012/download-a-single-folder-or-directory-from-a-github-repo and other search results does provide options but to me its always seemed like more hassle than just getting the whole thing and discarding what I don't need/want.

                          undefined 1 Reply Last reply 19 Jul 2020, 04:07 Reply Quote 2
                          • undefined
                            zapta @A Former User
                            last edited by 19 Jul 2020, 04:07

                            @bearer said in Building a DIY public domain low cost stepper motor analyzer:

                            it does. but packing several projects into a single repo doesn't lend itself well to sharing or collaboration

                            Sorry about that. This is my catch all 'misc' repository. I plan to clean up the stepper analyzer in the next week or two so will also move to an independent repository.

                            Meanwhile, if you encounter any problem, let me know here. I will monitor this thread more closely.

                            Flushing the firmware has two parts, flashing the Nextion 3.5" using a micro SD card or the nextion designer with a serial port, and flashing the Teensy 4 which I currently do with the Arduino IDE (need to install the Teensy 4 extensions) but am looking for a simpler way (any suggestions?)

                            ? 1 Reply Last reply 19 Jul 2020, 10:21 Reply Quote 1
                            • ?
                              A Former User @zapta
                              last edited by A Former User 19 Jul 2020, 10:21

                              @zapta said in Building a DIY public domain low cost stepper motor analyzer:

                              but am looking for a simpler way

                              platformio? (for the teensy at least)

                              undefined 1 Reply Last reply 19 Jul 2020, 19:27 Reply Quote 0
                              • undefined
                                zapta @A Former User
                                last edited by 19 Jul 2020, 19:27

                                I copied the stepper analyzer files to a dedicated repository https://github.com/zapta/stepper_analyzer (will delete files from the old repository later).

                                It also includes a release directory with binaries for the teensy and the nextion 3.5". The teensy firmware can be flashed with a teensy loader (https://www.pjrc.com/teensy/loader.html) and the nextion using its sd card.

                                It's still rough and I plan to clean it up in the next week or two. Please let me know how it works for you.

                                1 Reply Last reply Reply Quote 2
                                • ?
                                  A Former User
                                  last edited by 19 Jul 2020, 20:33

                                  Thats awesome, its on my list to try and build one! Thanks for putting this out there man!

                                  undefined 1 Reply Last reply 22 Jul 2020, 20:44 Reply Quote 0
                                  • undefined
                                    zapta @A Former User
                                    last edited by 22 Jul 2020, 20:44

                                    The new PCBs arrive and I like how small and simple they are:

                                    597e97f4-1f2b-4126-9563-fd2f2cd58363-image.png

                                    I also added a retraction analysis screen. It is cumulative such that retract 10 steps extruder 3 steps, retract 5 steps will show retraction of 12 steps.

                                    The graph moves in real time so the camera didn't capture it well. The little noise at the bottom of the graph are tiny retractions due to pressure advance (0.08).

                                    667e56f2-cc09-4573-91c1-347186ffae94-image.png

                                    I plan to commit the changes to github later today.

                                    1 Reply Last reply Reply Quote 3
                                    • undefined
                                      fcwilt
                                      last edited by 22 Jul 2020, 20:50

                                      Hi,

                                      Have you considered building a small batch of complete units and selling them to us poor souls who would love to get our hands on one?

                                      Frederick

                                      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                      undefined 1 Reply Last reply 23 Jul 2020, 23:25 Reply Quote 1
                                      • ?
                                        A Former User
                                        last edited by 22 Jul 2020, 21:16

                                        I'd could be down for crowd sourcing myself one if such a thing were to be a thing.

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          zapta @fcwilt
                                          last edited by 23 Jul 2020, 23:25

                                          @fcwilt, I would love to do that because I think the makers' 3D printer market needs a tool like this but I can't do it myself. My hope is that someone can pick it up and provide to the community, this exact design or a lower cost version of it (with a stand alone MCU and a dumb LCD). The license is very liberal, non need to attribute, no need to share code changes, commercial OK, etc.

                                          I just created a documentation page in github. It explains the various functions, how to flash the firmware and a BOM.

                                          https://github.com/zapta/stepper_analyzer

                                          arhiundefined 1 Reply Last reply 24 Jul 2020, 10:31 Reply Quote 1
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA